html { overflow-x: clip; scroll-behavior: smooth; }
body {
    overflow-x: clip;
    background: var(--color-bg);
    color: var(--color-text);
    font-family: var(--font-body);
    font-size: var(--text-body);
    line-height: 1.65;
    text-rendering: optimizeLegibility;
}
body.menu-open { overflow: hidden; }
h1, h2, h3, h4 {
    font-family: var(--font-sans);
    font-weight: 700;
    letter-spacing: -.025em;
    line-height: .98;
}
h1 { max-width: 13ch; font-size: var(--text-h1); }
h2 { font-size: var(--text-h2); }
h3 { font-size: var(--text-h3); }
h4 { font-size: var(--text-h4); }
p { max-width: 66ch; }
a { text-decoration-thickness: .08em; text-underline-offset: .2em; }
:focus-visible { outline: .1875rem solid var(--color-focus); outline-offset: .25rem; }
::selection { background: var(--color-accent); color: var(--color-black); }
.text-large { color: var(--color-text-secondary); font-size: var(--text-body-lg); line-height: 1.55; }
.eyebrow {
    color: var(--color-accent);
    font-family: var(--font-sans);
    font-size: .8125rem;
    font-weight: 700;
    letter-spacing: .18em;
    line-height: 1.3;
    text-transform: uppercase;
}
.skip-link {
    position: fixed;
    z-index: 1000;
    left: var(--gutter);
    top: 0;
    padding: .75rem 1rem;
    background: var(--color-white);
    color: var(--color-black);
    transform: translateY(-130%);
}
.skip-link:focus { transform: translateY(.75rem); }
