/* The Open Door: the home hero follows the real time in Indore and invites visitors to the next gathering. */
.hero{align-items:stretch}
.hero-inner{display:flex;flex-direction:column;min-height:100vh;min-height:100svh;padding:0}
.hero-copy{margin:auto 0;padding:96px 28px 28px}
.hero h1{font-size:clamp(2.6rem,6.4vw,5.2rem)}
.hero .hindi{margin-bottom:12px}

/* Sky over Indore. Upper tones stay dark enough for cream text at every hour. */
.hero[data-sky="dawn"]{background:
  radial-gradient(110% 80% at 26% 116%,rgba(244,170,92,.95) 0%,rgba(190,92,102,.5) 34%,transparent 66%),
  linear-gradient(180deg,#0b1136 0%,#232254 48%,#4d3560 100%)}
.hero[data-sky="day"]{background:
  radial-gradient(120% 80% at 50% 120%,rgba(240,178,92,.82) 0%,rgba(92,128,160,.3) 36%,transparent 64%),
  linear-gradient(180deg,#0a2350 0%,#123a6e 52%,#1f5484 100%)}
.hero[data-sky="dusk"]{background:
  radial-gradient(110% 82% at 74% 116%,rgba(238,128,70,.95) 0%,rgba(160,62,84,.55) 34%,transparent 66%),
  linear-gradient(180deg,#0d0c30 0%,#2c1a50 50%,#54264f 100%)}
.hero .stars{transition:opacity 1.2s}
.hero[data-sky="dawn"] .stars{opacity:.4}
.hero[data-sky="day"] .stars{opacity:0}
.hero[data-sky="dusk"] .stars{opacity:.55}
.hero[data-sky="dawn"] .sun{left:26%}
.hero[data-sky="dusk"] .sun{left:74%}
.hero[data-sky="day"] .sun{bottom:-34vh;opacity:.7}

/* The next gathering */
.door{margin-top:clamp(20px,3.4svh,34px);animation:rise 1.1s .72s var(--ease-out) both}
.door-when{display:inline-flex;align-items:center;gap:10px;margin:0;font-weight:600;font-size:1.02rem;color:var(--gold-soft);font-variant-numeric:tabular-nums}
.door-when i{width:9px;height:9px;border-radius:50%;background:var(--gold);flex:none}
.door-when.is-now i{background:#7be0a0;animation:pulseDot 2s infinite}
.door-when.is-now{color:#a9efc2}
.door-name{margin:4px 0 2px;font-family:'Fraunces',serif;font-weight:500;font-size:clamp(1.9rem,3.6vw,2.9rem);line-height:1.12;color:var(--cream);text-wrap:balance}
.door-detail{max-width:620px;margin:0 auto clamp(14px,2.2svh,22px);color:rgba(250,246,238,.9);font-size:1rem;line-height:1.45;text-wrap:balance}
.door .hero-cta{animation:none;opacity:1}
.door .btn-gold svg{width:20px;height:20px;margin-right:9px;flex:none}

/* The week ahead, laid along the horizon */
.door-rail{flex:none;display:flex;list-style:none;margin:0;padding:0 max(84px,calc((100% - 1240px)/2));overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none;text-align:left;
  background:linear-gradient(180deg,rgba(7,8,26,.62),rgba(7,8,26,.82));animation:rise 1.1s .9s var(--ease-out) both}
.door-rail::-webkit-scrollbar{display:none}
.door-rail[hidden]{display:none}
.door-rail li{flex:1 0 148px;scroll-snap-align:start;min-width:0}
.door-stop{position:relative;display:flex;flex-direction:column;justify-content:flex-start;width:100%;height:100%;padding:24px 12px 14px;background:none;border:0;color:var(--cream);font:inherit;text-align:left;cursor:pointer;transition:background .25s}
.door-stop::after{content:"";position:absolute;top:12px;left:0;right:0;height:1px;background:rgba(250,246,238,.3)}
.door-stop::before{content:"";position:absolute;z-index:1;top:8px;left:12px;width:9px;height:9px;border-radius:50%;background:#59607f;transition:background .25s,transform .25s var(--ease-out)}
.door-stop:hover{background:rgba(250,246,238,.08)}
.door-stop:focus-visible{outline:2px solid var(--cream);outline-offset:-3px}
.door-stop b,.door-stop span{display:block}
.door-stop b{font-size:.8rem;font-weight:600;color:rgba(250,246,238,.82);font-variant-numeric:tabular-nums;white-space:nowrap}
.door-stop span{margin-top:3px;font-size:.92rem;font-weight:600;line-height:1.25}
.door-stop[aria-pressed="true"]{background:rgba(250,246,238,.1)}
.door-stop[aria-pressed="true"]::before{background:var(--gold);transform:scale(1.35)}
.door-stop[aria-pressed="true"] b{color:var(--gold-soft)}
a.door-stop{text-decoration:none}
a.door-stop::before{background:var(--gold-soft)}
a.door-stop b{color:var(--gold-soft)}

@media(max-width:860px){
  .hero-copy{padding:88px 20px 20px}
  .hero h1{font-size:clamp(1.7rem,8.3vw,3.4rem)}
  .door-name{font-size:clamp(1.6rem,7.2vw,2.3rem)}
  .door-rail{padding:0}
  .hero .hindi{margin-bottom:10px}
  .door .hero-cta{flex-direction:row;flex-wrap:wrap;max-width:420px;gap:10px}
  .door .btn-gold{flex:1 1 100%;font-size:1.02rem}
  .door .btn-ghost{flex:1 1 100%;font-size:.94rem}
}
@media(max-width:860px){
  body.at-door .theme-fab{opacity:0;visibility:hidden}
}
@media(max-height:500px){
  .hero-copy{padding:64px 20px 12px}
  .hero h1{font-size:1.7rem}
  .hero .hindi{font-size:1rem;margin-bottom:4px}
  .door{margin-top:6px}
  .door-name{font-size:1.45rem;margin:0}
  .door-detail{margin-bottom:8px;font-size:.9rem}
  .door .hero-cta{max-width:none;flex-wrap:nowrap;justify-content:center}
  .door .btn-gold,.door .btn-ghost{flex:0 1 auto;min-height:44px;padding:8px 18px;font-size:.88rem}
}
@media(prefers-reduced-motion:reduce){
  .door,.door-rail,.door-when.is-now i{animation:none}
}
