img,
iframe,
table {
  max-width: 100%;
}

.sv-table-wrap,
.insight-table-wrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.container > *,
.sv-why__elevate > *,
.sv-access__layout > *,
.cta__inner > *,
.insight-layout > *,
.sv-service__grid > * {
  min-width: 0;
}

@media (max-width: 1439px) and (min-width: 1200px) {
  .nav__list {
    gap: 1.1rem;
  }

  .nav__link {
    font-size: 0.68rem;
    letter-spacing: 0.08em;
  }
}

@media (max-width: 1439px) {
  .services__more-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .sv-footer__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 1279px) {
  .services__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .service-tile {
    aspect-ratio: 3 / 4;
  }

  .metric-strip {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .principles {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .footer__grid,
  .sv-footer__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .intro__boxes,
  .sv-catalog-grid,
  .sv-icon-grid--four,
  .sv-start__grid,
  .sv-tools-grid,
  .sv-journey__track,
  .sv-vision__grid,
  .assessment-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .sv-why__elevate,
  .sv-access__layout,
  .sv-perf__grid,
  .sv-service__grid,
  .insight-layout {
    grid-template-columns: 1fr;
  }

  .sv-why__media img {
    min-height: 320px;
  }

  .nav__sub--wide {
    min-width: min(560px, 70vw);
  }
}

@media (max-width: 1199px) {
  :root {
    --header-h: 72px;
    --gutter: clamp(1.1rem, 4vw, 2rem);
  }

  .site-header__inner {
    gap: 1rem;
  }

  .nav.is-open .nav__link {
    font-size: 1.35rem;
    letter-spacing: 0.08em;
  }
}

@media (max-width: 1023px) {
  :root {
    --header-h: 72px;
  }

  .section-title {
    font-size: clamp(1.85rem, 5.4vw, 2.6rem);
  }

  .logo__image {
    height: 38px;
    max-width: min(240px, 48vw);
  }

  .hero {
    min-height: 72vh;
    min-height: 72dvh;
  }

  .hero__metrics {
    display: none;
  }

  .hero__scroll {
    display: none;
  }

  .hero__title {
    font-size: clamp(2.1rem, 7vw, 3.4rem);
  }

  .intro__layout,
  .planning__grid,
  .cta__inner,
  .footer__top,
  .sv-footer__top,
  .services__head,
  .insights__head,
  .sv-head,
  .sv-why__intro,
  .sv-why__elevate,
  .sv-access__layout,
  .sv-perf__grid,
  .page-split,
  .contact-page__layout,
  .insight-layout,
  .sv-service__grid {
    grid-template-columns: 1fr;
  }

  .sv-service__aside {
    position: static;
  }

  .sectors__picks {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .sector-stage,
  .sector-stage.is-active {
    grid-template-columns: 1fr;
  }

  .intro__visual picture,
  .intro__visual img {
    aspect-ratio: 16 / 10;
  }

  .process__steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.6rem 1.2rem;
  }

  .process__line {
    display: none;
  }

  .process__step,
  .process__step:nth-child(even) {
    padding-top: 0;
  }

  .insights__grid,
  .insights-grid--two,
  .sv-mission__stats,
  .sv-why__pillars {
    grid-template-columns: 1fr 1fr;
  }

  .principles {
    grid-template-columns: 1fr;
  }

  .principle {
    padding: 1.5rem 1.25rem;
  }

  .page-hero__actions,
  .hero__actions,
  .sv-service__actions {
    flex-wrap: wrap;
  }

  .sv-search {
    flex-direction: column;
    align-items: stretch;
  }

  .sv-search input,
  .insight-widget__search input {
    width: 100%;
  }

  .sv-why__quote,
  .sv-mission__card {
    position: static;
    width: auto;
    margin-top: 1rem;
  }

  .sv-why__media img,
  .sv-mission__media img {
    min-height: 0;
    height: auto;
    max-height: 420px;
  }
}

@media (max-width: 767px) {
  :root {
    --section-y: clamp(3.2rem, 10vw, 4.5rem);
  }

  .hero {
    min-height: 64vh;
    min-height: 64dvh;
  }

  .hero__title {
    letter-spacing: 0.02em;
    font-size: clamp(1.55rem, 8vw, 2.15rem);
    line-height: 1.12;
  }

  .hero__actions,
  .page-hero__actions,
  .cta__contacts {
    flex-direction: column;
    align-items: stretch;
  }

  .services__grid,
  .insights__grid,
  .insights-grid,
  .insights-grid--two,
  .metric-strip,
  .form-grid,
  .footer__grid,
  .sv-footer__grid,
  .sv-footer__top,
  .intro__boxes,
  .services__more-grid,
  .sv-start__grid,
  .sv-tools-grid,
  .sv-catalog-grid,
  .sv-icon-grid,
  .sv-icon-grid--four,
  .sv-journey__track,
  .sv-vision__grid,
  .sv-mission__stats,
  .sv-why__pillars,
  .sv-sectors__grid,
  .assessment-grid,
  .people-grid,
  .stats-strip,
  .contact-reasons {
    grid-template-columns: 1fr;
  }

  .service-tile {
    aspect-ratio: 16 / 11;
    min-height: 280px;
  }

  .process__steps {
    grid-template-columns: 1fr;
    border-left: 1px solid var(--color-line);
    margin-left: 1.1rem;
    padding-left: 1.3rem;
  }

  .process__index {
    width: 58px;
    height: 58px;
    font-size: 1.1rem;
  }

  .gantt__row,
  .board__axis {
    grid-template-columns: 1fr;
  }

  .enquiry,
  .enquiry.enquiry--sidebar,
  .enquiry.enquiry--page {
    padding: 1.2rem 1rem;
  }

  .cta__actions,
  .cta__contacts {
    max-width: none;
  }

  .video-break {
    min-height: 62vh;
  }

  .about-page > .sv-section,
  .services-page > .sv-section,
  .services-page > .page-section,
  .tools-page > .sv-section {
    padding-block: clamp(3rem, 9vw, 4.2rem);
  }

  .page-hero--dark,
  .sv-page .page-hero--dark {
    min-height: 0;
    padding-top: calc(var(--header-h) + 2.2rem);
  }

  .sv-page .page-hero__title,
  .page-hero__title {
    font-size: clamp(1.7rem, 8vw, 2.4rem);
  }

  .sv-access__step,
  .sv-head {
    grid-template-columns: 1fr;
  }

  .sv-kicker {
    flex-wrap: wrap;
  }

  .btn {
    justify-content: center;
  }

  .sv-footer__cta-inner {
    flex-direction: column;
    align-items: flex-start;
  }
}

@media (max-width: 430px) {
  .hero {
    min-height: 58vh;
    min-height: 58dvh;
  }

  .logo__image {
    height: 34px;
    max-width: min(200px, 52vw);
  }

  .sv-section .section-title,
  .section-title {
    font-size: clamp(1.6rem, 8vw, 2rem);
  }

  .intro__box,
  .services__more-card,
  .sv-start__card,
  .sv-tool-card,
  .sv-why__pillar,
  .sv-access__step {
    padding: 1.1rem 1rem;
  }
}

@media (max-width: 374px) {
  .hero__actions .btn,
  .page-hero__actions .btn,
  .cta__contact {
    width: 100%;
  }
}

@media (min-width: 1920px) {
  .hero__content {
    padding-bottom: 3rem;
  }
}

@media (min-width: 2560px) {
  .logo__image {
    height: 38px;
    max-width: min(240px, 48vw);
  }
}

@media (max-width: 1023px) {
  .sv-head,
  .sv-why__intro,
  .insights__head,
  .services__head {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
  }

  .sv-head__copy,
  .insights__head .section-copy,
  .services__head .section-copy {
    max-width: none;
    width: 100%;
  }

  .intro__visual::after {
    right: 0;
  }
}

@media (max-width: 767px) {
  html,
  body,
  main,
  .sv-page,
  .sv-section,
  .container,
  .container--wide {
    max-width: 100%;
  }

  .hero__title,
  .section-title,
  .sv-section .section-title {
    overflow-wrap: anywhere;
    word-break: break-word;
  }

  .services__more-grid,
  .intro__boxes,
  .sv-sectors__grid,
  .insights__grid {
    grid-template-columns: 1fr;
  }
}
