
:root{
 --navy:#08233d; --navy2:#123f68; --red:#cf252b; --red2:#a91e24;
 --ink:#14202c; --muted:#617080; --light:#f4f7f9; --line:#dbe4eb;
 --white:#fff; --radius:14px; --shadow:0 16px 42px rgba(8,35,61,.11);
 --wrap:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,Arial,Helvetica,sans-serif;color:var(--ink);background:#fff;line-height:1.6}
img{max-width:100%;display:block} a{color:inherit}
.wrap{width:min(var(--wrap),calc(100% - 40px));margin:auto}
.top{background:var(--navy);color:#dfe8f0;font-size:13px}
.top .wrap{display:flex;justify-content:space-between;gap:24px;padding:8px 0}
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.98);box-shadow:0 3px 22px rgba(8,35,61,.07)}
.nav{height:82px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.logo img{width:230px;height:auto}
.menu{display:flex;align-items:center;gap:22px;font-size:13px;font-weight:800;text-transform:uppercase}
.menu a{text-decoration:none;white-space:nowrap}.menu a:hover,.menu a.active{color:var(--red)}
.drop{position:relative}.drop-panel{display:none;position:absolute;top:100%;left:-18px;background:#fff;min-width:255px;padding:12px;border-radius:8px;box-shadow:var(--shadow);border:1px solid var(--line)}
.drop:hover .drop-panel,.drop:focus-within .drop-panel{display:block}
.drop-panel a{display:block;padding:10px 12px;text-transform:none}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 20px;border-radius:7px;background:var(--red);border:1px solid var(--red);color:#fff;text-decoration:none;font-weight:800;cursor:pointer}
.btn:hover{background:var(--red2);border-color:var(--red2)}
.btn-outline{background:transparent;border-color:#fff}.btn-light{background:#fff;border-color:#fff;color:var(--navy)}
.mobile{display:none;background:none;border:0;font-size:29px;color:var(--navy);cursor:pointer}
.hero{position:relative;overflow:hidden;color:#fff;padding:115px 0 105px;background:
radial-gradient(circle at 82% 35%,rgba(44,117,166,.38),transparent 29%),
linear-gradient(115deg,#04182a 0%,#0a3153 58%,#174f7a 100%)}
.hero:before{content:"";position:absolute;width:540px;height:540px;border:1px solid rgba(255,255,255,.08);border-radius:50%;right:-120px;top:-150px}
.hero:after{content:"";position:absolute;width:330px;height:330px;border:1px solid rgba(255,255,255,.08);border-radius:50%;right:130px;bottom:-200px}
.kicker{text-transform:uppercase;letter-spacing:.13em;font-weight:900;font-size:12px;color:var(--red)}
.hero .kicker,.pagehero .kicker{color:#f0a1a4}
.hero h1,.pagehero h1{font-size:clamp(48px,7vw,80px);line-height:.98;letter-spacing:-.04em;margin:11px 0 22px;max-width:900px}
.hero p,.pagehero p{font-size:20px;color:#dae7f0;max-width:760px}
.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}
.proof{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;max-width:850px;margin-top:58px}
.proof div{border-left:2px solid rgba(255,255,255,.2);padding-left:16px}
.proof strong{display:block}.proof span{font-size:13px;color:#bfd0de}
.section{padding:86px 0}.soft{background:var(--light)}.dark{background:var(--navy);color:#fff}.center{text-align:center}
h2{font-size:clamp(34px,4vw,51px);line-height:1.08;letter-spacing:-.03em;margin:7px 0 18px}
.lead{font-size:18px;color:var(--muted);max-width:790px}.center .lead{margin-left:auto;margin-right:auto}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:19px;margin-top:38px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:19px;margin-top:35px}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:29px;box-shadow:var(--shadow)}
.card h3{font-size:21px;color:var(--navy);margin:14px 0 9px}.card p{color:#536171}
.icon{width:58px;height:58px;border-radius:50%;background:#eaf1f6;display:grid;place-items:center;color:var(--red);font-size:25px;font-weight:900}
.more{color:var(--red);font-weight:900;text-decoration:none}
.split{display:grid;grid-template-columns:1fr 1fr;gap:58px;align-items:center}
.visual{min-height:440px;border-radius:var(--radius);box-shadow:var(--shadow);position:relative;overflow:hidden;background:linear-gradient(135deg,#0c2d4a,#1d638f)}
.visual:before,.visual:after{content:"";position:absolute;border-radius:50%;background:rgba(255,255,255,.08)}
.visual:before{width:430px;height:430px;right:-95px;top:-110px}.visual:after{width:260px;height:260px;left:-65px;bottom:-60px}
.visual .caption{position:absolute;z-index:2;left:36px;bottom:34px;color:#fff;font-size:34px;line-height:1.06;font-weight:900;max-width:390px}
.checks{display:grid;grid-template-columns:1fr 1fr;gap:10px 24px;margin:25px 0 31px}
.checks div:before{content:"✓";color:var(--red);font-weight:900;margin-right:9px}
.stats{display:grid;grid-template-columns:repeat(4,1fr)}
.stat{text-align:center;padding:31px;border-right:1px solid rgba(255,255,255,.13)}.stat:last-child{border:0}
.stat strong{display:block;font-size:36px}.stat span{font-size:12px;color:#bfd0df;text-transform:uppercase;letter-spacing:.1em}
.project{position:relative;overflow:hidden;min-height:285px;border-radius:var(--radius);background:linear-gradient(140deg,#173c5f,#0b2239)}
.project:nth-child(2){background:linear-gradient(140deg,#284a64,#0c263d)}.project:nth-child(3){background:linear-gradient(140deg,#123755,#164f6d)}
.project:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 25%,rgba(4,20,34,.93))}
.project .ptext{position:absolute;z-index:2;left:25px;right:25px;bottom:22px;color:#fff}.project h3{margin:0 0 5px;font-size:23px}
.pagehero{padding:95px 0 88px;color:#fff;background:linear-gradient(115deg,#04182a,#164f7a)}.pagehero h1{font-size:clamp(44px,6vw,65px)}
.listgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:31px}
.note{padding:17px 20px;border-left:4px solid #e59a29;background:#fff5e7;border-radius:4px;margin:22px 0}
.cta{padding:57px 0;background:linear-gradient(110deg,var(--red),var(--red2));color:#fff}.cta .wrap{display:flex;justify-content:space-between;gap:30px;align-items:center}
.contact-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:46px}
.form{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form .full{grid-column:1/-1}
.form input,.form textarea{width:100%;border:1px solid var(--line);border-radius:7px;padding:14px;font:inherit;background:#fff}
.form textarea{min-height:165px;resize:vertical}.form label{font-size:13px;color:#536171}.form label input{width:auto;margin-right:7px}
.alert{padding:14px 16px;border-radius:7px;margin-bottom:18px}.ok{background:#e8f6ed;color:#175d31}.bad{background:#fff0f0;color:#8a2525}
footer{background:#051b2e;color:#cbd9e3;padding:57px 0 20px}
.footer-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr 1.15fr;gap:32px}
footer .flogo{width:220px;filter:brightness(0) invert(1);opacity:.96}footer h4{color:#fff;margin:0 0 15px}
footer p,footer a{font-size:14px;color:#cbd9e3;text-decoration:none}.copy{display:flex;justify-content:space-between;gap:20px;margin-top:38px;padding-top:19px;border-top:1px solid rgba(255,255,255,.12);font-size:12px}
.breadcrumb{font-size:13px;color:#9fb6c8;margin-bottom:12px}
.legal h2{font-size:30px;margin-top:40px}.legal h3{font-size:21px;color:var(--navy)}
@media(max-width:1020px){
 .mobile{display:block}.menu{display:none;position:absolute;top:82px;left:0;right:0;background:#fff;padding:22px 28px;box-shadow:var(--shadow);flex-direction:column;align-items:flex-start}
 .menu.open{display:flex}.nav>.btn{display:none}.drop-panel{position:static;display:block!important;box-shadow:none;border:0;padding:5px 0 0 13px}
 .grid4{grid-template-columns:1fr 1fr}.grid3,.listgrid{grid-template-columns:1fr 1fr}.split,.contact-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:650px){
 .top .wrap{display:block}.top .wrap span:last-child{display:none}.logo img{width:190px}.hero{padding:78px 0 70px}.hero h1{font-size:46px}
 .proof{grid-template-columns:1fr 1fr}.grid4,.grid3,.listgrid,.stats,.footer-grid,.form{grid-template-columns:1fr}
 .section{padding:60px 0}.stat{border-right:0;border-bottom:1px solid rgba(255,255,255,.13)}.checks{grid-template-columns:1fr}
 .cta .wrap,.copy{display:block}.cta .btn{margin-top:17px}.pagehero{padding:72px 0}.wrap{width:min(var(--wrap),calc(100% - 28px))}
}
