.balloon-birthday{--paper:#fffcf4;--ink:#453b35;--soft:#f6e8d7;--accent:#875341;--sage:#f2f0e2;background:var(--paper)}
.balloon-birthday h1,.balloon-birthday h2{font-family:Georgia,serif;font-weight:400;letter-spacing:-.035em}.balloon-birthday h1{font-size:clamp(68px,9vw,120px)}.balloon-birthday h2{font-size:clamp(32px,3.6vw,48px)}.balloon-birthday .hero{min-height:680px;padding-top:100px;padding-bottom:80px;grid-template-columns:1.1fr 1fr}.balloon-birthday .age{background:transparent;border-radius:0;font:italic 30px/1.2 Georgia,serif;margin-top:8px;padding:0;color:var(--accent)}.balloon-birthday .subtitle{font-size:23px;max-width:500px}.balloon-birthday .date{border:0;padding-top:0;font-size:20px}.balloon-birthday .art-stage{max-width:420px;animation:float 9s ease-in-out infinite}.balloon-birthday .art-stage img{max-height:500px}.balloon-birthday .intro{padding-top:40px}.balloon-birthday .postcard{transform:none;box-shadow:none;border:0;border-top:1px solid #b6a695;background:transparent;padding:50px 0 0;max-width:740px;text-align:center}.balloon-birthday .postcard:before{display:none}.balloon-birthday .venue{border-radius:0;background:var(--soft);grid-template-columns:100px 1fr;gap:7%;max-width:1100px;margin:auto;padding:60px 7%}.venue-symbol{width:80px;color:var(--accent)}.venue-symbol svg{display:block;width:100%;height:auto}.balloon-birthday .venue h2{margin-bottom:18px}.balloon-birthday .venue-copy{max-width:none}.balloon-birthday .invitation-details{background:var(--paper);padding-block:75px}.balloon-birthday .details-copy{max-width:740px;border-bottom:1px solid #b6a695;padding-bottom:35px}.balloon-birthday .rsvp{background:var(--sage);padding-block:65px}.balloon-birthday .rsvp summary,.balloon-birthday .rsvp form button{background:var(--ink);color:#fffcf4;border-radius:40px}.balloon-birthday .rsvp form{color:#453b35;background:#fffdf8}.balloon-birthday .closing{padding-block:55px 65px}.closing-line{width:60px;height:1px;background:var(--accent);margin:0 auto 30px}.balloon-birthday footer{background:var(--paper)}
.classic .hero{display:block;text-align:center;min-height:660px;isolation:isolate;padding-top:145px}.classic .hero-copy{max-width:480px;margin:auto}.classic .subtitle{margin:26px auto}.classic .art-stage{position:absolute;inset:70px 1% 30px;max-width:none;width:98%;height:auto;z-index:-1;pointer-events:none}.classic .art-stage img{width:100%;height:100%;max-height:none;object-fit:contain}.classic .hero .age{color:#93514e}.classic .hero h1{font-family:Safari,Arial,sans-serif;font-weight:900;letter-spacing:-.045em}.classic .hero .date{margin-top:15px}.classic .hero .subtitle{max-width:370px}.classic .hero-copy{background:radial-gradient(ellipse,#fffcf4 45%,#fffcf400 72%)}
.peach{--paper:#fff4eb;--ink:#593c35;--soft:#f3dfd2;--accent:#914d3d;--sage:#f1e3dc}.peach .hero-copy{padding-left:8%}.peach .hero h1{font-style:italic}.peach .art-stage{max-width:370px}.peach .intro{background:transparent}.peach .postcard{border-top:0;padding-top:35px}.peach .venue{margin:45px auto;border-radius:120px 120px 0 0}.peach .closing h2{font-style:italic}
.blue{--paper:#f5f9fc;--ink:#30485a;--soft:#e0eaf1;--accent:#466478;--sage:#e7eff5}.blue .hero{grid-template-columns:1fr 1fr}.blue .hero-copy{grid-column:2;grid-row:1}.blue .art-stage{grid-column:1;grid-row:1;max-width:360px}.blue .hero h1{font-family:Safari,Arial,sans-serif;font-weight:900;font-size:clamp(64px,8vw,104px)}.blue .hero .age{font:24px/1.4 Arial,sans-serif}.blue .postcard{border-color:#b6c9d6}.blue .venue{border-radius:22px}.blue .closing-line{background:#466478}
@media(max-width:1050px){.balloon-birthday.editing .hero{grid-template-columns:1fr}.balloon-birthday.editing .hero-copy,.balloon-birthday.editing .art-stage{grid-column:auto;grid-row:auto}.classic.editing .hero{display:block;min-height:630px}.classic.editing .hero-copy{max-width:330px}.classic.editing .art-stage{position:absolute;max-width:none}}
@media(max-width:760px){.balloon-birthday .hero{grid-template-columns:1fr;min-height:0;padding-top:95px;padding-bottom:35px;gap:15px}.balloon-birthday .hero h1,.balloon-birthday.editing .hero h1{font-size:clamp(62px,16vw,86px)}.balloon-birthday .hero .subtitle{font-size:23px;margin:22px auto}.balloon-birthday .hero .age{font-size:26px}.balloon-birthday .hero .art-stage{width:210px;max-width:80%;position:relative;inset:auto}.balloon-birthday .hero .art-stage img{height:250px;max-height:250px}.balloon-birthday .hero-copy{padding:0;grid-column:auto;grid-row:auto}.blue .art-stage{grid-column:auto;grid-row:auto}.balloon-birthday .intro{padding:35px 24px 50px}.balloon-birthday .postcard{padding:32px 0 0}.balloon-birthday .venue{grid-template-columns:1fr;gap:24px;padding:45px 24px;margin:0;border-radius:0}.venue-symbol{width:58px;margin:auto}.balloon-birthday .invitation-details{padding:48px 24px}.balloon-birthday .rsvp{padding:50px 24px}.balloon-birthday .closing{padding-block:45px}.balloon-birthday h2{font-size:34px}.classic .hero,.classic.editing .hero{display:flex;flex-direction:column;min-height:0}.classic .hero-copy{background:none;width:100%;max-width:none}.classic .hero .art-stage,.classic.editing .hero .art-stage{position:relative;inset:auto;width:100%;max-width:340px;height:175px;margin-top:8px;z-index:0}.classic .hero .art-stage img{height:175px;max-height:175px}.classic .hero .subtitle{max-width:300px}.classic .hero .date{margin-top:0}}
@media(prefers-reduced-motion:reduce){.balloon-birthday .art-stage{animation:none}}
/* Keep the peach greeting and its prose on the same centre axis. */
.balloon-birthday.peach .intro .postcard h2,
.balloon-birthday.peach .intro .postcard .invitation-prose{max-width:none;width:100%;margin-inline:auto;text-align:center!important;text-align-last:center!important}
/* Peach venue: a quiet invitation card. */
.balloon-birthday.peach .venue{display:flex;flex-direction:column;gap:20px;width:calc(100% - 48px);max-width:850px;margin:30px auto 55px;padding:48px 32px;background:transparent;border:1px solid #b98e7d;border-radius:8px;outline:1px solid #d8b8a7;outline-offset:-9px;text-align:center}
.peach .venue .venue-symbol{width:38px;margin:0 auto;color:var(--accent)}
.peach .venue .venue-copy{width:100%;text-align:center}
.peach .venue .eyebrow{margin-bottom:16px}
.peach .venue .venue-copy p:last-child{margin-bottom:0}
.peach .venue #venue-photo{width:100%;margin:0 auto}
.peach .venue #venue-photo img{height:auto;border-radius:4px}
@media(max-width:760px){.balloon-birthday.peach .venue{padding:38px 24px;margin-block:20px 40px}}
/* Give the peach balloon bouquet more presence on the cover. */
@media(min-width:761px){
 .balloon-birthday.peach .hero{grid-template-columns:1fr 1.1fr;gap:20px 3%;padding-inline:5%}
 .balloon-birthday.peach .hero .art-stage{width:112%;max-width:460px;justify-self:center}
 .balloon-birthday.peach .hero .art-stage img{max-height:600px}
}
@media(max-width:760px){
 .balloon-birthday.peach .hero .art-stage{width:275px;max-width:100%;margin-top:22px}
 .balloon-birthday.peach .hero .art-stage img{height:330px;max-height:330px}
}
@media(max-width:760px){
 body.balloon-birthday.peach #venue p[data-field="address"]{text-align:center!important;text-align-last:center!important}
}
@media(max-width:760px){
 .balloon-birthday.peach .venue #venue-photo img{display:block;width:100%;height:clamp(180px,55vw,300px);max-height:none;object-fit:cover;object-position:center}
}

/* Name and age share one baseline in Peach Party. */
.peach .birthday-name-age{display:flex;align-items:baseline;gap:clamp(14px,2vw,24px);max-width:100%}
.peach .birthday-name-age h1{min-width:0;flex:0 1 auto;margin:0}
.balloon-birthday.peach .hero .birthday-name-age .age{flex:0 0 auto;font-size:clamp(72px,8vw,104px);line-height:1.1;margin:0;padding:0;white-space:nowrap}
@media(max-width:760px){.peach .birthday-name-age{justify-content:center;gap:14px}.balloon-birthday.peach .hero .birthday-name-age .age{font-size:clamp(56px,16vw,80px)}}
/* Let the shared heading fitter shrink long localized names inside the grid. */
.peach .hero-copy{min-width:0;max-width:100%}
