:root{
  --primary:#0b3c5d;
  --primary-dark:#072c45;
  --secondary:#328cc1;
  --accent:#d9b310;
  --accent-light:#f5d95a;
  --ink:#18232e;
  --muted:#637282;
  --soft:#f4f7fa;
  --line:#e5ebf0;
  --white:#fff;
  --shadow:0 18px 50px rgba(11,60,93,.10);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:"Open Sans",sans-serif;color:var(--ink);background:#fff;line-height:1.7;overflow-x:hidden}
h1,h2,h3,h4,strong,.navbar-brand{font-family:"Montserrat",sans-serif}
.fw-800{font-weight:800}
.text-white-75{color:rgba(255,255,255,.78)}
.topbar{background:var(--primary-dark);color:#d8e2e9;font-size:.82rem;padding:.48rem 0}
.topbar i{color:var(--accent);margin-right:.4rem}
.navbar{box-shadow:0 4px 22px rgba(11,60,93,.08)}
.navbar-brand{color:var(--primary)!important;line-height:1.05}
.navbar-brand strong,.footer-brand strong{display:block;letter-spacing:.02em}
.navbar-brand small,.footer-brand small{display:block;font:500 .64rem "Open Sans";color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-top:.2rem}
.brand-mark{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;box-shadow:0 8px 18px rgba(11,60,93,.18);position:relative;overflow:hidden}
.brand-mark:after{content:"";position:absolute;width:24px;height:24px;border:2px solid rgba(255,255,255,.3);border-radius:50%;right:-6px;bottom:-7px}
.brand-mark span{font:800 1.35rem "Montserrat";position:relative;z-index:1}
.nav-link{font:600 .9rem "Montserrat";color:var(--ink)!important;padding:.65rem .8rem!important}
.nav-link:hover,.nav-link.active{color:var(--secondary)!important}
.btn-brand{background:var(--secondary);color:#fff;border:0;border-radius:8px;font-weight:700}
.btn-brand:hover{background:var(--primary);color:#fff}
.hero-section{min-height:calc(100vh - 78px);display:flex;align-items:center;position:relative;background:linear-gradient(110deg,rgba(7,44,69,.96),rgba(11,60,93,.72)),url("https://images.unsplash.com/photo-1581092921461-eab62e97a780?auto=format&fit=crop&w=1800&q=85") center/cover}
.min-vh-75{min-height:calc(100vh - 78px)}
.hero-section h1{font-size:clamp(2.5rem,5.4vw,5rem);line-height:1.08;color:#fff;letter-spacing:-.04em}
.hero-section h1 span{color:var(--accent-light)}
.hero-section .lead{font-size:clamp(1rem,1.5vw,1.22rem);max-width:760px}
.eyebrow,.section-kicker{display:inline-flex;align-items:center;text-transform:uppercase;letter-spacing:.13em;font:700 .73rem "Montserrat";color:var(--accent);border:1px solid rgba(217,179,16,.4);background:rgba(217,179,16,.08);border-radius:100px;padding:.5rem .85rem}
.btn-accent{background:var(--accent);border-color:var(--accent);color:#16212a;font-weight:800;border-radius:9px}
.btn-accent:hover{background:var(--accent-light);border-color:var(--accent-light);color:#16212a;transform:translateY(-2px)}
.hero-trust{display:flex;flex-wrap:wrap;gap:0}
.hero-trust>div{padding-right:2rem;margin-right:2rem;border-right:1px solid rgba(255,255,255,.25)}
.hero-trust>div:last-child{border:0}
.hero-trust strong{display:block;color:#fff;font-size:1.6rem}
.hero-trust span{font-size:.76rem;color:rgba(255,255,255,.65)}
.scroll-down{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);width:42px;height:42px;border:1px solid rgba(255,255,255,.35);border-radius:50%;display:grid;place-items:center;color:#fff;animation:bounce 1.8s infinite}
@keyframes bounce{50%{transform:translate(-50%,7px)}}
.section-padding{padding:100px 0}
.bg-soft{background:var(--soft)}
.section-heading{max-width:760px}
.section-heading h2{font-size:clamp(2rem,3.6vw,3rem);font-weight:800;letter-spacing:-.03em;color:var(--primary);margin:.8rem 0}
.section-heading h2 span{color:var(--secondary)}
.section-heading p{color:var(--muted);font-size:1.02rem}
.timeline{border-left:2px solid var(--secondary);padding-left:1.5rem}
.timeline-item{position:relative;margin-bottom:1.3rem}
.timeline-item:before{content:"";position:absolute;width:11px;height:11px;border-radius:50%;background:var(--accent);left:-1.93rem;top:.42rem;box-shadow:0 0 0 5px #fff}
.timeline-item span{display:block;color:var(--secondary);font:800 .72rem "Montserrat";letter-spacing:.08em}
.timeline-item strong{display:block;font-size:1rem;margin-top:.15rem}
.timeline-item small{color:var(--muted)}
.stats-panel{background:linear-gradient(145deg,#f7fafc,#edf3f7);padding:2rem;border-radius:24px;border:1px solid var(--line);box-shadow:var(--shadow)}
.stat-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:1.4rem;min-height:155px;display:flex;flex-direction:column;justify-content:center;transition:.3s}
.stat-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.stat-card i{font-size:1.4rem;color:var(--secondary);margin-bottom:.5rem}
.stat-card strong{font-size:2.2rem;color:var(--primary);line-height:1}
.stat-card span{color:var(--muted);font-size:.82rem;margin-top:.45rem}
.stats-caption{display:flex;gap:.8rem;color:var(--muted);font-size:.9rem}
.stats-caption i{font-size:1.7rem;color:var(--accent)}
.service-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:2rem;box-shadow:0 8px 30px rgba(11,60,93,.06);transition:.35s;position:relative;overflow:hidden}
.service-card:after{content:"";position:absolute;width:90px;height:90px;border-radius:50%;background:rgba(50,140,193,.06);right:-35px;top:-35px}
.service-card:hover{transform:translateY(-8px);box-shadow:0 22px 45px rgba(11,60,93,.12);border-color:rgba(50,140,193,.3)}
.service-icon{width:58px;height:58px;display:grid;place-items:center;border-radius:14px;background:rgba(50,140,193,.1);color:var(--secondary);font-size:1.55rem;margin-bottom:1.25rem}
.service-card h3{font-size:1.15rem;color:var(--primary);margin-bottom:1rem}
.service-card ul{padding:0;margin:0;list-style:none}
.service-card li{color:var(--muted);font-size:.88rem;margin:.65rem 0;padding-left:1.3rem;position:relative}
.service-card li:before{content:"✓";position:absolute;left:0;color:var(--accent);font-weight:800}
.training-section{background:linear-gradient(135deg,var(--primary-dark),var(--primary));color:#fff;position:relative;overflow:hidden}
.training-section:before{content:"";position:absolute;width:500px;height:500px;border-radius:50%;border:80px solid rgba(255,255,255,.025);right:-220px;top:-180px}
.section-heading-light h2{color:#fff}
.section-heading-light p{color:rgba(255,255,255,.7)}
.training-item{min-height:82px;display:flex;align-items:center;gap:1rem;padding:1rem 1.1rem;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.055);border-radius:12px;transition:.3s}
.training-item:hover{background:rgba(255,255,255,.12);border-color:rgba(217,179,16,.5);transform:translateY(-3px)}
.training-item i{color:var(--accent);font-size:1.25rem;min-width:24px}
.training-item span{font:600 .88rem "Montserrat"}
.network-card{height:100%;display:flex;gap:1rem;padding:1.25rem;background:#fff;border:1px solid var(--line);border-radius:14px;transition:.3s}
.network-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:rgba(50,140,193,.35)}
.network-card>span{height:38px;min-width:52px;display:grid;place-items:center;background:var(--primary);color:#fff;border-radius:8px;font:800 .68rem "Montserrat"}
.network-card h3{font-size:.95rem;margin:0 0 .25rem;color:var(--primary)}
.network-card p{margin:0;color:var(--muted);font-size:.8rem;line-height:1.5}
.cta-section{padding:0 0 100px}
.cta-card{background:linear-gradient(110deg,var(--primary),#174e73);border-radius:24px;padding:3rem;display:flex;justify-content:space-between;align-items:center;gap:2rem;color:#fff;box-shadow:var(--shadow)}
.cta-card h2{font-size:clamp(1.7rem,3vw,2.6rem);margin:.7rem 0}
.cta-card p{margin:0;color:rgba(255,255,255,.72);max-width:680px}
footer{background:#111c25;color:#9eabb5}
.footer-brand{color:#fff}
.footer-brand small{color:#8796a2}
footer h3{color:#fff;font-size:1rem;margin-bottom:1.2rem}
.footer-links,.contact-list{list-style:none;padding:0;margin:0}
.footer-links li{margin-bottom:.55rem}
.footer-links a{color:#9eabb5;text-decoration:none}
.footer-links a:hover{color:#fff}
.contact-list li{display:flex;gap:.75rem;margin-bottom:.8rem;font-size:.88rem}
.contact-list i{color:var(--accent);margin-top:.3rem}
footer hr{border-color:rgba(255,255,255,.1);margin:2rem 0 1.2rem}
.back-to-top{position:fixed;right:20px;bottom:20px;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--secondary);color:#fff;text-decoration:none;box-shadow:0 8px 25px rgba(0,0,0,.2);opacity:0;visibility:hidden;transition:.3s;z-index:999}
.back-to-top.show{opacity:1;visibility:visible}
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}
.reveal.visible{opacity:1;transform:none}
@media(max-width:991.98px){
  .navbar-collapse{padding:1rem 0}
  .nav-link{padding:.7rem 0!important}
  .hero-section,.min-vh-75{min-height:calc(100svh - 74px)}
  .hero-section{padding:80px 0}
  .hero-trust>div{padding-right:1.2rem;margin-right:1.2rem}
  .section-padding{padding:75px 0}
}
@media(max-width:575.98px){
  .brand-mark{width:40px;height:40px}
  .navbar-brand strong{font-size:.9rem}
  .navbar-brand small{font-size:.53rem}
  .hero-section h1{font-size:2.5rem}
  .hero-section .lead{font-size:.95rem}
  .hero-trust{gap:1rem}
  .hero-trust>div{border:0;padding:0;margin:0}
  .hero-trust strong{font-size:1.3rem}
  .hero-trust span{font-size:.68rem}
  .cta-card{padding:2rem;display:block}
  .cta-card .btn{margin-top:1.5rem}
}

.stat-wide{min-height:120px;display:flex;align-items:center;gap:1rem;flex-direction:row!important}.stat-wide i{font-size:1.8rem!important;margin:0!important}.stat-wide strong{font-size:2.4rem}.leader-photo-wrap{position:relative;max-width:430px;margin:auto}.leader-photo-wrap:before{content:"";position:absolute;inset:16px -16px -16px 16px;border-radius:24px;background:linear-gradient(135deg,var(--primary),var(--secondary));z-index:0}.leader-photo{position:relative;z-index:1;width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:24px;display:block;background:#edf3f7;box-shadow:0 22px 50px rgba(11,60,93,.18)}.leader-badge{position:absolute;z-index:2;left:20px;bottom:20px;background:#fff;color:var(--primary);padding:.65rem 1rem;border-radius:10px;font:700 .78rem "Montserrat";box-shadow:0 10px 30px rgba(0,0,0,.15)}.leader-badge i{color:var(--accent);margin-right:.35rem}.leader-intro{color:var(--muted);font-size:1.03rem;max-width:720px}.leader-values>div>div{height:100%;background:#fff;border:1px solid var(--line);border-radius:14px;padding:1.15rem}.leader-values i{display:block;color:var(--secondary);font-size:1.35rem;margin-bottom:.45rem}.leader-values strong{display:block;color:var(--primary);font-size:.9rem}.leader-values span{display:block;color:var(--muted);font-size:.77rem;margin-top:.2rem;line-height:1.45}.partner-panel{border:1px solid var(--line);border-radius:20px;padding:1.6rem;background:#fff;box-shadow:0 10px 35px rgba(11,60,93,.06)}.partner-panel-head{display:flex;gap:1rem;align-items:center;border-bottom:1px solid var(--line);padding-bottom:1.2rem;margin-bottom:1rem}.partner-icon{width:52px;height:52px;display:grid;place-items:center;border-radius:13px;background:rgba(50,140,193,.1);color:var(--secondary);font-size:1.35rem}.partner-panel-head span{display:block;color:var(--secondary);font:700 .68rem "Montserrat";text-transform:uppercase;letter-spacing:.08em}.partner-panel-head h3{color:var(--primary);font-size:1.15rem;margin:.2rem 0 0}.partner-list>div{display:flex;justify-content:space-between;gap:1rem;padding:.85rem 0;border-bottom:1px dashed var(--line)}.partner-list>div:last-child{border-bottom:0}.partner-list span{font:700 .86rem "Montserrat";color:var(--primary)}.partner-list small{text-align:right;color:var(--muted);font-size:.75rem}@media(max-width:575.98px){.stat-wide{align-items:flex-start}.stat-wide strong{font-size:1.9rem}.leader-photo-wrap{max-width:340px}.partner-list>div{display:block}.partner-list small{display:block;text-align:left;margin-top:.15rem}}
