*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none !important}
body{overflow-anchor:none}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 16px);overflow-anchor:none}
body{
  margin:0;color:var(--ink-900);
  background-color:var(--cream-100);
  background-image:var(--texture-grain);
  background-blend-mode:multiply;
  font-family:var(--font-body);font-size:17.5px;line-height:1.85;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:.08em;line-height:1.35;margin:0;font-weight:600}
p{margin:0}
a{color:inherit;text-decoration:none}
picture{display:contents}   /* 用 <picture> 提供 WebP，但不影响原有布局 */
img{max-width:100%;height:auto;display:block}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
ul,ol{margin:0;padding:0;list-style:none}
figure{margin:0}
:focus-visible{outline:3px solid var(--gold-400);outline-offset:3px;border-radius:2px}
::selection{background:var(--gold-300);color:var(--red-950)}

.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}
.skip-link{
  position:absolute;left:var(--s4);top:-64px;z-index:200;
  background:var(--red-800);color:var(--cream-100);
  padding:var(--s2) var(--s4);border-radius:var(--radius-sm);
  font-size:14px;transition:top var(--t-fast) var(--ease);
}
.skip-link:focus{top:var(--s4)}

.eyebrow{
  display:inline-flex;align-items:center;gap:var(--s2);
  font-family:var(--font-body);font-size:14px;letter-spacing:.22em;
  color:var(--red-700);text-transform:uppercase;
}
.eyebrow::before{content:"";width:22px;height:1px;background:var(--gold-500)}
.page-hero .eyebrow,.section--dark .eyebrow,.hero .eyebrow{color:var(--gold-400)}

.lede{font-size:18.5px;line-height:1.95;color:var(--ink-700);max-width:38em}

.reveal{opacity:0;transform:translateY(16px);transition:opacity var(--t-slow) var(--ease),transform var(--t-slow) var(--ease)}
.reveal.is-in{opacity:1;transform:none}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .reveal{opacity:1;transform:none;transition:none}
  *,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important}
}
