/* Design tokens, reset, base typography, shared utilities, custom cursor */
:root{
  --bg:#f6f3e9;
  --bg-2:#efeade;
  --paper:#fbf9f1;
  --ink:#22301f;
  --ink-soft:#4a5a41;
  --forest:#1f3d2b;
  --moss:#3f7043;
  --moss-2:#5b8f4e;
  --sage:#9db989;
  --gold:#c99433;
  --gold-deep:#a9761f;
  --terra:#b5623a;
  --line:rgba(31,61,43,.14);
  --shadow:0 18px 45px -20px rgba(31,61,43,.45);
  --radius:20px;
  --maxw:1200px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:'Mukta',system-ui,sans-serif;
  color:var(--ink);
  background:var(--bg);
  line-height:1.7;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4,.serif{font-family:'Cormorant Garamond',Georgia,serif;font-weight:600;line-height:1.12;color:var(--forest);letter-spacing:.2px}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.container{width:min(var(--maxw),92vw);margin:0 auto}
.eyebrow{font-family:'Mukta';text-transform:uppercase;letter-spacing:.32em;font-size:.72rem;font-weight:700;color:var(--gold-deep)}
.shloka{font-family:'Tiro Devanagari Sanskrit',serif;color:var(--moss)}

/* ---------- custom cursor ---------- */
.cursor-dot,.cursor-ring{position:fixed;top:0;left:0;pointer-events:none;z-index:9999;border-radius:50%;transform:translate(-50%,-50%);mix-blend-mode:multiply}
.cursor-dot{width:7px;height:7px;background:var(--moss);transition:opacity .3s}
.cursor-ring{width:34px;height:34px;border:1.5px solid rgba(63,112,67,.55);transition:transform .18s ease, width .2s, height .2s, opacity .3s}
.cursor-ring.grow{width:60px;height:60px;border-color:var(--gold)}
@media (hover:none),(pointer:coarse){.cursor-dot,.cursor-ring{display:none}}
