:root{
  --navy:#0B1F4D;
  --navy-2:#0F2A63;
  --blue:#1E5FE0;
  --blue-light:#3D8BFF;
  --off:#F7F9FC;
  --orange:#1E5FE0;
  --slate:#4A5A78;
  --green:#1FA876;
  --line:rgba(255,255,255,0.12);
  --line-dark:rgba(11,31,77,0.1);
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:'Inter',-apple-system,Helvetica,Arial,sans-serif;
  background:var(--off);
  color:var(--navy);
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{
  font-family:'Space Grotesk','Inter',sans-serif;
  font-weight:600;
  letter-spacing:-0.02em;
  line-height:1.1;
}
a{color:inherit;text-decoration:none;}
img,svg{display:block;}
.wrap{max-width:1180px;margin:0 auto;padding:0 28px;}
.eyebrow{
  font-size:12px;letter-spacing:0.14em;text-transform:uppercase;font-weight:600;
  color:var(--orange);display:flex;align-items:center;gap:10px;
}
.eyebrow::before{content:'';width:18px;height:1px;background:var(--orange);}

/* ===== NAV ===== */

header{
  position:sticky;
  top:0;
  z-index:50;
  background:linear-gradient(120deg,#0B1F4D,#163E8C);
  backdrop-filter:blur(8px);
  border-bottom:1px solid var(--line);
}

nav{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:16px 28px;
  max-width:1180px;
  margin:0 auto;
}

.logo{
  display:flex;
  align-items:center;
  gap:10px;
  color:var(--off);
}

.logo img{
  height:52px;
  width:auto;
  display:block;
}

.nav-links{
  display:flex;
  align-items:center;
  gap:32px;
  font-size:14px;
  color:#C7CFD6;
}

.nav-links a{
  color:#C7CFD6;
  text-decoration:none;
}

.nav-links a:hover{
  color:var(--off);
}

.nav-links a.active{
  color:var(--orange);
}

/* Dropdown */

.has-dropdown{
  position:relative;
}

.has-dropdown > a{
  display:block;
}

.dropdown{
  position:absolute;
  top:100%;
  left:0;

  min-width:240px;

  background:var(--navy-2);
  border:1px solid var(--line);
  border-radius:6px;

  padding:8px;

  display:none;

  z-index:9999;

  box-shadow:0 20px 40px -10px rgba(0,0,0,0.5);
}

.has-dropdown:hover .dropdown{
  display:block;
}

.dropdown a{
  display:block;
  padding:9px 12px;
  border-radius:4px;
  font-size:13.5px;
  color:#C7CFD6;
}

.dropdown a:hover{
  background:rgba(255,255,255,0.06);
  color:var(--off);
}

.nav-cta{
  background:var(--orange);
  color:var(--navy);
  padding:10px 20px;
  border-radius:4px;
  font-weight:600;
  font-size:14px;
}

.nav-cta:hover{
  background:#ff9c5c;
}

.menu-toggle{
  display:none;
  background:none;
  border:none;
  color:var(--off);
  font-size:24px;
  cursor:pointer;
}

/* mobile nav rules consolidated below */
/* ===== PAGE HERO (sub-pages) ===== */
.page-hero{
  background:linear-gradient(135deg,#0B1F4D 0%,#163E8C 60%,#1E5FE0 100%);color:var(--off);padding:60px 0 56px;position:relative;overflow:hidden;
}
.page-hero::before{
  content:'';position:absolute;top:-180px;right:-140px;width:480px;height:480px;
  background:radial-gradient(circle,rgba(61,139,255,0.35),transparent 70%);pointer-events:none;
}
.breadcrumb{font-size:13px;color:#9AA6B2;margin-bottom:16px;position:relative;z-index:1;}
.breadcrumb a:hover{color:var(--orange);}
.page-hero h1{font-size:38px;position:relative;z-index:1;max-width:680px;}
.page-hero p.lead{font-size:16px;color:#B9C2CB;margin-top:16px;max-width:560px;position:relative;z-index:1;}

section{padding:80px 0;}
.section-head{max-width:620px;margin-bottom:46px;}
.section-head h2{font-size:32px;margin-top:14px;color:var(--navy);}
.section-head p{color:var(--slate);font-size:15.5px;margin-top:14px;}
.light-on-dark .section-head h2{color:var(--off);}
.light-on-dark .section-head p{color:#B9C2CB;}

/* ===== CARDS / GRIDS ===== */
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.svc-card{
  background:#fff;border:1px solid var(--line-dark);border-radius:8px;padding:28px 24px;
  transition:border-color .15s, transform .15s;display:block;
}
.svc-card:hover{border-color:var(--orange);transform:translateY(-3px);}
.svc-card.featured{border-color:var(--orange);background:linear-gradient(160deg,#fff 60%,#FFF3E9);}
.svc-icon{width:42px;height:42px;border-radius:8px;background:var(--navy);display:flex;align-items:center;justify-content:center;margin-bottom:18px;}
.svc-card.featured .svc-icon{background:var(--orange);}
.svc-tag{
  display:inline-block;font-size:11px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;
  color:var(--orange);background:rgba(255,138,61,0.1);padding:3px 8px;border-radius:3px;margin-bottom:12px;
}
.svc-card h3{font-size:18px;margin-bottom:8px;}
.svc-card p{font-size:14px;color:var(--slate);}
@media (max-width:860px){.services-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:600px){.services-grid{grid-template-columns:1fr;}}

.why-band{background:#fff;border-top:1px solid var(--line-dark);border-bottom:1px solid var(--line-dark);}
.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;}
.why-item{padding:36px 28px;border-right:1px solid var(--line-dark);}
.why-item:last-child{border-right:none;}
.why-num{font-family:'Space Grotesk',sans-serif;font-size:30px;color:var(--orange);font-weight:700;}
.why-item h4{font-size:14.5px;margin-top:10px;}
.why-item p{font-size:13px;color:var(--slate);margin-top:6px;}
@media (max-width:860px){.why-grid{grid-template-columns:1fr 1fr;}.why-item{border-right:none;border-bottom:1px solid var(--line-dark);}}
@media (max-width:600px){.why-grid{grid-template-columns:1fr;}}

.industries-row{display:flex;gap:14px;flex-wrap:wrap;}
.chip{border:1px solid var(--line-dark);padding:9px 16px;border-radius:20px;font-size:13.5px;color:var(--navy);background:#fff;}

.pricing{background:var(--navy);color:var(--off);}
.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.price-card{background:var(--navy-2);border:1px solid var(--line);border-radius:8px;padding:30px 26px;}
.price-card h3{font-size:16px;color:var(--off);margin-bottom:6px;}
.price-card .price{font-family:'Space Grotesk',sans-serif;font-size:26px;color:var(--orange);margin:14px 0 16px;}
.price-card .price span{font-size:13px;color:#9AA6B2;font-weight:400;}
.price-card ul{list-style:none;font-size:13.5px;color:#B9C2CB;}
.price-card li{padding:5px 0;display:flex;gap:8px;}
.price-card li::before{content:'✓';color:var(--green);font-weight:700;}
.price-note{margin-top:30px;font-size:13px;color:#7E8B98;text-align:center;}
@media (max-width:860px){.price-grid{grid-template-columns:1fr;}}

.faq-item{border-bottom:1px solid var(--line-dark);padding:22px 0;}
.faq-item summary{font-weight:600;font-size:15.5px;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{content:'+';font-size:20px;color:var(--orange);}
.faq-item[open] summary::after{content:'−';}
.faq-item p{margin-top:12px;font-size:14px;color:var(--slate);max-width:780px;}

.cta-band{background:linear-gradient(135deg,#0B1F4D,#1E5FE0);color:var(--off);text-align:center;padding:70px 0;}
.cta-band h2{font-size:30px;margin-bottom:16px;}
.cta-band p{color:#B9C2CB;margin-bottom:28px;}

/* lifecycle stages */
.lifecycle{background:var(--navy);color:var(--off);}
.stage-track{display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative;}
.stage-track::before{content:'';position:absolute;top:34px;left:0;right:0;height:1px;background:linear-gradient(to right,var(--line),var(--orange),var(--line));opacity:0.4;}
.stage{position:relative;padding-right:24px;}
.stage-num{width:68px;height:68px;border-radius:50%;background:var(--navy-2);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:13px;color:var(--orange);margin-bottom:22px;position:relative;z-index:1;}
.stage h3{font-size:18px;color:var(--off);margin-bottom:8px;}
.stage p{font-size:13.5px;color:#9AA6B2;}
@media (max-width:860px){.stage-track{grid-template-columns:1fr;gap:36px;}.stage-track::before{display:none;}}

/* service detail page specifics */
.detail-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:50px;}
.detail-grid h2{font-size:24px;margin-bottom:14px;margin-top:34px;}
.detail-grid h2:first-child{margin-top:0;}
.detail-grid p{color:var(--slate);font-size:15px;margin-bottom:6px;}
.check-list{list-style:none;margin-top:10px;}
.check-list li{padding:7px 0;font-size:14.5px;color:var(--navy);display:flex;gap:10px;}
.check-list li::before{content:'✓';color:var(--green);font-weight:700;}
.side-card{background:#fff;border:1px solid var(--line-dark);border-radius:8px;padding:26px;position:sticky;top:100px;height:max-content;}
.side-card h4{font-size:14px;text-transform:uppercase;letter-spacing:0.06em;color:var(--slate);margin-bottom:14px;}
.side-card .price-big{font-family:'Space Grotesk',sans-serif;font-size:28px;color:var(--orange);margin-bottom:6px;}
.side-card .price-sub{font-size:13px;color:var(--slate);margin-bottom:20px;}
.related-list a{display:block;padding:10px 0;border-top:1px solid var(--line-dark);font-size:14px;}
.related-list a:hover{color:var(--orange);}
@media (max-width:900px){.detail-grid{grid-template-columns:1fr;}.side-card{position:static;}}

/* about page */
.timeline-item{display:flex;gap:24px;padding:24px 0;border-top:1px solid var(--line-dark);}
.timeline-item:first-child{border-top:none;}
.timeline-year{font-family:'Space Grotesk',sans-serif;font-weight:700;color:var(--orange);min-width:70px;}
.timeline-text h4{font-size:15.5px;margin-bottom:4px;}
.timeline-text p{font-size:14px;color:var(--slate);}

/* contact page */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;}
.contact-card{background:#fff;border:1px solid var(--line-dark);border-radius:8px;padding:30px;margin-bottom:18px;}
.contact-card h4{font-size:13px;text-transform:uppercase;letter-spacing:0.06em;color:var(--slate);margin-bottom:10px;}
.contact-card a{font-size:18px;font-family:'Space Grotesk',sans-serif;font-weight:600;color:var(--navy);}
.contact-card a:hover{color:var(--orange);}
.map-block{background:var(--navy-2);height:220px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#7E8B98;font-size:13.5px;}
@media (max-width:860px){.contact-grid{grid-template-columns:1fr;}}

/* ===== FOOTER ===== */
footer{background:#0A1420;color:#7E8B98;padding:50px 0 30px;font-size:13.5px;}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:30px;margin-bottom:40px;}
.footer-grid h4{color:var(--off);font-size:13px;margin-bottom:14px;font-family:'Inter';font-weight:600;}
.footer-grid a{display:block;padding:4px 0;color:#9AA6B2;}
.footer-grid a:hover{color:var(--orange);}
.footer-bottom{border-top:1px solid var(--line);padding-top:22px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;}
@media (max-width:760px){.footer-grid{grid-template-columns:1fr 1fr;}}


@media (max-width:860px){

  nav{
    position:relative;
  }

  .nav-links{
    display:none;
    position:absolute;
    top:100%;
    left:0;
    right:0;

    background:var(--navy);

    flex-direction:column;
    align-items:flex-start;

    gap:0;
    padding:15px;

    border-top:1px solid var(--line);
    z-index:999;
  }

  .nav-links.mobile-open{
    display:flex;
  }

  .nav-links a{
    width:100%;
    padding:12px 0;
  }

  .has-dropdown{
    width:100%;
  }

  .dropdown{
    position:static;
    display:none;
    border:none;
    box-shadow:none;
    background:transparent;
    padding-left:15px;
}

.has-dropdown.mobile-dropdown-open .dropdown{
    display:block;
}

  .dropdown a{
    padding:8px 0;
  }

  .menu-toggle{
    display:block;
  }

  .nav-cta{
    display:none;
  }
}
/* ===== RESPONSIVE GRID UTILITIES ===== */
.hero-split{display:grid;grid-template-columns:1.1fr 1fr;gap:60px;align-items:center;position:relative;z-index:1;}
.two-col-60{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;}
.stat-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.team-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:780px;margin:0 auto;}
@media (max-width:900px){
  .hero-split{grid-template-columns:1fr;gap:36px;}
  .two-col-60{grid-template-columns:1fr;gap:30px;}
  .hero h1{font-size:34px;}
}
@media (max-width:560px){
  .stat-grid-2{grid-template-columns:1fr 1fr;gap:14px;}
  .team-grid-2{grid-template-columns:1fr;gap:16px;}
  .hero h1{font-size:28px;}
  .page-hero h1{font-size:28px;}
  section{padding:56px 0;}
  .wrap{padding:0 18px;}
}

.hero-title{font-size:48px;}
@media (max-width:900px){.hero-title{font-size:36px;}}
@media (max-width:560px){.hero-title{font-size:28px;}}
