:root { color-scheme:light; --paper:#f4f1e8; --ink:#1b1c18; --muted:#5e6259; --line:#a9aa9f; --green:#184e3a; --orange:#a64220; --sans:Inter,ui-sans-serif,system-ui,sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font:17px/1.6 Georgia,"Times New Roman",serif; }
a { color:var(--green); text-decoration-thickness:1px; text-underline-offset:.22em; }
a:hover { text-decoration-thickness:2px; }
a:focus-visible,button:focus-visible { outline:3px solid var(--orange); outline-offset:4px; }
.skip-link { position:fixed; z-index:10; top:1rem; left:1rem; padding:.65rem 1rem; background:var(--ink); color:white; transform:translateY(-200%); }
.skip-link:focus { transform:none; }
.visually-hidden { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; }
.site-header,main,footer { width:min(1160px,calc(100% - 48px)); margin-inline:auto; }
.site-header { display:flex; align-items:center; justify-content:space-between; padding:1.4rem 0; border-bottom:1px solid var(--line); font:600 .82rem/1.2 var(--sans); }
.wordmark { color:var(--ink); text-decoration:none; letter-spacing:.025em; }
.wordmark span { padding-right:.45rem; font-size:1.1rem; }
.hero { padding:clamp(5rem,11vw,9rem) 0 clamp(6rem,12vw,10rem); }
.eyebrow,.section-number,.metadata dt,.range,.action-label { font:700 .7rem/1.4 var(--sans); letter-spacing:.13em; text-transform:uppercase; }
.eyebrow { color:var(--green); }
h1 { max-width:12ch; margin:1.2rem 0 2rem; font-size:clamp(3.7rem,9vw,7.6rem); font-weight:400; line-height:.88; letter-spacing:-.055em; }
h1 em { color:var(--green); font-weight:400; }
.lede { max-width:43rem; margin:0; font-size:clamp(1.2rem,2vw,1.55rem); line-height:1.55; }
.note { margin-top:2rem; color:var(--muted); font:600 .8rem/1.4 var(--sans); }
.catalogue,.instructions { padding:5rem 0 7rem; border-top:1px solid var(--ink); }
.section-heading { display:grid; grid-template-columns:5rem minmax(14rem,1fr) 1fr; gap:1.5rem; align-items:start; margin-bottom:4rem; }
.section-number { color:var(--orange); }
h2 { margin:0; font-size:clamp(2rem,4vw,3.5rem); font-weight:400; line-height:1; letter-spacing:-.025em; }
.section-heading>p:last-child { max-width:27rem; margin:0; color:var(--muted); }
.calendar { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(18rem,.75fr); gap:clamp(2rem,7vw,6rem); padding:3rem 0 5rem; border-top:1px solid var(--line); }
.range { color:var(--muted); }
h3 { margin:.6rem 0 1rem; font-size:clamp(2rem,4vw,3.4rem); font-weight:400; line-height:1.05; }
.description { max-width:38rem; font-size:1.12rem; }
.metadata { display:grid; grid-template-columns:max-content 1fr; gap:.35rem 1.5rem; margin:2rem 0; }
.metadata dt { color:var(--muted); }
.metadata dd { margin:0; }
.milestones { margin-top:3.5rem; }
.milestones h4 { margin:0 0 1rem; font:700 .75rem/1.4 var(--sans); letter-spacing:.1em; text-transform:uppercase; }
.timeline { margin:0; padding:0; list-style:none; border-top:1px solid var(--line); }
.timeline li { display:grid; grid-template-columns:8rem 1fr; gap:1rem; position:relative; padding:1.1rem 0 1.1rem 1.3rem; border-bottom:1px solid var(--line); }
.timeline li::before { position:absolute; top:1.75rem; left:-.28rem; width:.5rem; height:.5rem; background:var(--orange); border-radius:50%; content:""; }
.timeline time { color:var(--muted); font:600 .75rem/1.6 var(--sans); }
.timeline strong { font-weight:400; }
.action-panel { align-self:start; position:sticky; top:1.5rem; padding-top:1rem; border-top:3px solid var(--green); }
.action-panel h4 { margin:.3rem 0 1.5rem; font-size:1.65rem; font-weight:400; line-height:1.2; }
.action { display:block; width:100%; margin:.65rem 0; padding:.9rem 1rem; border:1px solid var(--green); background:transparent; color:var(--green); font:700 .82rem/1.2 var(--sans); text-align:center; cursor:pointer; }
.action.download { background:var(--green); color:white; text-decoration:none; }
.subscription-url { overflow-wrap:anywhere; margin:1rem 0 .4rem; color:var(--muted); font:normal .72rem/1.5 ui-monospace,monospace; }
.copy-status { display:block; min-height:1.5rem; color:var(--green); font:600 .75rem/1.5 var(--sans); }
.instruction-grid { display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,8vw,7rem); }
.instruction-grid>div { border-top:1px solid var(--line); }
.instruction-grid h3 { font-size:1.65rem; line-height:1.25; }
.instruction-grid h3 span { display:block; margin-bottom:.7rem; color:var(--orange); font:700 .7rem/1.4 var(--sans); letter-spacing:.12em; text-transform:uppercase; }
.instruction-grid li { margin:.85rem 0; padding-left:.5rem; }
.provider-note { max-width:48rem; margin:3rem 0 0; padding-left:1.2rem; border-left:3px solid var(--orange); color:var(--muted); }
footer { display:grid; grid-template-columns:1fr 2fr auto; gap:2rem; padding:2.5rem 0 4rem; border-top:1px solid var(--ink); color:var(--muted); font-size:.82rem; }
footer p { margin:0; }
@media (max-width:760px) { .site-header,main,footer { width:min(100% - 28px,1160px); } .site-header>a:last-child { display:none; } .hero { padding-top:4.5rem; } h1 { font-size:clamp(3.3rem,16vw,5.5rem); } .section-heading,.calendar,.instruction-grid,footer { grid-template-columns:1fr; } .section-heading { gap:.75rem; margin-bottom:2.5rem; } .section-number { margin-bottom:.5rem; } .calendar { gap:3rem; } .action-panel { position:static; } .timeline li { grid-template-columns:1fr; gap:.2rem; } footer { gap:.6rem; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; } }
