/* ── Carved sanctum door — GSAP ScrollTrigger scrub (v2) ─────────────────
   ONE carved doorway. Scroll swings the leaves open in 3D and the REAL hero
   (deity) shows through the aperture; the camera then dollies through the
   doorway and the overlay dissolves into the live hero underneath. */
[data-doors]{display:flex;align-items:center;justify-content:center;overflow:hidden;background:transparent}
.tds-fitter{flex:none;position:relative;z-index:2}
/* ambient torch-light behind the door — grounds it in the scene */
.tds-aura{position:absolute;left:50%;top:50%;width:min(150vw,1500px);aspect-ratio:1.15;transform:translate(-50%,-52%);pointer-events:none;z-index:1;
  background:radial-gradient(50% 44% at 50% 52%,rgba(214,160,70,.20) 0%,rgba(160,100,40,.10) 38%,rgba(80,30,25,.05) 60%,transparent 74%)}
/* soft ground shadow beneath the plinth */
.tds-ground{position:absolute;left:50%;bottom:6%;width:64%;height:9%;transform:translateX(-50%);pointer-events:none;z-index:1;
  background:radial-gradient(50% 50% at 50% 50%,rgba(10,2,6,.55) 0%,transparent 70%);filter:blur(10px)}
.tds-stage{position:relative;width:1402px;height:1122px;transform-origin:693px 662px;will-change:transform}
/* dark covers — everything around the doorway aperture is opaque; they also
   back the traced art so its transparent pixels never leak the page behind */
.tds-cover{position:absolute;background:#2E0913}
.tds-cover.t{left:-4000px;right:-4000px;top:-4000px;height:calc(4000px + 352px)}
.tds-cover.b{left:-4000px;right:-4000px;top:972px;height:4000px}
.tds-cover.l{left:-4000px;width:calc(4000px + 452px);top:352px;height:620px}
.tds-cover.r{left:935px;width:4000px;top:352px;height:620px}
.tds-stage img.tds-base{position:absolute;inset:0;width:1402px;height:1122px;display:block;filter:brightness(.88) sepia(.14) saturate(.94);transform:translateZ(0)}
/* golden divine light INSIDE the aperture — additive over the live hero */
.tds-glow{position:absolute;left:452px;top:352px;width:483px;height:620px;overflow:hidden;pointer-events:none;opacity:0}
.tds-glow .g1{position:absolute;inset:0;background:radial-gradient(75% 60% at 50% 58%,rgba(255,214,140,.5) 0%,rgba(214,150,70,.28) 40%,rgba(90,52,28,0) 75%);mix-blend-mode:screen}
.tds-glow .rays{position:absolute;left:50%;top:58%;width:1200px;height:1200px;transform:translate(-50%,-50%);
  background:repeating-conic-gradient(from -8deg at 50% 50%,rgba(246,217,138,.14) 0deg 4deg,rgba(246,217,138,0) 4deg 14deg);mix-blend-mode:screen}
.tds-glow i{position:absolute;width:5px;height:5px;border-radius:50%;background:#F6D98A;opacity:0;animation:tdsMote 7s linear infinite}
@keyframes tdsMote{0%{transform:translateY(40px);opacity:0}15%{opacity:calc(var(--open,0)*.75)}85%{opacity:calc(var(--open,0)*.45)}100%{transform:translateY(-420px) translateX(26px);opacity:0}}
/* the two swinging leaves — live crops of the traced art, plum-backed */
.tds-doorway{position:absolute;left:452px;top:352px;width:483px;height:620px;perspective:1700px;perspective-origin:50% 50%;transform-style:preserve-3d}
.tds-leaf{position:absolute;top:0;height:620px;overflow:hidden;backface-visibility:hidden;will-change:transform;background:#C9A96B}
.tds-leaf img{position:absolute;width:1402px;height:1122px;max-width:none;filter:brightness(.88) sepia(.14) saturate(.94);transform:translateZ(0)}
.tds-leaf::after{content:"";position:absolute;inset:0;opacity:calc(var(--open,0)*.5);pointer-events:none;will-change:opacity}
.tds-leaf .shade{position:absolute;inset:0;background:#140609;opacity:calc(var(--open,0)*.3);pointer-events:none;will-change:opacity}
.tds-leaf.l{left:0;width:248px;transform-origin:left center;box-shadow:-2px 0 0 rgba(35,12,20,.6) inset}
.tds-leaf.l img{left:-452px;top:-352px}
.tds-leaf.l::after{background:linear-gradient(to right,rgba(24,4,12,0) 30%,rgba(24,4,12,.85))}
.tds-leaf.r{right:0;width:235px;transform-origin:right center;box-shadow:2px 0 0 rgba(35,12,20,.6) inset}
.tds-leaf.r img{left:-700px;top:-352px}
.tds-leaf.r::after{background:linear-gradient(to left,rgba(24,4,12,0) 30%,rgba(24,4,12,.85))}
/* light spilling outward over the door frame as it opens */
.tds-spill{position:absolute;inset:0;pointer-events:none;opacity:0;
  background:radial-gradient(46% 42% at 693px 662px,rgba(246,217,138,.5) 0%,rgba(246,200,120,.2) 40%,rgba(246,200,120,0) 72%);mix-blend-mode:screen}
/* gold bloom at the pass-through moment */
.tds-bloom{position:absolute;inset:0;pointer-events:none;z-index:6;opacity:0;
  background:radial-gradient(60% 55% at 50% 50%,rgba(255,241,214,.95) 0%,rgba(255,224,168,.7) 45%,rgba(255,200,120,0) 100%)}
/* retained flanks */
.tds-flank{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:clamp(200px,21vw,330px);
  display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center;pointer-events:none}
.tds-flank.l{left:clamp(14px,4vw,80px)}
.tds-flank.r{right:clamp(14px,4vw,80px)}
.tds-flank img{width:clamp(84px,11vh,120px);height:clamp(84px,11vh,120px);border-radius:50%;object-fit:cover;box-shadow:0 0 26px rgba(246,217,138,.28)}
.tds-flank .kn{font-family:'Noto Serif Kannada',serif;font-size:12.5px;letter-spacing:.06em;color:#F8E4BC}
.tds-flank .eyebrow{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:rgba(244,220,168,.65)}
.tds-flank .om-mark{font-family:'Marcellus',serif;font-size:clamp(22px,3vh,34px);color:rgba(246,217,138,.85)}
.tds-flank .title-kn{font-family:'Noto Serif Kannada',serif;font-size:clamp(14px,1.8vh,19px);letter-spacing:.05em;color:rgba(244,220,168,.8)}
.tds-flank .title-en{font-family:'Marcellus',serif;font-size:clamp(15px,2vh,21px);letter-spacing:.24em;color:rgba(255,249,236,.92)}
.tds-flank .shloka{font-family:'Noto Serif Kannada',serif;font-size:clamp(12px,1.55vh,15px);line-height:1.9;color:rgba(246,217,138,.9);text-shadow:0 0 16px rgba(246,217,138,.22)}
.tds-flank .quote{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:12.5px;line-height:1.6;color:rgba(243,226,203,.72)}
@media(max-width:1149px){.tds-flank{display:none}}

/* edge veil — melts the artwork into the page instead of a hard paste-on */
.tds-veil{position:absolute;inset:-6%;pointer-events:none;z-index:5;mix-blend-mode:multiply;
  background:radial-gradient(58% 52% at 50% 52%,rgba(255,255,255,0) 42%,rgba(214,170,120,.35) 62%,rgba(96,30,44,.75) 80%,rgba(38,6,15,.96) 96%)}


/* frieze wall course — runs behind the door base, above the covers */
.tds-frieze{position:absolute;left:-4000px;right:-4000px;top:1020px;height:460px;pointer-events:none;
  background:url('/site/assets/frieze-ornament.svg') top center / auto 100% repeat-x;
  opacity:.38;
  -webkit-mask-image:linear-gradient(to bottom,transparent 0%,black 26%,black 78%,transparent 100%);
  mask-image:linear-gradient(to bottom,transparent 0%,black 26%,black 78%,transparent 100%)}
