/* =========================================================
   BASE — reset, elements, typography, layout primitives
========================================================= */
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}

body{
  background:var(--ink);
  color:var(--mist);
  font-family:var(--sans);
  font-weight:400;
  line-height:1.6;
  letter-spacing:.005em;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
body.preload{overflow:hidden;height:100vh}

img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}
::selection{background:var(--sprout);color:var(--ink)}

:focus-visible{outline:2px solid var(--sprout);outline-offset:3px;border-radius:4px}

.bn{font-family:var(--bangla);font-feature-settings:"liga" 1}

/* ---------- type scale ---------- */
.eyebrow{
  font-size:clamp(11px,1.1vw,13px);
  letter-spacing:.26em;
  text-transform:uppercase;
  color:var(--gold);
  font-weight:600;
  display:flex;align-items:center;gap:.7em;
}
.eyebrow .num{font-family:var(--bangla);letter-spacing:0;color:var(--sprout);font-size:1.1em}
.eyebrow::before{content:"";width:34px;height:1px;background:linear-gradient(90deg,var(--gold),transparent)}

h2.section-title{
  font-family:var(--serif);
  font-weight:400;
  font-size:clamp(34px,6vw,72px);
  line-height:1.02;
  letter-spacing:-.02em;
  margin:.35em 0 .5em;
}
h2.section-title em{font-style:italic;color:var(--gold-soft)}
.lead{font-size:clamp(16px,1.5vw,20px);color:var(--mist-dim);max-width:52ch;font-weight:300}

/* ---------- layout ---------- */
.wrap{max-width:var(--maxw);margin:0 auto;padding-inline:var(--gut)}
section{position:relative}
.pad{padding-block:clamp(80px,11vw,150px)}

/* reveal-on-scroll */
/* reveal */
.reveal{opacity:0;transform:translateY(28px)}
.reveal.in{opacity:1;transform:none;transition:opacity .9s cubic-bezier(.2,.8,.2,1),transform .9s cubic-bezier(.2,.8,.2,1)}

/* Bangla typography normalisation */
.eyebrow,.label,.k,.sub,.vlabel,.lbl,.upd,.season,.foot-col h4,.ledger th,.give-card .kv .k,.steps,.note-strip,.give-note,.map-legend .lg,.mixbar .mvol label,.mixbar .playing{letter-spacing:.012em;text-transform:none}
