
:root{
  --navy:#0f1e3a; --navy-2:#162d5e; --ink:#0b1220; --sky:#eef4ff; --accent:#1f4fb2; --muted:#51607a; --card:#ffffff; --parallax: 0px;
  --header-h: 78px;
}
@media (max-width: 768px){ :root{ --header-h: 92px; } }
*{box-sizing:border-box}
html{ scroll-behavior: smooth; }
html,body{margin:0; font-family:Inter, system-ui,-apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial; color:#1a2333; background:#fff}
img{max-width:100%; height:auto}
.container{max-width:1200px; margin:0 auto; padding:0 20px}

/* INTRO */
#intro{position:fixed; inset:0; background:#0f1e3a; display:grid; place-items:center; z-index:200;}
#intro .logo{width:min(82vw, 660px); filter:drop-shadow(0 10px 24px rgba(0,0,0,.35)); transform:translateY(10px) scale(.98); opacity:0; animation:introPop .9s ease forwards .1s;}
@keyframes introPop{to{transform:translateY(0) scale(1); opacity:1;}}
.intro-hide{animation:introOut .5s ease forwards}
@keyframes introOut{to{opacity:0; visibility:hidden}}
@media (prefers-reduced-motion: reduce){ #intro{display:none} }

/* HEADER */
header{position:sticky; top:0; z-index:60; backdrop-filter:saturate(180%) blur(10px); background:rgba(255,255,255,.95); border-bottom:1px solid #e8edf5}
.nav{display:flex; align-items:center; justify-content:space-between; padding:10px 0}
.brand{display:flex; align-items:center; gap:12px}
.brand .logo-desktop{height:52px} /* smaller */
.logo-mobile{display:none}
nav{display:flex; align-items:center; gap:16px}
nav a{text-decoration:none; color:#1a2333; font-weight:600; padding:8px 6px}
.btn{padding:10px 14px; border-radius:10px; border:1px solid #d7deea; font-weight:600; background:#fff; line-height:1}
.btn.primary{background:var(--accent); color:#fff; border-color:transparent}

@media (max-width: 768px){
  header{background:#0f1636; box-shadow:0 6px 16px rgba(0,0,0,.18)}
  .logo-desktop{display:none}
  .logo-mobile{display:block; height:56px}
  nav a{color:#e7ecf8}
  .btn{background:#fff}
  .nav{ position:relative; }
  nav{ position:absolute; left:50%; transform:translateX(-50%); }
}

/* HERO */
.hero{position:relative; color:#fff; padding:96px 0 80px; overflow:hidden; background:radial-gradient(80% 120% at 50% -10%, #20345f 0%, #0f1e3a 60%);}
.hero::before{content:""; position:absolute; inset:-40px; background-image:url('../images/hero.jpg'); background-size:cover; background-position:center; opacity:.10; transform:translate3d(var(--mx,0), var(--my,0), 0) translateY(var(--parallax)); transition:transform .15s ease-out; pointer-events:none;}
.hero::after{content:""; position:absolute; inset:0; background-image:linear-gradient(120deg, rgba(255,255,255,.06) 0%, rgba(255,255,255,0) 20%, rgba(255,255,255,.06) 40%, rgba(255,255,255,0) 60%, rgba(255,255,255,.06) 80%); background-size:200% 100%; animation:diags 12s linear infinite; pointer-events:none;}
@keyframes diags{0%{background-position:0% 0}100%{background-position:200% 0}}

h1{margin:0 0 10px; font-size:44px; line-height:1.1}
h2{font-size:30px; margin:0 0 10px; color:#1a2333}
p.lead{opacity:.96; font-size:18px; max-width:760px}
.badges{display:flex; flex-wrap:wrap; gap:10px; margin-top:18px}
.badge{display:inline-flex; align-items:center; gap:8px; padding:8px 12px; border:1px solid rgba(255,255,255,.22); border-radius:999px; font-size:13px; background:rgba(255,255,255,.08)}

/* Corner white crescent, upper-right */
.hero .corner-mark{
  position:absolute;
  right:clamp(24px,7vw,140px);
  top:22%;
  width:clamp(120px,18vw,220px);
  opacity:1;
  pointer-events:none;
  filter:drop-shadow(0 6px 16px rgba(0,0,0,.25));
}

section{padding:64px 0}
#services, #industries, #naics, #process, #contact{ scroll-margin-top: var(--header-h); }

.grid{display:grid; gap:20px}
@media(min-width:950px){ .cols-2{grid-template-columns:1.2fr 1fr} .cols-3{grid-template-columns:repeat(3,1fr)} }

.icon-tile{background:linear-gradient(180deg, var(--navy), var(--navy-2)); border-radius:14px; width:56px; height:56px; display:grid; place-items:center; box-shadow:0 10px 24px rgba(0,0,0,.22), 0 0 0 2px rgba(255,255,255,.12) inset; margin-bottom:8px}
.icon-tile img{width:28px; height:28px; filter:invert(1) brightness(2) saturate(0) !important; -webkit-filter:invert(1) brightness(2) saturate(0) !important}

.card{background:var(--card); border:1px solid #e7edf6; border-radius:16px; padding:20px; box-shadow:0 10px 28px rgba(17,24,39,.06); transition:transform .25s ease, box-shadow .25s ease}
.card:hover{transform:translateY(-10px) scale(1.06); box-shadow:0 36px 78px rgba(17,24,39,.24)}

.section-wrap{position:relative; background:var(--sky); padding:64px 0}
.section-wrap::before, .section-wrap::after{content:""; position:absolute; top:0; bottom:0; width:90px; pointer-events:none; background:linear-gradient(180deg, rgba(31,79,178,.08), rgba(31,79,178,0));}
.section-wrap::before{left:0; border-top-right-radius:46px; border-bottom-right-radius:46px}
.section-wrap::after{right:0; border-top-left-radius:46px; border-bottom-left-radius:46px}

.timeline{border-left:3px solid #e7edf6; padding-left:16px}
.timeline .step{margin:14px 0}
.timeline .step strong{color:var(--navy)}

.reveal{opacity:0; transform:translateY(18px); transition:opacity .7s ease, transform .7s ease}
.reveal.show{opacity:1; transform:translateY(0)}

input, textarea{width:100%; padding:12px 14px; border-radius:12px; border:1px solid #d7deea; font:inherit}
label{font-weight:600; font-size:14px}
.success{display:none; background:#ecfdf5; color:#065f46; border:1px solid #a7f3d0; padding:12px 14px; border-radius:12px; margin-top:10px}

footer{background:#0e1830; color:#cfd8e6; padding:28px 0; font-size:14px}
.foot-grid{display:grid; gap:20px}
@media(min-width:900px){.foot-grid{grid-template-columns: 2fr 1fr 1fr}}
