@layer reset { *, *::before, *::after { box-sizing: border-box; } body, h1, h2, h3, h4, p, figure, blockquote, dl, dd { margin: 0; } img, svg, video, canvas { display: block; max-width: 100%; } img, video { height: auto; } input, button, textarea, select { font: inherit; color: inherit; } button { cursor: pointer; } [hidden] { display: none !important; } } @layer base { html { background: var(--bg); color: var(--text); font-family: var(--font-body); font-size: 100%; line-height: 1.6; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; scroll-padding-top: calc(var(--header-h) + 1rem); hanging-punctuation: first; } @media (prefers-reduced-motion: no-preference) { html { scroll-behavior: smooth; } } body { min-height: 100vh; min-height: 100svh; display: flex; flex-direction: column; background: var(--bg); font-size: var(--step-0); overflow-x: clip; } main { flex: 1; padding-bottom: var(--section); } main:focus { outline: none; } h1, h2, h3, h4 { font-family: var(--font-display); font-weight: 650; line-height: 1.05; letter-spacing: -0.025em; text-wrap: balance; overflow-wrap: break-word; } p, li { text-wrap: pretty; } a { color: inherit; text-underline-offset: 0.2em; text-decoration-thickness: 1px; } :focus-visible { outline: 2px solid var(--pink-text); outline-offset: 3px; border-radius: 4px; } ::selection { background: var(--pink); color: var(--bg); } .icon { width: 1.15em; height: 1.15em; flex: none; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; } .icon--play { fill: currentColor; stroke: none; } } @layer utilities { .visually-hidden { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; } .skip-link { position: fixed; top: 0.75rem; left: 0.75rem; z-index: 100; padding: 0.75rem 1rem; border-radius: var(--radius-s); background: var(--text); color: var(--bg); font-weight: 500; text-decoration: none; translate: 0 -200%; transition: translate 0.2s; &:focus { translate: none; } } }