:root {
  --orange: #fe5000;
  --orange-deep: #a93600;
  --orange-soft: #fff0e8;
  --ink: #171310;
  --paper: #ffffff;
  --surface: #f7f7f7;
  --line: #e6e2df;
  --muted: #655e59;
  --display: 'Archivo', system-ui, sans-serif;
  --body: 'Atkinson Hyperlegible Next', system-ui, sans-serif;
  --shell: min(1180px, calc(100vw - 40px));
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:var(--body); font-size:16px; line-height:1.65; text-rendering:optimizeLegibility; }
img { max-width:100%; display:block; }
main section[id] { scroll-margin-top:92px; }
a { color:inherit; }
button,a { -webkit-tap-highlight-color:transparent; }
:focus-visible { outline:3px solid #111; outline-offset:4px; }
.skip-link { position:fixed; top:10px; left:10px; z-index:100; padding:10px 14px; background:var(--paper); color:var(--ink); transform:translateY(-180%); }
.skip-link:focus { transform:translateY(0); }
.draft-strip { background:var(--ink); color:#fff; font-size:.84rem; }
.draft-strip__inner { display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:34px; }
.draft-strip__inner time { color:rgba(255,255,255,.78); }
.site-header { position:sticky; top:0; z-index:20; display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:68px; padding:10px max(20px,calc((100vw - 1180px)/2)); background:rgba(255,255,255,.94); border-bottom:1px solid rgba(23,19,16,.08); backdrop-filter:blur(10px); }
.brand-mark { display:inline-flex; align-items:center; gap:10px; min-height:44px; font-family:var(--display); font-weight:700; text-decoration:none; }
.brand-dot { width:13px; height:13px; border-radius:50%; background:var(--orange); }
.site-header nav { display:flex; gap:6px; }
.site-header nav a { display:inline-flex; align-items:center; min-height:44px; padding:0 12px; color:#4f4945; text-decoration:none; font-weight:600; }
.site-header nav a:hover { color:var(--orange-deep); }
.hero { background:var(--orange); color:var(--ink); min-height:calc(100dvh - 68px); display:grid; align-items:center; overflow:hidden; }
.hero-inner { width:var(--shell); margin:0 auto; padding:clamp(52px,8vw,110px) 0; display:grid; grid-template-columns:1.08fr .92fr; align-items:center; gap:clamp(40px,7vw,100px); }
.hero-copy { max-width:690px; }
.hero-context,.section-kicker,.timeline-meta { margin:0 0 16px; font-family:var(--display); font-weight:700; font-size:.82rem; letter-spacing:.06em; text-transform:uppercase; }
.hero h1,.story-heading h2,.place-content h2,.facts-heading h2 { font-family:var(--display); text-wrap:balance; letter-spacing:-.035em; }
.hero h1 { margin:0; max-width:720px; font-size:clamp(3.5rem,6.5vw,5rem); line-height:.94; font-weight:800; }
.hero-summary { max-width:62ch; margin:28px 0 24px; font-size:clamp(1.05rem,1.5vw,1.24rem); color:#2f211a; }
.hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:14px 22px; }
.verification-chip { display:inline-flex; align-items:center; min-height:36px; padding:6px 12px; border:1px solid rgba(23,19,16,.34); border-radius:999px; font-family:var(--display); font-size:.82rem; font-weight:700; }
.text-link { display:inline-flex; align-items:center; gap:10px; min-height:44px; font-family:var(--display); font-weight:700; text-decoration-thickness:2px; text-underline-offset:5px; }
.portrait-placeholder { margin:0; }
.portrait-frame { position:relative; min-height:min(62vh,620px); border:2px solid rgba(23,19,16,.5); background:radial-gradient(circle at 50% 38%,transparent 0 17%,rgba(23,19,16,.16) 17.2% 18.2%,transparent 18.4%),radial-gradient(ellipse at 50% 91%,transparent 0 34%,rgba(23,19,16,.16) 34.2% 35.2%,transparent 35.4%); display:flex; align-items:center; justify-content:center; }
.portrait-index { position:absolute; top:18px; left:20px; font-family:var(--display); font-weight:800; font-size:1.25rem; }
.portrait-label { font-family:var(--display); font-weight:700; letter-spacing:.08em; font-size:.8rem; }
.portrait-placeholder figcaption { margin-top:10px; font-size:.92rem; color:#3b2b24; }
.section-shell { width:var(--shell); margin:0 auto; }
.intro-band { border-bottom:1px solid var(--line); }
.intro-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(40px,8vw,120px); padding:clamp(48px,7vw,82px) 0; align-items:start; }
.intro-title { margin:0; font-family:var(--display); font-weight:700; font-size:clamp(1.4rem,2vw,2rem); line-height:1.2; }
.intro-text { margin:0; max-width:65ch; color:var(--muted); font-size:1.08rem; }
.intro-text p { margin:0; }
.intro-text p+p { margin-top:18px; }
.source-note { padding-top:18px; border-top:1px solid var(--line); font-size:.98rem; }
.story { padding:clamp(88px,10vw,150px) 0 0; }
.story-heading { max-width:820px; margin-left:auto; margin-right:auto; text-align:center; }
.section-kicker { color:var(--orange-deep); }
.story-heading h2,.place-content h2,.facts-heading h2 { margin:0; font-size:clamp(2.5rem,5vw,4.75rem); line-height:1; font-weight:800; }
.story-heading>p:last-child { max-width:65ch; margin:24px auto 0; color:var(--muted); font-size:1.05rem; }
.timeline { position:relative; width:var(--shell); margin:clamp(70px,9vw,120px) auto 0; padding-bottom:clamp(80px,10vw,150px); }
.timeline-track { position:absolute; top:0; bottom:0; left:50%; width:2px; transform:translateX(-50%); background:var(--line); }
.timeline-progress { display:block; width:100%; height:calc(var(--timeline-progress,0)*100%); max-height:100%; background:var(--orange); transition:height .14s linear; }
.timeline-item { position:relative; display:grid; grid-template-columns:minmax(0,1fr) 90px minmax(0,1fr); column-gap:30px; align-items:start; min-height:360px; margin-bottom:clamp(60px,8vw,120px); }
.timeline-item:last-child { margin-bottom:0; }
.timeline-node { grid-column:2; justify-self:center; position:relative; z-index:2; display:grid; place-items:center; width:54px; height:54px; border-radius:50%; background:var(--paper); border:2px solid var(--orange); color:var(--orange-deep); font-family:var(--display); font-weight:800; font-size:.88rem; }
.timeline-copy { max-width:470px; padding-top:3px; }
.timeline-copy h3 { margin:0 0 18px; font-family:var(--display); font-size:clamp(1.8rem,3vw,2.8rem); line-height:1.05; letter-spacing:-.03em; text-wrap:balance; }
.timeline-copy>p:not(.timeline-meta):not(.evidence-state) { margin:0; color:var(--muted); }
.timeline-meta { color:var(--orange-deep); margin-bottom:14px; }
.evidence-state { margin:18px 0 0; padding-top:14px; border-top:1px solid var(--line); color:#574f4a; font-size:.88rem; line-height:1.5; }
.evidence-state span { margin-right:6px; font-family:var(--display); font-weight:700; color:var(--orange-deep); }
.evidence-state--pending span { color:#6a5549; }
.evidence-state--official span { color:#5f3600; }
.timeline-item.is-left .timeline-copy { grid-column:1; grid-row:1; justify-self:end; text-align:right; }
.timeline-item.is-right .timeline-copy { grid-column:3; grid-row:1; }
.image-placeholder { min-height:210px; margin-top:34px; display:flex; flex-direction:column; justify-content:flex-end; gap:2px; padding:18px; background:var(--orange-soft); color:var(--orange-deep); border-top:3px solid var(--orange); }
.image-placeholder span { font-family:var(--display); font-weight:800; letter-spacing:.04em; }
.image-placeholder small { font-size:.88rem; }
.timeline-item.is-left .image-placeholder { grid-column:1; grid-row:2; justify-self:end; width:min(100%,410px); }
.image-placeholder--dark { background:var(--ink); color:#fff; border-top-color:var(--orange); }

.timeline-card-media { border-radius:14px; overflow:hidden; border:2px solid var(--line); box-shadow:0 12px 32px rgba(0,0,0,.09); background:var(--surface); }
.timeline-photo { width:100%; height:280px; object-fit:cover; display:block; transition:transform .3s ease; }
.timeline-photo-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(150px, 1fr)); gap:8px; padding:8px; background:var(--surface); }
.timeline-photo-grid img { width:100%; height:190px; object-fit:cover; border-radius:8px; display:block; transition:transform .3s ease; }
.timeline-card-media:hover .timeline-photo, .timeline-photo-grid img:hover { transform:scale(1.025); }
.timeline-photo-caption { padding:12px 16px; font-size:.86rem; color:var(--muted); border-top:1px solid var(--line); background:var(--paper); line-height:1.45; }
.timeline-item.is-left .timeline-card-media { grid-column:3; grid-row:1; justify-self:start; width:min(100%,480px); }
.timeline-item.is-right .timeline-card-media { grid-column:1; grid-row:1; justify-self:end; width:min(100%,480px); }


.place { position:relative; overflow:hidden; min-height:70vh; display:grid; align-items:center; background:var(--ink); color:#fff; }
.place-content { position:relative; z-index:2; padding:clamp(100px,14vw,180px) 0; max-width:800px; margin-left:max(20px,calc((100vw - 1180px)/2)); margin-right:auto; }
.place-content p:last-child { max-width:60ch; margin:26px 0 0; color:rgba(255,255,255,.76); font-size:1.08rem; }
.section-kicker--light { color:#ff9a66; }
.place-graphic { position:absolute; inset:0; pointer-events:none; }
.place-ring { position:absolute; border:1px solid rgba(254,80,0,.42); border-radius:50%; }
.place-ring--one { width:56vw; height:56vw; right:-18vw; top:-16vw; }
.place-ring--two { width:38vw; height:38vw; right:-8vw; top:-4vw; }
.place-ring--three { width:20vw; height:20vw; right:2vw; top:8vw; background:rgba(254,80,0,.09); }
.facts { padding:clamp(90px,11vw,150px) 0; }
.facts-heading { max-width:760px; }
.facts-list { margin:clamp(54px,7vw,88px) 0 0; padding:0; border-top:1px solid var(--ink); }
.facts-list>div { display:grid; grid-template-columns:minmax(160px,.45fr) minmax(0,1fr); gap:30px; padding:22px 0; border-bottom:1px solid var(--line); }
.facts-list dt { font-family:var(--display); font-weight:700; color:var(--muted); }
.facts-list dd { margin:0; font-family:var(--display); font-weight:700; font-size:clamp(1.2rem,2vw,1.75rem); }
.sources { padding:clamp(90px,11vw,150px) 0; background:var(--surface); border-top:1px solid var(--line); }
.sources-grid { display:grid; grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr); gap:clamp(50px,8vw,110px); align-items:start; }
.sources-heading { position:sticky; top:120px; }
.sources-heading h2 { margin:0; font-family:var(--display); font-size:clamp(2.4rem,4.5vw,4.25rem); line-height:1; letter-spacing:-.035em; text-wrap:balance; }
.sources-heading>p:last-child { margin:24px 0 0; max-width:55ch; color:var(--muted); }
.source-list { border-top:1px solid var(--ink); }
.source-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:28px; align-items:center; padding:26px 0; border-bottom:1px solid var(--line); }
.source-row h3 { margin:2px 0 8px; font-family:var(--display); font-size:1.2rem; line-height:1.25; }
.source-row p { margin:0; color:var(--muted); }
.source-row a { display:inline-flex; align-items:center; min-height:44px; font-family:var(--display); font-weight:700; color:var(--orange-deep); text-underline-offset:4px; white-space:nowrap; }
.source-type { font-family:var(--display); font-weight:700; font-size:.78rem; letter-spacing:.05em; text-transform:uppercase; }
.source-row--pending { background:var(--orange-soft); padding-inline:18px; }
.source-status { font-family:var(--display); font-weight:700; font-size:.88rem; }
.site-footer { background:var(--orange); color:var(--ink); }
.footer-inner { display:flex; justify-content:space-between; gap:40px; padding:32px 0; }
.footer-inner p { margin:0; }
[data-reveal] { opacity:1; transform:none; }
.js [data-reveal] { opacity:0; transform:translateY(22px); transition:opacity .36s ease-out,transform .36s ease-out; }
.js [data-reveal].is-visible { opacity:1; transform:none; }
@media (max-width:900px) {
  .site-header nav a { padding-inline:8px; }
  .hero { min-height:auto; }
  .hero-inner { grid-template-columns:1fr; gap:48px; padding:72px 0; }
  .portrait-frame { min-height:460px; }
  .intro-grid { grid-template-columns:1fr; gap:22px; }
  .timeline-track { left:26px; }
  .timeline-item { grid-template-columns:54px minmax(0,1fr); gap:22px; min-height:0; margin-bottom:78px; }
  .timeline-node { grid-column:1; grid-row:1; width:52px; height:52px; }
  .timeline-item.is-left .timeline-copy,.timeline-item.is-right .timeline-copy { grid-column:2; grid-row:1; justify-self:start; text-align:left; }
  .timeline-item.is-left .image-placeholder, .timeline-item.is-left .timeline-card-media, .timeline-item.is-right .timeline-card-media { grid-column:2; grid-row:2; justify-self:stretch; width:100%; }
  .timeline-copy { max-width:none; }
  .place-content { width:var(--shell); margin:0 auto; }
  .sources-grid { grid-template-columns:1fr; }
  .sources-heading { position:static; }
  .place-ring--one { width:90vw; height:90vw; right:-42vw; top:-18vw; }
  .place-ring--two { width:64vw; height:64vw; right:-26vw; top:0; }
  .place-ring--three { width:36vw; height:36vw; right:-8vw; top:17vw; }
}
@media (max-width:640px) {
  :root { --shell:min(100% - 32px,1180px); }
  main section[id] { scroll-margin-top:78px; }
  .draft-strip__inner { min-height:42px; align-items:flex-start; justify-content:center; flex-direction:column; gap:0; padding-block:5px; }
  .site-header { min-height:62px; padding-inline:12px; gap:4px; }
  .brand-mark { flex:0 0 44px; min-width:44px; justify-content:flex-start; }
  .brand-mark span:last-child { display:none; }
  .site-header nav { flex:1 1 auto; min-width:0; justify-content:flex-end; gap:0; }
  .site-header nav a { min-width:44px; justify-content:center; font-size:.8rem; padding-inline:5px; }
  .hero-inner { padding:58px 0 64px; }
  .hero h1 { font-size:clamp(2.9rem,14vw,4rem); }
  .portrait-frame { min-height:390px; }
  .story-heading { text-align:left; }
  .story-heading h2,.place-content h2,.facts-heading h2,.sources-heading h2 { font-size:clamp(2.05rem,10.5vw,3rem); }
  .story-heading>p:last-child { margin-left:0; }
  .timeline { margin-top:64px; }
  .timeline-track { left:23px; }
  .timeline-item { grid-template-columns:46px minmax(0,1fr); gap:18px; }
  .timeline-node { width:46px; height:46px; }
  .timeline-copy h3 { font-size:2rem; }
  .image-placeholder { min-height:180px; }
  .facts-list>div { grid-template-columns:1fr; gap:6px; }
  .source-row { grid-template-columns:1fr; gap:12px; }
  .source-row a { justify-self:start; }
  .footer-inner { flex-direction:column; gap:8px; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; }
  .js [data-reveal] { opacity:1; transform:none; }
}
