:root { --ink:#102b39; --deep-ink:#0a1d27; --paper:#f7f5ef; --sand:#e7e2d7; --gold:#c88e36; --coral:#b94c3b; --line:#bbc1ba; --muted:#52606a; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:Georgia,"Times New Roman",serif; font-size:18px; line-height:1.48; }
a { color:inherit; text-underline-offset:4px; }
button,input,select,textarea { font:inherit; }
.site-header,footer { display:flex; align-items:center; justify-content:space-between; gap:2rem; padding:1.35rem clamp(1.5rem,6vw,7rem); }
.site-header { border-bottom:1px solid var(--line); font-family:Arial,sans-serif; font-size:.77rem; letter-spacing:.07em; text-transform:uppercase; }
.brand { display:flex; align-items:center; gap:.85rem; color:inherit; font-size:.76rem; line-height:1.12; letter-spacing:.045em; text-decoration:none; text-transform:uppercase; }
.brand-mark { display:grid; width:3.05rem; height:3.05rem; place-items:center; color:var(--paper); background:var(--coral); font:bold .72rem Arial,sans-serif; letter-spacing:.045em; }
nav { display:flex; align-items:center; gap:1.85rem; } nav a { text-decoration:none; } nav a:hover,.text-link:hover { text-decoration:underline; } .menu-button { display:none; }
.hero { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(250px,.55fr); min-height:620px; color:var(--paper); background:linear-gradient(115deg,rgba(10,29,39,.98),rgba(16,43,57,.89)),radial-gradient(circle at 84% 16%,rgba(200,142,54,.7),transparent 32%),#214553; }
.hero-inner { padding:clamp(5rem,10vw,9.5rem) clamp(1.5rem,10vw,11rem) 4rem clamp(1.5rem,14vw,15rem); }
.eyebrow,.label { margin:0 0 1rem; font:600 .72rem Arial,sans-serif; letter-spacing:.13em; text-transform:uppercase; }
.hero h1 { max-width:800px; margin:0; font-size:clamp(3.2rem,6vw,6.5rem); font-weight:normal; letter-spacing:-.035em; line-height:.96; }
.hero-copy { max-width:620px; margin:2rem 0; font-size:1.22rem; }.hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:1.4rem; }
.hero-aside { align-self:end; padding:2rem clamp(1.5rem,5vw,5rem) 4rem 1rem; color:rgba(247,245,239,.9); }.hero-aside p:last-child { max-width:270px; margin:0; font-size:1.02rem; }.aside-rule { display:block; width:3.5rem; height:3px; margin-bottom:1.3rem; background:var(--gold); }
.button { display:inline-flex; align-items:center; gap:.8rem; padding:.95rem 1.2rem; color:#fff; background:var(--coral); border:1px solid var(--coral); font:600 .76rem Arial,sans-serif; letter-spacing:.07em; text-decoration:none; text-transform:uppercase; cursor:pointer; }.button:hover { background:#9d3c2e; border-color:#9d3c2e; }.button:disabled { cursor:wait; opacity:.65; }.text-link { font:600 .74rem Arial,sans-serif; letter-spacing:.07em; text-transform:uppercase; }.inverse { color:var(--paper); }
.statement,.perspective,.programs,.archive,.briefing { padding:clamp(4.5rem,9vw,9rem) clamp(1.5rem,14vw,15rem); }.statement { max-width:1100px; }.statement h2,.section-intro h2,.programs h2,.archive h2,.briefing h2 { margin:.2rem 0 1.4rem; font-size:clamp(2.45rem,4vw,4.6rem); font-weight:normal; letter-spacing:-.025em; line-height:1; }.statement p:last-child { max-width:720px; font-size:1.22rem; }
.research-grid { display:grid; grid-template-columns:1.8fr 1fr 1fr; }.feature-card,.research-card { display:flex; min-height:370px; padding:clamp(1.8rem,4vw,3.8rem); flex-direction:column; justify-content:flex-end; }.feature-card { color:var(--paper); background:var(--coral); }.research-card { background:var(--sand); }.research-card.accent { color:var(--paper); background:var(--ink); }.research-grid h2 { margin:.3rem 0; font-size:clamp(2.15rem,3vw,3.4rem); font-weight:normal; line-height:1.05; }.research-grid h3 { margin:.3rem 0; font-size:1.72rem; font-weight:normal; line-height:1.1; }.research-grid a { margin-top:1.5rem; font:600 .74rem Arial,sans-serif; letter-spacing:.07em; text-transform:uppercase; }
.perspective { background:#e9e7e0; }.section-intro { display:grid; grid-template-columns:1.3fr .7fr; gap:clamp(2rem,8vw,8rem); align-items:end; }.section-intro>p { max-width:420px; margin:0 0 .5rem; color:var(--muted); }.perspective-grid { display:grid; grid-template-columns:1.2fr 1fr 1fr; margin-top:3.5rem; border-top:1px solid var(--line); }.perspective-card { min-height:355px; padding:2rem 2rem 2.4rem; border-right:1px solid var(--line); }.perspective-card:first-child { padding-left:0; }.perspective-card:last-child { border-right:0; padding-right:0; }.card-meta { display:flex; justify-content:space-between; gap:.75rem; color:var(--coral); font:600 .68rem Arial,sans-serif; letter-spacing:.08em; text-transform:uppercase; }.perspective-card h3 { margin:1.4rem 0 .8rem; font-size:1.58rem; font-weight:normal; line-height:1.08; }.perspective-card p { font-size:.98rem; }.source-note { margin:1.25rem 0 0; color:var(--muted); font:.74rem Arial,sans-serif; line-height:1.35; }
.programs { display:grid; grid-template-columns:1fr 1fr; gap:clamp(3rem,9vw,9rem); background:var(--paper); }.programs ul { margin:0; padding:0; list-style:none; }.programs li { display:flex; gap:1.5rem; padding:1rem 0; border-top:1px solid var(--line); }.programs li:last-child { border-bottom:1px solid var(--line); }.programs span { color:var(--coral); font:600 .76rem Arial,sans-serif; }
.archive { color:var(--paper); background:var(--deep-ink); }.section-heading { display:flex; align-items:end; justify-content:space-between; gap:2rem; }.archive-intro { max-width:570px; margin:.25rem 0 2.8rem; color:rgba(247,245,239,.76); }.archive-list { border-top:1px solid rgba(247,245,239,.35); }.archive-list a { display:grid; grid-template-columns:140px 1fr 125px; gap:1.2rem; padding:1.4rem 0; border-bottom:1px solid rgba(247,245,239,.35); text-decoration:none; }.archive-list a:hover strong { text-decoration:underline; }.archive-list time,.archive-list b { color:#d9b26b; font:600 .69rem Arial,sans-serif; letter-spacing:.075em; text-transform:uppercase; }.archive-list strong,.archive-list small { display:block; }.archive-list strong { font-size:1.14rem; font-weight:normal; }.archive-list small { margin-top:.25rem; color:rgba(247,245,239,.68); font-size:.88rem; }.archive-list b { text-align:right; }
.briefing { display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(3rem,8vw,8rem); color:var(--paper); background:var(--ink); }.briefing>div>p:not(.eyebrow) { max-width:460px; }.briefing form { align-self:end; }.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:1.1rem; }label { display:grid; gap:.45rem; font:600 .69rem Arial,sans-serif; letter-spacing:.08em; text-transform:uppercase; }input,select,textarea { width:100%; padding:.76rem .8rem; color:var(--ink); background:var(--paper); border:1px solid var(--paper); font:16px Arial,sans-serif; }textarea { min-height:120px; resize:vertical; }.message-field { grid-column:1/-1; }.form-footer { display:flex; align-items:center; gap:1.2rem; margin-top:1.1rem; }.form-message { min-height:1.4rem; margin:0; font:15px Arial,sans-serif; }
footer { flex-wrap:wrap; color:var(--paper); background:#07151d; font:14px Arial,sans-serif; }footer p { margin:0; }
@media (max-width:900px) { .hero { grid-template-columns:1fr; }.hero-aside { padding:0 clamp(1.5rem,14vw,15rem) 3rem; }.research-grid,.perspective-grid { grid-template-columns:1fr; }.research-card,.feature-card { min-height:290px; }.perspective-card,.perspective-card:first-child,.perspective-card:last-child { min-height:auto; padding:2rem 0; border-right:0; border-bottom:1px solid var(--line); }.perspective-card:last-child { border-bottom:0; }.section-intro,.programs,.briefing { grid-template-columns:1fr; } }
@media (max-width:760px) { body { font-size:17px; }.site-header { position:relative; }.menu-button { display:block; margin-left:auto; color:var(--ink); background:none; border:0; font:600 .75rem Arial,sans-serif; letter-spacing:.08em; text-transform:uppercase; }nav { display:none; position:absolute; z-index:2; top:100%; right:0; left:0; padding:1rem 1.5rem; flex-direction:column; align-items:flex-start; background:var(--paper); border-bottom:1px solid var(--line); }nav.open { display:flex; }.hero { min-height:540px; }.hero-inner { padding-right:1.5rem; }.section-heading,.form-footer { align-items:flex-start; flex-direction:column; }.archive-list a { grid-template-columns:1fr; gap:.45rem; }.archive-list b { text-align:left; }.form-grid { grid-template-columns:1fr; }.message-field { grid-column:auto; }.site-header,footer { gap:1.1rem; } }
