/* Detail refinements keep the original stationery arrangement intact. */
.main-invite>.velvet-wrap{top:75%;height:200px}
.main-invite{box-shadow:1px 2px 2px #80684d44,4px 8px 15px #6c5c492e,12px 23px 35px #6554431a}
.paper-frame{border-color:#92634f72}.paper-frame::before{border-color:#b48b7645}
.partakers summary{border-color:#7c4a426b}.partakers summary::before,.partakers summary::after{content:'';width:5px;height:5px;position:absolute;top:calc(50% - 3px);border:1px solid #9464518c;rotate:45deg;background:#d9ae9b}
.partakers summary::before{left:-3px}.partakers summary::after{right:-3px}
.printed-venue>span{text-wrap:balance}.printed-date{font-variant-numeric:lining-nums}.timeline time{font-variant-numeric:lining-nums tabular-nums}
.timeline h3{text-wrap:balance}.program-thanks,.reply-header>p,.letter-paper>p{text-wrap:pretty}
.letter-paper h2{white-space:normal;text-wrap:balance}.reply-stack{isolation:isolate}.reply-stack::before{z-index:0}.reply-paper{z-index:1}.reply-ribbon{z-index:6}
.gallery-item{overflow:hidden}.gallery-item img{transition:scale .7s cubic-bezier(.2,.6,.2,1),filter .4s;backface-visibility:hidden}.gallery-item:hover img{scale:1.025}
.suite-nav nav a{min-height:44px;display:inline-flex;align-items:center}.circle-button{min-width:44px;min-height:44px}.circle-button:disabled{opacity:.35;cursor:default;pointer-events:none}.text-link{min-height:44px}
.welcome-copy{max-width:min(100%,520px)}.welcome-copy h2{text-wrap:balance}.welcome-copy>.button{min-width:210px}.welcome.is-opening .welcome-copy>.button{pointer-events:none}
.envelope-scene{perspective:1500px}.envelope-flap{transition:transform .82s .18s cubic-bezier(.3,.05,.22,1);transform-origin:50% 0;will-change:auto}.wax-seal{transition:opacity .3s .04s,transform .42s cubic-bezier(.2,.6,.3,1)}
.welcome.is-opening .wax-seal{transform:translate(-50%,6%) rotate(9deg) scale(1.08);opacity:0}
.envelope-letter{transition:transform .8s .68s cubic-bezier(.22,.6,.2,1),opacity .25s .36s;box-shadow:0 2px 7px #402a202b}
.welcome.is-opening .envelope-letter{transform:translateY(-56%)}.welcome.is-opening .envelope-scene{transform:translateY(34px) scale(1.025);transition:transform 1.5s cubic-bezier(.25,.5,.25,1)}
.welcome{transition:opacity .5s ease,visibility .5s ease}.welcome.is-opening .envelope-flap{filter:none}
@keyframes stationery-arrive{from{opacity:0;translate:0 23px}to{opacity:1;translate:0 0}}
@keyframes seal-arrive{from{opacity:0;scale:.94}to{opacity:1;scale:1}}
#invitation-page.is-entering .suite-nav{animation:stationery-arrive .75s .1s both}
#invitation-page.is-entering .display-envelope{animation:stationery-arrive .95s .1s both}
#invitation-page.is-entering .main-invite{animation:stationery-arrive 1s .22s both}
#invitation-page.is-entering .oval-card{animation:stationery-arrive .9s .38s both}
#invitation-page.is-entering .mini-gift-card{animation:stationery-arrive .85s .52s both}
#invitation-page.is-entering .display-seal{animation:seal-arrive .9s .45s both}
.js-reveal .reveal,.js-reveal .reveal-item{opacity:0;translate:0 16px;transition:opacity .75s cubic-bezier(.2,.6,.2,1),translate .75s cubic-bezier(.2,.6,.2,1)}
.js-reveal .reveal.is-visible,.js-reveal .reveal-item.is-visible{opacity:1;translate:0 0}
@keyframes dialog-arrive{from{opacity:0;translate:0 9px}to{opacity:1;translate:0 0}}
dialog[open]{animation:dialog-arrive .25s ease-out}.lightbox[open]{animation:dialog-arrive .22s ease-out}.lightbox img{transition:opacity .22s ease;opacity:1}.lightbox.is-switching img{opacity:0}.lightbox.is-switching figcaption{opacity:.45}.lightbox figcaption{transition:opacity .22s ease}.lightbox-prev,.lightbox-next{min-width:40px;min-height:44px}
.small-dialog .button{min-height:48px}.reply-form>input,.reply-form>textarea{transition:border-color .2s,background-color .2s}.reply-form>input:focus,.reply-form>textarea:focus{background-color:#f5decd30;border-bottom-color:#652333}
.proof-watermark,dialog::after{position:fixed;inset:0;background-image:url('assets/proof-watermark.svg');background-repeat:repeat;background-position:center center;background-size:510px 270px;pointer-events:none;user-select:none;opacity:.22}
.proof-watermark{z-index:400}dialog::after{content:'';z-index:20}
.proof-banner{position:fixed;left:50%;bottom:max(12px,env(safe-area-inset-bottom));translate:-50% 0;display:flex;align-items:center;justify-content:center;gap:12px;z-index:401;padding:10px 17px;border:1px solid #8d60525e;background:#f7ebdbf5;box-shadow:0 3px 16px #4b2b2423;pointer-events:none;white-space:nowrap;max-width:calc(100vw - 22px);color:#631c2c}
.proof-banner>span{font-family:var(--serif);font-size:15px;letter-spacing:.08em}.proof-banner>strong{font-family:var(--sans);font-size:8px;letter-spacing:.13em;text-transform:uppercase;font-weight:600;border-left:1px solid #a8806c66;padding-left:12px}
.dialog-proof{position:absolute;top:17px;left:20px;font-family:var(--sans);font-size:8px;letter-spacing:.12em;text-transform:uppercase;line-height:1.4;z-index:21;opacity:.8}.lightbox>.dialog-proof{color:#f4e8d5;top:28px}
.site-footer{padding-bottom:90px}
@media(max-width:850px){.main-invite>.velvet-wrap{height:172px}}
@media(max-width:650px){.main-invite>.velvet-wrap{top:75%;height:150px}.suite-nav nav{gap:10px}.suite-nav nav a{font-size:9px;letter-spacing:.02em}.suite-nav{gap:12px}.suite-nav nav>span{display:none}.printed-venue>span{line-height:1.8}.program-thanks{max-width:260px}.reply-instructions{font-size:10px}.album-footer{gap:22px}.proof-watermark,dialog::after{background-size:350px 210px;opacity:.22}.proof-banner{padding:9px 13px;gap:10px}.proof-banner>span{font-size:13px}.proof-banner>strong{font-size:7px;letter-spacing:.09em;padding-left:10px}.site-footer{padding-bottom:88px}.lightbox figure{max-width:calc(100vw - 90px)}.lightbox-prev,.lightbox-next{width:38px;min-width:38px}.dialog-proof{font-size:7px;left:15px;top:18px}.lightbox>.dialog-proof{top:26px;max-width:230px}.lightbox figcaption{font-size:15px}.small-dialog{max-height:calc(100svh - 105px)}}
@media(max-width:355px){.suite-nav nav{gap:8px}.suite-nav nav a{font-size:8px}.suite-nav{gap:10px}.main-invite>.velvet-wrap{height:140px}.proof-banner>span{font-size:12px}.proof-banner>strong{font-size:6px}}
@media(prefers-reduced-motion:reduce){#invitation-page.is-entering *{animation:none!important}.js-reveal .reveal,.js-reveal .reveal-item{opacity:1;translate:0 0}.envelope-letter,.envelope-flap,.wax-seal,.welcome,.envelope-scene,.lightbox img,.lightbox figcaption{transition:none!important}.gallery-item:hover img{scale:1}.welcome.is-opening .envelope-letter{transform:none}.welcome.is-opening .envelope-scene{transform:none}}
@media print{.proof-watermark{display:block;opacity:.3}.proof-banner{position:fixed;bottom:8px}.welcome{display:none!important}}
.small-dialog>p.dialog-proof{font-size:8px;line-height:1.4;margin:0;right:58px;text-align:left;white-space:nowrap}
@media(max-width:650px){.small-dialog>p.dialog-proof{font-size:7px}}
