*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
body{margin:0;font:400 16px/1.6 var(--b4t-font-sans);color:var(--b4t-color-ink);background:var(--b4t-color-bg)}
h1,h2{font-family:var(--b4t-font-serif);font-weight:700;line-height:1.2;margin:0 0 var(--b4t-space-md)}
h1{font-size:clamp(28px,4vw,36px)}h2{font-size:clamp(22px,3vw,28px)}
a{color:var(--b4t-color-primary)}
:focus-visible{outline:3px solid var(--b4t-color-focus);outline-offset:2px}
.b4t-container{max-width:var(--b4t-container);margin:0 auto;padding:0 var(--b4t-gutter)}
.b4t-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:var(--b4t-touch-min);padding:12px 22px;border-radius:var(--b4t-radius-full);border:1px solid transparent;font:600 13px/1.3 var(--b4t-font-sans);text-decoration:none;cursor:pointer;transition:background-color .2s ease-out,transform .2s ease-out}
.b4t-btn--accent{background:var(--b4t-color-accent);color:var(--b4t-color-on-accent)}
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
