:root { --paper:#eef1ef; --ink:#10282c; --ink-deep:#0b1e22; --muted:#3f5658; --rule:#b8c4c1; --accent:#b73354; --light:#eaf0ed; --light-muted:#c4d2ce; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Manrope,Arial,sans-serif; }
a { color:inherit; }
.shell { width:min(100% - 48px, 1120px); margin:0 auto; }
.site-header { min-height:80px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--rule); }
.wordmark { font-size:1rem; font-weight:700; letter-spacing:.2em; text-indent:.2em; text-decoration:none; }
.back { font:500 .74rem/1.2 "IBM Plex Mono",monospace; letter-spacing:.06em; text-decoration:none; text-transform:uppercase; }
.back:hover,.back:focus-visible,.legal-copy a:hover,.legal-copy a:focus-visible { color:var(--accent); }
.legal-hero { padding:clamp(64px,10vw,130px) 0 clamp(46px,7vw,84px); border-bottom:1px solid var(--rule); }
.eyebrow { margin:0 0 18px; color:var(--accent); font:500 .74rem/1.4 "IBM Plex Mono",monospace; letter-spacing:.12em; text-transform:uppercase; }
.eyebrow::before { content:""; display:inline-block; width:32px; height:1px; margin:0 12px 3px 0; background:currentColor; }
h1 { max-width:850px; margin:0; font-size:clamp(3.5rem,8vw,7.2rem); font-weight:600; letter-spacing:-.075em; line-height:.9; }
.updated { margin:30px 0 0; color:var(--muted); font:400 .74rem/1.5 "IBM Plex Mono",monospace; letter-spacing:.04em; text-transform:uppercase; }
.legal-copy { max-width:780px; padding:clamp(56px,8vw,110px) 0; }
.legal-copy h2 { margin:52px 0 16px; font-size:clamp(1.55rem,3vw,2.4rem); font-weight:600; letter-spacing:-.045em; line-height:1.04; }
.legal-copy h2:first-child { margin-top:0; }
.legal-copy p,.legal-copy li { color:var(--muted); font-size:1rem; line-height:1.78; }
.legal-copy p { margin:0 0 18px; }
.legal-copy ul { margin:0 0 18px; padding-left:20px; }
.legal-copy a { color:var(--ink); text-underline-offset:3px; }
.site-footer { padding:36px 0 28px; background:var(--ink-deep); color:var(--light); }
.footer-grid { display:flex; justify-content:space-between; gap:28px; align-items:flex-start; }
.footer-brand { max-width:370px; }
.footer-brand .wordmark { display:inline-block; margin-bottom:16px; }
.footer-brand p,.footer-meta { margin:0; color:var(--light-muted); font-size:.86rem; line-height:1.7; }
.footer-nav { display:flex; flex-wrap:wrap; gap:12px 22px; font:500 .72rem/1.5 "IBM Plex Mono",monospace; letter-spacing:.05em; text-transform:uppercase; }
.footer-nav a { text-decoration:none; }
.footer-nav a:hover,.footer-nav a:focus-visible { color:#fff; }
@media (max-width:620px) { .shell { width:min(100% - 32px,1120px); } .site-header { min-height:76px; } .footer-grid { display:grid; } h1 { font-size:clamp(3.1rem,16vw,5rem); } }