/* Curious Pop: Fredoka headings and the approved playful wordmark. */
:root{--font-display:"Fredoka",ui-rounded,system-ui,sans-serif;--apricot:#ffb36b}
/* Curious Pop also identifies navigation, actions and practical highlights. */
button,select,summary,label,nav a,.nav-cta,.primary-cta,.secondary-cta,.submit,.text-link,.program-cta,.program-detail,.language-links a,.booking-price,.eyebrow,.kicker,.program-number,.program-body .label,.format-card .badge,.booking-program-picker{font-family:var(--font-display);font-weight:600;font-synthesis:none}
.nav .lang button,.audience-controls button,.booking-mode button,.format-card .badge,.booking-details-toggle{font-family:var(--font-display);font-weight:600;font-synthesis:none}
.marce-player-start,.marce-player-sound,.marce-player-notice button,.avatar-greeting{font-family:var(--font-display);font-weight:600;font-synthesis:none}
.booking-dialog-head p,#booking-session-details{font-family:var(--font-display);font-weight:600;font-synthesis:none}
h1,h2,h3,h1 strong,.program-body h3,.format-card h3{font-family:var(--font-display);font-weight:600;font-synthesis:none}
h1{font-size:clamp(42px,4.7vw,64px);line-height:1.04;letter-spacing:-.025em}
h2{font-size:clamp(28px,2.9vw,36px);line-height:1.12;letter-spacing:-.015em}
h3{letter-spacing:-.01em;line-height:1.15}
.brand{display:inline-block;font-family:var(--font-display);font-weight:600;letter-spacing:-.02em;font-size:24px;line-height:1.2;transform:rotate(-2deg);white-space:nowrap}
.brand .brand-ai{display:inline-block;background:var(--apricot);color:var(--ink);padding:3px 5px 4px;border-radius:8px;transform:rotate(5deg);margin-right:2px}
.brand .brand-dot{color:var(--blue)}
.brand-perched{position:relative;margin-top:16px}
.brand-perched .brand-ai,.brand-perched .brand-name{position:relative}
.brand-perched .brand-name{display:inline-block;color:inherit}
.wordmark-mascot{position:absolute;display:block;max-width:none;height:auto;pointer-events:none;user-select:none}
.wordmark-marce{width:2.65em;left:50%;bottom:calc(100% - .35em);transform:translateX(-45%)}
.wordmark-robot{width:1em;left:1px;bottom:calc(100% - .12em)}
header .nav{min-height:96px}
.trust-note{margin-top:15px;color:var(--green);font-size:14px;font-weight:700;line-height:1.55}
.hero-note{font-size:14px}
.program-body h3{font-size:31px;letter-spacing:-.015em;line-height:1.1}
.program-description{min-height:78px}
.program-bullets{margin:14px 0 18px;padding-left:19px;color:var(--muted);line-height:1.5}
.program-bullets li{padding-left:2px}
.program-bullets li+li{margin-top:7px}
.program-bullets li::marker{color:var(--green)}
.format-card h3{font-size:28px}
.booking-card h3{font-family:var(--font-display);font-size:25px;font-weight:600;line-height:1.15}
.booking-dialog-head h2{font-family:var(--font-display);font-weight:600}
.footer-brand{font-size:22px}
.footer-brand.brand-perched{margin-top:18px}
.group-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.group-grid .group-card{display:flex;flex-direction:column;align-items:flex-start;min-width:0;padding:21px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}
.group-card h3{margin-top:14px;font-size:25px;line-height:1.12}
.group-symbol{color:var(--green)}
.group-bullets{flex:1;margin:14px 0 20px;padding-left:17px;color:var(--muted);font-size:15px;line-height:1.5}
.group-bullets li+li{margin-top:7px}
.group-bullets li::marker{color:var(--green)}
.group-card .text-link{margin-top:auto;font-size:14px}
.adults .district-note{max-width:850px}
@media(max-width:1100px){.group-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.group-grid{grid-template-columns:1fr;gap:16px}.group-grid .group-card{padding:22px}.group-card h3{font-size:27px}.group-bullets{font-size:16px}}
/* Keep language choice in the primary bar at every breakpoint. */
@media(max-width:1100px){.nav-actions>.lang{display:flex}.mobile-menu-footer{display:none}}
@media(min-width:761px) and (max-width:1100px){.brand{font-size:22px}.program-body h3{font-size:27px}}
@media(max-width:760px){h1{font-size:clamp(38px,8vw,55px)}.program-body h3{font-size:31px}.program-description{min-height:0}.brand{font-size:23px}.trust-note{font-size:13px}.hero .lede{font-size:18px}.format-card h3{font-size:27px}.booking-card h3{font-size:25px}.nav-actions{gap:6px}.nav-actions>.lang{gap:0}.nav-actions>.lang button{min-width:36px;min-height:40px;padding:0;font-size:12px}.menu-toggle{width:40px;height:40px}}
@media(max-width:360px){h1{font-size:36px}.brand{font-size:20px}.program-body h3{font-size:29px}.nav{gap:8px}.nav-actions{gap:4px}.nav-actions>.lang button{min-width:34px;font-size:11px}.menu-toggle{width:38px;height:38px}}
