@import url("https://fonts.googleapis.com/css2?family=Archivo:wght@500;600;700;800;900&family=IBM+Plex+Sans:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500;600&display=swap");:root{--burgundy-900:#4a0214;--burgundy-800:#5e0420;--burgundy-700:#730526;--burgundy-600:#8c072c;--burgundy-500:#a8243f;--burgundy-400:#c25264;--burgundy-200:#e9c2cb;--burgundy-100:#f7e6ea;--burgundy-50:#fbf2f4;--blue-700:#1f6f9c;--blue-600:#2b8bc0;--blue-500:#3ba6d4;--blue-400:#62bbdf;--blue-300:#93d0e9;--blue-200:#c0e3f2;--blue-100:#e6f4fa;--blue-50:#f2f9fc;--navy-900:#0d1c30;--navy-800:#142539;--navy-700:#1d3251;--navy-600:#2b4368;--navy-500:#3d5878;--navy-400:#5d7491;--white:#fff;--grey-50:#f7f8fa;--grey-100:#eef1f4;--grey-200:#e1e6ec;--grey-300:#ccd4dd;--grey-400:#a6b1bf;--grey-500:#7d8895;--grey-600:#5a6573;--grey-700:#404954;--success:#2f7d52;--success-bg:#e7f3ec;--warning:#b9791d;--warning-bg:#fbf0dd;--danger:#b3261e;--danger-bg:#fbeae9;--color-primary:var(--burgundy-600);--color-primary-hover:var(--burgundy-700);--color-primary-active:var(--burgundy-800);--color-primary-tint:var(--burgundy-100);--on-primary:var(--white);--color-accent:var(--blue-500);--color-accent-hover:var(--blue-600);--color-accent-tint:var(--blue-100);--text-heading:var(--navy-800);--text-body:var(--navy-700);--text-muted:var(--grey-600);--text-subtle:var(--grey-500);--text-on-dark:var(--white);--text-on-dark-muted:hsla(0,0%,100%,.72);--surface-page:var(--grey-50);--surface-card:var(--white);--surface-raised:var(--white);--surface-sunken:var(--grey-100);--surface-inverse:var(--navy-900);--surface-accent:var(--blue-50);--border-subtle:var(--grey-200);--border-default:var(--grey-300);--border-strong:var(--grey-400);--border-focus:var(--blue-500);--link:var(--blue-600);--link-hover:var(--blue-700);--font-display:"Archivo","Arial Narrow",system-ui,sans-serif;--font-body:"IBM Plex Sans",system-ui,-apple-system,sans-serif;--font-mono:"IBM Plex Mono",ui-monospace,"SFMono-Regular",monospace;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--fw-black:900;--text-display-2xl:4.5rem;--text-display-xl:3.5rem;--text-display-lg:2.75rem;--text-h1:2.25rem;--text-h2:1.75rem;--text-h3:1.375rem;--text-h4:1.125rem;--text-lg:1.125rem;--text-base:1rem;--text-sm:0.875rem;--text-xs:0.75rem;--leading-tight:1.08;--leading-snug:1.25;--leading-normal:1.5;--leading-relaxed:1.65;--tracking-tight:-0.02em;--tracking-normal:0;--tracking-wide:0.04em;--tracking-eyebrow:0.14em;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:2.5rem;--space-8:3rem;--space-9:4rem;--space-10:5rem;--space-12:6rem;--space-14:8rem;--container-max:1200px;--container-wide:1320px;--container-narrow:760px;--gutter:1.5rem;--section-y:6rem;--radius-xs:2px;--radius-sm:4px;--radius-md:6px;--radius-lg:10px;--radius-xl:16px;--radius-pill:999px;--border-width:1px;--border-width-strong:2px;--shadow-xs:0 1px 2px rgba(13,28,48,.06);--shadow-sm:0 1px 3px rgba(13,28,48,.08),0 1px 2px rgba(13,28,48,.05);--shadow-md:0 4px 12px rgba(13,28,48,.08),0 2px 4px rgba(13,28,48,.05);--shadow-lg:0 12px 28px rgba(13,28,48,.12),0 4px 8px rgba(13,28,48,.06);--shadow-xl:0 24px 56px rgba(13,28,48,.16),0 8px 16px rgba(13,28,48,.08);--ring:0 0 0 3px rgba(59,166,212,.35);--edge-accent:var(--burgundy-600);--duration-fast:120ms;--duration-normal:200ms;--duration-slow:320ms;--duration-reveal:600ms;--ease-standard:cubic-bezier(0.32,0.08,0.24,1);--ease-out:cubic-bezier(0.16,0.84,0.3,1);--ease-in:cubic-bezier(0.5,0,0.84,0);--hover-lift:-2px}*{box-sizing:border-box}body,html{margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);background:var(--surface-page);color:var(--text-body);-webkit-font-smoothing:antialiased}a{color:inherit}.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s var(--ease-out),transform .7s var(--ease-out)}.reveal.in{opacity:1;transform:none}.screen-fade{animation:fade var(--duration-reveal) var(--ease-out)}@keyframes fade{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.photo.zoomable img{transition:transform .7s var(--ease-out);will-change:transform}.photo.zoomable:hover img{transform:scale(1.07)}.kenburns{animation:kenburns 22s ease-in-out infinite alternate;transform-origin:60% 40%}@keyframes kenburns{0%{transform:scale(1.05)}to{transform:scale(1.16)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.kenburns,.screen-fade{animation:none}.reveal{opacity:1;transform:none;transition:none}:root{--duration-fast:0ms;--duration-normal:0ms;--duration-slow:0ms;--duration-reveal:0ms}}