:root{--ivory:#f7f1e7;--paper:#fbf7ef;--gold:#b29a64;--green:#263d34;--ink:#282622;--muted:#746e63;--line:#d9cdb9;--serif:"Cormorant Garamond",serif;--sans:"DM Sans",sans-serif;--script:"Italianno",cursive}
*{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:hidden}body{margin:0;background:var(--ivory);color:var(--ink);font-family:var(--sans);overflow-x:hidden}button,a{font:inherit}a{color:inherit;text-decoration:none}.container{width:min(1120px,calc(100% - 40px));margin:auto}.section{padding:110px 0}.center{text-align:center}.eyebrow{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);font-weight:600}.script{font-family:var(--script);font-size:38px;color:var(--gold);margin:.2em 0}h1,h2,h3{font-family:var(--serif);font-weight:500}h2{font-size:clamp(44px,6vw,78px);line-height:.95;margin:12px 0 28px}h3{font-size:30px;margin:10px 0}.lead{max-width:680px;font-family:var(--serif);font-size:24px;line-height:1.55;color:#514b42}.gold-btn,.outline-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 26px;letter-spacing:.14em;font-size:11px;font-weight:600;cursor:pointer;transition:.3s}.gold-btn{border:1px solid var(--gold);background:var(--gold);color:#fff}.gold-btn:hover{background:#9b844f}.outline-btn{border:1px solid var(--gold);color:var(--green)}.outline-btn:hover{background:var(--green);color:#fff}.text-btn{background:none;border:0;color:#756f65;text-decoration:underline;cursor:pointer;margin-top:14px;font-size:12px}
.intro{position:fixed;inset:0;z-index:100;background:var(--green);display:grid;place-items:center;color:var(--ivory);transition:opacity .9s,visibility .9s}.intro.hide{opacity:0;visibility:hidden;pointer-events:none}.intro-card{width:min(600px,calc(100% - 36px));min-height:72vh;border:1px solid rgba(215,193,146,.5);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:35px;position:relative;background:radial-gradient(circle at center,rgba(255,255,255,.05),transparent 60%)}.intro-card:before,.intro-card:after{content:"";position:absolute;inset:14px;border:1px solid rgba(215,193,146,.25);pointer-events:none}.ornament{font-size:25px;color:var(--gold);margin-bottom:20px}.intro h1{font-size:clamp(48px,10vw,92px);letter-spacing:.04em;line-height:.8;margin:14px 0}.intro h1 span{display:block;font-size:.5em;color:var(--gold);margin:18px}.intro-sub{font-family:var(--script);font-size:34px;color:#d8c8a5;margin:10px 0 32px}.intro .gold-btn{position:relative;z-index:2}
.nav-wrap{position:fixed;z-index:50;top:0;width:100%;padding:18px 0;transition:.35s}.nav-wrap.scrolled{background:rgba(247,241,231,.94);backdrop-filter:blur(12px);box-shadow:0 1px 0 var(--line)}.nav{display:flex;align-items:center;justify-content:space-between}.brand{font-family:var(--serif);font-size:28px;color:var(--gold)}.links{display:flex;gap:30px}.links a{font-size:11px;letter-spacing:.12em;text-transform:uppercase}.menu-btn{display:none;background:none;border:0}.music{position:fixed;right:20px;bottom:20px;z-index:55;border:1px solid var(--line);background:rgba(247,241,231,.92);padding:11px 15px;font-size:11px;letter-spacing:.08em;color:var(--green);cursor:pointer}
.hero{min-height:100svh;display:grid;place-items:center;position:relative;background:linear-gradient(110deg,#263d34 0%,#405448 45%,#c5b59a 100%);color:var(--ivory);overflow:hidden}.hero:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 65% 35%,rgba(255,255,255,.16),transparent 28%),linear-gradient(to top,rgba(0,0,0,.3),transparent 45%)}.hero-content{position:relative;z-index:2;text-align:center;padding-top:70px}.hero h2{font-size:clamp(58px,10vw,125px);margin:15px 0}.hero h2 i,.closing h2 i{font-family:var(--script);font-style:normal;color:var(--gold);font-size:.65em}.hero-content>p:not(.eyebrow){font-family:var(--serif);font-size:25px;margin:10px 0 32px}.scroll{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);z-index:3;font-size:10px;letter-spacing:.14em;text-transform:uppercase}.scroll span{margin-left:10px;color:var(--gold)}
.welcome{text-align:center;display:flex;flex-direction:column;align-items:center}.floral{font-size:36px;color:var(--gold);transform:rotate(-20deg)}.story{background:var(--green);color:var(--ivory)}.story .eyebrow{color:#d0b779}.timeline{max-width:850px;margin:55px auto 0;border-left:1px solid rgba(210,190,148,.45)}.timeline article{display:grid;grid-template-columns:80px 1fr;gap:30px;padding:0 0 55px 30px;position:relative}.timeline article:before{content:"";width:9px;height:9px;background:var(--gold);border-radius:50%;position:absolute;left:-5px;top:7px}.timeline span{font-size:11px;letter-spacing:.15em;color:var(--gold)}.timeline p{color:#cfc9bc;line-height:1.7;max-width:600px}.section-head{margin-bottom:55px}
.event-feature{border:1px solid var(--line);min-height:460px;display:grid;grid-template-columns:1.3fr .7fr;align-items:center;padding:70px;background:var(--paper);position:relative}.event-feature dl{display:grid;grid-template-columns:90px 1fr;gap:10px 20px;margin:28px 0 35px;font-size:14px}.event-feature dt{color:var(--gold);text-transform:uppercase;font-size:10px;letter-spacing:.12em}.event-feature dd{margin:0}.paper-seal{justify-self:center;text-align:center;font:500 64px/0.7 var(--serif);color:var(--green);border:1px solid var(--gold);width:190px;height:190px;border-radius:50%;display:grid;place-content:center}.paper-seal span{font-family:var(--script);font-size:40px;color:var(--gold)}
.countdown{background:#eee5d7}.count{display:flex;justify-content:center;margin:50px auto 30px}.count>div{min-width:145px;padding:10px 25px;border-right:1px solid var(--line)}.count>div:last-child{border:0}.count strong{font:500 clamp(45px,7vw,72px) var(--serif);display:block;color:var(--green)}.count small{font-size:10px;letter-spacing:.18em;color:var(--gold)}.muted{color:var(--muted);font-size:13px}
.event-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.event-card{border:1px solid var(--line);padding:35px 25px;min-height:250px;background:var(--paper)}.event-card.featured{background:var(--green);color:var(--ivory);border-color:var(--green)}.event-card p{font-size:12px;color:var(--muted);margin:7px 0}.event-card.featured p{color:#cfc8bb}.icon{font-size:28px;color:var(--gold)}
.gallery{background:var(--paper)}.gallery-grid{display:grid;grid-template-columns:1.1fr .9fr .9fr;grid-auto-rows:250px;gap:12px}.photo{border:0;position:relative;overflow:hidden;cursor:pointer;background:linear-gradient(135deg,#cdbda4,#6d796e);padding:0}.photo:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(20,20,15,.55),transparent 55%)}.photo span{position:absolute;z-index:2;left:20px;bottom:17px;color:#fff;font:22px var(--serif)}.p1{grid-row:span 2;background:linear-gradient(145deg,#bcae94,#566b5f)}.p4{grid-column:span 2}.families{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:55px}.families>div{text-align:center;padding:55px 20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.families h3{font-size:22px}
.invitation{background:var(--green);padding:130px 20px}.inv-card{width:min(700px,100%);margin:auto;text-align:center;background:var(--paper);padding:90px 70px;border:1px solid var(--gold);position:relative;box-shadow:0 25px 70px rgba(0,0,0,.18)}.inv-card>p:not(.eyebrow):not(.script){font:24px/1.6 var(--serif);color:#514b42}.corner{position:absolute;color:var(--gold);font-size:34px}.c1{left:22px;top:18px}.c2{right:22px;bottom:18px;transform:rotate(180deg)}.monogram{font:44px var(--serif);color:var(--green);margin-top:25px}.monogram span{font-family:var(--script);color:var(--gold)}
.rsvp{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px}.rsvp form{display:grid;gap:18px}.rsvp label{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}input,select,textarea{display:block;width:100%;margin-top:7px;border:1px solid var(--line);background:var(--paper);padding:15px;color:var(--ink);font:15px var(--sans);outline:none}input:focus,select:focus,textarea:focus{border-color:var(--gold)}.form-status{font-size:13px;min-height:20px;color:var(--green)}
.venue{background:#eee5d7}.venue-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;align-items:center}.venue h3{font-size:30px}.map{min-height:390px;background:#d7d0c2;border-radius:2px;display:grid;place-items:center;text-align:center}.map div{border:1px dashed #a99e8d;padding:30px;color:#71695c}.map span,.map small{display:block}.map small{margin-top:8px;font-size:11px}
.optional{display:grid;grid-template-columns:1fr 1fr;gap:18px}.optional-card{border:1px solid var(--line);padding:45px;background:var(--paper)}
.closing{min-height:85svh;background:var(--green);color:var(--ivory);display:grid;place-items:center;text-align:center;padding:70px 20px}.closing h2{font-size:clamp(55px,9vw,110px);margin:20px 0}.closing p:not(.eyebrow){font-family:var(--serif);font-size:22px}.closing-line{width:100px;border-top:1px solid var(--gold);margin:30px auto}.closing span{display:block;margin-top:60px;color:#c7bda9;font:24px var(--script)}
.lightbox{position:fixed;inset:0;z-index:90;background:rgba(16,20,18,.96);display:none;align-items:center;justify-content:center}.lightbox.open{display:flex}.lightbox img{max-width:82vw;max-height:82vh;object-fit:contain}.lightbox button{position:absolute;background:none;border:0;color:#fff;cursor:pointer;font-size:44px}.lightbox #closeLightbox{right:25px;top:15px}.lightbox #prev{left:25px}.lightbox #next{right:25px}.lightbox #counter{position:absolute;bottom:25px;color:#ccc;font-size:11px}
.reveal{opacity:0;transform:translateY(25px);transition:opacity .8s ease,transform .8s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:800px){.container{width:min(100% - 28px,620px)}.section{padding:78px 0}.nav{padding:0 14px}.menu-btn{display:block;width:42px;height:42px}.menu-btn span{display:block;width:22px;border-top:1px solid var(--green);margin:7px auto}.links{position:fixed;inset:0;background:var(--ivory);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:27px;transform:translateX(100%);transition:.4s}.links.open{transform:none}.links a{font-size:14px}.music{right:12px;bottom:12px}.music span{display:none}.hero h2{font-size:clamp(52px,15vw,90px)}.event-feature{grid-template-columns:1fr;padding:45px 28px;gap:40px}.paper-seal{width:130px;height:130px;font-size:45px}.count{display:grid;grid-template-columns:1fr 1fr;max-width:360px}.count>div{min-width:0;border-right:0;padding:12px}.count strong{font-size:48px}.event-grid{grid-template-columns:1fr 1fr}.gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:180px}.p1{grid-row:span 1}.p4{grid-column:span 2}.families,.rsvp,.venue-grid,.optional{grid-template-columns:1fr;gap:35px}.rsvp{gap:20px}.inv-card{padding:65px 25px}.inv-card>p:not(.eyebrow):not(.script){font-size:20px}.timeline article{grid-template-columns:45px 1fr;gap:12px;padding-left:20px}.timeline h3{font-size:26px}}
@media(max-width:420px){.container{width:calc(100% - 24px)}.intro-card{min-height:78svh;padding:24px}.intro h1{font-size:48px}.hero-content>p:not(.eyebrow){font-size:20px}.section{padding:65px 0}.section h2{font-size:48px}.event-grid{grid-template-columns:1fr}.gallery-grid{grid-template-columns:1fr;grid-auto-rows:220px}.p4{grid-column:auto}.event-feature dl{grid-template-columns:75px 1fr;font-size:13px}.gold-btn,.outline-btn{width:100%}.count strong{font-size:42px}.count small{font-size:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{transition:none}.intro{transition:none}.links{transition:none}}
/* 3D invitation intro */
.intro{perspective:1400px;overflow:hidden}.intro:before,.intro:after{content:"";position:absolute;border:1px solid rgba(210,184,125,.18);border-radius:50%;width:70vw;height:70vw;animation:orb 14s ease-in-out infinite alternate}.intro:after{width:45vw;height:45vw;animation-delay:-4s}.intro-scene{position:absolute;left:50%;top:27%;transform:translate(-50%,-50%);z-index:1;pointer-events:none}.envelope{width:min(300px,58vw);height:min(205px,40vw);position:relative;transform-style:preserve-3d;animation:floatEnvelope 4.5s ease-in-out infinite}.env-back,.env-front,.env-flap,.env-paper{position:absolute;inset:0;border:1px solid rgba(205,181,130,.7);border-radius:4px}.env-back{background:#e8dcc7;transform:translateZ(-2px)}.env-front{background:linear-gradient(145deg,#efe5d3,#d9c6a5);clip-path:polygon(0 0,50% 57%,100% 0,100% 100%,0 100%);z-index:4}.env-flap{background:#eadfcf;clip-path:polygon(0 0,100% 0,50% 58%);transform-origin:top center;animation:flap 4.5s ease-in-out infinite;z-index:5}.env-paper{background:#fbf7ef;inset:12% 14%;display:flex;align-items:center;justify-content:center;gap:10px;font:30px var(--serif);color:var(--green);z-index:3;box-shadow:0 10px 25px #0002}.env-paper b{font:32px var(--script);color:var(--gold)}.intro-card{z-index:6;margin-top:130px}.yt-player{position:fixed;width:1px;height:1px;opacity:0;pointer-events:none;left:-10px;bottom:-10px}@keyframes floatEnvelope{50%{transform:translateY(-14px) rotateX(2deg) rotateY(-2deg)}}@keyframes flap{0%,55%{transform:rotateX(0deg)}72%,100%{transform:rotateX(-160deg)}}@keyframes orb{to{transform:rotate(20deg) scale(1.08)}}
@media(max-width:800px){.intro-scene{top:24%}.intro-card{margin-top:135px}.intro-card{min-height:68svh}.hero{min-height:100svh}.section{overflow:hidden}.event-feature,.rsvp,.venue-grid,.optional{width:min(100% - 24px,620px)}.gallery-grid{width:100%}.photo{min-width:0}.lightbox img{max-width:92vw;max-height:72vh}.lightbox #prev{left:5px}.lightbox #next{right:5px}.lightbox button{font-size:38px}.count{gap:3px}.count>div{border:1px solid rgba(180,160,125,.35);background:#f3eadc}.intro h1{letter-spacing:.02em}}
@media(max-width:380px){.intro-scene{top:21%}.envelope{width:220px;height:150px}.intro-card{margin-top:105px;padding:22px 18px}.intro-card .eyebrow{font-size:9px}.intro h1{font-size:43px}.intro-sub{font-size:29px}}
/* Ganesha blessing + immersive intro */
.ganesha-aura{position:absolute;z-index:2;top:3%;left:50%;transform:translateX(-50%);width:min(330px,56vw);height:min(330px,56vw);display:grid;place-items:center;pointer-events:none}.ganesha{position:relative;width:82%;height:82%;object-fit:contain;filter:drop-shadow(0 20px 35px rgba(0,0,0,.3));animation:ganeshaFloat 5s ease-in-out infinite;transform-style:preserve-3d}.mandala{position:absolute;width:100%;height:100%;border:1px solid rgba(208,183,121,.55);border-radius:50%;box-shadow:0 0 0 14px rgba(208,183,121,.06),0 0 0 28px rgba(208,183,121,.035);animation:mandalaSpin 24s linear infinite}.ganesha-blessing{position:absolute;z-index:7;top:calc(3% + min(300px,51vw));left:50%;transform:translateX(-50%);width:100%;text-align:center;color:#d9c18b;font-size:9px;letter-spacing:.24em;white-space:nowrap}.intro-scene{z-index:4}.intro-card{z-index:6}
.music-panel{position:fixed;z-index:80;right:18px;bottom:78px;width:300px;background:rgba(247,241,231,.98);border:1px solid var(--gold);padding:14px;box-shadow:0 20px 60px rgba(0,0,0,.22);opacity:0;transform:translateY(15px) scale(.97);pointer-events:none;transition:.3s}.music-panel.open{opacity:1;transform:none;pointer-events:auto}.music-title{display:flex;justify-content:space-between;align-items:center;font:20px var(--serif);color:var(--green);margin-bottom:10px}.music-title button{border:0;background:none;font-size:25px;cursor:pointer;color:var(--muted)}.yt-player{width:260px;height:146px;opacity:1;position:relative;left:auto;bottom:auto;pointer-events:auto;margin:auto;background:#111}.music-panel p{font-size:11px;line-height:1.5;color:var(--muted);margin:10px 2px}.music-panel a{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--green);text-decoration:underline}.music{min-width:76px}
@keyframes ganeshaFloat{0%,100%{transform:translateY(0) rotateY(-2deg) scale(1)}50%{transform:translateY(-9px) rotateY(2deg) scale(1.015)}}@keyframes mandalaSpin{to{transform:rotate(360deg)}}
@media(max-width:800px){.ganesha-aura{top:2%;width:min(270px,63vw);height:min(270px,63vw)}.ganesha-blessing{top:calc(2% + min(250px,58vw));font-size:7px;letter-spacing:.16em}.intro-scene{top:31%}.intro-card{margin-top:170px}.music-panel{right:10px;left:10px;bottom:68px;width:auto}.yt-player{width:100%;height:auto;aspect-ratio:16/9}.music{right:10px}.intro-card{min-height:60svh}}
@media(max-width:420px){.ganesha-aura{top:1%;width:205px;height:205px}.ganesha-blessing{top:195px;font-size:6px}.intro-scene{top:29%}.intro-card{margin-top:145px;min-height:62svh}.music-panel{bottom:64px}.music{padding:10px 12px}}
@media(prefers-reduced-motion:reduce){.ganesha,.mandala{animation:none}}

/* V4 — cinematic Ganesha blessing transition */
.intro{isolation:isolate;background:radial-gradient(circle at 50% 32%,#4b5f50 0,#263d34 38%,#1c2e28 100%);}
.intro:before{width:55vw;height:55vw;border-color:rgba(218,190,126,.12);animation:orb 18s linear infinite}
.intro:after{width:30vw;height:30vw;border-color:rgba(218,190,126,.09);animation:orb 11s linear infinite reverse}
.ganesha-stage{position:absolute;inset:0;z-index:3;pointer-events:none;display:grid;place-items:center}
.ganesha-aura{top:6%;width:min(360px,60vw);height:min(360px,60vw);transform:translateX(-50%);transition:transform 1.05s cubic-bezier(.2,.75,.2,1),opacity .8s}
.ganesha{width:76%;height:76%;animation:ganeshaBreath 4.5s ease-in-out infinite;filter:drop-shadow(0 24px 45px rgba(0,0,0,.42)) drop-shadow(0 0 24px rgba(218,190,126,.18))}
.mandala{border-color:rgba(218,190,126,.55);box-shadow:0 0 0 12px rgba(218,190,126,.05),0 0 0 30px rgba(218,190,126,.025);animation:mandalaSpin 30s linear infinite}
.halo{position:absolute;width:67%;height:67%;border-radius:50%;background:radial-gradient(circle,rgba(244,216,153,.2),transparent 64%);filter:blur(5px);animation:haloPulse 3.8s ease-in-out infinite}
.ganesha-blessing{top:calc(6% + min(315px,52vw));font-size:8px;letter-spacing:.28em;color:#dfc78f;opacity:.9;transition:opacity .6s,transform .8s}
.blessing-orbit{position:absolute;border:1px solid rgba(221,194,136,.2);border-radius:50%;width:min(440px,72vw);height:min(440px,72vw);top:3%;left:50%;transform:translateX(-50%) rotate(0);animation:orbitSpin 20s linear infinite}
.orbit-b{width:min(500px,82vw);height:min(500px,82vw);border-style:dashed;opacity:.35;animation-duration:28s;animation-direction:reverse}
.ganesha-petals{position:absolute;width:min(380px,70vw);height:min(380px,70vw);top:5%;left:50%;transform:translateX(-50%);opacity:.65}
.ganesha-petals i{position:absolute;width:5px;height:5px;border-radius:50%;background:#e1c78f;box-shadow:0 0 10px rgba(225,199,143,.8);left:50%;top:50%;animation:petalDrift 3.5s ease-in-out infinite}
.ganesha-petals i:nth-child(1){--a:0deg;--d:145px}.ganesha-petals i:nth-child(2){--a:45deg;--d:125px;animation-delay:-.4s}.ganesha-petals i:nth-child(3){--a:90deg;--d:150px;animation-delay:-.8s}.ganesha-petals i:nth-child(4){--a:135deg;--d:118px;animation-delay:-1.2s}.ganesha-petals i:nth-child(5){--a:180deg;--d:150px;animation-delay:-1.6s}.ganesha-petals i:nth-child(6){--a:225deg;--d:125px;animation-delay:-2s}.ganesha-petals i:nth-child(7){--a:270deg;--d:145px;animation-delay:-2.4s}.ganesha-petals i:nth-child(8){--a:315deg;--d:118px;animation-delay:-2.8s}
.intro-card{margin-top:300px;transition:transform 1s cubic-bezier(.2,.75,.2,1),opacity .65s}
.intro.departing .ganesha-aura{transform:translateX(-50%) translateY(-28px) scale(1.12);opacity:0}.intro.departing .ganesha-blessing{opacity:0;transform:translateX(-50%) translateY(-20px)}.intro.departing .ganesha-petals{opacity:0;transform:translateX(-50%) scale(1.6);transition:1s}.intro.departing .intro-card{transform:translateY(-18px);opacity:0}.intro.departing .intro-scene{animation:envelopeReveal .95s cubic-bezier(.2,.8,.2,1) forwards}
@keyframes ganeshaBreath{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-7px) scale(1.012)}}@keyframes haloPulse{50%{transform:scale(1.12);opacity:.65}}@keyframes orbitSpin{to{transform:translateX(-50%) rotate(360deg)}}@keyframes petalDrift{0%,100%{transform:rotate(var(--a)) translateX(35px) scale(.7);opacity:.2}50%{transform:rotate(var(--a)) translateX(var(--d)) scale(1);opacity:1}}@keyframes envelopeReveal{0%{transform:translate(-50%,-50%) scale(1)}100%{transform:translate(-50%,-50%) translateY(35px) scale(1.08);opacity:1}}
@media(max-width:800px){.ganesha-aura{top:5%;width:min(255px,62vw);height:min(255px,62vw)}.ganesha-blessing{top:calc(5% + min(225px,55vw));font-size:6px;letter-spacing:.17em}.blessing-orbit{top:2%}.ganesha-petals{top:4%;width:280px;height:280px}.intro-scene{top:34%}.intro-card{margin-top:260px}.intro-card .ornament{margin-bottom:8px}}
@media(max-width:420px){.ganesha-aura{top:3%;width:190px;height:190px}.ganesha-blessing{top:187px;font-size:5.5px}.blessing-orbit{width:245px;height:245px}.orbit-b{width:285px;height:285px}.ganesha-petals{width:215px;height:215px}.intro-scene{top:32%}.intro-card{margin-top:205px;min-height:58svh}.intro h1{font-size:41px}.intro-sub{font-size:27px}.intro .gold-btn{min-height:46px;padding:0 18px}}
@media(prefers-reduced-motion:reduce){.ganesha,.halo,.mandala,.blessing-orbit,.ganesha-petals i{animation:none}.intro.departing .intro-scene{animation:none}}

/* V5 — rebuilt intro: fixed, contained, cinematic and mobile-safe */
.intro{position:fixed;inset:0;z-index:1000;display:block;overflow:hidden;isolation:isolate;background:radial-gradient(circle at 50% 24%,#50675a 0,#2d473b 42%,#172a23 100%);perspective:none}
.intro:before,.intro:after{content:"";position:absolute;inset:auto;left:50%;top:18%;transform:translate(-50%,-50%);border:1px solid rgba(224,196,133,.16);border-radius:50%;pointer-events:none;z-index:-1;animation:introOrbit 20s linear infinite}
.intro:before{width:min(760px,90vw);height:min(760px,90vw)}.intro:after{width:min(520px,65vw);height:min(520px,65vw);animation-direction:reverse;animation-duration:14s}
.intro.hide{opacity:0;visibility:hidden;pointer-events:none}.intro-content{position:relative;width:100%;height:100%;min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:clamp(18px,4vh,45px) 18px;gap:10px}
.ganesha-blessing-wrap{position:relative;width:clamp(145px,20vw,220px);height:clamp(145px,20vw,220px);flex:0 0 auto;display:grid;place-items:center;z-index:2;transition:transform .95s cubic-bezier(.2,.8,.2,1),opacity .7s}
.ganesha-medallion{width:72%;height:72%;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle,#f7e6bf 0,#d9bb79 42%,#8e6a35 100%);box-shadow:0 0 0 5px rgba(245,220,167,.22),0 18px 55px rgba(0,0,0,.3),inset 0 0 0 2px rgba(255,247,222,.75);overflow:hidden;transform-style:preserve-3d;animation:ganeshaFloatV5 4.8s ease-in-out infinite}
.ganesha{width:86%;height:86%;object-fit:contain;display:block;filter:drop-shadow(0 8px 12px rgba(45,28,10,.25));animation:none!important}
.ganesha-ring{position:absolute;inset:7%;border:1px solid rgba(235,205,142,.65);border-radius:50%;box-shadow:0 0 0 8px rgba(235,205,142,.05);animation:spinV5 22s linear infinite}.ring-2{inset:0;border-style:dashed;opacity:.35;animation-direction:reverse;animation-duration:30s}
.blessing-text{font-size:clamp(7px,1vw,9px);letter-spacing:.25em;color:#e2c88f;text-align:center;white-space:nowrap;line-height:1.4;min-height:14px;z-index:3}
.intro-card{position:relative;z-index:4;width:min(560px,calc(100% - 10px));min-height:0;margin:0;padding:clamp(25px,4vh,38px) clamp(20px,5vw,48px);border:1px solid rgba(226,198,140,.62);background:linear-gradient(145deg,rgba(251,247,239,.985),rgba(235,223,202,.985));box-shadow:0 24px 80px rgba(0,0,0,.28),inset 0 0 0 7px rgba(255,255,255,.28);color:var(--ink);text-align:center;transition:transform .9s cubic-bezier(.2,.8,.2,1),opacity .65s}
.intro-card:before{content:"";position:absolute;inset:9px;border:1px solid rgba(178,154,100,.32);pointer-events:none}.intro-card .eyebrow{margin:0 0 7px}.intro h1{font-size:clamp(46px,7vw,78px);letter-spacing:.035em;line-height:.78;margin:13px 0 11px}.intro h1 span{display:inline;font-size:.62em;color:var(--gold);margin:0 8px}.intro-sub{font-family:var(--script);font-size:clamp(27px,4vw,35px);color:var(--gold);margin:0 0 9px}.card-rule{color:var(--gold);font-size:12px;display:flex;align-items:center;gap:10px;justify-content:center;margin:7px 0 15px}.card-rule:before,.card-rule:after{content:"";width:58px;border-top:1px solid var(--line)}.intro .gold-btn{position:relative;z-index:6;min-height:48px}.intro .text-btn{position:relative;z-index:6;display:block;margin:10px auto 0}
.intro-note{position:absolute;bottom:max(14px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);color:rgba(245,234,210,.55);font-size:9px;letter-spacing:.18em;text-transform:uppercase;white-space:nowrap}
.intro-stars{position:absolute;inset:0;pointer-events:none}.intro-stars i{position:absolute;width:3px;height:3px;border-radius:50%;background:#e3c98e;box-shadow:0 0 9px rgba(227,201,142,.7);opacity:.5;animation:twinkleV5 3.4s ease-in-out infinite}.intro-stars i:nth-child(1){left:15%;top:22%}.intro-stars i:nth-child(2){left:84%;top:20%;animation-delay:-.7s}.intro-stars i:nth-child(3){left:8%;top:65%;animation-delay:-1.4s}.intro-stars i:nth-child(4){left:91%;top:59%;animation-delay:-2.1s}.intro-stars i:nth-child(5){left:22%;top:77%;animation-delay:-2.8s}.intro-stars i:nth-child(6){left:77%;top:76%;animation-delay:-1s}.intro-stars i:nth-child(7){left:35%;top:11%;animation-delay:-1.8s}.intro-stars i:nth-child(8){left:66%;top:10%;animation-delay:-.3s}
.intro.departing .ganesha-blessing-wrap{transform:translateY(-80px) scale(.8);opacity:0}.intro.departing .blessing-text{opacity:0;transform:translateY(-25px);transition:.5s}.intro.departing .intro-card{transform:translateY(28px) scale(.97);opacity:0}.intro.departing .intro-note{opacity:0}.intro.departing .intro-stars{opacity:0;transition:.5s}
@keyframes ganeshaFloatV5{0%,100%{transform:translateY(0) rotateY(-2deg)}50%{transform:translateY(-7px) rotateY(2deg)}}@keyframes spinV5{to{transform:rotate(360deg)}}@keyframes introOrbit{to{transform:translate(-50%,-50%) rotate(360deg)}}@keyframes twinkleV5{0%,100%{transform:scale(.7);opacity:.25}50%{transform:scale(1.6);opacity:.9}}
@media(max-width:600px){.intro-content{justify-content:center;padding:16px 12px calc(30px + env(safe-area-inset-bottom));gap:6px}.ganesha-blessing-wrap{width:clamp(128px,38vw,170px);height:clamp(128px,38vw,170px)}.blessing-text{font-size:6px;letter-spacing:.16em}.intro-card{width:min(440px,calc(100% - 2px));padding:24px 17px 21px}.intro h1{font-size:clamp(39px,12vw,58px);line-height:.8}.intro-sub{font-size:28px}.intro-card:before{inset:7px}.intro-note{font-size:7px;letter-spacing:.13em}.intro:before{top:22%}}
@media(max-width:380px){.intro-content{padding-top:10px}.ganesha-blessing-wrap{width:116px;height:116px}.intro-card{padding:20px 13px 17px}.intro h1{font-size:37px;margin:10px 0}.intro-sub{font-size:25px}.card-rule{margin:4px 0 11px}.intro .gold-btn{min-height:44px;padding:0 16px}.intro-note{display:none}}
@media(prefers-reduced-motion:reduce){.ganesha-medallion,.ganesha-ring,.intro:before,.intro:after,.intro-stars i{animation:none}.intro.departing .intro-card,.intro.departing .ganesha-blessing-wrap{transition:none}}
