﻿/* Reference composition, phones only. */
@media (max-width: 767px) {
 .home-stats { width:100%; max-width:430px; box-sizing:border-box; margin:auto; padding:36px 20px 0; overflow:hidden; background:#fff; }
 .home-stats__header { padding:0; margin:0 0 20px; text-align:center; gap:14px; }
 .home-stats__header h2 { margin:0; font-size:clamp(30px,8vw,38px); font-weight:800; line-height:1.08; }
 .home-stats__header h2 em { color:#2ea2d4; font-size:inherit; font-style:italic; }
 .home-stats__header > p { margin:0 auto; max-width:100%; font-size:14px; line-height:1.6; }
 .community-stats__stage { gap:0; }
 .community-stats__scroller { padding:0; overflow:visible; }
 .home-stats .mobile-journey { display:block; position:relative; width:100%; min-width:0; height:650px; min-height:650px; aspect-ratio:auto; margin:0; isolation:isolate; }
 .home-stats .community-stats__mobile-art, .home-stats .community-stats__path { display:none; }
 .mobile-journey::before { content:none; }
 .community-stats__mobile-route { display:block; position:absolute; inset:0; width:100%; height:100%; overflow:visible; pointer-events:none; z-index:0; }
 .community-stats__mobile-line { fill:none; stroke:#55aeef; stroke-width:3; stroke-linecap:round; vector-effect:non-scaling-stroke; opacity:.85; }
 .journey-moving-dot { display:block; position:absolute; top:0; left:0; width:14px; height:14px; border:2px solid white; border-radius:50%; background:#219ee5; box-shadow:0 0 10px #55aeef55; opacity:0; z-index:4; pointer-events:none; }
 .home-stats .community-stat { position:absolute; inset:auto; top:24px; left:4%; display:flex; flex-direction:row; align-items:center; gap:12px; width:88%; min-height:86px; padding:0 12px 0 0; box-sizing:border-box; border:1px solid #e0f0fb; border-radius:60px; background:linear-gradient(100deg,#edf7ff,#fff); box-shadow:0 10px 22px #247ac00a; text-align:left; transform:none; opacity:1; z-index:2; }
 .home-stats .community-stat:nth-of-type(2) { top:184px; left:12%; }
 .home-stats .community-stat:nth-of-type(3) { top:344px; left:0; }
 .home-stats .community-stat:nth-of-type(4) { top:504px; left:12%; }
 .home-stats .community-stat__copy { display:block; flex:1; min-width:0; }
 .home-stats .community-stat__icon { position:relative; flex:0 0 82px; width:82px; height:82px; margin:0; border:7px solid #edf7ff; border-radius:50%; background:#fff; box-shadow:0 5px 18px #1f90dc24; transition:none; }
 .home-stats .community-stat__icon img { width:42px; height:42px; object-fit:contain; }
 .home-stats .community-stat__icon::after { content:none; }
 .home-stats .community-stat__icon::before { content:''; position:absolute; top:-17px; left:calc(50% - 6px); width:12px; height:12px; border:3px solid white; border-radius:50%; background:#209ee8; box-shadow:0 0 0 1px #b8e3ff; }
 .home-stats .community-stat__value { justify-content:flex-start; color:#129ae1; font-size:clamp(32px,9vw,40px); font-weight:800; letter-spacing:-.055em; line-height:1.05; white-space:nowrap; opacity:1; }
 .home-stats .community-stat p { color:#123b68; margin:6px 0 0; font-size:14px; font-weight:600; line-height:1.35; opacity:1; }
 .home-stats .community-stat__blob { display:block; position:absolute; left:-12px; top:-20px; width:115px; height:115px; fill:#d9efff; opacity:.2; z-index:-1; pointer-events:none; }
 .home-stats .community-stat:nth-of-type(3) .community-stat__blob { fill:#fff0cf; }
 .home-stats .community-stats__student { width:min(100%,310px); height:auto; margin:50px auto 0; padding:0; }
 .home-stats .community-stats__student img { position:relative; inset:auto; display:block; width:100%; height:auto; max-height:none; object-fit:contain; filter:none; }
 .home-stats .community-stats__student-halo { inset:auto -8% 0; width:116%; background:#e4f3ff; border-radius:50%; box-shadow:none; }
}
@media (max-width:359px) {
 .home-stats .community-stat { gap:9px; padding-right:8px; }
 .home-stats .community-stat__icon { flex-basis:66px; width:66px; height:66px; border-width:5px; }
 .home-stats .community-stat__icon img { width:36px; height:36px; }
 .home-stats .community-stat__value { font-size:32px; }
 .home-stats .community-stat p { font-size:13px; }
}
@media (max-width:767px) and (prefers-reduced-motion:reduce) { .journey-moving-dot { display:none; } }
