:root{
  --bg:#070506; --bg2:#0b090c; --panel:#100c11;
  --gold:#c9a24b; --gold-2:#e7cd82; --gold-soft:#8a7238;
  --ink:#e9e2d4; --muted:#9c9384; --maroon:#320c14; --line:rgba(201,162,75,.20);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);font-family:'EB Garamond',Georgia,serif;line-height:1.8;-webkit-font-smoothing:antialiased;overflow-x:hidden}
h1,h2,h3,h4,.disp{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;letter-spacing:.01em}
.dev{font-family:'Tiro Devanagari Sanskrit',serif}
a{color:inherit;text-decoration:none}
.wrap{max-width:1120px;margin:0 auto;padding:0 26px}
.narrow{max-width:800px;margin-left:auto;margin-right:auto}
.gold{color:var(--gold-2)}
.kicker{letter-spacing:.44em;text-transform:uppercase;font-size:.7rem;color:var(--gold);opacity:.9}
.btn{display:inline-block;padding:15px 34px;border:1px solid var(--gold);color:var(--gold-2);letter-spacing:.24em;text-transform:uppercase;font-size:.72rem;background:transparent;transition:.35s;cursor:pointer}
.btn:hover{background:linear-gradient(180deg,var(--gold-2),var(--gold));color:#140d05;box-shadow:0 8px 44px rgba(201,162,75,.22)}
.btn-solid{background:linear-gradient(180deg,var(--gold-2),var(--gold));color:#140d05;border:1px solid var(--gold);animation:breathe 4.5s ease-in-out infinite}
.btn-solid:hover{filter:brightness(1.08)}
@keyframes breathe{0%,100%{box-shadow:0 0 24px rgba(201,162,75,.18)}50%{box-shadow:0 0 46px rgba(201,162,75,.38)}}
.center{text-align:center}
.rule{width:54px;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);margin:22px auto}
.s{padding:100px 0;border-top:1px solid var(--line)}
.s h2{font-size:clamp(2rem,4.4vw,3.15rem);color:#f1e8d7;line-height:1.1}
.lead{color:var(--muted);font-size:1.16rem;max-width:760px}
p.body{color:#d4cbba;font-size:1.09rem;max-width:790px;margin-top:18px}
.reveal{opacity:0;transform:translateY(24px);transition:opacity 1s ease,transform 1s ease}
.reveal.in{opacity:1;transform:none}

/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:60;display:flex;align-items:center;justify-content:space-between;
    padding:15px 26px;background:rgba(7,5,6,.62);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.brand{font-family:'Cormorant Garamond',serif;font-size:1.1rem;letter-spacing:.32em;color:var(--gold-2);text-transform:uppercase}
.brand small{display:block;letter-spacing:.32em;font-size:.48rem;color:var(--muted);margin-top:2px}
.nav-links{display:flex;gap:22px;align-items:center}
.nav-links a{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);transition:.3s}
.nav-links a:hover,.nav-links a.active{color:var(--gold-2)}
.nav-cta{border:1px solid var(--gold);color:var(--gold-2);padding:9px 18px;font-size:.64rem}
@media(max-width:1000px){.nav-links a:not(.nav-cta){display:none}}

/* PAGE HERO */
.phero{min-height:62vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
       padding:150px 22px 80px;background:radial-gradient(1000px 520px at 50% -12%,rgba(50,12,20,.55),transparent 62%),var(--bg)}
.phero .kicker{margin-bottom:18px}
.phero h1{font-size:clamp(2.4rem,6vw,4.4rem);line-height:1.05;color:#f4ecda}
.phero p{max-width:640px;margin:22px auto 0;color:var(--muted);font-size:1.12rem}

/* HOME HERO */
.hero{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
      padding:120px 22px 70px;background:radial-gradient(1200px 640px at 50% -12%,rgba(50,12,20,.55),transparent 62%),
      radial-gradient(900px 520px at 50% 120%,rgba(201,162,75,.09),transparent 60%),var(--bg)}
.hero .yantra{width:150px;height:150px;margin-bottom:28px;animation:spin 120s linear infinite,glowp 5s ease-in-out infinite}
.hero .deities{font-size:.78rem;letter-spacing:.52em;color:var(--gold);text-transform:uppercase;margin-bottom:22px}
.hero h1{font-size:clamp(2.4rem,7vw,5rem);line-height:1.05;
  background:linear-gradient(100deg,#f4ecda 18%,#ffe9ad 40%,#c9a24b 50%,#f4ecda 64%);background-size:220% auto;
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:shine 8s linear infinite}
.hero h1 em{font-style:italic}
.hero .sanskrit{margin-top:16px;color:var(--gold);opacity:.78;font-size:1.15rem}
.hero .sub{max-width:640px;margin:24px auto 0;color:var(--muted);font-size:1.12rem}
.hero-cta{margin-top:40px;display:flex;gap:16px;flex-wrap:wrap;justify-content:center}
.scarce{margin-top:28px;font-size:.7rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold-soft)}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes shine{to{background-position:220% center}}
@keyframes glowp{0%,100%{filter:drop-shadow(0 0 16px rgba(201,162,75,.35))}50%{filter:drop-shadow(0 0 36px rgba(201,162,75,.72))}}

/* STRIP */
.strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--bg2)}
.strip .wrap{display:flex;flex-wrap:wrap;justify-content:center;gap:14px 42px;padding:22px 26px;text-align:center}
.strip span{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.strip b{color:var(--gold-2);font-weight:500}

/* GRIDS */
.pillars,.sci,.seek,.cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:50px}
.pillar,.sci .box,.seek .c{border:1px solid var(--line);padding:32px 26px;background:rgba(201,162,75,.03);transition:.35s}
.seek .c:hover,.pillar:hover{border-color:var(--gold)}
.pillar .g,.seek .i{font-size:2rem;color:var(--gold-2)}
.pillar h3,.sci h3,.seek h4{font-size:1.5rem;color:#efe6d3;margin:8px 0 10px}
.pillar p,.sci p,.seek p{color:var(--muted);font-size:1rem}
.sci .num{color:var(--gold);letter-spacing:.28em}
@media(max-width:820px){.pillars,.sci,.seek,.cards3{grid-template-columns:1fr}}

/* OFFER CARDS */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:50px}
.card{border:1px solid var(--line);padding:34px 28px;background:linear-gradient(180deg,rgba(50,12,20,.18),rgba(16,12,17,.4));transition:.4s;display:flex;flex-direction:column}
.card:hover{border-color:var(--gold);transform:translateY(-4px);box-shadow:0 22px 60px rgba(0,0,0,.55)}
.card .tag{font-size:.64rem;letter-spacing:.28em;text-transform:uppercase;color:var(--gold)}
.card h3{font-size:1.7rem;margin:10px 0 6px;color:#f3ebd9}
.card .price{font-family:'Cormorant Garamond',serif;font-size:1.5rem;color:var(--gold-2);margin:4px 0 14px}
.card .price small{color:var(--muted);font-size:.9rem}
.card p{color:var(--muted);font-size:.98rem;margin-bottom:20px;flex:1}
.card .card-cta{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-2);border-bottom:1px solid var(--gold-soft);padding-bottom:3px;align-self:flex-start}
@media(max-width:900px){.cards{grid-template-columns:1fr}}

/* INVITE LIST */
.invite{margin-top:44px;border-top:1px solid var(--line)}
.inv-row{display:grid;grid-template-columns:1.1fr 2fr auto;gap:20px;align-items:center;padding:26px 0;border-bottom:1px solid var(--line)}
.inv-row h4{font-size:1.5rem;color:#efe6d3}
.inv-row .desc{color:var(--muted);font-size:1rem}
.inv-row .poa{color:var(--gold-2);letter-spacing:.14em;font-size:.82rem;text-transform:uppercase;text-align:right}
@media(max-width:760px){.inv-row{grid-template-columns:1fr;gap:6px}.inv-row .poa{text-align:left}}

/* STEPS */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:50px}
.step{border-top:1px solid var(--gold-soft);padding-top:20px}
.step .n{color:var(--gold-2);font-size:2rem;font-family:'Cormorant Garamond',serif}
.step h4{font-size:1.3rem;color:#eee3cf;margin:4px 0 8px}
.step p{color:var(--muted);font-size:.97rem}
@media(max-width:820px){.steps{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.steps{grid-template-columns:1fr}}

/* INTEGRITY */
.integ{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:48px}
.integ div{text-align:center;padding:18px}
.integ .g{font-size:1.8rem;color:var(--gold-2)}
.integ h4{font-size:1.12rem;color:#eee3cf;margin:6px 0}
.integ p{color:var(--muted);font-size:.9rem}
@media(max-width:820px){.integ{grid-template-columns:1fr 1fr}}

/* QUOTES */
.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:48px}
.q{border:1px solid var(--line);padding:30px 26px;background:rgba(201,162,75,.03)}
.q p{font-style:italic;color:#e6dcc8;font-size:1.04rem}
.q .who{margin-top:16px;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
@media(max-width:820px){.quotes{grid-template-columns:1fr}}

/* ACHARYA */
.acharya{display:grid;grid-template-columns:1fr 1.4fr;gap:50px;align-items:center}
.acharya .seal{aspect-ratio:1;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 40%,rgba(50,12,20,.5),rgba(7,5,6,.9))}
.acharya .seal svg{width:62%;opacity:.9}
@media(max-width:820px){.acharya{grid-template-columns:1fr}}
.lineage{margin-top:26px;padding:22px 24px;border:1px solid var(--line);background:rgba(201,162,75,.03)}
.lineage h3{font-size:1.5rem;color:#efe6d3;margin:8px 0 6px}
.lineage p{color:var(--muted);font-size:1rem}

/* FAQ */
.faq{max-width:840px;margin:44px auto 0}
.fitem{border-bottom:1px solid var(--line)}
.fq{width:100%;text-align:left;background:none;border:none;color:#efe6d3;font-family:'Cormorant Garamond',serif;font-size:1.32rem;padding:22px 40px 22px 0;cursor:pointer;position:relative}
.fq:after{content:"+";position:absolute;right:6px;top:20px;color:var(--gold);font-size:1.5rem}
.fitem.open .fq:after{content:"–"}
.fa{max-height:0;overflow:hidden;transition:max-height .4s ease;color:var(--muted)}
.fa p{padding:0 0 22px;font-size:1.03rem}

/* FORM */
.form{max-width:640px;margin:44px auto 0;border:1px solid var(--line);padding:40px 34px;background:rgba(16,12,17,.5)}
.form label{display:block;font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin:18px 0 7px}
.form input,.form select,.form textarea{width:100%;background:rgba(7,5,6,.7);border:1px solid var(--line);color:var(--ink);padding:13px 14px;font-family:'EB Garamond',serif;font-size:1rem;outline:none;transition:.3s}
.form input:focus,.form select:focus,.form textarea:focus{border-color:var(--gold)}
.form .btn{width:100%;margin-top:26px}
.form .fine{margin-top:16px;font-size:.82rem;color:var(--muted);text-align:center}

/* FOOTER */
footer{border-top:1px solid var(--line);padding:56px 0 40px;text-align:center;background:var(--bg2)}
.foot-links{display:flex;gap:24px;justify-content:center;flex-wrap:wrap;margin:18px 0}
.foot-links a{font-size:.76rem;letter-spacing:.14em;color:var(--muted)}
.foot-links a:hover{color:var(--gold-2)}
.disc{max-width:720px;margin:22px auto 0;font-size:.76rem;color:#6b6458;line-height:1.6}
.om{color:var(--gold);font-size:1.4rem}

/* CINEMATIC LAYER */
#veil{position:fixed;inset:0;z-index:300;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 45%,#0e0a0d,#050304 72%);transition:opacity 1.4s ease,visibility 1.4s}
#veil.gone{opacity:0;visibility:hidden;pointer-events:none}
#veil .vy{width:120px;height:120px;animation:spin 44s linear infinite;filter:drop-shadow(0 0 20px rgba(201,162,75,.6))}
#veil .vom{color:var(--gold-2);font-size:2.1rem;margin-top:22px;letter-spacing:.2em;animation:vpulse 2.6s ease-in-out infinite}
#veil .vt{margin-top:14px;color:var(--muted);letter-spacing:.55em;text-transform:uppercase;font-size:.64rem}
@keyframes vpulse{0%,100%{opacity:.45}50%{opacity:1}}
#embers{position:fixed;inset:0;z-index:0;pointer-events:none}
.mist{position:fixed;inset:0;z-index:0;pointer-events:none;background:radial-gradient(620px 320px at 14% 18%,rgba(50,12,20,.28),transparent 62%),radial-gradient(720px 360px at 86% 72%,rgba(201,162,75,.05),transparent 62%);animation:drift 20s ease-in-out infinite alternate}
@keyframes drift{to{transform:translate3d(0,-22px,0)}}
#cursorGlow{position:fixed;width:560px;height:560px;border-radius:50%;pointer-events:none;z-index:1;opacity:0;transform:translate(-50%,-50%);transition:opacity .5s;mix-blend-mode:screen;background:radial-gradient(circle,rgba(201,162,75,.10),transparent 60%)}
nav,header,.strip,section,footer{position:relative;z-index:2}
nav{z-index:60}
@media(prefers-reduced-motion:reduce){*{animation:none!important}}
