*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--quick-h,46px) + 20px);}
body,h1,h2,h3,h4,h5,p,ul,ol,figure,blockquote,dl,dd,fieldset{margin:0;}
ul,ol{padding:0;list-style:none;}
img,svg,picture,video{display:block;max-width:100%;}
a{color:inherit;text-decoration:none;}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;}
table{border-collapse:collapse;width:100%;}
:focus-visible{outline:2px solid var(--lava);outline-offset:2px;border-radius:2px;}

:root{
  --teal:#0E7C7B;
  --lake:#1B6CA8;
  --lava:#FF6B35;
  --sand:#D9A441;
  --ink:#0F1E24;
  --indigo:#16255B;
  --mist:#DCEDEA;
  --paper:#F6F3EC;
  --clay:#8C2F39;
  --slate:#5A6B72;

  --rail-w:124px;
  --quick-h:46px;
  --m-bar:60px;
  --m-quick:40px;
  --pad:clamp(18px,4vw,56px);

  --font-sans:"PingFang SC","Hiragino Sans GB","Source Han Sans SC","Noto Sans SC","Microsoft YaHei",system-ui,-apple-system,"Segoe UI",sans-serif;
  --font-mono:"SF Mono","JetBrains Mono","Source Han Mono",ui-monospace,"Cascadia Mono",Menlo,Consolas,monospace;

  --fs-xs:11px;
  --fs-sm:13px;
  --fs-base:17px;
  --fs-md:22px;
  --fs-lg:32px;
  --fs-xl:56px;
  --fs-2xl:88px;
}

body{
  font-family:var(--font-sans);
  font-size:var(--fs-base);
  line-height:1.85;
  color:var(--ink);
  background:var(--paper);
  padding-left:var(--rail-w);
  padding-top:var(--quick-h);
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

h1,h2,h3,h4{line-height:1.16;letter-spacing:-.01em;font-weight:800;}
strong{font-weight:700;}
#main-content{display:block;scroll-margin-top:calc(var(--quick-h) + 16px);}

/* ---------- 工具与基础组件 ---------- */
.wrap{width:100%;max-width:1240px;margin-inline:auto;padding-inline:var(--pad);}
.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}

.section{padding-block:clamp(46px,7vw,96px);}
.section--tight{padding-block:clamp(26px,4vw,48px);}
.section--ink{background:var(--ink);color:var(--paper);}
.section--mist{background:var(--mist);}
.section--indigo{background:var(--indigo);color:var(--paper);}

.index-label{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--font-mono);
  font-size:var(--fs-xs);
  letter-spacing:.28em;text-transform:uppercase;
  color:var(--slate);line-height:1.2;
}
.index-label::before{content:"";width:22px;height:2px;background:var(--lava);flex:none;}
.index-label--teal::before{background:var(--teal);}
.section--ink .index-label,.section--indigo .index-label{color:rgba(246,243,236,.66);}

.titan{
  font-size:clamp(2.4rem,6vw,5.5rem);
  font-weight:900;letter-spacing:-.03em;line-height:.96;
  color:var(--ink);text-wrap:balance;
}
.titan--light{font-weight:200;letter-spacing:-.02em;}
.titan em{font-style:normal;color:var(--teal);}
.section--ink .titan,.section--indigo .titan{color:var(--paper);}

.lede{font-size:clamp(1.02rem,1.6vw,1.24rem);line-height:1.75;color:var(--slate);max-width:56ch;}
.section--ink .lede,.section--indigo .lede{color:rgba(246,243,236,.76);}

.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;letter-spacing:.02em;}
.note{font-size:12.5px;line-height:1.72;color:var(--slate);letter-spacing:.02em;}
.note--mono{font-family:var(--font-mono);font-size:12px;}

.grid{display:grid;gap:clamp(18px,3vw,34px);}
.grid--2{grid-template-columns:repeat(2,minmax(0,1fr));}
.grid--3{grid-template-columns:repeat(3,minmax(0,1fr));}
.grid--sidebar{grid-template-columns:minmax(0,168px) minmax(0,1fr);}

.panel{background:#fff;border:1px solid rgba(15,30,36,.1);border-radius:18px 4px 18px 4px;padding:clamp(18px,2.4vw,28px);}
.panel--mist{background:var(--mist);border-color:transparent;}
.panel--ink{background:var(--ink);color:var(--paper);border-color:transparent;}
.panel--ink .note{color:rgba(246,243,236,.64);}

.chip{
  display:inline-flex;align-items:center;gap:6px;
  padding:4px 11px;border-radius:999px;
  font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;
  background:var(--mist);color:var(--teal);line-height:1.6;
}
.chip--lava{background:rgba(255,107,53,.18);color:#9C3A12;}
.chip--sand{background:rgba(217,164,65,.24);color:#6B4C0C;}

.rule{height:1px;border:0;background:rgba(15,30,36,.12);margin-block:clamp(20px,3vw,36px);}
.section--ink .rule,.section--indigo .rule{background:rgba(246,243,236,.18);}

.media{
  position:relative;overflow:hidden;
  background:linear-gradient(135deg,var(--mist),#EDF3F1);
  border-radius:26px 6px 26px 6px;
  isolation:isolate;
}
.media img,.media picture img,.media svg,.media video{display:block;width:100%;height:100%;object-fit:cover;}
.media--wide{aspect-ratio:21/9;}
.media--16x9{aspect-ratio:16/9;}
.media--4x3{aspect-ratio:4/3;}
.media--1x1{aspect-ratio:1/1;}
.media--tall{aspect-ratio:3/4;}
.media__grid{
  position:absolute;inset:0;pointer-events:none;opacity:.55;z-index:1;
  background-image:
    linear-gradient(rgba(27,108,168,.16) 1px,transparent 1px),
    linear-gradient(90deg,rgba(27,108,168,.16) 1px,transparent 1px);
  background-size:44px 44px;
}
.media__caption{
  position:absolute;left:0;bottom:0;z-index:2;
  padding:8px 14px;
  font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;
  color:var(--paper);background:rgba(15,30,36,.72);
  border-radius:0 10px 0 0;
}
.blob{
  position:absolute;pointer-events:none;z-index:0;
  border-radius:58% 42% 36% 64% / 48% 56% 44% 52%;
  opacity:.16;
}

.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.6em;
  padding:.92em 1.5em;
  font-size:13.5px;font-weight:700;letter-spacing:.08em;line-height:1;
  border:1px solid transparent;border-radius:2px;
  transition:transform .2s ease,background-color .2s ease,color .2s ease,border-color .2s ease;
}
.btn:hover{transform:translateY(-1px);}
.btn__arrow{font-family:var(--font-mono);font-size:12px;}
.btn--lava{background:var(--lava);color:var(--ink);}
.btn--lava:hover{background:#FF8355;}
.btn--teal{background:var(--teal);color:var(--paper);}
.btn--teal:hover{background:#0F8E8C;}
.btn--ghost{border-color:rgba(15,30,36,.34);color:var(--ink);}
.btn--ghost:hover{background:var(--ink);color:var(--paper);border-color:var(--ink);}
.section--ink .btn--ghost,.section--indigo .btn--ghost{border-color:rgba(246,243,236,.4);color:var(--paper);}
.section--ink .btn--ghost:hover,.section--indigo .btn--ghost:hover{background:var(--paper);color:var(--ink);}

.breadcrumbs{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;letter-spacing:.06em;color:var(--slate);}
.breadcrumbs a{color:var(--lake);transition:color .2s ease;}
.breadcrumbs a:hover{color:var(--lava);}
.breadcrumbs__sep{color:rgba(15,30,36,.3);}
.breadcrumbs [aria-current="page"]{color:var(--ink);font-weight:600;}

.page-head{padding-block:clamp(26px,4vw,52px) 0;}

/* ---------- 跳转链接 ---------- */
.skip-link{
  position:fixed;top:10px;left:10px;z-index:300;
  transform:translateY(-180%);
  padding:10px 18px;
  background:var(--lava);color:var(--ink);
  font-size:13px;font-weight:700;letter-spacing:.08em;
  border-radius:3px;
  transition:transform .2s ease;
}
.skip-link:focus{transform:translateY(0);}

/* ---------- 头部 ---------- */
.site-header{
  position:fixed;top:0;left:0;bottom:0;width:var(--rail-w);
  z-index:120;display:flex;
}
.rail{
  position:relative;
  display:flex;flex-direction:column;
  width:100%;height:100%;
  background:var(--ink);color:var(--paper);
  border-right:1px solid rgba(246,243,236,.12);
}
.rail::after{
  content:"";position:absolute;top:0;right:0;bottom:0;width:3px;
  background:linear-gradient(180deg,var(--teal) 0%,var(--lake) 46%,var(--lava) 100%);
}

.rail__brand{
  display:flex;flex-direction:column;gap:.4rem;
  padding:22px 16px 20px;
  border-bottom:1px solid rgba(246,243,236,.14);
  transition:background-color .25s ease;
}
.rail__brand:hover{background:rgba(246,243,236,.06);}
.rail__mark{
  font-family:var(--font-mono);font-size:15px;font-weight:700;
  letter-spacing:.16em;color:var(--paper);line-height:1;
}
.rail__mark::after{content:"";display:block;width:22px;height:3px;background:var(--lava);margin-top:9px;}
.rail__brand-cn{font-size:11px;letter-spacing:.26em;color:rgba(246,243,236,.6);line-height:1.4;}

.rail__season{
  display:flex;flex-direction:column;align-items:center;gap:9px;
  padding:18px 6px 20px;
  border-bottom:1px solid rgba(246,243,236,.14);
  flex:0 1 auto;
}
.rail__season-label{
  writing-mode:vertical-rl;text-orientation:upright;
  font-size:10px;letter-spacing:.32em;color:rgba(246,243,236,.52);line-height:1;
}
.rail__season-value{
  writing-mode:vertical-rl;text-orientation:upright;
  font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;color:var(--sand);line-height:1;
}
.rail__chapter{
  writing-mode:vertical-rl;text-orientation:upright;
  display:flex;align-items:center;gap:7px;
  font-size:10px;letter-spacing:.2em;color:rgba(246,243,236,.46);line-height:1;
}
.rail__chapter-num{font-family:var(--font-mono);font-size:13px;font-weight:600;color:var(--lava);}

.rail__nav{flex:1 1 auto;overflow-y:auto;padding:12px 0 20px;}
.rail__list{display:flex;flex-direction:column;}
.rail__item{display:block;}
.rail__link{
  position:relative;
  display:flex;flex-direction:column;gap:2px;
  padding:11px 12px 11px 14px;
  border-left:3px solid transparent;
  transition:background-color .25s ease,border-color .25s ease;
}
.rail__num{
  font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;
  color:rgba(246,243,236,.42);line-height:1.4;
  transition:color .25s ease;
}
.rail__text{
  font-size:12.5px;letter-spacing:.04em;line-height:1.4;
  color:rgba(246,243,236,.82);
  transition:color .25s ease;
}
.rail__link:hover{background:rgba(246,243,236,.07);}
.rail__link:hover .rail__text{color:var(--paper);}
.rail__link:hover .rail__num{color:var(--sand);}
.rail__link[aria-current="page"]{
  background:linear-gradient(90deg,rgba(255,107,53,.2),rgba(255,107,53,0));
  border-left-color:var(--lava);
}
.rail__link[aria-current="page"] .rail__text{color:var(--paper);font-weight:700;}
.rail__link[aria-current="page"] .rail__num{color:var(--lava);}

.nav-toggle{
  display:none;
  align-items:center;gap:9px;
  padding:10px 14px;
  color:var(--paper);
  font-size:12px;letter-spacing:.2em;line-height:1;
  border:1px solid rgba(246,243,236,.3);
  border-radius:2px;
}
.nav-toggle__bars{position:relative;display:block;width:16px;height:2px;background:currentColor;transition:background-color .2s ease;}
.nav-toggle__bars::before,
.nav-toggle__bars::after{content:"";position:absolute;left:0;width:16px;height:2px;background:currentColor;transition:transform .25s ease;}
.nav-toggle__bars::before{top:-5px;}
.nav-toggle__bars::after{top:5px;}
.site-header[data-open] .nav-toggle__bars{background:transparent;}
.site-header[data-open] .nav-toggle__bars::before{transform:translateY(5px) rotate(45deg);}
.site-header[data-open] .nav-toggle__bars::after{transform:translateY(-5px) rotate(-45deg);}

.quickbar{
  position:fixed;top:0;left:var(--rail-w);right:0;height:var(--quick-h);
  z-index:110;
  display:flex;align-items:center;gap:clamp(14px,3vw,32px);
  padding:0 var(--pad) 0 clamp(16px,3vw,40px);
  background:rgba(246,243,236,.94);
  border-bottom:1px solid rgba(15,30,36,.14);
  -webkit-backdrop-filter:blur(8px);
  backdrop-filter:blur(8px);
  overflow-x:auto;
  scrollbar-width:none;
}
.quickbar::-webkit-scrollbar{display:none;}
.quickbar__tag{
  flex:none;
  font-family:var(--font-mono);font-size:10px;letter-spacing:.26em;text-transform:uppercase;
  color:var(--teal);
  padding-right:clamp(10px,2vw,22px);
  border-right:1px solid rgba(15,30,36,.16);
  line-height:1.4;
}
.quickbar__link{
  position:relative;flex:none;
  padding:4px 0;
  font-size:13px;letter-spacing:.06em;line-height:1.6;
  color:var(--ink);
  transition:color .2s ease;
}
.quickbar__link::after{
  content:"";position:absolute;left:0;right:100%;bottom:0;height:2px;
  background:var(--lava);transition:right .28s ease;
}
.quickbar__link:hover{color:var(--teal);}
.quickbar__link:hover::after{right:0;}
.quickbar__link[aria-current="page"]{color:var(--teal);font-weight:700;}
.quickbar__link[aria-current="page"]::after{right:0;}

/* ---------- 页脚 ---------- */
.site-footer{position:relative;z-index:1;}
.foot-index{
  background:var(--indigo);color:var(--paper);
  padding-block:clamp(42px,6vw,78px) clamp(34px,4.4vw,56px);
}
.foot-index__inner{
  display:grid;grid-template-columns:1.15fr 1fr .95fr;
  gap:clamp(26px,4vw,56px);
}
.foot-index__mark{
  font-family:var(--font-mono);font-size:clamp(26px,3.4vw,42px);font-weight:700;
  letter-spacing:.1em;line-height:1;color:var(--paper);
}
.foot-index__name{font-size:13px;letter-spacing:.24em;color:rgba(246,243,236,.72);margin-top:12px;}
.foot-index__note{
  font-family:var(--font-mono);font-size:11.5px;letter-spacing:.03em;
  color:rgba(246,243,236,.48);margin-top:14px;line-height:1.7;
}
.foot-index__title{
  font-family:var(--font-mono);font-size:11px;font-weight:600;
  letter-spacing:.26em;text-transform:uppercase;color:var(--sand);
  margin-bottom:16px;
}
.foot-index__list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 18px;}
.foot-index__link{
  display:inline-flex;align-items:baseline;gap:8px;
  padding:3px 0;
  font-size:13px;letter-spacing:.04em;line-height:1.7;
  color:rgba(246,243,236,.8);
  transition:color .2s ease;
}
.foot-index__link:hover{color:var(--lava);}
.foot-index__link[aria-current="page"]{color:var(--lava);font-weight:700;}
.foot-index__num{font-family:var(--font-mono);font-size:10px;color:rgba(246,243,236,.42);letter-spacing:.08em;}

.foot-index__entries{display:flex;flex-direction:column;gap:8px;}
.foot-entry{
  display:flex;flex-direction:column;gap:2px;
  padding:9px 12px;
  border-left:2px solid var(--teal);
  background:rgba(246,243,236,.05);
  transition:background-color .22s ease,border-color .22s ease;
}
.foot-entry:hover{background:rgba(255,107,53,.16);border-left-color:var(--lava);}
.foot-entry__key{font-size:14px;font-weight:700;letter-spacing:.1em;line-height:1.5;color:var(--paper);}
.foot-entry__desc{font-size:11.5px;letter-spacing:.04em;line-height:1.6;color:rgba(246,243,236,.6);}

.foot-service{
  background:var(--mist);color:var(--ink);
  padding-block:clamp(28px,4vw,46px);
  border-top:1px solid rgba(15,30,36,.08);
}
.foot-service__inner{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
  gap:20px clamp(20px,3vw,36px);
}
.foot-service__block{min-width:0;}
.foot-service__label{
  font-family:var(--font-mono);font-size:10.5px;font-weight:700;
  letter-spacing:.24em;text-transform:uppercase;color:var(--teal);
  margin-bottom:6px;line-height:1.5;
}
.foot-service__value{font-size:13.5px;line-height:1.75;color:var(--ink);}
.foot-service__value--mono{font-family:var(--font-mono);font-size:12.5px;letter-spacing:.02em;word-break:break-word;}

.foot-legal{
  background:var(--ink);color:rgba(246,243,236,.66);
  padding-block:18px;
  font-size:12px;
}
.foot-legal__inner{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;
  gap:10px clamp(16px,3vw,28px);
}
.foot-legal__copy{line-height:1.7;}
.foot-legal__icp{
  font-family:var(--font-mono);font-size:11.5px;letter-spacing:.04em;
  color:var(--sand);line-height:1.7;
}
.foot-legal__links{display:flex;flex-wrap:wrap;gap:18px;}
.foot-legal__links a{
  font-size:12px;line-height:1.7;
  color:rgba(246,243,236,.72);
  border-bottom:1px solid transparent;
  transition:color .2s ease,border-color .2s ease;
}
.foot-legal__links a:hover{color:var(--paper);border-bottom-color:var(--lava);}
.foot-legal__links a[aria-current="page"]{color:var(--lava);border-bottom-color:var(--lava);}

/* ---------- 动效协议 ---------- */
[data-reveal]{transition:opacity .5s cubic-bezier(.2,.7,.3,1),transform .5s cubic-bezier(.2,.7,.3,1);transition-delay:var(--reveal-delay,0s);}
[data-reveal-delay="1"]{--reveal-delay:.06s;}
[data-reveal-delay="2"]{--reveal-delay:.12s;}
[data-reveal-delay="3"]{--reveal-delay:.18s;}
.reveal-ready [data-reveal]:not(.is-in){opacity:0;transform:translateY(12px);}
[data-reveal].is-in{opacity:1;transform:none;}

/* ---------- 平板收缩 ---------- */
@media (max-width:1180px) and (min-width:901px){
  :root{--rail-w:104px;}
  .rail__text{font-size:11.5px;}
  .rail__link{padding:10px 10px 10px 12px;}
  .quickbar{gap:18px;}
}
@media (max-height:720px) and (min-width:901px){
  .rail__season{display:none;}
}

/* ---------- 移动端 ---------- */
@media (max-width:900px){
  :root{--rail-w:0px;}
  html{scroll-padding-top:calc(var(--m-bar) + var(--m-quick) + 12px);}
  body{padding-left:0;padding-top:calc(var(--m-bar) + var(--m-quick));}
  #main-content{scroll-margin-top:calc(var(--m-bar) + var(--m-quick) + 12px);}

  .site-header{position:fixed;top:0;left:0;right:0;bottom:auto;width:100%;display:block;}
  .rail{
    flex-direction:row;align-items:center;
    width:100%;height:var(--m-bar);
    border-right:0;border-bottom:1px solid rgba(246,243,236,.14);
  }
  .rail::after{display:none;}
  .rail__brand{
    flex-direction:row;align-items:baseline;gap:10px;
    height:100%;padding:0 16px;
    border-bottom:0;border-right:1px solid rgba(246,243,236,.14);
    justify-content:center;
  }
  .rail__mark{font-size:14px;}
  .rail__mark::after{display:none;}
  .rail__brand-cn{font-size:11px;letter-spacing:.2em;}
  .rail__season{display:none;}

  .rail__nav{
    position:absolute;top:var(--m-bar);left:0;right:0;
    flex:none;
    max-height:0;overflow:hidden;
    padding:0;
    background:var(--ink);
    border-top:1px solid rgba(246,243,236,.12);
    transition:max-height .35s ease;
  }
  .site-header[data-open] .rail__nav{max-height:72vh;overflow-y:auto;padding:6px 0 16px;}
  .rail__link{
    flex-direction:row;align-items:baseline;gap:12px;
    padding:14px 20px;
    border-left:0;
    border-bottom:1px solid rgba(246,243,236,.08);
  }
  .rail__link[aria-current="page"]{
    background:rgba(255,107,53,.16);
    border-left:0;
    box-shadow:inset 4px 0 0 var(--lava);
  }
  .rail__text{font-size:15px;}
  .rail__num{font-size:11px;}

  .nav-toggle{display:flex;margin-left:auto;margin-right:16px;}
  .quickbar{top:var(--m-bar);left:0;right:0;height:var(--m-quick);gap:18px;padding:0 16px;}
  .quickbar__tag{padding-right:14px;font-size:9.5px;}
  .quickbar__link{font-size:12.5px;}

  .foot-index__inner{grid-template-columns:minmax(0,1fr) minmax(0,1fr);}
  .foot-index__col--brand{grid-column:1 / -1;}
  .grid--sidebar{grid-template-columns:minmax(0,1fr);}
  .grid--2,.grid--3{grid-template-columns:minmax(0,1fr);}
}

@media (max-width:640px){
  :root{--fs-base:16px;}
  .foot-index__inner{grid-template-columns:minmax(0,1fr);}
  .foot-index__list{grid-template-columns:minmax(0,1fr);}
  .foot-legal__inner{justify-content:flex-start;}
  .foot-legal__links{gap:14px;}
  .media{border-radius:18px 4px 18px 4px;}
}

/* ---------- 减少动态 ---------- */
@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:0s !important;
  }
  .reveal-ready [data-reveal]:not(.is-in){opacity:1;transform:none;}
  .btn:hover{transform:none;}
  .quickbar__link::after{transition:none;}
}
