:root{--bg:#0a0a0f;--bg2:#15151e;--gold:#ffd700;--gold2:#b8860b;--orange:#ff8c00;--soft:#d3d4dc;--mute:#9a9ba8}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:#fff;font-family:'Noto Sans Devanagari','Montserrat',system-ui,sans-serif;font-size:17px;line-height:1.75;-webkit-font-smoothing:antialiased;overflow-x:hidden}
h1,h2,h3,.serif{font-family:'Noto Serif Devanagari','Noto Sans Devanagari',serif}
.en{font-family:'Montserrat','Noto Sans Devanagari',sans-serif}
.wrap{width:100%;max-width:1120px;margin:0 auto;padding:0 16px}
.gold-text{background:linear-gradient(90deg,#ffe97a,#ffd700 40%,#ffb300);-webkit-background-clip:text;background-clip:text;color:transparent}
.sec{padding:64px 0}
.sec.alt{background:rgba(21,21,30,.6)}
.glass{position:relative;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:24px;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transition:border-color .3s,transform .3s}
.glass:hover{border-color:rgba(255,215,0,.4)}
.chip{display:inline-block;border:1px solid rgba(255,215,0,.35);color:var(--gold);border-radius:999px;padding:4px 14px;font-size:13px;letter-spacing:.02em}
.cta{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:14px 30px;border-radius:999px;background:linear-gradient(90deg,#ffd700,#ff8c00);color:#1a1200;font-weight:700;font-size:18px;text-decoration:none;box-shadow:0 10px 30px rgba(255,170,0,.28);transition:transform .2s,box-shadow .2s;cursor:pointer;text-align:center}
.cta:hover{transform:translateY(-2px);box-shadow:0 14px 36px rgba(255,170,0,.4)}
.cta:focus-visible,summary:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid #fff;outline-offset:3px}
.datestrip{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;background:rgba(255,215,0,.07);border:1px solid rgba(255,215,0,.25);border-radius:16px;padding:12px 16px;color:#fff;font-size:16px}
.datestrip b{color:var(--gold)}
.num{width:44px;height:44px;flex:none;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;color:#1a1200;background:linear-gradient(135deg,#ffd700,#ff8c00);font-family:'Montserrat',sans-serif}
.hero-img{position:relative;z-index:1;border-radius:28px;border:2px solid rgba(255,215,0,.5);box-shadow:0 0 60px 16px rgba(255,140,0,.38),0 0 120px 36px rgba(255,215,0,.16);width:100%;height:auto;display:block}
.badge-photo{position:absolute;left:14px;bottom:14px;right:14px;background:rgba(10,10,15,.72);backdrop-filter:blur(8px);border:1px solid rgba(255,215,0,.3);border-radius:16px;padding:10px 14px}
details.faq{border:1px solid rgba(255,215,0,.18);border-radius:18px;background:rgba(255,255,255,.03);margin-bottom:12px;overflow:hidden}
details.faq summary{cursor:pointer;list-style:none;padding:16px 20px;font-weight:700;display:flex;justify-content:space-between;gap:12px;align-items:center}
details.faq summary::-webkit-details-marker{display:none}
details.faq summary::after{content:"+";color:var(--gold);font-size:24px;line-height:1}
details.faq[open] summary::after{content:"\2212"}
details.faq .ans{padding:0 20px 18px;color:var(--soft)}
.strip{display:flex;gap:14px;overflow-x:auto;padding:6px 2px 14px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}
.strip img{flex:none;width:min(78vw,340px);border-radius:16px;border:1px solid rgba(255,215,0,.22);scroll-snap-align:start}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}}
#sticky-bar{position:fixed;left:0;right:0;bottom:0;z-index:50;transform:translateY(110%);transition:transform .3s;background:rgba(10,10,15,.94);backdrop-filter:blur(10px);border-top:1px solid rgba(255,215,0,.3);padding:10px 16px calc(10px + env(safe-area-inset-bottom))}
#sticky-bar.show{transform:none}
#sticky-bar .cta{min-height:46px;padding:10px 20px;font-size:16px}
@media (min-width:768px){#sticky-bar{display:none}}
.stars{background-image:radial-gradient(1px 1px at 20% 30%,#fff8,transparent),radial-gradient(1px 1px at 70% 20%,#fff6,transparent),radial-gradient(1.5px 1.5px at 40% 70%,#ffd70088,transparent),radial-gradient(1px 1px at 85% 60%,#fff6,transparent),radial-gradient(1px 1px at 10% 80%,#fff5,transparent);background-size:340px 340px}
.hero-bg{background:radial-gradient(800px 500px at 85% 20%,rgba(120,80,255,.22),transparent 60%),radial-gradient(700px 400px at 10% 90%,rgba(255,215,0,.08),transparent 60%)}
.prose h2{font-size:22px;margin:32px 0 8px;color:var(--gold)}
.prose p,.prose li{color:var(--soft)}
.prose ul{padding-left:20px}
a.link{color:var(--gold);text-decoration:underline;text-underline-offset:3px}

/* ---- floating astro background ---- */
.astro-bg{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.astro-bg .orb{position:absolute;border-radius:50%}
.orb-a{top:-10%;left:-18%;width:min(1000px,150vw);height:min(1000px,150vw);color:rgba(99,102,241,.09);animation:spin 120s linear infinite}
.orb-b{top:50%;left:50%;width:min(1200px,170vw);height:min(1200px,170vw);margin:calc(min(1200px,170vw)/-2) 0 0 calc(min(1200px,170vw)/-2);border:1px solid rgba(255,255,255,.03);animation:spin 120s linear infinite}
.orb-c{top:50%;left:50%;width:min(900px,130vw);height:min(900px,130vw);margin:calc(min(900px,130vw)/-2) 0 0 calc(min(900px,130vw)/-2);border:1px solid rgba(255,215,0,.05);animation:spin 150s linear infinite reverse}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes floaty{0%,100%{transform:translate(0,0)}50%{transform:translate(10px,-20px)}}
@keyframes glowpulse{0%,100%{opacity:.6}50%{opacity:1}}
@keyframes softpulse{0%,100%{opacity:.35;filter:brightness(1)}50%{opacity:.8;filter:brightness(1.5)}}
main,footer{position:relative;z-index:10}
.hero-sec{position:relative;overflow:hidden}
.hero-sec>.wrap{position:relative;z-index:2}
.floaters{position:absolute;inset:0;pointer-events:none;z-index:1}
.fl{position:absolute;font-family:'Noto Serif Devanagari','Noto Sans Symbols 2','Segoe UI Symbol',serif;line-height:1}
.fl.kundli.float{opacity:.4}
@media (max-width:768px){.kundli{width:60px;height:60px;opacity:.14}}
.fl.float{opacity:.45;animation:floaty 15s ease-in-out infinite}
.fl.pulse{animation:softpulse 4s ease-in-out infinite}
@media (max-width:768px){.fl{font-size:30px!important;opacity:.22!important;animation:none!important}}
/* ---- soft glow behind sections and photos ---- */
.sec{position:relative;overflow:hidden}
.sec::before{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:80%;height:80%;background:radial-gradient(circle,rgba(255,140,0,.09) 0%,transparent 70%);pointer-events:none;z-index:0}
.sec>.wrap{position:relative;z-index:1}
.photo-glow{position:relative}
.photo-glow::before{content:'';position:absolute;inset:6% 0;border-radius:50%;background:rgba(234,88,12,.5);filter:blur(90px);transform:scale(1.25);animation:glowpulse 4s ease-in-out infinite;z-index:0}
.photo-glow>.badge-photo{z-index:2}
/* ---- coloured halos behind glass cards ---- */
.glass.reveal::after,.glass.halo::after{content:'';position:absolute;inset:-3px;border-radius:26px;background:linear-gradient(180deg,var(--h,#6366f1),transparent);opacity:.2;filter:blur(10px);z-index:-1;transition:opacity .3s}
.glass.reveal:hover::after{opacity:.4}
.glass.reveal:nth-child(3n+1){--h:#6366f1}.glass.reveal:nth-child(3n+2){--h:#a855f7}.glass.reveal:nth-child(3n){--h:#f59e0b}
.glass{isolation:isolate}
/* ---- footer ---- */
.foot{background:#000;border-top:1px solid rgba(255,255,255,.1)}
.foot-social{padding:56px 0;border-bottom:1px solid rgba(255,255,255,.1)}
.foot-disc{padding:28px 0;background:#050505;border-bottom:1px solid rgba(255,255,255,.05)}
.foot-copy{padding:32px 0 40px}
.soc{display:flex;flex-direction:column;align-items:center;text-decoration:none;transition:transform .25s}
.soc:hover{transform:scale(1.1)}
.soc-ic{width:64px;height:64px;border-radius:18px;display:flex;align-items:center;justify-content:center}
.soc-t{margin-top:8px;font-size:12px;font-weight:700;color:var(--mute)}
.fl-a{color:#8a8b97;text-decoration:none;margin:0 14px;display:inline-block;transition:color .2s}
.fl-a:hover{color:#fff}
@media (prefers-reduced-motion:reduce){.astro-bg .orb,.fl,.photo-glow::before{animation:none!important}}
@media (max-width:639px){header .cta{display:none}}

.kn{opacity:0;transition:opacity 1.2s ease;font-family:'Montserrat',sans-serif;font-weight:700}
.kn.on{opacity:.95}
.ph{border-style:dashed;border-color:rgba(255,215,0,.35)}
.ph-tag{position:absolute;top:10px;right:14px;font-size:10px;letter-spacing:.12em;color:var(--gold);opacity:.8}
.ph-box{height:150px;border-radius:16px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.04);color:var(--mute)}

.quote{margin-left:auto;margin-right:auto}
@media (min-width:768px){.quote{border-left:3px solid var(--gold);padding-left:16px;margin-left:0}}
@media (max-width:767px){.datestrip .sep{display:none}.datestrip{justify-content:center;text-align:center}}
@media (max-width:767px){
  .glass{text-align:center}
  .glass.flex{flex-direction:column;align-items:center}
  .badge-photo{text-align:center}
}
