/* Atma Malik Dhyanpeeth — theme on top of Bootstrap 5.3.3 */
/* Layout: Bootstrap 5.3 grid + components, themed as a night-sky temple — dusk-indigo ground lit by saffron lamplight */
:root{
  --bg:#f5f2fa; --surface:#ffffff; --surface-2:#ece6f6; --fg:#1d1a38; --muted:#5b5677;
  --line:#d9d1ea; --accent:#b8561c; --accent-2:#9a6b12; --glow:rgba(222,120,43,.22);
  --hero-bg:#191736; --hero-fg:#f6efe4; --hero-muted:#b9b2d6;
  --f-display:"Marcellus","Cormorant Garamond",Georgia,serif;
  --f-body:"Mukta","Segoe UI",system-ui,sans-serif;
  --f-sacred:"Tiro Devanagari Sanskrit","Noto Serif Devanagari",serif;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --bg:#0e0d22; --surface:#17163a; --surface-2:#1f1d48; --fg:#f1ebe0; --muted:#aaa3c8;
  --line:#2e2b5c; --accent:#f0913f; --accent-2:#e2b45a; --glow:rgba(240,145,63,.18);
  --hero-bg:#0a0919; color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#0e0d22; --surface:#17163a; --surface-2:#1f1d48; --fg:#f1ebe0; --muted:#aaa3c8;
  --line:#2e2b5c; --accent:#f0913f; --accent-2:#e2b45a; --glow:rgba(240,145,63,.18);
  --hero-bg:#0a0919; color-scheme:dark}

/* map Bootstrap variables onto the theme tokens */
:root,[data-bs-theme]{
  --bs-body-bg:var(--bg); --bs-body-color:var(--fg); --bs-body-font-family:var(--f-body);
  --bs-secondary-color:var(--muted); --bs-border-color:var(--line); --bs-link-color:var(--accent);
  --bs-link-hover-color:var(--accent-2); --bs-link-color-rgb:184,86,28; --bs-heading-color:inherit;
  --bs-emphasis-color:var(--fg);
}
html{scroll-behavior:smooth;scroll-padding-top:84px}
body{background:var(--bg);color:var(--fg);font-family:var(--f-body);font-size:17px;line-height:1.65;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:1040;background:var(--hero-bg)}
h1,h2,h3,h4,h5,.display-font{font-family:var(--f-display);font-weight:400;line-height:1.15;text-wrap:balance}
.container{padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
section{padding-block:clamp(56px,9vw,110px)}
.eyebrow{font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);font-weight:600}
.lede{color:var(--muted);font-size:1.2rem;max-width:62ch}
.text-soft{color:var(--muted)}
.sec-title{font-size:clamp(1.8rem,3.6vw,2.4rem)}
.band{background:var(--surface)}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}

.btn{border-radius:999px;font-weight:600;padding:.7rem 1.4rem}
.btn-saffron{--bs-btn-color:#1a0f05;--bs-btn-hover-color:#1a0f05;--bs-btn-active-color:#1a0f05;background:linear-gradient(135deg,#f0913f,#d96a1f);border:0;box-shadow:0 8px 26px rgba(240,145,63,.35);transition:transform .25s,box-shadow .25s}
.btn-saffron:hover{transform:translateY(-2px);box-shadow:0 12px 34px rgba(240,145,63,.5)}
.btn-outline-glow{--bs-btn-color:currentColor;--bs-btn-border-color:currentColor;--bs-btn-hover-bg:rgba(240,145,63,.12);--bs-btn-hover-color:currentColor;--bs-btn-hover-border-color:currentColor;color:inherit}

/* navbar */
.navbar-temple{background:transparent;border-bottom:1px solid rgba(255,255,255,.07);top:env(safe-area-inset-top,0px);isolation:isolate;
  --bs-navbar-color:#f6efe4;--bs-navbar-hover-color:#f0913f;--bs-navbar-active-color:#f0913f;--bs-navbar-toggler-border-color:rgba(255,255,255,.25)}
.navbar-temple .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(246,239,228,.9)' stroke-linecap='round' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}
.navbar-temple::before{content:"";position:absolute;inset:0;z-index:-1;background:color-mix(in srgb,var(--hero-bg) 90%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.brand-mark{display:flex;align-items:center;gap:12px;color:#f6efe4!important}
.brand-mark svg{width:40px;height:40px;color:#f5a65c}
.brand-mark b{font-family:var(--f-display);font-weight:400;font-size:1.25rem;display:block;line-height:1}
.brand-mark small{font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:#b9b2d6}
.navbar-temple .dropdown-menu{--bs-dropdown-bg:#15143a;--bs-dropdown-border-color:rgba(255,255,255,.1);--bs-dropdown-link-color:#e9e2f5;--bs-dropdown-link-hover-bg:rgba(240,145,63,.14);--bs-dropdown-link-hover-color:#ffb877;--bs-dropdown-link-active-bg:rgba(240,145,63,.24);--bs-dropdown-border-radius:14px;padding:10px;box-shadow:0 24px 60px rgba(0,0,0,.45)}
.navbar-temple .dropdown-item{border-radius:8px;padding:.45rem .8rem}
.navbar-temple .dropdown-item[target]::after{content:" ↗";opacity:.45;font-size:.8em}
.offcanvas-temple{--bs-offcanvas-bg:#0f0e28;--bs-offcanvas-color:#efe8f8}
@media (min-width:1200px){
  .navbar-temple .dropdown:hover>.dropdown-menu{display:block;margin-top:0;animation:drop .22s ease-out}
  .navbar-temple .nav-link{padding-inline:.8rem!important}
}
@media (max-width:1199.98px){
  .navbar-temple .dropdown-menu{box-shadow:none;background:transparent;border:0;padding-left:12px}
  .navbar-temple .nav-link{font-family:var(--f-display);font-size:1.2rem;border-bottom:1px solid rgba(255,255,255,.07)}
}
@keyframes drop{from{opacity:0;transform:translateY(8px)}}

/* hero */
.hero{position:relative;background:var(--hero-bg);color:var(--hero-fg);overflow:hidden;padding-block:clamp(48px,8vw,96px) clamp(56px,8vw,100px)}
#sky{position:absolute;inset:0;width:100%;height:100%}
.hero::after{content:"";position:absolute;inset:auto 0 0;height:160px;background:linear-gradient(transparent,var(--bg));pointer-events:none}
.hero .container{position:relative;z-index:2}
.hero h1{font-size:clamp(2.4rem,6vw,4.4rem)}
.hero h1 em{font-style:normal;background:linear-gradient(100deg,#ffc47e,#f0913f 55%,#e2b45a);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero .lede{color:#b9b2d6}
.hero .eyebrow{color:#f5a65c}
.hero-stats{border-top:1px solid rgba(255,255,255,.12)}
.hero-stats b{font-family:var(--f-display);font-size:1.9rem;font-weight:400;color:#ffc47e;display:block;font-variant-numeric:tabular-nums}
.hero-stats span{font-size:.82rem;color:#b9b2d6}
.orb{position:relative;width:min(340px,78vw);aspect-ratio:1;max-width:100%;display:grid;place-items:center;margin-inline:auto}
.orb .ring{position:absolute;inset:0;border-radius:50%;border:1px solid rgba(255,196,126,.25)}
.orb .ring:nth-child(2){inset:9%;border-color:rgba(255,196,126,.18);animation:spin 60s linear infinite}
.orb .ring:nth-child(3){inset:18%;border-style:dashed;border-color:rgba(255,196,126,.22);animation:spin 90s linear infinite reverse}
.orb .core{width:46%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 40% 35%,#ffe3b8,#f0913f 45%,#a8400f 80%);box-shadow:0 0 60px 12px rgba(240,145,63,.45),0 0 140px 40px rgba(240,145,63,.18);transform:scale(.72);display:grid;place-items:center}
.orb .core svg{width:58%;color:#3a1405}
.orb.run .core{animation:breathe 14s ease-in-out infinite}
.breath-label{font-family:var(--f-display);font-size:1.4rem;min-height:1.6em;color:#ffe0b5}
@keyframes breathe{0%{transform:scale(.72)}28.5%,50%{transform:scale(1.08)}85%,100%{transform:scale(.72)}}
@keyframes spin{to{transform:rotate(360deg)}}

/* ribbon */
.ribbon{background:linear-gradient(90deg,#d96a1f,#f0913f,#e2b45a);color:#1a0f05;overflow:hidden;padding-block:14px}
.ribbon .track{display:flex;gap:48px;white-space:nowrap;animation:marquee 38s linear infinite;width:max-content}
.ribbon span{font-family:var(--f-sacred);font-size:1.25rem}
.ribbon i{font-style:normal;opacity:.6}
@keyframes marquee{to{transform:translateX(-50%)}}

/* cards */
.card-temple{--bs-card-bg:var(--surface);--bs-card-border-color:var(--line);--bs-card-border-radius:14px;--bs-card-color:var(--fg);position:relative;overflow:hidden;transition:transform .35s,border-color .35s,box-shadow .35s}
.card-temple::before{content:"";position:absolute;width:220px;height:220px;right:-90px;top:-90px;border-radius:50%;background:radial-gradient(var(--glow),transparent 70%);transition:transform .5s;pointer-events:none}
.card-temple:hover{transform:translateY(-5px);border-color:var(--accent);box-shadow:0 18px 40px -18px var(--glow)}
.card-temple:hover::before{transform:scale(1.6)}
.card-temple .card-title{font-size:1.3rem}
.card-temple .card-text{color:var(--muted);font-size:.96rem}
.ic{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;background:var(--surface-2);color:var(--accent)}
.ic svg{width:24px;height:24px}
.badge-temple{background:var(--surface-2);color:var(--accent);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600;padding:.45em .8em;border-radius:999px}
.quote{font-family:var(--f-display);font-size:1.6rem;line-height:1.3;border-left:2px solid var(--accent);padding-left:22px}
.value{padding:18px 20px;border-radius:12px;background:var(--surface-2);height:100%}
.value h4{font-size:1.1rem;color:var(--accent);margin-bottom:4px}
.value p{font-size:.92rem;color:var(--muted);margin:0}

.pillar{background:var(--surface);padding:28px;height:100%;border:1px solid var(--line);border-radius:14px}
.pillar .n{font-family:var(--f-display);font-size:2rem;color:var(--accent-2)}
.pillar h3{font-size:1.25rem}
.pillar p{color:var(--muted);font-size:.95rem;margin:0}
.sacred{font-family:var(--f-sacred);font-size:clamp(1.6rem,4vw,2.6rem);color:var(--accent)}
.tenet{border-top:2px solid var(--accent);padding-top:14px}
.tenet h4{font-size:1.2rem}

/* accordion */
.accordion-temple{--bs-accordion-bg:var(--surface);--bs-accordion-color:var(--muted);--bs-accordion-border-color:var(--line);--bs-accordion-btn-color:var(--fg);--bs-accordion-active-color:var(--fg);--bs-accordion-active-bg:var(--surface-2);--bs-accordion-btn-focus-box-shadow:0 0 0 3px var(--glow);--bs-accordion-border-radius:12px;--bs-accordion-inner-border-radius:12px}
.accordion-temple .accordion-button{font-family:var(--f-display);font-size:1.15rem;gap:14px}
.accordion-temple .accordion-button .n{color:var(--accent);font-family:var(--f-body);font-weight:600;font-size:.92rem}
.accordion-temple .accordion-item{margin-bottom:10px;border-radius:12px!important;overflow:hidden;border:1px solid var(--line)}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .accordion-button::after{filter:invert(1) brightness(1.6)}}
:root[data-theme="dark"] .accordion-button::after{filter:invert(1) brightness(1.6)}

/* sadguru */
.guru{background:var(--hero-bg);color:#f6efe4;position:relative;overflow:hidden}
.guru::before{content:"";position:absolute;width:900px;height:900px;left:50%;top:-420px;transform:translateX(-50%);background:radial-gradient(rgba(240,145,63,.16),transparent 65%);pointer-events:none}
.guru .container{position:relative}
.guru .eyebrow{color:#f5a65c}
.guru .text-soft{color:#b9b2d6}
.guru .quote{color:#ffe0b5}
.guru-stat{padding:22px;border:1px solid rgba(255,255,255,.12);border-radius:12px;height:100%}
.guru-stat b{font-family:var(--f-display);font-size:2.4rem;font-weight:400;color:#ffc47e;display:block}
.guru-stat span{font-size:.88rem;color:#b9b2d6}
.guru .accordion-temple{--bs-accordion-bg:rgba(255,255,255,.04);--bs-accordion-color:#b9b2d6;--bs-accordion-btn-color:#f6efe4;--bs-accordion-active-color:#f6efe4;--bs-accordion-active-bg:rgba(240,145,63,.1);--bs-accordion-border-color:rgba(255,255,255,.1)}
.guru .accordion-item{border-color:rgba(255,255,255,.1)}
.guru .accordion-button::after{filter:invert(1) brightness(1.6)}
.guru .accordion-button .n{color:#f5a65c}
.steps li{padding:10px 18px;border-radius:999px;border:1px solid rgba(255,196,126,.35);color:#ffe0b5;font-size:.95rem}

/* timeline */
.timeline{position:relative;padding-left:34px}
.timeline::before{content:"";position:absolute;left:9px;top:6px;bottom:6px;width:2px;background:linear-gradient(var(--accent),var(--accent-2),transparent)}
.tl{position:relative;margin-bottom:28px}
.tl::before{content:"";position:absolute;left:-31px;top:8px;width:14px;height:14px;border-radius:50%;background:var(--bg);border:2px solid var(--accent);box-shadow:0 0 0 5px var(--glow)}
.tl .n{font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);font-weight:600}
.tl h3{font-size:1.4rem}
.tl p{color:var(--muted);margin:0}
@media (min-width:992px){.sticky-lg{position:sticky;top:110px}}

/* meditation */
.med-visual{border-radius:20px;background:radial-gradient(circle at 50% 60%,rgba(240,145,63,.55),transparent 55%),linear-gradient(160deg,#241f5a,#0d0c24);display:grid;place-items:center;overflow:hidden;text-decoration:none;color:#fff}
.med-visual .play{width:76px;height:76px;border-radius:50%;background:rgba(255,255,255,.14);backdrop-filter:blur(6px);display:grid;place-items:center;border:1px solid rgba(255,255,255,.35);transition:transform .3s}
.med-visual:hover .play{transform:scale(1.1)}
.med-visual .cap{position:absolute;left:20px;bottom:16px;font-size:.88rem;color:#e9dfff}
.checks{list-style:none;padding:0}
.checks li{padding-left:28px;position:relative;color:var(--muted);margin-bottom:6px}
.checks li::before{content:"✓";position:absolute;left:0;color:var(--accent);font-weight:700}
.event-box{background:var(--surface-2);border-radius:20px;padding:clamp(24px,4vw,48px)}
.dot-list li{display:flex;gap:12px;color:var(--muted);margin-bottom:10px}
.dot-list li::before{content:"";flex:none;width:8px;height:8px;margin-top:10px;border-radius:50%;background:var(--accent)}

/* gallery */
.gal-tile{border-radius:14px;position:relative;overflow:hidden;text-decoration:none;color:#fff;display:flex;align-items:flex-end;padding:16px;font-family:var(--f-display);font-size:1.2rem;height:100%;min-height:150px}
.gal-tile::before{content:"";position:absolute;inset:0;background:var(--g);transition:transform .6s}
.gal-tile:hover::before{transform:scale(1.08)}
.gal-tile span{position:relative}
.g1{--g:radial-gradient(circle at 30% 30%,#f7b26a,transparent 50%),linear-gradient(135deg,#7a2e10,#2a1550);min-height:312px}
.g2{--g:linear-gradient(135deg,#3b2b84,#0f0c2e)}
.g3{--g:linear-gradient(135deg,#9a5a10,#3d1a07)}
.g4{--g:linear-gradient(135deg,#5b2a6d,#1d1040)}
.g5{--g:radial-gradient(circle at 80% 50%,rgba(226,180,90,.6),transparent 40%),linear-gradient(90deg,#14123a,#3c2a73)}

/* testimonials carousel */
.voice blockquote{font-family:var(--f-display);font-size:clamp(1.5rem,3.2vw,2.3rem);line-height:1.3;max-width:28ch;margin:0 auto 22px}
.voice cite{font-style:normal;color:var(--muted)}
.voice cite b{display:block;color:var(--fg);font-weight:600}
.carousel-indicators{position:static;margin:28px 0 0}
.carousel-indicators [data-bs-target]{width:10px;height:10px;border-radius:50%;background:var(--line);opacity:1;border:0;transition:.3s}
.carousel-indicators .active{background:var(--accent);width:28px;border-radius:10px}

/* donate + app */
.donate{background:linear-gradient(135deg,#d96a1f,#9a3e0f 60%,#3a1a5c);color:#fff7ec;border-radius:24px;padding:clamp(28px,5vw,64px)}
.donate p{color:#ffe6cc}
.donate .btn-light{color:#7a2e10}
.phone{width:220px;max-width:100%;aspect-ratio:9/18;border-radius:34px;background:linear-gradient(170deg,#1f1b52,#0c0b20);border:6px solid #2c2860;box-shadow:0 30px 70px -20px var(--glow);display:grid;place-items:center;align-content:center;gap:14px;color:#ffe0b5;text-align:center;padding:20px;margin-inline:auto}
.phone svg{width:70px}
.phone b{font-family:var(--f-display);font-weight:400;font-size:1.3rem}
.phone small{color:#b9b2d6}

/* footer */
footer{background:var(--hero-bg);color:#b9b2d6;padding-block:64px 28px}
footer h4{font-family:var(--f-body);font-weight:600;font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;color:#f5a65c;margin-bottom:14px}
footer ul{list-style:none;padding:0}
footer li{margin-bottom:8px}
footer a{color:#e7e0f5;text-decoration:none;font-size:.94rem}
footer a:hover{color:#ffb877}
footer address{font-size:.92rem;line-height:1.7}
.copy-btn{background:none;border:1px solid rgba(255,255,255,.2);color:#cfc7ea;border-radius:6px;font-size:.72rem;padding:2px 8px;margin-left:8px}
.legal{border-top:1px solid rgba(255,255,255,.1);font-size:.84rem}

/* reveal: visible at rest, gentle rise when scrolled into view */
.rv.in{animation:rise .9s cubic-bezier(.2,.7,.2,1) both}
@keyframes rise{from{transform:translateY(28px);opacity:.25}to{transform:none;opacity:1}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}html{scroll-behavior:auto}}

.page-head,.med-visual{--bgimg:none}
/* photo frames — a lamplight gradient sits behind each photo and shows if it can't load */
.ph{background:radial-gradient(circle at 30% 30%,rgba(247,178,106,.55),transparent 55%),linear-gradient(135deg,#5a2a6d,#16133c);overflow:hidden}
.ph img{object-fit:cover;width:100%;height:100%;transition:transform .8s cubic-bezier(.2,.7,.2,1),opacity .4s}
.ph img.broken{opacity:0}
.card-temple .ph{border-radius:0}
.card-temple:hover .ph img,.lb:hover .ph img{transform:scale(1.06)}
.lb{display:block;border-radius:inherit;overflow:hidden}
.lb .ph{border-radius:inherit}

/* inner page header */
.page-head{position:relative;background:var(--hero-bg);color:var(--hero-fg);overflow:hidden;padding-block:clamp(56px,9vw,110px) clamp(48px,7vw,84px)}
.page-head::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,9,25,.55),rgba(10,9,25,.88)),var(--bgimg) center/cover no-repeat;opacity:.9;animation:kenburns 26s ease-in-out infinite alternate}
.page-head::after{content:"";position:absolute;inset:auto 0 0;height:120px;background:linear-gradient(transparent,var(--bg));pointer-events:none}
.page-head .container{position:relative;z-index:2}
.page-head h1{font-size:clamp(2.2rem,5vw,3.8rem)}
.page-head .lede{color:#cfc7ea}
.page-head .breadcrumb{--bs-breadcrumb-divider-color:#b9b2d6;--bs-breadcrumb-item-active-color:#f5a65c;margin:0}
.page-head .breadcrumb a{color:#e7e0f5;text-decoration:none}
@keyframes kenburns{from{transform:scale(1)}to{transform:scale(1.08) translate(-1%,-1%)}}
.med-visual{background:radial-gradient(circle at 50% 60%,rgba(240,145,63,.45),transparent 55%),linear-gradient(160deg,rgba(36,31,90,.6),rgba(13,12,36,.9)),var(--bgimg,none) center/cover,linear-gradient(160deg,#241f5a,#0d0c24)}
.med-visual .cap{position:absolute;left:20px;bottom:16px;top:auto;width:auto;height:auto}

/* gallery pills */
.gallery-pills{--bs-nav-pills-link-active-bg:var(--accent);--bs-nav-pills-link-active-color:#fff;--bs-nav-link-color:var(--fg);--bs-nav-link-hover-color:var(--accent)}
.gallery-pills .nav-link{border:1px solid var(--line);border-radius:999px;padding:.5rem 1.1rem}
.gallery-pills .count{font-size:.75em;opacity:.7;margin-left:4px;font-variant-numeric:tabular-nums}
.btn-filter{border:1px solid var(--line);color:var(--fg);border-radius:999px;padding:.4rem 1rem;font-weight:500}
.btn-filter:hover{border-color:var(--accent);color:var(--accent)}
.btn-filter.active{background:var(--accent);border-color:var(--accent);color:#fff}

/* video cards */
.video-card .vplay{position:absolute;top:calc(28% - 26px);left:50%;transform:translateX(-50%);width:52px;height:52px;border-radius:50%;background:rgba(10,9,25,.55);backdrop-filter:blur(4px);display:grid;place-items:center;border:1px solid rgba(255,255,255,.4);transition:transform .3s,background .3s;z-index:2}
.video-card:hover .vplay{transform:translateX(-50%) scale(1.12);background:#d96a1f}
.video-card .card-title{color:var(--fg)}

/* lightbox */
.lb-content{background:#0a0919;border:1px solid rgba(255,255,255,.1);border-radius:16px;overflow:hidden}
.lb-content img{width:100%;max-height:78vh;object-fit:contain;background:#0a0919}
.lb-close{position:absolute;right:14px;top:14px;z-index:3}
.lb-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;color:#e7e0f5;font-size:.92rem}
.modal-backdrop{--bs-backdrop-opacity:.82}
.navbar-temple .nav-link[aria-current],.navbar-temple .dropdown-item[aria-current]{color:#f0913f}
@media (max-width:575.98px){.row.g-5,.row.gx-5{--bs-gutter-x:2rem}}
.ph img:not([src]),.ph img.broken{color:transparent}.ph img{color:transparent}

/* scroll progress + back-to-top */
.progress-line{position:fixed;left:0;right:0;top:env(safe-area-inset-top,0px);height:3px;z-index:1050;background:linear-gradient(90deg,#f0913f,#e2b45a);transform-origin:0 50%;transform:scaleX(0);pointer-events:none}
.to-top{position:fixed;right:calc(20px + env(safe-area-inset-right,0px));bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:1030;width:48px;height:48px;border-radius:50%;border:0;background:linear-gradient(135deg,#f0913f,#d96a1f);color:#1a0f05;box-shadow:0 10px 30px rgba(240,145,63,.4);opacity:0;visibility:hidden;transform:translateY(12px);transition:.3s;display:grid;place-items:center}
.to-top.show{opacity:1;visibility:visible;transform:none}
.err-wrap{min-height:60vh;display:grid;place-items:center;text-align:center}
.err-wrap .sacred{font-size:clamp(4rem,14vw,8rem)}

/* tables, steps, albums, magazine, ashtang path, faq */
.table-temple{--bs-table-bg:var(--surface);--bs-table-color:var(--fg);--bs-table-border-color:var(--line);border-radius:14px;overflow:hidden}
.table-temple thead th{background:var(--surface-2);color:var(--accent);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600}
.table-responsive{border:1px solid var(--line);border-radius:14px}
.tnum{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600}
.steps-list{counter-reset:s}
.steps-list li{counter-increment:s;position:relative;padding:0 0 22px 58px;color:var(--muted)}
.steps-list li::before{content:counter(s);position:absolute;left:0;top:-4px;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font-family:var(--f-display);font-size:1.2rem;color:var(--accent);border:1px solid var(--accent);box-shadow:0 0 0 5px var(--glow)}
.steps-list b{color:var(--fg);font-weight:600}
.dictum p{color:var(--muted);font-size:1.08rem}
.dictum .quote{color:var(--fg);font-size:1.5rem}
[lang="hi"] .dictum p,[lang="mr"] .dictum p{font-size:1.15rem;line-height:1.85}
@media (min-width:992px){.album-card .col-lg-5{position:relative;min-height:280px}.album-card .col-lg-5>a.lb,.album-card .album-cover{position:absolute;inset:0}.album-card .album-cover::before{display:none}}
.fest figcaption{margin-top:10px;font-family:var(--f-display);font-size:1.05rem;text-align:center}
.mag-cover{position:relative;display:flex;flex-direction:column;justify-content:space-between;aspect-ratio:3/4;max-width:100%;padding:18px;border-radius:12px;text-decoration:none;color:#fff7ec;overflow:hidden;
  background:radial-gradient(circle at 70% 20%,rgba(255,196,126,.55),transparent 45%),linear-gradient(160deg,#d96a1f,#7a2e10 55%,#2a1550);box-shadow:0 14px 30px -14px var(--glow);transition:transform .35s,box-shadow .35s}
.mag-cover:hover{transform:translateY(-5px) rotate(-1deg);box-shadow:0 24px 40px -16px var(--glow);color:#fff}
.mag-cover::after{content:"";position:absolute;inset:auto -30% -40% auto;width:120%;aspect-ratio:1;border-radius:50%;border:1px solid rgba(255,255,255,.2)}
.mag-top{font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;opacity:.85}
.mag-month{font-family:var(--f-display);font-size:1.5rem;line-height:1.1;margin-top:auto}
.mag-year{font-family:var(--f-display);font-size:2.2rem;line-height:1;color:#ffe0b5}
.mag-cta{font-size:.78rem;font-weight:600;margin-top:10px;opacity:.9}
.ashtang-path{display:flex;gap:6px;overflow-x:auto;padding-bottom:6px}
.ashtang-path span{flex:1 0 110px;text-align:center;padding:14px 8px;border-radius:12px;background:var(--surface-2);font-size:.85rem;color:var(--muted)}
.ashtang-path b{display:block;font-family:var(--f-display);font-weight:400;font-size:1.6rem;color:var(--accent)}
.faq-nav{display:grid;gap:6px}
.faq-nav a{padding:10px 14px;border-radius:10px;border:1px solid var(--line);text-decoration:none;color:var(--fg)}
.faq-nav a:hover{border-color:var(--accent);color:var(--accent)}
.audio-card audio{height:40px}
.flex-none{flex:none}
.donate-form .form-control,.donate-form .form-select{background-color:var(--surface);color:var(--fg);border-color:var(--line);border-radius:10px;padding:.65rem .9rem}
.donate-form .form-control:focus,.donate-form .form-select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--glow)}
.donate-form .was-validated .form-control:invalid,.donate-form .form-control.is-invalid{border-color:#c0392b}

/* audio gallery player */
.now-card{background:var(--hero-bg);color:#f6efe4;border-radius:20px;padding:28px;text-align:center;position:relative;overflow:hidden}
.now-card::before{content:"";position:absolute;width:480px;height:480px;left:50%;top:-240px;transform:translateX(-50%);background:radial-gradient(rgba(240,145,63,.22),transparent 65%);pointer-events:none}
.small-orb{width:min(190px,60vw)}
.small-orb.run .core{animation:breathe 14s ease-in-out infinite}
.np-progress input[type=range]{width:100%;accent-color:#f0913f}
.np-btn{width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,.25);background:transparent;color:#f6efe4;display:grid;place-items:center;transition:.25s}
.np-btn:hover{border-color:#f0913f;color:#ffb877}
.np-main{width:64px;height:64px;border:0;background:linear-gradient(135deg,#f0913f,#d96a1f);color:#1a0f05;box-shadow:0 10px 30px rgba(240,145,63,.4)}
.np-main:hover{color:#1a0f05;transform:scale(1.05)}
.np-main .ico-pause,.is-playing .np-main .ico-play{display:none}
.is-playing .np-main .ico-pause{display:block}
.tracklist{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--surface)}
.track{display:flex;align-items:center;gap:14px;padding:12px 16px;border-bottom:1px solid var(--line);transition:background .25s}
.track:last-child{border-bottom:0}
.track:hover{background:var(--surface-2)}
.track.current{background:linear-gradient(90deg,var(--glow),transparent 70%)}
.track-play{flex:none;width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:var(--surface);color:var(--accent);display:grid;place-items:center;position:relative}
.track-play .ico-play,.track-play .ico-eq{display:none}
.track:hover .track-play .tn,.track.current .track-play .tn{display:none}
.track:hover .track-play .ico-play{display:block}
.track.current.playing .track-play .ico-play{display:none}
.track.current.playing .track-play .ico-eq{display:block;animation:eq 1s ease-in-out infinite alternate}
.track.current:not(.playing) .track-play .ico-play{display:block}
@keyframes eq{to{transform:scaleY(.6)}}
.track-play .tn{font-weight:600;font-size:.9rem}
.track-meta{flex:1;min-width:0;display:flex;flex-direction:column}
.track-meta b{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.track-meta span{font-size:.85rem;color:var(--muted)}
.track-dl{flex:none;color:var(--muted);padding:6px;border-radius:8px}
.track-dl:hover{color:var(--accent);background:var(--surface-2)}

/* animated brand: lotus draws in, letters rise, halo breathes */
.brand-anim{display:flex;align-items:center;gap:12px;color:#f6efe4;text-decoration:none;flex-shrink:0}
.brand-anim:hover{color:#f6efe4}
.ba-icon{position:relative;width:44px;height:44px;display:grid;place-items:center;color:#f5a65c}
.ba-icon svg{position:relative;width:40px;height:40px;overflow:visible;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.ba-icon path{stroke-dasharray:100;animation:baDraw 1.4s cubic-bezier(.6,.1,.2,1) backwards}
.ba-icon .p0{animation-delay:.15s}.ba-icon .p1{animation-delay:.35s}.ba-icon .p2{animation-delay:.35s}.ba-icon .p3{animation-delay:.6s}.ba-icon .p4{animation-delay:.6s}.ba-icon .p5{animation-delay:.85s}
.ba-icon svg g{animation:baGlow 1s ease-out 1.6s backwards}
.ba-halo{position:absolute;inset:-6px;border-radius:50%;background:radial-gradient(circle,rgba(240,145,63,.45),rgba(240,145,63,0) 68%);animation:baHalo 5s ease-in-out 2s infinite;opacity:.55}
.brand-anim:hover .ba-icon svg{transform:scale(1.12) rotate(-6deg)}
.brand-anim:hover .p1{transform:translate(-1.5px,-1px)}.brand-anim:hover .p2{transform:translate(1.5px,-1px)}
.ba-icon path{transition:transform .5s}
.ba-text{display:flex;flex-direction:column;line-height:1}
@property --sx{syntax:'<length>';inherits:true;initial-value:-300px}
.ba-word{font-family:var(--f-display);font-weight:400;font-size:1.3rem;display:flex;--sx:-300px;animation:baShine 9s ease-in-out 2.6s infinite}
.ba-word span{display:inline-block;color:#f6efe4;background:#f6efe4 linear-gradient(100deg,#f6efe4 42%,#ffc47e 50%,#f6efe4 58%) no-repeat;background-size:300px 100%;background-position-x:calc(var(--sx) - var(--i) * 12px);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  animation:baRise .7s cubic-bezier(.2,.7,.2,1) backwards;animation-delay:calc(.9s + var(--i) * 55ms)}
.ba-text small{font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:#b9b2d6;margin-top:6px;animation:baOpen 1.2s cubic-bezier(.2,.7,.2,1) 1.5s backwards}
.ba-footer .ba-word{font-size:1.45rem}
@keyframes baDraw{from{stroke-dashoffset:100}}
@keyframes baGlow{from{filter:drop-shadow(0 0 0 rgba(240,145,63,0))}50%{filter:drop-shadow(0 0 8px rgba(240,145,63,.9))}to{filter:drop-shadow(0 0 0 rgba(240,145,63,0))}}
@keyframes baHalo{0%,100%{transform:scale(.85);opacity:.35}50%{transform:scale(1.15);opacity:.75}}
@keyframes baRise{from{opacity:0;transform:translateY(10px) rotate(4deg)}}
@keyframes baOpen{from{opacity:0;letter-spacing:.6em}}
@keyframes baShine{0%,70%{--sx:-300px}100%{--sx:200px}}

/* one-line highlighted brand */
.brand-line{gap:10px;margin-right:0}
.ba-line{position:relative;display:flex;align-items:baseline;white-space:nowrap;font-family:var(--f-display);font-weight:400;font-size:clamp(1rem,1.5vw,1.3rem);letter-spacing:.01em;padding-bottom:5px;--sx:-400px;animation:baShine 7s ease-in-out 2.6s infinite}
.ba-line span{display:inline-block;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;background-repeat:no-repeat;background-size:400px 100%;background-position-x:calc(var(--sx) - var(--i) * 11px);
  animation:baRise .7s cubic-bezier(.2,.7,.2,1) backwards;animation-delay:calc(.8s + var(--i) * 38ms)}
.ba-line .w1{background-color:#f6efe4;background-image:linear-gradient(100deg,transparent 40%,#fff4dc 50%,transparent 60%)}
.ba-line .w2{background-color:#f5a65c;background-image:linear-gradient(100deg,transparent 38%,#fff1c9 50%,transparent 62%);filter:drop-shadow(0 0 6px rgba(240,145,63,.55))}
.ba-line::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1.5px;border-radius:2px;background:linear-gradient(90deg,transparent,#f0913f 20%,#ffc47e 50%,#f0913f 80%,transparent);
  transform-origin:0 50%;animation:baLine 1.2s cubic-bezier(.6,.1,.2,1) 1.9s backwards,baLinePulse 4s ease-in-out 3.2s infinite}
.brand-anim:hover .ba-line .w2{filter:drop-shadow(0 0 10px rgba(240,145,63,.9))}
.ba-footer .ba-line{font-size:clamp(1.1rem,2vw,1.45rem)}
@media (max-width:420px){.ba-line{font-size:.98rem}.brand-line .ba-icon{width:36px;height:36px}.brand-line .ba-icon svg{width:32px;height:32px}}
@keyframes baLine{from{transform:scaleX(0);opacity:0}}
@keyframes baLinePulse{0%,100%{opacity:.55}50%{opacity:1}}

/* language fonts */
:root:lang(hi){--f-display:"Tiro Devanagari Hindi","Mukta",serif;}
:root:lang(mr){--f-display:"Tiro Devanagari Marathi","Mukta",serif;}
:root:lang(gu){--f-display:"Rasa","Mukta Vaani",serif;--f-body:"Mukta Vaani","Mukta",system-ui,sans-serif;}
:root:lang(ta){--f-display:"Noto Serif Tamil","Mukta Malar",serif;--f-body:"Mukta Malar","Mukta",system-ui,sans-serif;}
:root:lang(te){--f-display:"Noto Serif Telugu","Noto Sans Telugu",serif;--f-body:"Noto Sans Telugu",system-ui,sans-serif;}
:root:lang(kn){--f-display:"Noto Serif Kannada","Noto Sans Kannada",serif;--f-body:"Noto Sans Kannada",system-ui,sans-serif;}
:root:lang(ml){--f-display:"Noto Serif Malayalam","Noto Sans Malayalam",serif;--f-body:"Noto Sans Malayalam",system-ui,sans-serif;}
:root:lang(hi) h1,:root:lang(mr) h1,:root:lang(gu) h1,:root:lang(ta) h1,:root:lang(te) h1,:root:lang(kn) h1,:root:lang(ml) h1,:root:lang(hi) .sec-title,:root:lang(mr) .sec-title,:root:lang(gu) .sec-title,:root:lang(ta) .sec-title,:root:lang(te) .sec-title,:root:lang(kn) .sec-title,:root:lang(ml) .sec-title{line-height:1.35}
:root:lang(hi) .eyebrow,:root:lang(mr) .eyebrow,:root:lang(gu) .eyebrow,:root:lang(ta) .eyebrow,:root:lang(te) .eyebrow,:root:lang(kn) .eyebrow,:root:lang(ml) .eyebrow,:root:lang(hi) .badge-temple,:root:lang(mr) .badge-temple,:root:lang(gu) .badge-temple,:root:lang(ta) .badge-temple,:root:lang(te) .badge-temple,:root:lang(kn) .badge-temple,:root:lang(ml) .badge-temple,:root:lang(hi) footer h4,:root:lang(mr) footer h4,:root:lang(gu) footer h4,:root:lang(ta) footer h4,:root:lang(te) footer h4,:root:lang(kn) footer h4,:root:lang(ml) footer h4{letter-spacing:0;text-transform:none;font-size:.9rem}
@media (min-width:1200px){:root:lang(ta) .navbar-temple .nav-link,:root:lang(te) .navbar-temple .nav-link,:root:lang(kn) .navbar-temple .nav-link,:root:lang(ml) .navbar-temple .nav-link{padding-inline:.4rem!important;font-size:.86rem}}
:root:lang(ta) body,:root:lang(te) body,:root:lang(kn) body,:root:lang(ml) body{overflow-wrap:anywhere}
:root:lang(ta) h1,:root:lang(ml) h1{font-size:clamp(2rem,5vw,3.6rem)}
@media (min-width:1200px) and (max-width:1399.98px){.navbar-temple .nav-link{padding-inline:.55rem!important;font-size:.92rem}.navbar-temple .ms-xl-3{margin-left:.5rem!important}}
@media (min-width:1200px){:root:lang(de) .navbar-temple .nav-link,:root:lang(ms) .navbar-temple .nav-link,:root:lang(pl) .navbar-temple .nav-link{padding-inline:.45rem!important;font-size:.9rem}}
.lang-switch .dropdown-item[aria-current]{color:#f0913f}
.ba-line span{font-family:"Marcellus","Cormorant Garamond",Georgia,serif}
