/* Homepage-specific details: playful, tactile accents with the theme's existing school palette. */
.hero-note--formats{display:grid;gap:11px;max-width:500px;margin-top:28px}
.hero-note--formats>div{display:grid;grid-template-columns:38px 1fr;align-items:center;gap:11px}
.hero-note--formats b{width:36px;height:36px;border-radius:13px;background:var(--lemon);font-size:15px;transform:rotate(-5deg)}
.hero-note--formats>div:nth-child(2) b{background:var(--mint);transform:rotate(5deg)}
.hero-note--formats span{font-size:12px;line-height:1.5}
.hero-note--formats strong{color:var(--ink)}

/* The native select remains visible without JS; the enhancement replaces it only after setup. */
.pricing-controls select[data-age-select][hidden]{display:none}
.pricing-head{z-index:3}
.age-picker{position:relative;min-width:min(260px,100%);z-index:5}
.age-picker-trigger{width:100%;min-height:45px;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:10px 15px;border:1px solid rgba(255,255,255,.45);border-radius:999px;background:var(--paper);color:var(--ink);font-size:13px;font-weight:800;text-align:left;cursor:pointer}
.age-picker-trigger:after{content:"";width:9px;height:9px;border-right:2px solid var(--pink);border-bottom:2px solid var(--pink);transform:rotate(45deg) translateY(-2px);transition:transform .2s}
.age-picker.is-open .age-picker-trigger:after{transform:rotate(225deg) translate(-2px,-1px)}
.age-picker-list{position:absolute;top:calc(100% + 9px);left:0;right:0;z-index:20;display:grid;gap:4px;padding:7px;background:var(--paper);border:1px solid rgba(65,80,103,.12);border-radius:19px;box-shadow:0 18px 40px rgba(36,47,63,.22);max-height:min(320px,50vh);overflow:auto}
.age-picker-list[hidden]{display:none}
.age-picker-option{width:100%;border:0;border-radius:13px;padding:11px 12px;background:transparent;color:var(--ink);font-size:12px;font-weight:700;text-align:left;cursor:pointer;transition:background .18s,color .18s,transform .18s}
.age-picker-option:hover,.age-picker-option:focus-visible{background:#fff0f5;color:var(--pink-dark)}
.age-picker-option[aria-selected=true]{background:#fce1eb;color:#a91f53}
.age-picker-option:active{transform:scale(.985)}

.reviews{background:#fff8ef;overflow:hidden}
.reviews:before{content:"";position:absolute;left:-160px;top:135px;width:340px;height:340px;border-radius:50%;background:#d9effb;opacity:.58;pointer-events:none}
.reviews .wrap{position:relative}
.reviews-heading{display:flex;align-items:end;justify-content:space-between;gap:34px}
.reviews-heading .section-title em{font-style:normal;color:var(--pink);position:relative}
.reviews-heading .section-title em:after{content:"";position:absolute;left:2%;right:-2%;height:7px;bottom:-6px;border-top:2px solid var(--lemon);border-radius:50%;transform:rotate(-2deg)}
.reviews-heading .section-lead{max-width:560px}
.reviews-controls{display:flex;gap:9px;padding-bottom:8px;flex:none}
.reviews-arrow{width:48px;height:48px;border:1px solid rgba(65,80,103,.22);border-radius:50%;background:var(--paper);color:var(--ink);font-size:22px;cursor:pointer;transition:background .2s,color .2s,transform .2s}
.reviews-arrow:hover{background:var(--ink);color:white;transform:translateY(-2px)}
.reviews-demo-note{display:flex;align-items:center;gap:10px;margin:27px 0 18px;padding:10px 14px;border-left:3px solid var(--pink);background:#fff0f5;color:#8b3655;font-size:12px;font-weight:700}
.reviews-demo-note span{display:grid;place-items:center;width:19px;height:19px;border-radius:50%;background:var(--pink);color:white;font-size:12px}
.reviews-carousel{overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;outline-offset:8px}
.reviews-carousel::-webkit-scrollbar{display:none}
.reviews-track{display:grid;grid-auto-columns:minmax(290px,31.6%);grid-auto-flow:column;gap:20px;padding:5px 2px 18px}
.reviews-track:after{content:"";width:calc((min(1160px, 100vw - 48px) * .684) - 24px);pointer-events:none}
.reviews-track--pair{grid-auto-columns:calc((100% - 20px)/2)}
.reviews-track--pair:after{width:calc((min(1160px, 100vw - 48px) - 20px)/2)}
.reviews-arrow:disabled{opacity:.35;cursor:default;transform:none}
.review-slide.is-active{border-color:rgba(241,56,123,.45);box-shadow:0 13px 32px rgba(177,37,88,.13)}
.review-slide{scroll-snap-align:start;min-height:360px;padding:24px 23px 20px;border:1px solid rgba(65,80,103,.1);border-radius:26px;background:#fffdf9;box-shadow:0 13px 32px rgba(65,80,103,.08);display:flex;flex-direction:column;position:relative;overflow:hidden;transition:transform .25s,box-shadow .25s}
.review-slide:hover{transform:translateY(-4px);box-shadow:0 18px 39px rgba(65,80,103,.13)}
.review-slide:nth-child(3n+2){background:#f0f8fd}
.review-slide:nth-child(3n){background:#fff5db}
.review-card-top{display:flex;justify-content:space-between;align-items:center}
.review-type{display:inline-flex;border-radius:99px;background:rgba(65,80,103,.08);padding:6px 10px;color:#647287;font-size:10px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}
.review-mark{font:400 43px/.7 var(--font-display);color:var(--pink);opacity:.74}
.review-quote{margin:22px 0 25px;color:#536177;font-size:16px;line-height:1.7}
.review-bottom{display:flex;justify-content:space-between;align-items:end;gap:12px;margin-top:auto;padding-top:16px;border-top:1px solid rgba(65,80,103,.12)}
.review-bottom strong{display:block;font-size:13px;line-height:1.4}
.review-author-note{display:block;margin-top:5px;color:#7c8794;font-size:10px;line-height:1.4}
.review-rating{text-align:right;white-space:nowrap}
.review-rating>span{display:block;color:#dc9a24;letter-spacing:.12em;font-size:13px}
.review-rating small{display:block;margin-top:3px;color:#738095;font-size:10px}
.review-video-frame{position:relative;min-height:168px;margin:18px 0 13px;border-radius:17px;background:#e8f3fa;overflow:hidden;display:grid;place-items:center}
.review-video-frame video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#34445a}
.review-video-poster{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:11px;padding:18px;color:#5a6a7f;font-size:11px;font-weight:700;text-align:center;pointer-events:none;background:radial-gradient(circle at 50% 42%,#fff4d3 0 12%,transparent 13%),linear-gradient(140deg,#d7effb,#fae0eb)}
.video-play-disc{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--pink);color:white;padding-left:3px;box-shadow:0 7px 17px rgba(177,37,88,.2)}
.review-video-frame.is-loaded .review-video-poster{opacity:0;visibility:hidden;transition:opacity .2s}
.review-video-error{position:absolute;inset:0;z-index:3;display:flex;flex-wrap:wrap;align-content:center;justify-content:center;gap:9px;padding:20px;background:#fff5e7;color:var(--ink);text-align:center}
.review-video-error[hidden]{display:none}
.review-video-error p{width:100%;margin:0 0 3px;font-size:12px}
.review-video-error button,.review-video-error a{border:1px solid rgba(65,80,103,.18);border-radius:999px;padding:8px 11px;background:var(--paper);color:var(--ink);font-size:10px;font-weight:800;cursor:pointer}
.review-video-error a{color:var(--pink-dark)}
.review-play{align-self:flex-start;margin:0 0 16px;padding:0;border:0;background:none;color:var(--pink-dark);font-size:12px;font-weight:800;cursor:pointer}
.review-play:hover{text-decoration:underline;text-underline-offset:4px}
.reviews-footer{display:flex;justify-content:space-between;align-items:center;margin-top:13px}
.reviews-dots{display:flex;align-items:center;gap:8px}
.reviews-dots button{width:9px;height:9px;padding:0;border:0;border-radius:99px;background:#c7d1dc;cursor:pointer;transition:width .25s,background .25s}
.reviews-dots button[aria-current=true]{width:29px;background:var(--pink)}
.reviews-count{font:700 12px/1 var(--font-body);color:#6f7c8d;font-variant-numeric:tabular-nums}
.reviews-count i{padding:0 5px;color:#c0c8d1;font-style:normal}
@media(max-width:960px){.reviews-track{grid-auto-columns:minmax(270px,48%)}}
@media(min-width:721px) and (max-width:960px){.reviews-track:after{width:calc((100vw - 48px) * .52 - 24px)}}
@media(max-width:720px){
	.hero-note--formats{max-width:440px}
	.pricing-controls{position:relative;z-index:6}
	.age-picker{width:100%;min-width:0}
	.reviews-heading{display:block}
	.reviews-controls{margin-top:18px}
.reviews-track{grid-auto-columns:86%;gap:13px}
.reviews-track--pair{grid-auto-columns:86%}
.reviews-track:after{width:calc((min(560px, 100vw - 36px) * .14) - 17px)}
	.review-slide{min-height:340px;padding:21px 19px 18px}
	.reviews-demo-note{align-items:flex-start;font-size:11px}
}
@media(prefers-reduced-motion:reduce){.reviews-carousel{scroll-behavior:auto}.review-slide,.reviews-arrow,.age-picker-option,.age-picker-trigger:after{transition:none}}
