html{scroll-behavior:smooth;scroll-padding-top:45px}.reference-toolbar{position:fixed;right:12px;top:10px;z-index:90;display:flex;align-items:center;gap:15px;background:#fffaf0ee;padding:9px 15px;border:1px solid #c4aa7180;border-radius:25px;font:11px Georgia;color:#1a2c5b}.reference-toolbar a{text-decoration:none}.reference-toolbar select{background:transparent;border:0;color:#1a2c5b;font:12px Georgia}.family-pending{font-family:Georgia,serif;font-size:11px;color:#69717b;margin-top:14px;font-style:italic}.reference-event{text-align:center;color:#1a2c5b;padding:25px 15px;font:20px/1.5 'Cormorant Garamond',Georgia,serif}.reference-event h3{font:normal 45px/1.2 'Great Vibes',cursive;margin:15px 0}.reference-kicker{font:600 12px/1.6 'Cormorant SC',Georgia,serif;letter-spacing:2px;color:#b08a45}.reference-time{font-size:25px}.reference-flourish{color:#b08a45;margin:18px 0}.reference-map{display:inline-block;font-size:12px;letter-spacing:2px;border:1px solid #c4aa7180;border-radius:25px;padding:12px 24px;margin-top:20px}.reference-rsvp{text-align:center;color:#1a2c5b;font:16px/1.6 'Cormorant Garamond',Georgia,serif;padding:16px 0}.reference-rsvp .reference-kicker{margin-top:16px;font-size:10px}.reference-note{font-size:12px;color:#69717b}#schedule .reference-event{background:#fffaf0d9;border:1px solid #c4aa7180;width:100%;padding:30px 25px}#reception .reference-event{max-width:450px;margin:auto;background:#fffaf0c9;padding:35px 25px;border:1px solid #c4aa7160}@media(max-width:640px){.reference-toolbar{gap:10px;font-size:10px;padding:8px 12px}.reference-event h3{font-size:36px}.reference-kicker{font-size:10px}.family-pending{font-size:9px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}html{scroll-behavior:auto}}
.reference-toolbar{flex-wrap:wrap;justify-content:center}.reference-toolbar label{white-space:nowrap}#wedding>div.relative{padding-top:70px}#wedding #ceremony-illustration{position:relative!important;width:100%!important;height:100%!important;max-width:100%!important;object-fit:contain!important;transform:none!important;top:auto!important;left:auto!important;clip-path:none!important;mix-blend-mode:normal!important;opacity:1!important}.compact-rsvp{position:relative;isolation:isolate;min-height:630px;display:flex;align-items:center;justify-content:center;padding:65px 20px;color:#1a2c5b}.rsvp-backdrop{position:absolute;inset:0;z-index:-1;width:100%;height:100%;object-fit:cover}.mobile-art{display:none}.compact-rsvp-card{width:350px;max-width:100%;padding:52px 28px 32px;text-align:center;background:#fffcf4ed;border:1px solid #c4aa7180;border-radius:140px 140px 6px 6px;box-shadow:0 8px 25px #1a2c5b12;font:18px/1.5 'Cormorant Garamond',Georgia,serif}.compact-rsvp-card .monogram-text{font-size:19px;letter-spacing:4px}.compact-rsvp-card h2{font:32px 'Cormorant Garamond',Georgia,serif;letter-spacing:5px;margin:12px 0 0}.rsvp-heart{color:#c0a062;font-size:11px}.compact-rsvp-card p{margin:12px 0 20px}.rsvpify-slot{padding:13px 8px;border:1px dashed #c4aa7180;border-radius:6px;font:11px 'Cormorant SC',Georgia,serif;letter-spacing:1px;color:#9e7d41;background:#f3eadb77}@media(max-width:640px){.reference-toolbar{left:10px;right:10px;font-size:10px;gap:9px}.mobile-art{display:block}.desktop-art{display:none}.compact-rsvp{min-height:560px}.compact-rsvp-card{width:300px;padding:45px 23px 25px}#wedding>div.relative{padding-top:65px}}
#wedding{overflow:hidden}#wedding>div.relative{padding-top:clamp(190px,24vw,270px)!important;padding-bottom:60px!important}#wedding>div.relative>div:has(#ceremony-illustration){width:224px!important;height:176px!important;flex-shrink:0;margin-top:5px!important;margin-bottom:8px!important}#wedding>div.relative>div:first-child{margin-top:0!important}#wedding>div.relative>div:has(>h1){margin-top:0!important}#wedding>img{object-fit:fill!important}#schedule>img{object-fit:fill!important}#replay-envelope{font:10px Georgia;border:1px solid #c4aa7180;border-radius:12px;padding:4px 7px;background:#fffaf0;color:#1a2c5b;cursor:pointer}
.invitation-envelope{position:fixed;inset:0;z-index:200;background:#363638;display:grid;place-items:center;padding:20px;transition:opacity .8s}.envelope-card{position:relative;overflow:hidden;width:min(390px,100%);height:min(820px,94svh);min-height:500px;border-radius:8px;background:#f7f0e3;box-shadow:0 15px 60px #0004;cursor:pointer;border:0;color:#1a2c5b;isolation:isolate;padding:0}.envelope-scene{position:absolute;inset:0;background:url('./assets/hero-bg-BoJZa16A.webp') center/cover;z-index:-2}.envelope-paper{position:absolute;inset:0;background:linear-gradient(#f6efdf44,#f6efdf00 60%);z-index:-1}.envelope-crest{position:absolute;left:50%;top:18%;transform:translateX(-50%);border:1px solid #b08a45;border-radius:50%;width:140px;height:140px;display:flex;align-items:center;justify-content:center;background:#f8f2e5bb;outline:1px solid #b08a4577;outline-offset:7px;font:44px Georgia;letter-spacing:6px}.envelope-left,.envelope-right,.envelope-front{position:absolute;inset:0;filter:drop-shadow(0 -1px 2px #806d4940);background:#f7efdf}.envelope-left{clip-path:polygon(0 48%,60% 78%,0 100%);background:linear-gradient(45deg,#e8ddc6,#fffaf1)}.envelope-right{clip-path:polygon(100% 48%,40% 78%,100% 100%);background:linear-gradient(-45deg,#e8ddc6,#fffaf1)}.envelope-front{clip-path:polygon(0 100%,0 84%,50% 63%,100% 84%,100% 100%);background:linear-gradient(#fdf8ee,#ede2cb)}.envelope-seal{position:absolute;left:50%;top:68%;transform:translate(-50%,-50%);width:82px;height:76px;border-radius:48% 48% 45% 45%;background:radial-gradient(ellipse at 40% 35%,#f9e4a6,#ba8b36 70%,#805d24);border:3px solid #d5b466;box-shadow:0 3px 7px #6f54234d,inset 0 0 0 3px #f5db94;color:#8d672b;font:24px Georgia;display:grid;place-items:center}.envelope-instruction{position:absolute;bottom:7%;left:0;right:0;text-align:center;color:#a17c3b;font:11px 'Cormorant SC',Georgia;letter-spacing:2px}.envelope-instruction strong{display:block;font:24px 'Great Vibes',cursive;letter-spacing:0;margin:10px 0}.envelope-card.opening{transform:translateY(-12px);transition:transform .7s}.invitation-envelope.opening{opacity:0;pointer-events:none}.envelope-card:focus-visible{outline:3px solid #bd9a52;outline-offset:5px}
@media(max-width:767px){#wedding>div.relative{padding-top:clamp(200px,57vw,280px)!important;padding-bottom:60px!important}#wedding>div.relative>div:has(#ceremony-illustration){width:192px!important;height:160px!important}.reference-toolbar{gap:6px}.reference-toolbar a{font-size:9px}.reference-toolbar label{font-size:9px}}
@media(min-width:768px){#wedding>img,#schedule>img{object-fit:cover!important}#wedding>div.relative{padding-top:300px!important}}@media(max-width:767px){}

/* Live RSVPify form grows to its provider-controlled height. */
.compact-rsvp-card{width:680px;border-radius:160px 160px 8px 8px;padding:48px 22px 24px}.rsvpify-slot{border:0;background:transparent;padding:0;letter-spacing:normal;min-height:180px}.rsvpify-slot iframe{width:100%;max-width:100%;border:0}@media(max-width:640px){.compact-rsvp-card{padding:42px 12px 18px;border-radius:100px 100px 6px 6px}.compact-rsvp{padding-left:12px;padding-right:12px}}

/* Textured stationery and a layered, outward opening. */
.invitation-envelope{overflow:hidden;transition:background 1.2s ease .3s,opacity .25s ease 1.65s}
.envelope-card{overflow:visible;background:transparent;box-shadow:none;perspective:1200px}
.envelope-scene{border-radius:8px;box-shadow:0 15px 60px #0004}
.envelope-paper{border-radius:8px;background:linear-gradient(#f6efdf22,#f6efdf00 60%),url('./assets/envelope-paper-grain.webp');background-size:auto,420px;opacity:.2;mix-blend-mode:multiply}
.envelope-left,.envelope-right,.envelope-front{background-image:linear-gradient(35deg,#d9c9aa50,#fffdf288 65%),url('./assets/envelope-paper-grain.webp');background-size:100% 100%,390px;border-radius:0 0 8px 8px;filter:drop-shadow(0 -3px 3px #806d4938)}
.envelope-left{clip-path:polygon(0 48%,62% 79%,0 100%)}.envelope-right{clip-path:polygon(100% 48%,38% 79%,100% 100%);background-image:linear-gradient(-35deg,#d9c9aa50,#fffdf288 65%),url('./assets/envelope-paper-grain.webp')}
.envelope-front{clip-path:polygon(0 100%,0 85%,50% 64%,100% 85%,100% 100%);background-image:linear-gradient(#fffdf260,#d2bb8a22),url('./assets/envelope-paper-grain.webp')}
.envelope-crest{border:0;outline:0;border-radius:0;background:transparent url('./assets/monogram-reference.svg') center/contain no-repeat;width:174px;height:174px;font-size:0;top:16%}
.envelope-seal{width:132px;height:132px;top:70%;border:0;border-radius:0;background:transparent url('./assets/envelope-heart-seal.webp') center/contain no-repeat;box-shadow:none;filter:drop-shadow(0 5px 4px #60431f44);display:block}
.seal-initials{position:absolute;left:15%;right:15%;top:36%;font:30px/1 Georgia,serif;letter-spacing:1px;color:#815c28;text-shadow:0 1px 0 #fff0be,0 -1px 0 #684b2740}
.envelope-card.opening{transform:none;transition:none}.invitation-envelope.opening{opacity:0;background:transparent;pointer-events:none}
.opening .envelope-scene,.opening .envelope-paper{animation:invitation-up 1.55s cubic-bezier(.55,.01,.72,.5) both .15s}
.opening .envelope-crest{animation:crest-up 1.55s cubic-bezier(.55,.01,.72,.5) both .15s}
.opening .envelope-left{animation:fold-left 1.5s cubic-bezier(.55,.01,.72,.5) both .15s}
.opening .envelope-right{animation:fold-right 1.5s cubic-bezier(.55,.01,.72,.5) both .15s}
.opening .envelope-front,.opening .envelope-instruction{animation:fold-down 1.6s cubic-bezier(.55,.01,.72,.5) both .1s}
.opening .envelope-seal{animation:seal-down 1.5s cubic-bezier(.55,.01,.72,.5) both}
@keyframes invitation-up{to{transform:translateY(-130vh) rotate(-3deg)}}
@keyframes crest-up{to{transform:translate(-50%,-130vh) rotate(-3deg)}}
@keyframes fold-left{to{transform:translate(-120vw,55vh) rotate(-35deg)}}
@keyframes fold-right{to{transform:translate(120vw,55vh) rotate(35deg)}}
@keyframes fold-down{to{transform:translateY(120vh) rotate(6deg)}}
@keyframes seal-down{15%{transform:translate(-50%,-50%) scale(1.12)}to{transform:translate(-50%,120vh) rotate(15deg)}}
.envelope-scene{background-image:url('./assets/hero-bg-BoJZa16A.webp')}

/* Reference-sized RSVP stationery; iframe remains scrollable at every step. */
.compact-rsvp{min-height:940px;flex-direction:column;padding:150px 24px 70px;gap:48px;overflow:hidden}
.compact-rsvp-card{position:relative;isolation:isolate;width:440px;max-width:100%;padding:32px 14px 18px;border-radius:58px 58px 18px 18px;background:#faf7f0f5;box-shadow:0 5px 6px #41403533;border:1px solid #c4aa7140}
.compact-rsvp-card:before{content:'';position:absolute;z-index:-1;width:58%;height:105px;border-radius:50% 50% 0 0;left:21%;top:-48px;background:#faf7f0;border:1px solid #c4aa7140;border-bottom:0}
.compact-rsvp-card .monogram-text{font-size:18px;letter-spacing:5px}.compact-rsvp-card h2{font-size:29px;letter-spacing:5px;margin:10px 0 0}.rsvp-heart{display:block;margin-bottom:8px}
.rsvpify-slot{min-height:0;background:transparent;border:0;padding:0;width:100%}
.rsvpify-slot iframe{display:block;width:100%!important;border:0!important;background:#faf7f0}
.rsvp-venue-map{display:block;margin:18px 10px 0;padding:16px 10px;border:1px solid #c4aa7160;border-radius:5px;background:linear-gradient(130deg,#e2e8e5,#f5efe2 48%,#d8e2e5);font:15px Georgia;color:#1a2c5b;text-decoration:none}.rsvp-venue-map>span{font-size:25px;color:#b08a45;display:block}.rsvp-venue-map small{display:block;font:9px Georgia;letter-spacing:1.5px;margin-top:8px}
.rsvp-closing{text-align:center;font:36px/1.3 'Great Vibes',cursive;color:#1a2c5b}.rsvp-closing span{display:block;font:15px Georgia;color:#b08a45;margin-top:14px}
@media(max-width:640px){.compact-rsvp{min-height:830px;padding:150px 20px 52px;gap:42px}.compact-rsvp-card{width:300px;max-width:calc(100vw - 64px);padding:24px 8px 14px;border-radius:45px 45px 14px 14px}.compact-rsvp-card:before{height:85px;top:-38px}.compact-rsvp-card .monogram-text{font-size:14px}.compact-rsvp-card h2{font-size:25px;margin-top:8px}.rsvpify-slot iframe{}.rsvp-venue-map{font-size:12px;margin:12px 6px 0;padding:10px 6px}.rsvp-closing{font-size:29px}}
.rsvpify-slot iframe{}@media(max-width:640px){.rsvpify-slot iframe{}}
/* Compact RSVP viewport. Provider-side scrolling is disabled in its theme CSS. */
.rsvpify-slot{overflow:hidden}
.rsvpify-slot iframe{}
@media(max-width:640px){.rsvpify-slot iframe{}}
/* RSVPify now supplies the uploaded monogram, RSVP title and heart. */
.compact-rsvp-card>.monogram-text,.compact-rsvp-card>h2,.compact-rsvp-card>.rsvp-heart{display:none}
.compact-rsvp-card{padding-top:12px}
.rsvpify-slot iframe{}
@media(max-width:640px){.compact-rsvp-card{padding-top:10px}.rsvpify-slot iframe{}}
/* Keep the invitation heading on our website, outside RSVPify. */
.compact-rsvp-card>.monogram-text{display:inline}
.compact-rsvp-card>h2{display:block}
.compact-rsvp-card>.rsvp-heart{display:block}
.compact-rsvp-card{padding-top:32px}
@media(max-width:640px){.compact-rsvp-card{padding-top:24px}}
/* Keep RSVPify navigation above its footer rather than clipping it. */
.rsvpify-slot iframe{}
@media(max-width:640px){.rsvpify-slot iframe{}}

/* Reference opening: a hinged upper flap, followed by a crossfade. */
.invitation-envelope{transition:opacity 1s ease-in-out 2.4s,background 1s ease-in-out 2.4s}
.envelope-card{overflow:hidden;border-radius:8px;perspective:1400px;box-shadow:0 15px 60px #0004}
.envelope-left,.envelope-right,.envelope-front{z-index:1}
.envelope-instruction{z-index:2}
.envelope-lid{position:absolute;inset:0;z-index:3;transform-origin:50% 48%;transform-style:preserve-3d;pointer-events:none}
.envelope-lid-face{position:absolute;inset:0;clip-path:polygon(0 48%,100% 48%,50% 73%);background:url('./assets/hero-bg-BoJZa16A.webp') center/cover;filter:drop-shadow(0 4px 5px #65513455)}
.envelope-lid .envelope-seal{top:70%;backface-visibility:hidden;transform:translate(-50%,-50%)}
/* Replace all of the earlier outward trajectories. */
.opening .envelope-scene,.opening .envelope-paper,.opening .envelope-crest,
.opening .envelope-left,.opening .envelope-right,.opening .envelope-front,
.opening .envelope-instruction,.opening .envelope-seal{animation:none!important}
.opening .envelope-lid{animation:hinged-envelope-open 2.15s cubic-bezier(.4,0,.2,1) .15s both}
.opening .envelope-lid-face{animation:flap-lighting 2.15s ease .15s both}
@keyframes hinged-envelope-open{0%,8%{transform:rotateX(0deg)}75%,100%{transform:rotateX(175deg)}}
@keyframes flap-lighting{0%,15%{filter:brightness(1) drop-shadow(0 4px 5px #65513455)}48%{filter:brightness(.72) drop-shadow(0 12px 12px #65513466)}100%{filter:brightness(.9) drop-shadow(0 2px 3px #65513422)}}
@media(prefers-reduced-motion:reduce){.invitation-envelope{transition:none!important}.opening .envelope-lid{animation:none!important}}
.envelope-lid-face{clip-path:polygon(0 48%,50% 70%,100% 48%,100% 55%,50% 77%,0 55%);background:linear-gradient(110deg,#fffdf0aa,#e5d8bd55),url('./assets/envelope-paper-grain.webp');background-size:100% 100%,390px}

/* Zoom toward the seal, then lift the complete upper envelope assembly. */
.reveal-confetti{position:fixed!important;inset:0!important;width:100vw!important;height:100vh!important;z-index:180!important;pointer-events:none!important}
.invitation-envelope{transition:background .8s ease 2.7s,opacity .35s ease 4s}
.envelope-card{overflow:visible;transform-origin:50% 69%;box-shadow:none}
.envelope-upper,.envelope-lower{position:absolute;inset:0;display:block;border-radius:8px}
.envelope-lower{z-index:1;overflow:hidden;background:transparent}
.envelope-upper{z-index:3;transform-origin:50% 45%;filter:drop-shadow(0 4px 3px #5b482c55)}
.envelope-upper .envelope-scene,.envelope-upper .envelope-paper{z-index:0;clip-path:polygon(0 0,100% 0,100% 48%,50% 72%,0 48%);border-radius:8px 8px 0 0;box-shadow:none}
.envelope-upper .envelope-crest{z-index:1}
.envelope-upper .envelope-seal{z-index:3;top:70%;backface-visibility:visible}
.envelope-fold-edge{position:absolute;inset:0;z-index:2;clip-path:polygon(0 47%,50% 69%,100% 47%,100% 53%,50% 75%,0 53%);background:linear-gradient(140deg,#fffdf3,#f1e5ce 45%,#d4c09a 51%,#fff8e7 56%,#ecdfc5);filter:drop-shadow(0 3px 3px #65482366)}
.envelope-lower .envelope-front{clip-path:polygon(0 100%,0 67%,50% 48%,100% 67%,100% 100%)}
.envelope-lower .envelope-left{clip-path:polygon(0 45%,62% 79%,0 100%)}
.envelope-lower .envelope-right{clip-path:polygon(100% 45%,38% 79%,100% 100%)}
.envelope-card.opening{animation:envelope-approach 4.3s ease both}
.opening .envelope-upper{animation:upper-envelope-lift 2.5s cubic-bezier(.4,0,.2,1) 1.05s both}
.opening .envelope-upper .envelope-seal{animation:seal-perspective 2.5s ease 1.05s both!important}
.opening .envelope-lower{animation:lower-envelope-recede 1.55s ease 2.35s both}
@keyframes envelope-approach{0%{transform:scale(1)}25%,100%{transform:scale(1.32)}}
@keyframes upper-envelope-lift{0%,8%{transform:translateY(0) rotateX(0)}45%{transform:translateY(-20%) rotateX(23deg)}100%{transform:translateY(-115%) rotateX(32deg)}}
@keyframes seal-perspective{0%,8%{transform:translate(-50%,-50%) rotateX(0)}55%{transform:translate(-50%,-50%) rotateX(65deg)}100%{transform:translate(-50%,-50%) rotateX(90deg)}}
@keyframes lower-envelope-recede{0%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(12%)}}
@media(prefers-reduced-motion:reduce){.envelope-card.opening,.opening .envelope-upper,.opening .envelope-lower,.opening .envelope-upper .envelope-seal{animation:none!important}}

/* The reference lower envelope dissolves in place, with no downward slide.
   Keep printed scenery behind the flap until the synchronized page reveal. */
.envelope-underlay{position:absolute;inset:0;z-index:0;border-radius:8px;background:url('./assets/hero-bg-BoJZa16A.webp') center/cover;pointer-events:none}
.invitation-envelope{transition:background 1s ease-in-out 2.9s;opacity:1}
.invitation-envelope.opening{opacity:1;background:transparent}
.opening .envelope-lower,.opening .envelope-underlay{animation:stationery-dissolve 1s ease-in-out 2.9s both}
@keyframes stationery-dissolve{0%{opacity:1;transform:none}100%{opacity:0;transform:none}}
@media(prefers-reduced-motion:reduce){.opening .envelope-underlay{animation:none!important}}
/* Both halves separate together: upper lifts, lower drops while dissolving. */
.invitation-envelope{transition:background 1.8s ease-in-out 1.25s}
.opening .envelope-lower{animation:lower-envelope-drop 2.5s cubic-bezier(.4,0,.2,1) 1.05s both}
.opening .envelope-underlay{animation:stationery-dissolve 1.8s ease-in-out 1.25s both}
@keyframes lower-envelope-drop{0%,8%{opacity:1;transform:translateY(0)}40%{opacity:.85;transform:translateY(18%)}75%{opacity:.3;transform:translateY(60%)}100%{opacity:0;transform:translateY(105%)}}

/* Compact RSVP stationery and optional preview/navigation toolbar. */
.reference-toolbar[hidden],.reference-toolbar [hidden]{display:none!important}
.compact-rsvp{min-height:0;padding:105px 20px 40px;gap:30px}
.compact-rsvp-card{width:420px;padding:18px 12px 12px}
.compact-rsvp-card h2{margin-top:5px}
.rsvp-heart{margin-bottom:3px}
.rsvpify-slot iframe{}
.rsvp-venue-map{margin-top:8px;padding:10px 8px}
.rsvp-closing{font-size:31px}
@media(max-width:640px){.compact-rsvp{min-height:0;padding:95px 16px 30px;gap:25px}.compact-rsvp-card{width:300px;padding:16px 8px 10px}.rsvpify-slot iframe{}.rsvp-closing{font-size:27px}}

#photos div:has(>img[data-gallery-photo]){aspect-ratio:5/7;overflow:hidden}#photos img[data-gallery-photo]{height:100%!important;object-fit:cover}

/* Final event typography: one readable font for times and venue addresses. */
.reference-time,.event-time,#wedding .mt-4.flex.items-center{font-family:'Cormorant Garamond',Georgia,serif!important;font-size:27px!important;line-height:1.25;font-weight:600!important;letter-spacing:1px!important;font-variant-numeric:lining-nums tabular-nums}
#wedding a[href*="maps"],#schedule .reference-event>p:last-child,#reception .reference-event>p:not(.reference-kicker):not(.reference-time){font-family:'Cormorant Garamond',Georgia,serif!important;font-size:20px!important;line-height:1.45!important;letter-spacing:.3px!important;font-weight:500!important}
.muhurtham{text-align:center;margin:18px 0 2px}.muhurtham-title{font:36px/1.2 'Great Vibes',cursive;color:#b08a45;margin:0 0 5px}.muhurtham .event-time{margin:0;color:#1a2c5b}
.wedding-date-day{display:block;font-size:48px;line-height:1;font-weight:600;letter-spacing:1px}.wedding-date-month{display:block;font-size:22px;line-height:1.5;margin-top:6px;letter-spacing:2px}
/* Upper artwork and monogram travel straight upward without perspective tilt. */
@keyframes upper-envelope-lift{0%,8%{transform:translateY(0)}45%{transform:translateY(-20%)}100%{transform:translateY(-115%)}}
.opening .envelope-upper .envelope-seal{animation:none!important}
/* Leave sufficient room for native form navigation on every device. */
.rsvpify-slot iframe{}
@media(max-width:640px){.reference-time,.event-time,#wedding .mt-4.flex.items-center{font-size:25px!important}.wedding-date-day{font-size:43px}.wedding-date-month{font-size:20px}.rsvpify-slot iframe{}#wedding a[href*="maps"]{font-size:18px!important}}

.wedding-date-day{display:inline-block}.wedding-date-suffix{font-size:17px;vertical-align:top;position:relative;top:4px;letter-spacing:0;margin-left:2px}
/* Keep the ordinal aligned with a prominent, legible date numeral. */
.wedding-date-day{font-size:64px;font-weight:600;line-height:1.1}
.wedding-date-suffix{display:inline-block;vertical-align:baseline;top:-24px;font-size:15px;text-transform:lowercase;margin-left:3px}
@media(max-width:640px){.wedding-date-day{font-size:60px}.wedding-date-suffix{top:-22px;font-size:14px}}

/* Readability: full-height numerals, consistent venue lettering, one ceremony time. */
[data-wedding="city"]{font-family:'Cormorant Garamond',Georgia,serif!important;font-size:18px!important;font-weight:600!important;letter-spacing:1.3px!important;line-height:1.4!important}
[data-wedding="homeStreet"],[data-wedding="homeCity"],[data-wedding="venueName"],[data-wedding="venueStreet"],[data-wedding="venueCity"],.rsvp-venue-map{font-family:'Cormorant Garamond',Georgia,serif!important;font-size:21px!important;line-height:1.5!important;font-weight:600!important;letter-spacing:.2px!important;font-variant-numeric:lining-nums!important;font-feature-settings:'lnum' 1!important}
.reference-kicker,.wedding-date-month,.wedding-date-day,.reference-time,.event-time,.tabular-nums{font-family:Georgia,'Times New Roman',serif!important;font-variant-numeric:lining-nums tabular-nums!important;font-feature-settings:'lnum' 1,'tnum' 1!important}
.reference-kicker{font-size:15px!important;line-height:1.6!important;letter-spacing:1px!important;text-transform:none!important}
.wedding-date-month{font-size:21px!important;letter-spacing:1px!important;text-transform:none!important}
.wedding-date-day{font-size:58px!important;font-weight:500!important}
.muhurtham{margin:20px 0 8px}
.muhurtham-title{font-family:'Great Vibes',cursive!important;font-size:43px!important;font-weight:600!important;line-height:1.3!important;color:#9b7435!important;margin-bottom:7px}
.muhurtham .event-time{font-size:29px!important;font-weight:600!important;letter-spacing:1px!important}
@media(max-width:640px){
 [data-wedding="city"]{font-size:16px!important;letter-spacing:1px!important}
 [data-wedding="homeStreet"],[data-wedding="homeCity"],[data-wedding="venueName"],[data-wedding="venueStreet"],[data-wedding="venueCity"],.rsvp-venue-map{font-size:19px!important}
 .reference-kicker{font-size:14px!important;letter-spacing:.5px!important}
 .wedding-date-month{font-size:19px!important}
 .wedding-date-day{font-size:54px!important}
 .muhurtham-title{font-size:40px!important}.muhurtham .event-time{font-size:27px!important}
}

/* Touch-friendly scratch card and gallery. */
canvas[aria-label="Reveal wedding date"]{touch-action:none;-webkit-user-select:none;user-select:none}
#photos div:has(>img[data-gallery-photo]){touch-action:pan-y}

/* Event date hierarchy: Cormorant lettering with readable, lining numerals. */
@font-face{font-family:'Wedding Numerals';src:local('Georgia');font-style:normal;font-weight:400;unicode-range:U+0030-0039}
@font-face{font-family:'Wedding Numerals';src:local('Georgia Bold'),local('Georgia-Bold');font-style:normal;font-weight:600 900;unicode-range:U+0030-0039}
.reference-kicker,.wedding-date-line,[data-wedding="heroDate"]{font-family:'Wedding Numerals','Cormorant Garamond',Georgia,serif!important;font-variant-numeric:lining-nums tabular-nums!important;font-feature-settings:'lnum' 1,'tnum' 1!important}
.reference-kicker{font-size:28px!important;font-weight:600!important;line-height:1.35!important;letter-spacing:.3px!important}
.wedding-date-line{margin:0;font-size:36px!important;font-weight:600!important;line-height:1.3!important;white-space:nowrap;letter-spacing:.3px!important;color:#1a2c5b;text-transform:none!important}
.wedding-date-line .wedding-date-day,.wedding-date-line .wedding-date-month{display:inline!important;font-family:inherit!important;font-size:inherit!important;font-weight:inherit!important;line-height:inherit!important;letter-spacing:inherit!important;margin:0!important}
.wedding-date-line .wedding-date-suffix{display:inline!important;position:static!important;vertical-align:baseline!important;font-family:inherit;font-size:.72em!important;letter-spacing:0;margin:0 5px 0 1px!important;text-transform:lowercase}
.reference-time,.event-time,.muhurtham .event-time{font-family:Georgia,serif!important;font-size:23px!important;line-height:1.4!important;font-weight:400!important;letter-spacing:.5px!important}
[data-wedding="heroDate"]{font-size:30px!important;line-height:1.4!important;white-space:nowrap}
@media(max-width:640px){
 .reference-kicker{font-size:23px!important;letter-spacing:0!important}
 .wedding-date-line{font-size:clamp(22px,6.3vw,29px)!important;letter-spacing:0!important}
 .reference-time,.event-time,.muhurtham .event-time{font-size:20px!important}
 [data-wedding="heroDate"]{font-size:clamp(23px,6.4vw,29px)!important}
}

/* Production opening fills the phone immediately; no preview mat or scale jump. */
html,body{background:#f7f0e3}
.rsvp-loading{padding:20px 0;font:15px Georgia,serif;color:#1a2c5b}
.rsvpify-slot iframe{height:440px;min-height:0;border:0;overflow:auto}
@media(max-width:767px){
 .invitation-envelope{padding:0;background:#f7f0e3}
 .invitation-envelope.opening{background:transparent!important}
 .envelope-card{width:100vw;height:100dvh;min-height:0;max-width:none;border-radius:0;outline:0}
 .envelope-underlay,.envelope-scene,.envelope-paper,.envelope-upper,.envelope-lower{border-radius:0;box-shadow:none}
 .envelope-card:focus-visible{outline:2px solid #b08a45;outline-offset:-2px}
}
/* RSVPify defaults to an 800px minimum, which creates a large blank panel. */
.rsvpify-slot iframe{height:440px!important;min-height:0!important;max-height:none!important;overflow:auto!important}

/* Floating background-music control. */
.music-toggle{position:fixed;right:max(18px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));z-index:180;width:52px;height:52px;border:1px solid #d7bd7d;border-radius:50%;display:grid;place-items:center;background:#1a2c5b;color:#fff;box-shadow:0 5px 16px #17284655;cursor:pointer;transition:transform .2s ease,background .2s ease,box-shadow .2s ease}
.music-toggle:hover{transform:translateY(-2px);box-shadow:0 7px 20px #17284666}.music-toggle:focus-visible{outline:3px solid #d7bd7d;outline-offset:3px}.music-icon{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.music-icon-on{display:none}.music-toggle.sound-on .music-icon-on{display:block}.music-toggle.sound-on .music-icon-off{display:none}
@media(max-width:640px){.music-toggle{right:max(14px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom));width:48px;height:48px}.music-icon{width:23px;height:23px}}
