/* ============================================================
   365看台 · 共享样式表 /assets/site.css
   顺序：变量 → 重置 → 排版 → 外壳（头部/页脚）→ 通用组件 → 响应式
   ============================================================ */

/* ---------- 1. 变量 ---------- */
:root{
  --c-glacier:#7FA9B8;
  --c-deep:#101C2B;
  --c-ochre:#B5813F;
  --c-amber:#F2A93B;
  --c-snow:#F5F8FA;
  --c-mist:#D6E4E9;
  --c-rock:#5A6B76;
  --c-ink:#1B2530;
  --c-bark:#6E4B22;
  --c-signal:#2F8F83;

  --line:rgba(16,28,43,.16);
  --line-soft:rgba(16,28,43,.09);
  --line-light:rgba(245,248,250,.22);

  --rail-w:88px;
  --bar-h:64px;
  --step:8px;
  --gutter:20px;
  --shell-max:1320px;

  --cut:polygon(18px 0,100% 0,100% calc(100% - 18px),calc(100% - 18px) 100%,0 100%,0 18px);
  --cut-sm:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px);

  --font-head:"Noto Sans SC Condensed","Source Han Sans SC","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
  --font-body:"PingFang SC","Hiragino Sans GB","Microsoft YaHei",system-ui,-apple-system,"Segoe UI",sans-serif;
  --font-num:"JetBrains Mono","SFMono-Regular",Menlo,Consolas,"Courier New",monospace;

  --ease:cubic-bezier(.2,.7,.2,1);
  --shadow-drawer:8px 0 32px rgba(16,28,43,.3);
}
@media (min-width:768px){ :root{ --gutter:32px; --bar-h:68px; } }
@media (min-width:1024px){ :root{ --gutter:40px; } }

/* ---------- 2. 重置 ---------- */
*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
body,h1,h2,h3,h4,p,ul,ol,li,figure,blockquote,dl,dd{ margin:0; padding:0; }
ul,ol{ list-style:none; }
a{ color:inherit; text-decoration:none; }
button{ font:inherit; color:inherit; background:none; border:0; cursor:pointer; }
img,svg{ display:block; max-width:100%; }
table{ border-collapse:collapse; }
summary{ display:block; }
:focus-visible{ outline:2px solid var(--c-amber); outline-offset:3px; }
::selection{ background:var(--c-amber); color:var(--c-deep); }

/* ---------- 3. 排版 ---------- */
body{
  font-family:var(--font-body);
  font-size:17px;
  line-height:1.85;
  letter-spacing:.01em;
  color:var(--c-ink);
  background:var(--c-snow);
  min-height:100vh;
}
@media (min-width:1024px){ body{ padding-left:var(--rail-w); } }

.h1,.h2,.h3{
  font-family:var(--font-head);
  font-weight:800;
  letter-spacing:-.02em;
  line-height:1.06;
  color:var(--c-deep);
}
.h1{ font-size:clamp(40px,7vw,96px); }
.h2{ font-size:clamp(28px,4vw,52px); }
.h3{ font-size:clamp(20px,2.4vw,30px); line-height:1.25; }
.lede{ font-size:clamp(17px,1.6vw,20px); line-height:1.8; color:var(--c-ink); max-width:34em; }
.note{ font-size:13.5px; line-height:1.75; color:var(--c-rock); }
.num{
  font-family:var(--font-num);
  letter-spacing:.04em;
  font-variant-numeric:tabular-nums;
}
.annot{
  writing-mode:vertical-rl;
  font-size:12.5px;
  letter-spacing:.18em;
  color:var(--c-rock);
  border-left:1px solid var(--c-ochre);
  padding-left:8px;
}
.prose{ max-width:34em; font-size:17px; line-height:1.85; }
.prose > * + *{ margin-top:16px; }
.prose h2,.prose h3{ margin-top:32px; color:var(--c-deep); font-family:var(--font-head); }
.prose li{ position:relative; padding-left:18px; }
.prose li::before{ content:""; position:absolute; left:0; top:.78em; width:8px; height:1px; background:var(--c-ochre); }
.prose a{ color:var(--c-bark); border-bottom:1px solid rgba(181,129,63,.5); }
.prose a:hover{ color:var(--c-amber); }
.link-more{
  display:inline-flex; align-items:center; gap:8px;
  font-family:var(--font-num); font-size:13px; letter-spacing:.1em;
  color:var(--c-bark); padding-bottom:2px;
  border-bottom:1px solid rgba(181,129,63,.5);
  transition:color .18s,border-color .18s;
}
.link-more:hover{ color:var(--c-amber); border-color:var(--c-amber); }

/* ---------- 4. 版心与网格 ---------- */
.shell{
  width:100%;
  max-width:var(--shell-max);
  margin-inline:auto;
  padding-inline:var(--gutter);
}
.grid{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:24px;
}
.col-4{ grid-column:span 4; }
.col-5{ grid-column:span 5; }
.col-6{ grid-column:span 6; }
.col-7{ grid-column:span 7; }
.col-8{ grid-column:span 8; }
.col-12{ grid-column:span 12; }
.split{ display:grid; gap:32px; grid-template-columns:1fr; }
@media (min-width:1024px){ .split{ grid-template-columns:5fr 7fr; } }
.cluster{ display:flex; flex-wrap:wrap; gap:12px; align-items:center; }

.section{ padding-block:clamp(40px,5vw,72px); }
.section--tight{ padding-block:clamp(24px,3vw,40px); }
.section--loose{ padding-block:clamp(56px,7vw,96px); }
.section--dark{ background:var(--c-deep); color:var(--c-snow); }
.section--dark .h1,.section--dark .h2,.section--dark .h3{ color:var(--c-snow); }
.section--dark .lede,.section--dark .prose{ color:rgba(245,248,250,.86); }
.section--dark .note{ color:rgba(245,248,250,.6); }
.section--glacier{ background:var(--c-glacier); }
.section--mist{ background:var(--c-mist); }

/* ---------- 5. 装饰与展览语汇 ---------- */
.ruler{
  height:8px;
  background-image:repeating-linear-gradient(90deg,var(--c-ochre) 0 1px,transparent 1px 24px);
  opacity:.75;
}
.tick-rule{ display:block; height:2px; background:var(--c-ochre); }
.exhibit{
  display:flex; align-items:center; gap:10px;
  font-family:var(--font-num); font-size:12.5px;
  letter-spacing:.18em; color:var(--c-bark);
}
.exhibit::before{ content:""; width:28px; height:1px; background:var(--c-ochre); flex:none; }
.section--dark .exhibit{ color:var(--c-amber); }
.panel{
  background:var(--c-mist);
  clip-path:var(--cut);
  padding:24px;
  border-top:2px solid var(--c-ochre);
}
.panel--ghost{ background:var(--c-snow); border-top-color:var(--c-glacier); }
.panel--glacier{ background:var(--c-glacier); border-top-color:var(--c-ochre); }
.panel--dark{ background:var(--c-deep); color:var(--c-snow); border-top-color:var(--c-amber); }
.panel--dark .h3,.panel--dark .h2{ color:var(--c-snow); }
.media{ position:relative; display:block; background:var(--c-snow); clip-path:var(--cut); overflow:hidden; }
.media__frame{
  position:relative;
  aspect-ratio:16/9;
  background:
    repeating-linear-gradient(0deg,rgba(16,28,43,.07) 0 1px,transparent 1px 40px),
    repeating-linear-gradient(90deg,rgba(16,28,43,.07) 0 1px,transparent 1px 40px),
    var(--c-mist);
}
.media__frame > img{ width:100%; height:100%; object-fit:cover; }
.media__caption{
  display:block; padding:12px 16px; font-size:13px; line-height:1.6;
  color:var(--c-rock); background:var(--c-snow); border-top:1px solid var(--line);
}
.media--4x3 .media__frame{ aspect-ratio:4/3; }
.media--1x1 .media__frame{ aspect-ratio:1/1; }
.media--21x9 .media__frame{ aspect-ratio:21/9; }

/* ---------- 6. 按钮与状态 ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding:11px 20px; font-size:14.5px; font-weight:600; letter-spacing:.06em;
  line-height:1.2; clip-path:var(--cut-sm); border:1px solid transparent;
  transition:background .18s,color .18s,border-color .18s,transform .18s;
}
.btn:hover{ transform:translateY(-1px); }
.btn--primary{ background:var(--c-amber); color:var(--c-deep); }
.btn--primary:hover{ background:var(--c-snow); color:var(--c-deep); }
.btn--line{ border-color:var(--c-ochre); color:var(--c-bark); background:transparent; }
.btn--line:hover{ background:var(--c-ochre); color:var(--c-snow); }
.btn--ghost{ border-color:rgba(245,248,250,.42); color:var(--c-snow); background:transparent; }
.btn--ghost:hover{ border-color:var(--c-amber); color:var(--c-amber); background:rgba(245,248,250,.1); }
.btn--sm{ padding:8px 14px; font-size:13px; }
.btn--block{ width:100%; }

.tag{
  display:inline-flex; align-items:center; gap:6px;
  padding:4px 10px; font-family:var(--font-num); font-size:11.5px; letter-spacing:.1em;
  color:var(--c-rock); background:rgba(255,255,255,.6);
  border:1px solid var(--line); clip-path:var(--cut-sm);
}
.tag::before{ content:""; width:6px; height:6px; border-radius:50%; background:currentColor; flex:none; }
.tag--signal{ color:var(--c-signal); border-color:rgba(47,143,131,.5); background:rgba(47,143,131,.08); }
.tag--amber{ color:var(--c-bark); border-color:rgba(181,129,63,.55); background:rgba(242,169,59,.14); }
.tag--glacier{ color:var(--c-deep); border-color:rgba(127,169,184,.6); background:rgba(127,169,184,.18); }

.chip-row{ display:flex; flex-wrap:wrap; gap:8px; }
.chip{
  padding:8px 14px; font-size:13.5px; color:var(--c-ink);
  background:var(--c-snow); border:1px solid var(--line);
  clip-path:var(--cut-sm);
  transition:background .18s,color .18s,border-color .18s;
}
.chip:hover{ border-color:var(--c-ochre); }
.chip[aria-pressed="true"]{ background:var(--c-deep); color:var(--c-snow); border-color:var(--c-deep); }

/* ---------- 7. 数据组件 ---------- */
.stat{
  display:flex; flex-direction:column; gap:4px;
  padding:16px 18px; background:var(--c-snow);
  clip-path:var(--cut); border-top:2px solid var(--c-ochre);
}
.stat__value{ font-family:var(--font-num); font-size:clamp(28px,3.6vw,42px); line-height:1; color:var(--c-deep); letter-spacing:.02em; }
.stat__value em{ font-style:normal; font-size:.42em; margin-left:4px; color:var(--c-rock); }
.stat__label{ font-size:13.5px; color:var(--c-rock); letter-spacing:.06em; }

.table-wrap{ width:100%; overflow-x:auto; }
.datum-table{ width:100%; min-width:560px; font-size:15px; background:var(--c-snow); }
.datum-table caption{ padding:0 0 12px; text-align:left; font-size:13px; letter-spacing:.06em; color:var(--c-rock); }
.datum-table th,.datum-table td{ padding:12px 14px; text-align:left; vertical-align:top; border-bottom:1px solid var(--line-soft); }
.datum-table thead th{ background:var(--c-deep); color:var(--c-snow); font-size:13.5px; font-weight:600; letter-spacing:.08em; }
.datum-table tbody tr:nth-child(even){ background:var(--c-mist); }

/* ---------- 8. 折叠与标签页 ---------- */
.fold{ border-top:1px solid var(--line); }
.fold:last-child{ border-bottom:1px solid var(--line); }
.fold > summary{
  display:flex; align-items:center; gap:12px;
  padding:16px 4px; font-weight:600; cursor:pointer;
}
.fold > summary::-webkit-details-marker{ display:none; }
.fold > summary::before{
  content:""; width:10px; height:10px; flex:none;
  background:var(--c-ochre); clip-path:polygon(0 0,100% 0,0 100%);
  transition:transform .18s var(--ease);
}
.fold[open] > summary::before{ transform:rotate(90deg); }
.fold__body{ padding:4px 4px 20px 26px; }

.tablist{ display:flex; flex-wrap:wrap; gap:4px; border-bottom:1px solid var(--line); }
.tab{
  padding:10px 16px; margin-bottom:-1px; font-size:14px; letter-spacing:.06em;
  color:var(--c-rock); border-bottom:2px solid transparent;
  transition:color .18s,border-color .18s,background .18s;
}
.tab:hover{ color:var(--c-ink); }
.tab[aria-selected="true"]{ color:var(--c-deep); font-weight:600; background:var(--c-mist); border-bottom-color:var(--c-amber); }
.tabs__panel{ padding-top:24px; }
[data-tab-panel][hidden]{ display:none; }

/* ---------- 9. 面包屑与工具类 ---------- */
.crumbs{
  display:flex; flex-wrap:wrap; align-items:center; gap:8px;
  font-family:var(--font-num); font-size:13px; letter-spacing:.06em; color:var(--c-rock);
}
.crumbs__link{ color:var(--c-bark); }
.crumbs__link:hover{ color:var(--c-amber); }
.crumbs__sep{ color:var(--c-ochre); }
.crumbs [aria-current="page"]{ color:var(--c-ink); }
.visually-hidden{
  position:absolute; width:1px; height:1px; overflow:hidden;
  clip-path:inset(50%); white-space:nowrap;
}

/* ---------- 10. 显现动效 ---------- */
.has-js [data-reveal]{
  opacity:0; transform:translateY(8px);
  transition:opacity .24s var(--ease),transform .24s var(--ease);
}
.has-js [data-reveal].is-visible{ opacity:1; transform:none; }
.has-js [data-reveal] .tick-rule{ transform:scaleX(0); transform-origin:left center; transition:transform .24s var(--ease); }
.has-js [data-reveal].is-visible .tick-rule{ transform:scaleX(1); }

/* ============================================================
   11. 头部外壳
   ============================================================ */
.skip-link{
  position:absolute; left:8px; top:-56px; z-index:130;
  padding:10px 16px; font-weight:700; font-size:14px;
  background:var(--c-amber); color:var(--c-deep);
  clip-path:var(--cut-sm);
  transition:top .16s var(--ease);
}
.skip-link:focus{ top:8px; }

.site-header{ position:sticky; top:0; z-index:80; }

.header-bar{
  position:relative;
  background:var(--c-deep);
  color:var(--c-snow);
  border-bottom:1px solid rgba(181,129,63,.6);
}
.header-bar__inner{
  display:flex; align-items:center; gap:16px;
  width:100%; max-width:var(--shell-max); margin-inline:auto;
  padding-inline:var(--gutter);
  min-height:var(--bar-h);
}
.scroll-progress{
  position:absolute; left:0; bottom:0; z-index:2;
  width:0; height:2px; background:var(--c-amber);
}

.brand{ display:flex; align-items:center; gap:12px; margin-right:auto; min-width:0; }
.brand__mark{
  width:14px; height:26px; flex:none;
  background:
    linear-gradient(var(--c-amber),var(--c-amber)) 0 0/14px 3px no-repeat,
    linear-gradient(var(--c-glacier),var(--c-glacier)) 0 11px/9px 3px no-repeat,
    linear-gradient(rgba(245,248,250,.45),rgba(245,248,250,.45)) 0 22px/14px 3px no-repeat;
}
.brand__text{ display:flex; flex-direction:column; min-width:0; }
.brand__name{
  font-family:var(--font-head); font-size:20px; font-weight:800;
  letter-spacing:.04em; line-height:1.2; color:var(--c-snow);
}
.brand__line{
  font-size:11.5px; letter-spacing:.12em; line-height:1.4;
  color:rgba(245,248,250,.6); white-space:nowrap;
}
.header-actions{ display:flex; align-items:center; gap:10px; flex:none; }

.nav-toggle{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  min-width:44px; height:44px; padding:0 12px;
  border:1px solid rgba(127,169,184,.5); color:var(--c-snow);
  clip-path:var(--cut-sm);
  transition:background .18s,color .18s,border-color .18s;
}
.nav-toggle__bars{
  width:18px; height:2px; background:currentColor;
  box-shadow:0 -6px 0 currentColor,0 6px 0 currentColor;
}
.nav-toggle__label{ font-size:12px; letter-spacing:.14em; }
.nav-toggle[aria-expanded="true"]{
  background:var(--c-glacier); color:var(--c-deep); border-color:var(--c-amber);
}

/* 轨道 / 抽屉 */
.site-rail{
  position:fixed; top:0; left:0; bottom:0; width:var(--rail-w);
  z-index:90;
  display:flex; flex-direction:column; align-items:center;
  background:var(--c-glacier); color:var(--c-deep);
  border-right:1px solid rgba(16,28,43,.18);
  overflow-y:auto; overscroll-behavior:contain;
  padding-bottom:16px;
}
.rail-cap{
  display:flex; align-items:center; justify-content:center;
  width:100%; height:var(--bar-h); flex:none;
  border-bottom:1px solid rgba(16,28,43,.18);
}
.rail-cap__mark{
  width:14px; height:26px;
  background:
    linear-gradient(var(--c-deep),var(--c-deep)) 0 0/14px 3px no-repeat,
    linear-gradient(var(--c-ochre),var(--c-ochre)) 0 11px/9px 3px no-repeat,
    linear-gradient(rgba(16,28,43,.35),rgba(16,28,43,.35)) 0 22px/14px 3px no-repeat;
}
.site-rail__head{ display:none; }
.rail-list{ display:flex; flex-direction:column; align-items:center; width:100%; }
.rail-link{
  position:relative;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px;
  width:100%; padding:14px 0;
  color:var(--c-deep);
  transition:background .18s,color .18s;
}
.rail-link__tick{
  display:block; width:14px; height:2px; flex:none;
  background:var(--c-ochre);
  transition:width .24s var(--ease),background .18s;
}
.rail-link__label{
  writing-mode:vertical-rl;
  font-size:13px; letter-spacing:.16em; line-height:1;
}
.rail-link:hover{ background:rgba(245,248,250,.5); }
.rail-link[aria-current="page"]{ background:var(--c-deep); color:var(--c-snow); }
.rail-link[aria-current="page"] .rail-link__tick{ width:26px; background:var(--c-amber); }
.rail-note{ display:none; }

.nav-scrim{
  position:fixed; inset:0; z-index:85;
  background:rgba(16,28,43,.55);
  opacity:0; pointer-events:none;
  transition:opacity .16s linear;
}
.nav-scrim[data-open="true"]{ opacity:1; pointer-events:auto; }
@media (min-width:1024px){ .nav-scrim{ display:none; } }

/* ============================================================
   12. 页脚外壳
   ============================================================ */
.site-footer{
  position:relative;
  background:var(--c-deep);
  color:rgba(245,248,250,.82);
  padding:56px 0 28px;
  overflow:hidden;
}
.footer-ruler{
  position:absolute; inset:0 0 auto 0; height:10px;
  background-image:repeating-linear-gradient(90deg,rgba(181,129,63,.75) 0 1px,transparent 1px 24px);
}
.footer__inner{
  width:100%; max-width:var(--shell-max); margin-inline:auto;
  padding-inline:var(--gutter);
}
.footer-top{ display:grid; gap:36px; grid-template-columns:1fr; }
@media (min-width:1024px){ .footer-top{ grid-template-columns:minmax(260px,5fr) 7fr; gap:48px; } }

.footer-brand__name{
  display:block;
  font-family:var(--font-head); font-size:26px; font-weight:800;
  letter-spacing:.04em; color:var(--c-snow);
}
.footer-brand__name::before{
  content:""; display:inline-block; width:12px; height:12px; margin-right:10px;
  background:var(--c-amber); clip-path:polygon(0 0,100% 0,0 100%);
}
.footer-brand__line{
  margin-top:14px; font-size:14.5px; line-height:1.85;
  color:rgba(245,248,250,.66); max-width:30em;
}
.footer-grid{
  display:grid; gap:28px 24px;
  grid-template-columns:repeat(auto-fit,minmax(140px,1fr));
}
.footer-col__title{
  padding-top:12px; margin-bottom:12px;
  font-family:var(--font-num); font-size:12.5px; font-weight:600;
  letter-spacing:.18em; color:var(--c-ochre);
  border-top:1px solid rgba(181,129,63,.45);
}
.footer-links{ display:flex; flex-direction:column; }
.footer-link{
  display:inline-block; padding:6px 0;
  font-size:15px; color:rgba(245,248,250,.8);
  transition:color .18s,transform .18s var(--ease);
}
.footer-link:hover{ color:var(--c-amber); transform:translateX(4px); }

.footer-contact{
  margin-top:40px; padding-top:4px;
  border-top:1px solid rgba(127,169,184,.25);
}
.contact-item{
  display:flex; flex-wrap:wrap; align-items:center; gap:8px 14px;
  padding:14px 0;
  border-bottom:1px dashed rgba(127,169,184,.22);
}
.contact-item__label{
  flex:none; min-width:76px;
  font-family:var(--font-num); font-size:12px; letter-spacing:.14em;
  color:var(--c-ochre);
}
.contact-item__value{
  font-size:15px; line-height:1.7; color:var(--c-snow);
  word-break:break-word;
}
.copy-btn{
  flex:none; padding:3px 10px;
  font-family:var(--font-num); font-size:12px; letter-spacing:.06em;
  color:var(--c-glacier); border:1px solid rgba(127,169,184,.45);
  clip-path:var(--cut-sm);
  transition:color .18s,border-color .18s,background .18s;
}
.copy-btn:hover{ color:var(--c-amber); border-color:var(--c-amber); }
.copy-btn[data-copied="true"]{ background:var(--c-amber); color:var(--c-deep); border-color:var(--c-amber); }
.contact-note{ margin-top:16px; font-size:13px; line-height:1.75; color:rgba(245,248,250,.55); max-width:52em; }
.footer-meta{
  display:flex; flex-wrap:wrap; gap:8px 24px; justify-content:space-between;
  margin-top:40px; padding-top:20px;
  border-top:1px solid rgba(181,129,63,.35);
  font-family:var(--font-num); font-size:12.5px; letter-spacing:.06em;
  color:rgba(245,248,250,.55);
}
.copy-live{
  position:absolute; width:1px; height:1px; overflow:hidden;
  clip-path:inset(50%); white-space:nowrap;
}

/* ============================================================
   13. 响应式
   ============================================================ */
@media (max-width:1023px){
  body.is-nav-open{ overflow:hidden; }
  .brand__line{ display:none; }
  .grid > .col-4,.grid > .col-5,.grid > .col-6,
  .grid > .col-7,.grid > .col-8{ grid-column:span 12; }

  .site-rail{
    width:min(80vw,320px);
    align-items:stretch;
    padding:0 0 20px;
    box-shadow:var(--shadow-drawer);
    transform:translateX(-104%);
    visibility:hidden;
    transition:transform .22s var(--ease),visibility 0s linear .22s;
  }
  .site-rail[data-open="true"]{
    transform:translateX(0);
    visibility:visible;
    transition:transform .22s var(--ease),visibility 0s linear 0s;
  }
  .rail-cap{ display:none; }
  .site-rail__head{
    display:flex; align-items:center; justify-content:space-between; gap:12px;
    padding:16px 20px; flex:none;
    border-bottom:1px solid rgba(16,28,43,.18);
  }
  .site-rail__title{
    font-family:var(--font-num); font-size:12.5px; letter-spacing:.18em;
    color:rgba(16,28,43,.72);
  }
  .rail-close{
    display:inline-flex; align-items:center; justify-content:center;
    width:36px; height:36px; font-size:20px; line-height:1;
    color:var(--c-deep); border:1px solid rgba(16,28,43,.25);
    clip-path:var(--cut-sm);
  }
  .rail-list{ padding:8px 0; }
  .rail-link{
    flex-direction:row; justify-content:flex-start;
    gap:12px; padding:16px 20px;
    border-bottom:1px solid rgba(16,28,43,.14);
  }
  .rail-link__tick{ width:12px; }
  .rail-link__label{
    writing-mode:horizontal-tb;
    font-family:var(--font-body); font-size:16px; letter-spacing:.06em;
  }
  .rail-link[aria-current="page"] .rail-link__tick{ width:24px; }
  .rail-note{
    display:block; margin:12px 20px 0;
    font-size:12px; line-height:1.7; color:rgba(16,28,43,.66);
  }
}
@media (min-width:1024px){
  .nav-toggle{ display:none; }
}
@media (max-width:1023px){
  .nav-toggle{ display:inline-flex; }
}
@media (max-width:420px){
  .header-actions .btn--primary{ padding:8px 12px; font-size:13px; }
  .nav-toggle{ padding:0 10px; }
  .brand__name{ font-size:18px; }
}

/* ---------- 14. 无障碍：减少动态 ---------- */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
    scroll-behavior:auto !important;
  }
  .has-js [data-reveal]{ opacity:1; transform:none; }
  .has-js [data-reveal] .tick-rule{ transform:none; }
  .btn:hover{ transform:none; }
  .footer-link:hover{ transform:none; }
}
