:root {
  --site-bg: #ffffff;
  --site-ink: #10233f;
  --site-muted: #64748b;
  --header-bg: #ffffff;
  --header-ink: #10233f;
  --header-line: #dce5f0;
  --header-link-border: #cbd7e6;
  --header-link-hover: #f3f8fd;
  --accent: #f1b51c;
  --accent-strong: #0075bd;
  --button-bg: #0075bd;
  --button-ink: #ffffff;
  --hero-overlay: rgba(4, 24, 48, .78);
  --card-bg: #ffffff;
  --card-border: #10233f;
  --dark-section-bg: #08243d;
  --dark-card-bg: #0e3150;
  --dark-card-border: rgba(255, 255, 255, .18);
  --footer-bg: #071d33;
  --footer-ink: #ffffff;
  --footer-heading: #ffffff;
  --footer-muted: rgba(255, 255, 255, .74);
  --footer-line: rgba(255, 255, 255, .16);
}

.echelon-site .site-header {
  box-shadow: 0 8px 24px rgba(16, 35, 63, .08);
}

.echelon-site .echelon-brand img {
  max-height: 58px;
}

.echelon-site .banner-five-main-wrapper {
  background-position: center;
}

.echelon-site .banner-five-main-wrapper::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background-image:
    linear-gradient(135deg, rgba(0, 117, 189, .2), transparent 36%),
    linear-gradient(0deg, rgba(255, 255, 255, .08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, .08) 1px, transparent 1px);
  background-size: auto, 44px 44px, 44px 44px;
}

.echelon-site .service-wrapper7,
.echelon-site .project-single2,
.echelon-site .contact-panel,
.echelon-site .contact-aside,
.echelon-site .service-row {
  box-shadow: none;
}

.echelon-site .service-wrapper7::after {
  height: 2px;
  background: #0075bd;
}

.echelon-site .service-wrapper7:hover,
.echelon-site .project-single2:hover {
  border-color: #0075bd;
}

.echelon-site .section-blueprint,
.echelon-site .project-bg {
  background:
    linear-gradient(135deg, rgba(0, 117, 189, .22), transparent 45%),
    linear-gradient(0deg, rgba(255, 255, 255, .04) 1px, transparent 1px),
    #08243d;
  background-size: auto, 46px 46px, auto;
}

.echelon-site .site-btn-primary:hover,
.echelon-site .site-btn-primary:focus {
  background: #005f99;
}

.echelon-site .page-hero--technical {
  min-height: 430px;
  align-items: center;
  color: #10233f;
  background-image:
    linear-gradient(90deg, rgba(255, 255, 255, .96) 0%, rgba(255, 255, 255, .86) 44%, rgba(255, 255, 255, .24) 100%),
    var(--hero-image);
}

.echelon-site .page-hero--technical .eyebrow {
  color: #0075bd;
}

.echelon-site .page-hero--technical h1 {
  color: #10233f;
}

.echelon-site .page-hero--technical .page-hero__copy {
  color: #40566f;
}

.echelon-site .page-hero--technical::after,
.echelon-site .echelon-proof-panel,
.echelon-site .echelon-service-map,
.echelon-site .echelon-market-strip {
  background-image:
    linear-gradient(0deg, rgba(0, 117, 189, .06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0, 117, 189, .06) 1px, transparent 1px);
  background-size: 42px 42px;
}

.echelon-site .technical-summary {
  padding-bottom: 1rem;
  border-bottom: 1px solid #10233f;
}

.echelon-site .system-matrix > div,
.echelon-site .technical-service-board > article,
.echelon-site .technical-service-board > a,
.echelon-site .process-grid > article,
.echelon-site .market-fit-grid > article {
  box-shadow: none;
  border-color: #10233f;
}

.echelon-site .system-matrix > div,
.echelon-site .technical-service-board > article,
.echelon-site .technical-service-board > a {
  background:
    linear-gradient(135deg, rgba(0, 117, 189, .08), transparent 42%),
    #ffffff;
}

.echelon-site .home-work-entry--technical,
.echelon-site .portfolio-feature-section--technical,
.echelon-site .portfolio-method-section {
  background-image:
    linear-gradient(0deg, rgba(0, 117, 189, .045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0, 117, 189, .045) 1px, transparent 1px);
  background-size: 44px 44px;
}

.echelon-site .scope-ledger--technical,
.echelon-site .portfolio-feature--technical,
.echelon-site .portfolio-register-group,
.echelon-site .method-lane,
.echelon-site .market-lane {
  border-color: #10233f;
  box-shadow: none;
}

.echelon-site .scope-ledger--technical div {
  background:
    linear-gradient(90deg, rgba(0, 117, 189, .08), transparent 44%),
    #ffffff;
}

.echelon-site .portfolio-feature--technical {
  box-shadow: none;
}

.echelon-site .portfolio-feature--technical .portfolio-feature__content {
  background:
    linear-gradient(135deg, rgba(0, 117, 189, .08), transparent 42%),
    #ffffff;
}

.echelon-site .portfolio-feature--technical .portfolio-feature__facts {
  background: #f3f8fd;
  border-color: #10233f;
}

.echelon-site .portfolio-method--technical .method-lane article > span {
  color: #0075bd;
}

.echelon-site .portfolio-register-section--technical {
  background: #ffffff;
}

.echelon-site .portfolio-register-section--technical .portfolio-register-aside {
  padding-left: 1rem;
  border-left: 4px solid #0075bd;
}

.echelon-site .portfolio-register-section--technical .portfolio-register-group header {
  background:
    linear-gradient(90deg, rgba(0, 117, 189, .1), transparent),
    #ffffff;
}

.echelon-site .portfolio-register-section--technical .portfolio-register-row:hover,
.echelon-site .portfolio-register-section--technical .portfolio-register-row:focus,
.echelon-site .project-register-preview__row:hover,
.echelon-site .project-register-preview__row:focus {
  background: #f3f8fd;
}

.echelon-site .section-blueprint .project-register-preview__row:hover,
.echelon-site .section-blueprint .project-register-preview__row:focus {
  background: rgba(0, 117, 189, .18);
}

.echelon-site .section-blueprint .service-row__lead,
.echelon-site .section-blueprint .rich-copy p {
  color: rgba(255, 255, 255, .74);
}

.echelon-site .section-blueprint .service-row {
  background: #0e3150;
  border-color: rgba(255, 255, 255, .22);
}

.echelon-site .section-blueprint .service-row h2,
.echelon-site .section-blueprint .rich-copy {
  color: #ffffff;
}

.echelon-site .portfolio-row {
  grid-template-columns: minmax(132px, .26fr) minmax(210px, .34fr) minmax(0, 1fr);
}

.echelon-site .portfolio-row:hover,
.echelon-site .portfolio-row:focus {
  background: #f3f8fd;
}

.echelon-site .market-block header {
  background:
    linear-gradient(90deg, rgba(0, 117, 189, .1), transparent),
    #ffffff;
}

.echelon-site .hero-echelon {
  min-height: 650px;
  color: #10233f;
  background-image:
    linear-gradient(90deg, rgba(255, 255, 255, .98) 0%, rgba(255, 255, 255, .9) 45%, rgba(255, 255, 255, .34) 100%),
    var(--hero-image);
  background-position: center right;
}

.echelon-site .hero-echelon::after {
  height: 6px;
  background: linear-gradient(90deg, #0075bd, #f1b51c);
}

.echelon-site .hero-echelon::before {
  background-image:
    linear-gradient(0deg, rgba(0, 117, 189, .08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0, 117, 189, .08) 1px, transparent 1px);
  background-size: 42px 42px;
}

.echelon-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(260px, .36fr);
  gap: clamp(1.5rem, 4vw, 3.5rem);
  align-items: center;
}

.echelon-hero-grid .banner-three-wrapper {
  width: auto;
}

.echelon-site .hero-echelon .b_one-pre {
  color: #0075bd;
}

.echelon-site .hero-echelon .title-banner {
  max-width: 900px;
  color: #10233f;
  font-size: clamp(3rem, 5.6vw, 5rem);
}

.echelon-site .hero-echelon .desc {
  max-width: 690px;
  color: #40566f;
  font-weight: 650;
}

.echelon-site .hero-echelon .site-btn-ghost {
  color: #10233f;
  background: #ffffff;
  border-color: #cbd7e6;
}

.echelon-hero-stack {
  display: grid;
  align-content: start;
  gap: .72rem;
  padding: 1.1rem;
  border: 1px solid #10233f;
  background:
    linear-gradient(135deg, rgba(0, 117, 189, .08), transparent 45%),
    rgba(255, 255, 255, .92);
  box-shadow: 0 18px 42px rgba(16, 35, 63, .12);
}

.echelon-hero-stack span,
.echelon-hero-schematic span {
  color: #0075bd;
  font-size: .74rem;
  font-weight: 950;
  line-height: 1.1;
  text-transform: uppercase;
}

.echelon-hero-stack strong {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  padding-bottom: .65rem;
  border-bottom: 1px solid #dce5f0;
  color: #10233f;
  font-size: 1rem;
  line-height: 1.1;
  font-weight: 950;
}

.echelon-hero-stack strong::after {
  content: "";
  width: 34px;
  height: 2px;
  flex: 0 0 34px;
  background: linear-gradient(90deg, #0075bd, #f1b51c);
}

.echelon-hero-stack strong:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.echelon-hero-schematic {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border: 1px solid #10233f;
  background: rgba(255, 255, 255, .92);
}

.echelon-hero-schematic span {
  min-height: 46px;
  display: flex;
  align-items: center;
  padding-inline: .9rem;
  border-right: 1px solid #dce5f0;
  color: #10233f;
}

.echelon-hero-schematic span:last-child {
  border-right: 0;
}

.echelon-air-map {
  padding-block: 46px 58px;
  background:
    linear-gradient(0deg, rgba(0, 117, 189, .045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0, 117, 189, .045) 1px, transparent 1px),
    #ffffff;
  background-size: 44px 44px;
  border-bottom: 1px solid #dce5f0;
}

.echelon-air-map__header {
  display: grid;
  gap: .45rem;
  max-width: 760px;
  margin-bottom: 1.4rem;
}

.echelon-air-map__header h2 {
  margin: 0;
  color: #10233f;
  font-size: clamp(2rem, 3.8vw, 3.1rem);
  line-height: 1.02;
  font-weight: 950;
}

.echelon-air-map__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border: 1px solid #10233f;
  background: #ffffff;
}

.echelon-air-map__grid article {
  display: grid;
  gap: .55rem;
  min-height: 210px;
  padding: 1.2rem;
  border-right: 1px solid #dce5f0;
}

.echelon-air-map__grid article:last-child {
  border-right: 0;
}

.echelon-air-map__grid span {
  color: #0075bd;
  font-size: .74rem;
  font-weight: 950;
  text-transform: uppercase;
}

.echelon-air-map__grid strong {
  color: #10233f;
  font-size: 1.12rem;
  line-height: 1.08;
  font-weight: 950;
}

.echelon-air-map__grid p {
  margin: 0;
  color: #64748b;
}

.echelon-decision-lab {
  background:
    linear-gradient(135deg, rgba(0, 117, 189, .08), transparent 38%),
    #f7fbff;
}

.echelon-decision-lab__layout {
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
  gap: clamp(1.5rem, 4vw, 3rem);
  align-items: center;
}

.echelon-decision-lab__copy {
  display: grid;
  gap: .9rem;
}

.echelon-decision-lab__copy h2 {
  margin: 0;
  color: #10233f;
  font-size: clamp(2.1rem, 4vw, 3.6rem);
  line-height: 1.02;
  font-weight: 950;
}

.echelon-decision-lab__copy p {
  margin: 0;
  color: #40566f;
  font-size: 1.05rem;
}

.echelon-signal-panel {
  display: grid;
  border: 1px solid #10233f;
  background: #ffffff;
}

.echelon-signal-panel div {
  display: grid;
  grid-template-columns: minmax(120px, .32fr) minmax(0, 1fr);
  gap: 1rem;
  padding: 1rem;
  border-bottom: 1px solid #dce5f0;
}

.echelon-signal-panel div:last-child {
  border-bottom: 0;
}

.echelon-signal-panel span {
  color: #0075bd;
  font-size: .78rem;
  font-weight: 950;
  text-transform: uppercase;
}

.echelon-signal-panel strong {
  color: #10233f;
  line-height: 1.25;
}

.echelon-home .technical-service-board {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.echelon-home .technical-service-board > a {
  min-height: 220px;
  border-color: #cbd7e6;
  border-radius: 0;
  box-shadow: none;
}

.echelon-home .technical-service-board > a:hover,
.echelon-home .technical-service-board > a:focus {
  border-color: #0075bd;
  background: #f3f8fd;
}

.echelon-home .technical-service-board > a > span {
  width: auto;
  height: auto;
  place-items: start;
  border: 0;
  color: #0075bd;
}

.echelon-site .service-list--technical {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.echelon-site .service-list--technical .service-row {
  min-height: 230px;
  grid-template-columns: minmax(0, 1fr);
  align-content: start;
  padding: 1.2rem;
}

.echelon-site .service-list--technical .service-row h2 {
  max-width: 520px;
  font-size: clamp(1.35rem, 2.4vw, 1.9rem);
}

.echelon-site .service-list--technical .service-row__lead {
  max-width: 620px;
  margin-bottom: .9rem;
}

.echelon-home .section-blueprint {
  background:
    linear-gradient(135deg, rgba(0, 117, 189, .18), transparent 45%),
    #08243d;
}

@media (max-width: 1040px) {
  .echelon-hero-grid {
    grid-template-columns: 1fr;
  }

  .echelon-hero-stack {
    max-width: 620px;
  }

  .echelon-air-map__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .echelon-air-map__grid article:nth-child(2) {
    border-right: 0;
  }

  .echelon-air-map__grid article:nth-child(-n + 2) {
    border-bottom: 1px solid #dce5f0;
  }

  .echelon-decision-lab__layout,
  .echelon-home .technical-service-board,
  .echelon-site .service-list--technical {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 720px) {
  .echelon-site .hero-echelon {
    min-height: 720px;
  }

  .echelon-hero-grid .banner-three-wrapper {
    padding-block: 72px 36px;
  }

  .echelon-hero-schematic {
    grid-template-columns: 1fr 1fr;
  }

  .echelon-hero-schematic span:nth-child(2) {
    border-right: 0;
  }

  .echelon-hero-schematic span:nth-child(-n + 2) {
    border-bottom: 1px solid #dce5f0;
  }

  .echelon-air-map__grid {
    grid-template-columns: 1fr;
  }

  .echelon-air-map__grid article {
    min-height: auto;
    border-right: 0;
    border-bottom: 1px solid #dce5f0;
  }

  .echelon-air-map__grid article:last-child {
    border-bottom: 0;
  }

  .echelon-signal-panel div {
    grid-template-columns: 1fr;
  }
}
