/* ============================================================
   奇异果赛事 · 共享样式 / assets/site.css
   热带夜赛电子蓝图：坐标网格 + 珠宝色分区 + 大圆角胶囊
   ============================================================ */

:root{
  --kiwi:#8CC63F;
  --kiwi-soft:#C9E7A0;
  --kiwi-deep:#4E8A1E;
  --ink-green:#0E2E24;
  --rail-blue:#0B3A3C;
  --cyan:#38F2C8;
  --mango:#FFC845;
  --dragon:#B23A8F;
  --indigo:#251A3B;
  --wine:#6E1F33;
  --paper:#F4F7F2;
  --text:#3C4A43;
  --text-soft:#5F6F67;
  --white:#FFFFFF;

  --rail-w:266px;
  --maxw:1180px;

  --radius-xl:32px;
  --radius-lg:24px;
  --radius-md:16px;
  --radius-sm:10px;
  --radius-pill:999px;

  --font-head:"Noto Sans SC","Source Han Sans SC","PingFang SC","Microsoft YaHei",sans-serif;
  --font-body:"Noto Sans SC","Source Han Sans SC","PingFang SC","Microsoft YaHei",sans-serif;
  --font-num:"IBM Plex Mono","JetBrains Mono",ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;

  --hair:rgba(60,74,67,.16);
  --hair-soft:rgba(60,74,67,.10);
  --hair-cyan:rgba(56,242,200,.20);
  --shadow-soft:0 20px 48px -28px rgba(11,58,60,.5);
  --ease:cubic-bezier(.22,.61,.36,1);
}

/* ---------- reset ---------- */
*,*::before,*::after{box-sizing:border-box;}
html{
  -webkit-text-size-adjust:100%;
  overflow-x:clip;
  scroll-behavior:smooth;
}
body{
  margin:0;
  font-family:var(--font-body);
  font-size:16.5px;
  line-height:1.75;
  color:var(--text);
  background:var(--paper);
  -webkit-font-smoothing:antialiased;
}
img,svg,video{max-width:100%;display:block;}
a{color:inherit;}
button,input,select,textarea{font:inherit;color:inherit;}
[hidden]{display:none !important;}
h1,h2,h3,h4,h5,h6{
  margin:0;
  font-family:var(--font-head);
  font-weight:800;
  line-height:1.26;
  letter-spacing:-.02em;
  color:var(--ink-green);
}
h1{font-size:clamp(30px,4.4vw,48px);font-weight:900;}
h2{font-size:clamp(24px,2.8vw,32px);}
h3{font-size:clamp(19px,2vw,22px);}
p{margin:0 0 1em;}
p:last-child{margin-bottom:0;}
ul,ol{margin:0;padding:0;list-style:none;}
strong{font-weight:800;color:var(--ink-green);}

/* 蓝图坐标网格：全站底色 */
body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:0;
  pointer-events:none;
  background-image:
    linear-gradient(to right, rgba(60,74,67,.055) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(60,74,67,.055) 1px, transparent 1px);
  background-size:88px 88px;
  background-position:-1px -1px;
}

/* ---------- 焦点环 ---------- */
:focus-visible{
  outline:2px solid #174A38;
  outline-offset:2px;
  box-shadow:0 0 0 4px rgba(56,242,200,.3);
  border-radius:8px;
}
.rail :focus-visible,
.site-footer :focus-visible,
.band--dark :focus-visible,
.band--indigo :focus-visible,
.band--wine :focus-visible{
  outline-color:var(--cyan);
  box-shadow:0 0 0 4px rgba(255,200,69,.28);
}

/* ---------- 跳跃链接 ---------- */
.skip-link{
  position:absolute;
  left:-9999px;
  top:0;
  z-index:200;
  display:inline-block;
  padding:12px 22px;
  background:var(--mango);
  color:#2A1B00;
  font-weight:800;
  font-size:15px;
  text-decoration:none;
  border-radius:0 0 var(--radius-md) 0;
}
.skip-link:focus{left:0;}

/* ============================================================
   侧边轨道导航
   ============================================================ */
.rail{
  position:sticky;
  top:0;
  left:0;
  width:100%;
  z-index:40;
  background:var(--rail-blue);
  color:#E8F5EE;
  border-bottom:1px solid var(--hair-cyan);
}
.rail::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background-image:
    linear-gradient(to right, rgba(56,242,200,.07) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(56,242,200,.07) 1px, transparent 1px);
  background-size:44px 44px;
}
.rail__inner{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  gap:14px;
  min-height:64px;
  padding:10px 16px;
}

/* 品牌 */
.brand{
  display:flex;
  align-items:center;
  gap:12px;
  text-decoration:none;
  color:#FFFFFF;
  min-width:0;
}
.brand__mark{
  flex:0 0 auto;
  display:grid;
  place-items:center;
  width:36px;
  height:36px;
  border-radius:13px;
  background:linear-gradient(142deg, var(--kiwi), #5DA51C);
  color:#0B2A20;
  font-family:var(--font-num);
  font-size:17px;
  font-weight:700;
  line-height:1;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.28);
}
.brand__text{display:flex;flex-direction:column;min-width:0;}
.brand__name{
  font-family:var(--font-head);
  font-weight:900;
  font-size:17px;
  letter-spacing:-.02em;
  line-height:1.2;
  white-space:nowrap;
}
.brand__sub{
  font-size:11.5px;
  letter-spacing:.03em;
  color:rgba(232,245,238,.6);
  line-height:1.4;
  white-space:nowrap;
}

/* 汉堡按钮 */
.rail__toggle{
  display:inline-flex;
  align-items:center;
  gap:9px;
  margin-left:auto;
  padding:9px 16px 9px 14px;
  border-radius:var(--radius-pill);
  border:1px solid rgba(56,242,200,.3);
  background:rgba(56,242,200,.09);
  color:#E8F5EE;
  font-size:14px;
  font-weight:700;
  cursor:pointer;
  transition:background 160ms var(--ease), border-color 160ms var(--ease);
}
.rail__toggle:hover{background:rgba(56,242,200,.18);}
.rail__toggle-bars,
.rail__toggle-bars::before,
.rail__toggle-bars::after{
  display:block;
  width:16px;
  height:2px;
  border-radius:2px;
  background:currentColor;
}
.rail__toggle-bars{position:relative;transition:background 160ms var(--ease);}
.rail__toggle-bars::before,
.rail__toggle-bars::after{
  content:"";
  position:absolute;
  left:0;
  transition:transform 180ms var(--ease), top 180ms var(--ease);
}
.rail__toggle-bars::before{top:-5px;}
.rail__toggle-bars::after{top:5px;}
.rail__toggle[aria-expanded="true"] .rail__toggle-bars{background:transparent;}
.rail__toggle[aria-expanded="true"] .rail__toggle-bars::before{top:0;transform:rotate(45deg);}
.rail__toggle[aria-expanded="true"] .rail__toggle-bars::after{top:0;transform:rotate(-45deg);}

/* 导航面板：移动端抽屉 */
.rail__nav{
  position:absolute;
  left:0;
  right:0;
  top:100%;
  padding:6px 16px 22px;
  background:var(--rail-blue);
  border-top:1px solid var(--hair-cyan);
  border-bottom:1px solid var(--hair-cyan);
  box-shadow:0 26px 52px rgba(4,20,17,.46);
  max-height:calc(100vh - 64px);
  overflow-y:auto;
  opacity:0;
  visibility:hidden;
  transform:translateY(-8px);
  transition:opacity 170ms var(--ease), transform 170ms var(--ease), visibility 170ms linear;
}
.rail__nav[data-open]{
  opacity:1;
  visibility:visible;
  transform:none;
}
.rail__nav-title{
  margin:12px 0 10px 12px;
  font-family:var(--font-num);
  font-size:10.5px;
  font-weight:600;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:rgba(56,242,200,.62);
}

/* 导航列表 */
.nav-list{display:flex;flex-direction:column;gap:2px;}
.nav-list a{
  display:flex;
  align-items:center;
  gap:12px;
  padding:11px 14px;
  border-radius:var(--radius-pill);
  color:rgba(232,245,238,.8);
  font-size:15px;
  font-weight:600;
  text-decoration:none;
  transition:background 160ms var(--ease), color 160ms var(--ease);
}
.nav-list__num{
  font-family:var(--font-num);
  font-size:11px;
  font-weight:600;
  letter-spacing:.06em;
  color:rgba(56,242,200,.7);
  transition:color 160ms var(--ease);
}
.nav-list__label{min-width:0;}
.nav-list a:hover{background:rgba(140,198,63,.16);color:#FFFFFF;}
.nav-list a[aria-current="page"]{
  background:var(--kiwi);
  color:#0B2A20;
  font-weight:800;
}
.nav-list a[aria-current="page"] .nav-list__num{color:#0B2A20;opacity:.72;}

/* 轨道底部摘要（桌面端） */
.rail__meta{display:none;}
.rail__utility{
  margin:0;
  font-family:var(--font-num);
  font-size:11px;
  letter-spacing:.05em;
  line-height:1.8;
  color:rgba(232,245,238,.55);
}

/* ---------- 桌面端固定轨道 ---------- */
@media (min-width:960px){
  body{padding-left:var(--rail-w);}
  .rail{
    position:fixed;
    inset:0 auto 0 0;
    width:var(--rail-w);
    height:100vh;
    max-height:100vh;
    overflow-y:auto;
    border-bottom:0;
    border-right:1px solid var(--hair-cyan);
  }
  .rail__inner{
    flex-direction:column;
    align-items:stretch;
    gap:0;
    min-height:100%;
    padding:30px 22px 26px;
  }
  .brand{gap:13px;padding:0 4px;}
  .brand__mark{width:42px;height:42px;font-size:19px;border-radius:15px;}
  .brand__name{font-size:18px;}
  .rail__toggle{display:none;}
  .rail__nav{
    position:static;
    margin-top:30px;
    padding:0;
    background:transparent;
    border:0;
    box-shadow:none;
    max-height:none;
    overflow:visible;
    opacity:1;
    visibility:visible;
    transform:none;
  }
  .rail__nav-title{margin:0 0 12px 14px;}
  .nav-list a{padding:11px 14px;}
  .rail__cta{margin-top:22px;width:100%;}
  .rail__meta{
    display:block;
    margin-top:auto;
    padding-top:22px;
    border-top:1px solid var(--hair-cyan);
  }
}

/* ============================================================
   按钮
   ============================================================ */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:12px 24px;
  border:1px solid transparent;
  border-radius:var(--radius-pill);
  font-family:var(--font-head);
  font-size:15px;
  font-weight:800;
  line-height:1.2;
  letter-spacing:.01em;
  text-decoration:none;
  cursor:pointer;
  transition:transform 160ms var(--ease), background 160ms var(--ease),
             color 160ms var(--ease), border-color 160ms var(--ease);
}
.btn--mango{background:var(--mango);color:#2A1B00;}
.btn--kiwi{background:var(--kiwi);color:#0B2A20;}
.btn--ghost{background:transparent;border-color:var(--hair);color:var(--ink-green);}
.btn--outline{background:transparent;border-color:var(--cyan);color:var(--ink-green);}
.band--dark .btn--outline,
.band--indigo .btn--outline,
.band--wine .btn--outline,
.site-footer .btn--outline{color:#FFFFFF;}
.btn:hover{transform:translateY(-2px);}
.btn--ghost:hover{background:rgba(60,74,67,.06);}
@media (hover:none){
  .btn:hover{transform:none;}
}

/* ============================================================
   布局容器与分区
   ============================================================ */
.container{
  width:100%;
  max-width:var(--maxw);
  margin-inline:auto;
  padding-inline:clamp(18px,4vw,48px);
}
.site-main{position:relative;z-index:1;display:block;}

.band{
  position:relative;
  padding-block:clamp(46px,7vw,88px);
  background:transparent;
}
.band > .container{position:relative;z-index:1;}
.band--dark{background:var(--ink-green);color:#D8EAE0;}
.band--indigo{background:var(--indigo);color:#E2DAF2;}
.band--wine{background:var(--wine);color:#F6DBE3;}
.band--dark h1,.band--dark h2,.band--dark h3,.band--dark h4,
.band--indigo h1,.band--indigo h2,.band--indigo h3,.band--indigo h4,
.band--wine h1,.band--wine h2,.band--wine h3,.band--wine h4{color:#FFFFFF;}
.band--dark strong,.band--indigo strong,.band--wine strong{color:#FFFFFF;}
.band--dark::before,
.band--indigo::before,
.band--wine::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background-image:
    linear-gradient(to right, rgba(255,255,255,.045) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(255,255,255,.045) 1px, transparent 1px);
  background-size:66px 66px;
}

/* ============================================================
   区块标题（索引号 + 收束线）
   ============================================================ */
.section-head{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:10px 16px;
  padding-bottom:15px;
  border-bottom:1px solid var(--hair);
  margin-bottom:clamp(24px,3.4vw,40px);
}
.section-head__index{
  font-family:var(--font-num);
  font-size:12px;
  font-weight:600;
  letter-spacing:.12em;
  color:var(--kiwi-deep);
}
.section-head__title{
  font-size:clamp(22px,2.6vw,32px);
  font-weight:900;
  letter-spacing:-.02em;
}
.section-head__aside{
  margin-left:auto;
  font-size:13.5px;
  color:var(--text-soft);
}
.band--dark .section-head,
.band--indigo .section-head,
.band--wine .section-head{border-bottom-color:var(--hair-cyan);}
.band--dark .section-head__index,
.band--indigo .section-head__index,
.band--wine .section-head__index{color:var(--cyan);}
.band--dark .section-head__aside,
.band--indigo .section-head__aside,
.band--wine .section-head__aside{color:rgba(255,255,255,.62);}

/* ============================================================
   面包屑
   ============================================================ */
.breadcrumb{margin:0 0 clamp(20px,3vw,36px);font-size:13px;}
.breadcrumb ol{display:flex;flex-wrap:wrap;align-items:center;}
.breadcrumb li{display:flex;align-items:center;}
.breadcrumb li + li::before{
  content:"/";
  margin:0 10px;
  color:rgba(60,74,67,.4);
  font-family:var(--font-num);
}
.breadcrumb a{color:var(--kiwi-deep);text-decoration:none;}
.breadcrumb a:hover{text-decoration:underline;}
.breadcrumb [aria-current="page"]{color:var(--text-soft);}
.band--dark .breadcrumb a,
.band--indigo .breadcrumb a,
.band--wine .breadcrumb a{color:var(--cyan);}
.band--dark .breadcrumb li + li::before,
.band--indigo .breadcrumb li + li::before,
.band--wine .breadcrumb li + li::before{color:rgba(255,255,255,.35);}
.band--dark .breadcrumb [aria-current="page"],
.band--indigo .breadcrumb [aria-current="page"],
.band--wine .breadcrumb [aria-current="page"]{color:rgba(255,255,255,.7);}

/* ============================================================
   筛选胶囊
   ============================================================ */
.filter-bar{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px;
  padding:7px;
  margin:0 0 clamp(20px,2.8vw,30px);
  border:1px solid rgba(140,198,63,.32);
  border-radius:var(--radius-pill);
  background:rgba(140,198,63,.1);
}
.filter-bar__label{
  padding:0 10px 0 14px;
  font-family:var(--font-num);
  font-size:11px;
  font-weight:600;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--kiwi-deep);
}
.filter-pill{
  appearance:none;
  border:0;
  padding:8px 17px;
  border-radius:var(--radius-pill);
  background:transparent;
  color:#2C4A3B;
  font-family:var(--font-head);
  font-size:14px;
  font-weight:700;
  cursor:pointer;
  transition:background 160ms var(--ease), color 160ms var(--ease);
}
.filter-pill:hover{background:rgba(140,198,63,.24);}
.filter-pill[aria-pressed="true"]{background:var(--kiwi);color:#0B2A20;}
.filter-bar__count{
  margin-left:auto;
  padding-right:14px;
  font-family:var(--font-num);
  font-size:12px;
  color:var(--text-soft);
}

/* ============================================================
   图片容器
   ============================================================ */
.figure{
  position:relative;
  display:block;
  margin:0 0 1.4em;
  overflow:hidden;
  border-radius:var(--radius-xl);
  background:
    linear-gradient(150deg, #10362A 0%, #0E2E24 52%, #1B2138 100%);
  aspect-ratio:16 / 9;
}
.figure--wide{aspect-ratio:21 / 9;}
.figure--square{aspect-ratio:1 / 1;}
.figure--tall{aspect-ratio:4 / 5;}
.figure__media{
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:inherit;
}
.figure__overlay{
  position:absolute;
  inset:auto 0 0 0;
  padding:22px 24px;
  background:linear-gradient(to top, rgba(5,22,18,.86), rgba(5,22,18,0));
  color:#FFFFFF;
}
.figure__caption{
  margin-top:10px;
  font-size:12.5px;
  letter-spacing:.04em;
  line-height:1.7;
  color:var(--text-soft);
}
.band--dark .figure__caption,
.band--indigo .figure__caption,
.band--wine .figure__caption{color:rgba(255,255,255,.62);}
.figure__overlay .metric,
.figure__overlay .num{color:var(--cyan);}

/* ============================================================
   网格基元与通用卡片
   ============================================================ */
.grid{display:grid;gap:clamp(18px,2.6vw,32px);}
.grid--2{grid-template-columns:minmax(0,1fr);}
.grid--3{grid-template-columns:minmax(0,1fr);}
@media (min-width:680px){
  .grid--2{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (min-width:860px){
  .grid--3{grid-template-columns:repeat(3,minmax(0,1fr));}
}

.card{
  position:relative;
  padding:clamp(20px,2.4vw,28px);
  border:1px solid var(--hair);
  border-radius:var(--radius-lg);
  background:rgba(255,255,255,.72);
  transition:transform 200ms var(--ease), border-color 200ms var(--ease),
             background 200ms var(--ease);
}
.card:hover{transform:translateY(-3px);border-color:rgba(140,198,63,.5);}
.card__index{
  display:block;
  margin-bottom:10px;
  font-family:var(--font-num);
  font-size:11.5px;
  font-weight:600;
  letter-spacing:.12em;
  color:var(--kiwi-deep);
}
.card__title{font-size:20px;font-weight:800;margin-bottom:8px;}
.card__meta{
  font-family:var(--font-num);
  font-size:12px;
  letter-spacing:.04em;
  color:var(--text-soft);
}
.card__body{font-size:15.5px;line-height:1.75;color:var(--text);}
.band--dark .card,
.band--indigo .card,
.band--wine .card{
  background:rgba(255,255,255,.06);
  border-color:rgba(255,255,255,.14);
  color:rgba(255,255,255,.84);
}
.band--dark .card__body,
.band--indigo .card__body,
.band--wine .card__body{color:rgba(255,255,255,.84);}
.band--dark .card__index,
.band--indigo .card__index,
.band--wine .card__index{color:var(--cyan);}
.band--dark .card__meta,
.band--indigo .card__meta,
.band--wine .card__meta{color:rgba(255,255,255,.6);}

/* ============================================================
   文字工具
   ============================================================ */
.eyebrow{
  display:inline-block;
  margin-bottom:12px;
  font-family:var(--font-num);
  font-size:11.5px;
  font-weight:600;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--kiwi-deep);
}
.band--dark .eyebrow,
.band--indigo .eyebrow,
.band--wine .eyebrow{color:var(--cyan);}
.num,.metric{
  font-family:var(--font-num);
  font-variant-numeric:tabular-nums;
  letter-spacing:-.01em;
}
.metric{
  font-size:clamp(28px,3.6vw,42px);
  font-weight:700;
  line-height:1.1;
  color:var(--kiwi-deep);
}
.band--dark .metric,
.band--indigo .metric,
.band--wine .metric{color:var(--cyan);}
.empty-state{
  padding:34px 24px;
  border:1px dashed var(--hair);
  border-radius:var(--radius-lg);
  text-align:center;
  font-size:15px;
  color:var(--text-soft);
}

/* ---------- 显现动效 ---------- */
[data-reveal]{
  opacity:0;
  transform:translateX(-12px);
  transition:opacity 240ms var(--ease), transform 240ms var(--ease);
}
[data-reveal].is-visible{opacity:1;transform:none;}

/* ============================================================
   页脚
   ============================================================ */
.site-footer{
  position:relative;
  z-index:1;
  margin-top:clamp(56px,8vw,116px);
  background:var(--ink-green);
  color:#DCEBE2;
  overflow:hidden;
}
.site-footer::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background-image:
    linear-gradient(to right, rgba(56,242,200,.06) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(56,242,200,.06) 1px, transparent 1px);
  background-size:66px 66px;
}
.site-footer::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:4px;
  background:linear-gradient(90deg,var(--kiwi) 0%,var(--cyan) 32%,var(--mango) 62%,var(--dragon) 100%);
}
.footer__inner{
  position:relative;
  z-index:1;
  width:100%;
  max-width:var(--maxw);
  margin-inline:auto;
  padding:clamp(44px,6vw,76px) clamp(18px,4vw,48px) clamp(30px,4vw,48px);
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:clamp(28px,4vw,48px) clamp(24px,3.4vw,54px);
}
@media (min-width:640px){
  .footer__inner{grid-template-columns:repeat(2,minmax(0,1fr));}
  .footer__head{grid-column:1 / -1;}
}
@media (min-width:960px){
  .footer__inner{grid-template-columns:1.25fr 1.5fr 1.15fr;}
  .footer__head{grid-column:auto;}
}

.footer__brand{
  display:flex;
  align-items:center;
  gap:12px;
  margin:0 0 16px;
}
.footer__mark{
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  border-radius:13px;
  background:linear-gradient(142deg,var(--kiwi),#5DA51C);
  color:#0B2A20;
  font-family:var(--font-num);
  font-size:17px;
  font-weight:700;
  line-height:1;
}
.footer__name{
  font-family:var(--font-head);
  font-size:18px;
  font-weight:900;
  letter-spacing:-.02em;
  color:#FFFFFF;
}
.footer__intro{
  max-width:46ch;
  font-size:14.5px;
  line-height:1.8;
  color:rgba(220,235,226,.78);
  margin:0 0 16px;
}
.footer__stamp{
  margin:0;
  font-family:var(--font-num);
  font-size:11.5px;
  letter-spacing:.05em;
  color:rgba(56,242,200,.72);
}

.footer__cols{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:26px 20px;
}
@media (min-width:480px){
  .footer__cols{grid-template-columns:repeat(3,minmax(0,1fr));}
}
.footer__col-title{
  display:flex;
  align-items:center;
  gap:10px;
  margin:0 0 15px;
  font-family:var(--font-num);
  font-size:11.5px;
  font-weight:600;
  letter-spacing:.12em;
  color:var(--cyan);
}
.footer__col-title::after{
  content:"";
  flex:1;
  height:1px;
  background:rgba(56,242,200,.24);
}
.footer__col ul{display:flex;flex-direction:column;gap:11px;}
.footer__col a{
  font-size:14.5px;
  color:rgba(220,235,226,.82);
  text-decoration:none;
  transition:color 140ms var(--ease);
}
.footer__col a:hover{color:var(--cyan);}

.footer__contact .contact-list{display:flex;flex-direction:column;gap:12px;}
.contact-list li{display:flex;flex-direction:column;gap:2px;}
.contact-list__key{
  font-family:var(--font-num);
  font-size:10.5px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:rgba(56,242,200,.66);
}
.contact-list__val{
  font-size:14px;
  line-height:1.65;
  color:rgba(232,245,238,.9);
  word-break:break-word;
}
.footer__note{
  margin:16px 0 0;
  font-size:12.5px;
  line-height:1.75;
  color:rgba(220,235,226,.56);
}

.footer__base{
  position:relative;
  z-index:1;
  width:100%;
  max-width:var(--maxw);
  margin-inline:auto;
  padding:18px clamp(18px,4vw,48px) 30px;
  border-top:1px solid var(--hair-cyan);
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  gap:8px 24px;
  font-family:var(--font-num);
  font-size:12px;
  letter-spacing:.04em;
  color:rgba(220,235,226,.6);
}
.footer__copy,.footer__icp{margin:0;}

/* ============================================================
   减少动效
   ============================================================ */
@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;
  }
  [data-reveal]{opacity:1;transform:none;}
}

/* ============================================================
   无障碍隐藏工具
   ============================================================ */
.visually-hidden{
  position:absolute !important;
  width:1px;height:1px;
  margin:-1px;padding:0;
  overflow:hidden;
  clip:rect(0 0 0 0);
  clip-path:inset(50%);
  white-space:nowrap;
  border:0;
}
