:root {
  --ink: #0a1d2a;
  --ink-2: #102a3a;
  --parchment: #f2ead9;
  --paper: #fbf7ed;
  --gold: #d6ae62;
  --jade: #6f9a8b;
  --lapis: #365d79;
  --rust: #a34d3f;
  --line: rgba(10, 29, 42, 0.16);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: Arial, Helvetica, sans-serif; text-rendering: optimizeLegibility; }
a { color: inherit; text-decoration: none; }
.shell { width: min(1180px, calc(100% - 48px)); margin-inline: auto; }

.hero {
  position: relative;
  min-height: 870px;
  overflow: hidden;
  color: var(--paper);
  background: radial-gradient(circle at 78% 46%, rgba(54, 93, 121, 0.36), transparent 36%), linear-gradient(122deg, #071824 0%, #0a2130 54%, #0f2c3b 100%);
}
.hero::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: 0.13;
  background-image: repeating-linear-gradient(112deg, transparent 0 31px, rgba(242, 234, 217, 0.08) 32px 33px);
  pointer-events: none;
}
.site-header { position: relative; z-index: 5; display: flex; align-items: center; justify-content: space-between; height: 94px; border-bottom: 1px solid rgba(242,234,217,0.16); }
.wordmark { display: inline-flex; align-items: center; gap: 13px; font-family: Georgia, "Times New Roman", serif; font-size: 17px; letter-spacing: -0.01em; }
.site-header nav { display: flex; align-items: center; gap: 30px; font-size: 13px; }
.site-header nav a { color: rgba(251,247,237,0.72); transition: color .2s ease; }
.site-header nav a:hover, .site-header nav a:focus-visible { color: var(--paper); }
.site-header nav .nav-cta { padding: 10px 16px; color: var(--paper); border: 1px solid rgba(242,234,217,0.3); border-radius: 999px; }

.brand-mark { position: relative; display: inline-block; width: 70px; height: 70px; flex: 0 0 auto; border-radius: 50%; overflow: hidden; background: var(--ink-2); border: 1px solid rgba(214,174,98,.48); box-shadow: inset 0 0 0 6px rgba(214,174,98,.06); }
.brand-mark--small { width: 38px; height: 38px; box-shadow: inset 0 0 0 3px rgba(214,174,98,.06); }
.brand-mark::before, .brand-mark::after { content:""; position:absolute; border-radius:50%; border:1px solid rgba(242,234,217,.18); }
.brand-mark::before { width: 72%; height: 110%; left: 14%; top: -5%; }
.brand-mark::after { width: 120%; height: 54%; left: -10%; top: 23%; }
.brand-mark__route { position:absolute; z-index:2; left:-8%; width:116%; height:2px; background:var(--gold); transform-origin:center; border-radius: 50%; }
.brand-mark__route--one { top:47%; transform:rotate(-22deg); }
.brand-mark__route--two { top:69%; background:var(--jade); transform:rotate(-15deg); }
.brand-mark__node { position:absolute; z-index:3; width:6px; height:6px; border-radius:50%; background:var(--paper); box-shadow:0 0 0 2px var(--gold); }
.brand-mark__node--one { left:21%; top:57%; }
.brand-mark__node--two { left:49%; top:39%; }
.brand-mark__node--three { right:18%; top:64%; box-shadow:0 0 0 2px var(--jade); }
.brand-mark--small .brand-mark__node { width:4px; height:4px; box-shadow:0 0 0 1px var(--gold); }
.brand-mark--small .brand-mark__node--three { box-shadow:0 0 0 1px var(--jade); }

.hero-grid { position: relative; z-index: 2; display: grid; grid-template-columns: 1.03fr .97fr; gap: 70px; align-items: center; min-height: 650px; padding: 74px 0 66px; }
.eyebrow { margin: 0 0 23px; color: var(--gold); font-size: 11px; font-weight: 650; letter-spacing: .19em; text-transform: uppercase; }
.hero h1 { max-width: 660px; margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(58px, 7vw, 96px); font-weight: 400; line-height: .98; letter-spacing: -.055em; }
.hero-lede { max-width: 620px; margin: 31px 0 0; color: rgba(251,247,237,.72); font-size: 18px; line-height: 1.68; }
.hero-actions { display:flex; align-items:center; gap:28px; margin-top:38px; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:11px; min-height:52px; padding:0 22px; border-radius:2px; font-size:13px; font-weight:650; letter-spacing:.01em; transition:transform .2s ease, background .2s ease; }
.button:hover { transform:translateY(-2px); }
.button--gold { background:var(--gold); color:var(--ink); }
.button--gold:hover { background:#e4c17b; }
.text-link { font-size:13px; color:rgba(251,247,237,.82); border-bottom:1px solid rgba(251,247,237,.32); padding-bottom:5px; }

.route-plate { position:relative; min-height:490px; overflow:hidden; border:1px solid rgba(242,234,217,.2); background:rgba(4,18,27,.38); box-shadow:0 32px 90px rgba(0,0,0,.24); }
.route-plate__wash { position:absolute; inset:0; background:radial-gradient(ellipse at 63% 51%, rgba(111,154,139,.2), transparent 38%), linear-gradient(155deg, rgba(214,174,98,.07), transparent 44%); }
.route-plate__grid { position:absolute; inset:0; opacity:.19; background-image:linear-gradient(rgba(242,234,217,.15) 1px, transparent 1px),linear-gradient(90deg, rgba(242,234,217,.15) 1px, transparent 1px); background-size:58px 58px; transform:perspective(520px) rotateX(9deg) scale(1.12); }
.route { position:absolute; z-index:2; left:-10%; width:120%; height:2px; border-radius:50%; background:var(--gold); box-shadow:0 0 20px rgba(214,174,98,.18); }
.route::after { content:""; position:absolute; inset:-8px 0; border-top:1px dashed currentColor; opacity:.25; }
.route--one { top:38%; transform:rotate(-10deg); }
.route--two { top:56%; background:var(--jade); transform:rotate(8deg); }
.route--three { top:70%; background:var(--lapis); transform:rotate(-18deg); }
.route-node { position:absolute; z-index:3; display:flex; align-items:center; gap:9px; color:rgba(251,247,237,.78); font-size:10px; letter-spacing:.13em; text-transform:uppercase; }
.route-node i { display:block; width:9px; height:9px; border-radius:50%; background:var(--paper); box-shadow:0 0 0 3px var(--gold), 0 0 0 8px rgba(214,174,98,.12); }
.route-node--one { left:14%; top:41%; }
.route-node--two { left:43%; top:50%; }
.route-node--three { right:12%; top:32%; }
.route-node--four { right:22%; bottom:19%; }
.route-node--two i, .route-node--four i { box-shadow:0 0 0 3px var(--jade), 0 0 0 8px rgba(111,154,139,.11); }
.route-plate__legend { position:absolute; left:28px; bottom:27px; z-index:4; display:flex; flex-direction:column; gap:4px; }
.route-plate__legend span { color:rgba(251,247,237,.52); font-size:10px; letter-spacing:.2em; }
.route-plate__legend strong { color:var(--paper); font-family:Georgia, "Times New Roman", serif; font-size:25px; font-weight:400; letter-spacing:.04em; }
.route-plate > p { position:absolute; z-index:4; right:17px; bottom:14px; margin:0; color:rgba(251,247,237,.34); font-size:9px; letter-spacing:.08em; text-transform:uppercase; }
.trust-strip { position:relative; z-index:2; display:grid; grid-template-columns:repeat(3,1fr); min-height:82px; border-top:1px solid rgba(242,234,217,.16); }
.trust-strip span { display:flex; align-items:center; gap:15px; color:rgba(251,247,237,.66); font-size:12px; letter-spacing:.05em; text-transform:uppercase; }
.trust-strip span+span { border-left:1px solid rgba(242,234,217,.16); padding-left:38px; }
.trust-strip b { color:var(--gold); font-size:10px; }

.section { padding-top:116px; padding-bottom:116px; }
.section-kicker { display:flex; align-items:center; gap:13px; margin-bottom:42px; color:#65727a; font-size:11px; font-weight:650; letter-spacing:.17em; text-transform:uppercase; }
.section-kicker span { color:var(--rust); }
.section-kicker::after { content:""; width:62px; height:1px; background:var(--line); }
.thesis-grid { display:grid; grid-template-columns:1fr 1fr; gap:100px; align-items:start; }
.thesis h2, .section-heading h2, .closing h2 { margin:0; font-family:Georgia, "Times New Roman", serif; font-size:clamp(45px,5.7vw,76px); font-weight:400; line-height:1.06; letter-spacing:-.045em; }
.thesis h2 em { color:var(--rust); font-weight:400; }
.thesis-copy { padding-top:8px; max-width:530px; }
.thesis-copy p { color:#59666e; line-height:1.8; }
.thesis-copy .lead { margin-top:0; color:var(--ink); font-family:Georgia, "Times New Roman", serif; font-size:21px; line-height:1.62; }
.lens-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; margin-top:94px; border:1px solid var(--line); background:var(--line); }
.lens-grid article { min-height:245px; padding:34px; background:var(--paper); }
.lens-grid article>span { display:block; color:var(--rust); font-size:10px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; }
.lens-grid h3 { margin:54px 0 13px; font-family:Georgia, "Times New Roman", serif; font-size:25px; font-weight:400; }
.lens-grid p { margin:0; color:#67737a; font-size:14px; line-height:1.65; }

.episodes { color:var(--paper); background:var(--ink); }
.section-heading { display:grid; grid-template-columns:1fr 1fr; column-gap:90px; }
.section-heading .section-kicker { grid-column:1/-1; }
.section-heading>p { max-width:460px; align-self:end; margin:0 0 9px; color:rgba(251,247,237,.56); line-height:1.75; }
.section-heading--dark .section-kicker { color:rgba(251,247,237,.46); }
.section-heading--dark .section-kicker::after { background:rgba(251,247,237,.16); }
.episode-list { margin-top:80px; border-top:1px solid rgba(251,247,237,.16); }
.episode { display:grid; grid-template-columns:80px 160px 1.15fr 1fr auto; gap:28px; align-items:center; min-height:146px; border-bottom:1px solid rgba(251,247,237,.16); }
.episode__number { color:var(--gold); font-family:Georgia, "Times New Roman", serif; font-size:22px; }
.episode__type { color:rgba(251,247,237,.42); font-size:10px; letter-spacing:.13em; text-transform:uppercase; }
.episode h3 { margin:0; font-family:Georgia, "Times New Roman", serif; font-size:24px; font-weight:400; line-height:1.3; }
.episode p { margin:0; color:rgba(251,247,237,.56); font-size:13px; line-height:1.65; }
.episode__status { color:var(--jade); font-size:10px; letter-spacing:.12em; text-transform:uppercase; white-space:nowrap; }

.evidence .section-heading { margin-bottom:76px; }
.evidence-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:42px; }
.evidence-grid article { padding-top:22px; border-top:1px solid var(--ink); }
.evidence-grid article>span { color:var(--rust); font-size:10px; font-weight:650; letter-spacing:.13em; text-transform:uppercase; }
.evidence-grid h3 { max-width:290px; margin:47px 0 15px; font-family:Georgia, "Times New Roman", serif; font-size:25px; font-weight:400; line-height:1.25; }
.evidence-grid p { margin:0; color:#65727a; font-size:14px; line-height:1.72; }

.closing { position:relative; overflow:hidden; padding:120px 0; text-align:center; color:var(--paper); background:#0d2634; }
.closing__content { position:relative; z-index:2; display:flex; flex-direction:column; align-items:center; }
.closing .brand-mark { margin-bottom:29px; }
.closing h2 { max-width:790px; margin-bottom:42px; }
.closing__threads { position:absolute; inset:0; opacity:.18; }
.closing__threads i { position:absolute; left:-10%; width:120%; height:1px; background:var(--gold); }
.closing__threads i:nth-child(1) { top:28%; transform:rotate(-6deg); }
.closing__threads i:nth-child(2) { top:54%; background:var(--jade); transform:rotate(8deg); }
.closing__threads i:nth-child(3) { top:71%; background:var(--lapis); transform:rotate(-10deg); }
footer { color:rgba(251,247,237,.55); background:#071822; border-top:1px solid rgba(251,247,237,.12); }
.footer-grid { display:grid; grid-template-columns:1fr 1fr 1fr; align-items:center; min-height:116px; font-size:11px; }
.footer-grid .wordmark { color:var(--paper); font-size:14px; }
.footer-grid p:nth-child(2) { text-align:center; }
.footer-grid p:last-child { text-align:right; }

@media (max-width: 980px) {
  .hero { min-height:auto; }
  .site-header nav a:not(.nav-cta) { display:none; }
  .hero-grid { grid-template-columns:1fr; gap:55px; padding-top:78px; }
  .route-plate { min-height:420px; }
  .thesis-grid, .section-heading { grid-template-columns:1fr; gap:36px; }
  .section-heading>p { align-self:auto; }
  .episode { grid-template-columns:55px 1fr auto; padding:30px 0; }
  .episode__type { grid-column:2; grid-row:1; }
  .episode h3 { grid-column:2; }
  .episode p { grid-column:2; }
  .episode__number { grid-row:1/4; align-self:start; }
  .episode__status { grid-column:3; grid-row:1; }
}

@media (max-width: 720px) {
  .shell { width:min(100% - 30px, 1180px); }
  .site-header { height:78px; }
  .site-header .wordmark>span:last-child { font-size:14px; }
  .site-header nav .nav-cta { padding:8px 12px; }
  .hero-grid { padding:60px 0 48px; }
  .hero h1 { font-size:54px; }
  .hero-lede { font-size:16px; }
  .hero-actions { align-items:flex-start; flex-direction:column; gap:22px; }
  .route-plate { min-height:360px; }
  .route-node--three { right:8%; }
  .route-node--four { right:11%; }
  .trust-strip { grid-template-columns:1fr; padding:15px 0; }
  .trust-strip span { min-height:43px; }
  .trust-strip span+span { border-left:0; padding-left:0; }
  .section { padding-top:82px; padding-bottom:82px; }
  .thesis h2, .section-heading h2, .closing h2 { font-size:44px; }
  .lens-grid, .evidence-grid { grid-template-columns:1fr; }
  .lens-grid { margin-top:60px; }
  .lens-grid article { min-height:auto; }
  .lens-grid h3 { margin-top:34px; }
  .episode { grid-template-columns:44px 1fr; }
  .episode__status { grid-column:2; grid-row:auto; }
  .episode__type { grid-column:2; }
  .footer-grid { grid-template-columns:1fr; gap:11px; padding:28px 0; }
  .footer-grid p, .footer-grid p:nth-child(2), .footer-grid p:last-child { margin:0; text-align:left; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *, *::before, *::after { transition:none !important; }
}
