@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Jost:wght@300;400;500&display=swap";:root{font-family:Jost,sans-serif;color:#fff1d6;background:#211811;font-synthesis:none;--ivory:#fff1d6;--gold:#dec191;--maroon:#481b25}*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid #f8db9b;outline-offset:7px}button{border:0;background:none}a{color:inherit}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Cormorant Garamond,Georgia,serif;font-weight:400}em{font-weight:400}html{scroll-behavior:smooth}.invitation{height:1100svh;position:relative;--progress:0;--temple-y:14%;--temple-scale:1.06;--temple-opacity:1;--interior-scale:1.22;--threshold-scale:1;--threshold-opacity:0;--night:0;--daylight:1;--warmth:0;--petal-opacity:0}.cinema{position:sticky;top:0;height:100svh;overflow:hidden;isolation:isolate}.environment,.scene{position:absolute;inset:0}.environment{z-index:-1;background:#251b13;overflow:hidden}.environment img{position:absolute;width:100%;height:100%;object-fit:cover}.interior{transform:scale(var(--interior-scale));will-change:transform;object-position:center;filter:brightness(.71) saturate(.8)}.daylight{position:absolute;inset:0;background:linear-gradient(110deg,rgba(247,211,152,.26),transparent 55%);opacity:var(--daylight);mix-blend-mode:screen}.maroon-wash{position:absolute;inset:0;background:#5d1429;opacity:var(--warmth);mix-blend-mode:color}.temple-camera{position:absolute;inset:0;opacity:var(--temple-opacity);transform:scale(var(--temple-scale));transform-origin:50% 79%;will-change:transform,opacity}.temple-image{object-position:50% var(--temple-y);filter:brightness(.79) saturate(.85)}.threshold{position:absolute;inset:-5%;transform:scale(var(--threshold-scale));opacity:var(--threshold-opacity);will-change:transform,opacity;pointer-events:none;clip-path:polygon(0 0,100% 0,100% 100%,80% 100%,80% 19%,20% 19%,20% 100%,0 100%)}.threshold img{filter:brightness(.6)}.vignette{position:absolute;inset:0;background:linear-gradient(180deg,rgba(17,14,11,.45),transparent 25%,transparent 55%,rgba(17,14,11,.76)),linear-gradient(90deg,rgba(22,13,9,.15),transparent 28%,transparent 72%,rgba(22,13,9,.15));box-shadow:inset 0 0 16vw #0d090759}.film-grain{position:absolute;inset:0;opacity:.06;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23n)' opacity='.5' d='M0 0h180v180H0z'/%3E%3C/svg%3E");pointer-events:none}.masthead{position:fixed;z-index:20;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:24px 4vw;color:#fff2d7;background:linear-gradient(#19130a66,transparent);gap:20px}.monogram{display:block;text-decoration:none;white-space:nowrap}.monogram-mark{height:36px;width:auto;display:block}.masthead-title{font-size:12px;letter-spacing:.28em}.motion-control{display:flex;gap:14px;align-items:center;font-size:12px;letter-spacing:.06em;min-height:44px;padding:0 6px}.motion-control span{font-size:16px}.skip-link{position:fixed;z-index:100;top:-100px;left:16px;background:#fff1d6;color:#341920;padding:14px}.skip-link:focus{top:15px}.scene{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:104px 6vw 110px;text-align:center;opacity:0;visibility:hidden;perspective:1300px}.scene.opening{visibility:visible;opacity:1;text-align:left;align-items:flex-start;justify-content:center;padding-left:8vw}.eyebrow{font-size:12px;font-weight:400;letter-spacing:.25em;line-height:1.8;color:var(--gold)}.opening-copy{margin-top:8vh;text-shadow:0 2px 20px #1e160dc9;max-width:530px}.opening h1{font-size:clamp(64px,7.5vw,118px);line-height:.93;letter-spacing:-.03em;margin:24px 0 28px}.opening h1 em{color:#f2d8a7}.opening-rule{height:1px;width:55px;background:#dfc08b;margin-bottom:24px}.opening-sub{font-family:Cormorant Garamond,serif;font-size:24px;line-height:1.3}.opening-footer{position:absolute;bottom:128px;left:8vw;right:8vw;display:flex;align-items:end;justify-content:space-between;gap:20px}.opening-footer p{font-size:12px;letter-spacing:.16em;line-height:1.9}.opening-footer p span{display:block;font-size:10px;letter-spacing:.15em;color:#e2d0b6}.opening-place{text-align:right}.scroll-cue{display:flex;flex-direction:column;gap:14px;align-items:center;font-size:11px;letter-spacing:.25em;padding:8px 15px}.scroll-cue span{font-size:24px;font-weight:300;animation:invitation-drift 3s ease-in-out infinite}.chapter-nav{position:fixed;z-index:20;bottom:0;left:4vw;right:4vw;height:80px;display:flex;align-items:center;justify-content:center;border-top:1px solid #ead7af40;gap:5vw;background:linear-gradient(transparent,#1a130cd4)}.chapter-nav button{display:flex;gap:10px;align-items:center;text-transform:uppercase;letter-spacing:.14em;font-size:11px;min-height:48px;padding:8px 4px;color:#d7c8b2;transition:color .25s}.chapter-nav button[aria-current]{color:#fff4db}.chapter-index{font-family:Georgia,serif;color:#b9a17a;font-size:12px}.chapter-nav button[aria-current] .chapter-index{color:#ffe1a2}.scroll-progress{position:fixed;bottom:0;left:0;right:0;z-index:30;height:2px;background:#e2c082;transform:scaleX(var(--progress));transform-origin:left}.ornament{display:flex;align-items:center;justify-content:center;gap:16px;color:var(--gold);margin:22px 0;font-size:20px}.ornament span{height:1px;width:52px;background:linear-gradient(90deg,transparent,#d2ae75)}.ornament span:last-child{transform:rotate(180deg)}.couple{flex-direction:row;gap:6vw;background:radial-gradient(ellipse at 38% 47%,#24180fcc,transparent 75%)}.couple-copy{max-width:660px;transform:translateY(calc((1 - var(--reveal,1))*25px))}.couple h2{font-size:clamp(32px,4.2vw,62px);line-height:1.07}.couple h2 em{color:#ebcca0}.names{display:flex;align-items:center;justify-content:center;gap:24px;margin:25px 0}.names h3{font-size:40px;margin-bottom:7px}.names p{font-size:13px;color:#e6d2b5;line-height:1.6}.union{font-family:Georgia,serif;font-size:26px;color:#cda96c}.melody{font-family:Cormorant Garamond,serif;font-size:23px;font-style:italic;line-height:1.4;color:#f0ddbd}.couple-art{width:33vw;max-width:470px;max-height:65svh;object-fit:contain;filter:drop-shadow(0 20px 35px #0006);transform:translateY(calc((1 - var(--reveal,1))*45px))}.engagement{background:radial-gradient(ellipse,#36151f66,transparent 75%)}.invitation-card{position:relative;width:min(470px,100%);padding:36px 36px 30px;color:#e9d1a3;background:linear-gradient(120deg,#662d3bea,#40171ff5 70%);border:1px solid #bf9863;box-shadow:0 30px 80px #0008,inset 0 0 70px #200b1080;transform:translateY(calc((1 - var(--reveal,1))*70px)) rotateX(calc((1 - var(--reveal,1))*22deg));transform-origin:center bottom}.invitation-card:before,.invitation-card:after{content:"";position:absolute;inset:8px;border:1px solid #cba36760;pointer-events:none}.invitation-card:after{inset:14px;border:1px dashed #d6b77d30}.card-number{display:block;font-family:Cormorant Garamond,serif;font-size:27px;margin-bottom:10px}.card-intro{font-family:Cormorant Garamond,serif;font-size:20px;line-height:1.35}.invitation-card h2{font-size:58px;line-height:1.1;margin:12px -10px;color:#fff0d2}.card-names{font-family:Cormorant Garamond,serif;font-size:28px;margin-top:10px}.card-names span{font-size:20px;padding:0 12px}.card-divider{width:40px;height:1px;background:#cbab76;margin:22px auto}.invitation-card time{font-size:21px;font-family:Cormorant Garamond,serif;letter-spacing:.06em}.card-place{font-size:15px;margin-top:8px}.card-blessing{font-family:Cormorant Garamond,serif;font-size:20px;font-style:italic;line-height:1.4}.card-bottom{display:block;font-size:10px;letter-spacing:.23em;margin-top:24px}.invitation-card .ornament{margin:12px 0}.meeting{background:#21181166}.meeting h2{font-size:clamp(68px,9vw,125px);line-height:.85;margin-top:28px}.meeting h2 em{font-size:.48em;color:#e3c08b;line-height:1.5}.meeting-date{font-size:27px;font-family:Cormorant Garamond,serif;letter-spacing:.18em}.meeting-date span{color:#ba955f;padding:0 12px}.wedding{background:radial-gradient(ellipse at center,#1e150bdd 0,#251912aa 30%,transparent 68%)}.wedding-copy{transform:translateY(calc((1 - var(--reveal,1))*25px))}.wedding h2,.finale h2{font-size:clamp(50px,6.6vw,96px);line-height:1.1;margin:14px 0}.wedding h2 em,.finale h2 em{font-size:.6em;color:#d8b576;margin:0 .15em}.wedding-date{font-family:Cormorant Garamond,serif;font-size:24px;color:#edddc4}.wedding h3{font-size:36px;margin-bottom:8px}.wedding-place{font-size:15px;color:#e0ccac}.programme{display:flex;justify-content:center;gap:38px;margin-top:34px;align-items:start}.programme-label{font-size:10px;letter-spacing:.2em;color:#d6b27e}.programme p{font-family:Cormorant Garamond,serif;font-size:27px;margin-top:8px}.programme strong{font-family:Cormorant Garamond,serif;display:block;font-size:29px;font-weight:400;margin-top:5px;color:#f0d498}.programme-join{color:#c5a06b;font-size:23px;padding-top:20px}.blessing-line{font-family:Cormorant Garamond,serif;font-style:italic;font-size:22px;color:#ddc4a0;margin-top:34px}.finale{background:radial-gradient(ellipse at 50% 35%,#1c120abb,transparent 65%);padding-bottom:21svh}.finale .eyebrow{margin-bottom:20px}.final-date{font-family:Cormorant Garamond,serif;font-size:28px}.final-venue{font-size:15px;margin-top:10px}.forever{font-family:Cormorant Garamond,serif;font-size:35px;font-style:italic;margin-top:35px;color:#f3d5a1}.days{font-size:12px;letter-spacing:.12em;margin-top:18px;color:#d5bea0}.replay{font-size:12px;margin-top:30px;min-height:44px;border-bottom:1px solid #d5b98470;padding:10px 0;letter-spacing:.08em}.replay span{padding-left:20px}.petals{position:absolute;inset:0;opacity:var(--petal-opacity);pointer-events:none;overflow:hidden}.petals i{position:absolute;top:-20px;left:var(--x);width:7px;height:11px;background:#f2e3bc;border-radius:80% 0 80% 15%;animation:petal-fall var(--duration) var(--delay) linear infinite;box-shadow:0 0 3px #ffe9a730}.petals i:nth-child(3n){background:#cc812e;width:6px;height:8px}@keyframes petal-fall{0%{transform:translate3d(0,-3vh,0) rotate(0)}to{transform:translate3d(var(--drift),107svh,0) rotate(440deg)}}@keyframes invitation-drift{50%{transform:translateY(6px)}}@media(min-width:1000px){.opening:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#1e150b77,transparent 70%);z-index:-1}.opening-copy{max-width:49vw}.temple-image{object-position:50% var(--temple-y)}}@media(max-width:700px){.masthead{padding:14px 6vw;gap:12px}.monogram-mark{height:30px}.masthead-title{display:none}.motion-control{font-size:11px}.scene{padding:90px 7vw 94px}.eyebrow{font-size:10px;letter-spacing:.18em}.scene.opening{padding-left:7vw;justify-content:flex-end;padding-bottom:215px}.opening-copy{margin:0}.opening h1{font-size:69px;margin:17px 0 20px}.opening-rule{margin-bottom:17px}.opening-sub{font-size:22px}.opening-copy .eyebrow{max-width:235px}.opening-footer{bottom:105px;left:7vw;right:7vw;align-items:center}.opening-footer p{font-size:11px}.opening-footer p span{font-size:9px;max-width:165px}.opening-place{display:none}.scroll-cue{font-size:9px;letter-spacing:.13em;gap:7px;padding-right:0}.chapter-nav{left:5vw;right:5vw;gap:0;justify-content:space-between;height:75px}.chapter-nav button{flex-direction:column;gap:6px;font-size:9px;letter-spacing:.08em;padding:7px 3px}.chapter-index{font-size:10px}.vignette{background:linear-gradient(180deg,#1c14094d,transparent 21%,#20150e26 32%,#180e09c9 77%,#180e09ef);box-shadow:inset 0 0 35vw #120d0520}.interior{object-position:center}.couple{flex-direction:column;gap:8px;justify-content:flex-start;padding-top:95px;background:linear-gradient(#21170eb3,#21170e40)}.couple h2{font-size:34px}.couple .ornament{margin:13px 0}.names{gap:16px;margin:14px 0}.names h3{font-size:28px}.names p{font-size:11px;max-width:145px}.union{font-size:20px}.melody{font-size:19px}.couple-art{width:68vw;max-width:310px;max-height:32svh;margin-top:2px}.invitation-card{padding:23px 22px;width:min(365px,100%)}.card-number{font-size:22px;margin-bottom:7px}.card-intro{font-size:19px}.invitation-card h2{font-size:46px}.card-names{font-size:26px}.card-divider{margin:17px auto}.invitation-card time{font-size:22px}.card-place{font-size:14px}.card-blessing{font-size:19px}.card-bottom{margin-top:17px}.meeting h2{font-size:86px}.meeting .eyebrow{max-width:270px;line-height:2}.meeting-date{font-size:26px}.meeting-date span{padding:0 5px}.wedding h2,.finale h2{font-size:48px;white-space:nowrap}.wedding-date{font-size:21px}.wedding .ornament{margin:18px 0}.wedding h3{font-size:31px}.wedding-place{font-size:13px}.programme{flex-direction:column;gap:14px;align-items:center;margin-top:25px}.programme-join{display:none}.programme-label{font-size:9px}.programme p{font-size:25px;margin-top:4px}.programme strong{font-size:28px;margin-top:2px}.blessing-line{font-size:21px;margin-top:25px}.finale{padding-bottom:22svh}.finale .eyebrow{max-width:240px}.final-date{font-size:25px}.final-venue{font-size:13px;line-height:1.6}.forever{font-size:28px;margin-top:26px}.days{font-size:11px}.replay{margin-top:23px}.ornament span{width:36px}}@media(max-height:720px)and (max-width:700px){.scene{padding-top:78px;padding-bottom:83px}.opening h1{font-size:58px}.scene.opening{padding-bottom:175px}.opening-footer{bottom:92px}.couple h2{font-size:29px}.couple-art{max-height:26svh}.couple .ornament{margin:7px 0}.names{margin:9px 0}.melody{font-size:17px}.invitation-card{padding:16px 24px}.invitation-card h2{font-size:41px}.invitation-card .ornament{margin:8px 0}.card-number{display:none}.card-bottom{margin-top:13px}.wedding h2{font-size:43px}.wedding .ornament{margin:10px 0}.programme{margin-top:18px;gap:10px}.programme p{font-size:22px}.blessing-line{margin-top:15px}.finale{padding-bottom:16svh}}.still .cinema{position:relative;height:auto;overflow:visible}.still .temple-camera,.still .threshold{display:none}.still .interior{transform:none}.still .scene{position:relative;min-height:100svh;height:auto;visibility:visible!important;opacity:1!important;pointer-events:auto!important;padding-top:110px;padding-bottom:110px;transform:none;background-color:#22180f80}.still .scene.opening{background:linear-gradient(#21160d40,#21160dbb),url(/assets/temple.webp) center/cover;min-height:100svh}.still .opening-footer{bottom:110px}.still .couple{justify-content:center}.still .chapter-nav{background:#1c160eea}.still .petals,.still .scroll-progress{display:none}.still *{animation:none!important}.still .finale{min-height:90svh}.still .invitation-card{margin:10px 0}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}@media(min-width:701px)and (max-height:730px){.scene{padding-top:90px;padding-bottom:90px}.invitation-card{padding:15px 36px}.card-number{display:none}.invitation-card h2{font-size:48px}.invitation-card .ornament{margin:9px 0}.card-divider{margin:15px auto}.card-bottom{margin-top:14px}.wedding h2{font-size:62px}.programme{margin-top:23px}.wedding .ornament{margin:14px 0}.blessing-line{margin-top:18px}}.temple-camera{transform-origin:50% 64%}.environment .temple-image{height:var(--image-height,145svh);object-position:center;transform:translate3d(0,var(--temple-pan,0px),0);will-change:transform}.hanging-flowers,.lamp-light{position:absolute;inset:0;pointer-events:none}.hanging-flowers{clip-path:polygon(0 0,100% 0,100% 16%,88% 16%,88% 0,72% 0,72% 11%,27% 11%,27% 0,12% 0,12% 16%,0 16%);transform-origin:50% 0;animation:garland-sway 8s ease-in-out infinite alternate}.hanging-flowers img{transform:scale(var(--interior-scale));filter:brightness(.71) saturate(.8)}.lamp-light{clip-path:inset(57% 0 0);mix-blend-mode:screen;opacity:calc(.04 + var(--night)*.15);animation:lamplight 4s ease-in-out infinite alternate}.lamp-light img{transform:scale(var(--interior-scale));filter:contrast(1.8) brightness(.8)}.daylight{background:linear-gradient(110deg,rgba(247,211,152,.5),transparent 65%)}@keyframes garland-sway{0%{transform:rotate(-.18deg)}to{transform:rotate(.18deg)}}@keyframes lamplight{0%,to{filter:brightness(.8)}43%{filter:brightness(1.25)}77%{filter:brightness(.95)}}.invitation{height:700svh;--architecture-z:0px;--leaves-z:0px;--leaves-alpha:1;--exterior:1;--interior-light:0;--punjabi:0;--bell-alpha:0;--pillar-alpha:0;--ring-alpha:0;--zari-alpha:0;--couple-z:0px;--bride-z:0px;--couple-turn:0deg;--couple-x:0px;--foreground-z:0px;--floral-x:0vw;--floral-y:0vh;--proposal-z:0px;--wedding-z:0px;--night:0;--interior-scale:1.17;--interior-x:0px;--interior-y:0px}.cinema{perspective:1000px;perspective-origin:50% 50%}.environment{z-index:0;background:#100c09}.scene{z-index:2;perspective:1000px}.scene.opening{z-index:2}.opening-copy{transform:translateY(var(--opening-y,0px))}.environment svg{display:block}.interior-space{position:absolute;inset:0;opacity:var(--interior-light)}.interior-space .interior{transform:translate3d(var(--interior-x),var(--interior-y),0) scale(var(--interior-scale));filter:brightness(.78) saturate(.86)}.temple-shadow{position:absolute;inset:0;background:#100c09;opacity:calc(1 - var(--interior-light));pointer-events:none}.exterior-depth{position:absolute;inset:0;perspective:1000px;perspective-origin:50% 50%;opacity:var(--exterior);pointer-events:none}.temple-architecture,.temple-foreground{position:absolute;inset:0;transform-style:preserve-3d;will-change:transform}.temple-architecture{transform:translateZ(var(--architecture-z));filter:brightness(.8) saturate(.86)}.temple-foreground{transform:translate3d(var(--leaves-x,0px),0,var(--leaves-z));opacity:var(--leaves-alpha);filter:brightness(.81) saturate(.9)}.temple-source{position:absolute;left:50%;top:0;width:var(--image-width,100vw);height:var(--image-height,150vw);max-width:none;transform:translate3d(-50%,var(--temple-pan,0px),0)}.foreground-bells{position:absolute;inset:0;perspective:1000px;opacity:var(--bell-alpha);pointer-events:none}.brass-bell{position:absolute;top:0;width:52px;height:140px;filter:brightness(.84);transform-origin:50% 0;transform:translate3d(0,var(--bell-y,0vh),var(--bell-z,0px))}.bell-0{left:30%}.bell-1{right:30%}.near-environment{position:absolute;inset:0;z-index:4;pointer-events:none;perspective:1000px;overflow:hidden}.photo-pillars{position:absolute;inset:0;opacity:calc(var(--interior-light)*(1 - var(--punjabi)));transform:translateZ(var(--foreground-z));will-change:transform;filter:brightness(.62)}.photo-pillars svg{position:absolute;width:120%;height:100%;left:-10%;object-fit:cover}.floral-edges{position:absolute;inset:0;opacity:var(--interior-light);perspective:1000px}.jasmine{position:absolute;top:-5%;width:50px;height:42svh;filter:brightness(.85);transform-origin:50% 0;will-change:transform}.jasmine-0{left:11%;transform:translate3d(calc(-1 * var(--floral-x)),var(--floral-y),160px) rotate(-2deg)}.jasmine-1{right:11%;transform:translate3d(var(--floral-x),var(--floral-y),185px) rotate(2deg)}.invitation[data-world=punjabi] .jasmine{filter:sepia(.65) saturate(2) brightness(.8)}.vignette{background:linear-gradient(#160e0845,transparent 25%,transparent 55%,#160e08bd);box-shadow:inset 0 0 13vw #1c120742;pointer-events:none}.daylight{background:linear-gradient(115deg,#ffe3ac65,transparent 64%);opacity:var(--daylight)}.lamp-light{opacity:calc(.04 + var(--night)*.23)}.lamp-light img{transform:translate3d(var(--interior-x),var(--interior-y),0) scale(var(--interior-scale))}.petals i{animation-play-state:paused}.invitation[data-world=punjabi] .petals i,.invitation[data-world=wedding] .petals i{animation-play-state:running}.couple{gap:5vw;background:radial-gradient(ellipse at 32% 48%,#160f0acf,transparent 72%)}.standing-couple{position:relative;width:min(34vw,470px);height:65svh;flex-shrink:0;perspective:1000px;transform-style:preserve-3d}.standing-couple img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 6px 12px #190e064d) sepia(.07);will-change:transform}.standing-groom{clip-path:inset(0 50% 0 0);transform:translate3d(var(--couple-x),0,var(--couple-z)) rotateY(var(--couple-turn));transform-origin:50% 100%}.standing-bride{clip-path:inset(0 0 0 50%);transform:translate3d(var(--couple-x),0,var(--bride-z)) rotateY(var(--couple-turn));transform-origin:50% 100%}.contact-shadow{position:absolute;bottom:-1%;left:10%;right:10%;height:9%;border-radius:50%;background:radial-gradient(ellipse,#140b08c9,transparent 67%);filter:blur(7px);transform:rotateX(45deg);pointer-events:none}.couple-copy{transform:translateY(calc((1 - var(--reveal,1))*18px))}.names p{font-size:14px}.melody{color:#efdfc6}.haveli-space{position:absolute;inset:0;opacity:var(--punjabi);perspective:1000px;overflow:hidden}.haveli{position:absolute;inset:-3% -8% -10%;transform:translateZ(var(--arch-z,-120px));will-change:transform}.haveli>svg{position:absolute;inset:0;width:100%;height:100%;filter:drop-shadow(0 12px 18px #170609a8);opacity:.83}.velvet{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 80%,#772d3860,transparent 65%),repeating-linear-gradient(92deg,#38131cf2,#54202cf2,#36131af5 12%);box-shadow:inset 0 0 120px #090403}.engagement{display:flex;flex-direction:row;gap:5vw;background:none;padding-left:12vw;padding-right:12vw}.tableau{position:relative;width:min(40vw,560px);height:60svh;flex-shrink:0;transform-style:preserve-3d;will-change:transform}.tableau img{width:100%;height:100%;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 9px 12px #24110638) sepia(.05)}.tableau-proposal{transform:translateZ(var(--proposal-z)) rotateY(calc(var(--couple-turn)*-.4));transform-origin:50% 90%}.engagement-copy{min-width:300px;max-width:510px;transform:translateY(calc((1 - var(--reveal,1))*20px));text-shadow:0 3px 22px #230b1099}.engagement h2{font-size:clamp(46px,5.4vw,80px);line-height:1.05;margin:17px 0;color:#fff1d6;white-space:nowrap}.engagement h2 em{font-size:.58em;color:#d4ac71}.engagement time{font-family:Cormorant Garamond,serif;font-size:29px;letter-spacing:.04em}.engagement-place{font-size:16px;line-height:1.6;margin-top:10px}.engagement-blessing{font-family:Cormorant Garamond,serif;font-style:italic;font-size:24px;margin-top:32px;color:#e3c597}.engagement .ornament{margin:24px 0}.object-transitions{position:absolute;inset:0;z-index:6;pointer-events:none;perspective:1000px}.pillar-wipe{position:absolute;top:-10%;left:0;width:140vw;height:120%;opacity:var(--pillar-alpha);transform:translate(var(--pillar-x,-140vw));will-change:transform;overflow:hidden;box-shadow:0 0 45px 30px #0c0708a6}.pillar-wipe svg{width:100%;height:100%;filter:brightness(.5);display:block}.pillar-wipe>div{position:absolute;inset:0;background:linear-gradient(90deg,transparent,#10080695 90%,#100806)}.ring-portal{position:absolute;top:50%;left:50%;width:240px;height:240px;opacity:var(--ring-alpha);transform-origin:78% 52%;transform:translate(-78%,-52%) rotateY(var(--ring-turn,-20deg)) scale(var(--ring-scale,1));will-change:transform}.ring-portal svg{width:100%;height:100%;filter:drop-shadow(0 4px 3px #23130455)}.zari-pass{position:absolute;inset:-15%;opacity:var(--zari-alpha);transform:translate(var(--zari-x,0vw)) scaleX(var(--zari-scale,1));transform-origin:70% 50%;will-change:transform;box-shadow:0 0 25px #bb975b66;background:#ba8a42}.zari-pass svg{width:100%;height:100%;filter:sepia(.4) saturate(.8);display:block}.meeting{z-index:7;background:none;color:#29150b;padding-top:22vh;justify-content:flex-start;text-shadow:0 1px 12px #ffdf9280}.meeting .eyebrow{color:#482711}.meeting h2{font-size:clamp(38px,5vw,70px);line-height:1.1;margin:12px 0}.meeting h2 em{font-size:.8em;color:#624321}.meeting-date{font-size:26px}.wedding{flex-direction:row;gap:5vw;padding-left:11vw;padding-right:11vw;background:radial-gradient(ellipse at 67% 47%,#170d06c9,transparent 70%)}.tableau-wedding-couple{width:min(36vw,480px);height:57svh;transform:translateZ(var(--wedding-z));transform-origin:50% 90%}.wedding-copy{max-width:580px}.wedding h2{font-size:clamp(46px,5.8vw,76px)}.wedding-date{font-size:23px}.wedding h3{font-size:34px}.programme{gap:20px;margin-top:25px}.programme p{font-size:25px}.programme-label{font-size:11px;letter-spacing:.12em}.programme strong{font-size:27px}.programme-join{padding-top:15px}.blessing-line{margin-top:23px}.finale{background:radial-gradient(ellipse at 50% 37%,#190f08a1,transparent 75%);padding-bottom:20svh}.final-cultures{margin-top:28px;font-size:13px;letter-spacing:.22em;text-transform:uppercase;color:#e5c595}.finale .forever{margin-top:12px}.finale .replay{margin-top:22px}.finale .days{margin-top:17px}@media(max-width:700px){.invitation{height:660svh}.scene{padding:80px 7vw 82px}.chapter-nav{height:66px}.chapter-nav button{font-size:10px;letter-spacing:.025em}.chapter-index{font-size:10px}.motion-control{font-size:12px}.scene.opening{padding-bottom:205px}.opening-footer{bottom:96px}.temple-foreground{filter:brightness(.82)}.photo-pillars svg{width:140%;left:-20%}.jasmine{width:29px;height:30svh}.jasmine-0{left:8%}.jasmine-1{right:8%}.brass-bell{width:30px;height:80px}.bell-0{left:20%}.bell-1{right:20%}.couple{flex-direction:column;gap:8px;justify-content:center;padding-top:82px;background:linear-gradient(#1d12084d,#1d120899)}.standing-couple{order:-1;width:68vw;max-width:325px;height:36svh;margin:0 auto 5px}.couple h2{font-size:31px;line-height:1.02}.couple .eyebrow{font-size:11px}.couple .ornament{margin:9px 0}.names{gap:13px;margin:9px 0}.names h3{font-size:26px}.names p{font-size:12px;max-width:150px;line-height:1.3}.melody{font-size:18px;line-height:1.25}.union{font-size:18px}.haveli{inset:0 -19% -4%}.engagement{flex-direction:column;gap:14px;padding-top:89px;padding-left:8vw;padding-right:8vw;justify-content:center}.tableau{width:83vw;max-width:375px;height:39svh}.engagement-copy{min-width:0;width:100%}.engagement .eyebrow{font-size:12px}.engagement h2{font-size:45px;margin:10px 0}.engagement .ornament{margin:11px 0}.engagement time{font-size:25px}.engagement-place{font-size:15px;margin-top:6px}.engagement-blessing{font-size:21px;margin-top:14px}.ring-portal{width:210px;height:210px}.meeting{padding-top:24svh}.meeting h2{font-size:38px}.meeting-date{font-size:23px}.wedding{flex-direction:column;gap:7px;padding:77px 7vw 79px;justify-content:center;background:linear-gradient(#1a10064d,#1a1006a6)}.tableau-wedding-couple{width:70vw;height:25svh;max-width:315px}.wedding-copy{width:100%}.wedding .eyebrow{font-size:11px}.wedding h2{font-size:41px;margin:7px 0}.wedding-date{font-size:20px}.wedding h3{font-size:27px;margin-bottom:3px}.wedding-place{font-size:13px}.wedding .ornament{margin:8px 0;font-size:17px}.programme{margin-top:14px;gap:8px;flex-direction:column;align-items:center}.programme p{font-size:22px;margin-top:3px}.programme-label{font-size:10px}.programme strong{font-size:26px;margin-top:1px}.blessing-line{font-size:19px;margin-top:12px}.finale{padding-bottom:21svh}.finale h2{font-size:47px}.finale .eyebrow{max-width:260px;font-size:11px}.final-cultures{margin-top:25px;font-size:12px}.forever{font-size:27px}.final-venue{font-size:14px}}@media(max-width:700px)and (max-height:720px){.scene.couple{padding-top:74px;padding-bottom:76px;gap:5px}.standing-couple{height:28svh}.couple h2{font-size:27px}.couple .ornament,.names{margin:6px 0}.names h3{font-size:24px}.names p{font-size:11px}.melody{font-size:17px}.engagement{padding-top:80px;padding-bottom:78px;gap:9px}.tableau-proposal{height:32svh}.engagement h2{font-size:39px;margin:7px 0}.engagement .ornament{margin:7px 0}.engagement time{font-size:24px}.engagement-blessing{font-size:19px;margin-top:10px}.engagement-place{font-size:14px}.tableau-wedding-couple{height:20svh}.wedding{padding-top:75px;padding-bottom:75px;gap:4px}.wedding h2{font-size:36px;margin:5px 0}.wedding-date{font-size:18px}.wedding .ornament{margin:5px 0}.wedding h3{font-size:25px}.wedding-place{font-size:12px}.programme{gap:5px;margin-top:10px}.programme-label{font-size:9px}.programme p{font-size:20px}.programme strong{font-size:24px}.blessing-line{font-size:18px;margin-top:9px}.finale .forever{font-size:25px}}@media(min-width:701px)and (max-height:730px){.standing-couple,.tableau{height:58svh}.wedding h2{font-size:52px}.programme{flex-direction:column;align-items:center;gap:10px;margin-top:15px}.programme-join{display:none}.wedding .ornament{margin:10px 0}.blessing-line{margin-top:16px}}.still{height:auto}.still .environment{position:fixed}.still .interior-space{opacity:1}.still .temple-shadow,.still .exterior-depth,.still .foreground-bells,.still .near-environment,.still .object-transitions,.still .haveli-space{display:none}.still .interior-space .interior{transform:none}.still .scene{height:auto;min-height:100svh;padding-top:105px;padding-bottom:100px}.still .scene.meeting{min-height:50svh;color:#fff1d6}.still .meeting .eyebrow,.still .meeting h2 em{color:var(--gold)}.still .standing-couple img,.still .tableau{transform:none!important}.still .engagement{background:radial-gradient(ellipse,#55232bdf,#29141bea)}.still .standing-couple{margin:0 auto 15px}.still .scene>*{transform:none!important}.still .wedding .tableau{height:30svh}.still .opening-copy{margin-bottom:90px}.still .finale{min-height:95svh}.still .scene.engagement{gap:24px}.standing-pair{transform:translate3d(var(--couple-x),0,var(--couple-z)) rotateY(var(--couple-turn));transform-origin:50% 100%}.programme .reception-time{display:block;margin-top:7px;font-size:14px;letter-spacing:.09em;line-height:1.5}.header-controls{display:flex;align-items:center;gap:20px}.music-control{display:flex;align-items:center;gap:7px;min-height:44px;font-size:12px;padding:0 6px;white-space:nowrap}.music-control>span:first-child{font-size:21px;color:var(--gold)}.music-error{position:fixed;top:75px;right:4vw;font-size:12px;background:#211811;padding:8px}.music-control[aria-pressed=true]{color:#f6d99e}@media(max-width:700px){.header-controls{gap:9px}.music-control{font-size:12px}.motion-control{gap:7px}.masthead{gap:6px}}@media(max-width:360px){.masthead{padding-left:5vw;padding-right:5vw}.monogram-mark{height:26px}.header-controls{gap:4px}.music-control,.motion-control{font-size:11px;padding-left:3px;padding-right:3px}.motion-control{gap:5px}}.entry-gate{position:fixed;inset:0;z-index:100;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:26px;width:100%;background:radial-gradient(ellipse at 50% 38%,#2c1d10,#140d08 72%);color:#fff1d6;touch-action:none;opacity:1;visibility:visible;transition:opacity .6s ease,visibility .6s}.entry-mark{width:clamp(130px,22vw,220px);height:auto;filter:drop-shadow(0 10px 24px #0009)}.entry-tap{display:flex;flex-direction:column;align-items:center;gap:12px;font-size:12px;letter-spacing:.25em;text-transform:uppercase;color:#e2d0b6}.entry-tap span{font-size:22px;font-weight:300;animation:invitation-drift 3s ease-in-out infinite}.entry-gate--gone{opacity:0;visibility:hidden;pointer-events:none}.standing-couple .standing-pair,.tableau img{border-radius:12px;filter:drop-shadow(0 14px 24px #10080570);object-fit:contain}.music-control[aria-expanded=true]{color:#f6d99e}.standing-couple .standing-pair,.tableau img{border-radius:0;background:transparent;filter:drop-shadow(0 12px 14px #10080575)}
