/* ============================================================
   财神8平台 · 共享样式 /assets/site.css
   年画 × 仪表盘：暖白纸面 · 米宣纸层 · 鎏金细线 · 朱红印章
   ============================================================ */

/* ---------- 1. 令牌 ---------- */
:root{
  --gold:#C8963E;
  --gold-deep:#8A6420;
  --champagne:#EBD3A0;
  --red:#B8322C;
  --red-deep:#7E1F1A;
  --ink:#1B1917;
  --paper:#FBF6EC;
  --rice:#F1E7D5;
  --teal:#2F5D62;
  --gray:#6B655C;

  --font-serif:"Noto Serif SC","Source Han Serif SC","Songti SC",serif;
  --font-sans:"Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif;
  --font-mono:"JetBrains Mono","Roboto Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;

  --fs-12:.75rem;
  --fs-14:.875rem;
  --fs-16:1rem;
  --fs-20:1.25rem;
  --fs-28:1.75rem;
  --fs-40:2.5rem;
  --fs-64:4rem;

  --wrap:1200px;
  --gutter:clamp(1.25rem,4vw,3rem);
  --line:1px solid var(--ink);
  --line-gold:1px solid var(--gold);
  --shadow-print:5px 5px 0 var(--champagne),5px 5px 0 1px rgba(27,25,23,.16);
  --radius:2px;
}

/* ---------- 2. 重置与中文排版 ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--font-sans);
  font-size:var(--fs-16);
  font-weight:400;
  line-height:1.75;
}
h1,h2,h3,h4{
  font-family:var(--font-serif);
  font-weight:600;
  line-height:1.25;
  letter-spacing:.01em;
  margin:0;
}
p{margin:0 0 1em}
p:last-child{margin-bottom:0}
ul,ol{margin:0;padding:0;list-style:none}
img,svg,video{display:block;max-width:100%}
a{color:var(--teal);text-decoration:none}
a:hover{text-decoration:underline}
button{font:inherit;color:inherit;background:none;border:0}
table{border-collapse:collapse;width:100%}
:focus-visible{outline:3px solid var(--red);outline-offset:2px}
.site-footer :focus-visible,.skip-link:focus-visible{outline-color:var(--champagne)}
#main-content{display:block;scroll-margin-top:7rem}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.center{text-align:center}

/* ---------- 3. 布局骨架 ---------- */
.wrap{
  width:100%;
  max-width:var(--wrap);
  margin:0 auto;
  padding:0 var(--gutter);
}
.grid{display:grid;gap:clamp(1.25rem,3vw,2.5rem)}
.grid--halves{grid-template-columns:1fr}
.grid--thirds{grid-template-columns:1fr}
.card-grid{
  display:grid;
  gap:clamp(1rem,2.2vw,1.75rem);
  grid-template-columns:1fr;
}
@media (min-width:680px){.card-grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:720px){
  .grid--halves{grid-template-columns:1fr 1fr}
  .grid--thirds{grid-template-columns:repeat(3,1fr)}
}
@media (min-width:880px){
  .grid--7-5{grid-template-columns:7fr 5fr}
  .grid--5-7{grid-template-columns:5fr 7fr}
  .grid--8-4{grid-template-columns:8fr 4fr}
  .grid--4-8{grid-template-columns:4fr 8fr}
}
@media (min-width:1040px){
  .card-grid--3{grid-template-columns:repeat(3,1fr)}
}
.stack>*+*{margin-top:1rem}
.stack--lg>*+*{margin-top:clamp(1.5rem,3vw,2.25rem)}
.cluster{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}
.rule{height:1px;border:0;margin:0;background:linear-gradient(90deg,var(--gold),rgba(200,150,62,0))}
.rule--ink{background:linear-gradient(90deg,var(--ink),rgba(27,25,23,0))}

/* ---------- 4. 文字级 ---------- */
.display{
  font-family:var(--font-serif);
  font-size:clamp(2.2rem,6vw,4.2rem);
  font-weight:700;
  line-height:1.08;
  letter-spacing:.02em;
}
.h1{font-size:clamp(1.9rem,4.4vw,2.5rem);font-weight:700}
.h2{font-size:clamp(1.6rem,3.2vw,1.75rem);font-weight:700}
.h3{font-size:var(--fs-20)}
.h4{font-size:var(--fs-16)}
.lead{font-size:var(--fs-20);line-height:1.7}
.muted{color:var(--gray);font-size:var(--fs-14)}
.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:.02em}
.prose{max-width:34em}
.prose p{margin:0 0 1em}
.prose ul{list-style:square;padding-left:1.3em;margin:0 0 1em}
.prose ol{list-style:decimal;padding-left:1.5em;margin:0 0 1em}
.prose li{margin:.35em 0}
.prose li::marker{color:var(--red)}
.annot{
  font-family:var(--font-mono);
  font-size:var(--fs-12);
  letter-spacing:.24em;
  color:var(--gold-deep);
  text-transform:uppercase;
}
.annot--vert{writing-mode:vertical-rl;text-orientation:mixed;letter-spacing:.32em}
.annot--teal{color:var(--teal)}
.link-more{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  font-family:var(--font-mono);
  font-size:var(--fs-12);
  letter-spacing:.12em;
  color:var(--red);
}
.link-more::after{content:"→";color:var(--gold-deep)}
.link-more:hover{color:var(--red-deep);text-decoration:none}

/* ---------- 5. 区块四件套 ---------- */
.section{padding:clamp(3rem,7vw,6rem) 0}
.section--rice{background:var(--rice)}
.section__head{
  display:grid;
  gap:.6rem;
  max-width:44rem;
  margin-bottom:clamp(1.75rem,4vw,3rem);
}
.section__num{
  font-family:var(--font-mono);
  font-size:var(--fs-12);
  letter-spacing:.3em;
  color:var(--gold-deep);
}
.section__title{
  font-family:var(--font-serif);
  font-size:clamp(1.7rem,3.6rem - 1vw,2.5rem);
  font-weight:700;
  line-height:1.2;
}
.section__lead{max-width:34em;color:var(--gray);font-size:var(--fs-16);margin:0}

/* ---------- 6. 印章 · 标签 · 按钮 ---------- */
.seal{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-family:var(--font-serif);
  font-size:var(--fs-12);
  letter-spacing:.18em;
  padding:.3rem .6rem;
  border:1px solid var(--ink);
  border-radius:var(--radius);
  background:var(--paper);
  color:var(--ink);
  white-space:nowrap;
}
.seal--red{background:var(--red);border-color:var(--red-deep);color:var(--paper)}
.seal--gold{background:var(--champagne);border-color:var(--gold);color:var(--gold-deep)}
.seal--ink{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.tag{
  display:inline-block;
  font-family:var(--font-mono);
  font-size:var(--fs-12);
  letter-spacing:.08em;
  padding:.18rem .5rem;
  border:1px solid var(--gold);
  background:var(--rice);
  color:var(--gold-deep);
  border-radius:var(--radius);
}
.tag--red{border-color:var(--red);background:rgba(184,50,44,.07);color:var(--red)}
.tag--teal{border-color:var(--teal);background:rgba(47,93,98,.07);color:var(--teal)}
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.5rem;
  padding:.8rem 1.4rem;
  border:1px solid var(--ink);
  border-radius:var(--radius);
  background:var(--paper);
  color:var(--ink);
  font-family:var(--font-sans);
  font-size:var(--fs-14);
  font-weight:500;
  letter-spacing:.06em;
  cursor:pointer;
  text-decoration:none;
  transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease,color .18s ease,border-color .18s ease;
}
.btn:hover{text-decoration:none;transform:translateY(-2px);box-shadow:var(--shadow-print)}
.btn:active{transform:translateY(0)}
.btn--gold{background:var(--gold);border-color:var(--gold-deep);color:var(--ink)}
.btn--red{background:var(--red);border-color:var(--red-deep);color:var(--paper)}
.btn--ghost{background:transparent;border-color:var(--gold-deep);color:var(--gold-deep)}
.btn--sm{padding:.5rem .9rem;font-size:var(--fs-12);letter-spacing:.1em}
.btn-row{display:flex;flex-wrap:wrap;gap:.75rem}

/* ---------- 7. 纸张卡片 ---------- */
.paper-card{
  position:relative;
  background:var(--paper);
  border:var(--line);
  border-radius:var(--radius);
  padding:clamp(1.25rem,2.4vw,1.9rem);
  box-shadow:var(--shadow-print);
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.paper-card::before{
  content:"";
  position:absolute;
  top:0;left:0;right:0;
  height:4px;
  background:var(--gold);
}
.paper-card--rice{background:var(--rice)}
.paper-card--flat{box-shadow:none}
.paper-card--lift:hover{
  transform:translateY(-2px);
  border-color:var(--gold-deep);
  box-shadow:7px 7px 0 var(--champagne),7px 7px 0 1px var(--gold-deep);
}
.paper-card__head{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  justify-content:space-between;
  gap:.5rem 1rem;
  margin:0 0 .75rem;
}
.paper-card__body{color:var(--ink)}
.paper-card__body p:last-child{margin-bottom:0}

/* ---------- 8. 图像容器 ---------- */
.media{
  position:relative;
  overflow:hidden;
  border:var(--line);
  border-radius:var(--radius);
  background:var(--rice);
}
.media--16x9{aspect-ratio:16/9}
.media--4x3{aspect-ratio:4/3}
.media--1x1{aspect-ratio:1/1}
.media--wide{aspect-ratio:21/9}
.media__img{width:100%;height:100%;object-fit:cover}
.media__ph{
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:.5rem;
  padding:1rem;
  text-align:center;
  font-family:var(--font-mono);
  font-size:var(--fs-12);
  letter-spacing:.2em;
  color:var(--gold-deep);
  background:
    repeating-linear-gradient(45deg,rgba(200,150,62,.12) 0 10px,rgba(200,150,62,0) 10px 20px),
    var(--rice);
}
.media--framed::after{
  content:"";
  position:absolute;
  inset:8px;
  border:1px solid rgba(251,246,236,.72);
  pointer-events:none;
}
.media__cap{
  margin-top:.6rem;
  font-family:var(--font-mono);
  font-size:var(--fs-12);
  letter-spacing:.08em;
  color:var(--gray);
}

/* ---------- 9. 时间轴 · 步骤 ---------- */
.timeline{
  position:relative;
  padding-left:1.6rem;
  border-left:2px solid var(--red-deep);
}
.timeline__item{position:relative;padding:0 0 2rem 1rem}
.timeline__item:last-child{padding-bottom:0}
.timeline__dot{
  position:absolute;
  left:calc(-1.6rem - 6px);
  top:.5rem;
  width:10px;height:10px;
  border-radius:50%;
  background:var(--red);
  border:2px solid var(--paper);
}
.timeline__date{
  display:block;
  font-family:var(--font-mono);
  font-size:var(--fs-12);
  letter-spacing:.14em;
  color:var(--gold-deep);
  margin-bottom:.25rem;
}
.timeline__body p:last-child{margin-bottom:0}

.steps{display:grid;gap:0}
.step{
  position:relative;
  display:grid;
  grid-template-columns:auto 1fr;
  gap:1rem;
  padding:0 0 1.75rem;
}
.step:last-child{padding-bottom:0}
.step:not(:last-child)::before{
  content:"";
  position:absolute;
  left:1.05rem;
  top:2.5rem;
  bottom:0;
  width:1px;
  background:var(--gold);
}
.step__num{
  width:2.1rem;height:2.1rem;
  display:grid;place-items:center;
  border:1px solid var(--gold-deep);
  border-radius:50%;
  background:var(--champagne);
  color:var(--gold-deep);
  font-family:var(--font-mono);
  font-size:var(--fs-14);
}
.step__body{padding-top:.15rem}
.step__title{font-family:var(--font-serif);font-size:var(--fs-20);margin:0 0 .35rem}

/* ---------- 10. 标签页 · 折叠 · 筛选 ---------- */
.tabs{display:block}
.tabs__list{
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
  padding-bottom:.75rem;
  margin-bottom:1.5rem;
  border-bottom:1px solid var(--champagne);
}
.tabs__btn{
  padding:.5rem 1rem;
  border:1px solid transparent;
  border-radius:var(--radius);
  color:var(--gray);
  font-size:var(--fs-14);
  letter-spacing:.04em;
  cursor:pointer;
}
.tabs__btn:hover{color:var(--red)}
.tabs__btn[aria-selected="true"]{
  background:var(--red);
  border-color:var(--red-deep);
  color:var(--paper);
}
.tabs__panel[hidden]{display:none}

.acc{display:grid;gap:.75rem}
.acc__item{border:1px solid var(--champagne);background:var(--paper);border-radius:var(--radius)}
.acc__btn{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  padding:1rem 1.1rem;
  text-align:left;
  font-family:var(--font-serif);
  font-size:var(--fs-16);
  cursor:pointer;
}
.acc__btn::after{content:"＋";font-family:var(--font-mono);color:var(--gold-deep)}
.acc__btn[aria-expanded="true"]{color:var(--red)}
.acc__btn[aria-expanded="true"]::after{content:"－"}
.acc__panel{padding:0 1.1rem 1.1rem;font-size:var(--fs-14);color:var(--gray)}
.acc__panel[hidden]{display:none}

.filters{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}
.filter-btn{
  padding:.4rem .8rem;
  border:1px solid var(--gold);
  border-radius:var(--radius);
  background:transparent;
  color:var(--gold-deep);
  font-family:var(--font-mono);
  font-size:var(--fs-12);
  letter-spacing:.12em;
  cursor:pointer;
}
.filter-btn[aria-pressed="true"]{background:var(--gold);border-color:var(--gold-deep);color:var(--ink)}
[data-cat].is-hidden{display:none}

/* ---------- 11. 面包屑 ---------- */
.breadcrumbs{padding:1.1rem 0 0}
.breadcrumbs__list{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.4rem;
  font-family:var(--font-mono);
  font-size:var(--fs-12);
  color:var(--gray);
}
.breadcrumbs__item{display:flex;align-items:center;gap:.4rem}
.breadcrumbs__item+.breadcrumbs__item::before{content:"／";color:var(--gold)}
.breadcrumbs__link{color:var(--gray)}
.breadcrumbs__link:hover{color:var(--red);text-decoration:none}
.breadcrumbs__item [aria-current="page"]{color:var(--ink)}

/* ---------- 12. 头部 ---------- */
.skip-link{
  position:absolute;
  left:1rem;
  top:-4rem;
  z-index:90;
  padding:.6rem 1rem;
  background:var(--ink);
  color:var(--paper);
  font-size:var(--fs-14);
  transition:top .2s ease;
}
.skip-link:focus{top:.5rem;text-decoration:none}

.site-header{
  position:sticky;
  top:0;
  z-index:60;
  background:var(--paper);
  border-bottom:2px solid var(--ink);
}
.header-top{border-bottom:1px solid var(--champagne);background:var(--paper)}
.header-top__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  padding-top:.75rem;
  padding-bottom:.75rem;
}
.brand{display:flex;align-items:center;gap:.75rem;color:var(--ink)}
.brand:hover{text-decoration:none}
.brand__mark{
  flex:0 0 auto;
  width:2.5rem;height:2.5rem;
  display:grid;place-items:center;
  background:var(--red);
  color:var(--paper);
  font-family:var(--font-serif);
  font-size:var(--fs-20);
  font-weight:700;
  letter-spacing:0;
  box-shadow:3px 3px 0 var(--champagne);
}
.brand__text{display:flex;flex-direction:column;line-height:1.25}
.brand__name{font-family:var(--font-serif);font-size:var(--fs-20);font-weight:700;letter-spacing:.1em}
.brand__desc{font-size:var(--fs-12);color:var(--gray);letter-spacing:.04em}
.header-meta{
  display:flex;
  align-items:center;
  gap:.9rem;
  font-size:var(--fs-12);
}
.meta-link{
  display:inline-flex;
  align-items:baseline;
  gap:.4rem;
  padding-bottom:2px;
  border-bottom:1px solid rgba(47,93,98,.35);
  color:var(--teal);
}
.meta-link:hover{color:var(--red);border-bottom-color:var(--red);text-decoration:none}
.meta-mail{font-family:var(--font-mono);color:var(--gold-deep)}
.meta-note{font-family:var(--font-mono);color:var(--gray);letter-spacing:.04em}

.header-nav{position:relative;background:var(--rice)}
.header-nav__inner{display:flex;align-items:center;gap:.75rem}
.nav{flex:1 1 auto;min-width:0}
.nav-track{
  display:flex;
  align-items:stretch;
  gap:.25rem;
  overflow-x:auto;
  scrollbar-width:thin;
  -webkit-overflow-scrolling:touch;
}
.nav-item{flex:0 0 auto}
.nav-link{
  display:inline-block;
  padding:.85rem .95rem;
  border-bottom:3px solid transparent;
  color:var(--ink);
  font-size:var(--fs-14);
  letter-spacing:.06em;
  white-space:nowrap;
}
.nav-link:hover{
  color:var(--red);
  border-bottom-color:var(--champagne);
  text-decoration:none;
}
.nav-link[aria-current="page"]{
  color:var(--red-deep);
  font-weight:600;
  border-bottom-color:var(--red);
  background:linear-gradient(180deg,rgba(235,211,160,0) 55%,rgba(235,211,160,.6) 55%);
}
.nav-toggle{
  display:none;
  align-items:center;
  gap:.5rem;
  padding:.5rem .7rem;
  border:1px solid var(--ink);
  border-radius:var(--radius);
  background:var(--paper);
  font-family:var(--font-mono);
  font-size:var(--fs-12);
  letter-spacing:.12em;
  cursor:pointer;
}
.nav-toggle:hover{border-color:var(--gold-deep);color:var(--gold-deep)}
.nav-toggle__bars{position:relative;display:inline-block;width:16px;height:10px}
.nav-toggle__bars::before,
.nav-toggle__bars::after{
  content:"";
  position:absolute;left:0;right:0;height:1.5px;
  background:var(--red);
  transition:transform .2s ease,top .2s ease,bottom .2s ease;
}
.nav-toggle__bars::before{top:0}
.nav-toggle__bars::after{bottom:0}
.nav-toggle[aria-expanded="true"]{background:var(--champagne);border-color:var(--gold-deep)}
.nav-toggle[aria-expanded="true"] .nav-toggle__bars::before{top:4px;transform:rotate(45deg)}
.nav-toggle[aria-expanded="true"] .nav-toggle__bars::after{bottom:4px;transform:rotate(-45deg)}

.scroll-progress{
  position:absolute;
  left:0;right:0;bottom:-2px;
  height:3px;
  background:rgba(27,25,23,.08);
  pointer-events:none;
}
.scroll-progress__bar{
  display:block;
  height:100%;
  background:linear-gradient(90deg,var(--gold),var(--red));
  transform:scaleX(0);
  transform-origin:0 50%;
}

/* ---------- 13. 页脚 ---------- */
.site-footer{
  position:relative;
  margin-top:clamp(3rem,8vw,6rem);
  background:var(--red-deep);
  color:var(--paper);
  overflow:hidden;
}
.site-footer::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:repeating-linear-gradient(45deg,rgba(235,211,160,.06) 0 12px,rgba(235,211,160,0) 12px 24px);
  pointer-events:none;
}
.footer-main{
  position:relative;
  padding:clamp(2.5rem,6vw,4rem) 0 clamp(1.5rem,3vw,2.5rem);
}
.footer-brand{
  display:flex;
  align-items:center;
  gap:1rem;
  padding-bottom:1.5rem;
  border-bottom:1px solid rgba(235,211,160,.35);
}
.footer-brand__mark{
  flex:0 0 auto;
  width:2.75rem;height:2.75rem;
  display:grid;place-items:center;
  background:var(--gold);
  color:var(--red-deep);
  font-family:var(--font-serif);
  font-size:var(--fs-20);
  font-weight:700;
}
.footer-brand__text{display:block}
.footer-brand__name{
  display:block;
  font-family:var(--font-serif);
  font-size:var(--fs-20);
  font-weight:700;
  letter-spacing:.12em;
}
.footer-brand__note{display:block;font-size:var(--fs-12);color:var(--champagne)}
.footer-seal{
  display:none;
  position:absolute;
  right:0;
  top:clamp(2.5rem,6vw,4rem);
  width:64px;height:64px;
  margin:0;
  place-items:center;
  border:2px solid rgba(235,211,160,.5);
  color:var(--champagne);
  font-family:var(--font-serif);
  font-size:var(--fs-14);
  letter-spacing:.24em;
  writing-mode:vertical-rl;
  text-orientation:mixed;
  transform:rotate(-6deg);
  opacity:.75;
  pointer-events:none;
}
.footer-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:clamp(1.5rem,3vw,2.25rem);
  padding-top:clamp(1.5rem,3vw,2.25rem);
}
.footer-col__title{
  display:flex;
  align-items:center;
  gap:.5rem;
  margin:0 0 .9rem;
  font-family:var(--font-serif);
  font-size:var(--fs-16);
  font-weight:600;
  letter-spacing:.14em;
  color:var(--gold);
}
.footer-col__title::before{content:"";width:14px;height:1px;background:var(--gold)}
.footer-list{display:grid;gap:.55rem;font-size:var(--fs-14)}
.footer-list a{color:var(--paper);opacity:.88}
.footer-list a:hover{color:var(--gold);opacity:1;text-decoration:none}
.footer-contact{display:grid;gap:.6rem;font-size:var(--fs-14)}
.contact-row{display:grid;grid-template-columns:4.5rem 1fr;gap:.5rem;align-items:baseline}
.contact-row__k{
  font-family:var(--font-mono);
  font-size:var(--fs-12);
  letter-spacing:.1em;
  color:var(--champagne);
}
.contact-row__v{color:var(--paper);word-break:break-word}
.contact-row__v--mono{font-family:var(--font-mono);font-size:var(--fs-14)}
.footer-contact a{color:var(--champagne);border-bottom:1px solid rgba(235,211,160,.45)}
.footer-contact a:hover{color:var(--gold);text-decoration:none}
.footer-bottom{
  position:relative;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:.75rem 1.5rem;
  padding:1.1rem 0 1.6rem;
  border-top:1px solid rgba(235,211,160,.35);
  font-size:var(--fs-12);
  color:var(--champagne);
}
.footer-legal{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1.25rem}
.footer-note{font-family:var(--font-mono);color:rgba(251,246,236,.72)}
.footer-links{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem}
.footer-links a{color:var(--champagne)}
.footer-links a:hover{color:var(--gold);text-decoration:none}

/* ---------- 14. 显现与返回顶部 ---------- */
[data-reveal]{
  opacity:0;
  transform:translateY(18px);
  transition:opacity .5s ease,transform .5s ease;
}
[data-reveal].is-in{opacity:1;transform:none}
.to-top{
  position:fixed;
  right:clamp(1rem,3vw,2rem);
  bottom:clamp(1rem,3vw,2rem);
  z-index:40;
  width:2.75rem;height:2.75rem;
  display:grid;place-items:center;
  border:1px solid var(--gold-deep);
  border-radius:var(--radius);
  background:var(--paper);
  color:var(--gold-deep);
  font-family:var(--font-mono);
  font-size:var(--fs-12);
  letter-spacing:.06em;
  cursor:pointer;
  opacity:0;
  visibility:hidden;
  transform:translateY(8px);
  transition:opacity .3s ease,transform .3s ease,visibility .3s ease;
}
.to-top[data-visible]{opacity:1;visibility:visible;transform:none}
.to-top:hover{background:var(--champagne)}

/* ---------- 15. 响应式 ---------- */
@media (min-width:640px){
  .footer-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:767px){
  .header-top__inner{flex-wrap:wrap;gap:.5rem}
  .header-meta{width:100%;justify-content:space-between}
  .nav-toggle{display:inline-flex}
  .header-nav__inner{padding-top:.4rem;padding-bottom:.4rem}
  .nav{position:relative}
  .nav-track{
    padding-bottom:.35rem;
    overscroll-behavior-x:contain;
  }
  .nav[data-open] .nav-track{
    counter-reset:navidx;
    display:grid;
    grid-template-columns:1fr 1fr;
    column-gap:1rem;
    margin:0 calc(var(--gutter) * -1);
    padding:.25rem var(--gutter) 0;
    overflow:visible;
    background:var(--paper);
    border-top:1px solid var(--champagne);
    box-shadow:inset 0 1px 0 rgba(27,25,23,.06);
  }
  .nav[data-open] .nav-item{
    border-bottom:1px solid var(--champagne);
  }
  .nav[data-open] .nav-link{
    display:flex;
    align-items:center;
    gap:.6rem;
    width:100%;
    padding:.9rem .2rem;
    border-bottom:0;
    counter-increment:navidx;
  }
  .nav[data-open] .nav-link::before{
    content:counter(navidx,decimal-leading-zero);
    font-family:var(--font-mono);
    font-size:var(--fs-12);
    color:var(--gold-deep);
  }
  .nav[data-open] .nav-link[aria-current="page"]{
    background:none;
    color:var(--red);
  }
  .nav[data-open] .nav-link[aria-current="page"]::before{color:var(--red)}
}
@media (min-width:768px){
  .nav-track{flex-wrap:nowrap}
}
@media (min-width:900px){
  .footer-seal{display:grid}
  .footer-main{padding-right:6rem}
}
@media (min-width:1000px){
  .footer-grid{grid-template-columns:1.2fr 1fr 1fr 1.1fr}
}
@media (max-width:430px){
  .brand__desc{display:none}
  .meta-mail{display:none}
  .meta-note{font-size:var(--fs-12)}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{
    animation-duration:.001ms!important;
    animation-iteration-count:1!important;
    transition-duration:.001ms!important;
  }
  [data-reveal]{opacity:1;transform:none}
  .btn:hover,.paper-card--lift:hover{transform:none}
}
