.school-site {
    --school-red: #9b242b;
    --school-ink: #343c36;
    --school-muted: #60665f;
    --school-cream: #fffaf2;
    --school-peach: #fbe8da;
    --school-grey: #eeeeee;
    font-family: 'Poppins', sans-serif;
    color: var(--school-ink);
    background: var(--school-cream);
    line-height: 1.75;
}
.school-site h1, .school-site h2, .school-site h3, .school-site h4 { line-height: 1.2; font-weight: 700; }
.school-site h1 { color: var(--school-red); font-size: clamp(2.25rem, 5vw, 4.5rem); letter-spacing: -.04em; }
.school-site h2 { font-size: clamp(1.75rem, 3vw, 2.6rem); letter-spacing: -.025em; }
.school-site p { color: var(--school-muted); }
.school-site a:focus-visible, .school-site button:focus-visible { outline: 3px solid #666666; outline-offset: 5px; }
.school-site .school-nav { background: var(--school-red); color: #fffdf8; padding-block: 1rem; }
.school-site .navbar-brand { display: flex; align-items: center; gap: .75rem; color: #fffdf8; font-size: 1.1rem; font-weight: 700; }
.school-site .navbar-brand img { width: 54px; height: auto; }
.school-site .nav-link { color: #fffdf8; text-transform: none; letter-spacing: 0; margin: 0; padding: .75rem !important; font-size: .9rem; }
.school-site .nav-link:hover, .school-site .nav-link[aria-current="page"], .school-site .nav-link.show { color: #fff; text-decoration: underline; text-underline-offset: 6px; }
.school-site .nav-link::after { display: none; }
.school-site .school-nav .navbar-toggler { color: #fffdf8; border-color: #ffffff80; }
.school-site .school-nav .navbar-toggler-icon { filter: brightness(0) invert(1); }
.school-site .school-nav a:focus-visible, .school-site .school-nav button:focus-visible { outline-color: #fffaf2; }
.school-site .school-nav .dropdown-item:focus-visible { outline-color: var(--school-red); }
.school-site .dropdown-menu { border: 1px solid #ece5d9; border-radius: 1rem; padding: .5rem; box-shadow: 0 8px 24px #343c3610; }
.school-site .dropdown-item { border-radius: .5rem; padding: .65rem .85rem; }
.school-site .dropdown-item:hover, .school-site .dropdown-item:focus { background: var(--school-peach); color: var(--school-red); }
.school-site .application-button, .school-site .learn-more-button, .school-site .btn-danger, .school-site .school-button {
    display: inline-flex; align-items: center; justify-content: center; gap: .65rem;
    min-height: 48px; padding: .8rem 1.4rem; border: 2px solid var(--school-red); border-radius: 100px;
    background: var(--school-red); color: #fff; font-size: .95rem; font-weight: 600;
    line-height: 1.4; text-decoration: none; box-shadow: none; transition: background-color .18s, border-color .18s;
}
.school-site .application-button:hover, .school-site .learn-more-button:hover, .school-site .btn-danger:hover, .school-site .school-button:hover {
    background: #781c22; border-color: #781c22; color: #fff; transform: none !important; box-shadow: none;
}
.school-site .school-button-secondary { background: transparent; color: var(--school-red); }
.school-site .school-button-secondary:hover { background: var(--school-peach); color: var(--school-red); border-color: var(--school-red); }
.school-site .school-nav .application-button { background: var(--school-cream); border-color: var(--school-cream); color: var(--school-red); }
.school-site .school-nav .application-button:hover { background: var(--school-peach); border-color: var(--school-peach); color: var(--school-red); }
.school-hero { padding-block: clamp(2.5rem, 6vw, 6rem); }
.school-hero .hero-copy { max-width: 34rem; }
.school-eyebrow { display: inline-block; color: #713c28; background: var(--school-peach); border-radius: 100px; padding: .4rem .9rem; font-size: .8rem; font-weight: 600; margin-bottom: 1.25rem; white-space: normal; word-break: normal; overflow-wrap: normal; hyphens: none; }
.school-lead { font-size: 1.1rem; max-width: 38rem; }
.school-actions { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 1.75rem; }
.school-photo { position: relative; padding: .75rem; background: var(--school-grey); border-radius: 3rem 3rem 1.25rem 3rem; }
.school-photo img { display: block; width: 100%; height: auto; border-radius: 2.5rem 2.5rem .75rem 2.5rem; }
.school-spark { position: absolute; top: -1.8rem; right: 1.25rem; font-size: 3.5rem; color: #ae6e21; line-height: 1; }
.school-photo figcaption { padding: .8rem .5rem .2rem; font-size: .85rem; color: #555555; text-align: center; }
.school-section { padding-block: clamp(2.5rem, 5vw, 4.5rem); }
.school-banner { background: var(--school-peach); }
.school-banner-alt { background: #f4f3e9; }
.school-facebook { background: #f4f3e9; }
.school-site .school-facebook .school-button { background: #555555; border-color: #555555; }
.school-site .school-facebook .school-button:hover { background: #3d3d3d; border-color: #3d3d3d; }
.school-banner-image { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
.school-section-tint { background: var(--school-grey); border-radius: 3rem 3rem 0 0; }
.school-section-heading { max-width: 42rem; margin-bottom: 2rem; }
.school-site .card { border: 1px solid #e9e3d8; border-radius: 1.5rem; background: #fffdf9; box-shadow: 0 5px 20px #343c3606; }
.school-site .card-body { padding: 1.5rem; }
.school-site .card-img-top:hover { transform: none; filter: none; box-shadow: none; }
.school-site .school-card-image { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 1.5rem 1.5rem 0 0; }
.school-site .school-event-image { object-fit: contain; background: #f4f1eb; }
.school-site .card-title { font-size: 1.3rem; }
.school-feature { padding: 1.75rem; height: 100%; background: #fffdf9; border: 1px solid #e9e3d8; border-radius: 1.5rem; }
.school-feature h3 { font-size: 1.2rem; margin-block: 1rem .75rem; }
.school-feature p { margin: 0; }
.school-feature-icon { display: inline-flex; align-items: center; justify-content: center; width: 3rem; height: 3rem; background: var(--school-peach); color: var(--school-red); border-radius: 1rem; font-size: 1.4rem; }
.school-feature-column:nth-child(even) .school-feature-icon { background: var(--school-grey); color: #555555; }
.school-invitation { padding: clamp(1.5rem, 4vw, 3rem); background: var(--school-peach); border-radius: 2rem; }
.school-site .footer { border-top: 1px solid #e9e3d8; margin-top: 2rem; background: #f4f3e9; }
.school-site .red-boarder-bottom, .school-site .red-boarder-top { box-shadow: none; border-radius: 1rem; background: var(--school-peach); }
.school-site .scroll-hidden, .school-site .animated-header { opacity: 1; filter: none; transform: none; animation: none; transition: none; }
.school-site .animated-header::after { display: none; }
.school-site .cssanimation { animation: none; }
@media (max-width: 1199.98px) {
    .school-site .navbar-collapse { padding-top: 1rem; }
    .school-site .navbar-collapse .application-button { margin: .75rem; }
}
@media (max-width: 575.98px) {
    .school-actions { flex-direction: column; }
    .school-hero .school-photo { margin-top: 1rem; }
    .school-site .navbar-brand { font-size: 1rem; }
}
@media (prefers-reduced-motion: reduce) {
    .school-site *, .school-site *::before, .school-site *::after {
        animation: none !important; transition: none !important; scroll-behavior: auto !important;
    }
}
