:root{
  --b50:#edf7fd;--b100:#daeefa;--b200:#c8e6f7;--b300:#b5def4;--b400:#a2d5f2;
  --b500:#8ecdee;--b600:#7ac4eb;--b700:#63bce8;--b800:#4ab3e5;--b900:#28aae1;
  --ink:#0b3a55;--muted:#5a7385;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Lato',system-ui,sans-serif;color:var(--ink);line-height:1.6;background:#fff}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.container{max-width:1200px;margin:0 auto;padding:0 20px}
header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.95);backdrop-filter:blur(8px);border-bottom:1px solid var(--b100)}
.nav{display:flex;align-items:center;justify-content:space-between;padding:16px 0}
.brand{display:flex;align-items:center;gap:12px}
.brand img{height:48px;width:auto}
.brand-name{font-weight:900;letter-spacing:-.02em}
.brand-sub{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
nav ul{display:flex;gap:28px;list-style:none;align-items:center}
nav a{font-weight:700;font-size:14px}
nav a:hover{color:var(--b900)}
nav .has-sub{position:relative}
nav .has-sub>a::after{content:" ▾";font-size:10px;color:var(--muted)}
nav .sub{position:absolute;top:100%;left:-16px;background:#fff;border:1px solid var(--b100);border-radius:12px;padding:10px 0;min-width:220px;box-shadow:0 20px 40px -10px rgba(11,58,85,.2);opacity:0;visibility:hidden;transform:translateY(8px);transition:.2s;display:block}
nav .sub li{display:block}
nav .sub a{display:block;padding:10px 20px;font-size:13px;white-space:nowrap}
nav .sub a:hover{background:var(--b50);color:var(--b900)}
nav .has-sub:hover .sub,nav .has-sub:focus-within .sub{opacity:1;visibility:visible;transform:translateY(0)}
.btn{display:inline-block;padding:12px 24px;border-radius:999px;font-weight:900;font-size:14px;transition:transform .2s}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:var(--b900);color:#fff}
.btn-outline{border:2px solid #fff;color:#fff}
.btn-dark{border:2px solid var(--ink);color:var(--ink)}
.btn-dark:hover{background:var(--ink);color:#fff}
.hero{position:relative;height:75vh;min-height:520px;overflow:hidden;background:var(--ink)}
.slide{position:absolute;inset:0;opacity:0;transition:opacity 1s}
.slide.active{opacity:1}
.slide img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.slide .overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,58,85,.85),rgba(11,58,85,.5) 55%,rgba(11,58,85,.15))}
.slide .copy{position:relative;height:100%;display:flex;align-items:center}
.slide .copy .inner{max-width:600px;color:#fff;padding:0 20px}
.eyebrow-pill{display:inline-block;font-size:11px;font-weight:900;letter-spacing:.25em;text-transform:uppercase;background:var(--ink);color:#fff;padding:6px 14px;border-radius:999px;margin-bottom:20px}
.eyebrow{display:inline-block;font-size:11px;font-weight:900;letter-spacing:.25em;text-transform:uppercase;color:var(--b900)}
h1,h2,h3{font-weight:900;letter-spacing:-.02em;line-height:1.1;color:var(--ink)}
.slide h1{color:#fff;font-size:clamp(32px,5vw,60px);margin-bottom:16px}
.slide p{font-size:18px;margin-bottom:28px;color:rgba(255,255,255,.9)}
.slide .cta{display:flex;gap:16px;flex-wrap:wrap}
.dots{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);display:flex;gap:8px;z-index:10}
.dots button{width:12px;height:6px;border-radius:3px;background:rgba(255,255,255,.5);border:0;cursor:pointer;transition:width .3s}
.dots button.active{width:32px;background:#fff}
.section{padding:80px 0}
.section h2{font-size:clamp(28px,4vw,48px);margin-bottom:16px}
.muted{color:var(--muted)}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.grid-5{display:grid;grid-template-columns:2fr 3fr;gap:48px}
.card{background:#fff;border:1px solid var(--b100);border-radius:16px;overflow:hidden;transition:transform .3s,box-shadow .3s}
.card:hover{transform:translateY(-4px);box-shadow:0 20px 40px -10px rgba(11,58,85,.2)}
.card .thumb{aspect-ratio:4/3;overflow:hidden;background:var(--b100)}
.card .thumb img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.card:hover .thumb img{transform:scale(1.08)}
.card .body{padding:24px}
.card h3{font-size:20px;margin-bottom:8px}
.card p{font-size:14px;color:var(--muted);margin-bottom:16px}
.card a{font-size:14px;font-weight:900;color:var(--b900)}
.stats{padding:80px 20px;background:linear-gradient(135deg,#28aae1,#63bce8);color:#fff}
.stats .grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:center;max-width:1200px;margin:0 auto}
.stats .num{font-size:clamp(40px,5vw,64px);font-weight:900;line-height:1}
.stats .lbl{margin-top:8px;font-size:13px;text-transform:uppercase;letter-spacing:.2em;font-weight:700;opacity:.9}
.history{background:var(--b50)}
.history p{margin-bottom:16px}
.history strong{color:var(--ink)}
.divider{height:4px;width:80px;background:var(--b900);border-radius:999px;margin-top:24px}
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.team-card{text-align:center}
.team-card img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:16px;margin-bottom:12px}
.team-card h4{font-weight:900;color:var(--ink)}
.team-card .role{font-size:13px;color:var(--muted)}
.partners-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:20px;align-items:center}
.partners-grid .p{background:#fff;border:1px solid var(--b100);border-radius:12px;padding:16px;display:flex;align-items:center;justify-content:center;min-height:90px}
.partners-grid .p img{max-height:56px;max-width:100%;object-fit:contain;filter:grayscale(100%);opacity:.85;transition:filter .2s,opacity .2s}
.partners-grid .p:hover img{filter:none;opacity:1}
.cta{background:var(--b50);text-align:center}
.cta .inner{max-width:640px;margin:0 auto}
footer{background:var(--ink);color:#fff;padding:60px 0 0}
footer .grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px}
footer .logo-box{background:rgba(255,255,255,.95);border-radius:8px;padding:8px;display:inline-block;margin-bottom:16px}
footer .logo-box img{height:40px}
footer p{font-size:14px;color:rgba(255,255,255,.7)}
footer h4{font-size:12px;text-transform:uppercase;letter-spacing:.2em;color:#fff;margin-bottom:16px}
footer ul{list-style:none}
footer li{font-size:14px;color:rgba(255,255,255,.8);padding:4px 0}
footer .bottom{border-top:1px solid rgba(255,255,255,.1);margin-top:48px;padding:20px 0;font-size:12px;color:rgba(255,255,255,.6);display:flex;justify-content:space-between;flex-wrap:wrap}
.page-hero{height:40vh;min-height:280px;background:linear-gradient(135deg,var(--ink),var(--b900));display:grid;place-items:center;text-align:center;color:#fff;padding:0 20px}
.page-hero h1{color:#fff;font-size:clamp(32px,5vw,56px)}
.page-hero .pill{display:inline-block;font-size:11px;font-weight:900;letter-spacing:.25em;text-transform:uppercase;background:rgba(255,255,255,.15);padding:6px 14px;border-radius:999px;margin-bottom:16px}
.form{display:grid;gap:16px;max-width:560px}
.form input,.form textarea{padding:14px 18px;border:1px solid var(--b200);border-radius:12px;font-family:inherit;font-size:15px}
.form input:focus,.form textarea:focus{outline:2px solid var(--b900)}
@media(max-width:768px){
  .grid-2,.grid-3,.grid-5,footer .grid,.stats .grid,.team-grid{grid-template-columns:1fr}
  .stats .grid{grid-template-columns:1fr 1fr}
  nav ul{display:none}
}
