/* Homepage header/footer design, isolated from individual page styles. */
#dc-shared-header, #dc-shared-header *, #dc-shared-footer, #dc-shared-footer * {
 all:revert; box-sizing:border-box; font-family:inherit; font-size:inherit;
 font-weight:inherit; line-height:inherit; letter-spacing:normal; text-transform:none;
}
#dc-shared-header.hdr, #dc-shared-footer.ftr {
 font-family:Inter,system-ui,sans-serif; font-size:16px; font-weight:400;
 line-height:normal; -webkit-font-smoothing:auto; text-rendering:auto;
}
#dc-shared-header.hdr img, #dc-shared-footer.ftr img { max-width:100%; }
#dc-shared-header.hdr a { color:#00A2A7; text-decoration:none; }

#dc-shared-header.hdr{position:sticky;top:0;z-index:500;background:#fff;border-bottom:1px solid #eceef0;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 40px;flex-wrap:wrap;font-family:Inter,system-ui,sans-serif}
#dc-shared-header.hdr .logo img{height:50px !important;width:auto;display:block}
#dc-shared-header.hdr .nav{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
#dc-shared-header.hdr .nav>a,#dc-shared-header.hdr .nav>.dd>a{font:600 .9rem Poppins,sans-serif;color:#101012;padding:10px 0;display:inline-block;text-decoration:none}
#dc-shared-header.hdr .nav>a:hover,#dc-shared-header.hdr .nav>.dd>a:hover{color:#00868b}
#dc-shared-header.hdr .dd{position:relative}
#dc-shared-header.hdr .dd ul{display:none;position:absolute;left:-14px;top:100%;min-width:260px;margin:0;padding:10px;list-style:none;background:#fff;border:1px solid #e2e3e6;border-radius:14px;box-shadow:0 14px 30px rgba(16,16,18,.12);max-height:70vh;overflow-y:auto}
#dc-shared-header.hdr .dd:hover ul,#dc-shared-header.hdr .dd:focus-within ul{display:block}
#dc-shared-header.hdr .dd ul a{display:block;padding:8px 12px;border-radius:8px;color:#101012;font-size:.88rem;text-decoration:none}
#dc-shared-header.hdr .dd ul a:hover{background:#f1f9f9;color:#00868b}
#dc-shared-header.hdr .cta-pill{font:600 .9rem Poppins,sans-serif;color:#fff!important;background:#00A2A7;border-radius:999px;padding:12px 26px;white-space:nowrap;text-decoration:none!important}
#dc-shared-footer.ftr{background:#101012;padding:56px 40px 28px;color:rgba(255,255,255,.65);font-family:Inter,system-ui,sans-serif}
#dc-shared-footer.ftr .ftr-in{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:40px}
#dc-shared-footer.ftr a{color:rgba(255,255,255,.75);text-decoration:none}
#dc-shared-footer.ftr h2{font:600 .78rem Poppins,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#00A2A7;margin:0 0 16px}
#dc-shared-footer.ftr ul{list-style:none;margin:0;padding:0;display:grid;gap:9px;font-size:.9rem}
#dc-shared-footer.ftr p{margin:0 0 10px;font-size:.92rem}
#dc-shared-footer.ftr .copy{max-width:1180px;margin:36px auto 0;padding-top:18px;border-top:1px solid rgba(255,255,255,.12);font-size:.82rem;color:rgba(255,255,255,.5)}

@media(max-width:860px){#dc-shared-header.hdr{padding:12px 20px}#dc-shared-header.hdr .nav{gap:14px}#dc-shared-header.hdr .dd ul{display:none!important}#dc-shared-footer.ftr .ftr-in{grid-template-columns:1fr}#dc-shared-footer.ftr{padding:44px 20px 24px}}

/* Services dropdown: alignment and overflow fixes */
#dc-shared-header.hdr .dd > #dc-submenu-services {
  box-sizing: border-box !important;
  width: min(350px, calc(100vw - 32px)) !important;
  min-width: 0 !important;
  max-width: calc(100vw - 32px) !important;
  max-height: min(70vh, 620px) !important;
  margin: 0 !important;
  padding: 8px !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  background: #fff !important;
  border: 1px solid #e2e8e8 !important;
  border-radius: 12px !important;
  box-shadow: 0 12px 30px rgb(16 16 18 / 12%) !important;
  scrollbar-width: thin;
  scrollbar-color: #bccdcd transparent;
}

#dc-shared-header.hdr #dc-submenu-services li {
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

/* Keep the label and arrow on the same row */
#dc-shared-header.hdr #dc-submenu-services .dc-submenu-row {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: nowrap !important;
  gap: 4px !important;
  width: 100% !important;
  min-width: 0 !important;
  border-radius: 8px !important;
}

#dc-shared-header.hdr #dc-submenu-services > li > a,
#dc-shared-header.hdr #dc-submenu-services .dc-submenu-row > a {
  box-sizing: border-box !important;
  display: block !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 11px 12px !important;
  color: #182626 !important;
  font: 500 14px/1.45 Inter, system-ui, sans-serif !important;
  text-align: left !important;
  text-decoration: none !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  border-radius: 8px !important;
}

#dc-shared-header.hdr #dc-submenu-services .dc-submenu-row > a {
  flex: 1 1 0% !important;
  width: auto !important;
}

/* Remove default browser button styling */
#dc-shared-header.hdr #dc-submenu-services .dc-nested-toggle {
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 36px !important;
  width: 36px !important;
  height: 36px !important;
  min-width: 36px !important;
  margin: 0 4px 0 0 !important;
  padding: 0 !important;
  appearance: none !important;
  border: 0 !important;
  border-radius: 7px !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #00868b !important;
  font: 500 23px/1 system-ui, sans-serif !important;
  cursor: pointer !important;
  transform: none !important;
}

#dc-shared-header.hdr #dc-submenu-services .dc-nested-toggle > span {
  display: block !important;
  font: inherit !important;
  color: inherit !important;
  transition: transform 160ms ease;
}

#dc-shared-header.hdr #dc-submenu-services
.dc-nested-toggle[aria-expanded="true"] > span {
  transform: rotate(90deg);
}

#dc-shared-header.hdr #dc-submenu-services .dc-submenu-row:hover,
#dc-shared-header.hdr #dc-submenu-services > li > a:hover {
  background: #eff8f7 !important;
}

#dc-shared-header.hdr #dc-submenu-services .dc-nested-toggle:hover {
  background: #dff0ee !important;
}

#dc-shared-header.hdr #dc-submenu-services a:focus-visible,
#dc-shared-header.hdr #dc-submenu-services button:focus-visible {
  outline: 2px solid #00868b !important;
  outline-offset: -2px !important;
}

/* Nested menus expand below their own label */
#dc-shared-header.hdr .dd #dc-submenu-services .sub-dropdown {
  box-sizing: border-box !important;
  display: none !important;
  position: static !important;
  inset: auto !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  max-height: none !important;
  margin: 2px 8px 8px 14px !important;
  padding: 4px 0 4px 8px !important;
  overflow: visible !important;
  border: 0 !important;
  border-left: 2px solid #00a2a7 !important;
  border-radius: 0 !important;
  background: #f5faf9 !important;
  box-shadow: none !important;
}

#dc-shared-header.hdr .dd #dc-submenu-services
.has-submenu[data-open="true"] > .sub-dropdown {
  display: block !important;
}

#dc-shared-header.hdr #dc-submenu-services .sub-dropdown a {
  display: block !important;
  padding: 9px 10px !important;
  color: #334444 !important;
  font: 400 13px/1.5 Inter, system-ui, sans-serif !important;
  text-decoration: none !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  border-radius: 6px !important;
}

#dc-shared-header.hdr #dc-submenu-services .sub-dropdown a:hover {
  background: #e5f3f1 !important;
  color: #00868b !important;
}

/* Mobile: keep the dropdown within the navigation */
@media (max-width: 980px) {
  #dc-shared-header.hdr .dd > #dc-submenu-services {
    position: static !important;
    flex-basis: 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    max-height: none !important;
    margin-top: 4px !important;
    overflow: visible !important;
    box-shadow: none !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  #dc-shared-header.hdr #dc-submenu-services .dc-nested-toggle > span {
    transition: none;
  }
}

/* TEMPORARY TEST */
#dc-shared-header.hdr {
  border-bottom: 6px solid red !important;
}
