﻿:root {
    --green: #2f9b53;
    --green-dark: #1d6f3b;
    --gold: #f3b42e;
    --ink: #253047;
    --muted: #687388;
    --soft: #f7fbf4;
    --coral: #f46f5e;
}

body {
    font-family: "Segoe UI", Arial, sans-serif;
    color: var(--ink);
    background: #fff;
}

a {
    text-decoration: none;
}

.top-strip {
    color: #fff;
    background: linear-gradient(90deg, var(--green-dark), var(--green));
}

.top-link {
    color: #fff;
    font-weight: 700;
}

.brand-logo {

    height: 76px;
    object-fit: contain;
}

.brand-text {
    font-weight: 800;
    color: var(--green-dark);
    font-size: 1.35rem;
}

.navbar .nav-link {
    color: var(--ink);
    font-weight: 700;
}

    .navbar .nav-link:hover {
        color: var(--green);
    }

.hero-section {
    background: radial-gradient(circle at 10% 10%, #fff4cc 0, transparent 32%), linear-gradient(135deg, #eef9f1 0%, #e9f7ff 100%);
}

.min-vh-hero {
    min-height: 690px;
}

.eyebrow,
.section-kicker {
    color: var(--green-dark);
    font-weight: 800;
    text-transform: uppercase;
    font-size: .82rem;
}

    .section-kicker.light {
        color: #ffe7a2;
    }

.lead,
.section-copy {
    color: var(--muted);
}

.hero-stats strong {
    display: block;
    font-size: 1.75rem;
    color: var(--green-dark);
}

.hero-stats span {
    color: var(--muted);
    font-weight: 700;
    font-size: .9rem;
}

.hero-visual {
    position: relative;
    min-height: 470px;
    max-width: 530px;
}

.hero-card {
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 24px 70px rgba(37, 48, 71, .15);
}

.main-card {
    position: absolute;
    inset: 56px 54px 48px 54px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    border: 2px solid rgba(47, 155, 83, .15);
}

.hero-logo {
    width: 185px;
    max-width: 70%;
}

.main-card h2 {
    font-weight: 900;
    color: var(--green-dark);
}

.main-card p {
    color: var(--muted);
    margin: 0;
}

.float-card {
    position: absolute;
    display: flex;
    gap: 10px;
    align-items: center;
    background: #fff;
    color: var(--ink);
    border-radius: 8px;
    padding: 14px 16px;
    box-shadow: 0 14px 36px rgba(37, 48, 71, .14);
    font-weight: 800;
}

    .float-card i {
        color: var(--coral);
        font-size: 1.35rem;
    }

.float-one {
    top: 30px;
    left: 0;
}

.float-two {
    right: 0;
    top: 180px;
}

.float-three {
    bottom: 34px;
    left: 24px;
}

.section-pad {
    padding: 88px 0;
}

.section-head {
    max-width: 640px;
    margin-bottom: 38px;
}

.section-title {
    font-weight: 900;
    color: var(--ink);
    line-height: 1.12;
}

.soft-bg {
    background: var(--soft);
}

.program-card,
.feature-tile,
.enquiry-form {
    background: #fff;
    border: 1px solid #e6eddf;
    border-radius: 8px;
    box-shadow: 0 14px 32px rgba(37, 48, 71, .07);
}

.program-card {
    padding: 28px;
    transition: .2s ease;
}

    .program-card:hover {
        transform: translateY(-5px);
        box-shadow: 0 20px 44px rgba(37, 48, 71, .12);
    }

    .program-card i {
        color: var(--gold);
        font-size: 2rem;
    }

    .program-card h3 {
        font-size: 1.25rem;
        font-weight: 900;
        margin: 18px 0 10px;
    }

    .program-card p {
        color: var(--muted);
        margin: 0;
    }

.feature-tile {
    min-height: 92px;
    padding: 22px;
    display: flex;
    align-items: center;
    gap: 16px;
    font-weight: 800;
}

    .feature-tile i {
        color: var(--green);
        font-size: 1.55rem;
    }

.cta-band {
    background: linear-gradient(135deg, var(--green-dark), var(--green));
}

.text-white-75 {
    color: rgba(255, 255, 255, .78);
}

.enquiry-form {
    padding: 30px;
}

.form-control,
.form-select {
    border-color: #dde7d9;
    border-radius: 8px;
}

.contact-list p {
    display: flex;
    gap: 14px;
    align-items: center;
    color: var(--muted);
    font-weight: 700;
}

.contact-list i {
    color: var(--green);
}

.site-footer {
    background: #243047;
    color: #fff;
}

.footer-logo {
    width: 42px;
    height: 42px;
    object-fit: contain;
}

.btn-success {
    background: var(--green);
    border-color: var(--green);
}

    .btn-success:hover {
        background: var(--green-dark);
        border-color: var(--green-dark);
    }

.btn-warning {
    background: var(--gold);
    border-color: var(--gold);
    color: #30220a;
    font-weight: 800;
}

.btn-outline-success {
    color: var(--green-dark);
    border-color: var(--green);
    font-weight: 800;
}

    .btn-outline-success:hover {
        background: var(--green);
        border-color: var(--green);
    }

@media (max-width: 991.98px) {
    .brand-logo {
        width: 64px;
        height: 64px;
    }

    .min-vh-hero {
        min-height: auto;
    }

    .hero-visual {
        min-height: 410px;
    }

    .main-card {
        inset: 52px 20px 48px;
    }

    .float-card {
        font-size: .9rem;
    }

    .section-pad {
        padding: 64px 0;
    }
}

@media (max-width: 575.98px) {
    .brand-logo {
        width: 56px;
        height: 56px;
    }

    .hero-visual {
        min-height: 360px;
    }

    .hero-logo {
        width: 140px;
    }

    .main-card {
        inset: 54px 8px 46px;
    }

    .float-one {
        left: 4px;
        top: 18px;
    }

    .float-two {
        right: 4px;
        top: 152px;
    }

    .float-three {
        left: 12px;
        bottom: 18px;
    }

    .float-card {
        padding: 10px 12px;
        max-width: 190px;
    }

    .enquiry-form {
        padding: 22px;
    }
}
.gallery-section {
    background: #fffaf0;
}

.gallery-intro {
    color: var(--muted);
    max-width: 620px;
    margin: 12px auto 0;
}

.school-gallery-carousel {
    margin-top: 36px;
}

.gallery-item {
    border-radius: 8px;
    overflow: hidden;
    background: #fff;
    border: 1px solid #f0e2c4;
    box-shadow: 0 14px 32px rgba(37, 48, 71, .09);
}

    .gallery-item img {
        width: 100%;
        height: 280px;
        object-fit: cover;
        display: block;
    }

.school-gallery-carousel .owl-nav {
    margin-top: 28px;
    display: flex;
    justify-content: center;
    gap: 12px;
}

    .school-gallery-carousel .owl-nav button.owl-prev,
    .school-gallery-carousel .owl-nav button.owl-next {
        width: 44px;
        height: 44px;
        border-radius: 50% !important;
        background: var(--green) !important;
        color: #fff !important;
        font-size: 26px !important;
        line-height: 1 !important;
        transition: .2s ease;
    }

        .school-gallery-carousel .owl-nav button.owl-prev:hover,
        .school-gallery-carousel .owl-nav button.owl-next:hover {
            background: var(--green-dark) !important;
        }

.school-gallery-carousel .owl-dots {
    margin-top: 18px;
}

.school-gallery-carousel .owl-dot span {
    background: #d8e7d2 !important;
}

.school-gallery-carousel .owl-dot.active span {
    background: var(--green) !important;
}

@media (max-width: 767.98px) {
    .gallery-item img {
        height: 220px;
    }
}
