/* 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:#0f172a;--color-primary-hover:#1e293b;--color-cta-bg:#000000;--color-cta-bg-hover:#1f2937;--color-cta-text:#fff;--color-secondary-btn:#4b5563;--color-focus-ring:#0f172a;--color-secondary:#800020;--color-accent:#4b5563;--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-cta-bg);color:var(--color-cta-text);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-focus-ring);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-primary)}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-focus-ring);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-cta-bg);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)}
/* Gateway + playbook: ensure layout and list not raw bullets when full CSS delayed */
.gateway-hero,.gateway-teaser,.gateway-playbook-wrap,.consulting-section{max-width:var(--max-width);margin-left:auto;margin-right:auto;padding-left:var(--space-lg);padding-right:var(--space-lg)}
.gateway-hero{text-align:center;padding:var(--space-2xl) var(--space-lg)}.gateway-hero-inner{max-width:42rem;margin:0 auto}
.gateway-teaser{padding:var(--space-2xl) var(--space-lg)}.gateway-teaser-card{max-width:36rem;margin:0 auto;padding:var(--space-2xl);background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px}
.playbook-checklist-list{list-style:none;margin:0;padding:0}.playbook-checklist-list li{margin-bottom:var(--space-md)}
/* Hero split layout: copy left, spine diagram right (critical path) */
.home-page .gateway-hero.gateway-hero--split{text-align:left}
.gateway-hero--split .gateway-hero-inner{max-width:72rem;margin:0 auto;text-align:left}
.gateway-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2rem 2.5rem;align-items:center}
.gateway-hero-copy{min-width:0}
.hero-spine-figure{margin:0;min-width:0}
.hero-spine-figure svg{display:block;width:100%;max-width:480px;height:auto;margin-left:auto;border-radius:1rem}
@media(max-width:900px){.gateway-hero-grid{grid-template-columns:1fr;gap:1.5rem}.hero-spine-figure svg{margin:0 auto;max-width:420px}}
