/* Three floral studies share the author's invitation content. */
body.family-floral{--flower-ink:#514131;--flower-gold:#9b793f;background:#f7f0e3;color:var(--flower-ink);font-family:Manrope,sans-serif;font-size:18px}
.family-floral .family-main{background:#f7f0e3;overflow:hidden}
.family-floral h1,.family-floral h2,.family-floral h3{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400;line-height:1.04;color:inherit}
.family-floral h1{font-size:clamp(64px,7.7vw,112px);margin:24px 0}
.family-floral h2{font-size:clamp(42px,5vw,72px);margin:20px 0 28px}
.family-floral p{font-size:18px;line-height:1.7}
.family-floral .family-caption,.family-floral .floral-date{font:16px/1.6 Manrope,sans-serif;letter-spacing:.09em;color:inherit}
.family-floral .floral-hero{min-height:740px;position:relative;display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:80px 7%;background:radial-gradient(ellipse at 80% 50%,#eadbc1,transparent 65%),#f7f0e3}
.floral-hero-copy{position:relative;z-index:1;max-width:610px}
.floral-hero-copy p{max-width:460px}.floral-date{margin-top:38px;padding-top:24px;border-top:1px solid #b79a6759}
.floral-hero-art{width:115%;max-width:none;margin-left:-6%;filter:drop-shadow(0 18px 20px #6c50201a)}
.family-floral .calendar-grid{padding:65px 8%;background:#a68a57;color:#fff9eb;text-align:center}
.family-floral .calendar-grid h2{margin:12px 0 30px}.family-floral .calendar-days{max-width:560px;margin:auto;gap:4px}
.family-floral .calendar-days i{padding:10px;font:18px/1.6 Manrope,sans-serif;border:0;border-radius:50%}.family-floral .calendar-days i.chosen{background:#fff5de;color:#6f552e}
.floral-welcome,.floral-memories{display:grid;grid-template-columns:1fr 1fr;gap:6%;align-items:center;padding:70px 9%;min-height:500px}
.floral-welcome img,.floral-memories img{width:100%;max-height:460px;object-fit:contain}.floral-welcome em{font:italic 30px Georgia,serif;color:#99733e}.floral-welcome p,.floral-memories p{max-width:480px}
.floral-memories{background:#efe3cf;border-block:1px solid #b59b6e40}
.family-floral .family-venue{min-height:420px;height:420px}.family-floral .family-venue-copy{padding:48px 8%;color:white}.family-floral .family-venue h2{font-size:60px}.family-floral .family-venue a{font-size:18px}
.family-floral .family-schedule{padding:64px 9%;background:#f7f0e3;color:var(--flower-ink);min-height:0;position:relative}
.family-floral .invitation-countdown{display:grid;grid-template-columns:minmax(220px,350px) 200px;justify-content:center;align-content:center;column-gap:35px;min-height:280px;padding:36px 8%}
.family-floral .invitation-countdown .family-caption{grid-column:1;align-self:end}.family-floral .invitation-countdown h2{grid-column:1;margin:10px 0;align-self:start}
.family-floral .invitation-countdown .emotion-illustration{position:static;grid-column:2;grid-row:1 / 3;width:200px;height:210px;object-fit:contain;transform:none;opacity:1}
.family-floral .family-schedule--illustrated{text-align:center;border-block:1px solid #b59b6e40}
.family-floral .family-schedule--illustrated .emotion-illustration{position:static;display:block;margin:0 auto 20px;width:210px;height:170px;object-fit:contain;transform:none;opacity:1}
.family-floral .family-schedule-days{max-width:780px;margin:auto;text-align:left}.family-floral .family-schedule-day{background:transparent;border:0;border-top:1px solid #b59b6e70;border-radius:0;padding:25px 0}.family-floral .family-schedule-event{padding:12px 0;font:18px/1.6 Manrope,sans-serif}.family-floral .family-schedule-event time{font-size:17px;color:#896635}
.family-floral .family-dress{display:block;min-height:0;padding:64px 9%;background:#efe3cf}.family-floral .family-dress-copy{display:block;max-width:740px;margin:auto;text-align:center}.family-floral .family-dress-copy p{max-width:620px;margin:0 auto 30px}.family-floral .family-palette{justify-content:center;gap:14px}.family-floral .family-palette i{width:58px;height:72px;border-radius:50% 50% 45% 45%;border:1px solid #fff8}
.family-floral .family-practical{padding:64px 12%;background:#f7f0e3}.family-floral .family-practical>div:last-child{display:block}.family-floral .family-practical article{padding:26px 0;min-height:0;background:none;border:0;border-bottom:1px solid #b59b6e70;border-radius:0}.family-floral .family-practical article>span{display:none}.family-floral .family-practical h3{font-size:32px;margin:0 0 12px}
.family-floral .invitation-rsvp{margin:35px 7% 70px;padding:65px 34% 65px 6%;position:relative;background:#eadcc2;color:var(--flower-ink);border:1px solid #b59b6e70;border-radius:150px 150px 12px 12px;text-align:left;box-shadow:none}
.family-floral .invitation-rsvp .emotion-illustration{position:absolute;right:2%;top:50%;width:31%;height:300px;object-fit:contain;transform:translateY(-50%);opacity:1}.family-floral .invitation-rsvp-mark{display:none}.family-floral .rsvp-disclosure>summary{background:#785c34;color:#fff9ed;font-size:17px;white-space:normal;min-height:54px;height:auto;max-width:100%;padding:16px 24px;line-height:1.4}
.family-floral .invitation-footer{background:#665038;color:#fff5e5;padding:70px 8% 25px;text-align:center}.family-floral .invitation-footer small{font-size:16px}.family-floral .invitation-footer strong{font:48px/1.15 'Cormorant Garamond',Georgia,serif;margin:24px auto}.family-floral .invitation-credit{margin-top:70px}.family-floral .invitation-credit span{font-size:14px}
/* Golden, symmetrical editorial composition. */
.floral--classic .floral-hero{background:linear-gradient(135deg,#a98b55,#c6ae78);color:#fff8e8;display:flex;flex-direction:column;text-align:center;padding:70px 8% 0;min-height:820px}
.floral--classic .floral-hero-copy{max-width:780px}.floral--classic .floral-hero-copy p{margin-inline:auto;max-width:580px}.floral--classic .floral-date{border-color:#fff6}.floral--classic .floral-hero-art{width:620px;max-width:95%;height:330px;object-fit:contain;margin:-5px auto -25px}.floral--classic .calendar-grid{background:#f2e8d5;color:#655034}.floral--classic .floral-welcome{grid-template-columns:1fr 1fr}.floral--classic .floral-welcome img{order:2}.floral--classic .floral-memories{background:#a88c58;color:white}.floral--classic .invitation-rsvp{border-radius:0;outline:1px solid #b59b6e;outline-offset:-12px}
/* Light herbarium: fine rules, asymmetry and generous paper margins. */
.floral--herbarium .family-main{background:#fffbf2}.floral--herbarium .floral-hero{background:#fffbf2;min-height:700px;padding:70px 9%;grid-template-columns:1.2fr 1fr}.floral--herbarium h1,.floral--herbarium h2{font-style:italic}.floral--herbarium .floral-hero-art{width:110%;transform:rotate(-12deg)}.floral--herbarium .floral-hero-copy{border-left:1px solid #b59b6e;padding-left:28px}.floral--herbarium .calendar-grid{background:#ebe0ca;color:#61513c;margin:0 9%;border-radius:220px 220px 0 0;padding-top:70px}.floral--herbarium .floral-welcome{padding-block:45px}.floral--herbarium .floral-memories{background:#fffbf2;margin-inline:9%;padding-inline:0}.floral--herbarium .invitation-rsvp{background:#f0e5d2;border-radius:0 100px 0 100px}
@media(max-width:600px){
.family-floral h1{font-size:56px}.family-floral h2{font-size:42px}.family-floral p{font-size:17px}.family-floral .floral-hero,.floral--herbarium .floral-hero{display:flex;flex-direction:column;min-height:0;padding:44px 24px 15px;text-align:center}.floral-hero-art,.floral--herbarium .floral-hero-art{width:110%;height:300px;object-fit:contain;margin:0;transform:none}.floral-date{margin-top:22px;padding-top:18px}.floral--herbarium .floral-hero-copy{padding:0;border:0}.floral--classic .floral-hero-art{height:270px;margin:0}.family-floral .calendar-grid{padding:40px 24px}.floral--herbarium .calendar-grid{margin:0 18px;border-radius:100px 100px 0 0;padding-top:60px}.family-floral .calendar-days i{padding:7px 3px;font-size:17px}
.floral-welcome,.floral-memories,.floral--classic .floral-welcome{display:flex;flex-direction:column;gap:20px;padding:42px 24px;min-height:0;text-align:center}.floral-welcome img,.floral-memories img{height:260px}.floral-welcome img{order:2}.floral--herbarium .floral-memories{margin:0;padding-inline:24px}.family-floral .family-venue{height:340px;min-height:340px}.family-floral .family-venue-copy{padding:30px 24px}.family-floral .family-venue h2{font-size:44px}
.family-floral .invitation-countdown{grid-template-columns:1fr 110px;gap:10px;padding:32px 24px;min-height:190px}.family-floral .invitation-countdown .emotion-illustration{width:110px;height:145px}.family-floral .invitation-countdown h2{font-size:42px}.family-floral .family-schedule--illustrated,.family-floral .family-practical,.family-floral .family-dress{padding:40px 24px}.family-floral .family-schedule-event{font-size:17px;gap:15px}.family-floral .family-palette{gap:10px}.family-floral .family-palette i{width:40px;height:55px}.family-floral .invitation-rsvp{margin:20px 18px 45px;padding:28px 24px 35px;border-radius:90px 90px 10px 10px;text-align:center}.family-floral .invitation-rsvp .emotion-illustration{position:static;width:100%;height:200px;transform:none;margin:0 auto 18px}.family-floral .rsvp-disclosure>summary{font-size:16px;padding:15px 18px}.family-floral .invitation-footer{padding:50px 24px 24px}
}
@media(prefers-reduced-motion:reduce){.family-floral *, .family-floral *::before,.family-floral *::after{animation:none!important;transition:none!important}.family-floral .reveal{opacity:1;transform:none}}
.family-floral .invitation-rsvp::before{content:none}.floral-variant-preview .template-demo-toolbar{display:none}
.family-floral.floral--classic .calendar-grid{color:#655034}.family-floral.floral--herbarium .calendar-grid{color:#61513c}
.family-floral.floral--classic .floral-hero .family-caption,.family-floral.floral--classic .floral-hero .floral-date{color:#49381f}.family-floral .calendar-grid .family-caption{color:inherit}
body.family-floral .family-main p,body.family-floral .family-main input,body.family-floral .family-main label{font-family:Manrope,sans-serif!important;font-size:18px!important;line-height:1.65}
body.family-floral .family-practical article{box-shadow:none!important}
body.family-floral .invitation-rsvp>.emotion-illustration{right:2%!important;top:50%!important;bottom:auto!important;transform:translateY(-50%)!important}
body.family-floral .invitation-credit a{color:#fff3dc;opacity:1}
body.family-floral .invitation-footer strong{font-size:44px!important}
@media(max-width:600px){body.family-floral .family-main p{font-size:17px!important}body.family-floral .invitation-rsvp>.emotion-illustration{position:static!important;display:block!important;width:100%!important;height:190px!important;max-width:100%!important;transform:none!important;margin:0 auto 20px!important;object-fit:contain}body.family-floral .invitation-rsvp{height:auto!important;min-height:0!important}body.family-floral .invitation-footer strong{font-size:36px!important}}
/* Garden composition refinements: isolated art, with space around each object. */
body.floral--garden .floral-hero-art{filter:none}
body.floral--garden .invitation-countdown>.emotion-illustration{position:static!important;grid-column:2;grid-row:1 / 3;width:180px!important;height:210px!important;max-width:100%;object-fit:contain!important;background:none!important;box-shadow:none!important;border:0!important;filter:none!important;transform:none!important;animation:none!important;--reveal-art-opacity:1}
body.floral--garden .invitation-countdown{grid-template-columns:minmax(220px,330px) 180px;column-gap:32px;align-items:center;overflow:visible}
body.floral--garden .family-schedule--illustrated>.emotion-illustration{position:static!important;width:190px!important;height:175px!important;display:block;margin:0 auto 20px!important;background:none!important;box-shadow:none!important;border:0!important;filter:none!important;transform:translateX(-35px)!important;animation:none!important;--reveal-art-opacity:1}
body.floral--garden .invitation-rsvp>.emotion-illustration{width:24%!important;height:235px!important;right:6%!important;filter:none!important;animation:none!important;--reveal-art-opacity:1}
@media(max-width:600px){body.floral--garden .invitation-countdown{grid-template-columns:minmax(0,1fr) 110px;column-gap:14px}body.floral--garden .invitation-countdown>.emotion-illustration{width:110px!important;height:145px!important}body.floral--garden .family-schedule--illustrated>.emotion-illustration{width:155px!important;height:145px!important;transform:translateX(-18px)!important}body.floral--garden .invitation-rsvp>.emotion-illustration{width:145px!important;height:150px!important;margin:0 auto 20px!important}}
/* Garden: larger hero, side bouquet and aligned reply card. */
body.floral--garden .floral-hero{grid-template-columns:46% 54%;padding-right:4%}
body.floral--garden .floral-hero-art{width:125%;margin-left:-7%;max-width:none}
body.floral--garden .family-schedule--illustrated{display:grid;grid-template-columns:minmax(0,1fr) 280px;column-gap:32px;align-content:center;text-align:left;padding:64px 7%}
body.floral--garden .family-schedule--illustrated>.emotion-illustration{grid-column:2;grid-row:1 / 4;align-self:center;width:280px!important;height:350px!important;margin:0!important;transform:none!important}
body.floral--garden .family-schedule--illustrated>.family-caption,body.floral--garden .family-schedule--illustrated>h2,body.floral--garden .family-schedule--illustrated>.family-schedule-days{grid-column:1;width:100%;margin-inline:0}
body.floral--garden .invitation-rsvp{display:grid;grid-template-columns:minmax(0,1fr) 235px;column-gap:48px;align-content:center;padding:64px 7%;text-align:left}
body.floral--garden .invitation-rsvp>.emotion-illustration{position:static!important;grid-column:2;grid-row:1 / 5;align-self:center;justify-self:center;width:235px!important;height:250px!important;transform:none!important;margin:0!important}
body.floral--garden .invitation-rsvp>.family-caption,body.floral--garden .invitation-rsvp>h2,body.floral--garden .invitation-rsvp>p,body.floral--garden .invitation-rsvp>.rsvp-disclosure{grid-column:1;justify-self:start;margin-left:0!important;margin-right:0!important;width:100%}
body.floral--garden .invitation-rsvp>h2{margin-top:18px;margin-bottom:22px}
body.floral--garden .invitation-rsvp>p{margin-top:0;margin-bottom:28px}
body.floral--garden .invitation-rsvp .rsvp-disclosure>summary{margin-left:0!important;margin-right:auto!important;width:fit-content}
body.floral--garden .invitation-rsvp:has(.rsvp-disclosure[open])>.rsvp-disclosure{grid-column:1 / -1}
@media(max-width:700px){
body.floral--garden .floral-hero{padding-right:24px}
body.floral--garden .floral-hero-art{width:125%;height:340px;margin:0;max-width:none;object-fit:contain}
body.floral--garden .family-schedule--illustrated{grid-template-columns:minmax(0,1fr) 100px;gap:0 8px;padding:40px 24px}
body.floral--garden .family-schedule--illustrated>.emotion-illustration{width:120px!important;height:190px!important;grid-row:1 / 3;justify-self:center}
body.floral--garden .family-schedule--illustrated>h2{font-size:38px}
body.floral--garden .family-schedule--illustrated>.family-schedule-days{grid-column:1 / -1}
body.floral--garden .invitation-rsvp{display:flex;flex-direction:column;align-items:stretch;padding:32px 24px;text-align:center;gap:0}
body.floral--garden .invitation-rsvp>.emotion-illustration{width:145px!important;height:150px!important;align-self:center;margin:0 auto 22px!important}
body.floral--garden .invitation-rsvp .rsvp-disclosure>summary{margin-inline:auto!important}
}
/* The calendar slips beneath the hero's flowers. */
body.floral--garden .floral-hero{min-height:610px;padding-bottom:0;z-index:2;background:transparent;overflow:visible;pointer-events:none}
body.floral--garden .floral-hero-copy{pointer-events:auto;padding-bottom:75px}
body.floral--garden .floral-hero-art{align-self:end;position:relative;bottom:-45px;z-index:3}
body.floral--garden .calendar-grid{position:relative;z-index:1;margin-top:-25px;padding-top:100px}
body.floral--garden .invitation-countdown{margin:36px 7%;padding:36px 6%;min-height:310px;grid-template-columns:minmax(0,1fr) 230px;column-gap:44px;background:#eee1c8;border-block:1px solid #b59b6e60;border-radius:130px 12px 130px 12px;overflow:hidden}
body.floral--garden .invitation-countdown h2{font-size:clamp(56px,7vw,92px);line-height:1;margin-top:14px;color:#785b32}
body.floral--garden .invitation-countdown>.emotion-illustration{width:230px!important;height:270px!important}
body.floral--garden .invitation-rsvp{grid-template-columns:minmax(0,1fr) 300px;column-gap:32px}
body.floral--garden .invitation-rsvp>.emotion-illustration{width:300px!important;height:310px!important}
@media(max-width:700px){body.floral--garden .floral-hero{min-height:0}body.floral--garden .floral-hero-copy{padding-bottom:0}body.floral--garden .floral-hero-art{align-self:center;bottom:-30px}body.floral--garden .calendar-grid{margin-top:0;padding-top:65px}body.floral--garden .invitation-countdown{margin:24px 18px;padding:30px 22px;grid-template-columns:minmax(0,1fr) 115px;column-gap:12px;min-height:220px;border-radius:65px 10px 65px 10px}body.floral--garden .invitation-countdown h2{font-size:48px}body.floral--garden .invitation-countdown>.emotion-illustration{width:115px!important;height:185px!important}body.floral--garden .invitation-rsvp>.emotion-illustration{width:195px!important;height:205px!important}}
body.floral--garden .invitation-footer>.floral-closing-tea{position:relative;display:block;width:290px;height:250px;object-fit:contain;margin:0 auto 32px;max-width:100%;filter:none}
@media(max-width:600px){body.floral--garden .invitation-footer>.floral-closing-tea{width:220px;height:190px;margin-bottom:26px}}
/* Mobile hero: close the gap and let the bouquet overlap the calendar. */
@media(max-width:600px){
body.floral--garden .floral-hero{padding-bottom:0}
body.floral--garden .floral-hero-art{margin-top:-35px;bottom:0;height:310px}
body.floral--garden .calendar-grid{margin-top:-42px;padding-top:76px}
}
