.youth-program-page { --ink:#103d43; --muted:#607579; --green:#087d60; --lime:#c9e77b; --mist:#f2f8f5; }
.youth-program-page .yp-hero { padding:72px 0; background:radial-gradient(ellipse at 85% 10%,rgba(201,231,123,.25),transparent 32%),linear-gradient(125deg,#f3f8f4,#e5f2ed 55%,#e7f0eb); }
.youth-program-page .yp-hero-grid { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(190px,.62fr) minmax(275px,.8fr); grid-template-areas:"copy visual purchase"; align-items:center; gap:clamp(20px,3vw,42px); }
.youth-program-page .yp-copy { grid-area:copy; }
.youth-program-page .yp-visual { grid-area:visual; min-height:350px; overflow:hidden; border:5px solid rgba(255,255,255,.84); border-radius:18px; background:#e7eee9; box-shadow:0 20px 45px rgba(16,61,67,.15); }
.youth-program-page .yp-visual img { display:block; width:100%; height:100%; min-height:350px; object-fit:cover; object-position:center; }
.youth-program-page .yp-kicker { margin-bottom:13px; color:var(--green); font-size:.78rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.youth-program-page .yp-title { max-width:720px; margin-bottom:18px; color:var(--ink); font-size:clamp(2.4rem,4.4vw,3.8rem); font-weight:800; letter-spacing:-.055em; line-height:1.04; }
.youth-program-page .yp-title span { color:var(--green); }
.youth-program-page .yp-intro { max-width:650px; color:#476267; font-size:1.1rem; line-height:1.75; }
.youth-program-page .yp-format { margin-top:21px; color:var(--ink); font-weight:700; line-height:1.7; }
.youth-program-page .yp-buy-card { grid-area:purchase; padding:28px; border:1px solid rgba(16,61,67,.08); border-radius:18px; background:#fff; box-shadow:0 24px 65px rgba(16,61,67,.14); }
.youth-program-page .yp-price-label { color:var(--muted); font-size:.82rem; font-weight:750; letter-spacing:.08em; text-transform:uppercase; }
.youth-program-page .yp-price { margin:4px 0 0; color:var(--ink); font-size:3.3rem; font-weight:800; letter-spacing:-.06em; line-height:1; }
.youth-program-page .yp-price small { color:var(--muted); font-size:1rem; font-weight:600; letter-spacing:0; }
.youth-program-page .yp-facts { margin:22px 0; padding:0; list-style:none; }
.youth-program-page .yp-facts li { display:flex; gap:10px; margin:0 0 12px; color:#35555a; line-height:1.5; }
.youth-program-page .yp-facts i { flex:0 0 20px; color:var(--green); text-align:center; }
.youth-program-page .yp-button { display:block; padding:15px 18px; border-radius:8px; background:var(--green); box-shadow:0 8px 18px rgba(8,125,96,.2); color:#fff; font-weight:800; text-align:center; transition:background .18s ease,transform .18s ease; }
.youth-program-page .yp-button:hover { transform:translateY(-2px); background:#066b52; color:#fff; text-decoration:none; }
.youth-program-page .yp-button:focus-visible { outline:3px solid #174e43; outline-offset:3px; }
.youth-program-page .yp-note { margin:11px 0 0; color:var(--muted); font-size:.8rem; line-height:1.5; text-align:center; }
.youth-program-page .yp-highlights { padding:18px 0; border-bottom:1px solid #e7eeeb; background:#fff; }
.youth-program-page .yp-highlight-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.youth-program-page .yp-highlight { color:#35555a; font-size:.9rem; font-weight:700; text-align:center; }
.youth-program-page .yp-highlight i { margin-right:7px; color:var(--green); }
.youth-program-page .yp-section { padding:68px 0; }
.youth-program-page .yp-section-soft { background:#fbfcfa; }
.youth-program-page .yp-section-green { background:var(--mist); }
.youth-program-page .yp-faq { max-width:900px; margin:28px auto 0; }
.youth-program-page .yp-faq details { margin-bottom:12px; padding:18px 21px; border:1px solid #e5ece8; border-radius:10px; background:#fff; }
.youth-program-page .yp-faq summary { color:var(--ink); font-weight:750; line-height:1.55; cursor:pointer; }
.youth-program-page .yp-faq summary:focus-visible { outline:3px solid var(--green); outline-offset:4px; }
.youth-program-page .yp-faq details p { margin:12px 0 0; color:var(--muted); line-height:1.7; }
.youth-program-page .yp-section-title { margin-bottom:14px; color:var(--ink); font-size:clamp(1.9rem,3.5vw,2.8rem); font-weight:800; letter-spacing:-.04em; line-height:1.14; }
.youth-program-page .yp-lead { max-width:760px; color:var(--muted); font-size:1.05rem; line-height:1.75; }
.youth-program-page .yp-two-col { display:grid; grid-template-columns:1fr 1fr; gap:42px; align-items:center; }
.youth-program-page .yp-callout { padding:27px; border-left:4px solid var(--lime); border-radius:0 12px 12px 0; background:#f1f6ed; color:var(--ink); font-size:1.12rem; font-weight:700; line-height:1.65; }
.youth-program-page .yp-points { display:grid; grid-template-columns:repeat(2,1fr); gap:12px; padding:0; list-style:none; }
.youth-program-page .yp-points li { padding:15px; border:1px solid #e5ece8; border-radius:9px; background:#fff; color:#466166; line-height:1.5; }
.youth-program-page .yp-points i { margin-right:7px; color:var(--green); }
.youth-program-page .yp-included { display:grid; grid-template-columns:repeat(2,1fr); gap:13px; max-width:900px; margin:30px auto 0; padding:0; list-style:none; }
.youth-program-page .yp-included li { display:flex; gap:11px; padding:17px; border:1px solid #e5ece8; border-radius:10px; background:#fff; color:#466166; line-height:1.5; }
.youth-program-page .yp-included i { flex:0 0 18px; margin-top:3px; color:var(--green); }
.youth-program-page .yp-parent-box { padding:28px; border-radius:14px; background:#103f45; color:rgba(255,255,255,.86); }
.youth-program-page .yp-parent-box h3 { color:#fff; font-weight:750; }
.youth-program-page .yp-parent-box p { color:rgba(255,255,255,.86); }
.youth-program-page .yp-bottom-cta { padding:46px; border-radius:18px; background:linear-gradient(125deg,#103f45,#087d60); color:#fff; text-align:center; }
.youth-program-page .yp-bottom-cta h2 { color:#fff; font-size:clamp(1.9rem,3vw,2.6rem); font-weight:800; }
.youth-program-page .yp-bottom-cta p { max-width:680px; margin:12px auto 20px; color:rgba(255,255,255,.86); line-height:1.7; }
.youth-program-page .yp-bottom-cta .yp-button { display:inline-block; min-width:260px; background:var(--lime); color:var(--ink); }
.youth-program-page .yp-bottom-cta .yp-button:hover { background:#d8ef9a; }
.youth-program-page .yp-disclaimer { padding:24px 15px 0; color:var(--muted); font-size:.8rem; line-height:1.65; text-align:center; }
.youth-program-page .yp-back { display:inline-block; margin-bottom:17px; color:var(--green); font-weight:700; }
@media(max-width:1100px) { .youth-program-page .yp-hero-grid { grid-template-columns:minmax(0,1fr) minmax(260px,.82fr); grid-template-areas:"copy purchase" "visual visual"; gap:27px; } .youth-program-page .yp-visual { width:min(100%,520px); min-height:270px; margin:0 auto; } .youth-program-page .yp-visual img { min-height:270px; max-height:340px; } }
@media(max-width:767px) { .youth-program-page .yp-hero { padding:48px 0; } .youth-program-page .yp-hero-grid { grid-template-columns:1fr; grid-template-areas:"copy" "visual" "purchase"; } .youth-program-page .yp-two-col { grid-template-columns:1fr; } .youth-program-page .yp-visual { width:100%; min-height:240px; max-height:340px; } .youth-program-page .yp-visual img { min-height:240px; max-height:340px; } .youth-program-page .yp-buy-card { max-width:520px; } .youth-program-page .yp-section { padding:48px 0; } .youth-program-page .yp-bottom-cta { padding:34px 22px; } }
@media(max-width:575px) { .youth-program-page .yp-title { font-size:2.5rem; } .youth-program-page .yp-highlight-grid,.youth-program-page .yp-points,.youth-program-page .yp-included { grid-template-columns:1fr; gap:10px; } }
@media(prefers-reduced-motion:reduce) { .youth-program-page .yp-button { transition:none; } }
