/* ===========================================================
   /assets/site.css — 豪利777官网共享外壳
   深海蓝文字建筑 + 框架式导航 + 右侧版本轨
   =========================================================== */

/* ---------- 1. 变量 ---------- */
:root{
  --abyss:#061826;
  --harbor:#0B2C43;
  --tide:#123F5B;
  --line:#1E4A63;
  --signal:#3DE0F0;
  --mist:#9CF2F8;
  --ember:#FF7A33;
  --ember-soft:#FFB27A;
  --paper:#F2F7FA;
  --fog:#A8BDCB;

  --header-h:56px;
  --rail-w:300px;
  --gutter-l:72px;
  --page-x:clamp(20px,4vw,64px);
  --gap:24px;

  --font-display:"HarmonyOS Sans SC","Source Han Sans SC","Noto Sans SC",system-ui,-apple-system,"PingFang SC","Microsoft YaHei",sans-serif;
  --font-body:"PingFang SC","Noto Sans SC","Microsoft YaHei","HarmonyOS Sans SC",system-ui,sans-serif;
  --font-mono:"JetBrains Mono","IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;

  --ease:cubic-bezier(.22,.61,.36,1);
  --dur:200ms;
}

html[data-condensed="true"]{ --header-h:48px; }

/* ---------- 2. reset ---------- */
*,*::before,*::after{ box-sizing:border-box; }
html{
  -webkit-text-size-adjust:100%;
  scroll-behavior:smooth;
  scroll-padding-top:calc(var(--header-h) + 24px);
}
html.nav-open{ overflow:hidden; }
body{
  margin:0;
  background:var(--abyss);
  color:var(--paper);
  font-family:var(--font-body);
  font-size:1rem;
  line-height:1.85;
  font-weight:400;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  padding-top:var(--header-h);
  transition:padding-top var(--dur) var(--ease);
}
img,svg{ max-width:100%; }
h1,h2,h3,h4,p,ul,ol,dl,figure{ margin:0; }
ul,ol{ padding:0; list-style:none; }
a{ color:inherit; }
button{ font:inherit; color:inherit; }
code{ font-family:var(--font-mono); }

:focus-visible{
  outline:2px solid var(--signal);
  outline-offset:2px;
  border-radius:3px;
}

::selection{ background:rgba(61,224,240,.28); color:var(--paper); }

/* ---------- 3. 中文排版基元 ---------- */
h1,h2,h3{ font-family:var(--font-display); text-wrap:balance; }

.eyebrow{
  display:block;
  font-family:var(--font-mono);
  font-size:.6875rem;
  font-weight:500;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--fog);
  margin-bottom:10px;
}
.mono{
  font-family:var(--font-mono);
  font-variant-numeric:tabular-nums;
  letter-spacing:.01em;
}
.tag{
  display:inline-grid;
  place-items:center;
  min-width:24px;
  height:24px;
  padding:0 6px;
  font-family:var(--font-mono);
  font-size:.6875rem;
  font-weight:500;
  line-height:1;
  color:var(--signal);
  background:rgba(61,224,240,.10);
  border:1px solid rgba(61,224,240,.35);
  border-radius:5px;
}

/* ---------- 4. 布局 ---------- */
.container{
  width:100%;
  max-width:1120px;
  margin-inline:auto;
  padding-inline:var(--page-x);
}
.grid-12{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:var(--gap);
}
.prose{ max-width:62ch; }
.prose p{ margin-bottom:1.2em; }
.prose p:last-child{ margin-bottom:0; }

.section{ margin-block:clamp(72px,10vw,140px); }
.section__eyebrow{
  display:block;
  font-family:var(--font-mono);
  font-size:.6875rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--signal);
  margin-bottom:14px;
}
.section__title{
  font-size:clamp(1.8rem,3.4vw,3rem);
  font-weight:750;
  line-height:1.1;
  letter-spacing:-.01em;
  margin-bottom:20px;
}
.section__lead{
  max-width:52ch;
  color:var(--fog);
  font-size:1rem;
  line-height:1.85;
}

/* 页面主体留出左右框架 */
@media (min-width:900px){
  body{ padding-left:var(--gutter-l); }
}
@media (min-width:1200px){
  body{ padding-right:var(--rail-w); }
}

/* ---------- 5. skip link ---------- */
.skip-link{
  position:fixed;
  top:-64px;
  left:16px;
  z-index:300;
  padding:10px 18px;
  font-size:.875rem;
  font-weight:700;
  color:var(--abyss);
  background:var(--signal);
  border-radius:0 0 10px 10px;
  text-decoration:none;
  transition:top var(--dur) var(--ease);
}
.skip-link:focus{ top:0; }

/* ---------- 6. 顶部框架条 ---------- */
.site-header{
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:120;
  height:var(--header-h);
  background:rgba(6,24,38,.94);
  border-bottom:1px solid var(--line);
  -webkit-backdrop-filter:blur(14px);
  backdrop-filter:blur(14px);
  transition:height var(--dur) var(--ease), background var(--dur) var(--ease);
}
html[data-condensed="true"] .site-header{
  background:rgba(5,20,32,.98);
  box-shadow:0 10px 32px rgba(0,0,0,.35);
}
.site-header__bar{
  height:100%;
  display:flex;
  align-items:center;
  gap:clamp(12px,2vw,32px);
  padding:0 var(--page-x);
}

/* 品牌署名 */
.brand{
  display:inline-flex;
  align-items:center;
  gap:10px;
  flex:0 0 auto;
  text-decoration:none;
  color:var(--paper);
  font-family:var(--font-display);
  font-weight:800;
  letter-spacing:-.01em;
}
.brand__mark{
  display:inline-grid;
  place-items:center;
  width:30px;
  height:30px;
  font-family:var(--font-mono);
  font-size:.6875rem;
  font-weight:700;
  letter-spacing:0;
  color:var(--abyss);
  background:var(--signal);
  border-radius:9px;
  box-shadow:0 0 0 1px rgba(61,224,240,.4),0 0 18px rgba(61,224,240,.32);
  transition:transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
}
.brand:hover .brand__mark{
  transform:rotate(-6deg);
  box-shadow:0 0 0 1px rgba(61,224,240,.6),0 0 26px rgba(61,224,240,.5);
}
.brand__name{ font-size:.9375rem; white-space:nowrap; }
.brand--footer .brand__name{ font-size:1rem; }

/* 主导航 */
.site-nav{ margin-inline:auto; }
.site-nav__list{
  display:flex;
  align-items:center;
  gap:clamp(14px,1.8vw,30px);
}
.site-nav__link{
  position:relative;
  display:inline-flex;
  align-items:center;
  height:100%;
  padding:0 2px;
  font-size:.9375rem;
  font-weight:500;
  letter-spacing:.01em;
  color:var(--fog);
  text-decoration:none;
  white-space:nowrap;
  transition:color var(--dur) var(--ease);
}
.site-nav__link::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:2px;
  background:var(--signal);
  transform:scaleX(0);
  transform-origin:left center;
  transition:transform var(--dur) var(--ease);
}
.site-nav__link:hover{ color:var(--paper); }
.site-nav__link:hover::after{ transform:scaleX(.55); }
.site-nav__link[aria-current="page"]{ color:var(--signal); }
.site-nav__link[aria-current="page"]::after{ transform:scaleX(1); }

/* 右侧元信息 */
.site-header__meta{
  display:flex;
  align-items:center;
  gap:clamp(8px,1.2vw,16px);
  flex:0 0 auto;
  margin-left:auto;
}
.version-chip{
  display:inline-flex;
  align-items:baseline;
  gap:8px;
  padding:5px 11px;
  border:1px solid var(--line);
  border-radius:999px;
  background:rgba(18,63,91,.55);
  transition:border-color var(--dur) var(--ease);
}
.version-chip:hover{ border-color:rgba(61,224,240,.5); }
.version-chip__label{
  font-size:.6875rem;
  letter-spacing:.12em;
  color:var(--fog);
  white-space:nowrap;
}
.version-chip .mono{
  font-size:.8125rem;
  font-weight:600;
  color:var(--signal);
}

/* 汉堡 */
.nav-toggle{
  display:none;
  align-items:center;
  gap:8px;
  padding:7px 12px;
  background:transparent;
  border:1px solid var(--line);
  border-radius:999px;
  color:var(--paper);
  font-size:.8125rem;
  cursor:pointer;
  transition:border-color var(--dur) var(--ease), color var(--dur) var(--ease);
}
.nav-toggle:hover{ border-color:var(--signal); color:var(--signal); }
.nav-toggle__bars{
  position:relative;
  display:block;
  width:16px;
  height:2px;
  border-radius:2px;
  background:currentColor;
  transition:background var(--dur) var(--ease);
}
.nav-toggle__bars::before,
.nav-toggle__bars::after{
  content:"";
  position:absolute;
  left:0;
  width:16px;
  height:2px;
  border-radius:2px;
  background:currentColor;
  transition:transform var(--dur) var(--ease), top var(--dur) var(--ease);
}
.nav-toggle__bars::before{ top:-5px; }
.nav-toggle__bars::after{ top:5px; }
.nav-toggle[aria-expanded="true"] .nav-toggle__bars{ background:transparent; }
.nav-toggle[aria-expanded="true"] .nav-toggle__bars::before{ top:0; transform:rotate(45deg); }
.nav-toggle[aria-expanded="true"] .nav-toggle__bars::after{ top:0; transform:rotate(-45deg); }

/* 滚动进度 */
.site-header__progress{
  position:absolute;
  left:0;
  right:0;
  bottom:-1px;
  height:2px;
  pointer-events:none;
}
.site-header__progress-fill{
  display:block;
  width:100%;
  height:100%;
  background:linear-gradient(90deg,var(--signal),var(--mist));
  transform:scaleX(0);
  transform-origin:0 50%;
}

/* ---------- 7. 左侧竖向边框 ---------- */
.frame-rail--left{
  position:fixed;
  left:0;
  top:var(--header-h);
  bottom:0;
  width:var(--gutter-l);
  z-index:60;
  display:none;
  flex-direction:column;
  align-items:center;
  justify-content:space-between;
  padding:22px 0 26px;
  border-right:1px solid var(--line);
  background:linear-gradient(180deg,var(--harbor) 0%,rgba(6,24,38,.9) 100%);
  transition:top var(--dur) var(--ease);
}
.frame-rail__badge{
  display:grid;
  place-items:center;
  width:26px;
  height:26px;
  font-family:var(--font-mono);
  font-size:.6875rem;
  color:var(--signal);
  border:1px solid rgba(61,224,240,.4);
  border-radius:6px;
  background:rgba(61,224,240,.08);
}
.frame-rail__label{
  writing-mode:vertical-rl;
  font-size:.6875rem;
  letter-spacing:.34em;
  color:var(--fog);
}
.frame-rail__dot{
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--signal);
  box-shadow:0 0 12px rgba(61,224,240,.9);
}

/* ---------- 8. 右侧版本轨 ---------- */
.version-rail{
  position:fixed;
  right:0;
  top:var(--header-h);
  bottom:0;
  width:var(--rail-w);
  z-index:60;
  display:none;
  flex-direction:column;
  gap:20px;
  padding:28px 24px 24px;
  overflow-y:auto;
  border-left:1px solid var(--line);
  background:
    linear-gradient(180deg,rgba(11,44,67,.97) 0%,rgba(6,24,38,.99) 100%);
  transition:top var(--dur) var(--ease);
  scrollbar-width:thin;
  scrollbar-color:var(--line) transparent;
}
.version-rail::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.06;
  background-image:
    repeating-linear-gradient(90deg,var(--mist) 0 1px,transparent 1px 32px),
    repeating-linear-gradient(0deg,var(--mist) 0 1px,transparent 1px 32px);
}
.version-rail__head{ position:relative; }
.version-rail__now{
  display:flex;
  flex-direction:column;
  gap:2px;
  margin-bottom:12px;
}
.version-rail__num{
  font-size:1.75rem;
  font-weight:700;
  line-height:1.05;
  color:var(--paper);
  letter-spacing:-.02em;
}
.version-rail__build{
  font-size:.75rem;
  color:var(--fog);
  letter-spacing:.04em;
}
.version-rail__link{
  display:inline-block;
  font-size:.8125rem;
  font-weight:600;
  color:var(--ember);
  text-decoration:none;
  border-bottom:1px solid rgba(255,122,51,.35);
  padding-bottom:2px;
  transition:color var(--dur) var(--ease), border-color var(--dur) var(--ease);
}
.version-rail__link:hover{ color:var(--ember-soft); border-color:var(--ember-soft); }

.version-rail__list{ position:relative; flex:1 1 auto; }
.version-rail__item{
  position:relative;
  padding:14px 0 16px 26px;
  border-bottom:1px solid rgba(30,74,99,.55);
}
.version-rail__item::before{
  content:"";
  position:absolute;
  left:0;
  top:22px;
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--line);
  box-shadow:0 0 0 3px rgba(30,74,99,.22);
  transition:background var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
}
.version-rail__item::after{
  content:"";
  position:absolute;
  left:3px;
  top:32px;
  bottom:-1px;
  width:1px;
  background:rgba(30,74,99,.6);
}
.version-rail__item:last-child::after{ display:none; }
.version-rail__item.is-current::before{
  background:var(--ember);
  box-shadow:0 0 0 3px rgba(255,122,51,.18),0 0 14px rgba(255,122,51,.75);
}
.version-rail__item.is-current::after{
  background:linear-gradient(180deg,rgba(255,122,51,.55),rgba(30,74,99,.55));
}
.version-rail__ver{
  display:block;
  font-size:.8125rem;
  font-weight:600;
  color:var(--signal);
  margin-bottom:4px;
}
.version-rail__item.is-current .version-rail__ver{ color:var(--ember); }
.version-rail__desc{
  font-size:.8125rem;
  line-height:1.65;
  color:var(--fog);
}
.version-rail__foot{ position:relative; padding-top:4px; }

/* ---------- 9. 按钮与链接 ---------- */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:40px;
  padding:10px 20px;
  font-size:.875rem;
  font-weight:600;
  line-height:1;
  text-decoration:none;
  border:1px solid transparent;
  border-radius:999px;
  cursor:pointer;
  transition:background var(--dur) var(--ease), color var(--dur) var(--ease),
             border-color var(--dur) var(--ease), transform var(--dur) var(--ease),
             box-shadow var(--dur) var(--ease);
}
.btn--ember{
  background:var(--ember);
  color:#220A00;
  box-shadow:0 0 0 rgba(255,122,51,0);
}
.btn--ember:hover{
  background:var(--ember-soft);
  transform:translateY(-1px);
  box-shadow:0 8px 22px rgba(255,122,51,.28);
}
.btn--ember:active{ transform:translateY(0); }
.btn--ghost{
  background:transparent;
  color:var(--paper);
  border-color:var(--line);
}
.btn--ghost:hover{
  color:var(--signal);
  border-color:var(--signal);
  background:rgba(61,224,240,.07);
}
.btn--sm{
  min-height:32px;
  padding:7px 15px;
  font-size:.8125rem;
}

.link-underline{
  color:var(--signal);
  text-decoration:underline;
  text-underline-offset:4px;
  text-decoration-thickness:1px;
  text-decoration-color:rgba(61,224,240,.45);
  transition:color var(--dur) var(--ease), text-decoration-color var(--dur) var(--ease);
}
.link-underline:hover{ color:var(--mist); text-decoration-color:var(--mist); }

.copy-btn{
  padding:4px 9px;
  font-size:.75rem;
  line-height:1.4;
  color:var(--fog);
  background:transparent;
  border:1px solid var(--line);
  border-radius:6px;
  cursor:pointer;
  transition:color var(--dur) var(--ease), border-color var(--dur) var(--ease),
             background var(--dur) var(--ease);
}
.copy-btn:hover{ color:var(--signal); border-color:var(--signal); }
.copy-btn[data-copied="true"]{
  color:var(--abyss);
  background:var(--signal);
  border-color:var(--signal);
}

/* ---------- 10. 面包屑 ---------- */
.breadcrumb{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  font-size:.8125rem;
  font-weight:500;
  letter-spacing:.04em;
  color:var(--fog);
  margin-bottom:28px;
}
.breadcrumb__item{ color:var(--fog); text-decoration:none; }
a.breadcrumb__item:hover{ color:var(--signal); }
.breadcrumb__item[aria-current="page"]{ color:var(--paper); }
.breadcrumb__sep{ color:var(--line); }

/* ---------- 11. 图片容器基础规则 ---------- */
.media{
  position:relative;
  display:block;
  width:100%;
  aspect-ratio:16 / 10;
  overflow:hidden;
  isolation:isolate;
  border:1px solid var(--line);
  border-radius:24px;
  background:
    radial-gradient(120% 90% at 12% 8%,rgba(61,224,240,.16),transparent 62%),
    radial-gradient(90% 80% at 96% 92%,rgba(255,122,51,.12),transparent 58%),
    linear-gradient(160deg,var(--tide) 0%,var(--harbor) 58%,var(--abyss) 100%);
}
.media::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background-image:
    repeating-linear-gradient(90deg,rgba(156,242,248,.07) 0 1px,transparent 1px 48px),
    repeating-linear-gradient(0deg,rgba(156,242,248,.07) 0 1px,transparent 1px 48px);
}
.media__img{
  position:relative;
  z-index:2;
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.media--wide{ aspect-ratio:21 / 9; border-radius:32px; }
.media--square{ aspect-ratio:1 / 1; border-radius:32px; }

/* ---------- 12. 档案卡基座 ---------- */
.card{
  position:relative;
  padding:clamp(20px,2.6vw,32px);
  background:var(--tide);
  border:1px solid var(--line);
  border-radius:24px;
  transition:transform var(--dur) var(--ease), background var(--dur) var(--ease),
             border-color var(--dur) var(--ease);
}
.card:hover{
  transform:translateY(-4px);
  background:#164C6B;
  border-color:rgba(61,224,240,.45);
}

/* ---------- 13. 显现 ---------- */
.reveal{
  opacity:0;
  transform:translateY(12px);
  transition:opacity .5s var(--ease), transform .5s var(--ease);
}
.reveal.is-visible{ opacity:1; transform:none; }

/* ---------- 14. 页脚 ---------- */
.site-footer{
  position:relative;
  margin-top:clamp(72px,10vw,140px);
  padding:clamp(48px,7vw,88px) var(--page-x) 36px;
  border-top:1px solid var(--line);
  background:linear-gradient(180deg,var(--abyss) 0%,#04121B 100%);
}
.site-footer::before{
  content:"";
  position:absolute;
  top:-1px;
  left:var(--page-x);
  width:72px;
  height:2px;
  background:var(--signal);
  box-shadow:0 0 14px rgba(61,224,240,.75);
}
.site-footer__inner{ max-width:1120px; margin-inline:auto; }

.site-footer__top{
  display:grid;
  grid-template-columns:1.5fr 1fr .9fr;
  gap:clamp(24px,4vw,56px);
  padding-bottom:36px;
  border-bottom:1px solid var(--line);
}
.site-footer__brand .brand{ margin-bottom:14px; }
.site-footer__note{
  max-width:34ch;
  font-size:.875rem;
  line-height:1.75;
  color:var(--fog);
}
.site-footer__list{
  display:grid;
  gap:12px;
}
.site-footer__list a{
  font-size:.9375rem;
  font-weight:500;
  color:var(--fog);
  text-decoration:none;
  transition:color var(--dur) var(--ease);
}
.site-footer__list a:hover{ color:var(--signal); }
.site-footer__quick{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:14px;
}
.site-footer__quick .eyebrow{ margin-bottom:0; }

.site-footer__mid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:clamp(24px,4vw,56px);
  padding:36px 0;
  border-bottom:1px solid var(--line);
}
.site-footer__h{
  font-family:var(--font-display);
  font-size:1.0625rem;
  font-weight:700;
  line-height:1.3;
  margin-bottom:10px;
  color:var(--paper);
}
.site-footer__mid p{
  font-size:.875rem;
  line-height:1.8;
  color:var(--fog);
  max-width:44ch;
  margin-bottom:14px;
}

.site-footer__bottom{
  display:grid;
  grid-template-columns:1.4fr 1fr;
  gap:clamp(24px,4vw,56px);
  padding-top:32px;
}
.site-footer__contact{
  display:grid;
  grid-template-columns:max-content minmax(0,1fr);
  gap:10px 18px;
  font-size:.875rem;
}
.site-footer__contact dt{
  font-size:.8125rem;
  letter-spacing:.04em;
  color:var(--fog);
  white-space:nowrap;
}
.site-footer__contact dd{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
  margin:0;
  color:var(--paper);
  line-height:1.6;
}
.site-footer__contact .mono{
  font-size:.875rem;
  color:var(--mist);
  word-break:break-all;
}
.site-footer__legal{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:14px;
}
.site-footer__copy{
  font-size:.8125rem;
  letter-spacing:.02em;
  color:var(--fog);
}
.site-footer__links{
  display:flex;
  flex-wrap:wrap;
  gap:18px;
}
.site-footer__links a{
  font-size:.8125rem;
  color:var(--fog);
  text-decoration:none;
  border-bottom:1px solid transparent;
  padding-bottom:1px;
  transition:color var(--dur) var(--ease), border-color var(--dur) var(--ease);
}
.site-footer__links a:hover{
  color:var(--signal);
  border-color:rgba(61,224,240,.55);
}

/* ---------- 15. 断点 ---------- */
@media (min-width:900px){
  .frame-rail--left{ display:flex; }
}
@media (min-width:1200px){
  .version-rail{ display:flex; }
}

@media (max-width:1079px){
  .nav-toggle{ display:inline-flex; }
  .site-nav{
    position:absolute;
    top:100%;
    right:0;
    left:auto;
    width:min(340px,88vw);
    max-height:calc(100dvh - var(--header-h));
    overflow-y:auto;
    margin-inline:0;
    padding:20px var(--page-x) 30px;
    background:var(--harbor);
    border-left:1px solid var(--line);
    border-bottom:1px solid var(--line);
    box-shadow:-18px 24px 48px rgba(0,0,0,.45);
    transform:translateX(104%);
    transition:transform var(--dur) var(--ease);
    visibility:hidden;
  }
  .site-nav[data-open="true"]{
    transform:translateX(0);
    visibility:visible;
  }
  .site-nav__list{
    flex-direction:column;
    align-items:stretch;
    gap:0;
  }
  .site-nav__list li + li{ border-top:1px solid var(--line); }
  .site-nav__link{
    display:flex;
    width:100%;
    height:auto;
    padding:16px 0;
    font-size:1rem;
  }
  .site-nav__link::after{ display:none; }
  .site-nav__link:hover{ color:var(--paper); }
  .site-nav__link[aria-current="page"]{
    color:var(--signal);
    box-shadow:inset 3px 0 0 var(--signal);
    padding-left:12px;
  }
}

@media (max-width:899px){
  .site-footer__top{ grid-template-columns:1fr 1fr; }
  .site-footer__brand{ grid-column:1 / -1; }
  .site-footer__bottom{ grid-template-columns:1fr; }
}

@media (max-width:719px){
  .site-header__bar{ gap:10px; }
  .brand__name{ display:none; }
  .version-chip__label{ display:none; }
  .version-chip{ padding:5px 9px; }
  .site-footer__top{ grid-template-columns:1fr; }
  .site-footer__mid{ grid-template-columns:1fr; }
  .site-footer__contact{ grid-template-columns:1fr; gap:6px; }
  .site-footer__contact dd{ margin-bottom:10px; }
  .site-footer__links{ gap:14px; }
}

@media (max-width:359px){
  .version-chip{ display:none; }
  .nav-toggle__text{ display:none; }
}

/* ---------- 16. 降低动效 ---------- */
@media (prefers-reduced-motion:reduce){
  html{ scroll-behavior:auto; }
  *,
  *::before,
  *::after{
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
    scroll-behavior:auto !important;
  }
  .reveal{ opacity:1; transform:none; }
  .card:hover,
  .btn--ember:hover,
  .brand:hover .brand__mark{ transform:none; }
}
