/*
Theme Name: LearnGeeta
Theme URI: https://www.learngeeta.com/
Author: LearnGeeta Team
Author URI: https://www.learngeeta.com/
Description: Theme for LearnGeeta 50th Golden Batch website. Includes responsive glassmorphism header, interactive lotus wheel, 6-column footer, Golden 50 sub-pages, multi-step registration portal, and native WordPress menu integration.
Version: 1.0.3
License: GNU General Public License v2 or later
Text Domain: learngeeta
*/

/* ============================================================ FONTS */
@font-face{font-family:Zodiak;src:url(assets/fonts/zodiak-400.woff2)format("woff2");font-weight:400;font-display:block}
@font-face{font-family:Zodiak;src:url(assets/fonts/zodiak-700.woff2)format("woff2");font-weight:700;font-display:block}
@font-face{font-family:GS;src:url(assets/fonts/gs-400.woff2)format("woff2");font-weight:400;font-display:block}
@font-face{font-family:GS;src:url(assets/fonts/gs-500.woff2)format("woff2");font-weight:500;font-display:block}
@font-face{font-family:GS;src:url(assets/fonts/gs-600.woff2)format("woff2");font-weight:600;font-display:block}
@font-face{font-family:GS;src:url(assets/fonts/gs-700.woff2)format("woff2");font-weight:700;font-display:block}
@font-face{font-family:Tiro;src:url(assets/fonts/tiro-deva.woff2)format("woff2");font-weight:400;font-display:swap;unicode-range:U+0900-097F,U+A8E0-A8FF,U+1CD0-1CFA}

/* ============================================================ TOKENS */
:root{
  --ink:#1B2E44; --ink-2:#33485F; --deep:#0C2138;
  --gold:#7A4F11; --gold-mid:#B8862F; --gold-lt:#E0AE44; --gold-pale:#FFEFC0;
  --cream:#FFF8E8; --cream-2:#FDF3DE; --sea:#15436B; --night:#081726;
  --line:rgba(24,52,82,.14);
  --ease:cubic-bezier(.23,1,.32,1);
  --shell:min(93vw,1560px);
  --r-sm:12px; --r:20px; --r-lg:28px; --r-xl:40px;
  --scrim:1;            /* dial 0..1. measured: below ~0.85 the hero body drops under 4.5:1 */
}

/* Scrims sit over the photograph but under the words, and only across the gutters the text
   actually occupies, so the middle of every image stays untouched. */
.scrim{position:absolute;inset:0;z-index:-1;pointer-events:none}
/* the sun's reflection on the water is the brightest thing in frame and the quote sits on it,
   so the bottom scrim has to reach further up than a normal one would. */
.scrim--lightL{background:linear-gradient(96deg,
   rgba(255,250,238,calc(.94*var(--scrim))) 0%,
   rgba(255,250,238,calc(.80*var(--scrim))) 24%,
   rgba(255,250,238,calc(.24*var(--scrim))) 44%,
   rgba(255,250,238,0) 60%)}
.scrim--darkL{background:linear-gradient(96deg,
   rgba(4,14,26,calc(.84*var(--scrim))) 0%,
   rgba(4,14,26,calc(.60*var(--scrim))) 28%,
   rgba(4,14,26,calc(.18*var(--scrim))) 50%,
   rgba(4,14,26,0) 66%)}

/* ============================================================ RESET */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
html,body{margin:0;padding:0}
body{
  font-family:GS,system-ui,-apple-system,"Segoe UI",sans-serif;
  color:var(--ink); background:var(--cream);
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
  overflow-x:clip;
}
img,svg,video{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
button,label,a,summary,[role=button]{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
h1,h2,h3,p{margin:0}
:focus-visible{outline:3px solid var(--gold-lt);outline-offset:3px;border-radius:4px}

/* fonts gate: hold the page until faces are ready so nothing flashes a fallback */
/* fonts gate */
body{opacity:1}
body{opacity:1;transition:opacity .5s var(--ease)}

/* ============================================================ TYPE SCALE */
.shell{width:var(--shell);margin-inline:auto}
.eyebrow{font-size:clamp(11px,.78vw,12.5px);font-weight:600;letter-spacing:.26em;
         text-transform:uppercase;margin:0 0 14px}
.h-xl{font-family:Zodiak,Georgia,serif;font-weight:700;line-height:1.0;letter-spacing:-.028em;
      font-size:clamp(26px,3.9vw,58px);text-wrap:balance}
.h-lg{font-family:Zodiak,Georgia,serif;font-weight:700;line-height:1.04;letter-spacing:-.024em;
      font-size:clamp(30px,3.3vw,48px)}
.h-md{font-family:Zodiak,Georgia,serif;font-weight:700;line-height:1.1;letter-spacing:-.02em;
      font-size:clamp(24px,2.4vw,36px)}
.lede{font-family:Zodiak,Georgia,serif;font-weight:400;line-height:1.3;letter-spacing:-.012em;
      font-size:clamp(19px,1.6vw,28px)}
.body{font-size:clamp(15px,1.02vw,17px);line-height:1.62}
.tiny{font-size:13px;line-height:1.5}

/* ============================================================ BUTTONS */
.btn{display:inline-flex;align-items:center;gap:12px;white-space:nowrap;
     font-size:14.5px;font-weight:600;padding:5px 5px 5px 22px;border-radius:999px;
     transition:transform .34s var(--ease),box-shadow .34s var(--ease),background-color .3s var(--ease)}
.btn__ic{width:34px;height:34px;border-radius:999px;display:grid;place-items:center;flex:none;
         transition:transform .34s var(--ease)}
.btn:hover{transform:translateY(-2px)}
.btn:hover .btn__ic{transform:translate(3px,-1px)}
.btn:active{transform:translateY(0) scale(.985)}
.btn--gold{background:linear-gradient(135deg,#F6DFA8,#E0B657 44%,#BE8B29);color:#241705;
           box-shadow:0 10px 28px rgba(78,50,8,.34)}
.btn--gold:hover{background:linear-gradient(135deg,#FBE9BC,#E9C36C 44%,#CB9833)}
.btn--gold .btn__ic{background:rgba(36,23,5,.18)}
.btn--light{background:rgba(255,255,255,.90);color:var(--deep);box-shadow:0 8px 24px rgba(16,38,60,.18)}
.btn--light .btn__ic{background:rgba(16,38,60,.10)}
.btn--glass{background:rgba(255,255,255,.14);color:#fff;border:1px solid rgba(255,255,255,.34)}
.btn--glass .btn__ic{background:rgba(255,255,255,.20)}
/* the sevi door: a gold outline pill, so it reads as the second door beside Join Now and not
   as its twin. The nav carries it as a text link with a lit dot. */
.btn--sevi{background:rgba(224,174,68,.10);color:#FFEFC0;border:1.5px solid rgba(224,174,68,.85);
           -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.btn--sevi:hover{background:rgba(224,174,68,.20);border-color:#F6DFA8}
.btn--sevi .btn__ic{background:rgba(224,174,68,.28)}
.nav__act .lnk--sevi{display:inline-flex;align-items:center;gap:8px;color:var(--gold-lt)}
.nav__act .lnk--sevi::before{content:"";width:7px;height:7px;border-radius:50%;
  background:var(--gold-lt);box-shadow:0 0 0 4px rgba(224,174,68,.18)}
.sheet .btn + .btn{margin-top:12px}
/* between 901 and 1150 the bar has no room for the sevi link; the sections carry the door */
@media (max-width:1150px){.nav__act .lnk--sevi{display:none}}
/* on the light Golden 50 photo the outline pill inverts to ink on cream */
#golden50 .btn--sevi{color:#5A3E0C;border-color:#B8862F;background:rgba(255,255,255,.62)}
#golden50 .btn--sevi:hover{background:rgba(255,255,255,.82)}
#golden50 .btn--sevi .btn__ic{background:rgba(184,134,47,.22)}

/* glyph halo: gives light text real separation over photography without a gradient scrim */
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.on-photo{text-shadow:0 1px 2px rgba(3,14,28,.72),0 2px 10px rgba(3,14,28,.62),
                     0 4px 22px rgba(3,14,28,.52),0 8px 46px rgba(3,14,28,.40)}

/* ============================================================ NAV */
.nav{position:fixed;top:0;left:0;right:0;z-index:60;padding:16px 0;background:transparent;
     transition:transform .55s var(--ease),padding .45s var(--ease)}
.nav.is-hidden{transform:translateY(-118%)}

/* the island: nothing spans the full width, so there is never a hard edge across the video */
.nav__in{display:flex;align-items:center;gap:22px;
         padding:9px 10px 9px 16px;border-radius:999px;
         background:rgba(9,25,42,.26);
         border:1px solid rgba(255,255,255,.16);
         box-shadow:inset 0 1px 0 rgba(255,255,255,.20),0 12px 40px rgba(4,16,30,.28);
         backdrop-filter:blur(22px) saturate(1.7);
         -webkit-backdrop-filter:blur(22px) saturate(1.7);
         transition:background-color .45s var(--ease),border-color .45s var(--ease),
                    box-shadow .45s var(--ease)}
.nav.is-solid{padding:10px 0}
.nav.is-solid .nav__in{background:rgba(9,25,42,.44);border-color:rgba(255,255,255,.22);
                       box-shadow:inset 0 1px 0 rgba(255,255,255,.24),0 16px 48px rgba(4,16,30,.42)}
.brand{display:flex;align-items:center;gap:11px;flex:none}
.brand img{width:46px;height:auto}
.brand__txt{line-height:1.05}
.brand__k{display:block;font-size:8.5px;letter-spacing:.18em;color:var(--gold-lt);font-weight:600}
.brand__n{display:block;font-family:Zodiak,Georgia,serif;font-weight:700;font-size:16px;color:#fff;
          letter-spacing:.01em}
.nav__menu{display:flex;gap:30px;margin-inline:auto}
.nav__menu a{font-size:14.5px;font-weight:500;color:rgba(255,255,255,.90);position:relative;padding:6px 0}
.nav__menu a::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1.5px;
                    background:var(--gold-lt);transition:right .38s var(--ease)}
.nav__menu a:hover::after,.nav__menu a[aria-current]::after{right:0}
.nav__act{display:flex;align-items:center;gap:12px;flex:none;
          padding:3px 3px 3px 15px;border-radius:999px;
          background:rgba(9,25,42,.31);box-shadow:inset 0 1px 0 rgba(255,255,255,.10)}
.nav__act .lnk{font-size:14px;font-weight:600;color:#fff}
.nav .btn{font-size:13.5px;padding:4px 4px 4px 18px}
.nav .btn__ic{width:30px;height:30px}
.burger{display:none;width:42px;height:42px;border-radius:999px;flex:none;
        background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.20);cursor:pointer;
        padding:0;flex-direction:column;align-items:center;justify-content:center;gap:5px;
        transition:background .2s,border-color .2s;-webkit-tap-highlight-color:transparent}
.burger:hover,.burger:focus-visible{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.35)}
.burger span{display:block;width:20px;height:2px;background:#fff;border-radius:2px;margin:0;
             transition:transform .42s var(--ease),opacity .28s var(--ease)}
.nav.is-open .burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav.is-open .burger span:nth-child(2){opacity:0}
.nav.is-open .burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

.sheet{position:fixed;inset:0;z-index:55;background:rgba(8,23,38,.97);
       display:grid;align-content:center;justify-items:start;gap:6px;
       padding:96px clamp(22px,7vw,64px) 40px;
       opacity:0;visibility:hidden;transition:opacity .42s var(--ease),visibility .42s}
.sheet.is-open{opacity:1;visibility:visible}
.sheet a{font-family:Zodiak,Georgia,serif;font-weight:700;font-size:clamp(30px,8vw,46px);color:#fff;
         letter-spacing:-.02em;opacity:0;transform:translateY(26px);
         transition:opacity .5s var(--ease),transform .5s var(--ease)}
.sheet.is-open a{opacity:1;transform:none}
.sheet .btn{margin-top:26px}


/* ============================================================ NAV DROPDOWNS
   the existing learngeeta.com content lives here, in four glass panels, so nothing is lost
   and nothing crowds the bar. Hover opens on a pointer, click and keyboard open everywhere. */
.nav__menu{gap:6px;align-items:center}
.nav__item{position:relative}
.nav__btn,.nav__link{display:inline-flex;align-items:center;gap:6px;font-size:14.5px;font-weight:500;
  color:rgba(255,255,255,.90);padding:8px 12px;border-radius:999px;transition:background-color .3s var(--ease)}
.nav__btn svg{width:11px;height:11px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;
  stroke-linejoin:round;opacity:.7;transition:transform .3s var(--ease)}
.nav__btn:hover,.nav__link:hover,.nav__item.is-open > .nav__btn{background:rgba(255,255,255,.09);color:#fff}
.nav__item.is-open > .nav__btn svg{transform:rotate(180deg)}
.nav__link{color:var(--gold-pale)}

/* Level 1 Dropdown */
.nav__drop{position:absolute;left:0;top:calc(100% + 12px);min-width:250px;padding:8px;
  border-radius:20px;background:rgba(9,25,42,.84);border:1px solid rgba(255,255,255,.18);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 24px 60px rgba(4,16,30,.55);
  -webkit-backdrop-filter:blur(24px) saturate(1.6);backdrop-filter:blur(24px) saturate(1.6);
  opacity:0;visibility:hidden;transform:translateY(-6px);
  transition:opacity .25s var(--ease),transform .25s var(--ease),visibility .25s;
  z-index:100;pointer-events:none}
.nav__drop--wide{min-width:520px;columns:2;column-gap:10px}
.nav__item.is-open > .nav__drop{opacity:1;visibility:visible;transform:none;pointer-events:auto}
.nav__item::after{content:"";position:absolute;left:0;right:0;top:100%;height:14px}

/* Sub-items & Sub-links */
.nav__sub-item{position:relative}
.nav__drop a,
.nav__sub-link{display:flex;align-items:center;justify-content:space-between;gap:12px;
  break-inside:avoid;padding:9px 14px;border-radius:12px;font-size:14px;
  font-weight:500;color:rgba(255,255,255,.88);white-space:nowrap;text-decoration:none;
  transition:background-color .2s var(--ease),color .2s var(--ease),transform .2s var(--ease);
  cursor:pointer}
.nav__drop a:hover,.nav__drop a:focus-visible,
.nav__sub-link:hover,.nav__sub-link:focus-visible,
.nav__sub-item.is-open > .nav__sub-link{background:rgba(224,174,68,.16);color:#FFEFC0}
.nav__sub-link.is-active,
.nav__sub-link[aria-current="page"]{background:#C44D12;color:#fff;font-weight:600}

/* Sub-item Arrow */
.nav__sub-arrow{width:12px;height:12px;flex-shrink:0;fill:none;stroke:currentColor;
  stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;opacity:.7;
  transition:transform .22s var(--ease),opacity .2s}
.nav__sub-item:hover > .nav__sub-link .nav__sub-arrow,
.nav__sub-item.is-open > .nav__sub-link .nav__sub-arrow{opacity:1;transform:translateX(3px)}

/* Level 2 & Level 3 Flyouts */
.nav__flyout{position:absolute;left:calc(100% + 8px);top:-6px;min-width:240px;padding:8px;
  border-radius:20px;background:rgba(9,25,42,.88);border:1px solid rgba(255,255,255,.18);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 24px 60px rgba(4,16,30,.6);
  -webkit-backdrop-filter:blur(24px) saturate(1.6);backdrop-filter:blur(24px) saturate(1.6);
  opacity:0;visibility:hidden;transform:translateX(-6px);
  transition:opacity .25s var(--ease),transform .25s var(--ease),visibility .25s;
  z-index:105;pointer-events:none}
.nav__sub-item::after{content:"";position:absolute;left:100%;top:0;width:14px;height:100%;z-index:101}
.nav__sub-item:hover > .nav__flyout,
.nav__sub-item.is-open > .nav__flyout,
.nav__sub-item:focus-within > .nav__flyout{opacity:1;visibility:visible;transform:none;pointer-events:auto}

/* Left-flipped flyouts for edge clearance */
.nav__flyout--left{left:auto;right:calc(100% + 8px);transform:translateX(6px)}
.nav__sub-item.flyout-left::after{left:auto;right:100%}
.nav__sub-item:hover > .nav__flyout--left,
.nav__sub-item.is-open > .nav__flyout--left,
.nav__sub-item:focus-within > .nav__flyout--left{transform:none}

/* the phone sheet: grouped, scrollable, quiet */
.sheet{align-content:start;justify-items:stretch;padding:88px clamp(22px,7vw,64px) 40px;overflow:auto;
       -webkit-overflow-scrolling:touch}
.sheet__in{display:grid;gap:22px;max-width:520px}
.sheet a{font-family:GS,sans-serif;font-weight:500;font-size:17px;letter-spacing:0;color:rgba(255,255,255,.88);
         padding:7px 0;display:block}
.sheet a.sheet__top{font-family:Zodiak,Georgia,serif;font-weight:700;font-size:30px;color:#fff;
         letter-spacing:-.02em;padding:0 0 4px}
.sheet a.sheet__link--sub{font-size:15px;color:rgba(255,255,255,.76);padding:5px 0}
.sheet p.sheet__sub-h{margin:10px 0 2px;font-size:12px;font-weight:600;letter-spacing:.08em;
  text-transform:uppercase;color:var(--gold-lt);opacity:.9}
.sheet__grp{display:grid;gap:2px;border-top:1px solid rgba(255,255,255,.12);padding-top:14px}
.sheet__h{margin:0 0 4px;font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
          color:var(--gold-lt)}
.sheet__ctas{display:grid;gap:12px;justify-items:start;padding-top:10px;border-top:1px solid rgba(255,255,255,.12)}
.sheet .btn{margin-top:8px;font-size:15px}
.sheet .btn + .btn{margin-top:0}
.sheet a.sheet__login{font-size:14px;color:rgba(255,255,255,.7)}
/* phones: a slimmer bar, so the film breathes */
@media (max-width:900px){
  .nav{padding:8px 0}
  .nav.is-solid{padding:6px 0}
  .nav__in{padding:5px 6px 5px 11px;gap:8px}
  .brand{gap:9px}
  .brand img{width:34px}
  .brand__k{font-size:7px}
  .brand__n{font-size:13.5px}
  .burger{width:38px;height:38px;margin-right:0}
  .burger span{width:18px}
  .nav.is-open .burger span:nth-child(1){transform:translateY(6.8px) rotate(45deg)}
}

/* ============================================================ HERO */
/* the copy sits low, over the water and the balustrade, where the frame is dark enough to
   carry white type; the sky above it is left to the figure */
.hero{position:relative;min-height:100svh;min-height:100dvh;display:grid;align-items:end;
      isolation:isolate;overflow:clip;padding:170px 0 160px}
.hero__media{position:absolute;inset:0;z-index:-2;transform:translateZ(0);backface-visibility:hidden}
.hero__media video{transform:translateZ(0)}
/* diagnostics: ?noglass drops the backdrop blur, ?nolenis uses native scroll */
html.noglass .nav__in,html.noglass .nav__act,html.noglass .stats ul{-webkit-backdrop-filter:none;backdrop-filter:none;background:rgba(8,23,38,.72)}
.hero__media video,.hero__media img{width:100%;max-width:none;height:100%;object-fit:cover;
                                    object-position:52% 50%}
.hero__grid{display:block}
/* Krishna stands in the left third of the clip, so the copy takes the right */
.hero__grid > div{max-width:min(560px,36vw)}
.hero h1{color:#fff;max-width:none}
.hero .h-xl{font-size:clamp(26px,3.4vw,52px)}
.hero h1 em{font-style:normal;color:var(--gold-pale);display:block}
.hero .eyebrow{color:#fff;font-size:clamp(15px,1.35vw,19px);font-weight:700;letter-spacing:.18em}
.hero__body{color:rgba(255,255,255,.94);max-width:38ch;margin:18px 0 28px;font-size:clamp(15px,1.15vw,17.5px)}
/* the claim carries the hero on its own now: one line, no paragraph under it */
.hero__claim{font-family:Zodiak,Georgia,serif;font-size:clamp(17px,1.5vw,23px);line-height:1.34;
             color:var(--gold-pale);margin:18px 0 30px;max-width:22ch}
.hero__ctas{display:flex;flex-wrap:wrap;gap:12px}

/* ============================================================ STATS */
.stats{position:relative;z-index:3;color:#fff;padding:0;
       margin-top:clamp(-104px,-7vw,-58px);pointer-events:none}
.stats ul{pointer-events:auto;list-style:none;margin:0 auto;padding:0;display:grid;
          grid-template-columns:repeat(5,1fr);
          border-radius:var(--r-xl);overflow:hidden;
          background:rgba(9,25,42,.26);
          border:1px solid rgba(255,255,255,.20);
          box-shadow:inset 0 1px 0 rgba(255,255,255,.20),0 26px 70px rgba(4,16,30,.38);
          backdrop-filter:blur(26px) saturate(1.7);
          -webkit-backdrop-filter:blur(26px) saturate(1.7)}
.stats li{padding:26px 18px;display:flex;align-items:center;gap:14px;justify-content:center;
          box-shadow:inset 1px 0 0 rgba(255,255,255,.11)}
.stats li:first-child{box-shadow:none}

/* a blurred element that scrolls repaints every frame on iOS. touch gets a denser flat tint
   and no blur, so the panel still reads as glass without costing frames. */
/* one panel, not a full width bar, so a modest blur is affordable on touch and pays for the
   extra transparency in legibility. */
@media (hover:none) and (pointer:coarse){
  .stats ul{backdrop-filter:blur(16px) saturate(1.5);
            -webkit-backdrop-filter:blur(16px) saturate(1.5);
            background:rgba(9,25,42,.30)}
}
.stats svg{width:26px;height:26px;flex:none;color:var(--gold-lt)}
.stats b{display:block;font-family:Zodiak,Georgia,serif;font-weight:700;font-size:clamp(19px,1.6vw,27px);
         line-height:1.1;font-variant-numeric:tabular-nums}
.stats span{display:block;font-size:11.5px;letter-spacing:.11em;text-transform:uppercase;
            color:rgba(255,255,255,.66);margin-top:4px}


/* ============================================================ LIVE NOW */
.live{position:relative;isolation:isolate;overflow:clip;background:var(--night);color:#fff;
      padding:clamp(56px,6vw,96px) 0 clamp(60px,6.5vw,104px)}
.live__bg{position:absolute;right:0;top:0;width:min(52%,780px);height:min(62%,460px);z-index:-1;
          opacity:.30;-webkit-mask-image:linear-gradient(255deg,#000 8%,transparent 72%);
          mask-image:linear-gradient(255deg,#000 8%,transparent 72%)}
.live__bg img{width:100%;height:100%;object-fit:cover;max-width:none}

.live__head{display:grid;grid-template-columns:minmax(320px,1.5fr) minmax(240px,.72fr);
            gap:clamp(20px,3vw,56px);align-items:start;margin-bottom:clamp(30px,3.6vw,52px)}
.live__head h2{font-family:Zodiak,Georgia,serif;font-weight:700;letter-spacing:-.024em;
               line-height:1.08;font-size:clamp(26px,3.3vw,46px);color:#fff;margin:0}
.live__head h2 em{font-style:italic;color:var(--gold-lt)}
.live__sub{font-size:clamp(15px,1.06vw,17.5px);line-height:1.6;color:rgba(255,255,255,.74);
           margin:16px 0 0;max-width:52ch}
.live__note{border-left:1px solid rgba(224,174,68,.34);padding-left:clamp(16px,1.6vw,24px)}
.live__note p{font-size:14.5px;line-height:1.62;color:rgba(255,255,255,.80);margin:0}
.live__tag{display:block;margin-top:14px;font-size:11px;font-weight:700;letter-spacing:.24em;
           text-transform:uppercase;color:var(--gold-lt)}

.live__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,1.6vw,24px)}

.lcard{position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;
       min-height:clamp(430px,34vw,520px);padding:clamp(24px,2.2vw,32px);
       border-radius:6px;background:#0B1F35;
       background-image:url("data:image/svg+xml,<svg xmlns="http%3A//www.w3.org/2000/svg" viewBox="0 0 40 40" fill="none" stroke="%23C79A3E" stroke-width="1.1" stroke-linecap="round"><path d="M40 1.5H15L1.5 15v25"/><path d="M40 7.5H18L7.5 18v22" opacity=".45"/></svg>"),url("data:image/svg+xml,<svg xmlns="http%3A//www.w3.org/2000/svg" viewBox="0 0 40 40" fill="none" stroke="%23C79A3E" stroke-width="1.1" stroke-linecap="round"><path d="M0 1.5h25L38.5 15v25"/><path d="M0 7.5h22L32.5 18v22" opacity=".45"/></svg>"),url("data:image/svg+xml,<svg xmlns="http%3A//www.w3.org/2000/svg" viewBox="0 0 40 40" fill="none" stroke="%23C79A3E" stroke-width="1.1" stroke-linecap="round"><path d="M40 38.5H15L1.5 25V0"/><path d="M40 32.5H18L7.5 22V0" opacity=".45"/></svg>"),url("data:image/svg+xml,<svg xmlns="http%3A//www.w3.org/2000/svg" viewBox="0 0 40 40" fill="none" stroke="%23C79A3E" stroke-width="1.1" stroke-linecap="round"><path d="M0 38.5h25L38.5 25V0"/><path d="M0 32.5h22L32.5 22V0" opacity=".45"/></svg>");
       background-position:left top,right top,left bottom,right bottom;
       background-repeat:no-repeat;background-size:40px 40px;
       box-shadow:inset 0 0 0 1px rgba(199,154,62,.24),0 18px 50px rgba(3,12,24,.42);
       transition:transform .46s var(--ease),box-shadow .46s var(--ease)}
.lcard:hover{transform:translateY(-8px);
             box-shadow:inset 0 0 0 1px rgba(224,174,68,.55),0 30px 70px rgba(3,12,24,.60)}
.lcard:focus-visible{outline:3px solid var(--gold-lt);outline-offset:4px}

/* the artwork bleeds from the right and fades out before it reaches the copy */
/* full bleed art with the card's own darkening on top, so the whole scene reads while the
   copy stays legible regardless of how the plate is exposed. */
.lcard__art{position:absolute;inset:0;z-index:-2;
            background:var(--art,radial-gradient(120% 90% at 78% 46%,
                       rgba(224,174,68,.30),rgba(224,174,68,.06) 46%,transparent 72%));
            background-size:cover;background-position:var(--art-pos,50% 50%);
            opacity:1;transition:transform .9s var(--ease)}
.lcard__art::after{content:"";position:absolute;inset:0;
       background:linear-gradient(90deg,rgba(5,17,31,.97) 0%,rgba(5,17,31,.94) 40%,
                  rgba(5,17,31,.66) 58%,rgba(5,17,31,.24) 80%,rgba(5,17,31,.08) 100%),
                  linear-gradient(to top,rgba(4,13,24,.70),transparent 38%)}
.lcard:hover .lcard__art{transform:scale(1.045)}

.lcard__n{position:absolute;z-index:-1;right:clamp(18px,1.8vw,26px);top:clamp(14px,1.4vw,20px);
          font-family:Zodiak,Georgia,serif;font-weight:700;line-height:1;
          font-size:clamp(52px,5vw,78px);color:rgba(255,255,255,.13);letter-spacing:-.03em;
          pointer-events:none}

.lbadge{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;
        font-size:10.5px;font-weight:700;letter-spacing:.19em;text-transform:uppercase;
        padding:6px 13px 6px 11px;border-radius:999px}
.lbadge--live{color:#7FE0B8;background:rgba(47,172,126,.13);
              border:1px solid rgba(47,172,126,.36)}
.lbadge--open{color:#FFDF9E;background:rgba(224,174,68,.13);
              border:1px solid rgba(224,174,68,.42)}
.ldot{width:7px;height:7px;border-radius:99px;background:currentColor;flex:none;position:relative}
.ldot::after{content:"";position:absolute;inset:-4px;border-radius:99px;
             border:1.5px solid currentColor;opacity:.5;
             animation:lpulse 2.4s var(--ease) infinite}
@keyframes lpulse{0%{transform:scale(.6);opacity:.6}70%,100%{transform:scale(1.55);opacity:0}}

.lkick{display:inline-block;align-self:flex-start;margin-top:clamp(18px,2vw,28px);font-size:11px;font-weight:700;
       letter-spacing:.21em;text-transform:uppercase;color:#FFDF9E}
.lcard h3{font-family:Zodiak,Georgia,serif;font-weight:700;letter-spacing:-.02em;
          font-size:clamp(26px,2.5vw,38px);line-height:1.08;color:#fff;margin:9px 0 0;
          max-width:11ch}
.lrule{display:block;width:34px;height:2px;border-radius:2px;margin:16px 0 0;
       background:linear-gradient(90deg,var(--gold-lt),rgba(224,174,68,0))}
.lcard p{font-size:14.5px;line-height:1.62;color:rgba(255,255,255,.86);margin:14px 0 0;
         max-width:21ch}

.lgo{display:inline-flex;align-items:center;gap:12px;align-self:flex-start;white-space:nowrap;
     margin-top:clamp(20px,2.2vw,30px);font-size:14.5px;font-weight:600;color:#241705;
     padding:11px 12px 11px 22px;border-radius:999px;
     background:linear-gradient(135deg,#F6DFA8,#E0B657 44%,#BE8B29);
     box-shadow:0 10px 26px rgba(78,50,8,.42);
     transition:transform .34s var(--ease),box-shadow .34s var(--ease)}
.lgo svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:2.4;
         stroke-linecap:round;stroke-linejoin:round}
.lcard:hover .lgo{transform:translateY(-2px);box-shadow:0 16px 34px rgba(78,50,8,.52)}

.lfeat{list-style:none;margin:auto 0 0;padding:clamp(18px,2vw,26px) 0 0;display:flex;
       gap:clamp(10px,1.2vw,20px);flex-wrap:wrap}
.lfeat li{display:flex;align-items:center;gap:9px;min-width:0}
.lfeat svg{width:26px;height:26px;flex:none;stroke:currentColor;fill:none;stroke-width:1.5;
           stroke-linecap:round;stroke-linejoin:round;color:var(--gold-lt);opacity:.9}
.lfeat span{font-size:11.5px;line-height:1.3;color:rgba(255,255,255,.86);font-weight:600}

@media (prefers-reduced-motion:reduce){.ldot::after{animation:none}}
@media (max-width:1180px){
  .live__grid{grid-template-columns:1fr 1fr}
  .live__grid > :last-child{grid-column:1/-1}
  .lcard h3{max-width:none}
}
@media (max-width:820px){
  .live__head{grid-template-columns:1fr}
  .live__note{border-left:0;border-top:1px solid rgba(224,174,68,.34);padding:16px 0 0}
  .live__grid,.live__grid > :last-child{grid-template-columns:1fr;grid-column:auto}
  .lcard{min-height:0}
  .lcard__art{inset:0 0 0 34%}
  .lcard p{max-width:30ch}
}

/* ============================================================ SECTION SHELL */
.sec{position:relative;isolation:isolate;overflow:clip;
     padding:clamp(72px,8vw,150px) 0}
.sec__bg{position:absolute;inset:-8% 0;z-index:-2;will-change:transform}
.sec__bg img{width:118%;max-width:none;height:100%;object-fit:cover;margin-left:-9%}

/* ============================================================ GOLDEN 50 */
.g50__grid{display:grid;grid-template-columns:minmax(250px,.8fr) minmax(500px,1.5fr) minmax(230px,.7fr);
           gap:clamp(18px,2.4vw,50px);align-items:center}
.g50 .eyebrow{color:#44351B}
.g50 .h-lg{color:var(--gold)}
.g50 .lede{color:var(--deep);margin:12px 0 16px}
.g50 .body{color:#2E4256;max-width:42ch;margin-bottom:28px}
.g50__ctas{display:flex;flex-wrap:wrap;gap:11px}
.g50__q{font-family:Zodiak,Georgia,serif;font-size:clamp(21px,2vw,35px);line-height:1.22;
        color:var(--deep);position:relative;padding-left:26px}
.g50__q::before{content:"\201C";position:absolute;left:-6px;top:-.18em;font-size:2.5em;line-height:1;
                color:var(--gold-lt)}

.wheel{width:100%;height:auto;aspect-ratio:1/1;overflow:visible}

/* The ring turns as one composited layer instead of ten attribute writes a frame, which is
   what made it stutter. Labels ride the same animation and counter-rotate about their own
   box, so they orbit while staying upright. Same duration and linear timing on both keeps
   them locked together. */
#petals,#labels{transform-box:view-box;transform-origin:500px 500px;
                animation:g50spin var(--spin,210s) linear infinite;will-change:transform}
#lotusUnder{transform-box:view-box;transform-origin:500px 500px;
            animation:g50spinrev calc(var(--spin,210s)*2.4) linear infinite}
.lblwrap{transform-box:fill-box;transform-origin:50% 50%;
         animation:g50spinrev var(--spin,210s) linear infinite}
@keyframes g50spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}
@keyframes g50spinrev{from{transform:rotate(0)}to{transform:rotate(-360deg)}}
.wheel:hover #petals,.wheel:hover #labels,.wheel:hover #lotusUnder,.wheel:hover .lblwrap,
.wheel:focus-within #petals,.wheel:focus-within #labels,.wheel:focus-within #lotusUnder,
.wheel:focus-within .lblwrap,
.wheel.is-off #petals,.wheel.is-off #labels,.wheel.is-off #lotusUnder,.wheel.is-off .lblwrap
  {animation-play-state:paused}
.petal{cursor:pointer}
/* a click focuses the petal, and Chrome draws its default box around the group; the
   keyboard ring is the .pring rect, so the box is never wanted */
.petal:focus,.petal:focus-visible,.wheel:focus,.wheel svg:focus{outline:none}
.plift{transform-box:view-box;transform-origin:500px 500px;transition:transform .45s var(--ease)}
.petal:hover .plift,.petal:focus-visible .plift{transform:scale(1.05)}
.pring{fill:none;stroke:var(--gold-pale);stroke-width:0;transition:stroke-width .18s}
.petal:focus-visible .pring{stroke-width:9}
.phit{fill:transparent}
.pnum{font-family:Zodiak,Georgia,serif;font-weight:700;fill:#fff;text-anchor:middle}
.plbl{font-weight:500;fill:#F2F7FF;text-anchor:middle}
.plbl-short,.pnum-short{display:none}
.pnum,.plbl{pointer-events:none;paint-order:stroke;stroke:rgba(3,20,44,.45);stroke-width:3.5px;
            stroke-linejoin:round}

/* mobile list that replaces the labels on small screens */
.g50__list{display:none;list-style:none;margin:30px 0 0;padding:6px;
           border-radius:var(--r-lg);background:rgba(9,25,42,.42);
           border:1px solid rgba(255,255,255,.15);
           box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 18px 46px rgba(4,16,30,.30);
           backdrop-filter:blur(18px) saturate(1.6);
           -webkit-backdrop-filter:blur(18px) saturate(1.6)}
.g50__list a{display:grid;grid-template-columns:26px 1fr 16px;gap:13px;align-items:center;
             padding:14px 13px;border-radius:var(--r-sm);color:#fff;
             transition:background-color .3s var(--ease)}
.g50__list a:active{background:rgba(255,255,255,.09)}
.g50__list li+li a{box-shadow:inset 0 1px 0 rgba(255,255,255,.09)}
.g50__list b{font-family:Zodiak,Georgia,serif;font-weight:700;font-size:15px;
             color:var(--gold-lt);font-variant-numeric:tabular-nums}
.g50__list span{font-size:14.5px;font-weight:500;line-height:1.3;color:#fff}
.g50__list svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:2.2;
               stroke-linecap:round;stroke-linejoin:round;color:rgba(255,255,255,.45)}

/* ============================================================ VOICES */
.voices{padding:clamp(72px,8vw,140px) 0}
.voices .eyebrow{color:#44351B}
.voices .h-md{color:var(--deep)}
.voices__top{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(300px,1.1fr);
             gap:clamp(20px,3vw,60px);align-items:end;margin-bottom:clamp(26px,3.4vw,48px)}
.voices__top .body{color:#22364C;max-width:46ch}

/* right-to-left marquee. the track holds the set twice and shifts exactly -50%, so the
   wrap point is invisible. translate3d keeps it on the compositor. */
.marq{position:relative;overflow:hidden;
      -webkit-mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent);
      mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent)}
.marq__track{display:flex;gap:16px;width:max-content;will-change:transform;
             animation:marq var(--marq,64s) linear infinite}
.marq:hover .marq__track,.marq:focus-within .marq__track{animation-play-state:paused}
@keyframes marq{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}

/* the series art is 1080x1920 and already carries the headline, the person and the /50
   badge, so the card is the poster. no caption to repeat what the artwork says. */
.vcard{flex:0 0 auto;width:clamp(176px,15.5vw,224px);border-radius:var(--r-lg);overflow:hidden;
       background:#0C2138;box-shadow:0 14px 40px rgba(20,44,70,.20);
       transition:transform .42s var(--ease),box-shadow .42s var(--ease)}
.vcard:hover{transform:translateY(-6px);box-shadow:0 22px 56px rgba(20,44,70,.26)}
/* these are spans inside an <a>, so they need an explicit box before aspect-ratio and the
   text block will do anything at all. */
.vcard__thumb{display:block;position:relative;aspect-ratio:9/16;background:#0C2138;overflow:hidden}
/* the shorts thumbnail is served 16:9 with the 9:16 poster pillarboxed dead centre, so a
   cover crop on a 9:16 box lands exactly on the poster and drops the blurred filler. */
.vcard__thumb img{width:100%;height:100%;object-fit:cover;object-position:50% 50%;
                  transition:transform .6s var(--ease)}
.vcard:hover .vcard__thumb img{transform:scale(1.05)}
.vcard__play{position:absolute;inset:0;display:grid;place-items:center;
             opacity:0;transition:opacity .34s var(--ease)}
.vcard:hover .vcard__play,.vcard:focus-visible .vcard__play{opacity:1}
.vcard__play i{width:52px;height:52px;border-radius:999px;display:grid;place-items:center;
               background:rgba(255,255,255,.94);box-shadow:0 8px 26px rgba(6,20,36,.5);
               transform:scale(.86);transition:transform .38s var(--ease)}
.vcard:hover .vcard__play i{transform:scale(1)}

/* ============================================================ SHLOKA */
.shloka{padding:clamp(72px,8vw,140px) 0}
.shloka__grid{display:grid;grid-template-columns:minmax(260px,.85fr) minmax(340px,1.15fr);
              gap:clamp(24px,4vw,72px);align-items:center}
.shloka .eyebrow{color:#6B5834}
.shloka .h-md{color:var(--deep)}
.shloka .body{color:var(--ink-2);max-width:40ch;margin:16px 0 28px}
.card-paper{background:#FFFDF6;border-radius:var(--r-xl);padding:8px;
            box-shadow:0 24px 70px rgba(74,52,18,.13)}
.card-paper__in{border:1px solid rgba(140,104,40,.20);border-radius:calc(var(--r-xl) - 8px);
                padding:clamp(26px,3.4vw,52px)}
.shloka__ref{font-size:12px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;
             color:var(--gold);margin-bottom:20px}
.shloka__sa{font-family:Tiro,Zodiak,serif;font-size:clamp(23px,2.5vw,38px);line-height:1.75;
            color:var(--deep);letter-spacing:.005em}
.shloka__tr{font-family:Zodiak,Georgia,serif;font-style:italic;font-size:clamp(15px,1.15vw,19px);
            line-height:1.6;color:#6B5834;margin-top:18px}
.shloka__en{font-family:Zodiak,Georgia,serif;font-size:clamp(17px,1.45vw,24px);line-height:1.42;
            color:var(--deep);margin-top:22px;padding-top:22px;
            border-top:1px solid rgba(140,104,40,.22)}

/* ============================================================ JOURNEY */
.journey{padding:clamp(72px,8vw,140px) 0}
.journey .eyebrow{color:#44351B}
.journey .h-md{color:var(--deep)}
.journey__grid{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(320px,1.35fr) minmax(180px,.6fr);
               gap:clamp(18px,2.6vw,44px);align-items:center}
.jfilm{position:relative;border-radius:var(--r-lg);overflow:hidden;aspect-ratio:16/9;
       box-shadow:0 26px 70px rgba(14,36,58,.30)}
.jfilm img{width:100%;height:100%;object-fit:cover}
.jfilm__play{position:absolute;inset:0;display:grid;place-items:center}
.jfilm__play i{width:74px;height:74px;border-radius:999px;display:grid;place-items:center;
               background:rgba(255,255,255,.90);box-shadow:0 10px 34px rgba(8,24,40,.4);
               transition:transform .4s var(--ease)}
.jfilm__overlay{position:absolute;inset:0;background:radial-gradient(circle at 50% 50%,rgba(12,25,40,.20) 0%,rgba(8,16,26,.60) 100%);pointer-events:none}
.jfilm__wrap{display:flex;flex-direction:column;align-items:center;gap:14px;pointer-events:none}
.jfilm__play i.is-disabled{
  width:72px;height:72px;border-radius:999px;display:grid;place-items:center;
  background:rgba(12,21,32,.65);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  border:1.5px solid rgba(224,174,68,.40);color:rgba(224,174,68,.90);
  box-shadow:0 14px 38px rgba(0,0,0,.50),inset 0 1px 1px rgba(255,255,255,.15);
  cursor:not-allowed;opacity:.92;
}
.jfilm__play i.is-disabled svg{margin-left:3px}
.jfilm__cs{
  font-family:inherit;font-size:11.5px;font-weight:700;letter-spacing:.30em;text-transform:uppercase;
  color:#FFEFC0;background:rgba(10,18,28,.75);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  padding:6px 18px 5px 21px;border-radius:999px;border:1px solid rgba(224,174,68,.35);
  box-shadow:0 8px 24px rgba(0,0,0,.45);text-shadow:0 0 12px rgba(224,174,68,.25);
  pointer-events:none;
}
.jfilm--disabled{cursor:not-allowed}
.jfilm--disabled:hover .jfilm__play i{transform:none}
.jbook{border-radius:var(--r-lg);padding:26px 22px;background:rgba(255,255,255,.86);
       box-shadow:0 14px 42px rgba(20,44,70,.16);text-align:center}
.jbook b{display:block;font-family:Zodiak,Georgia,serif;font-weight:700;font-size:19px;color:var(--deep)}
.jbook span{display:block;font-size:12px;letter-spacing:.16em;text-transform:uppercase;
            color:var(--gold);margin-top:9px}

/* ============================================================ FINAL CTA */
.final{position:relative;isolation:isolate;overflow:clip;color:#fff;
       padding:clamp(84px,10vw,170px) 0}
.final__bg{position:absolute;inset:-8% 0;z-index:-2;will-change:transform}
.final__bg img{width:114%;max-width:none;height:100%;object-fit:cover;margin-left:-7%}
.final__grid{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(24px,4vw,70px);align-items:end}
.final h2{color:#fff}
.final .body{color:rgba(255,255,255,.90);max-width:34ch;margin:18px 0 30px}
.final__q{font-family:Zodiak,Georgia,serif;font-size:clamp(20px,1.9vw,32px);line-height:1.24;
          color:#fff;position:relative;padding-left:28px}
.final__q::before{content:"\201C";position:absolute;left:-4px;top:-.2em;font-size:2.6em;line-height:1;
                  color:var(--gold-lt)}

/* ============================================================ FOOTER */
.foot{background:var(--night);color:rgba(255,255,255,.78);padding:clamp(54px,6vw,88px) 0 30px}
.foot__grid{display:grid;grid-template-columns:1.3fr repeat(4,1fr) 1.1fr;gap:clamp(18px,2.4vw,40px)}
.foot h3{font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
         color:var(--gold-lt);margin-bottom:16px}
.foot ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.foot a{font-size:14px}
.foot a:hover{color:#fff}
.foot__soc{display:flex;gap:10px;margin-top:4px}
.foot__soc a{width:38px;height:38px;border-radius:999px;display:grid;place-items:center;
             background:rgba(255,255,255,.08);transition:background-color .3s var(--ease)}
.foot__soc a:hover{background:var(--gold-mid)}
.foot__soc svg{width:17px;height:17px}
.foot__brand img{width:62px;margin-bottom:14px}
.foot__tag{font-family:Zodiak,Georgia,serif;font-size:15px;color:rgba(255,255,255,.66);max-width:24ch}
/* the two marks in the footer: LearnGeeta, and Geeta Pariwar which opens dharmashree.org */
.foot__marks{display:flex;align-items:center;gap:16px;margin-bottom:14px}
.foot__marks img{margin-bottom:0}
.foot__gp img{width:56px;height:56px;border-radius:50%;box-shadow:0 0 0 2px rgba(255,255,255,.12);
              transition:transform .34s var(--ease),box-shadow .34s var(--ease)}
.foot__gp:hover img{transform:translateY(-2px);box-shadow:0 0 0 2px rgba(224,174,68,.6)}
/* the Live Now section is set in Hindi: Tiro carries every line, the small caps lose their
   tracking and case, and sizes step up a touch because Devanagari sets smaller than Latin */
/* the block leads in English now; its two Hindi lines keep the Devanagari face and lose the
   tracking and capitals that only suit Latin */
.live [lang=hi]{font-family:Tiro,Zodiak,Georgia,serif;letter-spacing:.02em;text-transform:none;font-size:1.08em}
.live[lang=hi] h2,.live[lang=hi] p,.live[lang=hi] span{font-family:Tiro,Zodiak,Georgia,serif}
.live[lang=hi] h3{font-family:Zodiak,Georgia,serif;letter-spacing:-.018em}
.live[lang=hi] .lkick,.live[lang=hi] .lbadge,.live[lang=hi] .live__tag{letter-spacing:.02em;text-transform:none;font-size:1.08em}
.live[lang=hi] h2{letter-spacing:0}
.live[lang=hi] .lgo,.live[lang=hi] .lfeat span,.live[lang=hi] .lcard p{font-size:1.06em}
/* Devanagari lines: one per section, never letter spaced, always in Tiro */
.dev{font-family:Tiro,Zodiak,Georgia,serif;font-size:clamp(15px,1.15vw,19px);line-height:1.5;
     letter-spacing:0;color:var(--gold-lt);margin:0}
.eyebrow + .dev{margin:-6px 0 12px}
.dev--hero{font-size:clamp(17px,1.4vw,22px);color:#FFEFC0;margin-bottom:14px}
.foot__tag.dev{font-size:15px;color:rgba(255,255,255,.66);margin-top:2px}
/* paired Hindi: the lead line above each headline and intro. Tiro, never tracked. */
.dev--pairh{font-size:clamp(19px,1.7vw,27px);line-height:1.4;color:var(--gold-lt);margin:0 0 8px;
            max-width:30ch}
.dev--pair{font-size:clamp(15.5px,1.12vw,18.5px);line-height:1.6;color:rgba(255,255,255,.86);
           margin:0 0 10px;max-width:58ch}
.psec--paper .dev--pair,.g50 .dev--pair,.tl .dev--pair{color:var(--ink-2)}
.psec--paper .dev--pairh,.g50 .dev--pairh,.tl .dev--pairh{color:var(--gold)}
.pcta .dev--pairh,.pcta .dev--pair{margin-inline:auto}
.on-photo + .dev--pair,.final .dev--pair{color:rgba(255,255,255,.92)}
.twocol__body .dev--pair{margin-top:14px}
.twocol__body .dev--pair:first-child{margin-top:0}
/* pairs inside list items and definition rows stack above the English, never run into it */
span.dev--pair{display:block;margin:0 0 4px}
.rgets li{flex-wrap:wrap}
.rgets span.dev--pair{flex-basis:100%;order:2;margin:2px 0 0 25px}
.tone + p.dev--pair,.clock + p.dev--pair{margin-top:26px}
.steps li span.dev--pair,.beats li span.dev--pair{margin-bottom:8px}
/* a block set in Hindi alone: the size of the English it replaces, Tiro, no tracking */
.dev-only{font-family:Tiro,Zodiak,Georgia,serif;letter-spacing:0;font-size:1.06em;line-height:1.62}
b.dev-only{font-size:1.02em}
/* ============================================================ ONE LAMP
   His life as a pinned stage: the portrait is the constant, the world behind it passes.
   Four scenes crossfade with the scroll, four chapters arrive one at a time, and the light
   on the cutout follows a fine pointer. Phones drop the pin and read it as four cards. */
.lamp{position:relative;background:var(--night);height:auto;padding:clamp(60px,8vw,120px) 0;overflow:visible}
.lamp__in{display:block;width:var(--shell);margin-inline:auto}

.lamp__hdr{text-align:center;max-width:780px;margin:0 auto clamp(36px,5vw,64px);padding:0 16px}
.lamp__portrait{width:min(44vw,220px);margin:0 auto 18px;position:relative}
.lamp__portrait img{width:100%;height:auto;filter:drop-shadow(0 16px 40px rgba(0,0,0,.65))}
.lamp__video{display:flex;justify-content:center;margin:0 auto clamp(20px,2.5vw,28px);width:100%}
.lamp__video-inner{position:relative;width:clamp(220px,26vw,290px);aspect-ratio:9/16;
                    border-radius:20px;overflow:hidden;background:#050f1a;
                    border:2px solid rgba(224,174,68,.45);
                    box-shadow:0 16px 50px rgba(0,0,0,.75),0 0 35px rgba(224,174,68,.16);
                    transition:transform .35s var(--ease),border-color .35s var(--ease),box-shadow .35s var(--ease)}
.lamp__video-inner:hover{transform:translateY(-3px);border-color:rgba(224,174,68,.75);
                         box-shadow:0 22px 60px rgba(0,0,0,.85),0 0 45px rgba(224,174,68,.3)}
.lamp__video-inner iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:none;display:block}
.lamp__hdr .dev{font-size:clamp(16px,1.3vw,21px);color:var(--gold-lt);margin-bottom:8px}
.lamp__hdr h2{color:#fff;font-family:Zodiak,Georgia,serif;font-weight:700;font-size:clamp(26px,2.8vw,40px);line-height:1.18;margin-bottom:10px}
.lamp__sub{font-size:clamp(15px,1.05vw,17.5px);color:rgba(255,255,255,.75);margin:0}

.lamp__stage{width:100%;max-width:820px;margin-inline:auto;display:grid;gap:clamp(44px,5.5vw,72px)}

.lamp__ch{position:relative;display:grid;gap:12px;
          background:rgba(255,255,255,.03);
          border:1px solid rgba(255,255,255,.09);
          border-radius:calc(var(--r) + 8px);
          padding:clamp(22px,3.2vw,38px);
          box-shadow:0 18px 50px rgba(0,0,0,.38);
          backdrop-filter:blur(14px);
          -webkit-backdrop-filter:blur(14px);
          opacity:1;visibility:visible;
          transition:border-color .32s var(--ease),transform .32s var(--ease),box-shadow .32s var(--ease)}
.lamp__ch:hover{border-color:rgba(224,174,68,.35);transform:translateY(-3px);box-shadow:0 24px 60px rgba(0,0,0,.5)}

.lamp__scene{display:block;width:100%;aspect-ratio:16/9;max-height:440px;object-fit:cover;
             border-radius:var(--r);margin-bottom:12px;opacity:1;
             box-shadow:0 12px 32px rgba(0,0,0,.45)}

.lamp__yr{font-family:Zodiak,Georgia,serif;font-weight:700;font-size:clamp(40px,4.5vw,66px);
  line-height:1;letter-spacing:-.02em;color:var(--gold-lt);font-variant-numeric:tabular-nums;
  opacity:.95;margin-top:4px}
.lamp__rule{display:block;width:96px;height:1.5px;background:var(--gold-lt);opacity:.6;margin:12px 0 6px}
.lamp__hi{font-family:Tiro,Zodiak,Georgia,serif;font-size:clamp(17px,1.35vw,22px);line-height:1.45;
  color:#FFEFC0;margin:0}
.lamp__ch h3{font-family:Zodiak,Georgia,serif;font-weight:700;font-size:clamp(22px,2vw,30px);
  line-height:1.22;letter-spacing:-.015em;color:#fff;margin:4px 0 8px}
.lamp__ch p{font-size:clamp(15px,1.05vw,17.5px);line-height:1.64;color:rgba(255,255,255,.84);
  max-width:68ch;margin:0}
.lamp__verse{margin-top:16px;padding-top:18px;border-top:1px solid rgba(255,255,255,.1)}
.lamp__verse q{display:block;font-family:Tiro,Zodiak,serif;font-size:clamp(19px,1.7vw,26px);
  line-height:1.6;color:#FFEFC0;quotes:none}
.lamp__verse q .ak{display:inline-block;padding:0 .14em;margin:0 -.14em;--p:130%;
  -webkit-mask-image:linear-gradient(90deg,#000 calc(var(--p) - 22%),transparent var(--p));
  mask-image:linear-gradient(90deg,#000 calc(var(--p) - 22%),transparent var(--p))}
.lamp__verse cite{display:block;font-style:normal;font-size:12.5px;font-weight:600;
  letter-spacing:.14em;text-transform:uppercase;color:var(--gold-lt);opacity:.85;margin-top:10px}
.lamp__ctas{display:flex;flex-wrap:wrap;align-items:center;gap:18px;margin-top:20px}
.lamp__ctas .lnk{color:rgba(255,255,255,.8);font-size:14.5px;font-weight:600;
  border-bottom:1px solid rgba(255,255,255,.3);padding-bottom:2px;transition:color .2s,border-color .2s}
.lamp__ctas .lnk:hover{color:#fff;border-color:#fff}

@media (max-width:720px){
  .lamp__stage{gap:36px}
  .lamp__ch{padding:18px;border-radius:var(--r)}
  .lamp__scene{aspect-ratio:4/3;max-height:280px;border-radius:var(--r-sm)}
  .lamp__yr{font-size:36px}
  .lamp__rule{width:72px}
}

/* ============================================================ REVEALS */
.rv{opacity:0;transform:translateY(26px)}
[data-stagger] > *{opacity:0;transform:translateY(22px)}
html.no-anim .rv,html.no-anim [data-stagger] > *{opacity:1;transform:none}

/* ============================================================ RESPONSIVE */
/* tablets, 721 to 1200: the figure fills the frame, so the same band layout as phones */
@media (min-width:721px) and (max-width:1200px){
  .hero{position:relative;min-height:0;padding:0;display:block;background:var(--night);overflow:clip}
  .hero::before{content:"";position:absolute;inset:-8%;z-index:0;
        background:url(assets/hero-poster.jpg) center 30%/cover;
        filter:blur(52px) saturate(1.25) brightness(.66);transform:scale(1.08)}
  .hero::after{content:"";position:absolute;inset:0;z-index:0;
        background:linear-gradient(to bottom,rgba(6,18,32,.10) 30%,rgba(6,18,32,.34) 70%,
                   rgba(6,18,32,.52) 100%)}
  .hero > *{position:relative;z-index:1}
  .hero__media{position:relative;inset:auto;width:100%;aspect-ratio:16/10;z-index:1;
               overflow:hidden;will-change:auto}
  .hero__media video{object-position:50% 40%}
  .hero__grid{padding:36px 0 150px}
  .hero__grid > div{max-width:min(640px,80vw)}
  .hero .h-xl{font-size:clamp(30px,4.6vw,48px)}
}
@media (max-width:1200px){
  .g50__grid{grid-template-columns:1fr 1fr}
  .g50__wheel{grid-column:1/-1;order:-1;width:min(100%,660px);justify-self:center}
  .journey__grid{grid-template-columns:1fr 1fr}
  .jbook{grid-column:1/-1}
  .foot__grid{grid-template-columns:1.4fr 1fr 1fr 1fr;row-gap:34px}

}
@media (max-width:900px){
  /* the Join Now pill plus the burger overran 390px. Join Now lives in the sheet on small
     screens, so the bar carries the brand and the burger only. */
  .nav__menu,.nav__act .lnk,.nav__act > .btn{display:none}
  .nav__in{gap:12px;justify-content:space-between}
  .nav__act{margin-left:auto;padding:0;background:none;box-shadow:none}
  .burger{display:flex;margin:0;width:38px;height:38px}
  .stats ul{grid-template-columns:repeat(3,1fr)}
  .stats li:nth-child(4){border-left:0}
  .voices__top{grid-template-columns:1fr}
  .shloka__grid{grid-template-columns:1fr}
  .final__grid{grid-template-columns:1fr}
  .foot__grid{grid-template-columns:1fr 1fr}
}
@media (max-width:720px){
  :root{--shell:min(90vw,1560px)}
  /* the video runs the full height behind everything, and the copy floats on glass rather
     than sitting on a solid slab, so the hero reads as one continuous scene. */
  /* video is a band so the whole figure reads and nothing is laid over it. the ground below
     is the same frame, blurred and pushed down, so the copy area belongs to the scene rather
     than looking like a separate dark section. */
  .hero{position:relative;min-height:0;padding:0;display:block;
        background:var(--night);overflow:clip}
  .hero::before{content:"";position:absolute;inset:-8%;z-index:0;
        background:url(assets/hero-poster.jpg) center 30%/cover;
        filter:blur(52px) saturate(1.25) brightness(.66);transform:scale(1.08)}
  .hero::after{content:"";position:absolute;inset:0;z-index:0;
        background:linear-gradient(to bottom,rgba(6,18,32,.10) 30%,rgba(6,18,32,.34) 70%,
                   rgba(6,18,32,.52) 100%)}
  .hero > *{position:relative;z-index:1}
  .hero__media{position:relative;inset:auto;width:100%;aspect-ratio:3/4;z-index:1;
               overflow:hidden}
  .hero__media video{object-position:40% 50%}
  .hero__grid{padding:26px 0 320px}
  .hero__grid > div{padding:0;border:0;background:none;box-shadow:none;
                    backdrop-filter:none;-webkit-backdrop-filter:none}

  /* headline: smaller and slightly looser than desktop's 1.0, which is too tight for a high
     contrast serif at phone size. vw-led so it scales with the device rather than stepping. */
  /* down a real step. 35px over three lines was shouting; 29px sets in two and reads as
     composed rather than enlarged. */
  .hero .h-xl{font-size:clamp(26px,7.3vw,36px);line-height:1.08;letter-spacing:-.02em}
  .hero__claim{font-size:15px;margin:10px 0 18px;max-width:24ch}

  /* one primary action, one subordinate. two equal pills was two primaries, and it cost
     fifty pixels of a screen that does not have fifty to spare. */
  /* side by side measured 364px inside a 309px panel and clipped the secondary's icon.
     stacked, the text-link secondary still costs only ~34px against a pill's 44. */
  .hero__ctas{gap:13px;align-items:flex-start;flex-direction:column}
  .hero__ctas .btn--gold{align-self:stretch;justify-content:space-between;
                         padding:5px 5px 5px 18px;font-size:14px}
  .hero__ctas .btn--glass{flex:0 0 auto;background:none;border:0;padding:0;gap:9px;
                          font-size:13.5px;color:rgba(255,255,255,.92);box-shadow:none}
  .hero__ctas .btn--glass .btn__ic{width:30px;height:30px;
                                   background:rgba(255,255,255,.16);
                                   border:1px solid rgba(255,255,255,.34)}
  .hero__ctas .btn--glass:hover{transform:none}

  /* minmax(0,1fr) is what actually forces two equal columns; plain 1fr lets a wide cell win */
  /* the stacked layout made the panel ~640px tall and pushed its bottom half onto the cream
     below, where the glass goes muddy. now the columns hold, the compact row fits. */
  /* pulled back onto the footage so there is no dark band between the copy and the wheel */
    .stats{margin-top:-286px;padding-bottom:0;background:transparent}
  .stats ul{background:rgba(6,20,36,.40);border-color:rgba(255,255,255,.16);
            backdrop-filter:blur(20px) saturate(1.55);
            -webkit-backdrop-filter:blur(20px) saturate(1.55)}
  .stats ul{grid-template-columns:repeat(2,minmax(0,1fr))}
  .stats li{flex-direction:row;align-items:center;justify-content:flex-start;
            gap:11px;padding:15px 13px;text-align:left}
  .stats li:last-child{grid-column:1/-1}
  .stats b{font-size:20px;line-height:1.05}
  .stats span{font-size:10px;letter-spacing:.08em;margin-top:3px;line-height:1.32}
  .stats svg{width:20px;height:20px}
  .hero__grid > div{max-width:none}
  .hero h1{max-width:none}
  .g50__grid{grid-template-columns:1fr;gap:26px}
  .g50__wheel{max-width:none;width:100%;margin-inline:calc(var(--shell-bleed,0px)*-1)}
  .g50__q{padding-left:22px}
  .g50__list{display:grid}
  /* full names cannot set inside a 100px petal, so phones get the short form rather than
     nothing at all */
  .plbl-full,.pnum:not(.pnum-short){display:none}
  .plbl-short,.pnum-short{display:block}
  .journey__grid{grid-template-columns:1fr}
  .foot__grid{grid-template-columns:1fr}
  .foot__base{flex-direction:column;gap:8px}
}

@media (prefers-reduced-motion:reduce){
  #petals,#labels,#lotusUnder,.lblwrap,.marq__track{animation:none!important}
  [data-stagger] > *{opacity:1!important;transform:none!important}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;
                       transition-duration:.001ms!important;scroll-behavior:auto!important}
  .rv{opacity:1;transform:none}
}

/* petal to page: the chosen petal lifts, the rest fall back, the night veil rises, and the
   sub-page's bloom carries the same petal in on the far side. */
.petal.is-chosen .plift{transform:scale(1.18);transition:transform .5s var(--ease)}
.wheel.is-leaving .petal:not(.is-chosen),.wheel.is-leaving #lotusUnder,
.wheel.is-leaving .lblwrap:not(.is-chosen){opacity:.26;transition:opacity .4s var(--ease)}
#veil{position:fixed;inset:0;background:var(--night);opacity:0;pointer-events:none;z-index:400}

/* ============================================================ STANDARD WP PAGE STYLES */
.site-main-content{padding-top:140px;padding-bottom:80px;min-height:70vh}
.page-header{margin-bottom:32px;text-align:center}
.page-title{font-family:Zodiak,Georgia,serif;font-size:clamp(28px,3.2vw,48px);color:var(--deep);margin-bottom:12px}
.entry-content{font-size:16.5px;line-height:1.7;color:var(--ink-2)}
.entry-content p{margin-bottom:1.5em}
.entry-content h2,.entry-content h3,.entry-content h4{font-family:Zodiak,Georgia,serif;color:var(--deep);margin:1.8em 0 .6em}
.entry-content ul,.entry-content ol{margin:0 0 1.5em 1.5em}
.entry-content blockquote{border-left:3px solid var(--gold-mid);padding-left:18px;font-style:italic;color:var(--ink);margin:1.5em 0}
.entry-content a{color:var(--gold);text-decoration:none}
.entry-content a:hover{color:var(--gold-mid);text-decoration:underline}
.entry-content img{border-radius:var(--r-sm);height:auto}

:root{--wp-admin-bar-height:0px}
body.admin-bar{--wp-admin-bar-height:32px}
@media screen and (max-width:782px){
  body.admin-bar{--wp-admin-bar-height:46px}
}
body.admin-bar .nav{top:var(--wp-admin-bar-height, 32px)!important}
body.admin-bar .sheet{top:var(--wp-admin-bar-height, 32px)!important;
                      height:calc(100vh - var(--wp-admin-bar-height, 32px))!important;
                      height:calc(100dvh - var(--wp-admin-bar-height, 32px))!important}


/* ===== VIDEO LIGHTBOX MODAL ===== */
.lg-vmodal{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;padding:clamp(16px,3vw,36px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .35s cubic-bezier(.23,1,.32,1),visibility .35s cubic-bezier(.23,1,.32,1)}
.lg-vmodal.is-open{opacity:1;visibility:visible;pointer-events:auto}
.lg-vmodal__backdrop{position:absolute;inset:0;background:rgba(4,14,26,.88);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);cursor:pointer}
.lg-vmodal__dialog{position:relative;z-index:2;width:100%;max-width:440px;background:#0A1B2C;border:1.5px solid rgba(224,174,68,.38);border-radius:28px;box-shadow:0 32px 80px rgba(0,0,0,.75),0 0 50px rgba(224,174,68,.18);overflow:hidden;transform:scale(.92) translateY(14px);transition:transform .4s cubic-bezier(.23,1,.32,1)}
.lg-vmodal.is-open .lg-vmodal__dialog{transform:scale(1) translateY(0)}
.lg-vmodal__dialog--landscape{max-width:880px}
.lg-vmodal__head{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid rgba(255,255,255,.08);background:rgba(12,33,56,.95)}
.lg-vmodal__badge{font-size:10.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-lt, #E0AE44);padding:3px 10px;border-radius:999px;background:rgba(224,174,68,.14);border:1px solid rgba(224,174,68,.35)}
.lg-vmodal__close{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);color:#fff;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;cursor:pointer;transition:background .25s cubic-bezier(.23,1,.32,1),transform .25s cubic-bezier(.23,1,.32,1)}
.lg-vmodal__close:hover{background:rgba(224,174,68,.25);border-color:var(--gold-lt, #E0AE44);transform:scale(1.08)}
.lg-vmodal__player{position:relative;width:100%;aspect-ratio:9/16;background:#000}
.lg-vmodal__dialog--landscape .lg-vmodal__player{aspect-ratio:16/9}
.lg-vmodal__player iframe{position:absolute;inset:0;width:100%;height:100%;border:none}
.lg-vmodal__body{padding:16px 20px 20px;background:rgba(10,27,44,.98)}
.lg-vmodal__title{font-family:Zodiak,Georgia,serif;font-size:18px;font-weight:700;color:#fff;line-height:1.3;margin:0 0 6px}
.lg-vmodal__sub{font-size:13.5px;color:rgba(255,255,255,.75);line-height:1.5;margin:0 0 12px}
.lg-vmodal__foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.08)}
.lg-vmodal__yt{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--gold-lt, #E0AE44);text-decoration:none}
.lg-vmodal__yt:hover{text-decoration:underline}
@media (max-width: 540px){
  .lg-vmodal{padding:12px}
  .lg-vmodal__dialog{max-width:100%;border-radius:20px}
}

/* Shared inner-page skin. Scoped to page.php so campaign pages keep their layouts. */
.lg-page{
  padding-top:150px;
  background:radial-gradient(ellipse at 10% 0,rgba(224,174,68,.20),transparent 46%),
             linear-gradient(180deg,var(--cream-2),var(--cream) 620px);
}
.lg-page > .shell{max-width:1200px}
body:has(.site-main-content) .nav__in{background:rgba(12,33,56,.94);border-color:rgba(224,174,68,.30)}
.lg-page .page-header{padding:14px 16px 36px;margin-bottom:32px;position:relative}
.lg-page .page-header::after{content:"";display:block;width:72px;height:3px;margin:24px auto 0;
  border-radius:3px;background:linear-gradient(90deg,var(--gold-mid),var(--gold-lt))}
.lg-page__home{display:inline-block;margin-bottom:16px;color:var(--gold);font-size:12px;
  font-weight:600;letter-spacing:.18em;text-transform:uppercase}
.lg-page__home:hover{text-decoration:underline;text-underline-offset:4px}
.lg-page .page-title{line-height:1.2;text-wrap:balance;margin:0}
.lg-page .entry-content{padding:clamp(20px,3.5vw,48px);border:1px solid rgba(184,134,47,.24);
  border-radius:var(--r-lg);background:rgba(255,255,255,.72);box-shadow:0 16px 48px rgba(24,52,82,.07)}
.lg-page .entry-content > :first-child{margin-top:0}
.lg-page .entry-content :is(h1,h2,h3,h4,h5,h6){font-family:Zodiak,Tiro,Georgia,serif;line-height:1.35;color:var(--deep)}
.lg-page .entry-content a:focus-visible{outline-color:var(--sea)}

/* WordPress downloads and calls to action use the same gold pill as the home page. */
.lg-page .entry-content :is(.wp-block-file__button,.wp-block-button__link,.elementor-button){
  display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 24px;
  border:1px solid rgba(122,79,17,.20);border-radius:999px;
  background:linear-gradient(135deg,#F6DFA8,#E0B657 44%,#BE8B29);color:#241705;
  font-family:GS,system-ui,sans-serif;font-size:14px;font-weight:600;line-height:1.5;
  text-decoration:none;box-shadow:0 6px 18px rgba(78,50,8,.15);
  transition:transform .25s var(--ease),box-shadow .25s var(--ease);
}
.lg-page .entry-content :is(.wp-block-file__button,.wp-block-button__link,.elementor-button):hover{
  color:#241705;background:linear-gradient(135deg,#FBE9BC,#E9C36C 44%,#CB9833);
  text-decoration:none;transform:translateY(-2px);box-shadow:0 10px 24px rgba(78,50,8,.20)}
.lg-page .entry-content .wp-block-file{
  display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
  padding:18px 22px;margin:0 0 14px;border:1px solid var(--line)!important;
  border-radius:var(--r-sm);background:var(--cream);text-align:left;font-size:16px;
}
.lg-page .wp-block-file > a:not(.wp-block-file__button){flex:1 1 220px;color:var(--ink);overflow-wrap:anywhere}
.lg-page .wp-block-file .wp-block-file__button{flex:none;margin:0}
.lg-page .wp-block-file :is(object,embed){flex-basis:100%;max-width:100%}

/* Spectra tabs: retain the plugin's selected states and panel behavior. */
.lg-page .entry-content .uagb-tabs__panel{gap:8px;margin:0 0 24px;padding:8px;
  background:var(--cream-2);border:1px solid var(--line);border-radius:var(--r)}
.lg-page .entry-content .uagb-tabs__panel .uagb-tab{margin:0;border:0;background:transparent;border-radius:999px}
.lg-page .entry-content .uagb-tabs__panel .uagb-tabs-list{padding:12px 24px;border:0;
  border-radius:999px;color:var(--ink);font-family:GS,system-ui,sans-serif;font-weight:600;text-decoration:none}
.lg-page .entry-content .uagb-tabs__panel .uagb-tabs__active .uagb-tabs-list{
  background:var(--deep);color:var(--gold-pale)!important;box-shadow:0 5px 14px rgba(12,33,56,.15)}
.lg-page .entry-content .uagb-tabs__body-wrap{border:0;padding:0}

/* Embed Plus galleries: style the frame and controls, never the video-player internals. */
.lg-page .entry-content .wp-block-embed{margin:0}
.lg-page .epyt-video-wrapper{border-radius:var(--r);overflow:hidden;background:var(--deep);
  box-shadow:0 12px 32px rgba(12,33,56,.16)}
.lg-page .epyt-pagination{padding:18px 0;color:var(--ink)}
.lg-page .epyt-pagebutton{padding:8px 18px;border:1px solid var(--line);border-radius:999px;
  background:var(--cream-2);color:var(--ink);min-height:44px}
.lg-page .epyt-pagebutton:hover{background:var(--gold-pale)}
.lg-page .epyt-gallery-thumb{border:1px solid var(--line);border-radius:var(--r-sm);
  background:var(--cream);overflow:hidden;margin-bottom:16px}
.lg-page .epyt-gallery-title{padding:14px 12px;color:var(--ink);font-family:GS,Tiro,system-ui,sans-serif;
  font-size:15px;line-height:1.6}
.lg-page .epyt-gallery-img{border-radius:10px}

/* Legacy Elementor catalogues share orange section backgrounds and red headings.
   Keep book artwork and DearFlip controls independent of the catalogue skin. */
:is(.lg-page--premium-geeta,.lg-page--pocket-geeta-e-book,.lg-page--bal-sakha-geeta,.lg-page--maitri) .entry-content .elementor-top-section{
  background:transparent!important;border-color:var(--line)!important}
:is(.lg-page--premium-geeta,.lg-page--pocket-geeta-e-book,.lg-page--bal-sakha-geeta,.lg-page--maitri) .entry-content .elementor-heading-title{
  color:var(--deep)!important;font-family:Zodiak,Tiro,Georgia,serif!important;font-weight:700;line-height:1.4}
:is(.lg-page--premium-geeta,.lg-page--pocket-geeta-e-book,.lg-page--bal-sakha-geeta,.lg-page--maitri) .entry-content .elementor-widget-text-editor{color:var(--ink-2);font-family:GS,Tiro,system-ui,sans-serif}
:is(.lg-page--premium-geeta,.lg-page--pocket-geeta-e-book,.lg-page--bal-sakha-geeta,.lg-page--maitri) .elementor-column:has(._df_thumb) > .elementor-widget-wrap{
  margin:10px;padding:24px 16px;background:var(--cream);border:1px solid var(--line);border-radius:var(--r)}
:is(.lg-page--premium-geeta,.lg-page--pocket-geeta-e-book,.lg-page--bal-sakha-geeta,.lg-page--maitri) .elementor-widget-heading h5{margin:12px 0;font-size:18px}
:is(.lg-page--premium-geeta,.lg-page--pocket-geeta-e-book,.lg-page--bal-sakha-geeta,.lg-page--maitri) ._df_book{border:1px solid var(--line);border-radius:var(--r-sm);overflow:hidden}
@media(max-width:600px){
  .lg-page{padding-top:120px;padding-bottom:48px}
  .lg-page .page-header{padding-bottom:24px;margin-bottom:20px}
  .lg-page .entry-content{padding:18px 14px;border-radius:var(--r)}
  .lg-page .entry-content .wp-block-file{padding:16px;gap:12px}
  .lg-page .entry-content .uagb-tabs__panel .uagb-tabs-list{padding:12px 18px}
}

/* Homepage-linked resource pages: layout, contrast and legacy builder overrides. */
.lg-page .page-title{max-width:1000px;margin-inline:auto;overflow-wrap:anywhere}
.lg-page .entry-content :is(.wp-block-column,.elementor-column){min-width:0}
/* Elementor spaces heading widgets itself; prose heading margins double that spacing. */
.lg-page .entry-content .elementor-heading-title{margin:0;overflow-wrap:anywhere!important}
.lg-page .entry-content :is(audio,video){max-width:100%}
.lg-page .entry-content :is(.wp-block-button__link,.elementor-button){white-space:normal;text-align:center}
.lg-page .entry-content .uagb-tabs__panel .uagb-tab{min-width:0;max-width:100%}
.lg-page .entry-content .uagb-tabs__panel .uagb-tabs-list{box-sizing:border-box;max-width:100%}

/* Chapter PDF catalogue carries its own inline stylesheet, including a 100vw breakout. */
html body .lg-page .entry-content .lgpdf-page{
  width:100%!important;max-width:100%!important;margin-inline:0!important;
  padding:0;background:transparent;
  --lgpdf-ink:var(--ink);--lgpdf-text:var(--ink-2);--lgpdf-brown:var(--deep);
  --lgpdf-red:var(--gold);--lgpdf-gold:var(--gold-mid);--lgpdf-gold-soft:var(--gold-pale);
  --lgpdf-line:var(--line);--lgpdf-shadow:0 12px 32px rgba(12,33,56,.08);
}
.lg-page .lgpdf-wrap{padding:0}
.lg-page .lgpdf-hero{padding:12px 0 28px}
.lg-page .lgpdf-hero :is(h1,h2){font-size:clamp(26px,3.2vw,42px);line-height:1.25;letter-spacing:-.02em}
.lg-page .lgpdf-hero p{font-size:16px}
.lg-page .lgpdf-control{top:calc(96px + var(--wp-admin-bar-height));border-color:var(--line)}
.lg-page .lgpdf-langchip.is-active{background:var(--deep);color:var(--gold-pale)}
.lg-page .lgpdf-card{background:var(--cream);border-color:var(--line);box-shadow:none}
.lg-page .lgpdf-card h3{margin:16px 0 6px}
.lg-page .lgpdf-actions{flex-wrap:wrap}
.lg-page .lgpdf-btn{border-radius:999px;font-size:14px;font-weight:600}
.lg-page .lgpdf-download{background:linear-gradient(135deg,#F6DFA8,#E0B657 44%,#BE8B29);color:#241705!important}
.lg-page .lgpdf-preview{color:var(--deep)!important}

/* Resource-card spacing must not depend on the previous theme's spacing variables. */
.lg-page--books-for-reference .wp-block-group.has-border-color{
  border:1px solid var(--line)!important;padding:22px!important;margin-bottom:18px;
  border-radius:var(--r);background:var(--cream);
}
.lg-page--books-for-reference .wp-block-group p{margin-bottom:16px}
.lg-page--books-for-reference .wp-block-group .wp-block-buttons{margin-top:20px}
.lg-page--about-us .entry-content > p{max-width:80ch;margin-inline:auto;line-height:1.9}

/* Audio libraries: retain native and MediaElement controls and their keyboard behavior. */
.lg-page--vijaya-godbole-audios .wp-block-column:has(audio){
  padding:20px;border:1px solid var(--line);border-radius:var(--r);background:var(--cream)!important;
}
.lg-page--vijaya-godbole-audios .wp-block-column:has(audio) > p{
  padding:0;background:transparent!important;color:var(--ink)!important;margin-bottom:16px;
}
.lg-page--vijaya-godbole-audios .wp-block-audio{margin:0}
.lg-page--vijaya-godbole-audios audio{width:100%;display:block}
.lg-page--suvarna-kaki-audios .elementor-top-section{background:transparent!important}
.lg-page--suvarna-kaki-audios .elementor-heading-title{
  font-family:Zodiak,Tiro,Georgia,serif!important;color:var(--deep)!important;line-height:1.5;
}
.lg-page--suvarna-kaki-audios .elementor-element-3385292{padding:16px 0 28px!important}
.lg-page--suvarna-kaki-audios .elementor-element-3385292 :is(h2,h2 span){font-size:clamp(23px,3vw,34px)!important;line-height:1.5;margin:0}
.lg-page--suvarna-kaki-audios .elementor-inner-column:has(audio) > .elementor-widget-wrap{
  margin:8px!important;padding:22px!important;border:1px solid var(--line);border-radius:var(--r);background:var(--cream)!important;
}
.lg-page--suvarna-kaki-audios .mejs-container,
.lg-page--suvarna-kaki-audios .mejs-controls{background:var(--deep)!important}
.lg-page--suvarna-kaki-audios .mejs-container{border-radius:10px;overflow:hidden;max-width:100%}

/* Compact the empty decorative lead-in, without revealing intentionally hidden videos. */
.lg-page--solo-with-written-shlokas .elementor-element-5acaa95{min-height:0!important;padding:0!important}
.lg-page--solo-with-written-shlokas .elementor-element-5acaa95 .elementor-spacer-inner{height:24px!important}
.lg-page--solo-with-written-shlokas .elementor-heading-title{color:var(--deep)!important;font-family:Zodiak,Tiro,Georgia,serif!important}

/* Events' old photographic banner had an opaque olive overlay and yellow headings. */
.lg-page--events-videos .elementor-element-51e8848{
  background:var(--cream-2)!important;border:1px solid var(--line);border-radius:var(--r);padding:24px 12px!important;
}
.lg-page--events-videos .elementor-element-51e8848 > .elementor-background-overlay{opacity:0!important}
.lg-page--events-videos .elementor-element-51e8848 > .elementor-container{min-height:0!important}
.lg-page--events-videos .elementor-element-51e8848 .elementor-heading-title{
  color:var(--deep)!important;font-family:Zodiak,Tiro,Georgia,serif!important;font-size:clamp(22px,3vw,34px)!important;
}
.lg-page--events-videos .elementor-element-51e8848 .elementor-widget-container{margin:0!important;padding:8px!important}
.lg-page--events-videos .elementor-element-8f3d92d{background:transparent!important}

.lg-page--contact-us .elementor-top-section{background:transparent!important;padding:12px 0!important}
.lg-page--contact-us .elementor-heading-title{color:var(--deep)!important;font-family:Zodiak,Tiro,Georgia,serif!important}
.lg-page--contact-us .elementor-inner-column > .elementor-widget-wrap{
  margin:8px;padding:24px;background:var(--cream);border:1px solid var(--line);border-radius:var(--r);
}
.lg-page--contact-us .elementor-icon-list-items{margin:0;padding:0}
.lg-page--contact-us .elementor-icon-list-text{color:var(--ink-2)!important;overflow-wrap:anywhere;line-height:1.65}
.lg-page--contact-us .elementor-icon-list-icon i{color:var(--gold)!important}
.lg-page--ram-prathishtha .wp-block-columns.has-background{
  background:var(--deep)!important;border-radius:var(--r);padding:24px;
}
.lg-page--ram-prathishtha .wp-block-columns.has-background :is(h2,p){color:var(--gold-pale)!important}

/* The Lead and Follow page currently bypasses page.php through Elementor Full Width.
   This fallback stops applying if the editor is switched to the Default template. */
body.page-id-3483:not(:has(.lg-page)){padding-top:140px}
body.page-id-3483:not(:has(.lg-page)) .nav__in{background:rgba(12,33,56,.94)}
body.page-id-3483:not(:has(.lg-page)) > :is(.wp-block-uagb-advanced-heading,p,.wp-block-heading,.epyt-gallery){
  width:min(93%,1100px);margin-inline:auto;
}
body.page-id-3483:not(:has(.lg-page)) > .epyt-gallery{
  padding:clamp(14px,3vw,32px);margin-block:24px 48px;background:rgba(255,255,255,.72);
  border:1px solid var(--line);border-radius:var(--r);
}
body.page-id-3483:not(:has(.lg-page)) .epyt-video-wrapper{border-radius:var(--r-sm);overflow:hidden;background:var(--deep)}

/* Blog archive has no lg-page wrapper; its cards still need comfortable controls. */
body.category-geeta-blog .site-main-content > .shell{max-width:1200px}
body.category-geeta-blog .posts-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))!important}
body.category-geeta-blog .posts-grid .tile{display:flex;flex-direction:column;line-height:1.65}
body.category-geeta-blog .posts-grid .btn{align-self:flex-start;min-height:44px;padding:10px 22px!important;margin-top:auto}
@media(max-width:680px){
  .lg-page .lgpdf-control{position:static}
  .lg-page .lgpdf-card{padding:20px}
  .lg-page .entry-content .uagb-tabs__panel .uagb-tabs-list{width:100%!important}
  body.page-id-3483:not(:has(.lg-page)){padding-top:112px}
}
