:root{--sky:#bfe6ff;--sun:#ffc928;--pink:#ff7aa8;--green:#6cc04a;--blue:#3a8dff;--purple:#8a5cf0;--orange:#ff8a3d;--ink:#2a2350}
*{box-sizing:border-box}
body{margin:0;background:#fffaf0;color:var(--ink);font:18px/1.55 "Trebuchet MS","Comic Sans MS",system-ui,sans-serif;-webkit-text-size-adjust:100%}
h1,h2,h3{font-family:"Trebuchet MS","Comic Sans MS",system-ui,sans-serif;margin:0 0 .4em;line-height:1.15}
h2{font-size:clamp(1.6rem,6vw,2.2rem);text-align:center;color:var(--purple)}
h3{font-size:1.3rem}
img{max-width:100%;height:auto;display:block}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

.hero{background:linear-gradient(180deg,var(--sky) 0%,#e6f6ff 100%);text-align:center;padding:16px 12px 26px;border-bottom:8px solid var(--green)}
.hero-img{margin:0 auto;border-radius:24px;box-shadow:0 6px 0 rgba(42,35,80,.15);max-width:760px;width:100%}
.tagline{font-size:clamp(1.3rem,6vw,1.9rem);font-weight:700;color:var(--ink);margin:16px 8px 12px}
.bounce{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}
.bounce span{width:48px;height:48px;display:grid;place-items:center;border-radius:14px;color:#fff;font-weight:800;font-size:1.4rem;animation:hop 1.6s ease-in-out infinite}
.bounce span:nth-child(1){background:var(--pink)}
.bounce span:nth-child(2){background:var(--orange);animation-delay:.15s}
.bounce span:nth-child(3){background:var(--green);animation-delay:.3s}
.bounce span:nth-child(4){background:var(--blue);animation-delay:.45s}
.bounce span:nth-child(5){background:var(--purple);animation-delay:.6s}
.bounce span:nth-child(6){background:#e8a800;animation-delay:.75s}
@keyframes hop{0%,60%,100%{transform:translateY(0)}30%{transform:translateY(-10px)}}

.section{padding:36px 16px;max-width:960px;margin:0 auto}
.alt{max-width:none;background:#fff1c9}
.alt>*{max-width:900px;margin-left:auto;margin-right:auto}

.friends{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:14px}
.friend{background:#fff;border-radius:22px;padding:14px 10px 16px;text-align:center;border:4px solid var(--c,var(--blue));box-shadow:0 5px 0 rgba(42,35,80,.12)}
.friend img,.voice{width:min(130px,100%);aspect-ratio:1;margin:0 auto 8px;border-radius:50%;object-fit:cover;border:4px solid var(--c,var(--blue));background:#fff}
.voice{display:grid;place-items:center;font-size:3.2rem;background:#efe6ff}
.friend h3{color:var(--c,var(--blue))}
.friend p{margin:0;font-size:.95rem}
.c1{--c:var(--pink)}.c2{--c:#e0463f}.c3{--c:var(--purple)}.c4{--c:var(--orange)}.c5{--c:var(--green)}.c6{--c:#e8508a}.c7{--c:var(--blue)}
.standin{display:flex;align-items:center;gap:14px;max-width:520px;margin:26px auto 0;padding:10px 14px;background:#fff;border:3px dashed var(--orange);border-radius:18px}
.standin img{width:72px;height:72px;flex:none;border-radius:50%;object-fit:cover;border:3px solid var(--orange)}
.standin h3{font-size:1.05rem;color:var(--orange);margin:0 0 2px}
.standin p{margin:0;font-size:.95rem}

.learn{list-style:none;margin:0 auto;padding:0;display:grid;gap:10px}
.learn li{background:#fff;border-radius:16px;padding:12px 16px;font-weight:700;display:flex;align-items:center;gap:12px;box-shadow:0 4px 0 rgba(42,35,80,.1)}
.learn span{font-size:1.6rem}

.parents{background:#fff;border:3px dashed var(--blue);border-radius:22px;margin:28px 14px;padding:24px 18px;font-size:1rem}
.parents h2{font-size:1.4rem;color:var(--blue)}
.grownup-links{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:10px;grid-template-columns:1fr 1fr}
.slot-link{display:block;text-align:center;padding:10px;border:2px dashed #9aa6c9;border-radius:12px;color:#556;font-size:.95rem}
.slot-link small{display:block;font-size:.75rem}

footer{text-align:center;padding:24px 16px 40px;background:var(--sky);border-top:8px solid var(--green)}
footer p{margin:2px 0}
.small{font-size:.85rem}

@media (min-width:700px){
  .friends{grid-template-columns:repeat(3,1fr)}
  .learn{grid-template-columns:repeat(5,1fr)}
  .learn li{flex-direction:column;text-align:center}
  .grownup-links{grid-template-columns:repeat(4,1fr)}
  .parents{max-width:900px;margin:28px auto}
}
@media (min-width:900px){.friends{grid-template-columns:repeat(6,1fr)}}
@media (prefers-reduced-motion:reduce){.bounce span{animation:none}}
