/* BZ-S0 — Base: reset, typography primitives, layout primitives, skip link,
   visible focus, reduced motion, print.
   Width breakpoints consolidated per bz-blueprint.md §1.4 to three only:
   <=640px, 641-980px, >=981px. */
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;min-width:0;overflow-x:hidden;background:var(--paper);color:var(--ink);font-family:var(--font-ui);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
button,input,select,textarea{font:inherit;color:inherit}
button,a{-webkit-tap-highlight-color:transparent}
a{color:inherit}
[hidden]{display:none!important}
h1,h2,h3,h4{text-wrap:balance;margin:0 0 .5em}
h1,h2,h3{font-family:var(--font-display);line-height:1.05;letter-spacing:-.03em}
h1{font-size:clamp(2.6rem,6vw,4.6rem)}
h2{font-size:clamp(2rem,4.8vw,3.6rem)}
h3{font-size:clamp(1.5rem,3vw,2.2rem)}
p{margin:0 0 1em}
section{scroll-margin-top:76px}
.wrap{width:min(calc(100% - 40px),1180px);margin-inline:auto}
.stack{display:grid;gap:18px}
.grid{display:grid;gap:18px}
.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{position:fixed;left:10px;top:-70px;z-index:100;background:var(--surface);color:var(--ink);padding:10px 14px;border-radius:8px;border:1px solid var(--line)}
.skip:focus{top:10px}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--amber);outline-offset:3px}
.kicker{color:var(--amber-deep);font-weight:700;font-size:13px;letter-spacing:.08em;text-transform:uppercase}
.lead{color:var(--ink-soft);font-size:1.05rem}
.muted{color:var(--ink-soft)}
@media (max-width:640px){
  body{font-size:15px}
  .wrap{width:calc(100% - 28px)}
  h1{font-size:clamp(2.1rem,11vw,2.8rem)}
}
@media (min-width:641px) and (max-width:980px){
  .wrap{width:min(calc(100% - 36px),1180px)}
}
@media (min-width:981px){
  .wrap{width:min(calc(100% - 40px),1180px)}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
@media print{
  body{background:#fff;color:#000}
  .topbar,.skip,.toast,#kp-toast{display:none!important}
  a{text-decoration:none}
  section{padding:16px 0}
}
