/* Bharat Tirth Dosh Checker */
@font-face{font-family:"Poppins";src:url(../fonts/poppins-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Poppins";src:url(../fonts/poppins-latin-500-normal.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Poppins";src:url(../fonts/poppins-latin-600-normal.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Poppins";src:url(../fonts/poppins-latin-700-normal.woff2) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"Noto Sans Devanagari";src:url(../fonts/noto-sans-devanagari-devanagari-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Noto Sans Devanagari";src:url(../fonts/noto-sans-devanagari-devanagari-500-normal.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Noto Sans Devanagari";src:url(../fonts/noto-sans-devanagari-devanagari-600-normal.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Noto Sans Devanagari";src:url(../fonts/noto-sans-devanagari-devanagari-700-normal.woff2) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"Cinzel";src:url(../fonts/cinzel-latin-600-normal.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Cinzel";src:url(../fonts/cinzel-latin-700-normal.woff2) format("woff2");font-weight:700;font-display:swap}

:root{
  --maroon:#7a1424;--maroon-d:#4a0a14;--maroon-dd:#2b050b;--saffron:#ff8a1f;--saffron-l:#ffb347;--gold:#e0a82e;--gold-l:#f7d774;--gold-d:#b07d12;
  --cream:#fff8ee;--cream-2:#fdf0dc;--ink:#2a1a14;--ink-2:#5b4637;--ink-3:#8a7564;--line:#efdcc2;
  --green:#1f9d55;--green-bg:#e3f6ea;--amber:#e08a00;--amber-bg:#fff1d6;--red:#d0312d;--red-bg:#fde4e2;
  --r:22px;--shadow:0 18px 50px -20px rgba(74,10,20,.35),0 4px 14px -6px rgba(74,10,20,.12);
  --font:"Poppins","Noto Sans Devanagari",system-ui,-apple-system,"Segoe UI",sans-serif;
  --display:"Cinzel","Noto Sans Devanagari",Georgia,serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--font);color:var(--ink);background:var(--cream);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
html[lang=hi] body{--display:"Noto Sans Devanagari","Poppins",sans-serif}
img,svg{max-width:100%}
a{color:inherit}
.wrap{width:min(1180px,92vw);margin:0 auto}
h1,h2,h3{line-height:1.2;margin:0}

/* Nav */
.nav{position:fixed;left:0;right:0;top:0;z-index:50;background:rgba(43,5,11,.72);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid rgba(247,215,116,.18)}
.nav-in{display:flex;align-items:center;gap:24px;height:72px}
.logo{display:flex;align-items:center;gap:12px;text-decoration:none;color:#fff}
.logo-mark{width:44px;height:44px;display:inline-block;flex:none}
.logo-mark.small{width:38px;height:38px}
.logo-txt{display:flex;flex-direction:column;line-height:1.1}
.logo-txt b{font-family:var(--display);font-size:20px;letter-spacing:.06em;color:var(--gold-l)}
.logo-txt small{font-size:11px;color:#f3d9c0;opacity:.85;letter-spacing:.04em}
.links{display:flex;gap:6px;margin-left:auto}
.links a{color:#fbe8d3;text-decoration:none;font-size:14px;padding:8px 14px;border-radius:99px;transition:.25s}
.links a:hover{background:rgba(247,215,116,.14);color:#fff}
.lang{display:flex;align-items:center;gap:8px;border:1px solid rgba(247,215,116,.55);background:linear-gradient(135deg,rgba(247,215,116,.2),rgba(255,138,31,.15));color:#fff;padding:9px 16px;border-radius:99px;font:600 14px var(--font);cursor:pointer;transition:.25s}
.lang:hover{transform:translateY(-1px);box-shadow:0 6px 18px -6px rgba(247,215,116,.6)}
.lang-dot{width:8px;height:8px;border-radius:50%;background:var(--gold-l);box-shadow:0 0 10px var(--gold-l)}

/* Hero */
.hero{position:relative;overflow:hidden;color:#fff;padding:168px 0 170px;
  background:radial-gradient(1200px 600px at 85% 30%,rgba(255,170,60,.55),transparent 60%),radial-gradient(900px 500px at 10% 90%,rgba(224,168,46,.35),transparent 60%),linear-gradient(135deg,#2b050b 0%,#5a0d17 35%,#9a1f1a 65%,#e2681a 100%)}
.hero-glow{position:absolute;inset:auto -10% -40% auto;width:60vw;height:60vw;background:radial-gradient(circle,rgba(255,200,90,.35),transparent 60%);filter:blur(10px)}
.hero-mandala{position:absolute;right:-12vw;top:50%;width:min(860px,85vw);aspect-ratio:1;transform:translateY(-50%);opacity:.32;animation:spin 140s linear infinite}
.hero-mandala svg{width:100%;height:100%}
@keyframes spin{to{transform:translateY(-50%) rotate(360deg)}}
.hero-in{position:relative;display:grid;grid-template-columns:1.25fr .75fr;gap:40px;align-items:center}
.kicker{display:inline-flex;align-items:center;gap:8px;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-l);background:rgba(0,0,0,.18);border:1px solid rgba(247,215,116,.35);padding:7px 14px;border-radius:99px}
html[lang=hi] .kicker{letter-spacing:.02em;text-transform:none}
.hero h1{font-family:var(--display);font-size:clamp(34px,5.2vw,64px);font-weight:700;margin:22px 0 18px;letter-spacing:.01em;text-shadow:0 4px 30px rgba(0,0,0,.25)}
.hero h1 span{background:linear-gradient(90deg,var(--gold-l),#ffd29a 50%,var(--saffron-l));-webkit-background-clip:text;background-clip:text;color:transparent}
.hero p{font-size:clamp(15px,1.4vw,18px);color:#fde6cf;max-width:620px;margin:0 0 30px}
.hero-cta{display:flex;flex-wrap:wrap;gap:14px}
.trust{display:flex;flex-wrap:wrap;gap:10px 22px;list-style:none;padding:0;margin:34px 0 0;font-size:13.5px;color:#fbe3c9}
.trust li{display:flex;align-items:center;gap:8px}
.tick{width:18px;height:18px;border-radius:50%;background:var(--gold-l) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12l5 5 9-10' stroke='%235a0d17' stroke-width='3' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") center/12px no-repeat}
.hero-om{display:grid;place-items:center}
.om-ring{width:min(340px,70vw);aspect-ratio:1;border-radius:50%;display:grid;place-items:center;position:relative;
  background:radial-gradient(circle at 50% 45%,rgba(255,224,150,.35),rgba(255,138,31,.05) 60%,transparent 70%);animation:float 6s ease-in-out infinite}
.om-ring::before,.om-ring::after{content:"";position:absolute;inset:6%;border-radius:50%;border:2px dashed rgba(247,215,116,.5);animation:spin2 40s linear infinite}
.om-ring::after{inset:-4%;border:1px solid rgba(247,215,116,.35);animation-duration:70s;animation-direction:reverse}
.om-ring span{font-family:"Noto Sans Devanagari",serif;font-size:min(170px,34vw);line-height:1;background:linear-gradient(160deg,#fff4c2,var(--gold-l) 40%,var(--saffron) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 10px 30px rgba(255,170,60,.55))}
@keyframes spin2{to{transform:rotate(360deg)}}
@keyframes float{50%{transform:translateY(-14px)}}
.sparks i{position:absolute;width:6px;height:6px;border-radius:50%;background:var(--gold-l);box-shadow:0 0 12px 3px rgba(247,215,116,.7);opacity:0;animation:rise 9s linear infinite}
.sparks i:nth-child(1){left:8%;animation-delay:0s}.sparks i:nth-child(2){left:18%;animation-delay:2s}.sparks i:nth-child(3){left:29%;animation-delay:4.5s}.sparks i:nth-child(4){left:41%;animation-delay:1s}.sparks i:nth-child(5){left:52%;animation-delay:6s}
.sparks i:nth-child(6){left:63%;animation-delay:3s}.sparks i:nth-child(7){left:72%;animation-delay:7s}.sparks i:nth-child(8){left:81%;animation-delay:5s}.sparks i:nth-child(9){left:90%;animation-delay:2.5s}.sparks i:nth-child(10){left:96%;animation-delay:8s}
@keyframes rise{0%{bottom:-10px;opacity:0}10%{opacity:.9}80%{opacity:.5}100%{bottom:90%;opacity:0;transform:translateX(30px)}}
.wave{position:absolute;bottom:-1px;left:0;width:100%;height:110px;fill:var(--cream)}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:0;cursor:pointer;text-decoration:none;font:600 15px var(--font);padding:14px 26px;border-radius:99px;transition:transform .25s,box-shadow .25s,background .25s;position:relative;overflow:hidden}
.btn svg{width:20px;height:20px;stroke:currentColor;stroke-width:2.4;fill:none;stroke-linecap:round;stroke-linejoin:round}
.btn-gold{background:linear-gradient(135deg,#fff1b8,var(--gold-l) 35%,var(--gold) 100%);color:var(--maroon-d);box-shadow:0 12px 30px -10px rgba(247,215,116,.8)}
.btn-gold::after,.btn-maroon::after,.btn-wa::after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-20deg);animation:shine 4.5s ease-in-out infinite}
@keyframes shine{0%,60%{left:-60%}100%{left:130%}}
.btn-ghost{background:rgba(255,255,255,.08);color:#fff;border:1px solid rgba(255,255,255,.4)}
.btn-maroon{background:linear-gradient(135deg,var(--maroon),#b02a2a 60%,var(--saffron));color:#fff;box-shadow:0 14px 30px -12px rgba(122,20,36,.7)}
.btn:hover{transform:translateY(-2px)}
.btn.big{width:100%;padding:18px;font-size:17px;margin-top:8px}
.btn-wa{background:linear-gradient(135deg,var(--maroon),#a3202a);color:#fff;padding:12px 20px;font-size:14px}
.btn-wa svg{fill:#fff;stroke:none}

/* Form */
.form-wrap{position:relative;margin-top:-150px;z-index:5}
.card{background:#fff;border-radius:var(--r);box-shadow:var(--shadow);border:1px solid var(--line)}
.form-card{padding:38px;border-top:5px solid var(--gold);background:linear-gradient(#fff,#fff) padding-box,linear-gradient(135deg,var(--gold-l),var(--saffron),var(--maroon)) border-box;border:2px solid transparent}
.form-head h2{font-family:var(--display);font-size:28px;color:var(--maroon)}
.form-head p{margin:6px 0 24px;color:var(--ink-3)}
.form-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.span2{grid-column:span 2}
.fld{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:600;color:var(--ink-2);position:relative}
.fld input{font:500 15.5px var(--font);color:var(--ink);background:var(--cream);border:1.5px solid var(--line);border-radius:14px;padding:13px 15px;outline:none;transition:.2s;width:100%}
.fld input:focus{border-color:var(--gold);background:#fff;box-shadow:0 0 0 4px rgba(224,168,46,.18)}
.place-fld{grid-column:span 4}
.place-box{position:relative}
.place-box .pin{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:20px;height:20px;fill:var(--maroon)}
.place-box input{padding-left:44px}
.spinner{position:absolute;right:14px;top:50%;width:18px;height:18px;margin-top:-9px;border:2.5px solid var(--line);border-top-color:var(--maroon);border-radius:50%;display:none;animation:spin2 .8s linear infinite}
.spinner.on{display:block}
.place-list{list-style:none;margin:6px 0 0;padding:6px;position:absolute;left:0;right:0;top:100%;background:#fff;border-radius:16px;box-shadow:var(--shadow);border:1px solid var(--line);z-index:20;display:none;max-height:320px;overflow:auto}
.place-list.on{display:block}
.place-list li{padding:11px 14px;border-radius:12px;cursor:pointer;font-weight:500;color:var(--ink);display:flex;gap:10px;align-items:flex-start;font-size:14px}
.place-list li small{display:block;color:var(--ink-3);font-weight:400;font-size:12px}
.place-list li:hover,.place-list li.act{background:var(--cream-2)}
.place-list li.msg{cursor:default;color:var(--ink-3)}
.place-list li .dot{flex:none;width:8px;height:8px;margin-top:7px;border-radius:50%;background:var(--saffron)}
.place-meta{font-size:12.5px;color:var(--green);font-weight:500;min-height:18px}
.osm{font-size:11px;color:var(--ink-3);font-weight:400}
.manual{background:var(--cream);border-radius:14px;padding:12px 16px;border:1px dashed var(--line)}
.manual summary{cursor:pointer;font-size:13.5px;font-weight:600;color:var(--maroon)}
.manual-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:12px}
.form-err{color:var(--red);font-weight:500;font-size:14px;min-height:22px;margin:12px 0 4px}

/* Results */
.results{padding:40px 0 10px}
.sec{padding:56px 0}
.sec-head{text-align:center;margin-bottom:36px}
.sec-head .orn{display:block;margin:0 auto 12px;width:120px;height:22px}
.sec-head h2{font-family:var(--display);font-size:clamp(26px,3.2vw,38px);color:var(--maroon)}
.sec-head p{color:var(--ink-3);margin:8px 0 0}
.who{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;background:linear-gradient(120deg,var(--maroon-d),var(--maroon) 50%,#b33a1f);color:#fff;border-radius:var(--r);padding:26px 30px;box-shadow:var(--shadow);position:relative;overflow:hidden}
.who .bgm{position:absolute;right:-60px;top:-60px;width:260px;opacity:.22}
.who h2{font-family:var(--display);font-size:clamp(22px,2.6vw,30px);color:var(--gold-l)}
.who p{margin:4px 0 0;color:#fbe3c9;font-size:14px}
.who .btn{position:relative}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:22px}
.stat{padding:22px;border-radius:20px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);position:relative;overflow:hidden;transition:transform .3s}
.stat:hover{transform:translateY(-4px)}
.stat::before{content:"";position:absolute;left:0;top:0;right:0;height:4px;background:linear-gradient(90deg,var(--gold),var(--saffron),var(--maroon))}
.stat .lbl{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);font-weight:600}
html[lang=hi] .stat .lbl{letter-spacing:0}
.stat .val{font-size:22px;font-weight:700;color:var(--maroon);margin-top:6px;line-height:1.25}
.stat .sub{font-size:13px;color:var(--ink-2);margin-top:4px}
.stat .ico{position:absolute;right:16px;top:18px;width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:var(--cream-2)}
.stat .ico svg{width:22px;height:22px;stroke:var(--maroon);fill:none;stroke-width:1.8}

.grid2{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:24px;align-items:start}
.panel{padding:26px}
.panel h3{font-size:18px;color:var(--maroon);margin-bottom:4px}
.panel .muted{color:var(--ink-3);font-size:13px;margin:0 0 16px}
.kundli{width:100%;height:auto;display:block}
.tbl{width:100%;border-collapse:separate;border-spacing:0;font-size:14px}
.tbl th{text-align:left;font-size:11.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);font-weight:600;padding:10px 10px;border-bottom:1.5px solid var(--line)}
html[lang=hi] .tbl th{letter-spacing:0;font-size:13px}
.tbl td{padding:11px 10px;border-bottom:1px solid #f6ead8}
.tbl tr:hover td{background:#fffaf2}
.tbl td.num{font-variant-numeric:tabular-nums;white-space:nowrap}
.pchip{display:inline-flex;align-items:center;gap:8px;font-weight:600}
.pchip i{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;font-style:normal;font-size:12px;color:#fff;font-weight:700}
.rtag{font-size:10.5px;font-weight:700;color:var(--amber);background:var(--amber-bg);padding:2px 7px;border-radius:99px;margin-left:4px}
.tbl-wrap{overflow-x:auto}

/* Badges */
.badge{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:700;padding:6px 12px;border-radius:99px;white-space:nowrap}
.badge::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor;box-shadow:0 0 0 3px rgba(255,255,255,.6)}
.b-red{color:var(--red);background:var(--red-bg)}.b-amber{color:var(--amber);background:var(--amber-bg)}.b-green{color:var(--green);background:var(--green-bg)}
.b-gold{color:var(--gold-d);background:#fff4d1}

/* Dosh cards */
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:22px}
.dcard{padding:24px;border-radius:var(--r);background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);position:relative;overflow:hidden;transition:transform .3s,box-shadow .3s;display:flex;flex-direction:column}
.dcard:hover{transform:translateY(-5px);box-shadow:0 28px 60px -24px rgba(74,10,20,.45)}
.dcard::before{content:"";position:absolute;inset:0 0 auto 0;height:5px;background:var(--c,var(--green))}
.dcard.red{--c:linear-gradient(90deg,#ff6b5b,var(--red))}.dcard.amber{--c:linear-gradient(90deg,#ffc24d,var(--amber))}.dcard.green{--c:linear-gradient(90deg,#5fd18b,var(--green))}
.dcard .top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}
.dcard h3{font-size:18px;color:var(--ink)}
.dcard .reasons{margin:0;padding:0;list-style:none;font-size:14px;color:var(--ink-2)}
.dcard .reasons li{position:relative;padding-left:18px;margin:6px 0}
.dcard .reasons li::before{content:"";position:absolute;left:2px;top:9px;width:7px;height:7px;border-radius:2px;transform:rotate(45deg);background:var(--gold)}
.dcard .reasons li.note{color:var(--ink-3);font-size:13px}
.dcard .reasons li.note::before{background:var(--line)}
.dcard .rem{margin-top:auto;padding-top:14px}
.rem-box{margin-top:14px;padding:14px 16px;border-radius:16px;background:linear-gradient(135deg,#fff7e8,#fdecd2);font-size:13.5px;border:1px solid #f6dfb8}
.rem-box div{margin:3px 0}
.rem-box b{color:var(--maroon)}
.dcard.muted-card{opacity:.92}
.dcard.muted-card h3{color:var(--ink-2)}

/* Yoga cards */
.ycard{padding:24px;border-radius:var(--r);color:var(--ink);position:relative;overflow:hidden;box-shadow:var(--shadow);transition:transform .3s;
  background:linear-gradient(#fff,#fffaf0) padding-box,linear-gradient(135deg,var(--gold-l),var(--gold),var(--saffron)) border-box;border:2px solid transparent}
.ycard:hover{transform:translateY(-5px)}
.ycard .star{position:absolute;right:-30px;top:-30px;width:140px;opacity:.16}
.ycard h3{font-size:19px;color:var(--maroon);margin:10px 0 6px}
.ycard .ind{font-size:14px;color:var(--ink-2);margin:0 0 12px}
.ycard .forms{font-size:13.5px;color:var(--ink-2);border-top:1px dashed #f0d9ae;padding-top:12px}
.ycard .forms div{margin:4px 0}
.ycard .forms b{color:var(--gold-d)}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chip{font-size:12px;font-weight:600;padding:4px 10px;border-radius:99px;background:var(--cream-2);color:var(--maroon)}
.empty-yoga{text-align:center;color:var(--ink-2);background:#fff;border-radius:var(--r);padding:30px;border:1px dashed var(--line)}

/* Month band */
.band{background:radial-gradient(900px 400px at 90% 0%,rgba(255,138,31,.35),transparent 60%),linear-gradient(160deg,var(--maroon-dd),var(--maroon-d) 40%,#6e1220);color:#fff;border-radius:36px;margin:40px auto;padding:64px 0;position:relative;overflow:hidden;width:min(1280px,96vw)}
.band .bgm{position:absolute;left:-180px;bottom:-180px;width:520px;opacity:.12}
.band .sec-head h2{color:var(--gold-l)}
.band .sec-head p{color:#f3cdb0}
.band .card{background:rgba(255,255,255,.06);border:1px solid rgba(247,215,116,.22);box-shadow:none;color:#fff;backdrop-filter:blur(6px)}
.band .panel h3{color:var(--gold-l)}
.band .muted{color:#e9c3a6}
.band .tbl th{color:#e9c3a6;border-color:rgba(247,215,116,.25)}
.band .tbl td{border-color:rgba(255,255,255,.08)}
.band .tbl tr:hover td{background:rgba(255,255,255,.04)}
.dasha-row{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.dbox{border-radius:18px;padding:18px;background:linear-gradient(135deg,rgba(247,215,116,.18),rgba(255,138,31,.08));border:1px solid rgba(247,215,116,.3)}
.dbox .lbl{font-size:12px;color:#f3cdb0;text-transform:uppercase;letter-spacing:.08em}
html[lang=hi] .dbox .lbl{letter-spacing:0;font-size:13px}
.dbox .val{font-size:22px;font-weight:700;color:var(--gold-l);margin:4px 0}
.dbox .sub{font-size:13px;color:#fbe3c9}
.prog{height:6px;border-radius:9px;background:rgba(255,255,255,.12);margin-top:10px;overflow:hidden}
.prog i{display:block;height:100%;background:linear-gradient(90deg,var(--gold-l),var(--saffron));border-radius:9px}
.eff{font-size:12px;font-weight:700;padding:4px 10px;border-radius:99px}
.eff.good{background:rgba(31,157,85,.2);color:#7ee2a6}.eff.bad{background:rgba(208,49,45,.22);color:#ff9f97}.eff.mixed{background:rgba(224,138,0,.22);color:#ffd27a}
.areas{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.acard{border-radius:20px;padding:20px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);transition:transform .3s,background .3s}
.acard:hover{transform:translateY(-4px);background:rgba(255,255,255,.1)}
.acard .hd{display:flex;align-items:center;gap:12px;margin-bottom:10px}
.acard .aico{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:rgba(247,215,116,.16)}
.acard .aico svg{width:24px;height:24px;stroke:var(--gold-l);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.acard h4{margin:0;font-size:17px}
.light{margin-left:auto;display:flex;gap:5px;background:rgba(0,0,0,.25);padding:6px 8px;border-radius:99px}
.light i{width:12px;height:12px;border-radius:50%;background:rgba(255,255,255,.15)}
.light.red i:nth-child(1){background:#ff5b4f;box-shadow:0 0 12px #ff5b4f}
.light.amber i:nth-child(2){background:#ffb627;box-shadow:0 0 12px #ffb627}
.light.green i:nth-child(3){background:#39d17a;box-shadow:0 0 12px #39d17a}
.acard .lv{font-weight:700;font-size:14px}
.acard .lv.red{color:#ff9f97}.acard .lv.amber{color:#ffd27a}.acard .lv.green{color:#7ee2a6}
.acard ul{margin:8px 0 0;padding-left:18px;font-size:13.5px;color:#f6dcc6}
.acard ul li{margin:4px 0}
.acard ul li.pos{color:#bdf0d0}
.zones{list-style:none;margin:0;padding:0;position:relative}
.zones::before{content:"";position:absolute;left:19px;top:8px;bottom:8px;width:2px;background:linear-gradient(var(--gold-l),rgba(247,215,116,.1))}
.zones li{position:relative;padding:0 0 18px 56px}
.zones li .mk{position:absolute;left:8px;top:2px;width:24px;height:24px;border-radius:50%;display:grid;place-items:center}
.zones li .mk::after{content:"";width:10px;height:10px;border-radius:50%;background:#fff}
.zones li.red .mk{background:#e5483f;box-shadow:0 0 0 5px rgba(229,72,63,.25),0 0 18px rgba(229,72,63,.6)}
.zones li.amber .mk{background:#f0a21a;box-shadow:0 0 0 5px rgba(240,162,26,.22)}
.zones .when{font-weight:700;color:var(--gold-l);font-size:15px}
.zones .what{color:#f6dcc6;font-size:14px}
.zones .now{font-size:11px;font-weight:700;background:#e5483f;color:#fff;padding:2px 8px;border-radius:99px;margin-left:8px;vertical-align:middle}
.zones .past{opacity:.5}
.ss-list{display:flex;flex-direction:column;gap:10px}
.ss-item{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;border-radius:14px;background:rgba(255,255,255,.06)}
.ss-item b{color:#fff;font-size:14px}.ss-item span{color:#f3cdb0;font-size:13px}
.ss-item .badge{font-size:11.5px}
.mt{margin-top:24px}
.band .badge.b-green{background:rgba(57,209,122,.18);color:#8ff0b8}
.band .badge.b-amber{background:rgba(255,182,39,.2);color:#ffd27a}
.band .badge.b-red{background:rgba(255,91,79,.22);color:#ffb0a8}
.band .badge::before{box-shadow:none}
.eff{white-space:nowrap}
.grid2.even{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
@media (max-width:1000px){.grid2.even{grid-template-columns:minmax(0,1fr)}}

/* Pooja cards */
.plist{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:22px}
.pcard{padding:24px;border-radius:var(--r);background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:12px;position:relative;transition:transform .3s}
.pcard:hover{transform:translateY(-5px)}
.pcard .rank{position:absolute;top:-14px;left:22px;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font-weight:700;color:var(--maroon-d);background:linear-gradient(135deg,#fff1b8,var(--gold-l),var(--gold));box-shadow:0 8px 18px -6px rgba(176,125,18,.7)}
.pcard h3{font-size:19px;color:var(--maroon);margin-top:10px}
.pcard .tmpl{display:flex;align-items:center;gap:8px;font-weight:600;color:var(--ink-2);font-size:14px}
.pcard .tmpl svg{width:18px;height:18px;fill:var(--saffron);flex:none}
.pcard .why{display:flex;flex-wrap:wrap;gap:6px}
.pcard .dates{background:var(--cream);border-radius:14px;padding:12px 14px;font-size:13.5px}
.pcard .dates div{display:flex;justify-content:space-between;gap:12px;margin:3px 0}
.pcard .dates span{color:var(--ink-3)}
.pcard .dates b{color:var(--ink);text-align:right}
.pcard .btn{margin-top:auto;align-self:flex-start}

/* AI */
.ai{padding:34px;border-radius:28px;position:relative;overflow:hidden;background:linear-gradient(#fff,#fffaf2) padding-box,linear-gradient(135deg,var(--maroon),var(--saffron),var(--gold-l)) border-box;border:2px solid transparent;box-shadow:var(--shadow)}
.ai .bgm{position:absolute;right:-90px;top:-90px;width:320px;opacity:.08}
.ai-head{display:flex;flex-wrap:wrap;gap:18px;align-items:center;justify-content:space-between}
.ai-head h3{font-family:var(--display);font-size:26px;color:var(--maroon);display:flex;align-items:center;gap:12px}
.ai-head p{margin:4px 0 0;color:var(--ink-3);max-width:620px}
.ai-spark{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,var(--maroon),var(--saffron))}
.ai-spark svg{width:22px;height:22px;fill:#fff}
.ai-out{margin-top:22px;font-size:15.5px;color:var(--ink);line-height:1.8}
.ai-out h4{font-size:17px;color:var(--maroon);margin:18px 0 6px}
.ai-out p{margin:0 0 12px}
.ai-out ul{margin:0 0 12px;padding-left:20px}
.ai-msg{margin-top:18px;padding:14px 18px;border-radius:14px;background:var(--amber-bg);color:#8a5200;font-size:14px}
.ai-note{font-size:12.5px;color:var(--ink-3);border-top:1px dashed var(--line);padding-top:12px;margin-top:8px}
.dots{display:inline-flex;gap:5px;margin-left:6px}.dots i{width:6px;height:6px;border-radius:50%;background:currentColor;animation:blink 1.2s infinite}.dots i:nth-child(2){animation-delay:.2s}.dots i:nth-child(3){animation-delay:.4s}
@keyframes blink{50%{opacity:.2}}

/* CTA */
.cta{position:relative;overflow:hidden;border-radius:32px;padding:56px;color:#fff;text-align:center;
  background:radial-gradient(600px 300px at 50% 0%,rgba(255,230,150,.45),transparent 70%),linear-gradient(135deg,#9a1f1a,#e2681a 55%,#f2a42c)}
.cta .bgm{position:absolute;left:50%;top:50%;width:700px;transform:translate(-50%,-50%);opacity:.15;animation:spin3 120s linear infinite}
@keyframes spin3{to{transform:translate(-50%,-50%) rotate(360deg)}}
.cta h2{font-family:var(--display);font-size:clamp(24px,3vw,36px);position:relative}
.cta p{max-width:720px;margin:12px auto 26px;color:#fff3e3;position:relative}
.cta .btn{position:relative}
.disc{margin:40px 0 70px;padding:22px 26px;border-radius:20px;background:#fff;border:1px solid var(--line);display:flex;gap:16px;align-items:flex-start}
.disc .i{flex:none;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--cream-2);color:var(--maroon);font-weight:700;font-family:Georgia,serif;font-size:20px}
.disc h4{margin:0 0 4px;color:var(--maroon)}
.disc p{margin:0;color:var(--ink-2);font-size:14px}

/* Footer */
.foot{background:var(--maroon-dd);color:#e9c3a6;padding:40px 0;text-align:center;font-size:13.5px}
.foot-in{display:flex;flex-direction:column;align-items:center;gap:6px}
.foot .method{font-size:12px;opacity:.7;max-width:720px}

.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,40px);background:var(--maroon-d);color:#fff;padding:14px 22px;border-radius:14px;box-shadow:var(--shadow);opacity:0;transition:.35s;z-index:99;max-width:90vw;font-size:14px;border:1px solid rgba(247,215,116,.4)}
.toast.on{opacity:1;transform:translate(-50%,0)}

/* Reveal */
.js .reveal{opacity:0;transform:translateY(26px);transition:opacity .8s ease,transform .8s ease}
.js .reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}

/* Responsive */
@media (max-width:1000px){
  .hero-in{grid-template-columns:1fr}.hero-om{display:none}
  .stats{grid-template-columns:repeat(2,1fr)}
  .grid2{grid-template-columns:minmax(0,1fr)}
  .areas{grid-template-columns:repeat(2,1fr)}
  .links{display:none}.lang{margin-left:auto}
}
@media (max-width:640px){
  .nav-in{height:64px}.logo-txt small{display:none}
  .hero{padding-top:130px;padding-bottom:150px}
  .form-card{padding:24px 18px}
  .form-grid{grid-template-columns:1fr 1fr;gap:14px}
  .span2,.place-fld{grid-column:span 2}
  .fld:has(#fName){grid-column:span 2}
  .manual-grid{grid-template-columns:1fr}
  .stats{grid-template-columns:1fr 1fr;gap:12px}.stat{padding:16px}.stat .val{font-size:17px}.stat .ico{display:none}
  .dasha-row{grid-template-columns:1fr}
  .areas{grid-template-columns:1fr}
  .cards,.plist{grid-template-columns:1fr}
  .band{border-radius:24px;padding:44px 0}
  .cta{padding:38px 22px;border-radius:24px}
  .ai{padding:22px}
  .who{padding:22px}
  .sec{padding:40px 0}
  .tbl{font-size:13px}.tbl th,.tbl td{padding:9px 6px}
}

/* ---------- Rich dosh / yog cards ---------- */
.xlist{display:flex;flex-direction:column;gap:26px}
.xcard{position:relative;border-radius:26px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);overflow:hidden}
.xcard::before{content:"";position:absolute;inset:0 0 auto 0;height:6px;background:var(--c,linear-gradient(90deg,var(--gold-l),var(--gold)))}
.xcard.red{--c:linear-gradient(90deg,#ff6b5b,var(--red))}.xcard.amber{--c:linear-gradient(90deg,#ffc24d,var(--amber))}
.xcard.yoga{background:linear-gradient(160deg,#fffdf6,#fff6e0 60%,#fff);border-color:#f3dca6}
.xcard.yoga.active{box-shadow:0 0 0 2px rgba(31,157,85,.25),var(--shadow)}
.xhead{display:flex;align-items:center;gap:16px;padding:24px 26px 10px}
.xico{flex:0 0 54px;width:54px;height:54px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(135deg,var(--maroon),#a3202a);padding:6px}
.xcard.yoga .xico{background:linear-gradient(135deg,var(--gold-d),var(--gold))}
.xico svg{width:28px;height:28px;fill:#fff6d8;stroke:none}
.xico.om{font-family:"Noto Sans Devanagari",serif;font-size:30px;line-height:1;color:#ffe8b0;padding:0 0 4px}
.xtitle{flex:1;display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.xtitle h3{font-size:21px;color:var(--maroon);margin-right:4px}
.xtoggle{display:inline-flex;align-items:center;gap:8px;border:1px solid #f0d2a0;background:#fff7e8;color:var(--maroon);font:600 13.5px var(--font);padding:9px 16px;border-radius:99px;cursor:pointer;transition:background .2s}
.xtoggle:hover{background:#fdebc8}
.xtoggle i{font-style:normal;transition:transform .3s}
.xtoggle .t-hide{display:none}
.xcard.open .xtoggle .t-hide{display:inline}.xcard.open .xtoggle .t-show{display:none}.xcard.open .xtoggle i{transform:rotate(180deg)}
.xsum{padding:4px 26px 20px 96px;font-size:14.5px;color:var(--ink-2)}
.xsum .lbl,.xsec .lbl{font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin-bottom:4px}
html[lang=hi] .xsum .lbl,html[lang=hi] .xsec .lbl{letter-spacing:0;font-size:12.5px}
.xsum .reasons{margin:0;padding:0;list-style:none}
.xsum .reasons li{position:relative;padding-left:18px;margin:5px 0}
.xsum .reasons li::before{content:"";position:absolute;left:2px;top:9px;width:7px;height:7px;border-radius:2px;transform:rotate(45deg);background:var(--gold)}
.xsum .reasons li.note{color:var(--ink-3);font-size:13.5px}
.xsum .ind{margin:0 0 10px}.xsum .forms{margin-top:12px;font-size:13.5px;border-top:1px dashed #f0d9ae;padding-top:10px}.xsum .forms b{color:var(--gold-d)}
.variant{margin-top:12px;padding:12px 16px;border-radius:14px;background:linear-gradient(135deg,#fff6dc,#ffefc4);border:1px solid #f3d793;color:var(--ink)}
.variant b{color:var(--gold-d)}
.xbody{display:none;padding:0 26px 26px;gap:18px;flex-direction:column}
.xcard.open .xbody{display:flex;animation:xopen .45s ease}
@keyframes xopen{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
.xsec{border-radius:20px;padding:20px 22px}
.xsec h4{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:0 0 14px;font-size:16.5px;color:var(--maroon)}
.hico{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;font-size:16px;background:#fff;box-shadow:0 4px 12px -6px rgba(74,10,20,.35)}
.xsec.prob{background:linear-gradient(135deg,#fff1ef,#fde4e2);border:1px solid #f7cdc8}
.xcard.amber .xsec.prob{background:linear-gradient(135deg,#fff8e8,#fff1d6);border-color:#f6dfa9}
.xsec.opp{background:linear-gradient(135deg,#ecfaf1,#fff6dc);border:1px solid #cdebd8}
.xsec.acts{background:#fffaf0;border:1px dashed #efd29a}
.xsec.rem{background:linear-gradient(135deg,#fff3e2,#ffe2bf);border:1px solid #f6cf98}
.agrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.ai-row{display:flex;gap:12px;align-items:flex-start;background:rgba(255,255,255,.75);border-radius:14px;padding:12px 14px}
.ai-row b{display:block;font-size:14px;color:var(--ink)}
.ai-row p{margin:2px 0 0;font-size:13.5px;color:var(--ink-2);line-height:1.5}
.ai-row .aico{flex:0 0 34px;width:34px;height:34px;border-radius:10px;display:grid;place-items:center}
.ai-row .aico svg{width:19px;height:19px;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.agrid.red .aico{background:var(--red-bg)}.agrid.red .aico svg{stroke:var(--red)}
.xcard.amber .agrid.red .aico{background:var(--amber-bg)}.xcard.amber .agrid.red .aico svg{stroke:var(--amber)}
.agrid.green .aico{background:var(--green-bg)}.agrid.green .aico svg{stroke:var(--green)}
.belief{margin:12px 0 0;font-size:12.5px;color:var(--ink-3);font-style:italic}
.rem-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:16px}
.pooja-main{background:#fff;border-radius:16px;padding:16px 18px;display:flex;flex-direction:column;box-shadow:0 10px 26px -18px rgba(74,10,20,.5)}
.pooja-main h5{margin:0;font-size:17px;color:var(--maroon);line-height:1.3}
.pooja-main .tmpl{display:flex;gap:6px;align-items:center;font-size:13.5px;color:var(--ink-2);margin-top:6px}
.pooja-main .tmpl svg{width:15px;height:15px;fill:var(--saffron);flex:0 0 15px}
.pooja-main .when{list-style:none;margin:0 0 14px;padding:0;font-size:13.5px}
.pooja-main .when li{display:flex;justify-content:space-between;gap:10px;padding:6px 0;border-bottom:1px dashed var(--line)}
.pooja-main .when li span{color:var(--ink-3)}.pooja-main .when li b{color:var(--ink);text-align:right}
.pooja-main .btn{margin-top:auto;align-self:flex-start}
.rem-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.ri{background:rgba(255,255,255,.78);border-radius:14px;padding:12px 14px;font-size:13.5px;color:var(--ink-2)}
.ri p{margin:0}.ri:first-child{grid-column:1/-1}
.mantra{padding:8px 0;border-bottom:1px dashed #f3d7ae}.mantra:last-child{border-bottom:0}
.mantra .dev{font-family:"Noto Sans Devanagari",var(--font);font-weight:600;font-size:15.5px;color:var(--maroon)}
.mantra .tr{font-style:italic;color:var(--ink-2)}
.mantra .cnt{font-size:12.5px;color:var(--gold-d);font-weight:600}
.caution{margin-top:6px!important;font-size:12.5px;color:#9a4b00}
.ticks{list-style:none;margin:0;padding:0}
.ticks li{position:relative;padding-left:22px;margin:5px 0;font-size:13.5px;color:var(--ink-2)}
.ticks li::before{content:"✓";position:absolute;left:0;top:0;color:var(--saffron);font-weight:700}
.dcard .one{margin:8px 0 0;font-size:13.5px;color:var(--ink-2)}
.dcard .one b{color:var(--maroon)}
@media (max-width:1000px){.agrid{grid-template-columns:repeat(2,minmax(0,1fr))}.rem-grid{grid-template-columns:minmax(0,1fr)}}
@media (max-width:640px){
  .xhead{padding:20px 18px 8px;flex-wrap:wrap}.xico{flex-basis:44px;width:44px;height:44px}
  .xtitle h3{font-size:18px}.xtoggle{margin-left:60px}
  .xsum{padding:4px 18px 16px}.xbody{padding:0 14px 18px}.xsec{padding:16px 14px}
  .agrid,.rem-list{grid-template-columns:minmax(0,1fr)}
}

/* ---------- Lakshan (symptoms & effects) ---------- */
.lak{border-radius:18px;padding:16px 20px 14px;background:linear-gradient(135deg,#fff0ee,#ffe1dd);border:1px solid #f5c3bc;position:relative}
.lak.amber{background:linear-gradient(135deg,#fff8e6,#ffefcc);border-color:#f3d79a}
.lak h4{margin:0;font-size:17px;color:var(--red);display:flex;align-items:center;gap:8px}
.lak.amber h4{color:#a45f00}
.lak h4::before{content:"";width:10px;height:10px;border-radius:50%;background:currentColor;box-shadow:0 0 0 4px rgba(208,49,45,.15)}
.lak-b{margin:2px 0 10px;font-size:12.5px;color:var(--ink-3);font-style:italic}
.lak ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 18px}
.lak li{display:flex;gap:9px;align-items:flex-start;font-size:14.5px;font-weight:600;color:var(--ink);line-height:1.4}
.lak li .em{flex:0 0 26px;width:26px;height:26px;border-radius:8px;background:#fff;display:grid;place-items:center;font-size:14px;box-shadow:0 3px 8px -5px rgba(74,10,20,.4)}
.lak li.var{grid-column:1/-1;background:rgba(255,255,255,.7);border-radius:12px;padding:7px 10px;font-weight:500}
.lak li.var b{color:var(--maroon)}
.lak-wrap{padding:4px 26px 14px 96px}
.dcard .lak{margin:4px 0 12px;padding:14px 14px 12px}
.dcard .lak ul{grid-template-columns:minmax(0,1fr)}
.dcard .lak h4{font-size:15.5px}
.dcard .lak li{font-size:13.5px}
.lsum{margin-top:34px;border-radius:28px;padding:28px 30px;background:linear-gradient(140deg,#4a0a14,#7a1424 55%,#9c2a1a);color:#fff;position:relative;overflow:hidden;box-shadow:var(--shadow)}
.lsum::after{content:"";position:absolute;right:-120px;top:-120px;width:340px;height:340px;border-radius:50%;background:radial-gradient(circle,rgba(247,215,116,.25),transparent 70%)}
.lsum-hd{display:flex;gap:16px;align-items:center;margin-bottom:20px;position:relative;z-index:1}
.lsum-ico{flex:0 0 56px;height:56px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(135deg,var(--gold-l),var(--gold));color:var(--maroon-d);font:700 30px "Noto Sans Devanagari",serif;padding-bottom:4px}
.lsum h2{font-size:24px;color:#fff3d0}
.lsum-hd p{margin:4px 0 0;font-size:13.5px;color:#f3d9c4}
.lsum-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px;position:relative;z-index:1}
.lcard{background:#fffaf2;color:var(--ink);border-radius:18px;padding:14px 16px;border-top:5px solid var(--amber)}
.lcard.red{border-top-color:var(--red)}
.lc-hd{display:flex;align-items:center;gap:9px;margin-bottom:8px}
.lc-hd .em{font-size:20px}
.lc-hd h4{margin:0;flex:1;font-size:15px;color:var(--maroon)}
.lc-hd .badge{font-size:11px;padding:4px 9px}
.lcard ul{list-style:none;margin:0;padding:0}
.lcard li{padding:6px 0 6px 14px;border-bottom:1px dashed var(--line);font-size:13.5px;font-weight:600;line-height:1.4;position:relative}
.lcard li:last-child{border-bottom:0}
.lcard li::before{content:"";position:absolute;left:0;top:12px;width:7px;height:7px;border-radius:50%;background:var(--amber)}
.lcard li.present::before{background:var(--red)}
.lcard li em{display:block;font-style:normal;font-weight:500;font-size:11.5px;color:var(--ink-3)}
.lsum-none{position:relative;z-index:1;background:rgba(57,209,122,.15);color:#c9f7da;border-radius:16px;padding:16px 18px;font-weight:600}
.lsum-link{position:relative;z-index:1;display:inline-block;margin-top:18px;color:var(--gold-l);font-weight:600;text-decoration:none;border-bottom:1px dashed var(--gold-l)}
@media (max-width:640px){.lak-wrap{padding:4px 14px 14px}.lak ul{grid-template-columns:minmax(0,1fr)}.lsum{padding:22px 16px;border-radius:22px}.lsum h2{font-size:20px}.lsum-ico{flex-basis:46px;height:46px;font-size:24px}}

/* ---------- Clear lakshan v2 ---------- */
.lak{padding:20px 24px 16px}
.lak h4::before{display:none}
.lak-tag{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#fff;background:var(--red);padding:5px 12px;border-radius:99px;margin-bottom:10px}
.lak.amber .lak-tag{background:var(--amber)}
html[lang=hi] .lak-tag{letter-spacing:0;font-size:14px}
.lak h4.lak-head{display:block;font-size:20px;line-height:1.45;font-weight:700;color:var(--maroon-d);margin:0 0 14px}
.ce{display:flex;align-items:stretch;gap:10px;margin:0 0 16px;flex-wrap:wrap}
.ce>div{border-radius:14px;padding:10px 14px;font-size:15.5px;line-height:1.5;color:var(--ink)}
.ce-c{flex:1 1 260px;background:#fff;border:1px solid #f1d2c9}
.ce-e{flex:1.3 1 300px;background:linear-gradient(135deg,#7a1424,#a3202a);color:#fff!important;font-weight:600}
.ce-c span{font-weight:700;color:var(--maroon)}
.ce-e span{font-weight:700;color:var(--gold-l)}
.ce-arrow{display:grid;place-items:center;padding:0 2px!important;font-size:26px!important;font-weight:700;color:var(--red)!important}
.lak.amber .ce-e{background:linear-gradient(135deg,#a45f00,#d08400)}
.lak.amber .ce-arrow{color:var(--amber)!important}
.lak ol.lak-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.lak ol.lak-list li{display:flex;align-items:flex-start;gap:10px;background:rgba(255,255,255,.82);border-radius:14px;padding:10px 14px;font-weight:400}
.lak ol.lak-list li.var{border:1.5px solid var(--gold);background:#fffaf0}
.lak ol.lak-list .n{flex:0 0 28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--red);color:#fff;font-weight:700;font-size:14px;margin-top:1px}
.lak.amber ol.lak-list .n{background:var(--amber)}
.lak ol.lak-list .em{flex:0 0 28px;width:28px;height:28px;border-radius:8px;background:#fff6ee;display:grid;place-items:center;font-size:16px;box-shadow:none;margin-top:1px}
.lak ol.lak-list p{margin:0;font-size:16.5px;line-height:1.6;color:var(--ink)}
.lak ol.lak-list p b{color:var(--maroon)}
.lak-b{margin:12px 0 0;font-size:12.5px}
.lak-wrap{padding:6px 26px 16px}
.dcard .lak{padding:16px 14px 12px}
.dcard .lak h4.lak-head{font-size:18px}
.dcard .lak .ce>div{font-size:15px}
.dcard .lak ol.lak-list p{font-size:15.5px}
.dcard .lak ol.lak-list li{padding:9px 10px}
/* bigger body text in cards */
.xsum,.xsum .reasons li{font-size:16px}
.variant{font-size:15.5px}
.ai-row b{font-size:15.5px}.ai-row p{font-size:15px}
.ri,.ri p,.ticks li{font-size:15px}
.mantra .dev{font-size:17px}.mantra .tr,.mantra .cnt{font-size:14px}
.pooja-main h5{font-size:18px}.pooja-main .tmpl,.pooja-main .when{font-size:14.5px}
.xsec h4{font-size:18px}
.dcard .reasons,.dcard .one{font-size:15.5px}
.dcard h3{font-size:19px}
.xsum .ind,.xsum .forms{font-size:15.5px}
/* summary v2 */
.lsum-tag{display:inline-block;font-size:13px;font-weight:700;color:var(--maroon-d);background:var(--gold-l);padding:4px 12px;border-radius:99px;margin-bottom:8px}
.lsum h2{font-size:25px;line-height:1.4}
.lsum-hd{align-items:flex-start}
.lcard{padding:16px 18px}
.lc-hd h4{font-size:17px}
.lcard li{font-weight:400;padding:8px 0 8px 16px}
.lcard li p{margin:0;font-size:15.5px;line-height:1.55;font-weight:500;color:var(--ink)}
.lcard li em{font-size:12.5px;margin-top:2px}
.lcard li::before{top:15px}
.lsum-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
@media (max-width:640px){
  .lak{padding:16px 12px 12px}.lak h4.lak-head{font-size:18px}.ce-arrow{transform:rotate(90deg);width:100%;padding:0!important}
  .lak ol.lak-list li{padding:9px 10px;gap:8px}.lak ol.lak-list p{font-size:16px}.lak ol.lak-list .em{display:none}
  .lak-wrap{padding:4px 12px 14px}.lsum h2{font-size:20px}.lsum-grid{grid-template-columns:minmax(0,1fr)}
}

/* ---------- form: DD/MM date, unknown time, visible errors ---------- */
.date-hint{min-height:16px;font-size:12.5px;font-weight:600;color:var(--green)}
.chk{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:500;color:var(--ink-2);cursor:pointer}
.chk input{width:18px;height:18px;padding:0;accent-color:var(--maroon);flex:0 0 18px}
.fld input:disabled{opacity:.55}
.form-err.on{background:var(--red-bg);border:1px solid #f5bdb8;border-radius:12px;padding:10px 14px;font-weight:600}
.who .notime{margin-top:6px;padding:8px 12px;border-radius:10px;background:rgba(255,255,255,.14);font-size:13.5px}

/* ---------- Problem Summary (always rendered) ---------- */
.psum{border-radius:30px;padding:34px 32px;background:linear-gradient(160deg,#fff7ea,#ffeccc 55%,#fff3e0);border:1px solid #f2d39c;box-shadow:var(--shadow);position:relative;overflow:hidden}
.psum::before{content:"";position:absolute;inset:0 0 auto 0;height:7px;background:linear-gradient(90deg,var(--maroon),var(--saffron),var(--gold))}
.psum-hd{display:flex;gap:18px;align-items:flex-start;margin-bottom:26px}
.psum-hd h2{font-size:27px;line-height:1.35;color:var(--maroon-d)}
.psum-hd p{margin:6px 0 0;font-size:15px;color:var(--ink-2)}
.ps-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.pscard{background:#fff;border-radius:22px;padding:20px 22px;box-shadow:0 14px 34px -22px rgba(74,10,20,.55);border-left:7px solid var(--gold)}
.pscard.red{border-left-color:var(--red)}.pscard.amber{border-left-color:var(--amber)}
.ps-hd{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.ps-hd .em{font-size:26px;width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:var(--cream-2)}
.pscard.red .ps-hd .em{background:var(--red-bg)}.pscard.amber .ps-hd .em{background:var(--amber-bg)}
.ps-hd h3{flex:1;font-size:21px;color:var(--maroon)}
.sev{font-size:13px;font-weight:700;padding:5px 12px;border-radius:99px;background:#fbf0d4;color:var(--gold-d)}
.sev.red{background:var(--red-bg);color:var(--red)}.sev.amber{background:var(--amber-bg);color:#a45f00}
.pscard ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.pscard li{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border-radius:16px;background:var(--cream)}
.pscard li.red{background:#fff1ef}.pscard li.amber{background:#fff8e8}
.pscard li .n{flex:0 0 28px;height:28px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:14px;color:#fff;background:var(--gold);margin-top:2px}
.pscard li.red .n{background:var(--red)}.pscard li.amber .n{background:var(--amber)}
.pscard li p{margin:0;font-size:17px;line-height:1.6;color:var(--ink);font-weight:500}
.pscard .cz{margin-top:6px;font-size:14px;color:var(--ink-2);background:#fff;border:1px dashed #efd3a5;border-radius:10px;padding:5px 10px;display:inline-block}
.pscard .cz b{color:var(--maroon)}
.pstodo{margin-top:26px;border-radius:24px;padding:24px;background:linear-gradient(135deg,var(--maroon-d),var(--maroon));color:#fff}
.pstodo h3{font-size:23px;color:var(--gold-l)}
.pstodo>p{margin:6px 0 16px;font-size:15.5px;color:#f6dcc8}
.pstodo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.pstodo-card{background:#fffaf2;color:var(--ink);border-radius:18px;padding:18px;display:flex;flex-direction:column;gap:8px;position:relative}
.pstodo-card .rk{position:absolute;top:14px;right:14px;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--gold);color:var(--maroon-d);font-weight:700}
.pstodo-card h4{margin:0;font-size:18px;color:var(--maroon);padding-right:36px;line-height:1.35}
.pstodo-card .tmpl{display:flex;gap:6px;align-items:center;font-size:14.5px;color:var(--ink-2)}
.pstodo-card .tmpl svg{width:15px;height:15px;fill:var(--saffron);flex:0 0 15px}
.pstodo-card .nd{font-size:14.5px;color:var(--ink-2)}.pstodo-card .nd b{color:var(--ink)}
.pstodo-card .btn{margin-top:auto;align-self:flex-start}
.lsum-link+.lsum-link{margin-left:18px}
@media (max-width:1000px){.ps-grid{grid-template-columns:minmax(0,1fr)}.pstodo-grid{grid-template-columns:minmax(0,1fr)}}
@media (max-width:640px){.psum{padding:24px 14px;border-radius:22px}.psum-hd h2{font-size:21px}.pscard{padding:16px 14px}.pscard li{padding:10px 10px}.pscard li p{font-size:16px}.ps-hd h3{font-size:19px}.pstodo{padding:18px 14px}.lsum-link+.lsum-link{margin-left:0;margin-top:10px}}

/* ---------- Ambient hero (E) ---------- */
.hero-sky{position:absolute;inset:0;background:linear-gradient(120deg,rgba(255,138,31,.0) 0%,rgba(255,138,31,.22) 25%,rgba(122,20,36,0) 45%,rgba(120,40,140,.22) 65%,rgba(255,190,90,.18) 85%,rgba(255,138,31,0) 100%);background-size:300% 300%;animation:sky 28s ease-in-out infinite alternate;mix-blend-mode:screen;pointer-events:none}
@keyframes sky{0%{background-position:0% 40%}100%{background-position:100% 60%}}
.hero-fx{position:absolute;inset:0;pointer-events:none;z-index:0}
.hero-in{z-index:1}
.om-ring{isolation:isolate}
.om-yantra{position:absolute;inset:-14%;opacity:.55;animation:spin2 90s linear infinite reverse;z-index:-1}
.om-yantra svg{width:100%;height:100%}
.om-halo{position:absolute;inset:14%;border-radius:50%;background:radial-gradient(circle,rgba(255,214,120,.55),rgba(255,140,40,.15) 45%,transparent 70%);animation:halo 4.5s ease-in-out infinite;z-index:-1}
@keyframes halo{0%,100%{transform:scale(.92);opacity:.65}50%{transform:scale(1.08);opacity:1}}
.om-ring span{animation:omglow 4.5s ease-in-out infinite}
@keyframes omglow{0%,100%{filter:drop-shadow(0 0 10px rgba(255,200,90,.35))}50%{filter:drop-shadow(0 0 28px rgba(255,200,90,.85))}}
.diyas{position:absolute;left:0;right:0;bottom:92px;display:flex;justify-content:space-around;padding:0 6vw;pointer-events:none;z-index:1}
.diya{position:relative;width:62px;height:24px}
.diya b{position:absolute;inset:0;border-radius:4px 4px 50% 50%/4px 4px 100% 100%;background:linear-gradient(180deg,#e8893a,#b4521c 55%,#7a3010);box-shadow:inset 0 3px 0 rgba(255,220,160,.5),0 6px 14px rgba(0,0,0,.35)}
.diya b::before{content:"";position:absolute;left:8%;right:8%;top:-4px;height:8px;border-radius:50%;background:radial-gradient(ellipse,#5a240b,#8a3e14)}
.diya .fl{position:absolute;left:50%;bottom:18px;width:16px;height:34px;margin-left:-8px;border-radius:50% 50% 50% 50%/62% 62% 38% 38%;background:radial-gradient(ellipse at 50% 72%,#fffbe0 0%,#ffe27a 28%,#ffa630 58%,rgba(255,90,0,.0) 76%);transform-origin:50% 100%;animation:flick 1.1s ease-in-out infinite alternate;z-index:2}
.diya .halo{position:absolute;left:50%;bottom:6px;width:110px;height:110px;margin-left:-55px;border-radius:50%;background:radial-gradient(circle,rgba(255,190,80,.45),rgba(255,140,40,.12) 45%,transparent 70%);animation:hglow 2.2s ease-in-out infinite alternate}
.diya:nth-child(2) .fl{animation-duration:.9s;animation-delay:-.3s}.diya:nth-child(3) .fl{animation-duration:1.3s;animation-delay:-.6s}.diya:nth-child(4) .fl{animation-duration:1s;animation-delay:-.2s}.diya:nth-child(5) .fl{animation-duration:1.2s;animation-delay:-.8s}
.diya:nth-child(2) .halo{animation-delay:-.7s}.diya:nth-child(4) .halo{animation-delay:-1.3s}
@keyframes flick{0%{transform:scale(1,1) rotate(-3deg)}35%{transform:scale(.9,1.1) rotate(2deg)}70%{transform:scale(1.05,.94) rotate(-1deg)}100%{transform:scale(.95,1.06) rotate(3deg)}}
@keyframes hglow{0%{opacity:.6;transform:scale(.9)}100%{opacity:1;transform:scale(1.08)}}
html.fx-paused *,html.fx-paused *::before,html.fx-paused *::after{animation-play-state:paused!important}
@media (max-width:640px){.diyas{bottom:78px;padding:0 4vw}.diya:nth-child(4),.diya:nth-child(5){display:none}.diya{width:48px;height:20px}}

/* shimmering gold section headings */
.sec>.sec-head h2{background:linear-gradient(100deg,var(--maroon) 0%,var(--maroon) 38%,#e0a82e 47%,#fff0b3 50%,#e0a82e 53%,var(--maroon) 62%,var(--maroon) 100%);background-size:280% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shimmer 7s ease-in-out infinite}
@keyframes shimmer{0%{background-position:100% 0}60%,100%{background-position:0% 0}}
/* staggered reveal */
.cards>.reveal:nth-child(2),.ps-grid>.reveal:nth-child(2),.stats>.reveal:nth-child(2),.areas>.reveal:nth-child(2){transition-delay:.08s}
.cards>.reveal:nth-child(3),.ps-grid>.reveal:nth-child(3),.stats>.reveal:nth-child(3),.areas>.reveal:nth-child(3){transition-delay:.16s}
.cards>.reveal:nth-child(4),.ps-grid>.reveal:nth-child(4),.stats>.reveal:nth-child(4),.areas>.reveal:nth-child(4){transition-delay:.24s}
.cards>.reveal:nth-child(n+5),.ps-grid>.reveal:nth-child(n+5),.areas>.reveal:nth-child(n+5){transition-delay:.3s}

/* ---------- Score meter (A) ---------- */
.score{position:relative;overflow:hidden;margin-top:26px;border-radius:30px;padding:30px;background:radial-gradient(circle at 20% 0%,#9c2a1a,transparent 55%),linear-gradient(145deg,#2b050b,#5a0d17 50%,#7a1424);color:#fff;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:28px;align-items:center;box-shadow:var(--shadow)}
.score-bg{position:absolute;left:-140px;top:-140px;width:480px;opacity:.12;animation:spin2 160s linear infinite;pointer-events:none}
.gauges{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;position:relative}
.gauge{text-align:center;background:rgba(255,255,255,.05);border:1px solid rgba(247,215,116,.22);border-radius:24px;padding:14px 10px 18px}
.gauge svg{width:100%;max-width:250px;display:block;margin:0 auto}
.g-track{fill:none;stroke:rgba(255,255,255,.08);stroke-width:18;stroke-linecap:round}
.g-seg{fill:none;stroke-width:18;opacity:.28}
.g-val{fill:none;stroke-width:14;stroke-linecap:round}
.g-ticks line{stroke:rgba(255,240,200,.45);stroke-width:1.4}
.g-needle path{fill:#fff3d0}.g-needle circle{fill:var(--gold)}.g-needle .hub{fill:#5a0d17}
.g-num{font:700 40px var(--font);fill:#fff}
.g-of{font:500 13px var(--font);fill:rgba(255,236,200,.7)}
.g-title{font-family:var(--display);font-size:19px;color:var(--gold-l);margin-top:2px}
.g-pill{display:inline-block;margin-top:8px;font-size:14px;font-weight:700;padding:6px 16px;border-radius:99px;background:rgba(255,255,255,.12)}
.g-pill.green,.g-pill.high{background:rgba(57,209,122,.2);color:#9ff5c2}.g-pill.amber,.g-pill.low{background:rgba(255,182,39,.22);color:#ffd889}.g-pill.red{background:rgba(255,91,79,.25);color:#ffb7ae}.g-pill.mid{background:rgba(247,215,116,.22);color:#ffe9a6}
.score.done .gauge.z-red .g-pill,.score.done .gauge.z-high .g-pill{animation:pop .6s ease}
@keyframes pop{50%{transform:scale(1.12)}}
.score-info{position:relative}
.score-info h3{font-size:21px;color:var(--gold-l);margin-bottom:10px}
.why{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-direction:column;gap:8px}
.why li{display:flex;align-items:center;gap:12px;font-size:16px;background:rgba(255,255,255,.07);border-radius:14px;padding:10px 14px}
.why .pts{flex:0 0 auto;min-width:44px;text-align:center;font-weight:700;font-size:14px;padding:4px 8px;border-radius:10px;background:rgba(255,91,79,.28);color:#ffc7c0}
.why li.mit .pts{background:rgba(57,209,122,.25);color:#a9f3c8}
.ymain{margin:0 0 8px;font-size:15px;color:#ffe9b8}
.snote{margin:0 0 16px;font-size:12.5px;color:rgba(255,230,210,.7)}
.score-cta{display:flex;flex-wrap:wrap;gap:12px}
@media (max-width:1000px){.score{grid-template-columns:minmax(0,1fr)}}
@media (max-width:640px){.score{padding:18px 12px;border-radius:22px}.gauges{gap:8px}.gauge{padding:10px 4px 14px;border-radius:18px}.g-title{font-size:15px}.g-pill{font-size:12.5px;padding:5px 10px}.why li{font-size:15px;padding:9px 10px}.score-cta .btn{width:100%}}

/* ---------- Loader ---------- */
.loader{position:fixed;inset:0;z-index:200;display:grid;place-items:center;background:radial-gradient(circle at 50% 45%,rgba(90,13,23,.92),rgba(43,5,11,.96));opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}
.loader.on{opacity:1;visibility:visible}
.ld-box{text-align:center;color:#fff;padding:20px}
.orbits{position:relative;width:200px;height:200px;margin:0 auto 22px}
.orbits .sun{position:absolute;left:50%;top:50%;width:34px;height:34px;margin:-17px 0 0 -17px;border-radius:50%;background:radial-gradient(circle,#fff6c8,#ffc43d 50%,#ff8a1f);box-shadow:0 0 30px 10px rgba(255,190,70,.55);animation:halo 1.6s ease-in-out infinite}
.orb{position:absolute;left:50%;top:50%;border:1px dashed rgba(247,215,116,.4);border-radius:50%;animation:spin3 3s linear infinite}
.orb i{position:absolute;top:-6px;left:50%;width:12px;height:12px;margin-left:-6px;border-radius:50%;background:#9fd3ff;box-shadow:0 0 10px rgba(160,210,255,.8)}
.orb.o1{width:76px;height:76px;animation-duration:1.4s}.orb.o1 i{background:#d9d9d9;width:8px;height:8px;margin-left:-4px;top:-4px}
.orb.o2{width:112px;height:112px;animation-duration:2.2s}.orb.o2 i{background:#ff6b4a;box-shadow:0 0 10px rgba(255,107,74,.8)}
.orb.o3{width:152px;height:152px;animation-duration:3.4s}.orb.o3 i{background:#ffd877;width:15px;height:15px;margin-left:-7px;top:-7px}
.orb.o4{width:196px;height:196px;animation-duration:5s}.orb.o4 i{background:#a8b6ff}
.ld-t{font-family:var(--display);font-size:22px;color:var(--gold-l)}
.ld-s{margin-top:6px;font-size:13.5px;color:#f3d9c4;letter-spacing:.04em;animation:blink 1.2s ease-in-out infinite}

/* ---------- Sound toggle ---------- */
.sound-btn{position:fixed;left:18px;bottom:18px;z-index:120;display:flex;align-items:center;gap:8px;border:1px solid rgba(247,215,116,.55);background:linear-gradient(135deg,#5a0d17,#7a1424);color:#fff;font:600 13.5px var(--font);padding:10px 16px 10px 12px;border-radius:99px;cursor:pointer;box-shadow:0 12px 30px -10px rgba(43,5,11,.7)}
.sound-btn .ic{font-size:19px;line-height:1}
.sound-btn.on{background:linear-gradient(135deg,#b07d12,#e0a82e);color:#2b050b}
.sound-btn.on .ic{animation:ring 2.4s ease-in-out infinite;transform-origin:50% 10%}
@keyframes ring{0%,60%,100%{transform:rotate(0)}10%{transform:rotate(16deg)}20%{transform:rotate(-14deg)}30%{transform:rotate(9deg)}40%{transform:rotate(-6deg)}}
@media (max-width:640px){.sound-btn .tx{display:none}.sound-btn{padding:10px;left:12px;bottom:12px}}
@media (prefers-reduced-motion:reduce){.hero-sky,.om-yantra,.om-halo,.diya .fl,.diya .halo,.sec>.sec-head h2,.score-bg{animation:none!important}}
/* diya row under the Om (desktop + mobile) */
.hero-om{display:flex;flex-direction:column;align-items:center;gap:26px}
.diyas{position:relative;left:auto;right:auto;bottom:auto;display:flex;justify-content:center;gap:30px;padding:0;z-index:1}
@media (max-width:1000px){
  .hero-om{display:flex!important;flex-direction:row;justify-content:center;gap:18px;margin-top:6px}
  .hero-om .om-ring{width:118px}.hero-om .om-ring span{font-size:66px}
  .diyas{gap:16px;align-self:center;margin-top:28px}
}
@media (max-width:640px){.diyas{bottom:auto;padding:0}.diya{width:40px;height:17px}.diya .fl{width:13px;height:27px;margin-left:-6.5px;bottom:15px}.diya .halo{width:80px;height:80px;margin-left:-40px}}
[id]{scroll-margin-top:84px}

/* ================= Feature modules ================= */
/* sticky section tabs */
.ftabs{position:sticky;z-index:60;margin:0 auto;padding:10px 0;background:linear-gradient(180deg,rgba(255,248,238,.97),rgba(255,248,238,.9));backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.ft-in{max-width:1180px;margin:0 auto;padding:0 20px;display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.ft-in::-webkit-scrollbar{display:none}
.ftabs a{flex:0 0 auto;text-decoration:none;font-size:13.5px;font-weight:600;color:var(--maroon);padding:8px 15px;border-radius:99px;border:1px solid var(--line);background:#fff;white-space:nowrap;transition:.2s}
.ftabs a:hover{border-color:var(--gold)}
.ftabs a.on{background:linear-gradient(135deg,var(--maroon),#a3202a);color:#fff;border-color:transparent;box-shadow:0 8px 18px -10px rgba(122,20,36,.8)}
[id]{scroll-margin-top:136px}
.feat .panel h3{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.small{font-size:13px}.muted.small{color:var(--ink-3)}
.fx-empty{padding:24px;text-align:center;color:var(--ink-2)}
.chip.gold{background:linear-gradient(135deg,#fff1b8,var(--gold-l));color:var(--maroon-d)}
.chip.ok{background:#e3f6ea;color:#17703b}.chip.red{background:#fde4e1;color:#b3261e}.chip.amber{background:#fff1d6;color:#9a5b00}
.linkbtn{background:none;border:0;padding:0;color:var(--maroon);font:600 13px var(--font);cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.btn.sm{padding:9px 16px;font-size:13px}
.btn-ghost-l{background:#fff;color:var(--maroon);border:1.5px solid var(--line)}
.btn-ghost-l:hover{border-color:var(--gold)}
.btn[disabled]{opacity:.5;cursor:not-allowed}
.fld select{font:500 15px var(--font);color:var(--ink);background:var(--cream);border:1.5px solid var(--line);border-radius:14px;padding:12px 13px;outline:none;width:100%}
.fld.sm input{padding:9px 12px;font-size:14px}

/* 1 yatra */
.ycards{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:22px}
.ycard{background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);overflow:hidden;display:flex;flex-direction:column}
.yc-top{padding:20px 22px 16px;background:radial-gradient(circle at 90% 0,rgba(255,138,31,.35),transparent 55%),linear-gradient(135deg,#4a0a14,#7a1424);color:#fff}
.yc-top h3{font-family:var(--display);font-size:21px;margin:10px 0 4px;color:var(--gold-l)}
.yc-top .tmpl{font-size:13px;color:#f6dccb;display:flex;align-items:center;gap:6px}.yc-top .tmpl svg{width:14px;height:14px;fill:var(--gold-l)}
.yc-body{padding:18px 22px 22px;display:flex;flex-direction:column;flex:1}
.yc-body h4{font-size:14px;color:var(--maroon);margin:14px 0 6px;text-transform:uppercase;letter-spacing:.05em}
.yc-body h4:first-child{margin-top:0}.yc-body p{margin:0 0 6px;font-size:14.5px}
.ydates{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}
.ydates li{border:1px solid var(--line);background:var(--cream);border-radius:14px;padding:10px 12px}
.yd-d{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap}.yd-d b{color:var(--maroon-d)}.yd-d small{color:var(--ink-3)}
.yd-t{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}
.itin{margin:4px 0 0;padding-left:20px;font-size:14px}.itin li{margin:3px 0}
.yc-cta{margin-top:auto;padding-top:16px}
.circuit{position:relative;overflow:hidden;margin-top:28px;border-radius:28px;padding:28px;background:linear-gradient(145deg,#fff8ee,#fdf0dc);border:1.5px solid #f0d9a8;box-shadow:var(--shadow)}
.circuit .bgm{position:absolute;right:-120px;top:-120px;width:380px;opacity:.08;pointer-events:none}
.circ-in{position:relative;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:24px;align-items:center}
.circ-l h3{font-family:var(--display);font-size:24px;color:var(--maroon);margin:0}
.cstops{list-style:none;margin:14px 0;padding:0;display:flex;flex-direction:column;gap:0}
.cstops li{position:relative;display:flex;gap:12px;padding:8px 0 14px 0}
.cstops li:not(:last-child)::after{content:"";position:absolute;left:15px;top:40px;bottom:-4px;border-left:2px dashed var(--gold)}
.cstops li.hub{padding-left:42px;color:var(--ink-2);font-size:14px}
.cstops li.hub::before{content:"✈";position:absolute;left:5px;top:6px;font-size:17px}
.cstops .cn{flex:0 0 32px;height:32px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--maroon),#a3202a);color:#fff;font-weight:700;font-size:14px;z-index:1}
.cstops b{display:block;color:var(--maroon-d)}.cstops small{display:block;color:var(--ink-2);font-size:13px}.cstops .leg{display:inline-block;margin-top:4px;font-size:12px;color:var(--ink-3)}
.ctotal{margin:0 0 6px;font-size:15px}
.cmap{width:100%;max-width:360px;display:block;margin:0 auto}
.croute{fill:none;stroke:var(--maroon);stroke-width:2.2;stroke-dasharray:6 5;stroke-linejoin:round;animation:dash 30s linear infinite}
@keyframes dash{to{stroke-dashoffset:-600}}
.cpt circle{fill:var(--maroon);stroke:#fff3d0;stroke-width:3}.cpt.hub circle{fill:var(--gold)}
.cpt text{fill:#fff;font:700 11px var(--font)}.chub{fill:var(--ink-2);font:600 11px var(--font)}

/* 2 upay */
.up-start{max-width:760px;margin:0 auto}
.up-plan{list-style:none;padding:0;margin:12px 0 18px;display:flex;flex-direction:column;gap:10px}
.up-plan li{display:flex;flex-direction:column;gap:3px;padding:12px 14px;border-radius:14px;background:var(--cream);border:1px solid var(--line);font-size:14px}
.up-plan b{color:var(--maroon)}
.up-other{margin-bottom:14px;padding:12px 16px;border-radius:14px;background:#fff1d6;color:#7a4a00;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.up-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.3fr) minmax(0,.9fr);gap:20px;align-items:start}
.up-ring{text-align:center}
.ring{width:150px;height:150px;display:block;margin:0 auto}
.rg-t{fill:none;stroke:#f3e4cc;stroke-width:12}.rg-v{fill:none;stroke:url(#none);stroke:var(--gold);stroke-width:12;stroke-linecap:round;transition:stroke-dashoffset 1s ease}
.rg-n{font:700 26px var(--font);fill:var(--maroon)}.rg-s{font:500 12px var(--font);fill:var(--ink-3)}
.up-kpi{display:flex;justify-content:center;gap:22px;margin:10px 0}
.up-kpi div{display:flex;flex-direction:column}.up-kpi b{font-size:20px;color:var(--maroon)}.up-kpi span{font-size:12px;color:var(--ink-3)}
.up-dots{display:grid;grid-template-columns:repeat(10,1fr);gap:5px;max-width:230px;margin:10px auto 0}
.up-dots i{aspect-ratio:1;border-radius:50%;background:#f3e4cc}
.up-dots i.done{background:var(--gold)}.up-dots i.part{background:linear-gradient(90deg,var(--gold) 50%,#f3e4cc 50%)}.up-dots i.miss{background:#f6c9c2}.up-dots i.today{box-shadow:0 0 0 2px var(--maroon)}
.up-fin{color:#17703b;font-weight:600;font-size:14px}
.up-item{padding:12px 0;border-bottom:1px dashed var(--line)}.up-item:last-child{border:0}
.up-item>b{color:var(--maroon);font-size:15px}
.up-chk{display:flex;gap:10px;align-items:flex-start;margin-top:8px;font-size:14px;cursor:pointer}
.up-chk input{width:20px;height:20px;accent-color:var(--maroon);flex:0 0 auto;margin-top:2px}
.up-chk input:checked+span{color:#17703b;text-decoration:line-through;text-decoration-color:rgba(23,112,59,.4)}
.up-mala{text-align:center}
.mala-btn{width:150px;height:150px;border-radius:50%;border:0;cursor:pointer;margin:6px auto 10px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle at 35% 30%,#fff1b8,var(--gold) 55%,var(--gold-d));box-shadow:0 18px 40px -14px rgba(176,125,18,.9),inset 0 -6px 12px rgba(122,20,36,.25);transition:transform .08s;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.mala-btn:active{transform:scale(.95)}
.mb-n{font:700 44px var(--font);color:var(--maroon-d);line-height:1}.mb-of{font-size:13px;color:var(--maroon)}
.mala-beads{display:flex;flex-wrap:wrap;justify-content:center;gap:4px;max-width:220px;margin:0 auto 8px}
.mala-beads i{width:9px;height:9px;border-radius:50%;background:#f0dcc0}.mala-beads i.on{background:var(--maroon)}
.up-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin:20px 0}
.up-re{margin-top:4px}
.re-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:6px 0 10px}
.re-box{border-radius:18px;padding:16px;background:var(--cream);border:1px solid var(--line);display:flex;flex-direction:column;gap:2px}
.re-box span{font-size:13px;color:var(--ink-2);font-weight:600}.re-box b{font-size:34px;color:var(--maroon)}.re-box b small{font-size:14px;color:var(--ink-3)}.re-box em{font-style:normal;font-size:12px;color:var(--ink-3)}
.re-box.re-prog{background:linear-gradient(135deg,#fff8dc,#fdeec4);border-color:#f0d9a8}
.re-hist ul{list-style:none;padding:0;margin:6px 0 14px}.re-hist li{display:flex;justify-content:space-between;gap:10px;font-size:13.5px;padding:6px 0;border-bottom:1px dashed var(--line)}

/* 3 family */
.fam-form{margin-bottom:22px}
.ff-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:12px}
.ff-place{grid-column:span 3}
.ff-btns{display:flex;gap:12px;flex-wrap:wrap;margin-top:14px}
.ftree{display:flex;flex-direction:column;align-items:center;gap:0}
.ft-row{display:flex;flex-wrap:wrap;justify-content:center;gap:16px;width:100%}
.ft-link{width:2px;height:26px;background:linear-gradient(var(--gold),var(--maroon))}
.fm-card{position:relative;width:220px;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);padding:16px 14px 14px;text-align:center}
.fm-x{position:absolute;right:8px;top:6px;border:0;background:none;font-size:20px;color:var(--ink-3);cursor:pointer;line-height:1}
.fm-rel{display:inline-block;font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--gold-d);background:#fff6dd;padding:3px 10px;border-radius:99px}
.fm-card h4{margin:6px 0 0;font-size:16.5px;color:var(--maroon-d)}.fm-card>small{color:var(--ink-3);font-size:12px}
.fm-g{display:flex;justify-content:center;gap:6px;margin:8px 0 2px}
.fm-g>div{display:flex;flex-direction:column;align-items:center;font-size:10.5px;color:var(--ink-3);max-width:96px;line-height:1.2}
.mg{width:84px;height:52px}.mg-t{fill:none;stroke:#f3e4cc;stroke-width:8;stroke-linecap:round}.mg-v{fill:none;stroke-width:8;stroke-linecap:round}
.mg text{font:700 17px var(--font);fill:var(--maroon-d)}
.fm-moon{margin:6px 0;font-size:13px;color:var(--ink-2)}
.fm-ds{display:flex;flex-wrap:wrap;justify-content:center;gap:4px}
.shared{list-style:none;padding:0;margin:8px 0}.shared li{display:flex;flex-direction:column;padding:10px 0;border-bottom:1px dashed var(--line);font-size:14px}.shared b{color:var(--maroon)}
.milan+.milan{margin-top:18px;padding-top:18px;border-top:1px dashed var(--line)}
.mi-pair{margin:4px 0}
.mi-score{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap;margin:6px 0 10px}
.mi-score b{font-size:42px;color:var(--maroon);line-height:1}.mi-score span{color:var(--ink-3)}
.mi-score em{font-style:normal;font-size:13px;font-weight:700;padding:4px 12px;border-radius:99px;margin-left:8px}
.mi-score em.ok{background:#e3f6ea;color:#17703b}.mi-score em.mid{background:#fff1d6;color:#9a5b00}.mi-score em.low{background:#fde4e1;color:#b3261e}
.mi-t tr.zero td{color:#b3261e}.mi-t tr.tot td{font-weight:700;border-top:1.5px solid var(--line)}
.mi-notes{margin:10px 0 0;padding-left:18px;font-size:13.5px;color:var(--ink-2)}
.fam-pooja{margin-top:24px;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;padding:22px 26px;border-radius:24px;color:#fff;background:radial-gradient(circle at 90% 10%,rgba(255,138,31,.45),transparent 50%),linear-gradient(135deg,#4a0a14,#7a1424)}
.fam-pooja>div{display:flex;gap:14px;align-items:flex-start}.fp-ic{font-size:34px}
.fam-pooja h3{margin:0;font-size:19px;color:var(--gold-l)}.fam-pooja p{margin:4px 0 0;color:#f6dccb;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.fam-pooja p svg{width:14px;height:14px;fill:var(--gold-l)}
.fam-pooja .muted.small{color:#f0cdb8}

/* 4 karma */
.kfor{text-align:center;margin:-6px 0 18px;color:var(--ink-2)}
.kgrid2{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}
.kcal-h{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.kcal-h h3{flex:1;text-align:center;margin:0;font-family:var(--display);font-size:20px}
.kcal-h select{font:500 13px var(--font);border:1.5px solid var(--line);border-radius:10px;padding:6px 8px;background:var(--cream);color:var(--ink)}
.kbtn{width:36px;height:36px;border-radius:50%;border:1.5px solid var(--line);background:#fff;color:var(--maroon);font-size:20px;cursor:pointer;line-height:1}
.kbtn[disabled]{opacity:.35}
.kgrid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}
.kw{text-align:center;font-size:11.5px;font-weight:700;color:var(--ink-3);text-transform:uppercase;padding:4px 0}
.kc{position:relative;aspect-ratio:1/0.92;border-radius:12px;border:1.5px solid transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;cursor:pointer;font:600 15px var(--font);color:var(--ink);background:#f7efe2;padding:0}
.kc.e{background:none;cursor:default}
.kc span{font-size:12px;line-height:1;min-height:12px}.kc em{font-style:normal;font-size:10px;font-weight:800;color:#5f3dc4}
.kc.shubh{background:#e3f6ea;color:#135c31}.kc.madhyam{background:#fff4dc;color:#7a4a00}.kc.savdhan{background:#fde4e1;color:#9b1c14}
.kc.today{border-color:var(--maroon);box-shadow:0 0 0 2px rgba(122,20,36,.2)}.kc.sel{border-color:var(--gold);box-shadow:0 0 0 3px rgba(224,168,46,.45)}.kc.past{opacity:.5}
.klegend{display:flex;flex-wrap:wrap;gap:12px;margin:12px 0 4px;font-size:12.5px;color:var(--ink-2)}
.klegend span{display:flex;align-items:center;gap:5px}.klegend i{width:12px;height:12px;border-radius:4px;display:inline-block}
.klegend i.shubh{background:#bfe9cf}.klegend i.madhyam{background:#ffe3a8}.klegend i.savdhan{background:#f8bcb5}.klegend em{font-style:normal;font-weight:800;color:#5f3dc4}
.kdet{margin-top:12px;border-radius:16px;padding:14px 16px;border:1px solid var(--line);background:var(--cream)}
.kd-h{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;align-items:center}.kd-h b{color:var(--maroon-d)}
.kpill{font-size:12px;font-weight:700;padding:4px 12px;border-radius:99px}.kpill.shubh{background:#bfe9cf;color:#135c31}.kpill.madhyam{background:#ffe3a8;color:#7a4a00}.kpill.savdhan{background:#f8bcb5;color:#9b1c14}
.kd-why{list-style:none;padding:0;margin:8px 0 0;font-size:13.5px}.kd-why li{padding:3px 0 3px 20px;position:relative}
.kd-why li::before{content:"•";position:absolute;left:6px;color:var(--ink-3)}.kd-why li.pos::before{content:"▲";color:#1f9d55;font-size:10px;top:6px}.kd-why li.neg::before{content:"▼";color:#d0312d;font-size:10px;top:6px}.kd-why li.rk::before{content:""}
.kbest-g{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:10px 0 16px}
.kbest-c{border-radius:16px;padding:12px 14px;background:var(--cream);border:1px solid var(--line)}
.kbest-c h4{margin:0 0 6px;color:var(--maroon);font-size:14.5px}
.kbest-c ul{list-style:none;padding:0;margin:0}.kbest-c li{display:flex;flex-direction:column;padding:4px 0;border-bottom:1px dashed var(--line)}.kbest-c li:last-child{border:0}
.kbest-c small{color:var(--ink-3);font-size:12px}

/* 5 NRI */
.nri-pick{margin-bottom:20px}
.nri-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.chipbtn{border:1.5px solid var(--line);background:#fff;color:var(--maroon);font:600 13px var(--font);padding:7px 14px;border-radius:99px;cursor:pointer}
.chipbtn.on{background:var(--maroon);color:#fff;border-color:var(--maroon)}
.nri-hd{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:16px;padding:20px 24px;border-radius:24px;color:#fff;background:radial-gradient(circle at 10% 0,rgba(255,138,31,.4),transparent 55%),linear-gradient(135deg,#2b050b,#7a1424)}
.nri-hd h3{margin:0;font-family:var(--display);color:var(--gold-l);font-size:22px}.nri-hd .muted{color:#f0cdb8;margin:4px 0 0;font-size:13px}
.nri-hd .chip{background:rgba(255,255,255,.15);color:#fff}.nri-hd .chip.gold{color:var(--maroon-d)}
.nri-clock{text-align:right}.nri-clock b{display:block;font-size:30px;color:#fff;line-height:1.1}.nri-clock span{font-size:13px;color:#f0cdb8}
.mgrid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.mcard{background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px;display:flex;flex-direction:column;gap:2px;box-shadow:0 10px 24px -18px rgba(74,10,20,.5)}
.mcard .mi{font-size:20px}.mcard .ml{font-size:12px;font-weight:600;color:var(--ink-3);text-transform:uppercase;letter-spacing:.04em}.mcard b{font-size:15.5px;color:var(--maroon-d)}.mcard small{font-size:11.5px;color:var(--ink-3)}
.mcard.good{border-left:4px solid #1f9d55}.mcard.bad{border-left:4px solid #d0312d}.mcard.gold{border-left:4px solid var(--gold)}.mcard.mixed{border-left:4px solid #e08a00}
.chog{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.chog h4{margin:6px 0;font-size:14px;color:var(--maroon)}
.chog ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:5px}
.chog li{display:flex;justify-content:space-between;align-items:center;gap:6px;font-size:13px;padding:6px 10px;border-radius:10px;background:#f7efe2;flex-wrap:wrap}
.chog li.good{background:#e3f6ea}.chog li.bad{background:#fde4e1}.chog li.neutral{background:#fff4dc}
.chog li.now{outline:2px solid var(--maroon)}.chog li em{font-style:normal;font-size:11px;font-weight:700;color:#fff;background:var(--maroon);padding:1px 8px;border-radius:99px}
.ib{list-style:none;padding:0;margin:8px 0 0;display:flex;flex-direction:column;gap:10px}
.ib li{border:1px solid var(--line);background:var(--cream);border-radius:16px;padding:12px 14px}
.ib-top{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap}.ib-top b{color:var(--maroon-d);font-size:14px}.ib-top small{color:var(--ink-3)}
.ib-t{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:6px 0 2px;font-size:17px;font-weight:700}
.ib-t em,.ib-out em{font-style:normal;font-size:12px;font-weight:600;color:var(--ink-3)}
.ib-t .loc{color:var(--maroon)}.arr{color:var(--gold-d);font-weight:700}
.dd{font-style:normal;font-size:11px;font-weight:600;background:#fff1d6;color:#9a5b00;padding:2px 8px;border-radius:99px}
.ib-line{margin:4px 0 0;font-size:13px;color:var(--ink-2)}
.ib-conv{margin-top:16px;padding-top:14px;border-top:1px dashed var(--line)}.ib-conv h4{margin:0 0 8px;color:var(--maroon);font-size:14px}
.ib-cr{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}.ib-out{font-size:18px;color:var(--maroon);padding-bottom:8px}
.feat .tbl td{white-space:nowrap}

@media (max-width:1000px){
  .up-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.up-today{grid-column:span 2;order:-1}
  .mgrid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .circ-in,.kgrid2{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:640px){
  .ftabs{padding:8px 0}.ft-in{padding:0 12px;gap:6px}.ftabs a{font-size:13px;padding:7px 12px}
  [id]{scroll-margin-top:120px}
  .ycards{grid-template-columns:minmax(0,1fr)}
  .yc-top,.yc-body{padding-left:16px;padding-right:16px}
  .circuit{padding:20px 16px}
  .up-grid{grid-template-columns:minmax(0,1fr)}.up-today{grid-column:auto}
  .re-row{grid-template-columns:1fr 1fr}.re-box b{font-size:28px}
  .ff-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.ff-place{grid-column:span 2}.ff-grid label:first-child{grid-column:span 2}
  .fm-card{width:calc(50% - 8px);min-width:0;padding:14px 8px 12px}.ft-row{gap:12px}
  .mg{width:70px;height:44px}
  .mgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .chog{grid-template-columns:minmax(0,1fr)}
  .kbest-g{grid-template-columns:minmax(0,1fr)}
  .kc{font-size:13.5px;border-radius:9px}.kgrid{gap:3px}
  .nri-hd{padding:16px}.nri-clock{text-align:left}
  .fam-pooja{padding:18px}.fam-pooja .btn{width:100%}
}
.cpt text.cl{fill:var(--maroon-d);font:600 12px var(--font);paint-order:stroke;stroke:#fff8ee;stroke-width:4px}
.cpt .gl{stroke:none}
.kbest-c .linkbtn{text-align:left;align-self:flex-start}
.up-start .snote{margin-top:16px}
.ycards:has(> .ycard:only-child){max-width:640px;margin:0 auto}

/* ===== Kundli DNA Art ===== */
.art-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:24px;align-items:start}
.art-stage{padding:14px;background:linear-gradient(160deg,#2b050b,#4a0a14);border:1px solid rgba(247,215,116,.35);position:sticky;top:150px}
.art-stage canvas{display:block;width:100%;height:auto;aspect-ratio:1;border-radius:14px;box-shadow:0 20px 60px -25px rgba(0,0,0,.7)}
.art-side{display:flex;flex-direction:column;gap:16px}
.art-side .chips{align-items:center;gap:8px}
.art-side .chip,.art-who .chip{border:1.5px solid var(--line);background:#fff;cursor:pointer;font:600 13px var(--font);padding:7px 13px;display:inline-flex;align-items:center;gap:7px;transition:.2s}
.art-side .chip.on{background:linear-gradient(135deg,var(--maroon),#a3202a);color:#fff;border-color:transparent}
.sw{width:14px;height:14px;border-radius:50%;display:inline-block;border:1px solid rgba(0,0,0,.15)}
.sw-royal{background:radial-gradient(circle at 35% 35%,#f7d774,#6a1020 60%)}.sw-night{background:radial-gradient(circle at 35% 35%,#e6c675,#14163a 60%)}
.sw-pastel{background:radial-gradient(circle at 35% 35%,#f7c6d6,#fff7f0 70%)}.sw-mono{background:linear-gradient(135deg,#fff 50%,#111 50%)}
.art-btns{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.art-btns .btn{padding:12px 14px;font-size:13.5px;width:100%}
.art-btns .btn-maroon,.art-btns .btn-wa{grid-column:1/-1}
.art-meaning summary{cursor:pointer;font-family:var(--display);font-weight:700;color:var(--maroon);font-size:18px;margin-bottom:10px}
.art-leg{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.art-leg li{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;line-height:1.5;color:var(--ink-2)}
.art-leg i{flex:none;width:13px;height:13px;border-radius:50%;margin-top:4px;border:1px solid rgba(0,0,0,.18);box-shadow:0 0 0 2px #fff}
.art-gal-w{margin-top:24px}.art-gal-w h3{font-family:var(--display);color:var(--maroon);margin-bottom:14px}
.art-gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px}
.art-gc{border:1.5px solid var(--line);background:#fff;border-radius:16px;padding:8px 8px 10px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:4px;font:inherit;color:var(--ink);transition:.2s}
.art-gc:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.art-gc.on{border-color:var(--gold);box-shadow:0 0 0 3px rgba(224,168,46,.25)}
.art-gc canvas{width:100%;height:auto;aspect-ratio:1;border-radius:50%}
.art-gc b{font-size:14px}.art-gc small{font-size:12px;color:var(--ink-3)}
/* ===== Grah Playlist ===== */
.gp-now{display:grid;grid-template-columns:1.3fr 1fr;gap:22px;padding:24px 26px;margin-bottom:22px;background:linear-gradient(135deg,#2b050b,#5a0d1a 60%,#7a1424);color:#fbe8d3;border:1px solid rgba(247,215,116,.3)}
.gp-now h3{font-family:var(--display);color:var(--gold-l);font-size:24px;margin:6px 0}
.gp-now p{margin:0 0 12px;opacity:.85}
.gp-now .chip{background:rgba(255,255,255,.12);color:#fff;text-decoration:none}.gp-now .chip.on{background:var(--gold-l);color:var(--maroon-d)}
.gp-now-r{display:flex;flex-direction:column;gap:10px;justify-content:center;border-left:1px solid rgba(247,215,116,.25);padding-left:22px}
.gp-now-r b{font-family:var(--display);font-size:22px;color:#fff}.gp-now-r small{opacity:.75;font-size:12px;line-height:1.5}
.eyebrow{font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--gold)}
.gp-head{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;align-items:flex-start;border-bottom:1px dashed var(--line);padding-bottom:16px;margin-bottom:8px}
.gp-head h3{font-family:var(--display);color:var(--maroon);font-size:22px;margin:4px 0}
.gp-facts{display:flex;flex-wrap:wrap;gap:8px}
.gp-f{display:flex;flex-direction:column;background:var(--cream);border:1px solid var(--line);border-radius:14px;padding:7px 12px 7px 26px;position:relative;min-width:104px}
.gp-f i{position:absolute;left:10px;top:12px;width:10px;height:10px;border-radius:50%;border:1px solid rgba(0,0,0,.2)}
.gp-f small{font-size:11px;color:var(--ink-3)}.gp-f b{font-size:14px;color:var(--maroon)}
.gp-list{list-style:none;margin:0;padding:0}
.gp-it{display:grid;grid-template-columns:150px 1fr;gap:18px;padding:16px 0;border-bottom:1px solid var(--line)}
.gp-it:last-child{border-bottom:0}
.gp-t{display:flex;flex-direction:column;gap:2px}.gp-slot{font-weight:700;color:var(--maroon);font-size:14px}.gp-t small{color:var(--ink-3);font-size:12px}
.gp-k{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:600;color:var(--ink-3);text-transform:uppercase;letter-spacing:.05em}
.gp-k i{width:10px;height:10px;border-radius:50%;border:1px solid rgba(0,0,0,.2)}
.gp-title{display:block;font-size:17px;margin:3px 0;color:var(--ink)}
.gp-dev{font-family:"Noto Sans Devanagari",serif;color:var(--maroon-d);font-size:15px;background:var(--cream);border-left:3px solid var(--gold);padding:6px 10px;border-radius:0 10px 10px 0;margin:6px 0}
.gp-why{margin:4px 0 6px;color:var(--ink-2);font-size:14px}
.gp-meta{display:flex;gap:14px;font-size:12.5px;color:var(--ink-3);margin-bottom:8px;flex-wrap:wrap}
.gp-act{display:flex;gap:8px;flex-wrap:wrap}
.btn-sm{padding:8px 14px;font-size:13px;gap:6px}
.gp-mu .gp-title{color:var(--maroon)}
.gp-foot{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;border-top:1px dashed var(--line);padding-top:16px;margin-top:4px;font-weight:600;color:var(--maroon)}
.gp-week{margin-top:22px}.gp-week h3{font-family:var(--display);color:var(--maroon);margin-bottom:12px}
.gp-tw{overflow-x:auto}
.gp-tbl{width:100%;border-collapse:collapse;font-size:13.5px;min-width:560px}
.gp-tbl th{text-align:left;font-size:12px;color:var(--ink-3);font-weight:600;padding:8px;border-bottom:1px solid var(--line)}
.gp-tbl td{padding:10px 8px;border-bottom:1px solid var(--line);vertical-align:top}
.gp-tbl .dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px;border:1px solid rgba(0,0,0,.2)}
.gq{font-size:12px;font-weight:600;padding:2px 9px;border-radius:99px;white-space:nowrap}
.gq-good{background:var(--green-bg);color:#17703b}.gq-mixed{background:var(--cream-2);color:var(--ink-2)}.gq-bad{background:var(--amber-bg);color:#9a5b00}.gq-worst{background:var(--red-bg);color:#b3261e}
.gp-player{position:fixed;inset:0;z-index:90;background:rgba(20,3,8,.72);backdrop-filter:blur(8px);display:grid;place-items:center;padding:16px}
.gp-player[hidden]{display:none}
.gp-pl-in{position:relative;width:min(560px,100%);max-height:94vh;overflow:auto;background:radial-gradient(circle at 50% 0,#6a1020,#2b050b 70%);color:#fbe8d3;border:1px solid rgba(247,215,116,.4);border-radius:26px;padding:30px 26px 24px;text-align:center;box-shadow:0 30px 80px -20px rgba(0,0,0,.8)}
.gp-pl-in h3{font-family:var(--display);color:var(--gold-l);font-size:22px;margin:6px 0 14px}
.gp-x{position:absolute;right:14px;top:12px;background:rgba(255,255,255,.1);color:#fff;border:0;width:36px;height:36px;border-radius:50%;cursor:pointer;font-size:16px}
.gp-mantra{font-family:"Noto Sans Devanagari",serif;font-size:clamp(20px,4.6vw,26px);line-height:1.6;color:#fff3c8;text-shadow:0 0 24px rgba(255,190,90,.35)}
.gp-tr{font-style:italic;opacity:.85;margin:8px 0 18px;font-size:14px}
.gp-count{position:relative;width:170px;height:170px;border:0;background:none;cursor:pointer;display:grid;place-items:center;margin:0 auto;color:#fff;-webkit-tap-highlight-color:transparent}
.gp-count svg{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}
.gp-rt{fill:rgba(255,255,255,.06);stroke:rgba(247,215,116,.2);stroke-width:8}.gp-rv{fill:none;stroke:var(--gold-l);stroke-width:8;stroke-linecap:round;transition:stroke-dashoffset .25s}
.gp-count b{font-size:44px;font-family:var(--display);line-height:1;position:relative}.gp-count small{position:absolute;bottom:46px;opacity:.75}
.gp-count:active{transform:scale(.97)}
.gp-pl-in .muted{color:#f3d9c0}.gp-ok{color:#9ee6b4}
.gp-ctl{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:14px}
body.gp-open{overflow:hidden}
@media (max-width:1000px){.art-grid{grid-template-columns:1fr}.art-stage{position:static}.gp-now{grid-template-columns:1fr}.gp-now-r{border-left:0;padding-left:0;border-top:1px solid rgba(247,215,116,.25);padding-top:14px}}
@media (max-width:640px){.art-btns{grid-template-columns:1fr}.gp-it{grid-template-columns:1fr;gap:6px}.gp-t{flex-direction:row;gap:10px;align-items:baseline}.gp-f{min-width:0;flex:1 1 44%}.gp-now{padding:20px}.art-gal{grid-template-columns:repeat(2,1fr)}}
.fnote2{margin:14px 0 0;font-size:12.5px;color:var(--ink-3);background:var(--cream);border:1px dashed var(--line);border-radius:12px;padding:8px 12px}
.gp-tbl td:first-child,.gp-tbl td:nth-child(2){white-space:nowrap}@media (max-width:640px){.gp-tbl{font-size:12.5px}.gp-tbl td,.gp-tbl th{padding:8px 6px}}

.k-actions{display:flex;flex-wrap:wrap;gap:10px;margin:4px 0 8px;align-items:center}
.kprint{display:none}

/* Printable Karma Calendar — only when body.printing-karma (Print button). Other prints are unchanged. */
@media print{
  @page{size:A4;margin:12mm 12mm 14mm 12mm}
  html{overflow:visible!important}
  body.printing-karma{
    background:#fff!important;color:#000!important;
    font-family:"Noto Sans Devanagari","Mangal","Nirmala UI",sans-serif;
    font-size:11pt;line-height:1.45;
    overflow:visible!important;overflow-x:visible!important;overflow-y:visible!important;
    width:auto!important;max-width:none!important;
    -webkit-print-color-adjust:exact;print-color-adjust:exact
  }
  body.printing-karma,body.printing-karma *{
    box-shadow:none!important;text-shadow:none!important;filter:none!important;
    animation:none!important;animation-play-state:paused!important;transition:none!important
  }
  body.printing-karma > *:not(#karmaPrint){display:none!important}
  body.printing-karma > #karmaPrint,body.printing-karma #karmaPrint{
    display:block!important;visibility:visible!important;position:static!important;
    width:auto!important;max-width:none!important;margin:0!important;padding:0!important;
    background:#fff!important;color:#000!important;border:0!important;box-shadow:none!important;
    overflow:visible!important;height:auto!important;float:none!important
  }
  body.printing-karma .nav,body.printing-karma .hero,body.printing-karma .ftabs,
  body.printing-karma .sound-btn,body.printing-karma .loader,body.printing-karma .toast,
  body.printing-karma .foot,body.printing-karma .gp-player,body.printing-karma canvas,
  body.printing-karma button,body.printing-karma input,body.printing-karma select,
  body.printing-karma textarea,body.printing-karma .btn,body.printing-karma .btn-wa,
  body.printing-karma [data-wa],body.printing-karma .kbtn{display:none!important}
  body.printing-karma .kprint,body.printing-karma #karmaPrint,body.printing-karma #karmaPrint *{
    visibility:visible!important;color:#000
  }
  body.printing-karma #karmaPrint{
    font-family:"Noto Sans Devanagari","Mangal","Nirmala UI",sans-serif;
    font-size:11pt;line-height:1.45
  }
  body.printing-karma a{color:#000!important;text-decoration:none!important}
  body.printing-karma .kprint-head{
    border-bottom:1pt solid #000;margin:0 0 3mm;padding:0 0 2mm;break-after:avoid;page-break-after:avoid
  }
  body.printing-karma .kprint-brand{margin:0;font-size:11pt;font-weight:700;letter-spacing:.02em}
  body.printing-karma .kprint-head h1{margin:1mm 0 0.8mm;font-size:15pt;font-weight:700;line-height:1.25;color:#000}
  body.printing-karma .kprint-who{margin:0 0 0.6mm;font-size:12pt;line-height:1.3}
  body.printing-karma .kprint-meta,body.printing-karma .kprint-date,body.printing-karma .kfor{
    margin:0 0 0.8mm;font-size:11pt;line-height:1.4;text-align:left;color:#000
  }
  body.printing-karma .klegend{display:flex;flex-wrap:wrap;gap:2mm 4mm;margin:1mm 0 3mm;font-size:10pt;color:#000;break-after:avoid;page-break-after:avoid}
  body.printing-karma .klegend span{display:flex;align-items:center;gap:1.5mm;color:#000}
  body.printing-karma .klegend i{width:3.2mm;height:3.2mm;border:0.4pt solid #333;border-radius:0;display:inline-block;background:#fff}
  body.printing-karma .klegend i.shubh{background:#ddd}
  body.printing-karma .klegend i.madhyam{background:#fff;box-shadow:inset 0 0 0 0.6pt #333}
  body.printing-karma .klegend i.savdhan{background:#fff;border-style:double;border-width:1.2pt}
  body.printing-karma .kprint-chunk{display:block;width:100%;max-width:100%;page-break-after:always;break-after:page;padding:3mm 0}
  body.printing-karma .kprint-months{display:grid;grid-template-columns:1fr 1fr;gap:4mm 4.5mm;width:100%;max-width:100%}
  body.printing-karma .kprint-month{break-inside:avoid;page-break-inside:avoid;overflow:visible}
  body.printing-karma .kprint-month h3{
    break-after:avoid;page-break-after:avoid;margin:0 0 1.2mm;padding-top:0.8mm;font-size:11pt;font-weight:700;color:#000;line-height:1.45
  }
  body.printing-karma .kprint-tbl{
    width:100%;max-width:100%;border-collapse:collapse;table-layout:fixed;break-inside:avoid;page-break-inside:avoid
  }
  body.printing-karma .kprint-tbl thead{display:table-header-group}
  body.printing-karma .kprint-tbl tbody{display:table-row-group}
  body.printing-karma .kprint-tbl tr{break-inside:avoid;page-break-inside:avoid}
  body.printing-karma .kprint-tbl th,body.printing-karma .kprint-tbl td{
    break-inside:avoid;page-break-inside:avoid;
    border:0.4pt solid #222;text-align:center;vertical-align:middle;
    padding:0.7mm 0.4mm;font-size:9pt;line-height:1.2;color:#000;background:#fff;
    width:14.28%;overflow:hidden
  }
  body.printing-karma .kprint-tbl th{font-size:8.5pt;font-weight:700;letter-spacing:.02em}
  body.printing-karma .kprint-tbl td b{display:block;font-size:11pt;font-weight:700;line-height:1.2}
  body.printing-karma .kprint-tbl td span{display:block;font-size:8pt;line-height:1.2}
  body.printing-karma .kprint-tbl td em{font-style:normal;font-weight:700}
  body.printing-karma .kprint-tbl td.shubh{background:#eee;font-weight:700}
  body.printing-karma .kprint-tbl td.madhyam{background:#fff}
  body.printing-karma .kprint-tbl td.savdhan{background:#fff;border:1pt double #222}
  body.printing-karma .kprint-tbl td.today{outline:0.8pt solid #000;outline-offset:-1.1pt}
  body.printing-karma .kprint-tbl td.e{background:#fff;border-color:#999}
  body.printing-karma .kprint-best{break-inside:avoid;page-break-inside:avoid;margin-top:0;padding-top:3mm}
  body.printing-karma .kprint-best h2{margin:0 0 3mm;padding-top:1mm;font-size:13pt;line-height:1.45;color:#000;break-after:avoid;page-break-after:avoid}
  body.printing-karma .kbest-g{display:grid;grid-template-columns:1fr 1fr;gap:3mm;margin:0}
  body.printing-karma .kbest-c{break-inside:avoid;page-break-inside:avoid;border:0.4pt solid #222;border-radius:0;background:#fff;padding:2mm 3mm}
  body.printing-karma .kbest-c h4{margin:0 0 1mm;color:#000;font-size:11pt}
  body.printing-karma .kbest-c li{border-bottom:0.3pt solid #666;color:#000;padding:1mm 0}
  body.printing-karma .kbest-c li:last-child{border:0}
  body.printing-karma .kbest-c small{color:#000;font-size:9pt}
  body.printing-karma .snote{margin:4mm 0 0;font-size:9pt;color:#000;background:none;border:0;padding:0}
}
