/* ============================================================
   V站体育中心 · 共享样式 /assets/site.css
   天山雪青 × 戈壁暖沙 × 主场炽橙红
   ============================================================ */

/* ---------- 1. 设计令牌 ---------- */
:root{
  --ink-deep:#0B2429;
  --teal:#12454E;
  --teal-mid:#1E7A8C;
  --mist:#DCEFF3;
  --sand:#FBF5EA;
  --sand-mid:#E7CFA9;
  --home:#FF5A1F;
  --home-deep:#C93A0B;
  --away:#1F63D6;
  --up:#0FA85C;
  --warn:#E0A100;
  --ink:#14191C;

  --font-display:"PingFang SC","Hiragino Sans GB","Source Han Sans SC","Noto Sans CJK SC","Microsoft YaHei",system-ui,-apple-system,sans-serif;
  --font-body:var(--font-display);
  --font-mono:"SFMono-Regular",Menlo,Consolas,"Liberation Mono","Courier New",monospace;

  --shell:1240px;
  --gutter:clamp(1rem,4vw,2.5rem);
  --cut:18px;
  --cut-lg:34px;

  --shadow-panel:0 18px 48px rgba(11,36,41,.16);
  --shadow-soft:0 8px 24px rgba(11,36,41,.10);
  --header-h:74px;
}

/* ---------- 2. Reset ---------- */
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:110px;}
body{
  margin:0;
  background:var(--sand);
  color:var(--ink);
  font-family:var(--font-body);
  font-size:17px;
  line-height:1.85;
  letter-spacing:.005em;
  overflow-x:hidden;
}
img,svg,video{max-width:100%;height:auto;display:block;}
ul,ol{margin:0;padding:0;list-style:none;}
button{font:inherit;color:inherit;}
input,select,textarea{font:inherit;}
hr{border:0;border-top:1px solid rgba(11,36,41,.12);margin:2.5rem 0;}
::selection{background:var(--home);color:#fff;}

/* ---------- 3. 中文排版 ---------- */
h1,h2,h3,h4,h5{
  font-family:var(--font-display);
  font-weight:800;
  line-height:1.16;
  letter-spacing:-.012em;
  margin:0 0 .6em;
  color:inherit;
  text-wrap:balance;
}
h1{font-size:clamp(2rem,5.2vw,3.6rem);}
h2{font-size:clamp(1.55rem,3.4vw,2.5rem);}
h3{font-size:clamp(1.2rem,2.2vw,1.65rem);}
h4{font-size:clamp(1.05rem,1.6vw,1.25rem);line-height:1.4;}

p{margin:0 0 1.1em;max-width:38em;}
p:last-child{margin-bottom:0;}
strong,b{font-weight:800;}
small{font-size:.82em;}

a{color:var(--teal-mid);text-decoration-thickness:1px;text-underline-offset:3px;}
a:hover{color:var(--home);}

:focus-visible{outline:3px solid var(--home);outline-offset:3px;border-radius:2px;}
.site-header :focus-visible,.site-footer :focus-visible{outline-color:var(--sand-mid);}

.lede{font-size:clamp(1.05rem,1.8vw,1.28rem);line-height:1.75;color:var(--teal);max-width:34em;}
.prose{max-width:38em;}
.prose p{max-width:38em;}
.prose h2{margin-top:2.2em;}
.prose h3{margin-top:1.7em;}

.num,.stat-figure,.eyebrow,.tag,.rail-label,.breadcrumb,.footer-col__title,.footer-legal,.nav-toggle{
  font-family:var(--font-mono);
}
.num{font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.01em;}

/* ---------- 4. 布局容器与网格 ---------- */
.shell{
  width:min(var(--shell),calc(100% - (var(--gutter) * 2)));
  margin-inline:auto;
  position:relative;
}
.grid{display:grid;gap:clamp(1rem,2.4vw,2rem);}
.grid--2{grid-template-columns:repeat(2,minmax(0,1fr));}
.grid--3{grid-template-columns:repeat(3,minmax(0,1fr));}
.grid--4{grid-template-columns:repeat(4,minmax(0,1fr));}

/* ---------- 5. 跳转链接 ---------- */
.skip-link{
  position:fixed;
  top:-100px;left:1rem;
  z-index:200;
  padding:.7rem 1.2rem;
  background:var(--home);
  color:#fff;
  font-weight:700;
  text-decoration:none;
  border-radius:2px;
  transition:top .2s ease;
}
.skip-link:focus{top:1rem;color:#fff;}

/* ---------- 6. 头部 ---------- */
.site-header{
  position:fixed !important;
  top:0;left:0;right:0;
  z-index:60;
  color:var(--mist);
  background:transparent;
  border-bottom:1px solid transparent;
  transition:background .35s ease,box-shadow .35s ease,border-color .35s ease;
}
.site-header::after{
  content:"";
  position:absolute;
  left:0;bottom:-1px;
  height:2px;
  width:calc(var(--scroll-progress,0) * 100%);
  background:linear-gradient(90deg,var(--home) 0%,var(--warn) 48%,var(--up) 100%);
  transition:width .12s linear;
}
.site-header[data-scrolled="true"]{
  background:linear-gradient(100deg,var(--ink-deep) 0%,var(--teal) 58%,var(--ink-deep) 100%);
  box-shadow:0 14px 38px rgba(11,36,41,.36);
  border-bottom-color:rgba(220,239,243,.10);
}
.site-header[data-open="true"]{
  background:var(--ink-deep);
  box-shadow:0 14px 38px rgba(11,36,41,.36);
}

.header-shell{
  position:relative;
  z-index:2;
  display:flex;
  align-items:center;
  gap:1.2rem;
  width:min(var(--shell),calc(100% - (var(--gutter) * 2)));
  margin-inline:auto;
  padding:1.05rem 0;
  transition:padding .3s ease;
}
.site-header[data-scrolled="true"] .header-shell{padding:.6rem 0;}

/* 品牌 */
.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;color:inherit;flex:0 0 auto;}
.brand:hover{color:inherit;}
.brand-mark{
  display:grid;
  place-items:center;
  width:42px;height:42px;
  font-family:var(--font-mono);
  font-weight:800;
  font-size:1.4rem;
  line-height:1;
  color:#fff;
  background:linear-gradient(140deg,var(--home) 0%,var(--home-deep) 100%);
  clip-path:polygon(20% 0,100% 0,80% 100%,0 100%);
  box-shadow:0 6px 16px rgba(255,90,31,.34);
}
.brand-text{display:block;}
.brand-name{
  display:block;
  font-weight:800;
  font-size:1.06rem;
  line-height:1.2;
  letter-spacing:.01em;
  color:#fff;
}
.brand-sub{
  display:block;
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:.09em;
  color:var(--sand-mid);
  line-height:1.5;
}

/* 纵向赛程轴 */
.header-rail{
  position:fixed;
  left:1.5rem;
  top:50%;
  transform:translateY(-50%);
  z-index:55;
  display:none;
  flex-direction:column;
  align-items:center;
  gap:.8rem;
  pointer-events:none;
  color:var(--teal-mid);
}
.rail-label{
  font-size:10px;
  letter-spacing:.16em;
  writing-mode:vertical-rl;
  color:var(--teal-mid);
  opacity:.85;
}
.rail-line{
  position:relative;
  display:block;
  width:2px;
  height:170px;
  background:rgba(30,122,140,.28);
  overflow:hidden;
}
.rail-line i{
  position:absolute;
  top:0;left:0;
  width:100%;
  height:calc(var(--scroll-progress,0) * 100%);
  background:linear-gradient(180deg,var(--home) 0%,var(--warn) 60%,var(--up) 100%);
  transition:height .12s linear;
}

/* 主导航 */
.site-nav{
  display:flex;
  align-items:center;
  gap:1.2rem;
  margin-inline-start:auto;
}
.site-nav__list{display:flex;align-items:center;gap:.15rem;}
.site-nav__list a{
  position:relative;
  display:block;
  padding:.55rem .72rem;
  font-size:.94rem;
  font-weight:600;
  letter-spacing:.02em;
  color:inherit;
  text-decoration:none;
  transition:color .2s ease,background .2s ease;
}
.site-nav__list a::after{
  content:"";
  position:absolute;
  left:.72rem;right:.72rem;bottom:.24rem;
  height:2px;
  background:var(--home);
  transform:scaleX(0);
  transform-origin:left center;
  transition:transform .28s cubic-bezier(.2,.8,.3,1);
}
.site-nav__list a:hover{color:#fff;}
.site-nav__list a:hover::after,
.site-nav__list a:focus-visible::after,
.site-nav__list a[aria-current="page"]::after{transform:scaleX(1);}
.site-nav__list a[aria-current="page"]{
  color:#fff;
  font-weight:800;
  background:linear-gradient(180deg,rgba(255,90,31,.22),rgba(255,90,31,0));
}
.site-nav__actions{display:flex;align-items:center;gap:.5rem;}

/* 汉堡按钮 */
.nav-toggle{
  display:none;
  position:relative;
  z-index:4;
  width:46px;height:40px;
  padding:0;
  background:rgba(11,36,41,.35);
  border:1px solid rgba(220,239,243,.38);
  border-radius:2px;
  cursor:pointer;
  transition:background .25s ease,border-color .25s ease;
}
.nav-toggle:hover{background:rgba(255,90,31,.28);border-color:var(--home);}
.nav-toggle__bar{
  display:block;
  width:20px;height:2px;
  margin:4px auto;
  background:currentColor;
  transition:transform .25s ease,opacity .2s ease;
}
.nav-toggle[aria-expanded="true"] .nav-toggle__bar:nth-child(1){transform:translateY(6px) rotate(42deg);}
.nav-toggle[aria-expanded="true"] .nav-toggle__bar:nth-child(2){opacity:0;}
.nav-toggle[aria-expanded="true"] .nav-toggle__bar:nth-child(3){transform:translateY(-6px) rotate(-42deg);}

body[data-nav-lock="true"]{overflow:hidden;}

/* ---------- 7. 按钮 ---------- */
.btn{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.5rem;
  padding:.72rem 1.3rem;
  font-family:var(--font-body);
  font-size:.92rem;
  font-weight:700;
  line-height:1.2;
  letter-spacing:.03em;
  text-decoration:none;
  border:1px solid transparent;
  border-radius:2px;
  cursor:pointer;
  transition:transform .2s ease,box-shadow .2s ease,background .25s ease,color .2s ease,border-color .25s ease;
}
.btn::after{
  content:"";
  position:absolute;
  left:0;bottom:0;
  height:2px;width:0;
  background:currentColor;
  opacity:.55;
  transition:width .28s cubic-bezier(.2,.8,.3,1);
}
.btn:hover{transform:translateY(-2px);}
.btn:hover::after{width:100%;}
.btn--sm{padding:.5rem .95rem;font-size:.84rem;}

.btn--primary{
  background:linear-gradient(120deg,var(--home) 0%,var(--home-deep) 100%);
  color:#fff;
  box-shadow:0 10px 24px rgba(255,90,31,.32);
}
.btn--primary:hover{color:#fff;box-shadow:0 14px 30px rgba(255,90,31,.42);}
.btn--sand{background:var(--sand-mid);color:var(--ink-deep);}
.btn--sand:hover{color:var(--ink-deep);background:#f0dcbb;}
.btn--outline{border-color:rgba(11,36,41,.28);color:var(--ink-deep);background:transparent;}
.btn--outline:hover{border-color:var(--home);color:var(--home-deep);}
.btn--ghost{border-color:rgba(220,239,243,.42);color:var(--mist);background:rgba(11,36,41,.22);}
.btn--ghost:hover{color:#fff;border-color:var(--home);}

/* ---------- 8. 画板 / 档案组件 ---------- */
.board{
  position:relative;
  padding:clamp(1.5rem,3.4vw,3.2rem);
  background:var(--sand);
}
.board--mist{background:linear-gradient(160deg,var(--mist) 0%,#eff8fa 100%);}
.board--teal{background:linear-gradient(145deg,var(--teal) 0%,var(--ink-deep) 100%);color:var(--mist);}
.board--teal h1,.board--teal h2,.board--teal h3{color:#fff;}
.board--cut{clip-path:polygon(0 0,100% 0,100% calc(100% - var(--cut-lg)),calc(100% - var(--cut-lg)) 100%,0 100%);}
.board--cut-l{clip-path:polygon(var(--cut-lg) 0,100% 0,100% 100%,0 100%,0 var(--cut-lg));}

.section-marker{
  display:inline-block;
  font-family:var(--font-mono);
  font-weight:800;
  font-size:clamp(2.2rem,4.4vw,3.8rem);
  line-height:1;
  letter-spacing:-.03em;
  color:transparent;
  -webkit-text-stroke:1.6px rgba(30,122,140,.55);
  transform:skewX(-6deg);
}
.board--teal .section-marker{-webkit-text-stroke-color:rgba(231,207,169,.6);}

.eyebrow{
  display:inline-block;
  font-size:13px;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--teal-mid);
  margin-bottom:.55rem;
}
.board--teal .eyebrow{color:var(--sand-mid);}

.tag{
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  padding:.42rem .68rem;
  font-size:12px;
  font-weight:700;
  letter-spacing:.08em;
  line-height:1;
  color:var(--teal);
  background:var(--mist);
  clip-path:polygon(7px 0,100% 0,calc(100% - 7px) 100%,0 100%);
}
.tag--home{background:var(--home);color:#fff;}
.tag--away{background:var(--away);color:#fff;}
.tag--up{background:var(--up);color:#04231a;}
.tag--warn{background:var(--warn);color:#3b2b00;}
.tag--sand{background:var(--sand-mid);color:var(--ink-deep);}

.stat-figure{
  display:block;
  font-weight:800;
  font-size:clamp(2.6rem,7vw,5.6rem);
  line-height:.92;
  letter-spacing:-.04em;
  color:var(--home);
  font-variant-numeric:tabular-nums;
}
.stat-figure--teal{color:var(--teal-mid);}
.stat-figure--up{color:var(--up);}

/* ---------- 9. 面包屑 / 正文容器 ---------- */
.breadcrumb{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.5rem;
  margin:0 0 1.4rem;
  font-size:12px;
  letter-spacing:.09em;
  text-transform:uppercase;
  color:var(--teal-mid);
}
.breadcrumb__item{display:inline-flex;align-items:center;gap:.5rem;}
.breadcrumb__item + .breadcrumb__item::before{content:"⁄";color:var(--sand-mid);}
.breadcrumb a{color:inherit;text-decoration:none;border-bottom:1px solid rgba(30,122,140,.35);}
.breadcrumb a:hover{color:var(--home);border-color:var(--home);}
.breadcrumb [aria-current="page"]{color:var(--ink);font-weight:700;}

/* ---------- 10. 图片容器基础规则 ---------- */
.media-frame{
  --media-ratio:16 / 9;
  position:relative;
  display:block;
  width:100%;
  aspect-ratio:var(--media-ratio);
  overflow:hidden;
  background:linear-gradient(150deg,var(--teal) 0%,var(--ink-deep) 100%);
  clip-path:polygon(0 0,100% 0,100% calc(100% - 26px),calc(100% - 26px) 100%,0 100%);
  isolation:isolate;
}
.media-frame--wide{--media-ratio:21 / 9;}
.media-frame--tall{--media-ratio:4 / 5;}
.media-frame--square{--media-ratio:1 / 1;}
.media-frame--flat{clip-path:none;}
.media-frame__img{
  width:100%;height:100%;
  object-fit:cover;
  display:block;
  transition:transform .6s cubic-bezier(.2,.8,.3,1);
}
.media-frame:hover .media-frame__img{transform:scale(1.04);}
.media-frame__caption{
  position:absolute;
  left:0;bottom:0;
  max-width:88%;
  padding:.5rem .85rem;
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:.08em;
  color:var(--mist);
  background:linear-gradient(90deg,rgba(11,36,41,.86),rgba(11,36,41,.35));
  clip-path:polygon(0 0,100% 0,calc(100% - 12px) 100%,0 100%);
}
.media-frame--overlap{margin-block:-2.5rem 1.5rem;box-shadow:var(--shadow-panel);}
@media (min-width:1100px){
  .media-frame--overlap{margin-inline-start:-2.5rem;}
}

/* ---------- 11. 显现动效基类 ---------- */
.reveal,[data-reveal]{
  opacity:0;
  transform:translate3d(26px,26px,0);
  transition:opacity .62s cubic-bezier(.2,.8,.3,1),transform .62s cubic-bezier(.2,.8,.3,1);
  will-change:opacity,transform;
}
.reveal.is-in,[data-reveal].is-in{opacity:1;transform:none;}

/* ---------- 12. 返回顶部 ---------- */
.to-top{
  position:fixed;
  right:1.25rem;
  bottom:1.4rem;
  z-index:70;
  display:grid;
  place-items:center;
  width:48px;height:48px;
  padding:0;
  font-size:1.15rem;
  font-weight:800;
  color:var(--mist);
  background:linear-gradient(140deg,var(--teal) 0%,var(--ink-deep) 100%);
  border:1px solid rgba(220,239,243,.24);
  border-radius:2px;
  clip-path:polygon(0 0,100% 0,100% calc(100% - 14px),calc(100% - 14px) 100%,0 100%);
  cursor:pointer;
  opacity:0;
  visibility:hidden;
  transform:translateY(12px);
  transition:opacity .3s ease,visibility .3s ease,transform .3s ease,background .25s ease;
}
.to-top[data-visible="true"]{opacity:1;visibility:visible;transform:none;}
.to-top:hover{background:linear-gradient(140deg,var(--home) 0%,var(--home-deep) 100%);color:#fff;}

/* ---------- 13. 移动端底部快捷入口 ---------- */
.quick-dock{
  position:fixed;
  left:0;right:0;bottom:0;
  z-index:65;
  display:none;
  grid-template-columns:repeat(3,1fr);
  background:linear-gradient(100deg,var(--ink-deep) 0%,var(--teal) 100%);
  border-top:1px solid rgba(220,239,243,.16);
  padding:.35rem .35rem calc(.35rem + env(safe-area-inset-bottom));
}
.quick-dock__item{
  display:block;
  padding:.6rem .25rem;
  text-align:center;
  font-size:.82rem;
  font-weight:700;
  letter-spacing:.05em;
  color:var(--mist);
  text-decoration:none;
  border-radius:2px;
  transition:background .25s ease,color .25s ease;
}
.quick-dock__item + .quick-dock__item{border-left:1px solid rgba(220,239,243,.14);}
.quick-dock__item:hover,.quick-dock__item:focus-visible{background:rgba(255,90,31,.26);color:#fff;}

/* ---------- 14. 页脚 ---------- */
.site-footer{
  position:relative;
  margin-top:clamp(3.5rem,8vw,7rem);
  padding:clamp(3.5rem,7vw,5.5rem) 0 0;
  background:linear-gradient(180deg,var(--ink-deep) 0%,var(--teal) 52%,var(--ink-deep) 100%);
  color:var(--mist);
  overflow:hidden;
}
.site-footer::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:repeating-linear-gradient(118deg,rgba(231,207,169,.07) 0 1px,transparent 1px 17px);
  pointer-events:none;
}
.footer-ridge{
  position:absolute;
  top:0;left:0;right:0;
  height:64px;
  background:linear-gradient(90deg,rgba(255,90,31,.28) 0%,rgba(31,99,214,.24) 55%,rgba(15,168,92,.22) 100%);
  clip-path:polygon(0 100%,7% 34%,18% 76%,31% 16%,44% 68%,57% 24%,70% 72%,83% 20%,100% 62%,100% 100%);
  pointer-events:none;
}
.footer-shell{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:220px minmax(0,1fr);
  gap:clamp(2rem,4vw,3.5rem);
  padding-bottom:clamp(2.5rem,5vw,3.5rem);
}
.footer-mark{
  display:grid;
  place-items:center;
  width:44px;height:44px;
  font-family:var(--font-mono);
  font-weight:800;
  font-size:1.45rem;
  color:#fff;
  background:linear-gradient(140deg,var(--home) 0%,var(--home-deep) 100%);
  clip-path:polygon(20% 0,100% 0,80% 100%,0 100%);
  margin-bottom:.9rem;
}
.footer-brand__name{
  margin:0 0 .3rem;
  font-size:1.1rem;
  font-weight:800;
  color:#fff;
  max-width:none;
}
.footer-brand__line{
  margin:0;
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:.08em;
  line-height:1.8;
  color:var(--sand-mid);
  max-width:none;
}
.footer-cols{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:clamp(1.5rem,3vw,2.5rem);
}
.footer-col__title{
  margin:0 0 .9rem;
  font-size:12px;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--sand-mid);
}
.footer-col__list li + li{margin-top:.35rem;}
.footer-col__list a{
  display:inline-block;
  padding:.15rem 0;
  font-size:.95rem;
  color:var(--mist);
  text-decoration:none;
  border-bottom:1px solid transparent;
  transition:color .2s ease,border-color .2s ease,transform .2s ease;
}
.footer-col__list a:hover{
  color:#fff;
  border-color:var(--home);
  transform:translateX(3px);
}
.footer-col--contact{grid-column:span 1;}
.footer-contact-line{
  margin:0 0 .35rem;
  font-size:.92rem;
  line-height:1.7;
  color:var(--mist);
  max-width:none;
  word-break:break-word;
}
.footer-note{
  margin:.7rem 0 0;
  font-size:.78rem;
  line-height:1.7;
  color:rgba(220,239,243,.62);
  max-width:none;
}
.footer-legal{
  position:relative;
  z-index:1;
  border-top:1px solid rgba(220,239,243,.14);
  background:rgba(11,36,41,.55);
}
.footer-legal__inner{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.6rem 1.6rem;
  padding:1.1rem 0;
  font-size:12px;
  letter-spacing:.06em;
  color:rgba(220,239,243,.72);
}
.footer-legal__icp{color:var(--sand-mid);}
.footer-legal__copy{max-width:none;}

/* ---------- 15. 响应式 ---------- */
@media (max-width:1080px){
  .brand-sub{display:none;}
  .site-nav__list a{padding:.55rem .5rem;font-size:.9rem;}
}

@media (max-width:960px){
  :root{--header-h:64px;}
  html{scroll-padding-top:90px;}
  body{padding-bottom:calc(58px + env(safe-area-inset-bottom));}

  .nav-toggle{display:block;margin-inline-start:auto;}
  .header-shell{padding:.85rem 0;}
  .site-header[data-scrolled="true"] .header-shell{padding:.5rem 0;}

  .site-nav{
    position:fixed;
    top:0;right:0;bottom:0;
    z-index:3;
    width:min(360px,88vw);
    flex-direction:column;
    align-items:stretch;
    gap:0;
    margin-inline-start:0;
    padding:5.5rem 1.4rem 2.5rem;
    background:linear-gradient(180deg,var(--ink-deep) 0%,var(--teal) 62%,var(--ink-deep) 100%);
    box-shadow:-22px 0 48px rgba(11,36,41,.45);
    transform:translateX(103%);
    transition:transform .34s cubic-bezier(.2,.8,.3,1);
    overflow-y:auto;
  }
  .site-header[data-open="true"] .site-nav{transform:none;}

  .site-nav__list{
    flex-direction:column;
    align-items:stretch;
    gap:0;
  }
  .site-nav__list li + li{border-top:1px solid rgba(220,239,243,.12);}
  .site-nav__list a{
    padding:.95rem .4rem;
    font-size:1.05rem;
    border-radius:0;
  }
  .site-nav__list a::after{left:.4rem;right:.4rem;bottom:.4rem;}

  .site-nav__actions{margin-top:1.6rem;flex-direction:column;align-items:stretch;}
  .site-nav__actions .btn{width:100%;padding:.85rem 1rem;}

  .quick-dock{display:grid;}
  .to-top{bottom:calc(72px + env(safe-area-inset-bottom));}

  .footer-shell{grid-template-columns:minmax(0,1fr);}
  .footer-cols{grid-template-columns:repeat(2,minmax(0,1fr));}
  .footer-col--contact{grid-column:1 / -1;}

  .grid--2,.grid--3,.grid--4{grid-template-columns:minmax(0,1fr);}
  .media-frame--overlap{margin-block:1.2rem;}
}

@media (max-width:520px){
  body{font-size:16px;}
  .footer-cols{grid-template-columns:minmax(0,1fr);}
  .brand-mark{width:36px;height:36px;font-size:1.2rem;}
  .brand-name{font-size:.98rem;}
  .footer-legal__inner{flex-direction:column;align-items:flex-start;gap:.5rem;}
}

/* 超宽屏：赛程轴与内容并置 */
@media (min-width:1360px){
  .header-rail{display:flex;}
}
@media (min-width:1600px){
  :root{--shell:1320px;}
  .header-rail{left:2.5rem;}
}

/* ---------- 16. 打印与减弱动效 ---------- */
@media print{
  .site-header,.quick-dock,.to-top,.header-rail,.skip-link{display:none !important;}
  body{background:#fff;}
  .site-footer{background:#fff;color:#000;}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
    transition-delay:0ms !important;
  }
  .reveal,[data-reveal]{opacity:1;transform:none;}
  .media-frame:hover .media-frame__img{transform:none;}
  .btn:hover{transform:none;}
}
