:root{--color-bg: #fbf9f5;--color-bg-tint: #eceff3;--color-surface: #ffffff;--color-border: #dbdfe4;--color-border-strong: #74828f;--color-ink: #12213a;--color-ink-muted: #4a576a;--color-accent: #0078b4;--color-accent-strong: #045c86;--color-accent-soft: #e1eef6;--color-accent-ink: #ffffff;--color-ink-on-dark: #f3f6fa;--color-ink-muted-on-dark: #a9b6c6;--font-display: "Bitter Variable", Georgia, "Times New Roman", serif;--font-body: "Hanken Grotesk Variable", "Helvetica Neue", Arial, sans-serif;--step--1: clamp(.833rem, .79rem + .19vw, .9375rem);--step-0: clamp(1.0625rem, 1.02rem + .22vw, 1.125rem);--step-1: clamp(1.25rem, 1.18rem + .35vw, 1.4375rem);--step-2: clamp(1.5rem, 1.38rem + .6vw, 1.85rem);--step-3: clamp(1.85rem, 1.63rem + 1.1vw, 2.55rem);--step-4: clamp(2.3rem, 1.9rem + 2vw, 3.4rem);--step-5: clamp(2.9rem, 2.2rem + 3.5vw, 4.7rem);--space-2xs: .375rem;--space-xs: .625rem;--space-sm: 1rem;--space-md: 1.5rem;--space-lg: 2.5rem;--space-xl: 4rem;--space-2xl: 6rem;--space-3xl: 9rem;--radius-sm: 3px;--radius-md: 8px;--radius-lg: 14px;--container: 1200px;--shadow-sm: 0 1px 2px rgba(18, 33, 58, .08), 0 1px 1px rgba(18, 33, 58, .06);--shadow-md: 0 4px 10px rgba(18, 33, 58, .1), 0 2px 4px rgba(18, 33, 58, .08);--shadow-lg: 0 24px 50px -12px rgba(15, 27, 48, .28), 0 8px 18px -6px rgba(0, 120, 180, .18), 0 2px 4px rgba(18, 33, 58, .16);--dur-fast: .15s;--dur-base: .26s;--ease: cubic-bezier(.16, 1, .3, 1);--glow: rgba(20, 130, 186, .5);--gradient-band: linear-gradient(165deg, #14243f 0%, #0f1b2e 55%, #0b1524 100%);--grain-opacity: .045}*,*:before,*:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%}@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{background:var(--color-bg);color:var(--color-ink);font-family:var(--font-body);font-size:var(--step-0);line-height:1.6;-webkit-font-smoothing:antialiased}img,picture,svg,video{display:block;max-width:100%;height:auto}input,button,textarea,select{font:inherit}h1,h2,h3,h4{font-family:var(--font-display);line-height:1.15;text-wrap:balance;overflow-wrap:break-word}p{text-wrap:pretty}a{color:var(--color-accent)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px;border-radius:4px}.container{max-width:var(--container);margin-inline:auto;padding-inline:var(--space-md)}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.skip-link{position:absolute;top:var(--space-xs);left:var(--space-xs);z-index:100;padding:var(--space-xs) var(--space-md);background:var(--color-accent);color:var(--color-accent-ink);border-radius:var(--radius-sm);text-decoration:none;transform:translateY(-300%)}.skip-link:focus-visible{transform:none}.grain:after{content:"";position:fixed;inset:0;z-index:999;pointer-events:none;opacity:var(--grain-opacity);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)'/%3E%3C/svg%3E")}.glow-wash{position:relative}.glow-wash:before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(ellipse var(--glow-size, 70% 55%) at var(--glow-x, 50%) var(--glow-y, 20%),var(--glow) 0%,transparent 70%)}.glow-wash>*{position:relative;z-index:1}.band{background-image:var(--gradient-band)}.scrim{position:relative}.scrim:after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(180deg,transparent 0%,rgb(0 0 0 / .55) 100%)}.scrim--top:after{background:linear-gradient(0deg,transparent 0%,rgb(0 0 0 / .55) 100%)}.scrim>*{position:relative;z-index:1}.elevated{box-shadow:var(--shadow-lg)}.lift{transition:transform var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}@media(prefers-reduced-motion:no-preference){.lift:hover,.lift:focus-visible{transform:translateY(-3px);box-shadow:var(--shadow-md)}.elevated.lift:hover,.elevated.lift:focus-visible{box-shadow:var(--shadow-lg)}}@media(prefers-reduced-motion:no-preference){html.js [data-reveal]:not([data-reveal~=stagger]){opacity:0;transform:translateY(14px);transition:opacity var(--dur-base) var(--ease),transform var(--dur-base) var(--ease)}html.js [data-reveal~=blur]:not([data-reveal~=stagger]){filter:blur(7px);transition:opacity calc(var(--dur-base) * 2) var(--ease),transform calc(var(--dur-base) * 2) var(--ease),filter calc(var(--dur-base) * 2) var(--ease)}html.js [data-reveal~=clip]:not([data-reveal~=stagger]){opacity:1;transform:none;clip-path:inset(0 0 100% 0);transition:clip-path calc(var(--dur-base) * 1.5) var(--ease)}html.js [data-reveal~=settle]:not([data-reveal~=stagger]){transform:scale(1.03)}html.js [data-reveal]:not([data-reveal~=stagger]).is-revealed{opacity:1;transform:none;filter:none;clip-path:none}html.js [data-reveal~=stagger]>*{opacity:0;transform:translateY(14px);transition:opacity var(--dur-base) var(--ease),transform var(--dur-base) var(--ease)}html.js [data-reveal~=stagger][data-reveal~=blur]>*{filter:blur(7px);transition:opacity calc(var(--dur-base) * 2) var(--ease),transform calc(var(--dur-base) * 2) var(--ease),filter calc(var(--dur-base) * 2) var(--ease)}html.js [data-reveal~=stagger][data-reveal~=settle]>*{transform:scale(1.03)}html.js [data-reveal~=stagger].is-revealed>*{opacity:1;transform:none;filter:none}html.js [data-reveal~=stagger]>:nth-child(1){transition-delay:0ms}html.js [data-reveal~=stagger]>:nth-child(2){transition-delay:80ms}html.js [data-reveal~=stagger]>:nth-child(3){transition-delay:.16s}html.js [data-reveal~=stagger]>:nth-child(4){transition-delay:.24s}html.js [data-reveal~=stagger]>:nth-child(5){transition-delay:.32s}html.js [data-reveal~=stagger]>:nth-child(6){transition-delay:.4s}html.js [data-reveal~=stagger]>:nth-child(7){transition-delay:.48s}html.js [data-reveal~=stagger]>:nth-child(n+8){transition-delay:.56s}@supports (animation-timeline: view()){.st-drift{animation:st-drift linear both;animation-timeline:view()}.st-draw{stroke-dasharray:1;animation:st-draw linear both;animation-timeline:view();animation-range:entry 0% cover 45%}.st-settle{animation:st-settle var(--ease) both;animation-timeline:view();animation-range:entry 0% entry 90%}}}@keyframes st-drift{0%{transform:translateY(5%)}to{transform:translateY(-5%)}}@keyframes st-draw{0%{stroke-dashoffset:1}to{stroke-dashoffset:0}}@keyframes st-settle{0%{opacity:.3;transform:translateY(20px)}to{opacity:1;transform:none}}
