/* All library/layout rules are scoped to this slider, including Swiper's core. */
@font-face { font-family: "NAS Open Sans"; font-style: normal; font-weight: 300 800; font-display: swap; src: url("fonts/open-sans-latin.woff2") format("woff2"); }
@font-face { font-family: "NAS Montserrat"; font-style: normal; font-weight: 100 900; font-display: swap; src: url("fonts/montserrat-latin.woff2") format("woff2"); }
.ncs-hero {
  --ncs-blue: #4c96d7;
  --ncs-ink: #222;
  position: relative;
  isolation: isolate;
  width: 100%;
  color: var(--ncs-ink);
  background: #eee;
  font-family: "NAS Open Sans", "Open Sans", Arial, sans-serif;
  container-type: inline-size;
}
.ncs-hero *, .ncs-hero *::before, .ncs-hero *::after { box-sizing: border-box; }
.ncs-hero .ncs-swiper { position: relative; overflow: hidden; touch-action: pan-y; }
.ncs-hero .swiper-wrapper { display: flex; position: relative; width: 100%; height: 100%; box-sizing: content-box; transition-property: transform; z-index: 1; }
.ncs-hero .ncs-slide { position: relative; flex: 0 0 100%; width: 100%; min-width: 0; height: auto; overflow: hidden; transition-property: opacity; pointer-events: none; }
.ncs-hero .swiper-slide-active, .ncs-hero:not(.ncs-ready) .ncs-slide:first-child { pointer-events: auto; }
.ncs-hero:not(.ncs-ready) .ncs-slide:not(:first-child) { display: none; }
.ncs-hero .ncs-image { position: absolute; inset: 0; display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: center; border: 0; border-radius: 0; }
.ncs-hero .ncs-slide--nas .ncs-image { object-position: left bottom; }
.ncs-hero .ncs-content { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: max(480px, 50cqw); padding: 100px 6% 95px; text-align: center; }
.ncs-hero .ncs-eyebrow { margin: 0 0 25px; font-size: clamp(16px, 1.05cqw, 20px); font-weight: 600; line-height: 1.4; color: var(--ncs-ink); }
.ncs-hero .ncs-title { margin: 0; padding: 0; font-family: "NAS Montserrat", "Montserrat", Arial, sans-serif; font-size: clamp(34px, 3.75cqw, 90px); font-weight: 500; line-height: 1.14; letter-spacing: -.025em; color: var(--ncs-ink); text-transform: none; overflow-wrap: anywhere; }
.ncs-hero .ncs-title-main, .ncs-hero .ncs-title-accent { display: inline-block; }
.ncs-hero .ncs-title-accent { color: var(--ncs-blue); }
.ncs-hero .ncs-subtitle { margin: 12px 0 0; font-family: "NAS Montserrat", "Montserrat", Arial, sans-serif; font-size: clamp(34px, 3.75cqw, 90px); font-weight: 500; line-height: 1.18; color: var(--ncs-ink); overflow-wrap: anywhere; }
.ncs-hero .ncs-cta { display: inline-flex; justify-content: center; align-items: center; min-height: 50px; max-width: 100%; margin: 50px 0 0; padding: 14px 50px; border: 0; border-radius: 28px; background: var(--ncs-blue); color: #fff; font-family: "NAS Open Sans", "Open Sans", Arial, sans-serif; font-size: clamp(15px, .9cqw, 17px); font-weight: 600; line-height: 1.4; text-decoration: none; box-shadow: none; transition: background-color .2s; }
.ncs-hero .ncs-cta:hover { background: #246aab; color: #fff; text-decoration: none; }
.ncs-hero .ncs-slide--nas .ncs-content { align-items: flex-start; justify-content: flex-start; padding-top: max(130px, 9.6cqw); padding-left: 7.3%; text-align: left; }
.ncs-hero .ncs-slide--nas .ncs-eyebrow { margin-bottom: 16px; }
.ncs-hero .ncs-slide--nas .ncs-title { font-family: "NAS Open Sans", "Open Sans", Arial, sans-serif; font-size: clamp(36px, 4.68cqw, 100px); font-weight: 600; }
.ncs-hero .ncs-slide--nas .ncs-title-accent { font-weight: 700; }
.ncs-hero .ncs-slide--nas .ncs-subtitle { margin-top: 16px; font-family: "NAS Open Sans", "Open Sans", Arial, sans-serif; font-size: clamp(16px, 1.05cqw, 22px); font-weight: 600; }
.ncs-hero .ncs-slide--nas .ncs-cta { margin-top: 35px; }
.ncs-hero :is(a,button):focus-visible { outline: 3px solid #174f80; outline-offset: 4px; }
.ncs-hero.ncs-ready .swiper-slide-active .ncs-eyebrow { animation: ncs-reveal .7s both; }
.ncs-hero.ncs-ready .swiper-slide-active .ncs-title-main { animation: ncs-left .7s .15s both; }
.ncs-hero.ncs-ready .swiper-slide-active .ncs-title-accent { animation: ncs-right .8s .3s both; }
.ncs-hero.ncs-ready .swiper-slide-active .ncs-subtitle { animation: ncs-up .8s .45s both; }
.ncs-hero.ncs-ready .swiper-slide-active .ncs-cta { animation: ncs-up .8s .65s both; }
@keyframes ncs-reveal { from { opacity: 0; clip-path: inset(0 100% 0 0); } to { opacity: 1; clip-path: inset(0); } }
@keyframes ncs-left { from { opacity: 0; transform: translateX(-45px); } to { opacity: 1; transform: none; } }
@keyframes ncs-right { from { opacity: 0; transform: translateX(45px); } to { opacity: 1; transform: none; } }
@keyframes ncs-up { from { opacity: 0; transform: translateY(25px); } to { opacity: 1; transform: none; } }
@container (max-width: 1024px) {
  .ncs-hero .ncs-content { min-height: 650px; padding: 155px 8% 110px; }
  .ncs-hero .ncs-title, .ncs-hero .ncs-subtitle { font-size: clamp(34px, 5cqw, 48px); }
  .ncs-hero .ncs-slide--nas .ncs-content { padding-top: 160px; padding-left: 10%; }
  .ncs-hero .ncs-slide--nas .ncs-title { font-size: clamp(36px, 6cqw, 56px); }
}
@container (max-width: 600px) {
  .ncs-hero .ncs-content { min-height: 660px; padding: 150px 22px 95px; justify-content: center; }
  .ncs-hero .ncs-eyebrow { margin-bottom: 24px; font-size: 16px; }
  .ncs-hero .ncs-title { font-size: clamp(29px, 8cqw, 38px); }
  .ncs-hero .ncs-slide--consulting .ncs-title-main, .ncs-hero .ncs-slide--consulting .ncs-title-accent { display: block; }
  .ncs-hero .ncs-slide--consulting .ncs-title-accent { margin-top: 8px; }
  .ncs-hero .ncs-subtitle { font-size: clamp(29px, 8cqw, 38px); margin-top: 14px; }
  .ncs-hero .ncs-cta { margin-top: 40px; padding-inline: 32px; }
  .ncs-hero .ncs-slide--nas .ncs-content { padding: 150px 24px 100px; }
  .ncs-hero .ncs-slide--nas .ncs-title { font-size: clamp(28px, 7.7cqw, 42px); letter-spacing: -.04em; }
  .ncs-hero .ncs-slide--nas .ncs-subtitle { max-width: 330px; font-size: 16px; line-height: 1.5; }
  .ncs-hero .ncs-slide--nas .ncs-cta { margin-top: 24px; }
}
.ncs-hero.ncs-reduced-motion *, .ncs-hero.ncs-reduced-motion *::before { animation: none !important; transition-duration: 0s !important; }
@media (prefers-reduced-motion: reduce) {
  .ncs-hero *, .ncs-hero *::before { animation: none !important; transition-duration: 0s !important; }
}
