@import url('https://fonts.googleapis.com/css2?family=DM+Mono&family=Manrope:wght@400;500;600;700;800&family=Playfair+Display:ital,wght@0,600;0,700;1,600&display=swap');

:root { --ink:#0a1422; --ink-2:#122238; --paper:#f5f7fa; --surface:#fff; --lime:#c7f34a; --cyan:#63d9ed; --muted:#657384; --line:#d9e0e8; --navy:#091421; }
* { box-sizing:border-box; } html { scroll-behavior:smooth; } body { margin:0; background:var(--paper); color:var(--ink); font-family:Manrope,Arial,sans-serif; line-height:1.65; } a { color:inherit; } .skip { position:absolute; left:-999px; } .skip:focus { left:1rem; top:1rem; background:white; padding:.5rem; z-index:3; }
.site-header { height:78px; max-width:none; margin:auto; padding:0 max(5vw,1.5rem); display:flex; align-items:center; justify-content:space-between; background:var(--navy); color:#fff; border-bottom:1px solid rgba(255,255,255,.1); }.wordmark { text-decoration:none; font-size:1.35rem; font-weight:800; letter-spacing:-.1em; }.wordmark span { color:var(--lime); } nav { display:flex; gap:1.6rem; font-size:.74rem; font-weight:700; letter-spacing:.02em; } nav a { text-decoration:none; color:#d8e2ef; } nav a:hover { color:var(--lime); }
.hero,.page-hero { position:relative; isolation:isolate; overflow:hidden; background:var(--navy); color:#fff; }.hero:before,.page-hero:before { content:""; position:absolute; z-index:-1; inset:0; background:linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px); background-size:54px 54px; mask-image:linear-gradient(to bottom,black,transparent 90%); }.hero:after,.page-hero:after { content:""; position:absolute; z-index:-1; width:36rem; height:36rem; right:-11rem; top:-12rem; border-radius:50%; background:radial-gradient(circle at 35% 65%,var(--cyan),var(--lime) 18%,transparent 66%); opacity:.8; filter:blur(4px); }
.hero { max-width:none; margin:auto; padding:10vh max(5vw,1.5rem) 14vh; min-height:650px; }.eyebrow,.section-label,.date { font-family:'DM Mono',monospace; font-size:.69rem; text-transform:uppercase; letter-spacing:.09em; } .eyebrow { color:var(--lime); font-weight:bold; } h1,h2,h3,p { margin-top:0; } h1 { max-width:800px; margin:.45rem 0 1.5rem; font-family:'Playfair Display',Georgia,serif; font-size:clamp(4.3rem,11vw,9.5rem); line-height:.84; letter-spacing:-.07em; } .lede { max-width:570px; font-size:clamp(1.12rem,2vw,1.45rem); line-height:1.55; color:#dbe4ee; } .signal-row { display:flex; flex-wrap:wrap; gap:.55rem; margin:2rem 0 .2rem; }.signal-row span,.capabilities span { border:1px solid rgba(255,255,255,.22); border-radius:999px; padding:.42rem .75rem; font-size:.76rem; font-weight:600; backdrop-filter:blur(8px); }.button { display:inline-flex; gap:.8rem; align-items:center; margin-top:1.5rem; padding:.9rem 1.2rem; background:var(--lime); color:var(--ink); border-radius:100px; text-decoration:none; font-size:.83rem; font-weight:800; transition:transform .2s,background .2s; }.button:hover { transform:translateY(-2px); background:#dcff72; }
.grid { max-width:1280px; margin:auto; padding:8rem max(5vw,1.5rem); display:grid; grid-template-columns:1fr 2fr; gap:4rem; border-top:1px solid var(--line); }.section-label { color:var(--muted); margin:.5rem 0; } h2 { font-family:'Playfair Display',Georgia,serif; font-size:clamp(2.25rem,5vw,4rem); line-height:1; letter-spacing:-.05em; margin-bottom:1.6rem; }.grid>div { max-width:650px; font-size:1.06rem; }
.profile { max-width:none; background:#e8eef4; }.profile>div,.profile>.section-label { max-width:calc(1280px * .666); }.profile-points { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; margin:2.4rem 0; }.profile-points div { background:rgba(255,255,255,.78); border:1px solid #d5e0e9; border-radius:10px; padding:1.35rem; min-height:155px; box-shadow:0 12px 30px rgba(11,31,50,.05); }.profile-points strong { display:block; font-size:.88rem; margin-bottom:.55rem; }.profile-points span,.note-dark { display:block; color:#526171; font-size:.83rem; line-height:1.55; }.note-dark { max-width:570px; }
.statements { background:var(--ink); color:#f8f9fa; padding:8rem max(5vw,1.5rem); }.section-intro,.statement { max-width:860px; margin:0 auto; }.section-intro { margin-bottom:3rem; }.section-intro .section-label,.statement .date { color:var(--lime); }.section-intro p:last-child { max-width:600px; color:#b8c7d5; }.statement { padding:2.6rem 0; border-top:1px solid rgba(255,255,255,.18); }.statement h3 { font-family:'Playfair Display',Georgia,serif; font-size:2rem; letter-spacing:-.04em; margin-bottom:.6rem; }.statement p:not(.date) { max-width:700px; }.note,.contact-note { font-size:.8rem; color:#8fa0b0; }.draft { opacity:.75; border-bottom:1px solid rgba(255,255,255,.18); }
.email { display:inline-block; font-size:clamp(1.2rem,3vw,2rem); font-weight:800; text-underline-offset:.22em; }.contact { background:#fff; }.contact-note { color:var(--muted); } footer { background:var(--navy); color:#aebdcb; margin:auto; padding:2rem max(5vw,1.5rem); display:flex; justify-content:space-between; font-family:'DM Mono',monospace; font-size:.7rem; }
.page-hero { min-height:460px; padding:11vh max(5vw,1.5rem) 9vh; }.page-hero h1 { font-size:clamp(3.5rem,8vw,7.3rem); max-width:900px; }.article,.timeline { max-width:850px; margin:auto; padding:7rem max(5vw,1.5rem); }.article h2,.timeline h2 { font-size:clamp(1.8rem,3vw,2.7rem); margin-top:4rem; }.article h2:first-child { margin-top:0; }.article p,.timeline p { font-size:1.05rem; }.timeline article { border-top:1px solid var(--line); padding:2.4rem 0; }.timeline article:last-child { border-bottom:1px solid var(--line); }.timeline h2 { margin:.25rem 0 .7rem; }.timeline .date { color:#55720f; font-weight:bold; }.capabilities { display:flex; flex-wrap:wrap; gap:.65rem; margin-top:1.5rem; }.capabilities span { background:#edf3f7; border:1px solid #d2dee8; color:#264056; }
@media (max-width:700px) { .site-header { height:68px; padding:0 1.25rem; } nav { gap:.75rem; font-size:.66rem; }.hero { min-height:580px; padding:9vh 1.5rem 11vh; }.page-hero { min-height:430px; padding:10vh 1.5rem 7vh; }.hero:after,.page-hero:after { width:24rem; height:24rem; right:-12rem; }.grid { grid-template-columns:1fr; gap:1rem; padding:5rem 1.5rem; }.profile-points { grid-template-columns:1fr; gap:.75rem; }.profile-points div { min-height:0; }.statements { padding:5rem 1.5rem; }.article,.timeline { padding:4.5rem 1.5rem; }.article p,.timeline p { font-size:1rem; } footer { gap:1rem; flex-direction:column; padding:1.5rem; } }
