:root{--green:#183f25;--green2:#22542f;--orange:#f7941d;--cream:#fff8d8;--lime:#7ac10b;--blue:#00a9d6;--red:#ed1c24;--dark:#17221a;--soft:#f6f4e8;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:Arial,Helvetica,sans-serif;color:#263129}.topbar{background:var(--green);color:#fff}.topbar a{color:#fff;text-decoration:none}.navbar-brand{color:var(--green)!important;line-height:.9}.navbar-brand small{font-size:.62rem;letter-spacing:.15em}.brand-mark{width:48px;height:48px;border:2px solid var(--green);border-radius:50%;display:grid;place-items:center;font-family:Georgia,serif;font-size:2rem;font-weight:bold;color:var(--green)}.nav-link{font-weight:600;color:#304136!important}.nav-link:hover,.nav-link.active{color:var(--orange)!important}.btn-breeze{background:var(--orange);border-color:var(--orange);color:#17221a;font-weight:700}.btn-breeze:hover{background:#e9830d;border-color:#e9830d}.hero{min-height:690px;background:linear-gradient(120deg,#183f25 0%,#183f25 44%,#2c6339 100%);position:relative;overflow:hidden}.hero:after{content:"";position:absolute;right:-90px;bottom:-180px;width:620px;height:620px;border:100px solid rgba(247,148,29,.92);border-radius:50%}.hero:before{content:"";position:absolute;right:12%;top:12%;width:340px;height:470px;border-radius:170px 170px 30px 30px;background:linear-gradient(145deg,rgba(255,248,216,.22),rgba(247,148,29,.14));transform:rotate(8deg)}.hero-overlay{position:absolute;inset:0;background:radial-gradient(circle at 75% 45%,transparent 0 22%,rgba(0,0,0,.08) 45%,transparent 65%)}.min-vh-75{min-height:600px}.eyebrow,.section-kicker{font-size:.8rem;font-weight:800;letter-spacing:.15em;color:var(--orange)}.section-kicker.light{color:#ffc56f}.hero h1{line-height:.93}.hero .lead{font-size:1.2rem}.programme-strip{margin-top:-65px;position:relative;z-index:4}.programme-grid{border-radius:18px;overflow:hidden}.programme-card{padding:28px;background:#fff;border-right:1px solid #eee}.programme-card:nth-child(even){background:var(--cream)}.programme-card span{color:var(--orange);font-weight:800}.programme-card h3{font-size:1.25rem;color:var(--green);font-weight:800;margin:.4rem 0}.programme-card p{font-size:.9rem;margin:0;color:#657066}.section-pad{padding:90px 0}.section-title{font-size:clamp(2rem,4vw,3.2rem);font-weight:800;color:var(--green);line-height:1.05;margin:.6rem 0 1.4rem}.lead-copy{font-size:1.2rem;color:#465149}.photo-panel{min-height:450px;border-radius:30px 30px 120px 30px;box-shadow:20px 20px 0 var(--orange)}.placeholder-photo{display:grid;place-items:center;text-align:center;background:linear-gradient(145deg,#dce9dd,#a8c2ad);color:var(--green)}.text-link{font-weight:800;color:var(--green);text-decoration:none;border-bottom:2px solid var(--orange)}.bg-soft{background:var(--soft)}.section-heading{max-width:680px}.feature-card{height:100%;background:#fff;padding:32px;border-radius:16px;border-bottom:4px solid transparent;transition:.2s}.feature-card:hover{transform:translateY(-4px);border-bottom-color:var(--orange);box-shadow:0 15px 35px rgba(0,0,0,.08)}.feature-icon{width:48px;height:48px;border-radius:14px;background:var(--cream);color:var(--green);display:grid;place-items:center;font-weight:900;margin-bottom:20px}.feature-card h3{font-size:1.25rem;font-weight:800;color:var(--green)}.academic-section{background:var(--green)}.study-card{min-height:270px;border-radius:22px;padding:32px;color:#fff;display:flex;flex-direction:column;justify-content:flex-end}.study-card h3{font-size:1.8rem;font-weight:800}.study-card small{margin-bottom:auto;font-weight:900}.study-card.lime{background:var(--lime)}.study-card.blue{background:var(--blue)}.study-card.orange{background:var(--orange)}.tag{background:var(--cream);border-radius:999px;padding:9px 14px;font-weight:700;color:var(--green)}.gallery-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;grid-auto-rows:160px;gap:12px}.gallery-placeholder{border-radius:18px;background:linear-gradient(145deg,#e8b462,#f7941d);display:flex;align-items:end;padding:18px;color:#fff;font-weight:800}.gallery-placeholder:nth-child(2),.gallery-placeholder:nth-child(5){background:linear-gradient(145deg,#52bdd4,#008caf)}.gallery-placeholder:nth-child(3){background:linear-gradient(145deg,#99c94d,#5d9e00)}.gallery-placeholder:nth-child(4){background:linear-gradient(145deg,#315c39,#183f25)}.gallery-placeholder.tall{grid-row:span 2}.value-box{background:#fff;border-radius:18px;padding:32px 20px;text-align:center;font-size:1.25rem;font-weight:800;color:var(--green);box-shadow:0 7px 20px rgba(0,0,0,.05)}.admissions{background:var(--cream)}.cta-card{background:var(--green);padding:55px;border-radius:28px;position:relative;overflow:hidden}.cta-card:after{content:"";position:absolute;width:200px;height:200px;border:35px solid var(--orange);border-radius:50%;right:-60px;top:-70px;opacity:.65}.contact-form{background:var(--soft);border-radius:24px}.form-control{border:1px solid #d8d8cd;padding:.8rem}.form-control:focus{border-color:var(--orange);box-shadow:0 0 0 .2rem rgba(247,148,29,.15)}.footer{background:var(--dark);color:#fff}.footer a{display:block;color:#c9d2cb;text-decoration:none;margin:.5rem 0}.footer h5{color:var(--orange)}.footer-copy,.footer p{color:#c9d2cb}.light-mark{border-color:#fff;color:#fff}.footer-bottom{border-top:1px solid rgba(255,255,255,.15);color:#9da9a0;font-size:.9rem}@media(max-width:991px){.hero{min-height:600px}.programme-strip{margin-top:-30px}.programme-card{border-bottom:1px solid #eee}.section-pad{padding:70px 0}.hero:after{opacity:.35}.photo-panel{min-height:340px}.cta-card{padding:35px}}@media(max-width:575px){.hero{min-height:570px}.hero h1{font-size:3.5rem}.programme-card{padding:20px 15px}.gallery-grid{grid-template-columns:1fr 1fr}.gallery-placeholder.tall{grid-row:span 1}.cta-card{padding:28px 22px}}
/* =========================================================
   CMS CONTENT
========================================================= */

.page-content{
    font-size:1.05rem;
    line-height:1.75;
}

.page-content h2,
.page-content h3,
.page-content h4{
    color:var(--green);
    font-weight:800;
    line-height:1.2;
    margin-top:2rem;
    margin-bottom:1rem;
}

.page-content h2{
    font-size:1.8rem;
}

.page-content h3{
    font-size:1.4rem;
}

.page-content img{
    max-width:100%;
    height:auto;
}

.page-content a{
    color:var(--green);
    text-decoration-color:var(--orange);
    text-underline-offset:.2em;
}


/* =========================================================
   BREADCRUMBS
========================================================= */

.breadcrumb-nav{
    overflow-x:auto;
}

.breadcrumb{
    flex-wrap:nowrap;
    white-space:nowrap;
}

.breadcrumb-item a{
    color:var(--green);
    text-decoration:none;
}

.breadcrumb-item a:hover{
    color:var(--orange);
    text-decoration:underline;
}

.breadcrumb-item.active{
    color:#667068;
}


/* =========================================================
   NAVIGATION DROPDOWNS
========================================================= */

.dropdown-menu{
    border:0;
    border-radius:.75rem;
    box-shadow:0 12px 30px rgba(0,0,0,.12);
    padding:.5rem;
}

.dropdown-item{
    border-radius:.45rem;
    color:#304136;
    font-weight:600;
    padding:.6rem .8rem;
}

.dropdown-item:hover,
.dropdown-item:focus,
.dropdown-item.active{
    background:var(--cream);
    color:var(--green);
}


/* =========================================================
   FOOTER
========================================================= */

.footer-contact{
    color:#c9d2cb;
    font-style:normal;
}

.footer-contact a{
    width:max-content;
}


/* =========================================================
   ACCESSIBILITY
========================================================= */

a:focus-visible,
button:focus-visible{
    outline:3px solid var(--orange);
    outline-offset:3px;
}


/* =========================================================
   MOBILE
========================================================= */

@media(max-width:991px){

    .dropdown-menu{
        border:0;
        box-shadow:none;
        padding-left:1rem;
    }

    .navbar-nav{
        padding-top:1rem;
        padding-bottom:1rem;
    }

    .breadcrumb{
        padding-bottom:.15rem;
    }
}