@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=DM+Sans:wght@300;400;500&display=swap');
:root{--paper:#F7F1E9;--ink:#542333;--sage:#7B8170;--gold:#B68A55;--cream:#E8D9D2;--burgundy:#70263D;--rose:#C58F96;--taupe:#85766F}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;font-weight:300;text-align:center}.cover{position:fixed;inset:0;z-index:10;background:linear-gradient(#F7F1E9ed,#F7F1E9f2),url('assets/paper-texture.svg') center/cover;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:25px;transition:transform 1.1s cubic-bezier(.7,0,.2,1),opacity .8s}.cover.hide{transform:translateY(-105%);opacity:0;pointer-events:none}.cover-flower{width:150px;height:110px;background:url('assets/botanical.svg') center/contain no-repeat;opacity:.8;margin-bottom:10px}.eyebrow,.small-caps{font-size:10px;letter-spacing:3px;font-weight:500}.cover h1,.names{font:500 clamp(48px,10vw,78px)/.95 'Cormorant Garamond',serif;margin:20px 0}.cover h1 i,.names em{color:var(--gold);font-weight:400}.thin-rule{width:70px;height:1px;background:var(--gold);margin:16px}.cover-date,.date{font-size:11px;letter-spacing:3px}.to{font-size:12px;line-height:1.8;margin:35px 0 20px}.open-btn,.solid-btn{border:0;background:var(--ink);color:#fff;padding:14px 25px;letter-spacing:1px;font:400 11px 'DM Sans';cursor:pointer}.open-btn span{margin-left:14px}.cover-note{font-size:9px;letter-spacing:1px;margin-top:25px;color:#85766F}.topbar{height:58px;display:flex;align-items:center;justify-content:space-between;padding:0 7%;border-bottom:1px solid #B68A5566}.topbar span{font:italic 22px 'Cormorant Garamond'}.topbar i{color:var(--gold)}.topbar button{background:none;border:1px solid #B68A55;border-radius:50%;width:34px;height:34px;color:var(--ink);cursor:pointer}section{position:relative;overflow:hidden;padding:85px 22px}.hero{min-height:690px;padding-top:90px}.botanical-left{position:absolute;left:-90px;top:100px;width:230px;opacity:.5;transform:rotate(35deg)}.intro,.body-copy{max-width:440px;margin:20px auto;font:italic 18px/1.7 'Cormorant Garamond';color:#75645F}.date{margin:35px 0}.photo-frame{width:min(76vw,340px);height:420px;margin:35px auto 25px;padding:10px;border:1px solid #C8A978;transform:rotate(-2deg)}.photo-placeholder{height:100%;background:url('assets/couple-cartoon.jpg') center 35%/cover no-repeat;color:transparent}.quote{background:#EFE3DF}.divider-art{width:110px;height:45px;object-fit:contain;margin-bottom:25px}.quote h3{font:italic 30px/1.2 'Cormorant Garamond';font-weight:500}.couple{margin:45px auto}.couple h2,.event-card h3{font:500 34px 'Cormorant Garamond';margin:8px}.couple p{font-size:11px;color:#85766F}.couple b{display:block;font:italic 32px 'Cormorant Garamond';color:var(--gold);margin:18px}.event{background:#E7E5DC}.section-title{font:500 46px 'Cormorant Garamond';margin:10px 0 30px}.countdown{display:flex;justify-content:center;gap:clamp(12px,5vw,38px);margin:30px auto 42px}.countdown div{display:flex;flex-direction:column;gap:8px}.countdown b{font:500 36px 'Cormorant Garamond'}.countdown span{font-size:8px;letter-spacing:2px}.event-card,.bank-card{max-width:420px;margin:auto;background:#FBF7F1;padding:35px 24px;border:1px solid #D6C6B9;box-shadow:0 12px 35px #5423331A}.event-icon{font-size:28px;color:var(--gold)}.event-card p{font-size:12px;line-height:1.8}.event-card hr{width:45px;border:0;border-top:1px solid var(--gold);margin:25px auto}.venue{margin:25px 0!important}.outline-btn{display:inline-block;background:transparent;border:1px solid var(--sage);color:var(--ink);padding:12px 20px;text-decoration:none;font-size:10px;letter-spacing:1px;cursor:pointer}.gallery-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;max-width:540px;margin:35px auto}.g-photo{height:220px;background-image:url('assets/couple-cartoon.jpg');background-size:cover;background-position:center 28%;border:1px solid #D6C6B9}.g-two{margin-top:35px;background-position:38% 42%;}.g-three{grid-column:1/3;height:170px;background-position:center 58%;}.story{background:#EFE3DF}.timeline{max-width:430px;margin:35px auto;text-align:left;border-left:1px solid var(--gold);padding-left:25px}.timeline div{position:relative;margin:28px 0}.timeline div:before{content:'✦';position:absolute;left:-31px;color:var(--gold)}.timeline b{font:500 22px 'Cormorant Garamond'}.timeline p{font-size:12px;line-height:1.7;color:#756B62}.rsvp-form{max-width:380px;margin:30px auto;display:grid;gap:12px}.rsvp-form input,.rsvp-form select{padding:14px;border:1px solid #D8C9BE;background:#FCF9F4;color:var(--ink);font:12px 'DM Sans';border-radius:0}.rsvp-form input[type=number]{width:100%}.bank-card{margin-top:30px}.bank-card span{font-size:9px;letter-spacing:3px}.bank-card h3{font:500 30px 'Cormorant Garamond';margin:15px}.bank-card p{font-size:20px;letter-spacing:2px}.bank-card b{display:block;font-size:11px;margin-bottom:22px}.closing{background:#E7E5DC}.closing-leaf{width:140px;opacity:.7;margin-bottom:20px}.closing .names{font-size:60px}footer{padding:25px;font-size:9px;letter-spacing:2px;color:#756B62}.reveal{opacity:0;transform:translateY(25px);transition:opacity .9s ease,transform .9s ease}.reveal.visible{opacity:1;transform:none}@media(min-width:700px){section{padding:110px 30px}.hero{min-height:800px}.photo-frame{height:500px}.gallery-grid{grid-template-columns:repeat(3,1fr)}.g-photo,.g-three{height:250px;grid-column:auto}.g-two{margin-top:0}}

/* BURGUNDY ROMANTIC BOTANICAL — LUXURY FINISH */
:root{--paper:#F7F1E9;--ink:#542333;--sage:#7B8170;--gold:#B68A55;--cream:#E8D9D2;--burgundy:#70263D;--rose:#C58F96;--taupe:#85766F}
body{background:var(--paper);color:var(--ink);background-image:radial-gradient(ellipse at 10% 15%,#c58f9614,transparent 35%),radial-gradient(ellipse at 90% 80%,#7b817014,transparent 38%)}
.cover{background:linear-gradient(135deg,#f7f1e9f7,#f0e4dfef),url('assets/paper-texture.svg') center/cover}
.cover:before,.cover:after{content:"";position:absolute;inset:16px;border:1px solid #b68a5577;pointer-events:none}
.cover:after{inset:22px;border-color:#70263d2b}
.cover h1{color:var(--burgundy);text-shadow:0 3px 18px #70263d12}
.cover-flower{filter:sepia(.18) saturate(1.25)}
.eyebrow,.small-caps{color:var(--burgundy);letter-spacing:3.5px}
.cover-date,.date{color:#8d6844}
.open-btn,.solid-btn{background:linear-gradient(135deg,#70263d,#542333);border:1px solid #b68a55;box-shadow:0 8px 22px #54233325;transition:transform .25s,box-shadow .25s}
.open-btn:hover,.solid-btn:hover{transform:translateY(-2px);box-shadow:0 12px 26px #54233330}
.topbar{background:#f7f1e9cc;backdrop-filter:blur(10px);border-bottom:1px solid #b68a5544}
.topbar span{color:var(--burgundy);font-size:25px}
.topbar button{border-color:var(--gold);color:var(--burgundy)}
section{isolation:isolate}
.hero{background:linear-gradient(180deg,#f7f1e9,#f3eae4)}
.hero:before,.quote:before,.event:before,.gallery:before,.story:before,.rsvp:before,.gift:before,.closing:before{content:"";position:absolute;inset:13px;border:1px solid #b68a5530;pointer-events:none;z-index:-1}
.hero:after{content:"";position:absolute;width:260px;height:260px;border:1px solid #b68a5544;border-radius:50%;top:155px;left:50%;transform:translateX(-50%);z-index:-1}
.names{color:var(--burgundy);text-shadow:0 5px 20px #70263d12}
.names em,.cover h1 i{color:var(--gold)}
.intro,.body-copy{color:#75645f}
.photo-frame{border:1px solid var(--gold);background:#fffaf4;padding:9px;box-shadow:0 18px 45px #5423331a;transform:rotate(-1deg);position:relative}
.photo-frame:before{content:"";position:absolute;inset:4px;border:1px solid #c58f9680;pointer-events:none;z-index:1}
.photo-placeholder{background-image:linear-gradient(#54233312,#54233312),url('assets/couple-cartoon.jpg');background-size:cover;background-position:center 30%;color:transparent}
.quote,.story{background:linear-gradient(145deg,#f0e4df,#f7f1e9)}
.quote h3,.couple h2,.event-card h3,.timeline b{color:var(--burgundy)}
.couple b,.event-icon{color:var(--gold)}
.event{background:linear-gradient(145deg,#e9e6df,#f3eae4)}
.section-title{color:var(--burgundy)}
.countdown{gap:clamp(9px,4vw,30px);padding:18px 12px;border:1px solid #b68a5577;border-radius:18px;background:#fbf7f1b8;max-width:470px;box-shadow:0 8px 25px #5423330b}
.countdown b{color:var(--burgundy);font-size:40px}
.countdown span{color:#8d6844}
.event-card,.bank-card{background:linear-gradient(145deg,#fffaf4,#f4ece5);border:1px solid #b68a55;box-shadow:0 18px 42px #54233318;position:relative}
.event-card:before,.bank-card:before{content:"";position:absolute;inset:7px;border:1px solid #c58f9655;pointer-events:none}
.event-card h3{font-size:37px}
.outline-btn{border-color:var(--burgundy);color:var(--burgundy);transition:.25s}
.outline-btn:hover{background:var(--burgundy);color:#fff}
.gallery{background:#f7f1e9}
.g-photo{border:5px solid #fffaf4;outline:1px solid #b68a55;background-image:linear-gradient(#70263d1c,#70263d1c),url('assets/couple-cartoon.jpg');background-size:cover;background-position:center;box-shadow:0 12px 25px #54233318;color:transparent}
.g-two{background-position:65% center}.g-three{background-position:35% center}
.timeline{border-left:1px solid var(--gold)}
.timeline div:before{color:var(--burgundy)}
.rsvp-form input,.rsvp-form select{background:#fffaf4;border:1px solid #cdb9ad;color:var(--ink);border-radius:3px}
.bank-card h3{color:var(--burgundy);font:500 34px 'Cormorant Garamond'}
.bank-card p{color:var(--burgundy)}
.closing{background:linear-gradient(145deg,#eee1dc,#f7f1e9)}
.closing .names{color:var(--burgundy)}
footer{background:#542333;color:#f7f1e9;letter-spacing:2px}
.reveal{transform:translateY(30px) scale(.99);filter:blur(2px)}
.reveal.visible{transform:none;filter:none}
.petal{position:fixed;top:-30px;z-index:8;pointer-events:none;color:#a34c63;opacity:.55;animation:petalFall linear forwards;text-shadow:0 2px 5px #70263d20}
@keyframes petalFall{0%{transform:translate3d(0,-5vh,0) rotate(0deg);opacity:0}10%{opacity:.65}100%{transform:translate3d(var(--drift),110vh,0) rotate(520deg);opacity:0}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
@media(min-width:700px){.photo-frame{max-width:360px}.event-card{padding:45px 35px}}

/* CINEMATIC BURGUNDY ENVELOPE OPENING */
.cover{overflow:hidden}
.envelope-stage{position:relative;width:min(78vw,310px);height:205px;margin:0 auto 16px;perspective:1000px;filter:drop-shadow(0 16px 22px #54233325)}
.envelope-card{position:absolute;z-index:1;left:13%;top:3%;width:74%;height:88%;background:linear-gradient(145deg,#fffaf4,#eee0d8);border:1px solid #b68a55;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;color:#70263d;box-shadow:0 4px 12px #54233312;transition:transform 1.1s cubic-bezier(.2,.8,.2,1),top 1.1s,opacity .7s}
.envelope-card span,.envelope-card small{font:9px 'DM Sans';letter-spacing:2.5px}
.envelope-card b{font:italic 29px 'Cormorant Garamond';font-weight:500}
.envelope-card i{color:#b68a55}
.envelope{position:absolute;z-index:2;inset:24px 0 0;height:170px;transform-style:preserve-3d}
.envelope-back{position:absolute;inset:0;background:#8b344d;border:1px solid #b68a55}
.envelope-pocket{position:absolute;inset:0;background:linear-gradient(145deg,#70263d,#542333);clip-path:polygon(0 0,50% 57%,100% 0,100% 100%,0 100%);border:1px solid #b68a55}
.envelope-flap{position:absolute;inset:0;background:linear-gradient(145deg,#87364f,#69253b);clip-path:polygon(0 0,100% 0,50% 62%);transform-origin:top center;transition:transform .95s cubic-bezier(.4,0,.2,1);backface-visibility:hidden;filter:drop-shadow(0 4px 3px #38101f30)}
.wax-seal{position:absolute;z-index:4;left:50%;top:47%;width:55px;height:55px;transform:translate(-50%,-50%);border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 35% 30%,#c66a7d,#70263d 70%);border:2px solid #c79b60;box-shadow:0 3px 9px #32101d70,inset 0 0 0 3px #8d4053;color:#f7e8cf;font:italic 18px 'Cormorant Garamond';transition:opacity .45s,transform .55s}
.wax-seal i{color:#e5c58f}
.cover.opening .envelope-flap{transform:rotateX(180deg)}
.cover.opening .wax-seal{opacity:0;transform:translate(-50%,-50%) scale(1.7) rotate(18deg)}
.cover.opening .envelope-card{top:-38%;transform:translateY(-55px) scale(1.03);opacity:0}
.cover.opening .envelope{transform:translateY(35px);transition:transform .8s .25s}
.cover.opening .eyebrow,.cover.opening h1,.cover.opening .thin-rule,.cover.opening .cover-date,.cover.opening .to,.cover.opening .cover-note,.cover.opening .open-btn{opacity:0;transition:opacity .3s}
.open-btn{position:relative;z-index:5}
@media(max-height:760px){.envelope-stage{height:160px;width:min(70vw,260px)}.envelope{height:135px;top:18px}.cover-flower{display:none}.cover h1{font-size:52px;margin:12px 0}.to{margin:18px 0 12px}}

/* CINEMATIC SCROLL + BOTANICAL DETAILS */
html{scroll-behavior:smooth;scroll-padding-top:58px}
.scroll-progress{position:fixed;z-index:20;top:0;left:0;width:0;height:3px;background:linear-gradient(90deg,#70263d,#b68a55,#c58f96);box-shadow:0 1px 8px #70263d44}
section{position:relative}
section:not(.hero):after{content:"✧  ❧  ✧";display:block;position:absolute;bottom:18px;left:50%;transform:translateX(-50%);color:#b68a55;font:16px 'Cormorant Garamond';letter-spacing:8px;opacity:.65;pointer-events:none}
section:nth-of-type(even):before{border-color:#b68a5544}
.botanical{filter:sepia(.22) saturate(1.2);animation:botanicalSway 9s ease-in-out infinite alternate;transform-origin:bottom center}
@keyframes botanicalSway{from{rotate:-2deg}to{rotate:2deg}}
.divider-art{filter:sepia(.25) saturate(1.25);animation:dividerFloat 5s ease-in-out infinite}
@keyframes dividerFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
.event-card,.bank-card,.photo-frame,.g-photo{transition:transform .65s cubic-bezier(.2,.8,.2,1),box-shadow .65s}
.event-card:hover,.bank-card:hover{transform:translateY(-5px);box-shadow:0 22px 48px #54233322}
.g-photo:hover{transform:translateY(-5px) rotate(.6deg);box-shadow:0 18px 32px #54233325}
.gallery-grid .g-photo:nth-child(2){transition-delay:.12s}
.gallery-grid .g-photo:nth-child(3){transition-delay:.22s}
.section-title{position:relative}
.section-title:after{content:"";display:block;width:44px;height:1px;background:#b68a55;margin:13px auto 0}
.event-card .event-icon{display:inline-block;animation:softBloom 4s ease-in-out infinite}
@keyframes softBloom{0%,100%{transform:scale(1) rotate(-4deg)}50%{transform:scale(1.12) rotate(4deg)}}
@media(prefers-reduced-motion:reduce){.botanical,.divider-art,.event-icon{animation:none!important}.event-card,.bank-card,.photo-frame,.g-photo{transition:none!important}}

/* FULL-PAGE LUXURY FLORAL FRAME + SOFT 3D DEPTH */
body{background:radial-gradient(ellipse at 50% 18%,#fffaf5 0%,#f7eee8 58%,#ead9d3 100%);}
body:before,body:after{content:"";position:fixed;z-index:0;top:0;bottom:0;width:clamp(76px,19vw,230px);pointer-events:none;background-repeat:repeat-y;background-size:100% auto;opacity:.82;filter:drop-shadow(0 8px 12px #54233325);transform-style:preserve-3d;}
body:before{left:0;background-image:url('assets/floral-left.png');background-position:left top;animation:floralFloatLeft 13s ease-in-out infinite alternate;}
body:after{right:0;background-image:url('assets/floral-right.png');background-position:right top;animation:floralFloatRight 15s ease-in-out infinite alternate;}
.topbar,main,footer{position:relative;z-index:1;}
section{isolation:isolate;background-color:#f7f1e9d9;backdrop-filter:blur(1.5px);}
section:nth-of-type(even){background-color:#f0e4dfd9;}
section:before{content:"";position:absolute;inset:10px 8px;z-index:-1;pointer-events:none;border:1px solid #b68a5555;box-shadow:inset 0 0 34px #b68a5510;}
section:after{content:"✧  ❧  ✧";text-shadow:0 2px 7px #b68a5555;}
.hero, .quote, .event, .gallery, .story, .rsvp, .gift, .closing{background-image:radial-gradient(ellipse at 8% 8%,#c58f9620,transparent 35%),radial-gradient(ellipse at 92% 92%,#70263d18,transparent 34%);}
.event-card,.bank-card,.photo-frame,.g-photo,.countdown div{transform-style:preserve-3d;box-shadow:0 14px 32px #54233320,0 3px 0 #b68a5544;}
.event-card,.bank-card{background:linear-gradient(145deg,#fffaf5f5,#f1e4dcf5);}
.botanical-left,.closing-leaf,.divider-art{filter:drop-shadow(0 9px 7px #54233320);}
.petal{z-index:9;filter:drop-shadow(0 5px 4px #70263d30);transform-style:preserve-3d;}
@keyframes floralFloatLeft{0%{transform:perspective(900px) rotateY(-5deg) translate3d(-5px,0,0)}100%{transform:perspective(900px) rotateY(3deg) translate3d(5px,-14px,18px)}}
@keyframes floralFloatRight{0%{transform:perspective(900px) rotateY(5deg) translate3d(5px,-8px,0)}100%{transform:perspective(900px) rotateY(-3deg) translate3d(-5px,8px,18px)}}
@media(max-width:520px){body:before,body:after{width:clamp(58px,17vw,92px);opacity:.68}section{padding-left:28px;padding-right:28px}.photo-frame{position:relative;z-index:1}}
@media(prefers-reduced-motion:reduce){body:before,body:after{animation:none!important}}

/* ORNATE CARTOUCHE FRAMES — replaces plain rectangular borders throughout.
   Page order, copy, links and interaction scripts remain unchanged. */
:root{--ornate-gold:#bd925b;--ornate-light:#e8c995;--ornate-ink:#70263d}
/* A matching ornamental frame is used on every major content panel. */
.section:before{
  inset:4px 3px!important;border:0!important;box-shadow:none!important;
  background:url('assets/ornate-frame.svg') center/100% 100% no-repeat!important;
  opacity:.95;z-index:-1;pointer-events:none;
}
.section:after{content:""!important;display:none!important}
.countdown,.event-card,.bank-card,.photo-frame,.g-photo,.timeline div{
  position:relative;isolation:isolate;border:0!important;outline:0!important;
  border-radius:0!important;background-clip:padding-box;
  background-color:#fff8f0;
  box-shadow:none!important;
}
.countdown,.event-card,.bank-card,.photo-frame,.timeline div{
  background-image:linear-gradient(145deg,#fffaf5f2,#f2e3daf2),url('assets/ornate-frame.svg');
  background-size:100% 100%;background-repeat:no-repeat;
}
.countdown{padding:34px 24px 38px!important;}
.countdown:before{content:"❧  ✧  ❀  ✧  ❧"!important;top:7px!important;background:transparent!important;color:#a9773f!important;font-size:17px!important;letter-spacing:5px!important}
.countdown:after{content:"❧  ❦  ❧"!important;bottom:5px!important;background:transparent!important;color:#a9773f!important}
.countdown div{border:0!important;border-radius:0!important;background:linear-gradient(145deg,#fffaf4,#f1dfd5)!important;box-shadow:inset 0 0 0 1px #bd925b88, inset 0 0 0 4px #fff9f0!important;padding:14px 6px!important}
.countdown div:before,.countdown div:after{color:#bd925b!important}
.event-card,.bank-card{padding:54px 34px!important;background-color:transparent!important}
.event-card:before,.bank-card:before{inset:0!important;border:0!important;border-radius:0!important;background:url('assets/ornate-frame.svg') center/100% 100% no-repeat!important;z-index:-1!important}
.event-card:after,.bank-card:after{content:"❧  ✧  ❧"!important;background:transparent!important;color:#a9773f!important;top:12px!important}
.photo-frame{padding:22px!important;background-color:transparent!important;transform:none!important}
.photo-frame:before{inset:0!important;border:0!important;border-radius:0!important;background:url('assets/ornate-frame.svg') center/100% 100% no-repeat!important;z-index:2!important}
.photo-placeholder{border-radius:0!important}
.g-photo{border:0!important;outline:0!important;padding:13px!important;background-image:url('assets/ornate-frame.svg'),linear-gradient(145deg,#fffaf4,#f2e4dc)!important;background-size:100% 100%,cover!important;background-repeat:no-repeat!important;box-shadow:none!important}
.g-photo:after{content:"❀"!important;top:14px!important;right:17px!important;color:#e8c995!important}
.timeline{border:0!important;padding-left:0!important}
.timeline div{padding:34px 28px!important;margin:24px 0!important;background-color:transparent!important}
.timeline div:before{left:-10px!important;top:50%!important;transform:translateY(-50%);border:1px solid #bd925b!important;background:#fff7ef!important;color:#76263f!important}
.outline-btn{border-radius:2px!important;border:1px solid #bd925b!important;background:linear-gradient(145deg,#fffaf4,#f2e4dc)!important;box-shadow:inset 0 0 0 3px #fff8ef,0 5px 12px #54233312!important}
@media(max-width:520px){.event-card,.bank-card{padding:45px 27px!important}.countdown{padding:30px 15px!important}.photo-frame{padding:17px!important}.timeline div{padding:29px 23px!important}}


/* COVER RESTORE — rich floral envelope stage */
.cover{
  isolation:isolate; overflow:hidden;
  background:radial-gradient(ellipse at 50% 48%,#fffaf3 0%,#f5e8df 62%,#ead5ce 100%),url('assets/paper-texture.svg') center/cover;
}
.cover:before,.cover:after{content:"";position:absolute;z-index:-1;top:-2%;bottom:-2%;width:clamp(145px,38vw,310px);pointer-events:none;background-repeat:no-repeat;background-size:100% 100%;opacity:.98;filter:drop-shadow(0 10px 14px #54233335);}
.cover:before{left:-3%;background-image:url('assets/floral-left.png');background-position:left center;}
.cover:after{right:-3%;background-image:url('assets/floral-right.png');background-position:right center;}
.cover .envelope-stage{z-index:1;width:min(82vw,340px);height:220px;margin:5px auto 20px;filter:drop-shadow(0 20px 24px #54233338);}
.cover .envelope-card{background:linear-gradient(145deg,#fffdf8,#f1e2d8);border:1px solid #bd925b;box-shadow:inset 0 0 0 5px #fff9f0,inset 0 0 0 6px #bd925b88,0 8px 22px #54233320;}
.cover .envelope-back{background:linear-gradient(145deg,#fffaf2,#ead8c9);border:1.5px solid #bd925b;box-shadow:inset 0 0 0 5px #fff8ed;}
.cover .envelope-pocket{background:linear-gradient(145deg,#fffaf2,#e9d6c8);border:1px solid #bd925b;filter:drop-shadow(0 3px 3px #54233322);}
.cover .envelope-flap{background:linear-gradient(145deg,#fffdf8,#e8d4c4);filter:drop-shadow(0 5px 4px #54233328);}
.cover .wax-seal{width:62px;height:62px;background:radial-gradient(circle at 35% 30%,#c66a7d,#70263d 72%);border:2px solid #d9b77e;box-shadow:0 4px 12px #32101d70,inset 0 0 0 4px #8d4053;}
.cover .eyebrow,.cover h1,.cover .thin-rule,.cover .cover-date,.cover .to,.cover .cover-note,.cover .open-btn{position:relative;z-index:2;text-shadow:0 1px 0 #fff8f0;}
.cover .open-btn{z-index:5;}
@media(max-width:520px){.cover:before,.cover:after{width:39vw;opacity:.92}.cover .envelope-stage{height:190px;width:min(84vw,310px);}}
@media(max-height:760px){.cover:before,.cover:after{opacity:.58}.cover .envelope-stage{height:160px;width:min(70vw,260px);}}

/* FINAL COVER FIX: use the exact floral-envelope artwork as the cover layer.
   Keep a real transparent button over the artwork so the original JS still works. */
.cover{
  position:fixed!important; inset:0!important; display:block!important;
  padding:0!important; overflow:hidden!important; isolation:isolate!important;
  background:#f7e8e1 url('assets/cover-art.png') center center / 100% 100% no-repeat!important;
}
.cover:before,.cover:after{content:none!important;display:none!important}
.cover > *{visibility:hidden!important;}
.cover .open-btn{
  visibility:visible!important; position:absolute!important; z-index:20!important;
  left:27%!important; top:73.4%!important; width:46%!important; height:7.8%!important;
  margin:0!important; padding:0!important; border:0!important; border-radius:0!important;
  background:transparent!important; color:transparent!important; box-shadow:none!important;
  font-size:0!important; text-shadow:none!important; cursor:pointer!important;
}
.cover .open-btn span{display:none!important}
.cover.opening{background-image:url('assets/cover-art.png')!important}
@media(max-aspect-ratio: 3/5){
 .cover .open-btn{left:25%!important;width:50%!important;top:73.2%!important;height:8.2%!important}
}
