/* Bubble-led visual language, matching the official coral/orange/teal logo. */
.hero{min-height:600px;background:radial-gradient(circle at 85% 12%,#fff 0 4%,transparent 4.2%),#fff8f5}
.hero .visual{height:510px}
.hero .sun,.hero .flower,.hero .visual-word,.hero .dot{display:none}
.bubble-scene{height:100%;width:100%;position:relative;isolation:isolate}
.bubble-face{position:absolute;display:block;border:5px solid #192122;border-radius:50%;box-shadow:0 18px 32px #3e5a4b16;animation:bob 5s ease-in-out infinite}
.bubble-face:after{content:'';position:absolute;left:34%;top:51%;width:30%;height:16%;border:5px solid #192122;border-top:0;border-radius:0 0 80px 80px;transform:rotate(-13deg);background:#fff}
.bubble-face.pink{width:180px;height:180px;top:11%;left:22%;background:#ed8e98;animation-delay:-1.5s}
.bubble-face.orange{width:157px;height:157px;top:46%;left:7%;background:#f5b35b;animation-delay:-3s}
.bubble-face.teal{width:245px;height:245px;top:35%;right:9%;background:#88aaa0;animation-delay:-.5s}
.bubble-mini{position:absolute;display:block;border:4px solid #192122;border-radius:50%;background:#ffe4dd}
.bubble-mini.one{width:30px;height:30px;top:11%;right:19%}.bubble-mini.two{width:17px;height:17px;top:4%;left:57%}.bubble-mini.three{width:42px;height:42px;bottom:13%;left:20%;background:#e4f0ec}.bubble-mini.four{width:22px;height:22px;bottom:3%;right:24%;background:#ffdcae}
@keyframes bob{50%{transform:translateY(-12px)}}@media(prefers-reduced-motion:reduce){.bubble-face{animation:none}}
.approach .art{background:#fff9f6;min-height:380px}
.approach .art .middle,.approach .art .bits{display:none}
.approach .art .bubble-face.pink{width:125px;height:125px;left:18%;top:14%}
.approach .art .bubble-face.orange{width:105px;height:105px;left:10%;top:54%}
.approach .art .bubble-face.teal{width:175px;height:175px;right:12%;top:38%}
.approach .art .bubble-mini.one{right:12%;top:16%}
.program-deep{background:#fffdf9}
.program-deep .section-heading{max-width:900px}
.program-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.program-tile{background:#fbf3ee;border-radius:26px;padding:28px;min-height:245px;position:relative}
.program-tile:nth-child(2){background:#e9f2ee}.program-tile:nth-child(3){background:#fff0d8}
.program-number{width:45px;height:45px;display:grid;place-items:center;border-radius:50%;background:#f1a0a5;font:600 1.2rem Fredoka;color:#292d2a;margin-bottom:22px}
.development{background:#eaf3ef}
.domain-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:13px;margin-top:35px}
.domain-card{background:white;border-radius:22px;padding:22px 17px;min-height:210px}
.domain-card .mini-icon{font-size:2rem;display:block;margin-bottom:16px}
.domain-card h3{font-size:1.12rem}
.domain-card p{font-size:.86rem;line-height:1.55;margin:0}
.learning-moments{background:#fff9f5}
.moment-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:35px}
.moment{padding:23px;background:white;border:2px solid #f1e5da;border-radius:22px}
.moment:nth-child(2n){border-color:#bad8ce}
.moment-icon{display:block;font-size:1.8rem;margin-bottom:14px}
.moment h3{font-size:1.18rem}
.moment p{font-size:.9rem;margin:0}
.age-detail{background:#f6e3df}
.age-list{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.age-panel{background:#fffaf7;border-radius:25px;padding:30px;border-top:8px solid #ed8e98}
.age-panel:nth-child(2){border-color:#f5b35b}.age-panel:nth-child(3){border-color:#88aaa0}.age-panel:nth-child(4){border-color:#dba6ae}
.age-panel h3{font-size:1.65rem}.age-panel p{margin-bottom:0}
.age-tag{font-weight:800;font-size:.85rem;letter-spacing:.12em;color:#9b5960;text-transform:uppercase}
.inquiry{background:#fff}
.inquiry-showcase{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center}
.inquiry-calendar{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.inquiry-pill{border-radius:18px;background:#e4f0eb;padding:19px}
.inquiry-pill:nth-child(2),.inquiry-pill:nth-child(3){background:#fce4de}
.inquiry-pill:nth-child(4){background:#ffeed0}
.inquiry-pill small{display:block;text-transform:uppercase;letter-spacing:.1em;font-size:.7rem;font-weight:800;margin-bottom:7px}
.inquiry-pill strong{font-family:Fredoka;font-size:1.18rem;font-weight:500}
.family{background:#e2f0ec}
.family-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:45px;align-items:center}
.download-panel{padding:28px;border-radius:25px;background:white;display:grid;gap:13px}
.download-panel a{padding:15px 17px;text-decoration:none;border-radius:14px;background:#f9e7e3;font-weight:700;display:flex;justify-content:space-between;gap:10px}
.download-panel a:nth-of-type(2){background:#e6f1ed}
.download-panel a:hover{text-decoration:underline}
.section-note{color:#5b6e69;font-size:.9rem}
@media(max-width:1000px){.domain-grid{grid-template-columns:repeat(3,1fr)}.moment-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.hero .visual{height:330px}.bubble-face.pink{width:122px;height:122px;top:5%;left:23%}.bubble-face.orange{width:108px;height:108px;top:40%;left:8%}.bubble-face.teal{width:170px;height:170px;top:30%;right:11%}.bubble-face:after{border-width:4px}.program-grid,.inquiry-showcase,.family-grid{grid-template-columns:1fr}.domain-grid{grid-template-columns:repeat(2,1fr)}.moment-grid,.age-list{grid-template-columns:1fr}.program-tile{min-height:0}.bubble-mini.one{right:12%}}
@media(max-width:430px){.domain-grid{grid-template-columns:1fr}.inquiry-calendar{grid-template-columns:1fr 1fr}.inquiry-pill{padding:15px}}
