.school-gallery, .school-updates { padding: 45px 0 60px; }
.school-gallery h2, .school-updates h2 { color: #163c68; margin-bottom: 12px; }
.gallery-categories { display: flex; flex-wrap: wrap; gap: 10px; margin: 24px 0; }
.gallery-categories a { padding: 8px 14px; border: 1px solid #163c68; border-radius: 4px; color: #163c68; }
.gallery-categories a[aria-current], .gallery-categories a:hover { background: #163c68; color: #fff; }
.school-photo-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.school-photo-grid figure { margin: 0; border: 1px solid #e1e7ee; background: #fff; border-radius: 8px; overflow: hidden; }
.school-photo-grid img { display: block; width: 100%; height: 240px; object-fit: cover; }
.school-photo-grid figcaption { padding: 12px 16px; color: #163c68; font-weight: 600; }
.school-updates { background: #f3f6fa; }
.school-update-links { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 24px; }
.school-update-links a { display: inline-block; background: #163c68; color: #fff; padding: 12px 20px; border-radius: 4px; }
.gallery-categories a:focus-visible, .school-photo-grid a:focus-visible, .school-update-links a:focus-visible { outline: 3px solid #e39322; outline-offset: 3px; }
@media (max-width: 767px) { .school-photo-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; } .school-photo-grid img { height: 190px; } }
@media (max-width: 480px) { .school-photo-grid { grid-template-columns: 1fr; } .school-photo-grid img { height: auto; } }
