:root{--forest:#1c2a21;--cream:#f7f0e8;--rose:#dfc9c5;--gold:#ad8242;--ink:#2d312c}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:#111512}
body{font-family:Montserrat,sans-serif;color:var(--cream);overflow:hidden}
button{font:inherit}
.stage{position:relative;width:100%;height:100svh;display:grid;place-items:center;padding:clamp(10px,2.3vw,28px);overflow:hidden;background:radial-gradient(circle at 50% 42%,#3a483d 0,#1b241e 48%,#0d110e 100%)}
.stage:before{content:"";position:absolute;inset:0;opacity:.12;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='4'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.ambient-name{position:absolute;font:400 clamp(7rem,20vw,19rem)/1 Italiana,serif;letter-spacing:.12em;color:#d8c9b2;opacity:.035;white-space:nowrap}
.invitation{position:relative;width:min(100%,520px);height:min(94svh,860px);overflow:hidden;border-radius:4px 4px 18px 18px;background:#d8c9bd;box-shadow:0 35px 90px #0009,0 0 0 1px #ddcaa444;isolation:isolate;perspective:1500px;transform-style:preserve-3d;animation:arrive 1.25s cubic-bezier(.18,.8,.2,1) both}
.cover-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-3;transform:scale(1.015);animation:slowFocus 12s ease-out both}
.shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(rgba(7,11,8,.22),rgba(7,11,8,.22)),linear-gradient(180deg,#18231d30 0,#18231d0a 30%,#141c16a8 78%,#0c120fe8 100%)}
.couple{position:absolute;top:clamp(25px,5vh,52px);left:0;right:0;text-align:center;text-shadow:0 2px 16px #17201988}
.couple span,.invitation-copy p,footer{font-size:.62rem;letter-spacing:.28em;text-transform:uppercase}
.couple h1{margin:.6rem 0 0;font:400 clamp(2.15rem,6vh,3.6rem)/.9 'Cormorant Garamond',serif;letter-spacing:-.035em}.couple h1 i{color:#d8bb84;font-weight:400}
.paper-flap{position:absolute;z-index:-1;inset:0 0 auto;height:54%;clip-path:polygon(0 0,100% 0,100% 48%,50% 100%,0 48%);background:rgba(246,235,229,.018);transform:translate3d(0,0,0) rotateX(0);transform-origin:50% 0;transform-style:preserve-3d;will-change:transform;backface-visibility:visible}.paper-flap:before,.paper-flap:after{content:"";display:block;position:absolute;top:48%;width:71%;height:18px;background:rgba(25,20,16,.36);box-shadow:0 5px 12px rgba(20,16,13,.42);filter:blur(3px);pointer-events:none}.paper-flap:before{left:-1%;transform:rotate(42deg);transform-origin:left center}.paper-flap:after{right:-1%;transform:rotate(-42deg);transform-origin:right center}
.paper-flap .couple,.paper-flap .embossed-monogram,.paper-flap:before,.paper-flap:after{backface-visibility:hidden}
.flap-back{position:absolute;inset:0;transform:rotateX(180deg) translateZ(1px);backface-visibility:hidden;background:linear-gradient(155deg,rgba(247,238,232,.97),rgba(208,190,181,.97));box-shadow:inset 0 -18px 34px rgba(62,44,35,.14)}
.flap-back:after{content:"";position:absolute;inset:0;opacity:.1;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='p'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.55' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23p)' opacity='.5'/%3E%3C/svg%3E")}
.flap-cast-shadow{position:absolute;z-index:-1;left:8%;right:8%;top:48%;height:12%;border-radius:50%;background:rgba(13,11,9,.34);filter:blur(18px);transform:translate3d(0,0,0);transform-origin:top center;opacity:.65;pointer-events:none;will-change:transform,opacity}
.embossed-monogram{position:absolute;top:34%;left:50%;transform:translateX(-50%);color:rgba(255,255,255,.88);font:400 clamp(4rem,10vh,6.7rem)/1 'Cormorant Garamond',serif;letter-spacing:.02em;white-space:nowrap;text-shadow:0 2px 3px rgba(24,31,25,.5),0 0 25px rgba(255,255,255,.24)}.embossed-monogram span{font-style:normal;margin-left:.05em}
.invitation-copy{position:absolute;top:61%;left:8%;right:8%;text-align:center;color:#fff;text-shadow:0 2px 18px #142017aa;transition:top 1.05s cubic-bezier(.22,.61,.36,1),transform 1.05s cubic-bezier(.22,.61,.36,1)}.invitation-copy p{margin:0 0 12px}.invitation-copy h2{margin:0;font:italic 400 clamp(2.25rem,6.5vh,4rem)/.88 'Cormorant Garamond',serif}
.wax-seal{position:absolute;left:50%;top:54%;width:clamp(68px,9vh,88px);aspect-ratio:1;transform:translate(-50%,-50%);border:0;border-radius:49% 52% 47% 54%;cursor:pointer;color:#4c321c;background:radial-gradient(circle at 35% 28%,#e6c982 0,#b88c45 38%,#805829 72%,#573716 100%);box-shadow:inset 0 0 0 5px #8a622daa,inset 0 0 0 7px #e6cc83aa,0 8px 18px #281a0a77;transition:transform .35s ease,filter .35s ease}.wax-seal:before{content:"";position:absolute;inset:8px;border:1px solid #4c321c88;border-radius:50%}.wax-seal span{position:relative;font:500 clamp(1.4rem,3vh,1.8rem) 'Cormorant Garamond',serif;letter-spacing:-.08em}.wax-seal small{font-size:.7em;margin:0 .05em}.wax-seal:hover{transform:translate(-50%,-50%) scale(1.07) rotate(-2deg);filter:brightness(1.08)}
.open-hint{position:absolute;left:50%;bottom:11%;transform:translateX(-50%);border:0;background:transparent;color:#f8f1e3;font-size:.64rem;letter-spacing:.13em;text-transform:uppercase;white-space:nowrap;cursor:pointer;text-shadow:0 2px 12px #000}.open-hint span{display:block;margin-top:9px;font-size:1rem;animation:bob 1.8s ease-in-out infinite}
footer{position:absolute;left:8%;right:8%;bottom:4%;display:flex;justify-content:space-between;padding-top:13px;border-top:1px solid #ffffff55}
.second-screen{position:absolute;z-index:10;inset:0;opacity:0;visibility:hidden;overflow:hidden;background:#e7d1c5;transition:opacity 1.1s cubic-bezier(.4,0,.2,1),visibility 0s 1.1s}.second-screen>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(1.025);transition:transform 1.6s cubic-bezier(.22,.61,.36,1)}.second-softener{position:absolute;inset:0;background:linear-gradient(180deg,rgba(248,225,219,.6) 0%,rgba(246,220,210,.34) 29%,rgba(246,220,210,.06) 48%,rgba(34,28,20,.08) 100%)}.second-copy{position:absolute;z-index:1;top:10%;left:5%;right:5%;text-align:center;color:#4a3731;text-shadow:0 1px 12px rgba(255,246,239,.75);transform:translateY(14px);transition:transform 1.15s .12s cubic-bezier(.22,.61,.36,1)}.second-copy p{margin:1rem 0 .3rem;font-size:clamp(.58rem,1.45vh,.76rem);letter-spacing:.08em}.second-copy h2{margin:0;font:400 clamp(3rem,7vh,4.5rem)/1 'Great Vibes',cursive}.second-monogram{height:clamp(78px,12vh,110px);display:flex;justify-content:center;align-items:center;font:400 clamp(4.4rem,10vh,6.4rem)/1 'Cormorant Garamond',serif}.second-monogram span+span{margin-left:-.34em;transform:translate(.06em,.18em)}
.paper-flap,.flap-cast-shadow,.wax-seal,.open-hint,.invitation-copy,footer{transition:opacity .9s cubic-bezier(.4,0,.2,1),visibility 0s .9s}.cover-art{transition:transform 1.2s cubic-bezier(.22,.61,.36,1),filter 1.2s ease}.invitation.opened .paper-flap,.invitation.opened .flap-cast-shadow,.invitation.opened .wax-seal,.invitation.opened .open-hint,.invitation.opened>.invitation-copy,.invitation.opened>footer{opacity:0;visibility:hidden;pointer-events:none}.invitation.opened .second-screen{opacity:1;visibility:visible;transition:opacity 1.1s cubic-bezier(.4,0,.2,1),visibility 0s}.invitation.opened .second-screen>img{transform:scale(1)}.invitation.opened .second-copy{transform:none}
@keyframes arrive{from{opacity:0;transform:translateY(35px) scale(.97)}to{opacity:1;transform:none}}
@keyframes slowFocus{from{transform:scale(1.09);filter:blur(3px)}to{transform:scale(1.015);filter:none}}
@keyframes bob{50%{transform:translateY(6px)}}
@keyframes releaseSeal{0%{transform:translate3d(-50%,-50%,0) scale(1);opacity:1}24%{transform:translate3d(-50%,-53%,0) scale(1.035) rotate(-1deg);opacity:1}100%{transform:translate3d(-47%,-88%,0) scale(.76) rotate(10deg);opacity:0}}
@keyframes liftFlap{0%{transform:translate3d(0,0,0) rotateX(0)}22%{transform:translate3d(0,0,8px) rotateX(24deg)}50%{transform:translate3d(0,-2px,20px) rotateX(82deg)}76%{transform:translate3d(0,-1px,10px) rotateX(143deg)}100%{transform:translate3d(0,0,0) rotateX(179deg)}}
@keyframes shadowLift{0%{transform:translate3d(0,0,0) scale(1);opacity:.65}35%{transform:translate3d(0,-5%,0) scale(.82,.62);opacity:.46}70%{transform:translate3d(0,-18%,0) scale(.5,.25);opacity:.22}100%{transform:translate3d(0,-30%,0) scale(.22,.08);opacity:0}}
@keyframes revealMessage{from{opacity:.18;transform:translateY(34px);filter:blur(6px)}to{opacity:1;transform:none;filter:none}}
@keyframes openFocus{from{transform:scale(1.015);filter:brightness(.8)}to{transform:scale(1.06);filter:brightness(1)}}
@keyframes hintAway{to{opacity:0;transform:translate(-50%,12px)}}
@keyframes footerIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.second-copy h2{margin-top:clamp(.65rem,1.8vh,1.15rem)}
@media(min-width:900px){.invitation{width:min(41vw,540px);height:min(92svh,900px)}.stage:after{content:"18  ·  OUTUBRO  ·  2026";position:absolute;right:4vw;bottom:4vh;font-size:.65rem;letter-spacing:.25em;color:#d8c9b288;writing-mode:vertical-rl}.couple span,.invitation-copy p,footer{font-size:.68rem}}
@media(max-width:480px){.stage{padding:0}.invitation{width:100%;height:100svh;border-radius:0;box-shadow:none}.couple{top:max(28px,env(safe-area-inset-top))}.invitation-copy{top:61%}.wax-seal{top:54%}.open-hint{bottom:12%}footer{bottom:max(24px,env(safe-area-inset-bottom))}}
@media(max-height:650px){.couple{top:22px}.couple h1{font-size:2rem}.embossed-monogram{top:23%;font-size:3.6rem}.wax-seal{top:52%;width:62px}.invitation-copy{top:60%}.invitation-copy h2{font-size:2rem}.open-hint{bottom:10%}}
.paper-flap:before,.paper-flap:after{height:30px;background:rgba(25,20,16,.42);box-shadow:0 5px 12px rgba(20,16,13,.48)}
.embossed-monogram{letter-spacing:-.06em}.embossed-monogram span{margin-left:0}
@media(max-width:480px){.paper-flap:before,.paper-flap:after{width:80%;height:29px}.paper-flap:before{transform:rotate(51deg)}.paper-flap:after{transform:rotate(-51deg)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}
.second-monogram{gap:.06em}
.second-monogram span+span{margin-left:0;transform:translateY(.12em)}
.second-copy h2{margin-top:clamp(1.4rem,3.5vh,2.15rem)}
.second-monogram{gap:0}
.second-monogram span+span{transform:translateY(.08em)}
.second-copy h2{margin-top:clamp(2.1rem,4.8vh,3rem);font-size:clamp(2.35rem,6vh,4.15rem);white-space:nowrap}
@media(max-width:480px){.second-copy{left:2%;right:2%;top:9%}.second-copy p{font-size:.7rem;letter-spacing:.04em;white-space:nowrap}.second-monogram{gap:0}}
.second-monogram span+span{margin-left:-.08em}
.continue-hint{position:absolute;z-index:2;left:50%;bottom:3%;transform:translateX(-50%);font-size:.55rem;letter-spacing:.16em;text-transform:uppercase;color:#fff;white-space:nowrap;text-shadow:0 2px 10px #000;animation:bob 1.8s ease-in-out infinite}
.third-screen{position:absolute;z-index:11;inset:0;opacity:0;visibility:hidden;overflow:hidden;background:#f4ead9;color:#5a4038;transition:opacity 1.1s cubic-bezier(.4,0,.2,1),visibility 0s 1.1s}.third-screen>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.third-content{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;padding:clamp(50px,8vh,78px) 8% 5%;text-align:center;text-shadow:0 1px 8px #fff8}.third-monogram{display:flex;align-items:center;justify-content:center;height:clamp(82px,13vh,118px);font:400 clamp(4.1rem,9.5vh,6rem)/1 'Cormorant Garamond',serif}.third-monogram span+span{margin-left:-.08em;transform:translateY(.1em)}.blessing,.event-label,.place{margin:0;font-size:clamp(.58rem,1.45vh,.72rem);letter-spacing:.07em}.blessing{margin-top:.4rem}.third-content h2{display:flex;flex-direction:column;align-items:center;margin:clamp(.65rem,1.5vh,1.1rem) 0 clamp(1.2rem,3vh,2.1rem);font:400 clamp(3.2rem,7.5vh,4.9rem)/.72 'Great Vibes',cursive}.third-content h2 small{margin:.15em 0;font:400 .46em/1 'Great Vibes',cursive}.event-label{margin-bottom:.7rem}.rule{width:74%;height:1px;background:#9e786f77}.third-content time{display:flex;flex-direction:column;margin:.7rem 0 .65rem;font:400 clamp(1rem,4rem?);font:400 clamp; font-size:clamp(1.5rem,3.7vh,2rem);font-family:'Cormorant Garamond',serif;letter-spacing:.08em}.third-content time strong{margin-top:.15rem;font-size:.66em;font-weight:400;letter-spacing:.04em}.place{margin-top:1rem}.invitation.page-three .third-screen{opacity:1;visibility:visible;transition:opacity 1.1s cubic-bezier(.4,0,.2,1),visibility 0s}.invitation.page-three .second-screen{pointer-events:none}
@media(max-height:680px){.third-content{padding-top:34px}.third-content h2{margin:.35rem 0 .8rem;font-size:2.85rem}.third-monogram{height:70px;font-size:3.8rem}.place{margin-top:.65rem}}
.third-content h2{margin-top:clamp(1.65rem,3.5vh,2.35rem)}
@media(max-height:680px){.third-content h2{margin-top:1.15rem}}
.second-screen{transform-origin:left center;transform-style:preserve-3d;backface-visibility:hidden;will-change:transform;touch-action:none;cursor:grab}.second-screen.dragging{cursor:lify grabbing;transition:none!important}.second-screen:after{content:"";position:absolute;z-index:5;inset:0 0 0 auto;width:24%;background:linear-gradient(90deg,transparent,rgba(35,24,18,.3));opacity:0;pointer-events:none;transition:opacity .25s}.invitation.turning .second-screen:after{opacity:1}.continue-hint b{display:inline-block;margin-left:.55rem;font-size:1rem;animation:pageNudge 1.5s ease-in-out infinite}.third-screen{z-index:9}.invitation.turning .third-screen,.invitation.page-three .third-screen{opacity:1;visibility:visible;transition:opacity .35s ease,visibility 0s}.invitation.page-three .second-screen{transform:rotateY(-178deg);opacity:0;visibility:hidden;transition:transform 1s cubic-bezier(.2,.72,.18,1),opacity .22s .72s,visibility 0s 1s}.invitation.page-three .continue-hint{opacity:0}.invitation.page-three .third-screen{z-index:11}
@keyframes pageNudge{50%{transform:translateX(-7px)}}
.second-screen.dragging{cursor:grabbing}
.open-hint{left:calc(50% + clamp(55px,8vh,72px));top:calc(54% - 18px);bottom:auto;padding:.35rem .55rem;border-radius:1px;background:rgba(249,241,231,.92);box-shadow:0 5px 14px rgba(24,16,11,.28);color:#654a3d;font:500 clamp(.48rem,1.15vh,.6rem)/1 Montserrat,sans-serif;letter-spacing:.04em;text-shadow:none;transform:translateY(-50%) rotate(-7deg)}.open-hint span{position:absolute;left:50%;top:calc(100% + 5px);margin:0;font-size:1.05rem;transform:translateX(-50%) rotate(7deg);animation:tapSeal 1.5s ease-in-out infinite;filter:grayscale(1)}.open-hint:hover{transform:translateY(-50%) rotate(-5deg) scale(1.04)}
@keyframes tapSeal{50%{transform:translate(-58%,-4px) rotate(7deg)}}
@media(max-width:480px){.open-hint{left:calc(50% + 64px);top:calc(54% - 14px)}}
.invitation.page-three .second-screen{transition:transform 1.8s cubic-bezier(.18,.62,.2,1),opacity .35s 1.35s,visibility 0s 1.8s}
.second-copy p{font-size:clamp(.72rem,calc(.62rem + .35vw),.94rem)}
.second-monogram{gap:.11em}
.second-copy h2{margin-top:clamp(1.05rem,2.6vh,1.65rem)}
@media(max-width:480px){.second-monogram{gap:.1em}}
.open-hint{left:calc(50% + clamp(34px,4.5vh,42px));top:54%}
@media(max-width:480px){.open-hint{left:calc(50% + 34px);top:54%}}
.third-screen{transform-origin:left center;transform-style:preserve-3d;backface-visibility:hidden;will-change:transform;touch-action:none;cursor:grab}.third-screen.dragging{cursor:grabbing;transition:none!important}.third-screen:after{content:"";position:absolute;z-index:5;inset:0 0 0 auto;width:24%;background:linear-gradient(90deg,transparent,rgba(46,31,20,.24));opacity:0;pointer-events:none}.third-hint{position:absolute;z-index:6;left:50%;bottom:2.8%;transform:translateX(-50%);color:#765e52;font-size:.55rem;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap}.fourth-screen{position:absolute;z-index:8;inset:0;opacity:0;visibility:hidden;overflow:hidden;background:#213022;color:#fff;transition:opacity .35s ease,visibility 0s .35s}.fourth-screen>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.fourth-screen:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,15,9,.04),rgba(9,13,8,.18))}.action-panel{position:absolute;z-index:2;left:7%;right:7%;bottom:6%;padding:clamp(20px,3vh,30px) 5% clamp(18px,3vh,28px);background:linear-gradient(145deg,rgba(61,52,34,.68),rgba(43,39,28,.76));border:1px solid rgba(255,246,221,.28);backdrop-filter:blur(5px);text-align:center;box-shadow:0 16px 38px rgba(0,0,0,.28)}.action-panel>p{margin:0;font-size:.65rem;letter-spacing:.13em}.action-panel>h2{margin:.25rem 0 1rem;font:400 clamp(2.2rem,5.5vh,3.4rem)/ preencher 'Great Vibes',cursive}.actions{display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(10px,2vh,18px) clamp(14px,4vw,28px)}.action{width:clamp(72px,19%,92px);padding:0;border:0;background:transparent;color:#fff;cursor:pointer}.action>span{display:grid;place-items:center;width:clamp(48px,7vh,62px);aspect-ratio:1;margin:0 auto .4rem;border:1px solid rgba(255,255,255,.78);border-radius:50%;font:400 clamp(1.35rem,3vh,1.8rem)/1 'Cormorant Garamond',serif;transition:transform .25s,background .25s}.action small{display:block;font:400 .57rem/1.2 Montserrat,sans-serif}.action:hover>span{transform:translateY(-3px);background:rgba(255,255,255,.14)}.invitation.turning-four .fourth-screen,.invitation.page-four .fourth-screen{opacity:1;visibility:visible}.invitation.turning-four .third-screen:after{opacity:1}.invitation.page-four .third-screen{transform:rotateY(-178deg);opacity:0;visibility:hidden;transition:transform 1.8s cubic-bezier(.18,.62,.2,1),opacity .35s 1.35s,visibility 0s 1.8s}.invitation.page-four .fourth-screen{z-index:12}.invitation.page-four .third-hint{opacity:0}
@media(max-height:680px){.action-panel{bottom:3%;padding:14px 4%}.action-panel>h2{margin:.1rem 0 .55rem}.actions{gap:8px 18px}.action>span{width:42px}.action small{font-size:.5rem}}
.action-panel>h2{font:400 clamp(2.2rem,5.5vh,3.4rem)/1 'Great Vibes',cursive}
.location-detail{min-height:calc(100svh - 100px)}.location-heading{position:relative;z-index:2}.location-mark{height:52px;margin:-.25rem 0 .1rem;font:400 3rem/1 'Cormorant Garamond',serif;letter-spacing:-.12em}.location-mark span{margin-left:-.08em}.location-detail h2{margin:.1rem 0 .65rem}.location-intro{max-width:310px;margin:.2rem auto 1rem!important;font-size:.93rem!important;line-height:1.4!important}.location-meta{display:grid;grid-template-columns:1fr 1fr;gap:1px;max-width:355px;margin:0 auto;background:rgba(111,84,70,0.28);border:1px solid rgba(111,84,70,0.28)}.location-meta>div{display:flex;flex-direction:column;gap:.18rem;padding:.72rem .45rem;background:rgba(250,245,235,.82)}.location-meta small{font-size:.48rem;letter-spacing:.13em}.location-meta strong{font:500 1.05rem/1.15 'Cormorant Garamond',serif}.location-meta span{font-size:.56rem}.location-link{min-height:38px;margin-top:.8rem;padding:.55rem 1rem;font-size:.57rem}.location-photo{position:absolute;z-index:0;left:0;right:0;bottom:0;height:46%;overflow:hidden;pointer-events:none}.location-photo:before{content:"";position:absolute;z-index:1;inset:-1px 0 0;background:linear-gradient(180deg,#eee2ce 0%,rgba(238,226,206,.94) 9%,rgba(238,226,206,.48) 27%,rgba(238,226,206,0) 52%),linear-gradient(0deg,rgba(51,36,29,.2),transparent 45%)}.location-photo img{width:100%;height:100%;object-fit:cover;object-position:center 42%;filter:sepia(.08) contrast(.96);transform:scale(1.015)}
@media(max-height:680px){.location-detail{min-height:560px}.location-mark{display:none}.location-detail h2{font-size:2.7rem}.location-intro{display:none}.location-meta>div{padding:.55rem .35rem}.location-photo{height:43%}}
.location-detail.active{animation:locationFade .55s .08s both}.location-photo{position:fixed;left:0;right:0;bottom:0;width:100%;height:56%;max-width:none;isolation:isolate}.location-photo:before{inset:-2px 0 0;background:linear-gradient(180deg,#efe3d0 0%,rgba(239,227,208,.98) 8%,rgba(239,227,208,.88) 17%,rgba(239,227,208,.63) 28%,rgba(239,227,208,.3) 40%,rgba(239,227,208,.08) 51%,transparent 64%),linear-gradient(0deg,rgba(43,31,25,.16),transparent 38%)}.location-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 42%;filter:sepia(.06) contrast(.94) brightness(1.02);-webkit-mask-image:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.15) 11%,rgba(0,0,0,.58) 29%,#000 53%);mask-image:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.15) 11%,rgba(0,0,0,.58) 29%,#000 53%)}
@keyframes locationFade{from{opacity:0}to{opacity:1}}
.detail-screen .location-photo{bottom:-6.5%;height:63.5%}
@media(max-height:680px){.location-photo{height:50%}}
.location-meta small{font-size:.58rem}.location-meta strong{font-size:1.28rem}.location-meta span{font-size:.68rem}
.detail-screen .location-photo{position:absolute}
.detail-screen .location-photo{left:-8.15%;right:-8.15%;width:auto;height:57%;background:transparent}.detail-screen .location-photo:before{inset:0;background:linear-gradient(0deg,rgba(40,29,24,.14),transparent 38%)}.detail-screen .location-photo img{width:100%;height:100%;object-fit:cover;object-position:center 43%;filter:contrast(.96) brightness(1.02);-webkit-mask-image:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.04) 10%,rgba(0,0,0,.18) 23%,rgba(0,0,0,.48) 38%,rgba(0,0,0,.78) 52%,#000 68%);mask-image:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.04) 10%,rgba(0,0,0,.18) 23%,rgba(0,0,0,.48) 38%,rgba(0,0,0,.78) 52%,#000 68%)}
.detail-screen .detail-back{min-width:0;width:auto;height:25px;padding:0 9px;border:1px solid rgba(110,85,73,0.65);border-radius:1px;background:transparent;color:#6e5549;font:500 8px/1 Montserrat,sans-serif;letter-spacing:.1em;text-transform:uppercase;transition:background .22s ease,color .22s ease,border-color .22s ease;transform:none}.detail-screen .detail-back:hover,.detail-screen .detail-back:focus-visible{background:#6e5549;border-color:#6e5549;color:#fff;transform:none;outline:none}
.invitation.page-three .second-screen{transition:transform 2.8s cubic-bezier(.16,.58,.18,1),opacity .45s 2.15s,visibility 0s 2.8s}
.invitation.page-four .third-screen{transition:transform 2.8s cubic-bezier(.16,.58,.18,1),opacity .45s 2.15s,visibility 0s 2.8s}
.detail-back{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;min-width:76px;padding:.48rem .7rem;border:1px solid rgba(110,85,73,0.62);border-radius:2px;background:rgba(255,250,241,.28);color:#6e5549;font-size:.68rem;line-height:1;transition:color .25s ease,background .25s ease,border-color .25s ease,transform .25s ease}.detail-back span{font-size:.54rem;letter-spacing:.1em}.detail-back:hover,.detail-back:focus-visible{background:#6e5549;border-color:#6e5549;color:#fff;transform:translateY(-2px);outline:none}
.detail-back{padding:.55rem 1.15rem;border:1px solid currentColor;background:transparent;color:#6e5549;font:500 .62rem/1 Montserrat,sans-serif;letter-spacing:.14em;text-transform:uppercase;transition:background .25s,color .25s}.detail-back:hover{background:#6e5549;color:#f5ead8}.detail-back span{font-size:inherit;letter-spacing:inherit}
.action svg{width:52%;height:52%;fill:none;stroke:currentColor;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round}.detail-screen{position:absolute;z-index:30;inset:0;padding:clamp(58px,8vh,76px) 7% 6%;overflow:auto;background:linear-gradient(rgba(246,237,223,.96),rgba(239,226,207,.98)),url('botanical-paper.png') center/cover;color:#5a4038;opacity:0;visibility:hidden;transform:translateX(6%);transition:opacity .55s ease,transform .55s cubic-bezier(.22,.61,.36,1),visibility 0s .55s}.detail-screen.active{opacity:1;visibility:visible;transform:none;transition:opacity .55s ease,transform .55s cubic-bezier(.22,.61,.36,1),visibility 0s}.detail-back{position:absolute;top:clamp(20px,3vh,30px);left:6%;border:0;background:transparent;color:#6e5549;font-size:1.2rem;cursor:pointer}.detail-back span{font-size:.65rem;letter-spacing:.12em;text-transform:uppercase}.detail-panel{display:none;max-width:390px;margin:0 auto;text-align:center}.detail-panel.active{display:block;animation:detailIn .55s .08s both}.detail-panel .eyebrow{margin:0;font-size:.62rem;letter-spacing:.22em}.detail-panel h2{margin:.4rem 0 1.4rem;font:400 clamp(3rem,7vh,4.4rem)/1 'Great Vibes',cursive}.detail-panel>p:not(.eyebrow){font:400 1rem/1.65 'Cormorant Garamond',serif}.primary-link{display:inline-flex;justify-content:center;align-items:center;min-height:46px;margin-top:1.1rem;padding:.75rem 1.2rem;border:1px solid var(--forest);background:var(--forest);color:#fff;text-decoration:none;font-size:.65rem;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}.info-card{display:flex;flex-direction:column;gap:.45rem;margin:1.5rem auto 0;padding:1.2rem;border:1px solid rgba(143,117,103,0.4);background:#fff6}.info-card strong{font:400 1.5rem 'Cormorant Garamond',serif}.info-card span{font-size:.72rem;line-height:1.5}#rsvp-form{display:grid;gap:1rem;text-align:left}#rsvp-form label{display:grid;gap:.4rem;font-size:.62rem;letter-spacing:.1em;text-transform:uppercase}#rsvp-form input,#rsvp-form select{width:100%;padding:.85rem;border:0;border-bottom:1px solid #745849;background:#fff8;color:#4d3931;font:400 .9rem Montserrat,sans-serif;outline:none}#rsvp-form .primary-link{width:100%;margin-top:.25rem}#rsvp-status{display:block;min-height:1.2rem;text-align:center;font-size:.72rem;color:#486248}.guest-guide{display:grid;gap:.8rem;margin:0;padding:0;list-style:none;text-align:left}.guest-guide li{display:grid;gap:.2rem;padding:1rem;border-bottom:1px solid rgba(143,117,103,0.3333)}.guest-guide strong{font:400 1.2rem 'Cormorant Garamond',serif}.guest-guide span{font-size:.7rem;line-height:1.45}@keyframes detailIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.action-panel{left:8%;right:8%;bottom:7%;padding:clamp(22px,3.4vh,32px) 5% clamp(20px,3.2vh,29px);background:linear-gradient(145deg,rgba(61,52,34,.68),rgba(43,39,28,.76));border:1px solid rgba(255,250,233,.34);backdrop-filter:blur(9px) saturate(.85);box-shadow:0 20px 48px rgba(12,10,6,.3),inset 0 1px rgba(255,255,255,.12)}.action-panel>p{font-size:.61rem;letter-spacing:.2em;color:rgba(255,255,255,.88)}.action-panel>h2{margin:.35rem 0 1.35rem;font-size:clamp(2.25rem,5.2vh,3.2rem);font-weight:400}.actions{gap:clamp(16px,2.4vh,23px) clamp(16px,4.5vw,30px)}.action{width:clamp(76px,20%,96px)}.action>span{width:clamp(52px,7.2vh,64px);border-color:rgba(255,255,255,.7);background:rgba(255,255,255,.025);box-shadow:inset 0 0 0 1px rgba(255,255,255,.04)}.action svg{width:46%;height:46%;fill:none;stroke:currentColor;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round}.action small{font-size:clamp(.52rem,1.22vh,.62rem);line-height:1.28;color:rgba(255,255,255,.9)}.action:hover>span,.action:focus-visible>span{transform:translateY(-3px);background:rgba(255,255,255,.12);border-color:#fff}.action:focus-visible{outline:0}.action:focus-visible small{color:#fff}
@media(max-width:480px){.action-panel{left:6%;right:6%;bottom:5%}.actions{column-gap:clamp(12px,5vw,22px)}}
.rsvp-detail{min-height:calc(100svh - 100px)}.rsvp-detail.active{animation:rsvpFade .55s .08s both}.rsvp-heading{position:relative;z-index:2}.rsvp-mark{height:42px;margin:-.2rem 0 0;font:400 2.7rem/1 'Cormorant Garamond',serif;letter-spacing:-.12em}.rsvp-mark span{margin-left:-.08em}.rsvp-detail h2{margin:.05rem 0 .25rem;font-size:clamp(2.65rem,6vh,3.7rem)}.rsvp-intro{margin:.1rem auto .7rem!important;font-size:.87rem!important;line-height:1.35!important}#rsvp-form{max-width:355px;margin:0 auto;gap:.62rem}#rsvp-form label{gap:.27rem;color:#6a5045;font-size:.56rem;letter-spacing:.13em}#rsvp-form label>span:first-child{padding-left:.15rem}#rsvp-form input,#rsvp-form select{height:40px;padding:.65rem .75rem;border:1px solid rgba(116,88,73,0.38);border-radius:0;background:rgba(255,251,244,.72);box-shadow:inset 0 1px rgba(255,255,255,.55);font-size:.76rem;transition:border-color .22s,background .22s,box-shadow .22s}#rsvp-form input:focus,#rsvp-form select:focus{border-color:#765b4e;background:rgba(255,253,248,.94);box-shadow:0 0 0 3px rgba(118,91,78,0.09);outline:none}.select-wrap{position:relative;display:block}.select-wrap:after{content:"";position:absolute;right:13px;top:50%;width:7px;height:7px;border-right:1px solid #765b4e;border-bottom:1px solid #765b4e;transform:translateY(-68%) rotate(45deg);pointer-events:none}.select-wrap select{appearance:none;-webkit-appearance:none;padding-right:36px;cursor:pointer}.rsvp-submit{min-height:39px!important;margin-top:.12rem!important;padding:.55rem 1rem!important;font-size:.56rem!important;border-radius:0}#rsvp-status{min-height:1rem;font-size:.62rem}.rsvp-photo{position:absolute;z-index:0;left:-8.15%;right:-8.15%;bottom:-6.5%;height:42%;overflow:hidden;pointer-events:none}.rsvp-photo:before{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(0deg,rgba(48,34,32,.12),transparent 34%)}.rsvp-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 43%;filter:contrast(.96) brightness(1.025);-webkit-mask-image:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.06) 12%,rgba(0,0,0,.26) 28%,rgba(0,0,0,.62) 46%,#000 69%);mask-image:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.06) 12%,rgba(0,0,0,.26) 28%,rgba(0,0,0,.62) 46%,#000 69%)}
@keyframes rsvpFade{from{opacity:0}to{opacity:1}}
@media(max-height:680px){.rsvp-detail{min-height:560px}.rsvp-mark,.rsvp-intro{display:none}.rsvp-detail h2{font-size:2.5rem}.rsvp-photo{height:36%}#rsvp-form{gap:.45rem}#rsvp-form input,#rsvp-form select{height:36px}}
.detail-screen:has(.rsvp-detail.active){overflow:hidden}.rsvp-detail{min-height:0;height:100%}.rsvp-detail h2{margin-top:.35rem}.rsvp-photo{bottom:-6.5%;height:49%}
@media(max-height:680px){.rsvp-detail{min-height:0;height:100%}.rsvp-photo{height:42%}}
.detail-screen:has(.dress-detail.active),.detail-screen:has(.guide-detail.active){overflow:hidden}.dress-detail,.guide-detail{min-height:0;height:100%}.dress-detail.active,.guide-detail.active{animation:detailPhotoFade .55s .08s both}.dress-heading,.guide-heading{position:relative;z-index:2}.detail-mark{height:42px;margin:-.15rem 0 0;font:400 2.7rem/1 'Cormorant Garamond',serif;letter-spacing:-.12em}.detail-mark span{margin-left:-.08em}.dress-detail h2,.guide-detail h2{margin:.05rem 0 .35rem;font-size:clamp(2.65rem,6vh,3.7rem)}.detail-intro{max-width:330px;margin:.1rem auto .65rem!important;font-size:.85rem!important;line-height:1.35!important}.dress-card{display:flex;flex-direction:column;gap:.22rem;max-width:350px;margin:0 auto;padding:.7rem 1rem;border:1px solid rgba(116,88,73,0.34);background:rgba(255,251,244,.72)}.dress-card strong{font:500 1.2rem 'Cormorant Garamond',serif}.dress-card span{font-size:.59rem;line-height:1.4}.palette{display:flex;justify-content:center;gap:.55rem;margin:.7rem 0 .45rem}.palette i{width:21px;height:21px;border:3px solid rgba(255,255,255,.65);border-radius:50%;background:var(--tone);box-shadow:0 0 0 1px rgba(80,59,49,0.25)}.dress-note{margin:0;font-size:.56rem;letter-spacing:.04em}.detail-photo{position:absolute;z-index:0;left:-8.15%;right:-8.15%;bottom:-6.5%;height:40%;overflow:hidden;pointer-events:none}.detail-photo:before{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(0deg,rgba(43,31,28,.13),transparent 35%)}.detail-photo img{display:block;width:100%;height:100%;object-fit:cover;filter:contrast(.96) brightness(1.025);-webkit-mask-image:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.06) 12%,rgba(0,0,0,.27) 29%,rgba(0,0,0,.65) 48%,#000 70%);mask-image:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.06) 12%,rgba(0,0,0,.27) 29%,rgba(0,0,0,.65) 48%,#000 70%)}.dress-photo img{object-position:center 38%}.guide-photo{height:39%}.guide-photo img{object-position:center 43%}.guide-detail .guest-guide{max-width:355px;margin:.45rem auto 0;gap:0}.guide-detail .guest-guide li{grid-template-columns:30px 1fr;align-items:center;gap:.65rem;padding:.52rem .25rem}.guide-detail .guest-guide b{font:400 1rem 'Cormorant Garamond',serif;color:#9c7d6d}.guide-detail .guest-guide div{display:grid;gap:.03rem}.guide-detail .guest-guide strong{font-size:1.05rem}.guide-detail .guest-guide span{font-size:.6rem;line-height:1.3}@keyframes detailPhotoFade{from{opacity:0}to{opacity:1}}
@media(max-height:680px){.detail-mark,.detail-intro{display:none}.dress-detail h2,.guide-detail h2{font-size:2.45rem}.dress-card{padding:.5rem .8rem}.detail-photo{height:34%}.guide-detail .guest-guide li{padding:.35rem .2rem}}
.dress-photo{height:61%}.guide-photo{height:59%}.detail-photo img{-webkit-mask-image:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.18) 8%,rgba(0,0,0,.46) 19%,rgba(0,0,0,.76) 31%,#000 48%);mask-image:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.18) 8%,rgba(0,0,0,.46) 19%,rgba(0,0,0,.76) 31%,#000 48%)}.dress-photo img{object-position:center 34%}.guide-photo img{object-position:center 37%}
@media(max-height:680px){.dress-photo{height:56%}.guide-photo{height:55%}}
.fourth-screen>img{transform:scale(1.025);animation:venueBreath 12s ease-in-out infinite alternate;will-change:transform,filter}.venue-leaves{position:absolute;z-index:1;inset:-1.5%;background:url('venue-lights.png') center/cover no-repeat;pointer-events:none;will-change:transform}.venue-leaves-left{clip-path:polygon(0 0,37% 0,33% 26%,26% 45%,0 53%);transform-origin:8% 18%;animation:leavesLeft 5.8s ease-in-out infinite alternate;-webkit-mask-image:radial-gradient(ellipse at 9% 25%,#000 0 42%,transparent 69%);mask-image:radial-gradient(ellipse at 9% 25%,#000 0 42%,transparent 69%)}.venue-leaves-right{clip-path:polygon(68% 0,100% 0,100% 58%,76% 46%,70% 24%);transform-origin:93% 20%;animation:leavesRight 6.6s ease-in-out .7s infinite alternate;-webkit-mask-image:radial-gradient(ellipse at 92% 27%,#000 0 40%,transparent 70%);mask-image:radial-gradient(ellipse at 92% 27%,#000 0 40%,transparent 70%)}.venue-light-glow{position:absolute;z-index:2;inset:0;pointer-events:none;background:radial-gradient(circle at 13% 16%,rgba(255,190,74,.3) 0 1.2%,transparent 4.5%),radial-gradient(circle at 52% 14%,rgba(255,183,62,.24) 0 1%,transparent 4%),radial-gradient(circle at 80% 20%,rgba(255,194,82,.28) 0 1.3%,transparent 4.8%),radial-gradient(circle at 42% 31%,rgba(255,179,53,.22) 0 1%,transparent 4%),radial-gradient(circle at 67% 35%,rgba(255,190,68,.25) 0 1.1%,transparent 4.2%);mix-blend-mode:screen;animation:lanternFlicker 4.7s ease-in-out infinite;will-change:opacity,filter}.action-panel{z-index:3}
@keyframes venueBreath{0%{transform:scale(1.025) translate3d(0,0,0);filter:brightness(.98) saturate(1)}100%{transform:scale(1.065) translate3d(-.35%,-.45%,0);filter:brightness(1.035) saturate(1.035)}}
@keyframes leavesLeft{0%{transform:rotate(-.18deg) translate3d(0,0,0)}45%{transform:rotate(.28deg) translate3d(.18%,-.08%,0)}100%{transform:rotate(-.08deg) translate3d(-.12%,.12%,0)}}
@keyframes leavesRight{0%{transform:rotate(.2deg) translate3d(0,0,0)}52%{transform:rotate(-.3deg) translate3d(-.15%,-.1%,0)}100%{transform:rotate(.1deg) translate3d(.1%,.14%,0)}}
@keyframes lanternFlicker{0%,100%{opacity:.58;filter:brightness(.9)}18%{opacity:.82;filter:brightness(1.08)}37%{opacity:.67;filter:brightness(.97)}62%{opacity:.94;filter:brightness(1.16)}79%{opacity:.72;filter:brightness(1)}}
@media(prefers-reduced-motion:reduce){.fourth-screen>img,.venue-leaves,.venue-light-glow{animation:none!important}}
.fourth-screen>img{animation:none;transform:none;filter:none}.venue-leaves,.venue-light-glow{display:none}
