:root { --paper:#fff; --ink:#111; --muted:#686868; --line:#d9d9d9; --accent:#ff4f00; --max:1120px; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font:17px/1.55 "Helvetica Neue",Helvetica,Arial,sans-serif; -webkit-font-smoothing:antialiased; }
a { color:inherit; text-underline-offset:.18em; }
a:hover { color:var(--accent); }
.site-header,.page,.site-footer { width:min(calc(100% - 40px),var(--max)); margin-inline:auto; }
.site-header { display:grid; grid-template-columns:1fr auto; align-items:center; min-height:84px; border-bottom:1px solid var(--ink); }
.brand { font-size:18px; font-weight:700; letter-spacing:-.02em; text-decoration:none; }
.site-nav { display:flex; gap:24px; }
.site-nav a { font-size:14px; font-weight:600; }
.page { padding:68px 0 96px; }
.hero { display:grid; grid-template-columns:minmax(0,2fr) minmax(210px,1fr); gap:64px; padding-bottom:64px; border-bottom:1px solid var(--ink); }
.eyebrow { margin:0 0 22px; color:var(--accent); font-size:13px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
h1 { max-width:780px; margin:0; font-size:clamp(52px,8vw,104px); font-weight:700; letter-spacing:-.065em; line-height:.92; }
.lede { max-width:720px; margin:30px 0 0; color:var(--muted); font-size:clamp(20px,2.5vw,28px); line-height:1.35; }
.meta { align-self:end; margin:0; border-top:1px solid var(--line); }
.meta div { display:grid; grid-template-columns:1fr 1fr; gap:16px; padding:12px 0; border-bottom:1px solid var(--line); }
.meta dt { color:var(--muted); font-size:13px; }
.meta dd { margin:0; font-size:13px; text-align:right; }
.document-grid { display:grid; grid-template-columns:220px minmax(0,720px); gap:64px; padding-top:64px; }
.section-index { position:sticky; top:24px; align-self:start; margin:0; padding:0; list-style:none; counter-reset:sections; }
.section-index li { counter-increment:sections; border-top:1px solid var(--line); }
.section-index li:last-child { border-bottom:1px solid var(--line); }
.section-index a { display:grid; grid-template-columns:34px 1fr; padding:10px 0; font-size:13px; text-decoration:none; }
.section-index a::before { content:counter(sections,decimal-leading-zero); color:var(--accent); font-variant-numeric:tabular-nums; }
.document section { padding:0 0 48px; scroll-margin-top:24px; }
h2 { margin:0 0 20px; padding-top:6px; border-top:5px solid var(--ink); font-size:clamp(27px,4vw,42px); letter-spacing:-.045em; line-height:1.05; }
h3 { margin:28px 0 8px; font-size:19px; letter-spacing:-.02em; }
p { margin:0 0 18px; }
ul { margin:0 0 20px; padding-left:1.25em; }
li + li { margin-top:7px; }
.callout { margin:32px 0; padding:22px 24px; border-left:6px solid var(--accent); background:#f7f7f8; }
.button { display:inline-flex; min-height:48px; align-items:center; justify-content:center; padding:0 20px; background:var(--accent); color:#fff; font-size:15px; font-weight:700; text-decoration:none; }
.button:hover { background:var(--ink); color:#fff; }
.card-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; background:var(--line); border:1px solid var(--line); }
.card { min-height:250px; padding:28px; background:var(--paper); text-decoration:none; }
.card-number { color:var(--accent); font-size:14px; font-weight:700; }
.card h2 { margin-top:72px; border:0; }
.card p { color:var(--muted); }
.site-footer { display:grid; grid-template-columns:1fr auto; gap:24px; padding:28px 0 42px; border-top:1px solid var(--ink); color:var(--muted); font-size:13px; }
@media (max-width:760px) { .site-nav{gap:14px}.hero,.document-grid{grid-template-columns:1fr;gap:38px}.section-index{position:static}.card-list{grid-template-columns:1fr}.page{padding-top:44px}.site-footer{grid-template-columns:1fr} }
@media (prefers-reduced-motion:reduce) { html{scroll-behavior:auto} }
