
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Fredoka:wght@500;600;700&display=swap');

:root{
  --yellow:#ffd62e;
  --blue:#246bfd;
  --pink:#f63d8d;
  --green:#50d890;
  --mint:#baf7df;
  --purple:#7c4dff;
  --orange:#ff7a32;
  --red:#ff4c4c;
  --cyan:#32cae9;
  --cream:#fff8e8;
  --ink:#171636;
  --white:#fff;
  --muted:#6f6b7d;
  --line:#ddd4c5;
  --shadow:0 24px 60px rgba(32,30,77,.16);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:"DM Sans",sans-serif;overflow-x:hidden}
h1,h2,h3,h4,h5,h6{font-family:"Fredoka",sans-serif;letter-spacing:-.035em}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}
button,input,select,textarea{font:inherit}
.skip-link{position:fixed;left:1rem;top:-5rem;z-index:3000;background:#fff;padding:.8rem 1rem}.skip-link:focus{top:1rem}

.top-burst{background:var(--blue);color:#fff;font-size:.74rem;font-weight:700}.top-burst .container-fluid{min-height:38px;display:flex;justify-content:center;align-items:center;gap:4rem}.top-burst a{color:var(--yellow);border-bottom:1px solid currentColor}
.site-header{position:sticky;top:0;z-index:1100;background:rgba(255,248,232,.97);border-bottom:3px solid var(--ink);backdrop-filter:blur(12px)}
.navbar{min-height:82px}.navbar-brand{display:flex;align-items:center;gap:.75rem}.logo-sun{width:52px;height:52px;display:grid;place-items:center;border-radius:43% 57% 44% 56% / 58% 41% 59% 42%;background:var(--yellow);border:3px solid var(--ink);font-family:"Fredoka";font-size:1.6rem;font-weight:700;transform:rotate(-7deg)}.logo-copy{display:flex;flex-direction:column}.logo-copy strong{font-family:"Fredoka";font-size:1.05rem}.logo-copy small{font-size:.66rem;color:var(--muted)}
.nav-link{font-size:.75rem;font-weight:700;padding:.8rem .72rem!important;border-radius:999px}.nav-link:hover,.nav-link.active{background:var(--yellow);color:var(--ink)}.nav-actions{display:flex;gap:.55rem}.navbar-toggler{font-size:1.8rem;color:var(--ink)}.offcanvas{z-index:1200!important;background:var(--cream)}.offcanvas-backdrop{z-index:1150!important}.offcanvas-logo{font-family:"Fredoka";font-size:1.4rem;font-weight:700}

.btn{border-radius:999px;padding:.86rem 1.25rem;font-weight:700;border-width:3px;box-shadow:4px 4px 0 var(--ink);transition:.2s ease}.btn:hover{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--ink)}.btn-blue{background:var(--blue);border-color:var(--ink);color:#fff}.btn-blue:hover{background:#1859db;color:#fff}.btn-pink{background:var(--pink);border-color:var(--ink);color:#fff}.btn-pink:hover{background:#d92d77;color:#fff}.btn-yellow{background:var(--yellow);border-color:var(--ink);color:var(--ink)}.btn-yellow:hover{background:#f3c600;color:var(--ink)}

.section-space{padding:7rem 0}.mini-kicker{display:inline-block;font-size:.69rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;margin-bottom:1rem}.mini-kicker.light{color:#fff}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:3rem}.section-heading h2{font-size:clamp(3rem,5.7vw,6rem);line-height:.95;max-width:930px}.bubble-link{display:inline-flex;align-items:center;gap:.6rem;padding:.8rem 1rem;border:3px solid var(--ink);border-radius:999px;background:#fff;font-weight:700;box-shadow:4px 4px 0 var(--ink)}

.hero{position:relative;display:grid;grid-template-columns:1fr 1fr;min-height:calc(100vh - 120px);background:var(--yellow);overflow:hidden}.hero::before{content:"";position:absolute;inset:0;background-image:radial-gradient(var(--ink) 1.3px,transparent 1.3px);background-size:28px 28px;opacity:.12}.hero-copy{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;padding:6vw}.hero-copy h1{font-size:clamp(4.8rem,8vw,8.4rem);line-height:.82}.hero-copy h1 span{display:inline-block;color:var(--pink);transform:rotate(-3deg);text-shadow:4px 4px 0 var(--ink);-webkit-text-stroke:2px var(--ink)}.hero-copy>p{max-width:650px;font-size:1.13rem;line-height:1.75}.hero-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2rem}.hero-badges{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem;margin-top:2.5rem}.hero-badges span{padding:1rem;border:3px solid var(--ink);background:#fff;transform:rotate(-1deg)}.hero-badges span:nth-child(2){transform:rotate(1deg);background:var(--mint)}.hero-badges span:nth-child(3){background:#e6d9ff}.hero-badges strong{display:block}
.hero-photo-wrap{position:relative;display:grid;place-items:center;padding:4vw}.hero-blob{width:88%;height:78%;overflow:hidden;border:4px solid var(--ink);border-radius:35% 65% 54% 46% / 44% 38% 62% 56%;transform:rotate(2deg);box-shadow:14px 14px 0 var(--blue)}.hero-blob img{width:100%;height:100%;object-fit:cover}.sticker{position:absolute;z-index:3;display:grid;place-items:center;text-align:center;border:3px solid var(--ink);font-family:"Fredoka";font-weight:700;box-shadow:5px 5px 0 var(--ink)}.sticker-yellow{right:4%;top:10%;width:120px;height:120px;border-radius:50%;background:#fff}.sticker-mint{left:2%;bottom:15%;padding:1rem;background:var(--mint);transform:rotate(-8deg)}.photo-caption{position:absolute;right:5%;bottom:6%;max-width:330px;padding:1rem;background:var(--pink);color:#fff;border:3px solid var(--ink);transform:rotate(3deg);font-family:"Fredoka";font-size:1.2rem}.doodle{position:absolute;z-index:2;font-family:"Fredoka";font-size:4rem}.doodle-star{left:48%;top:8%;color:var(--pink)}.doodle-loop{left:48%;bottom:10%;color:var(--blue)}.doodle-zigzag{right:2%;top:40%;color:var(--green)}

.rainbow-ticker{overflow:hidden;background:var(--ink);color:#fff;border-top:4px solid var(--ink);border-bottom:4px solid var(--ink)}.ticker-track{display:flex;width:max-content;align-items:center;padding:1rem 0;animation:ticker 25s linear infinite}.ticker-track span{margin:0 1.4rem;font-family:"Fredoka";font-size:1.2rem}.ticker-track i{font-style:normal;color:var(--yellow)}@keyframes ticker{to{transform:translateX(-50%)}}

.activities-preview{background:#fff}.activity-orbit{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.orbit-card{position:relative;padding:1rem;border:3px solid var(--ink);box-shadow:7px 7px 0 var(--ink);transition:.23s ease}.orbit-card:nth-child(odd){transform:rotate(-1.2deg)}.orbit-card:nth-child(even){transform:rotate(1.2deg)}.orbit-card:hover{transform:translateY(-8px) rotate(0)}.orbit-card img{width:100%;height:280px;object-fit:cover;border:3px solid var(--ink);border-radius:25px 8px 25px 8px}.orbit-pink{background:#ffd5e7}.orbit-blue{background:#d7e4ff}.orbit-green{background:#cdf7dc}.orbit-yellow{background:#fff0a9}.orbit-number{position:absolute;right:1.2rem;top:1.2rem;z-index:2;width:46px;height:46px;display:grid;place-items:center;border:3px solid var(--ink);border-radius:50%;background:#fff;font-weight:700}.orbit-card>span{display:block;margin-top:1rem;font-size:.65rem;font-weight:700;letter-spacing:.1em}.orbit-card h3{font-size:2rem}.orbit-card p{color:var(--muted)}.activity-meta{display:flex;justify-content:space-between;padding:1rem 0;border-top:2px dashed var(--ink);font-size:.78rem}.orbit-card>a{font-weight:700;color:var(--blue)}

.find-activity{display:grid;grid-template-columns:1fr 1fr;background:var(--purple);color:#fff}.find-copy{padding:6vw}.find-copy h2{font-size:clamp(3.5rem,6vw,6rem)}.find-copy>p{color:#e1d8ff}.quiz-card{margin-top:2rem;padding:2rem;background:#fff;color:var(--ink);border:4px solid var(--ink);box-shadow:10px 10px 0 var(--yellow);transform:rotate(-1deg)}.quiz-step{display:none}.quiz-step.active{display:block}.quiz-step h3{font-size:2rem}.quiz-options{display:grid;gap:.7rem}.quiz-options button{border:3px solid var(--ink);background:var(--cream);padding:1rem;text-align:left;font-weight:700}.quiz-options button:hover{background:var(--yellow)}.quiz-result{padding:1rem;margin-bottom:1rem;background:var(--mint);border:3px solid var(--ink)}.quiz-restart{display:block;margin-top:1rem;border:0;background:transparent;text-decoration:underline}.find-photo{position:relative;min-height:720px}.find-photo img{width:100%;height:100%;object-fit:cover}.scribble{position:absolute;right:1rem;top:1rem;width:160px;height:160px;display:grid;place-items:center;border-radius:48% 52% 44% 56%;background:var(--yellow);color:var(--ink);border:4px solid var(--ink);text-align:center;font-family:"Fredoka";font-size:1.3rem;transform:rotate(8deg)}

.step-ribbon{display:grid;grid-template-columns:repeat(4,1fr)}.step-ribbon article{position:relative;padding:2rem;border:3px solid var(--ink);margin-left:-3px}.step-ribbon article:first-child{margin-left:0}.step-ribbon span{position:absolute;right:1rem;top:1rem;font-family:"Fredoka";font-size:2rem}.step-ribbon i{font-size:2.5rem}.step-ribbon h3{font-size:2rem}.step-ribbon p{color:var(--muted)}.step-one{background:#ffd7e8}.step-two{background:#d6e4ff}.step-three{background:#cbf4db}.step-four{background:#fff0a8}

.week-board{display:grid;grid-template-columns:.7fr 1.3fr;background:var(--blue);color:#fff}.week-intro{padding:5vw}.week-intro h2{font-size:4.8rem}.week-intro p{color:#cfddff}.week-days{display:grid;grid-template-columns:1fr 1fr}.week-days article{padding:1.5rem;border-left:2px solid rgba(255,255,255,.35);border-bottom:2px solid rgba(255,255,255,.35)}.week-days article:nth-child(2),.week-days article:nth-child(3){background:rgba(255,255,255,.08)}.week-days span{font-size:.66rem;letter-spacing:.1em;color:var(--yellow)}.week-days h3{font-size:1.7rem}.week-days p{color:#c9d7ff}.week-days strong{display:block}.week-days a{display:inline-block;margin-top:1rem;padding:.45rem .7rem;background:var(--yellow);color:var(--ink);font-weight:700;border:2px solid var(--ink)}

.birthday-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:5rem;align-items:center}.birthday-photo{position:relative}.birthday-photo img{width:100%;height:650px;object-fit:cover;border:4px solid var(--ink);border-radius:50% 50% 10px 10px;box-shadow:12px 12px 0 var(--pink)}.party-hat{position:absolute;right:-1rem;top:-2rem;font-size:8rem;color:var(--yellow);-webkit-text-stroke:4px var(--ink);transform:rotate(14deg)}.birthday-copy h2{font-size:clamp(3.5rem,6vw,6rem)}.birthday-copy p{color:var(--muted);font-size:1.08rem}.birthday-pills{display:flex;flex-wrap:wrap;gap:.6rem;margin:2rem 0}.birthday-pills span{padding:.65rem .85rem;border:3px solid var(--ink);border-radius:999px;background:#fff;font-weight:700}.birthday-pills span:nth-child(2){background:var(--mint)}.birthday-pills span:nth-child(3){background:#ffd9e8}

.family-voices{background:#fff}.voices-head{display:flex;justify-content:space-between;align-items:center}.voice-score{display:flex;gap:1rem;align-items:center}.voice-score strong{font-family:"Fredoka";font-size:4rem}.voice-score span{color:#f4a900}.family-voices blockquote{font-family:"Fredoka";font-size:clamp(2.4rem,4.5vw,4.8rem);line-height:1.15;margin:3rem 0}.family-voices blockquote footer{font-family:"DM Sans";font-size:.85rem;color:var(--muted);margin-top:1.2rem}.voice-controls{display:flex;gap:.6rem}.voice-controls button{width:50px;height:50px;border:3px solid var(--ink);border-radius:50%;background:var(--yellow)}

.final-pop-cta{position:relative;display:flex;justify-content:space-between;align-items:end;gap:3rem;padding:7rem 5vw;background:var(--pink);color:#fff;overflow:hidden}.final-pop-cta h2{font-size:clamp(3.7rem,6vw,6.5rem);max-width:900px}.final-pop-cta p{max-width:650px;color:#ffdbe9}.floating-shape{position:absolute;border:4px solid var(--ink)}.shape-circle{width:120px;height:120px;border-radius:50%;background:var(--yellow);right:28%;top:-45px}.shape-square{width:75px;height:75px;background:var(--green);left:2%;bottom:-25px;transform:rotate(25deg)}.shape-triangle{width:0;height:0;border-left:55px solid transparent;border-right:55px solid transparent;border-bottom:95px solid var(--blue);border-top:0;right:5%;bottom:-10px}

.page-hero{position:relative;display:grid;grid-template-columns:1.2fr .8fr;gap:4rem;align-items:end;padding:6rem 5vw;overflow:hidden}.page-hero h1{font-size:clamp(4rem,7vw,7rem);line-height:.9}.page-hero>p{font-size:1.1rem;line-height:1.7}.page-hero-doodle{position:absolute;right:3%;top:5%;font-family:"Fredoka";font-size:10rem;opacity:.2}.page-hero-blue{background:var(--blue);color:#fff}.page-hero-pink{background:var(--pink);color:#fff}.page-hero-yellow{background:var(--yellow)}
.catalog-toolbar{display:grid;grid-template-columns:1fr auto auto;gap:1rem;align-items:center}.catalog-search{display:grid;grid-template-columns:40px 1fr;align-items:center;border-bottom:3px solid var(--ink)}.catalog-search input{border:0;background:transparent;padding:.8rem 0;outline:0}.filter-row{display:flex;gap:.6rem}.filter-row select{padding:.75rem;border:3px solid var(--ink);background:#fff;font-weight:700}.catalog-toolbar>span{font-weight:700}
.catalog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.catalog-card{border:3px solid var(--ink);box-shadow:6px 6px 0 var(--ink);transition:.22s}.catalog-card:hover{transform:translateY(-7px)}.card-pink{background:#ffd5e7}.card-blue{background:#d6e4ff}.card-green{background:#cdf5dd}.card-yellow{background:#fff0a9}.card-purple{background:#e5d8ff}.card-orange{background:#ffd9c4}.card-cyan{background:#d3f6fc}.card-red{background:#ffd4d4}.catalog-photo{position:relative;height:300px;overflow:hidden;border-bottom:3px solid var(--ink)}.catalog-photo img{width:100%;height:100%;object-fit:cover}.catalog-photo>span{position:absolute;left:.8rem;top:.8rem;padding:.45rem .65rem;border:2px solid var(--ink);background:#fff;font-weight:700}.catalog-copy{padding:1.2rem}.catalog-copy small{font-size:.64rem;font-weight:700;letter-spacing:.1em}.catalog-copy h2{font-size:2rem}.catalog-copy p{color:var(--muted)}.catalog-copy>div{display:flex;justify-content:space-between;padding:1rem 0;border-top:2px dashed var(--ink);font-size:.78rem}.catalog-copy>a{font-weight:700;color:var(--blue)}.empty-catalog{text-align:center;padding:5rem}.empty-catalog>span{display:inline-grid;place-items:center;width:90px;height:90px;border:4px solid var(--ink);border-radius:50%;background:var(--yellow);font-family:"Fredoka";font-size:3rem}

.activity-detail-hero{display:grid;grid-template-columns:1fr 1fr;min-height:78vh;background:#ffd5e7}.activity-title{display:flex;flex-direction:column;justify-content:center;padding:6vw}.activity-title h1{font-size:clamp(4.5rem,8vw,8rem);line-height:.86}.activity-title>p{font-size:1.12rem;line-height:1.7}.detail-tags{display:flex;flex-wrap:wrap;gap:.6rem;margin:1.5rem 0}.detail-tags span{padding:.6rem .8rem;border:3px solid var(--ink);border-radius:999px;background:#fff;font-weight:700}.activity-detail-photo{position:relative}.activity-detail-photo img{width:100%;height:100%;object-fit:cover}.detail-sticker{position:absolute;right:2rem;bottom:2rem;padding:1.2rem;border:4px solid var(--ink);background:var(--yellow);font-family:"Fredoka";font-size:1.3rem;transform:rotate(-5deg);box-shadow:6px 6px 0 var(--ink)}
.detail-story{display:grid;grid-template-columns:1fr 1fr;gap:5rem}.detail-story h2{font-size:clamp(3.5rem,6vw,6rem)}.detail-story p{color:var(--muted);font-size:1.08rem;line-height:1.8}.skill-bubbles{display:grid;grid-template-columns:repeat(4,1fr)}.skill-bubbles article{padding:1.5rem;border:3px solid var(--ink);border-radius:50% 50% 12px 12px;min-height:270px}.skill-bubbles article:nth-child(1){background:#ffd5e7}.skill-bubbles article:nth-child(2){background:#d6e4ff}.skill-bubbles article:nth-child(3){background:#cdf5dd}.skill-bubbles article:nth-child(4){background:#fff0a9}.skill-bubbles span{font-family:"Fredoka";font-size:2rem}.skill-bubbles p{color:var(--muted)}
.session-flow{display:grid;grid-template-columns:.8fr 1.2fr;background:var(--purple);color:#fff}.flow-intro{padding:5vw}.flow-intro h2{font-size:4.8rem}.flow-steps{display:grid;grid-template-columns:1fr 1fr}.flow-steps>div{padding:2rem;border-left:2px solid rgba(255,255,255,.35);border-bottom:2px solid rgba(255,255,255,.35)}.flow-steps strong{display:block;font-family:"Fredoka";font-size:2rem;color:var(--yellow)}
.practical-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:1rem}.practical-card{padding:2rem;background:var(--yellow);border:4px solid var(--ink)}.practical-card h2{font-size:3.5rem}.practical-card dl>div{display:flex;justify-content:space-between;padding:1rem 0;border-bottom:2px dashed var(--ink)}.next-slots{padding:2rem;background:#fff;border:4px solid var(--ink)}.next-slots article{display:grid;grid-template-columns:1fr auto auto;gap:1rem;align-items:center;padding:1rem 0;border-bottom:2px dashed var(--line)}.next-slots div span{display:block;color:var(--muted)}.next-slots em{font-style:normal;color:var(--pink);font-weight:700}.next-slots a{padding:.55rem .7rem;border:2px solid var(--ink);background:var(--blue);color:#fff;font-weight:700}

.agenda-controls{display:flex;justify-content:space-between;align-items:center;gap:2rem}.week-nav{display:flex;align-items:center;gap:1rem}.week-nav button{width:46px;height:46px;border:3px solid var(--ink);border-radius:50%;background:var(--yellow)}.agenda-filters{display:flex;flex-wrap:wrap}.agenda-filters button{padding:.7rem .85rem;border:3px solid var(--ink);background:#fff;margin-left:-3px}.agenda-filters button:first-child{margin-left:0}.agenda-filters button.active{background:var(--ink);color:#fff}
.agenda-board{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.day-column{border-top:4px solid var(--ink)}.day-column header{display:flex;justify-content:space-between;align-items:center;padding:1rem}.day-column header span{font-weight:700}.day-column header strong{font-family:"Fredoka";font-size:3rem}.agenda-event{position:relative;margin-bottom:1rem;padding:1.1rem;border:3px solid var(--ink);box-shadow:5px 5px 0 var(--ink)}.event-pink{background:#ffd5e7}.event-cyan{background:#d3f6fc}.event-purple{background:#e5d8ff}.event-blue{background:#d6e4ff}.event-orange{background:#ffd9c4}.event-green{background:#cdf5dd}.event-yellow{background:#fff0a9}.event-red{background:#ffd4d4}.agenda-event small{font-weight:700}.agenda-event h3{font-size:1.45rem}.agenda-event p{color:var(--muted);margin-bottom:.5rem}.agenda-event>span{font-size:.72rem;font-weight:700}.agenda-event>a{position:absolute;right:.7rem;bottom:.7rem;width:35px;height:35px;display:grid;place-items:center;border:2px solid var(--ink);border-radius:50%;background:#fff;font-weight:700}

.birthday-hero{position:relative;display:grid;grid-template-columns:1fr 1fr;min-height:75vh;background:var(--pink);color:#fff;overflow:hidden}.birthday-hero-copy{display:flex;flex-direction:column;justify-content:center;padding:6vw}.birthday-hero h1{font-size:clamp(4.2rem,7.5vw,7.5rem);line-height:.88}.birthday-hero p{color:#ffd9e9}.birthday-hero>img{width:100%;height:100%;object-fit:cover}.confetti{position:absolute;z-index:2;border:4px solid var(--ink)}.confetti-one{width:60px;height:60px;background:var(--yellow);left:45%;top:10%;transform:rotate(25deg)}.confetti-two{width:90px;height:35px;background:var(--blue);left:2%;bottom:10%;transform:rotate(-15deg)}.confetti-three{width:70px;height:70px;border-radius:50%;background:var(--green);right:4%;bottom:4%}
.party-formats{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.party-formats article{padding:2rem;border:4px solid var(--ink);box-shadow:7px 7px 0 var(--ink)}.party-pink{background:#ffd5e7;transform:rotate(-1deg)}.party-blue{background:#d6e4ff;transform:translateY(-1rem) rotate(1deg)}.party-green{background:#cdf5dd;transform:rotate(-1deg)}.party-formats article>span{font-family:"Fredoka";font-size:3rem}.party-formats h3{font-size:2.5rem}.party-formats p,.party-formats li{color:var(--muted)}.party-formats strong{display:block;margin-top:2rem}
.party-builder{display:grid;grid-template-columns:.8fr 1.2fr;gap:5rem;padding:6rem 5vw;background:var(--blue);color:#fff}.builder-intro h2{font-size:5rem}.builder-intro p{color:#cddcff}.builder-card{display:grid;grid-template-columns:1fr 1fr;gap:1rem;padding:2rem;background:#fff;color:var(--ink);border:4px solid var(--ink);box-shadow:10px 10px 0 var(--yellow)}.builder-card label{font-size:.75rem;font-weight:700}.builder-card select,.builder-card input{display:block;width:100%;margin-top:.5rem}.builder-card select{min-height:52px;padding:.7rem;border:3px solid var(--ink)}.builder-options{grid-column:span 2;display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem}.builder-options label{padding:1rem;border:3px solid var(--ink);background:var(--cream)}.builder-result{grid-column:span 2;padding:1.5rem;background:var(--pink);color:#fff;border:3px solid var(--ink)}.builder-result span,.builder-result strong{display:block}.builder-result strong{font-family:"Fredoka";font-size:3rem;margin:.5rem 0}
.party-timeline{display:grid;grid-template-columns:repeat(5,1fr);border-top:4px solid var(--ink)}.party-timeline>div{padding:1.5rem;border-right:3px solid var(--ink)}.party-timeline strong{display:block;font-family:"Fredoka";font-size:1.7rem;color:var(--pink)}

.family-guide-grid{display:grid;grid-template-columns:300px 1fr;gap:3rem}.family-nav{display:flex;flex-direction:column;align-self:start;position:sticky;top:120px}.family-nav button{border:3px solid var(--ink);background:#fff;padding:1rem;text-align:left;margin-top:-3px;font-weight:700}.family-nav button:first-child{margin-top:0}.family-nav button.active{background:var(--blue);color:#fff}.family-panels{min-height:520px}.family-panel{display:none;padding:3rem;border:4px solid var(--ink);background:#fff;box-shadow:10px 10px 0 var(--yellow)}.family-panel.active{display:block}.family-panel h2{font-size:4rem}.family-panel li{padding:1rem 0;border-bottom:2px dashed var(--line);font-size:1.05rem}
.family-cards .container-fluid{display:grid;grid-template-columns:repeat(4,1fr)}.family-cards article{padding:2rem;border:3px solid var(--ink);margin-left:-3px}.family-cards article:first-child{margin-left:0;background:#ffd5e7}.family-cards article:nth-child(2){background:#d6e4ff}.family-cards article:nth-child(3){background:#fff0a9}.family-cards article:nth-child(4){background:#cdf5dd}.family-cards i{font-size:2.5rem}.family-cards p{color:var(--muted)}

.team-hero{display:grid;grid-template-columns:1fr 1fr;min-height:75vh;background:var(--green)}.team-hero>div{display:flex;flex-direction:column;justify-content:center;padding:6vw}.team-hero h1{font-size:clamp(4rem,7vw,7rem);line-height:.9}.team-hero>img{width:100%;height:100%;object-fit:cover}
.team-pop-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.team-pop-grid article{padding:1rem;border:4px solid var(--ink);box-shadow:6px 6px 0 var(--ink)}.team-yellow{background:#fff0a9}.team-pink{background:#ffd5e7}.team-blue{background:#d6e4ff}.team-green{background:#cdf5dd}.team-face{height:280px;display:grid;place-items:center;border:3px solid var(--ink);border-radius:50% 50% 10px 10px;background:#fff;font-family:"Fredoka";font-size:4rem}.team-pop-grid small{display:block;margin-top:1rem;font-weight:700}.team-pop-grid h2{font-size:2rem}.team-pop-grid p{color:var(--muted)}.team-pop-grid>article>span{font-size:.72rem;font-weight:700}
.pedagogy-section{display:grid;grid-template-columns:1fr 1fr;background:var(--purple);color:#fff}.pedagogy-photo img{width:100%;height:100%;min-height:650px;object-fit:cover}.pedagogy-copy{display:flex;flex-direction:column;justify-content:center;padding:6vw}.pedagogy-copy h2{font-size:5rem}.pedagogy-copy p{color:#e2d9ff}.pedagogy-values{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:2rem}.pedagogy-values span{padding:.7rem 1rem;border:3px solid #fff;border-radius:999px;font-weight:700}

.contact-pop{display:grid;grid-template-columns:.9fr 1.1fr}.contact-copy{padding:6vw;background:var(--blue);color:#fff}.contact-copy h1{font-size:clamp(4rem,7vw,7rem);line-height:.9}.contact-copy>p{color:#d1ddff}.contact-lines{margin:2rem 0;border-top:2px solid rgba(255,255,255,.4)}.contact-lines>div{display:flex;justify-content:space-between;gap:1rem;padding:1rem 0;border-bottom:2px solid rgba(255,255,255,.4)}.contact-lines span{color:#cdd9ff}.contact-hours{padding:1rem;border:3px solid #fff;background:rgba(255,255,255,.1)}.contact-form-wrap{padding:6vw;background:#fff}.contact-form-wrap h2{font-size:4rem}
.form-label{font-size:.74rem;font-weight:700}.form-control,.form-select{border-radius:12px;border:3px solid var(--ink);min-height:52px;box-shadow:none!important}.form-control:focus,.form-select:focus{border-color:var(--pink)}.check-line{display:flex;align-items:center;gap:.6rem}
.map-pop{position:relative;height:420px;overflow:hidden;background:#cdf5dd;border-top:4px solid var(--ink)}.map-streets{position:absolute;inset:0;background-image:linear-gradient(rgba(23,22,54,.12) 3px,transparent 3px),linear-gradient(90deg,rgba(23,22,54,.12) 3px,transparent 3px);background-size:80px 80px;transform:rotate(8deg) scale(1.25)}.map-river{position:absolute;left:-10%;top:45%;width:120%;height:70px;background:var(--cyan);transform:rotate(-10deg)}.map-pin-pop{position:absolute;left:55%;top:38%;display:flex;align-items:center;gap:.6rem;padding:.8rem;border:3px solid var(--ink);background:var(--pink);color:#fff;box-shadow:5px 5px 0 var(--ink)}.map-pin-pop span{width:35px;height:35px;display:grid;place-items:center;border-radius:50%;background:var(--yellow);color:var(--ink);font-family:"Fredoka"}.map-note{position:absolute;left:2rem;bottom:2rem;padding:1rem;border:3px solid var(--ink);background:#fff;transform:rotate(-2deg);font-weight:700}

.reservation-pop{display:grid;grid-template-columns:.85fr 1.15fr;min-height:calc(100vh - 120px)}.reservation-visual{position:relative}.reservation-visual>img{width:100%;height:100%;object-fit:cover}.reservation-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent,rgba(30,18,70,.8))}.reservation-visual>div{position:absolute;z-index:2;left:4vw;right:4vw;bottom:4rem;color:#fff}.reservation-visual h1{font-size:5rem}.reservation-widget{padding:5vw;background:var(--cream)}.reservation-progress{display:flex;align-items:center;margin-bottom:4rem}.reservation-progress span{width:42px;height:42px;display:grid;place-items:center;border:3px solid var(--ink);border-radius:50%;background:#fff;font-weight:700}.reservation-progress span.active{background:var(--yellow)}.reservation-progress i{flex:1;height:3px;background:var(--ink)}.reservation-step{display:none}.reservation-step.active{display:block}.reservation-step h2{font-size:4rem}.reservation-choices,.slot-choices{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}.reservation-choices button,.slot-choices button{display:grid;text-align:left;padding:1rem;border:3px solid var(--ink);background:#fff;box-shadow:4px 4px 0 var(--ink)}.reservation-choices button:nth-child(1){background:#ffd5e7}.reservation-choices button:nth-child(2){background:#d6e4ff}.reservation-choices button:nth-child(3){background:#cdf5dd}.reservation-choices button:nth-child(4){background:#e5d8ff}.reservation-choices button.selected,.slot-choices button.selected{outline:5px solid var(--pink)}.reservation-choices span,.slot-choices span{color:var(--muted)}.slot-choices em{font-style:normal;color:var(--pink);font-weight:700}.reservation-summary{padding:1rem;margin-bottom:1.5rem;border:3px solid var(--ink);background:var(--yellow)}.reservation-back{margin-top:2rem;border:0;background:transparent;text-decoration:underline}

.request-pop{display:grid;grid-template-columns:.9fr 1.1fr}.request-visual{position:relative;min-height:100vh}.request-visual>img{width:100%;height:100%;object-fit:cover}.request-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent,rgba(25,18,65,.85))}.request-visual>div:last-child{position:absolute;z-index:2;left:4vw;right:4vw;bottom:4rem;color:#fff}.request-visual h1{font-size:5.5rem}.request-shapes span{position:absolute;z-index:2;border:4px solid var(--ink)}.request-shapes span:nth-child(1){width:100px;height:100px;border-radius:50%;background:var(--yellow);left:5%;top:5%}.request-shapes span:nth-child(2){width:80px;height:80px;background:var(--pink);right:8%;top:10%;transform:rotate(25deg)}.request-shapes span:nth-child(3){width:120px;height:45px;background:var(--green);right:3%;bottom:30%;transform:rotate(-20deg)}.request-form-wrap{padding:5vw;background:#fff}.request-form-wrap h2{font-size:4rem}

.photo-lightbox{position:fixed;inset:0;z-index:2000;display:none;place-items:center;padding:2rem;background:rgba(20,15,55,.93)}.photo-lightbox.active{display:grid}.photo-lightbox img{max-width:92vw;max-height:88vh}.photo-lightbox button{position:absolute;right:2rem;top:2rem;width:50px;height:50px;border:3px solid #fff;border-radius:50%;background:transparent;color:#fff}
.toast-demo{position:fixed;right:1rem;bottom:1rem;z-index:2100;display:none;max-width:390px;padding:1rem 1.2rem;border:3px solid var(--ink);background:var(--yellow);color:var(--ink);box-shadow:6px 6px 0 var(--ink)}.toast-demo.active{display:block}

.footer{position:relative;padding:7rem 0 1.5rem;background:var(--ink);color:#c9c7d3;overflow:hidden}.footer-waves{position:absolute;left:-5%;right:-5%;top:-30px;height:70px;background:var(--pink);border-radius:50%}.footer-top{display:flex;justify-content:space-between;align-items:end;gap:3rem;padding-bottom:4rem;border-bottom:2px solid #3e3c5e}.footer-top h2{font-size:clamp(3.5rem,6vw,6rem);max-width:900px;color:#fff}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.2fr;gap:3rem;padding:3rem 0}.footer-brand{display:flex;gap:1rem}.footer-sun{flex:0 0 52px;color:var(--ink)}.footer-brand strong{color:#fff;font-family:"Fredoka";font-size:1.2rem}.footer-brand p{max-width:380px;color:#85829e}.footer h3{font-family:"DM Sans";font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--yellow)}.footer li{margin:.55rem 0}.footer a{color:#c9c7d3}.footer a:hover{color:#fff}.footer p{color:#85829e}.footer-bottom{display:flex;justify-content:space-between;gap:2rem;padding-top:1.5rem;border-top:2px solid #3e3c5e;font-size:.76rem;color:#65627c}

@media(max-width:1199.98px){
  .activity-orbit,.team-pop-grid{grid-template-columns:1fr 1fr}
  .catalog-grid{grid-template-columns:1fr 1fr}
  .agenda-board{grid-template-columns:1fr 1fr}
  .family-cards .container-fluid{grid-template-columns:1fr 1fr}
}
@media(max-width:991.98px){
  .site-header{backdrop-filter:none}.offcanvas{position:fixed!important;inset:0 0 0 auto;height:100dvh}.offcanvas-body{display:flex;flex-direction:column}.nav-actions{flex-direction:column;margin-top:1.5rem}.nav-actions .btn{width:100%}
  .hero,.find-activity,.week-board,.birthday-grid,.activity-detail-hero,.session-flow,.birthday-hero,.party-builder,.team-hero,.pedagogy-section,.contact-pop,.reservation-pop,.request-pop{grid-template-columns:1fr}
  .hero-photo-wrap{min-height:700px}.hero-blob{height:88%}
  .section-heading{align-items:flex-start;flex-direction:column}
  .step-ribbon,.skill-bubbles{grid-template-columns:1fr 1fr}
  .week-days{grid-template-columns:1fr 1fr}
  .detail-story,.practical-grid{grid-template-columns:1fr}
  .flow-steps{grid-template-columns:1fr 1fr}
  .catalog-toolbar{grid-template-columns:1fr}.filter-row{flex-wrap:wrap}
  .page-hero{grid-template-columns:1fr}.page-hero-doodle{font-size:7rem}
  .party-formats{grid-template-columns:1fr}.party-blue{transform:rotate(1deg)}
  .party-timeline{grid-template-columns:1fr 1fr}
  .family-guide-grid{grid-template-columns:1fr}.family-nav{position:static;display:grid;grid-template-columns:1fr 1fr}
  .pedagogy-photo img{min-height:600px}
  .footer-top{align-items:flex-start;flex-direction:column}.footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:767.98px){
  .top-burst span{display:none}.top-burst .container-fluid{justify-content:center}
  .section-space{padding:5rem 0}.hero-copy h1{font-size:4.3rem}.hero-photo-wrap{min-height:580px}.hero-badges{grid-template-columns:1fr}
  .activity-orbit,.catalog-grid,.team-pop-grid{grid-template-columns:1fr}.orbit-card:nth-child(n){transform:none}
  .step-ribbon,.skill-bubbles{grid-template-columns:1fr}.step-ribbon article{margin-left:0;margin-top:-3px}.step-ribbon article:first-child{margin-top:0}
  .week-days{grid-template-columns:1fr}.voices-head{align-items:flex-start;flex-direction:column}
  .final-pop-cta{align-items:flex-start;flex-direction:column}
  .next-slots article{grid-template-columns:1fr auto}.next-slots a{grid-column:1/3}
  .agenda-controls{align-items:flex-start;flex-direction:column}.agenda-board{grid-template-columns:1fr}
  .builder-card{grid-template-columns:1fr}.builder-options,.builder-result{grid-column:auto}.builder-options{grid-template-columns:1fr}
  .party-timeline{grid-template-columns:1fr}.party-timeline>div{border-right:0;border-bottom:3px solid var(--ink)}
  .family-nav{grid-template-columns:1fr}.family-panel{padding:2rem}.family-panel h2{font-size:3rem}
  .family-cards .container-fluid{grid-template-columns:1fr}.family-cards article{margin-left:0;margin-top:-3px}
  .reservation-choices,.slot-choices{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column}
}
@media(max-width:520px){
  .logo-copy small{display:none}.hero-copy{padding:4rem 1.2rem}.hero-copy h1{font-size:3.65rem}.hero-photo-wrap{min-height:500px}.hero-blob{width:94%}
  .sticker-yellow{width:90px;height:90px}.photo-caption{font-size:1rem}
  .find-copy,.week-intro{padding:4rem 1.2rem}.find-copy h2,.week-intro h2{font-size:3.6rem}
  .page-hero h1{font-size:3.7rem}.activity-title h1{font-size:4rem}
  .flow-steps{grid-template-columns:1fr}.party-builder{padding:4rem 1.2rem}.builder-intro h2{font-size:3.7rem}
  .reservation-widget,.request-form-wrap{padding:4rem 1.2rem}.reservation-step h2,.request-form-wrap h2{font-size:3.2rem}
  .request-visual h1{font-size:3.8rem}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.ticker-track{animation:none}*{transition:none!important}}
