@font-face{font-family:"Plus Jakarta Sans";font-style:normal;font-weight:400 700;font-display:swap;src:url(/assets/fonts/plus-jakarta-sans-latin.woff2) format("woff2")}
@font-face{font-family:"Sora";font-style:normal;font-weight:700 800;font-display:swap;src:url(/assets/fonts/sora-latin.woff2) format("woff2")}
@font-face{font-family:"Plus Jakarta Sans Fallback";font-weight:400 700;src:local("Arial"),local("Helvetica"),local("ArialMT");size-adjust:103.1%;ascent-override:100.7%;descent-override:21.5%;line-gap-override:0%}
@font-face{font-family:"Sora Fallback";font-weight:700 800;src:local("Arial Bold"),local("Arial-BoldMT"),local("Arial"),local("Helvetica");size-adjust:106.9%;ascent-override:90.7%;descent-override:27.1%;line-gap-override:0%}
/* Design tokens. Source of truth: DESIGN.md sections 2, 3, 4 and 5. */
:root{
  /* grounds */
  --night:#072A26;
  --night-2:#0E3F3A;
  --night-3:#0B3531;
  --forest:#005236;
  --forest-2:#063F2B;
  --paper:#FFFFFF;
  --paper-2:#F1F7F4;
  --mint-tint:#E4F3ED;
  --orange-tint:#FFF1E4;
  --orange-tint-2:#FFE3C2;
  --error-tint:#FFF6F0;
  --badge-fs:min(.75rem,16px);--badge-h:max(18px,calc(var(--badge-fs) + 4px));
  --sold:#D5DEDB;
  --sold-plate:#3C4B47;
  /* ink */
  --ink:#0B2A24;
  --ink-2:#3D5C53;
  --ink-inv:#F4FAF7;
  --ink-inv-2:#B5D3C8;
  --ink-on-forest:#D3EDE3;
  --sold-plate-ink:#C9D3CF;
  /* brand + accents */
  --orange:#FE982A;
  --orange-press:#E9821A;
  --rust:#BC4F07;
  --rust-text:#A3440A;
  --badge-red:#D3202F;
  --teal:#20686C;
  --mint:#6BC4A6;
  --line:#5F7F76;
  --focus-halo:#BFE3D6;
  --focus:#FE982A;
  --gold:#FFD08A;
  /* header bar (loop 6) */
  --head:#0E3F3A;
  --head-edge:#021A14;
  --head-h:80px;
  --tab-h:64px;

  /* type */
  --font-head:"Sora","Sora Fallback","Segoe UI",Roboto,"Helvetica Neue",Arial,system-ui,sans-serif;
  --font-body:"Plus Jakarta Sans","Plus Jakarta Sans Fallback","Segoe UI",Roboto,"Helvetica Neue",Arial,system-ui,sans-serif;
  --fs-display:clamp(1.875rem,1.1rem + 3.9vw,4.25rem);
  --fs-h2:clamp(1.75rem,1.2rem + 2.2vw,3rem);
  --fs-h3:1.25rem; --fs-h3-sm:1.125rem;
  --fs-lead:clamp(1rem,.95rem + .3vw,1.1875rem);
  --fs-body:1rem; --fs-legal:1.0625rem; --fs-small:.9375rem; --fs-caption:.875rem;

  /* radius + motion */
  --r-pill:999px; --r-field:12px; --r-card:20px; --r-section:32px; --r-tile:14px; --r-badge:6px;
  --t-press:120ms; --t-fast:160ms; --t-med:220ms;   /* controls feedback */
  --t-reveal:320ms; --t-stagger:60ms;               /* list reveal, max 6 items: ends <= 620ms */
  --t-move:360ms;                                   /* tracker token, login key, order-timeline marker */
  --t-slow:420ms;                                   /* Zy only: arm spring, pose swaps */
  --t-track:800ms;                                  /* period of busy rings only (.spin, save-ring); never a transition */
  --ease-out:cubic-bezier(.2,.8,.2,1); --ease-spring:cubic-bezier(.3,1.5,.5,1);

  /* layout */
  --space-1:4px; --space-2:8px; --space-3:12px; --space-4:16px; --space-5:20px; --space-6:24px;
  --space-8:32px; --space-10:40px; --space-14:56px; --space-18:72px; --space-24:96px; --space-32:128px;
  --gutter:clamp(16px,4vw,48px); --maxw:1200px; --measure:49.78em; --measure-legal:40rem;
  --sec-pad:clamp(72px,9vw,128px);

  /* hero video scrim (night at fixed alpha, DESIGN.md section 6 exception) */
  --scrim-rgb:7 42 38;
  --scrim-text:.84;
  --scrim-x:linear-gradient(90deg,rgb(var(--scrim-rgb) / .88) 0%,rgb(var(--scrim-rgb) / var(--scrim-text)) 48%,rgb(var(--scrim-rgb) / 0) 60%);
  --scrim-y:linear-gradient(180deg,rgb(var(--scrim-rgb) / 0) 0%,rgb(var(--scrim-rgb) / 0) 72%,rgb(var(--scrim-rgb) / var(--scrim-text)) 80%,rgb(var(--scrim-rgb) / 1) 100%);
  --scrim-edge:linear-gradient(180deg,rgb(var(--scrim-rgb) / 0) 78%,rgb(var(--scrim-rgb) / .6) 100%);
}
@media (max-width:899px){:root{--head-h:68px}}
.light,.sec--light,.sec--mint,.sec--warm{--focus:var(--ink)}
