:root{--ink:#10243a;--ink2:#1b3a5a;--paper:#f4f6f8;--line:#d9e0e7;--sig:#f0a500;--text:#2a3745;--white:#fff}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:Barlow,system-ui,sans-serif;color:var(--text);background:var(--white);line-height:1.6}
a{color:inherit;text-decoration:none}
img{max-width:100%}
.wrap{max-width:1180px;margin:0 auto;padding:0 20px}
:focus-visible{outline:3px solid var(--sig);outline-offset:2px}

/* top bar */
.top{background:var(--ink);color:#c9d6e3;font-size:14px}
.top .wrap{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:8px 20px}
.top a:hover{color:var(--sig)}

/* header */
header{position:sticky;top:0;z-index:50;background:var(--white);border-bottom:1px solid var(--line)}
header .wrap{display:flex;align-items:center;justify-content:space-between;height:74px}
.logo{font:700 26px/1 'Barlow Condensed',sans-serif;color:var(--ink);letter-spacing:.5px}
.logo b{color:var(--sig)}
nav ul{list-style:none;display:flex;gap:6px;align-items:center}
nav li{position:relative}
nav li>a{display:block;padding:10px 14px;font-weight:500}
nav li>a:hover{color:var(--ink2);background:var(--paper)}
nav .sub{display:none;position:absolute;left:0;top:100%;min-width:300px;background:var(--white);border:1px solid var(--line);border-top:3px solid var(--sig);box-shadow:0 10px 24px rgba(16,36,58,.12)}
nav .sub a{display:block;padding:10px 16px;font-size:15px;border-bottom:1px solid var(--line)}
nav .sub a:hover{background:var(--paper)}
nav li:hover>.sub,nav li:focus-within>.sub{display:block}
.btn{display:inline-block;background:var(--sig);color:var(--ink);font-weight:600;padding:12px 24px;border:0;cursor:pointer;font-size:16px;font-family:inherit}
.btn:hover{background:var(--ink);color:var(--white)}
.btn.dark{background:var(--ink);color:var(--white)}
.btn.dark:hover{background:var(--sig);color:var(--ink)}
.burger{display:none;background:none;border:1px solid var(--line);padding:8px 12px;font-size:18px;cursor:pointer}

/* hero slider */
.hero{position:relative;height:min(78vh,620px);min-height:420px;overflow:hidden;background:var(--ink);color:var(--white)}
.slide{position:absolute;inset:0;display:flex;align-items:center;opacity:0;transition:opacity .8s;pointer-events:none}
.slide.on{opacity:1;pointer-events:auto}
.slide::before{content:"";position:absolute;inset:0;background:
 repeating-linear-gradient(90deg,rgba(255,255,255,.04) 0 1px,transparent 1px 60px),
 repeating-linear-gradient(0deg,rgba(255,255,255,.04) 0 1px,transparent 1px 60px),
 linear-gradient(110deg,var(--g1),var(--g2))}
.slide .wrap{position:relative}
.slide h1,.slide h2{font:700 clamp(36px,6vw,72px)/1.02 'Barlow Condensed',sans-serif;max-width:14ch;margin-bottom:16px}
.slide p{font-size:clamp(17px,2vw,22px);max-width:36ch;color:#d3dfeb;margin-bottom:28px}
.dots{position:absolute;bottom:22px;left:0;right:0;display:flex;justify-content:center;gap:10px}
.dots button{width:34px;height:5px;border:0;background:rgba(255,255,255,.35);cursor:pointer}
.dots button.on{background:var(--sig)}
.arrow{position:absolute;top:50%;transform:translateY(-50%);background:rgba(16,36,58,.55);color:#fff;border:0;width:46px;height:46px;font-size:22px;cursor:pointer}
.arrow:hover{background:var(--sig);color:var(--ink)}
.arrow.l{left:12px}.arrow.r{right:12px}

/* sections */
section{padding:84px 0}
.alt{background:var(--paper)}
h2.t{font:700 clamp(32px,4vw,46px)/1.1 'Barlow Condensed',sans-serif;color:var(--ink);margin-bottom:14px}
.lead{max-width:62ch}
.about{display:grid;grid-template-columns:1.2fr 1fr;gap:56px;align-items:center}
.about p+p{margin-top:14px}
.facts{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.fact{background:var(--ink);color:#fff;padding:28px 22px}
.fact:nth-child(2){background:var(--sig);color:var(--ink)}
.fact strong{display:block;font:700 54px/1 'Barlow Condensed',sans-serif}
.fact span{font-size:15px}
.fact.wide{grid-column:1/-1;background:var(--paper);color:var(--ink);border-left:5px solid var(--sig)}
.fact.wide strong{font-size:30px}

.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:40px}
.card{background:var(--white);border:1px solid var(--line);display:flex;flex-direction:column;transition:box-shadow .2s}
.card:hover{box-shadow:0 14px 30px rgba(16,36,58,.12)}
.card .ph{height:170px;background:linear-gradient(135deg,var(--ink2),var(--ink));display:flex;align-items:flex-end;padding:14px;color:var(--sig);font:700 44px/1 'Barlow Condensed',sans-serif}
.card .bd{padding:22px;display:flex;flex-direction:column;gap:10px;flex:1}
.card h3{font:700 23px/1.15 'Barlow Condensed',sans-serif;color:var(--ink)}
.card p{font-size:15.5px;flex:1}
.card a.more{font-weight:600;color:var(--ink2);border-bottom:2px solid var(--sig);align-self:flex-start}

.clients{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;margin-top:36px}
.clients div{height:84px;background:var(--white);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:#8a98a8;font-weight:600;font-size:14px}

.cta{background:var(--ink);color:#fff}
.cta .wrap{display:grid;grid-template-columns:1.4fr 1fr;gap:50px;align-items:start}
.cta h2.t{color:#fff}
.cta p{color:#c9d6e3;margin-bottom:22px}
.cta ul{list-style:none}
.cta li a{display:block;padding:11px 0;border-bottom:1px solid rgba(255,255,255,.14)}
.cta li a:hover{color:var(--sig);padding-left:6px;transition:.15s}

.contact{display:grid;grid-template-columns:1fr 1.2fr;gap:50px}
.contact address{font-style:normal;display:grid;gap:12px;margin-top:18px}
form{display:grid;gap:14px}
input,textarea{width:100%;padding:13px 14px;border:1px solid var(--line);font:inherit;background:var(--white)}
input:focus,textarea:focus{border-color:var(--ink2)}
footer{background:#0a1826;color:#8fa2b6;text-align:center;padding:22px 0;font-size:14px}

@media(max-width:960px){
 .burger{display:block}
 nav{display:none;position:absolute;top:74px;left:0;right:0;background:var(--white);border-bottom:1px solid var(--line);max-height:75vh;overflow:auto}
 nav.open{display:block}
 nav ul{flex-direction:column;align-items:stretch;gap:0;padding:8px 20px}
 nav .sub{display:block;position:static;box-shadow:none;border:0;border-left:3px solid var(--sig);margin-left:10px}
 .hdr-btn{display:none}
 .about,.cta .wrap,.contact{grid-template-columns:1fr}
 .grid{grid-template-columns:1fr 1fr}
 .clients{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:600px){.grid{grid-template-columns:1fr}.top .wrap{justify-content:center}section{padding:60px 0}}
@media(prefers-reduced-motion:reduce){.slide{transition:none}html{scroll-behavior:auto}}

.slide.img::before{background:linear-gradient(110deg,rgba(16,36,58,.82),rgba(16,36,58,.3)),var(--img) center/cover}
.card .ph.im{background-size:cover;background-position:center;color:transparent}
.clients img{max-height:60px;max-width:80%}
.prose{max-width:75ch;white-space:pre-line}