@import url('https://fonts.googleapis.com/css2?family=Great+Vibes&display=swap');
.premium-card,.envelope-screen{--premium-ink:#764b36;--premium-accent:#ae7354;position:relative;width:100%;max-width:620px;margin:0 auto;background:#faf1e5 url('premium-paper.webp') center/100% 100% no-repeat;color:var(--premium-ink);border:1px solid #d8c3a5;box-shadow:0 16px 40px #56391d18;text-align:center;font-family:Georgia,serif;border-radius:6px;overflow:hidden;overflow-wrap:anywhere}.premium-card.ivory,.envelope-screen.ivory{--premium-accent:#957548;--premium-ink:#60452f}.premium-inner{padding:40px 32px}.premium-card[hidden]{display:none!important}.premium-photo{height:300px;width:100%;margin:0 auto 20px;overflow:hidden}.premium-photo img{width:100%;height:100%;object-fit:cover;display:block}.premium-photo.soft{mask-image:linear-gradient(to bottom,#000 75%,transparent),linear-gradient(to right,transparent,#000 8%,#000 92%,transparent);mask-composite:intersect;-webkit-mask-image:linear-gradient(to bottom,#000 75%,transparent),linear-gradient(to right,transparent,#000 8%,#000 92%,transparent);-webkit-mask-composite:source-in}.premium-photo.oval{width:75%;height:290px;border-radius:50%;border:3px double #b49467}.premium-monogram{width:180px;height:180px;margin:20px auto 35px;border:3px double #c3a777;border-radius:50%;display:grid;place-content:center;font:62px 'Great Vibes',cursive;background:#fff9efaa;box-shadow:0 0 0 9px #f8f0e466}.premium-name{font:clamp(38px,6vw,60px)/1.3 'Great Vibes',Georgia,serif;margin:18px 0;color:var(--premium-ink);overflow-wrap:anywhere}.premium-intro{font:19px/1.6 Georgia,serif}.premium-divider{display:flex;gap:12px;align-items:center;justify-content:center;color:#b38b58;margin:20px auto;width:60%}.premium-divider:before,.premium-divider:after{content:'';height:1px;background:#c9aa7d;flex:1}.premium-date{font-size:23px}.premium-message{white-space:pre-line;line-height:1.8;font-size:16px;max-width:420px;margin:25px auto}.premium-people,.premium-locations{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:26px 0}.premium-people>div:only-child{grid-column:1/-1}.premium-people p{margin:8px 0}.premium-label{font-size:13px;letter-spacing:1.5px;text-transform:uppercase;color:#895d3f}.premium-location{min-width:0}.premium-location img{width:100%;height:145px;object-fit:contain}.premium-location h3{font:19px/1.5 Georgia,serif;margin:10px 0}.premium-location p{font-size:15px;line-height:1.6}.premium-location a{display:inline-block;min-height:44px;padding:10px 0;text-decoration:underline;text-underline-offset:4px;font-size:14px}.premium-rsvp{border:3px double #e3c8a0;border-radius:30px;padding:13px 25px;background:linear-gradient(#b98366,#936043);color:#fffaf1;font:17px Georgia,serif;box-shadow:0 4px 10px #60361725;max-width:100%;min-height:48px}.premium-deadline{font-size:14px;line-height:1.6}.premium-options{border:1px solid var(--line);border-radius:8px;margin:20px 0;padding:16px;display:grid;gap:14px}.photo-sliders{display:grid;gap:12px;margin-top:20px}.photo-sliders input{padding:0;min-height:32px;accent-color:#875347}.envelope-screen{padding:60px 30px 48px;min-height:640px}.envelope-title{font:46px/1.2 'Great Vibes',Georgia,serif;margin:15px 0 40px}.envelope-screen h2{font:34px/1.3 'Great Vibes',Georgia,serif;margin:24px 0 10px}.envelope-hint{font:14px/1.6 Georgia,serif;margin-top:22px}.envelope-button{position:relative;display:block;width:100%;height:260px;margin:0 auto;border:0;background:transparent;perspective:1000px;isolation:isolate;filter:drop-shadow(0 10px 10px #51361a25);padding:0}.envelope-back,.envelope-front,.envelope-flap,.envelope-letter,.envelope-ribbon,.envelope-seal{position:absolute;display:block}.envelope-back{inset:0;background:#e8d9bf;border:1px solid #caba9f}.envelope-letter{inset:10px 15px;background:#fff9ec;display:grid;place-content:center;font:27px 'Great Vibes',Georgia,serif;color:#7d593b;transition:transform .8s .4s}.envelope-front{inset:0;background:linear-gradient(145deg,#fef7ea,#e6d7bb);clip-path:polygon(0 0,50% 55%,100% 0,100% 100%,0 100%);z-index:3}.envelope-flap{inset:0;background:linear-gradient(#fff9ef,#e8dac2);clip-path:polygon(0 0,100% 0,50% 58%);transform-origin:top;transition:transform .8s ease;z-index:4;backface-visibility:hidden}.envelope-ribbon{top:49%;left:0;width:100%;height:35px;background:linear-gradient(#e6b8a7,#f9e2d6 45%,#cb9987);transform:rotate(-4deg);z-index:5;transition:opacity .3s}.ivory .envelope-ribbon{background:linear-gradient(#c1a37b,#eee0c5 45%,#b59b72)}.envelope-seal{width:76px;height:76px;left:calc(50% - 38px);top:calc(50% - 30px);border-radius:45% 49% 44% 48%;background:radial-gradient(circle at 35% 25%,#e2b891,#a76e46 70%);border:5px double #c79568;box-shadow:2px 4px 6px #50301955,inset 0 0 4px #684324;font:25px 'Great Vibes',Georgia,serif;color:#f8dfb9;display:grid;place-content:center;z-index:6;transition:opacity .3s,transform .3s}.opening .envelope-seal{opacity:0;transform:scale(1.15)}.opening .envelope-ribbon{opacity:0}.opening .envelope-flap{transform:rotateX(180deg)}.opening .envelope-letter{transform:translateY(-60px)}.revealed{animation:premium-reveal .7s ease}@keyframes premium-reveal{from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:none}}.model-mini.premium-blush,.model-mini.premium-ivory{background:#faf1e5 url('premium-paper.webp') center/cover;border-radius:5px;color:#7a5036}.model-mini.premium-ivory{filter:saturate(.55)}
@media(max-width:600px){.premium-inner{padding:30px 22px}.premium-photo{height:250px}.premium-photo.oval{height:260px;width:80%}.premium-name{font-size:43px}.envelope-screen{padding:45px 24px 36px;min-height:580px}.envelope-button{height:220px}.envelope-title{font-size:41px}.premium-location img{height:110px}.premium-locations{gap:12px}.premium-location h3{font-size:17px}.premium-location p{font-size:14px}}
@media(max-width:360px){.premium-people,.premium-locations{grid-template-columns:1fr}.premium-location img{height:150px}.premium-photo.oval{height:230px}.premium-name{font-size:36px}.envelope-button{height:185px}}
@media(prefers-reduced-motion:reduce){.premium-card,.envelope-screen *{animation:none!important;transition:none!important}}
.premium-card.ivory,.envelope-screen.ivory,.model-mini.premium-ivory{background-image:url('premium-ivory.webp')}.model-mini.premium-ivory{filter:none}.premium-name:focus{outline:2px solid #bd9365;outline-offset:6px}.premium-inner{background:linear-gradient(90deg,transparent,#fff8ed55 20%,#fff8ed55 80%,transparent)}
/* 11 — actual textured envelope artwork, replacing the geometric placeholder. */
.envelope-button{height:auto;aspect-ratio:1408/1120;perspective:1200px;filter:drop-shadow(0 12px 8px #62401f20);overflow:visible}.envelope-real-base,.envelope-real-flap,.envelope-real-flap img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none}.envelope-real-base{z-index:3;clip-path:polygon(0 0,6% 5%,50% 46%,94% 5%,100% 0,100% 100%,0 100%)}.envelope-real-flap{z-index:4;clip-path:polygon(6% 5%,94% 5%,50% 46%);transform-origin:50% 5%;transition:transform .85s .2s ease;backface-visibility:hidden}.envelope-initials{position:absolute;z-index:5;top:47%;left:39%;width:22%;height:10%;display:grid;place-items:center;font:clamp(20px,4vw,36px) 'Great Vibes',Georgia,serif;color:#f5d3a3;text-shadow:0 1px 1px #603d29;transition:opacity .35s;pointer-events:none}.blush .envelope-initials{top:47%}.opening .envelope-initials{opacity:0}.opening .envelope-real-flap{transform:rotateX(175deg)}.envelope-letter{inset:9% 9% 18%;border:1px solid #d3b994;background:#fff9ee url('premium-ivory.webp') center/cover;z-index:2;box-shadow:0 -4px 8px #49321b15}.opening .envelope-letter{transform:translateY(-35%)}.envelope-screen{padding:65px 25px 50px}.envelope-title{font-size:clamp(44px,7vw,65px);margin:35px 0 30px;position:relative;z-index:1;text-shadow:0 1px 7px #fff8eb}.envelope-screen h2{font-family:Georgia,serif;font-size:29px;margin-top:12px}.envelope-screen>p:not(.envelope-title){font-family:Georgia,serif}.envelope-hint{font-size:13px}.editor-envelope-thumb{display:block;width:100%;height:70px;object-fit:contain}.premium-inner{padding-top:50px}.premium-card .premium-intro{font:32px/1.35 'Great Vibes',Georgia,serif}.premium-name{font-size:clamp(38px,6vw,58px)}.premium-people{border-top:1px solid #c9aa7d60;padding-top:18px}.premium-location img{height:155px}.premium-rsvp{background:linear-gradient(#bd8e71,#a06b4d);box-shadow:0 5px 10px #60361733}.premium-card.ivory .premium-rsvp{background:linear-gradient(#a68a60,#81633c)}
@media(max-width:480px){.envelope-screen{padding:45px 15px 38px;min-height:0}.envelope-title{font-size:45px;margin:35px 0 25px}.envelope-screen h2{font-size:25px}.envelope-initials{font-size:25px}.premium-location img{height:105px}.premium-inner{padding:40px 22px}}
.blush .envelope-button{aspect-ratio:1312/1199}.ivory .envelope-button{aspect-ratio:1402/1122}.envelope-initials{top:42%}.blush .envelope-initials{top:40%}
/* 12 — floral frame and dedicated, uncluttered response area. */
.premium-card.garden,.model-mini.premium-garden{background-image:url('premium-garden.webp')}.premium-card.garden{border-radius:0}.garden .premium-inner{padding:50px 35px 32px}.garden .premium-photo.oval{border:3px double #ba9964;padding:5px;background:#fff6e9}.garden .premium-photo.oval img{border-radius:50%}.garden .premium-intro{font:18px/1.6 Georgia,serif}.garden .premium-name{font-size:clamp(36px,6vw,58px)}.premium-response-action{display:flex;justify-content:center;align-items:center;padding:26px 12px 18px;margin:24px -10px 0;background:radial-gradient(ellipse,#fff9eee8 35%,#fff9ee00 75%);position:relative;z-index:2}.premium-rsvp{display:inline-flex;align-items:center;justify-content:center;min-height:52px;width:100%;max-width:330px;padding:13px 22px;line-height:1.35;letter-spacing:.15px;text-align:center;border-radius:999px;font-size:17px}.premium-rsvp:hover{filter:brightness(1.06)}.photo-status{padding:12px 14px;border-radius:8px;background:#f3e7db;font-size:13px;line-height:1.6}.photo-status:empty{display:none}.photo-sliders{border-top:1px solid var(--line);padding-top:18px}
@media(max-width:480px){.garden .premium-inner{padding:35px 25px 25px}.premium-response-action{padding:24px 4px 16px;margin-top:15px}.premium-rsvp{font-size:16px;max-width:100%;min-height:50px}.garden .premium-photo.oval{height:240px}}
/* 13 — balanced decorative venues, room for full addresses. */
.premium-location img{display:block;width:100%;max-width:180px;height:120px;margin:0 auto 12px;object-fit:contain}.premium-location h3{margin-top:8px}.premium-location p{margin:8px 0}.premium-locations{align-items:start;gap:22px}
@media(max-width:480px){.premium-location img{max-width:140px;height:90px;margin-bottom:10px}.premium-locations{gap:14px}}
@media(max-width:360px){.premium-location img{max-width:160px;height:105px}}

/* 15 — controls next to the details they affect. */
.photo-sliders[hidden]{display:none}.location-options{margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}
