:root{--blue:#075b9c;--dark:#11213f;--light:#f3f8ff;--text:#182033;--border:#d8e4f0;--focus:#ffbf00;font-size:16px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,'Helvetica Neue',sans-serif;color:var(--text);background:#fff;line-height:1.65}.container{width:min(1120px,92%);margin:auto}.skip-link{position:absolute;left:-999px;top:0;background:#000;color:#fff;padding:.75rem;z-index:999}.skip-link:focus{left:1rem;top:1rem}a{color:var(--blue)}a:focus,button:focus{outline:4px solid var(--focus);outline-offset:3px}.site-header{position:sticky;top:0;background:#fff;border-bottom:1px solid var(--border);z-index:20}.header-inner{display:flex;align-items:center;gap:1.2rem;padding:.65rem 0}.logo{width:155px;height:auto;display:block}.site-nav{display:flex;gap:1rem;margin-left:auto}.site-nav a{text-decoration:none;font-weight:700;color:var(--dark);padding:.5rem}.quick-contact{display:flex;flex-direction:column;font-size:.9rem}.nav-toggle{display:none}.hero{background:linear-gradient(110deg,#fff 0%,#eef6ff 60%,#dcecff 100%);padding:5rem 0}.hero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:3rem;align-items:center}.eyebrow{text-transform:uppercase;color:var(--blue);font-weight:700}.hero h1{font-size:clamp(2.2rem,5vw,4rem);line-height:1.1;color:var(--dark);margin:.3rem 0}.lead{font-size:1.2rem}.btn{display:inline-block;background:#174fc8;color:#fff;padding:.9rem 1.3rem;border-radius:.55rem;text-decoration:none;font-weight:700}.hero-card,.card,.info-box{background:#fff;border:1px solid var(--border);box-shadow:0 10px 30px rgba(0,0,0,.08);border-radius:1rem;padding:2rem}.section{padding:4rem 0}.section h2{text-align:center;color:var(--dark);font-size:2rem}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.card h3{color:var(--dark)}.alt{background:var(--light)}.two-col{display:grid;grid-template-columns:1.3fr .7fr;gap:2rem;align-items:center}.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;text-align:center}.funding{background:#fff}.banner-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.banner-grid img{width:100%;height:auto;border:1px solid var(--border);background:#fff;padding:.4rem}.site-footer{background:#0d1d3a;color:#fff;text-align:center;padding:2rem 0}.site-footer a{color:#fff}.accessibility-fab{position:fixed;right:1.2rem;bottom:1.2rem;z-index:60;width:58px;height:58px;border-radius:50%;border:0;background:#1260b3;color:#fff;font-size:1.8rem;box-shadow:0 6px 20px rgba(0,0,0,.25);cursor:pointer}.accessibility-panel{position:fixed;right:1rem;bottom:5.5rem;width:min(355px,92vw);background:#eef1f5;border-radius:1rem;box-shadow:0 10px 35px rgba(0,0,0,.28);z-index:70;padding:.8rem}.panel-head{display:flex;justify-content:space-between;align-items:center;padding:.4rem}.panel-head button{border:0;border-radius:50%;font-size:1.3rem;width:32px;height:32px;cursor:pointer}.panel-grid{display:grid;grid-template-columns:1fr 1fr;gap:.55rem}.panel-grid button{min-height:70px;border:0;border-radius:.8rem;background:#fff;font-weight:700;cursor:pointer;padding:.6rem}.announcement{max-width:850px;width:100%;height:auto;display:block;margin:2rem auto}.simple-page{background:#f7f9fc}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}body.high-contrast{background:#000!important;color:#fff!important}body.high-contrast *{background-color:#000!important;color:#fff!important;border-color:#fff!important}body.highlight-links a{background:#ff0!important;color:#000!important;text-decoration:underline!important}body.large-text{font-size:20px}body.extra-spacing{letter-spacing:.08em;word-spacing:.16em}body.stop-animations *{animation:none!important;transition:none!important;scroll-behavior:auto!important}body.hide-images img{visibility:hidden}body.dyslexia{font-family:Verdana,Tahoma,sans-serif}body.big-cursor,body.big-cursor *{cursor:crosshair!important}body.more-line-height{line-height:2!important}body.align-readable{text-align:left!important}body.align-readable *{text-align:left!important}body.low-saturation{filter:saturate(.35)}@media(max-width:850px){.header-inner{flex-wrap:wrap}.nav-toggle{display:block;margin-left:auto}.site-nav{display:none;flex-basis:100%;flex-direction:column}.site-nav.open{display:flex}.quick-contact{width:100%}.hero-grid,.two-col,.contact-grid,.banner-grid{grid-template-columns:1fr}.cards{grid-template-columns:1fr}.hero{padding:3rem 0}}
.cards{grid-template-columns:repeat(3,1fr)}.contact-layout{margin-top:2rem}.contact-form,.map-card{background:#fff;border:1px solid var(--border);border-radius:1rem;padding:1.5rem;box-shadow:0 10px 30px rgba(0,0,0,.06)}.contact-form label{display:block;font-weight:700;margin-top:.8rem}.contact-form input,.contact-form textarea{width:100%;padding:.85rem;border:1px solid #a9bacd;border-radius:.55rem;font:inherit}.contact-form input:focus,.contact-form textarea:focus{outline:4px solid var(--focus);outline-offset:2px}.form-note{font-size:.9rem;color:#40506a}.map-link{display:inline-block;margin:.5rem 0 1rem;font-weight:700}.map-placeholder{min-height:240px;border:1px dashed #9bb3ca;border-radius:1rem;background:linear-gradient(135deg,#eef6ff,#fff);display:flex;align-items:center;justify-content:center;text-align:center;font-weight:700;color:var(--dark);font-size:1.2rem}.cookie-banner{position:fixed;left:1rem;right:1rem;bottom:1rem;background:#fff;border:1px solid var(--border);border-radius:1rem;box-shadow:0 10px 35px rgba(0,0,0,.25);z-index:80;padding:1rem;display:flex;gap:1rem;align-items:center;justify-content:space-between}.small-btn{border:0;cursor:pointer;padding:.65rem 1rem}.legal-page{max-width:900px;background:#fff;margin-top:2rem;margin-bottom:2rem;padding:2rem;border-radius:1rem;border:1px solid var(--border);box-shadow:0 10px 30px rgba(0,0,0,.06)}.legal-page h1,.legal-page h2{color:var(--dark)}.footer-links a{margin:0 .3rem}@media(max-width:850px){.cards{grid-template-columns:1fr}.cookie-banner{display:block}.cookie-banner .btn{margin-top:.5rem}}

/* FIX: ensure elements with the HTML hidden attribute are really hidden, even if a class sets display:flex/grid. */
[hidden]{display:none!important}
.cookie-banner{z-index:90}
.accessibility-fab{z-index:120}
.accessibility-panel{z-index:130}
