/* =========================================================
   大红鹰官网 · 共享样式表 /assets/site.css
   1 变量 / 2 重置与基础 / 3 通用组件 / 4 页头 / 5 页脚
   ========================================================= */

/* ---------- 1. 变量 ---------- */
:root{
  --c-hawk:#2A1D15;
  --c-feather:#3E2C1F;
  --c-ink:#14100C;
  --c-gold:#C9A227;
  --c-gold-lite:#E8C766;
  --c-canyon:#D2601A;
  --c-dusk:#1F3A4D;
  --c-ochre:#7A2E22;
  --c-paper:#F3EBDD;
  --c-stone:#8C8377;

  --fs-12:12px;
  --fs-14:14px;
  --fs-16:16px;
  --fs-18:18px;
  --fs-24:24px;
  --fs-32:32px;
  --fs-48:48px;
  --fs-72:72px;
  --fs-120:120px;

  --sp-1:8px;
  --sp-2:16px;
  --sp-3:24px;
  --sp-4:32px;
  --sp-6:48px;
  --sp-9:72px;
  --sp-15:120px;

  --line:2px;
  --radius:4px;
  --shadow-soft:4px 4px 0 var(--c-ink);
  --shadow-hard:8px 8px 0 var(--c-ink);
  --shadow-hard-lg:12px 12px 0 var(--c-ink);

  --font-display:"Noto Sans SC","Source Han Sans SC","PingFang SC","Hiragino Sans GB","Microsoft YaHei",system-ui,sans-serif;
  --font-body:"Noto Sans SC","Source Han Sans SC","PingFang SC","Hiragino Sans GB","Microsoft YaHei",system-ui,sans-serif;

  --w-max:1240px;
  --gutter:24px;
}

/* ---------- 2. 重置与基础 ---------- */
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--c-paper);
  color:var(--c-ink);
  font-family:var(--font-body);
  font-size:var(--fs-16);
  line-height:1.75;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4,h5,p,figure,blockquote{margin:0;}
ul,ol{margin:0;padding:0;list-style:none;}
a{color:inherit;}
button{font:inherit;color:inherit;}
img,svg{max-width:100%;}
img{height:auto;}
:focus-visible{outline:3px solid var(--c-gold-lite);outline-offset:2px;}
::selection{background:var(--c-gold);color:var(--c-ink);}
body{overflow-x:hidden;}

.visually-hidden{
  position:absolute!important;
  width:1px;height:1px;
  margin:-1px;padding:0;
  overflow:hidden;
  clip:rect(0 0 0 0);
  clip-path:inset(50%);
  white-space:nowrap;
  border:0;
}

/* ---------- 3. 通用组件 ---------- */
.container{
  width:min(100% - (var(--gutter) * 2),var(--w-max));
  margin-inline:auto;
}

.section{padding:var(--sp-9) 0;}
.section--tight{padding:var(--sp-6) 0;}
.section--paper{background:var(--c-paper);color:var(--c-ink);}
.section--hawk{background:var(--c-hawk);color:var(--c-paper);}
.section--dusk{background:var(--c-dusk);color:var(--c-paper);}
.section--ochre{background:var(--c-ochre);color:var(--c-paper);}

.display-xl{
  font-family:var(--font-display);
  font-weight:900;
  font-size:var(--fs-48);
  line-height:.98;
  letter-spacing:.04em;
}
.display-lg{
  font-family:var(--font-display);
  font-weight:900;
  font-size:var(--fs-32);
  line-height:1.05;
  letter-spacing:.04em;
}
@media (min-width:901px){
  .display-xl{font-size:var(--fs-120);}
  .display-lg{font-size:var(--fs-72);}
  .section{padding:var(--sp-15) 0;}
}

.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:var(--sp-1);
  font-family:var(--font-display);
  font-size:var(--fs-12);
  font-weight:700;
  letter-spacing:.24em;
  color:var(--c-gold);
}
.eyebrow::before{
  content:"";
  display:block;
  width:24px;height:2px;
  background:var(--c-gold);
}

.annotation{
  writing-mode:vertical-rl;
  font-size:var(--fs-12);
  font-weight:500;
  letter-spacing:.32em;
  color:var(--c-gold);
}

.rule{
  height:1px;
  border:0;
  margin:var(--sp-3) 0;
  background:rgba(201,162,39,.45);
}

.panel{
  background:var(--c-paper);
  color:var(--c-ink);
  border:var(--line) solid var(--c-ink);
  border-radius:var(--radius);
  box-shadow:var(--shadow-hard);
  padding:var(--sp-4);
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;
}
.panel:hover,
.panel:focus-within{
  transform:translateY(-2px);
  box-shadow:var(--shadow-hard-lg);
  border-color:var(--c-gold);
}
.panel--feather{background:var(--c-feather);color:var(--c-paper);}
.panel--dusk{background:var(--c-dusk);color:var(--c-paper);}
.panel--ochre{background:var(--c-ochre);color:var(--c-paper);}
.panel--gold{background:var(--c-gold);color:var(--c-ink);}
.panel-head{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  justify-content:space-between;
  gap:var(--sp-2);
  margin-bottom:var(--sp-3);
}
.panel-title{
  font-family:var(--font-display);
  font-weight:900;
  font-size:var(--fs-24);
  letter-spacing:.04em;
  line-height:1.2;
}

.tag-list{
  display:flex;
  flex-wrap:wrap;
  gap:var(--sp-1);
}
.tag{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 12px;
  font-size:var(--fs-12);
  font-weight:700;
  letter-spacing:.14em;
  text-decoration:none;
  color:var(--c-ink);
  background:transparent;
  border:var(--line) solid var(--c-ink);
  border-radius:var(--radius);
  cursor:pointer;
  transition:background-color .16s ease,color .16s ease,border-color .16s ease;
}
.tag:hover{border-color:var(--c-gold);background:rgba(201,162,39,.18);}
.tag[aria-pressed="true"]{background:var(--c-gold);color:var(--c-ink);border-color:var(--c-ink);}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:var(--sp-1);
  padding:14px 26px;
  font-family:var(--font-display);
  font-size:var(--fs-16);
  font-weight:800;
  letter-spacing:.08em;
  text-decoration:none;
  color:var(--c-ink);
  background:var(--c-paper);
  border:var(--line) solid var(--c-ink);
  border-radius:var(--radius);
  box-shadow:var(--shadow-soft);
  cursor:pointer;
  transition:transform .16s ease,box-shadow .16s ease,background-color .16s ease,color .16s ease,border-color .16s ease;
}
.btn:hover{transform:translate(-2px,-2px);box-shadow:var(--shadow-hard);}
.btn:active{transform:translate(2px,2px);box-shadow:none;}
.btn--primary{background:var(--c-canyon);color:var(--c-ink);}
.btn--gold{background:var(--c-gold);color:var(--c-ink);}
.btn--ghost{background:transparent;color:var(--c-paper);border-color:var(--c-gold);box-shadow:var(--shadow-soft);}
.btn--ghost:hover{background:var(--c-gold);color:var(--c-ink);}
.btn--small{padding:10px 16px;font-size:var(--fs-14);}
.btn[data-copied]{background:var(--c-gold);color:var(--c-ink);border-color:var(--c-ink);}

.breadcrumb{padding:var(--sp-2) 0;}
.breadcrumb-list{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:var(--sp-1);
  font-size:var(--fs-12);
  letter-spacing:.14em;
}
.breadcrumb-item{display:flex;align-items:center;gap:var(--sp-1);color:var(--c-stone);}
.breadcrumb-item + .breadcrumb-item::before{content:"/";color:var(--c-stone);}
.breadcrumb-link{color:var(--c-stone);text-decoration:none;}
.breadcrumb-link:hover{color:var(--c-gold);text-decoration:underline;text-underline-offset:3px;}
.breadcrumb-current{color:var(--c-gold);font-weight:700;}

.prose{max-width:36em;font-size:var(--fs-18);line-height:1.75;}
.prose p + p{margin-top:var(--sp-2);}
.prose h2,.prose h3{
  font-family:var(--font-display);
  font-weight:900;
  letter-spacing:.04em;
  line-height:1.2;
  margin-top:var(--sp-4);
  margin-bottom:var(--sp-2);
}
.prose h2{font-size:var(--fs-32);}
.prose h3{font-size:var(--fs-24);}
.prose a{color:var(--c-canyon);text-decoration:underline;text-underline-offset:3px;}
.prose ul,.prose ol{padding-left:1.2em;margin-top:var(--sp-2);}
.prose ul{list-style:square;}
.prose ol{list-style:decimal;}
.prose li + li{margin-top:6px;}

.grid{display:grid;gap:var(--sp-3);}
.grid--halves{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));}
.grid--thirds{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));}
.stack{display:flex;flex-direction:column;gap:var(--sp-3);}

.media-frame{
  position:relative;
  overflow:hidden;
  aspect-ratio:16 / 9;
  background:var(--c-feather);
  border:var(--line) solid var(--c-ink);
  border-radius:var(--radius);
  box-shadow:var(--shadow-hard);
}
.media-frame img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.media-frame--wide{aspect-ratio:21 / 9;}
.media-frame--tall{aspect-ratio:3 / 4;}
.media-frame--square{aspect-ratio:1 / 1;}
.media-frame--cut{clip-path:polygon(0 0,100% 0,100% 86%,86% 100%,0 100%);}

/* 进入视口显现（JS 添加 html.js-reveal 后生效） */
[data-reveal]{transition:opacity .24s ease,transform .24s ease;}
html.js-reveal [data-reveal]{opacity:0;transform:translateY(12px);}
html.js-reveal [data-reveal][data-revealed]{opacity:1;transform:none;}

/* ---------- 4. 页头 ---------- */
.site-header{
  position:sticky;
  top:0;
  z-index:60;
  background-color:var(--c-hawk);
  background-image:repeating-linear-gradient(115deg,rgba(201,162,39,.07) 0 2px,transparent 2px 16px);
  color:var(--c-paper);
  border-bottom:var(--line) solid var(--c-ink);
}

.skip-link{
  position:absolute;
  left:16px;
  top:8px;
  z-index:90;
  padding:10px 16px;
  font-size:var(--fs-14);
  font-weight:800;
  letter-spacing:.08em;
  text-decoration:none;
  color:var(--c-ink);
  background:var(--c-gold);
  border:var(--line) solid var(--c-ink);
  border-radius:var(--radius);
  transform:translateY(-220%);
  transition:transform .16s ease;
}
.skip-link:focus{transform:translateY(0);}

.header-utility{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--sp-2);
  width:min(100% - (var(--gutter) * 2),var(--w-max));
  margin-inline:auto;
  padding:var(--sp-1) 0;
  border-bottom:1px solid rgba(201,162,39,.28);
}
.header-note{
  font-size:var(--fs-12);
  letter-spacing:.2em;
  color:var(--c-stone);
}
.header-quick{display:flex;gap:var(--sp-1);}
.quick-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:6px 14px;
  font-size:var(--fs-12);
  font-weight:700;
  letter-spacing:.12em;
  text-decoration:none;
  color:var(--c-paper);
  background:transparent;
  border:1px solid rgba(201,162,39,.55);
  border-radius:var(--radius);
  transition:background-color .16s ease,color .16s ease,border-color .16s ease;
}
.quick-link:hover{
  background:var(--c-gold);
  border-color:var(--c-ink);
  color:var(--c-ink);
}
.quick-link--accent{
  background:var(--c-canyon);
  color:var(--c-ink);
  border-color:var(--c-ink);
  font-weight:800;
}
.quick-link--accent:hover{background:var(--c-gold-lite);color:var(--c-ink);}

.masthead{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:var(--sp-3);
  width:min(100% - (var(--gutter) * 2),var(--w-max));
  margin-inline:auto;
  padding:var(--sp-3) 0 var(--sp-2);
}
.masthead-aside{
  font-size:var(--fs-12);
  font-weight:500;
  letter-spacing:.34em;
  color:rgba(232,199,102,.72);
  writing-mode:vertical-rl;
  transition:opacity .18s ease;
}
.masthead-aside--start{justify-self:start;}
.masthead-aside--end{justify-self:end;}

.brand{
  display:inline-flex;
  align-items:center;
  gap:var(--sp-2);
  justify-self:center;
  text-decoration:none;
  color:inherit;
}
.brand-eye{
  position:relative;
  flex:0 0 auto;
  width:46px;
  height:46px;
  border:var(--line) solid var(--c-gold);
  border-radius:50%;
  transition:width .18s ease,height .18s ease,border-color .18s ease;
}
.brand-eye::before{
  content:"";
  position:absolute;
  inset:9px;
  border:var(--line) solid var(--c-gold-lite);
  border-right-color:transparent;
  border-radius:50%;
  transform:rotate(-35deg);
}
.brand-eye::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:8px;
  height:8px;
  margin:-4px 0 0 -4px;
  background:var(--c-canyon);
  border-radius:50%;
  box-shadow:0 0 0 2px var(--c-ink);
}
.brand-text{display:block;}
.brand-name{
  display:block;
  font-family:var(--font-display);
  font-size:var(--fs-32);
  font-weight:900;
  line-height:1;
  letter-spacing:.18em;
  color:var(--c-paper);
  transition:font-size .18s ease,color .16s ease;
}
.brand-tagline{
  display:block;
  margin-top:6px;
  font-size:var(--fs-12);
  font-weight:500;
  letter-spacing:.3em;
  color:var(--c-gold);
  transition:opacity .18s ease;
}
.brand:hover .brand-name{color:var(--c-gold-lite);}
.brand:hover .brand-eye{border-color:var(--c-gold-lite);}

.nav-bar{
  position:relative;
  display:flex;
  justify-content:center;
  width:min(100% - (var(--gutter) * 2),var(--w-max));
  margin-inline:auto;
  border-top:1px solid rgba(201,162,39,.35);
}
.site-nav{display:flex;justify-content:center;}
.nav-list{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
}
.nav-item + .nav-item .nav-link{border-left:1px solid rgba(201,162,39,.26);}
.nav-link{
  display:block;
  padding:14px 22px;
  font-family:var(--font-display);
  font-size:var(--fs-14);
  font-weight:700;
  letter-spacing:.14em;
  text-decoration:none;
  color:rgba(243,235,221,.84);
  transition:background-color .16s ease,color .16s ease;
}
.nav-link:hover{background:rgba(201,162,39,.16);color:var(--c-gold-lite);}
.nav-link[aria-current="page"]{
  background:var(--c-gold);
  color:var(--c-ink);
  box-shadow:inset 0 -3px 0 var(--c-canyon);
}

.nav-toggle{
  display:none;
  align-items:center;
  justify-content:space-between;
  gap:var(--sp-2);
  width:100%;
  padding:12px var(--sp-2);
  background:var(--c-feather);
  border:0;
  color:var(--c-paper);
  font-size:var(--fs-14);
  font-weight:700;
  letter-spacing:.18em;
  cursor:pointer;
}
.nav-toggle-label{flex:1 1 auto;text-align:left;}
.nav-toggle-bars,
.nav-toggle-bars::before,
.nav-toggle-bars::after{
  display:block;
  width:22px;
  height:2px;
  background:var(--c-gold);
  border-radius:2px;
  transition:transform .16s ease,background-color .16s ease;
}
.nav-toggle-bars{position:relative;}
.nav-toggle-bars::before{content:"";position:absolute;left:0;top:-7px;}
.nav-toggle-bars::after{content:"";position:absolute;left:0;top:7px;}
.nav-toggle[aria-expanded="true"] .nav-toggle-bars{background:transparent;}
.nav-toggle[aria-expanded="true"] .nav-toggle-bars::before{transform:translateY(7px) rotate(45deg);}
.nav-toggle[aria-expanded="true"] .nav-toggle-bars::after{transform:translateY(-7px) rotate(-45deg);}

.scroll-meter{
  height:3px;
  background:var(--c-gold);
  transform:scaleX(var(--progress,0));
  transform-origin:0 50%;
  will-change:transform;
}

/* 桌面端滚动收细 */
@media (min-width:901px){
  .site-header[data-scrolled] .header-utility{
    padding:0;
    border-bottom-color:transparent;
    opacity:0;
    visibility:hidden;
    height:0;
    overflow:hidden;
  }
  .site-header[data-scrolled] .masthead{padding:8px 0;}
  .site-header[data-scrolled] .masthead-aside{opacity:0;visibility:hidden;}
  .site-header[data-scrolled] .brand-eye{width:28px;height:28px;}
  .site-header[data-scrolled] .brand-eye::before{inset:6px;}
  .site-header[data-scrolled] .brand-eye::after{width:6px;height:6px;margin:-3px 0 0 -3px;}
  .site-header[data-scrolled] .brand-name{font-size:var(--fs-24);letter-spacing:.2em;}
  .site-header[data-scrolled] .brand-tagline{
    opacity:0;
    height:0;
    margin:0;
    overflow:hidden;
  }
  .site-header[data-scrolled] .nav-link{padding:10px 16px;font-size:var(--fs-12);}
}
.site-header .header-utility,
.site-header .masthead,
.site-header .nav-link,
.site-header .brand-name,
.site-header .brand-tagline,
.site-header .brand-eye{
  transition:padding .18s ease,opacity .18s ease,font-size .18s ease,height .18s ease,width .18s ease,color .16s ease,background-color .16s ease;
}

/* 移动端：折叠索引卡 + 底部双按钮条 */
@media (max-width:900px){
  body{padding-bottom:56px;}
  .header-utility{
    position:fixed;
    left:0;
    right:0;
    bottom:0;
    z-index:70;
    width:100%;
    margin:0;
    padding:0;
    border-top:var(--line) solid var(--c-ink);
    border-bottom:0;
    background:var(--c-hawk);
  }
  .header-note{display:none;}
  .header-quick{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:0;
    width:100%;
  }
  .quick-link{
    padding:14px 8px;
    font-size:var(--fs-14);
    letter-spacing:.1em;
    border:0;
    border-right:var(--line) solid var(--c-ink);
    border-radius:0;
    background:var(--c-feather);
    color:var(--c-paper);
  }
  .quick-link:last-child{border-right:0;}
  .quick-link--accent{background:var(--c-canyon);color:var(--c-ink);font-weight:800;}

  .masthead{
    grid-template-columns:1fr;
    padding:var(--sp-2) 0 var(--sp-2);
  }
  .masthead-aside{display:none;}
  .brand{gap:var(--sp-1);}
  .brand-eye{width:36px;height:36px;}
  .brand-eye::before{inset:7px;}
  .brand-name{font-size:var(--fs-24);}
  .brand-tagline{letter-spacing:.16em;}

  .nav-bar{width:100%;border-top:var(--line) solid var(--c-ink);}
  .nav-toggle{display:flex;}
  .site-nav{display:none;}
  .site-nav[data-open]{
    display:block;
    width:100%;
    padding:var(--sp-2);
    background:var(--c-feather);
    border-top:var(--line) solid var(--c-ink);
  }
  .nav-list{
    flex-direction:column;
    gap:var(--sp-1);
    counter-reset:navindex;
  }
  .nav-item{counter-increment:navindex;}
  .nav-item + .nav-item .nav-link{border-left:var(--line) solid var(--c-ink);}
  .nav-link{
    display:flex;
    align-items:center;
    gap:12px;
    padding:12px 14px;
    font-size:var(--fs-16);
    letter-spacing:.1em;
    background:var(--c-hawk);
    border:var(--line) solid var(--c-ink);
    border-radius:var(--radius);
    box-shadow:var(--shadow-soft);
  }
  .nav-link::before{
    content:counter(navindex,decimal-leading-zero);
    font-size:var(--fs-12);
    font-weight:700;
    letter-spacing:.2em;
    color:var(--c-gold);
  }
  .nav-link:hover{background:var(--c-hawk);color:var(--c-gold-lite);}
  .nav-link[aria-current="page"]{
    background:var(--c-gold);
    color:var(--c-ink);
    box-shadow:none;
    transform:translate(2px,2px);
  }
  .nav-link[aria-current="page"]::before{color:var(--c-ink);}
}

/* ---------- 5. 页脚 ---------- */
.site-footer{
  position:relative;
  background-color:var(--c-hawk);
  background-image:repeating-linear-gradient(115deg,rgba(201,162,39,.06) 0 2px,transparent 2px 18px);
  color:var(--c-paper);
  border-top:var(--line) solid var(--c-ink);
}
.footer-wing{
  height:14px;
  background-image:repeating-linear-gradient(115deg,var(--c-gold) 0 10px,transparent 10px 26px);
  background-color:var(--c-feather);
  border-bottom:var(--line) solid var(--c-ink);
}
.footer-inner{
  width:min(100% - (var(--gutter) * 2),var(--w-max));
  margin-inline:auto;
}
.footer-top{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(0,2fr);
  gap:var(--sp-6);
  padding:var(--sp-6) 0;
}
.footer-brand{display:flex;flex-direction:column;align-items:flex-start;gap:var(--sp-1);}
.footer-eye{
  position:relative;
  width:38px;
  height:38px;
  margin-bottom:var(--sp-1);
  border:var(--line) solid var(--c-gold);
  border-radius:50%;
}
.footer-eye::before{
  content:"";
  position:absolute;
  inset:7px;
  border:var(--line) solid var(--c-gold-lite);
  border-right-color:transparent;
  border-radius:50%;
  transform:rotate(-35deg);
}
.footer-eye::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:7px;
  height:7px;
  margin:-3.5px 0 0 -3.5px;
  background:var(--c-canyon);
  border-radius:50%;
  box-shadow:0 0 0 2px var(--c-ink);
}
.footer-brand-name{
  font-family:var(--font-display);
  font-size:var(--fs-32);
  font-weight:900;
  line-height:1;
  letter-spacing:.18em;
  color:var(--c-paper);
}
.footer-brand-tag{
  font-size:var(--fs-12);
  letter-spacing:.28em;
  color:var(--c-gold);
}
.footer-brand-note{
  max-width:30ch;
  margin-top:var(--sp-2);
  font-size:var(--fs-14);
  line-height:1.7;
  color:rgba(243,235,221,.66);
}
.footer-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:var(--sp-3);
}
.footer-col{
  padding-left:var(--sp-2);
  border-left:var(--line) solid rgba(201,162,39,.35);
}
.footer-col-title{
  margin-bottom:var(--sp-2);
  font-family:var(--font-display);
  font-size:var(--fs-12);
  font-weight:800;
  letter-spacing:.26em;
  color:var(--c-gold);
}
.footer-list{display:flex;flex-direction:column;gap:10px;}
.footer-item{line-height:1.4;}
.footer-link{
  font-size:var(--fs-14);
  letter-spacing:.08em;
  text-decoration:none;
  color:rgba(243,235,221,.86);
  transition:color .16s ease,box-shadow .16s ease;
}
.footer-link:hover{
  color:var(--c-gold-lite);
  box-shadow:inset 0 -2px 0 var(--c-gold);
}
.footer-contact{
  display:grid;
  gap:var(--sp-2);
  padding:var(--sp-4) 0;
  border-top:1px solid rgba(201,162,39,.3);
}
.contact-list{
  display:flex;
  flex-wrap:wrap;
  gap:var(--sp-1) var(--sp-4);
}
.contact-line{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:baseline;
  font-size:var(--fs-14);
  letter-spacing:.06em;
}
.contact-label{color:var(--c-gold);letter-spacing:.18em;}
.contact-value{color:var(--c-paper);}
.footer-note{
  max-width:52ch;
  font-size:var(--fs-12);
  line-height:1.7;
  color:rgba(243,235,221,.6);
}
.footer-bottom{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:var(--sp-1) var(--sp-3);
  padding:var(--sp-3) 0 var(--sp-6);
  border-top:1px solid rgba(201,162,39,.3);
  font-size:var(--fs-12);
  letter-spacing:.08em;
  color:var(--c-stone);
}
.footer-icp{color:rgba(243,235,221,.62);}
.footer-copy{margin-inline-end:auto;}
.footer-legal{
  color:var(--c-gold-lite);
  text-decoration:none;
  letter-spacing:.12em;
}
.footer-legal:hover{text-decoration:underline;text-underline-offset:3px;}

@media (max-width:900px){
  .footer-top{
    grid-template-columns:1fr;
    gap:var(--sp-4);
    padding:var(--sp-4) 0;
  }
  .footer-grid{grid-template-columns:1fr;gap:var(--sp-3);}
  .footer-col{border-left:0;padding-left:0;padding-top:var(--sp-2);border-top:1px solid rgba(201,162,39,.3);}
  .footer-col-title{margin-bottom:var(--sp-1);}
  .contact-list{flex-direction:column;gap:6px;}
  .footer-bottom{padding-bottom:var(--sp-4);}
}

/* ---------- 6. 动效与偏好 ---------- */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *,
  *::before,
  *::after{
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
  }
  .btn:hover,.btn:active,.panel:hover,.panel:focus-within{transform:none;}
  html.js-reveal [data-reveal]{opacity:1;transform:none;}
  html.js-reveal [data-reveal][data-revealed]{opacity:1;transform:none;}
}
