/* ==========================================================================
   AALANKAAR STUDIOS — 01 · DESIGN TOKENS
   The single source of truth. Nothing below this file hard-codes a value.
   ========================================================================== */

:root{

  /* ---- Pigment ---------------------------------------------------------
     Drawn from the craft itself: undyed wild grass, kumkum, temple gold,
     banana leaf and the deep maroon of a wedding silk.                    */
  --c-ivory:        #E8DAB4;
  --c-ivory-dim:    #DDC998;
  --c-ivory-lift:   #F1E6C6;
  --c-parchment:    #F6EFD9;

  --c-ink:          #170C09;
  --c-ink-deep:     #0A0504;
  --c-ink-soft:     #3A2A22;

  --c-vermilion:    #7A1421;
  --c-ruby:         #9C2436;
  --c-maroon:       #230812;
  --c-green:        #182A1B;

  --c-gold:         #AC8140;
  --c-gold-soft:    #E3C077;
  --c-gold-bright:  #D4A857;

  /* ---- Semantic surface ------------------------------------------------ */
  --bg:             var(--c-ivory);
  --bg-lift:        var(--c-ivory-lift);
  --bg-deep:        var(--c-ink-deep);
  --fg:             var(--c-ink);
  --fg-muted:       rgba(23,12,9,0.58);
  --fg-faint:       rgba(23,12,9,0.34);
  --accent:         var(--c-vermilion);
  --accent-warm:    var(--c-gold);

  --rule:           rgba(23,12,9,0.14);
  --rule-soft:      rgba(23,12,9,0.08);
  --rule-dark:      rgba(232,218,180,0.16);
  --gold-line:      rgba(172,129,64,0.45);

  /* ---- Type ------------------------------------------------------------
     Fraunces carries the voice. Marcellus does the labels and small caps.
     Cormorant italic is the whisper. Jost handles anything functional.    */
  --font-display:   "Fraunces", "Times New Roman", Times, serif;
  --font-label:     "Marcellus", "Times New Roman", Times, serif;
  --font-script:    "Cormorant Garamond", "Times New Roman", Times, serif;
  --font-sans:      "Jost", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;

  --fs-base:        15.5px;

  /* Fluid display scale — clamp(min, preferred, max) */
  --fs-mega:        clamp(3.4rem, 11.5vw, 12rem);
  --fs-xxl:         clamp(2.8rem, 7.4vw, 6.6rem);
  --fs-xl:          clamp(2.2rem, 5.2vw, 4.4rem);
  --fs-lg:          clamp(1.6rem, 3.2vw, 2.7rem);
  --fs-md:          clamp(1.15rem, 1.9vw, 1.5rem);
  --fs-sm:          0.95rem;
  --fs-xs:          0.8rem;
  --fs-label:       10.5px;

  --lh-tight:       0.92;
  --lh-snug:        1.08;
  --lh-normal:      1.5;
  --lh-loose:       1.72;

  --ls-label:       0.19em;
  --ls-wide:        0.34em;
  --ls-display:     -0.025em;

  /* ---- Space — an 8px-rooted ratio scale ------------------------------- */
  --s-1:  4px;
  --s-2:  8px;
  --s-3:  14px;
  --s-4:  22px;
  --s-5:  34px;
  --s-6:  52px;
  --s-7:  80px;
  --s-8:  124px;
  --s-9:  184px;

  --section-y:      clamp(40px, 4.6vw, 76px);   /* tight: the textured grounds already separate sections */
  --gutter:         clamp(20px, 5vw, 68px);
  --maxw:           1560px;
  --maxw-text:      66ch;
  --maxw-narrow:    780px;

  /* ---- Motion ----------------------------------------------------------
     One expressive ease for reveals, one snappy ease for state changes,
     one soft ease for anything that follows the pointer.                  */
  --ease:           cubic-bezier(.22,.68,.16,1);
  --ease-snap:      cubic-bezier(.65,0,.35,1);
  --ease-soft:      cubic-bezier(.33,1,.68,1);
  --ease-back:      cubic-bezier(.34,1.56,.64,1);

  --dur-1:          .18s;
  --dur-2:          .32s;
  --dur-3:          .55s;
  --dur-4:          .9s;
  --dur-5:          1.4s;

  /* ---- Depth ------------------------------------------------------------ */
  --shadow-sm:      0 2px 10px rgba(23,12,9,.06);
  --shadow-md:      0 14px 42px -18px rgba(23,12,9,.30);
  --shadow-lg:      0 36px 90px -32px rgba(23,12,9,.42);

  --radius-sm:      2px;
  --radius-md:      4px;
  --radius-pill:    999px;

  /* ---- Layer order — declared once so nothing fights ------------------- */
  --z-base:         1;
  --z-sticky:       50;
  --z-nav:          200;
  --z-drawer:       400;
  --z-modal:        500;
  --z-menu:         600;
  --z-loader:       900;
  --z-cursor:       9999;
}

/* Dark sections opt in by class rather than by media query — this is an
   editorial site, not a themeable dashboard. */
.on-dark{
  --bg:        var(--c-ink-deep);
  --bg-lift:   #150C08;
  --fg:        var(--c-ivory);
  --fg-muted:  rgba(232,218,180,0.62);
  --fg-faint:  rgba(232,218,180,0.34);
  --rule:      var(--rule-dark);
  --rule-soft: rgba(232,218,180,0.08);
  --accent:    var(--c-gold-soft);
}
