/* GCTC shared stylesheet. Tokens first; edit colours here only. */
:root{
  --indigo:#1d2b64; --indigo-d:#111a45; --gold:#e8a21a; --chalk:#f5f6fb;
  --ink:#14183a; --muted:#566; --leaf:#2c7a5b; --sky:#3a55b8; --line:#dde1ef;
  --r:10px; --font-head:"Bricolage Grotesque",Georgia,sans-serif; --font-body:"Public Sans",system-ui,sans-serif;
}
body{font-family:var(--font-body);color:var(--ink);background:#fff;line-height:1.65;margin:0}
h1,h2,h3,h4,h5{font-family:var(--font-head);color:var(--indigo-d);line-height:1.15;letter-spacing:-.01em}
a{color:var(--sky)} p{max-width:68ch}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:#fff;padding:8px;z-index:99}

/* Navbar */
.site-nav{background:var(--indigo-d);border-bottom:3px solid var(--gold)}
.site-nav .navbar-brand{font-family:var(--font-head);color:#fff;font-weight:700;font-size:1.25rem;display:flex;flex-direction:column;line-height:1.1}
.site-nav .navbar-brand small{font-family:var(--font-body);font-weight:400;font-size:.7rem;color:#b9c2ec}
.site-nav .nav-link{color:#dfe4fb;font-weight:500;padding:.5rem .8rem}
.site-nav .nav-link:hover,.site-nav .nav-link.active{color:#fff;box-shadow:inset 0 -3px 0 var(--gold)}
.site-nav .navbar-toggler{border-color:#667;filter:invert(1)}
.btn{border-radius:var(--r);font-weight:600;padding:.6rem 1.2rem}
.btn-gold{background:var(--gold);color:var(--indigo-d);border:0}.btn-gold:hover{background:#f3b43a;color:var(--indigo-d)}
.btn-ghost{border:2px solid #fff;color:#fff}.btn-ghost:hover{background:#fff;color:var(--indigo-d)}
.btn-indigo{background:var(--indigo);color:#fff}.btn-indigo:hover{background:var(--indigo-d);color:#fff}

/* Hero */
.hero{position:relative;color:#fff;min-height:78vh;display:flex;align-items:flex-end;
  background:linear-gradient(95deg,rgba(17,26,69,.94) 18%,rgba(17,26,69,.55) 70%,rgba(17,26,69,.25)),var(--hero) center/cover}
.hero .container{padding-top:5rem;padding-bottom:4rem}
.hero h1{color:#fff;font-size:clamp(2.2rem,6vw,4.4rem);font-weight:800;max-width:15ch}
.hero p{font-size:1.15rem;color:#e4e8fb;max-width:50ch}
.page-hero{background:var(--indigo);color:#fff;padding:3.5rem 0 2.5rem;border-bottom:4px solid var(--gold)}
.page-hero h1{color:#fff;font-size:clamp(1.9rem,4vw,3rem)}.page-hero p{color:#cfd6f7;margin:0}

/* Facts strip */
.facts{background:var(--chalk);border-bottom:1px solid var(--line)}
.facts .fact{padding:1.4rem 1rem;border-left:4px solid var(--gold)}
.facts strong{display:block;font-family:var(--font-head);font-size:1.7rem;color:var(--indigo)}
.facts span{color:var(--muted);font-size:.92rem}

/* Sections and cards */
.section{padding:4.5rem 0}.section.alt{background:var(--chalk)}
.section-head{margin-bottom:2rem}.section-head p{color:var(--muted)}
.school{background:#fff;border:1px solid var(--line);border-top:6px solid var(--accent,var(--indigo));border-radius:var(--r);padding:1.6rem;height:100%}
.school h3{font-size:1.35rem}.school .icon{font-size:1.8rem;color:var(--accent)}
.school ul{padding-left:1.1rem;margin:0}.school li{margin:.35rem 0}
.school.voc{--accent:#c98300}.school.agr{--accent:var(--leaf)}.school.ict{--accent:var(--sky)}
.split{display:grid;gap:2rem;grid-template-columns:1fr}
@media(min-width:992px){.split{grid-template-columns:1fr 1fr}}
.panel{border-left:5px solid var(--indigo);padding:.4rem 0 .4rem 1.4rem}
.panel+.panel{margin-top:1.6rem;border-color:var(--gold)}
.cta-band{background:var(--indigo);color:#fff;padding:3.5rem 0}.cta-band h2{color:#fff}.cta-band p{color:#cfd6f7}
.tier{border:1px solid var(--line);border-radius:var(--r);padding:1.4rem;background:#fff;height:100%}
.tier .len{font-family:var(--font-head);font-size:1.5rem;color:var(--indigo)}
.gallery img{width:100%;height:100%;object-fit:cover;border-radius:var(--r);aspect-ratio:3/2;cursor:zoom-in}
.contact-card{background:var(--chalk);border-radius:var(--r);padding:1.6rem}
.contact-card h4{font-size:1.05rem;margin-top:1.1rem}.contact-card h4:first-child{margin-top:0}
.form-control{border-radius:var(--r);border-color:#c5cbe2;padding:.65rem .8rem}
.hp{position:absolute;left:-9999px}

/* Footer */
.site-footer{background:var(--indigo-d);color:#cdd3f3;padding:3.5rem 0 1.5rem;margin-top:0}
.site-footer h5{color:#fff;font-size:1.05rem}.site-footer a{color:#cdd3f3;text-decoration:none}
.site-footer a:hover{color:var(--gold);text-decoration:underline}
.site-footer ul{list-style:none;padding:0;margin:0}.site-footer li{margin:.35rem 0}
.site-footer .social a{font-size:1.4rem;margin-right:.9rem}
.site-footer .legal{border-top:1px solid #2c3870;margin-top:2rem;padding-top:1rem;font-size:.85rem}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
