[hidden] { display: none !important; }
img { max-width: 100%; }
.skip-link { position: absolute; left: -10000px; top: 8px; z-index: 9999; background: #fff; color: #0b2746; padding: 12px; }
.skip-link:focus { left: 8px; }
.campus-heading { text-align: center; padding: 35px 5%; background: #f8f5ed; }
.campus-heading h2 { font-size: clamp(25px, 4vw, 42px); color: #0b2746; margin-bottom: 10px; }
.campus-banner { margin: 0; background: #0b2746; }
.campus-banner img { display: block; width: 100%; height: auto; }
.campus-banner figcaption { color: #fff; text-align: right; padding: 8px 5%; font-size: 13px; }
.campus-card-image { width: 100%; aspect-ratio: 16/9; object-fit: contain; background: #0b2746; border-radius: 10px; margin-bottom: 20px; }
.branch-card small { margin-bottom: 16px; }
.photo-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,320px),1fr)); gap: 24px; margin-top: 25px; }
.photo-grid figure { margin: 0; background: #f8f5ed; border-radius: 8px; overflow: hidden; }
.photo-grid img { width: 100%; height: auto; display: block; }
.photo-grid figcaption { padding: 14px; }
.form-explanation { padding: 16px; background: #f1f5fa; border-left: 3px solid #0b2746; margin: 20px 0; }
#enquiry-status { margin: 18px 0; color: #0b2746; font-weight: 600; }
#email-draft textarea { min-height: 230px; }
#email-draft .read-more { display: inline-block; margin-top: 18px; }
#school-navigation a[aria-current="page"] { text-decoration: underline; text-underline-offset: 6px; }
body { overflow-wrap: break-word; }
a:focus-visible, button:focus-visible, summary:focus-visible { outline: 3px solid #bc8a23; outline-offset: 4px; }
@media (max-width: 800px) { .footer-contact { min-width: 0; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; } }
