
/* ============ 1. TOKENS ============ */
:root{
  --navy:#0a1740; --navy-2:#122054; --maroon:#6b0f22; --maroon-2:#8c1428;
  --gold:#e8b44a; --gold-lt:#ffd98a; --gold-dp:#b8862b;
  --cream:#fdf6e6; --cream-2:#f7ecd6; --ink:#20160c; --ink-soft:#5b4a33;
  --white:#fff; --live:#e02020; --ok:#1f9d55;
  --r-s:10px; --r-m:16px; --r-l:24px; --r-xl:32px;
  --sh-s:0 2px 10px rgba(10,23,64,.10);
  --sh-m:0 10px 34px rgba(10,23,64,.16);
  --sh-l:0 24px 70px rgba(10,23,64,.30);
  --ring:0 0 0 1px rgba(232,180,74,.35);
  /* Two voices, each with one job. A high-contrast Garamond carries every
     headline, name and numeral; a geometric sans carries all running text,
     UI and the wide-tracked capitals. Festivity comes from colour, ornament
     and motion — the type stays quiet. */
  /* Matching the approved dasara build: Marcellus for display, Jost for
     everything else, Noto Serif Kannada for the Kannada cut. */
  --display:'Marcellus',Georgia,serif;
  --head:'Marcellus',Georgia,serif;
  --sub:'Marcellus',Georgia,serif;
  --ui:'Jost',system-ui,-apple-system,'Segoe UI',sans-serif;
  --body:'Jost',system-ui,-apple-system,'Segoe UI',sans-serif;
  --max:1480px; --hdr:78px;
  --ease:cubic-bezier(.22,.85,.3,1);
  /* festive accents */
  --saffron:#f79433; --marigold:#f2a83d; --emerald:#0e7a58; --plum:#3b0f3a;
  --gold-1:#fbe6ae; --gold-2:#e8b44a; --gold-3:#a9761f; --gold-4:#ffeec4;
  --foil:linear-gradient(135deg,var(--gold-1) 0%,var(--gold-2) 26%,var(--gold-3) 48%,var(--gold-2) 68%,var(--gold-4) 100%);
  --foil-lite:linear-gradient(118deg,#fffaf0 0%,#ffe7b3 20%,var(--gold-2) 42%,#d69f36 56%,#ffe09a 74%,#fffaf0 100%);
}
html[data-lang="kn"] body{font-family:'Noto Serif Kannada',var(--body);}
*,*::before,*::after{box-sizing:border-box}
*{margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  font-family:var(--body); color:var(--ink); background:var(--cream);
  line-height:1.55; overflow-x:hidden; -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button,input,select{font:inherit;color:inherit}
button{background:none;border:0;cursor:pointer}
ul{list-style:none}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px;border-radius:6px}
.wrap{max-width:var(--max);margin-inline:auto;padding-inline:clamp(14px,3vw,28px)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:fixed;top:-60px;left:14px;z-index:999;background:var(--gold);color:var(--navy);
  padding:10px 18px;border-radius:0 0 12px 12px;font-weight:700;transition:top .25s}
.skip:focus{top:0}

/* ============ 2. PRELOADER ============ */
#loader{position:fixed;inset:0;z-index:2000;background:linear-gradient(160deg,#07102c,#1a0a24);
  display:grid;place-items:center;transition:opacity .7s var(--ease),visibility .7s}
#loader.done{opacity:0;visibility:hidden}
.ldr{text-align:center;color:var(--gold-lt)}
.ldr .mandala{width:104px;height:104px;margin:0 auto 22px;animation:spin 3.4s linear infinite}
.ldr b{font-family:var(--head);font-size:1.05rem;letter-spacing:.34em;display:block}
.ldr small{opacity:.6;letter-spacing:.2em;font-size:.68rem}
.ldr .bar{width:190px;height:3px;background:rgba(255,255,255,.14);border-radius:4px;margin:18px auto 0;overflow:hidden}
.ldr .bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--gold-dp),var(--gold-lt));
  animation:fill 1.5s var(--ease) forwards}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes fill{to{width:100%}}

/* ============ 3. TOP TICKER ============ */
.ticker{background:linear-gradient(90deg,var(--maroon),#a01a2e,var(--maroon));color:#ffe9c2;
  font-size:.79rem;overflow:hidden;position:relative;z-index:60;margin-top:22px;
  border-radius:0;box-shadow:inset 0 1px 0 rgba(255,255,255,.12)}
.ticker .wrap{display:flex;align-items:center;gap:14px;height:40px}
.ticker .tag{background:var(--gold);color:var(--navy);font-weight:800;padding:3px 10px;border-radius:20px;
  font-size:.66rem;letter-spacing:.1em;flex:none;text-transform:uppercase}
.tk-view{flex:1;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 92%,transparent)}
.tk-track{display:flex;gap:46px;width:max-content;animation:mar 34s linear infinite}
.ticker:hover .tk-track{animation-play-state:paused}
.tk-track span{white-space:nowrap;display:flex;align-items:center;gap:8px}
.tk-track span::before{content:"◆";color:var(--gold);font-size:.6rem}
@keyframes mar{to{transform:translateX(-50%)}}

/* ============ 4. HEADER ============ */
.hdr{position:sticky;top:0;z-index:100;background:rgba(7,14,40,.90);
  backdrop-filter:blur(16px) saturate(1.25);border-bottom:1px solid rgba(232,180,74,.22);
  transition:box-shadow .3s,background .3s}
.hdr.stuck{box-shadow:0 10px 34px rgba(0,0,0,.42);background:rgba(6,12,34,.97)}
.hdr .wrap{display:flex;align-items:center;gap:clamp(10px,1.6vw,26px);height:var(--hdr)}
.brand{display:flex;align-items:center;gap:11px;flex:none;position:relative}
.brand .emb{width:clamp(64px,5.6vw,88px);height:auto;flex:none;transition:transform .6s var(--ease);
  filter:drop-shadow(0 6px 18px rgba(0,0,0,.5));margin-bottom:-16px}
.brand:hover .emb{transform:rotate(-6deg) scale(1.05)}
.brand .txt{line-height:1.15;display:none}
.brand .txt b{font-family:var(--head);font-size:.8rem;color:var(--maroon);letter-spacing:.04em;display:block}
.brand .txt small{font-size:.6rem;color:var(--ink-soft);letter-spacing:.02em}
@media(min-width:1680px){.hdr .wrap{max-width:1660px}}

.nav{display:none;flex:1;align-items:center;gap:2px}
@media(min-width:1270px){.nav{display:flex}}
.nav>li{position:relative}
.nav>li>a,.nav>li>button{display:flex;align-items:center;gap:5px;padding:10px 11px;border-radius:9px;
  font-size:.79rem;font-weight:600;letter-spacing:.055em;text-transform:uppercase;color:#e6dcc6;
  transition:color .2s,background .2s;white-space:nowrap}
.nav>li>a:hover,.nav>li>button:hover,.nav>li.open>button{color:var(--gold-lt);background:rgba(232,180,74,.12)}
.nav>li>a.active{color:var(--gold-lt)}
.nav>li>a.active::after{content:"";position:absolute;left:11px;right:11px;bottom:2px;height:2.5px;
  background:linear-gradient(90deg,var(--gold-dp),var(--gold));border-radius:3px}
.cev{width:9px;height:9px;stroke:currentColor;stroke-width:2.4;fill:none;transition:transform .3s}
.nav>li.open .cev{transform:rotate(180deg)}
.drop{position:absolute;top:calc(100% + 10px);left:0;min-width:264px;background:#0c1738;
  border-radius:var(--r-m);box-shadow:0 22px 50px rgba(0,0,0,.5);padding:10px;opacity:0;visibility:hidden;
  transform:translateY(-10px) scale(.98);transition:.28s var(--ease);border:1px solid rgba(232,180,74,.28)}
.nav>li.open .drop{opacity:1;visibility:visible;transform:none}
.drop::before{content:"";position:absolute;top:-6px;left:22px;width:12px;height:12px;background:#0c1738;
  transform:rotate(45deg);border-left:1px solid rgba(232,180,74,.28);border-top:1px solid rgba(232,180,74,.28)}
.drop a{display:flex;gap:11px;align-items:flex-start;padding:9px 12px;border-radius:10px;transition:background .18s}
.drop a:hover{background:rgba(232,180,74,.14)}
.drop a i{font-style:normal;font-size:1.05rem;line-height:1.2}
.drop a b{display:block;font-size:.83rem;font-weight:600;color:#f3e8ce}
.drop a small{font-size:.7rem;color:#a9b3c9}

.hact{display:flex;align-items:center;gap:8px;margin-left:auto;flex:none}
.pill{display:flex;align-items:center;gap:7px;height:42px;padding:0 14px;border-radius:24px;
  border:1.5px solid rgba(232,180,74,.34);color:#eee3c9;font-size:.8rem;font-weight:600;
  transition:.24s var(--ease);background:rgba(255,255,255,.04)}
.pill:hover{border-color:var(--gold);background:rgba(232,180,74,.14);transform:translateY(-1px)}
.pill svg{width:16px;height:16px}
.icobtn{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;color:#eee3c9;
  border:1.5px solid rgba(232,180,74,.34);transition:.24s var(--ease)}
.icobtn:hover{background:var(--gold);border-color:var(--gold);color:#2c1c04;transform:rotate(-8deg)}
.icobtn svg{width:17px;height:17px}
.btn-gold{background:linear-gradient(135deg,var(--gold),#f0c463);color:#3a2400;font-weight:800;
  height:42px;padding:0 18px;border-radius:24px;display:flex;align-items:center;gap:8px;font-size:.82rem;
  box-shadow:0 6px 18px rgba(232,180,74,.42);transition:.26s var(--ease);border:0}
.btn-gold:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(232,180,74,.55)}
/* keep the header on one line between 1080 and 1400 */
@media(min-width:1270px) and (max-width:1420px){
  .nav>li>a,.nav>li>button{padding:10px 7px;font-size:.735rem;letter-spacing:.028em}
  .hact{gap:6px}
  .pill{padding:0 11px;font-size:.76rem}
  .btn-gold{padding:0 14px;font-size:.78rem}
  .hdr .wrap{gap:10px}
}
.nav{min-width:0}
.burger{display:grid;place-items:center;width:44px;height:44px;gap:5px}
@media(min-width:1270px){.burger{display:none}}
.burger i{display:block;width:22px;height:2.4px;background:var(--gold-lt);border-radius:2px;transition:.3s var(--ease)}
body.menu-open .burger i:nth-child(1){transform:translateY(7.4px) rotate(45deg)}
body.menu-open .burger i:nth-child(2){opacity:0;transform:scaleX(.2)}
body.menu-open .burger i:nth-child(3){transform:translateY(-7.4px) rotate(-45deg)}
@media(max-width:640px){.pill span{display:none}.pill{padding:0 12px}}
@media(max-width:480px){.hact{gap:6px}.hdr .btn-gold{padding:0 12px}
  .hdr .btn-gold span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}}

/* language menu */
.lang-wrap{position:relative}
.lang-menu{position:absolute;right:0;top:52px;background:#0c1738;border-radius:14px;
  box-shadow:0 20px 44px rgba(0,0,0,.5);color:#f0e5cc;
  padding:7px;min-width:172px;opacity:0;visibility:hidden;transform:translateY(-8px);transition:.25s var(--ease);
  border:1px solid rgba(232,180,74,.28)}
.lang-wrap.open .lang-menu{opacity:1;visibility:visible;transform:none}
.lang-menu button{display:flex;width:100%;gap:9px;padding:9px 12px;border-radius:9px;font-size:.84rem;text-align:left}
.lang-menu button:hover{background:rgba(232,180,74,.14)}
.lang-menu button[aria-current="true"]{background:rgba(232,180,74,.18);font-weight:700;color:var(--gold-lt)}

/* mobile drawer */
.drawer{position:fixed;inset:0 0 0 auto;width:min(88vw,380px);background:linear-gradient(170deg,#0c1836,#2a0c1e);
  color:#f4e7cd;z-index:190;transform:translateX(102%);transition:transform .45s var(--ease);
  overflow-y:auto;padding:22px 20px 60px;box-shadow:-20px 0 60px rgba(0,0,0,.4)}
body.menu-open .drawer{transform:none}
.scrim{position:fixed;inset:0;background:rgba(6,10,26,.6);backdrop-filter:blur(3px);z-index:180;
  opacity:0;visibility:hidden;transition:.35s}
body.menu-open .scrim{opacity:1;visibility:visible}
.drawer h4{font-family:var(--head);color:var(--gold);font-size:.72rem;letter-spacing:.28em;margin:22px 0 8px}
.drawer .macc{border-bottom:1px solid rgba(255,255,255,.09)}
.drawer .macc>button,.drawer .macc>a{display:flex;justify-content:space-between;width:100%;padding:14px 4px;
  font-size:.95rem;font-weight:600;letter-spacing:.03em;color:inherit}
.drawer .macc .sub{max-height:0;overflow:hidden;transition:max-height .4s var(--ease)}
.drawer .macc.open .sub{max-height:420px}
.drawer .macc .sub a{display:block;padding:9px 4px 9px 16px;font-size:.85rem;opacity:.78;border-left:2px solid rgba(232,180,74,.35);margin-left:4px}
.drawer .macc .sub a:hover{opacity:1;color:var(--gold-lt)}
.drawer .macc>button .cev{width:12px;height:12px}
.drawer .macc.open>button .cev{transform:rotate(180deg)}

/* ============ 5. HERO ============ */
.hero{position:relative;display:flex;align-items:stretch;
  min-height:max(600px,calc(100vh - var(--hdr)));
  min-height:max(600px,calc(100svh - var(--hdr)));
  overflow:hidden;background:#050b22;isolation:isolate}
/* --- layered hero scene: sky · palace · elephants · crowd · mascots --- */
.hero-scene{position:absolute;inset:0;z-index:0;pointer-events:none}
.hero-sky{position:absolute;inset:0;
  background:
    radial-gradient(ellipse 120% 70% at 50% 108%,rgba(255,184,80,.30),transparent 60%),
    radial-gradient(ellipse 70% 60% at 16% 6%,rgba(64,30,98,.60),transparent 66%),
    radial-gradient(ellipse 60% 52% at 88% 10%,rgba(116,24,58,.42),transparent 68%),
    linear-gradient(178deg,#04091e 0%,#08122f 40%,#160d31 74%,#280f25 100%)}
.hs{position:absolute;bottom:0;display:block;will-change:transform}
.hs img{width:100%;height:auto;display:block}

/* palace fills the centre, dissolving into the night sky at the roofline */
.hs-palace{left:50%;width:min(1420px,82%);bottom:2%;opacity:.98;
  filter:saturate(1.05) contrast(1.03);
  -webkit-mask-image:linear-gradient(180deg,transparent 0,#000 13%,#000 100%);
          mask-image:linear-gradient(180deg,transparent 0,#000 13%,#000 100%)}

/* everything that stands on the ground is sized by HEIGHT, so the cast shares one baseline.
   The four lanes below are laid out not to overlap each other, the headline, or the stats card. */
.hs-stage{position:absolute;inset:0;max-width:var(--max);margin-inline:auto;pointer-events:none}
.hs-stage-back{z-index:3}    /* elephants sit behind the spectators */
.hs-stage-front{z-index:5}   /* Divya and Gajju step out in front of them */
.hs-mascot{width:auto;bottom:4%}
.hs-ele{width:auto;bottom:5%}   /* further back than the mascots, so their feet sit higher */
.hs-ele img,.hs-mascot img{width:auto;height:100%;display:block}
.hs-ele{z-index:0;height:clamp(190px,42%,440px);
  filter:drop-shadow(0 18px 26px rgba(0,0,0,.6)) saturate(1.12) brightness(1.06)}
.hs-eleL{left:0}                       /* lane 1 — under the headline, never across it */
.hs-eleR{right:5%}                     /* lane 4 — under the stats card, clear of Gajju  */
.hs-mascot{z-index:4;filter:drop-shadow(0 14px 20px rgba(0,0,0,.5))}
.hs-mascot picture{display:block;height:100%}
/* contact shadow — without it every figure reads as pasted on */
.hs-ele::after,.hs-mascot::after{content:"";position:absolute;z-index:-1;
  left:50%;bottom:-1%;transform:translateX(-50%);width:94%;height:7%;border-radius:50%;
  background:radial-gradient(ellipse at 50% 50%,rgba(5,3,11,.66) 0%,rgba(5,3,11,.36) 46%,transparent 72%);
  filter:blur(5px)}
.hs-divya{height:clamp(140px,39%,360px);left:38%}
.hs-gajju{height:clamp(168px,46%,424px);left:49.5%}

/* short windows: the stats card is a fixed block, so compact it and shorten the cast,
   otherwise the two meet in the middle of a full-screen hero */
@media(min-width:1200px) and (max-height:820px){
  .hero .wrap{padding-top:clamp(20px,3vh,40px)}
  .nowcard{padding:11px 13px}
  .nowcard h3{font-size:.86rem;margin-bottom:6px;letter-spacing:.09em}
  .now li{padding:3.5px 0;gap:9px}
  .now .ic{width:22px;height:22px}
  .now .ic svg{width:13px;height:13px}
  .now .lbl{font-size:.74rem}
  .now .val b{font-size:.8rem}
  .now .val small{font-size:.62rem}
  .now-more{padding:8px;margin-top:7px;font-size:.72rem}
  .hs-ele{height:clamp(170px,33%,372px)}
  .hs-divya{height:clamp(124px,31%,300px)}
  .hs-gajju{height:clamp(150px,38%,360px)}
}
/* Eyes blink instead of the whole mascot bobbing.
   Percentages are measured off the trimmed artwork, so they hold at any render size. */
.lid{position:absolute;display:block;transform:scaleY(0);transform-origin:50% 0;
  border-radius:44% 44% 40% 40% / 54% 54% 46% 46%;
  transition:transform .085s cubic-bezier(.4,0,.7,1)}
.lid.shut{transform:scaleY(1)}
.lids-gajju .lid{background:linear-gradient(180deg,#3f3d3b 0%,#615e5c 40%,#7a7775 78%,#565351 100%)}
.lids-gajju .lid-l{left:28.5%;top:25.5%;width:9.6%;height:7.7%}
.lids-gajju .lid-r{left:54.4%;top:25.2%;width:10.8%;height:7.7%}
.lids-divya .lid{background:linear-gradient(180deg,#e8964e 0%,#fbb972 55%,#f0a061 100%)}
.lids-divya .lid-l{left:22.7%;top:27.5%;width:20.7%;height:7.8%}
.lids-divya .lid-r{left:56.7%;top:27.3%;width:20.7%;height:7.8%}
/* distant spectators along the palace forecourt — heads only */
.hs-crowd{left:50%;width:min(2000px,104%);bottom:-1%;z-index:4;display:block;overflow:hidden;
  aspect-ratio:1900/128;height:auto;filter:brightness(.8) saturate(.92)}
.hs-crowd img{width:100%;height:auto}

.hero-veil{position:absolute;inset:0;z-index:1;background:
  linear-gradient(100deg,rgba(4,8,24,.42) 0%,rgba(5,10,28,.22) 28%,rgba(6,12,32,.06) 50%,rgba(7,13,34,.24) 100%),
  linear-gradient(0deg,rgba(4,8,24,.50) 0%,transparent 18%)}
/* keeps the headline readable without flattening the scene */
.hero .wrap::before{content:"";position:absolute;z-index:-1;left:0;top:-12%;width:46%;height:124%;
  background:radial-gradient(ellipse 52% 50% at 34% 40%,rgba(4,8,24,.60),rgba(4,8,24,.20) 62%,transparent 80%);
  pointer-events:none}
#fx{position:absolute;inset:0;z-index:2;pointer-events:none}
.hero .wrap{position:relative;z-index:6;display:grid;gap:30px;padding-block:clamp(30px,4.4vw,52px);width:100%}
@media(min-width:1200px){.hero .wrap{grid-template-columns:minmax(0,1fr) 322px;align-items:start;
  align-content:start;gap:40px;
  padding-left:clamp(40px,11.5vw,178px);padding-top:clamp(30px,6vh,72px);padding-bottom:0}}
@media(max-width:1199px){
  .hs-ele{display:none}
  .hs-palace{width:min(1220px,150%);bottom:auto;top:6%;opacity:.9;
    -webkit-mask-image:linear-gradient(180deg,#000 0,#000 60%,transparent 97%);
            mask-image:linear-gradient(180deg,#000 0,#000 60%,transparent 97%)}
  .hs-divya{height:120px;left:50%;margin-left:-116px}
  .hs-gajju{height:146px;left:50%;margin-left:2px}
  .hs-mascot{bottom:5%}
  .hs-crowd{width:min(1560px,150%);aspect-ratio:1900/120;bottom:5%}
  .hero .wrap{padding-bottom:clamp(150px,34vw,210px)}
  .hero .wrap::before{display:none}
  .hero-veil{background:
    linear-gradient(180deg,rgba(4,8,24,.60) 0%,rgba(5,10,28,.26) 28%,rgba(6,12,32,.58) 66%,rgba(6,12,32,.86) 100%)}
}
@media(max-width:600px){
  .hs-divya{height:98px;margin-left:-94px}
  .hs-gajju{height:120px;margin-left:2px}
}

.h-title{font-family:var(--head);font-weight:900;line-height:.95;margin:0 0 14px;
  font-size:clamp(2rem,3.6vw,3.25rem);letter-spacing:-.004em;
  background:linear-gradient(178deg,#fff9e8 6%,var(--gold-lt) 45%,var(--gold-dp) 99%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 6px 26px rgba(0,0,0,.6))}
.h-title span{display:block}
.h-sub{font-family:var(--body);color:#f4ecdc;font-size:clamp(.86rem,1.35vw,1.12rem);
  font-weight:500;letter-spacing:.085em;text-transform:uppercase;line-height:1.6;
  text-shadow:0 2px 14px rgba(4,8,24,.9),0 1px 3px rgba(4,8,24,.8)}
.h-date{display:inline-flex;align-items:center;gap:12px;margin-top:20px;padding:11px 20px;
  border-radius:12px;background:rgba(10,20,50,.66);border:1px solid rgba(232,180,74,.46);
  backdrop-filter:blur(9px);box-shadow:0 10px 30px rgba(0,0,0,.4)}
.h-date svg{width:20px;height:20px;color:var(--gold);flex:none}
.h-date b{display:block;color:var(--gold-lt);font-family:var(--sub);font-weight:400;
  font-size:clamp(.86rem,1.4vw,1.02rem);line-height:1.4}
.h-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px;align-items:center}
.btn-official{display:inline-flex;align-items:center;gap:12px;background:linear-gradient(135deg,var(--gold),#f5cf74);
  color:#3a2409;font-weight:700;font-size:.85rem;padding:8px 8px 8px 22px;border-radius:30px;
  box-shadow:0 10px 28px rgba(232,180,74,.38);transition:.3s var(--ease)}
.btn-official:hover{transform:translateY(-3px);box-shadow:0 18px 38px rgba(232,180,74,.52)}
.btn-official .ab{width:30px;height:30px;border-radius:50%;background:#2c1c04;display:grid;place-items:center;
  transition:transform .3s var(--ease)}
.btn-official .ab svg{width:15px;height:15px;color:var(--gold-lt)}
.btn-official:hover .ab{transform:translateX(3px)}
.btn-ghost{display:inline-flex;align-items:center;gap:9px;border:1.6px solid rgba(255,255,255,.34);
  color:#f4e8cf;font-weight:600;font-size:.86rem;padding:12px 22px;border-radius:30px;transition:.3s var(--ease)}
.btn-ghost:hover{background:rgba(255,255,255,.12);border-color:var(--gold-lt);transform:translateY(-3px)}

/* live-status card — mirrors the MYSURU NOW rail on mysuru.html */
.nowcard{background:linear-gradient(160deg,rgba(10,19,50,.94),rgba(40,12,32,.94));
  border:1px solid rgba(232,180,74,.44);border-radius:18px;padding:14px 16px;
  backdrop-filter:blur(16px);box-shadow:var(--sh-l);position:relative;overflow:hidden}
.nowcard::before{content:"";position:absolute;inset:0;background:
  repeating-linear-gradient(135deg,rgba(232,180,74,.05) 0 2px,transparent 2px 9px);pointer-events:none}
.nowcard>*{position:relative}
.nowcard h3{display:flex;align-items:center;gap:9px;font-family:var(--head);color:#fff;
  font-size:.94rem;letter-spacing:.11em;margin-bottom:9px}
.nowcard h3 .sun{width:20px;height:20px;color:var(--gold);flex:none}
.nowcard h3 a{margin-left:auto;font-family:var(--body);font-size:.7rem;font-weight:700;
  color:var(--gold-lt);letter-spacing:.04em;display:flex;align-items:center;gap:5px;white-space:nowrap}
.nowcard h3 a:hover{gap:9px}
.now li{display:flex;align-items:center;gap:11px;padding:5.5px 0;border-bottom:1px solid rgba(255,255,255,.07)}
.now li:last-child{border-bottom:0}
.now .ic{width:26px;height:26px;border-radius:8px;display:grid;place-items:center;flex:none}
.now .ic svg{width:15px;height:15px}
.now .lbl{font-size:.8rem;color:#dfd4bb}
.now .val{margin-left:auto;text-align:right;line-height:1.25;padding-left:8px}
.now .val b{display:block;font-size:.86rem;color:#fff;font-weight:700}
.now .val small{font-size:.66rem;color:#a9b3c9}
.now-more{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;margin-top:10px;
  padding:10px;border-radius:11px;border:1px solid rgba(232,180,74,.35);background:transparent;
  color:var(--gold-lt);font-family:var(--body);font-size:.76rem;font-weight:700;cursor:pointer;
  transition:.25s var(--ease)}
.now-more:hover{background:rgba(232,180,74,.16)}
.now-more .dot{width:7px;height:7px;border-radius:50%;background:var(--ok);animation:nowpulse 1.9s infinite}
@keyframes nowpulse{0%,100%{box-shadow:0 0 0 0 rgba(31,157,85,.7)}70%{box-shadow:0 0 0 8px rgba(31,157,85,0)}}
@media(prefers-reduced-motion:reduce){.now-more .dot{animation:none}}
.scroll-cue{position:absolute;bottom:52px;left:50%;transform:translateX(-50%);color:rgba(255,255,255,.5);
  font-size:.62rem;letter-spacing:.3em;text-transform:uppercase;display:grid;justify-items:center;gap:6px;z-index:3}
.scroll-cue i{display:block;width:1.6px;height:26px;background:linear-gradient(var(--gold),transparent);animation:cue 1.8s infinite}
@keyframes cue{0%{opacity:0;transform:translateY(-8px)}45%{opacity:1}100%{opacity:0;transform:translateY(8px)}}
@media(max-width:1023px){.scroll-cue{display:none}}

/* ============ 6. QUICK RAIL ============ */
.rail-sec{margin-top:-12px;position:relative;z-index:20}
.rail{background:var(--cream);border-radius:var(--r-l);box-shadow:var(--sh-m);border:1px solid rgba(184,134,43,.24);
  display:grid;grid-auto-flow:column;grid-auto-columns:minmax(122px,1fr);overflow-x:auto;
  scroll-snap-type:x mandatory;scrollbar-width:none}
.rail::-webkit-scrollbar{display:none}
.rail a{position:relative;display:grid;justify-items:center;gap:9px;padding:20px 8px 17px;text-align:center;
  scroll-snap-align:center;transition:.3s var(--ease)}
.rail a+a::before{content:"";position:absolute;left:0;top:22%;height:56%;width:1px;background:rgba(107,15,34,.13)}
.rail a .ic{width:36px;height:36px;color:var(--maroon);transition:.4s var(--ease)}
.rail a .ic svg{width:100%;height:100%}
.rail a span{font-size:.7rem;font-weight:700;line-height:1.32;letter-spacing:.02em;color:#402c14}
.rail a:hover{background:linear-gradient(180deg,rgba(232,180,74,.16),transparent)}
.rail a:hover .ic{transform:translateY(-5px) scale(1.14);color:var(--gold-dp)}
.rail a:hover span{color:var(--maroon)}
.rail a::after{content:"";position:absolute;left:26%;right:26%;bottom:0;height:3px;border-radius:3px 3px 0 0;
  background:linear-gradient(90deg,var(--gold-dp),var(--gold));transform:scaleX(0);transition:transform .32s var(--ease)}
.rail a:hover::after{transform:scaleX(1)}
.rail .bdg{position:absolute;top:11px;right:calc(50% - 34px);background:var(--live);color:#fff;font-size:.5rem;
  font-weight:800;padding:2px 6px;border-radius:8px;letter-spacing:.09em;animation:blink 1.6s infinite}
@keyframes blink{50%{opacity:.35}}

/* ============ 7. SECTIONS ============ */
section{position:relative}
.sec-pad{padding:clamp(46px,7vw,86px) 0}
.sec-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:30px}
.sec-head .kicker{display:inline-flex;align-items:center;gap:8px;color:var(--maroon);font-size:.68rem;
  font-weight:800;letter-spacing:.26em;text-transform:uppercase}
.sec-head .kicker::before{content:"";width:26px;height:2px;background:linear-gradient(90deg,var(--gold-dp),var(--gold))}
.sec-head h2{font-family:var(--head);font-size:clamp(1.55rem,3.6vw,2.5rem);line-height:1.12;color:var(--navy);margin-top:9px}
.sec-head h2 em{font-style:normal;color:var(--maroon)}
.sec-head p{color:var(--ink-soft);font-size:.9rem;max-width:56ch;margin-top:7px}
.link-all{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:.82rem;color:var(--maroon);
  padding-bottom:3px;border-bottom:2px solid rgba(107,15,34,.25);transition:.26s}
.link-all:hover{gap:13px;border-color:var(--maroon)}

/* ============ 8. LIVE + TILES + GAJJU GRID ============ */
.grid-main{display:grid;gap:18px}
@media(min-width:900px){.grid-main{grid-template-columns:1fr 1fr}}
@media(min-width:1280px){.grid-main{grid-template-columns:1.28fr 1.15fr 1fr}}

.card{background:#12081A;border-radius:var(--r-l);overflow:hidden;position:relative;
  box-shadow:0 20px 50px -34px #000;
  border:1px solid rgba(233,188,99,.16);transition:.4s var(--ease)}
.card:hover{transform:translateY(-5px);border-color:rgba(233,188,99,.4);
  box-shadow:0 28px 62px -34px #000,0 0 44px -22px rgba(233,188,99,.4)}

.live-card{background:linear-gradient(165deg,#0d1a3f,#2b0b1e);border-color:rgba(232,180,74,.35);padding:16px}
.live-card h3{font-family:var(--head);color:var(--gold-lt);font-size:1rem;letter-spacing:.1em;
  display:flex;align-items:center;gap:10px;margin-bottom:13px;flex-wrap:wrap}
.live-tag{display:inline-flex;align-items:center;gap:5px;background:var(--live);color:#fff;font-size:.6rem;
  font-weight:800;padding:3px 9px;border-radius:5px;letter-spacing:.12em}
.live-tag i{width:6px;height:6px;border-radius:50%;background:#fff;animation:blink 1.2s infinite}
.player{position:relative;aspect-ratio:16/9;border-radius:var(--r-m);overflow:hidden;background:#000;cursor:pointer}
.player img{width:100%;height:100%;object-fit:cover;object-position:50% 55%;
  transition:transform 7s var(--ease),filter .4s}
.player:hover img{transform:scale(1.09)}
.player .play{position:absolute;inset:0;display:grid;place-items:center}
.player .play b{width:70px;height:70px;border-radius:50%;background:rgba(255,255,255,.94);display:grid;
  place-items:center;box-shadow:0 8px 30px rgba(0,0,0,.45);transition:.3s var(--ease)}
.player .play b::before{content:"";border-style:solid;border-width:12px 0 12px 20px;
  border-color:transparent transparent transparent var(--maroon);margin-left:5px}
.player:hover .play b{transform:scale(1.12);background:#fff}
.player .play b::after{content:"";position:absolute;width:70px;height:70px;border-radius:50%;
  border:2px solid rgba(255,255,255,.6);animation:ring 2.4s var(--ease) infinite}
@keyframes ring{0%{transform:scale(1);opacity:.85}100%{transform:scale(2);opacity:0}}
/* ---- custom player chrome (YouTube's own controls are switched off) ---- */
.player .ytwrap{position:absolute;inset:0;z-index:5;border-radius:var(--r-m);overflow:hidden}
.player .ytwrap iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.player .ytshield{position:absolute;inset:0;z-index:6;cursor:pointer}
.pctl{position:absolute;left:0;right:0;bottom:0;z-index:8;display:flex;align-items:center;gap:11px;
  padding:26px 14px 11px;opacity:0;transform:translateY(6px);pointer-events:none;
  background:linear-gradient(transparent,rgba(4,8,22,.9));
  transition:opacity .25s var(--ease),transform .25s var(--ease)}
.player.playing:hover .pctl,.player.playing:focus-within .pctl,.player.paused .pctl{
  opacity:1;transform:none;pointer-events:auto}
.pbtn{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;flex:none;
  color:#fff6e2;background:rgba(255,255,255,.10);border:1px solid rgba(232,180,74,.35);
  transition:.2s var(--ease)}
.pbtn:hover{background:var(--gold);color:#2c1c04;border-color:var(--gold)}
.pbtn svg{width:14px;height:14px}
.pbar{flex:1;height:5px;border-radius:4px;background:rgba(255,255,255,.22);cursor:pointer;position:relative;min-width:40px}
.pfill{position:absolute;left:0;top:0;bottom:0;width:0;border-radius:4px;
  background:linear-gradient(90deg,var(--gold-dp),var(--gold-lt))}
.pfill::after{content:"";position:absolute;right:-5px;top:50%;transform:translateY(-50%);
  width:11px;height:11px;border-radius:50%;background:var(--gold-lt);box-shadow:0 0 6px rgba(0,0,0,.6)}
.ptime{font-size:.68rem;color:#f0e2c4;font-variant-numeric:tabular-nums;flex:none;letter-spacing:.04em}
/* big centre toggle */
.player.playing .play,.player.playing>img,.player.playing .meta{opacity:0;pointer-events:none}
.player.paused .play{opacity:1;pointer-events:none;z-index:7}
.player.playing::before,.player.playing::after{opacity:0}
@media(max-width:520px){.ptime{display:none}}
.player .meta{position:absolute;left:0;right:0;bottom:0;padding:32px 14px 11px;color:#fff;
  background:linear-gradient(transparent,rgba(0,0,0,.82));display:flex;justify-content:space-between;
  align-items:flex-end;gap:10px;font-size:.76rem}
.player .meta b{font-weight:700}
.player .meta .viewers{display:flex;align-items:center;gap:6px;opacity:.9;font-variant-numeric:tabular-nums}
.live-strip{display:flex;gap:9px;margin-top:12px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
.live-strip::-webkit-scrollbar{display:none}
.live-strip button{flex:none;width:96px;border-radius:9px;overflow:hidden;position:relative;
  border:2px solid transparent;transition:.28s var(--ease)}
.live-strip button img{aspect-ratio:16/10;object-fit:cover;width:100%}
.live-strip button span{position:absolute;inset:auto 0 0 0;background:linear-gradient(transparent,rgba(0,0,0,.9));
  color:#fff;font-size:.56rem;padding:12px 5px 4px;font-weight:600;text-align:left}
.live-strip button.on,.live-strip button:hover{border-color:var(--gold);transform:translateY(-2px)}

/* event tiles */
.tiles{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:899px){.tiles{grid-template-columns:1fr 1fr}}
.tile{position:relative;border-radius:var(--r-m);overflow:hidden;min-height:172px;display:flex;
  align-items:flex-end;color:#fff;box-shadow:var(--sh-s);transition:.45s var(--ease)}
.tile img,.tile picture{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.3s var(--ease)}
.tile picture img{position:static;transition:none}
/* tiles whose art is a transparent cut-out sit on a painted ground */
.tile-cut picture{object-fit:contain;object-position:50% 108%;padding:8% 6% 0}
.tile-cut picture img{width:100%;height:100%;object-fit:contain;object-position:50% 100%}
.tile-cut-navy{background:radial-gradient(ellipse at 50% 108%,#2a4a7a,#0b1738 68%)}
.tile-cut-night{background:radial-gradient(ellipse at 50% 104%,#4a2a12,#0e0a26 72%)}
/* wide cut-out that should fill the tile rather than shrink inside it */
.tile-fill picture{object-fit:cover;object-position:50% 58%}
.tile-fill picture img{width:100%;height:100%;object-fit:cover;object-position:50% 58%}
.tile-cut::after{background:linear-gradient(0deg,rgba(6,10,26,.92) 4%,rgba(6,10,26,.10) 58%)}
.tile::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(6,10,26,.9) 6%,rgba(6,10,26,.16) 62%)}
.tile>div{position:relative;z-index:2;padding:15px 15px 14px;width:100%}
.tile h4{font-family:var(--head);font-size:clamp(.94rem,1.6vw,1.12rem);line-height:1.14;letter-spacing:.02em;
  text-shadow:0 2px 12px rgba(0,0,0,.6)}
.tile p{font-size:.72rem;color:var(--gold-lt);margin-top:4px;font-weight:600;letter-spacing:.04em}
.tile .more{max-height:0;overflow:hidden;opacity:0;transition:.45s var(--ease);font-size:.71rem;color:#e6dcc6}
.tile:hover{transform:translateY(-5px);box-shadow:var(--sh-m)}
.tile:hover img{transform:scale(1.12)}
.tile:hover .more{max-height:60px;opacity:1;margin-top:6px}
.tile .chip{position:absolute;top:11px;left:11px;z-index:3;background:rgba(8,14,38,.68);
  border:1px solid rgba(232,180,74,.5);color:var(--gold-lt);font-size:.58rem;font-weight:800;
  letter-spacing:.1em;padding:3px 9px;border-radius:20px;backdrop-filter:blur(5px)}

/* ============ 9. ASK GAJJU ============ */
.gajju{background:linear-gradient(168deg,#5e0d1e,#8b1a1a 52%,#3f0a18);border-color:rgba(232,180,74,.45);
  padding:17px;display:flex;flex-direction:column;position:relative;overflow:hidden;min-height:320px}
.gajju::before{content:"";position:absolute;top:-40%;right:-30%;width:70%;height:120%;
  background:radial-gradient(circle,rgba(232,180,74,.22),transparent 68%);animation:float 9s ease-in-out infinite}
@keyframes float{50%{transform:translate(-16px,16px) scale(1.1)}}
.gajju-top{display:flex;align-items:center;gap:12px;position:relative;z-index:2}
.gajju-top .spark{width:40px;height:40px;color:var(--gold);animation:spin 14s linear infinite}
.gajju-top h3{font-family:var(--head);color:var(--gold-lt);font-size:1.42rem;line-height:1.06}
.gajju-top small{color:#f0dcbb;font-size:.74rem;letter-spacing:.05em}
.gajju .mascot{position:absolute;right:-8px;bottom:52px;width:118px;z-index:1;display:block;
  pointer-events:none;filter:drop-shadow(0 10px 20px rgba(0,0,0,.42))}
.gajju .mascot img{width:100%;height:auto;display:block}
@keyframes bob{50%{transform:translateY(-9px) rotate(2deg)}}
.chat{position:relative;z-index:2;flex:1;margin:13px 0 10px;display:flex;flex-direction:column;gap:9px;
  max-height:210px;overflow-y:auto;padding-right:82px;scrollbar-width:thin}
.chat::-webkit-scrollbar{width:4px}
.chat::-webkit-scrollbar-thumb{background:rgba(232,180,74,.4);border-radius:4px}
.bub{max-width:96%;padding:10px 14px;border-radius:16px;font-size:.8rem;line-height:1.5;
  animation:pop .38s var(--ease) both;position:relative}
@keyframes pop{from{opacity:0;transform:translateY(9px) scale(.96)}}
.bub.bot{background:rgba(255,255,255,.95);color:#2b1a08;border-bottom-left-radius:5px;align-self:flex-start;
  box-shadow:0 3px 12px rgba(0,0,0,.22)}
.bub.me{background:linear-gradient(135deg,var(--gold),#f2c669);color:#3a2400;font-weight:600;
  border-bottom-right-radius:5px;align-self:flex-end}
.bub.typing{display:flex;gap:4px;align-items:center;padding:13px 15px}
.bub.typing i{width:6px;height:6px;border-radius:50%;background:var(--maroon);opacity:.5;animation:dot 1.3s infinite}
.bub.typing i:nth-child(2){animation-delay:.18s}.bub.typing i:nth-child(3){animation-delay:.36s}
@keyframes dot{30%{transform:translateY(-5px);opacity:1}}
.chips-label{position:relative;z-index:2;color:#f0dcbb;font-size:.66rem;font-weight:700;
  letter-spacing:.22em;text-transform:uppercase;opacity:.75;margin-bottom:8px;padding-right:84px;
  display:flex;align-items:center;gap:9px}
.chips-label::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,rgba(232,180,74,.5),transparent)}
.chips{display:flex;flex-wrap:wrap;gap:6px;position:relative;z-index:2;margin-bottom:10px;padding-right:82px}
.chips button{background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.28);color:#fbeed6;
  font-size:.7rem;font-weight:600;padding:6px 12px;border-radius:20px;transition:.24s var(--ease)}
.chips button:hover{background:var(--gold);color:#3a2400;border-color:var(--gold);transform:translateY(-2px)}
.ask{display:flex;gap:8px;position:relative;z-index:2}
.ask input{flex:1;height:44px;border-radius:24px;border:1px solid rgba(255,255,255,.3);
  background:rgba(255,255,255,.96);padding:0 17px;font-size:.83rem;color:#2b1a08;min-width:0}
.ask input::placeholder{color:#9a8874}
.ask input:focus{outline:none;box-shadow:0 0 0 3px rgba(232,180,74,.45)}
.ask button{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,var(--gold),#f2c669);
  display:grid;place-items:center;color:#3a2400;flex:none;transition:.26s var(--ease)}
.ask button:hover{transform:scale(1.09) rotate(-8deg)}
.ask button svg{width:19px;height:19px}

/* ============ 10. PLAN + COUNTDOWN ============ */
.grid-plan{display:grid;gap:18px;margin-top:18px}
@media(min-width:1100px){.grid-plan{grid-template-columns:1.6fr 1fr}}
.plan-box{background:var(--cream-2);border-radius:var(--r-l);border:1px solid rgba(184,134,43,.24);
  padding:14px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}
.plan{display:flex;gap:12px;padding:14px;border-radius:var(--r-m);background:#fff;transition:.34s var(--ease);
  border:1px solid transparent}
.plan:hover{transform:translateY(-4px);box-shadow:var(--sh-m);border-color:rgba(232,180,74,.5)}
.plan .ic{width:46px;height:46px;flex:none;border-radius:13px;display:grid;place-items:center;
  background:linear-gradient(140deg,rgba(232,180,74,.22),rgba(107,15,34,.1));color:var(--maroon);transition:.34s var(--ease)}
.plan:hover .ic{transform:rotate(-9deg) scale(1.08);background:linear-gradient(140deg,var(--gold),#f2c669);color:#3a2400}
.plan .ic svg{width:25px;height:25px}
.plan h4{font-family:var(--head);font-size:.86rem;letter-spacing:.09em;color:var(--navy);text-transform:uppercase}
.plan p{font-size:.75rem;color:var(--ink-soft);margin:3px 0 7px;line-height:1.45}
.plan a{font-size:.74rem;font-weight:800;color:var(--maroon);display:inline-flex;align-items:center;gap:6px;transition:gap .25s}
.plan:hover a{gap:11px}

.cdown{background:linear-gradient(160deg,#5d0d1c,#8d1420 55%,#4a0a16);border-radius:var(--r-l);
  padding:22px;color:#fff;position:relative;overflow:hidden;box-shadow:var(--sh-m);
  border:1px solid rgba(232,180,74,.4)}
.cdown .fw{position:absolute;font-size:2rem;opacity:.28;animation:twk 3.6s ease-in-out infinite}
.cdown .fw.a{top:12px;left:16px}.cdown .fw.b{top:18px;right:20px;animation-delay:1.2s}
.cdown .fw.c{bottom:14px;left:32%;animation-delay:2.1s;font-size:1.4rem}
@keyframes twk{0%,100%{opacity:.16;transform:scale(.86)}50%{opacity:.55;transform:scale(1.14)}}
.cdown h3{font-family:var(--head);color:var(--gold-lt);text-align:center;font-size:1.12rem;
  letter-spacing:.16em;margin-bottom:16px;position:relative}
.cd-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;position:relative}
.cd-cell{background:rgba(0,0,0,.26);border:1px solid rgba(232,180,74,.3);border-radius:13px;
  padding:11px 4px;text-align:center}
.cd-cell b{display:block;font-family:var(--head);font-size:clamp(1.5rem,4.6vw,2.2rem);color:var(--gold-lt);
  line-height:1;font-variant-numeric:tabular-nums;text-shadow:0 3px 16px rgba(232,180,74,.4)}
.cd-cell span{font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;opacity:.82;margin-top:5px;display:block}
.cd-cell.tick b{animation:flip .5s var(--ease)}
@keyframes flip{from{transform:translateY(-40%) rotateX(60deg);opacity:.25}}
.cd-note{text-align:center;font-size:.72rem;color:#f3ddb8;margin-top:13px;opacity:.9}

/* ============ 11. SCHEDULE TABS ============ */
.day-nav{display:flex;gap:8px;overflow-x:auto;padding:4px 2px 12px;scrollbar-width:none;scroll-snap-type:x proximity}
.day-nav::-webkit-scrollbar{display:none}
.day-nav button{flex:none;scroll-snap-align:center;min-width:82px;padding:10px 12px;border-radius:14px;
  background:#fff;border:1.5px solid rgba(184,134,43,.28);text-align:center;transition:.3s var(--ease)}
.day-nav button small{display:block;font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft)}
.day-nav button b{display:block;font-family:var(--head);font-size:1.16rem;color:var(--navy);line-height:1.25}
.day-nav button i{display:block;font-style:normal;font-size:.58rem;color:var(--maroon);font-weight:700;margin-top:2px}
.day-nav button:hover{transform:translateY(-3px);border-color:var(--gold)}
.day-nav button.on{background:linear-gradient(160deg,var(--maroon),#a01a2e);border-color:var(--maroon);
  box-shadow:0 10px 26px rgba(107,15,34,.32)}
.day-nav button.on small,.day-nav button.on b,.day-nav button.on i{color:#fff}
.day-nav button.on i{color:var(--gold-lt)}
.sched{display:grid;gap:10px}
.ev{display:grid;grid-template-columns:104px 1fr auto;gap:14px;align-items:center;background:#fff;
  border-radius:var(--r-m);padding:13px 16px;border:1px solid rgba(184,134,43,.2);
  border-left:4px solid var(--gold);transition:.3s var(--ease);animation:slide .45s var(--ease) both}
@keyframes slide{from{opacity:0;transform:translateX(-14px)}}
.ev:hover{transform:translateX(5px);box-shadow:var(--sh-m);border-left-color:var(--maroon)}
.ev .t{font-family:var(--head);font-size:.92rem;color:var(--maroon);font-variant-numeric:tabular-nums}
.ev .t small{display:block;font-family:var(--body);font-size:.63rem;color:var(--ink-soft);letter-spacing:.06em}
.ev h4{font-size:.94rem;font-weight:700;color:var(--navy)}
.ev p{font-size:.74rem;color:var(--ink-soft);display:flex;align-items:center;gap:6px;margin-top:2px}
.ev .cat{font-size:.58rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;padding:5px 11px;
  border-radius:20px;background:rgba(232,180,74,.2);color:#7a5410;white-space:nowrap}
.ev[data-cat="Procession"] .cat{background:rgba(107,15,34,.12);color:var(--maroon)}
.ev[data-cat="Culture"] .cat{background:rgba(18,58,92,.12);color:#123a5c}
.ev[data-cat="Sports"] .cat{background:rgba(18,64,47,.13);color:#12402f}
.ev.now{border-left-color:var(--live);background:linear-gradient(90deg,rgba(224,32,32,.05),#fff 30%)}
.ev.now .t::after{content:"● LIVE";display:block;color:var(--live);font-size:.56rem;font-weight:800;
  letter-spacing:.1em;animation:blink 1.4s infinite;font-family:var(--body)}
@media(max-width:700px){.ev{grid-template-columns:86px 1fr;gap:10px}.ev .cat{grid-column:2;justify-self:start}}

/* ============ 12. GALLERY ============ */
.gal-filter{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.gal-filter button{padding:8px 17px;border-radius:22px;border:1.5px solid rgba(184,134,43,.32);
  font-size:.76rem;font-weight:700;transition:.28s var(--ease);background:#fff;color:#4a3518}
.gal-filter button:hover{border-color:var(--gold);transform:translateY(-2px)}
.gal-filter button.on{background:var(--navy);color:var(--gold-lt);border-color:var(--navy)}
.gal{columns:2;column-gap:12px}
@media(min-width:760px){.gal{columns:3}}
@media(min-width:1180px){.gal{columns:4}}
.gal figure{break-inside:avoid;margin-bottom:12px;position:relative;border-radius:var(--r-m);overflow:hidden;
  cursor:zoom-in;box-shadow:var(--sh-s);animation:pop .5s var(--ease) both}
.gal figure img{width:100%;transition:transform 1s var(--ease),filter .4s}
.gal figure figcaption{position:absolute;inset:auto 0 0 0;padding:26px 12px 11px;color:#fff;font-size:.74rem;
  font-weight:600;background:linear-gradient(transparent,rgba(0,0,0,.85));transform:translateY(101%);
  transition:.4s var(--ease)}
.gal figure:hover img{transform:scale(1.09)}
.gal figure:hover figcaption{transform:none}
.gal figure::after{content:"⤢";position:absolute;top:10px;right:10px;width:28px;height:28px;border-radius:50%;
  background:rgba(255,255,255,.9);display:grid;place-items:center;color:var(--maroon);font-size:.8rem;
  opacity:0;transform:scale(.6);transition:.3s var(--ease)}
.gal figure:hover::after{opacity:1;transform:none}
.gal figure.hide{display:none}

/* lightbox */
.lb{position:fixed;inset:0;z-index:300;background:rgba(6,10,24,.94);display:grid;place-items:center;
  opacity:0;visibility:hidden;transition:.35s;padding:20px}
.lb.on{opacity:1;visibility:visible}
.lb img{max-width:min(94vw,1000px);max-height:82vh;border-radius:var(--r-m);box-shadow:var(--sh-l);
  animation:pop .4s var(--ease)}
.lb .cap{color:#f0e3c8;text-align:center;margin-top:14px;font-size:.86rem;letter-spacing:.06em}
.lb .x,.lb .p,.lb .n{position:absolute;width:48px;height:48px;border-radius:50%;background:rgba(255,255,255,.12);
  color:#fff;display:grid;place-items:center;font-size:1.2rem;transition:.25s;backdrop-filter:blur(6px)}
.lb .x{top:22px;right:22px}.lb .p{left:18px;top:50%;transform:translateY(-50%)}
.lb .n{right:18px;top:50%;transform:translateY(-50%)}
.lb .x:hover,.lb .p:hover,.lb .n:hover{background:var(--gold);color:#3a2400}

/* ============ 13. STRIPS / MAP / STATS ============ */
.band{background:linear-gradient(150deg,var(--navy),#2b0c22);color:#f1e5cc;position:relative;overflow:hidden}
.band::before{content:"";position:absolute;inset:0;opacity:.16;
  background:repeating-linear-gradient(45deg,transparent 0 22px,rgba(232,180,74,.18) 22px 23px)}
.band .wrap{position:relative}
.band .sec-head h2{color:#fff}.band .sec-head p{color:#c9bda3}
.band .sec-head .kicker{color:var(--gold)}
.map-grid{display:grid;gap:18px}
@media(min-width:980px){.map-grid{grid-template-columns:1.35fr 1fr}}
.mapbox{position:relative;border-radius:var(--r-l);overflow:hidden;
  border:1px solid rgba(232,180,74,.35);min-height:clamp(340px,46vh,560px)}
.hot{position:absolute;width:22px;height:22px;border-radius:50%;background:var(--gold);border:2.5px solid #fff;
  cursor:pointer;transition:.3s var(--ease);box-shadow:0 0 0 0 rgba(232,180,74,.65);animation:pulse 2.4s infinite}
.hot:hover,.hot.on{transform:scale(1.35);background:var(--live)}
.hot span{position:absolute;bottom:130%;left:50%;transform:translateX(-50%) translateY(6px);white-space:nowrap;
  background:#fff;color:var(--navy);font-size:.68rem;font-weight:700;padding:5px 11px;border-radius:8px;
  opacity:0;pointer-events:none;transition:.28s var(--ease);box-shadow:var(--sh-m)}
.hot:hover span,.hot.on span{opacity:1;transform:translateX(-50%)}
.venue-list{display:grid;gap:9px;align-content:start}
.venue{display:flex;gap:13px;align-items:center;padding:13px 15px;border-radius:var(--r-m);
  background:rgba(255,255,255,.06);border:1px solid rgba(232,180,74,.22);transition:.3s var(--ease);cursor:pointer}
.venue:hover,.venue.on{background:rgba(232,180,74,.16);border-color:var(--gold);transform:translateX(6px)}
.venue b{font-family:var(--head);font-size:.9rem;color:var(--gold-lt);display:block}
.venue small{font-size:.71rem;color:#c8bca2}
.venue .n{width:32px;height:32px;border-radius:50%;background:rgba(232,180,74,.2);color:var(--gold-lt);
  display:grid;place-items:center;font-family:var(--head);font-size:.85rem;flex:none}

.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px}
.stat{text-align:center;padding:22px 12px;border-radius:var(--r-m);background:rgba(255,255,255,.06);
  border:1px solid rgba(232,180,74,.22);transition:.36s var(--ease)}
.stat:hover{background:rgba(232,180,74,.14);transform:translateY(-5px)}
.stat b{display:block;font-family:var(--head);font-size:clamp(1.7rem,4vw,2.6rem);color:var(--gold-lt);line-height:1}
.stat span{font-size:.73rem;letter-spacing:.12em;text-transform:uppercase;color:#cdbfa4;margin-top:7px;display:block}

/* ============ 14. FOOTER ============ */
.foot{background:var(--cream-2);border-top:3px solid var(--gold);padding-top:clamp(38px,5vw,60px);position:relative;overflow:hidden}
.foot-grid{display:grid;gap:26px}
@media(min-width:900px){.foot-grid{grid-template-columns:1.25fr 1fr 1fr 1.15fr}}
.foot h5{font-family:var(--head);font-size:.8rem;letter-spacing:.2em;text-transform:uppercase;color:var(--maroon);margin-bottom:13px}
.foot li a{font-size:.81rem;color:#4d3c22;display:inline-block;padding:4px 0;transition:.24s}
.foot li a:hover{color:var(--maroon);transform:translateX(5px)}
.news{display:flex;max-width:340px;border-radius:26px;overflow:hidden;box-shadow:var(--sh-s);background:#fff;
  border:1px solid rgba(184,134,43,.3)}
.news input{flex:1;border:0;padding:0 17px;height:46px;font-size:.83rem;min-width:0;background:transparent}
.news input:focus{outline:none}
.news button{background:linear-gradient(135deg,var(--gold-dp),var(--gold));color:#3a2400;font-weight:800;
  padding:0 20px;font-size:.79rem;transition:.26s}
.news button:hover{filter:brightness(1.09)}
.stores{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.store{display:flex;align-items:center;gap:10px;background:#000;color:#fff;padding:8px 16px;
  border-radius:10px;border:1px solid rgba(255,255,255,.22);transition:.3s var(--ease)}
.store .brand{width:22px;height:22px;flex:none}
.store .brand.apple{color:#fff;margin-top:-2px}
.store:hover{transform:translateY(-3px);box-shadow:var(--sh-m);border-color:rgba(255,255,255,.45)}
.store small{display:block;font-size:.53rem;letter-spacing:.11em;opacity:.75;text-transform:uppercase}
.store b{font-size:.82rem;font-weight:700;line-height:1.15}
.socials{display:flex;gap:9px;margin-top:12px;flex-wrap:wrap}
.socials a{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;color:#fff;transition:.3s var(--ease)}
.socials a:hover{transform:translateY(-4px) rotate(-9deg);filter:brightness(1.12)}
.socials svg{width:18px;height:18px}
.foot-mascots{display:flex;align-items:flex-end;justify-content:flex-end;gap:6px}
/* sized by HEIGHT, not width — Divya's artwork is narrower, so equal widths
   made her tower over Gajju */
.foot-mascots{align-items:flex-end;gap:10px;padding-right:86px}
@media(max-width:900px){.foot-mascots{padding-right:0;justify-content:flex-start}}
.foot-mascots .fm{position:relative;height:132px;width:auto;
  filter:drop-shadow(0 8px 16px rgba(107,15,34,.22))}
.foot-mascots .fm picture{display:block;height:100%}
.foot-mascots img{height:100%;width:auto;display:block}
.foot-bot{margin-top:30px;border-top:1px solid rgba(107,15,34,.16);padding:16px 0 22px;display:flex;
  flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:center;font-size:.74rem;color:var(--ink-soft)}
.foot-bot nav{display:flex;gap:16px;flex-wrap:wrap}
.foot-bot a:hover{color:var(--maroon)}

/* ============ 14b. LIVE BAND — the festival band, not a plain cream strip ============ */
#live{
  background:linear-gradient(180deg,#081029 0%,#0c1836 38%,#180d2e 76%,#210f2b 100%);
  border-block:1px solid rgba(232,180,74,.30);
  padding-top:clamp(44px,5vw,72px)!important;
  overflow:hidden;isolation:isolate}
#live::before{content:"";position:absolute;inset:0;z-index:-2;pointer-events:none;
  background:
    radial-gradient(ellipse 46% 48% at 6% -6%,rgba(232,180,74,.17),transparent 62%),
    radial-gradient(ellipse 44% 46% at 96% 6%,rgba(172,26,54,.30),transparent 66%),
    radial-gradient(ellipse 62% 42% at 50% 106%,rgba(232,180,74,.12),transparent 70%)}
#live::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.55;
  background:repeating-linear-gradient(135deg,transparent 0 26px,rgba(232,180,74,.055) 26px 27px)}

#live .sec-head h2{color:#fff}
#live .sec-head h2 em{color:var(--gold)}
#live .sec-head h2::after{content:"";display:block;width:104px;height:2px;margin-top:13px;
  border-radius:2px;background:linear-gradient(90deg,var(--gold),rgba(232,180,74,0))}
#live .sec-head p{color:#a9b6d1}
#live .sec-head .kicker{color:var(--gold)}
#live .link-all{color:var(--gold-lt);border-bottom-color:rgba(232,180,74,.45)}
#live .link-all:hover{border-bottom-color:var(--gold)}

#live .card{border-color:rgba(232,180,74,.34);box-shadow:0 20px 48px rgba(0,0,0,.45)}
#live .card:hover{box-shadow:0 28px 64px rgba(0,0,0,.58),0 0 0 1px rgba(232,180,74,.55)}
.live-card{background:linear-gradient(165deg,#0e1c44,#2b0c22)}
/* gold viewfinder corners on the player */
.player::before,.player::after{content:"";position:absolute;width:32px;height:32px;z-index:3;
  border:2px solid rgba(232,180,74,.85);pointer-events:none;transition:.3s var(--ease)}
.player::before{top:11px;left:11px;border-right:0;border-bottom:0;border-radius:9px 0 0 0}
.player::after{top:11px;right:11px;border-left:0;border-bottom:0;border-radius:0 9px 0 0}
.player:hover::before{top:7px;left:7px}
.player:hover::after{top:7px;right:7px}
.player .meta .viewers{background:rgba(0,0,0,.45);border:1px solid rgba(232,180,74,.35);
  padding:4px 11px;border-radius:20px;backdrop-filter:blur(5px)}

#live .tile{border:1px solid rgba(232,180,74,.20)}
#live .tile:hover{border-color:rgba(232,180,74,.62);box-shadow:0 22px 48px rgba(0,0,0,.55)}
#live .gajju{box-shadow:0 20px 48px rgba(0,0,0,.5),0 0 0 1px rgba(232,180,74,.3)}

/* the plan row reads as a lit card resting on the dark band */
#live .plan-box{background:linear-gradient(158deg,#fdf7e9,#f5e8cf);
  border:1px solid rgba(232,180,74,.55);box-shadow:0 24px 56px rgba(0,0,0,.45)}
#live .plan{box-shadow:0 2px 10px rgba(10,23,64,.08)}
#live .cdown{box-shadow:0 24px 56px rgba(0,0,0,.5),0 0 0 1px rgba(232,180,74,.32)}
#live .live-strip button{border-color:rgba(255,255,255,.12)}


/* ============ 16. SAVARI RAIL + COUNTDOWN DOCK ============ */
.savari{position:fixed;left:0;right:0;bottom:0;z-index:130;height:76px;pointer-events:none;
  background:linear-gradient(180deg,rgba(9,14,34,0),rgba(9,14,34,.86) 38%,rgba(6,10,26,.97));
  border-top:1px solid rgba(232,180,74,.28);backdrop-filter:blur(6px);
  transform:translateY(100%);opacity:0;transition:transform .5s var(--ease),opacity .4s}
.savari.on{transform:none;opacity:1}
.savari .end{position:absolute;bottom:15px;display:flex;align-items:center;gap:8px;
  font-size:10.5px;letter-spacing:.18em;color:#F8DFA6;white-space:nowrap;
  text-shadow:0 1px 2px rgba(18,10,24,.7)}
.savari .end i{width:6px;height:6px;border-radius:50%;font-style:normal}
.savari .l{left:22px}.savari .r{right:22px}
.savari .l i{background:#E9BC63;box-shadow:0 0 8px #E9BC63}
.savari .r i{background:#B3316B;box-shadow:0 0 8px #B3316B}
.savari .track{position:absolute;left:118px;right:150px;bottom:19px;height:2px;
  background:rgba(233,188,99,.22)}
.savari .fill{position:absolute;left:0;top:0;height:2px;width:0;border-radius:2px;
  background:linear-gradient(90deg,rgba(233,188,99,.3),#E9BC63);box-shadow:0 0 6px #E9BC63}
.savari .stop{position:absolute;top:-3px;width:8px;height:8px;border-radius:50%;background:rgba(233,188,99,.45)}
.savari .caravan{position:absolute;bottom:1px;left:0;display:flex;align-items:flex-end;will-change:transform}
.savari .caravan span{display:block;animation:walk 1.15s ease-in-out infinite}
.savari .caravan span:nth-child(1){width:58px;height:58px}
.savari .caravan span:nth-child(2){width:47px;height:47px;margin-left:-7px;animation-delay:.18s}
.savari .caravan span:nth-child(3){width:41px;height:41px;margin-left:-6px;animation-delay:.36s}
.savari .caravan img{width:100%;height:100%;object-fit:contain;object-position:bottom;
  filter:drop-shadow(0 1px 2px rgba(0,0,0,.55))}
@keyframes walk{0%,100%{transform:translateY(0) rotate(-.6deg)}50%{transform:translateY(-2px) rotate(.6deg)}}
@media(max-width:760px){
  .savari{height:60px}
  .savari .track{left:14px;right:14px;bottom:14px}
  .savari .end{display:none}
  .savari .caravan span:nth-child(1){width:44px;height:44px}
  .savari .caravan span:nth-child(2){width:36px;height:36px}
  .savari .caravan span:nth-child(3){width:31px;height:31px}
}
/* sticky countdown dock */
.dock{position:fixed;left:50%;bottom:88px;z-index:135;
  /* translateY alone is a percentage of the pill's OWN height (~75px), which is
     less than `bottom`, so it never actually left the screen — hide it properly */
  transform:translate(-50%,140%);opacity:0;visibility:hidden;pointer-events:none;
  /* visibility is deliberately NOT transitioned — any duration or delay on it
     leaves it stuck on the old value whenever animation frames are throttled */
  transition:transform .55s var(--ease),opacity .35s var(--ease);
  display:flex;align-items:center;gap:14px;
  padding:9px 10px 9px 18px;border-radius:999px;
  background:linear-gradient(135deg,rgba(94,13,30,.96),rgba(140,20,40,.96));
  border:1px solid rgba(232,180,74,.45);box-shadow:0 16px 40px rgba(0,0,0,.5);
  color:#fff;white-space:nowrap;max-width:calc(100vw - 24px)}
.dock.on{transform:translate(-50%,0);opacity:1;visibility:visible;pointer-events:auto;
  transition:transform .55s var(--ease),opacity .35s var(--ease)}
.dock b{font-family:var(--head);color:var(--gold-lt);font-size:.74rem;letter-spacing:.18em}
.dock .nums{display:flex;gap:6px;font-variant-numeric:tabular-nums}
.dock .nums span{background:rgba(0,0,0,.28);border:1px solid rgba(232,180,74,.28);
  border-radius:9px;padding:4px 8px;font-size:.82rem;font-weight:700;color:var(--gold-lt)}
.dock .nums span i{font-style:normal;font-size:.56rem;opacity:.7;margin-left:2px}
.dock a{background:linear-gradient(135deg,var(--gold),#f2c669);color:#3a2400;font-weight:800;
  font-size:.76rem;padding:8px 16px;border-radius:999px;transition:.25s var(--ease)}
.dock a:hover{filter:brightness(1.07)}
.dock .x{width:26px;height:26px;border-radius:50%;border:1px solid rgba(255,255,255,.28);
  color:#f3e2c4;display:grid;place-items:center;font-size:.8rem;flex:none}
.dock .x:hover{background:rgba(255,255,255,.14)}
@media(max-width:760px){
  .dock{bottom:70px;gap:9px;padding:7px 8px 7px 13px}
  .dock b{display:none}
  .dock .nums span{padding:3px 6px;font-size:.74rem}
  .dock a{padding:7px 12px;font-size:.7rem}
}
@media print{.savari,.dock{display:none!important}}


/* ---- live venue map ---- */
#gmap{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .5s var(--ease)}
/* real Google map — the no-key embed, so it works without any configuration */
.lmap{position:absolute;inset:0;z-index:2;background:#0a1428}
.leaflet-container{background:#0a1428;font:inherit}
.leaflet-attribution-flag{width:1em!important;height:.6669em!important;display:inline!important}

.leaflet-control-attribution{background:rgba(8,16,32,.8)!important;color:#8d9ab8!important;font-size:11px}
.leaflet-control-attribution a{color:#c0cbe4!important}
.leaflet-bar,.leaflet-bar a{background:#0f1c3a!important;color:#e8dcbe!important;border-color:rgba(232,180,74,.3)!important}
.leaflet-bar a:hover{background:#182647!important}
.venue-mk{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;
  background:linear-gradient(150deg,var(--gold),#c9962f);color:#2c1c04;
  font-family:var(--head);font-weight:700;font-size:.86rem;border:2.5px solid #fff8e6;
  box-shadow:0 4px 12px rgba(0,0,0,.55)}
.venue-mk.on{background:linear-gradient(150deg,#ff5f5f,#c81d1d);color:#fff;transform:scale(1.18)}
.leaflet-popup-content-wrapper{background:#fffdf6;color:#20160c;border-radius:12px}
.leaflet-popup-content{margin:10px 14px;font-family:var(--body);font-size:.8rem}
.leaflet-popup-content b{font-family:var(--head);color:var(--maroon);display:block;margin-bottom:2px}
.leaflet-popup-content a{color:var(--maroon);font-weight:700}
#gmapEmbed{position:absolute;inset:0;width:100%;height:100%;border:0;z-index:2;
  /* the keyless embed can't be styled through the API, so the rendered frame is
     inverted and hue-corrected back to a night palette that matches the band */
  filter:invert(92%) hue-rotate(185deg) saturate(.62) brightness(.94) contrast(1.06)}
/* warm navy wash so the map sits in the section rather than on top of it */
.mapbox:not(.live)::after{content:"";position:absolute;inset:0;z-index:3;pointer-events:none;
  background:linear-gradient(160deg,rgba(12,24,58,.30),rgba(28,12,44,.34));
  mix-blend-mode:multiply}
.mapbox:not(.live)::before{content:"";position:absolute;inset:0;z-index:4;pointer-events:none;
  box-shadow:inset 0 0 90px rgba(6,10,26,.55);border-radius:var(--r-l)}
.mapbox .hot{display:none}          /* hotspots belonged to the illustrated map */
.mapbox>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
/* with an API key the styled JS map takes over and the plain embed steps aside */
.mapbox.live #gmap{opacity:1;visibility:visible;z-index:3}
.mapbox.live #gmapEmbed{display:none}
.map-legend{position:absolute;left:14px;bottom:14px;z-index:5;display:none;align-items:center;gap:9px;
  background:rgba(8,14,34,.86);border:1px solid rgba(232,180,74,.4);border-radius:999px;
  padding:7px 15px;font-size:.7rem;letter-spacing:.05em;color:#f0e2c4;backdrop-filter:blur(6px)}
.mapbox.live .map-legend{display:flex}
.map-legend .rt{width:22px;height:3px;border-radius:3px;
  background:linear-gradient(90deg,var(--gold-dp),var(--gold-lt))}
/* gold numbered pin */
.gpin{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;
  background:linear-gradient(150deg,var(--gold),#c9962f);color:#2c1c04;
  font-family:var(--head);font-weight:700;font-size:.92rem;
  border:2.5px solid #fff8e6;box-shadow:0 4px 14px rgba(0,0,0,.55);cursor:pointer;
  transition:transform .25s var(--ease)}
.gpin:hover,.gpin.on{transform:scale(1.22);background:linear-gradient(150deg,#ff5f5f,#c81d1d);color:#fff}
.gpop{font-family:var(--body);min-width:190px}
.gpop b{display:block;font-family:var(--head);font-size:.95rem;color:var(--maroon);margin-bottom:3px}
.gpop small{display:block;color:#5b4a33;font-size:.76rem;margin-bottom:8px}
.gpop a{display:inline-flex;align-items:center;gap:6px;background:var(--navy);color:#ffe6b4;
  font-size:.72rem;font-weight:700;padding:6px 12px;border-radius:20px}
/* directions button on each venue row */
.venue .go-dir{margin-left:auto;flex:none;width:32px;height:32px;border-radius:50%;
  display:grid;place-items:center;border:1px solid rgba(232,180,74,.4);color:var(--gold-lt);
  transition:.24s var(--ease)}
.venue .go-dir:hover{background:var(--gold);color:#2c1c04;border-color:var(--gold);transform:scale(1.1)}
.venue .go-dir svg{width:15px;height:15px}

/* ============ 15. UTILITIES / OVERLAYS ============ */
.js .reveal{opacity:0;transform:translateY(28px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.js .reveal.in{opacity:1;transform:none}
.js .reveal[data-d="1"]{transition-delay:.09s}.js .reveal[data-d="2"]{transition-delay:.18s}
.js .reveal[data-d="3"]{transition-delay:.27s}.js .reveal[data-d="4"]{transition-delay:.36s}
.prog{position:fixed;top:0;left:0;height:3px;z-index:150;width:0;
  background:linear-gradient(90deg,var(--gold-dp),var(--gold),var(--maroon))}
.search-ov{position:fixed;inset:0;z-index:200;background:rgba(8,14,34,.93);backdrop-filter:blur(9px);
  opacity:0;visibility:hidden;transition:.35s;display:grid;place-items:start center;padding:14vh 20px}
.search-ov.on{opacity:1;visibility:visible}
.search-in{width:min(680px,100%)}
.search-in form{display:flex;gap:10px;background:#fff;border-radius:30px;padding:6px;box-shadow:var(--sh-l)}
.search-in input{flex:1;border:0;height:52px;padding:0 22px;font-size:1rem;background:transparent;min-width:0}
.search-in input:focus{outline:none}
.search-in button[type=submit]{background:linear-gradient(135deg,var(--gold),#f2c669);color:#3a2400;
  border-radius:26px;padding:0 26px;font-weight:800}
.search-in .hints{margin-top:18px;display:flex;gap:8px;flex-wrap:wrap}
.search-in .hints button{background:rgba(255,255,255,.12);color:#eadfc6;font-size:.78rem;padding:7px 15px;
  border-radius:20px;border:1px solid rgba(255,255,255,.2);transition:.25s}
.search-in .hints button:hover{background:var(--gold);color:#3a2400}
.sr-out{margin-top:16px;background:#fff;border-radius:var(--r-m);overflow:hidden;box-shadow:var(--sh-l);display:none}
.sr-out.on{display:block}
.sr-out a{display:block;padding:13px 20px;border-bottom:1px solid #f0e6d2;font-size:.85rem}
.sr-out a:hover{background:var(--cream-2)}
.sr-out a b{color:var(--maroon)}
.sr-out .none{padding:18px 20px;color:var(--ink-soft);font-size:.85rem}
.toast{position:fixed;left:50%;bottom:26px;transform:translate(-50%,80px);z-index:400;background:var(--navy);
  color:#fff;padding:13px 24px;border-radius:30px;font-size:.84rem;box-shadow:var(--sh-l);
  opacity:0;transition:.4s var(--ease);display:flex;align-items:center;gap:10px;max-width:90vw}
.toast.on{opacity:1;transform:translate(-50%,0)}
.toast b{color:var(--gold-lt)}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;
    transition-duration:.001ms!important;scroll-behavior:auto!important}
  .js .reveal{opacity:1;transform:none}
}
/* print / no-animation safety: never hide content */
@media print{
  .js .reveal{opacity:1!important;transform:none!important}
  #loader,.ticker,.search-ov,.lb,.drawer,.scrim,.prog{display:none!important}
  .hdr{position:static}
  body{background:#fff}
}

/* ============ DESIGN LAYER ==============================================
   Palette and type taken from the approved dasara build: Marcellus over Jost,
   a plum-black ground, #E9BC63 gold, and the gold-to-rose gradient that the
   headline is built on. The site runs dark end to end, as that build does.
   ===================================================================== */

/* ---- 1. PALETTE ------------------------------------------------------ */
:root{
  --k-950:#080310; --k-900:#0B0511; --k-850:#100716; --k-800:#12081A;
  --k-750:#170B20; --k-700:#1E1029;
  --g:#E9BC63; --g-lt:#F8DFA6; --g-hi:#FFF0C9; --g-dp:#A9772E;
  --rose:#B3316B; --rose-lt:#E58BB4; --wine:#3A0D1E;
  --cr:#F7F0E4; --cr-hi:#FFF6E4; --cr-dim:rgba(247,240,228,.62);
  --cr-faint:rgba(247,240,228,.58);
  --mint:#9BE3C9; --coral:#FF8A8A;
  --hair:rgba(233,188,99,.16); --hair-2:rgba(247,240,228,.09);
  /* the signature: gold running into rose */
  --grad-head:linear-gradient(100deg,var(--g) 0%,var(--g-lt) 34%,#F3C9A8 62%,var(--rose-lt) 88%,var(--rose) 100%);
  --grad-gold:linear-gradient(135deg,var(--g-lt),var(--g) 46%,var(--g-dp));
}
html,body{background:var(--k-900)}
body{color:var(--cr);font-family:var(--body);letter-spacing:.002em}
p{font-family:var(--body);font-size:.95rem;line-height:1.8;color:var(--cr-dim);font-weight:300}
h1,h2,h3,h4,h5{font-family:var(--display);font-weight:400;text-wrap:balance}
p{text-wrap:pretty}
.sec-pad{padding:clamp(44px,6vw,80px) 0;background:var(--k-900);position:relative}
.sec-pad>*{position:relative;z-index:1}
#schedule{background:var(--k-850)!important}
#gallery{background:var(--k-900)}
.band{background:linear-gradient(155deg,var(--k-850),var(--wine) 140%)}
.band::before{opacity:.10}

/* ---- 2. TYPE --------------------------------------------------------- */
.h-title{font-family:var(--display);font-weight:400;line-height:.96;letter-spacing:.004em;
  font-size:clamp(3rem,7vw,6.4rem);margin:0 0 18px;
  background:var(--grad-head);-webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 10px 40px rgba(0,0,0,.6))}
.h-title span{display:block}
@supports not ((-webkit-background-clip:text) or (background-clip:text)){
  .h-title{background:none;color:var(--g-lt)}}
.sec-head h2{font-family:var(--display);font-weight:400;letter-spacing:.004em;
  font-size:clamp(2rem,4.6vw,3.4rem);line-height:1.08;color:var(--cr-hi);margin-top:14px}
.sec-head h2 em{font-style:normal;background:var(--grad-head);
  -webkit-background-clip:text;background-clip:text;color:transparent}
.sec-head p{font-size:.96rem;line-height:1.8;max-width:52ch;margin-top:14px;color:var(--cr-dim)}
.sec-head .kicker{font-family:var(--ui);font-weight:400;font-size:.63rem;letter-spacing:.32em;
  text-transform:uppercase;color:var(--g);gap:12px}
.sec-head .kicker::before,.sec-head .kicker::after{width:30px;height:1px;background:var(--g-dp)}
.h-sub{font-family:var(--ui);font-weight:300;letter-spacing:.24em;color:var(--cr-dim);
  font-size:clamp(.72rem,1.05vw,.86rem);text-shadow:0 2px 14px rgba(0,0,0,.8)}
.h-date b{font-family:var(--display);color:var(--g-lt)}
/* wide-tracked capitals and all UI stay on the sans */
.ldr b,.ldr small,.stat span,.tile .tag,.ev .cat,.gal-filter button,.rail a span,
.dock .lbl,.foot h5,.nowcard h3,.now .lbl,.now-more,.link-all,.btn-gold,.btn-official,
.btn-ghost,.day-nav button,.tk-track,.ticker .tag,.live-tag,.venue small,.map-legend,
.chip,.foot-bot,.nav>li>a,.nav>li>button,.pill,.badge,.plan b,.plan small,
.gajju-top small,.chips button{font-family:var(--ui)}
.stat b,.ev .t,.cd b,.venue .n,[data-count]{font-variant-numeric:tabular-nums lining-nums}

/* ---- 3. SECTION FRAME ------------------------------------------------ */
.sec-head{display:grid;grid-template-columns:1fr;margin-bottom:clamp(34px,4vw,54px);align-items:end}
@media(min-width:900px){
  .sec-head{grid-template-columns:minmax(0,1fr) auto;gap:40px}
  .sec-head>a.link-all{justify-self:end;align-self:end;padding-bottom:6px}}
.orn{display:flex;align-items:center;justify-content:center;gap:18px;
  padding:0 0 clamp(30px,4vw,48px);color:var(--g);opacity:.8}
.orn::before,.orn::after{content:"";height:1px;flex:1;max-width:280px;
  background:linear-gradient(90deg,transparent,var(--hair))}
.orn::after{background:linear-gradient(270deg,transparent,var(--hair))}
.orn svg{width:30px;height:30px;flex:none}
.orn .no{font-family:var(--display);font-size:.94rem;letter-spacing:.14em;color:var(--g-dp)}
.band .sec-head h2{color:var(--cr-hi)}
.band .sec-head p{color:var(--cr-dim)}
.band .sec-head .kicker{color:var(--g)}
/* the fringe now marks a tonal step, not a colour flip */
.arch{position:relative;z-index:2;height:20px;line-height:0;pointer-events:none;--bump:64px;--rise:20px}
.arch-top{margin-bottom:-1px;background:var(--k-850);
  -webkit-mask:radial-gradient(calc(var(--bump)/2) var(--rise) at 50% 100%,#000 99.4%,transparent 100%) repeat-x 0 100%;
  mask:radial-gradient(calc(var(--bump)/2) var(--rise) at 50% 100%,#000 99.4%,transparent 100%) repeat-x 0 100%;
  -webkit-mask-size:var(--bump) 100%;mask-size:var(--bump) 100%}
.arch-bot{margin-top:-1px;background:var(--wine);
  -webkit-mask:radial-gradient(calc(var(--bump)/2) var(--rise) at 50% 0,#000 99.4%,transparent 100%) repeat-x 0 0;
  mask:radial-gradient(calc(var(--bump)/2) var(--rise) at 50% 0,#000 99.4%,transparent 100%) repeat-x 0 0;
  -webkit-mask-size:var(--bump) 100%;mask-size:var(--bump) 100%}
@media(max-width:700px){.arch{height:14px;--bump:44px;--rise:14px}}

/* ---- 4. SURFACES: every light panel becomes a lit panel -------------- */
.card{color:var(--cr)}
.rail{background:var(--k-800);border:1px solid var(--hair);box-shadow:0 18px 44px -32px #000}
.rail a span{color:var(--cr-dim)} .rail a:hover span{color:var(--g-lt)}
.rail a svg{color:var(--g)}
.plan-box{background:var(--k-850);border:1px solid var(--hair)}
.plan{background:var(--k-800);border:1px solid var(--hair-2)}
.plan:hover{background:var(--k-750);border-color:var(--hair)}
.plan b{color:var(--cr-hi)} .plan small{color:var(--cr-dim)}
.plan .ic{color:var(--g)}
.day-nav button{background:var(--k-800);border:1px solid var(--hair);color:var(--cr-dim);
  font-family:var(--ui);font-weight:300}
.day-nav button:hover{border-color:var(--g-dp);color:var(--cr-hi)}
.day-nav button.on{background:var(--wine);border-color:var(--g);color:var(--g-lt)}
.news{background:rgba(255,255,255,.05);border:1px solid var(--hair)}
.news input{color:var(--cr)} .news input::placeholder{color:var(--cr-faint)}
.search-in form{background:var(--k-800);border:1px solid var(--hair)}
.search-in input{color:var(--cr)}
.sr-out{background:var(--k-800);border:1px solid var(--hair)}
.sr-out a:hover{background:var(--k-750)}
.leaflet-popup-content-wrapper{background:var(--k-800);color:var(--cr)}
.leaflet-popup-tip{background:var(--k-800)}

/* ---- 5. SCHEDULE ------------------------------------------------------ */
.sched{position:relative;padding-left:clamp(0px,2vw,26px)}
.ev{background:transparent;border:0;border-radius:0;grid-template-columns:92px 1fr auto;
  padding:20px 18px 20px 0;border-bottom:1px solid var(--hair-2);align-items:start;position:relative}
.ev::before{content:"";position:absolute;left:-13px;top:27px;width:7px;height:7px;border-radius:50%;
  background:var(--g);box-shadow:0 0 0 4px rgba(233,188,99,.14);opacity:0;transition:.3s var(--ease)}
@media(min-width:900px){.ev::before{opacity:1}
  .sched::before{content:"";position:absolute;left:-10px;top:14px;bottom:14px;width:1px;
    background:linear-gradient(180deg,transparent,var(--hair) 12%,var(--hair) 88%,transparent)}}
.ev:hover{transform:none;box-shadow:none;background:rgba(233,188,99,.045)}
.ev:hover::before{background:var(--rose-lt);box-shadow:0 0 0 5px rgba(179,49,107,.22)}
.ev:last-child{border-bottom:0}
.ev .t{font-family:var(--display);font-size:1.2rem;color:var(--g-lt);line-height:1.1}
.ev .t small{font-family:var(--ui);font-size:.57rem;letter-spacing:.2em;font-weight:300;
  color:var(--cr-faint);margin-top:3px}
.ev h4{font-family:var(--display);font-size:1.22rem;font-weight:400;line-height:1.3;color:var(--cr-hi)}
.ev p{font-size:.78rem;margin-top:5px;color:var(--cr-dim)}
.ev .cat{font-family:var(--ui);font-weight:400;letter-spacing:.16em;font-size:.54rem;padding:6px 12px;
  background:transparent;border:1px solid var(--hair);color:var(--g);border-radius:20px}
.ev[data-cat="Procession"] .cat{border-color:rgba(179,49,107,.5);color:var(--rose-lt);background:transparent}
.ev[data-cat="Culture"] .cat{border-color:rgba(155,227,201,.34);color:var(--mint);background:transparent}
.ev.now{background:rgba(179,49,107,.09);border-left:0}

/* ---- 6. STATS + VENUES ------------------------------------------------ */
.stats{gap:0;border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);
  margin-top:clamp(40px,5vw,64px)!important}
.stat{background:transparent;border:0;border-radius:0;padding:clamp(26px,3.4vw,40px) 16px;position:relative}
.stat+.stat::before{content:"";position:absolute;left:0;top:24%;height:52%;width:1px;background:var(--hair)}
.stat:hover{background:rgba(233,188,99,.05);transform:none}
.stat b{font-family:var(--display);font-size:clamp(2.3rem,5vw,3.5rem);color:var(--g-lt);letter-spacing:.006em}
.stat span{font-family:var(--ui);font-weight:300;font-size:.62rem;letter-spacing:.26em;
  color:var(--cr-faint);margin-top:11px}
.venue{background:transparent;border:0;border-bottom:1px solid var(--hair-2);border-radius:0;
  padding:16px 6px;gap:16px}
.venue:hover,.venue.on{background:rgba(233,188,99,.06);transform:translateX(4px);
  border-bottom-color:var(--hair)}
.venue:last-child{border-bottom:0}
button.venue{text-align:left;width:100%;font:inherit;color:inherit;cursor:pointer} .venue>span:not(.n):not(.dir){flex:1;min-width:0}
.venue .n{background:transparent;border:1px solid var(--g-dp);font-family:var(--display);
  font-size:1rem;color:var(--g-lt);width:38px;height:38px}
.venue.on .n,.venue:hover .n{background:var(--g);color:#241505;border-color:var(--g)}
.venue b{font-family:var(--display);font-size:1.06rem;color:var(--cr-hi)}
.venue small{font-family:var(--ui);font-size:.72rem;color:var(--cr-dim)}

/* ---- 7. GALLERY ------------------------------------------------------- */
@media(min-width:900px){
  .gal{columns:auto;display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:172px;
    grid-auto-flow:row dense;gap:14px}
  .gal figure{margin:0;height:100%;min-height:0}
  .gal figure:nth-child(1){grid-column:span 2;grid-row:span 2}
  .gal figure img{height:100%;width:100%;object-fit:cover}}
@media(min-width:900px) and (max-width:1179px){
  .gal{grid-template-columns:repeat(3,1fr)}
  .gal figure:nth-child(6){grid-row:span 2}}
.gal figure{border-radius:2px;box-shadow:none;border:0}
.gal figure figcaption{font-family:var(--ui);font-weight:300;letter-spacing:.05em;font-size:.7rem}
.gal figure::after{background:rgba(11,5,17,.9);color:var(--g-lt)}
.gal-filter{gap:0;margin-bottom:30px;border-bottom:1px solid var(--hair-2)}
.gal-filter button{font-family:var(--ui);font-weight:300;letter-spacing:.14em;font-size:.7rem;
  text-transform:uppercase;border:0;border-bottom:1px solid transparent;border-radius:0;
  padding:9px 4px;margin-right:26px;color:var(--cr-faint);background:transparent}
.gal-filter button:hover{color:var(--cr);transform:none;border-bottom-color:var(--hair)}
.gal-filter button.on{background:transparent;color:var(--g-lt);border-bottom-color:var(--g)}

/* ---- 8. LINKS, BUTTONS, ACCENTS --------------------------------------- */
.link-all{font-family:var(--ui);font-weight:400;font-size:.72rem;letter-spacing:.16em;
  text-transform:uppercase;color:var(--g-lt);border-bottom:1px solid var(--hair);padding-bottom:5px}
.link-all:hover{border-bottom-color:var(--g);color:var(--g-hi)}
.btn-gold,.btn-official{font-family:var(--ui);font-weight:500;letter-spacing:.12em;
  text-transform:uppercase;font-size:.76rem;background:var(--grad-gold);color:#241505;
  position:relative;overflow:hidden;isolation:isolate}
.btn-gold::after,.btn-official::after{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(105deg,transparent 34%,rgba(255,255,255,.6) 50%,transparent 66%);
  transform:translateX(-135%);transition:transform .9s var(--ease)}
.btn-gold:hover::after,.btn-official:hover::after{transform:translateX(135%)}
.btn-ghost{font-family:var(--ui);font-weight:400;letter-spacing:.12em;text-transform:uppercase;
  font-size:.74rem;border-color:var(--hair);color:var(--cr)}
.btn-ghost:hover{border-color:var(--g);background:rgba(233,188,99,.1)}
.ticker{background:linear-gradient(90deg,var(--wine),var(--k-850))}
.ticker .tag{background:var(--g);color:#241505}
.tk-track{color:var(--cr-dim)}
.foil-rim{position:relative}
.foil-rim::after{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;
  background:var(--grad-gold);opacity:.5;pointer-events:none;
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;transition:opacity .4s var(--ease)}
.foil-rim:hover::after{opacity:.92}

/* ---- 9. FOOTER -------------------------------------------------------- */
.foot{background:linear-gradient(170deg,var(--k-850),var(--k-950));border-top:0;
  padding-top:clamp(52px,6vw,84px);position:relative;color:var(--cr-dim)}
.foot::before{content:"";position:absolute;inset:0 0 auto;height:1px;opacity:.6;
  background:linear-gradient(90deg,transparent,var(--g) 22%,var(--g) 78%,transparent)}
.foot-grid{gap:clamp(28px,4vw,56px)}
@media(min-width:900px){.foot-grid>*+*{padding-left:clamp(24px,3vw,46px);
  border-left:1px solid var(--hair-2)}}
.foot h5{font-family:var(--ui);font-weight:400;font-size:.63rem;letter-spacing:.3em;
  text-transform:uppercase;color:var(--g);margin-bottom:18px}
.foot p{color:var(--cr-dim);font-size:.86rem}
.foot li a{font-family:var(--ui);font-weight:300;font-size:.84rem;color:var(--cr-dim);padding:6px 0}
.foot li a:hover{color:var(--g-lt)}
.news button{font-family:var(--ui);font-weight:500;letter-spacing:.14em;font-size:.7rem;
  text-transform:uppercase;background:var(--grad-gold);color:#241505;border-radius:0}
.store{background:rgba(255,255,255,.05);border:1px solid var(--hair-2);border-radius:4px}
.store:hover{background:rgba(255,255,255,.1);border-color:var(--hair);box-shadow:none}
.store small,.store b{font-family:var(--ui)}
.socials a{border:1px solid var(--hair-2)}
.foot-bot{border-top:1px solid var(--hair-2);color:var(--cr-faint);font-family:var(--ui);
  font-weight:300;font-size:.76rem}
.foot-bot a{color:var(--cr-dim)}.foot-bot a:hover{color:var(--g-lt)}
.foot-bot b,.foot-bot strong{color:var(--g-lt);font-weight:400;font-family:var(--display)}

/* ---- 10. FESTIVE ------------------------------------------------------ */

::selection{background:var(--g);color:#241505}
:focus-visible{outline:2px solid var(--g);outline-offset:3px;
  box-shadow:0 0 0 6px rgba(233,188,99,.2);border-radius:4px}
@media(min-width:1024px){
  *{scrollbar-width:thin;scrollbar-color:rgba(233,188,99,.4) transparent}
  ::-webkit-scrollbar{width:10px;height:10px}
  ::-webkit-scrollbar-thumb{background:rgba(233,188,99,.36);border-radius:20px;
    border:3px solid var(--k-900)}
  ::-webkit-scrollbar-track{background:transparent}}
.js .h-title span{animation:riseIn 1.05s var(--ease) both}
.js .h-title span:nth-child(1){animation-delay:.12s}
.js .h-title span:nth-child(2){animation-delay:.26s}
@keyframes riseIn{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
@media print{body{background:#fff;color:#000}}
@media(prefers-reduced-motion:reduce){
  .js .h-title span{animation:none}
  .btn-gold::after,.btn-official::after{display:none}}

/* the plan cards and the day strip kept their light-theme ink — navy titles and
   maroon links on a plum panel measured 1.1–2.3 against the ground */
.plan h4{font-family:var(--ui);font-weight:500;letter-spacing:.14em;color:var(--cr-hi)}
.plan p{color:var(--cr-dim)}
.plan a{font-family:var(--ui);font-weight:400;letter-spacing:.1em;text-transform:uppercase;
  font-size:.66rem;color:var(--g-lt)}
.plan:hover a{color:var(--g-hi)}
.plan .ic{background:rgba(233,188,99,.12);color:var(--g)}
.day-nav button b{font-family:var(--display);color:var(--cr-hi);font-weight:400}
.day-nav button small{color:var(--cr-faint)}
.day-nav button.on b{color:var(--g-lt)}
.day-nav button.on small{color:rgba(248,223,166,.7)}
.day-nav button i{color:var(--rose-lt);font-weight:400;font-family:var(--ui);letter-spacing:.08em}
.day-nav button.on i{color:var(--g)}

/* #live-scoped rules outrank the class-level layer above, so the light panel
   inside the Happening Now section has to be answered at the same specificity */
#live .plan-box{background:linear-gradient(158deg,var(--k-850),var(--k-800));
  border:1px solid var(--hair)}
#live .plan{background:var(--k-750);border:1px solid var(--hair-2);
  box-shadow:0 8px 22px -16px #000}
#live .plan:hover{background:#1D0F27;border-color:var(--hair)}
#live .sec-head p{color:var(--cr-dim)}
#live .sec-head h2::after{background:var(--grad-head)}

/* ---- venues band: a decorated ground with its own firework sky ---------- */
#fxVenues{position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.85}
#venues{position:relative;overflow:hidden;
  background:
    radial-gradient(130% 90% at 50% -18%,rgba(179,49,107,.30),transparent 62%),
    radial-gradient(90% 70% at 12% 108%,rgba(233,188,99,.13),transparent 60%),
    linear-gradient(158deg,var(--k-850) 0%,#1A0A22 42%,var(--wine) 132%)}
/* a fine jaali lattice, then a soft vignette so the centre stays readable */
#venues::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.5;
  background-image:
    repeating-linear-gradient(45deg,transparent 0 26px,rgba(233,188,99,.16) 26px 27px),
    repeating-linear-gradient(-45deg,transparent 0 26px,rgba(233,188,99,.10) 26px 27px)}
#venues::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:radial-gradient(78% 62% at 50% 46%,transparent 30%,rgba(8,3,16,.62) 100%)}
#venues>.wrap{position:relative;z-index:1}

/* ---- footer: the app-store buttons gave way to the concierge --------- */
.foot-ask{display:flex;align-items:flex-end;gap:14px;margin-top:14px;flex-wrap:wrap}
.foot-ask .foot-mascots{padding-right:0;justify-content:flex-start;flex:none}
.foot-ask .foot-mascots .fm{height:118px}
.foot-chat{flex:1 1 210px;min-width:0;display:flex;gap:8px;align-items:center;
  background:rgba(255,255,255,.05);border:1px solid var(--hair);border-radius:30px;padding:5px 5px 5px 6px}
.foot-chat input{flex:1;min-width:0;height:40px;border:0;background:transparent;padding:0 12px;
  font-family:var(--ui);font-weight:300;font-size:.82rem;color:var(--cr)}
.foot-chat input::placeholder{color:var(--cr-faint)}
.foot-chat input:focus{outline:none}
.foot-chat:focus-within{border-color:var(--g);box-shadow:0 0 0 4px rgba(233,188,99,.16)}
.foot-chat button{width:40px;height:40px;flex:none;border-radius:50%;display:grid;place-items:center;
  background:var(--grad-gold);color:#241505;transition:.26s var(--ease)}
.foot-chat button:hover{transform:scale(1.08) rotate(-8deg)}
.foot-chat button svg{width:18px;height:18px}
@media(max-width:560px){.foot-ask{gap:10px}.foot-ask .foot-mascots .fm{height:92px}}

/* ---- schedule: a sticky stream fills the empty right-hand column ------ */
.sched-grid{display:grid;gap:clamp(22px,3vw,42px)}
@media(min-width:1080px){
  .sched-grid{grid-template-columns:minmax(0,1fr) 330px;align-items:start}
  .sched-live{position:sticky;top:calc(var(--hdr) + 22px)}
}
.sched-live{min-width:0}
.sched-live-in{background:linear-gradient(165deg,var(--k-800),var(--k-750));
  border:1px solid var(--hair);border-radius:var(--r-l);padding:14px;
  box-shadow:0 22px 54px -34px #000}
.sched-live-in h3{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px;
  font-family:var(--display);font-size:1.02rem;color:var(--g-lt)}
.slv{display:block;position:relative;width:100%;border-radius:var(--r-m);overflow:hidden;
  aspect-ratio:16/10;background:#000;cursor:pointer}
.slv img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.slv:hover img{transform:scale(1.05)}
.slv .pl{position:absolute;inset:0;margin:auto;width:56px;height:56px;border-radius:50%;
  background:rgba(255,255,255,.94);display:grid;place-items:center;transition:.3s var(--ease)}
.slv .pl::after{content:"";border-left:16px solid var(--wine);border-top:10px solid transparent;
  border-bottom:10px solid transparent;margin-left:4px}
.slv:hover .pl{transform:scale(1.1);background:#fff}
.slv-cam{position:absolute;left:9px;bottom:9px;font-family:var(--ui);font-weight:300;
  font-size:.66rem;letter-spacing:.04em;color:var(--cr);background:rgba(8,3,16,.66);
  padding:5px 10px;border-radius:20px;backdrop-filter:blur(6px)}
.slv-cap{font-size:.78rem;line-height:1.6;margin-top:11px;color:var(--cr-dim)}
.slv-cap a{color:var(--g-lt);border-bottom:1px solid var(--hair)}
.slv-meta{display:flex;align-items:center;gap:8px;margin-top:10px;padding-top:10px;
  border-top:1px solid var(--hair-2);font-family:var(--ui);font-weight:300;font-size:.72rem;
  color:var(--cr-dim)}
.slv-meta b{color:var(--cr-hi);font-weight:400;font-variant-numeric:tabular-nums}
.slv-meta .dot{width:7px;height:7px;border-radius:50%;background:var(--live);
  box-shadow:0 0 0 0 rgba(224,32,32,.6);animation:lvpulse 1.9s infinite}
@keyframes lvpulse{70%{box-shadow:0 0 0 7px rgba(224,32,32,0)}100%{box-shadow:0 0 0 0 rgba(224,32,32,0)}}
@media(prefers-reduced-motion:reduce){.slv-meta .dot{animation:none}}

/* ---- gallery: a play badge marks the video tiles --------------------- */
.gal figure .vplay{position:absolute;inset:0;margin:auto;width:54px;height:54px;border-radius:50%;
  background:rgba(8,3,16,.55);border:1px solid rgba(255,255,255,.6);display:grid;place-items:center;
  backdrop-filter:blur(4px);transition:.3s var(--ease);pointer-events:none;z-index:2}
.gal figure .vplay::after{content:"";border-left:15px solid #fff;border-top:9px solid transparent;
  border-bottom:9px solid transparent;margin-left:4px}
.gal figure:hover .vplay{transform:scale(1.12);background:rgba(233,188,99,.9);border-color:var(--g)}
.gal figure:hover .vplay::after{border-left-color:#241505}
.gal figure[data-yt]::after{display:none}
.gal figure picture{display:block;height:100%}
/* ---- lightbox: video ------------------------------------------------- */
.lbvid{width:min(92vw,1180px);aspect-ratio:16/9;background:#000;border-radius:10px;overflow:hidden;
  box-shadow:0 30px 80px rgba(0,0,0,.7)}
.lbvid iframe{width:100%;height:100%;border:0;display:block}
.lb .cap{font-family:var(--ui);font-weight:300;letter-spacing:.03em}

/* ---- hero mascots: names and a single quiet chat cue ------------------ */
.hs-mascot{overflow:visible}
.mname{position:absolute;left:50%;bottom:-2px;transform:translateX(-50%);
  font-family:var(--ui);font-weight:400;font-size:.6rem;letter-spacing:.24em;
  text-transform:uppercase;color:var(--g-lt);white-space:nowrap;pointer-events:none;
  padding:3px 11px;border-radius:20px;background:rgba(8,3,16,.55);
  border:1px solid rgba(233,188,99,.34);backdrop-filter:blur(5px);
  text-shadow:0 1px 6px rgba(0,0,0,.85);z-index:2}
.mask-cue{position:absolute;left:50%;top:-14px;transform:translateX(-50%);
  display:inline-flex;align-items:center;gap:7px;white-space:nowrap;z-index:3;
  font-family:var(--ui);font-weight:400;font-size:.66rem;letter-spacing:.06em;
  color:#241505;background:var(--grad-gold);padding:6px 13px;border-radius:20px;
  box-shadow:0 8px 22px -10px rgba(0,0,0,.85);transition:.3s var(--ease);
  animation:cueBob 3.6s var(--ease) infinite}
.mask-cue svg{width:13px;height:13px;flex:none}
.mask-cue::after{content:"";position:absolute;left:50%;bottom:-5px;margin-left:-5px;
  border-top:6px solid var(--g);border-left:5px solid transparent;border-right:5px solid transparent}
.mask-cue:hover{box-shadow:0 12px 30px -10px rgba(233,188,99,.75)}
@keyframes cueBob{0%,100%{margin-top:0}50%{margin-top:-5px}}
@media(max-width:860px){.mask-cue span{display:none}.mask-cue{padding:7px 9px;top:-10px}
  .mname{font-size:.54rem;letter-spacing:.18em;padding:2px 8px}}
@media(prefers-reduced-motion:reduce){.mask-cue{animation:none}}

/* ---- map markers: numbered pin plus the venue name --------------------- */
.venue-pin{display:flex!important;align-items:center;gap:7px;width:auto!important;
  height:auto!important;white-space:nowrap;cursor:pointer}
.venue-lbl{font-family:var(--ui);font-weight:400;font-size:.68rem;letter-spacing:.02em;
  color:var(--cr-hi);background:rgba(8,3,16,.82);border:1px solid rgba(233,188,99,.36);
  padding:4px 10px;border-radius:20px;backdrop-filter:blur(6px);
  box-shadow:0 6px 16px -8px #000;transition:.25s var(--ease)}
.venue-pin:hover .venue-lbl,.venue-pin .venue-mk.on+.venue-lbl{
  background:var(--g);color:#241505;border-color:var(--g)}
@media(max-width:640px){.venue-lbl{display:none}}

/* ---- hero mascots: museum-caption name plaques, whole figure clickable -- */
.hs-mascot{overflow:visible}
.mhit{position:absolute;inset:0;z-index:3;background:transparent;border:0;cursor:pointer;
  border-radius:14px;transition:.3s var(--ease)}
.mhit:hover,.mhit:focus-visible{background:radial-gradient(60% 55% at 50% 60%,rgba(233,188,99,.18),transparent 70%)}
.mname{position:absolute;left:50%;bottom:-9px;transform:translateX(-50%);z-index:4;
  display:inline-flex;align-items:center;gap:6px;white-space:nowrap;pointer-events:none;
  font-family:var(--ui);font-weight:400;font-size:.58rem;letter-spacing:.26em;
  text-transform:uppercase;color:var(--g-lt);
  padding:4px 12px;border-radius:20px;background:rgba(8,3,16,.62);
  border:1px solid rgba(233,188,99,.26);backdrop-filter:blur(6px);
  text-shadow:0 1px 6px rgba(0,0,0,.9);transition:.3s var(--ease)}
/* a hairline tick ties the plaque to the figure above it */
.mname::before{content:"";position:absolute;left:50%;top:-9px;width:1px;height:9px;
  background:linear-gradient(rgba(233,188,99,.05),rgba(233,188,99,.7))}
.mname .mchat{width:11px;height:11px;flex:none;color:var(--g)}
.hs-mascot:hover .mname{background:var(--grad-gold);color:#241505;border-color:var(--g);
  box-shadow:0 8px 22px -10px rgba(233,188,99,.8)}
.hs-mascot:hover .mname .mchat{color:#241505}
@media(max-width:860px){.mname{font-size:.5rem;letter-spacing:.16em;padding:3px 9px;bottom:-7px}
  .mname .mchat{width:9px;height:9px}}

/* ---- floating concierge ---------------------------------------------- */
.gw{position:fixed;right:18px;bottom:22px;z-index:160;display:flex;flex-direction:column;
  align-items:flex-end;gap:12px;
  /* hidden by default; the scroll handler reveals it past the hero and hides
     it again over the footer, exactly as the countdown dock behaves */
  opacity:0;visibility:hidden;pointer-events:none;transform:translateY(16px);
  transition:opacity .35s var(--ease),transform .45s var(--ease)}
.gw.on{opacity:1;visibility:visible;pointer-events:auto;transform:none}
.gw.open{pointer-events:auto}
.gw-btn{position:relative;width:62px;height:62px;border-radius:50%;flex:none;cursor:pointer;
  background:linear-gradient(160deg,#5e0d1e,#8b1a1a 55%,#3f0a18);
  border:1.5px solid rgba(233,188,99,.6);overflow:visible;
  box-shadow:0 14px 34px -12px #000,0 0 0 0 rgba(233,188,99,.5);
  transition:.32s var(--ease)}
.gw-btn picture{display:block;width:100%;height:100%;overflow:hidden;border-radius:50%}
.gw-btn img{width:118%;height:118%;object-fit:cover;object-position:50% 14%;
  transform:translate(-8%,-4%)}
.gw-btn:hover{transform:translateY(-3px) scale(1.05);border-color:var(--g);
  box-shadow:0 18px 40px -12px #000,0 0 26px -6px rgba(233,188,99,.55)}
.gw-ping{position:absolute;right:1px;top:1px;width:13px;height:13px;border-radius:50%;
  background:var(--mint);border:2px solid #1a0a12;animation:gwPing 2.4s infinite}
@keyframes gwPing{0%,100%{box-shadow:0 0 0 0 rgba(155,227,201,.7)}60%{box-shadow:0 0 0 9px rgba(155,227,201,0)}}
.gw-x{position:absolute;inset:0;display:grid;place-items:center;opacity:0;
  transition:opacity .25s var(--ease);border-radius:50%;background:rgba(8,3,16,.72)}
.gw-x::before,.gw-x::after{content:"";position:absolute;width:19px;height:1.6px;
  background:var(--g-lt);border-radius:2px}
.gw-x::before{transform:rotate(45deg)} .gw-x::after{transform:rotate(-45deg)}
.gw.open .gw-x{opacity:1}
.gw.open .gw-ping{opacity:0}

.gw-panel{width:min(88vw,368px);max-height:min(74vh,560px);display:flex;flex-direction:column;
  background:linear-gradient(168deg,var(--k-800),var(--k-750));
  border:1px solid rgba(233,188,99,.34);border-radius:20px;overflow:hidden;
  box-shadow:0 34px 80px -28px #000,inset 0 1px 0 rgba(255,255,255,.06);
  transform-origin:100% 100%;animation:gwIn .34s var(--ease)}
@keyframes gwIn{from{opacity:0;transform:translateY(14px) scale(.94)}}
.gw-head{display:flex;align-items:center;gap:11px;padding:13px 14px;
  background:linear-gradient(150deg,#5e0d1e,#3f0a18);border-bottom:1px solid rgba(233,188,99,.24)}
.gw-av{width:38px;height:38px;border-radius:50%;flex:none;overflow:hidden;
  border:1.5px solid rgba(233,188,99,.55);background:#2a0a14}
.gw-av img{width:120%;height:120%;object-fit:cover;object-position:50% 12%;transform:translate(-9%,-4%)}
.gw-id{display:flex;flex-direction:column;line-height:1.25;min-width:0}
.gw-id b{font-family:var(--display);font-weight:400;font-size:1.02rem;color:var(--g-lt)}
.gw-id small{font-family:var(--ui);font-weight:300;font-size:.66rem;color:var(--cr-dim);
  display:flex;align-items:center;gap:6px}
.gw-id small i{width:6px;height:6px;border-radius:50%;background:var(--mint);flex:none}
.gw-close{margin-left:auto;width:30px;height:30px;border-radius:50%;flex:none;cursor:pointer;
  color:var(--cr-dim);font-size:.8rem;transition:.25s var(--ease)}
.gw-close:hover{background:rgba(255,255,255,.1);color:var(--cr-hi)}
.gw-log{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:9px;
  min-height:150px}
.gw-log .b{max-width:86%;padding:10px 13px;border-radius:14px;font-family:var(--ui);
  font-weight:300;font-size:.82rem;line-height:1.6;animation:gwPop .3s var(--ease) both}
@keyframes gwPop{from{opacity:0;transform:translateY(7px)}}
.gw-log .b.bot{align-self:flex-start;background:rgba(255,255,255,.07);color:var(--cr);
  border:1px solid var(--hair-2);border-bottom-left-radius:5px}
.gw-log .b.me{align-self:flex-end;background:var(--grad-gold);color:#241505;font-weight:400;
  border-bottom-right-radius:5px}
.gw-log .b b{font-weight:600;color:var(--g-lt)}
.gw-log .b.me b{color:#241505}
.gw-log .b.typing{display:flex;gap:5px;padding:13px}
.gw-log .b.typing i{width:6px;height:6px;border-radius:50%;background:var(--g);
  animation:gwDot 1.1s infinite}
.gw-log .b.typing i:nth-child(2){animation-delay:.16s}
.gw-log .b.typing i:nth-child(3){animation-delay:.32s}
@keyframes gwDot{0%,60%,100%{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}
.gw-chips{display:flex;gap:7px;overflow-x:auto;padding:0 14px 11px;scrollbar-width:none}
.gw-chips::-webkit-scrollbar{display:none}
.gw-chips button{flex:none;font-family:var(--ui);font-weight:300;font-size:.7rem;
  padding:7px 13px;border-radius:20px;border:1px solid var(--hair);color:var(--cr-dim);
  background:transparent;cursor:pointer;white-space:nowrap;transition:.25s var(--ease)}
.gw-chips button:hover{border-color:var(--g);color:var(--g-lt);background:rgba(233,188,99,.1)}
.gw-form{display:flex;gap:8px;align-items:center;padding:11px 12px;
  border-top:1px solid var(--hair-2);background:rgba(0,0,0,.22)}
.gw-form input{flex:1;min-width:0;height:40px;border:0;border-radius:20px;padding:0 14px;
  background:rgba(255,255,255,.07);color:var(--cr);font-family:var(--ui);font-weight:300;
  font-size:.82rem}
.gw-form input::placeholder{color:var(--cr-faint)}
.gw-form input:focus{outline:none;box-shadow:0 0 0 2px rgba(233,188,99,.45)}
.gw-form button{width:40px;height:40px;flex:none;border-radius:50%;display:grid;place-items:center;
  background:var(--grad-gold);color:#241505;cursor:pointer;transition:.26s var(--ease)}
.gw-form button:hover{transform:scale(1.08) rotate(-8deg)}
.gw-form button svg{width:18px;height:18px}
@media(max-width:520px){
  .gw{right:12px;bottom:14px;left:12px;align-items:flex-end}
  .gw-panel{width:100%}
  .gw-btn{width:56px;height:56px}}
@media(prefers-reduced-motion:reduce){
  .gw-ping,.gw-log .b.typing i{animation:none}
  .gw-panel{animation:none}}

/* .hs-stage sets pointer-events:none so the scene never eats page clicks —
   the mascots have to opt back in for their hit area to receive any */
.hs-mascot{pointer-events:auto}
.mhit{pointer-events:auto}
.hs-mascot picture,.hs-mascot img{pointer-events:none}
/* the hero copy column sits above the cast on z-index and was swallowing every
   click in its empty space — only its actual controls need to be hit targets */
.hero .wrap{pointer-events:none}
.hero .wrap a,.hero .wrap button,.hero .wrap input,
.hero .wrap .nowcard,.hero .wrap .h-date{pointer-events:auto}

/* when the footer's own chat field is on screen, lift the floating button
   clear of it rather than sitting on top */

/* ---- footer: a single entry point into the same concierge -------------- */
.foot-chat{display:flex;align-items:center;gap:12px;width:100%;max-width:340px;cursor:pointer;
  text-align:left;padding:12px 14px;border-radius:16px;
  background:rgba(255,255,255,.05);border:1px solid var(--hair);
  transition:.28s var(--ease)}
.foot-chat:hover{background:rgba(233,188,99,.1);border-color:var(--g);transform:translateY(-2px)}
.fcb-ic{width:38px;height:38px;flex:none;border-radius:12px;display:grid;place-items:center;
  background:rgba(233,188,99,.14);color:var(--g)}
.fcb-ic svg{width:19px;height:19px}
.fcb-t{display:flex;flex-direction:column;line-height:1.3;min-width:0}
.fcb-t b{font-family:var(--display);font-weight:400;font-size:1rem;color:var(--cr-hi)}
.fcb-t small{font-family:var(--ui);font-weight:300;font-size:.72rem;color:var(--cr-dim)}
.fcb-go{width:16px;height:16px;margin-left:auto;flex:none;color:var(--g);
  transition:transform .28s var(--ease)}
.foot-chat:hover .fcb-go{transform:translateX(4px)}

/* The UA rule for [hidden] is display:none at zero specificity, so any class
   that sets display — .gw-panel{display:flex}, .mapx{display:grid} — silently
   outranks it and the element never hides. Settle it once, globally. */
[hidden]{display:none!important}

/* ---- ported from mysuru.html so both pages share one component --------- */
/* ---- emergency & helplines -------------------------------------------- */
.em{background:linear-gradient(180deg,var(--k-900),var(--k-850))}
.em .link-all{color:#FFB3B3;border-bottom-color:rgba(255,138,138,.4)}
.em .link-all:hover{color:#fff;border-bottom-color:#FF8A8A}

/* the numbers */
.em-nums{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(224px,1fr));
  margin-bottom:clamp(26px,3.4vw,40px)}
.em-num{display:flex;align-items:center;gap:13px;padding:15px 16px;border-radius:16px;
  background:var(--k-800);border:1px solid var(--hair-2);transition:.28s var(--ease);
  position:relative;overflow:hidden}
.em-num:hover{transform:translateY(-4px);border-color:var(--tone,var(--g));
  box-shadow:0 20px 44px -24px #000}
.em-num .ic{width:42px;height:42px;flex:none;border-radius:13px;display:grid;place-items:center;
  background:color-mix(in srgb,var(--tone,#E9BC63) 16%,transparent);color:var(--tone,#E9BC63)}
.em-num .ic svg{width:21px;height:21px}
.em-num .tx{min-width:0;display:flex;flex-direction:column;line-height:1.25}
.em-num .num{font-family:var(--display);font-weight:400;font-size:1.5rem;color:var(--cr-hi);
  letter-spacing:.01em;font-variant-numeric:tabular-nums}
.em-num .lbl{font-family:var(--ui);font-weight:400;font-size:.8rem;color:var(--cr)}
.em-num .sub{font-family:var(--ui);font-weight:300;font-size:.7rem;color:var(--cr-dim);margin-top:2px}
/* the all-in-one number leads */
.em-num.lead{background:linear-gradient(150deg,#5E1420,#3A0D1E 78%);border-color:rgba(255,138,138,.42)}
.em-num.lead .num{font-size:1.9rem;color:#FFD9D9}
.em-num.lead .ic{background:rgba(255,138,138,.18);color:#FF8A8A}
@media(min-width:900px){.em-num.lead{grid-column:span 2}}

/* map + list */
.em-grid{display:grid;gap:clamp(14px,2vw,22px)}
@media(min-width:960px){.em-grid{grid-template-columns:1.4fr 1fr;align-items:stretch}}
.em-mapwrap{position:relative;border-radius:var(--r-l);overflow:hidden;
  border:1px solid var(--hair);background:var(--k-800);min-height:420px}
.em-map{position:absolute;inset:0;background:var(--k-850)}
.em-filter{position:absolute;left:56px;top:12px;z-index:900;display:flex;gap:6px;
  flex-wrap:wrap;max-width:calc(100% - 132px)}
.em-filter button{display:inline-flex;align-items:center;gap:6px;font-family:var(--ui);
  font-weight:300;font-size:.7rem;padding:6px 11px;border-radius:20px;cursor:pointer;
  background:rgba(8,3,16,.82);border:1px solid var(--hair);color:var(--cr-dim);
  backdrop-filter:blur(6px);transition:.22s var(--ease)}
.em-filter button svg{width:13px;height:13px;color:var(--dot,var(--g))}
.em-filter button:hover{color:var(--cr-hi);border-color:var(--g-dp)}
.em-filter button.on{background:var(--g);color:#241505;border-color:var(--g)}
.em-filter button.on svg{color:#241505}
.em-pin{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;
  background:var(--k-900);border:2px solid var(--pc,#E9BC63);
  box-shadow:0 6px 16px rgba(0,0,0,.6);cursor:pointer;transition:.2s var(--ease)}
.em-pin svg{width:15px;height:15px;color:var(--pc,#E9BC63)}
.em-pin:hover,.em-pin.on{background:var(--pc,#E9BC63);transform:scale(1.14)}
.em-pin:hover svg,.em-pin.on svg{color:#0B0511}

.em-list{display:flex;flex-direction:column;gap:9px;max-height:520px;overflow-y:auto;
  padding-right:4px}
.em-item{display:flex;align-items:flex-start;gap:12px;padding:13px 14px;border-radius:14px;
  background:var(--k-800);border:1px solid var(--hair-2);cursor:pointer;text-align:left;
  transition:.24s var(--ease);width:100%}
.em-item:hover,.em-item.on{background:rgba(233,188,99,.08);border-color:var(--hair);
  transform:translateX(3px)}
.em-item .ic{width:34px;height:34px;flex:none;border-radius:11px;display:grid;place-items:center;
  background:color-mix(in srgb,var(--tone,#E9BC63) 15%,transparent);color:var(--tone,#E9BC63)}
.em-item .ic svg{width:17px;height:17px}
.em-item .tx{min-width:0;flex:1}
.em-item b{display:block;font-family:var(--display);font-weight:400;font-size:1rem;
  color:var(--cr-hi);line-height:1.25}
.em-item small{display:block;font-family:var(--ui);font-weight:300;font-size:.72rem;
  color:var(--cr-dim);margin-top:2px}
.em-item .tel{display:inline-flex;align-items:center;gap:5px;margin-top:6px;font-family:var(--ui);
  font-weight:400;font-size:.72rem;color:var(--g-lt);border-bottom:1px solid var(--hair)}
.em-item .tel svg{width:12px;height:12px}


/* Leaflet chrome, matched to the page */
.em .leaflet-container{background:var(--k-850);font-family:var(--ui)}
.em .leaflet-popup-content-wrapper{background:var(--k-800);color:var(--cr);border-radius:12px;
  border:1px solid var(--hair)}
.em .leaflet-popup-tip{background:var(--k-800)}
.em .leaflet-popup-content{margin:12px 14px;font-family:var(--ui);font-weight:300;font-size:.78rem}
.em .leaflet-popup-content b{font-family:var(--display);font-weight:400;font-size:1rem;
  color:var(--cr-hi);display:block;margin-bottom:3px}
.em .leaflet-popup-content a{color:var(--g-lt);border-bottom:1px solid var(--hair)}
.em .leaflet-control-zoom a{background:var(--k-800);color:var(--cr);border-color:var(--hair)}
.em .leaflet-control-zoom a:hover{background:var(--k-750);color:var(--g-lt)}
.em .leaflet-control-attribution{background:rgba(8,3,16,.72);color:var(--cr-faint)}
.em .leaflet-control-attribution a{color:var(--cr-dim)}
.em .leaflet-attribution-flag{width:1em!important;height:.6669em!important;display:inline!important}
@media(max-width:640px){.em-mapwrap{min-height:340px}.em-list{max-height:none}}


/* ---- ported from mysuru.html: one attractions component across both --- */
/* ---- attractions map: a list beside a map, opened as an overlay -------- */
.mapx-open{display:flex;align-items:center;gap:14px;width:100%;max-width:520px;cursor:pointer;
  text-align:left;margin:0 0 clamp(22px,3vw,32px);padding:15px 18px;border-radius:18px;
  background:linear-gradient(150deg,var(--k-800),var(--k-750));
  border:1px solid rgba(233,188,99,.34);transition:.28s var(--ease)}
.mapx-open:hover{transform:translateY(-3px);border-color:var(--g);
  box-shadow:0 22px 46px -24px #000,0 0 30px -16px rgba(233,188,99,.5)}
.mo-ic{width:44px;height:44px;flex:none;border-radius:14px;display:grid;place-items:center;
  background:rgba(233,188,99,.14);color:var(--g)}
.mo-ic svg{width:22px;height:22px}
.mo-t{display:flex;flex-direction:column;line-height:1.3;min-width:0}
.mo-t b{font-family:var(--display);font-weight:400;font-size:1.08rem;color:var(--cr-hi)}
.mo-t small{font-family:var(--ui);font-weight:300;font-size:.75rem;color:var(--cr-dim)}
.mo-go{width:17px;height:17px;margin-left:auto;flex:none;color:var(--g);
  transition:transform .28s var(--ease)}
.mapx-open:hover .mo-go{transform:translateX(4px)}

.mapx{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:clamp(10px,3vw,34px);
  background:rgba(4,2,9,.82);backdrop-filter:blur(6px);animation:mapxFade .28s var(--ease)}
@keyframes mapxFade{from{opacity:0}}
.mapx-in{width:min(1180px,100%);max-height:min(88vh,860px);display:flex;flex-direction:column;
  border-radius:22px;overflow:hidden;background:var(--k-850);
  border:1px solid rgba(233,188,99,.34);box-shadow:0 40px 100px -30px #000;
  animation:mapxIn .32s var(--ease)}
@keyframes mapxIn{from{opacity:0;transform:translateY(16px) scale(.98)}}
.mapx-head{display:flex;align-items:center;gap:16px;padding:16px 20px;
  background:linear-gradient(150deg,#241436,var(--k-800));
  border-bottom:1px solid var(--hair)}
.mapx-kick{display:block;font-family:var(--ui);font-weight:400;font-size:.6rem;
  letter-spacing:.3em;text-transform:uppercase;color:var(--g)}
.mapx-head h3{font-family:var(--display);font-weight:400;font-size:clamp(1.1rem,2.2vw,1.5rem);
  color:var(--cr-hi);margin-top:4px;letter-spacing:.004em}
.mapx-x{margin-left:auto;width:36px;height:36px;flex:none;border-radius:50%;cursor:pointer;
  color:var(--cr-dim);font-size:.9rem;transition:.24s var(--ease)}
.mapx-x:hover{background:rgba(255,255,255,.1);color:var(--cr-hi)}
.mapx-body{flex:1;min-height:0;display:grid;grid-template-rows:minmax(0,1fr)}
@media(min-width:860px){.mapx-body{grid-template-columns:390px minmax(0,1fr);grid-template-rows:none}}
.mapx-list{overflow-y:auto;border-bottom:1px solid var(--hair-2);max-height:38vh}
@media(min-width:860px){.mapx-list{max-height:none;border-bottom:0;border-right:1px solid var(--hair-2)}}
.mx-item{display:flex;gap:13px;width:100%;text-align:left;cursor:pointer;padding:15px 18px;
  border-bottom:1px solid var(--hair-2);transition:.22s var(--ease);background:transparent}
.mx-item:last-child{border-bottom:0}
.mx-item:hover,.mx-item.on{background:rgba(233,188,99,.07)}
.mx-item .ic{width:38px;height:38px;flex:none;border-radius:50%;display:grid;place-items:center;
  background:color-mix(in srgb,var(--tone,#E9BC63) 18%,transparent);color:var(--tone,#E9BC63);
  border:1px solid color-mix(in srgb,var(--tone,#E9BC63) 45%,transparent)}
.mx-item .ic svg{width:18px;height:18px}
.mx-item .tx{min-width:0}
.mx-item b{display:block;font-family:var(--display);font-weight:400;font-size:1.06rem;
  color:var(--cr-hi);line-height:1.25}
.mx-item p{font-family:var(--ui);font-weight:300;font-size:.78rem;line-height:1.6;
  color:var(--cr-dim);margin-top:4px}
.mx-item .go{display:inline-flex;align-items:center;gap:6px;margin-top:9px;font-family:var(--ui);
  font-weight:400;font-size:.72rem;color:var(--g-lt)}
.mx-item .go svg{width:12px;height:12px}
.mapx-map{min-height:300px;background:var(--k-850)}
.mx-pin{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;
  background:var(--k-900);border:2px solid var(--pc,#E9BC63);
  box-shadow:0 6px 18px rgba(0,0,0,.65);cursor:pointer;transition:.2s var(--ease)}
.mx-pin svg{width:17px;height:17px;color:var(--pc,#E9BC63)}
.mx-pin:hover,.mx-pin.on{background:var(--pc,#E9BC63);transform:scale(1.15)}
.mx-pin:hover svg,.mx-pin.on svg{color:#0B0511}
.mapx .leaflet-container{background:var(--k-850);font-family:var(--ui)}
.mapx .leaflet-popup-content-wrapper{background:var(--k-800);color:var(--cr);border-radius:12px;
  border:1px solid var(--hair)}
.mapx .leaflet-popup-tip{background:var(--k-800)}
.mapx .leaflet-popup-content{margin:12px 14px;font-family:var(--ui);font-weight:300;font-size:.78rem}
.mapx .leaflet-popup-content b{font-family:var(--display);font-weight:400;font-size:1rem;
  color:var(--cr-hi);display:block;margin-bottom:3px}
.mapx .leaflet-popup-content a{color:var(--g-lt);border-bottom:1px solid var(--hair)}
.mapx .leaflet-control-zoom a{background:var(--k-800);color:var(--cr);border-color:var(--hair)}
.mapx .leaflet-control-attribution{background:rgba(8,3,16,.72);color:var(--cr-faint)}
.mapx .leaflet-attribution-flag{width:1em!important;height:.6669em!important;display:inline!important}
@media(prefers-reduced-motion:reduce){.mapx,.mapx-in{animation:none}}

/* ============ end design layer ============ */

/* ============================================================
   INNER PAGES — shared additions
   Everything above is the approved home page's stylesheet, copied verbatim so
   the inner pages inherit its exact look. Below: the pieces only inner pages
   need — a page header band, article typography, and content components.
   ============================================================ */
body{background:var(--k-900)}
main{display:block}

/* page header band */
.ph{position:relative;overflow:hidden;min-height:min(56vh,640px);display:flex;align-items:center;
  padding:calc(var(--hdr) + clamp(36px,4.6vw,60px)) 0 clamp(36px,4.6vw,60px);
  background:linear-gradient(178deg,#04091e 0%,#08122f 40%,#160d31 74%,#280f25 100%)}
/* the page image, treated like the home hero sky: plum wash, lit from below, fading into the page */
.ph-bg{position:absolute;inset:0;z-index:0;overflow:hidden}
.ph-bg picture,.ph-bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 38%;display:block;overflow:hidden}
.ph-bg img{opacity:.42;filter:blur(16px) saturate(1.15);transform:scale(1.08)}
.ph-bg::before{content:"";position:absolute;inset:0;z-index:1;background:
  linear-gradient(90deg,rgba(11,5,17,.94) 0%,rgba(11,5,17,.72) 38%,rgba(11,5,17,.28) 70%,rgba(11,5,17,.45) 100%),
  linear-gradient(180deg,rgba(11,5,17,.55) 0%,rgba(11,5,17,0) 30%,rgba(11,5,17,.35) 70%,var(--k-900) 100%)}
.ph-bg::after{content:"";position:absolute;inset:0;z-index:1;background:
  radial-gradient(ellipse 120% 70% at 50% 108%,rgba(255,184,80,.22),transparent 60%),
  radial-gradient(60% 50% at 10% 100%,rgba(179,49,107,.18),transparent 60%)}
.ph::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:radial-gradient(90% 70% at 50% -10%,rgba(179,49,107,.18),transparent 60%)}
.ph::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;opacity:.22;
  background-image:repeating-linear-gradient(45deg,transparent 0 26px,rgba(233,188,99,.10) 26px 27px),
    repeating-linear-gradient(-45deg,transparent 0 26px,rgba(233,188,99,.06) 26px 27px)}
/* torana scallops along the bottom edge, as on the home page */
@media(max-width:700px){.ph{min-height:min(48vh,520px)}.ph-bg img{object-position:center 30%}}
.ph .wrap{position:relative;z-index:3;width:100%;display:grid;gap:clamp(22px,3vw,40px);align-items:center}
.ph-art{position:relative;margin:0;aspect-ratio:16/10;border-radius:22px;overflow:hidden;border:1px solid rgba(233,188,99,.32);
  background:var(--k-800);box-shadow:0 34px 70px -34px rgba(0,0,0,.9),0 0 0 6px rgba(233,188,99,.06)}
.ph-art picture,.ph-art img{width:100%;height:100%;object-fit:cover;display:block}
.ph-art::before,.ph-art::after{content:"";position:absolute;width:26px;height:26px;border:1px solid var(--g);pointer-events:none;z-index:2}
.ph-art::before{top:12px;left:12px;border-right:0;border-bottom:0} .ph-art::after{bottom:12px;right:12px;border-left:0;border-top:0}
.ph-art figcaption{position:absolute;left:0;right:0;bottom:0;padding:44px 18px 14px;font-family:var(--ui);font-weight:300;font-size:.78rem;letter-spacing:.02em;
  color:var(--cr);background:linear-gradient(180deg,transparent,rgba(11,5,17,.84))}
@media(min-width:900px){.ph .wrap{grid-template-columns:minmax(0,1fr) clamp(340px,36vw,560px)} .ph-art{aspect-ratio:4/3}}
.ph .crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-family:var(--ui);
  font-weight:300;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--cr-faint);
  margin-bottom:clamp(18px,2.4vw,28px)}
.ph .crumbs a{color:var(--cr-dim)} .ph .crumbs a:hover{color:var(--g-lt)}
.ph .crumbs i{font-style:normal;color:var(--g-dp)}
.ph .kicker{display:inline-flex;align-items:center;gap:12px;font-family:var(--ui);font-weight:400;
  font-size:.63rem;letter-spacing:.32em;text-transform:uppercase;color:var(--g)}
.ph .kicker::before{content:"";width:30px;height:1px;background:var(--g-dp)}
.ph h1{font-family:var(--display);font-weight:400;font-size:clamp(2.3rem,5.4vw,4.2rem);line-height:1.04;
  letter-spacing:.004em;color:var(--cr-hi);margin-top:14px;max-width:18ch}
.ph h1 em{font-style:normal;background:var(--grad-head);-webkit-background-clip:text;background-clip:text;color:transparent}
.ph .lede{font-family:var(--ui);font-weight:300;font-size:clamp(.98rem,1.4vw,1.12rem);line-height:1.75;
  color:var(--cr-dim);max-width:62ch;margin-top:16px}
.ph .ph-meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.ph .ph-meta span{display:inline-flex;align-items:center;gap:8px;font-family:var(--ui);font-weight:300;
  font-size:.74rem;padding:8px 14px;border-radius:20px;background:rgba(255,255,255,.05);
  border:1px solid var(--hair);color:var(--cr)}
.ph .ph-meta svg{width:14px;height:14px;color:var(--g)}
.ph .ph-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}

/* in-page section nav */
.subnav{position:sticky;top:var(--hdr);z-index:40;background:rgba(11,5,17,.86);backdrop-filter:blur(12px);
  border-top:1px solid var(--hair-2);border-bottom:1px solid var(--hair-2)}
.subnav .wrap{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;padding-block:6px}
.subnav .wrap::-webkit-scrollbar{display:none}
.subnav a{flex:none;font-family:var(--ui);font-weight:300;font-size:.72rem;letter-spacing:.12em;
  text-transform:uppercase;color:var(--cr-dim);padding:10px 14px;border-radius:20px;white-space:nowrap;
  transition:.22s var(--ease)}
.subnav a:hover{color:var(--cr-hi);background:rgba(255,255,255,.05)}
.subnav a.on{color:var(--g-lt);background:rgba(233,188,99,.12)}

/* article / prose */
.prose{max-width:74ch}
.prose p{font-family:var(--ui);font-weight:300;font-size:1rem;line-height:1.85;color:var(--cr);margin-bottom:1.1em}
.prose p.lead{font-size:1.14rem;color:var(--cr-hi);font-weight:300}
.prose h2,.prose h3{font-family:var(--display);font-weight:400;color:var(--cr-hi);margin:1.8em 0 .6em;letter-spacing:.004em}
.prose h2{font-size:clamp(1.5rem,2.6vw,2.05rem)} .prose h3{font-size:1.26rem;color:var(--g-lt)}
.prose ul,.prose ol{margin:0 0 1.2em 1.2em;font-family:var(--ui);font-weight:300;color:var(--cr)}
.prose li{margin-bottom:.45em;line-height:1.7} .prose ul{list-style:disc} .prose ol{list-style:decimal}
.prose blockquote{margin:1.6em 0;padding:18px 22px;border-left:2px solid var(--g);
  background:rgba(233,188,99,.06);font-family:var(--display);font-size:1.22rem;line-height:1.5;color:var(--g-lt)}
.prose blockquote cite{display:block;margin-top:8px;font-family:var(--ui);font-style:normal;font-size:.72rem;
  letter-spacing:.14em;text-transform:uppercase;color:var(--cr-dim)}
.prose a{color:var(--g-lt);border-bottom:1px solid var(--hair)} .prose a:hover{border-bottom-color:var(--g)}
.prose strong{color:var(--cr-hi);font-weight:500}
.dropcap::first-letter{font-family:var(--display);font-size:3.6em;float:left;line-height:.82;
  margin:.08em .12em 0 0;background:var(--grad-head);-webkit-background-clip:text;background-clip:text;color:transparent}

/* two-column article with an aside */
.art{display:grid;gap:clamp(28px,4vw,56px)}
@media(min-width:1020px){.art{grid-template-columns:minmax(0,1fr) clamp(340px,30vw,440px);align-items:start}
  .art>aside{position:sticky;top:calc(var(--hdr) + 70px)}}
.aside-card{background:linear-gradient(160deg,var(--k-800),var(--k-750));border:1px solid var(--hair);
  border-radius:var(--r-l);padding:clamp(20px,2vw,28px) clamp(22px,2.2vw,30px);margin-bottom:16px}
.aside-card h4{font-family:var(--ui);font-weight:400;font-size:.66rem;letter-spacing:.3em;text-transform:uppercase;
  color:var(--g);margin-bottom:16px}
.aside-card dl{display:grid;grid-template-columns:auto 1fr;gap:12px 18px;font-family:var(--ui);font-size:.92rem}
.aside-card dt{font-weight:300;color:var(--cr-dim)} .aside-card dd{color:var(--cr-hi);font-weight:400}
.aside-card ul{display:flex;flex-direction:column;gap:12px}
.aside-card li a{display:flex;align-items:center;gap:10px;font-family:var(--ui);font-weight:300;font-size:.94rem;color:var(--cr)}
.aside-card li a:hover{color:var(--g-lt)} .aside-card li a svg{width:14px;height:14px;color:var(--g);flex:none}
.aside-pic{padding:0;overflow:hidden;position:relative;aspect-ratio:4/3;margin:0 0 16px}
/* contact — secretariat block */
.office .kicker{display:inline-flex;align-items:center;gap:8px;font-family:var(--ui);font-weight:400;font-size:.66rem;letter-spacing:.28em;text-transform:uppercase;color:var(--g)}
.office .kicker::before{content:"";width:26px;height:1px;background:var(--g)}
.office h2{font-family:var(--display);font-weight:400;font-size:clamp(1.5rem,3vw,2.2rem);line-height:1.12;color:var(--cr-hi);margin:12px 0 14px;max-width:22ch}
.office h2 em{font-style:normal;background:var(--grad-head);-webkit-background-clip:text;background-clip:text;color:transparent}
.office .addr{font-family:var(--ui);font-weight:300;font-size:1rem;line-height:1.75;color:var(--cr-dim);margin-bottom:26px}
.ct-tiles{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr))}
@media(min-width:1020px){.ct-tiles{grid-template-columns:1fr 1fr}}
.ct-tiles a{display:flex;gap:14px;align-items:center;padding:16px 18px;border-radius:16px;background:var(--k-800);border:1px solid var(--hair-2);transition:.26s var(--ease)}
.ct-tiles a:hover{border-color:var(--g);background:var(--k-750);transform:translateY(-3px)}
.ct-tiles a>svg{width:42px;height:42px;padding:11px;flex:none;border-radius:50%;color:var(--g);background:rgba(233,188,99,.12);border:1px solid rgba(233,188,99,.3)}
.ct-tiles b{display:block;font-family:var(--display);font-weight:400;font-size:1.15rem;color:var(--cr-hi);line-height:1.15;font-variant-numeric:tabular-nums}
.ct-tiles small{display:block;font-family:var(--ui);font-weight:300;font-size:.76rem;color:var(--cr-dim);margin-top:4px}
.ct-hours{display:flex;gap:12px;align-items:flex-start;margin-top:18px;padding:14px 16px;border-radius:14px;border:1px dashed var(--hair);font-family:var(--ui);font-weight:300;font-size:.86rem;line-height:1.6;color:var(--cr-dim)}
.ct-hours svg{width:16px;height:16px;flex:none;color:var(--g);margin-top:3px}
.ct-soc{display:flex;flex-wrap:wrap;gap:8px}
.ct-soc a{padding:9px 14px;border-radius:999px;border:1px solid rgba(233,188,99,.35);font-family:var(--ui);font-size:.8rem;color:var(--cr-hi);transition:.24s var(--ease)}
.ct-soc a:hover{background:rgba(233,188,99,.14);border-color:var(--g)}
.aside-pic picture,.aside-pic img{width:100%;height:100%;object-fit:cover;display:block}
.aside-pic figcaption{position:absolute;left:0;right:0;bottom:0;padding:40px 18px 14px;font-family:var(--ui);font-weight:300;font-size:.8rem;color:var(--cr);
  background:linear-gradient(180deg,transparent,rgba(11,5,17,.86))}

/* timeline — single spine on phones, alternating two-sided from 900px */
.tl{position:relative;padding-left:28px}
.tl::before{content:"";position:absolute;left:8px;top:8px;bottom:8px;width:1px;
  background:linear-gradient(180deg,transparent,var(--g-dp) 6%,var(--g-dp) 94%,transparent);opacity:.55}
.tl-i{position:relative;padding:0 0 22px}
.tl-i::before{content:"";position:absolute;left:-24px;top:22px;width:9px;height:9px;border-radius:50%;
  background:var(--g);box-shadow:0 0 0 4px rgba(233,188,99,.16)}
.tl-i .in{background:var(--k-800);border:1px solid var(--hair-2);border-radius:16px;padding:18px 20px 16px;
  transition:.26s var(--ease)}
.tl-i:hover .in{border-color:var(--hair);transform:translateY(-3px)}
.tl-i .yr{font-family:var(--display);font-size:1.3rem;color:var(--g-lt);line-height:1}
.tl-i h3{font-family:var(--display);font-weight:400;font-size:1.2rem;color:var(--cr-hi);margin:6px 0 4px}
.tl-i p{font-family:var(--ui);font-weight:300;font-size:.9rem;line-height:1.7;color:var(--cr-dim)}
@media(min-width:900px){
  .tl{padding-left:0;display:flex;flex-direction:column;max-width:1080px;margin:0 auto}
  .tl::before{left:50%;top:0;bottom:0}
  .tl-i{width:50%;padding:0 clamp(28px,3.4vw,48px) 0 0;align-self:flex-start}
  .tl-i+.tl-i{margin-top:-28px}
  .tl-i:nth-child(even){align-self:flex-end;padding:0 0 0 clamp(28px,3.4vw,48px)}
  .tl-i::before{left:auto;right:-4.5px;top:26px;width:9px;height:9px}
  .tl-i:nth-child(even)::before{right:auto;left:-4.5px}
  .tl-i::after{content:"";position:absolute;top:30px;right:0;width:clamp(28px,3.4vw,48px);height:1px;background:var(--g-dp);opacity:.55}
  .tl-i:nth-child(even)::after{right:auto;left:0}
  .tl-i:nth-child(odd) .in{text-align:right}
  .tl-i .in{padding:20px 24px 18px}
  .tl-i .yr{font-size:1.5rem}
}
.tl-end{display:flex;justify-content:center;margin-top:clamp(28px,4vw,48px)}

/* live: procession tracker */
.trk{display:grid;gap:clamp(16px,2.4vw,28px);align-items:start}
.trk-map{position:relative;border-radius:var(--r-l);overflow:hidden;border:1px solid rgba(232,180,74,.35);min-height:clamp(320px,46vh,520px);background:var(--k-800)}
.trk-map .lmap{position:absolute;inset:0;z-index:1}
.trk-badge{position:absolute;top:14px;left:14px;z-index:5;display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:999px;background:rgba(11,5,17,.82);border:1px solid var(--hair);
  font-family:var(--ui);font-weight:400;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--cr)}
.trk-badge i{width:8px;height:8px;border-radius:50%;background:#7a7a7a} .trk-badge.on i{background:#ff4d4d;box-shadow:0 0 0 4px rgba(255,77,77,.25);animation:trkPulse 1.4s infinite}
@keyframes trkPulse{0%{box-shadow:0 0 0 0 rgba(255,77,77,.45)}100%{box-shadow:0 0 0 10px rgba(255,77,77,0)}}
.trk-lead{position:relative} .trk-lead i{position:absolute;inset:0;border-radius:50%;background:rgba(233,188,99,.25);animation:trkPulse 1.6s infinite}
.trk-lead b{position:absolute;inset:6px;border-radius:50%;background:var(--g);display:grid;place-items:center;font-size:18px;border:2px solid #fff;box-shadow:0 6px 18px rgba(0,0,0,.5)}
.venue-mk.trk-done{background:#1d1330;color:var(--g-lt);border:1.5px solid var(--g);box-shadow:0 0 0 3px rgba(233,188,99,.18)}
.trk-side{display:grid;gap:14px}
.trk-card{background:var(--k-800);border:1px solid var(--hair-2);border-radius:var(--r-l);padding:clamp(18px,2vw,24px)}
.trk-card .kicker{display:inline-flex;align-items:center;gap:8px;font-family:var(--ui);font-weight:400;font-size:.64rem;letter-spacing:.28em;text-transform:uppercase;color:var(--g);margin-bottom:10px}
.trk-card h3{font-family:var(--display);font-weight:400;font-size:1.25rem;color:var(--cr-hi);line-height:1.2}
.trk-seg{font-family:var(--ui);font-weight:300;font-size:.88rem;line-height:1.6;color:var(--cr-dim);margin:8px 0 14px}
.trk-bar{height:8px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden}
.trk-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--g-dp),var(--g-lt));border-radius:999px;transition:width .8s var(--ease)}
.trk-kv{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}
.trk-kv small{display:block;font-family:var(--ui);font-weight:300;font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;color:var(--cr-faint)}
.trk-kv b{display:block;font-family:var(--display);font-weight:400;font-size:1rem;color:var(--cr-hi);margin-top:3px;font-variant-numeric:tabular-nums}
.trk-cp{list-style:none;display:grid;gap:8px;margin:0;padding:0}
.trk-cp li{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:9px 12px;border-radius:12px;border:1px solid var(--hair-2);font-family:var(--ui);font-weight:300;font-size:.86rem;color:var(--cr-dim)}
.trk-cp li::before{content:"";width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.18);flex:none}
.trk-cp li.done{color:var(--cr-hi);border-color:rgba(233,188,99,.35)} .trk-cp li.done::before{background:var(--g);box-shadow:0 0 0 3px rgba(233,188,99,.2)}
.trk-cp li span{flex:1} .trk-cp li b{font-weight:400;color:var(--g-lt);font-variant-numeric:tabular-nums}
.trk-src{display:block;margin-top:12px;font-family:var(--ui);font-weight:300;font-size:.74rem;line-height:1.5;color:var(--cr-faint)} .trk-src b{color:var(--g-lt);font-weight:400}
@media(min-width:900px){.trk{grid-template-columns:minmax(0,1.6fr) minmax(300px,1fr)}}
/* live: district tableaux board */
.tbx{margin-top:clamp(28px,4vw,48px);padding-top:clamp(24px,3vw,36px);border-top:1px solid var(--hair)}
.tbx-head{display:flex;flex-wrap:wrap;gap:18px;align-items:flex-end;justify-content:space-between;margin-bottom:22px}
.tbx-head .kicker{display:inline-flex;align-items:center;gap:8px;font-family:var(--ui);font-weight:400;font-size:.64rem;letter-spacing:.28em;text-transform:uppercase;color:var(--g)}
.tbx-head h3{font-family:var(--display);font-weight:400;font-size:clamp(1.35rem,2.6vw,1.9rem);color:var(--cr-hi);margin:6px 0 6px} .tbx-head h3 em{font-style:normal;background:var(--grad-head);-webkit-background-clip:text;background-clip:text;color:transparent}
.tbx-head p{font-family:var(--ui);font-weight:300;font-size:.9rem;line-height:1.6;color:var(--cr-dim);max-width:60ch}
.tbx-counts{display:flex;flex-wrap:wrap;gap:8px} .tbx-counts span{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;border:1px solid var(--hair-2);background:var(--k-800);font-family:var(--ui);font-weight:300;font-size:.8rem;color:var(--cr-dim)}
.tbx-counts b{font-family:var(--display);font-weight:400;font-size:1.05rem;color:var(--cr-hi)} .tbx-counts .moving b{color:#7ad39b} .tbx-counts .delayed b{color:var(--g-lt)} .tbx-counts .arrived b{color:#8fb4ff}
.tbx-strip{margin:0 0 22px} .tbx-track{position:relative;height:30px;border-radius:15px;border:1px solid var(--hair-2);background:linear-gradient(90deg,rgba(233,188,99,.10),rgba(143,180,255,.12))}
.tbx-track .cp{position:absolute;top:0;bottom:0;width:1px;background:rgba(255,255,255,.16)}
.tbx-track .dot{position:absolute;top:50%;width:12px;height:12px;border-radius:50%;transform:translate(-50%,-50%);border:2px solid var(--k-900);transition:left .8s var(--ease)}
.tbx-track .dot.moving{background:#4fc47f} .tbx-track .dot.delayed{background:var(--g)} .tbx-track .dot.stopped{background:var(--rose)} .tbx-track .dot.arrived{background:#6f9bff} .tbx-track .dot.gps_offline{background:#7d7d8c} .tbx-track .dot.not_started{background:#3a3145}
.tbx-grid{display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(min(230px,100%),1fr))}
.tbx-i{display:grid;grid-template-columns:26px 1fr auto;gap:10px;align-items:center;padding:9px 12px;border-radius:12px;border:1px solid var(--hair-2);background:var(--k-800)}
.tbx-i .n{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-family:var(--display);font-size:.78rem;color:#241505;background:var(--g)}
.tbx-i b{display:block;font-family:var(--ui);font-weight:400;font-size:.86rem;color:var(--cr-hi);line-height:1.2} .tbx-i small{display:block;font-family:var(--ui);font-weight:300;font-size:.7rem;color:var(--cr-faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:120px}
.tbx-i .st{font-family:var(--ui);font-weight:400;font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;color:var(--cr-dim);white-space:nowrap}
.tbx-i.moving .st{color:#7ad39b} .tbx-i.delayed .st{color:var(--g-lt)} .tbx-i.stopped .st{color:var(--rose-lt)} .tbx-i.arrived .st{color:#8fb4ff} .tbx-i.not_started{opacity:.6} .tbx-i.not_started .n{background:var(--k-750);color:var(--cr-dim)}

/* plan-your-visit: part dividers + closing booking call */
.pv-part{background:var(--k-900);border-top:1px solid var(--hair-2);padding:clamp(28px,4vw,48px) 0 0}
.pv-part .wrap{display:flex;gap:clamp(16px,2.6vw,32px);align-items:flex-start}
.pv-part .no{font-family:var(--display);font-size:clamp(2.2rem,4.6vw,3.6rem);line-height:.9;color:var(--g-dp);opacity:.7;flex:none;min-width:1.4em}
.pv-part .kicker{display:inline-flex;align-items:center;gap:8px;font-family:var(--ui);font-weight:400;font-size:.66rem;letter-spacing:.28em;text-transform:uppercase;color:var(--g)}
.pv-part .kicker::before{content:"";width:26px;height:1px;background:var(--g)}
.pv-part h2{font-family:var(--display);font-weight:400;font-size:clamp(1.5rem,3.2vw,2.3rem);line-height:1.1;color:var(--cr-hi);margin:8px 0 8px}
.pv-part h2 em{font-style:normal;background:var(--grad-head);-webkit-background-clip:text;background-clip:text;color:transparent}
.pv-part p{font-family:var(--ui);font-weight:300;font-size:.95rem;line-height:1.7;color:var(--cr-dim);max-width:70ch}
.pv-cta{display:grid;gap:22px;align-items:center;padding:clamp(24px,3.6vw,44px);border-radius:22px;background:var(--k-800);border:1px solid var(--hair-2)}
.pv-cta .kicker{display:inline-flex;align-items:center;gap:8px;font-family:var(--ui);font-weight:400;font-size:.66rem;letter-spacing:.28em;text-transform:uppercase;color:var(--g)}
.pv-cta h2{font-family:var(--display);font-weight:400;font-size:clamp(1.6rem,3.4vw,2.4rem);line-height:1.1;color:var(--cr-hi);margin:8px 0 10px}
.pv-cta h2 em{font-style:normal;background:var(--grad-head);-webkit-background-clip:text;background-clip:text;color:transparent}
.pv-cta p{font-family:var(--ui);font-weight:300;font-size:.95rem;line-height:1.7;color:var(--cr-dim);max-width:60ch}
.pv-cta-b{display:flex;gap:12px;flex-wrap:wrap}
@media(min-width:900px){.pv-cta{grid-template-columns:minmax(0,1fr) auto}}

/* card grids */
.cgrid{display:grid;gap:clamp(14px,2vw,22px);grid-template-columns:repeat(auto-fill,minmax(min(270px,100%),1fr))}
.cgrid.two{grid-template-columns:repeat(auto-fill,minmax(min(360px,100%),1fr))}
.ccard{background:var(--k-800);border:1px solid var(--hair);border-radius:var(--r-l);overflow:hidden;
  display:flex;flex-direction:column;transition:.35s var(--ease);position:relative}
.ccard:hover{transform:translateY(-5px);border-color:rgba(233,188,99,.4);
  box-shadow:0 26px 60px -30px #000,0 0 40px -22px rgba(233,188,99,.4)}
.ccard .ph-img{position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--k-850)}
.ccard .ph-img img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease)}
.ccard:hover .ph-img img{transform:scale(1.05)}
.ccard .tag{position:absolute;left:12px;top:12px;font-family:var(--ui);font-weight:400;font-size:.58rem;
  letter-spacing:.2em;text-transform:uppercase;padding:6px 11px;border-radius:20px;
  background:rgba(8,3,16,.72);border:1px solid var(--hair);color:var(--g-lt);backdrop-filter:blur(6px)}
.ccard .bd{padding:16px 18px 18px;display:flex;flex-direction:column;flex:1}
.ccard h3{font-family:var(--display);font-weight:400;font-size:1.22rem;line-height:1.25;color:var(--cr-hi)}
.ccard .meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px;font-family:var(--ui);font-weight:300;
  font-size:.7rem;letter-spacing:.04em;color:var(--cr-dim)}
.ccard .meta span{display:inline-flex;align-items:center;gap:5px}
.ccard .meta svg{width:12px;height:12px;color:var(--g)}
.ccard p{font-family:var(--ui);font-weight:300;font-size:.84rem;line-height:1.65;color:var(--cr-dim);margin-top:9px}
.ccard .go{margin-top:auto;padding-top:14px;display:inline-flex;align-items:center;gap:7px;font-family:var(--ui);
  font-weight:400;font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--g-lt)}
.ccard .go svg{width:13px;height:13px;transition:transform .25s var(--ease)}
.ccard:hover .go svg{transform:translateX(4px)}

/* feature (image + copy) rows */
.feat{display:grid;gap:clamp(22px,3.4vw,44px);align-items:center;margin-bottom:clamp(40px,6vw,80px)}
@media(min-width:900px){.feat{grid-template-columns:1.1fr 1fr}.feat.flip>.fimg{order:2}}
.feat .fimg{border-radius:var(--r-l);overflow:hidden;aspect-ratio:4/3;border:1px solid var(--hair);position:relative}
.feat .fimg img{width:100%;height:100%;object-fit:cover}
.feat .fimg::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 1px rgba(255,255,255,.04),inset 0 -80px 80px -60px rgba(8,3,16,.7)}
.feat .fcopy .kicker{display:inline-flex;align-items:center;gap:12px;font-family:var(--ui);font-weight:400;
  font-size:.62rem;letter-spacing:.32em;text-transform:uppercase;color:var(--g)}
.feat .fcopy .kicker::before{content:"";width:28px;height:1px;background:var(--g-dp)}
.feat .fcopy h2{font-family:var(--display);font-weight:400;font-size:clamp(1.7rem,3.2vw,2.5rem);line-height:1.1;
  color:var(--cr-hi);margin-top:12px}
.feat .fcopy h2 em{font-style:normal;background:var(--grad-head);-webkit-background-clip:text;background-clip:text;color:transparent}
.feat .fcopy p{font-family:var(--ui);font-weight:300;font-size:.96rem;line-height:1.8;color:var(--cr-dim);margin-top:14px}
.feat .fcopy ul{margin-top:14px;display:flex;flex-direction:column;gap:8px;font-family:var(--ui);font-weight:300;
  font-size:.9rem;color:var(--cr)}
.feat .fcopy li{display:flex;gap:10px;align-items:flex-start}
.feat .fcopy li::before{content:"◆";color:var(--g);font-size:.55rem;margin-top:.45em}

/* stat strip */
.strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));border-top:1px solid var(--hair);
  border-bottom:1px solid var(--hair);margin:clamp(30px,4vw,50px) 0}
.strip div{padding:clamp(20px,3vw,32px) 14px;text-align:center;position:relative}
.strip div+div::before{content:"";position:absolute;left:0;top:24%;height:52%;width:1px;background:var(--hair)}
.strip b{display:block;font-family:var(--display);font-weight:400;font-size:clamp(1.9rem,4vw,2.9rem);
  color:var(--g-lt);line-height:1;letter-spacing:.006em}
.strip span{display:block;margin-top:9px;font-family:var(--ui);font-weight:300;font-size:.6rem;
  letter-spacing:.26em;text-transform:uppercase;color:var(--cr-faint)}

/* table */
.tbl{width:100%;border-collapse:collapse;font-family:var(--ui);font-weight:300;font-size:.86rem}
.tbl th{text-align:left;font-weight:400;font-size:.62rem;letter-spacing:.24em;text-transform:uppercase;
  color:var(--g);padding:12px 14px;border-bottom:1px solid var(--hair)}
.tbl td{padding:14px;border-bottom:1px solid var(--hair-2);color:var(--cr);vertical-align:top}
.tbl tr:hover td{background:rgba(233,188,99,.04)}
.tbl td b{font-family:var(--display);font-weight:400;font-size:1.02rem;color:var(--cr-hi)}
.tbl td small{display:block;color:var(--cr-dim);font-size:.76rem;margin-top:2px}
.tblwrap{overflow-x:auto;border:1px solid var(--hair);border-radius:var(--r-l);background:var(--k-800)}
.tblwrap .tbl{min-width:640px}

/* accordion (FAQ) */
.acc{border-top:1px solid var(--hair)}
.acc details{border-bottom:1px solid var(--hair)}
.acc summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:16px;padding:18px 4px;
  font-family:var(--display);font-weight:400;font-size:1.14rem;color:var(--cr-hi)}
.acc summary::-webkit-details-marker{display:none}
.acc summary::after{content:"+";margin-left:auto;font-family:var(--ui);font-weight:300;font-size:1.4rem;
  color:var(--g);transition:transform .3s var(--ease)}
.acc details[open] summary::after{transform:rotate(45deg)}
.acc .ans{padding:0 4px 20px;font-family:var(--ui);font-weight:300;font-size:.92rem;line-height:1.75;color:var(--cr-dim);max-width:76ch}
.acc .ans a{color:var(--g-lt);border-bottom:1px solid var(--hair)}
/* accordion + side photo (photo starts level with the heading and stays put while the questions scroll) */
.qa{display:grid;gap:clamp(22px,3.4vw,48px);align-items:start}
.qa-main .sec-head{margin-bottom:clamp(22px,3vw,34px)}
.qa-fig{position:relative;border-radius:18px;overflow:hidden;border:1px solid var(--hair-2);background:var(--k-800);aspect-ratio:1/1;margin:0}
.qa-fig picture,.qa-fig img{width:100%;height:100%;object-fit:cover;display:block}
.qa-fig img{transition:transform 1.4s var(--ease)} .qa-fig:hover img{transform:scale(1.04)}
.qa-fig figcaption{position:absolute;left:0;right:0;bottom:0;padding:44px 18px 16px;font-family:var(--ui);font-weight:300;font-size:.8rem;
  color:var(--cr);background:linear-gradient(180deg,transparent,rgba(11,5,17,.86))}
.qa-links{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:24px}
.qa-links span{font-family:var(--ui);font-weight:400;font-size:.64rem;letter-spacing:.28em;text-transform:uppercase;color:var(--g);margin-right:6px}
.qa-links a{display:inline-flex;align-items:center;gap:10px;padding:11px 18px;border-radius:999px;border:1px solid rgba(233,188,99,.35);
  background:linear-gradient(160deg,rgba(233,188,99,.10),rgba(233,188,99,.03));font-family:var(--ui);font-weight:400;font-size:.84rem;letter-spacing:.04em;color:var(--cr-hi);transition:.24s var(--ease)}
.qa-links a svg{width:14px;height:14px;color:var(--g);flex:none;transition:transform .24s var(--ease)}
.qa-links a:hover{border-color:var(--g);background:rgba(233,188,99,.16);color:#fff} .qa-links a:hover svg{transform:translateX(3px)}
@media(min-width:900px){
  .qa{grid-template-columns:minmax(0,1.65fr) minmax(280px,1fr)}
  .qa-side{position:sticky;top:calc(var(--hdr) + 24px)}
}
@media(max-width:899px){.qa-fig{aspect-ratio:16/9}}

/* pricing */
.plans{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr))}
.plan-c{background:var(--k-800);border:1px solid var(--hair);border-radius:var(--r-l);padding:22px;
  display:flex;flex-direction:column;position:relative;transition:.32s var(--ease)}
.plan-c:hover{transform:translateY(-4px);border-color:rgba(233,188,99,.4)}
.plan-c.best{background:linear-gradient(160deg,#4A1226,var(--wine) 80%);border-color:rgba(233,188,99,.5)}
.plan-c .pn{font-family:var(--ui);font-weight:400;font-size:.62rem;letter-spacing:.3em;text-transform:uppercase;color:var(--g)}
.plan-c .pp{font-family:var(--display);font-weight:400;font-size:2.4rem;color:var(--cr-hi);margin:10px 0 2px;line-height:1}
.plan-c .pp small{font-family:var(--ui);font-weight:300;font-size:.74rem;color:var(--cr-dim);margin-left:4px}
.plan-c .ps{font-family:var(--ui);font-weight:300;font-size:.8rem;color:var(--cr-dim)}
.plan-c ul{margin:16px 0 18px;display:flex;flex-direction:column;gap:8px;font-family:var(--ui);font-weight:300;font-size:.86rem;color:var(--cr)}
.plan-c li{display:flex;gap:9px;align-items:flex-start}
.plan-c li::before{content:"✓";color:var(--mint);font-weight:500;flex:none}
.plan-c .btn-gold{margin-top:auto;justify-content:center}
.plan-c .ribbon{position:absolute;top:14px;right:14px;font-family:var(--ui);font-weight:500;font-size:.56rem;
  letter-spacing:.2em;text-transform:uppercase;padding:5px 10px;border-radius:20px;background:var(--grad-gold);color:#241505}

/* notice */
.notice{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:14px;
  background:rgba(240,169,46,.07);border:1px solid rgba(240,169,46,.28);margin:22px 0}
.notice svg{width:18px;height:18px;flex:none;color:#F0A92E;margin-top:2px}
.notice p{font-family:var(--ui);font-weight:300;font-size:.84rem;line-height:1.65;color:var(--cr-dim);margin:0}

/* people (chief guests / committee) */
.people{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(min(230px,100%),1fr))}
.person{display:flex;gap:14px;align-items:center;padding:14px 16px;border-radius:16px;
  background:var(--k-800);border:1px solid var(--hair-2);transition:.26s var(--ease)}
.person:hover{border-color:var(--hair);background:var(--k-750)}
.person .av{width:64px;height:64px;flex:none;border-radius:50%;display:grid;place-items:center;overflow:hidden;
  font-family:var(--display);font-size:1.2rem;color:var(--g-lt);background:rgba(233,188,99,.12);
  border:1px solid rgba(233,188,99,.3)}
.person .av picture,.person .av img{width:100%;height:100%;object-fit:cover;display:block}
.person b{display:block;font-family:var(--display);font-weight:400;font-size:1.02rem;color:var(--cr-hi);line-height:1.2}
.person small{display:block;font-family:var(--ui);font-weight:300;font-size:.74rem;color:var(--cr-dim);margin-top:3px}
.person .yr{margin-left:auto;font-family:var(--display);font-size:1.1rem;color:var(--g);flex:none}

/* next / prev page links */
.sec-pager{padding:clamp(28px,4vw,48px) 0 clamp(36px,5vw,64px);background:var(--k-900)}
.pager{display:grid;gap:14px;grid-template-columns:1fr 1fr}
.pager a{display:flex;flex-direction:column;gap:6px;padding:18px 20px;border-radius:16px;
  background:var(--k-800);border:1px solid var(--hair-2);transition:.26s var(--ease)}
.pager a:hover{border-color:var(--hair);transform:translateY(-3px)}
.pager a small{font-family:var(--ui);font-weight:300;font-size:.62rem;letter-spacing:.26em;text-transform:uppercase;color:var(--g)}
.pager a b{font-family:var(--display);font-weight:400;font-size:1.1rem;color:var(--cr-hi)}
.pager a.next{text-align:right;align-items:flex-end}
@media(max-width:560px){.pager{grid-template-columns:1fr}.pager a.next{text-align:left;align-items:flex-start}}

.sec-pad.tight{padding-top:clamp(36px,5vw,64px)}

/* ============ INNER · additions round 2 ============ */
/* informational cards — no link, so no lift */
.ccard.static{cursor:default}
.ccard.static:hover{transform:none;border-color:var(--hair);box-shadow:none}
.ccard.static:hover .ph-img img{transform:none}

/* feedback / enquiry form */
.fform{display:grid;gap:14px;grid-template-columns:1fr 1fr;background:linear-gradient(160deg,var(--k-800),var(--k-750));
  border:1px solid var(--hair);border-radius:var(--r-l);padding:clamp(20px,3vw,30px)}
.fform label{display:flex;flex-direction:column;gap:7px;font-family:var(--ui);font-weight:400;font-size:.62rem;
  letter-spacing:.24em;text-transform:uppercase;color:var(--g)}
.fform label.full{grid-column:1/-1}
.fform input,.fform select,.fform textarea{width:100%;background:rgba(255,255,255,.04);border:1px solid var(--hair);
  border-radius:10px;padding:12px 14px;color:var(--cr-hi);font-family:var(--ui);font-weight:300;font-size:.92rem;
  letter-spacing:0;text-transform:none}
.fform input:focus,.fform select:focus,.fform textarea:focus{outline:none;border-color:rgba(233,188,99,.55);
  box-shadow:0 0 0 3px rgba(233,188,99,.12)}
.fform select{appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--g) 50%),
  linear-gradient(135deg,var(--g) 50%,transparent 50%);background-position:calc(100% - 20px) 50%,calc(100% - 15px) 50%;
  background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:40px}
.fform select option{background:var(--k-900);color:var(--cr)}
.fform textarea{min-height:130px;resize:vertical}
.fform .act{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}
.fform .act small{font-family:var(--ui);font-weight:300;font-size:.76rem;color:var(--cr-dim);max-width:48ch;line-height:1.6}
@media(max-width:640px){.fform{grid-template-columns:1fr}.fform label.full{grid-column:auto}}

/* sitemap */
.smap{display:grid;gap:clamp(18px,2.6vw,30px);grid-template-columns:repeat(auto-fill,minmax(min(240px,100%),1fr))}
.smap section{padding:20px 22px;border:1px solid var(--hair);border-radius:var(--r-l);background:var(--k-800)}
.smap h2{font-family:var(--ui);font-weight:400;font-size:.62rem;letter-spacing:.3em;text-transform:uppercase;color:var(--g);margin-bottom:12px}
.smap ul{display:flex;flex-direction:column;gap:2px}
.smap li>a{display:block;padding:7px 0;font-family:var(--display);font-size:1.02rem;color:var(--cr-hi);border-bottom:1px solid var(--hair-2)}
.smap li>a:hover{color:var(--g-lt)}
.smap li ul{margin:4px 0 8px 12px;gap:0}
.smap li ul a{display:block;padding:4px 0;font-family:var(--ui);font-weight:300;font-size:.82rem;color:var(--cr-dim)}
.smap li ul a:hover{color:var(--g-lt)}
.smap li ul a::before{content:"›";margin-right:8px;color:var(--g-dp)}

/* 404 */
.nf{text-align:center;max-width:640px;margin:0 auto}
.nf .code{font-family:var(--display);font-size:clamp(5rem,16vw,9rem);line-height:1;background:var(--grad-head);
  -webkit-background-clip:text;background-clip:text;color:transparent}
.nf p{font-family:var(--ui);font-weight:300;font-size:1.02rem;line-height:1.75;color:var(--cr-dim);margin:14px 0 26px}
.nf .acts{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}

/* venues.html — the directions arrow beside each venue row */
.venue .dir{margin-left:auto;flex:none;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--hair);color:var(--g)}
.venue .dir svg{width:14px;height:14px}
.venue .dir:hover{background:var(--g);color:#241505}
