/* Versioned seasonal lower sections: all meaningful copy stays in HTML. */
[hidden]{display:none!important}
.program-section{padding:22px 0 36px;scroll-margin-top:100px}
.program-banner,.birthday-heading{display:grid;grid-template-columns:1fr 1.1fr;gap:24px;align-items:center}
.program-banner{background:var(--lower-sage);border:1px solid var(--lower-border);border-radius:28px;overflow:hidden}
.program-copy{padding:32px 12px 32px 36px}.program-copy .eyebrow,.birthday-heading .eyebrow{margin-bottom:12px}
.program-section h2{font-size:clamp(2.1rem,3.5vw,3.2rem);line-height:1.12;margin-bottom:16px}
.program-copy>p:not(.eyebrow),.birthday-heading>div>p:not(.eyebrow){line-height:1.65;max-width:45ch}
.program-copy .button{margin-top:10px}.program-note{font-size:.875rem;color:var(--muted)}
.program-art{margin:0;position:relative;width:100%;aspect-ratio:2;overflow:hidden;min-width:0}
.program-art img{position:absolute;inset:0 auto auto 0;width:100%;max-width:none;height:auto}
.birthday-art img{transform:translateY(-50%)}
.birthday-heading{padding:18px 0 22px}.birthday-heading h2 span{display:block}
.birthday-packages{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.party-card{position:relative;display:flex;flex-direction:column;min-width:0;background:var(--surface);border:1px solid var(--lower-border);border-radius:24px;padding:28px 24px;overflow:hidden}
.party-lego{background:var(--lower-sage)}.party-creative{background:var(--lower-peach)}
.party-kind{font-size:.7rem;font-weight:700;letter-spacing:.06em;margin:12px 0}.party-number{font-family:"Roka Display",system-ui,sans-serif;color:var(--accent);font-size:2rem;line-height:1}
.party-card h3{font-size:1.6rem;line-height:1.2;margin:0}.party-card .party-price{font-family:"Roka Display",system-ui,sans-serif;font-size:2.4rem;font-weight:800;line-height:1.1;color:var(--accent);margin:22px 0 6px}
.party-card .quote-price{font-size:1.8rem}.party-capacity{font-size:.84rem;font-weight:700;margin:0 0 10px;padding-bottom:15px;border-bottom:1px solid var(--lower-border)}
.party-card>p:not(.party-price,.party-kind,.party-capacity){font-size:1rem;line-height:1.6;margin:8px 0 24px}.party-card .button{margin-top:auto;border:1px solid var(--ink);background:var(--surface);width:100%;min-height:52px;padding:12px 14px;font-size:1rem;gap:10px}
.party-terms{font-size:.875rem;color:var(--muted);line-height:1.65;max-width:88ch;margin:20px auto 0;text-align:center}
[data-theme=accessible] .program-art{display:none}[data-theme=accessible] .program-banner,[data-theme=accessible] .birthday-heading{grid-template-columns:1fr}[data-theme=accessible] .party-card{border:2px solid var(--ink)}
@media(max-width:1000px){.birthday-packages{gap:12px}.party-card{padding:24px 18px}.party-card h3{font-size:1.4rem}}
@media(max-width:760px){.program-section{width:calc(100% - 32px);padding:12px 0 30px}.program-banner,.birthday-heading{grid-template-columns:1fr;gap:8px}.program-copy{padding:28px 24px 8px}.program-section h2{font-size:clamp(2rem,8vw,2.7rem)}.program-copy .button{width:100%;white-space:normal;text-align:center}.birthday-heading{padding-top:12px}.birthday-heading>div{text-align:center}.birthday-heading>div>p{margin-inline:auto}.birthday-packages{grid-template-columns:1fr;gap:16px}.party-card{padding:24px}.party-card h3{font-size:1.7rem}.party-terms{text-align:left;margin:18px 8px 0}.party-kind{font-size:.74rem}.party-capacity{font-size:.94rem}.birthday-section .program-art{max-width:520px;justify-self:center}}
:root{--lower-sage:#d7e1c2;--lower-peach:#f8dfcf;--lower-border:#d6c4ae;--holiday-glow:#edb874}
:root[data-season=spring]{--lower-sage:#dce9cd;--lower-peach:#f6e1dd;--holiday-glow:#d9a7be}
:root[data-season=summer]{--lower-sage:#e5eccb;--lower-peach:#f9e4c5;--holiday-glow:#dfbd5e}
:root[data-season=winter]{--lower-sage:#dce8e3;--lower-peach:#e8e4df;--holiday-glow:#a8c7d2}
:root[data-theme=dark]{--lower-sage:#294435;--lower-peach:#40362f;--lower-border:#5f705d}
.lower-heading{text-align:center;margin:0 0 28px}.lower-heading .eyebrow{margin-bottom:10px}.lower-heading h2{font-size:clamp(2.3rem,4.2vw,3.7rem)}
.lower-meeting{padding:54px 0 30px}.meeting-grid{display:grid;grid-template-columns:1.12fr 1fr;align-items:center;gap:24px}
.story-art{position:relative;aspect-ratio:2.08;overflow:hidden;margin:0;isolation:isolate;min-width:0;width:100%}
.story-art>.season-sheet{position:absolute;inset:0 auto auto 0;width:100%;max-width:none;height:auto}
.story-calendar{border-radius:26px;background:linear-gradient(150deg,var(--lower-sage),transparent 80%)}
.story-booking>.season-sheet{transform:translateY(-34%)}.story-den>.season-sheet{transform:translateY(-66.75%)}
[data-season=autumn] .story-booking>.season-sheet{transform:translateY(-35%)}
[data-season=autumn] .story-den>.season-sheet{transform:translateY(-67.5%)}
.schedule-card{padding:26px 28px;border:1px solid var(--lower-border);border-radius:26px;background:var(--surface)}
.schedule-card h3{font-size:1.6rem}.schedule-rows{margin:10px 0 16px;font-variant-numeric:tabular-nums}.schedule-rows>div{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:12px 0;border-bottom:1px solid var(--line)}.schedule-rows>div:last-child{border:0}.schedule-rows dd{white-space:nowrap}
.minimum-note{display:flex;align-items:center;gap:14px;background:var(--lower-sage);border-radius:15px;padding:16px;margin:0;font-size:.97rem;line-height:1.5}.minimum-note .line-icon{width:34px;height:34px;flex-shrink:0}
.price-note{display:flex;align-items:flex-start;gap:16px;border-top:1px solid var(--line);margin-top:18px;padding-top:20px}.ticket-art{width:64px;min-width:64px;height:64px;color:var(--accent)}.price-note p{margin:6px 0 9px;line-height:1.5;font-size:1rem}.price-note .text-link{font-size:1rem;display:inline-block;min-height:44px;padding:8px 0}.schedule-note{font-size:.875rem;color:var(--muted);margin:10px 0 0;line-height:1.6}
.lower-booking{padding:0 0 36px}.booking-banner{display:grid;grid-template-columns:1fr 1.1fr;align-items:end;overflow:hidden;position:relative;isolation:isolate;background:var(--lower-peach);border-radius:28px}
.booking-copy{padding:38px 16px 32px 44px;position:relative;z-index:1;min-width:0}.booking-copy .eyebrow{margin-bottom:12px}.booking-copy h2{font-size:clamp(2.3rem,3.8vw,3.25rem);line-height:1.08}.booking-copy h2 span{display:block}.booking-copy #booking-status{margin:18px 0;max-width:38ch;font-size:1.07rem;line-height:1.6}
.booking-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.booking-phone .line-icon{width:23px;height:23px}.booking-actions .phone-number{flex-basis:100%;font-family:"Roka Display",system-ui,sans-serif;font-size:1.6rem;font-weight:700;text-decoration:none;min-height:44px}.booking-actions .phone-number:hover{text-decoration:underline}.booking-actions .button{min-height:52px}.booking-credit{border-top:1px solid var(--lower-border);padding-top:14px;font-size:.83rem;line-height:1.6;color:var(--muted);margin:12px 0 0}
.booking-banner .story-art{align-self:center}.lower-booking iframe{min-height:420px;scroll-margin-bottom:110px}.booking-actions #booking-external{min-height:44px;padding:9px 0}
.lower-contact{display:grid;grid-template-columns:1fr 1.13fr;gap:24px;align-items:end;padding:22px 0 0}.contact-copy{padding-bottom:20px;min-width:0}.contact-copy .eyebrow{margin-bottom:12px}.contact-copy h2{font-size:clamp(2rem,3.5vw,2.8rem);margin-bottom:22px;line-height:1.1}.contact-card{display:grid;grid-template-columns:60px minmax(0,1fr);column-gap:22px;background:var(--lower-sage);border-radius:24px;padding:27px}.pin-art{width:52px;height:62px;align-self:start;margin-top:8px;color:#738e60}.contact-card address{margin:0;font-size:1.05rem;line-height:1.65}.contact-card address>span,.contact-card address>strong{display:block}.contact-card .map-link{grid-column:2;margin-top:18px;width:fit-content;border:1px solid var(--ink);background:transparent;min-height:52px}
.decoration-note{font-size:.83rem;color:var(--muted);text-align:center;padding:14px 0 28px;margin-block:0}.footer{position:relative;border-top:5px solid var(--lower-sage)}
.holiday-ribbon{display:flex;align-items:center;justify-content:center;gap:22px;margin-top:32px;padding:14px 22px;border:1px solid var(--lower-border);border-radius:24px;background:var(--surface)}.holiday-ribbon strong{font-family:"Roka Display",system-ui,sans-serif;font-size:1.55rem;line-height:1.2;display:block}.holiday-ribbon #holiday-greeting{display:block;font-size:1rem;margin-top:5px}.holiday-ornament{display:block;width:92px;aspect-ratio:1;flex-shrink:0;background-image:var(--holiday-atlas,none);background-size:500% 200%;background-position:var(--holiday-x,0%) var(--holiday-y,0%);background-repeat:no-repeat}
.art-ornament{position:absolute;z-index:2;right:0;bottom:2px;width:clamp(65px,9vw,120px);pointer-events:none;filter:drop-shadow(0 3px 5px #17281f24)}.hero-ornament{position:absolute;right:18px;top:18px;z-index:2;width:90px;pointer-events:none}
[data-holiday=halloween] .schedule-card{border-color:#bb794c}[data-holiday=christmas] .schedule-card,[data-holiday=newyear] .schedule-card{border-color:#b29b61}
.holiday-web{display:none;position:absolute;right:0;top:0;width:95px;height:95px;color:#f6edda;opacity:.82;pointer-events:none;z-index:3}[data-holiday=halloween] .holiday-web{display:block}
.festive-particle{position:absolute;left:var(--left);top:-20px;width:9px;height:9px;opacity:0;animation:festive-drift var(--duration) linear var(--delay) infinite;pointer-events:none;background:#f5cc64;border-radius:2px}.festive-particle.petal{background:#f0bfc7;border-radius:90% 5% 80% 10%}.festive-particle.bubble{width:16px;height:16px;border:1px solid #fff;background:#d3eee730;border-radius:50%}.paused .festive-particle{animation-play-state:paused}@keyframes festive-drift{5%{opacity:.7}80%{opacity:.7}100%{transform:translate3d(20px,650px,0) rotate(150deg);opacity:0}}
[data-theme=accessible] .story-art,[data-theme=accessible] .holiday-ornament,[data-theme=accessible] .holiday-web,[data-theme=accessible] .ticket-art,[data-theme=accessible] .pin-art{display:none}
[data-theme=accessible] .meeting-grid,[data-theme=accessible] .booking-banner,[data-theme=accessible] .lower-contact{grid-template-columns:1fr}
[data-theme=accessible]{--lower-sage:#fff;--lower-peach:#fff;--lower-border:#102016}
[data-theme=accessible] .booking-banner,[data-theme=accessible] .contact-card{border:2px solid var(--ink)}[data-theme=accessible] .contact-card{display:block}[data-theme=accessible] .booking-copy{padding:28px}[data-theme=accessible] .price-note{gap:0}
@media(max-width:1000px){.meeting-grid{grid-template-columns:1fr 1fr;gap:18px}.schedule-card{padding:22px}.schedule-card h3{font-size:1.4rem}.booking-copy{padding:30px 16px 28px 28px}.contact-card{padding:22px;gap:14px;grid-template-columns:45px minmax(0,1fr)}.pin-art{width:40px;height:50px}}
@media(max-width:760px){
 .lower-meeting,.lower-booking,.lower-contact{width:calc(100% - 32px)}.lower-meeting{padding:32px 0 20px}.lower-heading{margin-bottom:20px}.lower-heading h2{font-size:clamp(2rem,8.3vw,2.8rem)}.lower-heading .eyebrow{font-size:.69rem;letter-spacing:.09em}
 .meeting-grid{grid-template-columns:1fr;gap:10px}.schedule-card{padding:22px 20px;border-radius:22px}.schedule-card h3{font-size:1.5rem}.schedule-rows>div{font-size:1rem;gap:8px;flex-wrap:wrap}.minimum-note{font-size:1rem;padding:14px;gap:12px}.price-note{gap:12px}.ticket-art{width:48px;min-width:48px;height:48px}.price-note h3{font-size:1.35rem}.price-note p{font-size:1rem}.schedule-note{font-size:.875rem}
 .booking-banner{grid-template-columns:1fr;border-radius:24px}.booking-copy{padding:28px 24px 14px}.booking-copy h2{font-size:clamp(2.1rem,8vw,3rem)}.booking-copy #booking-status{font-size:1rem}.booking-banner .story-art{grid-row:2}.booking-actions{gap:9px}.lower-booking .booking-actions .button{width:100%}.booking-actions .phone-number{font-size:1.65rem;text-align:center}.booking-credit{font-size:.875rem}.lower-booking{padding-bottom:22px}
 .lower-contact{grid-template-columns:1fr;gap:8px;padding-top:20px}.contact-copy{padding-bottom:0}.contact-copy h2{font-size:2.1rem;text-align:center}.contact-copy .eyebrow{text-align:center}.contact-card{padding:22px;grid-template-columns:42px minmax(0,1fr);gap:16px}.contact-card address{font-size:1rem}.contact-card .map-link{grid-column:1/-1;width:100%;margin-top:0}.pin-art{width:38px;height:48px}.decoration-note{font-size:.875rem;line-height:1.6;width:calc(100% - 48px);padding-bottom:22px}
 .holiday-ribbon{width:calc(100% - 32px);gap:10px;padding:12px 14px;margin-top:24px}.holiday-ribbon strong{font-size:1.3rem}.holiday-ribbon .holiday-ornament{width:64px}.holiday-ribbon .holiday-ornament:last-child{display:none}.holiday-ribbon #holiday-greeting{font-size:1rem}.hero-ornament{width:64px;top:10px;right:10px}.art-ornament{width:70px}.holiday-web{width:70px;height:70px}
}
@media(max-width:359px){.schedule-card{padding:20px 16px}.schedule-rows>div{display:block}.schedule-rows dd{margin-top:4px}.booking-copy{padding-inline:20px}.contact-card{column-gap:10px;padding:20px 16px}.contact-copy h2{font-size:1.9rem}}
@media(prefers-reduced-motion:reduce){.festive-particle,.snow{display:none!important}}
@media print{.holiday-ribbon,.holiday-ornament,.decoration-note,.booking-actions,.map-link{display:none}.lower-meeting,.lower-booking,.lower-contact{break-inside:avoid}.footer{padding-bottom:20px}}
