
:root{
  --steel-blue:#1F4E78;
  --graphite:#333333;
  --accent:#2EA3F2;
  --light-steel:#F4F6F8;
  --panel:#FFFFFF;
  --muted:#6B7280;
  --line:#D8DEE6;
  --success:#0f766e;
}
html{scroll-behavior:smooth}
body{
  background:var(--light-steel);
  color:var(--graphite);
  font-family:Inter,"Segoe UI",Roboto,Arial,sans-serif;
}
.navbar{
  background:rgba(255,255,255,.96);
  border-bottom:1px solid var(--line);
  backdrop-filter:blur(10px);
}
.navbar-brand{
  font-weight:800;
  letter-spacing:.02em;
  color:var(--steel-blue)!important;
}
.nav-link {
    color: var(--graphite) !important;
    font-weight: 600;
    position: relative;
    padding-bottom: 6px;
}

/*
.nav-link::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 0;
    height: 3px;
    background-color: #0d6efd; 
    transition: width 0.25s ease;
}


.nav-link:hover::after {
    width: 100%;
}


.nav-link.active::after {
    width: 100%;
}*/

/*New SLider*/
.nav-track {
    position: relative;
}

    .nav-track .nav-link {
        position: relative;
        display: inline-block;
        padding-bottom: 0.5rem;
    }

.nav-slider {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 3px;
    border-radius: 999px;
    background: linear-gradient(90deg, #0d6efd, #5aa7ff);
    box-shadow: 0 0 10px rgba(13, 110, 253, 0.35);
    transition: left 0.28s ease, width 0.28s ease, opacity 0.2s ease;
    opacity: 0;
    pointer-events: none;
}

@media (max-width: 991.98px) {
    .nav-slider {
        display: none;
    }
}

.hero{
  background:
    linear-gradient(135deg, rgba(31,78,120,.96), rgba(20,35,55,.95)),
    radial-gradient(circle at top right, rgba(46,163,242,.18), transparent 30%);
  color:#fff;
  padding:110px 0 84px;
  position:relative;
  overflow:hidden;
}
.hero:after{
  content:"";
  position:absolute;
  inset:auto -12% -120px auto;
  width:560px;
  height:560px;
  background:radial-gradient(circle, rgba(46,163,242,.2), transparent 70%);
  pointer-events:none;
}
.eyebrow{
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:.8rem;
  color:rgba(255,255,255,.78);
  margin-bottom:1rem;
  font-weight:700;
}
.hero h1{
  font-size:clamp(2.35rem, 5vw, 4.25rem);
  line-height:1.05;
  font-weight:800;
  max-width:900px;
  margin-bottom:1rem;
}
.hero .lead{
  max-width:780px;
  font-size:1.16rem;
  color:rgba(255,255,255,.9);
  margin-bottom:2rem;
}
.btn-primary-custom{
  background:var(--accent);
  border:none;
  color:#fff;
  font-weight:700;
  padding:.9rem 1.2rem;
  border-radius:1rem;
}
.btn-primary-custom:hover{background:#2296df;color:#fff}
.btn-outline-custom{
  border:1px solid rgba(255,255,255,.34);
  color:#fff;
  font-weight:700;
  padding:.9rem 1.2rem;
  border-radius:1rem;
}
.btn-outline-custom:hover{background:rgba(255,255,255,.08); color:#fff}
.hero-card,.panel,.project-card,.quote-card,.service-card,.article-card,.contact-card{
  background:var(--panel);
  border:1px solid var(--line);
  border-radius:1.25rem;
  box-shadow:0 10px 28px rgba(17,24,39,.05);
}
.hero-card{
  background:rgba(255,255,255,.09);
  border:1px solid rgba(255,255,255,.14);
  color:#fff;
  padding:1.3rem;
  backdrop-filter:blur(10px);
}
.stat{
  border-left:2px solid rgba(46,163,242,.8);
  padding-left:.8rem;
  margin-bottom:1rem;
}
.stat strong{
  display:block;
  font-size:1.25rem;
  color:#fff;
}
section{padding:72px 0}
.section-title{
  font-size:2rem;
  font-weight:800;
  color:var(--steel-blue);
  margin-bottom:.75rem;
}
.section-sub{
  color:var(--muted);
  max-width:800px;
  margin-bottom:2rem;
}
.panel,.project-card,.quote-card,.service-card,.article-card,.contact-card{padding:1.45rem;height:100%}
.panel h3,.panel h4,.project-card h4,.service-card h4,.article-card h4,.contact-card h4{
  color:var(--steel-blue);
  font-weight:800;
}
.icon-box{
  width:48px;
  height:48px;
  border-radius:.9rem;
  background:rgba(46,163,242,.12);
  color:var(--steel-blue);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-weight:800;
  margin-bottom:1rem;
}
.tag{
  display:inline-block;
  padding:.35rem .66rem;
  background:rgba(31,78,120,.08);
  color:var(--steel-blue);
  border-radius:999px;
  font-size:.82rem;
  font-weight:800;
  margin:0 .4rem .4rem 0;
}

.process-step{
  position:relative;
  padding-left:70px;
  min-height:54px;
  margin-bottom:1.35rem;
}

.process-step .num{
  position:absolute; left:0; top:0;
  width:48px; height:48px; border-radius:.9rem;
  background:var(--steel-blue); color:#fff;
  display:flex; align-items:center; justify-content:center;
  font-weight:800;
}

.quote-card{
    min-height:250px;
}

.quote-mark{
  font-size:2rem;
  line-height:1;
  color:var(--accent);
  font-weight:900;
}

.quote-mark.right {
    text-align: right;
}
.quote-mark.left {
    text-align: left;
}

.quote-name{
    font-weight:800;
    color:var(--steel-blue);
    padding-top:1.5rem;
}

.quote-role{
    color:var(--muted);
    font-size:.95rem

}

.metric{
  display:flex; align-items:flex-start; gap:1rem;
  padding:1rem 0;
  border-bottom:1px solid var(--line);
}
.metric:last-child{border-bottom:none}
.metric strong{display:block;color:var(--steel-blue)}
.cta-band{
  background:linear-gradient(135deg,var(--steel-blue),#17324c);
  color:#fff;
  border-radius:1.4rem;
  padding:2rem;
}
.page-hero{
  background:linear-gradient(135deg, rgba(31,78,120,.94), rgba(20,35,55,.92));
  color:#fff;
  padding:84px 0 56px;
}
.page-hero h1{
  font-size:clamp(2rem, 4vw, 3.2rem);
  font-weight:800;
}
.list-clean{padding-left:1.15rem}
.list-clean li{margin-bottom:.6rem}
footer{
  padding:32px 0 56px;
  color:var(--muted);
  font-size:.95rem;
}
.small-note{font-size:.92rem;color:var(--muted)}
.card-grid-gap{row-gap:1.5rem}
ins, .underline-accent{text-decoration:none; border-bottom:3px solid rgba(46,163,242,.5)}
