:root{--color-primary:#1a4277;--color-primary-dark:#12305a;--color-accent:#dc5a1e;--color-accent-dark:#b84812;--color-accent-light:#f7b48f;--color-gold:#f2c462;--color-tan:#c99a62;--color-text:#22252d;--color-muted:#5b606c;--color-paper:#f4f3ef;--color-white:#fff;--color-on-dark:#e8e9ec;--color-on-dark-muted:#a9adb7;--color-border:#22252d24;--color-grid-line:#1f33c412;--font-display:var(--font-archivo), "Arial Black", system-ui, sans-serif;--font-text:var(--font-archivo), system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:var(--font-plex-mono), ui-monospace, Menlo, monospace;--font-hand:var(--font-belle-aurore), "Bradley Hand", cursive;--font-quote:var(--font-playfair), Georgia, serif;--text-xs:12px;--text-sm:14px;--text-md:16px;--text-base:18px;--text-lg:clamp(18px, 1.5vw, 20px);--text-xl:clamp(22px, 2.4vw, 30px);--text-2xl:clamp(28px, 3.4vw, 44px);--text-3xl:clamp(34px, 4.8vw, 60px);--container-max:1180px;--gutter:clamp(16px, 5vw, 72px);--section-padding:clamp(56px, 7vw, 96px);--section-padding-compact:clamp(24px, 3vw, 40px);--nav-height:98px;--logo-md:64px;--logo-lg:124px;--frame-offset:26px;--focus-ring:3px solid var(--color-accent);--focus-offset:3px;--ease-out-soft:cubic-bezier(.2, .7, .2, 1);--reveal-distance:26px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (max-width:460px){:root{--nav-height:76px;--logo-md:46px}}
*,:before,:after{box-sizing:border-box;margin:0;padding:0}img,picture,svg,video{max-width:100%;display:block}input,button,textarea,select{font:inherit}html{scroll-behavior:smooth;scroll-padding-top:var(--nav-height)}body{background:var(--color-white);color:var(--color-text);font-family:var(--font-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:18px;font-weight:400;line-height:1.6}h1,h2,h3{text-wrap:balance}a{color:var(--color-primary)}:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}[data-reveal-state=pending]{opacity:0}[data-reveal-state=shown]{animation:reveal-in .8s var(--ease-out-soft) var(--reveal-delay,0s) both}@keyframes reveal-in{0%{opacity:0;translate:0 var(--reveal-distance)}}
