/* Photo update: preserve each original image and the established branding. */
.hero-art.hero-art-current { margin: 0; max-width: 31rem; justify-self: center; }
.hero-art.hero-art-current img { display: block; width: 100%; height: auto; aspect-ratio: auto; object-fit: contain; border-radius: .7rem; }
.hero-art-current figcaption { margin-top: .8rem; font-size: .86rem; color: var(--muted); text-align: center; }
.hero-art-current a { display: block; }
.youth-report { grid-column: 1 / -1; }
.youth-report > h3 { max-width: 33ch; font-size: clamp(1.7rem,3.5vw,2.65rem); line-height: 1.2; }
.youth-report-copy { max-width: 80ch; }
.youth-report > h4 { margin-top: 1.8rem; margin-bottom: .35rem; font-size: 1.3rem; }
.youth-gallery-hint { font-size: .9rem; color: var(--muted); }
.youth-gallery { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.15rem; margin: 1.2rem 0; }
.youth-photo { margin: 0; min-width: 0; background: #fff; border: 1px solid var(--line); border-radius: .6rem; overflow: hidden; }
.youth-photo a { display: block; background: #edf1f3; }
.youth-photo img { display: block; width: 100%; height: 19rem; object-fit: contain; }
.youth-photo figcaption { padding: .65rem .8rem; font-size: .88rem; line-height: 1.45; color: var(--ink); }
.youth-gallery-more { margin: 1.1rem 0 1.5rem; }
.youth-gallery-more summary { width: fit-content; max-width: 100%; padding: .8rem 1rem; border: 1px solid var(--blue); border-radius: .4rem; font-weight: 700; color: var(--blue-deep); cursor: pointer; }
.youth-gallery-more summary:hover { background: var(--blue-soft); }
.youth-gallery-more summary:focus-visible, .youth-photo a:focus-visible { outline: 3px solid var(--red); outline-offset: 3px; }
@media(max-width: 52rem) { .youth-gallery { grid-template-columns: repeat(2,minmax(0,1fr)); } .youth-photo img { height: 18rem; } }
@media(max-width: 38rem) { .hero-art.hero-art-current { width: min(100%,26rem); } .youth-gallery { grid-template-columns: 1fr; gap: 1rem; } .youth-photo img { height: auto; max-height: 30rem; } .youth-report { padding: 1.2rem; } }
