:root{
  --navy:#0a1a33; --navy2:#0e2547; --blue:#1e6feb; --blue-light:#4fa8ff;
  --ink:#0a1a33; --paper:#f7f9fc; --line:#dbe4f0; --muted:#5b6b85;
  padding-top:env(safe-area-inset-top,0px); padding-bottom:env(safe-area-inset-bottom,0px);
  box-sizing:border-box;
}
*{box-sizing:border-box}
html{scroll-padding-top:env(safe-area-inset-top,0px)}
body{margin:0;background:var(--paper);color:var(--ink);font-family:'Inter',sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:'Space Grotesk',sans-serif;margin:0 0 .4em;color:var(--navy);font-weight:600;line-height:1.15}
p{margin:0 0 1em;color:var(--muted)}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px}
button{font-family:inherit;cursor:pointer}

header{position:sticky;top:0;top:env(safe-area-inset-top,0px);z-index:50;background:rgba(247,249,252,.9);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;padding:14px 24px}
.brand{display:flex;align-items:center;gap:8px;font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:1.15rem;color:var(--navy)}
.brand .brandmark{width:30px;height:auto}
.brand span.w{color:var(--blue)}
nav.links{display:flex;gap:26px;font-size:.95rem;font-weight:500}
nav.links a{padding:6px 0;border-bottom:2px solid transparent;transition:border-color .2s}
nav.links a:hover,nav.links a.active{border-color:var(--blue)}
.callbtn{background:var(--navy);color:#fff;padding:10px 18px;border-radius:100px;font-weight:600;font-size:.9rem;white-space:nowrap}
.menutoggle{display:none;background:none;border:none;font-size:1.6rem;color:var(--navy)}
@media(max-width:820px){
  nav.links{position:fixed;inset:60px 0 0 0;background:var(--paper);flex-direction:column;padding:20px 24px;gap:4px;transform:translateY(-110%);transition:transform .3s;border-bottom:1px solid var(--line)}
  nav.links.open{transform:translateY(0)}
  nav.links a{padding:12px 0;border-bottom:1px solid var(--line)}
  .menutoggle{display:block}
  .nav{padding:12px 16px}
  .callbtn{padding:9px 14px;font-size:.8rem}
  .brand{font-size:1rem}
}
@media(max-width:480px){
  .wrap{padding:0 16px}
  .hero{padding:40px 0 24px}
  .herobtns .btn{padding:12px 20px;font-size:.9rem}
  .card .cardimg{height:130px}
  .cta-band{padding:26px;flex-direction:column;align-items:flex-start;text-align:left}
}

.pipeline{position:relative;height:6px;overflow:hidden;background:var(--line)}
.pipeline::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,var(--navy),var(--blue),var(--blue-light));background-size:200% 100%;animation:flow 3.5s linear infinite}
@keyframes flow{to{background-position:-200% 0}}

.hero{padding:72px 0 40px;position:relative;overflow:hidden}
.hero .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center}
@media(max-width:820px){.hero .wrap{grid-template-columns:1fr}}
.eyebrow{color:var(--blue);font-weight:600;font-size:.95rem;margin-bottom:10px}
.hero h1{font-size:clamp(2.1rem,4.2vw,3.4rem);max-width:12ch}
.hero p.lead{font-size:1.1rem;max-width:46ch}
.herobtns{display:flex;gap:14px;margin-top:24px;flex-wrap:wrap}
.btn{display:inline-block;padding:14px 26px;border-radius:100px;font-weight:600;font-size:.95rem;transition:transform .2s}
.btn.primary{background:var(--blue);color:#fff}
.btn.ghost{border:1.5px solid var(--navy);color:var(--navy)}
.btn:hover{transform:translateY(-2px)}
.pipe-svg{width:100%;height:auto}
.pipe-svg path.route{stroke-dasharray:900;stroke-dashoffset:900;animation:draw 2.2s ease forwards .2s}
.pipe-svg circle.drop{opacity:0;animation:fall 2.2s ease forwards 1.6s}
@keyframes draw{to{stroke-dashoffset:0}}
@keyframes fall{0%{opacity:0;transform:translateY(-14px)}20%{opacity:1}100%{opacity:1;transform:translateY(0)}}
.trustrow{display:flex;gap:28px;flex-wrap:wrap;margin-top:36px;padding-top:24px;border-top:1px solid var(--line)}
.trustrow div{font-size:.85rem;color:var(--muted)}
.trustrow strong{display:block;color:var(--navy);font-family:'Space Grotesk',sans-serif;font-size:1.5rem}

section{padding:64px 0}
.sectionhead{max-width:60ch;margin-bottom:36px}
.sectionhead h2{font-size:clamp(1.6rem,3vw,2.2rem)}

.grid{display:grid;gap:16px}
.services-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}
.card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:22px;text-align:left;transition:border-color .2s,transform .2s;overflow:hidden}
.card:hover{border-color:var(--blue);transform:translateY(-3px)}
.card .cardimg{background:linear-gradient(135deg,#0a1a33,#1e6feb);max-width:none;width:calc(100% + 44px);margin:-22px -22px 16px;height:150px;object-fit:cover;object-position:center;display:block}
.card .cardimg-svg{padding:0;line-height:0}
.card .cardimg-svg svg{width:100%;height:120px;display:block}
.card .icon{width:32px;height:32px;color:var(--blue);margin-bottom:12px}
.card h3{font-size:1.02rem;margin-bottom:6px}
.card p{font-size:.88rem;margin:0}

.loc-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}
.loc-card{position:relative;display:block;border-radius:10px;overflow:hidden;min-height:150px;background:var(--navy)}
.loc-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.loc-media.loc-media-svg{line-height:0}
.loc-media.loc-media-svg svg{width:100%;height:100%;display:block}
.loc-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,26,51,.35),rgba(10,26,51,.88));display:flex;flex-direction:column;justify-content:flex-end;padding:16px;color:#fff}
.loc-overlay h3{color:#fff;margin-bottom:2px}
.loc-overlay p{color:#dbe6f7;font-size:.85rem;margin:0}

.process{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
@media(max-width:820px){.process{grid-template-columns:1fr 1fr}}
.step{position:relative;padding-top:8px}
.step .num{font-family:'Space Grotesk',sans-serif;color:var(--blue-light);font-weight:700;font-size:1.6rem;opacity:.5}

.blog-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.blog-card{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.blog-card .thumb{height:140px;background:linear-gradient(135deg,var(--navy),var(--blue));overflow:hidden}
.blog-card .thumb img{width:100%;height:100%;object-fit:cover}
.blog-card .body{padding:18px}
.blog-card .meta{font-size:.78rem;color:var(--blue);font-weight:600;margin-bottom:6px}
.blog-card h3{font-size:1.02rem}

footer{background:var(--navy);color:#c4d1e6;padding:48px 0 24px;margin-top:40px}
footer h4{color:#fff;font-size:.9rem;margin-bottom:12px}
footer a{color:#c4d1e6;font-size:.9rem;display:block;padding:4px 0}
footer a:hover{color:#fff}
.footgrid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:24px}
@media(max-width:820px){.footgrid{grid-template-columns:1fr 1fr}}
.footbottom{border-top:1px solid #1c3357;margin-top:32px;padding-top:18px;font-size:.8rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;color:#7f92b0}

.breadcrumb{font-size:.85rem;color:var(--muted);margin-bottom:18px}
.breadcrumb a{color:var(--blue)}
.detail-hero{background:var(--navy);color:#fff;padding:48px 0}
.detail-hero h1{color:#fff;max-width:20ch}
.detail-hero p{color:#b9c7de;max-width:60ch}
.detail-img{width:100%;aspect-ratio:16/7;border-radius:12px;background:linear-gradient(120deg,var(--navy),var(--blue) 60%,var(--blue-light));position:relative;overflow:hidden;margin:28px 0}
.detail-img img{width:100%;height:100%;object-fit:cover;display:block}
.detail-img.detail-img-svg{background:none;line-height:0}
.detail-img.detail-img-svg svg{width:100%;height:100%;display:block}
.detail-img.imgfallback img{display:none}
@media(max-width:600px){.detail-img{aspect-ratio:4/3}}
.benefits{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:24px 0}
@media(max-width:600px){.benefits{grid-template-columns:1fr}}
.benefits li{list-style:none;padding:14px 16px;background:#fff;border:1px solid var(--line);border-radius:8px;font-size:.92rem;position:relative;padding-left:38px}
.benefits li::before{content:'';position:absolute;left:14px;top:16px;width:14px;height:14px;border-radius:50%;background:var(--blue)}
.cta-band{background:var(--blue);border-radius:14px;padding:36px;color:#fff;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:18px;margin:40px 0}
.cta-band h3{color:#fff;margin-bottom:4px}
.cta-band .btn.primary{background:#fff;color:var(--navy)}
.arealist{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.arealist a{background:#fff;border:1px solid var(--line);padding:6px 14px;border-radius:100px;font-size:.82rem}
.relatedgrid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}

.fade-in{animation:fadeup .5s ease both}
@keyframes fadeup{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@media (prefers-reduced-motion: reduce){*{animation-duration:.001ms !important;animation-iteration-count:1 !important}}

.contactgrid{display:grid;grid-template-columns:1fr 1fr;gap:40px}
@media(max-width:700px){.contactgrid{grid-template-columns:1fr}}

.brand .brandlogo{height:52px;width:auto;display:block}
.footlogo{height:96px;width:auto;background:#fff;border-radius:12px;padding:6px;display:block}
@media(max-width:480px){.brand .brandlogo{height:44px}}
