.theme-scene{position:absolute;inset:0;overflow:hidden;pointer-events:none;color:var(--color);z-index:1}.inv-section{position:relative;isolation:isolate;overflow:hidden}.inv-section>.theme-scene{z-index:-1;opacity:.55}.inv-section>*:not(.theme-scene){position:relative}.opening{min-height:850px;padding-top:95px}.opening-portrait{width:210px;aspect-ratio:3/4;margin:0 auto 38px;padding:9px;border:1px solid color-mix(in srgb,var(--color) 30%,transparent);border-radius:130px 130px 8px 8px}.opening-portrait img{height:100%;object-fit:cover;border-radius:120px 120px 3px 3px}.section-number{font:12px/1 'Cormorant Garamond',serif;letter-spacing:4px;margin:0 auto 24px;opacity:.6}.couple-names{padding:35px 20px;border-block:1px solid color-mix(in srgb,var(--color) 20%,transparent)}.event-cards{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:35px auto;max-width:490px}.event-block{border:1px solid color-mix(in srgb,var(--color) 25%,transparent);border-radius:120px 120px 8px 8px;padding:45px 16px 25px;width:100%;background:var(--paper)}.event-icon{display:block;font:34px/1 'Cormorant Garamond',serif;margin-bottom:24px}.event-block h3{font-size:25px}.event-block p{font-size:13px}.date-plaque{display:flex;flex-direction:column;gap:9px;padding:20px 0;margin-bottom:12px;border-block:1px solid color-mix(in srgb,var(--color) 20%,transparent)}.date-plaque strong{font:46px/1 'Cormorant Garamond',serif}.date-plaque span{font-size:10px;letter-spacing:2px}.venue{padding:25px 15px;border-top:1px solid color-mix(in srgb,var(--color) 20%,transparent)}.story{padding-block:110px;min-height:520px}.story:after{content:'“';position:absolute;top:20px;left:50%;transform:translateX(-50%);font:150px/1 'Cormorant Garamond',serif;opacity:.12;z-index:-1}.story>p[data-bind]{padding:26px;border-left:1px solid color-mix(in srgb,var(--color) 40%,transparent)}.rsvp{max-width:none;padding-inline:55px}.rsvp form{padding:25px;background:color-mix(in srgb,var(--paper) 88%,white);border:1px solid color-mix(in srgb,var(--color) 20%,transparent);border-radius:16px}.closing{min-height:450px}.closing-monogram{font:58px/1.4 'Great Vibes',cursive;padding:28px 0}.motion-control{position:fixed;top:65px;right:max(15px,calc((100vw - 610px)/2));z-index:20}
.rose-vine{position:absolute;width:110px;height:70%;max-height:540px;bottom:-55px;transform-origin:bottom;animation:rose-breathe 9s ease-in-out infinite alternate}.rose-left{left:-40px}.rose-right{right:-40px;scale:-1 1;animation-delay:-4s}.rose-petal{position:absolute;left:calc(12%*var(--n));top:-30px;width:14px;height:20px;border-radius:60% 10% 70% 20%;background:#e3a4b7;animation:rose-drift calc(17s + var(--n)*1s) linear infinite;animation-delay:calc(var(--n)*-3s);opacity:.6}.theme-blush .opening-portrait{border-radius:140px 140px 90px 90px;background:#f8e4eb;box-shadow:0 15px 50px #96546920}.theme-blush .opening-portrait img{border-radius:130px 130px 85px 85px}.theme-blush .events{background:#f3e0e7}.theme-blush .couple-names{border:1px solid #cda1b3;border-radius:100px 100px 12px 12px;padding-top:45px;background:#fff7fae8}.theme-blush .inv-reveal{transform-origin:50% 80%}.theme-blush.motion-ready .inv-reveal:not(.seen){transform:translateY(35px) scale(.94)}
.java-panel{position:absolute;width:64px;height:100%;top:0;opacity:.7}.java-left{left:-19px}.java-right{right:-19px}.java-emblem{position:absolute;width:130px;left:50%;top:60px;transform:translateX(-50%);opacity:.35;animation:java-light 8s ease-in-out infinite}.cover .java-emblem{top:65px;color:#ead49f;opacity:.65}.cover .java-panel{color:#e1c18b}.theme-heritage #invitation-content{background-color:#f5ecdd;background-image:repeating-linear-gradient(45deg,transparent 0 18px,#9b754706 18px 19px)}.theme-heritage .opening{padding-top:240px}.theme-heritage .opening-portrait{border-radius:0;padding:12px;outline:1px solid #a88759;outline-offset:5px}.theme-heritage .opening-portrait img{border-radius:0}.theme-heritage .couple-names{border:1px solid #a88759;outline:1px solid #a8875950;outline-offset:6px;background:#fffaf0d9}.theme-heritage .events{background:#6c5135;color:#f5ecdd}.theme-heritage .event-block{border-radius:3px;background:#f5ecdd;color:#6c5135;border:double 4px #ad8a57}.theme-heritage .story{border-block:double 4px #a8875960}.theme-heritage.motion-ready .inv-reveal:not(.seen){transform:translateX(-22px);filter:blur(3px)}.theme-heritage .inv-reveal{transition:opacity 1s,transform 1s,filter 1s}
.constellation{position:absolute;width:95%;left:2.5%;top:0;animation:sky-turn 90s linear infinite}.night-star{position:absolute;left:calc(8%*var(--n));top:calc(9%*var(--n));font-size:calc(6px + var(--n)*.7px);color:#e5cca0;animation:star-pulse calc(3s + var(--n)*.2s) ease-in-out infinite alternate;animation-delay:calc(var(--n)*-.4s)}.moon-orbit{position:absolute;width:85px;height:85px;border-radius:50%;box-shadow:14px 3px 0 #e6d4a4;top:10%;right:15%;opacity:.5}.theme-midnight #invitation-content{background:#172638;color:#e9ddbf}.theme-midnight .opening-portrait{border-color:#ad9561;box-shadow:0 0 45px #b99a4920}.theme-midnight .events{background:#20344b}.theme-midnight .event-block{background:#172638;border-color:#a48e5e;border-radius:5px}.theme-midnight .rsvp form{background:#20344b}.theme-midnight input,.theme-midnight select,.theme-midnight textarea{background:#172638;color:#e9ddbf;border-color:#a48e5e}.theme-midnight .invite-button{background:#e9ddbf;color:#172638;border-color:#e9ddbf}.theme-midnight .gift{background:#20344b}.theme-midnight .gift-info{border-color:#a48e5e}.theme-midnight.motion-ready .inv-reveal:not(.seen){transform:translateY(12px);filter:blur(6px)}.theme-midnight .inv-reveal{transition:opacity 1.2s,filter 1.2s,transform 1.2s}
.paper-border{position:absolute;inset:20px;border:1px solid currentColor;opacity:.22}.paper-fold{position:absolute;inset:0;opacity:.07;background:linear-gradient(135deg,transparent 50%,currentColor 50%);transform-origin:0 0}.fold-two{scale:-1 1}.cover .paper-fold{animation:paper-open 1.8s cubic-bezier(.16,1,.3,1) both}.ivory-seal{position:absolute;left:50%;top:55px;transform:translateX(-50%);font:26px/1 'Cormorant Garamond',serif;border:1px solid currentColor;border-radius:50%;width:50px;height:50px;display:grid;place-content:center;opacity:.3}.ivory-seal span{font-size:14px;position:absolute;bottom:5px;right:10px}.theme-ivory .opening{padding-top:145px}.theme-ivory .opening-portrait{border-radius:0;transform:rotate(-3deg);background:#fff;padding:10px;box-shadow:8px 12px 0 #cfc9bc50}.theme-ivory .opening-portrait img{border-radius:0}.theme-ivory .event-block{border-radius:0;border-inline:0;background:transparent}.theme-ivory .event-cards{gap:28px}.theme-ivory .couple-names{border:none}.theme-ivory .story{background:#eae7df}.theme-ivory .cover h1{font-family:'Cormorant Garamond',serif;font-size:48px}.theme-ivory.motion-ready .inv-reveal:not(.seen){transform:translateY(30px) rotate(-2deg)}
.editorial-line{position:absolute;top:20px;bottom:20px;width:1px;background:currentColor;opacity:.15}.line-one{left:20px}.line-two{right:20px}.editorial-caption{position:absolute;top:40px;right:35px;writing-mode:vertical-rl;letter-spacing:3px;font-size:8px;opacity:.5}.theme-portrait .opening-portrait{width:85%;aspect-ratio:4/5;border:0;padding:0;border-radius:0;margin-top:10px}.theme-portrait .opening-portrait img{border-radius:0}.theme-portrait .opening{padding-inline:28px}.theme-portrait .couple-names{text-align:left;border:0;padding-inline:5px}.theme-portrait .couple-names h3{font-family:'Cormorant Garamond',serif;font-size:40px}.theme-portrait .couple-names p{margin-left:0}.theme-portrait .couple-amp{margin:15px 0}.theme-portrait .event-cards{grid-template-columns:1fr}.theme-portrait .event-block{border-radius:0;display:grid;grid-template-columns:1fr 1fr;text-align:left;padding:25px;column-gap:20px}.theme-portrait .date-plaque{grid-column:2;grid-row:1/4;text-align:center}.theme-portrait .event-icon{display:none}.theme-portrait .story{text-align:left;background:#ddd8cf}.theme-portrait .story>p{padding-left:0;border:0}.theme-portrait .cover h1{font-family:'Cormorant Garamond',serif;letter-spacing:-2px}.theme-portrait.motion-ready .inv-reveal:not(.seen){transform:translateX(35px)}.theme-portrait .inv-gallery{gap:24px}.theme-portrait .inv-gallery img{border-radius:0}.theme-portrait .inv-gallery img:nth-child(even){margin-top:45px}
@keyframes rose-breathe{from{transform:rotate(-3deg) scale(1)}to{transform:rotate(4deg) scale(1.03)}}@keyframes rose-drift{0%{transform:translate(0,-20px) rotate(0);opacity:0}15%{opacity:.6}50%{transform:translate(55px,50vh) rotate(120deg)}100%{transform:translate(-35px,110vh) rotate(300deg);opacity:0}}@keyframes java-light{0%,100%{opacity:.25}50%{opacity:.6}}@keyframes sky-turn{to{transform:rotate(360deg)}}@keyframes star-pulse{from{opacity:.2;scale:.7}to{opacity:1;scale:1.15}}@keyframes paper-open{from{transform:rotate(-30deg);opacity:.25}to{transform:rotate(0);opacity:.07}}
@media(max-width:480px){.opening{min-height:780px}.event-cards{gap:12px}.event-block{padding:32px 10px 20px}.event-block h3{font-size:22px}.rsvp{padding-inline:24px}.rsvp form{padding:20px}.rose-vine{width:85px;opacity:.8}.rose-left{left:-35px}.rose-right{right:-35px}.java-panel{width:45px}.theme-heritage .opening{padding-top:220px}.opening-portrait{width:185px}.theme-portrait .opening-portrait{width:85%}.theme-ivory .cover h1{font-size:40px}.theme-portrait .cover h1{font-size:43px}.inv-section .theme-scene .bird-flight{display:none}}
.motion-pause .theme-scene *{animation-play-state:paused!important}@media(prefers-reduced-motion:reduce){.theme-scene *{animation:none!important}.rose-petal{display:none}.motion-ready .inv-reveal:not(.seen){opacity:1!important;transform:none!important;filter:none!important}}

.countdown{gap:12px}.countdown>span{border:1px solid currentColor;border-radius:8px;min-width:64px;padding:14px 8px;line-height:1}.countdown b{font-weight:500;font-size:32px}.countdown small{font-size:8px}.desktop-memory{display:none}@media(min-width:1200px){.invitation-open .desktop-memory{display:block;position:fixed;inset:0 520px 0 0;background:#30272a}.desktop-memory>img{height:100%;object-fit:cover}.desktop-memory>div{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:end;align-items:center;padding:70px 25px;color:white;background:linear-gradient(transparent 40%,#151015a8);text-align:center}.desktop-memory h2{font:58px/1.4 'Great Vibes',cursive}.desktop-memory p{font-size:11px;letter-spacing:3px}.invitation-open .invitation-wrap{width:520px;max-width:520px;margin-right:0}.invitation-open .inv-nav{left:auto;right:260px;transform:translateX(50%)}.invitation-open .motion-control{right:15px}.invitation-open .cover{display:none}}

.scene-asleep *, .page-asleep .theme-scene *{animation-play-state:paused!important}.theme-heritage .events .date-plaque{border-color:#ad8a57}.theme-midnight .couple-names{border-color:#a48e5e}.theme-portrait .inv-reveal{transition:opacity .8s,transform .8s cubic-bezier(.16,1,.3,1)}

/* Keep desktop portrait names and wedding date together. */
@media(min-width:1200px){.desktop-memory h2{margin:10px 0 14px;line-height:1.2}.desktop-memory p{margin:0}.desktop-memory>div{gap:0}}
