.letter-card{background:#e2ebf2;color:#3e536a}.flower-card{background:#efd3db;color:#743e57}
.royal-letter{--paper:#f9f6ef;--ink:#3e536a;--soft:#e2ebf2;--gold:#ae946b;--accent:#3e536a;background:var(--paper)}
.royal-letter .hero{background:#e2ebf2;min-height:760px;padding:85px 8% 95px;grid-template-columns:1fr 1.05fr}.royal-letter .hero:after{inset:25px;border-radius:0;border:1px solid #a8b9c7;outline:1px solid #a8b9c7;outline-offset:7px}.royal-letter .hero h1{font-size:clamp(76px,8vw,124px);font-style:normal}.royal-letter .subtitle{font-style:italic;font-family:Georgia,serif;font-size:30px;white-space:pre-line}.royal-letter .hero-foot{font-size:16px;letter-spacing:.08em}.royal-letter .art-stage{margin:0 -4%;animation-duration:12s}
.royal-letter .intro{display:block;position:relative;margin:75px auto 95px;width:78%;padding:65px 12% 150px;text-align:center;background:#fffdf7;border:1px solid #dfd5c2;box-shadow:8px 10px 0 #e9e1d2;transform:rotate(-1deg)}.royal-letter .intro .quote{display:none}.royal-letter .intro h2{font-style:italic;font-size:clamp(38px,4.7vw,68px)}.royal-letter .intro p{margin:auto}.royal-letter .letter-seal{position:absolute;width:180px;height:auto;bottom:-70px;left:calc(50% - 90px);transform:rotate(8deg)}
.royal-letter .venue{background:none;padding:65px 8% 25px}.royal-letter .rendezvous{border:0;border-radius:0;border-top:1px solid #b7c3c9;border-bottom:1px solid #b7c3c9;padding:35px 5%;max-width:none}.royal-letter .venue h2{font-size:clamp(38px,4.5vw,65px);font-style:normal}.royal-letter .program{background:#e2ebf2;color:#3e536a;margin:30px 8% 65px;padding:55px 6%;grid-template-columns:.9fr 1.1fr;border-radius:0}.royal-letter .plan-text{border-color:#adbcc8;line-height:2.6}.royal-letter .invitation-details{background:none;padding:20px 16% 75px}.royal-letter .detail-line{background:#b6a386;width:45px}.royal-letter .rsvp{margin:0 8%;background:#3e536a;color:#fffaf2;border-radius:160px 160px 0 0;padding:65px 12%}.royal-letter .rsvp summary{background:#fffaf2;color:#3e536a}.royal-letter .closing{background:none;padding:65px 8% 0}.royal-letter .closing h2{font-size:48px}.closing-ornament{font:60px Georgia,serif;display:block;color:#a48c65;margin-bottom:20px}.royal-letter footer{background:none}
.flower-ball{--paper:#fff8ed;--ink:#743e57;--soft:#efd3db;--accent:#743e57;--gold:#a77e53;background:var(--paper)}
.flower-ball .hero{display:flex;flex-direction:column;text-align:center;min-height:0;background:#efd3db;padding:100px 8% 20px;border-radius:0 0 50% 50% / 0 0 65px 65px}.flower-ball .hero:after{display:none}.flower-ball .hero-copy{max-width:850px}.flower-ball .hero .eyebrow,.flower-ball .subtitle{margin-inline:auto;max-width:650px}.flower-ball .hero h1{font-size:clamp(80px,9vw,135px);margin:15px 0;font-style:italic}.flower-ball .subtitle{white-space:pre-line;font:28px/1.2 Georgia,serif}.flower-ball .art-stage{width:min(540px,80%);margin:10px auto 0}.flower-ball .hero-foot{position:static;order:3;padding:20px 0 45px;font-size:16px}
.flower-ball .intro{background:none;display:block;text-align:center;padding:75px 18% 50px}.flower-ball .intro .quote{display:none}.flower-ball .intro h2{font-style:italic}.flower-ball .intro p{margin:auto}.flower-ball .invitation-details{margin:15px 14% 65px;padding:45px 9%;background:#e6ebd8;border-radius:100px 10px 100px 10px;color:#45553e}.flower-ball .invitation-details h2{font-size:43px}.flower-ball .detail-line{display:none}.flower-ball .venue{background:#efd3db;padding:65px 12%;border-radius:50% 50% 0 0 / 50px 50px 0 0}.flower-ball .rendezvous{border:0;border-radius:0;padding:0}.flower-ball .venue h2{font-size:clamp(44px,5vw,72px)}.flower-ball .program{background:#efd3db;color:#743e57;display:block;text-align:center;padding:0 15% 65px;border-radius:0 0 50% 50% / 0 0 50px 50px}.flower-ball .program h2{font-size:44px;white-space:normal}.flower-ball .plan-text{border:0;border-block:1px solid #bd96a5;margin-top:30px;line-height:2.7}.flower-ball .rsvp{background:none;padding:85px 12%}.flower-ball .rsvp h2{font-style:italic}.flower-ball .closing{display:grid;grid-template-columns:.9fr 1.1fr;gap:30px;align-items:center;background:#e6ebd8;color:#45553e;padding:60px 14% 10px;border-radius:50% 50% 0 0 / 45px 45px 0 0}.flower-ball .closing h2{font-size:48px}.flower-ball .closing-art{width:100%;max-width:340px;margin:0 auto}.flower-ball footer{background:#e6ebd8;color:#45553e}
@media(max-width:760px){.royal-letter .hero{grid-template-columns:1fr;min-height:0;padding:95px 8% 45px}.royal-letter .hero:after{inset:16px;outline-offset:5px}.royal-letter .hero h1{font-size:76px}.royal-letter .subtitle{font-size:27px}.royal-letter .art-stage{width:108%;margin:20px -4%}.royal-letter .hero-foot{position:static;max-width:230px;margin:auto}.royal-letter .intro{width:86%;padding:40px 8% 95px;margin:45px auto 80px}.royal-letter .intro h2{font-size:38px}.royal-letter .letter-seal{width:130px;left:calc(50% - 65px);bottom:-50px}.royal-letter .venue{padding:30px 8% 10px}.royal-letter .program{margin:20px 6% 50px;padding:40px 8%;grid-template-columns:1fr;gap:25px}.royal-letter .program h2{font-size:38px}.royal-letter .plan-text{font-size:17px;line-height:2.2}.royal-letter .invitation-details{padding:15px 8% 55px}.royal-letter .rsvp{margin:0 5%;padding:55px 8%;border-radius:100px 100px 0 0}.royal-letter .rsvp h2{font-size:37px}.royal-letter .closing h2{font-size:38px}
.flower-ball .hero{padding:100px 8% 10px}.flower-ball .hero h1{font-size:76px}.flower-ball .subtitle{font-size:25px}.flower-ball .art-stage{width:110%;margin:20px -5% 0}.flower-ball .hero-foot{font-size:16px;padding-bottom:30px}.flower-ball .intro{padding:55px 8% 30px}.flower-ball .intro h2{font-size:40px}.flower-ball .invitation-details{margin:10px 6% 45px;padding:40px 9%;border-radius:65px 8px 65px 8px}.flower-ball .invitation-details h2{font-size:36px}.flower-ball .venue{padding:50px 8% 35px}.flower-ball .venue h2{font-size:38px}.flower-ball .program{padding:0 8% 55px}.flower-ball .program h2{font-size:36px}.flower-ball .plan-text{font-size:17px;line-height:2.2}.flower-ball .rsvp{padding:60px 8%}.flower-ball .closing{display:block;padding:50px 8% 0}.flower-ball .closing h2{font-size:40px}.flower-ball .closing-art{width:240px;margin:25px auto 0}}
