/* ═══════════════════════════════════════════════════════
   Shri Radhe Krishan Mehandi Training Centre
   Henna palette: espresso ink · henna rust · marigold · cream
   ═══════════════════════════════════════════════════════ */

:root{
  --ink:        #2b1810;
  --ink-soft:   #4a2c1c;
  --henna:      #8a3b1d;
  --henna-deep: #5c2410;
  --rust:       #b0562a;
  --gold:       #c08a2d;
  --gold-soft:  #d9b36a;
  --cream:      #f7f1e5;
  --cream-2:    #efe4cf;
  --cream-3:    #e6d7bc;
  --white:      #fffdf8;
  --font-display: "Cormorant Garamond", Georgia, serif;
  --font-body:  "Jost", "Segoe UI", sans-serif;
  --font-dev:   "Noto Serif Devanagari", serif;
  --ease-out:   cubic-bezier(.16,1,.3,1);
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
section[id]{scroll-margin-top:76px}
body{
  font-family:var(--font-body);
  background:var(--cream);
  color:var(--ink);
  overflow-x:hidden;
  line-height:1.6;
}
body.locked{overflow:hidden}
::selection{background:var(--henna);color:var(--cream)}

img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}

/* subtle paper grain over everything */
body::after{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:5;opacity:.35;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 .04 0'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* ═══════════════ LOADER ═══════════════ */
.loader{
  position:fixed;inset:0;z-index:100;
  background:
    radial-gradient(ellipse at 50% 30%, #3a2114 0%, var(--ink) 55%, #1d0f08 100%);
  display:flex;align-items:center;justify-content:center;
  transition:opacity 1.1s ease, visibility 1.1s;
}
.loader.done{opacity:0;visibility:hidden;pointer-events:none}
.loader-inner{display:flex;flex-direction:column;align-items:center;gap:6px;padding:20px}

.hand-svg{width:min(46vh,300px);height:auto}
.hand-svg .mh{
  stroke:var(--gold-soft);
  stroke-width:2;
  stroke-linecap:round;stroke-linejoin:round;
  fill:none;
  stroke-dasharray:1;
  stroke-dashoffset:1;
  animation:draw var(--t,.8s) var(--d,0s) var(--ease-out) forwards;
}
.hand-svg .outline{stroke:#e8cf9f;stroke-width:2.6}
.hand-svg .thin{stroke-width:1.5}
.hand-svg .dashed{stroke-dasharray:.02 .025}
.hand-svg .dot{
  fill:var(--gold-soft);stroke:none;
  stroke-dasharray:none;stroke-dashoffset:0;
  opacity:0;transform-origin:center;transform-box:fill-box;
  animation:dot-pop .5s var(--d,0s) var(--ease-out) forwards;
}
@keyframes draw{to{stroke-dashoffset:0}}
@keyframes dot-pop{
  0%{opacity:0;transform:scale(0)}
  70%{opacity:1;transform:scale(1.6)}
  100%{opacity:1;transform:scale(1)}
}

.loader-brand{text-align:center;color:var(--cream);opacity:0;animation:fade-up 1.2s 1s var(--ease-out) forwards}
.loader-devanagari{
  font-family:var(--font-dev);color:var(--gold-soft);
  font-size:15px;letter-spacing:.35em;display:block;margin-bottom:8px;
}
.loader-brand h1{
  font-family:var(--font-display);font-weight:500;
  font-size:clamp(26px,5vw,40px);line-height:1.15;letter-spacing:.04em;
}
.loader-brand h1 span{
  display:block;font-size:.42em;letter-spacing:.42em;text-transform:uppercase;
  color:var(--gold-soft);margin-top:8px;font-family:var(--font-body);font-weight:300;
}
.loader-note{
  margin-top:14px;font-size:12px;letter-spacing:.25em;text-transform:uppercase;
  color:#a98f6b;opacity:0;animation:fade-up 1s 2.4s var(--ease-out) forwards, pulse 2s 3.4s ease-in-out infinite;
}
.loader-skip{
  position:absolute;bottom:26px;right:30px;
  background:none;border:1px solid #6b4a30;color:#c8ab84;
  font-family:var(--font-body);font-size:11px;letter-spacing:.22em;text-transform:uppercase;
  padding:9px 18px;border-radius:99px;cursor:pointer;
  opacity:0;animation:fade-up .8s 1.6s forwards;transition:all .3s;
}
.loader-skip:hover{background:#3a2114;color:var(--cream)}
@keyframes fade-up{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@keyframes pulse{0%,100%{opacity:.9}50%{opacity:.4}}

/* ═══════════════ CURSOR ═══════════════ */
.cursor-dot{
  position:fixed;width:10px;height:10px;border-radius:50%;
  background:var(--henna);pointer-events:none;z-index:99;
  transform:translate(-50%,-50%);opacity:0;
  transition:width .25s,height .25s,opacity .3s;
  mix-blend-mode:multiply;
}
body.has-cursor .cursor-dot{opacity:.75}
.cursor-dot.grow{width:44px;height:44px;opacity:.25}
@media (hover:none){.cursor-dot{display:none}}

/* ═══════════════ NAV ═══════════════ */
/* entrance animates `top`, never transform: a transformed nav would trap
   the position:fixed mobile menu inside the header bar */
.nav{
  position:fixed;top:-110px;left:0;right:0;z-index:50;
  display:flex;align-items:center;justify-content:space-between;
  padding:18px clamp(20px,5vw,56px);
  transition:top .9s var(--ease-out), background .4s, box-shadow .4s, padding .4s;
}
body.loaded .nav{top:0}
.nav.scrolled{
  background:rgba(247,241,229,.9);backdrop-filter:blur(14px);
  box-shadow:0 1px 0 rgba(43,24,16,.08);padding-top:12px;padding-bottom:12px;
}
.nav-brand{display:flex;align-items:center;gap:12px;color:var(--henna-deep);font-weight:500}
.nav-brand svg{color:var(--henna)}
.nav-brand span{font-family:var(--font-display);font-size:19px;letter-spacing:.02em;line-height:1.1}
.nav-brand em{font-style:italic;color:var(--henna)}
.nav-links{display:flex;align-items:center;gap:clamp(16px,2.6vw,34px)}
.nav-links a{
  font-size:13.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:400;
  position:relative;padding:4px 0;
}
.nav-links a:not(.nav-cta)::after{
  content:"";position:absolute;left:0;bottom:0;height:1.5px;width:100%;
  background:var(--henna);transform:scaleX(0);transform-origin:right;
  transition:transform .45s var(--ease-out);
}
.nav-links a:not(.nav-cta):hover::after{transform:scaleX(1);transform-origin:left}
.nav-links a.nav-cta{
  background:var(--henna);color:var(--cream)!important;
  padding:13px 30px;border-radius:99px;transition:background .3s,transform .3s;
  display:inline-flex;align-items:center;gap:10px;white-space:nowrap;
}
.nav-cta svg{flex-shrink:0}
.nav-cta:hover{background:var(--henna-deep);transform:translateY(-2px)}
.nav-toggle{display:none;background:none;border:none;cursor:pointer;width:34px;height:26px;position:relative;z-index:60}
.nav-toggle span{position:absolute;left:0;width:100%;height:2px;background:var(--ink);transition:all .35s;top:7px}
.nav-toggle span:last-child{top:17px}
.nav-toggle.open span:first-child{top:12px;transform:rotate(45deg)}
.nav-toggle.open span:last-child{top:12px;transform:rotate(-45deg)}

/* ═══════════════ HERO ═══════════════ */
.hero{
  min-height:100svh;position:relative;overflow:hidden;
  display:flex;align-items:center;justify-content:center;text-align:center;
  padding:120px 20px 90px;
  background:
    radial-gradient(ellipse 80% 60% at 50% -10%, var(--cream-2), transparent),
    var(--cream);
}
.hero-mandala{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  color:var(--henna);opacity:.10;pointer-events:none;
}
.hero-mandala svg{width:min(120vmin,880px);height:auto}
.spin-slow{transform-origin:300px 300px;animation:spin 90s linear infinite}
.spin-slower{transform-origin:300px 300px;animation:spin 140s linear infinite reverse}
@keyframes spin{to{transform:rotate(360deg)}}

.hero-motifs{position:absolute;inset:0;pointer-events:none;color:var(--rust)}
.motif{position:absolute;opacity:.18;animation:float-drift 9s ease-in-out infinite}
.m1{width:54px;top:18%;left:9%;animation-delay:0s;transform:rotate(-18deg)}
.m2{width:38px;top:66%;left:16%;animation-delay:-3s;transform:rotate(24deg)}
.m3{width:46px;top:24%;right:12%;animation-delay:-5s}
.m4{width:62px;top:64%;right:8%;animation-delay:-1.5s;transform:rotate(-30deg) scaleX(-1)}
.m5{width:30px;top:44%;left:4%;animation-delay:-6.5s}
@keyframes float-drift{
  0%,100%{translate:0 0}
  33%{translate:8px -18px}
  66%{translate:-8px -6px}
}

.hero-content{position:relative;max-width:880px}
.hero-eyebrow{
  font-size:13px;letter-spacing:.34em;text-transform:uppercase;color:var(--henna);
  margin-bottom:26px;font-weight:500;
}
.hero-eyebrow, .hero-title .line, .hero-sub, .hero-actions{
  opacity:0;transform:translateY(34px);filter:blur(6px);
}
body.loaded .anim-hero{
  animation:hero-in 1.1s var(--ease-out) forwards;
  animation-delay:calc(var(--h) * .13s + .25s);
}
@keyframes hero-in{to{opacity:1;transform:translateY(0);filter:blur(0)}}

.hero-title{
  font-family:var(--font-display);font-weight:500;
  font-size:clamp(44px,8.4vw,104px);line-height:1.02;letter-spacing:-.01em;
  color:var(--ink);
}
.hero-title .line{display:block}
.hero-title .em{
  font-style:italic;color:var(--henna);
  background:linear-gradient(100deg,var(--henna) 20%,var(--gold) 50%,var(--henna) 80%);
  background-size:200% 100%;
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
}
body.loaded .hero-title .em{animation:hero-in 1.1s var(--ease-out) forwards, shimmer 7s 2s linear infinite;animation-delay:calc(var(--h) * .13s + .25s), 2.2s}
@keyframes shimmer{to{background-position:-200% 0}}

.hero-sub{max-width:560px;margin:30px auto 0;font-size:17px;font-weight:300;color:var(--ink-soft)}
.hero-sub strong{color:var(--henna);font-weight:500}
.hero-actions{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin-top:38px}

.btn{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--font-body);font-size:13.5px;font-weight:500;
  letter-spacing:.16em;text-transform:uppercase;
  padding:17px 34px;border-radius:99px;
  position:relative;overflow:hidden;
  transition:transform .35s var(--ease-out), box-shadow .35s, background .35s, color .35s;
}
.btn::before{
  content:"";position:absolute;inset:0;border-radius:99px;
  background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.25) 50%,transparent 70%);
  transform:translateX(-110%);transition:transform .7s;
}
.btn:hover::before{transform:translateX(110%)}
.btn:hover{transform:translateY(-3px)}
.btn-primary{background:var(--henna);color:var(--cream);box-shadow:0 12px 28px -12px rgba(138,59,29,.55)}
.btn-primary:hover{background:var(--henna-deep);box-shadow:0 18px 34px -12px rgba(92,36,16,.6)}
.btn-ghost{border:1.5px solid var(--henna);color:var(--henna)}
.btn-ghost:hover{background:var(--henna);color:var(--cream)}
.btn-light{background:var(--cream);color:var(--henna-deep)}
.btn-light:hover{background:var(--white)}
.btn-ghost-light{border:1.5px solid rgba(247,241,229,.6);color:var(--cream)}
.btn-ghost-light:hover{background:rgba(247,241,229,.14)}

.hero-side{
  position:absolute;top:50%;z-index:1;
  width:clamp(150px,16vw,250px);
  border-radius:120px 120px 20px 20px;
  overflow:hidden;
  border:1.5px solid var(--cream-3);
  box-shadow:0 26px 55px -28px rgba(43,24,16,.45);
  opacity:0;filter:blur(6px);
}
.hero-side img{width:100%;height:100%;object-fit:cover;aspect-ratio:3/4.2;display:block}
.hero-side-l{left:clamp(16px,4.5vw,72px);transform:translateY(-50%) rotate(-5deg)}
.hero-side-r{right:clamp(16px,4.5vw,72px);transform:translateY(-50%) rotate(5deg)}
body.loaded .hero-side-l{animation:side-in 1.2s .9s var(--ease-out) forwards, float-side 6s 2.1s ease-in-out infinite}
body.loaded .hero-side-r{animation:side-in 1.2s 1.1s var(--ease-out) forwards, float-side-alt 7s 2.3s ease-in-out infinite}
@keyframes side-in{to{opacity:.92;filter:blur(0)}}
@keyframes float-side{
  0%,100%{margin-top:0}
  50%{margin-top:-14px}
}
@keyframes float-side-alt{
  0%,100%{margin-top:0}
  50%{margin-top:12px}
}
@media (max-width:1140px){.hero-side{display:none}}

/* ═══════════════ MARQUEE ═══════════════ */
.marquee{
  background:var(--henna-deep);color:var(--gold-soft);
  overflow:hidden;padding:16px 0;
  border-top:1px solid rgba(217,179,106,.25);
  border-bottom:1px solid rgba(217,179,106,.25);
}
.marquee-track{display:flex;white-space:nowrap;width:max-content;animation:marquee 26s linear infinite}
.marquee-track span{
  font-family:var(--font-display);font-style:italic;
  font-size:19px;letter-spacing:.12em;
}
.marquee:hover .marquee-track{animation-play-state:paused}
@keyframes marquee{to{transform:translateX(-50%)}}

/* ═══════════════ SECTIONS / REVEAL ═══════════════ */
.section{padding:clamp(80px,11vw,150px) clamp(20px,6vw,80px);max-width:1280px;margin:0 auto}
.section-head{text-align:center;margin-bottom:clamp(44px,6vw,76px)}
.kicker{
  display:inline-block;font-size:12px;letter-spacing:.4em;text-transform:uppercase;
  color:var(--gold);font-weight:500;margin-bottom:16px;
}
.kicker::before,.kicker::after{content:"✦";color:var(--gold-soft);margin:0 12px}
.section-head h2, .training h2, .cta-banner h2{
  font-family:var(--font-display);font-weight:500;
  font-size:clamp(32px,4.6vw,56px);line-height:1.08;color:var(--ink);
}
.section-head h2 em, .training h2 em, .cta-banner h2 em{font-style:italic;color:var(--henna)}
.section-note{margin-top:16px;color:var(--ink-soft);font-weight:300;font-size:15px}
.section-note a{color:var(--henna);border-bottom:1px solid var(--gold-soft)}

.reveal{opacity:0;transform:translateY(44px);filter:blur(5px);
  transition:opacity 1s var(--ease-out), transform 1s var(--ease-out), filter 1s var(--ease-out);
  transition-delay:var(--r,0s);
}
.reveal.in{opacity:1;transform:translateY(0);filter:blur(0)}

/* draw-on-scroll ornaments */
.draw-on-scroll .ds{
  stroke:var(--henna);stroke-linecap:round;stroke-linejoin:round;
  stroke-dasharray:1;stroke-dashoffset:1;
}
.draw-on-scroll.in .ds{animation:draw 1.6s var(--ease-out) forwards}
.draw-on-scroll.in .ds:nth-child(2){animation-delay:.35s}
.draw-on-scroll.in .ds:nth-child(3){animation-delay:.7s}
.draw-on-scroll.in .ds:nth-child(4){animation-delay:1.05s}
.draw-on-scroll.in .ds:nth-child(5){animation-delay:1.35s}
.draw-on-scroll.in .ds:nth-child(6){animation-delay:1.6s}

/* ═══════════════ ABOUT ═══════════════ */
.about-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(36px,6vw,90px);align-items:center}
.about-art{position:relative}
.about-frame{
  border:1.5px solid var(--cream-3);border-radius:200px 200px 24px 24px;
  padding:clamp(24px,3vw,48px);background:var(--white);
  box-shadow:0 30px 60px -35px rgba(43,24,16,.3);
}
.photo-arch{padding:0;overflow:hidden}
.photo-arch img{
  display:block;width:100%;height:auto;
  aspect-ratio:3/4;object-fit:cover;object-position:top center;
  border-radius:inherit;
}
.about-badge,.training-chip{
  position:absolute;right:-14px;bottom:26px;
  background:var(--henna);color:var(--cream);
  border-radius:18px;padding:16px 20px;text-align:center;
  box-shadow:0 16px 32px -14px rgba(92,36,16,.6);
}
.about-badge strong,.training-chip strong{font-family:var(--font-display);font-size:34px;display:block;line-height:1}
.about-badge span,.training-chip span{font-size:11px;letter-spacing:.14em;text-transform:uppercase;line-height:1.5;display:block;margin-top:4px;color:var(--gold-soft)}
.float-y{animation:float-y 5s ease-in-out infinite}
@keyframes float-y{0%,100%{translate:0 0}50%{translate:0 -12px}}

.about-copy p{font-size:16.5px;font-weight:300;color:var(--ink-soft);margin-bottom:20px}
.about-copy strong{color:var(--henna);font-weight:500}
.about-copy em{color:var(--henna-deep)}
.about-points{list-style:none;margin-top:28px;display:grid;gap:14px}
.about-points li{display:flex;gap:14px;align-items:center;font-size:15.5px}
.about-points i{color:var(--gold);font-style:normal}

/* ═══════════════ STATS ═══════════════ */
.stats{
  background:
    radial-gradient(ellipse 70% 90% at 50% 0%, #4a2415, transparent),
    var(--henna-deep);
  color:var(--cream);padding:clamp(60px,8vw,100px) 24px;
}
.stats-inner{max-width:980px;margin:0 auto;display:flex;justify-content:space-around;align-items:center;gap:20px;flex-wrap:wrap}
.stat{text-align:center;min-width:180px}
.stat strong{font-family:var(--font-display);font-size:clamp(46px,6vw,74px);font-weight:500;color:var(--gold-soft);display:block;line-height:1}
.stat > span{font-size:12.5px;letter-spacing:.28em;text-transform:uppercase;margin-top:12px;display:block;color:#d9c4a6}
.stat-divider{width:1px;height:64px;background:linear-gradient(transparent,var(--gold),transparent);opacity:.5}

/* ═══════════════ SERVICES ═══════════════ */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2.6vw,32px)}
.card{
  position:relative;background:var(--white);border:1.5px solid var(--cream-3);
  border-radius:22px;padding:0;
  overflow:hidden;transition:box-shadow .5s, border-color .5s;
  transform-style:preserve-3d;will-change:transform;
}
.card-img{height:230px;overflow:hidden;position:relative}
.card-img::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(transparent 60%, rgba(43,24,16,.28));
}
.card-img img{
  width:100%;height:100%;object-fit:cover;object-position:center 30%;
  transition:transform 1s var(--ease-out);
}
.card:hover .card-img img{transform:scale(1.07)}
.card-body{position:relative;padding:26px clamp(24px,2.6vw,32px) 34px}
.card:hover{box-shadow:0 34px 60px -30px rgba(92,36,16,.4);border-color:var(--gold-soft)}
.card::after{
  content:"";position:absolute;inset:auto -30% -55% -30%;height:70%;
  background:radial-gradient(ellipse at bottom, rgba(192,138,45,.14), transparent 70%);
  opacity:0;transition:opacity .6s;
}
.card:hover::after{opacity:1}
.card h3{font-family:var(--font-display);font-size:27px;font-weight:600;margin-bottom:12px}
.card p{font-weight:300;color:var(--ink-soft);font-size:15.5px}
.card-num{
  position:absolute;top:22px;right:26px;
  font-family:var(--font-display);font-style:italic;font-size:44px;
  color:var(--cream-3);transition:color .4s;
}
.card:hover .card-num{color:var(--gold-soft)}

/* ═══════════════ TRAINING ═══════════════ */
.training{max-width:none;background:var(--cream-2);
  border-top:1px solid var(--cream-3);border-bottom:1px solid var(--cream-3)}
.training-inner{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:1.25fr 1fr;gap:clamp(40px,6vw,90px);align-items:center}
.training .kicker{margin-bottom:10px}
.training h2{margin-bottom:18px}
.training-copy > p{font-weight:300;color:var(--ink-soft);max-width:520px;margin-bottom:34px}
.training-steps{display:grid;gap:0;margin-bottom:38px}
.t-step{
  display:flex;gap:22px;align-items:flex-start;padding:20px 6px;
  border-bottom:1px solid var(--cream-3);transition:background .4s, padding-left .4s;
}
.t-step:hover{background:rgba(255,253,248,.7);padding-left:16px}
.t-step > span{
  font-family:var(--font-display);font-style:italic;font-size:26px;color:var(--gold);
  line-height:1.2;min-width:44px;
}
.t-step h4{font-family:var(--font-display);font-size:21px;font-weight:600}
.t-step .soon{
  display:inline-block;vertical-align:middle;margin-left:8px;
  font-family:var(--font-body);font-size:9.5px;font-weight:500;
  letter-spacing:.18em;text-transform:uppercase;
  background:var(--gold);color:var(--white);
  padding:3px 10px;border-radius:99px;
  animation:pulse 2.4s ease-in-out infinite;
}
.t-step p{font-size:14.5px;font-weight:300;color:var(--ink-soft)}
.training-visual{position:relative;background:var(--white);border-radius:28px;
  border:1.5px solid var(--cream-3);padding:clamp(14px,1.6vw,20px);
  box-shadow:0 30px 60px -35px rgba(43,24,16,.3)}
.training-visual img{
  width:100%;display:block;border-radius:18px;
  aspect-ratio:3/3.6;object-fit:cover;
}
.training-chip{right:auto;left:-14px;bottom:40px}

/* ═══════════════ ADMISSION ═══════════════ */
.admission-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:clamp(24px,4vw,56px);align-items:start}
.adm-form{
  background:var(--white);border:1.5px solid var(--cream-3);border-radius:26px;
  padding:clamp(26px,3.4vw,46px);
  box-shadow:0 30px 60px -35px rgba(43,24,16,.3);
}
.adm-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.adm-field{margin-bottom:20px;display:flex;flex-direction:column;gap:8px}
.adm-field label{
  font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--henna);font-weight:500;
}
.adm-field input,.adm-field select,.adm-field textarea{
  font-family:var(--font-body);font-size:15px;color:var(--ink);
  background:var(--cream);border:1.5px solid var(--cream-3);border-radius:12px;
  padding:13px 16px;outline:none;width:100%;
  transition:border-color .3s, box-shadow .3s, background .3s;
  appearance:none;
}
.adm-field textarea{resize:vertical;min-height:76px}
.adm-field select{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%238a3b1d' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 16px center;
  cursor:pointer;
}
.adm-field input::placeholder,.adm-field textarea::placeholder{color:#b09a7e}
.adm-field input:focus,.adm-field select:focus,.adm-field textarea:focus{
  border-color:var(--gold);background:var(--white);
  box-shadow:0 0 0 4px rgba(192,138,45,.14);
}
.adm-error{color:#a8321a;font-size:14px;margin-bottom:14px}
.adm-sent{color:var(--henna);font-size:14.5px;margin-top:16px;font-weight:500}
.adm-submit{width:100%;justify-content:center}
.adm-info{
  background:var(--henna-deep);color:var(--cream);border-radius:26px;
  padding:clamp(26px,3vw,40px);position:sticky;top:110px;
}
.adm-info h3{font-family:var(--font-display);font-size:26px;font-weight:500;margin-bottom:20px;color:var(--gold-soft)}
.adm-info ul{list-style:none;display:grid;gap:14px;margin-bottom:26px}
.adm-info li{display:flex;gap:12px;font-size:14.5px;font-weight:300;color:#eadbc2}
.adm-info li i{color:var(--gold-soft);font-style:normal}
.adm-note{
  border:1px solid rgba(217,179,106,.35);border-radius:16px;
  padding:18px 20px;display:flex;gap:14px;align-items:center;margin-bottom:20px;
}
.adm-note strong{font-family:var(--font-display);font-size:34px;color:var(--gold-soft);line-height:1}
.adm-note span{font-size:13px;font-weight:300;color:#dcc9ad;line-height:1.5}
.adm-alt{font-size:13.5px;font-weight:300;color:#c9ab84}
.adm-alt a{color:var(--gold-soft);border-bottom:1px solid rgba(217,179,106,.4)}

/* ═══════════════ FOUNDER ═══════════════ */
.owner-inner{display:grid;grid-template-columns:1fr 1.35fr;gap:clamp(36px,6vw,90px);align-items:center}
.owner-photo{position:relative}
.owner-frame{
  position:relative;overflow:hidden;
  border:1.5px solid var(--cream-3);border-radius:200px 200px 24px 24px;
  background:var(--cream-2);aspect-ratio:3/4;
  box-shadow:0 30px 60px -35px rgba(43,24,16,.35);
}
.owner-frame img{
  width:100%;height:100%;object-fit:cover;object-position:top center;
  transition:transform 1.2s var(--ease-out);
}
.owner-photo:hover .owner-frame img{transform:scale(1.05)}
.owner-ph{display:none}
.owner-frame.no-photo img{display:none}
.owner-frame.no-photo .owner-ph{
  position:absolute;inset:0;display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:14px;color:var(--henna);
}
.owner-ph svg{width:56%;opacity:.5}
.owner-ph span{font-size:11px;letter-spacing:.3em;text-transform:uppercase;opacity:.6}
.owner-badge{
  position:absolute;right:-14px;bottom:32px;
  background:var(--henna);color:var(--cream);
  border-radius:18px;padding:14px 20px;text-align:center;
  box-shadow:0 16px 32px -14px rgba(92,36,16,.6);
}
.owner-badge strong{font-family:var(--font-display);font-size:36px;display:block;line-height:.9;color:var(--gold-soft)}
.owner-badge span{font-size:11px;letter-spacing:.14em;text-transform:uppercase;line-height:1.5;display:block;margin-top:2px;color:var(--gold-soft)}
.owner-copy .kicker{margin-bottom:12px}
.owner-copy h2{
  font-family:var(--font-display);font-weight:500;
  font-size:clamp(26px,3.4vw,40px);line-height:1.2;color:var(--ink);
  margin-bottom:26px;
}
.owner-copy h2 em{font-style:italic;color:var(--henna)}
.owner-words p{font-size:16px;font-weight:300;color:var(--ink-soft);margin-bottom:18px}
.owner-words strong{color:var(--henna);font-weight:500}
.owner-sign{margin-top:30px;padding-top:22px;border-top:1px solid var(--cream-3)}
.owner-name{
  font-family:var(--font-display);font-style:italic;font-weight:500;
  font-size:34px;color:var(--henna);display:block;line-height:1;
}
.owner-role{
  display:block;margin-top:8px;
  font-size:11.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);
}

/* ═══════════════ GALLERY ═══════════════ */
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,2vw,24px)}
.g-tile{
  position:relative;border-radius:18px;overflow:hidden;cursor:pointer;
  aspect-ratio:4/5;
}
.g-tile:nth-child(2),.g-tile:nth-child(5){translate:0 26px}
.g-tile img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  transition:transform .9s var(--ease-out);
}
.g-tile:hover img{transform:scale(1.08) rotate(1deg)}
.g-tile::after{
  content:attr(data-label);
  position:absolute;left:0;right:0;bottom:0;padding:38px 18px 16px;z-index:2;
  background:linear-gradient(transparent, rgba(43,24,16,.82));
  color:var(--cream);font-size:13px;letter-spacing:.16em;text-transform:uppercase;
  transform:translateY(100%);transition:transform .55s var(--ease-out);
}
.g-tile:hover::after{transform:translateY(0)}

/* ═══════════════ FAQ ═══════════════ */
.faq-list{max-width:760px;margin:0 auto;display:grid;gap:14px}
.faq-item{
  background:var(--white);border:1.5px solid var(--cream-3);border-radius:18px;
  overflow:hidden;transition:border-color .4s, box-shadow .4s;
}
.faq-item[open]{border-color:var(--gold-soft);box-shadow:0 20px 40px -28px rgba(92,36,16,.35)}
.faq-item summary{
  list-style:none;cursor:pointer;
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:20px 24px;
  font-family:var(--font-display);font-size:19px;font-weight:600;color:var(--ink);
  transition:color .3s;
}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary:hover{color:var(--henna)}
.faq-item summary i{
  flex-shrink:0;width:26px;height:26px;position:relative;
  border:1.5px solid var(--henna);border-radius:50%;
  transition:transform .45s var(--ease-out), background .3s;
}
.faq-item summary i::before,.faq-item summary i::after{
  content:"";position:absolute;top:50%;left:50%;background:var(--henna);
  transition:background .3s;
}
.faq-item summary i::before{width:10px;height:1.6px;transform:translate(-50%,-50%)}
.faq-item summary i::after{width:1.6px;height:10px;transform:translate(-50%,-50%)}
.faq-item[open] summary i{transform:rotate(135deg);background:var(--henna)}
.faq-item[open] summary i::before,.faq-item[open] summary i::after{background:var(--cream)}
.faq-body{overflow:hidden}
.faq-body p{
  padding:0 24px 22px;font-size:15px;font-weight:300;color:var(--ink-soft);
}
.faq-body a{color:var(--henna);border-bottom:1px solid var(--gold-soft)}
.faq-item[open] .faq-body p{animation:faq-open .5s var(--ease-out)}
@keyframes faq-open{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}

/* ═══════════════ CTA BANNER ═══════════════ */
.cta-banner{
  background:
    radial-gradient(ellipse 60% 100% at 50% 120%, #52301b, transparent),
    linear-gradient(180deg, #35190d, var(--henna-deep));
  color:var(--cream);text-align:center;
  padding:clamp(80px,11vw,150px) 24px;position:relative;overflow:hidden;
}
.cta-banner::before,.cta-banner::after{
  content:"✦";position:absolute;color:var(--gold);opacity:.3;font-size:22px;
  animation:float-drift 8s ease-in-out infinite;
}
.cta-banner::before{top:22%;left:12%}
.cta-banner::after{bottom:20%;right:12%;animation-delay:-4s}
.cta-inner .loader-devanagari{margin-bottom:14px}
.cta-banner h2{color:var(--cream);margin-bottom:14px}
.cta-banner h2 em{color:var(--gold-soft)}
.cta-banner p{font-weight:300;color:#dcc9ad;margin-bottom:34px}

/* ═══════════════ CONTACT ═══════════════ */
.contact-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(14px,2vw,24px)}
.c-card{
  background:var(--white);border:1.5px solid var(--cream-3);border-radius:20px;
  padding:30px 24px;display:block;
  transition:transform .5s var(--ease-out), box-shadow .5s, border-color .5s;
}
.c-card:hover{transform:translateY(-8px);box-shadow:0 28px 48px -26px rgba(92,36,16,.4);border-color:var(--gold-soft)}
.c-card i{
  width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:var(--cream-2);color:var(--henna);margin-bottom:18px;
  transition:background .4s,color .4s, transform .5s var(--ease-out);
}
.c-card:hover i{background:var(--henna);color:var(--cream);transform:rotate(-10deg) scale(1.06)}
.c-card h4{font-family:var(--font-display);font-size:21px;font-weight:600;margin-bottom:4px}
.c-card p{font-size:14px;color:var(--ink-soft);font-weight:300;word-break:break-word}
.c-card span{
  display:inline-block;margin-top:14px;font-size:11.5px;letter-spacing:.2em;
  text-transform:uppercase;color:var(--gold);
}

/* ═══════════════ MAP ═══════════════ */
.map-wrap{
  position:relative;margin-top:clamp(28px,4vw,48px);
  border-radius:24px;overflow:hidden;
  border:1.5px solid var(--cream-3);
  box-shadow:0 30px 60px -35px rgba(43,24,16,.35);
  height:clamp(320px,45vw,440px);
}
.map-wrap iframe{
  width:100%;height:100%;border:0;display:block;
  filter:sepia(.22) saturate(.85);
  transition:filter .6s;
}
.map-wrap:hover iframe{filter:none}
.map-btn{
  position:absolute;left:50%;bottom:22px;transform:translateX(-50%);
  padding:13px 26px;
}
.map-btn:hover{transform:translateX(-50%) translateY(-3px)}

/* ═══════════════ FOOTER ═══════════════ */
.footer{
  background:var(--ink);color:#cbb08a;text-align:center;
  padding:70px 24px 40px;
}
.footer-ornament svg{max-width:480px;margin:0 auto 30px}
.footer-ornament .ds{stroke:var(--gold-soft)}
.footer-name{font-family:var(--font-display);font-size:24px;color:var(--cream);letter-spacing:.04em}
.footer-tag{font-size:13px;font-weight:300;font-style:italic;font-family:var(--font-display);margin-top:6px;color:var(--gold-soft)}
.footer-links{display:flex;gap:28px;justify-content:center;margin:28px 0;flex-wrap:wrap}
.footer-links a{font-size:12px;letter-spacing:.22em;text-transform:uppercase;transition:color .3s}
.footer-links a:hover{color:var(--gold-soft)}
.footer-copy{font-size:12px;opacity:.55;font-weight:300}

/* ═══════════════ WHATSAPP FLOAT ═══════════════ */
.wa-float{
  position:fixed;right:22px;bottom:22px;z-index:40;
  width:56px;height:56px;border-radius:50%;
  background:#25d366;color:#fff;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 12px 28px -8px rgba(37,211,102,.55);
  opacity:0;transform:scale(0);transition:transform .5s var(--ease-out), opacity .5s;
}
body.loaded .wa-float{opacity:1;transform:scale(1);transition-delay:1.6s}
.wa-float::before{
  content:"";position:absolute;inset:0;border-radius:50%;
  border:2px solid #25d366;animation:wa-ring 2.2s ease-out infinite;
}
.wa-float:hover{transform:scale(1.1)!important}
@keyframes wa-ring{
  0%{transform:scale(1);opacity:.8}
  100%{transform:scale(1.65);opacity:0}
}

/* ═══════════════ HERO VIDEO ═══════════════ */
.hero-side video{
  width:100%;height:100%;object-fit:cover;aspect-ratio:3/4.2;display:block;
}
.hero-live{
  position:absolute;left:50%;bottom:14px;transform:translateX(-50%);
  background:rgba(43,24,16,.72);color:var(--gold-soft);
  font-size:10px;letter-spacing:.22em;text-transform:uppercase;
  padding:6px 14px;border-radius:99px;white-space:nowrap;backdrop-filter:blur(4px);
}

/* ═══════════════ SIGNATURE : PHOTO TO HENNA ═══════════════ */
.signature{max-width:none;background:
  radial-gradient(ellipse 70% 90% at 50% 0%, #4a2415, transparent), var(--henna-deep);
}
.signature .section-head h2, .signature .section-head h2 em{color:var(--cream)}
.signature .section-head h2 em{color:var(--gold-soft)}
.signature .section-note{color:#d9c4a6}
.sig-row{
  display:flex;gap:clamp(14px,2vw,24px);
  max-width:1280px;margin:0 auto;
  overflow-x:auto;padding:10px 4px 26px;
  scroll-snap-type:x mandatory;
  scrollbar-width:thin;scrollbar-color:var(--gold) transparent;
}
.sig-card{
  flex:0 0 clamp(220px,24vw,300px);scroll-snap-align:center;
  border-radius:18px;overflow:hidden;position:relative;
  border:1px solid rgba(217,179,106,.3);
  transition:transform .6s var(--ease-out), box-shadow .6s;
}
.sig-card:hover{transform:translateY(-8px) rotate(-1deg);box-shadow:0 26px 48px -22px rgba(0,0,0,.6)}
.sig-card img{width:100%;aspect-ratio:3/4;object-fit:cover;display:block;transition:transform .9s var(--ease-out)}
.sig-card:hover img{transform:scale(1.06)}
.sig-card figcaption{
  position:absolute;left:0;right:0;bottom:0;padding:30px 16px 14px;
  background:linear-gradient(transparent, rgba(29,15,8,.9));
  color:var(--cream);font-family:var(--font-display);font-style:italic;
  font-size:16px;text-align:center;
}
.sig-cta{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin-top:26px}
.signature .btn-ghost{border-color:var(--gold-soft);color:var(--gold-soft)}
.signature .btn-ghost:hover{background:var(--gold-soft);color:var(--henna-deep)}

/* ═══════════════ SUBPAGE HERO ═══════════════ */
.page-hero{
  padding:150px 24px 70px;text-align:center;position:relative;overflow:hidden;
  background:radial-gradient(ellipse 80% 80% at 50% -20%, var(--cream-2), transparent), var(--cream);
}
.page-hero .kicker{margin-bottom:12px}
.page-hero h1{
  font-family:var(--font-display);font-weight:500;
  font-size:clamp(36px,6vw,64px);line-height:1.05;color:var(--ink);
}
.page-hero h1 em{font-style:italic;color:var(--henna)}
.page-hero p{max-width:560px;margin:18px auto 0;font-weight:300;color:var(--ink-soft)}

/* ═══════════════ FULL GALLERY ═══════════════ */
.g-filters{
  display:flex;gap:10px;justify-content:center;flex-wrap:wrap;
  margin:0 auto clamp(30px,4vw,50px);max-width:900px;
}
.g-filter{
  font-family:var(--font-body);font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;
  background:none;border:1.5px solid var(--cream-3);color:var(--ink-soft);
  padding:10px 20px;border-radius:99px;cursor:pointer;
  transition:all .35s;
}
.g-filter:hover{border-color:var(--gold);color:var(--henna)}
.g-filter.active{background:var(--henna);border-color:var(--henna);color:var(--cream)}
.gx-grid{
  columns:3;column-gap:clamp(14px,2vw,22px);
  max-width:1280px;margin:0 auto;
}
.gx-item{
  break-inside:avoid;margin-bottom:clamp(14px,2vw,22px);
  border-radius:16px;overflow:hidden;position:relative;cursor:zoom-in;
  border:1px solid var(--cream-3);
}
.gx-item.hidden{display:none}
.gx-item img,.gx-item video{width:100%;display:block;transition:transform .8s var(--ease-out)}
.gx-item:hover img{transform:scale(1.05)}
.gx-item::after{
  content:attr(data-label);
  position:absolute;left:0;right:0;bottom:0;padding:34px 14px 12px;
  background:linear-gradient(transparent, rgba(43,24,16,.82));
  color:var(--cream);font-size:12px;letter-spacing:.14em;text-transform:uppercase;
  opacity:0;transform:translateY(8px);transition:all .45s var(--ease-out);
  pointer-events:none;
}
.gx-item:hover::after{opacity:1;transform:translateY(0)}
.gx-item .play-badge{
  position:absolute;top:12px;right:12px;z-index:2;
  background:rgba(43,24,16,.72);color:var(--gold-soft);
  font-size:10px;letter-spacing:.2em;text-transform:uppercase;
  padding:6px 12px;border-radius:99px;pointer-events:none;
}

/* lightbox */
.lightbox{
  position:fixed;inset:0;z-index:90;background:rgba(29,15,8,.92);
  display:flex;align-items:center;justify-content:center;
  opacity:0;visibility:hidden;transition:opacity .4s, visibility .4s;
  padding:30px;
}
.lightbox.open{opacity:1;visibility:visible}
.lb-content{max-width:min(92vw,560px);text-align:center;transform:scale(.94);transition:transform .4s var(--ease-out)}
.lightbox.open .lb-content{transform:scale(1)}
.lb-content img,.lb-content video{
  max-width:100%;max-height:80vh;border-radius:14px;
  box-shadow:0 40px 90px -30px rgba(0,0,0,.8);
}
.lb-content p{
  color:var(--gold-soft);margin-top:14px;
  font-family:var(--font-display);font-style:italic;font-size:18px;
}
.lb-close{
  position:absolute;top:20px;right:26px;
  background:none;border:none;color:var(--cream);font-size:34px;line-height:1;
  cursor:pointer;transition:transform .3s, color .3s;
}
.lb-close:hover{transform:rotate(90deg);color:var(--gold-soft)}

/* student-work note */
.student-strip{
  max-width:1280px;margin:clamp(40px,6vw,70px) auto 0;
  background:var(--white);border:1.5px solid var(--cream-3);border-radius:24px;
  padding:clamp(24px,3vw,40px);
}
.student-strip h3{font-family:var(--font-display);font-size:26px;font-weight:600;margin-bottom:6px}
.student-strip > p{font-weight:300;color:var(--ink-soft);margin-bottom:22px}
.student-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(12px,1.6vw,20px)}
.student-grid figure{border-radius:14px;overflow:hidden;position:relative}
.student-grid img{width:100%;aspect-ratio:4/3.4;object-fit:cover;display:block;transition:transform .8s var(--ease-out)}
.student-grid figure:hover img{transform:scale(1.05)}
.student-grid figcaption{
  position:absolute;left:0;right:0;bottom:0;padding:26px 14px 10px;
  background:linear-gradient(transparent, rgba(43,24,16,.8));
  color:var(--cream);font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;
}

/* ═══════════════ RESPONSIVE ═══════════════ */
@media (max-width:1020px){
  .cards{grid-template-columns:1fr 1fr}
  .contact-grid{grid-template-columns:1fr 1fr}
  .training-inner{grid-template-columns:1fr}
  .training-visual{width:100%;max-width:440px;margin:0 auto}
}
@media (max-width:1060px){
  .nav-toggle{display:block}
  .nav-links{
    position:fixed;inset:0;background:var(--cream);
    flex-direction:column;justify-content:center;gap:30px;
    z-index:55;overflow-y:auto;
    clip-path:circle(0 at calc(100% - 44px) 34px);
    transition:clip-path .7s var(--ease-out);
  }
  .nav-links.open{clip-path:circle(150% at calc(100% - 44px) 34px)}
  .nav-links a{font-size:17px}
}
@media (max-width:820px){
  .about-grid{grid-template-columns:1fr}
  .about-art{width:100%;max-width:380px;margin:0 auto}
  .owner-inner{grid-template-columns:1fr}
  .owner-photo{width:100%;max-width:380px;margin:0 auto}
  .admission-grid{grid-template-columns:1fr}
  .adm-info{position:static}
  .gallery-grid{grid-template-columns:1fr 1fr}
  .g-tile:nth-child(2),.g-tile:nth-child(5){translate:0 0}
  .stat-divider{display:none}
  .gx-grid{columns:2}
}
@media (max-width:560px){
  .cards{grid-template-columns:1fr}
  .contact-grid{grid-template-columns:1fr}
  .gallery-grid{grid-template-columns:1fr}
  .gx-grid{columns:1}
  .student-grid{grid-template-columns:1fr}
  .adm-row{grid-template-columns:1fr}
  .hero-title{font-size:clamp(40px,12vw,60px)}
  .loader-skip{bottom:16px;right:16px}
}

/* ═══════════════ REDUCED MOTION ═══════════════ */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  html{scroll-behavior:auto}
  .reveal,.anim-hero{opacity:1!important;transform:none!important;filter:none!important}
  .hand-svg .mh{stroke-dashoffset:0}
  .hand-svg .dot{opacity:1}
}
