:root{
  --navy:#0E2A47;
  --navy-deep:#081B30;
  --ice:#DCE9F5;
  --ice-soft:#EEF4FA;
  --paper:#FFFFFF;
  --ink:#1B2A3B;
  --ink-soft:#4A5A6B;
  --rule:#C9D6E3;
  --mark:#B7472A;
  --serif:"Iowan Old Style","Palatino Linotype",Palatino,"Book Antiqua",Georgia,serif;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --measure:64ch;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;font-family:var(--sans);font-size:1.0625rem;line-height:1.6;color:var(--ink);background:var(--paper)}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.15;margin:0 0 .6em;letter-spacing:-.01em}
h1{font-size:clamp(2rem,4.6vw,3.25rem)}
h2{font-size:clamp(1.55rem,3vw,2.1rem)}
h3{font-size:1.25rem;margin-bottom:.35em}
p{margin:0 0 1em;max-width:var(--measure)}
a{color:var(--navy);text-decoration-thickness:1px;text-underline-offset:3px}
a:focus-visible,button:focus-visible{outline:3px solid var(--mark);outline-offset:3px}
.wrap{width:min(1040px,100% - 2.5rem);margin-inline:auto}

/* header */
.top{border-bottom:1px solid var(--rule);background:var(--paper);position:sticky;top:0;z-index:2}
.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 0}
.brand{display:flex;align-items:baseline;gap:.6rem;text-decoration:none;color:var(--navy)}
.brand strong{font-family:var(--serif);font-size:1.45rem;letter-spacing:.06em}
.brand span{font-size:.85rem;color:var(--ink-soft)}
.top nav a{margin-left:1.4rem;font-size:.95rem;text-decoration:none;color:var(--ink)}
.top nav a:hover{text-decoration:underline}
@media (max-width:700px){.top nav{display:none}}

/* hero */
.hero{background:var(--navy);color:#fff;padding:4.5rem 0 3.5rem}
.hero h1{max-width:20ch;color:#fff}
.hero p{color:var(--ice);font-size:1.15rem;max-width:56ch}
.cta{display:inline-block;background:#fff;color:var(--navy);font-weight:600;padding:.9rem 1.3rem;border-radius:4px;text-decoration:none;margin-top:.6rem}
.cta:hover{background:var(--ice)}
.cta small{display:block;font-weight:400;font-size:.85rem;color:var(--ink-soft)}

/* timeline: the one bold element */
.timeline{background:var(--navy-deep);color:#fff;padding:2.2rem 0 2.6rem;border-top:1px solid rgba(255,255,255,.12)}
.timeline h2{font-size:1.1rem;font-family:var(--sans);font-weight:600;color:var(--ice);margin-bottom:1.4rem}
.timeline ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,1fr);gap:0;position:relative}
.timeline ol::before{content:"";position:absolute;left:0;right:0;top:9px;height:2px;background:rgba(220,233,245,.35)}
.timeline li{position:relative;padding:1.4rem .6rem 0 0;font-size:.92rem;line-height:1.35}
.timeline li::before{content:"";position:absolute;left:0;top:3px;width:14px;height:14px;border-radius:50%;background:var(--ice);border:2px solid var(--navy-deep)}
.timeline li.past::before{background:rgba(220,233,245,.55)}
.timeline li.now::before{background:var(--mark);box-shadow:0 0 0 5px rgba(183,71,42,.35)}
.timeline time{display:block;font-weight:600;color:#fff}
.timeline li.now time{color:#F3B7A6}
.timeline .note{margin-top:1.4rem;color:var(--ice);font-size:.98rem;max-width:60ch}
@media (max-width:760px){
  .timeline ol{grid-template-columns:1fr;padding-left:1.4rem}
  .timeline ol::before{left:6px;right:auto;top:0;bottom:0;width:2px;height:auto}
  .timeline li{padding:.35rem 0 1.1rem 1.2rem}
  .timeline li::before{left:-1.4rem;top:.45rem}
}

/* sections */
section{padding:3.6rem 0}
section + section{border-top:1px solid var(--rule)}
.urgent{background:var(--ice-soft)}
.urgent h2{max-width:22ch}
.lead{font-size:1.15rem}
.duo{display:grid;grid-template-columns:1.1fr .9fr;gap:2.5rem;align-items:start}
@media (max-width:760px){.duo{grid-template-columns:1fr}}
.law ul,.demands{padding-left:1.2rem}
.demands li{margin-bottom:.7rem}
.demands li strong{display:block;font-family:var(--serif);font-size:1.1rem;font-weight:500}
.ladder{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem 2.5rem;margin-top:.5rem}
@media (max-width:760px){.ladder{grid-template-columns:1fr}}
.step{border-top:3px solid var(--navy);padding-top:.9rem}
.step h3{display:flex;gap:.6rem;align-items:baseline}
.step h3 .n{font-family:var(--sans);font-size:.85rem;color:var(--ink-soft);font-weight:600}
.step p{font-size:1rem}
.quote{font-family:var(--serif);font-size:1.35rem;line-height:1.4;max-width:34ch;border-left:3px solid var(--navy);padding-left:1.2rem;margin:1.2rem 0}
.why{display:grid;grid-template-columns:repeat(2,1fr);gap:1.6rem 2.5rem}
@media (max-width:760px){.why{grid-template-columns:1fr}}
.why h3{font-size:1.15rem}
.why p{font-size:1rem}
.contact{background:var(--navy);color:#fff}
.contact h2,.contact p{color:#fff}
.contact p{color:var(--ice)}
.contact a{color:#fff}
.contact .cta{margin-top:1rem}
.lines{list-style:none;padding:0;margin:1.5rem 0 0;font-size:1.1rem}
.lines li{margin-bottom:.4rem}
footer{padding:2rem 0 2.5rem;font-size:.9rem;color:var(--ink-soft)}
footer p{max-width:none}
footer strong{color:var(--navy)}
