/* Final homepage-only fidelity fixes for Blocksy parent-theme inheritance. */
body.nextgen-custom-home {
  overflow-x: hidden;
}
body.nextgen-custom-home #main-content,
body.nextgen-custom-home .ng-header,
body.nextgen-custom-home .ng-footer {
  width: 100%;
  max-width: none;
  margin: 0;
  padding-left: 0;
  padding-right: 0;
}
body.nextgen-custom-home #main-content {
  display: block;
}
body.nextgen-custom-home .ng-nav {
  position: relative;
}
body.nextgen-custom-home .ng-menu,
body.nextgen-custom-home .ng-menu ul,
body.nextgen-custom-home .ng-product-card__body ul {
  list-style: none;
}
body.nextgen-custom-home .ng-menu a,
body.nextgen-custom-home .ng-footer a,
body.nextgen-custom-home .ng-product-card a,
body.nextgen-custom-home .ng-category-card,
body.nextgen-custom-home .ng-industry-card,
body.nextgen-custom-home .ng-solution-mini {
  text-decoration: none !important;
}
body.nextgen-custom-home .ng-slider__arrow,
body.nextgen-custom-home .ng-slider__dot,
body.nextgen-custom-home .ng-event-arrow,
body.nextgen-custom-home .ng-event-dot,
body.nextgen-custom-home .ng-menu-toggle,
body.nextgen-custom-home .ng-event-trigger {
  -webkit-appearance: none;
  appearance: none;
  font: inherit;
  box-shadow: none;
}
body.nextgen-custom-home .ng-slider__arrow,
body.nextgen-custom-home .ng-event-arrow {
  padding: 0 !important;
  min-width: 0 !important;
}
body.nextgen-custom-home .ng-slider__dot,
body.nextgen-custom-home .ng-event-dot {
  padding: 0 !important;
  min-width: 0 !important;
  min-height: 0 !important;
}
body.nextgen-custom-home .ng-menu-toggle {
  min-width: 0 !important;
}
body.nextgen-custom-home .ng-btn {
  border-radius: 0 !important;
  box-shadow: none !important;
  text-decoration: none !important;
}
body.nextgen-custom-home .ng-btn--primary:hover {
  background: #ffffff;
  color: #061522 !important;
}
body.nextgen-custom-home .ng-btn--ghost:hover {
  background: #ffffff;
  border-color: #ffffff;
  color: #061522 !important;
}
body.nextgen-custom-home .ng-btn--light:hover {
  background: #061522;
  color: #ffffff !important;
}
body.nextgen-custom-home .ng-solution-rail {
  box-shadow: none;
  margin-bottom: -40px;
}
body.nextgen-custom-home .ng-solution-rail-wrap {
  position: relative;
  z-index: 6;
}
body.nextgen-custom-home .ng-category-card {
  display: block;
}
body.nextgen-custom-home .ng-category-card__body > span {
  display: inline-flex;
  margin-top: 4px;
  color: #ffffff !important;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .05em;
  text-transform: uppercase;
}
body.nextgen-custom-home .ng-product-card__actions--quote-only {
  display: block;
}
body.nextgen-custom-home .ng-product-card__quote {
  width: 100%;
  border-radius: 0 !important;
  box-shadow: none !important;
}
body.nextgen-custom-home .ng-product-card__quote:hover {
  background: #35b9e7;
  color: #04131d !important;
}
body.nextgen-custom-home .ng-section-heading--dark {
  grid-template-columns: minmax(0, 1.15fr) minmax(280px, .85fr);
}
body.nextgen-custom-home .ng-section-heading--dark .ng-kicker {
  grid-column: 1 / -1;
  margin-bottom: -10px;
}
body.nextgen-custom-home .ng-section-heading--dark h2 {
  grid-column: 1;
  margin: 0;
  font-family: 'Barlow Condensed', sans-serif;
  font-size: clamp(56px, 6vw, 86px);
  line-height: .9;
  text-transform: uppercase;
}
body.nextgen-custom-home .ng-section-heading--dark > p:last-child {
  grid-column: 2;
  align-self: end;
  margin: 0;
}
body.nextgen-custom-home .ng-event-trigger {
  width: 100%;
  min-height: 148px;
  display: grid;
  grid-template-columns: 150px 1fr;
  text-align: left;
  padding: 0 !important;
  border: 1px solid rgba(16,32,45,.10) !important;
  border-radius: 0 !important;
  background: #fff !important;
  color: #10202d !important;
  cursor: pointer;
  overflow: hidden;
  box-shadow: none !important;
  transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease, background .25s ease;
}
body.nextgen-custom-home .ng-event-trigger:hover {
  transform: translateY(-2px);
  border-color: rgba(53,185,231,.55) !important;
  background: #eff9fd !important;
  box-shadow: 0 14px 32px rgba(16,32,45,.08) !important;
}
body.nextgen-custom-home .ng-event-trigger.is-active {
  transform: translateY(-2px);
  border-color: #061522 !important;
  background: #061522 !important;
  box-shadow: 0 16px 36px rgba(6,21,34,.16) !important;
}
body.nextgen-custom-home .ng-event-trigger__media {
  display: block;
}
body.nextgen-custom-home .ng-event-trigger__body {
  min-width: 0;
}
body.nextgen-custom-home .ng-event-trigger__body small {
  color: #0784c7 !important;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .1em;
}
body.nextgen-custom-home .ng-event-trigger__body strong {
  color: #10202d !important;
}
body.nextgen-custom-home .ng-event-trigger__body > span {
  color: #0784c7 !important;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .05em;
  text-transform: uppercase;
}
body.nextgen-custom-home .ng-event-trigger.is-active .ng-event-trigger__body small {
  color: #35b9e7 !important;
}
body.nextgen-custom-home .ng-event-trigger.is-active .ng-event-trigger__body strong {
  color: #ffffff !important;
}
body.nextgen-custom-home .ng-event-trigger.is-active .ng-event-trigger__body > span {
  color: #9de4fb !important;
}
body.nextgen-custom-home .ng-footer__logo {
  display: block;
  width: 170px;
  height: auto;
  object-fit: contain;
  object-position: left center;
  background: transparent;
  padding: 0;
}
/* Restore the approved homepage header, hero and card proportions. */
body.nextgen-custom-home .ng-header {
  position: sticky;
  top: 0;
  z-index: 9999;
  isolation: isolate;
}
body.nextgen-custom-home .ng-nav-wrap {
  box-shadow: 0 1px 0 rgba(255,255,255,.06);
}
body.nextgen-custom-home .ng-slide h1,
body.nextgen-custom-home .ng-slide h2 {
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
  white-space: normal;
}
body.nextgen-custom-home .ng-slide--corporate .ng-slide__content {
  width: min(760px, 58vw);
}
body.nextgen-custom-home .ng-slide--corporate h2 {
  max-width: 7.25em;
}
body.nextgen-custom-home .ng-slide--industrial h1 {
  max-width: 8.25em;
}
body.nextgen-custom-home .ng-slide--png h2 {
  font-size: clamp(58px, 6vw, 90px);
  line-height: .9;
}
body.nextgen-custom-home .ng-slide--png .ng-slide__actions {
  margin-top: 24px;
}
@media (min-width: 641px) {
  body.nextgen-custom-home .ng-slide--png .ng-slide__content {
    transform: translateY(-18px);
  }
}
/* Keep hero content and slider controls clear of the 40px overlapping solution rail. */
body.nextgen-custom-home .ng-slide__inner {
  box-sizing: border-box;
  padding-top: 24px;
  padding-bottom: 92px;
}
body.nextgen-custom-home .ng-slider__controls {
  bottom: 58px;
}
body.nextgen-custom-home .ng-solution-rail-wrap {
  position: relative;
  z-index: 6;
}
body.nextgen-custom-home .ng-category-grid,
body.nextgen-custom-home .ng-product-grid {
  align-items: stretch;
}
body.nextgen-custom-home .ng-category-card {
  display: flex;
  flex-direction: column;
  height: 100%;
}
body.nextgen-custom-home .ng-category-card__media {
  flex: 0 0 auto;
  aspect-ratio: 3 / 2;
}
body.nextgen-custom-home .ng-category-card__media img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center;
}
body.nextgen-custom-home .ng-category-card__body {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  min-height: 210px;
}
body.nextgen-custom-home .ng-category-card__body p {
  min-height: 0;
}
body.nextgen-custom-home .ng-category-card__body > span {
  margin-top: auto;
  padding-top: 12px;
}
body.nextgen-custom-home .ng-product-card {
  display: flex;
  flex-direction: column;
  height: 100%;
}
body.nextgen-custom-home .ng-product-card__media {
  flex: 0 0 auto;
  aspect-ratio: 4 / 3;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: #eef3f5;
}
body.nextgen-custom-home .ng-product-card__media img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center center;
}
body.nextgen-custom-home .ng-product-card__body {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
}
body.nextgen-custom-home .ng-product-card__body ul {
  flex: 1 1 auto;
}
body.nextgen-custom-home .ng-product-card__actions {
  margin-top: auto;
}
@media (min-width: 1101px) {
  body.nextgen-custom-home .ng-primary-nav {
    flex: 1 1 auto;
    margin-left: 0;
    justify-content: flex-end;
  }
  body.nextgen-custom-home .ng-menu {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    margin: 0;
  }
  body.nextgen-custom-home .ng-nav-cta {
    margin-left: auto;
  }
}
@media (max-width: 1100px) and (min-width: 861px) {
  body.nextgen-custom-home .ng-shell {
    width: min(calc(100% - 32px), 1320px);
  }
  body.nextgen-custom-home .ng-solution-rail {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  body.nextgen-custom-home .ng-solution-mini {
    min-width: 0;
    padding-left: 18px;
    padding-right: 18px;
  }
  body.nextgen-custom-home .ng-solution-mini strong {
    font-size: 23px;
  }
}
@media (max-width: 860px) {
  body.nextgen-custom-home .ng-primary-nav {
    z-index: 50;
    border-radius: 16px;
  }
  body.nextgen-custom-home .ng-section-heading--dark {
    grid-template-columns: 1fr;
  }
  body.nextgen-custom-home .ng-section-heading--dark .ng-kicker,
  body.nextgen-custom-home .ng-section-heading--dark h2,
  body.nextgen-custom-home .ng-section-heading--dark > p:last-child {
    grid-column: 1;
  }
  body.nextgen-custom-home .ng-section-heading--dark .ng-kicker {
    margin-bottom: 0;
  }
}
@media (max-width: 640px) {
  body.nextgen-custom-home .ng-solution-rail {
    margin-bottom: 0;
  }
  body.nextgen-custom-home .ng-slider__track {
    height: 800px;
  }
  body.nextgen-custom-home .ng-slider__controls {
    bottom: 18px;
  }
  body.nextgen-custom-home .ng-slide {
    background: #061522;
  }
  body.nextgen-custom-home .ng-slide__media {
    top: 0;
    left: 0;
    right: 0;
    bottom: auto;
    height: 300px;
    overflow: hidden;
    z-index: 0;
    background: #061522;
  }
  body.nextgen-custom-home .ng-slide__media img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }
  body.nextgen-custom-home .ng-slide--industrial .ng-slide__image {
    object-position: 66% center !important;
  }
  body.nextgen-custom-home .ng-slide--corporate .ng-slide__image {
    object-position: 60% 28% !important;
  }
  body.nextgen-custom-home .ng-slide--png .ng-slide__image {
    object-position: 73% center !important;
  }
  body.nextgen-custom-home .ng-slide__shade,
  body.nextgen-custom-home .ng-slide--corporate .ng-slide__shade,
  body.nextgen-custom-home .ng-slide--png .ng-slide__shade {
    background: linear-gradient(180deg,rgba(3,14,23,.04),rgba(3,14,23,.10) 31%,rgba(3,14,23,.72) 43%,#061522 53%,#061522) !important;
  }
  body.nextgen-custom-home .ng-slide__inner,
  body.nextgen-custom-home .ng-slide--corporate .ng-slide__inner,
  body.nextgen-custom-home .ng-slide--png .ng-slide__inner {
    align-items: flex-start;
    padding-top: 316px;
    padding-bottom: 76px;
  }
  body.nextgen-custom-home .ng-slide__content,
  body.nextgen-custom-home .ng-slide--corporate .ng-slide__content,
  body.nextgen-custom-home .ng-slide--png .ng-slide__content {
    width: 100%;
    max-width: 100%;
    transform: none;
  }
  body.nextgen-custom-home .ng-slide h1,
  body.nextgen-custom-home .ng-slide h2,
  body.nextgen-custom-home .ng-slide--png h2 {
    font-size: clamp(43px, 12vw, 54px);
    line-height: .92;
    max-width: 10.5ch;
  }
  body.nextgen-custom-home .ng-slide__copy {
    margin-top: 14px;
    font-size: 14px;
    line-height: 1.5;
  }
  body.nextgen-custom-home .ng-slide__actions {
    margin-top: 18px;
    gap: 8px;
    flex-direction: column;
    align-items: stretch;
    padding-bottom: 54px;
  }
  body.nextgen-custom-home .ng-slide__actions .ng-btn {
    width: 100%;
  }
  body.nextgen-custom-home .ng-btn {
    min-height: 44px;
    padding-left: 14px;
    padding-right: 14px;
    font-size: 10px;
  }
  body.nextgen-custom-home .ng-brand {
    min-height: 62px;
    padding: 0;
  }
  body.nextgen-custom-home .ng-product-rfq {
    gap: 18px;
    padding: 26px 22px;
  }
  body.nextgen-custom-home .ng-product-rfq strong {
    margin-top: 7px;
    font-size: clamp(27px, 8.2vw, 34px);
    line-height: 1.02;
    letter-spacing: 0;
    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
  }
  body.nextgen-custom-home .ng-product-rfq p {
    margin-top: 12px;
    font-size: 14px;
    line-height: 1.6;
  }
  body.nextgen-custom-home .ng-product-rfq .ng-btn {
    width: 100%;
    min-width: 0;
    min-height: 48px;
    justify-content: center;
    touch-action: manipulation;
  }
  body.nextgen-custom-home .ng-product-card__quote,
  body.nextgen-custom-home [data-ng-quote].ng-btn,
  body.nextgen-custom-home .ng-nav-cta[data-ng-quote] {
    min-height: 48px;
    touch-action: manipulation;
  }
  body.nextgen-custom-home .ng-event-trigger {
    grid-template-columns: 110px 1fr;
    min-height: 116px;
  }
}

/* Desktop hero layout: generic spacing for all current and future dashboard slides. */
@media (min-width: 861px) {
  body.nextgen-custom-home .ng-slide__inner {
    align-items: center;
    padding-bottom: 140px;
  }

  body.nextgen-custom-home .ng-slide__actions {
    margin-top: 26px;
  }

  /* Dedicated navigation zone above the overlapping white solution rail. */
  body.nextgen-custom-home .ng-slider__controls {
    bottom: 64px;
    gap: 10px;
  }

  body.nextgen-custom-home .ng-slider__dots {
    display: flex;
    align-items: center;
    gap: 8px;
  }

  body.nextgen-custom-home .ng-slider__dot,
  body.nextgen-custom-home .ng-slider__dot.is-active {
    width: 9px;
    height: 9px;
    min-width: 9px;
    padding: 0;
    border-radius: 50%;
  }

  body.nextgen-custom-home .ng-slider__dot {
    background: rgba(255,255,255,.48);
  }

  body.nextgen-custom-home .ng-slider__dot.is-active {
    background: var(--ng-cyan);
  }

  body.nextgen-custom-home .ng-solution-rail {
    transform: translateY(-40px);
  }

  /* Polo slide: preserve more of the source image at the top on desktop. */
  body.nextgen-custom-home .ng-slide--polo {
    background: #061522;
  }

  body.nextgen-custom-home .ng-slide--polo .ng-slide__media {
    inset: 0;
    overflow: hidden;
  }

  body.nextgen-custom-home .ng-slide--polo .ng-slide__image {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    object-position: 50% 0%;
    transform: none;
  }
}

body.ng-quote-open{overflow:hidden}.ng-quote-modal{position:fixed;inset:0;z-index:10050;display:none;padding:24px}.ng-quote-modal.is-open{display:grid;place-items:center}.ng-quote-modal__backdrop{position:absolute;inset:0;background:rgba(1,10,17,.78)}.ng-quote-dialog{position:relative;z-index:1;width:min(100%,960px);max-height:calc(100vh - 48px);overflow:auto;display:grid;grid-template-columns:.8fr 1.2fr;background:#fff}.ng-quote-close{position:absolute;top:14px;right:14px;z-index:3;width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.3);background:#0a2a3e;color:#fff;font-size:24px}.ng-quote-intro{padding:52px 36px;background:#061522;color:#fff}.ng-quote-intro h2{margin:0;font-family:'Barlow Condensed',sans-serif;font-size:64px;line-height:.9;text-transform:uppercase;color:#fff!important}.ng-quote-intro>p:not(.ng-kicker){color:#c8d6df!important}.ng-quote-form-wrap{padding:36px}.ng-quote-form{display:grid;grid-template-columns:1fr 1fr;gap:14px}.ng-quote-field{display:flex;flex-direction:column;gap:6px}.ng-quote-field--wide{grid-column:1/-1}.ng-quote-field label{font-size:11px;font-weight:800;text-transform:uppercase}.ng-quote-field input,.ng-quote-field select,.ng-quote-field textarea{width:100%;padding:12px 13px;border:1px solid #d6e1e7;background:#f7fafc}.ng-quote-notice{margin-bottom:16px;padding:12px;font-size:13px;font-weight:700}.ng-quote-notice--success{background:#e9f8ef;color:#17663b}.ng-quote-notice--error{background:#fff0f0;color:#a12727}@media(max-width:760px){.ng-quote-modal{height:100vh;height:100dvh;padding:0;overflow-y:auto;overflow-x:hidden;align-items:start;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.ng-quote-modal.is-open{display:block}.ng-quote-dialog{grid-template-columns:1fr;width:100%;max-height:none;min-height:100vh;min-height:100dvh;margin:0}.ng-quote-close{position:fixed;top:max(12px,env(safe-area-inset-top));right:12px;width:40px;height:40px}.ng-quote-intro{padding:62px 18px 22px}.ng-quote-intro h2{font-size:40px;line-height:.94;max-width:9ch}.ng-quote-intro>p:not(.ng-kicker){font-size:14px;line-height:1.5;margin-bottom:0}.ng-quote-form-wrap{padding:20px 16px calc(28px + env(safe-area-inset-bottom))}.ng-quote-form{grid-template-columns:1fr;gap:12px}.ng-quote-field--wide{grid-column:auto}.ng-quote-field{min-width:0}.ng-quote-field input,.ng-quote-field select,.ng-quote-field textarea{min-width:0;max-width:100%;font-size:16px;line-height:1.35}.ng-quote-field input,.ng-quote-field select{min-height:48px}.ng-quote-field textarea{min-height:120px}.ng-quote-submit{width:100%;min-height:50px;justify-content:center}.ng-quote-notice{margin-bottom:14px}}
