:root{--maroon:#6b0f2a;--gold:#c9a24b;--cream:#fff8ec;--blush:#f4c9c9;--ink:#482932;--muted:#7c6563;--line:#c9a24b66}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--cream);color:var(--ink);font-family:'Mukta',sans-serif;font-size:18px;line-height:1.7}button,input,textarea{font:inherit}a{color:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a,button{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--gold);outline-offset:5px}header{position:absolute;top:0;left:0;width:100%;height:85px;z-index:5;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;color:var(--maroon)}.monogram{text-decoration:none;font:30px 'Cormorant Garamond',serif}.monogram i,.loader-mark i{font-size:.6em;color:#967127}.header-date{font:11px 'Poppins',sans-serif;letter-spacing:3px}#language{background:transparent;border:1px solid var(--line);border-radius:24px;padding:7px 16px;color:var(--maroon);font-size:13px}#loader{position:fixed;inset:0;background:white;z-index:100;display:flex;align-items:center;justify-content:center;flex-direction:column;transition:opacity .5s}#loader.done{opacity:0;pointer-events:none}.loader-mark{font:56px 'Cormorant Garamond',serif;color:var(--maroon)}#loader p{font-family:'Tiro Devanagari Hindi',serif;font-size:17px}.loading-track{width:200px;height:2px;background:#e7d5ae}#loading-bar{display:block;width:0;height:100%;background:var(--maroon);transition:width .2s}#story{background:#fff}#stage{position:sticky;top:0;height:100svh;min-height:520px;overflow:hidden;background:#fff}#canvas-host{position:absolute;inset:0}canvas{display:block;width:100%;height:100%}.stage-kicker{position:absolute;top:115px;width:100%;text-align:center;z-index:1;font:10px 'Poppins',sans-serif;letter-spacing:4px;color:#846e58}.story-caption{position:absolute;bottom:65px;width:100%;text-align:center;color:var(--maroon);pointer-events:none}.story-caption p{font:19px 'Tiro Devanagari Hindi',serif;margin:0 20px 8px}.scroll-arrow{display:block;color:#967127;animation:bounce 1.8s infinite}.skip-story{position:absolute;bottom:25px;right:6vw;font-size:13px;text-decoration:none;color:var(--muted)}.story-progress{position:absolute;bottom:0;width:100%;height:2px;background:#f2e7d8}.story-progress span{display:block;height:100%;background:var(--gold);width:0}#fallback{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:min(92%,950px)}nav{position:sticky;top:0;background:#fff8eced;backdrop-filter:blur(12px);border-block:1px solid var(--line);z-index:10;display:flex;justify-content:center;gap:45px;padding:16px}nav a{text-decoration:none;font-size:16px;color:var(--maroon)}.section{padding:100px max(6vw,22px);max-width:1400px;margin:auto;scroll-margin-top:65px}.eyebrow{font:11px 'Poppins','Mukta',sans-serif;letter-spacing:3px;color:#8b6726;text-transform:uppercase;margin:0 0 24px}h1,h2,h3{font-weight:400;color:var(--maroon);line-height:1.35}h1{font:clamp(50px,7.5vw,104px) 'Cormorant Garamond',serif;margin:20px 0}h1 span,footer h2 span{font-size:.4em;vertical-align:middle;color:var(--gold);margin:0 12px}h2{font:clamp(30px,4vw,46px) 'Tiro Devanagari Hindi',serif;margin:12px 0 40px}h3{font:27px 'Tiro Devanagari Hindi',serif}.summary{text-align:center;padding-top:110px}.shlok{font-family:'Tiro Devanagari Hindi',serif;font-size:17px;color:var(--muted)}.divider{font:28px 'Cormorant Garamond',serif;color:var(--gold);letter-spacing:8px;margin:30px 0}.date-line{font:14px 'Poppins',sans-serif;letter-spacing:3px;color:var(--muted)}.invitation-text{max-width:700px;margin:35px auto;font:21px/2 'Tiro Devanagari Hindi',serif}.button{display:inline-block;border:1px solid var(--maroon);background:var(--maroon);color:white;padding:13px 28px;text-decoration:none;border-radius:2px;transition:box-shadow .2s,transform .2s;font-size:16px}.button:hover{box-shadow:0 5px 25px #c9a24b55;transform:translateY(-2px)}.secondary{color:var(--maroon);background:transparent}.countdown-section{text-align:center;border-block:1px solid var(--line);background:#f5eddc}.clock{display:flex;justify-content:center;gap:18px}.clock>div{border:1px solid var(--gold);border-radius:80px 80px 4px 4px;min-width:115px;padding:28px 15px 15px}.clock strong{display:block;font:50px 'Cormorant Garamond',serif;color:var(--maroon);font-variant-numeric:tabular-nums}.clock span{font-size:13px;color:var(--muted)}#events>h2,#events>.eyebrow,#events>.divider,#venues>h2,#venues>.eyebrow,#family>h2,#family>.eyebrow,#gallery>h2,#gallery>.eyebrow{text-align:center}.event-list{max-width:900px;margin:auto;display:grid;gap:18px}.event-card{position:relative;border:1px solid var(--line);padding:28px 30px;display:grid;grid-template-columns:80px 1fr auto;gap:25px;align-items:center;background:#fffaf2}.event-card.featured{box-shadow:0 0 30px #c9a24b25;border-color:var(--gold);background:#fff3dd}.event-date{text-align:center;border-right:1px solid var(--line);padding-right:23px}.event-date strong{display:block;font:44px 'Cormorant Garamond',serif;color:var(--maroon)}.event-date span{font:10px 'Poppins',sans-serif;letter-spacing:2px}.event-card h3{font:23px/1.6 'Tiro Devanagari Hindi',serif;margin:8px 0}.weekday{font-size:14px;color:var(--muted)}.calendar{border:0;background:transparent;color:var(--maroon);text-decoration:underline;text-underline-offset:5px;font-size:13px}.event-symbol{color:#a47a28;margin-right:10px}.venues-section{background:#f7efdf;max-width:none}.venue-grid{max-width:1150px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:28px}.venue-card{border:1px solid var(--line);background:var(--cream);padding:30px}.venue-card h3{font-size:25px}.venue-card iframe{border:0;width:100%;height:240px;filter:saturate(.7);margin:20px 0}.venue-actions{display:flex;gap:14px;flex-wrap:wrap}.venue-actions a,.venue-actions button{font-size:13px;color:var(--maroon);background:none;border:0;padding:0;text-decoration:underline;text-underline-offset:4px}.route{text-align:center;max-width:1000px;margin:40px auto 20px;font:13px/2 'Poppins',sans-serif}.route span{color:#8b6726;padding:0 10px}.venue-note{max-width:850px;text-align:center;margin:auto;font-size:17px}.family-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;max-width:950px;margin:60px auto 35px}.arch{border:1px solid var(--gold);border-radius:180px 180px 5px 5px}.family-card{padding:65px 40px 40px;text-align:center;box-shadow:inset 0 0 0 8px var(--cream),inset 0 0 0 9px #c9a24b44}.small-ornament{font:40px 'Cormorant Garamond',serif;color:var(--gold)}.family-card .eyebrow{margin-top:20px}.family-card p{font-size:18px}.family-blessing{text-align:center;color:var(--muted)}.couple-section{text-align:center;background:#f5eddc;max-width:none}.portraits{display:flex;justify-content:center;gap:40px;align-items:center}.portraits figure{margin:0;width:min(34vw,260px)}.portrait{height:330px;overflow:hidden;position:relative;background:#eddcc9}.portrait img{position:relative;width:100%;height:100%;object-fit:cover;z-index:1}.placeholder:before{content:attr(data-placeholder);position:absolute;inset:0;display:grid;place-items:center;color:#92733e;font:70px 'Cormorant Garamond',serif;background:linear-gradient(145deg,#f7eddf,#eddbc6)}.portraits figcaption{font:22px 'Tiro Devanagari Hindi',serif;color:var(--maroon);margin:25px 0}.couple-heart{color:var(--gold);font-size:22px}.blessing{font:20px/2 'Tiro Devanagari Hindi',serif;margin-top:45px}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.gallery-item{position:relative;aspect-ratio:4/5;border:1px solid var(--line);background:#f3e7d4;overflow:hidden}.gallery-item img{width:100%;height:100%;object-fit:cover;position:relative;z-index:1}.gallery-item:before{font-size:36px}.rsvp-section{display:grid;grid-template-columns:1fr 1fr;gap:90px;border-top:1px solid var(--line)}.rsvp-section h2{line-height:1.7}.text-link{color:var(--maroon)}form label{display:block;margin-bottom:20px}label>span{display:block;font-size:15px;color:var(--maroon);margin-bottom:5px}input,textarea{width:100%;padding:10px 12px;border:1px solid #bda78c;background:#fffdf8;border-radius:2px;color:var(--ink)}fieldset{border:1px solid var(--line);margin:0 0 20px;padding:15px}legend{font-size:15px;color:var(--maroon)}#event-options label{display:flex;gap:10px;font-size:15px;margin:8px 0;align-items:flex-start}input[type=checkbox]{width:18px;height:18px;accent-color:var(--maroon);flex-shrink:0;margin-top:5px}.form-note{font-size:13px;color:var(--muted)}#thank-you{padding:16px;background:#dde8c8;animation:appear .6s}footer{padding:70px 20px 100px;background:var(--maroon);color:#fff8ec;text-align:center}footer h2{font:52px 'Cormorant Garamond',serif;color:#fff8ec;margin:20px 0}footer .button{border-color:#c9a24b;color:#fff8ec;margin:15px}footer small{display:block;font:12px 'Poppins',sans-serif;margin-top:30px;opacity:.7}#music{position:fixed;right:20px;bottom:24px;width:45px;height:45px;border:1px solid var(--gold);border-radius:50%;background:var(--cream);color:var(--maroon);font-size:24px;z-index:20;box-shadow:0 3px 18px #48293222}#toast{position:fixed;bottom:85px;left:50%;transform:translateX(-50%);max-width:90vw;background:var(--maroon);color:white;padding:10px 22px;border-radius:4px;z-index:100;opacity:0;pointer-events:none;font-size:15px}#toast.show{opacity:1}dialog{border:1px solid var(--gold);padding:30px;background:var(--cream);max-width:min(90vw,950px);color:var(--maroon);text-align:center}dialog::backdrop{background:#281018cc}dialog img{max-height:75vh;max-width:100%;display:block;margin:auto}dialog button{position:absolute;right:3px;top:0;border:0;background:var(--cream);color:var(--maroon);font-size:28px}.skip{position:fixed;top:-100px;z-index:200;background:white;padding:10px}.skip:focus{top:0}.petal{position:fixed;pointer-events:none;top:-20px;width:7px;height:12px;background:#e8892b44;border-radius:100% 0 100% 0;animation:fall linear infinite;z-index:11}@keyframes fall{to{transform:translate(70px,105vh) rotate(400deg)}}@keyframes bounce{50%{transform:translateY(7px)}}@keyframes appear{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1000px){.section{padding-top:120px;padding-bottom:120px}}@media(max-width:650px){header{height:70px}.header-date{font-size:9px;letter-spacing:2px}.stage-kicker{top:100px;font-size:9px;letter-spacing:3px}.story-caption{bottom:90px}.skip-story{bottom:35px}.section{padding-top:70px;padding-bottom:70px}nav{position:fixed;top:auto;bottom:12px;left:12px;right:12px;border:1px solid var(--line);border-radius:35px;padding:14px 9px;gap:0;justify-content:space-evenly;box-shadow:0 3px 20px #48293215}nav a{font-size:13px}h1{font-size:54px}h1 span{margin:0 2px}.date-line{font-size:11px;letter-spacing:2px}.invitation-text{font-size:18px;line-height:2}.clock{gap:8px}.clock>div{min-width:0;flex:1;padding:22px 5px 15px}.clock strong{font-size:38px}.clock span{font-size:11px}.event-card{grid-template-columns:56px 1fr;padding:22px 15px;gap:14px}.event-date{padding-right:12px}.event-date strong{font-size:36px}.event-card h3{font-size:20px}.calendar{grid-column:2;text-align:left;padding:0}.venue-grid,.family-grid,.rsvp-section{grid-template-columns:1fr;gap:25px}.venue-card{padding:22px}.family-card{padding:60px 30px 30px}.family-grid{gap:30px}.portraits{gap:14px}.portrait{height:210px}.portraits figure{width:42%}.couple-heart{font-size:14px}.portraits figcaption{font-size:18px}.gallery-grid{grid-template-columns:repeat(2,1fr);gap:12px}.rsvp-section{gap:30px}#music{bottom:83px;right:16px}#toast{bottom:140px}.blessing{font-size:17px}footer h2{font-size:44px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.petal{display:none}}

/* DARK STUDIO EDITION — charcoal, champagne, cinematic negative space. */
:root{--maroon:#f0e9dc;--gold:#d4b47e;--cream:#0a0b0e;--blush:#cfaba5;--ink:#eeeae2;--muted:#94949c;--line:#ffffff19;--surface:#111217;--accent:#d4b47e;color-scheme:dark}
body{background:#0a0b0e;color:var(--ink);font-size:17px}header{position:absolute;padding:0 5.5vw;height:100px;border-bottom:1px solid #ffffff12;left:4vw;width:92%;z-index:12}.monogram{font-weight:600;letter-spacing:-2px;font-size:34px}.monogram i{color:var(--accent)}.header-date{color:#b4b3b9;font-size:10px;letter-spacing:2px}#language{border-color:#ffffff27;color:#eee9df;border-radius:5px;padding:7px 16px;background:#ffffff05}#story,#stage{background:#08090c}#stage{min-height:650px}#canvas-host{z-index:2;outline-offset:-4px;touch-action:pan-y}.stage-kicker{top:125px;text-align:left;display:flex;justify-content:space-between;padding:0 5.5vw;letter-spacing:2px;font-size:9px;color:#8e8e99;pointer-events:none}.ghost-type{position:absolute;top:17%;left:8%;font:800 clamp(130px,27vw,430px)/1 system-ui,sans-serif;color:#ffffff03;letter-spacing:-.09em;white-space:nowrap;pointer-events:none;z-index:0}.stage-intro{position:absolute;z-index:3;left:5.5vw;top:29%;width:46%;pointer-events:none}.stage-intro a{pointer-events:auto}.stage-intro .eyebrow{font-size:9px;letter-spacing:1.8px;color:#b7abbc;display:flex;align-items:center;gap:10px}.signal-dot{width:5px;height:5px;border-radius:50%;background:var(--accent);box-shadow:0 0 12px #d4b47e88}.stage-intro h2{font:750 clamp(40px,5.6vw,88px)/.98 system-ui,sans-serif;letter-spacing:-.065em;margin:25px 0 28px;color:#f4efe6}.stage-intro h2>span{color:#c1a57d}.stage-date{font:12px 'Poppins',sans-serif;color:#a4a2aa;letter-spacing:1px;margin-bottom:28px}.stage-hint{font-size:13px;color:#88858c;margin-top:24px}.stage-intro .button{font-size:14px;padding:14px 26px}.button{background:#ede7dc;border-color:#ede7dc;color:#151418;border-radius:7px;padding:13px 25px;box-shadow:none;font-weight:500}.button:hover{background:white;box-shadow:0 0 36px #d4b47e15}.secondary{background:none;color:#eee7da;border-color:#ffffff2a}.story-caption{z-index:4;bottom:132px;left:53%;width:43%;text-align:center}.story-caption p{font:15px 'Mukta',sans-serif;color:#b8aaa3}.scroll-arrow{font-size:14px;color:#d4b47e}.model-controls{position:absolute;z-index:6;right:5.5vw;bottom:135px;display:flex;gap:4px;background:#101116bf;backdrop-filter:blur(15px);border:1px solid #ffffff1a;border-radius:30px;padding:4px;transform:translateY(70px)}.model-controls button{border:0;border-radius:22px;padding:8px 13px;background:transparent;color:#8c8b95;font:10px 'Poppins',sans-serif}.model-controls button.active{color:#f4ead9;background:#ffffff0b}.model-controls button:hover{color:white}.chapter-rail{position:absolute;bottom:27px;left:5.5vw;right:5.5vw;z-index:5;display:grid;grid-template-columns:repeat(5,1fr);gap:20px}.chapter-rail button{display:flex;align-items:center;gap:10px;border:0;border-bottom:2px solid #ffffff13;background:none;color:#85858f;padding:18px 0;font:11px 'Poppins',sans-serif;text-align:left}.chapter-rail button span{color:#6b6476;font-size:9px}.chapter-rail button.active{color:#f4eadc;border-bottom-color:#d4b47e}.chapter-rail button.active span{color:#d4b47e}.story-progress{background:#ffffff05}.story-progress span{background:#d4b47e}#part-labels{position:absolute;z-index:5;left:5.5vw;bottom:150px;display:flex;flex-direction:column;gap:10px;pointer-events:none;font:9px 'Poppins',sans-serif;letter-spacing:2px;color:#afa2a0}#part-labels[hidden]{display:none}.exploring .stage-intro{opacity:0!important;pointer-events:none}.exploring .story-caption{display:none}.exploring #canvas-host{cursor:grab;touch-action:none}.exploring #canvas-host:active{cursor:grabbing}#fallback{z-index:3;max-width:50%;left:74%;border-radius:5px;box-shadow:0 30px 90px #0008}
nav{background:#0a0b0eed;border-color:#ffffff13;gap:50px;padding:18px}nav a{color:#b1adb4;font-size:14px}nav a:hover{color:#f3e9da}.section{max-width:1400px;padding:120px 8vw}.eyebrow{color:#a99a80;letter-spacing:3px;font-size:10px}h1{font-weight:500;color:#f1eadd;font-size:clamp(56px,8vw,120px);letter-spacing:-4px}h2{color:#f0e9df;font-size:clamp(29px,4vw,48px)}h3{color:#e2d6c3}.summary{padding-top:140px;padding-bottom:140px}.summary .eyebrow{color:#c4a87a}.shlok{color:#a6a0a3;line-height:2}.divider{color:#8b734b;font-size:23px;opacity:.8}.invitation-text{color:#bdb4b3;line-height:2.2;font-size:20px}.date-line{color:#b6a184}.countdown-section{background:radial-gradient(ellipse at 50% 0,#28211b44,transparent 65%);border-color:#ffffff13}.clock{gap:0;max-width:750px;margin:auto}.clock>div{border:0;border-right:1px solid #ffffff19;border-radius:0;flex:1;padding:20px}.clock>div:last-child{border:0}.clock strong{font-size:72px;color:#e3d0ae;font-weight:400}.clock span{color:#8f8990}.event-list{max-width:1050px;gap:0}.event-card,.event-card.featured{border:0;border-top:1px solid #ffffff1a;background:none;padding:35px 15px;box-shadow:none;grid-template-columns:100px 1fr auto;gap:30px}.event-card:last-child{border-bottom:1px solid #ffffff1a}.event-card.featured{background:linear-gradient(90deg,#d4b47e09,transparent);border-top-color:#d4b47e66}.event-date{border-right-color:#ffffff16}.event-date strong{font:58px 'Cormorant Garamond',serif;color:#d4bc96}.event-date span{color:#7e7781}.event-card h3{color:#d2c8bf}.weekday{color:#787780;font-size:12px}.event-symbol{color:#b69564}.calendar{color:#c3ae8e;font-size:11px}.venues-section{background:#0e0f13}.venue-card{background:#121318;border:1px solid #ffffff13;border-radius:15px;padding:35px}.venue-card h3{font-size:25px}.venue-card p{color:#a49b9b}.venue-card iframe{filter:grayscale(1) invert(.88) contrast(.87);border-radius:8px;opacity:.8}.venue-actions a,.venue-actions button{color:#c7b08d}.venue-note{color:#8f878b;font-size:16px}.route{color:#d0c6ba;font-size:11px}.route span{color:#9d805c}.family-grid{gap:35px}.family-card{background:radial-gradient(ellipse at top,#2c241c55,transparent 65%);border-color:#b0956640;box-shadow:inset 0 0 0 8px #0a0b0e,inset 0 0 0 9px #d4b47e13;padding:75px 40px 40px}.family-card p{color:#a99e9c;font-size:17px}.family-card h3{color:#e1ceb0}.family-blessing{font-size:16px;color:#9c9191}.couple-section{background:#0e0f13}.portrait{background:#17171b;border-color:#ba98613f;box-shadow:0 35px 50px #0005}.placeholder:before{background:radial-gradient(ellipse at 50% 20%,#30271f,#15151a 75%);color:#8c7454;font-weight:400}.couple-heart{color:#91734e}.portraits figcaption{color:#d0bc9b}.blessing{color:#a99c99}.gallery-grid{gap:17px}.gallery-item{background:#17171b;border-color:#ffffff10;border-radius:12px}.gallery-item:before{color:#625b58}.rsvp-section{border-top-color:#ffffff13;gap:100px}.rsvp-section p{color:#aaa0a0}.text-link{color:#dbc5a3}input,textarea{background:#131419;border:1px solid #ffffff1b;color:#e4dad0;border-radius:7px;padding:12px}input:focus,textarea:focus{border-color:#ae8b57}label>span,legend{color:#beb0a6;font-size:14px}fieldset{border-color:#ffffff1c;border-radius:7px}#event-options label{color:#a89c98;font-size:14px}input[type=checkbox]{accent-color:#bfa16c}#thank-you{color:#d2ddc6;background:#1e2b20;border-radius:8px}.form-note{color:#706a72!important;font-size:12px}footer{background:#08090b;border-top:1px solid #ffffff13;padding:100px 20px 130px}footer>p{color:#a99b96}footer h2{font-size:66px;letter-spacing:-2px}footer small{color:#8a7d7b}footer .button{border-color:#ffffff27;color:#d8c6aa}#music{background:#17171bcc;border-color:#ffffff25;color:#d6c4a6;backdrop-filter:blur(14px)}#toast{background:#272329;color:#f4e7d5;border:1px solid #d4b47e33}#loader{background:#08090c;color:#c5b29a}.loader-mark{color:#f0e6d8}.loader-mark i{color:#a0845a}.loading-track{background:#332c25}#loading-bar{background:#d4b47e}dialog{background:#101116;border-color:#5b4e39;color:#e0ccb0}dialog button{background:#101116;color:#e0ccb0}.petal{display:none}.skip{background:#202027;color:white}
@media(min-width:1600px){.stage-intro{top:32%}.stage-intro h2{font-size:100px}}
@media(max-width:900px){.stage-intro h2{font-size:clamp(36px,6vw,64px)}.stage-intro .eyebrow{font-size:8px;letter-spacing:1px}.model-controls{bottom:150px}.story-caption{bottom:170px}.section{padding:95px 6vw}.rsvp-section{gap:45px}}
@media(max-width:650px){header{height:76px;padding:0 2vw}.header-date{font-size:8px}.stage-kicker{top:98px;font-size:7px;letter-spacing:1.2px}.stage-kicker span:last-child{display:none}#stage{min-height:700px}.stage-intro{top:147px;left:6vw;width:88%;text-align:left}.stage-intro .eyebrow{font-size:8px;letter-spacing:1.3px}.stage-intro h2{font-size:clamp(42px,12vw,60px);margin:17px 0;line-height:.96}.stage-intro .stage-date{font-size:10px;margin-bottom:16px}.stage-intro .button{padding:9px 17px;font-size:12px}.stage-hint{display:none}.ghost-type{top:37%;left:4%;font-size:50vw}.model-controls{right:6vw;bottom:99px;transform:none}.model-controls button{font-size:9px;padding:7px 10px}.story-caption{left:6vw;width:auto;bottom:102px;text-align:left}.story-caption p{font-size:12px;margin:0}.scroll-arrow{display:none}.chapter-rail{bottom:27px;gap:10px;left:6vw;right:6vw}.chapter-rail button{font-size:8px;display:block;padding:13px 0}.chapter-rail button span{display:block;font-size:8px;margin-bottom:5px}.section{padding:75px 24px}nav{border-radius:22px;background:#15151beb;padding:15px 8px;gap:0}nav a{font-size:12px}h1{font-size:58px;letter-spacing:-2px}.invitation-text{font-size:18px}.clock strong{font-size:49px}.clock>div{padding:12px 5px}.event-card,.event-card.featured{grid-template-columns:58px 1fr;gap:15px;padding:28px 0}.event-date{padding-right:12px}.event-date strong{font-size:43px}.event-card h3{font-size:20px}.calendar{grid-column:2;font-size:11px}.venue-card{padding:24px}.family-card{padding:65px 25px 30px}.rsvp-section{gap:30px}.gallery-grid{gap:12px}footer h2{font-size:48px}#fallback{max-width:88%;width:88%;left:50%;top:64%}#part-labels{bottom:160px;font-size:8px}.exploring .stage-kicker span:last-child{display:block;font-size:6px}.exploring .stage-intro{display:none}}
.stage-kicker{z-index:4}.ghost-type{z-index:3}
/* ScrollTrigger owns scroll interpolation. Prevent browser anchoring/smooth restore
   from shifting the page when its pin spacer is inserted or refreshed. */
html{scroll-behavior:auto;overflow-anchor:none}body,.pin-spacer{overflow-anchor:none}
@media(max-width:650px){.chapter-rail{bottom:95px}.model-controls{bottom:153px}.story-caption{bottom:207px;left:6vw;width:88%;text-align:center}.story-caption p{font-size:12px}#part-labels{bottom:225px}}

/* Responsive stage: every control must fit inside the actual visible screen. */
#stage{min-height:0;height:100svh}
.section,.venue-card,.family-card,form,fieldset,.event-card>div{min-width:0}
.venue-grid,.family-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.rsvp-section{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.event-card{grid-template-columns:100px minmax(0,1fr) auto}
.venue-card p,.family-card p,.route{overflow-wrap:anywhere}
input,textarea,select{min-width:0}
@media(max-width:650px){
 .venue-grid,.family-grid,.rsvp-section{grid-template-columns:minmax(0,1fr)}
 .event-card,.event-card.featured{grid-template-columns:58px minmax(0,1fr)}
 .chapter-rail{gap:8px;bottom:calc(88px + env(safe-area-inset-bottom,0px))}
 .chapter-rail button{font-size:10px;min-height:48px}.chapter-rail button span{font-size:9px}
 .model-controls{bottom:calc(153px + env(safe-area-inset-bottom,0px))}
 nav{bottom:calc(12px + env(safe-area-inset-bottom,0px));padding:5px 7px}
 nav a{display:flex;align-items:center;justify-content:center;min-height:44px;padding:0 4px}
 #music{top:82px;bottom:auto;right:16px;width:42px;height:42px}
 #language{min-height:44px}.model-controls button{min-width:44px;min-height:44px}
 #music{width:44px;height:44px}.calendar{min-height:44px}
 .venue-actions a,.venue-actions button{display:inline-flex;align-items:center;min-height:44px}
 #toast{bottom:calc(83px + env(safe-area-inset-bottom,0px))}
}
@media(max-width:650px) and (max-height:740px){
 .stage-intro{top:112px}.stage-intro h2{font-size:clamp(33px,10.8vw,42px);margin:12px 0}
 .stage-intro .eyebrow{font-size:7px;letter-spacing:1px;margin-bottom:12px}
 .stage-intro .stage-date{font-size:9px;margin:10px 0 12px}
 .stage-intro .button{font-size:11px;padding:6px 14px}
 .stage-kicker{top:88px;font-size:6px}.story-caption{display:none}
 .model-controls{bottom:calc(145px + env(safe-area-inset-bottom,0px))}
 .chapter-rail{bottom:calc(83px + env(safe-area-inset-bottom,0px))}
 #part-labels{bottom:210px;font-size:7px}
}
@media(orientation:landscape) and (max-height:540px){
 header{height:60px}.monogram{font-size:27px}.header-date{font-size:9px}
 .stage-kicker{top:78px;font-size:7px}.stage-kicker span:last-child{display:none}
 .stage-intro{top:105px}.stage-intro .eyebrow{font-size:7px;letter-spacing:1px;margin-bottom:8px}
 .stage-intro h2{font-size:clamp(28px,4.6vw,46px);margin:10px 0 15px}
 .stage-intro .stage-date{font-size:10px;margin-bottom:14px}
 .stage-intro .button{padding:8px 17px;font-size:12px}.stage-hint{display:none}
 .chapter-rail{bottom:12px}.chapter-rail button{padding:10px 0;font-size:10px;min-height:42px}
 .model-controls{bottom:70px;transform:none}.model-controls button{padding:6px 11px;font-size:9px}
 .story-caption{bottom:105px}.story-caption p{font-size:12px}.scroll-arrow{display:none}
 #music{top:8px;bottom:auto;right:calc(9.5vw + 88px);width:40px;height:40px}
}
@media(max-width:650px) and (max-height:600px){.stage-intro .button{display:none}}
@media(min-width:651px){
 .model-controls{bottom:105px;transform:none;right:max(5.5vw,90px)}
 .chapter-rail{right:max(5.5vw,90px)}.story-caption{bottom:175px}
}
@media(orientation:landscape) and (max-height:540px){
 .stage-intro{top:90px}.stage-intro h2{font-size:clamp(25px,4.6vw,46px);margin:8px 0 10px}
 .stage-intro .button{display:inline-block}.model-controls{bottom:62px}
 .chapter-rail button{display:flex;align-items:center;gap:8px;min-height:42px}
 .chapter-rail button span{display:inline;margin:0}
 nav{position:sticky;top:0;bottom:auto;left:auto;right:auto;border-radius:0;padding:4px 8px}
 nav a{min-height:36px}
}
@media(orientation:landscape) and (max-height:400px){.story-caption{display:none}}
@media(max-width:650px) and (max-height:740px) and (orientation:portrait){.model-controls{bottom:calc(153px + env(safe-area-inset-bottom,0px))}}

/* Accessible card reader: normal Hindi text first, original artwork one tap away. */
.stage-intro button{pointer-events:auto}.summary-actions{display:flex;justify-content:center;align-items:center;gap:14px;flex-wrap:wrap}
.summary-actions .text-link{flex-basis:100%;margin-top:6px;font-size:15px}
nav button{font:inherit;font-size:14px;color:#e1c08a;border:0;background:none;cursor:pointer}
.reader-launch{margin-top:24px;border:1px solid #d4b47e66;background:none;color:#e4c9a1;padding:10px 18px;border-radius:6px;font-size:15px;min-height:44px}
html.reader-is-open,html.reader-is-open body{overflow:hidden}
#card-reader:not([open]){display:none}
#card-reader{position:fixed;inset:0;width:100%;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;border-radius:0;background:#0e0f13;color:#eee5da;display:flex;flex-direction:column;text-align:left;overflow:hidden;box-sizing:border-box}
#card-reader::backdrop{background:#08090c}
#card-reader button{position:static;font:inherit;min-height:44px;min-width:44px;border:1px solid #ffffff25;border-radius:7px;background:#18191f;color:#d6c6b2;padding:8px 14px;cursor:pointer;line-height:1.4}
#card-reader button:disabled{opacity:.35;cursor:default}
.reader-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-shrink:0;padding:calc(12px + env(safe-area-inset-top,0px)) max(18px,env(safe-area-inset-right,0px)) 10px max(18px,env(safe-area-inset-left,0px));border-bottom:1px solid #ffffff12}
#card-reader h2{font:21px/1.5 'Mukta',sans-serif;margin:0;color:#f4e5cd}
#card-reader #reader-close{font-size:23px;padding:4px 12px}
.reader-tabs,.reader-modes{display:flex;gap:8px;padding:10px max(18px,env(safe-area-inset-right,0px)) 0 max(18px,env(safe-area-inset-left,0px));flex-shrink:0}
.reader-tabs button,.reader-modes button{flex:1}
#card-reader .reader-tabs button{font-size:18px}
#card-reader .reader-modes button{font-size:15px}
#card-reader button[aria-selected=true],#card-reader button[aria-pressed=true]{background:#dcc29b;color:#201b19;border-color:#dcc29b}
.reader-content{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;margin-top:12px;outline-offset:-3px}
.reader-prose{max-width:780px;padding:12px 24px calc(40px + env(safe-area-inset-bottom,0px));margin:auto;font:21px/1.95 'Mukta',sans-serif;color:#eee2d4;overflow-wrap:anywhere}
.reader-prose[hidden],.reader-canvas[hidden],#reader-image-tools[hidden],.reader-paper[hidden]{display:none!important}
.reader-prose p{margin:0 0 22px}.reader-prose h3{font:26px/1.7 'Tiro Devanagari Hindi',serif;color:#e3c38f;margin:24px 0 14px}
.reader-prose h4{font:22px/1.8 'Mukta',sans-serif;color:#f0e0c9;margin:0}
.reader-prose section{border-top:1px solid #d4b47e30;padding-top:10px;margin-top:24px}
.reader-prose .reader-event{padding:22px 0;margin-top:0}.reader-event p{font-size:17px;color:#baaa97;margin-bottom:8px}
.reader-prose a{display:inline-flex;align-items:center;min-height:44px;color:#e2bf87;text-underline-offset:5px;margin-bottom:14px}
.reader-canvas{position:relative;width:100%;height:100%;min-height:80px;overflow:hidden;touch-action:none;user-select:none;cursor:grab;outline-offset:-4px;background:#08090c}
.reader-canvas:active{cursor:grabbing}.reader-paper{position:absolute;left:50%;top:50%;overflow:hidden;transform-origin:center;will-change:transform;box-shadow:0 10px 60px #0008}
#card-reader .reader-paper img{position:absolute;max-width:none;max-height:none;margin:0;pointer-events:none;user-select:none;display:block}
#reader-loading{position:absolute;inset:40% 16px auto;text-align:center;color:#b6a792;font-size:17px;pointer-events:none}
#reader-image-tools{flex-shrink:0;padding:8px 18px calc(8px + env(safe-area-inset-bottom,0px));border-top:1px solid #ffffff17}
.reader-zoom-controls{display:flex;justify-content:center;align-items:center;gap:10px}
#reader-zoom-value{min-width:60px;text-align:center;font:14px 'Poppins',sans-serif;color:#d9c19c}
#card-reader .reader-zoom-controls button{font-size:22px}.reader-zoom-controls #reader-reset{font-size:14px}
.reader-hint{font-size:13px;text-align:center;color:#a5998d;margin:8px 0 0}
@media(max-width:650px){nav a[href="#countdown"]{display:none}nav button{display:flex;align-items:center;justify-content:center;min-height:44px;padding:0 4px;font-size:12px}.reader-prose{padding-inline:21px;font-size:21px}.summary-actions .button{padding:11px 18px}}
@media(max-height:500px){.reader-header{padding-top:6px;padding-bottom:6px}#card-reader h2{font-size:18px}.reader-tabs,.reader-modes{padding-top:6px}.reader-content{margin-top:6px}.reader-hint{font-size:11px;margin-top:4px}#reader-image-tools{padding-top:4px;padding-bottom:4px}.reader-prose{padding-top:4px}}

/* Golden wedding edition: warm velvet, antique gold and ceremonial arches. */
:root{--maroon:#f5d68e;--gold:#e4b953;--cream:#171006;--ink:#f8ebd1;--muted:#c3ac81;--line:#d5a64145;--surface:#251b0d;--accent:#e4b953}
body{background:#171006;color:var(--ink)}
header{border-color:#d5a64130}.monogram,.loader-mark{color:#f5d68e}.header-date,#language{color:#e1c18a}#language{border-color:#d5a64160;background:#d5a6410a}
#story,#stage{background:#171006}.stage-kicker,.stage-date,.stage-hint{color:#c5ae83}.stage-intro .eyebrow{color:#d9b974}.stage-intro h2{font-family:'Cormorant Garamond',serif;font-weight:500;letter-spacing:-.035em;color:#fff0cc}.stage-intro h2>span{color:#e4b953}.ghost-type{color:#e4b95307}
h1,h2,h3,footer h2{color:#f5d68e}.eyebrow,.date-line,.shlok{color:#cdb27f}.invitation-text,.blessing,.family-blessing{color:#e4d2af}.divider{color:#e4b953;opacity:1}
.button{background:linear-gradient(120deg,#f3d78d,#d4a442);border-color:#eac86f;color:#291b08;box-shadow:0 5px 25px #c8912620}.button:hover{background:#ffe5a3;box-shadow:0 7px 32px #d6a64035}.button.secondary{background:transparent;color:#f0cf84;border-color:#d5a64170}
nav{background:#211708f2;border-color:#c99c4245}nav a,nav button{color:#e5ca96}.countdown-section,.venues-section,.couple-section{background:radial-gradient(ellipse at top,#3e2c1055,transparent 75%),#1d150a;border-color:#d5a64140}.clock strong,.event-date strong{color:#f0ce7c}.clock span,.weekday,.event-date span{color:#bca376}
.event-card,.event-card.featured{border-color:#d5a64138}.event-card.featured{background:linear-gradient(90deg,#e4b95312,transparent)}.event-card h3{color:#eddbb4}.calendar,.venue-actions a,.venue-actions button,.text-link{color:#edc76d}.venue-card{background:#251b0d;border-color:#d5a64145;border-radius:80px 80px 12px 12px;padding-top:50px}.venue-card p,.venue-note,.family-card p,.rsvp-section p,.route{color:#cfba94}.venue-card iframe{filter:sepia(.25) saturate(.8);opacity:.9}
.family-card{background:radial-gradient(ellipse at top,#6b481838,transparent 75%);border-color:#cda34e80;box-shadow:inset 0 0 0 8px #171006,inset 0 0 0 9px #d4a74335}.family-card h3,.portraits figcaption{color:#f0ce7c}.placeholder:before{background:radial-gradient(ellipse at top,#4b3518,#241a0d 80%);color:#c9a15f}.portrait,.gallery-item{background:#251b0d;border-color:#d5a64145}
input,textarea{background:#241a0d;border-color:#d5a64145;color:#fff0cc}fieldset{border-color:#d5a64140}label>span,legend,#event-options label{color:#dac49e}footer{background:#120c04;border-color:#d5a64140}footer>p,footer small{color:#bda578}footer .button{color:#e8c77f;border-color:#d5a64165}
.model-controls{background:#241a0de8;border-color:#d5a64145}.model-controls button{color:#bfa77d}.model-controls button.active{background:#e4b95318;color:#ffe6ad}.chapter-rail button{color:#bda780;border-color:#d5a64130}.chapter-rail button span{color:#a88c56}.chapter-rail button.active{color:#ffe5a4;border-color:#e4b953}.story-caption p{color:#d8c29a}
#loader,#card-reader{background:#171006;color:#f8ebd1}#card-reader button{background:#2b200f;border-color:#d5a64145;color:#e9cc92}#card-reader button[aria-selected=true],#card-reader button[aria-pressed=true]{background:#e7c36e;color:#261905;border-color:#e7c36e}.reader-prose{color:#f2e2c3}.reader-canvas{background:#120c04}.reader-header{border-color:#d5a64130}
#music{width:auto;min-width:48px;height:46px;padding:0 15px;display:flex;align-items:center;gap:9px;border-radius:28px;background:#30220df2;border-color:#d5a64180;color:#f3d68c;box-shadow:0 4px 25px #0005;font-size:22px}.music-label{font:14px 'Mukta',sans-serif}#music[aria-pressed=true]{background:#e4b953;color:#241805;box-shadow:0 0 24px #d8a53540}#toast{background:#36280f;border-color:#d5a64160;color:#fff0cc}
@media(max-width:650px){.venue-card{padding-top:38px}.stage-intro h2{font-size:clamp(46px,13vw,66px)}#music{padding:0 12px}.music-label{font-size:12px}}
