/* ==========================================================================
   Pragya by Somya — design tokens
   Palette and type scale lifted from the approved "Ivory Sanctuary" concept.
   The two fixed comps (430px / 1440px) are reconciled here into one fluid
   system: every size below interpolates between the mobile and desktop value.
   ========================================================================== */

:root {
  /* ---- Ink ------------------------------------------------------------ */
  --ink:            #0B0B0A;   /* hero, philosophy, events, vision, footer   */
  --ink-2:          #12110E;   /* a half-step up, for stacked ink bands      */
  --ink-3:          #17170F;   /* video surface on ink                       */
  --ink-4:          #1C1B16;   /* headings on paper                          */

  /* ---- Ivory / parchment ---------------------------------------------- */
  --ivory:          #E8E6C8;   /* the brand ivory — logo, CTAs, active rings */
  --paper:          #F7F4EA;   /* page ground                                */
  --sand:           #EAE4D4;   /* "What we offer" band                       */
  --surface-light:  #E7E1D1;   /* video surface on paper                     */

  /* ---- Ink-on-paper type ---------------------------------------------- */
  --slate:          #5A574A;   /* secondary body copy                        */
  --taupe:          #8C8571;   /* decorative / large only — 3.0:1 on paper   */
  --taupe-text:     #6C6654;   /* eyebrows & small caps — 4.7:1 on paper     */
  --numeral:        #C3BCA4;   /* the big 01 / 02 / 03                       */

  /* ---- Alphas --------------------------------------------------------- */
  --ivory-90:  rgba(232, 230, 200, .90);
  --ivory-74:  rgba(232, 230, 200, .74);
  --ivory-66:  rgba(232, 230, 200, .66);
  --ivory-62:  rgba(232, 230, 200, .62);  /* smallest safe on ink — 6.6:1   */
  --ivory-34:  rgba(232, 230, 200, .34);
  --ivory-20:  rgba(232, 230, 200, .20);
  --ivory-14:  rgba(232, 230, 200, .14);
  --ivory-08:  rgba(232, 230, 200, .08);

  --ink-50:    rgba(28, 27, 22, .50);
  --ink-16:    rgba(28, 27, 22, .16);
  --ink-12:    rgba(28, 27, 22, .12);

  /* ---- Rail theming (consumed by .rail, overridden per section) -------- */
  --fg:      var(--ink-4);
  --muted:   var(--ink-50);
  --line:    var(--ink-16);
  --surface: var(--surface-light);

  /* ---- Type ----------------------------------------------------------- */
  --font-display: 'Cormorant Garamond', 'Iowan Old Style', Georgia, serif;
  --font-ui:      'Jost', system-ui, -apple-system, 'Segoe UI', sans-serif;

  /* interpolated 430px → 1440px, then clamped */
  --fs-hero:    clamp(1.875rem, 0.864rem + 3.762vw, 4.5rem);   /* 30 → 72   */
  --fs-h2:      clamp(2.125rem, 1.753rem + 1.386vw, 3rem);     /* 34 → 48   */
  --fs-h3:      clamp(1.875rem, 1.503rem + 1.386vw, 2.75rem);  /* 30 → 44   */
  --fs-h4:      clamp(1.625rem, 1.306rem + 1.188vw, 2.375rem); /* 26 → 38   */
  --fs-quote:   clamp(1.6875rem, 1.235rem + 1.683vw, 2.75rem); /* 27 → 44   */
  --fs-vision:  clamp(1.375rem, 1.056rem + 1.188vw, 2.125rem); /* 22 → 34   */
  --fs-num:     clamp(2.5rem, 1.968rem + 1.98vw, 3.75rem);     /* 40 → 60   */
  --fs-lead:    clamp(0.9375rem, 0.804rem + 0.495vw, 1.25rem); /* 15 → 20   */
  --fs-tile:    clamp(0.9375rem, 0.878rem + 0.198vw, 1.0625rem);
  --fs-sub:     clamp(0.9375rem, 0.878rem + 0.198vw, 1.0625rem);
  --fs-body:    clamp(0.9375rem, 0.9rem + 0.14vw, 1rem);       /* 15 → 16   */
  --fs-small:   clamp(0.8125rem, 0.79rem + 0.09vw, 0.875rem);
  --fs-eyebrow: clamp(0.625rem, 0.607rem + 0.07vw, 0.6875rem); /* 10 → 11   */
  --fs-micro:   0.625rem;

  --lh-tight:  1.06;
  --lh-snug:   1.26;
  --lh-body:   1.75;

  --ls-eyebrow: .3em;
  --ls-nav:     .2em;
  --ls-mark:    .4em;

  /* ---- Space ---------------------------------------------------------- */
  --gutter:     clamp(1.5rem, 7.13vw - 0.416rem, 6rem);        /* 24 → 96   */
  --section-y:  clamp(4rem, 2.51rem + 5.545vw, 7.5rem);        /* 64 → 120  */
  --maxw:       1248px;
  --rail-col:   360px;   /* the fixed label column on wide layouts          */
  --rail-gap:   72px;

  /* ---- Motion --------------------------------------------------------- */
  --ease-calm: cubic-bezier(.16, 1, .3, 1);
  --ease-soft: cubic-bezier(.4, 0, .2, 1);
  --dur-fast:   200ms;
  --dur-mid:    420ms;
  --dur-reveal: 900ms;
  --breath:     12s;     /* the ambient inhale/exhale cycle                 */

  /* ---- Texture -------------------------------------------------------- */
  --grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
