/* ============================================================
   FADELAB — LOCKED DESIGN TOKENS
   Kane Kutz LLC · Salons by JC, Coon Rapids MN
   Source of truth. No hardcoded hex anywhere downstream.
   ============================================================ */

@font-face{font-family:'Archivo';src:url('fonts/archivo.woff2')format('woff2');font-weight:100 900;font-display:block}
@font-face{font-family:'ArchivoExp';src:url('fonts/archivo-exp.woff2')format('woff2');font-weight:100 900;font-display:block}
@font-face{font-family:'Anton';src:url('fonts/anton.woff2')format('woff2');font-weight:400;font-display:block}
@font-face{font-family:'SpaceMono';src:url('fonts/spacemono.woff2')format('woff2');font-weight:400;font-display:block}
@font-face{font-family:'MartianMono';src:url('fonts/martianmono.woff2')format('woff2');font-weight:100 800;font-display:block}
@font-face{font-family:'Bebas';src:url('fonts/bebas.woff2')format('woff2');font-weight:400;font-display:block}
@font-face{font-family:'Syne';src:url('fonts/syne.woff2')format('woff2');font-weight:400 800;font-display:block}
@font-face{font-family:'BigShoulders';src:url('fonts/bigshoulders.woff2')format('woff2');font-weight:100 900;font-display:block}
@font-face{font-family:'InstrumentSerif';src:url('fonts/instrumentserif.woff2')format('woff2');font-weight:400;font-display:block}
@font-face{font-family:'Chivo';src:url('fonts/chivo.woff2')format('woff2');font-weight:100 900;font-display:block}
@font-face{font-family:'Unbounded';src:url('fonts/unbounded.woff2')format('woff2');font-weight:200 900;font-display:block}

:root{
  /* ---- COLOUR ---------------------------------------------
     Lime measured off the densest strokes of his supplied PNG.
     Never pure #000 on pure #FFF — ink is 08090A, paper is F4F3EF. */
  --lime:        #B2FC0C;
  --lime-hot:    #C6FF3D;   /* hover / glow core only */
  /* --lime-deep is a PRESSED/BORDER state, never text on paper: measured
     2.16:1 against --paper, which fails AA at any size. On light surfaces lime
     may only appear as a fill behind ink text, or as a rule. Lime on ink is
     15.96:1 and safe. */
  --lime-deep:   #7FB808;
  --ink:         #08090A;
  --ink-2:       #0E1012;
  --ink-3:       #16191C;
  --ink-4:       #22262A;
  --paper:       #F4F3EF;
  --paper-2:     #E4E3DD;
  /* warm neutral surface, for routes that need paper rather than screen */
  --cream:       #EFE8D9;
  --cream-2:     #E2D8C4;
  --cream-ink:   #191510;
  --mute:        #8C918F;
  --line:        rgba(244,243,239,.13);
  --line-strong: rgba(244,243,239,.28);
  --line-dark:   rgba(8,9,10,.14);

  /* ---- TYPE -----------------------------------------------
     Display face is never the body face. No Inter, no system stack. */
  --f-body:   'Archivo', system-ui, sans-serif;
  --f-exp:    'ArchivoExp','Archivo',sans-serif;   /* expanded grotesk */
  --f-slab:   'Anton', Impact, sans-serif;          /* athletic display */
  --f-cond:   'BigShoulders','Bebas',sans-serif;    /* condensed display */
  --f-mono:   'MartianMono','SpaceMono',monospace;  /* lab / technical */
  --f-mono2:  'SpaceMono',monospace;
  --f-quirk:  'Syne',sans-serif;
  --f-serif:  'InstrumentSerif',Georgia,serif;

  /* scale @1440 — one ratio (1.5-ish), dramatic display→body jump */
  --t-mega: 128px;  --t-h1: 88px;  --t-h2: 56px;  --t-h3: 32px;
  --t-lead: 20px;   --t-body: 16px; --t-sm: 13px; --t-xs: 11px;

  --lh-mega: .92;  --lh-h1: .96;  --lh-h2: 1.04; --lh-body: 1.6;
  --tr-mega: -.035em; --tr-h1: -.03em; --tr-label: .16em;

  /* ---- SPACE (8px base) ----------------------------------- */
  --s1:8px; --s2:16px; --s3:24px; --s4:32px; --s5:48px;
  --s6:64px; --s7:96px; --s8:128px; --s9:160px; --s10:200px;
  --gut: 48px; --maxw: 1320px; --readw: 680px;

  /* ---- FORM -----------------------------------------------
     One radius language: SHARP. Blades are sharp; so is this brand. */
  --r: 0px;
  --bw: 1px;

  /* ---- MOTION ---------------------------------------------
     Entrances ease-OUT, exits ease-IN. Duration scales with distance. */
  --e-out:   cubic-bezier(.16,1,.3,1);     /* easeOutExpo — hero reveals */
  --e-quint: cubic-bezier(.22,1,.36,1);    /* easeOutQuint — sections   */
  --e-cubic: cubic-bezier(.33,1,.68,1);    /* general UI                */
  --e-in:    cubic-bezier(.32,0,.67,0);    /* exits                     */
  --e-morph: cubic-bezier(.76,0,.24,1);    /* repositioning             */
  --d-micro: 160ms; --d-ui: 260ms; --d-card: 320ms;
  --d-panel: 420ms; --d-hero: 720ms;
}

/* PERSONALITY: precise, nocturnal, engineered, loud-on-purpose
   ANTI:        corporate SaaS · beige wellness spa · 2015 urban-barber gradient */

*{box-sizing:border-box}
html{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body{margin:0;background:var(--ink);color:var(--paper);font-family:var(--f-body);font-size:var(--t-body);line-height:var(--lh-body)}
.label{font-family:var(--f-mono);font-size:var(--t-xs);letter-spacing:var(--tr-label);text-transform:uppercase;font-weight:500}
@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}
