:root{--ink:#3b3030;--paper:#f4eddf;--rose:#a56569;--ease:cubic-bezier(.22,1,.36,1);--foreground:var(--paper)}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}body{background:#26382f;color:var(--foreground);font:15px/1.5 Arial,sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;border:0;background:none}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:2px solid currentColor;outline-offset:5px}button:disabled{opacity:.25;cursor:default}body.light{--foreground:var(--ink)}header{position:fixed;inset:0 0 auto;z-index:20;padding:25px 4.2vw;display:flex;justify-content:space-between;align-items:center;color:var(--foreground);transition:color .8s}.brand{font:38px/.85 Georgia,serif;letter-spacing:-2px}.brand span{display:block;font:9px/1 Arial,sans-serif;letter-spacing:3px;margin-top:12px}.header-actions{display:flex;gap:35px;align-items:center;font-size:12px}.header-actions span{font-size:19px;margin-left:10px}.scene{position:absolute;inset:0;visibility:hidden;opacity:0;overflow:hidden;transition:opacity .9s,visibility 0s 1s;pointer-events:none}.scene.active{visibility:visible;opacity:1;pointer-events:auto;transition:opacity .9s;z-index:2}.scene.leaving{visibility:visible;opacity:0;z-index:1;transition:opacity 1s}.scene figure{margin:0;overflow:hidden}.scene img{display:block;width:100%;height:100%;object-fit:cover}.scene figcaption{font-size:10px;letter-spacing:1.4px;line-height:1.4;padding-top:13px}.scene h1,.scene h2{font-family:'Bodoni 72',Didot,Georgia,serif;font-weight:400;line-height:1;letter-spacing:-.045em;margin:21px 0}.scene h1{font-size:clamp(70px,8.5vw,145px)}.scene h2{font-size:clamp(46px,5.5vw,94px)}.scene em{font-weight:400}.eyebrow{font-size:10px;letter-spacing:2.4px;line-height:1.6}.prose{font:clamp(16px,1.35vw,23px)/1.7 Georgia,serif;margin:27px 0}.text-link{font-size:12px;letter-spacing:.08em;border-bottom:1px solid currentColor;padding:10px 0;margin-top:15px}.text-link span{display:inline-block;font-size:24px;margin-left:28px}.reveal{opacity:0;transform:translateY(30px);filter:blur(3px);transition:opacity .9s var(--ease),transform 1.3s var(--ease),filter 1.1s var(--ease)}.active .reveal{opacity:1;transform:translateY(0);filter:blur(0);transition-delay:.18s}.active .reveal:nth-child(2){transition-delay:.32s}.active .reveal:nth-child(3){transition-delay:.48s}.active .reveal:nth-child(4){transition-delay:.65s}.image-reveal{clip-path:inset(0 0 100%);transform:translateY(24px);transition:clip-path 1.5s var(--ease),transform 1.5s var(--ease)}.active .image-reveal{clip-path:inset(0);transform:translateY(0)}.image-reveal:nth-child(2){transition-delay:.18s}.image-reveal:nth-child(3){transition-delay:.32s}.active .full-photo img,.active .cover-image img,.active .closing-image img{animation:drift 22s ease-out both}@keyframes drift{from{transform:scale(1.015)}to{transform:scale(1.085)}}
footer{position:fixed;inset:auto 0 0;z-index:20;display:flex;align-items:center;gap:35px;padding:18px 4.2vw;color:var(--foreground);transition:color .8s;background:linear-gradient(0deg,#26382f18,transparent)}.scene-count{display:flex;gap:12px;align-items:center;font-size:11px;font-variant-numeric:tabular-nums}.divider,#total{opacity:.5}#scene-title{margin-left:18px;min-width:190px}#progress{display:flex;flex:1;gap:6px;max-width:320px;margin:auto}#progress button{flex:1;padding:0;height:26px;position:relative}#progress button:before,#progress button:after{content:'';position:absolute;top:12px;left:0;height:1px;background:currentColor;right:0;opacity:.3}#progress button:after{width:0;height:2px;opacity:1;transition:width .4s}#progress button[aria-current=true]:after{width:100%}.controls{display:flex;gap:10px}.controls button{width:36px;height:36px;font-size:25px}#fullscreen{margin-left:10px}#chapters{position:fixed;inset:0;z-index:40;background:#26382ffa;backdrop-filter:blur(20px);padding:5vh 8vw;color:var(--paper);overflow:auto}#chapters[hidden]{display:none}.chapter-heading{display:flex;justify-content:space-between;align-items:center}#chapter-links{display:grid;grid-template-columns:1fr 1fr;gap:5px 6vw;margin-top:3vh}#chapter-links button{display:flex;align-items:center;gap:24px;text-align:left;font:26px Georgia,serif;border-bottom:1px solid #f4eddf25;padding:19px 0}#chapter-links button span{font:11px Arial,sans-serif;color:#d7bcb1}.chapter-options{display:flex;justify-content:space-between;gap:30px;margin-top:30px;font-size:12px;color:#d7bcb1}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
/* Fine botanical drawings echo the flowers in the photographs. */
.botanical{position:absolute;right:-24px;bottom:9%;width:120px;height:235px;z-index:5;pointer-events:none;opacity:0;color:currentColor;transform-origin:bottom}.botanical:last-child{left:-32px;right:auto;bottom:13%;width:105px;height:195px;transform:scaleX(-1)}.active .botanical{opacity:.27;animation:sway 9s ease-in-out infinite,ink-in 2.5s ease both}.active .botanical:last-child{animation-delay:-3s,0s}.botanical path{stroke-dasharray:700;stroke-dashoffset:0}.active .botanical path{animation:draw 3.5s var(--ease) both}@keyframes draw{from{stroke-dashoffset:700}to{stroke-dashoffset:0}}@keyframes ink-in{from{opacity:0}to{opacity:.27}}@keyframes sway{0%,100%{rotate:-2deg;translate:0 0}50%{rotate:2deg;translate:0 -8px}}
.cover-image{position:absolute;inset:0 0 0 25%}.cover-image img{object-position:55% 48%}.cover-shade{position:absolute;inset:0;background:linear-gradient(90deg,#26382f 2%,#26382fec 20%,#26382f6e 54%,#26382f12 90%),linear-gradient(0deg,#26382f88,transparent 50%)}.cover-copy{position:absolute;left:7%;top:24%;width:77%}.cover-copy .eyebrow{color:#e3d5b8}.cover-copy h1{margin-top:24px}.cover-side{position:absolute;right:3%;top:31%;writing-mode:vertical-rl;font-size:10px;letter-spacing:2px}.overview{background:#f1eada;color:#3b3030}.overview .copy{position:absolute;left:7%;top:20%;width:38%}.overview h2{font-size:clamp(45px,5.2vw,86px)}.overview .prose{font-size:clamp(17px,1.55vw,24px);line-height:1.8}.overview-gallery{position:absolute;left:48%;right:7%;top:23%;bottom:16%;display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.overview-gallery figure{overflow:visible;height:85%}.overview-gallery figure:nth-child(2){margin-top:45px}.overview-gallery figure:nth-child(3){margin-top:90px}.overview-gallery img{height:calc(100% - 30px);object-position:50% 50%}.watermark{position:absolute;left:5%;bottom:1%;font:italic 17vw Georgia,serif;letter-spacing:-.08em;opacity:.035;pointer-events:none}.haldi{background:#e7e6d5;color:#354537}.main-photo{position:absolute;left:5%;width:52%;height:70%;top:17%;border-radius:38% 38% 0 0}.main-photo img{object-position:50% 52%}.haldi .copy{position:absolute;left:62%;top:20%;width:32%}.haldi h2{font-size:clamp(47px,5.5vw,94px)}.colour-story{position:absolute;left:62%;top:65%;font:16px/1.6 Georgia,serif}.swatches{display:flex;gap:9px}.swatches i{width:28px;height:38px;background:var(--c)}.colour-story p{margin:17px 0}.full-photo{position:absolute;inset:0}.photo-shade{position:absolute;inset:0;background:linear-gradient(90deg,#272c21bb,#272c2144 57%,#272c2112),linear-gradient(0deg,#272c21c4,transparent 65%)}.glass-copy{position:absolute;left:7%;bottom:16%;width:60%;padding:22px 30px 20px;border-left:1px solid #fff7;background:linear-gradient(90deg,#26382f42,transparent);backdrop-filter:blur(2px)}.glass-copy h2{font-size:clamp(54px,6.7vw,110px)}.glass-copy .prose{margin-top:24px;font-size:20px}.mehndi{background:#eaddd5;color:#693d42}.mehndi .copy{position:absolute;left:6%;top:17%;width:33%}.mehndi h2{font-size:clamp(45px,5.3vw,87px)}.mehndi-gallery{position:absolute;left:43%;right:7%;top:20%;bottom:14%;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:18px}.mehndi-gallery figure{overflow:visible}.mehndi-gallery figure:first-child{grid-row:span 2}.mehndi-gallery img{height:calc(100% - 30px)}.mehndi-gallery figure:first-child img{object-position:50%}.stage{background:#493039;color:#f1e9e4}.stage .copy,.mandap .copy{position:absolute;left:6%;top:25%;width:28%}.stage h2,.mandap h2{font-size:clamp(45px,5.3vw,88px)}.stage .prose,.mandap .prose{font-size:17px}.stage-photo{position:absolute;left:37%;top:50%;width:57%;aspect-ratio:3/2;transform:translateY(-50%)}.footnote{position:absolute;left:37%;bottom:13%;font-size:10px;letter-spacing:2px}.assemble-photo>img{position:absolute;inset:0;opacity:0}.assembly-pieces{position:absolute;inset:0}.assembly-piece{position:absolute;left:calc(var(--col)*25%);top:calc(var(--row)*33.333333%);width:25.025%;height:33.36%;overflow:hidden;opacity:0;transform:translate(var(--dx),var(--dy)) scale(.88);transition:transform 1.7s var(--ease),opacity 1.3s;transition-delay:var(--delay)}.scene .assembly-piece img{position:absolute;max-width:none;width:400%;height:300%;left:calc(var(--col)*-100%);top:calc(var(--row)*-100%);object-fit:fill}.active .assembly-piece{opacity:1;transform:translate(0,0) scale(1)}.night{background:#293b31;color:#f1e9e4}.night .copy{position:absolute;left:6%;top:22%;width:28%}.night-gallery{position:absolute;left:36%;right:7%;top:16%;bottom:14%;display:grid;grid-template-columns:.8fr .85fr 1fr;gap:22px}.night-gallery figure{overflow:visible;height:100%}.night-gallery figure:nth-child(2){padding-top:42px}.night-gallery figure:nth-child(3){padding-top:84px}.night-gallery img{height:calc(100% - 35px)}.welcome{background:#ece7dc;color:#39443a}.welcome .copy{position:absolute;left:6%;top:16%;width:37%}.welcome h2{font-size:clamp(43px,5.1vw,84px)}.welcome-gallery{position:absolute;left:46%;right:7%;top:18%;bottom:14%;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:20px}.welcome-gallery figure{overflow:visible}.welcome-gallery figure:first-child{grid-row:span 2}.welcome-gallery img{height:calc(100% - 30px)}.mandap{background:#ece2d5;color:#603942}.aisle .photo-shade{background:linear-gradient(90deg,#20362be0 0%,#20362b68 50%,#20362b12),linear-gradient(0deg,#20362b99,transparent 70%)}.aisle .full-photo img{object-position:50% 58%}.details{background:#693840;color:#f1e8de}.details .copy{position:absolute;left:6%;top:17%;width:30%}.details h2{font-size:clamp(45px,5.5vw,92px)}.detail-gallery{position:absolute;left:39%;right:7%;top:18%;bottom:14%;display:grid;grid-template-columns:1fr 1fr 0.7fr;gap:20px}.detail-gallery figure{overflow:visible;height:100%}.detail-gallery figure:nth-child(2){padding-top:45px}.detail-gallery figure:nth-child(3){padding-top:90px}.detail-gallery img{height:calc(100% - 50px)}.closing-image{position:absolute;inset:0 0 0 26%}.closing-shade{position:absolute;inset:0;background:linear-gradient(90deg,#303e33 5%,#303e33e6 24%,#303e3366 61%,#303e3320),linear-gradient(0deg,#303e33aa,transparent 70%)}.closing-copy{position:absolute;left:7%;top:23%;width:80%}.closing-copy h2{font-size:clamp(65px,9vw,145px)}.closing-note{position:absolute;left:7%;bottom:12%;font-size:10px;letter-spacing:2px}
@media(max-height:700px) and (min-width:761px){header{padding-top:18px}.scene h1{font-size:95px}.scene h2{font-size:59px}.cover-copy{top:23%}.scene .prose{font-size:16px;line-height:1.65;margin-top:20px}.colour-story{top:67%;font-size:14px}.glass-copy{bottom:16%;padding:14px 25px}.glass-copy h2{font-size:70px}.closing-copy h2{font-size:105px}.footnote{bottom:12%}.overview-gallery{top:20%;bottom:22%}}
@media(max-width:760px){header{padding:22px 6vw}.brand{font-size:30px}.brand span{font-size:8px;letter-spacing:2px}.header-actions{gap:18px;font-size:11px}.header-actions span{display:none}#menu{font-size:0}#menu span{font-size:21px;display:inline;margin:0}footer{padding:14px 5vw;gap:10px}#scene-title,#total,.divider,#fullscreen{display:none}#progress{max-width:190px;gap:5px}.controls{gap:3px}.controls button{width:31px}.scene h1{font-size:clamp(62px,15vw,100px)}.scene h2{font-size:clamp(40px,10vw,66px)}.eyebrow{font-size:9px;letter-spacing:1.7px}.scene .prose{font-size:15px;line-height:1.6;margin:18px 0}.cover-image{inset:0}.cover-copy{left:7%;top:28%;width:89%}.cover-copy h1{line-height:1.05}.cover-copy .prose br{display:none}.cover-copy .prose{max-width:285px}.cover-shade{background:linear-gradient(90deg,#26382fdd,#26382f55),linear-gradient(0deg,#26382fa0,transparent 80%)}.cover-side{display:none}.botanical{width:75px;height:145px;right:-24px;bottom:10%}.botanical:last-child{width:65px;height:125px;left:-28px;bottom:25%}.overview .copy,.haldi .copy,.mehndi .copy,.stage .copy,.night .copy,.welcome .copy,.mandap .copy,.details .copy{left:7%;top:14%;width:86%}.overview .copy h2{font-size:43px;margin:15px 0}.overview .prose{font-size:16px;line-height:1.65}.overview-gallery{left:7%;right:7%;top:53%;bottom:14%;gap:10px}.overview-gallery figure{height:92%}.overview-gallery figure:nth-child(2){margin-top:15px}.overview-gallery figure:nth-child(3){margin-top:30px}.scene figcaption{font-size:8px;letter-spacing:.7px;padding-top:9px}.haldi .copy{top:14%}.haldi .copy h2{font-size:46px}.haldi .copy h2 br{display:none}.haldi .copy .prose{font-size:14px;line-height:1.55}.main-photo{left:7%;top:39%;width:86%;height:39%;border-radius:0}.colour-story{left:7%;top:80%;display:flex;align-items:center;gap:14px;font-size:11px}.swatches{gap:5px}.swatches i{width:18px;height:28px}.colour-story p{margin:0}.glass-copy{left:7%;bottom:17%;width:87%;padding:15px 20px}.glass-copy h2{font-size:50px}.glass-copy .prose{font-size:16px}.glass-copy .prose br{display:none}.sunshine .full-photo img{object-position:58%}.mehndi .copy h2,.welcome .copy h2,.night .copy h2,.details .copy h2{font-size:43px;margin:14px 0}.mehndi .copy .prose,.welcome .copy .prose,.details .copy .prose{font-size:14px;line-height:1.55}.mehndi-gallery,.welcome-gallery{left:7%;right:7%;top:46%;bottom:13%;gap:13px}.mehndi-gallery img,.welcome-gallery img{height:calc(100% - 27px)}.stage .copy,.mandap .copy{top:16%}.stage .copy h2,.mandap .copy h2{font-size:48px}.stage .prose,.mandap .prose{font-size:15px}.stage-photo{left:5%;width:90%;top:65%}.footnote{left:7%;bottom:15%;font-size:9px;letter-spacing:1px}.night-gallery{left:7%;right:7%;top:46%;bottom:14%;gap:12px}.night-gallery figure:nth-child(2){padding-top:20px}.night-gallery figure:nth-child(3){padding-top:40px}.night-gallery img{height:calc(100% - 40px)}.night .prose{max-width:290px}.night .copy h2 br{display:none}.welcome .copy{top:14%}.welcome .copy h2 br{display:none}.welcome .prose br{display:none}.detail-gallery{left:7%;right:7%;top:47%;bottom:14%;gap:12px;grid-template-columns:1fr 1fr .75fr}.detail-gallery figure:nth-child(2){padding-top:20px}.detail-gallery figure:nth-child(3){padding-top:40px}.detail-gallery img{height:calc(100% - 40px)}.closing-image{inset:0}.closing-shade{background:linear-gradient(90deg,#303e33e8,#303e3377),linear-gradient(0deg,#303e33cc,transparent)}.closing-copy{left:7%;top:28%;width:90%}.closing-copy h2{font-size:clamp(50px,12vw,87px);line-height:1.1}.closing-note{left:7%;bottom:15%;font-size:8px;letter-spacing:1.4px}#chapters{padding:5vh 7vw}#chapter-links{grid-template-columns:1fr;gap:0;margin-top:15px}#chapter-links button{font-size:23px;padding:15px 0}.chapter-options{font-size:11px}.chapter-options span{text-align:right;max-width:150px}}
@media(max-height:690px) and (max-width:760px){.overview .copy{top:15%}.overview .copy h2,.scene .copy h2{font-size:34px;margin:12px 0}.scene .copy .prose{font-size:13px;line-height:1.45;margin:12px 0}.overview-gallery{top:54%;bottom:17%}.mehndi-gallery,.welcome-gallery,.night-gallery,.detail-gallery{top:48%;bottom:14%}.haldi .main-photo{top:43%;height:32%}.colour-story{top:77%}.stage-photo{top:66%}.footnote{bottom:13%}.glass-copy h2{font-size:42px}.glass-copy .prose{font-size:14px}.closing-copy{top:23%}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition-duration:.01ms!important;transition-delay:0s!important}.reveal,.image-reveal{transform:none!important;filter:none!important;clip-path:none!important}.botanical{opacity:.27}.assembly-piece{transform:none!important;opacity:1!important}}
.motion-reduced *,.motion-reduced *:before,.motion-reduced *:after{animation:none!important;transition-duration:.01ms!important;transition-delay:0s!important}.motion-reduced .reveal,.motion-reduced .image-reveal{transform:none!important;filter:none!important;clip-path:none!important}.motion-reduced .botanical{opacity:.27}.motion-reduced .assembly-piece{transform:none!important;opacity:1!important}
body:not(.light) header{background:linear-gradient(180deg,#211c287a,transparent)}

/* Decor-led image selections and a close view of the Mehndi flowers. */
.mehndi-gallery figure:first-child img{object-position:0% 50%}
.overview-gallery figure:nth-child(2) img{object-position:50% 12%}
.overview-gallery figure:nth-child(3) img{object-position:50% 30%}

.arrival{background:#e8e8dc;color:#344738}.moments{background:#e8d7d0;color:#623c43}.arrival .copy,.moments .copy{position:absolute;left:6%;top:23%;width:32%}.arrival-gallery,.moments-gallery{position:absolute;left:43%;right:7%;top:17%;bottom:14%;display:grid;grid-template-columns:1fr 1fr;gap:22px}.arrival-gallery figure,.moments-gallery figure{overflow:visible}.arrival-gallery img,.moments-gallery img{height:calc(100% - 35px)}.arrival-gallery figure:nth-child(2),.moments-gallery figure:nth-child(2){padding-top:50px}.arrival-gallery figure:nth-child(2) img{object-position:75% 50%}
@media(max-width:760px){.arrival .copy,.moments .copy{left:7%;width:86%;top:14%}.arrival h2,.moments h2{font-size:43px}.arrival .prose,.moments .prose{font-size:15px}.arrival-gallery,.moments-gallery{left:7%;right:7%;top:46%;bottom:13%;gap:14px}.arrival-gallery figure:nth-child(2),.moments-gallery figure:nth-child(2){padding-top:30px}}

/* Celeste collection: preserve portrait photography and its own palette. */
.cover-image{inset:0 0 0 40%}.cover-image img{object-position:50% 55%}.cover-copy{width:65%}.cover-copy h1{font-size:clamp(65px,7.5vw,120px)}
.stage-photo{aspect-ratio:4/3}.stage-photo>img{object-fit:contain}.scene .assembly-piece img{object-fit:fill}
.haldi .main-photo{width:43%;left:9%;border-radius:45% 45% 0 0}.haldi .main-photo img{object-position:center}
.mehndi-gallery figure:first-child img{object-position:50% 35%}.overview-gallery figure:nth-child(2) img,.overview-gallery figure:nth-child(3) img{object-position:50% 50%}
.flower-ceiling .full-photo img{object-position:50% 12%}.flower-ceiling .glass-copy{width:43%;left:7%}
.welcome-gallery{grid-template-columns:1.2fr 1fr}.closing-image{inset:0 0 0 41%}.closing-image img{object-position:50% 50%}
.scene figcaption{font-size:11px}.eyebrow{font-size:11px}.prose{font-size:clamp(17px,1.45vw,23px)}
@media(max-width:760px){.cover-image,.closing-image{inset:0}.cover-copy{width:90%}.cover-copy h1{font-size:clamp(62px,15vw,100px)}.haldi .main-photo{left:7%;width:86%;height:39%;border-radius:0}.haldi .main-photo img{object-fit:contain;background:#d4d8c5}.flower-ceiling .glass-copy{width:86%}.scene figcaption{font-size:9px}.eyebrow{font-size:10px}.scene .prose{font-size:16px}.stage-photo{top:67%;aspect-ratio:4/3}.footnote{bottom:12%}}
/* Keep full-stage captions beneath the photograph. */
@media(min-width:761px){.stage-photo{width:min(57vw,94vh)}.footnote{top:calc(50% + min(21.375vw,35.25vh) + 12px);bottom:auto}}
.active .assemble-photo>img{animation:assembled-original .15s 2.4s forwards}
.active .assembly-pieces{animation:assembled-tiles .15s 2.4s forwards}
@keyframes assembled-original{to{opacity:1}}
@keyframes assembled-tiles{to{opacity:0}}
@media(prefers-reduced-motion:reduce){.assemble-photo>img{opacity:1!important}.assembly-pieces{display:none}}
.motion-reduced .assemble-photo>img{opacity:1!important}.motion-reduced .assembly-pieces{display:none}

/* Pages 4, 5 and 9 flow naturally on phones instead of using fixed offsets. */
.mobile-flow{display:contents}
@media(max-width:760px){
 .scene .mobile-flow{position:absolute;inset:106px 0 72px;display:flex;flex-direction:column;gap:22px;overflow-y:auto;overscroll-behavior-y:contain;padding:12px 7vw 24px;scrollbar-width:thin}
 .scene .mobile-flow>.copy{position:static;width:100%;flex:none}
 .scene .mobile-flow .eyebrow{margin:0 0 14px}
 .scene .mobile-flow h2{margin:0 0 18px}
 .scene .mobile-flow .prose{font-size:16px;line-height:1.6;margin:0}
 .scene .mobile-flow>.stage-photo{position:relative;inset:auto;transform:none;width:100%;height:auto;aspect-ratio:4/3;flex:none}
 .scene .mobile-flow>.footnote{position:static;margin-top:-8px;font-size:10px;letter-spacing:1px;line-height:1.5;flex:none}
 .scene .mobile-flow>.mehndi-gallery{position:static;width:100%;height:clamp(300px,41vh,370px);flex:none;gap:14px}
 .scene .mobile-flow>.mehndi-gallery figure{min-height:0}
 .scene .mobile-flow>.mehndi-gallery img{height:calc(100% - 30px)}
 .scene .mobile-flow figcaption{line-height:1.4}
}

/* Silverwood: marigold, pink, leaf green and warm gold from the photographs. */
.cover-shade{background:linear-gradient(90deg,#343827 2%,#343827ef 22%,#3438276b 64%,#34382710),linear-gradient(0deg,#34382780,transparent 60%)}
.cover-image{inset:0 0 0 32%}.cover-image img{object-position:62% 50%}.cover-copy{width:70%}.cover-copy h1{font-size:clamp(65px,8vw,128px)}
.overview{background:#f5e9ce;color:#493d2f}.haldi{background:#e8dfb4;color:#4b4c2d}.mehndi{background:#ebd1cc;color:#783d4d}.stage{background:#4b573d;color:#faf1da}
.night{background:#273044;color:#f4ebdf}.welcome{background:#ecebdc;color:#3c503b}.mandap{background:#f0dfbb;color:#6c4830}.details{background:#634330;color:#f7eddb}.moments{background:#e6cbd0;color:#693d4b}
.closing-shade{background:linear-gradient(90deg,#453720 3%,#453720e8 28%,#45372065 67%,#45372020),linear-gradient(0deg,#453720a0,transparent 65%)}
.closing-image{inset:0 0 0 30%}.haldi .main-photo{border-radius:40% 40% 0 0}.haldi .colour-story{top:68%}
.night-gallery{left:43%;grid-template-columns:1fr 1fr}.night .copy{width:32%}.night-gallery figure:nth-child(2){padding-top:44px}.night-gallery img{object-position:50% 40%}
.detail-gallery{grid-template-columns:1fr 1fr 1fr}.aisle .full-photo img{object-position:65% 50%}.overview-gallery figure:nth-child(2) img{object-position:50% 40%}
@media(max-width:760px){
 .cover-image,.closing-image{inset:0}.cover-copy{width:90%}.cover-copy h1{font-size:clamp(60px,15vw,90px)}
 .cover-shade{background:linear-gradient(90deg,#343827eb,#34382766),linear-gradient(0deg,#343827cc,transparent 85%)}
 .closing-shade{background:linear-gradient(90deg,#453720e6,#45372066),linear-gradient(0deg,#453720b0,transparent)}
 .scene .mobile-flow>.overview-gallery,.scene .mobile-flow>.welcome-gallery,.scene .mobile-flow>.night-gallery,.scene .mobile-flow>.detail-gallery,.scene .mobile-flow>.moments-gallery{position:static;width:100%;height:clamp(290px,40vh,370px);flex:none;gap:14px}
 .scene .mobile-flow>.main-photo{position:relative;inset:auto;width:100%;height:auto;aspect-ratio:4/3;flex:none;border-radius:0}
 .scene .mobile-flow>.colour-story{position:static;display:flex;align-items:center;gap:14px;flex:none;font-size:13px;line-height:1.5}
 .scene .mobile-flow>.overview-gallery figure{height:85%;margin:0;overflow:visible}.scene .mobile-flow>.overview-gallery figure:nth-child(2){margin-top:15px}.scene .mobile-flow>.overview-gallery figure:nth-child(3){margin-top:30px}
 .scene .mobile-flow>.night-gallery figure:nth-child(2){padding-top:25px}
 .scene .mobile-flow .copy h2{font-size:clamp(35px,10vw,46px)}
 .scene .mobile-flow .prose br{display:none}.scene .mobile-flow .prose br:after{content:' '}
 .scene .mobile-flow figcaption{font-size:10px}.scene .mobile-flow>.detail-gallery{height:330px}
}
@media(max-width:760px){.scene .mobile-flow h2 br{display:initial}}

/* A quiet camera movement lets the floral setting remain the focus. */
.cinematic-photo{overflow:hidden}
.cinematic-photo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:1;transform-origin:50% 50%}
.active .cinematic-photo>img{animation:photo-unveil 1.4s ease-out both,photo-settle 7s cubic-bezier(.2,.6,.3,1) both}
@keyframes photo-unveil{from{opacity:.2}to{opacity:1}}
@keyframes photo-settle{from{transform:scale(1.055)}to{transform:scale(1)}}
@media(prefers-reduced-motion:reduce){.cinematic-photo>img{opacity:1!important;transform:none!important}}
.motion-reduced .cinematic-photo>img{opacity:1!important;transform:none!important}
/* Lakeside: blush florals, ivory, foliage and the evening sky. */
.cover,.closing{background:#302536;color:#faf2ea}
.cover-shade{background:linear-gradient(90deg,#302536fa 1%,#302536df 24%,#30253655 65%,#30253610),linear-gradient(0deg,#30253677,transparent 70%)}
.cover-image{inset:0 0 0 27%}.cover-image img{object-position:55% 50%}.cover-copy{width:76%}.cover-copy h1{font-size:clamp(62px,7.3vw,120px)}
.overview{background:#f2e9e3;color:#493643}.haldi{background:#e8d2d8;color:#4f354c}.stage{background:#314336;color:#f9f0e5}.mandap{background:#ece3df;color:#553a49}.moments{background:#eee9df;color:#4d4238}.details{background:#3e3048;color:#f5ecdf}.welcome{background:#e4e5da;color:#34483a}
.closing-shade{background:linear-gradient(90deg,#302536fc 0%,#302536dd 28%,#30253666 68%,#30253630),linear-gradient(0deg,#30253699,transparent 70%)}
.closing-image{inset:0 0 0 27%}.closing-image img{object-position:65% 50%}
.aisle .photo-shade{background:linear-gradient(90deg,#181d32df,#181d323d 65%,#181d3211),linear-gradient(0deg,#181d32aa,transparent 75%)}
.aisle .full-photo img{object-position:50% 50%}
.haldi .main-photo{border-radius:0}.haldi .colour-story{font-size:16px}
@media(max-width:760px){
 .cover-image,.closing-image{inset:0}
 .cover-copy{width:90%}.cover-copy h1{font-size:clamp(52px,13.5vw,82px)}
 .cover-shade{background:linear-gradient(90deg,#302536ed,#30253666),linear-gradient(0deg,#302536c7,transparent 90%)}
 .closing-shade{background:linear-gradient(90deg,#302536ed,#30253680),linear-gradient(0deg,#302536c7,transparent)}
 .scene .mobile-flow>.colour-story{font-size:14px}
}

.details .night-gallery{left:43%;grid-template-columns:1fr 1fr}.details .copy{width:32%}
@media(max-width:760px){.scene.details .mobile-flow>.night-gallery{height:350px}}

.mehndi{background:#ebd5d7;color:#573642}.welcome .copy{width:33%}.welcome-gallery{left:43%}.details h2{font-size:clamp(45px,5vw,82px)}
.details .detail-gallery{left:40%;right:7%}.moments-gallery figure:nth-child(2) img{object-position:58% 50%}
.aisle .full-photo img{object-position:50% 46%}.closing-image img{object-position:60% 50%}
@media(max-width:760px){.welcome .copy{width:100%}.scene .mobile-flow>.detail-gallery{height:340px}.scene .mobile-flow>.moments-gallery{height:390px}}
/* Aalankrita: magenta fabric, burnt orange, gold and garden green. */
:root{--ink:#3d292d;--paper:#f3ebdc}body,#chapters{background:#2f2927}.cover,.closing{background:#432732;color:#faf0e4}.cover-image{inset:0 0 0 33%}.cover-image img{object-position:52% 50%}.cover-copy{width:70%;top:25%}.cover-copy h1{font-size:clamp(66px,8vw,130px)}.cover-shade{background:linear-gradient(90deg,#432732fc 5%,#432732e8 27%,#43273260 64%,#4327320a),linear-gradient(0deg,#43273277,transparent 65%)}
.overview{background:#f1e3d2;color:#4f3039}.haldi{background:#edcbbf;color:#6b2e46}.mehndi{background:#e9cbba;color:#6a3431}.stage{background:#602f48;color:#fff0df}.mandap{background:#eee2cd;color:#54412e}.welcome{background:#e6e2cb;color:#344232}.details{background:#292624;color:#f3e5c8}.night{background:#201f21;color:#f4e7ca}.moments{background:#ead9ca;color:#4f392d}
.eyebrow,.scene figcaption,.footnote{font-size:12px}.header-actions,.text-link{font-size:14px}.scene .prose{font-size:clamp(17px,1.4vw,23px)}.overview h2{font-size:clamp(44px,5vw,82px)}.overview .copy{top:21%;width:38%}.overview-gallery{left:49%;gap:16px}.palette .copy{left:61%;width:34%;top:18%}.palette h2{font-size:clamp(42px,4.7vw,77px)}.palette .colour-story{left:61%;top:69%;font-size:16px}.palette .main-photo{left:6%;width:49%;height:65%;top:20%;border-radius:0}.palette .main-photo img{object-position:50% 50%}.swatches i{width:31px;height:40px}
.stage-photo{left:38%;width:min(56vw,88vh)}.stage .copy,.mandap .copy{width:29%;top:25%}.stage h2,.mandap h2{font-size:clamp(43px,5vw,82px)}.footnote{left:38%;top:calc(50% + min(21vw,33vh) + 10px)}
.courtyard .photo-shade{background:linear-gradient(90deg,#45242ce6,#45242c25 77%),linear-gradient(0deg,#241b1e99,transparent 75%)}.courtyard .glass-copy{width:56%;bottom:17%}.flower-roof .full-photo img{object-position:50% 20%}.flower-roof .photo-shade{background:linear-gradient(90deg,#2b2518bd,#2b251818 80%),linear-gradient(0deg,#2b2518bf,transparent 90%)}.flower-roof .glass-copy{width:54%}.glass-copy h2{font-size:clamp(54px,6.2vw,100px)}
.welcome-gallery{left:43%;grid-template-columns:1fr 1fr;grid-template-rows:1fr}.welcome-gallery figure:first-child{grid-row:auto}.welcome-gallery figure:nth-child(2){padding-top:40px}.welcome-gallery img{height:calc(100% - 35px)}.welcome .copy{width:32%;top:23%}
.night-gallery{left:43%;right:7%;grid-template-columns:1fr 1fr;gap:24px}.night .copy{width:32%;top:24%}.night h2{font-size:clamp(43px,5vw,82px)}.night-gallery img{object-position:50% 50%}.night .prose{font-size:18px}.night.full-stage .stage-photo{background:#171619}.night.full-stage .copy{width:29%;left:6%;top:25%}
.mehndi-gallery,.detail-gallery,.moments-gallery{min-height:0}.mehndi-gallery figure{min-height:0}.detail-gallery{left:43%;grid-template-columns:1fr 1fr}.details .copy{width:33%;top:23%}.details h2{font-size:clamp(43px,5vw,82px)}.garden .moments-gallery img{object-position:50% 50%}.portrait .moments-gallery img{object-position:50% 40%}
.closing-image{inset:0 0 0 32%}.closing-image img{object-position:50% 50%}.closing-shade{background:linear-gradient(90deg,#432732fc 2%,#432732e8 26%,#43273255 70%),linear-gradient(0deg,#43273277,transparent 70%)}.closing-copy h2{font-size:clamp(65px,8.6vw,136px)}
#progress{max-width:410px;gap:5px}#scene-title{min-width:175px}#chapter-links{gap:0 5vw}#chapter-links button{font-size:23px;padding:12px 0}.chapter-options{font-size:14px}.botanical{opacity:.2}
@media(max-width:760px){
 .cover-image,.closing-image{inset:0}.cover-copy{width:90%;top:28%}.cover-copy h1{font-size:clamp(51px,14vw,86px)}.cover-shade,.closing-shade{background:linear-gradient(90deg,#432732e8,#4327326b),linear-gradient(0deg,#432732b0,transparent 90%)}
 .scene .eyebrow,.scene figcaption{font-size:12px;letter-spacing:1px}.header-actions{font-size:12px;gap:16px}.scene .mobile-flow{gap:24px;padding-bottom:32px}.scene .mobile-flow>.copy{width:100%}.scene .mobile-flow>.colour-story{font-size:15px;display:block}.colour-story p{margin-top:16px}.swatches i{width:28px;height:35px}.scene .mobile-flow>.main-photo{height:auto;aspect-ratio:4/3}.scene .mobile-flow>.stage-photo{left:auto;width:100%;height:auto;aspect-ratio:4/3}.scene .mobile-flow>.footnote{position:static;font-size:12px}
 .scene .mobile-flow>.overview-gallery{height:350px;gap:10px}.scene .mobile-flow>.welcome-gallery,.scene .mobile-flow>.night-gallery,.scene .mobile-flow>.detail-gallery,.scene .mobile-flow>.moments-gallery{height:390px;gap:14px}.scene .mobile-flow>.mehndi-gallery{height:390px}.scene .mobile-flow figcaption{font-size:11px;line-height:1.5;letter-spacing:.8px}.scene .mobile-flow .prose{font-size:17px;line-height:1.6}.courtyard .glass-copy,.flower-roof .glass-copy{width:86%;left:7%;bottom:17%;padding:20px}.glass-copy h2{font-size:44px}.glass-copy .prose{font-size:17px}.glass-copy .prose br{display:none}
 .closing-copy h2{font-size:clamp(50px,12vw,80px)}#progress{gap:3px;max-width:170px}.controls{gap:0}.scene-count{font-size:12px}#chapter-links button{font-size:23px;padding:14px 0}.chapter-options{font-size:12px}.botanical{z-index:0}.mobile-flow,.glass-copy{z-index:2}
}
/* Tamara: marigold, rose drapes, crimson garlands and garden foliage. */
:root{--ink:#462e32;--paper:#f5ebdf}.cover,.closing{background:#482b32;color:#faf0e4}.cover-copy{top:26%;width:86%}.cover-copy h1{font-size:clamp(60px,7.5vw,120px)}.cover-image{inset:0 0 0 34%}.cover-image img{object-position:52% 50%}.cover-shade{background:linear-gradient(90deg,#482b32fc 0%,#482b32ec 28%,#482b3255 70%,#482b3205),linear-gradient(0deg,#482b3277,transparent 70%)}.overview{background:#f2e6cf;color:#4d3435}.haldi{background:#eee0aa;color:#4c482b}.stage{background:#7f3146;color:#fff0df}.mandap{background:#eee2d3;color:#58393d}.welcome{background:#e2e5d5;color:#38483b}.moments{background:#ecd4cc;color:#61383f}.night{background:#4c2e3b;color:#f5e8de}
.palette .main-photo{left:11%;width:36%;height:70%;top:16%;border-radius:40% 40% 0 0}.palette .copy,.palette .colour-story{left:56%;width:37%}.palette .copy{top:21%}.palette .colour-story{top:68%}.palette h2{font-size:clamp(44px,5vw,83px)}
.morning .stage-photo{aspect-ratio:4/3}.morning{background:#f0e2af;color:#555037}.wedding-wide .stage-photo{aspect-ratio:16/9;left:36%;width:59%}.wedding-wide .footnote{left:36%;top:calc(50% + 16.6vw + 12px)}.wedding-wide .copy{width:27%}
.evening-arrival .full-photo img{object-position:58% 50%}.evening-arrival .photo-shade{background:linear-gradient(90deg,#322732ed,#32273245 73%),linear-gradient(0deg,#32273299,transparent 80%)}.evening-arrival .glass-copy{width:51%}.glass-copy h2{font-size:clamp(48px,5.8vw,95px)}
.architecture .copy{left:6%;top:24%;width:29%}.architecture{background:#e4dfcf;color:#45442d}.architecture h2{font-size:clamp(44px,5vw,82px)}.architecture-gallery{position:absolute;left:40%;right:7%;top:17%;bottom:14%;display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:center}.architecture-gallery figure{overflow:visible!important}.architecture-gallery img{height:auto;aspect-ratio:16/9;object-fit:contain}.architecture-gallery figure:nth-child(2){margin-top:110px}.architecture-gallery figcaption{font-size:12px}
.portrait-page .copy{position:absolute;left:7%;top:27%;width:40%}.portrait-page .main-photo{left:57%;top:15%;width:32%;height:72%;border-radius:0}.portrait-page .main-photo img{object-fit:contain}.portrait-page h2{font-size:clamp(44px,5.6vw,88px)}
.closing-image{inset:0 0 0 34%}.closing-shade{background:linear-gradient(90deg,#482b32fc 0%,#482b32ea 28%,#482b3265 72%),linear-gradient(0deg,#482b3299,transparent 80%)}.closing-image img{object-position:50% 40%}.overview-gallery img{object-position:50% 50%}.botanical{color:inherit}
@media(max-width:760px){.cover-image,.closing-image{inset:0}.cover-copy{width:90%;top:29%}.cover-copy h1{font-size:clamp(45px,11.7vw,76px)}.cover-shade,.closing-shade{background:linear-gradient(90deg,#482b32ed,#482b3270),linear-gradient(0deg,#482b32af,transparent 90%)}.scene.palette .mobile-flow>.main-photo{width:76%;margin:auto;aspect-ratio:9/14;border-radius:38% 38% 0 0}.scene.palette .mobile-flow>.colour-story{width:100%}.scene.wedding-wide .mobile-flow>.stage-photo{aspect-ratio:16/9}.evening-arrival .glass-copy{width:86%;left:7%;bottom:17%}.evening-arrival .full-photo img{object-position:55% 50%}.scene .mobile-flow>.architecture-gallery{position:static;width:100%;display:flex;flex-direction:column;gap:24px;flex:none}.architecture-gallery figure{width:100%;margin:0!important}.architecture-gallery img{width:100%;aspect-ratio:16/9}.scene.portrait-page .mobile-flow>.main-photo{width:100%;height:410px;aspect-ratio:auto}.scene.portrait-page .mobile-flow>.copy{width:100%;position:static}.scene.portrait-page .main-photo img{object-fit:contain}.scene .mobile-flow .copy h2{font-size:clamp(34px,9.7vw,45px)}}
/* Keep every person in frame in the haldi portraits. */
.moments-gallery img{object-fit:contain}
@media(max-width:760px){.scene .mobile-flow>.moments-gallery{display:flex;flex-direction:column;height:auto;gap:24px}.moments-gallery figure,.moments-gallery figure:nth-child(2){padding:0}.scene .moments-gallery img{width:100%;height:auto;max-height:440px;object-fit:contain}.moments-gallery figcaption{text-align:center}}
/* Page 11: explicit layout keeps text and both photographs inside the scene. */
.scene.architecture>.mobile-flow{position:absolute;inset:115px 6vw 85px;display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,1.4fr);gap:5vw;align-items:center;overflow:hidden}
.scene.architecture .copy{position:static;width:auto;min-width:0;max-width:390px}
.scene.architecture .architecture-gallery{position:static;inset:auto;display:grid;grid-template-columns:1fr;grid-template-rows:repeat(2,minmax(0,1fr));gap:22px;height:100%;width:100%;min-height:0}
.scene.architecture .architecture-gallery figure{display:grid;grid-template-rows:minmax(0,1fr) auto;min-height:0;margin:0!important;height:100%;width:100%;overflow:hidden!important}
.scene.architecture .architecture-gallery img{width:100%;height:100%;object-fit:contain;aspect-ratio:auto}
.scene.architecture .architecture-gallery figcaption{padding-top:8px;text-align:center}
/* Page 5: show the entire new entrance view alongside the portrait board. */
.welcome-revised .welcome-gallery{grid-template-columns:1.6fr 1fr;align-items:center;gap:22px}
.welcome-revised .welcome-gallery figure,.welcome-revised .welcome-gallery figure:nth-child(2){padding:0;height:auto}
.welcome-revised .welcome-gallery img{width:100%;height:auto;object-fit:contain}
.palette .main-photo{left:6%;width:46%;height:64%;top:21%;border-radius:0}.palette .main-photo img{object-fit:contain}
@media(max-width:980px){
 .scene.architecture>.mobile-flow{inset:106px 0 72px;padding:12px 7vw 26px;display:flex;flex-direction:column;gap:24px;overflow-y:auto;align-items:stretch}
 .scene.architecture .copy{position:static;max-width:none;width:100%;flex:none}.scene.architecture h2{font-size:clamp(34px,7vw,56px)}
 .scene.architecture .architecture-gallery{display:flex;flex-direction:column;height:auto;gap:24px;flex:none}.scene.architecture .architecture-gallery figure{height:auto;display:block}.scene.architecture .architecture-gallery img{height:auto;aspect-ratio:16/9}.scene.architecture .architecture-gallery figcaption{text-align:left}
}
@media(max-width:760px){
 .scene.welcome-revised .mobile-flow>.welcome-gallery{display:flex;flex-direction:column;align-items:stretch;height:auto;gap:24px}
 .welcome-revised .welcome-gallery figure:nth-child(2) img{max-height:460px;object-fit:contain}.welcome-revised .welcome-gallery figure:nth-child(2) figcaption{text-align:center}
 .scene.palette .mobile-flow>.main-photo{width:100%;height:auto;aspect-ratio:4/3;border-radius:0}
}
/* Garden in lilac: the palette of this celebration. */
:root{--ink:#423b4b;--paper:#f5f1e9}body,#chapters{background:#343e32}.cover,.closing{background:#3c3047;color:#f6f1e9}.cover-image{inset:0 0 0 24%}.cover-image img{object-position:53% 50%}.cover-copy{top:24%;width:76%}.cover-copy h1{font-size:clamp(70px,8.3vw,130px)}.cover-shade{background:linear-gradient(90deg,#3c3047fc 1%,#3c3047e8 22%,#3c304752 66%,#3c304708),linear-gradient(0deg,#3c304777,transparent 70%)}
.overview{background:#f0ebe6;color:#473c4e}.haldi{background:#e5dce8;color:#4c3d53}.mandap{background:#ebece3;color:#414b3d}.stage{background:#424e3e;color:#f7f1e8}.welcome{background:#efe8e9;color:#574757}.details{background:#51435b;color:#faf3ee}.architecture{background:#e9e7df;color:#434b3c}.overview .copy{top:22%}.overview-gallery img{object-position:50% 45%}.palette .main-photo{left:6%;width:46%;height:60%;top:23%;border-radius:0}.palette .copy{left:58%;width:36%;top:23%}.palette .colour-story{left:58%;top:66%;width:36%}.palette h2{font-size:clamp(44px,4.8vw,78px)}.palette .main-photo img{object-fit:cover}.stage-photo{aspect-ratio:3/2}.footnote{top:calc(50% + min(18.67vw,29.33vh) + 12px)}
.canopy-immersive .full-photo img{object-position:50% 50%}.canopy-immersive .glass-copy{width:48%;bottom:15%}.photo-shade{background:linear-gradient(90deg,#313f30ba,#313f3011 85%),linear-gradient(0deg,#28372ec0,transparent 85%)}.floral-immersive .glass-copy{width:55%;bottom:16%}.floral-immersive .photo-shade{background:linear-gradient(90deg,#352b42df,#352b4220 85%),linear-gradient(0deg,#352b4280,transparent 80%)}.glass-copy{background:linear-gradient(90deg,#3c304755,transparent)}
.welcome-gallery img{object-position:50% 50%}.welcome-revised .welcome-gallery{grid-template-columns:1.45fr 1fr}.scene.architecture .architecture-gallery img{object-fit:contain}.closing-image{inset:0 0 0 28%}.closing-shade{background:linear-gradient(90deg,#3c3047fc,#3c3047e8 27%,#3c30475c 72%),linear-gradient(0deg,#3c304799,transparent 80%)}.closing-copy h2{font-size:clamp(64px,8.2vw,130px)}.botanical{color:inherit}.scene .prose{line-height:1.7}.overview .prose{font-size:clamp(17px,1.4vw,22px)}
@media(max-width:760px){.cover-image,.closing-image{inset:0}.cover-copy{top:28%;width:89%}.cover-copy h1{font-size:clamp(64px,16.5vw,98px)}.cover-shade,.closing-shade{background:linear-gradient(90deg,#3c3047eb,#3c304766),linear-gradient(0deg,#3c3047b8,transparent 90%)}.scene .mobile-flow>.stage-photo{aspect-ratio:3/2}.scene.palette .mobile-flow>.main-photo{aspect-ratio:3/2}.scene.palette .mobile-flow>.colour-story{width:100%}.canopy-immersive .glass-copy,.floral-immersive .glass-copy{width:86%;left:7%;bottom:16%;padding:18px}.glass-copy h2{font-size:clamp(42px,11vw,58px)}.glass-copy .prose{font-size:17px}.closing-copy h2{font-size:clamp(49px,12vw,80px)}.scene.architecture .architecture-gallery img{aspect-ratio:3/2}.cover-copy .prose{max-width:300px}.scene .mobile-flow>.overview-gallery{height:345px}}
