.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* A small envelope with a date hidden inside. */
.date-envelope{max-width:590px;margin-top:48px;background:#f6ebdc;border:1px solid #cdb78d;outline:1px solid #d8c8ad80;outline-offset:7px;box-shadow:0 10px 25px #59392408}
.date-envelope:before,.date-envelope:after{display:none}
.date-reveal{padding:32px 30px;gap:24px;position:relative;min-height:147px;isolation:isolate}
.date-reveal:after{content:'';position:absolute;inset:7px;border:1px solid #d8c8ad80;z-index:-1;pointer-events:none}
.date-seal{height:60px;min-width:60px;font-size:19px;outline-color:#b58b77;box-shadow:inset 0 0 0 3px #ffffff16;transition:transform .3s}
.date-reveal:hover .date-seal{transform:rotate(-6deg)}
.date-reveal .eyebrow{font-size:8px;letter-spacing:2px}.reveal-label{display:block;font-size:30px;line-height:1.25;margin-top:5px;color:var(--maroon)}
.reveal-hint{display:block;font:italic 16px/1.6 var(--serif);color:#947754;margin-top:7px}
.reveal-plus{font-size:26px;color:var(--gold)}
.date-details{padding:35px 30px 32px;text-align:center;background:#fff9ee;position:relative;overflow:hidden;border-top:1px solid #d8c8ad;animation:date-open .5s ease both}
.date-details .eyebrow{position:relative;font-size:8px;letter-spacing:2px}
.date-number{font:500 112px/.95 var(--serif);color:var(--maroon);margin-top:17px}
.date-month{font:italic 34px/1.2 var(--serif);color:var(--maroon);margin-top:4px}
.date-full{font-size:11px;color:#877254;margin-top:17px}
.date-details .text-button{margin-top:15px;font-size:9px}
.revealed-date-art{position:absolute;inset:0;pointer-events:none;color:#d9b7a1}.revealed-date-art span{position:absolute;font-size:67px;opacity:.5}.revealed-date-art span:nth-child(1){left:5%;top:22px;transform:rotate(-15deg)}.revealed-date-art span:nth-child(2){right:5%;bottom:10px;transform:rotate(20deg)}.revealed-date-art span:nth-child(3){right:13%;top:30px;font-size:31px;color:var(--gold)}
.is-open .date-reveal{background:#f1e2d2}
@keyframes date-open{from{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:none}}
.flower-shower{position:fixed;inset:0;z-index:45;pointer-events:none;overflow:hidden}
.falling-flower{position:absolute;top:-35px;left:var(--left);width:var(--size);height:var(--size);opacity:0;animation:flower-fall var(--duration) var(--delay) cubic-bezier(.3,.2,.65,1) both;will-change:transform}
.falling-flower svg{width:100%;height:100%;display:block}
@keyframes flower-fall{0%{opacity:0;transform:translate3d(0,-35px,0) rotate(0)}10%{opacity:1}85%{opacity:.9}100%{opacity:0;transform:translate3d(var(--wind),110vh,0) rotate(var(--turn))}}

/* The couple section becomes a painted storybook spread with a letter. */
.together{display:block;max-width:none;margin:0;padding:85px 0 100px;background:#f8f0e3;position:relative;overflow:hidden}
.together-copy{text-align:center;max-width:720px;padding:0 24px;margin:0 auto 40px}
.together-copy h2{font-size:59px;line-height:1.08;margin-top:17px}
.together-intro{font:italic 23px/1.5 var(--serif);color:#8a7054;margin-top:18px}
.garden-spread{position:relative;max-width:1240px;margin:auto;padding:0 35px 25px}
.together .portrait-frame{border:0;border-radius:0;padding:0;position:relative;box-shadow:0 16px 40px #5c443b14}
.together .portrait-frame:before{inset:13px;border:1px solid #b5965a70;border-radius:0;z-index:1}
.together .portrait-frame img{width:100%;height:660px;object-fit:cover;object-position:center;border-radius:0}
.together .portrait-frame figcaption{position:absolute;bottom:26px;left:45px;background:#fff8e9e8;border:1px solid #cdb78d;padding:10px 24px;font-size:23px;z-index:2}
.garden-stamp{position:absolute;top:26px;left:60px;width:87px;height:87px;border:1px solid #a7864d;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--maroon);background:#fff8e9e6;font:italic 28px var(--serif);transform:rotate(-9deg);outline:1px dashed #a7864d;outline-offset:5px;z-index:2}
.garden-stamp small{font:7px var(--sans);letter-spacing:1.7px;margin-top:7px}
.together-letter{position:absolute;right:60px;bottom:0;width:340px;padding:36px 31px 31px;background:#fffaef;border:1px solid #d4c19c;outline:1px solid #d4c19c;outline-offset:-9px;box-shadow:0 13px 28px #4d332218;transform:rotate(1.6deg);z-index:3;text-align:left}
.letter-flower{display:block;color:#be7d84;font-size:31px;line-height:1;margin-bottom:17px}
.together-letter .eyebrow{font-size:8px;letter-spacing:2px}
.together-letter .section-copy{font-size:13px;line-height:1.95;margin:17px 0 0}
.together-letter .signature{font-size:27px;margin-top:20px}
.letter-rule{height:1px;width:45px;background:var(--line);margin:17px 0}
.letter-closing{font:italic 17px/1.4 var(--serif);color:#8a7054}

/* A Bharatpur city postcard beside the actual wedding venue. */
.venue-section{display:block;background:#e5e7d9;padding:85px 7% 100px;position:relative;overflow:hidden}
.venue-heading{text-align:center;max-width:800px;margin:0 auto 52px}
.venue-heading h2{margin-top:15px;font-size:58px}
.venue-heading>p:last-child{font:italic 23px/1.5 var(--serif);color:#727453;margin-top:18px}
.venue-postcard{display:grid;grid-template-columns:1.15fr 1fr;align-items:center;max-width:1110px;margin:auto;background:#fff9ee;position:relative;border:1px solid #c7c4a7;box-shadow:0 14px 35px #4c4b3510}
.bharatpur-scene{padding:13px 13px 20px;border-right:1px solid #d5d0b9;margin:0;align-self:stretch;background:#f9f2e2}
.city-window{width:100%;aspect-ratio:1.12;position:relative;overflow:hidden;background:#e1e2ca}
.city-window img{width:100%;height:100%;object-fit:cover;object-position:left center;transition:object-position 1s ease}
.bharatpur-scene[data-view=nature] .city-window img{object-position:right center}
.postcard-city{position:absolute;left:22px;bottom:23px;color:var(--maroon);background:#fff7e6e8;padding:10px 20px;border:1px solid #c7b48d;font:italic 35px/1.1 var(--serif);text-align:center}
.postcard-city small{display:block;font:7px var(--sans);letter-spacing:3px;margin-top:6px}
.bharatpur-scene figcaption{font:italic 17px/1.6 var(--serif);text-align:center;color:#827454;margin:16px 7px 12px}
.city-views{display:flex;justify-content:center;gap:8px}
.city-views button{border:1px solid #c9c0a3;background:transparent;color:#70644a;padding:9px 13px;min-height:42px;font-size:9px;letter-spacing:.6px;display:flex;align-items:center;gap:8px}
.city-views button[aria-pressed=true]{background:var(--maroon);color:var(--paper);border-color:var(--maroon)}
.city-views button>span:first-child{font-size:17px;line-height:1}
.venue-copy{padding:50px 45px;position:relative;text-align:left}
.venue-copy h3{font:500 65px/1.1 var(--serif);letter-spacing:-1px;margin:15px 0 24px;color:var(--maroon)}
.venue-copy .venue-address{font-size:13px;line-height:1.95}
.venue-copy .venue-time{font-size:11px;line-height:1.8;margin:22px 0 29px}
.venue-seal{position:absolute;right:20px;top:22px;display:flex;flex-direction:column;align-items:center;justify-content:center;width:59px;height:68px;border:1px dashed #a7864d;transform:rotate(8deg);font:500 32px/1 var(--serif);color:#a7864d}
.venue-seal small{font:7px var(--sans);letter-spacing:2px;margin-top:6px}
.venue-welcome{font:italic 22px/1.5 var(--serif);color:#8a7054;margin-top:31px;border-top:1px solid var(--line);padding-top:23px}
html[lang=hi] .reveal-label{font:21px/1.8 var(--hindi)}html[lang=hi] .reveal-hint{font:11px/1.8 var(--hindi);max-width:300px}html[lang=hi] .date-month{font:26px/1.5 var(--hindi)}html[lang=hi] .date-details .eyebrow{font-size:10px;letter-spacing:.2px}html[lang=hi] .date-full{font-size:11px;line-height:1.8}html[lang=hi] .together-copy h2{font-size:43px;line-height:1.6}html[lang=hi] .together-intro{font:14px/1.8 var(--hindi)}html[lang=hi] .together-letter .section-copy{font-size:12px;line-height:2}html[lang=hi] .together-letter .eyebrow{font-size:9px;letter-spacing:.2px}html[lang=hi] .letter-closing{font:11px/1.8 var(--hindi)}html[lang=hi] .venue-heading h2{font-size:43px;line-height:1.6}html[lang=hi] .venue-heading>p:last-child{font:14px/1.8 var(--hindi)}html[lang=hi] .city-views button{font-size:10px;letter-spacing:0}html[lang=hi] .bharatpur-scene figcaption{font:11px/1.9 var(--hindi)}html[lang=hi] .venue-welcome{font:14px/1.9 var(--hindi)}
@media(max-width:900px) and (min-width:761px){.venue-copy{padding:45px 27px}.venue-copy h3{font-size:55px}.together-letter{width:315px;right:45px}.garden-spread{padding:0 25px 25px}.together .portrait-frame img{height:650px;object-position:40% center}}
@media(max-width:760px){
  .date-envelope{margin-top:40px}.date-reveal{padding:27px 19px;gap:17px;min-height:145px}.date-seal{min-width:46px;height:46px;font-size:16px}.reveal-label{font-size:27px;max-width:180px}.date-reveal .eyebrow{font-size:7px;letter-spacing:1.1px}.reveal-hint{font-size:15px;line-height:1.4;max-width:170px}.reveal-plus{font-size:22px}.date-details{padding:32px 20px}.date-number{font-size:100px}.date-month{font-size:31px}.date-full{font-size:10px;line-height:1.8}.revealed-date-art span:nth-child(1){left:3%;font-size:45px}.revealed-date-art span:nth-child(2){right:2%;font-size:48px}
  .together{padding:70px 0 65px}.together-copy{padding:0 25px;margin-bottom:30px}.together-copy h2{font-size:48px}.together-intro{font-size:19px;max-width:270px;margin:18px auto 0}.garden-spread{padding:0 13px 0}.together .portrait-frame img{height:480px;object-position:18% center}.together .portrait-frame:before{inset:9px}.together .portrait-frame figcaption{font-size:20px;left:24px;bottom:19px;padding:9px 18px}.garden-stamp{top:21px;left:32px;width:62px;height:62px;font-size:22px}.garden-stamp small{font-size:5px;letter-spacing:1px}.together-letter{position:relative;right:auto;bottom:auto;width:calc(100% - 43px);max-width:375px;margin:23px auto 0;padding:31px 28px;transform:rotate(-1deg)}.together-letter .section-copy{font-size:13px}.letter-flower{font-size:28px}.together-letter .signature{font-size:26px}
  .venue-section{padding:70px 6% 75px}.venue-heading{margin-bottom:33px}.venue-heading h2{font-size:45px}.venue-heading .eyebrow{font-size:8px;letter-spacing:1.5px}.venue-heading>p:last-child{font-size:19px;max-width:280px;margin:17px auto 0}.venue-postcard{display:block}.bharatpur-scene{border-right:0;border-bottom:1px solid #d5d0b9;padding:10px 10px 18px}.city-window{aspect-ratio:1.07}.postcard-city{left:17px;bottom:17px;font-size:31px;padding:10px 18px}.bharatpur-scene figcaption{font-size:15px;margin-top:15px}.city-views{gap:7px}.city-views button{font-size:9px;padding:10px 12px;min-height:44px}.venue-copy{padding:39px 28px;text-align:left}.venue-copy h3{font-size:57px}.venue-seal{right:17px;top:18px;width:48px;height:58px;font-size:28px}.venue-copy .copy-address{margin:19px 0 0}.venue-copy .venue-time{font-size:10px}.venue-welcome{font-size:21px;margin-top:27px;padding-top:23px}
  html[lang=hi] .reveal-label{font-size:17px;line-height:1.8;max-width:175px}html[lang=hi] .reveal-hint{font-size:9px;line-height:1.8;max-width:175px}html[lang=hi] .date-reveal .eyebrow{font-size:8px}html[lang=hi] .date-month{font-size:24px}html[lang=hi] .date-details .eyebrow{font-size:9px}html[lang=hi] .together-copy h2{font-size:32px;line-height:1.65}html[lang=hi] .together-intro{font-size:12px}html[lang=hi] .venue-heading h2{font-size:32px}html[lang=hi] .venue-heading>p:last-child{font-size:12px}html[lang=hi] .venue-heading .eyebrow{font-size:8px;letter-spacing:0}html[lang=hi] .city-views button{font-size:10px;padding:9px 10px}
}
html[data-motion="reduce"] .flower-shower{display:none}html[data-motion="reduce"] .date-details{animation:none}html[data-motion="reduce"] .city-window img,html[data-motion="reduce"] .date-seal{transition:none}html[data-motion="reduce"] .together-letter,html[data-motion="reduce"] .garden-stamp{transform:none}
@media print{.flower-shower,.city-views{display:none}.together .portrait-frame img{height:500px}.together-letter{position:relative;right:auto;bottom:auto;transform:none;margin:25px auto}.venue-postcard{break-inside:avoid}.venue-copy{opacity:1;transform:none}}

