:root{--teal-50:#eef9fa;--teal-100:#d7f2f4;--teal-300:#5fd3dd;--teal-500:#0fa3b1;--teal-600:#0b8a96;--teal-700:#086f79;--sun-100:#fdebcc;--sun-500:#f5a623;--sun-600:#e0921a;--sun-700:#c37d09;--ink-900:#14263a;--ink-700:#33475b;--ink-500:#5c6f82;--ink-300:#9aaab8;--paper:#f6fbfc;--white:#ffffff;--line:#dce7ea;--line-strong:#b9ccd2;--line-control:#748c95;--ok:#2e9e5b;--ok-700:#1f7a44;--warn:#d9822b;--warn-700:#8a5310;--danger:#d64545;--danger-700:#be3a3a;--font-display:var(--font-bricolage,"Bricolage Grotesque"),system-ui,sans-serif;--font-text:var(--font-figtree,"Figtree"),system-ui,sans-serif;--text-xs:0.8rem;--text-sm:0.9rem;--text-md:1.0625rem;--text-lg:1.25rem;--text-h4:1.25rem;--text-h3:1.5rem;--text-h2:2rem;--text-h1:clamp(2.4rem,1.6rem + 3vw,3.6rem);--text-display:clamp(2.8rem,1.4rem + 6vw,5.2rem);--leading-tight:1.08;--leading-snug:1.25;--leading-body:1.55;--measure:66ch;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:24px;--s-6:32px;--s-7:48px;--s-8:64px;--s-9:96px;--s-10:128px;--s-11:160px;--gutter:clamp(16px,4vw,40px);--container:1240px;--container-narrow:820px;--r-sm:6px;--r-md:12px;--r-lg:20px;--r-pill:999px;--pad-level-1:clamp(72px,14vw,128px);--pad-level-2:calc(var(--pad-level-1) / 2);--pad-level-3:calc(var(--pad-level-1) / 4);--shadow-lift:0 12px 32px -12px rgba(20,38,58,0.25);--focus-ring:var(--teal-600);--h-control:46px;--h-btn-md:44px;--h-btn-lg:52px;--w-switch:44px;--h-switch:24px;--pad-switch:2px;--h-chip:34px;--ease-out:cubic-bezier(0.2,0.8,0.2,1);--ease-settle:cubic-bezier(0.16,1,0.3,1);--ease-pop:cubic-bezier(0.34,1.56,0.64,1);--d-fast:160ms;--d-base:220ms;--d-slow:450ms;--d-nav-pending:300ms;--d-click-guard:90ms;--d-hero-fade:300ms;--d-enter-lines:700ms;--d-enter-settle:1200ms;--z-header:100;--z-sticky:200;--z-drawer:300;--z-dialog:400;--z-toast:500}*,:after,:before{box-sizing:border-box}*{margin:0}html{text-size-adjust:100%}body{min-height:100dvh;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{text-wrap:balance;font-size:inherit;font-weight:inherit}figcaption,li,p{text-wrap:pretty}canvas,img,picture,svg,video{display:block;max-width:100%}button,input,select,textarea{font:inherit;color:inherit}button{padding:0;background:none;border:0}textarea{resize:vertical}ol[role=list],ul[role=list]{list-style:none;padding:0}table{border-collapse:collapse}[data-num],[data-num] td,[data-num] th{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}:target{scroll-margin-block:var(--s-8)}html{color-scheme:light}body{background:var(--paper);color:var(--ink-900);font-family:var(--font-text);font-size:var(--text-md);line-height:var(--leading-body)}a{color:var(--teal-700);text-underline-offset:.18em;text-decoration-thickness:1px}a:hover{color:var(--teal-600)}:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}::selection{background:var(--teal-100);color:var(--ink-900)}::placeholder{color:var(--ink-500);opacity:1}@media (prefers-reduced-motion:reduce){:root{--d-fast:0.01ms;--d-base:0.01ms;--d-slow:0.01ms;--d-enter-lines:0.01ms;--d-enter-settle:0.01ms}*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}[data-enter=lines]>*{display:block;overflow:hidden}[data-enter=lines]>*>*{display:block;transform:translateY(105%);transition:transform var(--d-enter-lines) var(--ease-out);transition-delay:calc(var(--enter-index, 0) * 80ms)}[data-enter=lines][data-entered]>*>*{transform:none}[data-enter=settle]{opacity:0;transform:translateY(var(--s-5));transition:opacity var(--d-enter-settle) var(--ease-settle),transform var(--d-enter-settle) var(--ease-settle)}[data-enter=pop]{opacity:0;transform:scale(.96);transition:opacity var(--d-slow) var(--ease-pop),transform var(--d-slow) var(--ease-pop)}[data-enter=pop][data-entered],[data-enter=settle][data-entered]{opacity:1;transform:none}[data-enter=lines][data-eager]>*>*{animation:enter-lines var(--d-enter-lines) var(--ease-out) both;animation-delay:calc(var(--enter-index, 0) * 80ms)}[data-enter=settle][data-eager]{animation:enter-settle var(--d-enter-settle) var(--ease-settle) both}@keyframes enter-lines{0%{transform:translateY(105%)}to{transform:none}}@keyframes enter-settle{0%{opacity:0;transform:translateY(var(--s-5))}to{opacity:1;transform:none}}@media (scripting:none){[data-enter=lines]>*>*{transform:none}[data-enter=pop],[data-enter=settle]{opacity:1;transform:none}}