:root { --ink:#171717; --paper:#f6f1e7; --white:#fffdf8; --blue:#2441c4; --coral:#f0563b; --yellow:#f2c84b; --muted:#676158; --line:rgba(23,23,23,.22); --serif:"Newsreader",Georgia,serif; --sans:"DM Sans",Arial,sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font:16px/1.65 var(--sans); }
a { color:inherit; text-underline-offset:.24em; }
a:focus-visible { outline:4px solid var(--yellow); outline-offset:4px; }
.skip { position:fixed; top:-5rem; left:1rem; z-index:10; padding:.7rem 1rem; background:var(--ink); color:white; }
.skip:focus { top:1rem; }
.wrap { width:min(calc(100% - 40px),1040px); margin-inline:auto; }
header { border-bottom:1px solid var(--ink); background:var(--paper); }
nav { min-height:82px; display:flex; justify-content:space-between; align-items:center; gap:2rem; }
.brand { display:inline-grid; text-decoration:none; line-height:1; }
.brand strong { font:600 1.55rem var(--serif); }
.brand span { margin-top:.48rem; font-size:.62rem; letter-spacing:.16em; text-transform:uppercase; }
.nav-links { display:flex; gap:1.25rem; align-items:center; flex-wrap:wrap; font-size:.88rem; font-weight:700; }
.nav-links a { text-decoration:none; }
.nav-links a:hover, .footer-links a:hover { text-decoration:underline; }
.button { display:inline-flex; min-height:46px; align-items:center; padding:.55rem 1rem; border:2px solid var(--ink); background:var(--coral); color:white; box-shadow:4px 4px 0 var(--ink); font-weight:700; text-decoration:none; }
.button:hover { background:#b62f20; }
.intro { padding:clamp(3rem,6vw,5rem) 0 3rem; border-bottom:1px solid var(--ink); }
.eyebrow { margin:0 0 .8rem; color:var(--blue); font-size:.73rem; font-weight:700; letter-spacing:.15em; text-transform:uppercase; }
h1 { max-width:780px; margin:0; font:500 clamp(3.5rem,8vw,6.3rem)/.94 var(--serif); letter-spacing:-.045em; }
.dek { max-width:710px; margin:1.5rem 0 0; color:#48433c; font-size:1.08rem; }
.date { margin:1rem 0 0; color:var(--muted); font-size:.86rem; }
.content-layout { display:grid; grid-template-columns:220px minmax(0,1fr); gap:clamp(2rem,6vw,5rem); padding:3.2rem 0 5rem; }
.contents { align-self:start; position:sticky; top:1.5rem; display:grid; gap:.85rem; font-size:.87rem; }
.contents strong { color:var(--muted); font-size:.7rem; text-transform:uppercase; letter-spacing:.13em; }
.contents a { text-decoration:none; }
.contents a:hover { text-decoration:underline; }
.policy section { padding:0 0 2rem; margin:0 0 2rem; border-bottom:1px solid var(--line); scroll-margin-top:2rem; }
.policy section:last-child { border:0; margin-bottom:0; }
.policy h2 { margin:0 0 .7rem; font:500 clamp(1.9rem,3vw,2.5rem)/1.1 var(--serif); }
.policy p { margin:.7rem 0 0; max-width:67ch; }
.policy ul { margin:.7rem 0 0; padding-left:1.35rem; max-width:67ch; }
.policy li + li { margin-top:.5rem; }
.callout { padding:1rem 1.2rem; margin:0 0 2rem; border-left:4px solid var(--blue); background:var(--white); }
.callout p { margin:0; }
footer { padding:2.5rem 0; background:var(--ink); color:var(--paper); }
.footer-grid { display:flex; justify-content:space-between; gap:2rem; flex-wrap:wrap; }
.footer-name { font:500 2rem/1 var(--serif); }
.footer-name span { display:block; margin-top:.7rem; color:#aaa297; font:400 .7rem var(--sans); text-transform:uppercase; letter-spacing:.12em; }
.footer-links { display:flex; flex-wrap:wrap; gap:1rem; align-items:start; font-size:.83rem; }
.footer-links a { color:#d1c9bd; }
.copyright { margin-top:2rem; padding-top:1rem; border-top:1px solid rgba(255,255,255,.15); color:#aaa297; font-size:.75rem; }
@media(max-width:740px) { nav { padding-block:1rem; align-items:flex-start; } .nav-links { justify-content:flex-end; gap:.6rem 1rem; } .nav-links .button { display:none; } .content-layout { display:block; } .contents { position:static; padding:0 0 1.7rem; margin-bottom:2rem; border-bottom:1px solid var(--line); } }
@media(max-width:450px) { nav { display:block; } .nav-links { justify-content:flex-start; margin-top:1.2rem; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
