.nc-burger { display: none; }
.nc-mobilemenu { display: none; }
html.mm-lock { overflow: hidden; }

@media (max-width: 1190px) {
  :root {
    --nc-gutter: clamp(16px, 3vw, 36px);
    --nc-display: clamp(2.3rem, 4.6vw, 3.4rem);
    --nc-h2: clamp(1.5rem, 2.6vw, 2rem);
  }
  .sx-wrap { padding-left: var(--nc-gutter); padding-right: var(--nc-gutter); }

  .nc-lang.open .nc-lang__menu { opacity: 1; visibility: visible; transform: none; }
  .nc-lang.open .caret { transform: rotate(180deg); }
}

@media (max-width: 1080px) {
  .nc-burger {
    display: inline-flex; flex-direction: column; justify-content: center; gap: 5px;
    width: 44px; height: 44px; padding: 10px; margin-left: 2px;
    background: transparent; border: 0; cursor: pointer; border-radius: 10px;
  }
  .nc-burger:hover { background: var(--nc-n-100); }
  .nc-burger span { display: block; height: 2px; width: 100%; background: var(--nc-ink); border-radius: 2px; transition: transform .25s var(--nc-ease), opacity .2s; }
  .nc-burger[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .nc-burger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
  .nc-burger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

  .nc-mobilemenu {
    display: flex; flex-direction: column;
    position: fixed; inset: 0; z-index: 300; background: var(--nc-bg);
    padding: 0 var(--nc-gutter) 32px; overflow-y: auto;
    opacity: 0; visibility: hidden; transform: translateY(-10px);
    transition: opacity .3s var(--nc-ease), transform .3s var(--nc-ease), visibility .3s;
  }
  .nc-mobilemenu.open { opacity: 1; visibility: visible; transform: none; }
  .nc-mm__bar { display: flex; align-items: center; justify-content: space-between; padding: 16px 0 14px; border-bottom: 1px solid var(--nc-n-200); }
  .nc-mm__bar .nc-logo img { height: 24px; }
  .nc-mm__close { width: 44px; height: 44px; border: 0; background: var(--nc-n-100); border-radius: 50%; color: var(--nc-ink); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; }
  .nc-mm__close svg { width: 16px; height: 16px; }
  .nc-mm__nav { display: flex; flex-direction: column; padding: 10px 0 4px; }
  .nc-mm__acc:last-child, .nc-mm__nav > a:last-child { border-bottom: 0; }

  .nc-mm__acc { border-bottom: 1px solid var(--nc-n-200); }
  .nc-mm__top { display: flex; align-items: center; justify-content: space-between; width: 100%; gap: 12px;
    font-family: var(--nc-sans); font-size: 1.35rem; font-weight: 650; color: var(--nc-ink); letter-spacing: -0.015em;
    background: none; border: 0; padding: 16px 2px; cursor: pointer; text-align: left; }
  .nc-mm__acc .nc-mm__top { border-bottom: 0; }
  .nc-mm__top .mmchev { width: 14px; height: 9px; flex: none; color: var(--nc-fg-3); transition: transform .25s var(--nc-ease); }
  .nc-mm__acc.open .nc-mm__top .mmchev { transform: rotate(180deg); }
  .nc-mm__sub { max-height: 0; overflow: hidden; transition: max-height .32s var(--nc-ease); }
  .nc-mm__acc.open .nc-mm__sub { max-height: 900px; }
  .nc-mm__subin { padding-bottom: 6px; }
  .nc-mm__sub a { display: block; font-size: 1rem; font-weight: 500; color: var(--nc-fg-2); padding: 11px 2px; border-bottom: 1px solid var(--nc-n-200); }
  .nc-mm__subin a:last-child { border-bottom: 0; }
  .nc-mm__sub a:active { color: var(--nc-red); }
  .nc-mm__group { display: block; font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; font-weight: 700; color: var(--nc-fg-3); padding: 14px 2px 4px; }
  .nc-mm__nav > a { font-size: 1.35rem; font-weight: 650; color: var(--nc-ink); letter-spacing: -0.015em; padding: 16px 2px; border-bottom: 1px solid var(--nc-n-200); }
  .nc-mm__cta { display: flex; flex-direction: column; gap: 10px; margin-top: 22px; }
  .nc-mm__cta .nc-btn { width: 100%; padding-top: 0.95em; padding-bottom: 0.95em; }
  .nc-mm__links { display: flex; flex-wrap: wrap; gap: 6px 22px; margin-top: 26px; }
  .nc-mm__links a { font-size: 0.95rem; font-weight: 500; color: var(--nc-fg-2); padding: 8px 0; }
  .nc-mm__lang { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--nc-n-100); }
  .nc-mm__lang a { display: inline-flex; align-items: center; gap: 8px; font-size: 0.88rem; font-weight: 500; color: var(--nc-fg-2); border: 1px solid var(--nc-n-200); border-radius: 999px; padding: 8px 14px; min-height: 40px; }
  .nc-mm__lang a.is-active { background: var(--nc-ink); color: #fff; border-color: var(--nc-ink); }
  .nc-mm__lang img { width: 16px; height: 16px; border-radius: 50%; }

  .nc-header__inner { padding-top: 12px; padding-bottom: 14px; gap: 16px; }
  .nc-header__cta { gap: 8px; }

  .sx-split, .sx-split.rev { grid-template-columns: 1fr !important; gap: 30px; }
  .vsplit2 { grid-template-columns: 1fr !important; gap: 28px; }
}

@media (max-width: 1024px) {

  .bubbles .lane { width: 150px; }
  .bubbles .bub { transform-origin: center; }
  .bubbles .lane .bub:nth-child(n+5) { display: none; }

  .mgrid { display: flex !important; flex-direction: row !important; flex-wrap: wrap; gap: 16px; }
  .mgrid .mcell { width: calc(50% - 8px); min-width: 0; }
  .mgrid .mcell > * { height: 100%; }
  .mgrid .ctile { min-height: 340px; }

  .ft-cols { grid-template-columns: 1fr 1fr !important; }
  .ft-brand { grid-column: 1 / -1; }
}

@media (max-width: 768px) {
  :root {
    --nc-gutter: 16px;
    --nc-display: clamp(1.9rem, 7.6vw, 2.25rem);
    --nc-h2: clamp(1.45rem, 5.6vw, 1.6rem);
    --nc-lead: 1rem;
  }

  .sx { --pad: 48px; }
  .sx-wrap, #solx section.sx, #valuex section.sx, #casesx section.sx, #resourcesx section.sx { padding-top: 0; padding-bottom: 0; }
  #solx section.sx { padding: 16px 0 14px !important; }
  #casesx section.sx { padding: 20px 0 48px !important; }
  #resourcesx section.sx, #resourcesx .res-sec { padding: 20px 0 48px !important; }
  .res-controls { margin: 26px 0 24px; }

  .sx-badgegrid .badge { width: 62px; height: 62px; box-shadow: 0 0 0 12px var(--nc-ink), 0 10px 22px rgba(0,0,0,0.4); }
  .sx-badgegrid .badge .ic { width: 26px; height: 26px; }
  #valuex .sx-wrap { padding-top: 26px !important; padding-bottom: 48px !important; }
  #resourcesx section.sx { padding: 48px 0 !important; }
  .sx-head--center { margin-bottom: 28px; }
  .sx-lead { font-size: 1rem; }

  .sx-h2 { font-size: 1.55rem; }
  .sx-copy h3 { font-size: 1.25rem; }

  #solx .sx-head--center { text-align: left; max-width: none; margin-left: 0; }
  #solx .sx-head--center .sx-h2, #solx .sx-head--center .sx-lead { margin-left: 0; margin-right: 0; }

  #casesx section.sx > div:first-child { text-align: left !important; max-width: none !important; margin: 0 0 28px !important; padding: 0 var(--nc-gutter); }
  #casesx section.sx > div:first-child .sx-h2, #casesx section.sx > div:first-child .sx-lead { margin-left: 0 !important; margin-right: 0 !important; }

  .tmt__foot { flex-wrap: wrap; }
  .tmt__who { flex: 1 0 calc(100% - 62px); }
  .tmt__logo { margin-top: 8px; }

  .res-controls .rtabs { margin: 0 calc(var(--nc-gutter) * -1) 0 0; padding-right: 0; }

  .stage { min-height: 0; }
  .hero { padding: 40px var(--nc-gutter) 20px; }
  .hero h1 { max-width: none; margin-bottom: 16px; }
  .hero__eyebrow { margin-bottom: 16px; }
  .hero__lead { font-size: 1rem; max-width: none; }
  .hero__cta { margin-top: 26px; gap: 10px; }

  .logos-band { padding: 20px var(--nc-gutter) 30px; }
  .logos-row { flex-direction: column; align-items: flex-start; gap: 14px; }
  .logos-label { width: auto; font-size: .8rem; }
  .logos-label b { font-size: .86rem; }
  .marquee { width: 100%; }
  .marquee__track img { height: 28px; margin-right: 44px; }

  .sx-box-wrap { padding: 0 10px; }
  .sx-box { border-radius: 28px; padding: 34px 20px 38px; }

  .sx-pills, .rtabs { flex-wrap: nowrap; overflow-x: auto; justify-content: flex-start !important; scrollbar-width: none; -webkit-overflow-scrolling: touch; padding: 0 0 4px 0; margin-left: calc(var(--nc-gutter) * -1); margin-right: calc(var(--nc-gutter) * -1); }
  .sx-pills > :first-child, .rtabs > :first-child { margin-left: var(--nc-gutter); }
  .sx-pills > :last-child, .rtabs > :last-child { margin-right: var(--nc-gutter); }
  .sx-pills::-webkit-scrollbar, .rtabs::-webkit-scrollbar { display: none; }
  .sx-pill, .rtab { flex: none; padding: 9px 15px; font-size: .88rem; min-height: 44px; }
  .res-controls .rtabs { margin: 0 calc(var(--nc-gutter) * -1); padding-right: 0; }

  .sx-grid3 { gap: 10px; }
  .sx-grid3 .g2, .sx-grid3 .g3 { transform: none !important; }
  .sx-grid3 .cell { border-radius: 18px; }
  .sx-feat { padding: 9px 0; gap: 12px; }
  .sx-feats { margin: 20px 0 14px; }
  .value-cta { margin-top: 16px; }
  .ic-chip { width: 38px; height: 38px; border-radius: 10px; }

  .vmedia2 { aspect-ratio: 4/3; border-radius: 20px; }
  .vbadge { left: 12px; bottom: 12px; padding: 10px 15px; }

  .ctile { padding: 20px; border-radius: 20px; }
  .ctile h3 { font-size: 1.18rem; }
  .tmt { padding: 22px 20px 20px; border-radius: 20px; }
  .tmt__quote { font-size: 1.05rem; }

  .rcard__body { padding: 16px 16px 18px; }
  #resourcesx .nc-car__head { justify-content: flex-end !important; margin-bottom: 14px; }

  .cta-final__in { padding: 48px var(--nc-gutter) 48px; }
  .cta-team img { width: 36px; height: 36px; }
  .ft-wrap { padding-left: var(--nc-gutter); padding-right: var(--nc-gutter); }
  .ft-news-row { flex-direction: column; align-items: stretch; gap: 14px; padding-bottom: 28px; }
  .ft-cols { padding-top: 32px; gap: 28px; }
  .nl-bar__form { width: 100%; }
  .nl-bar__form input { flex: 1 1 100%; min-width: 0; }
  .nl-bar__form .nc-btn { width: 100%; }
}

@media (max-width: 640px) {

  .nc-topbar .tb-group .tb-link:nth-child(1),
  .nc-topbar .tb-group .tb-link:nth-child(2) { display: none; }

  .bubbles { display: none; }
  .fade-edge { display: none; }

  .sx-box-wrap { padding: 0; }
  .sx-box { border-radius: 0; padding: 44px var(--nc-gutter) 48px; }

  .mgrid { flex-wrap: nowrap !important; overflow-x: auto; gap: 12px; padding-left: 0; padding-right: 0; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
  .mgrid::-webkit-scrollbar { display: none; }
  .mgrid .mcell { width: 80vw; flex: none; }
  .mgrid .mcell:first-child { margin-left: var(--nc-gutter); }
  .mgrid .mcell:last-child { margin-right: var(--nc-gutter); }
  .mgrid .mcell > * { height: 100%; }
  .mgrid .ctile { min-height: 340px; }

  #resourcesx .nc-car__nav { display: none; }
  .res-track { margin: -14px calc(var(--nc-gutter) * -1); padding: 14px 0; }
  .res-track > :first-child { margin-left: var(--nc-gutter); }
  .res-track > :last-child { margin-right: var(--nc-gutter); }

  .cta-final__center { text-align: left; max-width: none; }
  .cta-final__center .sx-eyebrow { justify-content: flex-start; }
  .cta-final__center .lead { margin-left: 0; margin-right: 0; }
  .cta-team { justify-content: flex-start; }

  .nc-car__track.w3 > *, .nc-car__track.w4 > * { width: 82vw; }
  .res-track > * { width: 82vw !important; }

  .feat-res { grid-template-columns: 1fr; }
  .ft-cols { grid-template-columns: 1fr !important; }
  .ft-links2 { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 480px) {
  .nc-header__inner { padding-left: 12px; padding-right: 12px; gap: 10px; }
  .nc-header__cta { gap: 6px; }
  .nc-burger { width: 44px; margin-left: 0; }
  .nc-mm__lang a { min-height: 44px; }
  .hero__cta, .cta-final__btns { flex-direction: column; width: 100%; }
  .hero__cta .nc-btn, .cta-final__btns .nc-btn { width: 100%; min-height: 48px; }
  .hero__cta { padding: 0 4px; }
  .nc-header__cta .nc-btn--primary { padding: 0.6em 1em; font-size: .85rem; }
  .nc-logo img { height: 23px; }
  .vtrio { grid-template-columns: 1fr; }
  .ft-bottom__line { flex-direction: column; align-items: center; text-align: center; gap: 6px; }
  .value-cta { flex-direction: column; }
  .value-cta .nc-btn { width: 100%; }
  .sx-statband { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 370px) {
  .nc-header__cta .nc-btn--primary { padding: 0.55em 0.85em; font-size: .8rem; }
  .nc-header__inner { gap: 8px; }
}
