@font-face { font-family: "Fira Sans"; src: url("assets/fira-sans-regular.woff2") format("woff2"); font-style: normal; font-weight: 400; font-display: swap; }
@font-face { font-family: "Fira Sans"; src: url("assets/fira-sans-semibold.woff2") format("woff2"); font-style: normal; font-weight: 600; font-display: swap; }
@font-face { font-family: "Source Serif 4"; src: url("assets/source-serif-4.woff2") format("woff2"); font-style: normal; font-weight: 400 700; font-display: swap; }
:root { --ink: #10100f; --paper: #f3f0e8; --red: #ed1c24; --pad: clamp(1.25rem, 5vw, 5rem); --type-label: .72rem; --type-body: clamp(1rem, 1.35vw, 1.25rem); --type-title: clamp(2.5rem, 4.8vw, 5rem); --type-display: clamp(4.5rem, 10vw, 10rem); }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: "Fira Sans", Arial, sans-serif; font-size: var(--type-body); line-height: 1.6; }
a { color: inherit; }
:focus-visible { outline: 3px solid var(--red); outline-offset: 4px; }
header { padding: 1.5rem var(--pad); display: flex; border-bottom: 1px solid rgba(16,16,15,.2); }
header a { text-decoration: none; }
.brand { width: 8.5rem; height: 3.75rem; display: block; overflow: hidden; }
.brand img { width: 100%; height: 100%; display: block; object-fit: contain; object-position: left center; }
main { width: min(56rem, calc(100% - 2 * var(--pad))); margin: 0 auto; padding: clamp(4rem, 9vw, 8rem) 0; }
.eyebrow { font-size: var(--type-label); text-transform: uppercase; letter-spacing: .13em; }
h1, h2, h3 { font-family: "Source Serif 4", Georgia, serif; font-weight: 520; }
h1 { margin: 1rem 0 4rem; font-size: var(--type-display); line-height: .85; letter-spacing: -.06em; }
h2 { margin: 3rem 0 .7rem; font-size: var(--type-title); line-height: 1; letter-spacing: -.04em; }
h3 { margin: 2rem 0 .5rem; font-size: var(--type-body); line-height: 1.25; }
p, li { max-width: 47rem; }
.policy-copy h2 { overflow-wrap: anywhere; }
.policy-copy ul { margin: 0; padding: 0; }
.policy-copy li { margin: 0 0 1.5rem; }
.policy-copy ul ul { padding-left: 1.25rem; list-style: disc !important; }
.policy-copy ul ul li { margin: .35rem 0; }
footer { padding: 2.5rem var(--pad) 4rem; display: grid; grid-template-columns: 1.4fr 1fr 1fr auto; gap: 2rem; color: var(--paper); background: var(--ink); font-size: var(--type-label); }
footer p { margin: 0; }
footer nav { display: flex; flex-direction: column; gap: .25rem; }
footer > a { align-self: start; text-decoration: none; }
@media (max-width: 680px) { footer { grid-template-columns: 1fr 1fr; } }
