:root{--paper:#f3eee5;--ink:#241d19;--wine:#561e2a;--muted:#74665d;--line:#cfc1b0}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Georgia,'Times New Roman',serif;font-size:17px;line-height:1.65}img{max-width:100%;display:block}a{color:inherit}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{outline-offset:5px}::selection{background:#561e2a;color:#fff}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:400;line-height:1.08}.eyebrow,.kicker{font:12px/1.6 Arial,sans-serif;letter-spacing:.23em;text-transform:uppercase}.section{padding:100px max(7vw,24px)}.title{font-size:clamp(40px,5vw,68px);letter-spacing:-.035em;margin:16px 0 38px}.nav{position:absolute;z-index:10;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:20px 5vw;color:#fff9ed;background:linear-gradient(#1d121780,transparent)}.nav a{text-decoration:none}.brand{font-size:25px;letter-spacing:.1em}.links{display:flex;gap:25px;font:12px Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase}.links a{padding:10px 0;border-bottom:1px solid transparent}.links a:hover{border-color:currentColor}.hero{height:100svh;min-height:620px;max-height:1050px;position:relative;overflow:hidden;border:12px solid var(--wine);background:#201b16}.hero>img{height:100%;width:100%;object-fit:cover;object-position:center 43%;filter:brightness(.67) saturate(.7);animation:hero-arrive 2s ease-out both}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(#1f101522,transparent 35%,#160d1155);pointer-events:none}.heroText{position:absolute;z-index:2;inset:0;display:grid;place-content:center;text-align:center;color:#fbf5ea;padding:70px 6vw}.hero h1{font-size:clamp(64px,10vw,146px);letter-spacing:-.05em;line-height:.86;margin:32px 0}.hero h1 i{font-weight:400}.hero .date{font:12px/2 Arial,sans-serif;letter-spacing:.15em;max-width:560px;margin:auto}.heroText>div,.hero h1{animation:text-arrive 1.3s .25s both}.intro{background:var(--wine);padding:70px 3vw}.book-spread{position:relative;max-width:1160px;margin:auto;aspect-ratio:1.5}.book-art{width:100%;height:100%;object-fit:contain}.book-copy{position:absolute;left:12%;top:25%;width:30%;color:#352a22}.book-copy p{font-size:clamp(16px,1.65vw,21px);line-height:1.7;margin:22px 0}.book-copy .sign{font:12px/2 Arial,sans-serif;letter-spacing:.16em;margin-top:30px;color:var(--wine)}.book-cover{position:absolute;left:58%;top:21%;width:30%;height:62%;display:flex;flex-direction:column;align-items:center;justify-content:center}.story-logo{width:90px;height:108px;object-fit:contain;mix-blend-mode:multiply}.locket{width:260px;max-height:60%;object-fit:contain;mix-blend-mode:multiply}.book-cover .eyebrow{color:var(--wine)}.countWrap{padding:70px 6vw 80px;text-align:center;background:#f7f3ec}.countCard{max-width:900px;margin:auto}.flourish{display:flex;align-items:center;justify-content:center;gap:25px;color:#9a8176;font-size:47px;line-height:1.4}.flourish:before,.flourish:after{content:'';height:1px;width:140px;background:linear-gradient(90deg,transparent,#b9a89d)}.flourish:after{transform:rotate(180deg)}.bottom{transform:rotate(180deg);margin-top:18px}.countCard h2{font-family:'URW Chancery L','Apple Chancery','Brush Script MT',Georgia,serif;font-style:italic;font-size:clamp(37px,5.5vw,70px);margin:18px 0 36px;letter-spacing:-.04em;color:var(--wine)}.digits{display:flex;justify-content:center;gap:40px}.digit{position:relative;min-width:90px}.digit:not(:last-child):after{content:':';position:absolute;right:-26px;top:-4px;font-size:46px;color:#a38b7b}.digit b{font-size:clamp(40px,5vw,65px);font-weight:400;line-height:1.1;font-variant-numeric:tabular-nums}.digit span{display:block;font-size:12px;letter-spacing:.09em;margin-top:10px}.countDate{font:12px Arial,sans-serif;letter-spacing:.2em;margin-top:35px;color:var(--muted)}.celebrations{display:grid;grid-template-columns:1fr 1fr}.event{padding:90px 7vw;display:flex;align-items:flex-start;flex-direction:column;border-top:1px solid var(--line)}.event.trad{background:var(--wine);color:#fff4e6;border:0}.num{font:12px Arial,sans-serif;letter-spacing:.16em}.event h3{font-size:clamp(48px,5.5vw,77px);letter-spacing:-.045em;margin:42px 0 25px}.event p{margin-bottom:28px}.button{display:inline-block;border:1px solid currentColor;padding:15px 24px;background:transparent;color:inherit;text-decoration:none;font:12px/1.6 Arial,sans-serif;text-transform:uppercase;letter-spacing:.14em;cursor:pointer;transition:background .2s,color .2s}.event .button{margin-top:auto}.button:hover{background:var(--wine);color:var(--paper)}.trad .button:hover{background:var(--paper);color:var(--wine)}.visual{position:relative;overflow:hidden;background:#211f1a}.swans{display:grid;grid-template-columns:1fr 1fr;background:#e4ded2}.swans img{width:100%;height:auto;align-self:center;filter:sepia(.2) saturate(.7)}.swans blockquote{margin:0;padding:60px 6vw;font-size:clamp(33px,4.5vw,66px);line-height:1.25;font-style:italic;color:var(--wine);align-self:center}.dress{display:grid;grid-template-columns:1fr 1fr;gap:70px}.dress>div{display:grid;grid-template-rows:24px 150px 1fr 100px 45px;gap:18px;min-width:0}.dress .eyebrow{color:var(--wine)}.dress .title{font-size:clamp(34px,4.1vw,58px);margin:0}.dress p{margin:0;line-height:1.8}.palette{display:flex;gap:5px;margin:0;align-self:end}.swatch{height:85px;flex:1}.neutral .swatch:nth-child(1){background:#d9c9b0}.neutral .swatch:nth-child(2){background:#c3b39d}.neutral .swatch:nth-child(3){background:#9e8c78}.neutral .swatch:nth-child(4){background:#54463b}.winepal .swatch:nth-child(1){background:#54212c}.winepal .swatch:nth-child(2){background:#8b3842}.winepal .swatch:nth-child(3){background:#a95032}.winepal .swatch:nth-child(4){background:#c17751}.dress small{font:12px/1.7 Arial,sans-serif;letter-spacing:.1em}.flowers{height:430px}.flowers img{width:100%;height:100%;object-fit:cover;object-position:center 47%;filter:sepia(.15) saturate(.6)}.travel{background:#211e1a;color:#f5eee5}.travelGrid{display:grid;grid-template-columns:1fr 1fr;gap:60px}.city{border-top:1px solid #766759;padding-top:30px;display:flex;flex-direction:column;min-width:0}.city h3{font-size:32px;min-height:75px;margin:0 0 20px}.city p{color:#d0c5b8;line-height:1.8}.hotelList{list-style:none;padding:0;margin:0 0 28px}.hotelList li{border-top:1px solid #ffffff20;padding:12px 0}.hotelList a{text-decoration:none}.hotelList a:hover{text-decoration:underline}.map{height:300px;flex-shrink:0;margin-top:auto;padding-top:20px}.map iframe{width:100%;height:100%;border:0;filter:grayscale(1)}.rsvp{text-align:center;border-top:8px solid var(--wine)}.rsvp>p{max-width:660px;margin:0 auto 24px}.rsvp .eyebrow,.rsvp .title{color:var(--wine)}.draft-note{font:14px/1.6 Arial,sans-serif;color:var(--muted)}.form{max-width:900px;margin:45px auto 0;text-align:left;display:grid;grid-template-columns:1fr 1fr;gap:32px}.field{display:flex;flex-direction:column;gap:9px}.full{grid-column:1/-1}label,legend{font:13px/1.5 Arial,sans-serif;letter-spacing:.09em;text-transform:uppercase}input,select,textarea{min-width:0;border:0;border-bottom:1px solid #ad9988;background:transparent;padding:12px 2px;font:17px Georgia,serif;border-radius:0;color:var(--ink)}input:focus,textarea:focus,select:focus{outline:2px solid #885a62;outline-offset:4px}textarea{min-height:80px;resize:vertical}fieldset{border:1px solid var(--line);padding:20px;margin:0;min-width:0}legend{padding:0 7px;font-size:12px}.choice{font:16px/1.6 Georgia,serif;letter-spacing:0;text-transform:none;display:flex;align-items:center;gap:10px;cursor:pointer}.choice input{accent-color:var(--wine);width:17px;height:17px}.form-policy{font-size:15px;color:var(--muted);margin:0}.form button{background:var(--wine);color:#fff5e8;min-height:54px}.form button:hover{background:#37121c}#rsvp-result{margin:10px 0 0;padding:18px;border-left:3px solid var(--wine);background:#e9dfd2}.faq{max-width:900px;margin:auto}.faq .eyebrow{color:var(--wine)}.faq details{border-top:1px solid var(--line);padding:24px 0}.faq summary{cursor:pointer;font-size:21px}.faq p{color:var(--muted);margin:15px 0 0}.verseVisual{position:relative;min-height:830px;height:100svh;max-height:1100px;background:#211f1a}.verseVisual>.bg{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center 45%;filter:sepia(.1) saturate(.55) brightness(.55)}.verseOverlay{position:absolute;inset:0;padding:110px 10vw 75px;display:flex;flex-direction:column;align-items:center;justify-content:space-between;color:#fff5e8;text-align:center}.verseOverlay .verse{font-size:clamp(32px,4.8vw,66px);max-width:850px;line-height:1.4;font-style:italic;margin:50px 0}.verseOverlay small{font:12px/1.8 Arial,sans-serif;letter-spacing:.22em}.footer{background:var(--wine);color:#f9eee0;padding:45px 24px;display:flex;flex-direction:column;align-items:center;gap:25px;font:12px Arial,sans-serif;letter-spacing:.2em}.footer img{width:75px;height:90px;object-fit:contain}.reveal{transition:opacity .8s ease,transform .8s ease}.reveal.pending{opacity:0;transform:translateY(22px)}@keyframes hero-arrive{from{transform:scale(1.05)}to{transform:scale(1)}}@keyframes text-arrive{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:900px){.book-copy{top:20%;width:32%;left:11%}.book-copy p{font-size:16px;line-height:1.5;margin:14px 0}.book-copy .sign{margin-top:15px}.story-logo{width:60px;height:70px}.dress{gap:35px}.dress>div{grid-template-rows:24px 125px 1fr 100px 50px}.city h3{font-size:28px}.links{gap:15px}}
@media(max-width:700px){.nav{padding:20px 7vw}.links{gap:18px}.links a{font-size:12px}.links a:first-child,.links a:nth-child(3),.links a:last-child{display:none}.brand{font-size:20px}.hero{border-width:6px;min-height:580px}.hero h1{font-size:clamp(67px,18vw,108px);margin:28px 0}.hero .date{font-size:12px;max-width:285px;line-height:2}.section{padding:65px 7vw}.intro{padding:35px 4vw 55px}.book-spread{aspect-ratio:auto;display:flex;flex-direction:column}.book-art{height:auto}.book-copy{position:static;width:auto;background:#f3eee5;padding:35px 26px;order:2;margin:10px 5% 0}.book-copy p{font-size:18px;line-height:1.75}.book-copy .sign{margin-top:23px}.book-cover{left:58%;top:3.5vw;width:30%;height:47vw;justify-content:center}.book-cover .locket{width:100%;max-height:55%}.story-logo{width:40px;height:48px}.book-cover .eyebrow{font-size:10px;letter-spacing:.07em}.countWrap{padding:55px 6vw}.countCard h2{font-size:39px}.digits{gap:25px}.digit{min-width:48px}.digit b{font-size:40px}.digit:not(:last-child):after{right:-17px;top:-3px;font-size:31px}.digit span{font-size:10px;letter-spacing:.04em}.flourish{font-size:38px}.flourish:before,.flourish:after{width:85px}.celebrations,.dress,.travelGrid{grid-template-columns:1fr}.event{padding:65px 8vw}.event h3{font-size:61px}.swans{grid-template-columns:1fr}.swans img{width:100%;height:auto}.swans blockquote{padding:45px 7vw;text-align:center;font-size:42px}.dress{gap:65px}.dress>div{grid-template-rows:auto auto auto auto auto;gap:22px}.dress .title{font-size:43px}.swatch{height:75px}.flowers{height:300px}.city h3{min-height:0}.travelGrid{gap:50px}.map{margin-top:20px;height:280px}.form{grid-template-columns:1fr;gap:25px}.full{grid-column:auto}.verseVisual{height:90svh;min-height:680px}.verseOverlay{padding:75px 8vw 55px}.verseOverlay .verse{font-size:35px;line-height:1.5}.footer img{width:60px;height:73px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal.pending{opacity:1;transform:none}}

.book-mobile-title{display:none}@media(max-width:700px){.book-mobile-title{display:block;position:absolute;left:10%;top:16vw;width:33%;text-align:center;color:var(--wine);font-size:clamp(20px,6vw,32px);line-height:1.1}.book-mobile-title span{display:block;margin-top:15px;font:8px/1.6 Arial,sans-serif;letter-spacing:.12em}}

/* Third refinement: full portrait and a separate invitation panel. */
.nav{position:relative;background:var(--wine);justify-content:center;padding:21px 5vw}.links{justify-content:center;flex-wrap:wrap}
.hero{display:grid;grid-template-columns:1fr 1fr;height:auto;min-height:0;max-height:none;background:var(--wine);border:12px solid var(--wine)}
.hero>img{grid-column:2;grid-row:1;width:100%;height:auto;aspect-ratio:1003/1569;object-fit:contain;filter:brightness(.94) saturate(.78);animation:portrait-arrive 1.7s ease-out both}
.hero:after{display:none}.heroText{position:relative;inset:auto;grid-column:1;grid-row:1;padding:60px 5vw;align-content:center;justify-items:center;background:var(--wine)}
.hero h1{font-size:clamp(52px,6.5vw,100px);margin:30px 0 38px}.hero .date{font-size:12px;max-width:340px}.opening-logo{width:125px;height:150px;object-fit:contain;margin:0 auto 34px}
.book-art{clip-path:polygon(4.6% 9%,46.7% 8.7%,47.4% 7.9%,52.7% 8%,53.4% 8.8%,95.3% 8.7%,95.5% 90.6%,53.4% 91%,52.7% 91.5%,47.5% 91.5%,46.7% 91%,4.6% 90.8%)}
.book-cover{left:54%;width:39%;top:15%;height:71%;justify-content:center;gap:8px}.book-cover .locket{width:100%;max-height:88%;object-fit:contain}.book-cover .eyebrow{margin-top:4px}
.verseVisual{width:calc(100% - 10vw);max-width:1240px;height:78svh;min-height:610px;max-height:830px;margin:0 auto 65px}.verseOverlay{padding:70px 8vw;justify-content:center;gap:42px}.verseOverlay .verse{font-size:clamp(31px,4.1vw,57px);max-width:780px;margin:0;line-height:1.45}
.reveal{transition:opacity 1s ease,transform 1.15s cubic-bezier(.2,.65,.3,1);transition-delay:var(--reveal-delay,0ms)}.reveal.pending{opacity:0;transform:translateY(46px)}
@keyframes portrait-arrive{from{opacity:.25;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:900px){.heroText{padding:40px 4vw}.opening-logo{width:95px;height:114px;margin-bottom:25px}.hero h1{font-size:clamp(45px,6.5vw,65px)}}
@media(max-width:700px){.nav{padding:17px 6vw}.hero{display:flex;flex-direction:column;border-width:7px}.hero>img{order:0;width:100%;height:auto;aspect-ratio:1003/1569;object-fit:contain}.heroText{order:1;width:100%;padding:44px 7vw 55px}.opening-logo{width:100px;height:120px;margin-bottom:24px}.hero h1{font-size:68px;margin:25px 0 30px}.hero .date{max-width:300px}.book-cover{left:54%;width:39%;top:8vw;height:44vw;gap:0}.book-cover .locket{max-height:88%;width:100%}.book-cover .eyebrow{font-size:9px}.verseVisual{width:calc(100% - 32px);height:74svh;min-height:530px;margin-bottom:35px}.verseOverlay{padding:50px 7vw;gap:35px}.verseOverlay .verse{font-size:31px;line-height:1.5}}
@media(prefers-reduced-motion:reduce){.hero>img{animation:none}.reveal{transition:none}.reveal.pending{opacity:1;transform:none}}

/* Fourth refinement: restore the photograph with centred overlay. */
.nav{position:absolute;top:0;left:0;right:0;z-index:10;background:linear-gradient(#1d121780,transparent);padding:24px 5vw}
.hero{display:block;position:relative;height:112svh;min-height:740px;max-height:1250px;overflow:hidden}
.hero>img{display:block;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:center 43%;filter:brightness(.67) saturate(.7);animation:hero-arrive 2s ease-out both}
.hero:after{display:block;content:'';position:absolute;inset:0;background:linear-gradient(#1f101522,transparent 35%,#160d1155);pointer-events:none}
.heroText{position:absolute;inset:0;z-index:2;display:grid;place-content:center;justify-items:center;padding:90px 6vw 60px;background:transparent;width:auto}
.hero h1{font-size:clamp(64px,10vw,146px);line-height:.86;margin:30px 0 36px}.hero .date{max-width:560px}
.opening-logo{width:82px;height:98px;object-fit:contain;margin:0 auto 23px}
.book-cover .locket{transform:translateX(-3%)}
.verseVisual{width:100%;max-width:none;margin:0}
.roses-banner{width:100%;height:310px}.roses-banner img{object-position:center 47%}
@media(max-width:700px){.nav{padding:20px 7vw}.hero{height:112svh;min-height:700px;max-height:1100px;display:block}.hero>img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:center 43%}.heroText{position:absolute;inset:0;width:auto;padding:85px 7vw 55px}.hero h1{font-size:clamp(67px,18vw,108px);margin:28px 0}.opening-logo{width:70px;height:84px;margin-bottom:22px}.hero .date{max-width:285px;font-size:12px;line-height:2}.verseVisual{width:100%;max-width:none;margin:0}.roses-banner{height:235px}}
@media(prefers-reduced-motion:reduce){.hero>img{animation:none}}

/* Fifth refinement: DI-only mark, editorial title and invitation details. */
.hero h1{font-family:Didot,"Bodoni 72","Bodoni MT","Times New Roman",serif;font-weight:400;text-transform:uppercase;letter-spacing:-.025em;line-height:.78}
.hero h1 i{font-family:"Apple Chancery","URW Chancery L",Georgia,serif;text-transform:none;font-size:.72em;font-weight:400}
.opening-logo{object-fit:contain}
.book-cover .locket{transform:translateX(3.5%)}
.venue-address{font-style:italic;border-left:1px solid #9b8776;padding-left:16px}
.rsvp{padding-top:85px;padding-bottom:85px;background:#ebe2d6}
.rsvp-card{position:relative;max-width:1100px;margin:auto;padding:105px 105px 95px;background:var(--paper);border:72px solid transparent;border-image-source:url("assets/rsvp-border.png");border-image-slice:150;border-image-width:72px;border-image-repeat:stretch}
.rsvp-card>.eyebrow,.rsvp-card>.title,.rsvp-card>p{text-align:center}
.seal-detail{width:130px;height:130px;object-fit:cover;border-radius:50%;margin:-25px auto 28px;box-shadow:0 12px 30px #563b2c22;transform:rotate(-4deg)}
.rsvp-card .form{margin-top:45px}
@media(max-width:700px){.hero h1{letter-spacing:-.04em;line-height:.82}.book-cover .locket{transform:translateX(3.5%)}.rsvp{padding:45px 12px}.rsvp-card{padding:72px 30px 62px;border-width:42px;border-image-slice:150;border-image-width:42px}.seal-detail{width:104px;height:104px;margin:-12px auto 22px}}

/* RSVP envelope: the invitation opens and rises from a sealed ivory envelope. */
.rsvp{overflow:hidden;padding:95px max(3vw,18px) 120px;background:var(--wine);border-top:0;color:#fff7ec}
.rsvp-intro{position:relative;z-index:8;text-align:center;max-width:680px;margin:0 auto 48px}
.rsvp-intro .eyebrow,.rsvp-intro .title{color:#fff7ec}
.rsvp-intro .title{margin-bottom:20px}
.rsvp-intro p{margin:0}
.rsvp-stage{max-width:980px;margin:auto;perspective:1500px}
.envelope{position:relative;min-height:520px;isolation:isolate}
.envelope-back{position:absolute;z-index:1;left:4%;right:4%;top:0;height:500px;background:#e9dfcf;border:1px solid #cdbfa9;box-shadow:0 35px 85px #21070f66,inset 0 0 0 1px #fff7e866}
.envelope-back:after{content:'';position:absolute;inset:0;background:radial-gradient(circle at 28% 22%,#fff9ec88 0 1px,transparent 2px),linear-gradient(105deg,transparent 0 45%,#b9aa9524 46%,transparent 47%);background-size:11px 13px,100% 100%;opacity:.28}
.envelope-flap{position:absolute;z-index:5;left:4%;right:4%;top:0;height:325px;background:linear-gradient(155deg,#f1e9db 0%,#ded0bc 100%);clip-path:polygon(0 0,100% 0,50% 100%);transform-origin:50% 0;backface-visibility:hidden;transition:transform 1s cubic-bezier(.22,.8,.24,1),opacity .45s 1.2s;filter:drop-shadow(0 10px 11px #4a25302e)}
.envelope-pocket{position:absolute;z-index:4;left:4%;right:4%;top:188px;height:312px;background:linear-gradient(145deg,#e1d4c1 0 49.6%,transparent 50%),linear-gradient(215deg,#eee6d8 0 49.6%,transparent 50%),linear-gradient(#e8ddca,#dfd0bc);border:1px solid #cdbfa9;clip-path:polygon(0 0,50% 43%,100% 0,100% 100%,0 100%);transition:transform .8s 1.1s ease,opacity .55s 1.25s ease}
.invitation-reveal{position:relative;z-index:2;width:min(800px,88%);margin:0 auto;opacity:0;transform:translateY(235px) scale(.96);clip-path:inset(0 0 92% 0);transition:transform 1.25s .72s cubic-bezier(.18,.8,.24,1),opacity .45s .72s,clip-path 1.2s .72s cubic-bezier(.18,.8,.24,1)}
.rsvp-card{position:relative;max-width:none;margin:0;padding:145px 112px 135px;background:#f3eee5 url("assets/rsvp-frame.png") center/100% 100% no-repeat;border:0;color:var(--ink);box-shadow:0 26px 70px #2809124d;text-align:center}
.rsvp-card:after{content:'';position:absolute;inset:4.6%;border:1px solid #c9bbaa55;pointer-events:none}
.rsvp-card>.eyebrow,.rsvp-card>.title,.rsvp-card>p{position:relative;z-index:1;text-align:center}
.rsvp-card .title{font-size:clamp(48px,7vw,78px);margin:14px 0 28px;color:var(--wine)}
.rsvp-card .form{position:relative;z-index:1;margin-top:45px}
.seal-button{position:absolute;z-index:7;left:50%;top:205px;display:flex;flex-direction:column;align-items:center;gap:8px;width:155px;padding:0;border:0;background:transparent;color:#4b232d;transform:translateX(-50%);cursor:pointer;transition:opacity .35s,transform .45s}
.seal-button img{width:122px;height:122px;object-fit:contain;filter:drop-shadow(0 11px 16px #55354038);transition:transform .4s ease}
.seal-button span{padding:7px 12px;background:#eee5d6e6;font:11px/1.2 Arial,sans-serif;letter-spacing:.17em;text-transform:uppercase;white-space:nowrap}
.seal-button:hover img,.seal-button:focus-visible img{transform:rotate(-5deg) scale(1.05)}
.envelope.is-open .envelope-flap{transform:rotateX(180deg);opacity:0}
.envelope.is-open .invitation-reveal{z-index:6;opacity:1;transform:translateY(0) scale(1);clip-path:inset(0)}
.envelope.is-open .envelope-pocket{opacity:0;transform:translateY(100px)}
.envelope.is-open .envelope-back{opacity:0;transition:opacity .45s 1.25s}
.envelope.is-open .seal-button{opacity:0;pointer-events:none;transform:translateX(-50%) scale(.8)}

@media(max-width:700px){.rsvp{padding:70px 10px 80px}.rsvp-intro{padding:0 18px;margin-bottom:34px}.rsvp-intro .title{font-size:48px}.envelope{min-height:330px}.envelope-back{left:2%;right:2%;height:310px}.envelope-flap{left:2%;right:2%;height:205px}.envelope-pocket{left:2%;right:2%;top:118px;height:192px}.seal-button{top:123px;width:118px}.seal-button img{width:88px;height:88px}.seal-button span{font-size:10px}.invitation-reveal{width:96%;transform:translateY(145px) scale(.96)}.rsvp-card{padding:100px 46px 95px}.rsvp-card .title{font-size:52px}.rsvp-card .form{margin-top:34px}}
@media(max-width:430px){.rsvp-card{padding:88px 34px 82px}.rsvp-card>.eyebrow{font-size:10px}.rsvp-card>p{font-size:16px}.draft-note{font-size:13px}}
@media(prefers-reduced-motion:reduce){.envelope{min-height:0}.envelope-back,.envelope-flap,.envelope-pocket,.seal-button{display:none}.invitation-reveal{width:min(800px,100%);opacity:1;transform:none;clip-path:none}.rsvp-card{box-shadow:none}}

/* RSVP refinement: retain the envelope, then let a clean invitation fill the page. */
.rsvp{padding-left:0;padding-right:0}
.rsvp-stage{width:100%;max-width:none}
.envelope-back,.envelope-flap,.envelope-pocket{left:50%;right:auto;width:min(900px,calc(100% - 36px));transform:translateX(-50%)}
.invitation-reveal{width:min(800px,88vw);transition:width 1.15s .72s cubic-bezier(.18,.8,.24,1),transform 1.25s .72s cubic-bezier(.18,.8,.24,1),opacity .45s .72s,clip-path 1.2s .72s cubic-bezier(.18,.8,.24,1)}
.rsvp-card{padding:110px max(8vw,46px) 120px;background:var(--paper);box-shadow:none}
.rsvp-card:after{display:none}
.rsvp-card>p{max-width:780px;margin-left:auto;margin-right:auto}
.rsvp-card .form{width:100%;max-width:1120px}
.envelope.is-open .invitation-reveal{width:100%}
.envelope.is-open .envelope-pocket{transform:translateX(-50%) translateY(100px)}

@media(max-width:700px){.envelope-back,.envelope-flap,.envelope-pocket{left:50%;right:auto;width:calc(100% - 20px)}.invitation-reveal{width:calc(100% - 20px)}.rsvp-card{padding:82px 7vw 90px}.envelope.is-open .invitation-reveal{width:100%}}
@media(prefers-reduced-motion:reduce){.invitation-reveal{width:100%}}
