* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 90px; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: var(--sans); font-size: 15px; line-height: 1.65; -webkit-font-smoothing: antialiased; }
body.dialog-open { overflow: hidden; }
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
button, input, select { font: inherit; }
button { cursor: pointer; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible { outline: 3px solid #d77c4b; outline-offset: 3px; }
::selection { background: var(--lime); color: var(--ink); }
.container { width: min(var(--container), calc(100% - 64px)); margin-inline: auto; }
.section-pad { padding-block: 112px; }
.eyebrow { margin: 0 0 18px; color: var(--forest); font-size: 10px; font-weight: 700; letter-spacing: .19em; line-height: 1.4; }
h1, h2, h3, p { margin-top: 0; }
h1, h2 { font-family: var(--display); letter-spacing: -.055em; font-weight: 600; line-height: 1.08; }
h2 { margin-bottom: 0; font-size: clamp(38px, 5vw, 62px); }
h1 em, h2 em { color: var(--moss); font-family: var(--serif); font-weight: 400; letter-spacing: -.045em; }
.skip-link { position: absolute; z-index: 1000; top: -60px; left: 16px; padding: 10px 16px; background: var(--white); border-radius: 6px; }
.skip-link:focus { top: 12px; }
[hidden] { display: none !important; }
