/* base.css — Shared styles: page reset, text, headings, buttons, section spacing and section titles. */

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit}
:focus-visible{outline:2px solid var(--brass);outline-offset:3px;border-radius:2px}
.wrap{max-width:var(--maxw);margin:0 auto;padding-inline:clamp(16px,4vw,40px)}
.eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--brass);display:flex;align-items:center;gap:12px}
.eyebrow::before{content:"";width:28px;height:1px;background:currentColor}
h1,h2,h3{font-family:var(--display);font-weight:600;letter-spacing:-.025em;text-wrap:balance;margin:0}
h2{font-size:clamp(34px,4.6vw,58px);line-height:1.05}
h3{font-size:24px;line-height:1.2}
p{margin:0}
.lede{font-size:clamp(18px,1.6vw,20px);color:var(--ink-soft);max-width:60ch}
section{padding-block:clamp(72px,10vw,128px)}
.sec-head{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,80px);align-items:end;margin-bottom:clamp(40px,6vw,72px)}
.sec-head > div{display:grid;gap:20px;min-width:0}
@media (max-width:820px){.sec-head{grid-template-columns:1fr}}
