/* V2.4 visual Parent Hub · keep participation bars distinct from mastery */
.v24-wrap{max-width:1120px;margin:28px auto 38px;scroll-margin-top:84px}.v24-wrap *{box-sizing:border-box}.v24-banner{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(210px,.75fr);align-items:center;gap:20px;border:1px solid #d5e6f7;border-radius:30px;background:linear-gradient(120deg,#e6f4ff 0%,#fff8ef 55%,#fff0f7 100%);padding:clamp(22px,4vw,42px);overflow:hidden}.v24-banner h2{font-size:clamp(28px,3.9vw,44px);line-height:1.18;color:#243953;margin:12px 0 15px;letter-spacing:-.035em}.v24-banner p{font-size:clamp(16px,1.8vw,20px);line-height:1.6;color:#506980}.v24-eyebrow{font-size:13px;letter-spacing:.09em;font-weight:850;color:#1188c3}.v24-secondary-link{display:inline-block;font-weight:800;color:#0879b6;margin-top:6px;text-underline-offset:5px}.v24-friends{display:flex;align-items:end;justify-content:center;gap:8px;height:260px;min-width:0}.v24-friends img{width:min(46%,115px);height:100%;object-fit:contain;object-position:bottom center;filter:drop-shadow(0 8px 10px #416c9d19)}.v24-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin:20px 0}.v24-metric{padding:22px;border-radius:22px;background:#fff;border:1px solid #d9e8f6;min-width:0}.v24-metric-label{font-size:14px;color:#46647f;font-weight:800}.v24-metric-number{display:block;color:#137db6;font-size:clamp(29px,4.3vw,45px);line-height:1.25;margin:6px 0;font-weight:850}.v24-metric-desc{font-size:13px;color:#5a738b;line-height:1.4}.v24-main-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:18px}.v24-secondary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:18px}.v24-card{background:white;border:1px solid #d8e8f8;border-radius:26px;padding:clamp(20px,3vw,30px);min-width:0}.v24-card h3{font-size:clamp(21px,2.5vw,27px);color:#213651;margin:9px 0 12px;line-height:1.3}.v24-card p,.v24-card li{font-size:16px;color:#556f86;line-height:1.6}.v24-card-heading p{margin-top:0}.v24-bars{display:grid;gap:20px;margin-top:22px}.v24-bar-head{display:flex;align-items:center;justify-content:space-between;gap:10px;font-weight:800;color:#28405a}.v24-bar-head span:first-child{min-width:0}.v24-bar-head span:last-child{white-space:nowrap;font-size:14px;color:#527089}.v24-track{height:15px;background:#edf3fa;border-radius:999px;overflow:hidden;margin-top:9px}.v24-fill{height:100%;border-radius:999px;min-width:0;transition:width .4s ease}.v24-bar-hint{font-size:13px;color:#687e91;margin-top:5px}.v24-next{background:linear-gradient(155deg,#fff7ed,#fff 70%)}.v24-next-icon{font-size:42px;display:block;margin:18px 0 2px}.v24-next strong{font-size:22px;color:#273a52;display:block}.v24-next .v24-action{background:#1d8dc3;color:white;font-weight:800;border-radius:14px;display:inline-block;padding:13px 20px;text-decoration:none;margin-top:8px}.v24-next .v24-action:hover{background:#116d9c}.v24-privacy{background:#f0f7ff;padding:13px;border-radius:14px;font-size:14px!important}.v24-review-list{padding-left:22px}.v24-empty{padding:18px 22px;background:#eaf6ff;border:1px solid #cbe6fa;border-radius:17px;color:#285675;font-weight:700;margin-top:18px}.v24-wrap a:focus-visible{outline:3px solid #fa4f96;outline-offset:4px}@media(max-width:760px){.v24-banner{grid-template-columns:minmax(0,1fr) 110px;gap:8px;border-radius:24px;padding:20px}.v24-friends{height:176px;gap:2px}.v24-friends img{width:50%}.v24-main-grid,.v24-secondary-grid{grid-template-columns:1fr}.v24-metrics{gap:8px}.v24-metric{padding:15px 11px}.v24-metric-label{font-size:12px}.v24-metric-desc{font-size:11px}.v24-wrap{margin:18px auto 30px}}@media(max-width:440px){.v24-banner{grid-template-columns:1fr}.v24-friends{height:140px;justify-content:flex-end;margin-top:-8px}.v24-friends img{width:64px}.v24-metric-number{font-size:27px}.v24-card{padding:20px}.v24-bar-head{font-size:14px}}@media(prefers-reduced-motion:reduce){.v24-fill{transition:none}}

/* V2.5: playful, accessible participation achievements and transparent access states */
.v25-achievements,.v25-plan,.v25-access{background:#fff;border:1px solid #d8e8f8;border-radius:26px;padding:clamp(20px,3.2vw,32px);margin:18px 0}.v25-topline{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.v25-topline h3{margin:8px 0;color:#243953;font-size:clamp(22px,2.6vw,29px);line-height:1.25}.v25-topline p{font-size:16px;line-height:1.55;margin:6px 0 12px;color:#5b7188}.v25-count{display:inline-block;color:#116a9a;background:#e7f5ff;border-radius:999px;padding:8px 14px;font-size:14px;font-weight:850;white-space:nowrap}.v25-badge-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:11px;margin-top:15px}.v25-badge{position:relative;background:linear-gradient(150deg,#f7fbff,#f0f7ff);border:1px solid #d8e7f4;border-radius:19px;padding:16px 9px;text-align:center;min-width:0}.v25-badge.earned{background:linear-gradient(155deg,#fff5df,#fffaf0 70%,#f6f0ff);border-color:#f8db9e}.v25-badge-icon{display:block;font-size:32px;line-height:1.3}.v25-badge strong{display:block;color:#293e58;font-size:14px;margin:7px 0;line-height:1.35;overflow-wrap:anywhere}.v25-badge small{color:#536e86;font-size:12px;line-height:1.4;display:block}.v25-badge:not(.earned) .v25-badge-icon{filter:grayscale(1);opacity:.65}.v25-badge .v25-badge-mark{display:block;font-weight:800;font-size:11px;color:#93630f;margin-top:7px}.v25-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}.v25-step{border:1px solid #dbe9f5;border-radius:20px;padding:18px;background:#f6fbff;min-width:0}.v25-step:nth-child(2){background:#fff6f9;border-color:#f5dce9}.v25-step-number{display:inline-block;font-size:12px;font-weight:850;padding:5px 10px;background:#ddebfa;border-radius:999px;color:#1a608e}.v25-step strong{display:block;color:#223e5a;font-size:20px;margin:12px 0 8px}.v25-step p{font-size:15px;color:#526d83;line-height:1.6;margin:5px 0}.v25-step a,.v25-free-link{display:inline-block;font-size:15px;font-weight:850;color:#106d9c;margin-top:12px;text-underline-offset:4px}.v25-reason{font-size:13px!important;color:#43647f!important}.v25-access-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:12px}.v25-access-card{border-radius:22px;padding:20px;min-width:0;border:1px solid #dbebf7;background:#f1f9ff}.v25-locked{background:#f8f4fb;border-color:#e5d9ec}.v25-status{font-size:12px;font-weight:900;color:#1480ac;letter-spacing:.04em}.v25-locked .v25-status{color:#7c6095}.v25-access-card h4{font-size:20px;color:#253d54;margin:11px 0}.v25-access-card ul{padding-left:22px;margin:8px 0}.v25-access-card li{font-size:15px;line-height:1.7;color:#465f75}.v25-unavailable{font-size:14px;color:#6a5679;line-height:1.5;background:#ece5f2;padding:12px;border-radius:13px;margin:14px 0 0}@media(max-width:820px){.v25-badge-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:530px){.v25-badge-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.v25-steps,.v25-access-grid{grid-template-columns:1fr}.v25-badge{padding:13px 8px}.v25-achievements,.v25-plan,.v25-access{padding:18px;border-radius:22px}.v25-topline p{font-size:15px}}
