.envelope-cover{background:#515332;perspective:1500px;transition:opacity 1s 1.6s,visibility 0s 2.7s}.cover-paper{position:absolute;inset:0;background:linear-gradient(120deg,#676a43,#44482b);box-shadow:inset 0 0 100px #1d24114d}.envelope-lid{position:absolute;inset:0 0 28%;background:linear-gradient(155deg,#72724c,#545733 65%);clip-path:polygon(0 0,100% 0,100% 53%,50% 100%,0 53%);filter:drop-shadow(0 12px 8px #171e19);transform-origin:50% 0;transition:transform 1.8s cubic-bezier(.22,.8,.25,1) .45s,filter 1.8s;backface-visibility:hidden}.envelope-lid:after{content:'';position:absolute;inset:10px;background:repeating-linear-gradient(45deg,#d4d3af55 0 1px,transparent 1px 7px);clip-path:polygon(0 52%,50% 98%,100% 52%,100% 55%,50% 100%,0 55%)}.cover-caption{top:25%;left:8%;right:8%;color:#edead8}.cover-caption>p{font:16px 'Playfair Display',serif}.cover-names{font-size:clamp(46px,11vw,80px)}.seal{top:68%;background:radial-gradient(ellipse at 30% 20%,#fffdf0,#e1ddc9 65%,#aaa790);color:#9d9b7e;border:4px double #d3cfb8;width:90px;height:115px;border-radius:50%;box-shadow:0 6px 13px #1c23185c,inset 0 0 0 4px #fff9e9b0}.seal>span{font-size:17px;position:absolute;bottom:17px;left:0;right:0}.seal svg{position:absolute;width:48px;top:10px;left:17px;filter:drop-shadow(0 1px 0 white)}.opening .envelope-lid{transform:rotateX(155deg);filter:brightness(.6)}.opening.envelope-cover,.opening .envelope-cover{opacity:0;visibility:hidden}.cover-bottom{bottom:8%}.cover-bottom>p{font-size:15px}.stationery-hero{display:block;padding:90px 20px 35px;min-height:0;background:#faf8ef;overflow:hidden}.envelope-scene{position:relative;width:min(100%,510px);height:550px;margin:0 auto;perspective:1200px}.envelope-back{position:absolute;inset:32% 2% 12%;background:#5d633c;border-radius:6px;box-shadow:0 13px 30px #41482d20;clip-path:polygon(0 25%,50% 0,100% 25%,100% 100%,0 100%)}.envelope-front{position:absolute;inset:46% 2% 12%;background:linear-gradient(145deg,#74794d,#4f5730);clip-path:polygon(0 0,50% 38%,100% 0,100% 100%,0 100%);filter:drop-shadow(0 -4px 6px #252c1e40);z-index:5}.envelope-front:after{content:'';position:absolute;inset:0;background:linear-gradient(33deg,transparent 49.6%,#a3a27b55 49.9%,transparent 50.3%),linear-gradient(-33deg,transparent 49.6%,#a3a27b55 49.9%,transparent 50.3%)}.insert{position:absolute;background:#f4f0e3;box-shadow:0 3px 13px #20251730;opacity:0;transform:translateY(120px) rotate(0deg);transition:transform 2.7s cubic-bezier(.16,1,.3,1),opacity 1.3s;z-index:2}.insert-letter{width:44%;height:60%;right:12%;top:3%;padding:38px 14px;text-align:center;border:7px double #d8d6c6;transition-delay:.8s}.insert-letter .eyebrow{font-size:7px}.insert-script{font:45px 'Playfair Display',serif;margin:43px 0}.insert-date{font:13px 'Playfair Display',serif;letter-spacing:.12em}.tiny-heart{display:block;margin-top:24px;font-size:14px}.insert-portrait{width:44%;height:59%;left:11%;top:10%;padding:12px;border-radius:47% 47% 3px 3px;transition-delay:1.05s}.portrait-mat{width:100%;height:100%;border:1px solid #c6c3ae;border-radius:inherit;padding:12px}.portrait-placeholder{height:100%;border-radius:50% 50% 3px 3px;background:linear-gradient(140deg,#b4bba6,#e6e7dc);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.portrait-placeholder>span{font:italic 38px 'Playfair Display',serif;color:#6e775f}.portrait-placeholder small{font-size:7px;line-height:1.8;color:#647057;margin-top:18px}.invitation-open .insert-letter{opacity:1;transform:translateY(0) rotate(6deg)}.invitation-open .insert-portrait{opacity:1;transform:translateY(0) rotate(-7deg)}.date-tag{position:absolute;top:42%;left:35%;width:30%;height:95px;z-index:4;background:#783b3d;clip-path:polygon(0 20%,10% 15%,17% 5%,30% 8%,50% 0,70% 8%,83% 5%,90% 15%,100% 20%,95% 100%,5% 100%);color:#e2d6be;font:italic 21px 'Playfair Display',serif;text-align:center;padding-top:28px;opacity:0;transform:translateY(65px);transition:opacity 1.3s 1.4s,transform 2s cubic-bezier(.16,1,.3,1) 1.4s}.invitation-open .date-tag{opacity:1;transform:none}.scene-seal{position:absolute;top:65%;left:45%;height:75px;width:58px;background:radial-gradient(ellipse at 25% 10%,#fffdf4,#dcd9c6);border-radius:50%;border:4px double #c4c1ad;z-index:7;display:grid;place-items:center;box-shadow:0 4px 5px #2a321f38;color:#a2a087;font:italic 15px 'Playfair Display',serif}.real-bouquet{position:absolute;width:62%;left:-12%;bottom:1%;z-index:8;transform:translateY(24px) rotate(-8deg);opacity:0;transition:opacity 1.6s 1.25s,transform 2.8s cubic-bezier(.16,1,.3,1) 1.25s;filter:drop-shadow(2px 5px 5px #303c2225);pointer-events:none}.invitation-open .real-bouquet{opacity:1;transform:translateY(0) rotate(-8deg)}.bouquet-right{width:32%;left:auto;right:-1%;bottom:29%;transform:rotate(19deg) translateY(20px);z-index:3}.invitation-open .bouquet-right{transform:rotate(19deg)}.invitation-copy{text-align:center;margin:0 auto;max-width:520px;position:relative;z-index:9}.invitation-copy .names{font-size:clamp(50px,11vw,72px);margin:15px 0 30px}.join{font:18px 'Playfair Display',serif;text-transform:uppercase;margin:8px}.invitation-copy h2{font:35px 'Playfair Display',serif;font-weight:400;margin:0 0 15px}.venue{font:19px 'Playfair Display',serif;margin:12px}.venue span{font:9px Poppins,sans-serif;color:#8c917d;display:block;margin:8px}.invitation-date{font:13px 'Playfair Display',serif;letter-spacing:.07em;margin:25px 0}.rsvp-link{display:inline-block;border:0;background:#555a32;border-radius:10px;color:#fffbed;text-decoration:none;padding:16px 35px;font:13px 'Playfair Display',serif;letter-spacing:.05em}.welcome-note{font:italic 19px 'Playfair Display',serif;margin:22px}.rsvp{padding:0 28px 80px;max-width:650px}.rsvp-banner{height:210px;overflow:hidden;position:relative;background:#dedfcf;margin:0 -28px 60px}.rsvp-banner img{position:absolute;width:100%;top:-230px;left:-25%;transform:rotate(65deg);opacity:.65}.rsvp-banner span{position:relative;display:block;padding-top:90px;font:42px 'Playfair Display',serif;text-shadow:0 2px 10px #ffffffe0}.rsvp h2{font:65px 'Playfair Display',serif;margin:20px}.rsvp-subtitle{text-transform:uppercase;font:15px 'Playfair Display',serif!important;letter-spacing:.08em}.preview-note{font-size:10px!important;color:#8b8f7b}form{text-align:left;margin:40px auto 0;max-width:470px}form>label,#attendance-details>label{display:block;font-size:11px;margin:24px 0 10px}form label span{font-size:10px;color:#8e927f}input:not([type=radio]),textarea,select{display:block;width:100%;padding:14px 12px;border:1px solid #c5c7b7;background:transparent;color:#414934;font:12px Poppins,sans-serif;border-radius:0}fieldset{border:0;padding:0;margin:30px 0}legend{font-size:11px;margin-bottom:12px;padding:0}legend small{display:block;margin-top:8px;font-size:9px;color:#8b8f7b}.choice{display:flex;gap:12px;align-items:center;padding:18px 14px;background:#eaeadd;margin:7px 0;cursor:pointer;border:1px solid transparent;transition:background .3s,border-color .3s}.choice:has(input:checked){background:#e0e4cf;border-color:#8c9672}.choice input{accent-color:#58623a}.choice>span{font-size:12px;color:#525b43;line-height:1.6}.choice small{font:italic 14px 'Playfair Display',serif;color:#858b76}form .rsvp-link{width:100%;margin-top:25px}#rsvp-feedback{margin-top:22px;padding:20px;background:#e4e8d7;color:#505a3d;font-size:12px;line-height:1.8}#attendance-details[hidden]{display:none}.rsvp-link:focus-visible,.seal:focus-visible{outline:3px solid #b8a66e;outline-offset:5px}@media(max-width:600px){.stationery-hero{padding-top:70px}.envelope-scene{height:470px;width:340px;max-width:100%}.insert-letter{padding:25px 8px}.insert-script{font-size:36px;margin:35px 0}.insert-portrait{padding:8px}.portrait-mat{padding:7px}.scene-seal{height:62px;width:47px}.date-tag{font-size:17px;padding-top:23px}.envelope-cover .seal{top:67%}.cover-caption{top:28%}.invitation-copy .eyebrow{font-size:8px}.rsvp-banner img{top:-110px}.rsvp-banner{height:180px}.rsvp-banner span{padding-top:75px;font-size:36px}}@media(min-width:700px){.envelope-cover .envelope-lid{inset:0 0 20%;clip-path:polygon(0 0,100% 0,100% 40%,50% 100%,0 40%)}.envelope-cover .seal{top:77%}.cover-bottom{bottom:3%}.envelope-scene{height:620px}.stationery-hero{padding-top:95px}.invitation-copy{padding-bottom:25px}}@media(prefers-reduced-motion:reduce){.insert,.real-bouquet,.date-tag{transition-duration:.01s!important;transition-delay:0s!important}}
.countdown{position:relative;isolation:isolate;padding:45px 20px;margin:40px -28px -25px;background:#777e60;color:#fffef2;overflow:hidden;gap:28px}.countdown:before{content:'';position:absolute;inset:-120% 0;background:url('real-florals.png') 30% 50%/90% auto no-repeat;transform:rotate(65deg);opacity:.35;z-index:-1}.countdown strong{text-shadow:0 2px 8px #27301660}.countdown span{font-size:8px}.envelope-scene{animation:stationery-float 7s ease-in-out infinite 4s}@keyframes stationery-float{50%{transform:translateY(-5px)}}@media(prefers-reduced-motion:reduce){.envelope-scene{animation:none}}

/* Typography requested by Tasha. */
.cover-names{font-size:clamp(37px,8vw,66px);line-height:1.3}.invitation-copy .names{font-size:clamp(38px,9vw,60px);line-height:1.3}.names{letter-spacing:-.035em}.insert-script{font-size:35px}.rsvp h2{font-size:55px}.rsvp-banner span{font-size:32px}.section h2{line-height:1.2}.section p,.split p,.welcome-note,.venue,.cover-caption>p,.cover-bottom p,.invitation-date,.rsvp-link,.rsvp-subtitle,.choice small{font-family:Poppins,sans-serif;font-style:normal}.welcome-note{font-size:12px}.venue{font-size:14px}.rsvp-link{font-size:11px}.cover-caption>p,.cover-bottom p{font-size:12px}.invitation-date{font-size:11px}.choice small{font-size:10px}.footer .names{font-size:38px}

.venue-map{color:inherit;text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}.venue-map:hover{color:#87916d}.venue-map:focus-visible{outline:2px solid #87916d;outline-offset:5px}

.single-event{grid-template-columns:1fr;max-width:600px}.single-event>div{padding:65px 25px}.single-event h3{font-size:36px}.invitation-copy .countdown{margin:35px 0 15px;border-radius:3px}.invitation-copy{padding-bottom:20px}
