:root{--ink:#55242b;--gold:#b98b52;--cream:#f5e9da;--paper:#fff9f0;--red:#782331;--line:#ddc8ac}
body{background:#4d1720;color:var(--ink)}.shell{background:var(--paper)}.topline{height:5px;background:#b98b52}.nav{color:#fff9ef}.emblem-link{display:block;width:54px;height:54px;color:#e7c393}.emblem-link img,.opening-emblem,.panel-emblem{width:100%;height:100%;object-fit:contain;filter:brightness(0) saturate(100%) invert(82%) sepia(26%) saturate(529%) hue-rotate(350deg) brightness(95%)}.emblem-link:hover{opacity:.75}.nav a{text-decoration:none}.nav-links a:hover,.nav-links a:focus-visible{color:#e7c393}
.hero{background:#35111b}.hero:before{background:linear-gradient(180deg,rgba(29,8,17,.64),rgba(58,14,25,.19) 49%,rgba(29,8,17,.72)),url('banaras-ghats.png') 45% center/cover no-repeat;animation:hero-settle 12s ease-out both}.hero:after{border:1px solid #e9c8958f}.hero h1{color:#fff8ed;text-shadow:0 5px 28px #16060d8a}.hero h1 em,.om,.hero-motif{color:#e7c393}.hero-date i,.scroll:after{background:#e7c393}.hero-place{color:#f1dfc7}.hero-motif{font:18px 'Cormorant Garamond',serif;letter-spacing:.11em;margin:-10px 0 12px}.hero-motif span{font-size:14px;margin:0 10px}.arrow-only{bottom:48px;display:grid;place-items:center;width:50px;height:50px;border:1px solid #e9c8959c;border-radius:50%;font:28px 'Cormorant Garamond',serif;line-height:1;transition:background .3s,transform .3s}.arrow-only:hover,.arrow-only:focus-visible{background:#fff7e825;transform:translateX(-50%) translateY(4px)}.arrow-only:after{display:none}
.intro{background:#fff9f0}.intro h2,.details h2,.closing h2{color:#6a2630}.intro p,.story-copy p,.closing p{color:#715657}.section-kicker{color:#922f39}.auspicious{font-size:25px;color:#b98b52;margin-top:20px}.lotus g{stroke:#b98b52}.pattern-divider{height:1px;background:#d8b98f;opacity:1}.toran{display:none}.story{background:#f1e2cf}.ghat-photo{background:linear-gradient(0deg,#4d172024,transparent 50%),url('banaras-ghats.png') 37% center/cover no-repeat}.story-copy .small{color:#8e5050}.red-rule{background:#a34c4f}.details{background:#fff9f0}.details-grid,.detail+.detail{border-color:#ddc8ac}.detail-icon{color:#b98b52}.detail-label{color:#8b3942}.detail-value{color:#612731}.detail-sub{color:#86716f}
.venue{background:#671e2b}.venue-content{background:#671e2b}.venue .section-kicker{color:#e2ba85}.venue p{color:#f3e4d3}.btn{border-color:#e6c795}.btn:hover,.btn:focus-visible{background:#e6c795;color:#671e2b}.invitation-panel{background:linear-gradient(145deg,#8d3541,#5b1724);display:grid;place-items:center;padding:42px;position:relative;min-height:565px}.invitation-panel:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at center,#d7a46c30,transparent 55%)}.panel-frame{position:relative;width:min(100%,445px);height:min(100%,480px);min-height:420px;border:1px solid #dfbd89;box-shadow:inset 0 0 0 11px #742632,inset 0 0 0 12px #dfbd899c;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#fff5e8;padding:30px}.panel-emblem{width:75px;height:75px}.panel-rule{width:74px;height:1px;background:#dfbd89;margin:21px 0}.panel-names{font:400 clamp(2.8rem,4vw,4.1rem)/.9 'Cormorant Garamond',serif}.panel-names em{display:block;color:#dfbd89;font-size:.65em;margin:10px}.panel-date{font:12px 'DM Sans',sans-serif;letter-spacing:.22em;margin-top:24px}.panel-place{font:11px 'DM Sans',sans-serif;text-transform:uppercase;letter-spacing:.14em;line-height:1.6}
.countdown{background:#f1e2cf}.countdown strong{color:#8c2d39}.countdown span{color:#8a6661}.closing{background:#fff9f0}.closing .names{color:#8c2d39}.footer{background:#5d1b28;color:#e4c895}
.invitation-closed{overflow:hidden}.opening[hidden]{display:none}.opening{position:fixed;inset:0;z-index:100;display:grid;place-items:center;overflow:hidden;background:#5e1c2b}.opening-backdrop{position:absolute;inset:0;background:radial-gradient(circle at center,#873d48,#4e1524);overflow:hidden}.opening-backdrop:before,.opening-backdrop:after{content:"";position:absolute;top:0;bottom:0;width:50%;background:repeating-linear-gradient(45deg,#e7c69208 0 1px,transparent 1px 18px)}.opening-backdrop:before{left:0}.opening-backdrop:after{right:0}.opening-card{position:relative;width:min(88vw,520px);min-height:min(77vh,565px);padding:54px 28px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:#fff9ef;color:#782331;box-shadow:0 25px 75px #2e081594,inset 0 0 0 1px #d8b98b;animation:card-arrive 1s ease-out both}.opening-card:before{content:"";position:absolute;inset:14px;border:1px solid #d9bd92;pointer-events:none}.opening-emblem{width:76px;height:76px;filter:brightness(0) saturate(100%) invert(56%) sepia(28%) saturate(659%) hue-rotate(350deg)}.opening-small{font-size:10px;letter-spacing:.23em;text-transform:uppercase;margin-top:23px}.opening-names{font:400 clamp(3.7rem,8vw,5.3rem)/.96 'Cormorant Garamond',serif;margin:28px 0 21px}.opening-names em{display:block;font-size:.62em;color:#b98b52;margin:5px}.opening-date{font-size:11px;letter-spacing:.17em;text-transform:uppercase}.open-button{margin-top:36px;border:1px solid #8c2c39;background:transparent;color:#782331;text-transform:uppercase;font-size:10px;font-weight:600;letter-spacing:.2em;padding:15px 25px;cursor:pointer;transition:background .25s,color .25s}.open-button:hover,.open-button:focus-visible{background:#782331;color:#fff9ef}.opening.leave .opening-card{animation:card-depart .7s ease-in both}.opening.leave .opening-backdrop:before{animation:door-left .95s ease-in-out both}.opening.leave .opening-backdrop:after{animation:door-right .95s ease-in-out both}.opening.leave{animation:opening-hide 1s both}
.petals{position:fixed;inset:0;z-index:90;pointer-events:none;overflow:hidden;visibility:hidden}.petals.active{visibility:visible}.petals span{position:absolute;top:-4vh;width:12px;height:8px;border-radius:76% 25% 70% 19%;background:linear-gradient(135deg,#f6c05c,#dd7f22);opacity:0;box-shadow:0 1px 3px #5f154228;animation:petal-drift var(--duration) var(--delay) ease-in forwards}.petals span:nth-child(3n){background:linear-gradient(135deg,#f7cf7a,#e99a35);width:10px}.petals span:nth-child(4n){background:linear-gradient(135deg,#e8a23f,#c5681c);width:14px}
.motion-ready .hero .om{animation:rise-in .9s .25s both}.motion-ready .hero-motif{animation:rise-in .9s .4s both}.motion-ready .hero .eyebrow{animation:rise-in .9s .55s both}.motion-ready .hero h1{animation:rise-in 1.1s .7s both}.motion-ready .hero-date{animation:rise-in .9s 1s both}.motion-ready .hero-place{animation:rise-in .9s 1.17s both}.motion-ready .details .detail{opacity:0;transform:translateY(18px);transition:opacity .8s ease,transform .8s ease}.motion-ready .details .show .detail{opacity:1;transform:none}.motion-ready .details .detail:nth-child(1){transition-delay:.08s}.motion-ready .details .detail:nth-child(2){transition-delay:.22s}.motion-ready .details .detail:nth-child(3){transition-delay:.36s}.fade{transition:opacity .9s ease,transform .9s ease}
@keyframes card-arrive{from{opacity:0;transform:translateY(15px) scale(.98)}to{opacity:1;transform:none}}@keyframes card-depart{to{opacity:0;transform:scale(.95)}}@keyframes door-left{to{transform:translateX(-101%)}}@keyframes door-right{to{transform:translateX(101%)}}@keyframes opening-hide{0%,90%{background:#5e1c2b}100%{background:transparent;visibility:hidden}}@keyframes petal-drift{0%{opacity:0;transform:translate3d(0,-20px,0) rotate(0)}12%{opacity:.8}75%{opacity:.7}100%{opacity:0;transform:translate3d(var(--drift),105vh,0) rotate(290deg)}}@keyframes rise-in{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}@keyframes hero-settle{from{transform:scale(1.025);filter:brightness(.82)}to{transform:scale(1);filter:brightness(1)}}
@media(max-width:700px){.shell{width:100%;box-shadow:none}.nav{padding:18px 22px}.emblem-link{width:43px;height:43px}.nav-links{gap:19px}.nav-links a:first-child{display:none}.hero{min-height:100svh;padding:110px 22px 100px}.hero:before{background-position:center,30% center}.hero:after{inset:12px}.hero h1{font-size:clamp(4.6rem,18vw,7.2rem);margin:27px 0 16px}.hero .eyebrow{font-size:9px;letter-spacing:.2em;line-height:1.7}.hero-motif span{font-size:12px}.hero-date{font-size:14px;margin-top:29px}.hero-date i{width:22px}.hero-place{font-size:9px;line-height:1.7}.arrow-only{bottom:28px;width:46px;height:46px}.ghat-photo{height:390px;background-position:26% center}.story-copy{padding:72px 30px}.story-copy h2{font-size:clamp(3.5rem,13vw,5rem)}.details{padding:80px 25px}.details h2{margin-bottom:42px}.detail{padding:28px 20px}.venue-content{padding:78px 30px}.invitation-panel{min-height:410px;height:410px;padding:25px}.panel-frame{min-height:350px;height:100%}.panel-names{font-size:3.5rem}.countdown{padding:70px 22px}.countdown .numbers{gap:clamp(12px,4vw,24px)}.countdown strong{font-size:clamp(2.5rem,11vw,3.3rem)}.countdown span{font-size:8px;letter-spacing:.14em}.closing{padding:85px 28px 65px}.opening-card{width:min(88vw,430px);min-height:min(70vh,530px);padding:48px 28px}.opening-names{font-size:clamp(3.5rem,13vw,4.8rem)}}
@media(max-width:390px){.nav-links a{font-size:8px}.hero h1{font-size:17.5vw}.hero-date{font-size:13px}.intro h2,.details h2,.closing h2{font-size:3.1rem}.opening-names{font-size:13vw}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero:before,.opening-card,.opening.leave,.opening.leave .opening-card,.opening.leave .opening-backdrop:before,.opening.leave .opening-backdrop:after,.motion-ready .hero .om,.motion-ready .hero-motif,.motion-ready .hero .eyebrow,.motion-ready .hero h1,.motion-ready .hero-date,.motion-ready .hero-place,.petals span{animation:none!important}.opening.leave{display:none}.motion-ready .details .detail,.fade{opacity:1;transform:none;transition:none}}
@media(max-width:700px){.story-copy,.venue-content{text-align:center;align-items:center}.story-copy .red-rule{margin:24px auto}.story-copy h2{font-size:clamp(3.15rem,10.5vw,4.3rem);max-width:560px;margin-left:auto;margin-right:auto}.story-copy p{max-width:480px;margin-left:auto;margin-right:auto}.story-copy .small{max-width:100%;font-size:10px;letter-spacing:.1em}.venue-content h2{font-size:clamp(3.2rem,11vw,4.5rem)}.venue-content .btn{margin-left:auto;margin-right:auto}.intro h2,.details h2,.closing h2{max-width:560px;margin-left:auto;margin-right:auto}.closing p{max-width:460px;margin-left:auto;margin-right:auto}}
@media(max-width:700px){.invitation-panel{height:480px;min-height:480px}.panel-frame{height:100%;min-height:0}.panel-emblem{width:60px;height:60px}.panel-rule{margin:15px 0}.panel-names{font-size:3.2rem}.panel-date{margin-top:18px}.panel-place{font-size:10px}}
.emblem-link img,.opening-emblem,.panel-emblem{filter:none}.emblem-link{width:57px;height:57px}.opening-emblem{width:112px;height:112px}.panel-emblem{width:100px;height:100px}@media(max-width:700px){.emblem-link{width:49px;height:49px}.opening-emblem{width:95px;height:95px}.panel-emblem{width:83px;height:83px}}
/* Events, music and centered scroll arrow */
.arrow-only{display:flex;align-items:center;justify-content:center;padding:0;line-height:0}.arrow-only svg{width:20px;height:20px;display:block;flex:none;transform:translateY(-1px)}
.events-intro{font:20px/1.5 'Cormorant Garamond',serif;color:#806769;margin:-36px auto 45px;max-width:540px}.events-list{max-width:900px;margin:0 auto;text-align:left;border-top:1px solid #d8bea0}.event-row{display:grid;grid-template-columns:145px 1fr;align-items:center;gap:40px;padding:29px 34px;border-bottom:1px solid #d8bea0;background:linear-gradient(90deg,#f5e8d8aa,transparent);position:relative}.event-row:before{content:"";position:absolute;left:179px;top:29px;bottom:29px;width:1px;background:#d8bea0}.event-date{display:flex;flex-direction:column;color:#8b3942}.event-date strong{font:400 4.2rem/.85 'Cormorant Garamond',serif}.event-date span{font-size:10px;font-weight:600;letter-spacing:.17em;margin-top:10px}.event-content{padding-left:3px}.event-type{font-size:10px;text-transform:uppercase;letter-spacing:.23em;color:#9c7565;font-weight:600;margin-bottom:8px}.event-content h3,.event-items{font:400 clamp(2.1rem,3.4vw,3.2rem)/1.05 'Cormorant Garamond',serif;margin:0;color:#612731}.event-items{display:flex;align-items:baseline;gap:17px;flex-wrap:wrap}.event-items i{font:15px 'DM Sans',sans-serif;color:#b98b52}.event-content p{font-size:11px;letter-spacing:.11em;text-transform:uppercase;color:#91615e;margin:12px 0 0}
.music-toggle{position:fixed;right:24px;bottom:24px;z-index:70;display:flex;align-items:center;justify-content:center;gap:10px;min-width:105px;height:45px;padding:0 15px;border:1px solid #e5cda8;background:#671e2beb;color:#fff6e8;box-shadow:0 8px 28px #21081245;backdrop-filter:blur(8px);cursor:pointer;transition:background .25s,transform .25s}.music-toggle:hover,.music-toggle:focus-visible{background:#852d3d;transform:translateY(-2px)}.music-toggle .music-icon{font-size:19px;line-height:1;width:20px;text-align:center}.music-toggle .music-label{font-size:10px;letter-spacing:.17em;text-transform:uppercase;font-weight:600}.music-toggle.playing:after{content:"";position:absolute;left:12px;bottom:7px;width:4px;height:4px;border-radius:50%;background:#efc778}body.invitation-closed .music-toggle{display:none}
@media(max-width:700px){.events-intro{font-size:18px;margin:-24px auto 35px;padding:0 8px}.events-list{max-width:520px}.event-row{grid-template-columns:72px 1fr;gap:19px;padding:25px 8px}.event-row:before{left:90px;top:24px;bottom:24px}.event-date strong{font-size:3.4rem}.event-date span{font-size:8px;letter-spacing:.1em}.event-type{font-size:9px;letter-spacing:.17em}.event-content h3,.event-items{font-size:clamp(1.8rem,7vw,2.7rem)}.event-items{gap:9px}.event-items i{font-size:10px}.event-content p{font-size:9px;letter-spacing:.07em}.music-toggle{right:15px;bottom:15px;min-width:94px;height:42px}}
.rsvp-section{padding:100px 25px;background:#fff9f0;text-align:center}.rsvp-frame{max-width:870px;margin:auto;padding:70px 40px;border:1px solid #d9b98c;position:relative}.rsvp-frame:before{content:"";position:absolute;inset:10px;border:1px solid #e6d3b7;pointer-events:none}.rsvp-section h2{font:400 clamp(3.4rem,6vw,5.6rem)/1 'Cormorant Garamond',serif;color:#6c2531;margin:18px 0 22px}.rsvp-section p{max-width:530px;margin:0 auto 32px;font:19px/1.55 'Cormorant Garamond',serif;color:#73575a}.rsvp-button{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:51px;padding:0 25px;background:#742632;color:#fff8ed;text-decoration:none;text-transform:uppercase;font-size:10px;letter-spacing:.17em;font-weight:600;transition:background .25s,transform .25s}.rsvp-button:hover,.rsvp-button:focus-visible{background:#963846;transform:translateY(-2px)}.rsvp-note{font-size:10px;letter-spacing:.08em;color:#947d77;margin-top:16px}@media(max-width:700px){.rsvp-section{padding:70px 23px}.rsvp-frame{padding:58px 25px}.rsvp-section h2{font-size:clamp(3.1rem,12vw,4.5rem)}.rsvp-section p{font-size:18px}.rsvp-button{padding:0 17px;font-size:9px;letter-spacing:.12em}}
/* Full-bleed Banaras opening scene */
.opening{background:#32131b}.opening-backdrop{background:linear-gradient(180deg,#210b14a8,#4b1724aa),url('banaras-ghats.png') 45% center/cover no-repeat;filter:blur(4px) saturate(.78);transform:scale(1.035)}.opening-backdrop:before,.opening-backdrop:after{display:none}.opening-card{width:min(87vw,600px);min-height:min(82vh,650px);padding:58px 40px 45px;background:linear-gradient(180deg,#2d101ba8,#3e1422b8);color:#fff7e8;box-shadow:0 20px 90px #17050b88;border:1px solid #e2c38f9c;backdrop-filter:blur(2px);animation:card-arrive 1.2s ease-out both}.opening-card:before{inset:13px;border:1px solid #d6b582a8;border-radius:250px 250px 3px 3px}.opening-emblem{width:130px;height:130px;filter:none;filter:drop-shadow(0 8px 16px #16040a6b)}.opening-small{font-size:10px;letter-spacing:.15em;color:#f5ddb8;margin-top:16px;line-height:1.8}.opening-small span{padding:0 8px;color:#e6c38b}.opening-names{font-size:clamp(4rem,8vw,6.2rem);margin:23px 0 20px;color:#fff8ef;text-shadow:0 7px 20px #16040a84}.opening-names em{color:#e5c18b}.opening-date{font-size:12px;color:#f5e5cf;letter-spacing:.2em}.opening-date span{padding:0 13px;color:#e2bf83}.opening-place{font-size:10px;text-transform:uppercase;letter-spacing:.23em;color:#e7c994;margin-top:14px}.open-button{margin-top:35px;border:1px solid #e5c18b;background:#e5c18b;color:#491b26;min-height:49px;padding:0 25px;font-size:10px;letter-spacing:.2em}.open-button span{font-size:16px;margin-left:10px;vertical-align:middle}.open-button:hover,.open-button:focus-visible{background:#fff0d2;color:#491b26}.opening.leave{animation:opening-fade 1s ease-in-out both}.opening.leave .opening-card{animation:card-depart .75s ease-in both}.opening.leave .opening-backdrop{animation:backdrop-push 1s ease-in both}@keyframes opening-fade{0%,55%{opacity:1}100%{opacity:0;visibility:hidden}}@keyframes backdrop-push{to{transform:scale(1.09);filter:blur(0) saturate(.9)}}
@media(max-width:700px){.opening-backdrop{background-position:29% center}.opening-card{width:min(89vw,470px);min-height:min(81vh,665px);padding:45px 26px 36px}.opening-card:before{inset:10px;border-radius:190px 190px 2px 2px}.opening-emblem{width:108px;height:108px}.opening-small{font-size:9px;letter-spacing:.09em;max-width:260px}.opening-names{font-size:clamp(3.6rem,14vw,5.3rem)}.opening-date{font-size:10px;letter-spacing:.13em}.opening-date span{padding:0 6px}.opening-place{font-size:9px;letter-spacing:.16em}.open-button{font-size:9px;letter-spacing:.15em;padding:0 17px}}
@media(max-width:390px){.opening-card{min-height:78vh}.opening-emblem{width:92px;height:92px}.opening-names{font-size:13vw}}
@media(prefers-reduced-motion:reduce){.opening.leave,.opening.leave .opening-card,.opening.leave .opening-backdrop{animation:none}.opening.leave{display:none}}
/* Ganesh ji medallion */
.opening-emblem,.panel-emblem,.emblem-link img{border:1px solid #dfbd85;border-radius:50%;background:radial-gradient(circle,#fff9ef29,#e9c88a13);box-shadow:0 0 0 5px #e7c38b24,inset 0 0 0 4px #e7c38b24;box-sizing:border-box}.opening-emblem{padding:15px;filter:drop-shadow(0 7px 14px #18050b55)}.panel-emblem{padding:12px}.emblem-link img{padding:5px;box-shadow:0 0 0 3px #e7c38b20}
@media(max-width:700px){.opening-emblem{padding:12px}.panel-emblem{padding:10px}.emblem-link img{padding:4px}}
.opening-backdrop{background:linear-gradient(180deg,#210b1470,#4b172482),url('banaras-ghats.png') 40% center/cover no-repeat;filter:none;transform:none}.opening-card{background:linear-gradient(180deg,#2d101b91,#3e1422a8);backdrop-filter:blur(3px)}@media(max-width:700px){.opening-backdrop{background-position:center,27% center}.opening-card{width:min(84vw,450px);min-height:min(75vh,610px)}}

/* Draft 1 palette with requested copy, structure and hand-lettered names. */
.nav{position:relative;top:auto;left:auto;right:auto;max-width:none;background:#fff9f0;color:#612731;padding-top:19px;padding-bottom:19px;border-bottom:1px solid #ddc8ac}
.nav-links a:hover,.nav-links a:focus-visible{color:#8c2d39}.emblem-link img{background:#fff9f0}
.story{min-height:600px}.story-copy{padding-top:95px;padding-bottom:95px}
.venue{grid-template-columns:1fr;text-align:center;min-height:0;border-top:1px solid #b98b5280;border-bottom:1px solid #b98b5280}.venue-content{max-width:740px;margin:auto;align-items:center;padding:95px 32px}.venue-content .fade{display:flex;flex-direction:column;align-items:center}.venue p{line-height:1.8}
.opening-names{font:400 clamp(4.4rem,8.8vw,6.8rem)/1.12 'La Belle Aurore',cursive;letter-spacing:0;margin:25px 0 16px}.opening-names .and-word{display:block;font:inherit;font-size:.66em;line-height:.95;color:#e5c18b;margin:-6px 0 8px}.opening-place{line-height:1.7}
.open-button{display:inline-flex;align-items:center;justify-content:center;gap:12px}.button-arrow{display:block;width:18px;height:18px;flex:0 0 18px}.rsvp-button .button-arrow,.btn .button-arrow{width:18px;height:18px}
.closing .signoff{font:400 31px/1.3 'La Belle Aurore',cursive;color:#986c5e;margin-top:36px}.closing .names{font:400 clamp(2.8rem,5vw,4.1rem)/1.15 'La Belle Aurore',cursive;color:#8c2d39;margin-top:8px}.closing h2{max-width:850px}
.footer{padding-bottom:85px}
@media(max-width:700px){.nav{padding:15px 21px}.story{display:flex;flex-direction:column}.ghat-photo{height:50svh;min-height:360px;background-position:26% center}.story-copy{text-align:center;align-items:center;padding:68px 28px}.story-copy h2{font-size:clamp(3rem,11vw,4.4rem)}.venue-content{padding:70px 28px}.venue h2{font-size:clamp(3.2rem,11vw,4.5rem)}.opening-card{min-height:min(78vh,660px)}.opening-names{font-size:clamp(4rem,15.5vw,5.7rem);line-height:1.03;margin:24px 0 18px}.opening-names .and-word{font-size:.63em;margin:-3px 0 8px}.opening-place{font-size:9px;max-width:270px}.closing h2{font-size:clamp(3rem,11vw,4.5rem)}.closing .names{font-size:clamp(2.6rem,11vw,3.7rem)}.footer{padding:28px 20px 95px}.music-toggle{bottom:max(15px,env(safe-area-inset-bottom))}}
@media(max-width:390px){.opening-card{min-height:76vh}.opening-emblem{width:88px;height:88px}.opening-names{font-size:15vw}.opening-names .and-word{font-size:.66em}}

/* Return to the Banaras image page after the cover. */
.nav{position:absolute;top:8px;left:0;right:0;max-width:1440px;background:transparent;color:#fff9e9;padding:28px clamp(24px,5vw,76px);border-bottom:0}.emblem-link img{background:radial-gradient(circle,#fff9ef29,#e9c88a13)}
.hero h1 em{font:400 .35em/1 'La Belle Aurore',cursive;color:#e5c18b;margin:0 0 .1em;text-shadow:none}.hero h1{line-height:.9}.hero:before{background:linear-gradient(180deg,rgba(29,8,17,.62),rgba(58,14,25,.2) 49%,rgba(29,8,17,.72)),url('banaras-ghats.png') 45% center/cover no-repeat}

/* Opening card typography only. */
.intro p{text-align:justify;font-size:18px;line-height:1.5;color:#5f4446}
.intro p+p{margin-top:1em}
.opening-card{font-family:'Jost',sans-serif}
.opening-small{font-family:'Noto Sans Devanagari',sans-serif;font-size:13px;text-transform:none;font-weight:500;letter-spacing:.08em}
.opening-names,.hero h1{font:italic 400 clamp(3rem,5.2vw,4rem)/1.16 'Rosarivo',serif;letter-spacing:.015em;margin:31px 0 27px;color:#d4b98e;text-shadow:none}
.opening-names .and-word{display:flex;align-items:center;justify-content:center;gap:13px;font:400 15px/1.2 'Jost',sans-serif;letter-spacing:.11em;font-style:normal;margin:17px 0;color:#e5c18b;text-shadow:none}
.opening-names .and-word:before,.opening-names .and-word:after{content:"";width:33px;height:1px;background:#d8b988a8}
@media(max-width:700px){.opening-small{font-size:12px}}
@media(max-width:700px){.opening-names{font-size:clamp(2.5rem,10vw,3.2rem);margin:29px 0 25px}.opening-names .and-word{font-size:12px;margin:12px 0;gap:11px}.opening-names .and-word:before,.opening-names .and-word:after{width:27px}}
@media(max-width:700px){.nav{padding:18px 22px}.hero h1 em{font-size:.34em;margin:0 0 .08em}.hero h1{font-size:clamp(4.6rem,18vw,7.2rem)}}

/* Photographic bougainvillea blooms appear briefly when the invitation opens. */
.hero .hero-prayer{font:400 clamp(12px,1.3vw,15px)/1.9 'Noto Sans Devanagari',sans-serif;letter-spacing:.02em;text-transform:none;color:#e5c18b;padding:0 8px}
.hero h1 em{font:400 15px/1.2 'Jost',sans-serif;letter-spacing:.11em;margin:17px 0;color:#e5c18b}
@media(max-width:700px){.hero h1{font-size:clamp(2.5rem,10vw,3.2rem);margin:29px 0 25px}.hero h1 em{font-size:12px;margin:12px 0}}
.petals span.bougainvillea{top:-10vh;width:var(--size);height:var(--size);border-radius:0;background:none;box-shadow:none;animation:bougainvillea-fall var(--duration) var(--delay) linear both;will-change:transform,opacity}
.petals span.bougainvillea img{display:block;width:100%;height:100%;object-fit:contain;filter:hue-rotate(var(--hue)) drop-shadow(0 2px 3px #25081745)}
@keyframes bougainvillea-fall{0%{opacity:0;transform:translate3d(0,-10vh,0) rotate(-35deg) scale(.8)}10%{opacity:.78}50%{opacity:.78;transform:translate3d(calc(var(--drift) * -.25),57.5vh,0) rotate(95deg) scale(1)}95%{opacity:.78}100%{opacity:0;transform:translate3d(var(--drift),125vh,0) rotate(var(--spin)) scale(.9)}}
@media(max-width:700px){.petals span.bougainvillea{width:calc(var(--size) * .85);height:calc(var(--size) * .85)}}

.rsvp-choice{border:0;margin:28px 0 24px;padding:0;color:#6a2630;font:15px/1.5 'Jost',sans-serif}
.rsvp-choice legend{width:100%;margin-bottom:14px;font-weight:500}
.rsvp-choice label{display:inline-flex;align-items:center;gap:7px;margin:6px 12px;cursor:pointer}
.rsvp-choice input{accent-color:#671e2b;width:17px;height:17px}
.rsvp-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:14px}
.rsvp-actions .rsvp-button{margin:0;font-size:12px;cursor:pointer}
.rsvp-choice input:focus-visible,.rsvp-actions a:focus-visible{outline:2px solid #a0783c;outline-offset:4px}
.signature-heart{display:inline-block;width:.45em;height:.45em;vertical-align:baseline;color:#8c2d39;margin-left:.08em}

/* Compact closing section. */
.closing{padding:48px 20px 40px}
@media(max-width:700px){.closing{padding:36px 25px 32px}}

.closing{padding:22px 20px 30px}
.closing-divider{display:flex;align-items:center;justify-content:center;gap:12px;color:#b98b52;margin:0 auto 22px}
.closing-divider span{width:55px;height:1px;background:currentColor;opacity:.65}
.closing-divider svg{width:32px;height:24px}
.closing h2{margin-top:0}
@media(max-width:700px){.closing{padding:18px 25px 26px}.closing-divider{margin-bottom:18px}}
.footer-prayer{font:400 12px/1.8 'Noto Sans Devanagari',sans-serif;letter-spacing:.03em;text-transform:none;margin-top:10px}

.venue-flourish{width:160px;max-width:60%;margin:0 auto 22px;color:#e2ba85}.venue-flourish svg{display:block;width:100%;height:auto}

.celebrations-flourish{width:150px;max-width:60%;margin:0 auto 22px;color:#b98b52}.celebrations-flourish svg{display:block;width:100%;height:auto}

/* Balanced spacing for the invitation text. */
.intro.section{padding:76px clamp(25px,7vw,110px)}
.intro .auspicious{margin-top:14px}
.intro h2{margin:16px auto 26px}
.intro p+p{margin-top:18px}
.intro .lotus{margin-top:24px}
@media(max-width:700px){.intro.section{padding:54px 26px}.intro h2{margin:14px auto 22px}.intro p+p{margin-top:16px}.intro .lotus{margin-top:22px}}
/* Final spacing rhythm across desktop and mobile. */
.opening{overflow-y:auto;padding:24px 0}
.opening-card{flex-shrink:0;padding:42px 36px 36px}
.opening-names{margin:26px 0 22px}
.opening-place{margin-top:12px}
.open-button{margin-top:28px}
.hero h1{margin:28px 0 24px}
.hero-date{margin:26px auto 0}
.intro.section,.details.section{padding:72px clamp(25px,7vw,110px)}
.intro h2{margin:16px auto 24px}
.intro p+p{margin-top:18px}
.celebrations-flourish,.venue-flourish{margin-bottom:18px}
.details h2{margin:18px auto 38px}
.event-row{padding-top:28px;padding-bottom:28px}
.event-content p{margin:8px 0 0}
.event-content p+.event-items{margin-top:22px}
.venue-content{padding:72px 32px}
.venue h2{margin:18px 0 24px}
.venue p{margin:0 0 26px}
.rsvp-section{padding:64px 25px 46px}
.rsvp-frame{padding:48px 36px}
.rsvp-section h2{margin:16px 0 20px}
.rsvp-section p{margin-bottom:24px}
.rsvp-choice{margin:22px 0}
.rsvp-actions{gap:12px}
.rsvp-note{margin:16px auto 0;max-width:440px;line-height:1.7}
.closing{padding:20px 25px 32px}
.closing-divider{margin-bottom:20px}
.closing h2{margin:0 auto 18px}
.closing p{margin:0 auto;max-width:560px}
.closing .signoff{margin-top:26px}
.closing .names{margin-top:6px}
.closing .lotus{margin-top:22px}
.footer{padding:22px 25px 76px}
.footer-prayer{margin-top:0}
@media(max-width:700px){
 .opening{padding:18px 0}
 .opening-card{padding:32px 24px 28px;min-height:0}
 .opening-names{margin:24px 0 20px}
 .open-button{margin-top:24px}
 .hero h1{margin:24px 0 22px}
 .hero-date{margin-top:24px}
 .intro.section,.details.section{padding:52px 26px}
 .intro h2{margin:14px auto 22px}
 .intro p+p{margin-top:16px}
 .details h2{margin:16px auto 30px}
 .event-row{padding:24px 8px}
 .event-content p+.event-items{margin-top:18px}
 .venue-content{padding:52px 26px}
 .venue h2{margin:16px 0 22px}
 .rsvp-section{padding:48px 20px 32px}
 .rsvp-frame{padding:36px 24px}
 .rsvp-choice label{margin:7px 8px}
 .rsvp-actions .rsvp-button{padding:0 18px;min-height:48px}
 .closing{padding:16px 26px 28px}
 .closing-divider{margin-bottom:18px}
 .closing .signoff{margin-top:22px}
 .footer{padding:20px 24px 76px}
}
.couple-watermark{display:flex;align-items:center;justify-content:center;gap:12px;margin:26px auto 0;color:#8c2d39;opacity:.45}.watermark-names{font:400 23px/1.5 'La Belle Aurore',cursive;white-space:nowrap}.watermark-amp{font:italic 15px 'Rosarivo',serif;margin:0 2px}.watermark-rule{width:26px;height:1px;background:currentColor}

/* Small couple monogram on each invitation section. */
main>section{position:relative}
.initials-seal{position:absolute;right:18px;bottom:14px;width:36px;height:36px;border:1px solid currentColor;border-radius:50%;display:flex;align-items:center;justify-content:center;gap:1px;color:#8c2d39;opacity:.6;pointer-events:none;font:italic 400 14px/1 'Rosarivo',serif}
.initials-seal i{font:400 8px/1 'Cormorant Garamond',serif;align-self:center;margin-top:7px}
.hero .initials-seal,.venue .initials-seal{color:#e2ba85}
.closing{padding-bottom:68px}
@media(max-width:700px){.initials-seal{right:12px;bottom:10px;width:32px;height:32px;font-size:12px}.closing{padding-bottom:60px}}
.initials-seal{width:34px;height:34px}.rsvp-frame{padding-bottom:64px}.rsvp-frame>.initials-seal{right:20px;bottom:20px}
@media(max-width:700px){.initials-seal{width:30px;height:30px}.rsvp-frame{padding-bottom:58px}.rsvp-frame>.initials-seal{right:18px;bottom:18px}}
