/* 20268214027301 */
:root{
  --blue: #0052a5;
  --blue-dark: #003b78;
  --teal: #048592;
  --ink: #16232e;
  --ink-soft: #55636f;
  --line: #e1e7ec;
  --paper: #ffffff;
  --mist: #f5f8fb;
  --radius: 10px;
  --font-body: "Source Sans 3", "Segoe UI", Helvetica, Arial, sans-serif;
  --font-head: "Barlow Condensed", "Segoe UI", Helvetica, Arial, sans-serif;
  --maxw: 1120px;
}

*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0;
  font-family:var(--font-body);
  color:var(--ink);
  background:var(--mist);
  line-height:1.6;
}
img{ max-width:100%; display:block; }
a{ color:var(--blue); text-decoration:none; }
a:hover{ text-decoration:underline; }

.wrap{ max-width:var(--maxw); margin:0 auto; padding:0 1.5rem; }

h1,h2,h3,h4{
  font-family:var(--font-head);
  color:var(--blue);
  font-weight:700;
  letter-spacing:0.01em;
  line-height:1.15;
  margin:0 0 0.6rem;
}
h1{ font-size:2.1rem; }
h2{ font-size:1.5rem; }
h3{ font-size:1.2rem; color:var(--teal); }
p{ margin:0 0 1rem; color:var(--ink-soft); }

.btn{
  display:inline-block;
  padding:0.6rem 1.3rem;
  background:var(--blue);
  color:#fff;
  border-radius:999px;
  font-family:var(--font-head);
  font-size:1rem;
  letter-spacing:0.02em;
  text-decoration:none;
}
.btn:hover{ background:var(--blue-dark); text-decoration:none; }
.btn-outline{
  background:transparent;
  border:2px solid #fff;
  color:#fff;
}
.btn-outline:hover{ background:rgba(255,255,255,.15); }

/* header */
.utility-bar{
  background:var(--ink);
  color:#cfd8df;
  font-size:0.8rem;
}
.utility-bar .wrap{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  gap:1.4rem;
  padding-top:0.5rem;
  padding-bottom:0.5rem;
  flex-wrap:wrap;
}
.utility-bar .phone{ color:#fff; font-weight:600; margin-right:auto; }
.utility-bar a{ color:#cfd8df; }
.utility-bar a:hover{ color:#fff; }

.site-header{
  background:var(--paper);
  border-bottom:1px solid var(--line);
}
.site-header .wrap{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding-top:1rem;
  padding-bottom:1rem;
  gap:1.5rem;
}
.site-header .logo img{ height:44px; width:auto; }

.main-nav ul{
  list-style:none;
  display:flex;
  gap:1.6rem;
  margin:0;
  padding:0;
  flex-wrap:wrap;
}
.main-nav a{
  font-family:var(--font-head);
  font-size:1rem;
  letter-spacing:0.03em;
  text-transform:uppercase;
  color:var(--ink);
}
.main-nav a:hover{ color:var(--blue); text-decoration:none; }
.main-nav a[aria-current="page"]{ color:var(--blue); }

.nav-toggle{
  display:none;
  background:none;
  border:1px solid var(--line);
  border-radius:6px;
  padding:0.4rem 0.6rem;
  font-size:1.2rem;
  cursor:pointer;
}

@media (max-width: 860px){
  .nav-toggle{ display:block; }
  .main-nav{
    display:none;
    width:100%;
  }
  .main-nav.is-open{ display:block; }
  .main-nav ul{ flex-direction:column; gap:0; padding:0.5rem 0; }
  .main-nav li{ border-top:1px solid var(--line); }
  .main-nav a{ display:block; padding:0.7rem 0; }
  .site-header .wrap{ flex-wrap:wrap; }
}

/* hero / slider */
.hero{
  position:relative;
  overflow:hidden;
  background:var(--ink);
  min-height:340px;
}
.hero-slide{
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center;
  opacity:0;
  transition:opacity 0.8s ease;
  display:flex;
  align-items:center;
}
.hero-slide.is-active{ opacity:1; position:relative; }
.hero-slide::before{
  content:"";
  position:absolute; inset:0;
  background:linear-gradient(90deg, rgba(11,18,26,.72) 0%, rgba(11,18,26,.35) 55%, rgba(11,18,26,.1) 100%);
}
.hero-slide .wrap{ position:relative; z-index:1; padding-top:3.5rem; padding-bottom:3.5rem; }
.hero-slide h2{
  color:#fff;
  font-size:2.4rem;
  margin-bottom:0.4rem;
}
.hero-slide p{ color:#e7edf2; font-size:1.15rem; max-width:32ch; margin-bottom:1.3rem; }

.hero-dots{
  position:absolute;
  z-index:2;
  bottom:1rem;
  left:0; right:0;
  display:flex;
  justify-content:center;
  gap:0.5rem;
}
.hero-dots button{
  width:10px; height:10px;
  border-radius:50%;
  border:1px solid #fff;
  background:rgba(255,255,255,.25);
  padding:0;
  cursor:pointer;
}
.hero-dots button.is-active{ background:#fff; }

/* page hero (interior pages) */
.page-hero{
  background:linear-gradient(120deg, var(--blue-dark), var(--blue));
  color:#fff;
  padding:2.6rem 0;
}
.page-hero h1{ color:#fff; margin:0; }
.page-hero p{ color:#dce8f5; margin:0.4rem 0 0; max-width:60ch; }

/* main content sections */
main{ display:block; }
.section{ padding:3rem 0; }
.section-tight{ padding:1.8rem 0; }
.section-title{ text-align:center; margin-bottom:2rem; }

.services-grid{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:1.8rem;
}
@media (max-width:900px){ .services-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:520px){ .services-grid{ grid-template-columns:1fr; } }

.tout{
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:1.6rem;
}
.tout img{ height:56px; width:auto; margin-bottom:0.8rem; }
.tout h2{ font-size:1.15rem; }
.tout h2 a{ color:var(--blue); }
.tout p{ font-size:0.92rem; margin-bottom:0.6rem; }

.two-col{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1.8rem;
}
@media (max-width:760px){ .two-col{ grid-template-columns:1fr; } }

.card{
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:1.8rem;
}
.card img.avatar{
  width:84px; height:84px;
  border-radius:50%;
  object-fit:cover;
  margin-bottom:0.8rem;
}
.card blockquote{
  font-style:italic;
  color:var(--ink-soft);
  margin:0 0 0.8rem;
}
.card .cite{ font-weight:600; color:var(--ink); font-style:normal; }

/* sidebar layout for services/products subpages */
.with-sidebar{
  display:grid;
  grid-template-columns:1fr 260px;
  gap:2.2rem;
  align-items:start;
}
@media (max-width:800px){ .with-sidebar{ grid-template-columns:1fr; } }
.side-nav{
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:1.2rem;
}
.side-nav h3{ margin-top:0; }
.side-nav ul{ list-style:none; margin:0; padding:0; }
.side-nav li{ border-top:1px solid var(--line); }
.side-nav li:first-child{ border-top:none; }
.side-nav a{ display:block; padding:0.55rem 0; color:var(--ink); }
.side-nav a:hover{ color:var(--blue); }
.side-nav a[aria-current="page"]{ color:var(--blue); font-weight:600; }

.content-body h2{ margin-top:1.6rem; }
.content-body ul{ color:var(--ink-soft); }

.subtabs{
  display:flex;
  gap:0.6rem;
  flex-wrap:wrap;
  margin-bottom:2rem;
}
.subtabs a{
  font-family:var(--font-head);
  text-transform:uppercase;
  letter-spacing:0.03em;
  padding:0.5rem 1.1rem;
  border-radius:999px;
  border:1px solid var(--line);
  background:var(--paper);
  color:var(--ink);
}
.subtabs a:hover{ text-decoration:none; border-color:var(--blue); color:var(--blue); }
.subtabs a[aria-current="page"]{ background:var(--blue); border-color:var(--blue); color:#fff; }

.values-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.5rem;
  margin-bottom:2rem;
}
@media (max-width:760px){ .values-grid{ grid-template-columns:1fr; } }
.values-grid .card ul{ margin:0; padding-left:1.1rem; }
.values-grid .card li{ margin-bottom:0.35rem; }

.learn-more-list{ list-style:none; margin:0; padding:0; }
.learn-more-list li{ margin-bottom:0.5rem; }
.learn-more-list a{ font-family:var(--font-head); font-size:1.05rem; }

.team-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.6rem;
}
@media (max-width:760px){ .team-grid{ grid-template-columns:1fr; } }
.team-card{ text-align:center; }
.team-card img{ border-radius:50%; width:140px; height:140px; object-fit:cover; margin:0 auto 0.8rem; }
.team-card .role{ color:var(--teal); font-family:var(--font-head); margin-bottom:0.5rem; }


/* footer */
.site-footer{
  background:var(--ink);
  color:#c4ccd3;
  padding:3rem 0 1.5rem;
  margin-top:3rem;
}
.footer-grid{
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:2rem;
  padding-bottom:2rem;
  border-bottom:1px solid #2a3742;
}
@media (max-width:760px){ .footer-grid{ grid-template-columns:1fr; } }
.footer-grid h3{ color:#fff; font-size:1rem; text-transform:uppercase; letter-spacing:0.04em; }
.site-footer ul{ list-style:none; margin:0; padding:0; }
.site-footer li{ margin-bottom:0.4rem; }
.site-footer a{ color:#c4ccd3; }
.site-footer a:hover{ color:#fff; }
.footer-logo img{ height:26px; margin-bottom:0.8rem; }
.partners-row{ display:flex; gap:1.5rem; align-items:center; flex-wrap:wrap; }
.partners-row img{ height:40px; width:auto; filter:grayscale(1) brightness(1.6); }
.footer-bottom{
  display:flex;
  justify-content:space-between;
  align-items:center;
  flex-wrap:wrap;
  gap:0.6rem;
  padding-top:1.3rem;
  font-size:0.82rem;
  color:#8b98a3;
}
.footer-bottom a{ color:#8b98a3; }
