:root{color-scheme:light;--color-bg: #F5F3EE;--color-surface: #FFFFFF;--color-sky: #8CBCC9;--color-sky-soft: #DCEBEF;--color-navy: #1B2A3A;--color-navy-surface: #243648;--color-navy-line: #33495F;--color-terracotta: #B4523A;--color-terracotta-dark: #8E3F2C;--color-peach: #E9C9BE;--color-cream: #F5F3EE;--color-on-primary: #FFFFFF;--color-ink: #1B2A3A;--color-text: #1B2A3A;--color-text-body: #4E4A44;--color-text-muted: #5E5A53;--color-text-on-navy: #F5F3EE;--color-text-on-navy-soft: #DCEBEF;--color-text-on-navy-muted: #C9D2DA;--color-link-hover: #8E3F2C;--color-arc: #1B2A3A;--color-border: #DDD8CE;--color-border-cool: #C9D6DB;--color-shadow: rgb(27 42 58 / .22);--shadow-lift: 0 18px 40px -18px var(--color-shadow);--font-display: "Bricolage Grotesque", system-ui, sans-serif;--font-body: "DM Sans", system-ui, sans-serif;--font-mono: "DM Mono", ui-monospace, monospace;--fs-xs: .75rem;--fs-sm: .875rem;--fs-base: 1rem;--fs-md: 1.0625rem;--fs-lg: 1.375rem;--fs-h3: clamp(1.5rem, 3vw, 1.875rem);--fs-h2: clamp(2.25rem, 4.5vw, 3.25rem);--fs-h1: clamp(3rem, 7vw, 5.25rem);--lh-tight: 1;--lh-heading: 1.1;--lh-body: 1.55;--measure: 68ch;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-12: 3rem;--space-16: 4rem;--space-section: clamp(3.5rem, 9vw, 7.5rem);--gutter: clamp(1rem, 7.62vw - .857rem, 6rem);--container: 1248px;--radius-sm: 14px;--radius-md: 18px;--radius-lg: 24px;--radius-xl: 28px;--radius-pill: 999px;--tap-min: 44px;--btn-height: 52px;--focus-color: #B4523A;--focus-ring: 3px solid var(--focus-color);--ease-out: cubic-bezier(.2, .7, .2, 1);--duration-fast: .18s;--duration-base: .35s}:root[data-theme=dark]{color-scheme:dark;--color-bg: #0F1923;--color-surface: #172431;--color-sky-soft: #16293A;--color-ink: #EEF2F4;--color-text: #EEF2F4;--color-text-body: #C9D2DA;--color-text-muted: #A9B6C2;--color-link-hover: #8CBCC9;--color-arc: #2A4560;--color-border: #2A3B4C;--color-border-cool: #33495F;--color-shadow: rgb(0 0 0 / .55);--focus-color: #8CBCC9}@media(prefers-color-scheme:dark){:root:not([data-theme]){color-scheme:dark;--color-bg: #0F1923;--color-surface: #172431;--color-sky-soft: #16293A;--color-ink: #EEF2F4;--color-text: #EEF2F4;--color-text-body: #C9D2DA;--color-text-muted: #A9B6C2;--color-link-hover: #8CBCC9;--color-arc: #2A4560;--color-border: #2A3B4C;--color-border-cool: #33495F;--color-shadow: rgb(0 0 0 / .55);--focus-color: #8CBCC9}}:focus-visible{outline:var(--focus-ring);outline-offset:3px}.on-navy :focus-visible{outline-color:var(--color-sky)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}html:has(dialog[open]){overflow:hidden}body{margin:0;font-family:var(--font-body);font-size:var(--fs-base);line-height:var(--lh-body);color:var(--color-text);background-color:var(--color-bg)}img,picture,svg{display:block;max-width:100%;height:auto}[hidden]{display:none!important}h1,h2,h3{text-wrap:balance}p,li{text-wrap:pretty}.container{width:100%;max-width:calc(var(--container) + 2 * var(--gutter));margin-inline:auto;padding-inline:var(--gutter)}.section{padding-block:var(--space-section)}.section-title{margin:0 0 var(--space-8);font-family:var(--font-display);font-size:var(--fs-h2);font-weight:800;line-height:var(--lh-heading)}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.skip-link{position:absolute;top:var(--space-2);left:var(--space-2);z-index:10;display:inline-flex;align-items:center;min-height:var(--tap-min);padding:0 var(--space-4);border-radius:var(--radius-pill);background:var(--color-navy);color:var(--color-text-on-navy);font-weight:600;translate:0 -200%}.skip-link:focus-visible{translate:0;outline-color:var(--color-sky)}@supports (animation-timeline: view()){@media(prefers-reduced-motion:no-preference){.reveal,.section-title{animation:reveal linear both;animation-timeline:view();animation-range:entry 5% cover 30%}.stagger>*{animation:reveal-item linear both;animation-timeline:view();animation-range:entry 10% cover 25%}.stagger>:nth-child(2){animation-range:entry 13% cover 28%}.stagger>:nth-child(3){animation-range:entry 16% cover 31%}.stagger>:nth-child(4){animation-range:entry 19% cover 34%}.stagger>:nth-child(5){animation-range:entry 22% cover 37%}.stagger>:nth-child(6){animation-range:entry 25% cover 40%}.stagger>:nth-child(7){animation-range:entry 28% cover 43%}.stagger>:nth-child(8){animation-range:entry 31% cover 46%}.stagger>:nth-child(n+9){animation-range:entry 34% cover 49%}}}@keyframes reveal-item{0%{opacity:0;translate:0 .75rem;scale:.94}}@keyframes reveal{0%{opacity:0;translate:0 2.5rem}}::view-transition-old(root){animation:vt-out .2s ease-in both}::view-transition-new(root){animation:vt-in .35s var(--ease-out) both}@keyframes vt-out{to{opacity:0}}@keyframes vt-in{0%{opacity:0;translate:0 1rem}}html.theme-switching *,html.theme-switching *:before,html.theme-switching *:after{transition:none!important}html.theme-switching::view-transition-old(root){animation:none}html.theme-switching::view-transition-new(root){animation:theme-reveal .6s var(--ease-out) both}@keyframes theme-reveal{0%{clip-path:circle(0 at var(--vt-x) var(--vt-y))}to{clip-path:circle(var(--vt-r) at var(--vt-x) var(--vt-y))}}@media(prefers-reduced-motion:reduce){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}}
