.opening{position:fixed;z-index:100;inset:0;background:var(--olive);color:var(--cream);isolation:isolate;overflow:auto;min-height:100dvh;transition:opacity .5s ease;--tilt-x:-8deg;--tilt-y:-13deg}.opening::before{content:"";position:absolute;inset:20px;border:1px solid #f5f1e744;pointer-events:none}.opening:focus{outline:none}.opening-top{display:flex;align-items:center;justify-content:space-between;padding:35px 5%;position:relative;z-index:5}.opening-top>a{pointer-events:none}.opening-top>span{font-size:8px;letter-spacing:.15em}.opening-layout{width:min(1200px,88%);min-height:calc(100dvh - 340px);display:grid;grid-template-columns:1fr 1.2fr;align-items:center;gap:5%;margin:20px auto}.opening-intro>.eyebrow{font-size:9px;color:#f5f1e7bb}.opening-intro h2{font-size:clamp(48px,5.7vw,82px);line-height:1.07;margin:25px 0}.opening-intro h2 em{color:#e9e4ce}.opening-intro>p:last-child{font-size:13px;line-height:2}.envelope-scene{perspective:1300px;padding:40px 0 80px}.envelope{position:relative;width:100%;height:300px;transform:rotateX(var(--tilt-x)) rotateY(var(--tilt-y)) rotateZ(2deg);transform-style:preserve-3d;transition:transform .8s var(--ease);filter:drop-shadow(15px 40px 20px #30382655)}.envelope-back{position:absolute;inset:0;background:#6c703d;transform:translateZ(-3px);border:1px solid #b1b487}.envelope-letter{position:absolute;z-index:2;inset:-65px 8% 25px;background:var(--paper);color:var(--deep);padding:25px 20px 18px;box-shadow:0 -4px 15px #30382633;text-align:center;transform:translateZ(1px);transition:transform 1s var(--ease);transform-origin:50% 100%;overflow:hidden}.envelope-letter>span{display:block;font:400 8px/1.7 var(--sans);letter-spacing:.1em}.envelope-letter strong{display:block;font:500 35px/.98 var(--serif);letter-spacing:-.05em;margin:12px 0}.envelope-letter strong i{font-weight:500}.envelope-letter img{width:100%;height:150px;object-fit:cover;object-position:50% 34%;margin:18px 0 14px}.envelope-front{position:absolute;inset:0;z-index:4;background:linear-gradient(150deg,#a9ac7d,#82864e);clip-path:polygon(0 0,50% 54%,100% 0,100% 100%,0 100%);transform:translateZ(4px);box-shadow:inset 0 0 0 1px #d4d5b7}.envelope-front::before,.envelope-front::after{content:"";position:absolute;inset:0;pointer-events:none}.envelope-front::before{background:#8b8f58;clip-path:polygon(0 0,51% 55%,0 100%)}.envelope-front::after{background:#999d69;clip-path:polygon(100% 0,49% 55%,100% 100%)}.envelope-flap{position:absolute;z-index:5;inset:0 0 auto;height:58%;background:linear-gradient(168deg,#b3b78a,#7b804a);clip-path:polygon(0 0,100% 0,50% 100%);transform-origin:50% 0;transform:translateZ(7px);backface-visibility:hidden;transition:transform .8s var(--ease),z-index .1s .5s}.wax-seal{position:absolute;z-index:7;top:43%;left:calc(50% - 34px);width:68px;height:68px;border-radius:48% 52% 47% 53%;display:flex;align-items:center;justify-content:center;font:500 24px/1 var(--serif);color:#f1ced7;background:radial-gradient(ellipse at 35% 30%,#a95770,var(--berry) 65%);border:4px double #b8758a;box-shadow:inset 0 1px 4px #e6b7c6aa,2px 5px 5px #343e2955;transform:translateZ(13px);transition:opacity .2s,transform .5s}.wax-seal>span{font-size:16px;font-style:italic}.envelope-address{position:absolute;z-index:6;bottom:30px;left:0;right:0;text-align:center;font-size:8px;letter-spacing:.14em;color:#f5f1e7;transform:translateZ(9px)}
.mobile-entry-copy{position:relative;width:max-content;max-width:90%;margin:0 auto 35px;text-align:center;z-index:10}.entry-audio-action{display:flex;align-items:center;justify-content:center;gap:15px}.entry-music-target{display:grid;place-content:center;width:56px;height:56px;border-radius:50%;background:var(--cream);color:var(--deep);border:1px solid #f5f1e7aa;flex:none;font-size:23px;box-shadow:0 3px 7px #30382633}.entry-open{text-align:left;background:none;color:inherit;padding:5px 0;min-height:56px}.entry-audio-label{display:block;font:500 25px/1.2 var(--serif);letter-spacing:-.02em;border-bottom:1px solid #f5f1e755;padding-bottom:6px}.entry-open>small{display:block;font:400 7px/1.7 var(--sans);letter-spacing:.12em;margin-top:6px}.entry-audio-status{font-size:9px;line-height:1.8;margin-top:12px;color:#f5f1e7bb;min-height:17px}.opening-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:0 5% 25px;font-size:8px;letter-spacing:.14em}.motion-toggle{min-height:44px;padding:7px 0;background:none;color:inherit;font-size:9px;line-height:1.6;border-bottom:1px solid currentColor;letter-spacing:0}.opening.is-unfolding .envelope{transform:rotateX(0) rotateY(0) rotateZ(0)}.opening.is-unfolding .envelope-flap{transform:translateZ(7px) rotateX(180deg);z-index:1}.opening.is-unfolding .wax-seal{opacity:0;transform:translateZ(40px) scale(1.2)}.opening.is-unfolding .envelope-letter{transform:translateY(-90px) translateZ(20px);transition-delay:.4s}.opening.is-leaving{opacity:0;pointer-events:none}
.rsvp{background:var(--berry);color:var(--cream);padding-block:85px}.rsvp-layout{display:grid;grid-template-columns:1fr 1.25fr;gap:12%;align-items:start}.rsvp-intro h2{font-size:clamp(60px,6vw,84px);line-height:1.04;margin:25px 0 30px}.rsvp-intro>p:not(.eyebrow){font-size:13px;max-width:350px;line-height:1.9;margin-bottom:20px;color:#f5f1e7dc}.rsvp-monogram{font:500 115px/1 var(--serif);letter-spacing:-.13em;margin:45px 0 0;color:#c9869c55}.rsvp-monogram>span{font-size:.6em;font-style:italic}.rsvp-form{background:var(--paper);color:var(--deep);padding:35px 38px;box-shadow:7px 14px 25px #34121f33;border:1px solid #efdfc6}.form-progress{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-bottom:32px;font-size:8px;letter-spacing:.1em;color:var(--muted)}.form-progress-track{width:85px;height:2px;background:var(--line)}.form-progress-track i{display:block;width:33.33%;height:100%;background:var(--berry);transition:width .3s}.rsvp-form fieldset{border:0;padding:0;margin:0;min-width:0}.rsvp-form legend{font:500 33px/1.2 var(--serif);letter-spacing:-.04em;margin-bottom:17px;padding:0;max-width:100%;outline:none}.field-help{font-size:10px;color:var(--muted);line-height:1.8;margin:8px 0 18px}.attendance-choices{display:grid;gap:15px;margin:27px 0 18px}.attendance-choices label{position:relative;display:flex;align-items:center;gap:13px;border:1px solid var(--line);padding:18px 16px;cursor:pointer;min-height:94px;transition:background .2s}.attendance-choices label:has(input:checked){border-color:var(--olive);background:#e6e7d5}.attendance-choices input{appearance:none;-webkit-appearance:none;width:19px;height:19px;border:1px solid var(--olive);border-radius:50%;margin:0;flex:none}.attendance-choices input:checked{border:5px solid var(--olive);background:var(--paper)}.attendance-choices label>span{flex:1}.attendance-choices b{font-size:13px;font-weight:500;line-height:1.5}.attendance-choices small{display:block;font-size:10px;color:var(--muted);margin-top:5px;line-height:1.7}.attendance-choices i{font-size:20px;font-style:normal;color:var(--berry)}.field-label{display:block;font-size:11px;margin:20px 0 8px}.field-label>span{font-size:9px;color:var(--muted)}.rsvp-form input:not([type=radio]):not([type=checkbox]),.rsvp-form textarea{width:100%;min-height:46px;border:1px solid #343e294a;border-radius:0;background:var(--paper);padding:11px 12px;font-size:13px;line-height:1.5;outline-offset:2px}.rsvp-form textarea{resize:vertical;min-height:90px}.form-two-columns{display:grid;grid-template-columns:1fr 1fr;gap:22px}.form-navigation{display:flex;justify-content:space-between;align-items:center;gap:22px;margin-top:28px}.rsvp-next,.rsvp-submit{margin-left:auto;font-size:11px;min-height:50px}.rsvp-back{font-size:11px}.form-error{font-size:11px;line-height:1.8;color:#9a2549}.form-error:not(:empty){margin-top:20px;border-left:2px solid var(--berry);padding-left:12px}.rsvp-review{padding:17px 18px;border-left:2px solid var(--olive);background:#e6e7d5;font-size:12px;margin-top:25px;white-space:pre-line}.consent-label{display:flex;gap:10px;align-items:flex-start;font-size:10px;line-height:1.8;margin:23px 0 12px}.consent-label input{width:18px;height:18px;flex:none;accent-color:var(--olive);margin:2px 0 0}.honeypot{position:absolute;left:-9999px;overflow:hidden;width:1px;height:1px}.rsvp-success{text-align:center;padding:30px 0;outline:none}.rsvp-success>span{display:grid;place-content:center;width:60px;height:60px;border:1px solid var(--olive);border-radius:50%;color:var(--olive);font-size:28px;margin:0 auto 26px}.rsvp-success h3{font-size:35px;margin-bottom:23px}.rsvp-success p{font-size:13px;line-height:1.9;margin-bottom:20px}.rsvp-success .underlink{font-size:11px;margin:8px auto;display:flex;width:max-content;max-width:100%}.rsvp-form.is-submitted>.form-progress,.rsvp-form.is-submitted>fieldset,.rsvp-form.is-submitted>.form-navigation{display:none}
/* Preserve the official player target while adopting the invitation palette. */
.music-player{background:#343e29f5!important;border-color:#a4a77b66!important;box-shadow:0 6px 24px #30382633!important}.music-caption a{color:#d6d9b7!important}.music-player .music-toggle{background:var(--matcha)!important}.music-player .music-mount{background:var(--matcha)!important}body.music-entry-active .music-player{background:transparent!important;box-shadow:none!important;border:0!important}body.music-entry-active .music-player .music-mount{z-index:125}.music-player .music-mount iframe{filter:hue-rotate(50deg) saturate(.45)}
@media(min-width:701px){.envelope-scene:hover .envelope{--tilt-x:-3deg;--tilt-y:-6deg}}
@media(max-width:1050px){.opening-layout{width:86%;gap:3%;grid-template-columns:1fr 1.1fr}.envelope{height:250px}.envelope-letter{inset:-55px 8% 20px;padding:18px 15px}.envelope-letter strong{font-size:28px}.envelope-letter img{height:125px}.rsvp-layout{gap:7%;grid-template-columns:.9fr 1.2fr}.rsvp-form{padding:30px 28px}.rsvp-form legend{font-size:30px}}
@media(max-width:700px){.opening::before{inset:12px}.opening-top{padding:25px 26px}.opening-top>span{font-size:6px;letter-spacing:.09em}.opening-layout{width:calc(100% - 60px);min-height:0;display:flex;flex-direction:column;margin:10px auto 0;gap:0}.opening-intro{text-align:center}.opening-intro>.eyebrow{font-size:7px}.opening-intro h2{font-size:42px;line-height:1.03;margin:18px 0 15px}.opening-intro>p:last-child{font-size:11px;line-height:1.7}.envelope-scene{padding:70px 0 25px;width:min(100% - 15px,350px)}.envelope{height:195px;--tilt-x:-7deg;--tilt-y:-10deg}.envelope-letter{inset:-43px 8% 16px;padding:13px 12px}.envelope-letter strong{font-size:25px;margin:7px 0}.envelope-letter>span{font-size:6px}.envelope-letter img{height:100px;margin:10px 0}.wax-seal{top:42%;width:55px;height:55px;left:calc(50% - 27.5px);font-size:20px;border-width:3px}.wax-seal>span{font-size:13px}.envelope-address{bottom:20px;font-size:6px}.mobile-entry-copy{margin:25px auto 10px;max-width:calc(100% - 45px)}.entry-audio-action{gap:14px}.entry-audio-label{font-size:23px}.entry-open>small{font-size:6px}.entry-audio-status{font-size:8px;margin-top:10px;max-width:290px}.opening-bottom{padding:0 27px 20px}.opening-bottom>span{font-size:7px}.opening .motion-toggle{font-size:7px}.opening.is-unfolding .envelope-letter{transform:translateY(-75px) translateZ(20px)}.rsvp{padding-block:55px}.rsvp-layout{display:block}.rsvp-intro h2{font-size:60px;margin:20px 0 25px}.rsvp-intro>p:not(.eyebrow){font-size:12px;max-width:100%}.rsvp-intro>p:nth-last-of-type(1){display:none}.rsvp-monogram{display:none}.rsvp-form{padding:27px 22px;margin-top:30px}.rsvp-form legend{font-size:30px}.form-progress{margin-bottom:27px;font-size:7px}.attendance-choices label{padding:16px 12px;gap:10px;min-height:92px}.attendance-choices b{font-size:12px}.attendance-choices small{font-size:9px}.attendance-choices input{width:17px;height:17px}.form-two-columns{gap:15px}.rsvp-form input:not([type=radio]):not([type=checkbox]),.rsvp-form textarea{font-size:16px}.field-label{font-size:10px}.field-help{font-size:9px}.form-navigation{gap:15px}.rsvp-next,.rsvp-submit{font-size:10px;padding:15px 18px;gap:20px}.rsvp-back{font-size:10px}.consent-label{font-size:9px}.rsvp-review{font-size:11px}.rsvp-success h3{font-size:31px}}
@media(max-height:760px) and (max-width:700px){.opening-top{padding-block:20px 12px}.opening-intro>.eyebrow{display:none}.opening-intro h2{font-size:34px;margin:10px 0 12px}.envelope-scene{padding-top:58px;padding-bottom:15px;width:min(100% - 10px,290px)}.envelope{height:170px}.envelope-letter img{height:85px}.envelope-letter strong{font-size:23px}.mobile-entry-copy{margin-top:18px;margin-bottom:7px}.entry-audio-label{font-size:21px}.opening-bottom{padding-bottom:16px}}
@media(max-height:590px) and (max-width:700px){.opening-intro h2{font-size:29px;margin:7px 0}.opening-intro>p:last-child{font-size:9px}.opening-top{padding-block:17px 8px}.envelope-scene{padding-top:45px;width:240px}.envelope{height:140px}.envelope-letter{inset:-35px 8% 15px;padding-top:10px}.envelope-letter strong{font-size:20px}.envelope-letter img{height:70px;margin-top:7px}.wax-seal{width:45px;height:45px;left:calc(50% - 22.5px);font-size:16px}.envelope-address{bottom:15px;font-size:5px}.mobile-entry-copy{margin:9px auto 3px}.entry-audio-label{font-size:18px}.entry-audio-status{font-size:7px;margin-top:6px}.entry-music-target{width:52px;height:52px}.opening-bottom{padding-bottom:10px}.opening .motion-toggle{min-height:36px}}
@media(max-height:500px) and (min-width:701px){.opening-layout{min-height:0;margin-block:10px;grid-template-columns:1fr 1fr}.opening-top{padding-block:18px}.opening-intro h2{font-size:38px;margin-block:10px}.opening-intro p:last-child{font-size:10px}.envelope-scene{padding:30px 20px}.envelope{height:160px}.envelope-letter img{height:80px}.envelope-letter strong{font-size:23px}.mobile-entry-copy{margin-bottom:3px}.opening-bottom{padding-bottom:15px}.entry-audio-status{font-size:8px}}
@media(prefers-reduced-motion:reduce){.envelope{transform:none}.opening.is-unfolding .envelope-letter{transform:none}}

.envelope-front{background-image:repeating-linear-gradient(12deg,#ffffff04 0 1px,transparent 1px 5px),linear-gradient(150deg,#a9ac7d,#82864e)}
.invitation-paper{background-image:repeating-linear-gradient(20deg,#777a4504 0 1px,transparent 1px 5px)}

@media(max-width:700px){body:not(.opening-active) .music-player{top:9px;bottom:auto;left:calc(50% - 28px);right:auto;width:56px;height:56px;padding:2px;grid-template-columns:52px;max-width:none;gap:0}body:not(.opening-active) .music-player .music-mount{top:2px;left:2px}body:not(.opening-active) .music-player .music-caption{display:none}}

.opening-intro>.eyebrow,.entry-audio-status{color:var(--cream)}

.rsvp-intro h2 em{white-space:nowrap}
@media(max-width:360px){.rsvp-intro h2{font-size:50px}}

body.music-entry-active .music-player[data-playing="true"] .music-mount{opacity:0;pointer-events:none!important}
