/* Six distinct compositions. Original illustration layers remain decorative. */
.invitation-overture{min-height:92dvh;position:relative;isolation:isolate;overflow:hidden;display:grid;place-items:center;text-align:center;padding:75px 30px 90px}.invitation-overture>.theme-scene{z-index:-1}.overture-copy{width:100%;position:relative}.overture-copy h2{font:58px/1.1 'Great Vibes',cursive;margin:30px 0}.overture-copy h2 i{font:italic 30px/1 'Cormorant Garamond',serif}.overture-date{font-size:11px;letter-spacing:3px}.scroll-invitation{width:30px;height:48px;border:1px solid currentColor;border-radius:20px;display:block;margin:28px auto 0;padding-top:10px;opacity:.6}.scroll-invitation span{display:block;width:3px;height:10px;border-radius:3px;background:currentColor;margin:auto;animation:scroll-hint 2s ease-in-out infinite}.woven-monogram{height:150px;position:relative;width:130px;margin:auto;font:100px/1.4 'Great Vibes',cursive}.woven-monogram span:first-child{position:absolute;left:0;top:0}.woven-monogram span:last-child{position:absolute;right:0;top:25px;transform:rotate(-12deg)}.overture-photo{width:230px;aspect-ratio:3/4;margin:30px auto 0;position:relative}.overture-photo img{height:100%;object-fit:cover}.chapter-heading{margin-bottom:30px}.chapter-heading h2{font-size:44px;line-height:1.1}.opening{min-height:0;padding-bottom:110px}.opening .opening-portrait{margin-bottom:40px}.couple-profiles{margin-top:45px;position:relative}.couple-profiles article{padding:38px 18px;position:relative}.profile-initial{font:88px/1 'Cormorant Garamond',serif;display:block;margin-bottom:20px;opacity:.45}.couple-profiles h3{font:38px/1.25 'Great Vibes',cursive;margin:15px 0 25px}.couple-profiles p{font-size:12px;margin:0 auto 8px;max-width:270px}.couple-profiles .kicker{font-size:8px;letter-spacing:3px}.profile-rule{display:block;width:40px;border-top:1px solid currentColor;margin:0 auto 20px;opacity:.4}.profile-amp{font:55px/1 'Great Vibes',cursive;margin:20px auto}.invitation-greeting{max-width:340px!important}.events{padding-top:100px;padding-bottom:100px}.events>h2{max-width:330px;margin-inline:auto;font-size:37px}.event-cards{margin-top:45px}.event-block{position:relative;overflow:hidden}.story{min-height:600px;display:flex;flex-direction:column;justify-content:center}.story h2{font-size:40px}.inv-gallery{gap:15px}.inv-gallery img{box-shadow:0 10px 25px #00000015}.gift-info{box-shadow:0 15px 40px #00000008}.closing{min-height:650px;display:flex;flex-direction:column;justify-content:center}.inv-nav{padding:5px 10px;gap:5px;border-radius:40px;background:color-mix(in srgb,var(--paper) 94%,transparent)}.inv-nav a{border-radius:25px}.invitation-open .motion-control{font-size:0;width:36px;height:36px;padding:0;top:65px}.invitation-open .motion-control:before{content:'Ⅱ';font-size:13px}.invitation-open .motion-control[aria-pressed=true]:before{content:'▶'}
/* Jawa: illustrated stationery rather than a full-screen photograph. */
.java-landscape{position:absolute;inset:0;background:url('/static/assets/java-landscape-v2.webp') center bottom/cover no-repeat}.java-mist{position:absolute;inset:35% -40% 0;background:radial-gradient(ellipse,#fff7e3b3,transparent 65%);opacity:.35;animation:java-mist 18s ease-in-out infinite alternate}.scene-heritage .java-panel,.scene-heritage .java-emblem{display:none}.theme-heritage .cover{background:#f4ecdd;color:#783d3f;min-height:780px;align-items:center}.theme-heritage .cover-photo{display:none}.theme-heritage .cover-shade{display:none}.theme-heritage .cover-content{padding:35px 45px 180px}.theme-heritage .cover h1{font-family:'Cormorant Garamond',serif;font-size:51px;line-height:1.1;margin-top:30px;text-shadow:none}.theme-heritage .cover .couple-monogram{border:0;width:115px;height:120px;font:90px/1 'Great Vibes',cursive;position:relative;margin-bottom:30px}.theme-heritage .couple-monogram span{position:absolute}.theme-heritage .couple-monogram span:first-child{left:0;top:0}.theme-heritage .couple-monogram span:last-child{right:0;top:20px}.theme-heritage .couple-monogram i{display:none}.theme-heritage .cover .invite-button{background:#783d3f;color:#fff7e8;border:0;border-radius:30px}.theme-heritage .cover .guest-block{margin-top:30px}.theme-heritage .overture-heritage{color:#783d3f;min-height:100dvh;padding-bottom:240px}.theme-heritage .overture-copy h2{font-family:'Cormorant Garamond',serif;text-transform:uppercase;font-size:45px}.theme-heritage .overture-copy h2 span{display:block}.theme-heritage .overture-copy h2 i{display:block;font-size:25px;margin:8px}.theme-heritage .opening{padding-top:100px;background:#faf1e5;color:#783d3f}.theme-heritage .opening .java-landscape{opacity:.15;background-size:100% auto}.theme-heritage .opening-portrait{width:240px;border:double 4px #b89a68;outline:0;border-radius:140px 140px 10px 10px;padding:9px;background:#f7ebd6}.theme-heritage .opening-portrait img{border-radius:125px 125px 4px 4px}.theme-heritage .couple-profiles article{border:1px solid #b99b6a;border-radius:140px 140px 5px 5px;background:#fff8eddf;max-width:310px;margin:0 auto}.theme-heritage .couple-profiles .profile-initial{font-family:'Great Vibes',cursive;color:#97534e;opacity:.8}.theme-heritage .events{background:#7b3e40;color:#fff3df}.theme-heritage .events .java-landscape{opacity:.16;mix-blend-mode:screen}.theme-heritage .event-cards{grid-template-columns:1fr;max-width:310px;gap:30px}.theme-heritage .event-block{border-radius:160px 160px 7px 7px;background:#fff1df;color:#783d3f;border:double 4px #b69257;padding:40px 25px}.theme-heritage .date-plaque strong{font-size:68px}.theme-heritage .date-plaque{border-color:#b6925780}.theme-heritage .event-block:before{content:'❧';font:42px 'Cormorant Garamond',serif;color:#a88a57}.theme-heritage .event-icon{display:none}.theme-heritage .story,.theme-heritage .closing{background:#faf1e5;color:#783d3f}.theme-heritage .story .java-landscape,.theme-heritage .closing .java-landscape{opacity:.3}.theme-heritage .story p[data-bind]{background:#fff6e6df;border:double 3px #b89a6870;font:italic 23px/1.8 'Cormorant Garamond',serif;padding:35px 20px}.theme-heritage .rsvp{background:#f0e3d2;color:#783d3f}.theme-heritage .rsvp form{background:#fff5e8;border:double 3px #b89a68;border-radius:0}.java-botanical{position:absolute;width:47%;max-width:280px;bottom:-45px;pointer-events:none;transform-origin:bottom;animation:java-branch 10s ease-in-out infinite alternate}.java-botanical-left{left:-65px}.java-botanical-right{right:-65px;scale:-1 1;animation-delay:-5s}.inv-section .java-botanical{width:37%;bottom:-65px}.theme-heritage .opening>.theme-scene{opacity:1}
/* Blush: painted flowers, romantic medallions and layered borders. */
.painted-floral{position:absolute;width:52%;max-width:300px;bottom:-40px;transform-origin:bottom;animation:floral-sway 11s ease-in-out infinite alternate}.painted-left{left:-55px}.painted-right{right:-55px;scale:-1 1;animation-delay:-6s}.scene-blush .rose-vine{display:none}.overture-blush{background:radial-gradient(ellipse at 50% 35%,#fffaf7,#f3dfe7);padding-top:85px}.overture-blush:after{content:'';position:absolute;inset:30px 24px;border:1px solid #bd8d9f;border-radius:180px 180px 4px 4px;pointer-events:none;z-index:-1}.overture-blush .overture-photo{width:210px;aspect-ratio:3/4;border:double 4px #c9a2b0;padding:8px;border-radius:140px 140px 90px 90px;background:#fff9f7}.overture-blush .overture-photo img{border-radius:125px 125px 80px 80px}.overture-blush h2{font-size:58px}.theme-blush .opening{background:#fff8f5;padding-top:100px}.theme-blush .chapter-heading h2{font:55px/1.2 'Great Vibes',cursive}.theme-blush .opening-portrait{width:245px;border-radius:160px 160px 12px 12px;rotate:-3deg;padding:10px;border:1px solid #c8a4b1;box-shadow:14px 14px 0 #efd9e3}.theme-blush .opening-portrait img{border-radius:150px 150px 5px 5px}.theme-blush .profile-bride,.theme-blush .profile-groom{background:#f6e8ed;border-radius:150px 150px 15px 15px;border:1px solid #d9b9c6;max-width:300px;margin:0 auto}.theme-blush .profile-groom{border-radius:15px 15px 150px 150px;padding-bottom:50px}.theme-blush .profile-initial{font-family:'Great Vibes',cursive;color:#bb8b9e;opacity:.6}.theme-blush .events{background:#eddae4}.theme-blush .event-block{background:#fff7f4;border:double 4px #c79aab;box-shadow:0 20px 35px #744b5810}.theme-blush .story{background:#fff8f5}.theme-blush .story h2{font-family:'Great Vibes',cursive;font-size:45px}.theme-blush .story p[data-bind]{font:italic 23px/1.8 'Cormorant Garamond',serif;border:0;padding:20px 30px;background:#fff8f5ce}.theme-blush .inv-section>.theme-scene{opacity:1}.theme-blush .closing{background:#f3e0e8}
/* Midnight: celestial stage and moon-shaped portrait. */
.overture-midnight{background:radial-gradient(ellipse at 50% 30%,#33475d,#101f30);color:#f2e2bb}.celestial-monogram{border:1px solid #baa277;width:145px;height:145px;margin:70px auto 40px;border-radius:50%;font:60px/1 'Cormorant Garamond',serif;display:flex;align-items:center;justify-content:center;gap:5px;box-shadow:0 0 0 15px #baa2770a,0 0 0 16px #baa27735}.celestial-monogram i{font-size:24px}.overture-midnight h2{font:58px/1 'Cormorant Garamond',serif}.overture-names{font:35px/1.3 'Great Vibes',cursive}.theme-midnight .opening{padding-top:85px}.theme-midnight .opening-portrait{width:240px;aspect-ratio:1;border-radius:50%;padding:9px;background:#20334a;border:1px solid #c6ad7a;box-shadow:18px -10px 0 -7px #c6ad7a}.theme-midnight .opening-portrait img{border-radius:50%;object-position:center 40%}.theme-midnight .profile-initial{display:none}.theme-midnight .couple-profiles article{border-block:1px solid #a78c55;max-width:310px;margin:auto}.theme-midnight .profile-amp{color:#baa277}.theme-midnight .events .event-cards{grid-template-columns:1fr;gap:30px;max-width:340px}.theme-midnight .event-block{padding:35px;border-radius:120px 120px 5px 5px}.theme-midnight .story{background:radial-gradient(ellipse at 50% 50%,#2c4058,#172638)}.theme-midnight .chapter-heading h2{font-size:46px}
/* Ivory: an open letter on a layered paper surface. */
.overture-ivory{margin:25px 18px;background:#fffdf7;min-height:680px;box-shadow:8px 12px 0 #d5d0c655;border:1px solid #d0c9bb;padding:110px 35px 80px;text-align:left;rotate:-1deg}.overture-ivory h2{font:52px/1 'Cormorant Garamond',serif}.overture-ivory .overture-date{text-align:center;margin-top:55px}.letter-excerpt{font:21px/1.8 'Cormorant Garamond',serif}.letter-signature{font:37px/1.5 'Great Vibes',cursive;margin-top:35px}.overture-ivory .ivory-seal{display:none}.theme-ivory .chapter-heading{text-align:left}.theme-ivory .opening{padding-top:70px}.theme-ivory .opening-portrait{width:240px;rotate:4deg}.theme-ivory .couple-profiles{text-align:left}.theme-ivory .couple-profiles article{padding:30px 0;border-top:1px solid #45484230}.theme-ivory .profile-initial{font-size:55px}.theme-ivory .profile-rule{margin-left:0}.theme-ivory .couple-profiles p{margin-left:0}.theme-ivory .profile-amp{margin:10px 0}.theme-ivory .events{background:#ebe7dc}.theme-ivory .event-cards{grid-template-columns:1fr}.theme-ivory .event-block{display:grid;grid-template-columns:1fr 1fr;padding:25px 10px;column-gap:15px;text-align:left}.theme-ivory .event-icon{display:none}.theme-ivory .date-plaque{grid-column:2;grid-row:1/4;text-align:center}.theme-ivory .story{margin:20px;background:#fffdf7;box-shadow:5px 7px 0 #d5d0c650;padding:60px 25px;text-align:left}
/* Portrait: magazine spread, asymmetry and photograph-led pacing. */
.overture-portrait{padding:70px 25px 60px;display:block;text-align:left;background:#e9e4db}.editorial-issue{display:flex;justify-content:space-between;gap:15px;border-block:1px solid currentColor;padding:12px 0;font-size:8px;letter-spacing:2px}.overture-portrait .overture-photo{width:100%;aspect-ratio:3/4;margin-top:25px}.overture-portrait h2{font:70px/.95 'Cormorant Garamond',serif;letter-spacing:-4px;margin-top:-75px;margin-left:15px;color:#fff;position:relative;text-shadow:0 2px 20px #0004}.overture-portrait .kicker{margin-top:65px}.overture-portrait .overture-date{display:none}.theme-portrait .chapter-heading{display:flex;flex-direction:column;align-items:start;text-align:left}.theme-portrait .chapter-heading h2{font-size:55px;letter-spacing:-2px}.theme-portrait .opening-portrait{width:100%;aspect-ratio:4/5;box-shadow:15px 15px 0 #d7d2c8}.theme-portrait .couple-profiles{display:grid;grid-template-columns:1fr 1fr;gap:20px;text-align:left}.theme-portrait .profile-amp{display:none}.theme-portrait .couple-profiles article{padding:20px 0}.theme-portrait .couple-profiles .profile-groom{padding-top:90px}.theme-portrait .couple-profiles h3{font-family:'Cormorant Garamond',serif;font-size:30px}.theme-portrait .profile-initial{font-size:65px}.theme-portrait .profile-rule{margin-left:0}.theme-portrait .couple-profiles p{font-size:10px}.theme-portrait .story h2{font-size:50px;letter-spacing:-2px}.theme-portrait .events{text-align:left}.theme-portrait .events .section-number,.theme-portrait .events .kicker{margin-left:0}.theme-portrait .events>h2{margin-left:0}
/* Botanical: conservatory arches and a greener interior. */
.overture-botanical{background:#e5ebdf;border-bottom:1px solid #284e4130}.overture-botanical .overture-photo{border-radius:180px 180px 0 0;width:235px;border:1px solid #82977d;padding:9px}.overture-botanical .overture-photo img{border-radius:160px 160px 0 0}.overture-botanical h2{font:55px/1 'Cormorant Garamond',serif}.theme-botanical .chapter-heading h2{font:50px/1.1 'Cormorant Garamond',serif}.theme-botanical .opening{background:#f6f7ef}.theme-botanical .opening-portrait{width:240px;border-radius:3px;padding:10px;rotate:-4deg;background:#fff;box-shadow:10px 12px 0 #a8b69c50}.theme-botanical .opening-portrait img{border-radius:0}.theme-botanical .couple-profiles article{border:1px solid #a6b69f;background:#e9eedf;border-radius:130px 130px 0 0;max-width:300px;margin:auto}.theme-botanical .profile-initial{font-family:'Cormorant Garamond',serif;color:#7d9675}.theme-botanical .events{background:#284e41;color:#eef3eb}.theme-botanical .event-block{background:#eef3eb;color:#284e41;border-color:#b5c5aa}.theme-botanical .story{background:#dde7d5}.theme-botanical .story p[data-bind]{font:italic 22px/1.7 'Cormorant Garamond',serif;border:0}.theme-botanical .closing{background:#e5ebdf}
@keyframes java-mist{from{transform:translateX(-10%) scale(1)}to{transform:translateX(10%) scale(1.1)}}@keyframes java-branch{from{transform:rotate(-2deg)}to{transform:rotate(3deg)}}@keyframes floral-sway{from{transform:rotate(-2deg) translateY(0)}to{transform:rotate(3deg) translateY(-8px)}}@keyframes scroll-hint{0%,100%{transform:translateY(0);opacity:.3}50%{transform:translateY(12px);opacity:1}}
@media(max-width:480px){.invitation-overture{padding-inline:25px}.overture-copy h2{font-size:52px}.chapter-heading h2{font-size:40px}.theme-heritage .cover{min-height:760px}.theme-heritage .cover-content{padding-inline:40px;padding-bottom:200px}.theme-heritage .cover h1{font-size:40px}.theme-heritage .overture-copy h2{font-size:42px}.theme-heritage .overture-heritage{padding-bottom:240px}.theme-heritage .opening,.theme-blush .opening{padding-inline:32px}.theme-blush .opening-portrait,.theme-heritage .opening-portrait,.theme-midnight .opening-portrait{width:215px}.theme-portrait .couple-profiles{gap:15px}.overture-portrait h2{font-size:63px}.theme-portrait .chapter-heading h2{font-size:48px}.theme-portrait .opening-portrait{width:100%}.overture-ivory{padding-inline:25px}.theme-ivory .opening-portrait{width:220px}}
@media(prefers-reduced-motion:reduce){.java-mist,.java-botanical,.painted-floral,.scroll-invitation span{animation:none!important}.overture-ivory{rotate:0}}

.theme-heritage .cover .java-landscape:after,.overture-heritage .java-landscape:after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 65% 52% at 50% 30%,#fff6e5f5 0%,#fff6e5df 36%,#fff6e58a 70%,transparent 100%)}.theme-heritage .cover .cover-content{width:90%;max-width:520px}.overture-heritage .overture-copy{max-width:440px}.theme-heritage .cover-date,.overture-heritage .overture-date{font-weight:600}.theme-heritage .guest-block p{opacity:1}.theme-heritage .opening .painted-floral{opacity:.7}

.theme-heritage .opening .java-landscape{background-position:center top;background-size:cover;opacity:.10}.opening .java-botanical{top:150px;bottom:auto;width:42%;opacity:.65}.opening .java-botanical-left{left:-90px}.opening .java-botanical-right{right:-90px}.theme-blush .opening .painted-floral{top:160px;bottom:auto;width:43%;opacity:.85}.theme-blush .opening .painted-left{left:-75px}.theme-blush .opening .painted-right{right:-75px}
