@font-face{font-family:"Host Grotesk";font-weight:300;font-style:normal;font-display:swap;src:url(/assets/fonts/HostGrotesk-300.woff2) format("woff2")}
@font-face{font-family:"Host Grotesk";font-weight:400;font-style:normal;font-display:swap;src:url(/assets/fonts/HostGrotesk-400.woff2) format("woff2")}
@font-face{font-family:"Host Grotesk";font-weight:500;font-style:normal;font-display:swap;src:url(/assets/fonts/HostGrotesk-500.woff2) format("woff2")}
@font-face{font-family:"Host Grotesk";font-weight:600;font-style:normal;font-display:swap;src:url(/assets/fonts/HostGrotesk-600.woff2) format("woff2")}
@font-face{font-family:"Geist Mono";font-weight:400;font-style:normal;font-display:swap;src:url(/assets/fonts/GeistMono-400.woff2) format("woff2")}
@font-face{font-family:"Geist Mono";font-weight:500;font-style:normal;font-display:swap;src:url(/assets/fonts/GeistMono-500.woff2) format("woff2")}

:root{

  --color-void:#020307;
  --color-canvas:oklch(.12 .006 240);
  --color-raised:oklch(.155 .008 250);
  --color-raised-2:oklch(.19 .012 262);
  --color-selected:oklch(.23 .025 275);
  --color-dusk:oklch(.17 .03 280);
  --color-shell-panel:oklch(.145 .008 240);

  --color-ivory:#f0eeea;
  --color-mark:#f2f0e8;
  --color-text:#f0eeea;
  --color-text-muted:oklch(.78 .016 245);
  --color-text-faint:oklch(.68 .014 245);
  --color-nav:oklch(.84 .012 250);
  --color-nav-hover:oklch(.97 .008 260);
  --color-nav-quiet:oklch(.81 .012 240);
  --color-nav-mobile:oklch(.94 .008 240);
  --color-nav-small:oklch(.76 .012 240);
  --color-nav-small-mobile:oklch(.75 .012 240);
  --color-nav-label:oklch(.70 .014 240);
  --color-nav-glyph:oklch(.86 .03 270);
  --color-slash:oklch(.75 .04 275 / .70);

  --color-line:oklch(.93 .008 240 / .14);
  --color-line-strong:oklch(.93 .008 240 / .26);
  --color-line-panel:oklch(.88 .025 260 / .3);
  --color-line-row:oklch(.88 .025 260 / .1);
  --color-rule-dot:oklch(.74 .015 260 / .22);
  --color-rule-dot-violet:oklch(.84 .065 275 / .58);
  --color-rule-dot-rose:oklch(.82 .065 330 / .55);
  --color-shadow:oklch(.07 .008 260 / .4);

  --color-portal:#b6c7f3;
  --color-portal-2:#c0cef6;
  --color-portal-3:#c9cef7;
  --color-portal-4:#d1cdf8;
  --color-lilac:#d9d0f8;
  --color-portal-ink:#151a2b;
  --color-portal-text:#c1cff5;
  --color-portal-ring:#e0dcfa;
  --color-portal-edge:#b6c7f38c;
  --color-accent-line:oklch(.85 .065 275);
  --color-accent-soft:oklch(.85 .065 275 / .3);
  --color-mobile-join:oklch(.84 .065 275);
  --color-mobile-join-ink:oklch(.22 .035 275);

  --color-region-blue:oklch(.58 .071 264);
  --color-region-violet:oklch(.61 .061 298);
  --color-region-rose:oklch(.67 .083 348);
  --color-region-rose-light:oklch(.867 .048 349);

  --color-paper:#f0eeea;
  --color-paper-2:oklch(.91 .008 85);
  --color-paper-ink:oklch(.22 .015 270);
  --color-paper-muted:oklch(.44 .014 265);
  --color-paper-line:oklch(.22 .015 270 / .16);
  --color-paper-mark:oklch(.86 .045 275);
  --color-mark-dark:oklch(.85 .065 275 / .2);

  --font-sans:"Host Grotesk",Arial,sans-serif;
  --font-mono:"Geist Mono",ui-monospace,monospace;
  --weight-regular:400;
  --weight-medium:500;
  --weight-semibold:600;

  --type-display:clamp(44px,5vw,72px);   --lh-display:1.04;  --ls-display:-.045em;
  --type-headline:clamp(32px,3.4vw,48px);--lh-headline:1.12; --ls-headline:-.035em;
  --type-title:24px;                     --lh-title:1.2;     --ls-title:-.02em;
  --type-subtitle:20px;                  --lh-subtitle:1.3;  --ls-subtitle:-.012em;
  --type-lead:20px;                      --lh-lead:1.5;
  --type-body:18px;                      --lh-body:1.55;
  --type-body-phone:16px;
  --type-caption:16px;                   --lh-caption:1.5;
  --type-label:14px;                     --lh-label:1.4;
  --type-meta:13px;                      --lh-meta:1.4;      --ls-meta:.02em;
  --type-nav:15px;  --type-nav-small:13px; --type-nav-group:11px; --type-nav-mobile:20px; --type-nav-route:19px;
  --ls-nav:-.01em;  --ls-button:-.005em;   --ls-caps:.09em;
  --measure:65ch;  --measure-narrow:44ch;

  --space-2xs:4px;
  --space-xs:8px;
  --space-s:12px;
  --space-m:16px;
  --space-l:24px;
  --space-xl:32px;
  --space-2xl:48px;
  --space-3xl:64px;
  --space-4xl:96px;
  --space-section-feature:clamp(64px,8.5vw,96px);
  --space-section-quiet:clamp(48px,5.5vw,64px);
  --space-section-tight:clamp(32px,4vw,48px);

  --content-max:1248px;
  --reading-max:720px;
  --gutter:clamp(24px,calc(6.857vw - 2.74px),96px);
  --presentation-gutter:clamp(24px,5vw,80px);
  --header-height:88px;
  --header-height-phone:76px;
  --logo-height:46px;
  --logo-height-phone:36px;
  --target:44px;
  --control-height:48px;
  --control-height-lg:52px;
  --row-height:56px;

  --radius-control:2px;
  --radius-panel:0px;
  --radius-chip:2px;
  --border-hair:1px;
  --bracket:6px;
  --dot-on:2px; --dot-off:3px;
  --focus-ring:2px solid var(--color-accent-line);
  --focus-offset:4px;
  --shadow-panel:0 18px 36px var(--color-shadow);

  --welcome-terminal-bg:oklch(14% .025 286);
  --welcome-terminal-deep:oklch(10% .02 286);
  --welcome-terminal-bar:oklch(18% .025 286);
  --welcome-terminal-line:oklch(34% .035 286);
  --welcome-terminal-ink:oklch(91% .018 87);
  --welcome-terminal-dim:oklch(62% .026 285);
  --welcome-space-bg:var(--color-void);
  --welcome-coordinate:oklch(76% .04 290 / .34);
  --welcome-terminal-border:oklch(43% .035 286);
  --welcome-terminal-shadow:0 30px 90px rgba(0,0,0,.58),0 0 60px oklch(69% .14 296 / .09),inset 0 1px rgba(255,255,255,.035);
  --welcome-chrome-border:oklch(31% .034 286);
  --welcome-light-close:oklch(67% .18 24);
  --welcome-light-minimize:oklch(80% .16 88);
  --welcome-light-full:oklch(72% .17 148);
  --welcome-scanlines:repeating-linear-gradient(180deg,transparent 0 3px,oklch(94% .01 286 / .016) 4px);
  --welcome-space-scanlines:repeating-linear-gradient(180deg,transparent 0 5px,oklch(83% .035 286 / .018) 6px);
  --welcome-host-glow:oklch(72% .15 301 / .3);
  --welcome-host-detail:oklch(48% .025 285);
  --welcome-body-output:oklch(76% .02 287);
  --welcome-hint:oklch(45% .025 285);
  --welcome-sr-size:1px;--welcome-sr-offset:-1px;
  --welcome-stage-pad:clamp(18px,5vh,58px) clamp(12px,5vw,76px);
  --welcome-terminal-max:1080px;--welcome-terminal-height:720px;--welcome-terminal-min:520px;
  --welcome-terminal-radius:12px;--welcome-terminal-type:clamp(10px,.78vw,13px);
  --welcome-chrome-height:38px;--welcome-light-size:10px;
  --welcome-screen-pad:clamp(16px,2.8vh,28px) clamp(16px,3vw,36px) 24px;
  --welcome-wordmark-height:clamp(88px,17vh,150px);
  --welcome-wordmark-margin:clamp(10px,2vh,18px) auto 8px;
  --welcome-divider-gap:clamp(15px,2.5vh,24px);
  --welcome-host-min:250px;--welcome-lower-min:180px;
  --welcome-phone-pad:18px 10px;--welcome-phone-height:720px;--welcome-phone-radius:9px;--welcome-phone-type:clamp(7.5px,2.25vw,9.5px);
  --welcome-phone-chrome:31px;--welcome-phone-wordmark:clamp(52px,11vh,76px);
  --welcome-short-wordmark:78px;--welcome-short-host:190px;

  --shell-skip-offset:12px; --shell-skip-hidden:-60px; --shell-skip-top:10px; --shell-skip-pad:10px 14px; --radius-skip:4px;
  --shell-nav-gap:14px; --shell-link-pad:12px 6px; --shell-slash-w:7px; --shell-slash-h:18px; --shell-slash-glyph:14px;
  --shell-glyph:20px; --shell-glyph-mobile:25px; --shell-glyph-small:22px;
  --shell-panel-width:560px; --shell-panel-pad:28px; --shell-panel-corner:12px; --shell-panel-row:72px; --shell-panel-link-pad:12px;
  --shell-label-gap:12px; --shell-label-gap-tight:9px;
  --shell-cta-pad:12px 18px; --shell-gutter-min:20px;
  --shell-toggle-min:92px; --shell-toggle-min-sm:80px; --shell-toggle-pad:0 10px; --shell-toggle-pad-sm:0 8px; --shell-toggle-gap:12px; --shell-toggle-gap-sm:6px;
  --shell-mobile-pad-top:8px; --shell-mobile-link-pad:10px 0; --shell-mobile-row:64px; --shell-mobile-row-pad:14px 0; --shell-mobile-gap:14px; --shell-mobile-gap-sm:10px;
  --shell-mobile-secondary-pad:26px 0 20px; --shell-mobile-account-gap:20px; --shell-join-pad:12px 20px; --shell-join-pad-sm:12px 16px;
  --lh-nav:20px; --lh-nav-small:18px; --lh-nav-group:16px; --type-nav-strong:16px; --type-nav-route-sm:18px; --type-nav-tiny:12px;

  --btn-pad:20px; --btn-pad-lg:30px; --btn-pad-sm:18px; --type-button-lg:16px; --lh-button:20px;
  --label-height:26px; --label-pad:3px 9px; --chip-height:28px; --chip-pad:4px 10px; --link-pad:10px;
  --mark-size:10px; --mark-size-lg:12px; --corner:12px; --corner-lg:14px; --glyph-plus:16px; --glyph-plus-sm:14px;
  --report-max:640px; --closing-max:620px; --footer-mark-max:344px; --facts-min:160px;
  --record-col-num:40px; --record-col-when:120px; --record-col-who:180px; --walk-num-col:40px;
  --stage-pad:clamp(24px,5vw,64px) clamp(16px,4vw,56px);
  --hero-phone-scene:min(850px,240vw);
  --hero-sill:200px;
  --hero-sill-phone:120px;
  --dur-rule:240ms; --dur-color:120ms;
  --badge:40px; --badge-sm:24px; --chapter-col:260px; --phase-rise:var(--space-xl); --summary-lines:3em; --overlay-max:220px; --object-zoom:1.4; --overlay-gap:var(--space-m); --overlay-inset:var(--space-xs); --overlay-anchor-default:50%;
  --progress-badge:40px; --progress-stop-min:88px; --progress-ring:var(--step-4);
  --roadmap-ratio:1248 / 540; --roadmap-station-art:104px; --roadmap-station-art-sm:88px; --roadmap-leader:var(--space-xl); --roadmap-trail-x:var(--space-m); --dur-select:250ms;

  --hair:1px;
  --step-2:2px; --step-3:3px; --step-4:4px; --step-5:5px; --step-6:6px; --step-7:7px; --step-8:8px; --step-9:9px;
  --step-18:18px; --step-22:22px;

  --spec-swatch:56px; --spec-swatch-min:150px; --spec-key-col:120px; --spec-grid-h:120px;

  --roadmap-lm-0-x:1.154%; --roadmap-lm-0-y:57.778%; --roadmap-lm-0-w:17.692%; --roadmap-lm-0-h:33.778%;
  --roadmap-lm-1-x:23.261%; --roadmap-lm-1-y:40.444%; --roadmap-lm-1-w:13.478%; --roadmap-lm-1-h:29.481%;
  --roadmap-lm-2-x:43.045%; --roadmap-lm-2-y:34.704%; --roadmap-lm-2-w:14.022%; --roadmap-lm-2-h:39%;
  --roadmap-lm-3-x:61.506%; --roadmap-lm-3-y:28%; --roadmap-lm-3-w:14.784%; --roadmap-lm-3-h:29.87%;
  --roadmap-lm-4-x:82.821%; --roadmap-lm-4-y:18.222%; --roadmap-lm-4-w:14.359%; --roadmap-lm-4-h:28.593%;

  --ease-out:cubic-bezier(.22,1,.36,1);
  --ease-in-out:cubic-bezier(.65,0,.35,1);
  --dur-feedback:180ms;
  --dur-sweep:260ms;
  --dur-stage:420ms;
  --dur-reveal:360ms;
  --walk-dwell:6000ms;

  --z-header:10;
  --z-overlay:20;
  --z-skip:30;
}
