/* Youth Ministry: welcoming, restrained and consistent with the public site. */
.youth-page { --ym-ink:#1d3a56; --ym-copy:#536c83; --ym-line:#dfe8f2; --ym-paper:#f3f7fb; }
.youth-page :is(h1,h2,h3,h4,p,li) { overflow-wrap:break-word; }
.youth-page [id] { scroll-margin-top:110px; }
.youth-page .section { padding-block:clamp(60px,7vw,96px); }
.youth-page h2 { font-size:clamp(1.7rem,3vw,2.4rem); letter-spacing:-.025em; line-height:1.25; text-wrap:balance; }
.youth-page .section-label { font-size:.69rem; font-weight:600; letter-spacing:.14em; line-height:1.8; color:#315e95; margin-bottom:14px; }
.youth-page .section-label.light { color:#b5d2f0; }
.youth-page .section-header { max-width:750px; margin:0 auto 40px; }
.youth-page .section-header p { font-size:.95rem; line-height:1.9; color:var(--ym-copy); margin-bottom:0; }
.youth-page .btn { min-height:46px; max-width:100%; border-radius:8px; font-size:.87rem; font-weight:500; line-height:1.65; white-space:normal; text-align:center; justify-content:center; }
.youth-page .btn-lg { padding:14px 24px; font-size:.94rem; }
.youth-page .btn-primary { background:#2865bd; border-color:#2865bd; }
.youth-page .btn-primary:hover { background:#20549f; border-color:#20549f; }
.youth-page .page-hero { background:linear-gradient(115deg,#11283f,#214360); padding:80px 0 74px; text-align:left; }
.youth-page .page-hero::before,.youth-page .page-hero::after { opacity:.18; }
.youth-page .page-hero-overlay { background:radial-gradient(ellipse at 85% 40%,#7aa5cc14,transparent 65%); }
.youth-page .ym-hero-layout { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,.85fr); gap:66px; align-items:center; }
.youth-page .page-hero-badge { padding:7px 12px; border:1px solid #b3cde43b; border-radius:5px; background:#ffffff06; color:#bdd5ee; font-size:.68rem; letter-spacing:.1em; font-weight:500; text-transform:uppercase; margin-bottom:24px; }
.youth-page .page-hero h1 { font-size:clamp(2.4rem,5vw,4rem); line-height:1.12; letter-spacing:-.03em; margin-bottom:24px; text-wrap:balance; }
.youth-page .ym-hero-copy > p { max-width:580px; margin:0 0 29px; font-size:1.03rem; line-height:1.9; color:#c8d9ea; }
.youth-page .ym-hero-actions { display:flex; flex-wrap:wrap; gap:12px; }
.youth-page .ym-hero-actions .btn-outline { border:1px solid #a6c0da70; background:#ffffff06; }
.youth-page .ym-hero-actions .btn-outline:hover { color:#fff; background:#ffffff14; }
.youth-page .social-share { border-top:1px solid #ffffff18; padding-top:20px; margin-top:28px; justify-content:flex-start; }
.youth-page .social-share > span { color:#a8c0da; font-size:.73rem; }
.youth-page .social-share a { width:34px; height:34px; background:#ffffff08; border:1px solid #ffffff1c; color:#d1e3f6; }
.youth-page .ym-focus-card { padding:30px; border:1px solid #bad2eb30; border-radius:15px; background:#ffffff05; }
.youth-page .ym-eyebrow { display:block; color:#b7cfe8; font-size:.63rem; line-height:1.9; letter-spacing:.12em; text-transform:uppercase; margin-bottom:17px; }
.youth-page .ym-focus-card h2 { color:#f3f7fc; font-size:1.85rem; font-weight:400; line-height:1.3; margin:0 0 25px; }
.youth-page .ym-focus-list { display:grid; gap:18px; margin:0; padding:0; list-style:none; }
.youth-page .ym-focus-list li { display:flex; gap:13px; align-items:center; padding-top:18px; border-top:1px solid #ffffff18; min-width:0; }
.youth-page .ym-focus-list li > i { display:grid; place-items:center; width:36px; height:36px; border-radius:8px; background:#ffffff08; color:#bad5ef; flex-shrink:0; font-size:.88rem; }
.youth-page .ym-focus-list li > div { min-width:0; }
.youth-page .ym-focus-list strong { display:block; color:#e2edf9; font-size:.85rem; font-weight:500; line-height:1.8; }
.youth-page .ym-focus-list span { display:block; color:#aec5dd; font-size:.74rem; line-height:1.9; }
.youth-page .program-highlights { grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.youth-page .program-card { padding:30px; border:1px solid var(--ym-line); border-radius:13px; box-shadow:0 5px 20px #19395205; text-align:left; background:#fff; }
.youth-page .program-card:hover { transform:translateY(-3px); border-color:#aec8e5; box-shadow:0 12px 30px #1939520b; }
.youth-page .program-card-icon { display:grid; place-items:center; width:47px; height:47px; border:1px solid #dae6f5; border-radius:11px; background:#edf3fb; color:#4d76a3; font-size:1.1rem; margin:0 0 24px; }
.youth-page .program-card h3 { font-size:1.4rem; font-weight:400; line-height:1.4; margin-bottom:15px; }
.youth-page .program-card p { font-size:.92rem; line-height:1.9; color:var(--ym-copy); margin-bottom:0; }
.youth-page #sunday-school { background:var(--ym-paper); border-block:1px solid #e3ebf4; }
.youth-page #sunday-school .section-grid { grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr); gap:65px; }
.youth-page #sunday-school .section-grid.reverse > :first-child,.youth-page #sunday-school .section-grid.reverse > :last-child { order:0; }
.youth-page #sunday-school .section-content > p { font-size:.96rem; line-height:1.9; color:var(--ym-copy); }
.youth-page #sunday-school strong { font-weight:600; color:#355674; }
.youth-page .ym-school-list { margin:25px 0 0; display:grid; gap:0; padding:0; }
.youth-page .ym-school-list li { padding:14px 0; margin:0; border-bottom:1px solid #dfe7f1; font-size:.9rem; line-height:1.8; align-items:baseline; }
.youth-page .ym-school-list li:last-child { border-bottom:0; }
.youth-page .ym-school-list i { color:#5e81a9; font-size:.85rem; }
.youth-page .ym-school-summary { text-align:left; }
.youth-page .ym-school-card { text-align:left; padding:34px; border:1px solid #315374; border-radius:15px; background:linear-gradient(125deg,#17324c,#254c6c); box-shadow:0 12px 30px #1939520c; }
.youth-page .ym-school-card > .info-box-icon { display:grid; place-items:center; width:51px; height:51px; color:#bad4ef; background:#ffffff08; border-radius:11px; font-size:1.45rem; margin-bottom:25px; opacity:1; }
.youth-page .ym-school-card h4 { color:#f2f7fd; font-size:1.8rem; line-height:1.35; font-weight:400; }
.youth-page .ym-school-card .info-box-text { color:#c2d4e7; line-height:1.9; font-size:.92rem; margin:16px 0 25px; }
.youth-page .ym-school-card .info-box-highlight { display:flex; align-items:baseline; gap:10px; margin:0; border-top:1px solid #ffffff20; padding-top:22px; color:#d6e7f9; font-size:.86rem; line-height:1.9; }
.youth-page .ym-school-card .info-box-highlight i { color:#a9c8e9; flex-shrink:0; }
.youth-page #join-youth { background:#fff; }
.youth-page #join-youth .cta-overlay { display:none; }
.youth-page #join-youth .cta-content { max-width:1160px; width:calc(100% - 40px); padding:48px 34px; border:1px solid #315373; border-radius:17px; background:linear-gradient(120deg,#152f49,#244b6c); }
.youth-page #join-youth .cta-content p { max-width:700px; color:#c9d9ea; font-size:.96rem; line-height:1.9; }
.youth-page #join-youth .btn-outline-light { border-width:1px; border-color:#abc5df70; }
.youth-page :is(.ym-hero-layout,.section-grid,.program-highlights) > * { min-width:0; }
@media (max-width:1050px) {
 .youth-page .ym-hero-layout { gap:36px; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); }
 .youth-page .program-highlights { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .youth-page #sunday-school .section-grid { gap:34px; }
}
@media (max-width:768px) {
 .youth-page .page-hero { padding:52px 0; }
 .youth-page .ym-hero-layout,.youth-page #sunday-school .section-grid { grid-template-columns:minmax(0,1fr); gap:34px; }
 .youth-page .ym-focus-card { padding:28px; }
 .youth-page .ym-focus-card h2 br { display:none; }
 .youth-page .ym-focus-list { grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
 .youth-page .ym-focus-list li { flex-direction:column; align-items:flex-start; gap:12px; }
 .youth-page [id] { scroll-margin-top:95px; }
}
@media (max-width:600px) {
 .youth-page .section { padding-block:56px; }
 .youth-page .page-hero h1 { font-size:clamp(2.4rem,8vw,3rem); }
 .youth-page .ym-hero-actions { flex-direction:column; align-items:stretch; }
 .youth-page .ym-focus-card { padding:27px 24px; }
 .youth-page .ym-focus-list { grid-template-columns:minmax(0,1fr); gap:16px; }
 .youth-page .ym-focus-list li { flex-direction:row; align-items:center; gap:13px; }
 .youth-page .program-highlights { grid-template-columns:minmax(0,1fr); gap:21px; }
 .youth-page .program-card { padding:28px; }
 .youth-page .ym-school-card { padding:30px 25px; }
 .youth-page #join-youth .cta-content { padding:36px 24px; }
 .youth-page .cta-buttons { flex-direction:column; align-items:stretch; }
}
@media (prefers-reduced-motion:reduce) {
 .youth-page *, .youth-page *::before,.youth-page *::after { animation:none!important; transition:none!important; }
 .youth-page [data-animate] { opacity:1!important; transform:none!important; }
}
