/* Chandni Raat — moonlit palette and text motion graphics on top of mahal.css */
.wm--raat { --gold: #d6defc; --gold-2: #8fa6ff; --cream: #f3f5ff; --muted: rgba(243, 245, 255, .78); --line: rgba(190, 205, 255, .32); --ink: #05071a; background: #05071a; }
.wm--raat .wm-loader { background: radial-gradient(ellipse at 50% 38%, #142357 0%, #0a1030 50%, #05071a 100%); }
.wm--raat .wm-mandala { color: #c8d4ff; filter: drop-shadow(0 0 18px rgba(150, 180, 255, .4)); }
.wm--raat .wm-l-names { color: #eef2ff; text-shadow: 0 0 34px rgba(150, 180, 255, .55); }
.wm--raat .wm-l-bar i { background: linear-gradient(90deg, #5c6fc4, #ffffff, #8fa6ff); }
.wm--raat .wm-enter, .wm--raat .wm-btn { color: #0c1440; background: linear-gradient(135deg, #ffffff, #c9d5ff 45%, #f4f7ff 72%, #8fa6ff); border-color: rgba(220, 230, 255, .7); box-shadow: 0 10px 40px rgba(140, 170, 255, .3), inset 0 1px 0 rgba(255, 255, 255, .8); }
.wm--raat .wm-btn--ghost { color: var(--cream); background: rgba(10, 16, 48, .5); box-shadow: none; }
.wm--raat .wm-brand, .wm--raat .wm-eyebrow, .wm--raat .wm-fam, .wm--raat .wm-sign, .wm--raat .wm-link, .wm--raat .wm-count b, .wm--raat .wm-om { color: #d6defc; }
.wm--raat .wm-cap h2, .wm--raat .wm-cap h3 { color: #f6f8ff; text-shadow: 0 0 26px rgba(130, 160, 255, .35), 0 2px 22px rgba(0, 0, 0, .8); }
.wm--raat .wm-script, .wm--raat .wm-evname { color: #eef2ff !important; }
.wm--raat .wm-nav button.is-on i { background: #d6defc; box-shadow: 0 0 12px rgba(190, 205, 255, .9); }
.wm--raat .wm-count div, .wm--raat .wm-ico, .wm--raat .wm-sheet-card { background: rgba(10, 16, 48, .55); }
.wm--raat .wm-sheet-card { background: linear-gradient(180deg, rgba(16, 26, 70, .97), rgba(6, 10, 32, .98)); }
.wm--raat .wm-amts button.is-on { background: linear-gradient(135deg, #ffffff, #c9d5ff); color: #0c1440; }
.wm--raat .wm-passcard { background: radial-gradient(ellipse at 50% 0%, #ffffff, #dfe6ff); border-color: #8fa6ff; color: #0c1440; box-shadow: 0 0 0 5px rgba(190, 205, 255, .2), 0 26px 60px rgba(0, 0, 0, .55); }
.wm--raat .wm-passcard h4 { color: #1e2a66; } .wm--raat .wm-passcard .k, .wm--raat .wm-passcard .meta { color: #4a5690; }
.wm--raat .wm-tour.is-on { background: linear-gradient(135deg, #ffffff, #c9d5ff); color: #0c1440; }
.wm--raat .wm-cap::before { background: radial-gradient(ellipse at center, rgba(4, 6, 22, .72) 0%, rgba(4, 6, 22, .42) 45%, rgba(4, 6, 22, 0) 72%); }
.wm--raat .wm-cap--hero { --top: calc(64 * var(--vh)); } .wm--raat .wm-cap--moon { --top: calc(60 * var(--vh)); } .wm--raat .wm-cap--ev { --top: calc(78 * var(--vh)); } .wm--raat .wm-cap--date { --top: calc(62 * var(--vh)); }
@media (min-aspect-ratio: 1/1) { .wm--raat .wm-cap--hero { --top: calc(68 * var(--vh)); } .wm--raat .wm-cap--ev { --top: calc(76 * var(--vh)); } .wm--raat .wm-cap--date { --top: calc(64 * var(--vh)); } .wm--raat .wm-cap--moon { --top: calc(64 * var(--vh)); } }
body:not(.no-gl).wm--raat .wm-evname { display: block; font-size: clamp(30px, 7vw, 44px) !important; opacity: .9; }

/* text motion graphics: words rise out of mist, headings get a moonlight sweep */
.wm--raat .w { display: inline-block; opacity: 0; transform: translate3d(0, 0.55em, 0) rotateX(45deg); filter: blur(6px); transform-origin: 50% 100%; }
.wm--raat .wm-cap.is-in .w { animation: wm-word 1.1s cubic-bezier(.2, .8, .2, 1) both; animation-delay: calc(var(--i, 0) * 70ms); }
@keyframes wm-word { 0% { opacity: 0; transform: translate3d(0, 0.55em, 0) rotateX(45deg); filter: blur(6px); } 60% { filter: blur(0); } 100% { opacity: 1; transform: none; filter: blur(0); } }
.wm--raat .wm-cap h2 .w, .wm--raat .wm-cap h3 .w, .wm--raat .wm-cap h1 .w { background: linear-gradient(180deg, #ffffff 0%, #e4eaff 50%, #a9b8ea 100%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; text-shadow: none; padding: 0 .04em .08em; margin: 0 -.04em; }
.wm--raat .wm-cap.is-in h2 .w, .wm--raat .wm-cap.is-in h3 .w { animation: wm-word 1.1s cubic-bezier(.2, .8, .2, 1) both, wm-sheen 2.2s ease-in-out both; animation-delay: calc(var(--i, 0) * 70ms), calc(var(--i, 0) * 70ms + .7s); background-size: 100% 300%; }
@keyframes wm-sheen { 0% { background-position: 0 0; } 50% { background-position: 0 100%; } 100% { background-position: 0 0; } }
.wm--raat .wm-cap.is-in .wm-eyebrow { letter-spacing: .3em; transition: letter-spacing 1.4s ease; }
.wm--raat .wm-cap:not(.is-in) .wm-eyebrow { letter-spacing: .6em; }
.wm--raat .wm-cap.is-in .wm-actions { animation: wm-rise 1s cubic-bezier(.2, .8, .2, 1) .5s both; }
.wm--raat .wm-cap.is-in .wm-count { animation: wm-rise 1s cubic-bezier(.2, .8, .2, 1) .3s both; }
@keyframes wm-rise { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .wm--raat .w { opacity: 1; transform: none; filter: none; animation: none !important; } .wm--raat .wm-cap.is-in h2, .wm--raat .wm-cap.is-in h3 { animation: none; } }
