*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;font-family:var(--font);font-size:var(--fs-body);line-height:1.65;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--brand);text-decoration:none}
@media(hover:hover){a:hover{color:var(--brand-hover)}}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
h1,h2,h3,h4{margin:0 0 .55em;line-height:1.12;letter-spacing:-.035em;color:var(--ink);font-weight:700}
h1{font-size:var(--fs-h1)}h2{font-size:var(--fs-h2)}h3{font-size:var(--fs-h3)}
p{margin:0 0 1em;color:var(--ink-2)}ul,ol{margin:0 0 1em;padding-left:1.2em}
button,input,textarea{font:inherit;color:inherit}
.wrap{width:min(100% - (var(--gutter)*2),var(--wrap));margin-inline:auto}
.muted{color:var(--ink-muted)}.faint{color:var(--ink-faint);font-size:var(--fs-sm)}
.note{color:var(--brand);font-size:var(--fs-sm)}main{min-height:55vh}
.section-dark{background:var(--bg-deep);color:var(--ink-on-dark)}
.section-dark h1,.section-dark h2,.section-dark h3{color:var(--ink-on-dark)}
.section-dark p,.section-dark .muted{color:var(--ink-on-dark-muted)}
.section-dark .section-num{color:rgba(105,210,255,.55)}
.section-dark .eyebrow{color:var(--cyan)}
