/* PathShodh Cloud & Crimson – design tokens. Source: docs/concept/design-system/tokens.css (docs/13-design-system.md).
   Loaded on every page from site_nav.php, before site-theme.css and site-nav.css. --frame stays defined in site-nav.css. */
@font-face{font-family:"Hanken Grotesk";font-weight:400;font-display:swap;src:url(../fonts/hanken/hanken-400.woff) format("woff")}
@font-face{font-family:"Hanken Grotesk";font-weight:500;font-display:swap;src:url(../fonts/hanken/hanken-500.woff) format("woff")}
:root{
  /* primitives */
  --crimson-25:#FDF8F8;
  --crimson-50:#F6E4E1;
  --crimson-100:#F6DADA;
  --crimson-200:#EDB9B8;
  --crimson-300:#E28E8D;
  --crimson-400:#D45957;
  --crimson-500:#A92D31;
  --crimson-600:#8A2126;
  --crimson-700:#75000E;
  --crimson-800:#570000;
  --crimson-900:#390000;
  --crimson-950:#1F0000;
  --navy-25:#F6F8FA;
  --navy-50:#EEF1F5;
  --navy-100:#E5E6EE;
  --navy-200:#C8CBDB;
  --navy-300:#A5ABC5;
  --navy-400:#7B84A9;
  --navy-500:#5E678A;
  --navy-600:#464E6F;
  --navy-700:#313857;
  --navy-800:#1F243F;
  --navy-900:#121735;
  --navy-950:#0E1230;
  --slate-25:#FAFAFB;
  --slate-50:#F5F5F7;
  --slate-100:#EBEBEF;
  --slate-200:#D6D8E0;
  --slate-300:#B0B3C2;
  --slate-400:#7F859D;
  --slate-500:#62687F;
  --slate-600:#4A4F66;
  --slate-700:#35394D;
  --slate-800:#222537;
  --slate-900:#101321;
  --slate-950:#04050E;
  --success-bg:#EFF6F3;
  --success-border:#B7D4C6;
  --success-icon:#1F7A4D;
  --success-text:#006037;
  --warning-bg:#FAF2EE;
  --warning-border:#E7C4B0;
  --warning-icon:#B54708;
  --warning-text:#8E2600;
  --error-bg:#FAF2F1;
  --error-border:#E7B9B5;
  --error-icon:#B42318;
  --error-text:#990300;
  --info-bg:#F1F4F9;
  --info-border:#C0CCE6;
  --info-icon:#3A5FB0;
  --info-text:#2F4F96;
  --code-glu-main:#6585CB;
  --code-glu-deep:#3A5FB0;
  --code-glu-tint:#EDF0F9;
  --code-hb-main:#D12C26;
  --code-hb-deep:#D12C26;
  --code-hb-tint:#F9E6E5;
  --code-a1c-main:#3A3592;
  --code-a1c-deep:#3A3592;
  --code-a1c-tint:#E7E7F2;
  /* semantic */
  --text-primary:#121735;
  --text-secondary:#4A4F66;
  --text-tertiary:#62687F;
  --text-accent:#A92D31;
  --text-link:#A92D31;
  --text-link-hover:#8A2126;
  --text-on-accent:#FFFFFF;
  --text-on-dark:#FFFFFF;
  --text-on-dark-secondary:#F6E4E1;
  --bg-page:#FFFFFF;
  --bg-subtle:#F6F8FA;
  --bg-cool:#EEF1F5;
  --bg-warm:#F6E4E1;
  --bg-dark:#121735;
  --bg-footer:#0E1230;
  --border-subtle:#EBEBEF;
  --border-default:#D6D8E0;
  --border-strong:#7F859D;
  --border-accent:#A92D31;
  --action-primary:#A92D31;
  --action-primary-hover:#8A2126;
  --action-primary-pressed:#75000E;
  --action-secondary:#121735;
  --action-secondary-hover:#1F243F;
  --action-disabled-bg:#EBEBEF;
  --action-disabled-text:#7F859D;
  --focus-ring:#121735;
  /* type: Hanken Grotesk 400/500, self-hosted */
  --font-sans:"Hanken Grotesk",system-ui,-apple-system,"Segoe UI",sans-serif;
  --step-display:clamp(48px, 6vw, 88px);
  --lh-display:1;
  --w-display:500;
  --tr-display:-0.045em;
  --step-h1:clamp(40px, 4.6vw, 68px);
  --lh-h1:1.04;
  --w-h1:500;
  --tr-h1:-0.04em;
  --step-h2:clamp(32px, 3.4vw, 48px);
  --lh-h2:1.08;
  --w-h2:500;
  --tr-h2:-0.035em;
  --step-h3:clamp(24px, 2.2vw, 30px);
  --lh-h3:1.2;
  --w-h3:500;
  --tr-h3:-0.02em;
  --step-h4:22px;
  --lh-h4:1.3;
  --w-h4:500;
  --tr-h4:-0.01em;
  --step-intro:clamp(22px, 1.8vw, 26px);
  --lh-intro:1.5;
  --w-intro:400;
  --tr-intro:-0.01em;
  --step-body:20px;
  --lh-body:1.65;
  --w-body:400;
  --tr-body:0;
  --step-button:18px;
  --lh-button:1;
  --w-button:500;
  --tr-button:0;
  --step-caption:16px;
  --lh-caption:1.5;
  --w-caption:400;
  --tr-caption:0;
  --step-label:15px;
  --lh-label:1.3;
  --w-label:500;
  --tr-label:0.01em;
  --step-figure:clamp(56px, 6.4vw, 96px);
  --lh-figure:1;
  --w-figure:500;
  --tr-figure:-0.04em;
  --space-1:4px;
  --space-2:8px;
  --space-3:12px;
  --space-4:16px;
  --space-5:24px;
  --space-6:32px;
  --space-7:48px;
  --space-8:64px;
  --space-9:96px;
  --space-10:128px;
  --radius-sm:8px;
  --radius-md:14px;
  --radius-lg:24px;
  --radius-xl:32px;
  --radius-pill:999px;
  --radius-pebble:58% 42% 52% 48% / 50% 58% 42% 50%;
  --shadow-1:0 1px 2px rgba(18,23,53,.06), 0 1px 1px rgba(18,23,53,.04);
  --shadow-2:0 12px 32px -12px rgba(18,23,53,.18);
  --shadow-3:0 30px 60px -30px rgba(18,23,53,.35);
  --ease:cubic-bezier(.2,.7,.2,1);
  --dur-fast:.15s;
  --dur:.3s;
}
