/* ============================================================
   JAMI & CORP — EDITION 03 · Tokens
   Dark-first. Electric blue. Motion curves per Kowalski/Apple:
   strong ease-out entrances, sub-300ms UI, springs in JS.
   ============================================================ */

:root {
  /* ---- Colour ---- */
  --night:  #0A0A0D;   /* page */
  --panel:  #101016;   /* raised section */
  --ink:    #0B0B0C;   /* card fills */
  --paper:  #F2EFE8;   /* text */
  --blue:   #2740C7;   /* electric royal */
  --blue-hi:#5266E4;
  --blue-lo:#1C2E9E;   /* pressed */
  --earth:  #8A5A34;   /* Devanagari voice only */

  --paper-70: rgba(242, 239, 232, 0.70);
  --paper-45: rgba(242, 239, 232, 0.45);
  --paper-20: rgba(242, 239, 232, 0.20);
  --paper-10: rgba(242, 239, 232, 0.10);

  /* ---- Type ---- */
  --f-disp: "Switzer", "Poppins", system-ui, sans-serif;
  --f-serif: "EB Garamond", Georgia, serif;
  --f-body: "Poppins", system-ui, sans-serif;
  --f-mono: "IBM Plex Mono", ui-monospace, monospace;
  --f-deva: "Tiro Devanagari Hindi", serif;

  /* ---- Scale ---- */
  --t-colossal: clamp(4rem, 18vw, 20rem);
  --t-mega:     clamp(3rem, 11vw, 11rem);
  --t-big:      clamp(2.2rem, 6.5vw, 6rem);
  --t-mid:      clamp(1.4rem, 3vw, 2.6rem);
  --t-body:     clamp(0.95rem, 1.05vw, 1.1rem);
  --t-label:    0.72rem;

  /* ---- Rhythm ---- */
  --gut: clamp(1.1rem, 3.4vw, 3rem);
  --band: clamp(6rem, 14vw, 14rem);
  --rule: 1px solid var(--paper-20);

  /* ---- Motion (Kowalski curves) ---- */
  --ease-out:   cubic-bezier(0.23, 1, 0.32, 1);
  --ease-inout: cubic-bezier(0.77, 0, 0.175, 1);
  --fast: 0.16s;   /* press feedback */
  --ui:   0.24s;   /* hovers, small reveals */
  --scene:0.8s;    /* section entrances */
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { -webkit-text-size-adjust: 100%; }
img, svg, video, canvas { display: block; max-width: 100%; }
button, input, textarea, select { font: inherit; color: inherit; background: none; border: none; }
a { color: inherit; text-decoration: none; }
ul, ol { list-style: none; }
::selection { background: var(--blue); color: var(--paper); }

html.lenis, html.lenis body { height: auto; }
.lenis.lenis-smooth { scroll-behavior: auto !important; }
.lenis.lenis-stopped { overflow: hidden; }
