:root {
    --schotest-navy: #002147;
    --schotest-blue: #0b5cab;
    --schotest-gold: #fdc800;
    --schotest-surface: #f6f8fb;
}

html { scroll-behavior: smooth; }
body { color: #223047; background: #fff; line-height: 1.6; }
a, button, input, select, textarea { transition: color .2s ease, background-color .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
    outline: 3px solid rgba(253, 200, 0, .65);
    outline-offset: 3px;
}
.btn-custom-primary, .btn-round-primary { box-shadow: 0 8px 22px rgba(0, 33, 71, .15); }
.btn-custom-primary:hover, .btn-round-primary:hover { transform: translateY(-1px); }
.school-card, .blog-card, .event-card, .testimonial-card {
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 8px 28px rgba(0, 33, 71, .10);
}
#counter { background: linear-gradient(135deg, var(--schotest-navy), var(--schotest-blue)); }
#counter .counting-item { padding: 1.25rem; }
#counter .counting { font-variant-numeric: tabular-nums; }
.copyright-footer a { color: var(--schotest-gold); }
.newsletter-input { min-height: 44px; }
.modalimage { height: auto !important; max-height: 65vh; object-fit: contain; }
@media (max-width: 767.98px) {
    h1 { font-size: 1.9rem; }
    .modal-dialog { margin: .75rem; }
    #counter .counting-item { text-align: center; }
    .floating-contact { position: static; }
}
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation-duration: .01ms !important; }
}
