:root{
  --blue:#005d8e;
  --blue-bright:#20a9e8;
  --dark:#0c141a;
  --dark2:#091116;
  --card:#15222b;
  --text:#e8eef2;
  --muted:#aebcc5;
  --line:#263842;
  --white:#fff;
  --wrap:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;max-width:100%;overflow-x:clip}
body{margin:0;max-width:100%;overflow-x:clip;background:var(--dark);color:var(--text);font-family:"Nunito",Arial,sans-serif;font-size:17px;line-height:1.62}
a{color:inherit}.wrap{width:min(var(--wrap),calc(100% - 48px));margin:auto}
.site-header{position:sticky;top:0;z-index:50;background:rgba(8,15,20,.97);border-bottom:1px solid var(--line);backdrop-filter:blur(10px)}
.nav{min-height:88px;display:flex;align-items:center;gap:22px;min-width:0}.logo{flex:0 0 auto}.logo img{display:block;width:270px;max-height:62px;object-fit:contain;object-position:left center}
.menu{margin-left:auto;display:flex;align-items:center;gap:18px;font-size:13px;font-weight:800;white-space:nowrap;min-width:0}.menu a{text-decoration:none;transition:color .18s ease}.menu>a:hover,.drop>a:hover{color:#40bdf4}
.drop{position:relative}.drop>div{display:none;position:absolute;top:25px;left:-18px;background:#111d25;border:1px solid var(--line);min-width:220px;padding:10px;box-shadow:0 14px 36px rgba(0,0,0,.28)}.drop:hover>div{display:grid}.drop>div a{padding:8px 10px;text-decoration:none}.drop>div a:hover{background:#182630;color:#40bdf4}
.btn{display:inline-block;background:var(--blue);color:#fff;text-decoration:none;padding:13px 21px;font-weight:800;border-radius:2px;border:1px solid transparent;transition:transform .15s ease,background .15s ease}.btn:hover{background:#0877ab;transform:translateY(-1px)}.btn.alt{background:transparent;border-color:#71818a}.btn.alt:hover{border-color:#fff;background:rgba(255,255,255,.05)}
.mobile-menu{display:none;margin-left:auto;position:relative}.mobile-menu summary{list-style:none;cursor:pointer;background:var(--blue);padding:10px 14px;font-weight:800;border-radius:2px}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu nav{position:absolute;right:0;top:52px;width:min(320px,calc(100vw - 28px));display:grid;background:#0d171d;border:1px solid var(--line);box-shadow:0 18px 40px rgba(0,0,0,.38);padding:8px}.mobile-menu nav a{text-decoration:none;padding:10px 12px;border-bottom:1px solid rgba(255,255,255,.06)}.mobile-menu nav a:last-child{border-bottom:0}.mobile-menu nav .sub{padding-left:28px;color:#b7c6ce;font-size:14px}
.hero{min-height:610px;display:flex;align-items:center;background:linear-gradient(90deg,rgba(5,10,14,.94) 0%,rgba(5,10,14,.72) 42%,rgba(5,10,14,.24) 100%),url('img/hero.jpg') center 44%/cover no-repeat}.hero .inner{max-width:720px;padding:58px 0}.eyebrow{color:#22a7e8;text-transform:uppercase;letter-spacing:.18em;font-size:13px;font-weight:900}h1,h2,h3{font-family:"Montserrat",Arial,sans-serif;line-height:1.1;margin:12px 0 20px}h1{font-size:clamp(46px,5.5vw,72px)}h2{font-size:clamp(32px,3.7vw,48px)}h3{font-size:22px}.lead{font-size:21px;color:#d2dde3}.buttons{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}
.section{padding:74px 0}.section.alt{background:var(--dark2)}.section.blue{background:var(--blue)}.intro{max-width:820px;margin-bottom:34px}.intro h2{margin-bottom:14px}.intro p{margin-bottom:0}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.solutions-grid{grid-template-columns:repeat(6,1fr)}.solutions-grid .card{grid-column:span 2}.solutions-grid .card:nth-child(4){grid-column:2/span 2}.solutions-grid .card:nth-child(5){grid-column:4/span 2}
.card{background:var(--card);border:1px solid var(--line);overflow:hidden;display:flex;flex-direction:column;min-width:0}.card img{width:100%;height:220px;object-fit:cover;display:block}.card .body{padding:21px 20px 22px;display:flex;flex:1;flex-direction:column}.card h3{margin-top:0;margin-bottom:10px}.card p{color:var(--muted);margin:0 0 16px}.card a.more{color:#35b7f2;font-weight:800;margin-top:auto}
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:54px;align-items:center}.split img{width:100%;max-height:470px;object-fit:cover;display:block}.split p{max-width:660px}.section.blue .split img{background:#fff;object-fit:contain;max-height:430px}
.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:35px}.fact{border-left:3px solid var(--blue-bright);padding-left:18px}.fact b{display:block;font-family:Montserrat,Arial,sans-serif;font-size:26px}
.page-hero{padding:90px 0 62px;background:var(--dark2);border-bottom:1px solid var(--line)}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.gallery img{width:100%;height:280px;object-fit:cover}.contactbox{background:var(--card);padding:34px;border:1px solid var(--line)}
footer{background:#050a0d;padding:52px 0 26px;color:#b5c0c6}footer .foot{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px}footer img{width:260px;margin-bottom:18px}footer a{color:#dce6eb}.email-obfuscated{color:#dce6eb;white-space:nowrap}.legal{border-top:1px solid #25323a;margin-top:34px;padding-top:20px;font-size:14px}.notice{padding:18px 0;background:#0f2735;color:#d8eef9}.legaltext h2{font-size:28px;margin-top:45px}.legaltext h3{font-size:20px}.legaltext{max-width:900px}
@media(max-width:1300px){.menu{gap:12px;font-size:12px}.logo img{width:220px}.nav{gap:14px}}
@media(max-width:1160px){.menu{gap:10px;font-size:12px}.logo img{width:210px}.nav{gap:12px}}
@media(max-width:900px){.nav{min-height:76px}.logo img{width:220px}.grid,.gallery,.facts{grid-template-columns:1fr 1fr}.solutions-grid{grid-template-columns:1fr 1fr}.solutions-grid .card,.solutions-grid .card:nth-child(4),.solutions-grid .card:nth-child(5){grid-column:auto}.split{grid-template-columns:1fr;gap:30px}.split img{max-height:480px}.hero{min-height:560px;background-position:58% center}.hero .inner{padding:48px 0}.section{padding:58px 0}.page-hero{padding:74px 0 50px}footer .foot{grid-template-columns:1fr}}
@media(max-width:600px){body{font-size:16px}.wrap{width:min(100% - 28px,var(--wrap))}.nav{min-height:72px}.logo img{width:190px}.grid,.gallery,.facts,.solutions-grid{grid-template-columns:1fr}h1{font-size:42px}h2{font-size:34px}.hero{min-height:520px;background-position:60% center}.hero .inner{padding:42px 0}.card img,.gallery img{height:230px}.section{padding:50px 0}.intro{margin-bottom:26px}.split{gap:26px}.split img{max-height:390px}.page-hero{padding:60px 0 42px}.buttons .btn{width:100%;text-align:center}}


/* V4.2 responsive header / hamburger */
.mobile-menu{display:none;margin-left:auto;position:relative;z-index:1001}
.mobile-menu summary{list-style:none;cursor:pointer;background:var(--blue);width:52px;height:46px;padding:0;border-radius:2px;display:flex;align-items:center;justify-content:center;position:relative;z-index:1002}
.mobile-menu summary::-webkit-details-marker{display:none}
.mobile-menu summary::before,.mobile-menu summary::after,.mobile-menu summary span{content:"";position:absolute;left:13px;right:13px;height:3px;background:#fff;border-radius:2px;transition:transform .18s ease,opacity .18s ease,top .18s ease}
.mobile-menu summary::before{top:13px}.mobile-menu summary span{top:21px}.mobile-menu summary::after{top:29px}
.mobile-menu[open] summary::before{top:21px;transform:rotate(45deg)}
.mobile-menu[open] summary span{opacity:0}
.mobile-menu[open] summary::after{top:21px;transform:rotate(-45deg)}
.mobile-menu nav{position:absolute;right:0;top:56px;width:min(340px,calc(100vw - 28px));max-height:calc(100vh - 86px);overflow-y:auto;display:grid;background:#0d171d;border:1px solid var(--line);box-shadow:0 18px 40px rgba(0,0,0,.48);padding:8px;z-index:1002}
.mobile-menu nav a{text-decoration:none;padding:11px 12px;border-bottom:1px solid rgba(255,255,255,.08)}
.mobile-menu nav a:last-child{border-bottom:0}.mobile-menu nav .sub{padding-left:28px;color:#b7c6ce;font-size:14px}
.mobile-menu[open]::after{content:"";position:fixed;inset:0;background:rgba(0,0,0,.48);z-index:1000}
@media(min-width:941px){.menu{display:flex}.mobile-menu{display:none!important}}
@media(max-width:940px){.menu{display:none}.mobile-menu{display:block}.nav{min-height:76px}.logo img{width:220px}}
@media(max-width:600px){.mobile-menu summary{width:48px;height:44px}.mobile-menu summary::before{top:12px}.mobile-menu summary span{top:20px}.mobile-menu summary::after{top:28px}.mobile-menu[open] summary::before,.mobile-menu[open] summary::after{top:20px}}

/* V4.3: sticky header remains active; overflow-x:clip avoids creating a scroll container. Hamburger only below 941px viewport width. */
