:root{--navy:#0B1F3A;--blue:#0057B8;--orange:#FF6B00;--gold:#D4AF37;--light:#F5F7FA;--text:#182230;--muted:#657386;--white:#fff;--shadow:0 10px 30px rgba(11,31,58,.10);--radius:14px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:"Open Sans",Arial,sans-serif;color:var(--text);line-height:1.65}h1,h2,h3{font-family:Montserrat,Arial,sans-serif;line-height:1.1;font-weight:800}h1{font-size:clamp(42px,6vw,76px);margin:0 0 18px}h2{font-size:clamp(30px,4vw,48px)}h3{font-size:22px}.container{width:min(1180px,92%);margin:auto}.narrow{max-width:820px}.center{text-align:center}.section{padding:90px 0}.light{background:var(--light)}.dark{background:var(--navy);color:#fff}.eyebrow{font-size:13px;font-weight:800;letter-spacing:2px}.orange{color:var(--orange)}.gold{color:var(--gold)}
.site-header{position:sticky;top:0;z-index:1000;background:#fff;box-shadow:0 2px 18px rgba(0,0,0,.08)}.header-inner{height:78px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--navy);font-weight:900}.brand-mark{display:grid;place-items:center;background:var(--navy);color:#fff;width:42px;height:42px;border-radius:10px}.brand strong{color:var(--blue)}.main-nav{display:flex;align-items:center;gap:22px}.main-nav ul{display:flex;list-style:none;gap:18px;margin:0;padding:0}.main-nav a{color:var(--navy);text-decoration:none;font-size:14px;font-weight:800}.nav-cta{color:#fff!important}.menu-toggle{display:none;background:none;border:0;font-size:28px}
.btn{display:inline-block;padding:13px 22px;border-radius:8px;text-decoration:none;font-weight:800;border:2px solid transparent}.btn-primary{background:var(--orange);color:#fff}.btn-light{background:#fff;color:var(--navy)}.btn-outline{border-color:var(--blue);color:var(--blue)}
.hero{min-height:650px;display:flex;align-items:center;background:linear-gradient(90deg,rgba(11,31,58,.96),rgba(11,31,58,.50)),url("https://images.unsplash.com/photo-1553778263-73a83bab9b0c?auto=format&fit=crop&w=1800&q=85") center/cover}.hero-content{color:#fff;max-width:850px}.hero-content>p:not(.eyebrow){font-size:20px;max-width:650px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.cards{display:grid;gap:22px}.cards.four{grid-template-columns:repeat(4,1fr)}.cards.three{grid-template-columns:repeat(3,1fr)}.feature-card,.info-card{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:28px;text-decoration:none;color:var(--navy)}.feature-card span{font-size:34px}.feature-card:hover{transform:translateY(-4px)}.info-card b{font-size:20px}.program-age{font-weight:700;color:var(--muted)}.split{display:grid;grid-template-columns:1.3fr .7fr;gap:50px;align-items:center}.align-right{text-align:right}.section-heading{margin-bottom:35px}.callout{background:var(--light);padding:35px;border-radius:var(--radius)}.page-hero{padding:80px 0;background:var(--navy);color:#fff}.content-area{padding:70px 0}.check-list li{margin:8px 0}.table-wrap{overflow-x:auto}.table-wrap table{width:100%;border-collapse:collapse;box-shadow:var(--shadow);background:#fff}.table-wrap th,.table-wrap td{padding:14px;border-bottom:1px solid #e5eaf0;text-align:left}.table-wrap th{background:var(--navy);color:#fff}.scorer-head{margin-top:75px}.match-card{padding:25px;background:#fff;border-radius:12px;box-shadow:var(--shadow);margin-bottom:18px}.match-card h3 span{color:var(--orange);margin:0 10px}.contact-list{display:grid;gap:12px}.contact-list a,.contact-list span{font-size:18px;font-weight:700;color:var(--navy);text-decoration:none}.cta{text-align:center;background:var(--orange);color:#fff}.site-footer{background:#071426;color:#fff;padding:65px 0 0}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px;padding-bottom:45px}.footer-brand{font-size:24px;font-weight:900}.site-footer a,.site-footer span{display:block;color:#cbd5e1;text-decoration:none;margin:6px 0}.footer-bottom{text-align:center;border-top:1px solid rgba(255,255,255,.1);padding:20px;color:#9aa9bb;font-size:13px}
@media(max-width:950px){.main-nav{display:none;position:absolute;top:78px;left:0;right:0;background:#fff;padding:20px;box-shadow:var(--shadow);flex-direction:column;align-items:stretch}.main-nav.open{display:flex}.main-nav ul{flex-direction:column}.nav-cta{text-align:center}.menu-toggle{display:block}.cards.four{grid-template-columns:repeat(2,1fr)}.split{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.section{padding:60px 0}.cards.four,.cards.three{grid-template-columns:1fr}.hero{min-height:620px}.footer-grid{grid-template-columns:1fr}.page-hero{padding:60px 0}}


.phone-reveal-btn {
    font-size: 13px;
    white-space: nowrap;
}

.site-footer .phone-reveal-btn {
    font-size: 12px;
    padding: 11px 16px;
}

.phone-number-btn {
    white-space: nowrap;
}

/* =========================================================
   MOBILE RESPONSIVE FIXES
   ========================================================= */

@media (max-width: 768px) {

    html,
    body {
        width: 100%;
        max-width: 100%;
        overflow-x: hidden;
    }

    .container {
        width: 100%;
        max-width: 100%;
        padding-left: 20px;
        padding-right: 20px;
    }

    /* HEADER */
    .header-inner {
        height: auto;
        min-height: 70px;
        padding-top: 10px;
        padding-bottom: 10px;
    }

    .brand {
        max-width: 70%;
    }

    .brand img {
        max-width: 180px;
        height: auto;
    }

    .menu-toggle {
        display: block;
        flex-shrink: 0;
    }

    .main-nav {
        width: 100%;
        top: 100%;
    }

    .main-nav ul {
        width: 100%;
        gap: 0;
    }

    .main-nav li {
        width: 100%;
    }

    .main-nav li a {
        display: block;
        width: 100%;
        padding: 12px 5px;
    }

    .nav-cta {
        display: block;
        width: 100%;
        text-align: center;
        margin-top: 10px;
    }


    /* HERO */
    .hero {
        min-height: auto;
        padding: 80px 0 70px;
        background-position: center center;
    }

    .hero-content {
        width: 100%;
        max-width: 100%;
    }

    .hero h1 {
        font-size: 42px;
        line-height: 1.05;
        word-break: normal;
    }

    .hero-content > p:not(.eyebrow) {
        font-size: 17px;
        line-height: 1.5;
    }

    .hero-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .hero-actions .btn {
        width: 100%;
        text-align: center;
    }


    /* PAGE HERO */
    .page-hero {
        padding: 55px 0;
    }

    .page-hero h1 {
        font-size: 38px;
    }

    .page-hero p {
        font-size: 16px;
    }


    /* HEADINGS */
    h1 {
        font-size: 38px;
    }

    h2 {
        font-size: 30px;
    }

    h3 {
        font-size: 21px;
    }

    .eyebrow {
        font-size: 11px;
        letter-spacing: 1.5px;
    }


    /* SECTIONS */
    .section {
        padding: 55px 0;
    }

    .content-area {
        padding: 45px 0;
    }


    /* CARDS */
    .cards,
    .cards.four,
    .cards.three {
        grid-template-columns: 1fr;
        width: 100%;
    }

    .feature-card,
    .info-card,
    .program-card {
        width: 100%;
        max-width: 100%;
    }


    /* SPLIT SECTIONS */
    .split {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .align-right {
        text-align: left;
    }


    /* BUTTONS */
    .btn {
        max-width: 100%;
    }

    .phone-reveal-btn {
        font-size: 12px;
        white-space: nowrap;
    }


    /* IMAGES */
    img {
        max-width: 100%;
        height: auto;
    }


    /* FOOTER */
    .footer-grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .site-footer {
        padding-top: 45px;
    }

    .site-footer a.btn {
        display: inline-block;
    }


    /* TABLES */
    .table-wrap {
        width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }


    /* CONTACT */
    .contact-list a,
    .contact-list span {
        font-size: 16px;
        word-break: break-word;
    }
}



@media (max-width: 480px) {

    .container {
        padding-left: 16px;
        padding-right: 16px;
    }

    .hero {
        padding: 65px 0 55px;
    }

    .hero h1 {
        font-size: 34px;
    }

    h1 {
        font-size: 34px;
    }

    h2 {
        font-size: 27px;
    }

    .page-hero h1 {
        font-size: 32px;
    }

    .feature-card,
    .info-card {
        padding: 22px;
    }

    .btn {
        padding: 12px 18px;
        font-size: 14px;
    }
}