@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Newsreader:opsz,wght@6..72,400;6..72,500;6..72,600&display=swap');

:root { --ink:#18221c; --forest:#143d2b; --forest-light:#20583e; --cream:#f5f0e5; --paper:#fffdf7; --gold:#cf9e3f; --gold-light:#efd8a4; --sage:#dce5d7; --muted:#667068; --line:#d6d4c9; --serif:'Newsreader',Georgia,serif; --sans:'DM Sans',Arial,sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:var(--sans); line-height:1.6; }
a { color:inherit; }
button,a { -webkit-tap-highlight-color:transparent; }
button:focus-visible,a:focus-visible,[tabindex='0']:focus-visible { outline:3px solid var(--gold); outline-offset:4px; }
.site-header { position:relative; z-index:5; display:flex; justify-content:space-between; align-items:center; min-height:76px; padding:0 clamp(22px,5vw,76px); border-bottom:1px solid rgba(255,255,255,.15); background:var(--forest); color:white; }
.brand { display:flex; gap:12px; align-items:center; font-size:14px; font-weight:700; text-decoration:none; }
.brand-mark { display:grid; place-items:center; width:34px; height:34px; border:1px solid var(--gold-light); border-radius:50%; color:var(--gold-light); font-family:var(--serif); }
.site-header nav,footer nav { display:flex; gap:24px; }
.site-header nav a { color:rgba(255,255,255,.75); font-size:12px; font-weight:600; text-decoration:none; }
.site-header nav a:hover { color:white; }
.hero { display:grid; grid-template-columns:minmax(0,1fr) minmax(360px,.9fr); min-height:720px; background:var(--forest); color:white; }
.hero-copy { display:flex; flex-direction:column; justify-content:center; padding:clamp(70px,8vw,130px) clamp(26px,6vw,96px); }
.eyebrow { margin:0 0 17px; color:var(--gold); font-size:11px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }
h1,h2,h3,p { margin-top:0; }
h1,h2,h3 { font-family:var(--serif); font-weight:500; }
h1 { max-width:760px; margin-bottom:26px; font-size:clamp(58px,7vw,104px); line-height:.91; letter-spacing:-.055em; }
.lede { max-width:650px; margin-bottom:32px; color:rgba(255,255,255,.78); font-family:var(--serif); font-size:clamp(20px,2vw,27px); line-height:1.4; }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; }
.primary-action,.secondary-action,.share-section button { min-height:52px; border:0; border-radius:2px; padding:0 22px; font-family:var(--sans); font-size:13px; font-weight:700; cursor:pointer; }
.primary-action { display:flex; gap:30px; justify-content:space-between; align-items:center; min-width:220px; background:var(--gold); color:#142119; }
.primary-action:hover,.share-section button:hover { background:#e0b359; }
.secondary-action { display:inline-flex; align-items:center; border:1px solid rgba(255,255,255,.35); color:white; text-decoration:none; }
.accuracy-note { max-width:600px; margin:25px 0 0; color:rgba(255,255,255,.52); font-size:11px; }
.hero-art { position:relative; min-height:520px; margin:0; overflow:hidden; background:#273b2e; }
.hero-art::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,rgba(20,61,43,.52),transparent 38%); pointer-events:none; }
.hero-art img { width:100%; height:100%; object-fit:cover; }
.hero-art figcaption { position:absolute; z-index:2; right:16px; bottom:12px; color:rgba(255,255,255,.7); font-size:9px; }
.roadmap-shell,.dates-section,.sources-section { padding:clamp(70px,9vw,130px) clamp(24px,7vw,110px); }
.section-intro { max-width:800px; margin-bottom:50px; }
.section-intro h2,.oregon-section h2,.dates-section h2,.sources-section h2,.share-section h2 { margin-bottom:18px; font-size:clamp(43px,5vw,72px); line-height:.98; letter-spacing:-.04em; }
.section-intro>p:last-child { max-width:690px; color:var(--muted); font-size:16px; }
.journey-placeholder { display:grid; min-height:190px; place-items:center; border:1px dashed #a8aea7; background:var(--cream); color:var(--muted); text-align:center; }
.journey-explorer { display:grid; grid-template-columns:minmax(230px,.38fr) minmax(0,1fr); border-top:4px solid var(--forest); background:var(--cream); }
.phase-tabs { display:flex; flex-direction:column; border-right:1px solid var(--line); }
.phase-tabs button { display:flex; gap:20px; align-items:center; min-height:66px; border:0; border-bottom:1px solid var(--line); padding:0 22px; background:transparent; color:var(--muted); font-family:var(--sans); font-weight:700; text-align:left; cursor:pointer; }
.phase-tabs button span { color:#9a9c95; font-family:var(--serif); font-size:20px; }
.phase-tabs button[aria-selected='true'] { background:var(--forest); color:white; }
.phase-tabs button[aria-selected='true'] span { color:var(--gold-light); }
.phase-panel { min-height:460px; padding:clamp(34px,6vw,76px); }
.phase-kicker { color:var(--forest-light); font-size:11px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.phase-panel h3 { max-width:700px; margin-bottom:16px; font-size:clamp(36px,4.2vw,62px); line-height:1; letter-spacing:-.035em; }
.phase-summary { max-width:730px; color:#4e5750; font-family:var(--serif); font-size:20px; line-height:1.45; }
.phase-panel ul,.path-grid ul { margin:28px 0; padding:0; list-style:none; }
.phase-panel li,.path-grid li { position:relative; max-width:720px; margin:0; border-top:1px solid var(--line); padding:13px 12px 13px 26px; }
.phase-panel li::before,.path-grid li::before { content:'—'; position:absolute; left:0; color:var(--gold); }
.source-action,.truth-grid article>a,.path-grid article>a { display:inline-flex; gap:9px; align-items:center; color:var(--forest); font-size:12px; font-weight:700; text-decoration-thickness:1px; text-underline-offset:4px; }
.truth-grid { display:grid; grid-template-columns:repeat(2,1fr); padding:0 clamp(24px,7vw,110px) clamp(70px,9vw,130px); }
.truth-grid article { border-top:1px solid var(--ink); padding:32px clamp(20px,4vw,56px) 20px 0; }
.truth-grid article+article { border-left:1px solid var(--line); padding-left:clamp(20px,4vw,56px); }
.truth-grid h2 { max-width:540px; font-size:clamp(30px,3.6vw,48px); line-height:1.04; letter-spacing:-.025em; }
.truth-grid p:not(.eyebrow) { max-width:570px; color:var(--muted); }
.oregon-section { padding:clamp(70px,9vw,130px) clamp(24px,7vw,110px); background:var(--forest); color:white; }
.section-intro.inverse>p:last-child { color:rgba(255,255,255,.67); }
.path-grid { display:grid; grid-template-columns:repeat(2,1fr); border-top:1px solid rgba(255,255,255,.2); }
.path-grid article { padding:42px clamp(24px,4vw,60px) 30px 0; }
.path-grid article+article { border-left:1px solid rgba(255,255,255,.2); padding-left:clamp(24px,4vw,60px); }
.path-number { color:var(--gold); font-family:var(--serif); font-size:22px; }
.path-grid h3 { margin:8px 0 18px; font-size:46px; }
.path-grid p,.path-grid li { color:rgba(255,255,255,.72); }
.path-grid li { border-color:rgba(255,255,255,.17); }
.path-grid article>a { color:var(--gold-light); }
.dates-section { display:grid; grid-template-columns:minmax(260px,.72fr) minmax(0,1fr); gap:clamp(40px,8vw,120px); background:var(--sage); }
.date-list { border-top:4px solid var(--forest); }
.date-list article { display:grid; grid-template-columns:110px 180px minmax(0,1fr); gap:22px; align-items:start; border-bottom:1px solid #b9c5b7; padding:24px 0; }
.date-list span { color:var(--forest-light); font-size:10px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.date-list h3 { margin:0; font-size:23px; line-height:1.1; }
.date-list p { margin:0; color:#536056; font-size:14px; }
.sources-section { background:var(--paper); }
.source-list { border-top:4px solid var(--ink); }
.source-list a { display:grid; grid-template-columns:minmax(190px,.45fr) minmax(0,1fr) auto; gap:30px; align-items:center; border-bottom:1px solid var(--line); padding:22px 8px; text-decoration:none; }
.source-list a:hover { background:var(--cream); }
.source-list span { color:var(--muted); font-size:11px; font-weight:700; text-transform:uppercase; }
.source-list strong { font-family:var(--serif); font-size:22px; font-weight:500; }
.source-list b { color:var(--forest-light); font-size:11px; }
.share-section { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:25px; align-items:center; padding:65px clamp(24px,7vw,110px); background:var(--gold-light); }
.share-section h2 { margin:0; }
.share-section button { min-width:170px; background:var(--forest); color:white; }
#share-status { grid-column:1/-1; min-height:18px; margin:0; color:var(--forest-light); font-size:12px; }
footer { display:flex; justify-content:space-between; align-items:flex-start; gap:30px; padding:42px clamp(24px,7vw,110px); background:#101713; color:white; }
footer p { margin:7px 0 0; color:rgba(255,255,255,.55); font-size:12px; }
footer nav { flex-wrap:wrap; justify-content:flex-end; }
footer nav a { color:rgba(255,255,255,.68); font-size:11px; }
[hidden] { display:none!important; }
@media (max-width:900px) { .site-header nav{display:none}.hero{grid-template-columns:1fr}.hero-art{min-height:380px;order:-1}.hero-copy{padding-top:68px}.journey-explorer,.dates-section{grid-template-columns:1fr}.phase-tabs{display:grid;grid-template-columns:repeat(5,minmax(115px,1fr));overflow-x:auto;border-right:0;border-bottom:1px solid var(--line)}.phase-tabs button{flex-direction:column;gap:1px;justify-content:center;align-items:flex-start}.date-list article{grid-template-columns:90px 150px minmax(0,1fr)} }
@media (max-width:680px) { .brand>span:last-child{font-size:12px}.hero{min-height:auto}.hero-art{min-height:245px}.hero-art figcaption{max-width:90%;font-size:8px}h1{font-size:58px}.truth-grid,.path-grid{grid-template-columns:1fr}.truth-grid article+article,.path-grid article+article{border-left:0;padding-left:0}.date-list article{grid-template-columns:1fr;gap:8px}.source-list a{grid-template-columns:1fr auto;gap:5px 16px}.source-list span{grid-column:1/-1}.source-list strong{font-size:19px}.share-section,footer{grid-template-columns:1fr;flex-direction:column;align-items:stretch}.share-section button{width:100%}footer nav{flex-direction:column;justify-content:flex-start;gap:12px} }
@media (prefers-reduced-motion:reduce) { html{scroll-behavior:auto} }
