/* Critical CSS: above-the-fold (reset, tokens, header, hero). Inline in head; full CSS loads async. */
*,*::before,*::after{box-sizing:border-box}*{margin:0;padding:0}html{font-size:100%;-webkit-text-size-adjust:100%}body{min-height:100vh;line-height:1.5;-webkit-font-smoothing:antialiased;font-family:var(--font-body);font-size:1rem;color:var(--color-text);background-color:var(--color-neutral)}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}a{color:inherit}ul,ol{list-style-position:outside}
:root{--color-primary:#0A2463;--color-primary-hover:#081b4d;--color-secondary:#800020;--color-accent:#D4AF37;--color-neutral:#F8F9FA;--color-text:#212529;--color-medium:#6C757D;--color-border:#dee2e6;--color-surface:#fff;--font-heading:'Merriweather',Georgia,serif;--font-body:'Open Sans',system-ui,sans-serif;--max-width:1200px;--space-xs:.25rem;--space-sm:.5rem;--space-md:.75rem;--space-lg:1rem;--space-xl:1.25rem;--space-2xl:1.5rem;--header-height:4.5rem;--nav-gap:1.25rem}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) + .5rem)}
.skip-link{position:absolute;top:calc(-1*var(--header-height));left:var(--space-md);padding:var(--space-sm) var(--space-md);background:var(--color-primary);color:var(--color-surface);text-decoration:none;z-index:1000;font-family:var(--font-body);font-weight:600}.skip-link:focus{top:var(--space-md);outline:2px solid var(--color-accent);outline-offset:2px}
h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:700;line-height:1.25;color:var(--color-primary)}h1{font-size:clamp(1.5rem,3vw,2rem);margin-bottom:var(--space-md)}h2{font-size:1.375rem;margin-bottom:var(--space-md);padding-bottom:var(--space-xs);border-bottom:2px solid var(--color-accent)}h3{font-size:1.125rem;margin-bottom:var(--space-sm)}p{margin-bottom:var(--space-md)}.lead{font-size:1.0625rem;color:var(--color-medium);margin-bottom:var(--space-lg)}
a{color:var(--color-primary);text-decoration:underline;text-underline-offset:.15em}a:hover{color:var(--color-primary-hover)}a:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}
.site-header{position:sticky;top:0;z-index:100;background:var(--color-surface);border-bottom:2px solid var(--color-primary);box-shadow:0 1px 0 var(--color-border)}.header-inner{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-lg);max-width:var(--max-width);margin:0 auto;padding:var(--space-md) var(--space-lg)}.header-logo{display:flex;flex-direction:column;text-decoration:none;color:var(--color-primary);margin-right:auto}.header-logo-main{font-family:var(--font-heading);font-weight:700;font-size:1.375rem;line-height:1.2}.header-logo-sub{font-family:var(--font-body);font-size:.8125rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text)}.header-nav{display:flex;flex-wrap:wrap;align-items:center;gap:var(--nav-gap)}.header-nav a{text-decoration:none;font-weight:600;font-size:.875rem;color:var(--color-text)}.cta--header{flex-shrink:0;padding:var(--space-xs) var(--space-md);font-size:.875rem}
.header-progress{display:flex;align-items:center;gap:var(--space-md);max-width:var(--max-width);margin:0 auto;padding:0 var(--space-lg) var(--space-sm)}.header-progress-label{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-medium);font-family:var(--font-body)}.header-progress-track{flex:1;height:2px;background:var(--color-border);min-width:4rem}.header-progress-fill{height:100%;background:var(--color-primary);width:0}
main{max-width:var(--max-width);margin:0 auto;padding:var(--space-xl) var(--space-lg);background:var(--color-surface)}section{margin-bottom:var(--space-2xl)}section:first-of-type{padding-top:var(--space-md)}
.hero{padding-bottom:var(--space-2xl);border-bottom:1px solid var(--color-border)}.hero-badge{display:inline-block;margin-bottom:var(--space-md);padding:var(--space-xs) var(--space-md);font-size:.8125rem;font-weight:600;font-family:var(--font-body);color:var(--color-secondary);background:var(--color-neutral);border:1px solid var(--color-border);border-radius:2px}.hero h1{margin-bottom:var(--space-md);max-width:38em}.hero-subtitle{font-size:1.0625rem;color:var(--color-text);margin-bottom:var(--space-lg);max-width:42em;line-height:1.6}.hero .cta{margin-bottom:var(--space-2xl)}
