/* SanskritPeeth Premium Layer v3 — 3D depth, glass, motion. Loads after theme.css */
:root{--glow:rgba(232,201,122,.55);--ease:cubic-bezier(.2,.7,.2,1)}
[hidden]{display:none!important}
html.nopre #pre{display:none}
/* ---- Preloader (pure CSS auto-hide; never blocks content for long) ---- */
#pre{position:fixed;inset:0;z-index:99999;display:grid;place-items:center;perspective:900px;background:radial-gradient(circle at 50% 42%,#a31d22,#4a090c 62%,#210305);animation:preOut .8s ease 1.25s forwards}
.pre-s{position:relative;width:min(56vw,250px);aspect-ratio:1;display:grid;place-items:center;transform-style:preserve-3d;animation:preTilt 2.6s ease-in-out infinite}
.pre-s i{position:absolute;inset:0;border-radius:50%;border:2px dashed #e8c97a;animation:pspin 9s linear infinite}
.pre-s i:nth-child(2){inset:12%;border:3px solid #c8962e;animation-direction:reverse;animation-duration:7s}
.pre-s i:nth-child(3){inset:24%;border:1px dotted #fff;opacity:.6;animation-duration:12s}
.pre-s b{font:800 clamp(80px,20vw,128px)/1 var(--f-head);color:#e8c97a;text-shadow:0 0 30px var(--glow),0 6px 0 #b98324,0 12px 20px rgba(0,0,0,.5);animation:omGlow 1.5s ease-in-out infinite alternate}
.pre-t{position:absolute;bottom:13%;color:#f1dcc0;font:700 15px var(--f-body);letter-spacing:.22em}
@keyframes preOut{to{opacity:0;visibility:hidden}}
@keyframes preTilt{50%{transform:rotateX(16deg) rotateY(14deg)}}
@keyframes omGlow{to{transform:translateZ(40px) scale(1.07);text-shadow:0 0 50px rgba(232,201,122,.9),0 6px 0 #b98324,0 14px 26px rgba(0,0,0,.5)}}
@keyframes pspin{to{transform:rotate(360deg)}}
/* ---- Ambient layers ---- */
body::after{content:"";position:fixed;inset:-25%;z-index:-2;pointer-events:none;background:radial-gradient(38% 38% at 18% 22%,rgba(200,150,46,.20),transparent 62%),radial-gradient(34% 34% at 82% 28%,rgba(155,27,31,.14),transparent 62%),radial-gradient(40% 40% at 55% 88%,rgba(232,201,122,.18),transparent 62%);animation:aur 26s ease-in-out infinite alternate}
[data-theme=dark] body::after{opacity:.6}
@keyframes aur{to{transform:translate3d(4%,3%,0) rotate(6deg) scale(1.08)}}
#fx{position:fixed;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}
#cur{position:fixed;left:0;top:0;width:360px;height:360px;margin:-180px 0 0 -180px;border-radius:50%;pointer-events:none;z-index:0;background:radial-gradient(circle,rgba(232,201,122,.15),transparent 66%);opacity:0;transition:opacity .4s;will-change:transform}
main{animation:pgIn .75s var(--ease)}
@keyframes pgIn{from{opacity:0;transform:translateY(18px)}}
/* ---- Glass header / nav ---- */
.hd{background:color-mix(in srgb,var(--paper) 78%,transparent);-webkit-backdrop-filter:blur(16px) saturate(1.4);backdrop-filter:blur(16px) saturate(1.4)}
.nv{background:linear-gradient(180deg,rgba(155,27,31,.97),rgba(123,17,19,.97));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.nv a{transition:transform .25s var(--ease),background .25s,box-shadow .25s}
.nv a:hover{transform:translateY(-2px);background:rgba(255,255,255,.17);box-shadow:0 8px 16px -8px rgba(0,0,0,.55)}
.logo .lt{filter:drop-shadow(0 4px 6px rgba(123,17,19,.35));transition:transform .6s var(--ease)}
.logo:hover .lt{transform:rotateY(360deg)}
/* ---- Hero polish ---- */
.hero-c h1{background:linear-gradient(100deg,var(--maroon) 0%,#b8862b 38%,var(--maroon) 72%);background-size:220% auto;-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:none;animation:sheen 7s linear infinite}
[data-theme=dark] .hero-c h1{background-image:linear-gradient(100deg,#e8c97a,#fff3c9 40%,#c8962e 70%,#e8c97a)}
@keyframes sheen{to{background-position:220% center}}
/* ---- Buttons ---- */
.btn{position:relative;overflow:hidden;isolation:isolate;transition:filter .2s,box-shadow .25s,transform .2s}
.btn::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.38) 50%,transparent 70%);transform:translateX(-125%);transition:transform .8s var(--ease)}
.btn:hover::before{transform:translateX(125%)}
.btn:hover{box-shadow:0 12px 24px -10px rgba(123,17,19,.65)}
/* ---- Card glow ---- */
.ac:hover,.ct:hover,.pcd:hover,.stc:hover,.fxc:hover{border-color:var(--gold)}
.ac,.stc,.fxc{border:1px solid var(--line)}
/* ---- Marquee ---- */
.mq{margin:22px 0 0;border-block:1px solid var(--line);background:linear-gradient(90deg,var(--gold-bg),var(--paper),var(--gold-bg));overflow:hidden;white-space:nowrap;-webkit-mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.mq-t{display:inline-flex;padding:12px 0;animation:mq 46s linear infinite;font:800 19px var(--f-head);color:var(--maroon)}
.mq:hover .mq-t{animation-play-state:paused}
.mq-t span{padding-right:46px}.mq-t span::before{content:"❁";color:var(--gold);margin-right:46px}
[data-theme=dark] .mq-t{color:var(--gold-l)}
@keyframes mq{to{transform:translateX(-50%)}}
/* ---- Stats + features ---- */
.stg{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.stc{text-align:center;padding:26px 12px;border-radius:var(--r-l);background:linear-gradient(145deg,var(--paper),var(--gold-bg));box-shadow:var(--depth-1,var(--sh-s))}
.stc b{display:block;font:800 clamp(34px,5vw,54px)/1.1 var(--f-head);color:var(--maroon)}
[data-theme=dark] .stc b{color:var(--gold-l)}
.stc span{color:var(--mut);font-weight:700}
.fx4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.fxc{padding:24px 18px;border-radius:var(--r-l);background:var(--paper);box-shadow:var(--depth-1,var(--sh-s))}
.fxc i{display:grid;place-items:center;width:54px;height:54px;border-radius:16px;font-style:normal;font-size:26px;background:linear-gradient(145deg,var(--gold-bg2),var(--gold-bg));border:1px solid var(--gold);margin-bottom:12px;transform:translateZ(30px)}
.fxc h3{font-size:19px;color:var(--maroon);margin-bottom:6px}.fxc p{margin:0;color:var(--mut);font-size:15.5px;line-height:1.6}
[data-theme=dark] .fxc h3{color:var(--gold-l)}
/* ---- Article extras ---- */
.prose a{color:var(--maroon);text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:3px}
[data-theme=dark] .prose a{color:var(--gold-l)}
.prose ol{padding-left:1.3em}.prose h4{font-size:1.15em;margin:1.2em 0 .4em;color:var(--maroon)}
.callout{border-left:5px solid var(--gold);background:var(--gold-bg);padding:14px 18px;border-radius:12px;margin:18px 0;font-weight:600}
hr.sp{border:0;height:2px;margin:26px 0;background:linear-gradient(90deg,transparent,var(--gold),transparent)}
.rawhtml img{max-width:100%;height:auto;border-radius:14px}
.rawhtml table{width:100%;border-collapse:collapse;display:block;overflow-x:auto}
.rawhtml th,.rawhtml td{border:1px solid var(--line);padding:8px 12px;text-align:left}
.rawhtml th{background:var(--gold-bg)}
.abox{display:flex;gap:14px;align-items:flex-start;margin:26px 0 8px;padding:16px 18px;border:1px solid var(--line);border-radius:var(--r-m);background:linear-gradient(135deg,var(--paper),var(--gold-bg))}
.abox .ab-i{font-size:28px}.abox p{margin:4px 0 0;color:var(--mut);font-size:15px;line-height:1.55}.abox a{color:var(--maroon);text-decoration:underline}
.cfm{max-width:640px}.cfm .btn{margin-top:4px}
/* ---- Footer ---- */
.ft{position:relative;overflow:hidden}
.ft::after{content:"";position:absolute;inset:auto -10% -40% -10%;height:70%;background:radial-gradient(closest-side,rgba(232,201,122,.14),transparent);pointer-events:none}
.ft-om{position:absolute;right:3%;top:18px;font:800 clamp(120px,18vw,240px)/1 var(--f-head);color:rgba(232,201,122,.07);pointer-events:none;user-select:none}
.fg{position:relative;z-index:1;grid-template-columns:1.6fr 1fr 1fr 1fr 1.4fr}
.fg h4{position:relative;padding-bottom:8px;margin-bottom:12px}
.fg h4::after{content:"";position:absolute;left:0;bottom:0;width:34px;height:2px;background:var(--gold)}
.fg a{transition:transform .2s,color .2s}.fg>div>a:hover{transform:translateX(4px)}
.nlf p{margin:0 0 8px;color:#e8cfae;font-size:15px}
.fb{position:relative;z-index:1;align-items:center}.fb-l{display:flex;gap:14px;flex-wrap:wrap}.fb-l a{color:#e8cfae;text-decoration:underline;text-decoration-color:rgba(232,201,122,.5)}.fb-l a:hover{color:#fff}
.ft-pwa{margin-top:14px}
/* ---- Cookie banner ---- */
#ck{position:fixed;left:16px;bottom:16px;max-width:440px;z-index:9000;padding:16px 18px;border-radius:var(--r-m);background:color-mix(in srgb,var(--paper) 90%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--gold);box-shadow:0 20px 44px -16px rgba(60,20,10,.55);opacity:0;transform:translateY(30px);transition:opacity .4s,transform .4s var(--ease)}
#ck.show{opacity:1;transform:none}
#ck p{margin:0 0 12px;font-size:15px;line-height:1.55}#ck p a{color:var(--maroon);text-decoration:underline}
#ck div{display:flex;gap:10px;flex-wrap:wrap}#ck .btn{padding:8px 16px;font-size:15px}
/* ---- Responsive ---- */
@media(max-width:1000px){.fx4{grid-template-columns:repeat(2,1fr)}.fg{grid-template-columns:1fr 1fr}}
@media(max-width:700px){#cur{display:none}.stg{grid-template-columns:1fr 1fr 1fr;gap:10px}.stc{padding:18px 6px}.stc span{font-size:13px}.fxc{padding:18px 14px}#ck{left:10px;right:10px;bottom:calc(84px + env(safe-area-inset-bottom,0px));max-width:none}.ft-om{opacity:.6}}
@media(max-width:560px){.fx4{grid-template-columns:1fr 1fr;gap:10px}.fg{grid-template-columns:1fr}.mq-t{font-size:17px}}
@media(prefers-reduced-motion:reduce){#pre,#fx,#cur,body::after{display:none!important}main{animation:none}.mq-t,.hero-c h1{animation:none}}
@media print{#pre,#fx,#cur,#ck,.mq{display:none!important}}
