/* ============================================================
   杏运体育 / assets/site.css
   共享层：reset、变量、中文排版、页头、页脚、基础组件
   ============================================================ */

:root{
  /* 品牌色 */
  --ink-900:#10231C;
  --ink-700:#1D3B2F;
  --green-500:#3E7A5E;
  --apricot-500:#E8752A;
  --apricot-200:#F7C79B;
  --amber-700:#8F5300;
  --amber-400:#D9903A;
  --paper-50:#FBF6EE;
  --paper-100:#F2E9DA;
  --rule:#C9BFB0;
  --text:#1F2A24;
  --warn:#8C3B12;

  /* 字体栈 */
  --font-display:"Noto Sans SC","Source Han Sans SC","PingFang SC","Hiragino Sans GB","Microsoft YaHei",system-ui,sans-serif;
  --font-serif:"Noto Serif SC","Source Han Serif SC","Songti SC","STSong",Georgia,"Times New Roman",serif;
  --font-body:"Noto Sans SC","PingFang SC","Hiragino Sans GB","Microsoft YaHei",system-ui,sans-serif;
  --font-mono:"Roboto Mono","IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,"Courier New",monospace;

  /* 字号级 */
  --fs-12:0.75rem;
  --fs-14:0.875rem;
  --fs-16:1rem;
  --fs-20:1.25rem;
  --fs-28:1.75rem;
  --fs-40:2.5rem;
  --fs-56:3.5rem;

  /* 结构 */
  --shell:1320px;
  --gutter:clamp(16px,3.2vw,44px);
  --top-h:72px;
  --rail-h:58px;
  --grid-cell:24px;
  --slant:8deg;
}

/* ---------- reset ---------- */
*,*::before,*::after{box-sizing:border-box;}

html{
  font-size:100%;
  -webkit-text-size-adjust:100%;
  scroll-behavior:smooth;
  scroll-padding-top:calc(var(--rail-h) + 16px);
}
html[data-fontsize="md"]{font-size:100%;}
html[data-fontsize="lg"]{font-size:112.5%;}

body{
  margin:0;
  font-family:var(--font-body);
  font-size:var(--fs-16);
  line-height:1.75;
  color:var(--text);
  background-color:var(--paper-50);
  background-image:
    linear-gradient(to right, rgba(201,191,176,0.22) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(201,191,176,0.22) 1px, transparent 1px);
  background-size:var(--grid-cell) var(--grid-cell);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

h1,h2,h3,h4,h5,p,figure,blockquote,dl,dd{margin:0;}
ul,ol{margin:0;padding:0;list-style:none;}
img,svg,video{display:block;max-width:100%;height:auto;}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:3px;}
button{font:inherit;color:inherit;}
table{border-collapse:collapse;}
th,td{text-align:left;}

::selection{background:var(--apricot-200);color:var(--ink-900);}

:focus-visible{
  outline:2px solid var(--apricot-500);
  outline-offset:3px;
}

/* ---------- 布局工具 ---------- */
.shell{
  width:100%;
  max-width:var(--shell);
  margin-inline:auto;
  padding-inline:var(--gutter);
}

.section{
  padding-block:clamp(40px,6vw,88px);
}

.hairline{
  border:0;
  border-top:1px solid var(--rule);
  margin:clamp(20px,3vw,36px) 0;
}

.slant-band{
  height:clamp(14px,2vw,26px);
  background:var(--apricot-500);
  clip-path:polygon(0 0,100% 0,100% 55%,0 100%);
}

/* ---------- 章节头 ---------- */
.section-head{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:0.55rem 1.15rem;
  padding-bottom:0.85rem;
  margin-bottom:clamp(20px,3vw,36px);
  border-bottom:1px solid var(--rule);
}
.section-head__num{
  font-family:var(--font-mono);
  font-size:var(--fs-12);
  letter-spacing:0.14em;
  color:var(--apricot-500);
  flex:none;
}
.section-head__title{
  font-family:var(--font-serif);
  font-weight:600;
  font-size:clamp(1.2rem,2.1vw,1.7rem);
  line-height:1.35;
  letter-spacing:0.01em;
  color:var(--ink-900);
}
.section-head__note{
  margin-left:auto;
  font-family:var(--font-body);
  font-style:italic;
  font-size:var(--fs-12);
  color:var(--amber-700);
  text-decoration:underline;
  text-decoration-color:var(--amber-400);
  text-decoration-thickness:1px;
  text-underline-offset:4px;
}

/* ---------- 小标签 ---------- */
.eyebrow{
  display:inline-block;
  font-family:var(--font-mono);
  font-size:var(--fs-12);
  font-weight:500;
  letter-spacing:0.18em;
  color:var(--amber-700);
}

/* ---------- 按钮 ---------- */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:0.5rem;
  padding:0.72rem 1.2rem;
  border:1px solid transparent;
  background:none;
  font-family:var(--font-body);
  font-size:var(--fs-14);
  font-weight:600;
  letter-spacing:0.02em;
  line-height:1.2;
  color:var(--ink-900);
  text-decoration:none;
  cursor:pointer;
  transition:background-color .18s ease-out,color .18s ease-out,border-color .18s ease-out;
}
.btn--primary{
  background:var(--apricot-500);
  border-color:var(--apricot-500);
  color:var(--ink-900);
}
.btn--primary:hover{background:var(--apricot-200);border-color:var(--apricot-200);}
.btn--ghost{
  background:transparent;
  border-color:var(--ink-700);
  color:var(--ink-700);
}
.btn--ghost:hover{background:var(--ink-900);border-color:var(--ink-900);color:var(--paper-50);}
.btn--quiet{
  border-color:var(--rule);
  color:var(--amber-700);
  background:var(--paper-50);
}
.btn--quiet:hover{border-color:var(--apricot-500);background:var(--apricot-200);color:var(--ink-900);}

/* ---------- 状态标签 ---------- */
.tag{
  display:inline-flex;
  align-items:center;
  gap:0.35rem;
  padding:0.16rem 0.5rem;
  font-family:var(--font-mono);
  font-size:var(--fs-12);
  font-weight:500;
  letter-spacing:0.06em;
  line-height:1.6;
  border:1px solid var(--amber-400);
  background:var(--paper-50);
  color:var(--amber-700);
}
.tag--amber{background:var(--amber-700);border-color:var(--amber-700);color:var(--paper-50);}
.tag--green{background:var(--green-500);border-color:var(--green-500);color:var(--paper-50);}
.tag--warn{border-color:var(--warn);color:var(--warn);background:rgba(140,59,18,0.08);}

/* ---------- 面包屑 ---------- */
.breadcrumb{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:0.35rem 0.55rem;
  font-family:var(--font-mono);
  font-size:var(--fs-12);
  letter-spacing:0.03em;
  color:var(--amber-700);
}
.breadcrumb a{
  color:var(--ink-700);
  text-decoration:none;
  border-bottom:1px solid var(--amber-400);
}
.breadcrumb a:hover{color:var(--apricot-500);border-bottom-color:var(--apricot-500);}
.breadcrumb__sep{color:var(--rule);}
.breadcrumb [aria-current="page"]{color:var(--amber-700);}

/* ---------- 正文容器 ---------- */
.prose{
  max-width:38em;
  font-size:var(--fs-16);
  line-height:1.75;
  color:var(--text);
}
.prose > * + *{margin-top:1.1em;}
.prose h2,.prose h3{
  font-family:var(--font-serif);
  font-weight:600;
  letter-spacing:0.01em;
  color:var(--ink-900);
  line-height:1.4;
}
.prose h2{font-size:var(--fs-28);margin-top:1.9em;}
.prose h3{font-size:var(--fs-20);margin-top:1.6em;}
.prose a{
  color:var(--amber-700);
  text-decoration-color:var(--amber-400);
  text-underline-offset:4px;
}
.prose a:hover{color:var(--apricot-500);text-decoration-color:var(--apricot-500);}
.prose strong{color:var(--ink-900);font-weight:600;}
.prose ul,.prose ol{padding-left:1.15em;}
.prose ul{list-style:none;}
.prose ul > li{position:relative;padding-left:1.05em;}
.prose ul > li::before{
  content:"";
  position:absolute;
  left:0;
  top:0.68em;
  width:7px;
  height:7px;
  background:var(--apricot-500);
  clip-path:polygon(0 0,100% 0,100% 70%,70% 100%,0 100%);
}
.prose ol{list-style:decimal;font-variant-numeric:tabular-nums;}
.prose blockquote{
  border-left:3px solid var(--apricot-500);
  padding-left:1.1em;
  font-family:var(--font-serif);
  color:var(--ink-700);
}

/* ---------- 图片容器基础规则 ---------- */
.media{
  position:relative;
  display:block;
  background:var(--paper-100);
  border:1px solid var(--rule);
  margin:0;
}
.media__frame{
  position:relative;
  overflow:hidden;
  aspect-ratio:16 / 9;
  background-color:var(--paper-100);
  background-image:repeating-linear-gradient(
    135deg,
    rgba(232,117,42,0.14) 0 10px,
    transparent 10px 20px
  );
}
.media--wide .media__frame{aspect-ratio:21 / 9;}
.media--tall .media__frame{aspect-ratio:4 / 5;}
.media__img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.media__overlay{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  display:flex;
  flex-wrap:wrap;
  gap:0.35rem 1.1rem;
  padding:0.55rem 0.8rem;
  background:rgba(232,117,42,0.84);
  color:var(--ink-900);
  font-family:var(--font-mono);
  font-size:var(--fs-12);
  letter-spacing:0.03em;
}
.media__caption{
  display:inline-block;
  margin-top:0.55rem;
  padding-bottom:2px;
  font-size:var(--fs-12);
  font-style:italic;
  color:var(--amber-700);
  border-bottom:1px solid var(--amber-400);
}

/* ---------- 卡片 ---------- */
.card{
  position:relative;
  background:var(--paper-50);
  border:1px solid var(--rule);
  padding:clamp(16px,2.2vw,26px);
  transition:border-color .18s ease-out,box-shadow .18s ease-out;
}
.card:hover{border-color:var(--ink-700);box-shadow:6px 6px 0 -2px rgba(232,117,42,0.22);}
.card__num{
  display:block;
  font-family:var(--font-mono);
  font-size:var(--fs-12);
  letter-spacing:0.14em;
  color:var(--apricot-500);
  margin-bottom:0.6rem;
}
.card__title{
  font-family:var(--font-serif);
  font-weight:600;
  font-size:var(--fs-20);
  line-height:1.4;
  letter-spacing:0.01em;
  color:var(--ink-900);
  margin-bottom:0.5rem;
}
.card__body{
  font-size:var(--fs-14);
  line-height:1.75;
  color:var(--text);
  max-width:36em;
}

/* ---------- 对照矩阵表 ---------- */
.matrix{
  width:100%;
  border-collapse:collapse;
  font-size:var(--fs-14);
  font-variant-numeric:tabular-nums;
  background:var(--paper-50);
}
.matrix caption{
  caption-side:top;
  text-align:left;
  padding-bottom:0.55rem;
  font-family:var(--font-mono);
  font-size:var(--fs-12);
  letter-spacing:0.08em;
  color:var(--amber-700);
}
.matrix th,
.matrix td{
  padding:0.62rem 0.7rem;
  border-bottom:1px solid var(--rule);
  vertical-align:middle;
}
.matrix thead th{
  position:sticky;
  top:0;
  z-index:2;
  background:var(--ink-700);
  color:var(--paper-50);
  font-family:var(--font-mono);
  font-size:var(--fs-12);
  font-weight:500;
  letter-spacing:0.06em;
  border-bottom:1px solid var(--ink-900);
}
.matrix tbody th{
  font-weight:600;
  color:var(--ink-900);
  white-space:nowrap;
}
.matrix tbody tr:nth-child(even){background:var(--paper-100);}
.matrix tbody tr{transition:background-color .16s ease-out;}
.matrix tbody tr:hover{background:var(--apricot-200);}
.matrix tbody tr:hover th{box-shadow:inset 2px 0 0 var(--apricot-500);}
.matrix .num{
  font-family:var(--font-mono);
  text-align:right;
  font-variant-numeric:tabular-nums;
}
.matrix .up{color:var(--green-500);font-weight:600;}
.matrix .down{color:var(--warn);font-weight:600;}

/* ============================================================
   页头
   ============================================================ */
.site-header{
  position:sticky;
  top:0;
  z-index:80;
}

.scroll-progress{
  position:fixed;
  top:0;
  left:0;
  width:100%;
  height:3px;
  background:linear-gradient(90deg,var(--apricot-500),var(--amber-400));
  transform:scaleX(0);
  transform-origin:0 50%;
  z-index:200;
  pointer-events:none;
  transition:transform .12s linear;
}

.skip-link{
  position:absolute;
  left:12px;
  top:-120px;
  z-index:400;
  padding:0.65rem 1.05rem;
  background:var(--apricot-500);
  color:var(--ink-900);
  font-family:var(--font-body);
  font-size:var(--fs-14);
  font-weight:600;
  text-decoration:none;
  transition:top .18s ease-out;
}
.skip-link:focus{top:12px;}

/* --- 上层：品牌说明与数据版本 --- */
.header-top{
  overflow:hidden;
  max-height:180px;
  background:var(--ink-900);
  color:var(--paper-50);
  transition:max-height .28s ease-out,opacity .2s ease-out;
}
.site-header[data-compact="true"] .header-top{
  max-height:0;
  opacity:0;
}
.header-top__inner{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:clamp(16px,3vw,44px);
  min-height:var(--top-h);
  padding-block:12px;
}

.brand{
  display:inline-flex;
  align-items:center;
  gap:0.7rem;
  text-decoration:none;
  color:var(--paper-50);
  flex:none;
}
.brand__mark{
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  flex:none;
  background:var(--apricot-500);
  color:var(--ink-900);
  font-family:var(--font-display);
  font-size:19px;
  font-weight:900;
  line-height:1;
  clip-path:polygon(0 0,100% 0,100% 76%,82% 100%,0 100%);
}
.brand__text{display:grid;gap:2px;}
.brand__name{
  font-family:var(--font-display);
  font-size:var(--fs-16);
  font-weight:800;
  letter-spacing:-0.01em;
  line-height:1.25;
  color:var(--paper-50);
}
.brand__line{
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:0.24em;
  line-height:1.3;
  color:var(--apricot-200);
}

.brand-note{
  max-width:28em;
  margin:0;
  padding-left:clamp(12px,2vw,22px);
  border-left:1px solid rgba(232,117,42,0.55);
  font-family:var(--font-serif);
  font-size:var(--fs-14);
  line-height:1.6;
  letter-spacing:0.01em;
  color:rgba(251,246,238,0.74);
}

.header-meta{
  display:flex;
  align-items:center;
  gap:0.55rem;
  white-space:nowrap;
  font-family:var(--font-mono);
  font-size:var(--fs-12);
  letter-spacing:0.04em;
}
.header-meta__label{color:var(--apricot-200);}
.header-meta__value{
  color:var(--paper-50);
  font-variant-numeric:tabular-nums;
}
.header-meta__pipe{
  width:1px;
  height:12px;
  background:rgba(251,246,238,0.34);
}
.header-meta__mode{color:rgba(251,246,238,0.55);}

/* --- 下层：常驻栏目轨道 --- */
.header-rail{
  position:relative;
  background:var(--paper-100);
  border-bottom:1px solid var(--rule);
}
.header-rail::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:clamp(72px,12vw,168px);
  height:3px;
  background:var(--apricot-500);
}
.header-rail__inner{
  display:flex;
  align-items:stretch;
  gap:clamp(8px,2vw,28px);
  min-height:var(--rail-h);
}

.site-nav{flex:1 1 auto;min-width:0;}

.nav-list{
  display:flex;
  align-items:stretch;
  gap:clamp(4px,1.7vw,24px);
  height:100%;
}
.nav-item{display:flex;}

.nav-link{
  display:flex;
  align-items:center;
  gap:0.42rem;
  padding:0.9rem 2px;
  border-bottom:2px solid transparent;
  font-family:var(--font-body);
  font-size:var(--fs-14);
  font-weight:600;
  letter-spacing:0.01em;
  line-height:1.2;
  color:var(--ink-700);
  text-decoration:none;
  white-space:nowrap;
  transition:color .18s ease-out,border-color .18s ease-out,background-color .18s ease-out;
}
.nav-link__num{
  font-family:var(--font-mono);
  font-size:11px;
  font-weight:500;
  letter-spacing:0.04em;
  color:var(--amber-700);
  transition:color .18s ease-out;
}
.nav-link:hover{
  color:var(--ink-900);
  border-bottom-color:var(--apricot-200);
}
.nav-link:hover .nav-link__num{color:var(--apricot-500);}
.nav-link[aria-current="page"]{
  color:var(--ink-900);
  border-bottom-color:var(--apricot-500);
}
.nav-link[aria-current="page"] .nav-link__num{color:var(--apricot-500);}

/* --- 工具条 --- */
.utility-bar{
  display:flex;
  align-items:center;
  gap:0.25rem;
  margin-left:auto;
  padding-left:clamp(8px,1.6vw,18px);
  border-left:1px solid var(--rule);
  flex:none;
}
.utility-bar__label{
  margin-right:0.3rem;
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:0.14em;
  color:var(--amber-700);
}
.utility-btn{
  padding:0.26rem 0.5rem;
  border:1px solid transparent;
  background:transparent;
  font-family:var(--font-mono);
  font-size:var(--fs-12);
  letter-spacing:0.04em;
  line-height:1.5;
  color:var(--ink-700);
  cursor:pointer;
  transition:background-color .18s ease-out,color .18s ease-out,border-color .18s ease-out;
}
.utility-btn:hover{
  background:var(--apricot-200);
  border-color:var(--apricot-500);
  color:var(--ink-900);
}
.utility-btn--print{
  border-color:var(--rule);
  background:var(--paper-50);
}

/* --- 移动导航按钮 --- */
.nav-toggle{
  display:none;
  align-items:center;
  gap:0.55rem;
  align-self:center;
  padding:0.58rem 0.8rem;
  border:1px solid var(--ink-900);
  background:var(--ink-900);
  color:var(--paper-50);
  font-size:var(--fs-12);
  font-weight:600;
  letter-spacing:0.16em;
  line-height:1;
  cursor:pointer;
  flex:none;
  transition:background-color .18s ease-out,border-color .18s ease-out;
}
.nav-toggle:hover{background:var(--ink-700);border-color:var(--ink-700);}
.nav-toggle__bars{display:grid;gap:3px;width:16px;}
.nav-toggle__bars span{display:block;height:2px;background:currentColor;}
.site-header[data-open="true"] .nav-toggle{
  background:var(--apricot-500);
  border-color:var(--apricot-500);
  color:var(--ink-900);
}
.site-header[data-open="true"] .nav-toggle__bars span:nth-child(2){opacity:0;}
.nav-toggle__text{white-space:nowrap;}

/* ============================================================
   页脚
   ============================================================ */
.site-footer{
  position:relative;
  margin-top:clamp(56px,9vw,112px);
  padding:clamp(52px,7vw,88px) 0 32px;
  background:var(--ink-900);
  color:var(--paper-50);
}
.site-footer::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:clamp(14px,2vw,24px);
  background:var(--apricot-500);
  clip-path:polygon(0 0,100% 0,100% 42%,0 100%);
  pointer-events:none;
}

.footer-top{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1.65fr);
  gap:clamp(28px,5vw,72px);
  padding-bottom:clamp(26px,4vw,46px);
  border-bottom:1px solid rgba(201,191,176,0.26);
}

.footer-kicker{
  margin-bottom:0.9rem;
  font-family:var(--font-mono);
  font-size:var(--fs-12);
  letter-spacing:0.2em;
  color:var(--apricot-200);
}
.footer-pitch{
  max-width:19em;
  margin-bottom:1.4rem;
  font-family:var(--font-serif);
  font-size:clamp(1.12rem,2vw,1.5rem);
  font-weight:600;
  line-height:1.5;
  letter-spacing:0.01em;
  color:var(--paper-50);
}
.footer-cta{margin-bottom:0.2rem;}

.footer-cols{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(18px,3vw,40px);
}
.footer-col__title{
  margin-bottom:0.85rem;
  padding-bottom:0.6rem;
  border-bottom:1px solid rgba(232,117,42,0.42);
  font-family:var(--font-mono);
  font-size:var(--fs-12);
  font-weight:500;
  letter-spacing:0.14em;
  color:var(--apricot-200);
}
.footer-links{display:grid;gap:0.55rem;}
.footer-link{
  display:inline-block;
  padding-bottom:1px;
  border-bottom:1px solid transparent;
  font-size:var(--fs-14);
  line-height:1.6;
  color:rgba(251,246,238,0.78);
  text-decoration:none;
  transition:color .18s ease-out,border-color .18s ease-out;
}
.footer-link:hover{
  color:var(--paper-50);
  border-bottom-color:var(--apricot-500);
}

.footer-bottom{
  display:grid;
  gap:0.7rem;
  padding-top:clamp(22px,3vw,34px);
}
.footer-contact{
  font-family:var(--font-mono);
  font-size:var(--fs-14);
  line-height:1.9;
  letter-spacing:0.01em;
  color:rgba(251,246,238,0.9);
}
.footer-note{
  max-width:56em;
  font-size:var(--fs-12);
  font-style:italic;
  line-height:1.8;
  color:rgba(251,246,238,0.6);
  text-decoration:underline;
  text-decoration-color:var(--amber-400);
  text-decoration-thickness:1px;
  text-underline-offset:4px;
}
.footer-legal-row{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:0.45rem 1.5rem;
  margin-top:0.4rem;
  padding-top:0.95rem;
  border-top:1px solid rgba(201,191,176,0.22);
  font-family:var(--font-mono);
  font-size:var(--fs-12);
  letter-spacing:0.03em;
  color:rgba(251,246,238,0.55);
}
.footer-legal{
  display:inline-flex;
  align-items:center;
  gap:0.45rem;
  color:rgba(251,246,238,0.75);
}
.footer-legal::before{
  content:"";
  width:7px;
  height:7px;
  background:var(--apricot-500);
  clip-path:polygon(0 0,100% 0,100% 70%,70% 100%,0 100%);
}
.footer-copy{color:rgba(251,246,238,0.55);}

/* ============================================================
   响应式
   ============================================================ */
@media (max-width:1080px){
  .brand-note{font-size:var(--fs-12);}
  .utility-btn--print{display:none;}
}

@media (max-width:920px){
  :root{
    --top-h:60px;
    --rail-h:54px;
  }
  .header-top__inner{
    grid-template-columns:minmax(0,1fr) auto;
    row-gap:8px;
    padding-block:10px;
  }
  .brand-note{
    grid-column:1 / -1;
    max-width:none;
    padding-left:0;
    border-left:0;
    font-size:var(--fs-12);
    line-height:1.55;
  }
  .header-meta{font-size:11px;gap:0.4rem;}
  .header-meta__mode{display:none;}

  .header-rail__inner{gap:10px;}
  .nav-toggle{display:inline-flex;}

  .site-nav{
    display:none;
    position:absolute;
    left:0;
    right:0;
    top:100%;
    padding:0.4rem var(--gutter) 1rem;
    background:var(--paper-100);
    border-bottom:3px solid var(--apricot-500);
    box-shadow:0 24px 36px -26px rgba(16,35,28,0.7);
    max-height:calc(100vh - var(--rail-h) - 12px);
    overflow-y:auto;
  }
  .site-header[data-open="true"] .site-nav{display:block;}

  .nav-list{flex-direction:column;gap:0;}
  .nav-item{border-bottom:1px solid var(--rule);}
  .nav-item:last-child{border-bottom:0;}
  .nav-link{
    padding:0.85rem 0.3rem;
    font-size:var(--fs-16);
    border-bottom:0;
  }
  .nav-link:hover{background:rgba(232,117,42,0.12);}
  .nav-link[aria-current="page"]{
    background:rgba(232,117,42,0.14);
    box-shadow:inset 3px 0 0 var(--apricot-500);
    border-bottom:0;
  }

  .utility-bar{padding-left:8px;gap:0.15rem;}
  .utility-bar__label{display:none;}

  .footer-top{grid-template-columns:minmax(0,1fr);}
  .footer-pitch{max-width:24em;}
}

@media (max-width:640px){
  :root{
    --fs-28:1.45rem;
    --fs-40:2rem;
    --fs-56:2.6rem;
  }
  .nav-link__num{font-size:10px;}
  .footer-cols{grid-template-columns:minmax(0,1fr);gap:1.4rem;}
  .footer-col__title{margin-bottom:0.6rem;}
  .footer-legal-row{flex-direction:column;align-items:flex-start;}
  .section-head__note{margin-left:0;width:100%;}
  .utility-btn{padding:0.24rem 0.4rem;}
}

/* ============================================================
   动效降级与打印
   ============================================================ */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *,
  *::before,
  *::after{
    animation-duration:0.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:0.001ms !important;
    scroll-behavior:auto !important;
  }
  .card:hover{box-shadow:none;}
}

@media print{
  .site-header .header-top,
  .scroll-progress,
  .nav-toggle,
  .utility-bar,
  .skip-link{display:none !important;}
  body{background:#fff;background-image:none;color:#000;}
  .site-header{position:static;}
  .site-footer{margin-top:24px;padding-top:24px;background:#fff;color:#000;}
  .site-footer::before{display:none;}
  .footer-link,.footer-contact,.footer-note,.footer-copy,.footer-legal{color:#000;}
  .matrix thead th{background:#eee;color:#000;}
}
