@font-face{font-family:Manrope;src:url('/assets/manrope-latin.woff2') format('woff2');font-weight:200 800;font-display:swap}
/* Shared design tokens. All page and component scales use these values. */
:root{
 color-scheme:light;
 --canvas:#fff;--surface:#f3f7fb;--text:#20364a;--muted:#586b7c;--quiet:#657787;
 --border:#d9e3ec;--border-strong:#b8cad9;--ink:#243e53;--ink-text:#fff;--pale-blue:#bde0fe;--focus:#477fa9;
 --space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;
 --gutter:clamp(1rem,4vw,3.5rem);--container:78rem;
 --section-space:clamp(3rem,6vw,5.5rem);--layout-gap:clamp(1.5rem,4vw,4rem);--card-pad:clamp(1.25rem,2.5vw,2rem);
 --font-xs:.75rem;--font-sm:.875rem;--font-body:clamp(.9375rem,.9rem + .12vw,1rem);
 --font-lead:clamp(1rem,.95rem + .25vw,1.1875rem);
 --font-h1:clamp(2rem,1.4rem + 2.7vw,3.75rem);--font-h2:clamp(1.75rem,1.35rem + 1.6vw,2.625rem);--font-h3:clamp(1.125rem,1rem + .4vw,1.375rem);
 --page-title:clamp(1.75rem,1.25rem + 1.8vw,2.75rem);--page-heading:clamp(1.375rem,1.1rem + 1vw,2rem);
 --page-section:clamp(2.5rem,4vw,4rem);--page-intro-space:clamp(2rem,4vw,3.5rem);--page-gap:clamp(1.5rem,3vw,3rem);
 --radius:.5rem;--radius-card:1rem;--control-height:2.875rem;--icon-size:1.25rem;
 --header-height:5rem;--contact-height:2rem;--header-stack:calc(var(--header-height) + var(--contact-height));
 --hero-font:clamp(2rem,min(4.4vw,7.4dvh),3.75rem);--hero-gap:clamp(.75rem,2dvh,1.5rem);--hero-pad:clamp(1.25rem,4dvh,3rem);
 --duration:220ms;--ease:cubic-bezier(.2,.65,.3,1);
}
:root[data-theme=dark]{color-scheme:dark;--canvas:#171b20;--surface:#232a31;--text:#edf3f8;--muted:#bbc8d3;--quiet:#a8bbc9;--border:#394650;--border-strong:#566b7d;--ink:#bde0fe;--ink-text:#183044;--focus:#a2d2ff}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:var(--space-5)}body{margin:0;background:var(--canvas);color:var(--text);font:var(--font-body)/1.7 Manrope,Arial,sans-serif;-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit}button,a,input,summary,select,textarea{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer;background:none}a{color:inherit;text-decoration:none}img{display:block;max-width:100%;height:auto}svg{display:block}button,a{touch-action:manipulation}button:disabled{cursor:default;opacity:.4}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:700;line-height:1.2;overflow-wrap:break-word}h1{font-size:var(--font-h1);letter-spacing:-.045em}h2{font-size:var(--font-h2);letter-spacing:-.035em}h3{font-size:var(--font-h3);letter-spacing:-.02em}p{color:var(--muted);overflow-wrap:break-word}a,button{overflow-wrap:break-word}:focus-visible{outline:3px solid var(--focus);outline-offset:4px}[hidden]{display:none!important}.wrap{width:min(calc(100% - 2 * var(--gutter)),var(--container));margin-inline:auto}.section{padding-block:var(--section-space)}.icon{width:var(--icon-size);height:var(--icon-size);flex:none}.eyebrow,.small-label{font-size:var(--font-xs);font-weight:700;letter-spacing:.13em;line-height:1.5;color:var(--muted)}.eyebrow{margin-bottom:var(--space-4)}.eyebrow>span{display:none}.soft-text{color:var(--muted)}.lede,.large-copy{font-size:var(--font-lead);line-height:1.8}.button,.chip,.region-filters button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-3);min-height:var(--control-height);padding:var(--space-3) var(--space-5);border:1px solid var(--border-strong);border-radius:var(--radius);font-size:var(--font-sm);font-weight:650;line-height:1.4;transition:background var(--duration),box-shadow var(--duration),transform var(--duration)}.button:hover{box-shadow:0 4px 15px #142d4318;transform:translateY(-2px)}.button-dark,.button-primary{background:var(--ink);color:var(--ink-text);border-color:var(--ink)}.button-secondary,.chip{background:var(--surface)}.text-link,.text-button{display:inline-flex;align-items:center;gap:var(--space-3);min-height:var(--control-height);font-size:var(--font-sm);font-weight:650;line-height:1.5}.text-button{border:0;padding:0}.text-link:hover,.text-button:hover{text-decoration:underline;text-underline-offset:4px}.icon-button,.round-arrow{display:grid;place-items:center;flex:none;width:var(--control-height);height:var(--control-height);padding:0;border:1px solid var(--border);border-radius:50%}.icon-button{border-color:transparent}.icon-button:hover{background:var(--surface)}.round-arrow{background:var(--canvas);font-size:1.25rem}.skip-link{position:fixed;top:-8rem;left:var(--gutter);z-index:100;background:var(--ink);color:var(--ink-text);padding:var(--space-3) var(--space-5)}.skip-link:focus{top:var(--space-3)}
:root[data-motion=off]{scroll-behavior:auto}:root[data-motion=off] *,:root[data-motion=off] *::before,:root[data-motion=off] *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
@media(max-width:60rem){:root{--header-height:4.5rem}}
@media(max-width:40rem){:root{--header-height:4.25rem;--contact-height:2.5rem;--layout-gap:2rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
