*{margin:0;padding:0;box-sizing:border-box}
:root{--navy:#173a7a;--navy2:#1f4a97;--teal:#e5672a;--teal2:#f07d3c;--ink:#20303c;--muted:#5f6f7a;--soft:#f4f7f9;--line:#e2e9ee;--gold:#e8a33d;--maxw:1180px}

html{scroll-behavior:smooth}
body{font-family:'Open Sans',system-ui,Arial,sans-serif;color:var(--ink);line-height:1.7;background:#fff}
h1,h2,h3,h4,h5{font-family:'Poppins','Open Sans',sans-serif;color:var(--navy);line-height:1.25;font-weight:600}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 20px}
.btn{display:inline-block;background:var(--teal);color:#fff;font-weight:600;font-size:.9rem;padding:.8rem 1.6rem;
border-radius:3px;transition:.2s;letter-spacing:.3px;cursor:pointer;border:0}
.btn:hover{background:var(--navy)}
.btn-o{background:transparent;border:2px solid #fff;color:#fff}
.btn-o:hover{background:#fff;color:var(--navy)}
.sec{padding:70px 0}
.sec-t{text-align:center;max-width:720px;margin:0 auto 44px}
.sec-t .eq{color:var(--teal);font-weight:700;font-size:.8rem;letter-spacing:2px;text-transform:uppercase;display:block;margin-bottom:8px}
.sec-t h2{font-size:2rem}
.sec-t.left{text-align:left;margin-left:0}
/* Top bar */
.top{background:var(--navy);color:#c9d6e0;font-size:.82rem}
.top .wrap{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 20px;flex-wrap:wrap}
.top a{color:#c9d6e0}.top a:hover{color:#fff}
.top .r{display:flex;gap:18px;flex-wrap:wrap}
.top .r span{display:inline-flex;align-items:center;gap:6px}
.top svg{width:14px;height:14px;fill:none;stroke:var(--teal2);stroke-width:2}
/* Header */
header.site{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50;box-shadow:0 2px 12px rgba(0,0,0,.04)}
.hbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0}
.brand{display:flex;align-items:center;gap:12px}
.brand .txt b{font-family:'Poppins';font-weight:700;color:var(--navy);font-size:1.15rem;display:block;line-height:1.1;letter-spacing:.3px}
.brand .txt span{color:var(--teal);font-size:.7rem;letter-spacing:3px;text-transform:uppercase;font-weight:600}
.brand .cai{height:48px;width:auto;border-left:1px solid var(--line);padding-left:14px}
.brand .cai.big{height:56px;border-left:0;padding-left:0;margin-right:16px}
.menu{display:flex;list-style:none;gap:2px}
.menu a{display:block;padding:.6rem .8rem;font-weight:600;font-size:.88rem;color:var(--navy);border-radius:3px}
.menu a:hover,.menu a.on{color:var(--teal)}
.burger{display:none;flex-direction:column;gap:5px;background:none;border:0;padding:8px;cursor:pointer}
.burger span{width:26px;height:3px;background:var(--navy);border-radius:2px}
/* Hero slider */
.hero{position:relative;height:78vh;min-height:520px;overflow:hidden;background:var(--navy)}
.slide{position:absolute;inset:0;transform:translateX(100%);transition:transform .8s cubic-bezier(.45,0,.2,1);background-size:cover;background-position:center;will-change:transform}
.slide.act{transform:translateX(0)}
.slide::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,33,54,.9) 0%,rgba(11,33,54,.7) 45%,rgba(11,33,54,.35) 100%)}
.slide .in{position:relative;z-index:2;height:100%;display:flex;align-items:center}
.slide .in .wrap{width:100%}
.slide .box{max-width:640px;color:#fff;text-align:left}
.slide .eq{color:var(--teal2);font-weight:700;letter-spacing:3px;text-transform:uppercase;font-size:.85rem}
.slide h2{color:#fff;font-size:clamp(2rem,5vw,3.3rem);margin:14px 0 10px;font-weight:700}
.slide p{color:#dfe8ef;font-size:1.05rem;margin-bottom:26px;max-width:520px}
.dots{position:absolute;bottom:26px;left:0;right:0;z-index:3;display:flex;justify-content:center;gap:10px}
.dots button{width:12px;height:12px;border-radius:50%;border:2px solid #fff;background:transparent;cursor:pointer;padding:0}
.dots button.on{background:var(--teal2);border-color:var(--teal2)}
/* strip */
.strip{background:var(--teal);color:#fff}
.strip .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding:26px 20px;text-align:center}
.strip b{font-family:'Poppins';font-size:1.7rem;display:block}
.strip span{font-size:.85rem;opacity:.92}
/* about */
.split{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.split img{border-radius:6px;box-shadow:0 14px 34px rgba(15,51,85,.14);width:100%;object-fit:cover}
.split .eq{color:var(--teal);font-weight:700;font-size:.8rem;letter-spacing:2px;text-transform:uppercase}
.split h2{font-size:1.9rem;margin:8px 0 16px}
.split p{color:var(--muted);margin-bottom:14px}
.slist{columns:2;list-style:none;margin:10px 0 22px}
.slist li{position:relative;padding-left:24px;margin-bottom:8px;font-weight:600;font-size:.9rem;color:var(--ink);break-inside:avoid}
.slist li::before{content:'✔';position:absolute;left:0;color:var(--teal);font-size:.8rem}
/* service cards */
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.card{background:#fff;border:1px solid var(--line);border-radius:6px;overflow:hidden;transition:.2s;display:flex;flex-direction:column}
.card:hover{box-shadow:0 16px 34px rgba(15,51,85,.13);transform:translateY(-4px)}
.card .ph{aspect-ratio:500/300;overflow:hidden;background:var(--soft)}
.card .ph img{width:100%;height:100%;object-fit:cover;transition:.4s}
.card:hover .ph img{transform:scale(1.06)}
.card .bd{padding:22px;display:flex;flex-direction:column;flex:1}
.card h3{font-size:1.12rem;margin-bottom:8px}
.card p{color:var(--muted);font-size:.9rem;flex:1;margin-bottom:14px}
.card .rm{color:var(--teal);font-weight:700;font-size:.85rem}
.card .rm::after{content:' →'}
/* page banner */
.banner{background:linear-gradient(90deg,var(--navy),var(--navy2));color:#fff;padding:10px 0}
.banner h1{color:#fff;font-size:1.6rem}
.crumb{color:#bcd0df;font-size:.9rem;margin-top:6px}
.crumb a{color:#bcd0df}.crumb a:hover{color:#fff}
/* content + sidebar */
.layout{display:grid;grid-template-columns:1fr 310px;gap:40px;align-items:start}
.layout.even{grid-template-columns:1fr 1fr}
.prose h2{font-size:1.6rem;margin:0 0 14px}.prose h3{font-size:1.15rem;color:var(--navy2);margin:22px 0 8px}
.prose p{color:var(--ink);margin-bottom:14px}.prose .lead{color:var(--muted);font-size:1.05rem}
.prose img.feat{border-radius:6px;margin-bottom:20px;width:100%;box-shadow:0 12px 30px rgba(15,51,85,.14)}
.ticklist{list-style:none;margin:8px 0 18px}
.ticklist li{position:relative;padding:10px 14px 10px 40px;background:var(--soft);border:1px solid var(--line);border-radius:4px;margin-bottom:8px;font-weight:600}
.ticklist li::before{content:'✔';position:absolute;left:14px;top:10px;color:var(--teal)}
aside .box{border:1px solid var(--line);border-radius:6px;margin-bottom:22px;overflow:hidden}
aside .box h4{background:var(--navy);color:#fff;padding:14px 18px;font-size:1rem}
.slnav{list-style:none;padding:8px}
.slnav a{display:block;padding:.65rem .8rem;border-radius:4px;font-weight:600;font-size:.88rem;color:var(--navy);border-bottom:1px solid var(--line)}
.slnav a:last-child{border-bottom:0}
.slnav a:hover,.slnav a.on{background:var(--teal);color:#fff}
.help{padding:18px;background:linear-gradient(160deg,var(--navy),var(--navy2));color:#fff}
.help h4{background:none;padding:0 0 10px;color:#fff}
.help p,.help a{color:#d5e2ec;font-size:.9rem;margin:4px 0}
.help p{display:flex;gap:8px;align-items:flex-start}
.help a:hover{color:#fff}
.help svg{width:15px;height:15px;flex:none;fill:none;stroke:var(--teal2);stroke-width:2;margin-top:3px}
/* leadership */
.lead-grid{display:grid;grid-template-columns:340px 1fr;gap:44px;align-items:start}
.lead-grid .pic img{border-radius:6px;box-shadow:0 14px 34px rgba(15,51,85,.16)}
.lead-grid .tag{color:var(--teal);font-style:italic;font-weight:600;margin:6px 0 16px;font-size:1.05rem}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 18px}
.chips a{font-size:.82rem;background:var(--soft);border:1px solid var(--line);padding:.35rem .8rem;border-radius:30px;font-weight:600;color:var(--navy2)}
.exp{columns:2;list-style:none;margin:12px 0}
.exp li{position:relative;padding-left:22px;margin-bottom:7px;font-weight:600;font-size:.9rem;break-inside:avoid}
.exp li::before{content:'✔';position:absolute;left:0;color:var(--teal)}
/* gallery / news / careers */
.gal{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.gal a{border-radius:6px;overflow:hidden;aspect-ratio:4/3;box-shadow:0 8px 20px rgba(15,51,85,.1)}
.gal img{width:100%;height:100%;object-fit:cover;transition:.4s}.gal a:hover img{transform:scale(1.07)}
.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.post{border:1px solid var(--line);border-radius:6px;overflow:hidden;background:#fff}
.post .ph{aspect-ratio:16/10;background-size:cover;background-position:center}
.post .bd{padding:20px}.post .dt{color:var(--teal);font-weight:700;font-size:.78rem;text-transform:uppercase;letter-spacing:.5px}
.post h3{font-size:1.05rem;margin:6px 0 8px}.post p{color:var(--muted);font-size:.9rem}
/* news articles */
.news-list{display:grid;gap:34px;max-width:920px;margin:0 auto}
.news-item{border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fff;box-shadow:var(--shadow-sm)}
.news-item .imgs{display:grid;gap:4px}
.news-item .imgs.n1{grid-template-columns:1fr}
.news-item .imgs.n2{grid-template-columns:1fr 1fr}
.news-item .imgs.n3{grid-template-columns:repeat(3,1fr)}
.news-item .imgs.n4{grid-template-columns:1fr 1fr}
.news-item .imgs a{overflow:hidden;aspect-ratio:4/3}
.news-item .imgs.n1 a{aspect-ratio:16/9}
.news-item .imgs img{width:100%;height:100%;object-fit:cover;transition:.4s}
.news-item .imgs a:hover img{transform:scale(1.05)}
.news-item .bd{padding:24px 26px 28px}
.news-item .dt{color:var(--teal);font-weight:700;font-size:.75rem;text-transform:uppercase;letter-spacing:.6px}
.news-item h3{font-size:1.25rem;margin:6px 0 12px;line-height:1.3}
.news-item .bd p{color:var(--ink);font-size:.96rem;margin-bottom:12px;line-height:1.7}
.news-item .bd p:last-child{margin-bottom:0}
@media(max-width:620px){.news-item .imgs.n3,.news-item .imgs.n4{grid-template-columns:1fr 1fr}}
.jobs{display:grid;gap:18px}
.job{border:1px solid var(--line);border-left:4px solid var(--teal);border-radius:6px;padding:24px 26px;display:flex;justify-content:space-between;gap:18px;align-items:center;flex-wrap:wrap}
.job h3{font-size:1.15rem}.job .tags span{display:inline-block;font-size:.75rem;background:var(--soft);border:1px solid var(--line);padding:.2rem .6rem;border-radius:20px;margin:6px 6px 0 0;color:var(--muted)}
.job p{color:var(--muted);font-size:.9rem;max-width:620px;margin-top:4px}
/* contact */
.info{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:38px}
.icard{border:1px solid var(--line);border-radius:6px;padding:24px;text-align:center}
.icard .ic{width:52px;height:52px;border-radius:50%;background:var(--soft);display:grid;place-items:center;margin:0 auto 12px}
.icard .ic svg{width:24px;height:24px;fill:none;stroke:var(--teal);stroke-width:2}
.icard h4{margin-bottom:4px}.icard p,.icard a{color:var(--muted);font-size:.9rem}
.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.fld{display:flex;flex-direction:column;gap:5px;margin-bottom:14px}.fld.full{grid-column:1/-1}
.fld label{font-weight:600;font-size:.85rem;color:var(--navy2)}
.fld input,.fld select,.fld textarea{padding:.75rem .85rem;border:1px solid var(--line);border-radius:4px;font:inherit}
.fld input:focus,.fld select:focus,.fld textarea:focus{outline:none;border-color:var(--teal)}
.map{border-radius:6px;overflow:hidden;border:1px solid var(--line);line-height:0;height:100%}
.map iframe{width:100%;height:100%;min-height:340px;border:0}
/* footer */
footer.site{background:var(--navy);color:#b7c6d3;padding:56px 0 0;margin-top:20px}
.fg{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:34px;padding-bottom:40px}
footer h4{color:#fff;font-size:1rem;margin-bottom:16px}
footer p{font-size:.9rem;color:#a4b6c4;margin-top:12px}
.fl{list-style:none;display:grid;gap:9px}.fl a{color:#a4b6c4;font-size:.9rem}.fl a:hover{color:var(--teal2)}
.fc{list-style:none;display:grid;gap:10px;font-size:.9rem}.fc li{display:flex;gap:9px;align-items:flex-start}
.fc svg{width:16px;height:16px;fill:none;stroke:var(--teal2);stroke-width:2;flex:none;margin-top:3px}
.fc a{color:#a4b6c4}.fc a:hover{color:#fff}
.soc{display:flex;gap:9px;margin-top:14px}
.soc a{width:36px;height:36px;border-radius:4px;background:rgba(255,255,255,.08);display:grid;place-items:center}
.soc a:hover{background:var(--teal)}.soc svg{width:17px;height:17px;fill:#fff}
.sub input{padding:.7rem .8rem;border:0;border-radius:4px;width:100%;margin-bottom:10px}
.fbar{border-top:1px solid rgba(255,255,255,.1);padding:16px 0;font-size:.84rem;color:#8296a6;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}
/* floats */
.wa{position:fixed;right:18px;bottom:18px;z-index:60;width:56px;height:56px;border-radius:50%;background:#25d366;display:grid;place-items:center;box-shadow:0 8px 22px rgba(37,211,102,.45)}
.wa svg{width:30px;height:30px;fill:#fff}
.top-btn{position:fixed;right:20px;bottom:84px;z-index:59;width:42px;height:42px;border-radius:4px;background:var(--navy);color:#fff;border:0;cursor:pointer;opacity:0;pointer-events:none;transition:.3s;display:grid;place-items:center}
.top-btn.show{opacity:1;pointer-events:auto}.top-btn svg{width:20px;height:20px;fill:none;stroke:#fff;stroke-width:2.5}
/* classic header (matches current live site) */
.top.classic .wrap{justify-content:space-between}
.top.classic .soc{display:flex;gap:15px}
.top.classic .soc a{color:#c9d6e0}.top.classic .soc a:hover{color:#fff}
.top.classic .soc svg{width:14px;height:14px;fill:currentColor;stroke:none}
header.site.classic{position:static;box-shadow:none}
.headrow{display:flex;align-items:center;justify-content:space-between;gap:26px;padding:16px 0}
.headrow .brand{align-items:center}
.brand .txt b .amp{color:#e5672a;font-size:1em;font-weight:700}
.site.classic .brand .txt b .amp{color:#e5672a}
.site.classic .brand .txt b{font-size:1.2rem;line-height:1.15}
.site.classic .brand .txt span{color:var(--navy);font-family:'Poppins','Open Sans',sans-serif;font-weight:600;font-size:.9rem;letter-spacing:0;margin-top:1px}
.headrow .addr,.headrow .ph{font-size:.92rem;color:var(--ink);line-height:1.55}
.headrow .addr b,.headrow .ph b{color:var(--navy);font-weight:700}
.headrow .ph a{color:var(--ink)}.headrow .ph a:hover{color:var(--teal)}
.navbar{background:var(--navy);position:sticky;top:0;z-index:50;box-shadow:0 2px 10px rgba(0,0,0,.12)}
.navbar .wrap{display:flex;align-items:center;justify-content:space-between}
.navbar .menu{display:flex;list-style:none}
.navbar .menu a{display:block;padding:.95rem 1rem;color:#fff;font-weight:600;font-size:.9rem}
.navbar .menu a:hover,.navbar .menu a.on{color:var(--teal2)}
.navbar .burger span{background:#fff}
@media(max-width:920px){
 .headrow{flex-direction:column;align-items:flex-start;gap:10px}
 .navbar .wrap{justify-content:flex-end}
 .navbar .menu{position:fixed;inset:0 0 0 auto;width:min(300px,82vw);background:var(--navy);flex-direction:column;
   padding:80px 18px;transform:translateX(100%);transition:.28s;z-index:40}
 .navbar .menu.open{transform:translateX(0)}
 .navbar .menu a{border-bottom:1px solid rgba(255,255,255,.12)}
}
@media(max-width:920px){
 .menu{position:fixed;inset:0 0 0 auto;width:min(300px,82vw);background:#fff;flex-direction:column;padding:80px 18px;
   box-shadow:-6px 0 24px rgba(0,0,0,.14);transform:translateX(100%);transition:.28s;gap:2px;z-index:40}
 .menu.open{transform:translateX(0)}.menu a{border-bottom:1px solid var(--line);border-radius:0;padding:.8rem}
 .burger{display:flex;z-index:60}
 .split,.layout,.lead-grid,.layout.even{grid-template-columns:1fr}
 .svc-grid,.strip .wrap,.gal,.posts,.info,.fg,.fgrid{grid-template-columns:1fr 1fr}
 aside{order:2}
}
@media(max-width:600px){
 .sec{padding:48px 0}.svc-grid,.strip .wrap,.gal,.posts,.info,.fg,.fgrid,.slist,.exp{grid-template-columns:1fr;columns:1}
 .top .l{display:none}.hero{height:70vh;min-height:460px}
}
