@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Cinzel:wght@400;500;600&display=swap');
@font-face{font-family:Candlescript;src:url('assets/Candlescript.otf') format('opentype');font-display:swap}
:root{--wine:#7e2539;--cream:#fcf4e7;--sage:#425438;--gold:#b48d4a}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--wine);font:22px/1.45 'Cormorant Garamond',Georgia,serif}a{color:inherit}button{font:inherit;cursor:pointer}a,button{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:3px solid var(--gold);outline-offset:4px}[hidden]{display:none!important}h1,h2,p{margin:0}h1,h2{font-family:Candlescript,cursive;font-weight:400;line-height:1.2}h1{font-size:76px}h2{font-size:64px}.eyebrow{font:10px/1.8 Cinzel,Georgia,serif;letter-spacing:2px;text-transform:uppercase}.ornament{font-size:30px;color:var(--gold);margin:18px 0}#opening{min-height:100svh;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;gap:14px;background:radial-gradient(ellipse at center,#fffdf6,#eadac0)}.opening-intro{text-align:center}.opening-intro h1{font-size:48px;margin:8px 0}.opening-intro i{font-family:Georgia,serif;font-size:24px}.opening-date{font-size:16px;letter-spacing:1px}.video-wrap{position:relative;aspect-ratio:9/16;width:min(100%,360px,32svh);box-shadow:0 10px 50px #614e3020}video{display:block;width:100%;height:100%;object-fit:contain}#monogram{position:absolute;top:49%;left:50%;width:34%;transform:translate(-50%,-50%);pointer-events:none}#opening.playing #monogram{opacity:0;transition:opacity .6s}#open{background:#fffaf0;border:1px solid #b49461;padding:9px 24px;font-size:16px;letter-spacing:2px;color:#704833;border-radius:3px}#skip{background:none;border:0;color:var(--wine);font-size:15px}#video-message{font-size:14px}nav{height:76px;display:flex;justify-content:space-between;align-items:center;padding:0 5vw;border-bottom:1px solid #b78d4325;background:#fff9ee}nav img{width:75px;height:70px;object-fit:contain;display:block}nav div{display:flex;gap:35px}nav a{text-decoration:none;font:11px Cinzel,serif;letter-spacing:1px}main{width:100%;max-width:none}.scene{position:relative;display:grid;grid-template-columns:1fr 1fr;min-height:850px;overflow:hidden}.artwork{background-size:cover;background-position:center;min-height:100%;order:2}.copy{padding:70px 5vw;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;order:1}.blessing{background:#fbf4e6;color:var(--sage)}.blessing .artwork{background-image:url('assets/garden.png');background-position:center bottom;order:1}.blessing .copy{order:2;padding-top:40px;padding-bottom:50px}.mahaveer{height:105px;width:105px;object-fit:contain;margin-bottom:12px}.invocation{font-size:20px;color:var(--wine)}.welcome{font-style:italic;margin-bottom:20px}.blessing h1,.blessing h2{color:var(--wine);font-size:65px;margin:10px 0}.blessing .copy>p:not(.eyebrow){font-size:20px}.grandparents{margin-top:10px;font-style:italic}.with{margin:15px 0 0;font-style:italic}.blessing .ornament{margin:14px 0}.sangeet{background:#4c080d;color:#fff5e6}.sangeet .artwork{background-image:url('assets/celebration.png')}.sangeet .copy{background:radial-gradient(ellipse at center,#7e171b,#3a080d)}.haldi{background:#fbe6d5;color:#783f48}.haldi .artwork{background-image:url('assets/mandap.png');order:1}.haldi .copy{order:2;background:radial-gradient(ellipse at center,#fff6ec,#efd4c5)}.wedding{background:#f9d4a8;color:#172f43}.wedding .artwork{background-image:url('assets/ceremony.png')}.wedding .copy{background:radial-gradient(ellipse at center,#fff1d6,#f5c58e)}.copy h2{margin:22px 0 0}.event-date{font-size:25px;font-style:italic;margin:8px 0 16px}dl{width:100%;max-width:390px;margin:6px auto 0}dl div{display:flex;justify-content:space-between;gap:18px;text-align:left;padding:13px 0;border-bottom:1px solid currentColor}dt{font-style:italic}dd{margin:0;white-space:nowrap;font-weight:600;text-align:right}.theme{margin-top:34px}.theme span{font:10px Cinzel,serif;letter-spacing:2px;text-transform:uppercase}.theme p{font-size:27px;font-style:italic;margin-top:6px}.vidai{margin-top:24px;width:100%}.vidai .event-date{font-size:22px}.countdown-section{text-align:center;padding:64px 16px;background:radial-gradient(ellipse at center,#fffcf4,#f6e6d6)}.countdown-section h2{font-size:48px;margin:12px 0 30px}.scratch-frame{position:relative;width:min(100%,660px);aspect-ratio:1637/970;margin:auto;background:url('assets/scratch-frame.png') center/100% 100% no-repeat}.countdown-inner{position:absolute;inset:22% 16%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}.countdown-date{font:25px Cinzel,Georgia,serif;letter-spacing:2px}#countdown{display:flex;gap:14px}#countdown div{display:flex;flex-direction:column;gap:7px;font:9px Cinzel,serif;text-transform:uppercase;letter-spacing:1px}#countdown b{font:32px Cinzel,serif;font-weight:400;min-width:64px;padding:12px 6px;border:1px solid #e7cdb0;border-radius:12px;background:#fcf0dfaa}#scratch{position:absolute;left:17%;top:21%;width:66%;height:59%;border-radius:24px;touch-action:none;cursor:crosshair;transition:opacity .7s}#scratch.revealed{opacity:0;pointer-events:none}.text-button{background:none;border:0;color:var(--wine);font-size:16px;padding:12px;margin-top:22px}.venue{text-align:center;padding:75px 20px;background:#f5ecdc}.venue h2{font-size:52px;margin:18px 0}.venue p:not(.eyebrow){font-size:23px;font-style:italic}.map-button{display:inline-block;margin-top:25px;border:1px solid var(--gold);border-radius:30px;padding:14px 26px;text-decoration:none;font-size:18px;background:#fffbf4}footer{text-align:center;padding:45px 20px;background:#fbf4e7}.footer-logo{width:180px;height:180px;object-fit:contain}footer h2{font-size:47px;margin:20px 0}footer h3{font:13px Cinzel,serif;letter-spacing:3px;margin:25px 0 15px}footer p{line-height:1.65}footer .eyebrow:last-child{margin-top:35px}#music-toggle,#scroll-down{position:fixed;right:20px;border:1px solid #c1a170;color:var(--wine);background:#fffaf0ed;box-shadow:0 4px 18px #0001;z-index:10}#music-toggle{bottom:20px;width:46px;height:46px;border-radius:50%;font-size:25px}#scroll-down{bottom:80px;border-radius:28px;padding:12px 10px;font-size:27px;display:flex;flex-direction:column;align-items:center}#scroll-down span{font:8px Cinzel,serif;letter-spacing:1px}#fireworks{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:100}
@media(min-width:1100px){#opening{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr auto auto;gap:12px 50px;padding:6vh 12vw}.opening-intro{grid-column:1;grid-row:1/4}.opening-intro h1{font-size:85px}.opening-intro .eyebrow{font-size:12px}.opening-date{font-size:22px}.video-wrap{grid-column:2;grid-row:1;width:min(100%,39svh);justify-self:center;align-self:end}#open,#skip{grid-column:2;justify-self:center}#video-message{position:absolute;bottom:10px;right:12vw}}
@media(max-width:760px){body{font-size:18px}nav{height:64px;padding:0 15px}nav img{width:58px;height:58px}nav div{gap:15px}nav a{font-size:9px;letter-spacing:.5px}.scene{display:block;min-height:0;aspect-ratio:941/1672;background-size:100% 100%;background-position:center}.artwork{display:none}.scene .copy{background:none;padding:23% 10% 0;display:block}.scene h2{font-size:clamp(39px,10vw,65px);margin:8px 0;line-height:1.15}.scene .eyebrow{font-size:8px;letter-spacing:1px}.scene .ornament{margin:10px 0;font-size:22px}.event-date{font-size:clamp(18px,4.6vw,25px);margin:10px 0}dl{max-width:390px}dl div{padding:8px 0;gap:10px;font-size:clamp(17px,4.4vw,23px)}.theme{margin-top:16px}.theme p{font-size:23px}.sangeet{background-image:url('assets/celebration.png')}.haldi{background-image:url('assets/mandap.png')}.haldi .copy{padding-top:58%}.wedding{background-image:url('assets/ceremony.png')}.wedding .copy{padding:5% 8% 0}.wedding .copy h2{font-size:40px;margin:6px 0}.wedding .event-date{font-size:17px;margin:6px 0}.wedding .ornament{margin:5px}.wedding dl div{padding:4px 0;font-size:17px}.vidai{margin-top:12px}.blessing{background-image:url('assets/garden.png');aspect-ratio:auto;min-height:1080px}.blessing .copy{padding:25px 25px 300px}.blessing h1,.blessing h2{font-size:57px;margin:9px 0}.blessing .copy>p:not(.eyebrow){font-size:17px;line-height:1.45}.mahaveer{height:90px;width:90px}.welcome{margin-bottom:15px}.blessing .with{margin-top:12px}.countdown-section{padding:42px 4px}.countdown-section h2{font-size:40px;margin-bottom:15px}.countdown-inner{gap:8px}.countdown-inner .eyebrow{font-size:8px}.countdown-date{font-size:clamp(14px,4vw,23px);letter-spacing:.5px}#countdown{gap:7px}#countdown b{min-width:40px;font-size:22px;padding:7px 4px;border-radius:9px}#countdown div{font-size:7px;letter-spacing:.5px}.venue h2{font-size:39px}.venue p:not(.eyebrow){font-size:19px}footer h2{font-size:37px}#music-toggle,#scroll-down{right:10px}.text-button{font-size:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media(max-width:760px){
 .sangeet .copy{padding:21% 9% 0}.sangeet .copy h2{font-size:42px}.sangeet .theme{margin-top:9px}.sangeet .theme p{font-size:20px;margin-top:2px}.sangeet dl div{padding:5px 0;font-size:16px}.sangeet .ornament{margin:4px 0}
 .haldi .copy{padding:49% 12% 0}.haldi .copy h2{font-size:40px}.haldi .theme{margin-top:9px}.haldi .theme p{font-size:20px;margin-top:2px}.haldi .ornament{margin:3px 0}.haldi .event-date{margin:5px 0}
 .wedding .copy{padding:3% 8% 0}.wedding .copy h2{font-size:36px;margin:3px 0}.wedding .copy .ornament{display:none}.wedding .copy .event-date{font-size:16px;margin:4px 0}.wedding .copy dl{margin-top:0}.wedding .copy dl div{font-size:15px;padding:2px 0}.wedding .vidai{margin-top:5px}.wedding .copy .eyebrow{font-size:7px}
}
/* Full-screen opening and artwork overlays on every screen size. */
#opening{display:block;height:100svh;min-height:100svh;padding:0;overflow:hidden}
.opening-intro{display:none}
#opening .video-wrap{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;box-shadow:none}
#opening video{width:100%;height:100%;object-fit:cover;object-position:center}
#monogram{top:49%;width:clamp(100px,22vw,230px)}
#open,#skip{position:absolute;bottom:7%;left:50%;transform:translateX(-50%);z-index:2;white-space:nowrap;background:#fffaf0ed;border:1px solid #b49461;padding:10px 24px}
#video-message{position:absolute;bottom:2%;left:0;right:0;text-align:center}
.scene{display:block;container-type:inline-size;min-height:0;height:1100px;aspect-ratio:auto;background-size:100% 100%;background-position:center}
.scene .artwork{display:none}
.blessing{background-image:url('assets/garden.png');height:1250px}
.sangeet{background-image:url('assets/celebration.png')}
.haldi{background-image:url('assets/mandap.png')}
.wedding{background-image:url('assets/ceremony.png')}
.scene .copy{display:block;position:absolute;left:50%;transform:translateX(-50%);width:80%;max-width:750px;padding:0;background:none}
.blessing .copy{top:3%;max-width:750px;padding:0}
.sangeet .copy{top:15%}
.haldi .copy{top:30%}
.wedding .copy{top:3%}
.scene .copy h2{font-size:64px;margin:6px 0;line-height:1.1}
.scene .copy .ornament{margin:5px 0;font-size:22px}
.scene .copy .event-date{font-size:25px;margin:8px 0}
.scene .copy dl{max-width:600px;margin:0 auto}
.scene .copy dl div{padding:4px 0;font-size:22px}
.sangeet dl div:last-child{display:block;text-align:center;border:0}
.sangeet dl div:last-child dt{white-space:nowrap}
.sangeet dl div:last-child dd{text-align:center}
.scene .theme{display:flex;justify-content:center;align-items:baseline;gap:8px;margin-top:8px;white-space:nowrap}
.scene .theme span{font-size:11px;letter-spacing:.5px}
.scene .theme p{font-size:22px;margin:0}
.scene .vidai{margin-top:8px}
.wedding .copy .ornament{display:none}
@media(max-width:760px){
 .scene{height:auto;aspect-ratio:941/1672}
 .blessing{height:1080px;aspect-ratio:auto}
 .scene .copy{width:84%}
 .blessing .copy{width:86%}
 .sangeet .copy{top:14%}
 .haldi .copy{top:29%}
 .scene .copy h2{font-size:10cqw;margin:3px 0}
 .scene .copy .eyebrow{font-size:1.8cqw;letter-spacing:.6px}
 .scene .copy .event-date{font-size:4.3cqw;margin:4px 0}
 .scene .copy .ornament{font-size:4cqw;margin:2px 0}
 .scene .copy dl div{font-size:4.2cqw;padding:2px 0;line-height:1.3}
 .scene .theme{gap:5px;margin-top:5px}
 .scene .theme span{font-size:2.4cqw;letter-spacing:0}
 .scene .theme p{font-size:4.4cqw}
 .scene .vidai{margin-top:4px}
 .blessing .copy h1,.blessing .copy h2{font-size:14cqw}
 .wedding .copy h2{font-size:9cqw}
}
/* Event artwork and simple event - time formatting. */
.scene.haldi{background-image:url('assets/gulabi-jashn.png');color:#783f48}
.haldi .artwork{background-image:url('assets/gulabi-jashn.png')}
.scene.tilak{background-image:url('assets/tilak.png');color:#fff5e6}
.tilak .copy{top:23%}
.haldi .copy{top:24%}
.scene .copy dl div,.sangeet dl div:last-child{display:block;border:0;text-align:center;padding:3px 0}
.scene .event-time{font-size:22px;font-style:italic;line-height:1.45}
@media(max-width:760px){
 .scene .copy dl div,.scene .event-time{font-size:4.2cqw}
 .sangeet .copy{width:94%}
 .sangeet .copy .event-time{font-size:3.7cqw;white-space:nowrap}
 .tilak .copy{top:24%}
 .haldi .copy{top:24%}
}
/* November 9 artwork update; colours match each new background. */
.scene.sangeet,.sangeet .artwork{background-image:url('assets/shaam-shandar.png')}
.scene.wedding,.wedding .artwork{background-image:url('assets/wedding-bg.png')}
.scene.tilak{background-image:url('assets/tilak-bg.png');color:#7e2539}
.scene.wedding{color:#fff5e6}
.wedding .copy{top:17%}
@media(max-width:760px){.wedding .copy{top:16%}}
@media(max-width:760px){
 .wedding .copy{top:15%}
 .wedding .copy h2{font-size:8cqw;margin:2px 0}
 .wedding .copy .event-date{font-size:3.9cqw;margin:2px 0;line-height:1.25}
 .wedding .copy dl div{font-size:3.9cqw;padding:1px 0;line-height:1.25}
 .wedding .copy .vidai{margin-top:3px}
}
/* Anisha invitation: envelope opening, event slides, venue and wishes. */
#opening{background:radial-gradient(ellipse at center,#a6382c,#631713);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:20px;height:100svh}
#envelope-open{border:0;background:none;padding:0;display:block;max-width:100%;cursor:pointer}
.envelope{display:block;width:min(88vw,76svh,760px);height:auto;max-height:83svh;object-fit:contain;filter:drop-shadow(0 15px 28px #260b0955)}
#opening #open{position:static;transform:none;flex:none;color:#762b24;border-color:#e4bd80;background:#fff4dd;max-width:95%}
.family-mark{font-family:Candlescript;font-size:32px}
.scene .event-subtitle{font-style:italic;font-size:27px;line-height:1.3;margin:8px 0}
.scene.kirtan{background-image:url('assets/garden.png');color:#7e2539}
.scene.mehendi{background-image:url('assets/mehendi.png');color:#7e2539}
.scene.reception{background-image:url('assets/reception.png');color:#fff5e6}
.kirtan .copy{top:24%}.mehendi .copy{top:24%}.reception .copy{top:32%}
.scene.sangeet .copy h2{font-size:58px}
.scene.wedding .copy{top:17%}
.venue-strip{text-align:center;background:#fff7ec;padding:24px 18px;color:#7e2539}
.venue-strip h3{font:600 18px/1.5 Cinzel,serif;text-transform:uppercase;margin:0 0 5px}
.venue-strip p,.venue-strip a{font-size:19px}
.venue iframe{display:block;width:min(100%,850px);height:340px;border:0;border-radius:12px;margin:24px auto 0}
.wishes-section{padding:65px 20px;background:#fff0f3;text-align:center}
.wishes-section h2{font-size:58px;margin:12px 0 30px}
#wish-form{max-width:620px;margin:auto;padding:40px;background:#fffdfd;border-radius:30px;box-shadow:0 12px 40px #9c526014;text-align:left}
#wish-form>.eyebrow{text-align:center;color:#a98b52;margin-bottom:28px}
#wish-form label{display:block;font:14px Cinzel,serif;letter-spacing:2px;margin:26px 0 12px}
#wish-form input,#wish-form textarea{width:100%;border:1px solid #eedde1;border-radius:15px;padding:15px 18px;color:#62333d;background:#fff;font:22px 'Cormorant Garamond',Georgia,serif;resize:vertical}
#wish-form button{width:100%;border:0;border-radius:40px;padding:16px;background:linear-gradient(110deg,#c74b6c,#9d2344);color:white;font:16px Cinzel,serif;letter-spacing:2px}
.wish-help{font-size:17px;font-style:italic;text-align:center;margin:22px 0}#wish-status{font-size:16px;text-align:center;margin-top:15px}
@media(max-width:760px){
 .scene .event-subtitle{font-size:5cqw;margin:4px 0}
 .scene.sangeet .copy h2{font-size:8cqw}
 .scene.sangeet .copy{top:16%;width:86%}
 .scene.haldi .copy{top:24%}
 .scene.wedding .copy{top:17%}
 .scene.wedding .copy h2{font-size:10cqw}
 .scene .copy .event-time{font-size:4.5cqw;line-height:1.4}
 .scene.wedding .copy .event-date{font-size:4.2cqw;margin:5px 0}
 .venue-strip h3{font-size:14px}.venue-strip p,.venue-strip a{font-size:17px}
 .wishes-section h2{font-size:42px}#wish-form{padding:25px 20px}#wish-form label{font-size:12px}
 .family-mark{font-size:25px}
}
.scene.kirtan{background-image:url('assets/kirtan.png')}
/* Venue names sit inside each function artwork. */
.scene .copy .event-venue{font:600 18px/1.4 'Cormorant Garamond',Georgia,serif;margin:14px auto 0;max-width:95%;text-transform:uppercase;letter-spacing:.4px}
@media(max-width:760px){
 .scene .copy .event-venue{font-size:3.6cqw;line-height:1.3;margin-top:8px;letter-spacing:0}
 .scene.sangeet .copy{top:14%}
 .scene.wedding .copy{top:15%}
 .scene.wedding .copy h2{font-size:9cqw}
 .scene.wedding .event-subtitle{font-size:4.5cqw;margin:3px 0}
 .scene.wedding .copy .event-date{font-size:4cqw;margin:3px 0}
 .scene.wedding .copy .event-time{font-size:4.2cqw}
 .scene.wedding .copy .event-venue{margin-top:5px}
}
