:root{--oat: #EBE4D3;--cream: #F6F3EC;--paper: #FAF7F0;--dusty-amber:#F0E4CE;--ink: #0A2463;--ink-soft: #2A3754;--ink-muted: #5C6478;--rule: rgba(10, 36, 99, .18);--amber: #C4872A;--amber-deep: #8F5E1A;--sky: #369ED1;--navy: #0A2463;--navy-dark: #061428;--font-serif: "Newsreader", Georgia, serif;--font-sans: "Figtree", system-ui, -apple-system, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, monospace;--fs-h1: clamp(52px, 6.2vw, 96px);--fs-h2: clamp(36px, 4.5vw, 68px);--fs-h3: clamp(30px, 3.2vw, 44px);--fs-lead: 18px;--fs-body: 16px;--fs-mono: 10.5px;--weight-reg: 400;--weight-med: 500;--weight-semi: 600;--weight-bold: 700;--leading-tight: 1.02;--leading-heading: 1.15;--leading-body: 1.55;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 32px;--space-8: 40px;--space-10: 56px;--space-12: 64px;--space-14: 80px;--space-16: 120px;--section-pad-y: 100px;--section-pad-x: 64px;--max-width: 1400px;--shadow-card: 0 8px 22px rgba(10, 36, 99, .12);--transition-fast: .15s ease;--transition-base: .25s ease;--ease-smooth: cubic-bezier(.22, 1, .36, 1);--z-top: 999}@media (max-width: 1200px){:root{--section-pad-x: 40px}}@media (max-width: 900px){:root{--section-pad-y: 80px;--section-pad-x: 24px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{min-height:100vh;font-family:var(--font-sans);font-size:var(--fs-body);line-height:var(--leading-body);color:var(--ink);background-color:var(--oat);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit;color:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}h1,h2,h3,h4,h5,h6{font-family:var(--font-serif);font-weight:var(--weight-reg);line-height:var(--leading-heading)}a{color:inherit;text-decoration:none}ul,ol{list-style:none}button{cursor:pointer;border:none;background:none}.display{font-family:var(--font-serif);font-weight:var(--weight-reg);font-size:var(--fs-h1);line-height:.95;letter-spacing:-.035em;color:var(--ink);margin:0}.display em,.display i{font-style:italic;font-weight:300}.h2{font-family:var(--font-serif);font-weight:var(--weight-reg);font-size:var(--fs-h2);line-height:1.02;letter-spacing:-.028em;color:var(--ink);margin:0}.h3{font-family:var(--font-serif);font-weight:var(--weight-reg);font-size:var(--fs-h3);letter-spacing:-.02em;color:var(--ink);margin:0}.lead{font-family:var(--font-sans);font-size:var(--fs-lead);line-height:var(--leading-body);color:var(--ink-soft)}.kicker{font-family:var(--font-mono);font-size:var(--fs-mono);font-weight:var(--weight-med);letter-spacing:.22em;text-transform:uppercase;color:var(--amber)}.kicker--muted{color:#0a246399}.tech-mark{font-family:var(--font-serif);font-style:italic;font-weight:var(--weight-semi);font-size:1.18em;color:var(--amber)}.tech-mark--lead{font-size:30px;letter-spacing:-.01em}.ink{color:var(--ink)}.ink-soft{color:var(--ink-soft)}.ink-muted{color:var(--ink-muted)}.amber{color:var(--amber)}.sky{color:var(--sky)}.section{padding:var(--section-pad-y) var(--section-pad-x);position:relative;scroll-margin-top:68px}[id=contact]{scroll-margin-top:68px}.section--oat{background:var(--oat)}.section--cream{background:var(--cream)}.container{width:100%;max-width:var(--max-width);margin-inline:auto}.btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:16px 28px;font-family:var(--font-sans);font-size:14px;font-weight:var(--weight-semi);letter-spacing:.02em;border-radius:2px;transition:background var(--transition-base),color var(--transition-base),transform var(--transition-fast)}.btn--primary{background:var(--ink);color:var(--paper)}.btn--primary:hover{background:var(--navy-dark);transform:translateY(-1px)}.btn--ghost{color:var(--ink);padding-inline:0;border-bottom:1px solid var(--ink);padding-bottom:2px;border-radius:0;font-family:var(--font-serif);font-style:italic;font-size:18px;font-weight:var(--weight-reg)}::selection{background:#c4872a4d;color:var(--ink)}.reveal{opacity:0;transform:translateY(14px);transition:opacity .7s var(--ease-smooth),transform .7s var(--ease-smooth)}.reveal.is-visible{opacity:1;transform:none}
