/* ===== About: Graha Sabha ===== */
.gs{background:linear-gradient(rgba(250,244,230,.9),rgba(250,244,230,.94)),url(../images/intro/astrology-bg.webp) center/cover}
.gs-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(2rem,5vw,4.5rem);align-items:center;margin-top:2.4rem}
.gs-copy .lead{margin:0 0 1.6rem;text-align:left}
.gs-lab{display:block;font:600 .72rem var(--disp);letter-spacing:.22em;text-transform:uppercase;color:var(--gold3);margin-bottom:.8rem}
.gs-chips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem}
.gs-chip{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;text-align:left;padding:.85rem 1rem;border-radius:18px 18px 18px 4px;cursor:pointer;background:rgba(255,250,240,.85);border:1px solid var(--line);color:var(--m7);font:600 .92rem var(--sans);transition:transform .4s var(--ease),background .4s,color .4s,box-shadow .4s}
.gs-chip i{display:grid;place-items:center;width:34px;height:34px;border-radius:50% 50% 50% 6px;background:linear-gradient(140deg,var(--gold2),var(--gold3));color:var(--m8);font-size:.85rem}
.gs-chip:hover{transform:translateY(-3px)}
.gs-chip.on{background:linear-gradient(135deg,var(--m7),var(--m6));color:#fff;box-shadow:0 14px 28px -12px rgba(74,17,25,.6)}
.gs-cap{margin-top:1.2rem;padding:1rem 1.2rem;border-left:3px solid var(--gold);background:rgba(255,250,240,.8);border-radius:0 16px 16px 0;min-height:7.2rem}
.gs-cap b{font:700 1.25rem var(--serif);color:var(--m7);display:block}
.gs-cap p{margin:.2rem 0 .5rem;font-size:.95rem;color:var(--ink);line-height:1.55}
.gs-cap a{font-weight:600;color:var(--saffron)}
.gs-dial{position:relative;width:min(100%,440px);aspect-ratio:1;margin-inline:auto}
.gs-ring{position:absolute;border-radius:50%;border:1px dashed var(--gold3);animation:spin 80s linear infinite;opacity:.6}
.gs-ring.r1{inset:7%}.gs-ring.r2{inset:22%;border-style:solid;border-color:rgba(138,34,54,.25);animation-direction:reverse}
.gs-core{position:absolute;inset:34%;border-radius:50%;display:grid;place-items:center;font-size:clamp(2.2rem,6vw,3.4rem);color:var(--gold2);background:radial-gradient(circle,var(--m6),var(--m9));box-shadow:0 0 0 2px var(--gold),0 20px 40px -14px rgba(74,17,25,.7)}
.gs-core i{animation:breathe 5s ease-in-out infinite;filter:drop-shadow(0 0 12px rgba(224,179,79,.7))}
.gs-svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.gs-svg line{stroke:var(--gold);stroke-width:1.5;stroke-dasharray:4 4;opacity:0;transition:opacity .5s}
.gs-svg line.on{opacity:.9}
.gs-n{position:absolute;width:15%;aspect-ratio:1;translate:-50% -50%;border-radius:50%;display:grid;place-items:center;font:700 .72rem var(--disp);color:var(--m8);background:radial-gradient(circle at 35% 30%,#fff1c9,var(--gold) 70%);box-shadow:0 8px 16px -6px rgba(74,17,25,.5);border:0;cursor:default;transition:transform .5s var(--ease),box-shadow .5s,filter .5s;filter:saturate(.6) brightness(.95)}
.gs-n.on{transform:scale(1.28);filter:none;box-shadow:0 0 0 4px rgba(224,179,79,.35),0 0 26px 6px rgba(224,179,79,.7);z-index:2}
@media (max-width:900px){.gs-grid{grid-template-columns:1fr}.gs-chips{grid-template-columns:repeat(2,1fr)}.gs-dial{width:min(88%,380px)}}

/* ===== Pooja: Diya Rail ===== */
.pj-grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);grid-template-areas:"tabs tabs" "stage panels";align-items:center;row-gap:2.6rem}
.pj-side{display:contents}
.pj-tabs{grid-area:tabs;position:relative;grid-template-columns:repeat(6,minmax(0,1fr));gap:.5rem;align-items:start}
.pj-tabs::before{content:"";position:absolute;left:4%;right:4%;top:38px;height:2px;background:linear-gradient(90deg,transparent,var(--gold3),var(--gold),var(--gold3),transparent);opacity:.7}
.pj-stage{grid-area:stage}.pj-panels{grid-area:panels}
.pj-tab{flex-direction:column;text-align:center;gap:.5rem;padding:.2rem .3rem .8rem;background:none;border:0;border-radius:18px;box-shadow:none}
.pj-tab:hover{transform:translateY(-3px);border:0}
.pj-ic{position:relative;width:76px;height:76px;background:none;border-radius:0;font-size:0}
.pj-ic i{display:none}
.pj-ic::before{content:"";position:absolute;left:50%;bottom:12px;width:58px;height:26px;translate:-50% 0;border-radius:6px 6px 58px 58px;background:linear-gradient(180deg,var(--gold2),var(--gold3) 60%,#7a5413);box-shadow:0 8px 14px -6px rgba(74,17,25,.55)}
.pj-ic::after{content:"";position:absolute;left:50%;bottom:36px;width:15px;height:30px;translate:-50% 0;border-radius:50% 50% 50% 50%/65% 65% 35% 35%;background:radial-gradient(ellipse at 50% 75%,#fff6d8,#ffc94d 45%,#ff8a1f 80%);transform-origin:50% 100%;opacity:.18;transform:scale(.55);transition:opacity .5s,transform .5s}
.pj-tab.on .pj-ic{transform:none;background:none}
.pj-tab.on .pj-ic::after{opacity:1;transform:scale(1);animation:flick 1.6s ease-in-out infinite;box-shadow:0 0 28px 12px rgba(255,190,70,.55)}
@keyframes flick{0%,100%{transform:scale(1) rotate(-2deg)}35%{transform:scale(1.08,.94) rotate(2deg)}70%{transform:scale(.95,1.08) rotate(-1deg)}}
.pj-tab.on{background:linear-gradient(180deg,rgba(74,17,25,.96),rgba(107,26,39,.96));border-radius:20px;box-shadow:0 16px 30px -14px rgba(74,17,25,.7);color:#fff}
.pj-tt b{font-size:1rem}.pj-tt small{font-size:.7rem}
/* vidhi: numbered path */
.pj-inc{counter-reset:v;position:relative;gap:.9rem;padding-left:0}
.pj-inc::before{content:"";position:absolute;left:15px;top:14px;bottom:14px;width:2px;background:repeating-linear-gradient(var(--gold3) 0 5px,transparent 5px 10px);opacity:.6}
.pj-inc li{counter-increment:v;align-items:center;gap:.9rem}
.pj-inc li i{display:none}
.pj-inc li::before{content:counter(v);flex:none;z-index:1;display:grid;place-items:center;width:32px;height:32px;border-radius:50% 50% 50% 6px;background:linear-gradient(140deg,var(--m7),var(--m6));color:var(--gold2);font:700 .9rem var(--disp);box-shadow:0 0 0 3px #fffaf0}
.pj-panels{border-radius:30px 30px 30px 6px}
@media (max-width:991px){.pj-grid{grid-template-columns:1fr;grid-template-areas:"tabs" "stage" "panels"}}
@media (max-width:640px){.pj-tabs{display:flex}.pj-tabs::before{display:none}.pj-tab{flex:0 0 42%}}
@media (prefers-reduced-motion:reduce){.pj-tab.on .pj-ic::after,.gs-ring{animation:none!important}}

/* autoplay stays; progress bars/rings hidden site-wide */
.dc-list .bar,.vt-bar,.vp-ring{display:none!important}

/* ===== Pooja v3 (light): lit thread, soft reveals, no particles ===== */
.pj-sp,.pj-orbit::before,.pj-ember,.pj-run{display:none!important}
.pj-tabs{--i:0;--w:calc(100% - 16.666%);padding-top:6px}
.pj-tabs::before{left:8.333%;right:8.333%;top:58px;height:2px;background:rgba(184,134,43,.3)}
.pj-tabs::after{content:"";position:absolute;left:8.333%;top:58px;height:2px;width:calc(var(--w) * var(--i) / 5);background:linear-gradient(90deg,var(--saffron),var(--gold));transition:width 1s var(--ease);pointer-events:none}
.pj-tab{position:relative;z-index:1}
.pj-img{transition:opacity 1.1s var(--ease),transform 1.6s var(--ease),filter 1.1s var(--ease);filter:blur(6px)}
.pj-img.on{filter:none}
.pj-panel.on{animation:none}
.pj-panel.on>*{animation:pjrise .8s var(--ease) both}
.pj-panel.on>:nth-child(2){animation-delay:.07s}.pj-panel.on>:nth-child(3){animation-delay:.14s}.pj-panel.on>:nth-child(4){animation-delay:.21s}.pj-panel.on>:nth-child(5){animation-delay:.3s}.pj-panel.on>:nth-child(6){animation-delay:.4s}.pj-panel.on>:nth-child(7){animation-delay:.5s}
.pj-panel.on .pj-inc li{animation:pjrise .7s var(--ease) both}
.pj-panel.on .pj-inc li:nth-child(1){animation-delay:.3s}.pj-panel.on .pj-inc li:nth-child(2){animation-delay:.42s}.pj-panel.on .pj-inc li:nth-child(3){animation-delay:.54s}.pj-panel.on .pj-inc li:nth-child(4){animation-delay:.66s}
@keyframes pjrise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@media (max-width:640px){.pj-tabs::before,.pj-tabs::after{display:none}.pj-tab{flex:0 0 46%}}
@media (prefers-reduced-motion:reduce){.pj-panel.on>*,.pj-panel.on li{animation:none!important}}

/* ===== About: rotating Graha Chakra with ornamental borders ===== */
.gs-dial{width:min(100%,430px)}
.gs-orbit{position:absolute;inset:0;animation:gsspin 100s linear infinite}
.gs-n{animation:gsrev 100s linear infinite}
@keyframes gsspin{to{transform:rotate(360deg)}}
@keyframes gsrev{to{rotate:-360deg}}
.gs-dial:hover .gs-orbit,.gs-dial:hover .gs-n{animation-play-state:paused}
.gs-tick,.gs-tick2,.gs-frame{position:absolute;border-radius:50%;pointer-events:none}
.gs-frame{inset:-5%;border:1px solid rgba(184,134,43,.55);box-shadow:inset 0 0 0 6px rgba(255,250,240,.6),inset 0 0 0 7px rgba(184,134,43,.35)}
.gs-tick{inset:-5%;animation:spin 140s linear infinite reverse;opacity:.7;
 background:repeating-conic-gradient(var(--gold3) 0 .7deg,transparent .7deg 7.5deg);
 -webkit-mask:radial-gradient(circle,transparent calc(50% - 22px),#000 calc(50% - 21px),#000 calc(50% - 12px),transparent calc(50% - 11px));
 mask:radial-gradient(circle,transparent calc(50% - 22px),#000 calc(50% - 21px),#000 calc(50% - 12px),transparent calc(50% - 11px))}
.gs-tick2{inset:19%;border:2px double var(--gold3);opacity:.5}
.gs-core{box-shadow:0 0 0 2px var(--gold),0 0 0 9px rgba(255,250,240,.9),0 0 0 10px var(--gold3),0 20px 40px -14px rgba(74,17,25,.7)}
.gs-copy{position:relative;padding:1.6rem 1.6rem 1.4rem;border:1px solid var(--line);border-radius:28px 28px 28px 6px;background:rgba(255,250,240,.55)}
.gs-copy::before,.gs-copy::after{content:"";position:absolute;width:26px;height:26px;border:2px solid var(--gold3);pointer-events:none}
.gs-copy::before{top:-1px;left:-1px;border-right:0;border-bottom:0;border-radius:28px 0 0 0}
.gs-copy::after{right:-1px;bottom:-1px;border-left:0;border-top:0;border-radius:0 0 28px 0}
@media (prefers-reduced-motion:reduce){.gs-orbit,.gs-n,.gs-tick{animation:none!important}}

/* ===== About v3: "Ripple Mandala" — dotted waves, clean orbit ===== */
.gs-frame,.gs-tick,.gs-tick2,.gs-ring{display:none!important}
.gs-copy{padding:0;border:0;background:none;border-radius:0}
.gs-copy::before,.gs-copy::after{display:none}
.gs-dial{width:min(100%,440px)}
.gs-wave{position:absolute;inset:34%;border-radius:50%;border:2px dotted var(--gold3);opacity:0;pointer-events:none;will-change:transform,opacity;animation:gswave 7.5s cubic-bezier(.2,.6,.3,1) infinite}
.gs-wave:nth-of-type(2){animation-delay:2.5s}.gs-wave:nth-of-type(3){animation-delay:5s}
@keyframes gswave{0%{transform:scale(1);opacity:.85}70%{opacity:.25}100%{transform:scale(2.95);opacity:0}}
.gs-orbit{animation-duration:140s}.gs-n{animation-duration:140s}
.gs-orbit::before{content:"";position:absolute;inset:9%;border-radius:50%;border:2px dotted rgba(184,134,43,.75)}
.gs-core{inset:35%;box-shadow:0 0 0 2px var(--gold),0 0 40px 6px rgba(224,179,79,.35),0 18px 36px -14px rgba(74,17,25,.7)}
.gs-n{width:14%;background:#fffaf0;color:var(--m7);border:1.5px solid var(--gold3);box-shadow:0 6px 14px -8px rgba(74,17,25,.5);filter:none;transition:transform .6s var(--ease),background .6s,color .6s,box-shadow .6s}
.gs-n.on{transform:scale(1.25);background:radial-gradient(circle at 35% 30%,#fff1c9,var(--gold) 75%);color:var(--m8);box-shadow:0 0 0 0 rgba(224,179,79,.6);animation:gsrev 140s linear infinite,gsping 2.4s ease-out infinite}
@keyframes gsping{to{box-shadow:0 0 0 16px rgba(224,179,79,0)}}
.gs-svg line{stroke-width:1.2;stroke-dasharray:1 5;stroke-linecap:round;transition:opacity .8s}
.gs-chip{transition:transform .5s var(--ease),background .5s,color .5s,box-shadow .5s}
.gs-cap{border-left:0;border-radius:18px;border:1px dotted var(--gold3);background:rgba(255,250,240,.6)}
@media (prefers-reduced-motion:reduce){.gs-wave,.gs-n.on{animation:none!important}.gs-wave{opacity:.3}}

/* ===== About v4: comet rings (4 borders), no active lines ===== */
.gs-svg{display:none!important}
.gs-rings{position:absolute;inset:-6%;width:112%;height:112%;pointer-events:none;overflow:visible}
.gs-rings circle{fill:none;vector-effect:non-scaling-stroke}
.gs-rings .b{stroke:rgba(184,134,43,.45);stroke-width:1.5}
.gs-rings .b.d{stroke-dasharray:1 7;stroke-linecap:round;stroke-width:2}
.gs-rings .b.s{stroke-dasharray:6 6}
.gs-rings .c{stroke:var(--gold);stroke-width:3;stroke-linecap:round;stroke-dasharray:9 91;filter:drop-shadow(0 0 4px rgba(224,179,79,.9));animation:gscomet var(--t) linear infinite;animation-direction:var(--dir,normal)}
.gs-rings .c.long{stroke-dasharray:22 78;stroke-width:2}
@keyframes gscomet{to{stroke-dashoffset:-100}}
@media (prefers-reduced-motion:reduce){.gs-rings .c{animation:none}}
