/* ============================================================
   澳门百老汇官网 · /assets/site.css
   夜游剧场 × 数字索引：品牌轨道 + 内容舞台
   ============================================================ */

/* ---------- 1. Reset ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:132px}
body,h1,h2,h3,h4,h5,p,ul,ol,li,figure,blockquote,dl,dd{margin:0;padding:0}
ul,ol{list-style:none}
img,picture,svg,video{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
h1,h2,h3,h4{font-weight:700}
@media (prefers-reduced-motion: no-preference){html{scroll-behavior:smooth}}

/* ---------- 2. 变量 ---------- */
:root{
  --ink-900:#0B0A0F;
  --ink-800:#17141F;
  --ink-700:#221C2E;
  --neon:#E0218A;
  --neon-deep:#7A1049;
  --gold:#E8C684;
  --gold-soft:#F6E7C4;
  --gold-line:rgba(232,198,132,.24);
  --gold-line-soft:rgba(232,198,132,.14);
  --peacock:#1FA9A0;
  --jade:#27C08A;
  --mist:#B9B4C4;
  --paper:#F4F1EA;

  --font-display:"Playfair Display","Noto Serif SC","Songti SC","Source Han Serif SC",serif;
  --font-head:"Inter Tight","Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif;
  --font-body:"Inter","Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif;
  --font-mono:"JetBrains Mono","IBM Plex Mono","SFMono-Regular",Consolas,"Courier New",monospace;

  --rail-w:104px;
  --shell:1320px;
  --edge:clamp(20px,4vw,64px);
  --ease:cubic-bezier(.22,.61,.36,1);
  --dur:260ms;
  --shadow-brut:10px 10px 0 rgba(224,33,138,.16);
  --shadow-brut-strong:8px 10px 0 rgba(122,16,73,.45);
}

/* ---------- 3. 基础排版 ---------- */
body{
  background:var(--ink-900);
  color:var(--paper);
  font-family:var(--font-body);
  font-size:17px;
  line-height:1.9;
  font-weight:400;
  letter-spacing:.005em;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:
    radial-gradient(62vw 48vh at 82% -8%, rgba(224,33,138,.20), transparent 62%),
    radial-gradient(48vw 42vh at 4% 106%, rgba(31,169,160,.13), transparent 62%);
}
@media (min-width:1024px){
  body{padding-left:var(--rail-w)}
}
main{position:relative;z-index:1}

h1,h2,h3,h4{line-height:1.25}
p{max-width:46em}
.mono{font-family:var(--font-mono);font-weight:500;letter-spacing:.08em}

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

/* ---------- 4. 布局容器 ---------- */
.shell{
  width:100%;
  max-width:var(--shell);
  margin-inline:auto;
  padding-inline:var(--edge);
}

/* ---------- 5. Skip link ---------- */
.skip-link{
  position:absolute;
  left:14px;
  top:-80px;
  z-index:300;
  padding:12px 20px;
  background:var(--gold-soft);
  color:var(--ink-900);
  font-family:var(--font-head);
  font-weight:700;
  font-size:15px;
  border:2px solid var(--neon);
  transition:top 200ms var(--ease);
}
.skip-link:focus{top:14px}

/* ---------- 6. 页头：双层轨道条 + 主导航 ---------- */
.site-header{
  position:sticky;
  top:0;
  z-index:60;
  background:rgba(11,10,15,.88);
  -webkit-backdrop-filter:blur(14px);
  backdrop-filter:blur(14px);
  border-bottom:1px solid var(--gold-line);
}

/* 上层：品牌轨道条 */
.header-rail{
  border-bottom:1px solid var(--gold-line);
  background:linear-gradient(90deg, rgba(23,20,31,.96) 0%, rgba(11,10,15,.90) 100%);
  transition:background-image 320ms var(--ease);
}
.header-rail__inner{
  display:flex;
  align-items:center;
  gap:clamp(14px,3vw,40px);
  min-height:54px;
  padding-block:7px;
  transition:min-height 320ms var(--ease);
}
.site-header[data-scrolled] .header-rail{
  background-image:repeating-linear-gradient(90deg, rgba(232,198,132,.16) 0 1px, transparent 1px 18px);
}
.site-header[data-scrolled] .header-rail__inner{min-height:32px;padding-block:3px}
.site-header[data-scrolled] .header-ticker{opacity:0;visibility:hidden}
.site-header[data-scrolled] .header-meta{opacity:.6}

.brand{
  display:flex;
  flex-direction:column;
  gap:1px;
  flex:0 0 auto;
  padding-right:clamp(10px,2vw,26px);
  border-right:1px solid var(--gold-line);
}
.brand__cn{
  font-family:var(--font-head);
  font-weight:700;
  font-size:16px;
  letter-spacing:.02em;
  color:var(--gold-soft);
  white-space:nowrap;
}
.brand__en{
  font-family:var(--font-mono);
  font-size:10px;
  letter-spacing:.22em;
  color:var(--neon);
  white-space:nowrap;
}
.brand:hover .brand__cn{color:#fff}

/* 走字带 */
.header-ticker{
  flex:1 1 auto;
  min-width:0;
  overflow:hidden;
  max-width:none;
  opacity:1;
  transition:opacity 220ms var(--ease),visibility 220ms var(--ease);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);
}
.header-ticker__track{
  display:flex;
  width:max-content;
  animation:ticker-slide 38s linear infinite;
}
.header-ticker__item{
  font-family:var(--font-mono);
  font-weight:500;
  font-size:12px;
  letter-spacing:.16em;
  color:var(--mist);
  white-space:nowrap;
  padding-right:52px;
}
@keyframes ticker-slide{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}

.header-meta{
  display:flex;
  align-items:center;
  gap:clamp(8px,1.4vw,18px);
  flex:0 0 auto;
  max-width:none;
  transition:opacity 220ms var(--ease);
}
.header-meta__item{
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:.12em;
  color:var(--mist);
  white-space:nowrap;
}
.header-meta__item + .header-meta__item{
  padding-left:clamp(8px,1.4vw,18px);
  border-left:1px solid var(--gold-line);
}

/* 下层：主导航 */
.header-nav{position:relative;background:var(--ink-800)}
.header-nav__inner{
  position:relative;
  display:flex;
  align-items:center;
  gap:clamp(12px,2vw,32px);
  min-height:62px;
}
.primary-nav{flex:1 1 auto;min-width:0}
.nav-list{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:clamp(4px,1.6vw,24px);
}
.nav-list__item{position:relative}
.nav-list__link{
  position:relative;
  display:inline-flex;
  align-items:baseline;
  gap:7px;
  padding:18px 2px;
  font-family:var(--font-head);
  font-weight:700;
  font-size:15px;
  letter-spacing:.02em;
  color:var(--mist);
  transition:color var(--dur) var(--ease);
}
.nav-list__link::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:9px;
  height:2px;
  background:var(--gold);
  transform:scaleX(0);
  transform-origin:left center;
  transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease);
}
.nav-list__idx{
  font-family:var(--font-mono);
  font-weight:500;
  font-size:11px;
  letter-spacing:.08em;
  color:rgba(185,180,196,.55);
  transition:color var(--dur) var(--ease);
}
.nav-list__link:hover{color:var(--paper)}
.nav-list__link:hover::after{transform:scaleX(1)}
.nav-list__link[aria-current="page"]{color:var(--gold-soft)}
.nav-list__link[aria-current="page"]::after{
  transform:scaleX(1);
  box-shadow:0 0 14px rgba(232,198,132,.65);
}
.nav-list__link[aria-current="page"] .nav-list__idx{color:var(--neon)}

.header-nav__season{
  flex:0 0 auto;
  max-width:none;
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:.16em;
  color:var(--gold);
  padding:5px 12px;
  border:1px solid var(--gold-line);
}

/* 移动端按钮 */
.nav-toggle{
  display:none;
  align-items:center;
  gap:10px;
  padding:10px 14px;
  border:2px solid var(--gold-line);
  color:var(--gold);
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:.14em;
  transition:border-color var(--dur) var(--ease),color var(--dur) var(--ease);
}
.nav-toggle:hover{border-color:var(--gold);color:var(--gold-soft)}
.nav-toggle__bars{display:flex;flex-direction:column;gap:4px}
.nav-toggle__bar{display:block;width:18px;height:2px;background:var(--neon);transition:transform var(--dur) var(--ease)}
.nav-toggle__label{white-space:nowrap}

/* 阅读进度 */
.read-progress{
  position:absolute;
  left:0;
  right:0;
  bottom:-1px;
  height:2px;
  background:rgba(232,198,132,.12);
  overflow:hidden;
}
.read-progress__bar{
  display:block;
  height:100%;
  width:100%;
  transform:scaleX(0);
  transform-origin:left center;
  background:linear-gradient(90deg,var(--neon-deep) 0%,var(--neon) 46%,var(--gold) 100%);
}

/* ---------- 7. 左侧品牌轨道 ---------- */
.stage-rail{display:none}
@media (min-width:1024px){
  .stage-rail{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:20px;
    position:fixed;
    left:0;
    top:0;
    bottom:0;
    width:var(--rail-w);
    padding:128px 0 26px;
    background:linear-gradient(180deg,var(--ink-800) 0%,#12101A 60%,var(--ink-900) 100%);
    border-right:1px solid var(--gold-line);
    z-index:50;
  }
}
.stage-rail__brand{
  writing-mode:vertical-rl;
  text-orientation:mixed;
  font-family:var(--font-head);
  font-weight:700;
  font-size:11px;
  letter-spacing:.34em;
  text-transform:uppercase;
  color:var(--gold);
}
.stage-rail__season{
  writing-mode:vertical-rl;
  font-family:var(--font-mono);
  font-size:10px;
  letter-spacing:.2em;
  line-height:1.6;
  text-align:center;
  color:var(--mist);
  padding:10px 4px;
  border:1px solid var(--gold-line);
}
.rail-ticks{
  display:flex;
  flex-direction:column;
  gap:11px;
  width:100%;
  margin-top:auto;
  padding:0 12px;
}
.rail-tick{
  display:flex;
  align-items:center;
  gap:7px;
  font-family:var(--font-mono);
  font-size:10px;
  letter-spacing:.06em;
  color:rgba(185,180,196,.45);
  transition:color var(--dur) var(--ease);
}
.rail-tick__bar{
  flex:0 0 auto;
  width:12px;
  height:2px;
  background:currentColor;
  transition:width var(--dur) var(--ease),background-color var(--dur) var(--ease);
}
.rail-tick__num{flex:0 0 auto}
.rail-tick__label{
  min-width:0;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
  opacity:0;
  transition:opacity var(--dur) var(--ease);
}
.rail-tick[data-active]{color:var(--gold)}
.rail-tick[data-active] .rail-tick__bar{width:22px;background:var(--neon)}
.rail-tick[data-active] .rail-tick__label{opacity:1;color:var(--gold-soft)}

/* ---------- 8. 页脚 ---------- */
.site-footer{
  position:relative;
  z-index:1;
  margin-top:clamp(48px,7vw,110px);
  background:var(--ink-900);
  border-top:1px solid var(--gold-line);
}
.site-footer::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:12px;
  background-image:repeating-linear-gradient(90deg, rgba(232,198,132,.42) 0 1px, transparent 1px 30px);
}
.footer-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:clamp(20px,3vw,46px);
  padding-block:clamp(52px,6vw,88px);
}
.footer-col{display:block}
.footer-col--brand{margin-top:0}
.footer-col--index{margin-top:clamp(10px,2.2vw,34px)}
.footer-col--tools{margin-top:clamp(22px,4.4vw,64px)}
.footer-col--contact{margin-top:clamp(4px,1.4vw,18px)}

.footer-mark{
  font-family:var(--font-display);
  font-weight:800;
  font-size:clamp(1.35rem,2.3vw,1.95rem);
  line-height:1.15;
  letter-spacing:-.02em;
  color:var(--gold-soft);
  max-width:14em;
}
.footer-ver{
  display:inline-block;
  margin-top:12px;
  padding:5px 11px;
  border:1px solid var(--gold-line);
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:.12em;
  color:var(--gold);
}
.footer-note{
  margin-top:16px;
  max-width:26em;
  font-size:14.5px;
  line-height:1.9;
  color:var(--mist);
}
.footer-cta{margin-top:22px}

.footer-title{
  font-family:var(--font-head);
  font-weight:700;
  font-size:12.5px;
  letter-spacing:.2em;
  color:var(--gold);
  padding-bottom:11px;
  margin-bottom:16px;
  border-bottom:1px solid var(--gold-line);
}
.footer-list{display:flex;flex-direction:column;gap:10px}
.footer-link{
  position:relative;
  display:inline-block;
  font-size:15px;
  color:var(--mist);
  transition:color var(--dur) var(--ease),transform var(--dur) var(--ease);
}
.footer-link::before{
  content:"—";
  font-family:var(--font-mono);
  font-size:11px;
  color:rgba(232,198,132,.45);
  margin-right:9px;
}
.footer-link:hover{color:var(--gold-soft);transform:translateX(4px)}

.footer-list--data{gap:14px}
.footer-datum{
  display:flex;
  flex-direction:column;
  gap:2px;
  font-size:15px;
  line-height:1.7;
  color:rgba(244,241,234,.9);
  word-break:break-all;
}
.footer-datum__k{
  font-family:var(--font-mono);
  font-size:10.5px;
  letter-spacing:.16em;
  color:var(--peacock);
}

.footer-bottom{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:14px 28px;
  padding-block:20px;
  border-top:1px solid var(--gold-line);
}
.footer-legal{
  display:flex;
  flex-wrap:wrap;
  gap:8px 22px;
  max-width:none;
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:.06em;
  color:var(--mist);
}
.footer-ticks{display:flex;align-items:flex-end;gap:5px;height:16px}
.tick{display:block;width:2px;height:15px;background:var(--gold);opacity:.45}
.tick:nth-child(odd){height:7px;background:var(--neon);opacity:.75}
.tick:nth-child(3n){height:11px;background:var(--peacock);opacity:.8}

/* ---------- 9. 章节 / 抬头 ---------- */
.section{position:relative;padding-block:clamp(56px,8vw,124px);z-index:1}
.section--tight{padding-block:clamp(34px,5vw,74px)}
.section--panel{
  background:var(--ink-800);
  border-block:1px solid var(--gold-line);
}
.section__head{
  display:flex;
  align-items:flex-end;
  flex-wrap:wrap;
  gap:clamp(12px,2.6vw,34px);
  margin-bottom:clamp(24px,4vw,52px);
  padding-bottom:16px;
  border-bottom:1px solid var(--gold-line);
}
.section__num{
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:.18em;
  color:var(--neon);
  padding-bottom:6px;
}
.section__title{
  font-family:var(--font-display);
  font-weight:800;
  font-size:clamp(1.9rem,3.8vw,3.2rem);
  line-height:1.05;
  letter-spacing:-.02em;
  color:var(--paper);
}
.section__desc{
  flex:1 1 18em;
  max-width:38em;
  font-size:15.5px;
  color:var(--mist);
}
.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--gold);
  max-width:none;
}
.eyebrow::before{content:"";width:24px;height:1px;background:var(--gold)}
.rule{height:1px;border:0;background:var(--gold-line);margin-block:clamp(24px,4vw,56px)}
.rule--ticks{
  height:10px;
  background:transparent;
  background-image:repeating-linear-gradient(90deg, rgba(232,198,132,.5) 0 1px, transparent 1px 26px);
}

/* ---------- 10. 网格 ---------- */
.grid{display:grid;gap:clamp(16px,2.4vw,32px)}
.grid--12{grid-template-columns:repeat(12,minmax(0,1fr))}
.col-3{grid-column:span 3}
.col-4{grid-column:span 4}
.col-5{grid-column:span 5}
.col-6{grid-column:span 6}
.col-7{grid-column:span 7}
.col-8{grid-column:span 8}
.col-9{grid-column:span 9}
.col-12{grid-column:span 12}
.col-8-r{grid-column:5 / span 8}
.col-6-r{grid-column:7 / span 6}
.lift-1{margin-top:clamp(0px,2vw,26px)}
.lift-2{margin-top:clamp(0px,4vw,58px)}
.lift-3{margin-top:clamp(0px,6vw,92px)}

/* ---------- 11. 框景 ---------- */
.frame{
  position:relative;
  border:2px solid var(--gold-line);
  background:linear-gradient(160deg, rgba(23,20,31,.97) 0%, rgba(11,10,15,.92) 100%);
  padding:clamp(22px,3.4vw,52px);
  box-shadow:var(--shadow-brut);
}
.frame::before{
  content:"";
  position:absolute;
  inset:9px;
  border:1px solid var(--gold-line-soft);
  pointer-events:none;
}
.frame__ticks{
  position:absolute;
  left:0;
  right:0;
  top:-1px;
  height:10px;
  pointer-events:none;
  background-image:repeating-linear-gradient(90deg, rgba(232,198,132,.55) 0 1px, transparent 1px 24px);
}

/* ---------- 12. 卡片 ---------- */
.card{
  position:relative;
  display:flex;
  flex-direction:column;
  gap:12px;
  padding:clamp(18px,2.2vw,30px);
  background:var(--ink-800);
  border:2px solid var(--gold-line-soft);
  border-left:3px solid var(--gold-line-soft);
  transition:transform var(--dur) var(--ease),border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease);
}
.card:hover{
  transform:translateY(-4px);
  border-color:rgba(224,33,138,.55);
  border-left-color:var(--gold);
  box-shadow:var(--shadow-brut-strong);
}
.card--accent{border-left-color:var(--neon)}
.card--stagger{margin-top:clamp(0px,3vw,40px)}
.card__head{display:flex;align-items:baseline;justify-content:space-between;gap:14px;flex-wrap:wrap}
.card__title{
  font-family:var(--font-head);
  font-weight:700;
  font-size:clamp(1.05rem,1.4vw,1.32rem);
  letter-spacing:-.01em;
  color:var(--paper);
}
.card__meta{
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:.08em;
  color:var(--mist);
}
.card__body{
  font-size:15.5px;
  line-height:1.85;
  color:rgba(185,180,196,.95);
  max-width:38em;
}

/* ---------- 13. 标签 ---------- */
.tag-list{display:flex;flex-wrap:wrap;gap:9px}
.tag{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:4px 11px;
  border:1px solid rgba(232,198,132,.42);
  font-family:var(--font-mono);
  font-size:11.5px;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--gold);
  white-space:nowrap;
}
.tag--neon{border-color:rgba(224,33,138,.55);color:#F27CB8;background:rgba(224,33,138,.10)}
.tag--jade{border-color:rgba(39,192,138,.5);color:var(--jade)}
.tag--peacock{border-color:rgba(31,169,160,.5);color:var(--peacock)}

/* ---------- 14. 图片容器（页面阶段使用） ---------- */
.media-frame{
  position:relative;
  overflow:hidden;
  aspect-ratio:4 / 3;
  border:2px solid rgba(232,198,132,.22);
  background:
    radial-gradient(120% 92% at 18% 0%, rgba(224,33,138,.28), transparent 62%),
    radial-gradient(120% 92% at 92% 100%, rgba(31,169,160,.22), transparent 64%),
    var(--ink-800);
}
.media-frame > img,
.media-frame > picture > img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.media-frame::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(11,10,15,0) 42%, rgba(11,10,15,.74) 100%);
  pointer-events:none;
}
.media-frame--wide{aspect-ratio:16 / 9}
.media-frame--tall{aspect-ratio:3 / 4}
.media-frame--square{aspect-ratio:1 / 1}
.media-frame__caption{
  position:absolute;
  left:16px;
  right:16px;
  bottom:12px;
  z-index:2;
  max-width:none;
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:.1em;
  color:var(--gold-soft);
}
.media-frame__glow{
  position:absolute;
  left:-10%;
  right:-10%;
  bottom:-32%;
  height:62%;
  z-index:1;
  pointer-events:none;
  background:radial-gradient(52% 100% at 50% 100%, rgba(224,33,138,.42), transparent 72%);
}

/* ---------- 15. 按钮 ---------- */
.btn{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:14px 24px;
  border:2px solid var(--gold);
  background:transparent;
  color:var(--gold-soft);
  font-family:var(--font-head);
  font-weight:700;
  font-size:15px;
  letter-spacing:.02em;
  transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease),
             background-color var(--dur) var(--ease),color var(--dur) var(--ease),
             border-color var(--dur) var(--ease);
}
.btn:hover{transform:translate(-3px,-3px);box-shadow:6px 6px 0 rgba(232,198,132,.3)}
.btn--primary{
  background:var(--neon);
  border-color:var(--neon);
  color:#fff;
  box-shadow:6px 6px 0 rgba(122,16,73,.55);
}
.btn--primary:hover{
  background:#F0339B;
  box-shadow:10px 10px 0 rgba(122,16,73,.6);
}
.btn--ghost{border-color:rgba(185,180,196,.42);color:var(--paper)}
.btn--ghost:hover{border-color:var(--gold);color:var(--gold-soft);box-shadow:6px 6px 0 rgba(232,198,132,.18)}

/* ---------- 16. 面包屑 ---------- */
.breadcrumb{
  background:var(--ink-800);
  border-bottom:1px solid var(--gold-line);
  padding-block:16px;
}
.breadcrumb__list{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:.1em;
  color:var(--mist);
}
.breadcrumb__item{display:inline-flex;align-items:center}
.breadcrumb__item + .breadcrumb__item::before{
  content:"/";
  margin-right:10px;
  color:rgba(232,198,132,.5);
}
.breadcrumb__link{transition:color var(--dur) var(--ease)}
.breadcrumb__link:hover{color:var(--gold)}
.breadcrumb__item[aria-current="page"]{color:var(--gold-soft)}

/* ---------- 17. 正文容器 ---------- */
.prose{
  max-width:38em;
  font-size:17px;
  line-height:1.9;
  color:rgba(244,241,234,.88);
}
.prose p + p{margin-top:1.05em}
.prose h3{
  margin-top:2.1em;
  margin-bottom:.6em;
  font-family:var(--font-head);
  font-weight:700;
  font-size:clamp(1.2rem,1.7vw,1.5rem);
  letter-spacing:-.01em;
  color:var(--paper);
}
.prose ul{margin-top:1em;display:flex;flex-direction:column;gap:.6em}
.prose li{position:relative;padding-left:1.4em}
.prose li::before{
  content:"";
  position:absolute;
  left:0;
  top:.85em;
  width:12px;
  height:2px;
  background:var(--gold);
}
.prose strong{color:var(--gold-soft);font-weight:700}
.prose a{color:var(--gold);border-bottom:1px solid var(--gold-line)}
.prose a:hover{color:var(--gold-soft)}

/* ---------- 18. 显现动效 ---------- */
.js [data-reveal]{
  opacity:0;
  transform:translateY(16px);
  transition:opacity 560ms var(--ease),transform 560ms var(--ease);
}
.js [data-reveal][data-revealed]{opacity:1;transform:none}

/* ---------- 19. 响应式 ---------- */
@media (max-width:1023px){
  .grid--12{grid-template-columns:repeat(6,minmax(0,1fr))}
  .col-3,.col-4{grid-column:span 3}
  .col-5,.col-6,.col-7,.col-8,.col-9,.col-12{grid-column:span 6}
  .col-8-r,.col-6-r{grid-column:span 6}
  .header-nav__season{display:none}
  .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .footer-col--brand,.footer-col--index,.footer-col--tools,.footer-col--contact{margin-top:0}
  .footer-col--index,.footer-col--contact{margin-top:clamp(16px,3vw,34px)}
}

@media (max-width:880px){
  html{scroll-padding-top:110px}
  .nav-toggle{display:inline-flex}
  .primary-nav{
    position:absolute;
    left:0;
    right:0;
    top:100%;
    z-index:70;
    background:var(--ink-800);
    border-bottom:1px solid var(--gold-line);
    box-shadow:0 18px 42px rgba(0,0,0,.6);
    max-height:0;
    overflow:hidden;
    visibility:hidden;
    transition:max-height 320ms var(--ease),visibility 320ms var(--ease);
  }
  .primary-nav[data-open]{
    max-height:min(78vh,560px);
    overflow-y:auto;
    visibility:visible;
  }
  .nav-list{flex-direction:column;align-items:stretch;gap:0;padding:6px var(--edge) 22px}
  .nav-list__item{border-bottom:1px solid var(--gold-line-soft)}
  .nav-list__item:last-child{border-bottom:0}
  .nav-list__link{
    width:100%;
    padding:17px 0;
    font-size:17px;
    justify-content:flex-start;
  }
  .nav-list__link::after{left:0;right:auto;width:30px;bottom:12px}
  .header-rail__inner{min-height:48px}
  .site-header[data-scrolled] .header-ticker{display:none}
}

@media (max-width:720px){
  .header-meta__item:first-child{display:none}
  .header-meta__item + .header-meta__item{padding-left:0;border-left:0}
  .header-ticker{display:none}
  .brand__en{display:none}
  .header-nav__inner{min-height:56px}
  .footer-grid{grid-template-columns:1fr;gap:34px}
  .footer-col--index,.footer-col--contact{margin-top:0}
  .footer-bottom{padding-block:18px}
}

@media (max-width:640px){
  .grid--12{grid-template-columns:1fr}
  .col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-12,
  .col-8-r,.col-6-r{grid-column:span 1}
  .lift-1,.lift-2,.lift-3{margin-top:0}
  .card{padding:18px}
  .frame{padding:20px}
  body{font-size:16.5px}
}

/* ---------- 20. 减弱动效 ---------- */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
  }
  .header-ticker__track{animation:none !important}
  .js [data-reveal]{opacity:1 !important;transform:none !important}
  .card:hover,.btn:hover{transform:none}
}
