/* ===============================
   LAYOUT — Responsive (992–1199 tablet)
================================ */

@media (min-width: 992px) and (max-width: 1199px) {

  .about__title,
  .services__title,
  .gallery__title,
  .why-choose__title,
  .commitment__title,
  .testimonials__title {
    font-size: var(--type-section-title);
    line-height: var(--type-section-title-lh);
  }

  /* Section padding/gaps: use main-style min(vw) + DESKTOP SCALE (993–1919) — no fluid rem overrides */

  .stats__inner {
    padding-block-start: var(--fluid-section-y);
    padding-block-end: 0;
  }

  .cta-banner__inner {
    padding-block: var(--fluid-section-y-lg);
  }



  .container.clients__inner {
    max-width: 100%;
    padding-inline: 0;
  }

  .site-header__logo {
    inline-size: calc(180 * var(--vw1199));
  }

  .site-header__main-inner {
    min-block-size: 0;
    block-size: auto;
  }

  .btn__text {
    white-space: normal;
    text-align: center;
  }

  img,
  picture,
  video,
  svg {
    max-width: 100%;
  }

  .banner,
  .banner-swiper,
  .banner-swiper .swiper-wrapper,
  .banner-swiper .swiper-slide,
  .banner__slide {
    min-block-size: min(100svh, calc(520 * var(--vw1199)));
  }

  .banner__container {
    min-block-size: min(100svh, calc(480 * var(--vw1199)));
    padding-block-start: calc(var(--header-height, 6rem) + var(--fluid-gap-md));
    padding-block-end: var(--fluid-section-y-lg);
  }

  .banner__content {
    gap: var(--fluid-gap-md);
  }

  .banner__title {
    font-size: var(--type-hero-title);
    line-height: var(--type-hero-title-lh);
  }

  .banner__desc,
  .banner__desc p {
    font-size: var(--type-section-lead);
    line-height: var(--type-section-lead-lh);
  }

  .stats__value {
    font-size: var(--type-stat-value);
  }

  .stats__suffix {
    font-size: var(--type-stat-suffix);
  }

  .stats__label {
    font-size: var(--type-section-lead);
    line-height: var(--type-section-lead-lh);
  }

  .cta-banner__title {
    font-size: var(--type-cta-title);
    line-height: var(--type-cta-title-lh);
  }

  .about,
  .services,
  .gallery,
  .why-choose,
  .commitment,
  .testimonials,
  .stats,
  .cta-banner,
  .site-footer,
  .clients {
    overflow-x: clip;
  }
}

/* ===============================
   LAPTOP — 993px–1919px (see DESKTOP SCALE block after FLUID 1199)
================================ */

@media (min-width: 993px) and (max-width: 1920px) {
  .about {
    padding-block: min(8rem, 5.21vw);
  }

  .gallery,
  .why-choose,
  .testimonials {
    padding-block: min(10rem, 5.21vw);
  }

  .gallery__inner {
    gap: min(8.5rem, 4.43vw);
  }

  .gallery__title,
  .why-choose__title,
  .testimonials__title {
    font-size: min(5rem, 2.6vw);
    line-height: min(6rem, 3.13vw);
  }

  .about__title,
  .services__title {
    font-size: 2.6vw;
    line-height: 3.13vw;
  }

  .cta-banner__inner {
    padding-block: min(5.7rem, 2.97vw);
  }

  .cta-banner__title {
    font-size: min(8rem, 4.17vw);
    line-height: min(9.5rem, 4.95vw);
  }
}

/* ===============================
   HEADER — Responsive
================================ */

@media (max-width: 1400px) and (min-width: 1200px) {
  .site-header__nav-link {
    padding-inline: max(1rem, 0.9vw);
    font-size: max(1.3rem, 0.95vw);
  }

  .site-header__logo {
    inline-size: max(13rem, 11vw);
  }

  .site-header__phone {
    font-size: max(1.3rem, 0.95vw);
    padding-inline: max(1.2rem, 1vw);
  }
}

@media (min-width: 992px) and (max-width: 1199px) {
  .site-header__nav-link {
    padding-inline: calc(12 * var(--vw1199));
    font-size: calc(14 * var(--vw1199));
  }

  .site-header__logo {
    inline-size: calc(180 * var(--vw1199));
  }
}

@media screen and (max-width: 991px) {
  .site-header__topbar {
    display: none !important;
    block-size: 0;
    min-block-size: 0;
    overflow: hidden;
    padding: 0;
    margin: 0;
    border: none;
  }

  .site-header__nav {
    display: none;
  }

  .site-header__phone {
    display: none;
  }

  .site-header__main {
    background-color: transparent;
    box-shadow: none;
  }

  .site-header:not(.site-header--sticky) .site-header__toggle {
    color: var(--color-text-on-dark);
  }

  .site-header__toggle {
    display: inline-flex;
    inline-size: 4.4rem;
    block-size: 4.4rem;
    font-size: 2.2rem;
  }

  .site-header__main-inner {
    gap: 1.2rem;
    min-block-size: 0;
    block-size: auto;
    padding-block: 1.2rem;
  }

  .site-header__logo {
    inline-size: 14rem;
    max-block-size: 4.4rem;
  }

  .site-header__logo picture,
  .site-header__logo img,
  .site-header__logo .custom-logo {
    inline-size: 100%;
    block-size: auto;
    max-block-size: 4.4rem;
    object-fit: contain;
    object-position: left center;
  }

  .mobile-menu__header {
    padding: 1.2rem 1.6rem;
  }

  .mobile-menu__logo {
    inline-size: 12rem;
    max-block-size: 3.2rem;
  }

  .mobile-menu__logo picture,
  .mobile-menu__logo img {
    max-block-size: 3.2rem;
  }

  .mobile-menu__back,
  .mobile-menu__close {
    font-size: 2.2rem;
  }

  .mobile-menu__link,
  .mobile-menu__sub-link {
    font-size: 1.6rem;
  }

  .mobile-menu__link {
    min-block-size: 4.8rem;
    padding: 1.2rem 1.6rem;
  }

  .mobile-menu__footer {
    gap: 1.6rem;
    padding: 1.6rem;
  }

  .mobile-menu__social {
    gap: 1.2rem;
    justify-content: center;
  }
}

@media (min-width: 993px) {
  .mobile-menu {
    visibility: hidden;
    pointer-events: none;
    transform: translateX(-100%);
  }
}

@media (max-width: 576px) {
  .site-header__logo {
    inline-size: 10.5rem;
    max-block-size: 3.8rem;
  }

  .site-header__logo picture,
  .site-header__logo img,
  .site-header__logo .custom-logo {
    max-block-size: 3.8rem;
  }

  .site-header__main-inner {
    padding-block: 0.6rem;
  }
}


/* ===============================
   BANNER — Responsive
================================ */

@media (min-width: 992px) and (max-width: 1199px) {

  .banner,
  .banner-swiper,
  .banner-swiper .swiper-wrapper,
  .banner-swiper .swiper-slide {
    block-size: auto;
    min-block-size: min(100svh, 56rem);
  }

  .banner__slide {
    block-size: auto;
    min-block-size: min(100svh, 56rem);
  }

  .banner__container {
    block-size: auto;
    min-block-size: min(100svh, 52rem);
    padding-block-start: calc(var(--header-height, 7rem) + var(--fluid-gap-md));
    padding-block-end: 9rem;
    align-items: flex-end;
  }

  .banner__glow {
    inline-size: 22rem;
    opacity: 0.6;
    inset-block-end: 5rem;
  }

  .banner__content {
    max-inline-size: 100%;
    gap: 2rem;
    inline-size: 100%;
  }

  .banner__title {
    font-size: var(--type-hero-title);
    line-height: var(--type-hero-title-lh);
    max-inline-size: 100%;
  }

  .banner__desc {
    max-inline-size: 100%;
    font-size: var(--type-section-lead);
    line-height: var(--type-section-lead-lh);
  }

  .banner__bottom {
    inset-block-end: 2rem;
  }
}


@media (max-width: 576px) {

  .banner,
  .banner-swiper,
  .banner-swiper .swiper-wrapper,
  .banner-swiper .swiper-slide,
  .banner__slide {
    min-block-size: min(100svh, 48rem);
  }

  .banner__container {
    min-block-size: min(100svh, 44rem);
    padding-block-end: 7rem;
    padding-block-start: calc(var(--header-height, 5.6rem) + var(--fluid-gap-sm));
  }

  .banner__glow {
    display: none;
  }

  .banner__title-word-wrap {
    margin-inline-end: 0.2em;
  }

  .btn__text {
    font-size: 1.3rem;
    white-space: normal;
    text-align: center;
  }
}


/* ===============================
   CLIENTS — Responsive
================================ */

@media (max-width: 768px) {
  .clients {
    padding-block: max(3rem, 5vw);
  }

  .clients__list {
    gap: max(2rem, 5vw);
  }

  .clients__item {
    block-size: max(3rem, 8vw);
  }
}

/* ===============================
   ABOUT — Responsive
================================ */

@media screen and (max-width: 991px) {
  .about__inner {
    grid-template-columns: 1fr;
    gap: 4rem;
  }

  .about {
    padding-block: 6rem;
  }

  .about__content {
    gap: 3rem;
    max-inline-size: 100%;
  }

  .about__body {
    gap: 3rem;
  }

  .about__list {
    gap: 1.4rem;
    max-inline-size: 100%;
  }

  .about__list-item {
    gap: 1.2rem;
  }

  .about__media {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: flex-start;
    position: relative;
    inline-size: 100%;
    max-inline-size: 100%;
    min-block-size: 0;
    aspect-ratio: 992 / 961;
    margin-inline: auto;
    overflow: hidden;
  }

  .about__outline {
    inset-inline-start: 0;
    inset-block-start: 11.2%;
    inline-size: 83%;
    block-size: auto;
    aspect-ratio: 823 / 869;
    top: 6.4rem;
  }

  .about__shape--back {
    display: block;
    inset-inline-start: 8.15%;
    inset-block-start: 0;
    inline-size: 83%;
    block-size: auto;
    aspect-ratio: 823 / 869;
  }

  .about__shape--small {
    inset-inline-start: 54.36%;
    inset-inline-end: auto;
    inset-block-start: 42.3%;
    inline-size: 45.64%;
    block-size: auto;
    aspect-ratio: 453 / 476;
  }

  .about__badge {
    position: static;
    inset: auto;
    margin: 0;
    margin-inline-start: 8.15%;
    padding-block-end: 1.6rem;
    inline-size: min(100%, 66.2%);
    white-space: normal;
    text-align: start;
    font-size: 2rem;
    line-height: 2.4rem;
    z-index: 10;
  }

  .about__content {
    max-inline-size: 100%;
  }

  .about__title {
    font-size: 2.8rem;
    line-height: 3.2rem;
  }

  .about__text p,
  .about__list-text {
    font-size: 1.6rem;
    line-height: 2.4rem;
  }
}

@media (orientation: landscape) and (max-height: 520px) {
  .about__media {
    max-inline-size: min(100%, 24rem);
    max-block-size: min(78vh, 24rem);
    margin-inline: 0;
  }

  .about__badge {
    font-size: calc(15 * var(--vw1199));
    line-height: 1.3;
    padding-block-end: calc(4 * var(--vw1199));
  }

  .about__title {
    font-size: calc(24 * var(--vw1199));
    line-height: 1.2;
  }

  .about__text p,
  .about__list-text {
    font-size: calc(15 * var(--vw1199));
    line-height: 1.45;
  }
}


@media (max-width: 768px) {
  .about {
    padding-block: max(6rem, 10vw);
    overflow-x: clip;
  }

  .about__inner {
    gap: max(4rem, 8vw);
  }

  .about__badge {
    font-size: max(2rem, 5.3vw);
  }

  .about__title {
    font-size: var(--type-section-title);
    line-height: var(--type-section-title-lh);
  }

  .about__text p {
    font-size: var(--type-section-lead);
    line-height: var(--type-section-lead-lh);
  }

  .about__list {
    max-inline-size: 100%;
  }

  .about__list-text {
    white-space: normal;
    font-size: var(--type-section-lead);
    line-height: var(--type-section-lead-lh);
  }
}

/* ===============================
   SERVICES — Responsive
================================ */

@media (max-width: 1400px) and (min-width: 1200px) {
  .services__inner {
    gap: max(4rem, 3.5vw);
  }

  .services-swiper {
    max-inline-size: min(100%, 75vw);
  }

  .services__stage,
  .services-swiper,
  .services-swiper .swiper-wrapper {
    min-block-size: 0;
    block-size: auto;
  }

  .services-swiper .swiper-wrapper {
    align-items: flex-start;
  }

  .services-swiper .services__slide {
    padding-block-start: 4.167vw;
    block-size: auto;
  }

  .services__card {
    block-size: max(26rem, 28vw);
  }

  .services__slide.swiper-slide-active .services__card {
    transform: translateY(max(-3rem, -2.5vw));
  }
}

@media (min-width: 992px) and (max-width: 1199px) {
  .services__slider-block {
    inline-size: 100%;
  }

  .services-swiper {
    max-inline-size: 75vw;
    margin-inline: auto;
  }

  .services__stage,
  .services-swiper,
  .services-swiper .swiper-wrapper {
    min-block-size: 0;
    block-size: auto;
  }

  .services-swiper .swiper-wrapper {
    align-items: flex-start;
  }

  .services-swiper .services__slide {
    padding-block-start: 4.167vw;
    block-size: auto;
  }

  .services__slide.swiper-slide-active .services__card {
    transform: translateY(-3.65vw);
  }

  .services__card-body {
    padding-inline: 1.61vw;
    padding-block-end: 2.86vw;
    padding-block-start: 1vw;
  }

  .services__card:focus-within .services__card-body,
  .services__card:hover .services__card-body {
    gap: 0.94vw;
    padding-block-end: 1.82vw;
  }
}

@media screen and (max-width: 991px) and (hover: none) {
  .services__slide.swiper-slide-active .services__read-more {
    opacity: 1;
    visibility: visible;
    max-block-size: 4rem;
    transform: translateY(0);
  }

  .services__slide.swiper-slide-active .services__card-body {
    gap: 1.2rem;
    padding-block-end: 2.2rem;
  }
}

/* ≤767px — 2 slides (Swiper slidesPerView: 2) */
@media (max-width: 767px) {
  .services-swiper {
    max-inline-size: 100%;
    block-size: auto;
    min-block-size: 0;
  }

  .services__stage,
  .services-swiper,
  .services-swiper .swiper-wrapper {
    min-block-size: 0;
    block-size: auto;
  }

  .services-swiper .swiper-wrapper {
    align-items: flex-start;
  }

  .services-swiper .services__slide {
    padding-block-start: max(2rem, 4.167vw);
    width: auto;
    max-width: none;
    block-size: auto;
  }

  .services__slide.swiper-slide-active .services__card {
    transform: translateY(-2rem);
  }

  .about__outline {

    top: 2.9rem;
  }
}

/* ≤576px — 1 slide (Swiper slidesPerView: 1) */
@media (max-width: 576px) {
  .services-swiper .services__slide {
    padding-block-start: max(1.6rem, 4.167vw);
    width: auto;
    max-width: none;
  }

  .services__slide.swiper-slide-active .services__card {
    transform: none;
  }
}


/* ===============================
   STATS — Responsive
================================ */

@media (max-width: 1400px) and (min-width: 1200px) {
  .stats {
    block-size: auto;
    min-block-size: min(54rem, 48vw);
  }

  .stats__inner {
    padding-block-start: min(5rem, 5.21vw);
    padding-block-end: 0;
    block-size: auto;
    min-block-size: min(54rem, 48vw);
    align-items: flex-end;
  }

  .stats__grid {
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    justify-content: space-between;
    gap: min(6rem, 6.25vw);
    max-inline-size: 100%;
    block-size: auto;
    flex-wrap: nowrap;
  }

  .stats__group {
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    justify-content: space-between;
    gap: min(6rem, 6.25vw);
    flex: 1;
    min-inline-size: 0;
    flex-wrap: nowrap;
  }

  .stats__item,
  .stats__item--1,
  .stats__item--2,
  .stats__item--3,
  .stats__item--4 {
    flex: 1;
    min-inline-size: 0;
    block-size: auto;
    min-block-size: min(14rem, 16vw);
    inline-size: auto;
    max-inline-size: none;
  }

  .stats__content {
    inset-inline-start: min(3.6rem, 2.66vw);
  }

  .stats__value {
    font-size: min(8rem, 4.17vw);
    line-height: min(13.3rem, 6.93vw);
  }

  .stats__suffix {
    font-size: min(5.16rem, 2.69vw);
    line-height: min(13.3rem, 6.93vw);
  }

  .stats__label {
    font-size: min(2.2rem, 1.15vw);
    line-height: min(3.2rem, 1.67vw);
    white-space: normal;
  }
}


@media (min-width: 992px) and (max-width: 1199px) {
  .stats {
    block-size: auto;
    min-block-size: min(75rem, 39.06vw);
  }

  .stats__inner {
    padding-block-start: min(5rem, 5.21vw);
    padding-block-end: 0;
    min-block-size: min(75rem, 39.06vw);
  }

  .stats__grid {
    gap: min(6rem, 6.25vw);
  }

  .stats__group {
    gap: min(6rem, 6.25vw);
  }

  .stats__item,
  .stats__item--1,
  .stats__item--2,
  .stats__item--3,
  .stats__item--4 {
    block-size: auto;
    min-block-size: min(32.8rem, 17.08vw);
    inline-size: auto;
    min-inline-size: 0;
  }

  .stats__item--1 {
    min-inline-size: min(25.8rem, 13.44vw);
  }

  .stats__item--2 {
    inline-size: min(25.6rem, 13.33vw);
  }

  .stats__item--3 {
    inline-size: min(30.4rem, 15.83vw);
  }

  .stats__item--4 {
    inline-size: min(26.1rem, 13.59vw);
  }

  .stats__content {
    inset-inline-start: min(5.1rem, 2.66vw);
  }

  .stats__item--1 .stats__content {
    gap: min(4rem, 2.08vw);
  }

  .stats__item--2 .stats__content {
    min-inline-size: min(20.5rem, 10.68vw);
  }

  .stats__item--3 .stats__content {
    min-inline-size: min(25.3rem, 13.18vw);
  }

  .stats__item--4 .stats__content {
    min-inline-size: min(21rem, 10.94vw);
  }

  .stats__item--4 .stats__number {
    min-block-size: min(10rem, 5.21vw);
  }

  .stats__value {
    font-size: min(8rem, 4.17vw);
    line-height: min(13.3rem, 6.93vw);
  }

  .stats__suffix {
    font-size: min(5.16rem, 2.69vw);
    line-height: min(13.3rem, 6.93vw);
  }

  .stats__label {
    font-size: min(2.2rem, 1.15vw);
    line-height: min(3.2rem, 1.67vw);
    white-space: normal;
  }

  .stats__marker {
    inset-block-start: min(3rem, 1.56vw);
    inline-size: min(2.1rem, 1.09vw);
  }

  .stats__marker-dot {
    inset-block-start: min(0.8rem, 0.42vw);
    inset-inline-start: min(0.8rem, 0.42vw);
    inline-size: min(0.5rem, 0.26vw);
    block-size: min(0.5rem, 0.26vw);
  }

  .stats__marker-line {
    inset-block-start: min(1.2rem, 0.63vw);
    inset-inline-start: min(1rem, 0.52vw);
  }

  .stats__marker-ring {
    inline-size: min(2.1rem, 1.09vw);
    block-size: min(2.1rem, 1.09vw);
  }
}

@media (max-width: 768px) {
  .stats {
    min-block-size: auto;
    overflow-x: clip;
  }

  .stats__inner {
    padding-block-start: max(8rem, 14vw);
    padding-block-end: 0;
    min-block-size: auto;
    align-items: flex-start;
  }

  .stats__grid {
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    row-gap: max(5rem, 10vw);
    block-size: auto;
  }

  .stats__group {
    flex-direction: column;
    align-items: stretch;
    gap: max(5rem, 10vw);
  }

  .stats__item {
    inline-size: 100%;
    max-inline-size: max(30rem, 85vw);
    min-block-size: max(22rem, 50vw);
    block-size: auto;
    margin-inline: auto;
  }

  .stats__marker {
    inset-block-start: max(2rem, 4vw);
  }

  .stats__content {
    inset-inline-start: max(4.2rem, 10vw);
  }

  .stats__item--1 .stats__content,
  .stats__item--2 .stats__content,
  .stats__item--3 .stats__content,
  .stats__item--4 .stats__content {
    inline-size: auto;
    gap: max(1.6rem, 4vw);
  }

  .stats__value {
    font-size: clamp(4rem, 8vw, 5.6rem);
    line-height: 1;
  }

  .stats__suffix {
    font-size: clamp(2.4rem, 5vw, 3.6rem);
  }

  .stats__label {
    font-size: var(--type-section-lead);
    line-height: var(--type-section-lead-lh);
    white-space: normal;
  }
}

/* ===============================
   GALLERY — Responsive
================================ */

@media (max-width: 1400px) and (min-width: 1200px) {
  .gallery__grid {
    gap: max(2.4rem, 2.5vw);
  }

  .gallery__item--t1,
  .gallery__item--t4 {
    block-size: max(28rem, 28vw);
  }

  .gallery__item--t2,
  .gallery__item--t5 {
    block-size: max(29rem, 29vw);
  }

  .gallery__item--t3 {
    min-block-size: max(58rem, 58vw);
  }
}


@media (min-width: 992px) and (max-width: 1199px) {
  .gallery__grid {
    gap: max(2.4rem, 2.5vw);
  }

  .gallery__item--t1,
  .gallery__item--t4 {
    block-size: max(28rem, 28vw);
  }

  .gallery__item--t2,
  .gallery__item--t5 {
    block-size: max(29rem, 29vw);
  }

  .gallery__item--t3 {
    min-block-size: max(58rem, 58vw);
  }
}

@media (max-width: 768px) {
  .gallery {
    padding-block: max(6rem, 10vw);
    overflow-x: clip;
  }

  .gallery__inner {
    gap: max(5rem, 8vw);
  }

  .gallery__title {
    font-size: var(--type-section-title);
    line-height: var(--type-section-title-lh);
  }

  .gallery__text {
    font-size: var(--type-section-lead);
    line-height: var(--type-section-lead-lh);
  }

  .gallery__grid {
    grid-template-columns: 1fr;
    gap: max(2rem, 4vw);
  }

  .gallery__col {
    gap: max(2rem, 4vw);
  }

  .gallery__item--t1,
  .gallery__item--t2,
  .gallery__item--t3,
  .gallery__item--t4,
  .gallery__item--t5 {
    block-size: auto;
    min-block-size: max(24rem, 55vw);
    aspect-ratio: 552 / 358;
  }

  .gallery__item--t3 {
    aspect-ratio: 552 / 766;
    min-block-size: max(32rem, 75vw);
  }
}

/* ===============================
   CTA BANNER — Responsive
================================ */

@media (min-width: 992px) and (max-width: 1199px) {
  .cta-banner {
    block-size: auto;
    min-block-size: auto;
  }
}


@media (min-width: 992px) and (max-width: 1199px) {
  .cta-banner__inner {
    padding-block: max(5rem, 8vw);
  }

  .cta-banner__content {
    gap: max(3rem, 5vw);
  }
}

@media screen and (max-width: 991px) {
  .cta-banner__inner {
    padding-block: 5rem;
  }

  .cta-banner__content {
    gap: 3rem;
  }

  .cta-banner__title {
    font-size: 3.2rem;
    line-height: 3.8rem;
  }

  .cta-banner__title-word-wrap,
  .cta-banner__title-word {
    font-size: inherit;
    line-height: inherit;
  }

  .cta-banner__text {
    font-size: 1.6rem;
    line-height: 2.4rem;
  }

  .clients-logos__item {
    min-block-size: min(15rem, 16.81vw);
  }
}

@media (max-width: 768px) {
  .cta-banner__inner {
    padding-block: 4rem;
  }

  .cta-banner__content {
    gap: 2.4rem;
  }

  .cta-banner__title {
    font-size: 2.8rem;
    line-height: 3.4rem;
  }

  .cta-banner__text {
    font-size: var(--type-section-lead);
    line-height: var(--type-section-lead-lh);
  }

  .cta-banner__text p {
    color: var(--color-white);
  }
}

@media (orientation: landscape) and (max-height: 520px) {

  .banner,
  .banner-swiper,
  .banner-swiper .swiper-wrapper,
  .banner-swiper .swiper-slide,
  .banner__slide {
    min-block-size: 100svh;
  }

  .banner__container {
    min-block-size: calc(100svh - var(--header-height, 6rem));
    padding-block: var(--fluid-gap-sm);
    align-items: center;
  }

  .banner__bottom {
    inset-block-end: var(--fluid-gap-sm);
  }

  .about {
    padding-block: var(--fluid-gap-md);
  }

  .why-choose {
    padding-block: var(--fluid-gap-md);
  }

  .why-choose__inner {
    gap: var(--fluid-gap-md);
  }

  .why-choose__media {
    min-block-size: 0;
    max-inline-size: min(100%, 20rem);
    aspect-ratio: 4 / 5;
    margin-inline: auto;
  }

  .cta-banner__inner {
    padding-block: var(--fluid-section-y);
  }

  .cta-banner__content {
    gap: var(--fluid-gap-md);
  }

  .cta-banner__title {
    font-size: calc(30 * var(--vw1199));
    line-height: 1.2;
  }

  .cta-banner__text {
    font-size: calc(16 * var(--vw1199));
    line-height: 1.45;
  }
}

/* ===============================
   WHY CHOOSE US — Responsive
================================ */

@media screen and (max-width: 991px) {
  .why-choose {
    padding-block: 6rem;
  }

  .why-choose__inner {
    flex-direction: column;
    gap: 4rem;
  }

  .why-choose__content,
  .why-choose__media {
    flex: 0 0 auto;
    inline-size: 100%;
    max-inline-size: 100%;
  }

  .why-choose__content {
    gap: 3rem;
  }

  .why-choose__intro {
    gap: 3rem;
  }

  .why-choose__title {
    inline-size: 100%;
    max-inline-size: 100%;
    font-size: 3.2rem;
    line-height: 3.8rem;
  }

  .why-choose__item-title,
  .why-choose__item-text {
    font-size: 1.6rem;
    line-height: 2.4rem;
  }

  .why-choose__trigger {
    padding-inline: 2.4rem;
    min-block-size: 4.8rem;
  }

  .why-choose__item.is-open .why-choose__trigger {
    padding-block-end: 1rem;
  }

  .why-choose__item-text {
    padding-inline: 2.4rem;
    padding-block: 2rem 2.4rem;
  }

  .why-choose__media {
    min-block-size: 0;
    max-inline-size: min(100%, 28rem);
    margin-inline: auto;
    aspect-ratio: 785 / 881;
    overflow: hidden;
  }

  .why-choose__photo {
    inline-size: 94.27%;
    block-size: 94.55%;
  }

  .why-choose__outline {
    inset-inline-start: 26.11%;
    inset-block-start: 30.31%;
    inline-size: 73.89%;
    block-size: 69.69%;
  }

  .contact-page__label {
    font-size: 14px;
  }

  .contact-page__value {
    font-size: 14px;
  }

  .contact-page__social-link {
    font-size: 22px;
  }

  .contact-form input.contact-form__submit,
  .contact-form button.contact-form__submit {
    min-block-size: max(5rem, 3.65vw);
    padding-inline: max(1.5rem, 1.3vw) max(3rem, 1.65vw);
    padding-block: max(0.5rem, 1.3vw);
  }

  .contact-form__submit-icon {

    inline-size: max(5rem, 3.65vw);
    block-size: max(5rem, 3.65vw);
  }
}


@media (max-width: 768px) {
  .why-choose {
    padding-block: max(6rem, 10vw);
    overflow-x: clip;
  }

  .why-choose__content {
    gap: max(3rem, 6vw);
  }

  .why-choose__intro {
    gap: max(4rem, 8vw);
  }

  .why-choose__title {
    font-size: 2.4rem;
    line-height: 2.8rem;
  }

  .why-choose__item-title,
  .why-choose__item-text {
    font-size: 1.6rem;
    line-height: 2.4rem;
  }

  .why-choose__trigger {
    padding-inline: max(2.4rem, 5vw);
    min-block-size: max(4.8rem, 12vw);
  }

  .why-choose__item.is-open .why-choose__trigger {
    padding-block-end: max(1rem, 2vw);
  }

  .why-choose__item-text {
    padding-inline: max(2.4rem, 5vw);
    padding-block-start: max(2rem, 4vw);
    padding-block-end: max(2.4rem, 5vw);
  }

  .why-choose__media {
    min-block-size: 0;
    max-inline-size: min(100%, 24rem);
    aspect-ratio: 785 / 680;
    overflow: hidden;
  }
}

/* ===============================
   OUR COMMITMENT — Responsive
================================ */

@media screen and (max-width: 991px) {
  .commitment {
    padding-block: 6rem;
  }

  .commitment__inner {
    gap: 4rem;
  }

  .commitment__header {
    flex-direction: column;
    align-items: flex-start;
    gap: 3rem;
  }

  .commitment__intro {
    gap: 3rem;
    max-inline-size: 100%;
  }

  .commitment__title {
    font-size: 3.2rem;
    line-height: 3.8rem;
  }

  .commitment__body {
    flex-direction: column;
    gap: 3rem;
  }

  .commitment__cards {
    grid-template-columns: 1fr;
    gap: 1.6rem;
    max-inline-size: 100%;
  }

  .commitment__card {
    display: flex;
    flex-direction: column;
    gap: 1.6rem;
    min-block-size: auto;
    padding: 2rem;
    overflow: visible;
  }

  .commitment__card-icon {
    position: static;
    align-self: flex-end;
    flex-shrink: 0;
    inline-size: 6.5rem;
    block-size: 6.5rem;
  }

  .commitment__card-icon img {
    inline-size: 100%;
    block-size: 100%;
    object-fit: contain;
  }

  .commitment__card-body {
    position: static;
    inset: auto;
    gap: 1.2rem;
  }

  .commitment__card-text {
    opacity: 1;
    max-block-size: none;
    overflow: visible;
    transform: none;
    color: var(--color-text-body);
  }

  .commitment__card--active .commitment__card-title,
  .commitment__card--active .commitment__card-text {
    color: var(--color-text-on-dark);
  }

  .commitment__card--active .commitment__card-icon {
    filter: brightness(0) invert(1);
  }
}


/* ===============================
   TESTIMONIALS — Responsive
================================ */

@media screen and (max-width: 991px) {
  .testimonials {
    padding-block: 6rem;
  }

  .testimonials__inner {
    gap: 3rem;
  }

  .testimonials__header {
    gap: 3rem;
  }

  .testimonials__title {
    font-size: 3.2rem;
    line-height: 3.8rem;
  }

  .testimonials__quote {
    font-size: 1.6rem;
    line-height: 2.4rem;
  }

  .testimonials__stage {
    display: flex;
    flex-direction: column;
    gap: 2.4rem;
  }

  .testimonials-swiper {
    order: 1;
    inline-size: 100%;
  }

  .testimonials__nav-bar {
    order: 2;
    position: static;
    transform: none;
    justify-content: space-between;
    gap: 2rem;
    margin-block-start: 1.6rem;
    pointer-events: auto;
    inline-size: 100%;
  }

  .testimonials__nav {
    inline-size: 6rem;
    block-size: 5rem;
  }

  .testimonials__nav-icon {
    inline-size: 5rem;
    block-size: 5rem;
    font-size: 1.8rem;
  }

  .testimonials__quote-block {
    padding-inline: 0;
  }
}

@media (max-width: 768px) {
  .testimonials {
    padding-block: max(6rem, 10vw);
    overflow-x: clip;
  }

  .testimonials__inner {
    gap: max(3rem, 6vw);
  }

  .testimonials__header {
    gap: max(3rem, 6vw);
  }

  .testimonials__title {
    font-size: var(--type-section-title);
    line-height: var(--type-section-title-lh);
  }

  .testimonials__quote {
    font-size: var(--type-section-lead);
    line-height: var(--type-section-lead-lh);
  }

  .testimonials__name {
    font-size: var(--type-card-title);
    line-height: var(--type-card-title-lh);
  }

  .testimonials__role {
    font-size: var(--type-body);
  }

  .testimonials__stage {
    display: block;
    position: relative;
  }

  .testimonials-swiper {
    order: unset;
  }

  .testimonials__nav-bar {
    order: unset;
    position: absolute;
    inset-inline: 0;
    top: 50%;
    transform: translateY(-50%);
    margin-block: 0;
    z-index: 2;
    pointer-events: none;
  }

  .testimonials__quote-block {
    padding-inline: max(6rem, 14vw);
  }

  .testimonials__nav {
    inline-size: max(6rem, 14vw);
    block-size: max(5rem, 12vw);
  }

  .testimonials__nav-icon {
    inline-size: max(5rem, 12vw);
    block-size: max(5rem, 12vw);
    font-size: max(1.8rem, 4.5vw);
    overflow: visible;
  }

  .testimonials__nav--next .testimonials__nav-icon i {
    font-size: max(3rem, 7vw);
    transform: translateX(max(-1.6rem, -3vw));
  }

  .testimonials__nav--prev .testimonials__nav-icon i {
    font-size: max(3rem, 7vw);
    transform: translateX(max(1.6rem, 3vw));
  }
}


/* ===============================
   FOOTER — Responsive
================================ */


@media (min-width: 992px) and (max-width: 1199px) {}

@media screen and (max-width: 991px) {}


/* ===============================
   FLUID 1199 — main-style overrides (992–1199 tablet only)
================================ */

@media (min-width: 992px) and (max-width: 1199px) {
  .about {
    padding-block: 8rem;
  }

  .about__body {
    gap: 3rem;
  }

  .about__content {
    gap: 3rem;
    max-inline-size: 42rem;
  }

  .about__eyebrow {
    border-radius: 5rem;
    padding-inline: 2rem;
    padding-block: 0.8rem;
    min-block-size: 3.2rem;
    font-size: 1.2rem;
    line-height: 2rem;
  }

  .about__inner {
    grid-template-columns: minmax(0, 43.5rem) minmax(0, 1fr);
    gap: 4rem;
  }

  .about__list {
    gap: 1.4rem;
    max-inline-size: 30rem;
  }

  .about__list-icon {
    inline-size: 4.5rem;
    block-size: 4.5rem;
    border-radius: 2.25rem;
  }

  .about__list-icon img {
    max-inline-size: 2.2rem;
    max-block-size: 2.2rem;
  }

  .about__list-item {
    gap: 1.2rem;
  }

  .about__list-text {
    font-size: 1.4rem;
    line-height: 2rem;
  }

  .about__media {
    max-inline-size: 43.5rem;
    min-block-size: 50rem;
  }

  .about__outline {
    inset-block-start: 4rem;
    inline-size: 36rem;
    block-size: 38rem;
  }

  .about__outline path {
    stroke-width: 0.2rem;
  }

  .about__shape--back {
    inset-inline-start: 3rem;
    inline-size: 36rem;
    block-size: 38rem;
  }

  .about__shape--small {
    inset-inline-start: 20rem;
    inset-block-start: 15rem;
    inline-size: 20rem;
    block-size: 21rem;
    padding: 0.5rem;
  }

  .about__text p {
    font-size: 1.4rem;
    line-height: 2rem;
  }

  .back-to-top {
    inset-inline-end: 2rem;
    inset-block-end: 2rem;
    inline-size: 4.8rem;
    block-size: 4.8rem;
    font-size: 2.4rem;
  }

  .banner__bottom {
    inset-block-end: 3rem;
  }

  .banner__container {
    padding-block-end: 8rem;
  }

  .banner__content {
    max-inline-size: 42rem;
    gap: 3rem;
  }

  .banner__desc {
    font-size: 1.4rem;
    line-height: 2rem;
    max-inline-size: 36rem;
  }

  .banner__glow {
    inset-inline-start: 0rem;
    inset-block-end: 6rem;
    inline-size: 30rem;
  }

  .banner__nav {
    inline-size: 5rem;
    block-size: 5rem;
    font-size: 2rem;
  }

  .banner__pagination {
    gap: 0.8rem;
  }

  .banner__pagination .swiper-pagination-bullet {
    inline-size: 1rem;
    block-size: 1rem;
  }

  .banner__pagination .swiper-pagination-bullet-active {
    inline-size: 2.4rem;
    border-radius: 1rem;
  }

  .banner__title {
    font-size: 3.2rem;
    line-height: 3.8rem;
  }

  .btn--cta {
    min-block-size: 4rem;
  }

  .btn__icon {
    inline-size: 4rem;
    block-size: 4rem;
    margin-inline-start: -3.2rem;
    border-radius: 1.8rem;
    font-size: 2rem;
  }

  .btn__text {
    font-size: 1.4rem;
    line-height: 2rem;
    border-radius: 5rem;
    padding-inline: 2rem;
    padding-block: 1.6rem;
    padding-inline-end: 5rem;
  }

  .clients {
    padding-block: 4rem;
  }

  .clients__item {
    block-size: 3.6rem;
  }

  .clients__item--doncaster {
    gap: 0.8rem;
  }

  .clients__item--doncaster img:first-child {
    block-size: 3.2rem;
    inline-size: 3.2rem;
  }

  .clients__item--doncaster img:last-child {
    block-size: 3.2rem;
  }

  .clients__item--wide img {
    max-block-size: 3.6rem;
  }

  .clients__list {
    gap: 3rem;
  }

  .clients__track {
    gap: 3rem;
  }

  .commitment {
    padding-block: 10rem;
  }

  .commitment__body {
    gap: 4rem;
  }

  .commitment__card {
    min-block-size: 33.7rem;
    border-radius: 2rem;
  }

  .commitment__card--active .commitment__card-body {
    inset-block-start: 11.4rem;
  }

  .commitment__card--active .commitment__card-text {
    max-block-size: 12rem;
  }

  .commitment__card-body {
    inset-inline: 3.1rem;
    inset-block-end: 3.5rem;
    gap: 2.6rem;
  }

  .commitment__card-icon {
    inset-block-start: 1.7rem;
    inset-inline-end: 3rem;
    inline-size: 6.5rem;
    block-size: 6.5rem;
  }

  .commitment__card-text {
    font-size: 1.8rem;
    line-height: 2.3rem;
    transform: translateY(1rem);
  }

  .commitment__card-title {
    font-size: 2.5rem;
    line-height: 3rem;
  }

  .commitment__cards {
    gap: 2.7rem 7.3rem;
    max-inline-size: 75.1rem;
  }

  .commitment__eyebrow {
    border-radius: 5rem;
    padding-inline: 2.5rem;
    padding-block: 1rem;
    min-block-size: 4rem;
    font-size: 1.2rem;
    line-height: 2rem;
  }

  .commitment__feature {
    max-inline-size: 84.8rem;
    min-block-size: 70.1rem;
    border-radius: 2rem;
    padding: 5.5rem 8rem 5.5rem 10.3rem;
  }

  .commitment__feature-content {
    gap: 4.6rem;
    max-inline-size: 66.5rem;
  }

  .commitment__feature-text {
    font-size: 2.2rem;
    line-height: 3.2rem;
  }

  .commitment__header {
    gap: 3rem;
  }

  .commitment__inner {
    gap: 8rem;
  }

  .commitment__intro {
    gap: 4.5rem;
    max-inline-size: 66rem;
  }

  .commitment__stat {
    font-size: 10rem;
    line-height: 8rem;
  }

  .commitment__title {
    font-size: 5rem;
    line-height: 6rem;
  }

  .cta-banner {
    block-size: 47.7rem;
    min-block-size: 47.7rem;
  }

  .cta-banner__content {
    gap: 4.5rem;
    max-inline-size: 105.2rem;
  }

  .cta-banner__inner {
    padding-block: 5.7rem;
  }

  .cta-banner__text {
    font-size: 2.2rem;
    line-height: 3.2rem;
  }

  .cta-banner__title {
    font-size: min(5rem, 4.17vw);
    line-height: min(6rem, 4.95vw);
  }

  .gallery {
    padding-block: 10rem;
  }

  .gallery__col {
    gap: 3.5rem;
  }

  .gallery__eyebrow {
    border-radius: 5rem;
    padding-inline: 2.5rem;
    padding-block: 1rem;
    min-block-size: 4rem;
    font-size: 1.2rem;
    line-height: 2rem;
  }

  .gallery__grid {
    gap: 4rem;
  }

  .gallery__header {
    gap: 4.5rem;
  }

  .gallery__inner {
    gap: 8.5rem;
  }

  .gallery__item--t3 {
    min-block-size: 76.6rem;
  }

  .gallery__item--t4 {
    block-size: 35.8rem;
  }

  .gallery__item--t5 {
    block-size: 37.3rem;
  }

  .gallery__text {
    max-inline-size: 80rem;
    font-size: 2.2rem;
    line-height: 3.2rem;
  }

  .gallery__title {
    font-size: 5rem;
    line-height: 6rem;
  }

  .mobile-menu__arrow {
    inline-size: 4.4rem;
    font-size: 2rem;
  }

  .mobile-menu__close {
    font-size: 2.2rem;
  }

  .mobile-menu__footer {
    gap: 1.2rem;
    padding: 1.4rem;
  }

  .mobile-menu__header {
    padding: 1.2rem 1.4rem;
  }

  .mobile-menu__header-left {
    gap: 1rem;
  }

  .mobile-menu__link {
    min-block-size: 4.4rem;
    padding: 1.2rem 1.4rem;
    font-size: 1.5rem;
  }

  .mobile-menu__logo {
    inline-size: 11rem;
  }

  .mobile-menu__phone {
    gap: 0.6rem;
    padding: 1rem 1.4rem;
    border-radius: 5rem;
    font-size: 1.4rem;
  }

  .mobile-menu__social {
    gap: 1.6rem;
  }

  .mobile-menu__social-link {
    inline-size: 3.6rem;
    block-size: 3.6rem;
    font-size: 1.6rem;
  }

  .mobile-menu__sub-link {
    padding: 1.2rem 1.4rem;
    font-size: 1.4rem;
  }

  .mobile-menu__sub-link:focus-visible {
    padding-inline-start: 2.4rem;
  }

  .mobile-menu__title {
    font-size: 1.6rem;
  }

  .services {
    padding-block: 5rem;
  }

  .services-swiper {
    block-size: 59.4rem;
  }

  .services-swiper .services__slide {
    padding-block-start: 4.167vw;
    block-size: calc(32rem + 4.167vw);
    width: calc((100% - (2 * 3.3rem)) / 3);
    max-width: 28.58rem;
  }

  .services-swiper .swiper-wrapper {
    block-size: 59.4rem;
  }

  .services__card {
    block-size: 32rem;
    border-radius: 1rem;
  }

  .services__card-body {
    padding-inline: 1.61vw;
    padding-block-end: 2.86vw;
    padding-block-start: 1vw;
  }

  .services__card-title {
    font-size: 2rem;
    line-height: 2.4rem;
  }

  .services__card:focus-within .services__card-body {
    gap: 0.94vw;
    padding-block-end: 1.82vw;
  }

  .services__card:focus-within .services__read-more {
    max-block-size: 4rem;
  }

  .services__eyebrow {
    border-radius: 5rem;
    padding-inline: 2rem;
    padding-block: 0.8rem;
    min-block-size: 3.2rem;
    font-size: 1.2rem;
    line-height: 2rem;
  }

  .services__header {
    gap: 3rem;
    max-inline-size: 52.4rem;
  }

  .services__inner {
    gap: 5.5rem;
  }

  .services__nav {
    inline-size: 5.2rem;
    block-size: 4.4rem;
  }

  .services__nav--next .services__nav-icon i {
    font-size: 3.6rem;
    transform: translateX(-2.5rem);
  }

  .services__nav--prev .services__nav-icon i {
    font-size: 3.6rem;
    transform: translateX(2.5rem);
  }

  .services__nav-icon {
    inline-size: 4.4rem;
    block-size: 4.4rem;
    font-size: 2.2rem;
  }

  .services__read-more {
    gap: 0.4rem;
    font-size: 1.4rem;
    line-height: 2rem;
    transform: translateY(0.6rem);
  }

  .services__read-more i {
    font-size: 1.8rem;
  }

  .services__slide.swiper-slide-active .services__card {
    transform: translateY(-3.65vw);
  }

  .services__slider-group {
    gap: 3rem;
  }

  .services__title {
    font-size: 2.8rem;
    line-height: 3rem;
  }

























  .site-header__logo {
    inline-size: 16rem;
  }

  .site-header__main-inner {
    gap: 2rem;
    min-block-size: 7rem;
    padding-block: 0.8rem;
  }

  .site-header__nav-item--has-submenu::after {
    block-size: 1.4rem;
  }

  .site-header__nav-link {
    gap: 0.4rem;
    font-size: 1.4rem;
    line-height: 2rem;
    padding-inline: 1.6rem;
    padding-block: 1rem;
    min-block-size: 4rem;
  }

  .site-header__nav-link i {
    font-size: 1.8rem;
  }

  .site-header__nav-link--active::after {
    inset-block-end: 0.6rem;
    inline-size: 4rem;
    block-size: 0.2rem;
  }

  .site-header__phone {
    gap: 0.8rem;
    border-radius: 5rem;
    font-size: 1.4rem;
    line-height: 2rem;
    min-block-size: 4rem;
    padding-inline: 2rem;
    padding-block: 1.6rem;
  }

  .site-header__phone i {
    font-size: 1.8rem;
  }

  .site-header__submenu {
    inset-block-start: calc(100% + 0.6rem);
    min-inline-size: 24rem;
    padding: 0.8rem;
    border-block-start: 0.3rem solid var(--color-accent);
    border-radius: 0.8rem;
    box-shadow: 0 1.2rem 3.2rem rgba(11, 79, 140, 0.14);
    transform: translateX(-50%) translateY(0.8rem);
  }

  .site-header__submenu-link {
    gap: 1rem;
    padding-block: 1.2rem;
    padding-inline: 1.6rem;
    border-radius: 0.6rem;
    font-size: 1.4rem;
    line-height: 2rem;
  }

  .site-header__submenu-link::before {
    inline-size: 0.3rem;
    block-size: 0.3rem;
  }

  .site-header__submenu-link:focus-visible {
    padding-inline-start: 2rem;
  }

  .site-header__toggle {
    inline-size: 4rem;
    block-size: 4rem;
    border-radius: 0.8rem;
    font-size: 2.4rem;
  }

  .site-header__topbar {
    min-block-size: 4rem;
  }

  .site-header__topbar-inner {
    gap: 1.6rem;
    padding-block: 0.8rem;
  }

  .site-header__topbar-item {
    gap: 0.6rem;
    font-size: 1.2rem;
    line-height: 1.8rem;
  }

  .site-header__topbar-item i {
    font-size: 1.4rem;
  }

}

/* ===============================
   DESKTOP SCALE — 993px–1919px
   Proportional 1920 vw (overrides ≤1199 fluid fixed rem)
================================ */

@media (min-width: 993px) and (max-width: 1920px) {
  .container {
    max-width: 90.8%;
    padding-inline: min(2rem, 1.042vw);
  }

  .container.clients__inner {
    max-width: 100%;
    padding-inline: 0;
  }

  .about__badge {
    inset-inline-start: 2.97vw;
    inset-block-start: 33.44vw;
    font-size: min(1.8rem, 1.3vw);
  }

  .about__title,
  .services__title {
    font-size: 2.6vw;
    line-height: 3.13vw;
  }

  .gallery__title,
  .why-choose__title,
  .commitment__title,
  .testimonials__title {
    font-size: min(5rem, 2.6vw);
    line-height: min(6rem, 3.13vw);
  }

  .about {
    padding-block: min(8rem, 5.21vw);
  }

  .gallery,
  .why-choose,
  .commitment,
  .testimonials {
    padding-block: min(10rem, 5.21vw);
  }

  .gallery__inner {
    gap: min(8.5rem, 4.43vw);
  }

  .services__inner {
    gap: min(5.5rem, 4.43vw);
  }

  .services__stage {
    min-block-size: min(59.4rem, 30.94vw);
  }

  .services-swiper {
    max-inline-size: 75vw;
    margin-inline: auto;
  }

  .services-swiper,
  .services-swiper .swiper-wrapper {
    block-size: min(59.4rem, 30.94vw);
  }

  .services-swiper .services__slide {
    padding-block-start: 4.167vw;
    block-size: calc(max(32rem, 26.72vw) + 4.167vw);
  }

  .testimonials__inner {
    gap: min(4.5rem, 2.34vw);
  }

  .testimonials__header {
    gap: min(4.5rem, 2.34vw);
  }

  .testimonials__stage {
    position: relative;
    display: block;
  }

  .testimonials__nav-bar {
    position: absolute;
    inset-inline: 0;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
    pointer-events: none;
    margin-block-start: 0;
  }

  .testimonials-swiper {
    order: unset;
  }

  .testimonials__quote-block {
    padding-inline: min(10rem, 5.21vw);
  }

  .testimonials__nav {
    inline-size: min(8.4rem, 4.38vw);
    block-size: min(7rem, 3.65vw);
  }

  .testimonials__nav-icon {
    inline-size: min(7rem, 3.65vw);
    block-size: min(7rem, 3.65vw);
    font-size: min(2.2rem, 1.15vw);
  }

  .testimonials__nav--next .testimonials__nav-icon i {
    font-size: min(3.6rem, 1.88vw);
    transform: translateX(max(-2.5rem, -1.3vw));
  }

  .testimonials__nav--prev .testimonials__nav-icon i {
    font-size: min(3.6rem, 1.88vw);
    transform: translateX(max(2.5rem, 1.3vw));
  }

  .why-choose__inner {
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    gap: min(6.8rem, 5.625vw);
  }

  .why-choose__content {
    flex: 888 1 0;
    max-inline-size: min(88.8rem, 46.25vw);
    gap: min(4.5rem, 2.34vw);
  }

  .why-choose__intro {
    gap: min(6.5rem, 3.39vw);
  }

  .why-choose__title {
    width: 772px;
    font-size: min(5rem, 2.6vw);
    line-height: min(6rem, 3.13vw);
  }

  .why-choose__media {
    flex: 785 1 0;
    max-inline-size: min(78.5rem, 40.89vw);
    min-block-size: min(88.1rem, 45.89vw);
  }

  .why-choose__accordion {
    gap: min(2.7rem, 1.41vw);
  }

  .commitment__inner {
    gap: min(8rem, 4.17vw);
  }

  .commitment__header {
    flex-direction: row;
    align-items: flex-end;
    gap: min(3rem, 2.34vw);
  }

  .commitment__body {
    flex-direction: row;
    align-items: stretch;
    gap: min(4rem, 4.17vw);
  }

  .commitment__intro {
    gap: min(4.5rem, 2.34vw);
    max-inline-size: min(66rem, 35.38vw);
  }

  .commitment__cards {
    gap: min(2.7rem, 1.41vw) min(7.3rem, 3.8vw);
    max-inline-size: min(75.1rem, 39.11vw);
  }

  .commitment__card {
    min-block-size: min(33.7rem, 17.55vw);
    border-radius: min(2rem, 1.04vw);
  }

  .commitment__card-body {
    inset-inline: min(3.1rem, 1.61vw);
    inset-block-end: min(3.5rem, 1.82vw);
    gap: min(2.6rem, 1.35vw);
  }

  .commitment__card--active .commitment__card-body {
    inset-block-start: min(11.4rem, 5.94vw);
  }

  .commitment__card--active .commitment__card-text {
    max-block-size: max(12rem, 6.25vw);
  }

  .commitment__card-icon {
    inset-block-start: min(1.7rem, 0.89vw);
    inset-inline-end: min(3rem, 1.56vw);
    inline-size: clamp(5.2rem, 3.39vw, 6.5rem);
    block-size: clamp(5.2rem, 3.39vw, 6.5rem);
  }

  .commitment__card-title {
    font-size: min(2.5rem, 1.3vw);
    line-height: min(3rem, 1.56vw);
  }

  .commitment__card-text {
    font-size: min(1.8rem, 0.94vw);
    line-height: min(2.3rem, 1.2vw);
    transform: translateY(min(1rem, 0.52vw));
  }

  .commitment__feature {
    max-inline-size: min(84.8rem, 44.17vw);
    min-block-size: min(70.1rem, 36.51vw);
    border-radius: min(2rem, 1.04vw);
    padding: min(5.5rem, 2.86vw) min(8rem, 4.17vw) min(5.5rem, 2.86vw) min(10.3rem, 5.36vw);
  }

  .commitment__feature-content {
    gap: min(4.6rem, 2.4vw);
    max-inline-size: min(66.5rem, 34.64vw);
  }

  .commitment__feature-text {
    font-size: min(2.2rem, 1.15vw);
    line-height: min(3.2rem, 1.67vw);
  }

  .commitment__stat {
    font-size: min(10rem, 5.21vw);
    line-height: min(8rem, 4.17vw);
  }

  .stats {
    block-size: auto;
    min-block-size: min(75rem, 39.06vw);
  }

  .stats__inner {
    padding-block-start: min(5rem, 5.21vw);
    padding-block-end: 0;
    min-block-size: min(75rem, 39.06vw);
    align-items: flex-end;
  }

  .stats__grid {
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    justify-content: space-between;
    gap: min(6rem, 6.25vw);
    max-inline-size: 75vw;
    block-size: auto;
  }

  .stats__group {
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    gap: min(6rem, 6.25vw);
  }

  .stats__item--1 {
    block-size: min(43.3rem, 22.55vw);
    min-inline-size: min(25.8rem, 13.44vw);
  }

  .stats__item--2 {
    block-size: min(61.1rem, 31.82vw);
    inline-size: min(25.6rem, 13.33vw);
  }

  .stats__item--3 {
    block-size: min(32.8rem, 17.08vw);
    inline-size: min(30.4rem, 15.83vw);
  }

  .stats__item--4 {
    block-size: min(49.6rem, 25.83vw);
    inline-size: min(26.1rem, 13.59vw);
  }

  .stats__content {
    inset-inline-start: min(5.1rem, 2.66vw);
  }

  .stats__item--1 .stats__content {
    gap: min(4rem, 2.08vw);
  }

  .stats__item--2 .stats__content {
    min-inline-size: min(20.5rem, 10.68vw);
  }

  .stats__item--3 .stats__content {
    min-inline-size: min(25.3rem, 13.18vw);
  }

  .stats__item--4 .stats__content {
    min-inline-size: min(21rem, 10.94vw);
  }

  .stats__item--4 .stats__number {
    min-block-size: min(10rem, 5.21vw);
  }

  .stats__value {
    font-size: min(8rem, 4.17vw);
    line-height: min(13.3rem, 6.93vw);
  }

  .stats__suffix {
    font-size: min(5.16rem, 2.69vw);
    line-height: min(13.3rem, 6.93vw);
  }

  .stats__label {
    font-size: min(2.2rem, 1.15vw);
    line-height: min(3.2rem, 1.67vw);
  }

  .stats__marker {
    inset-block-start: min(3rem, 1.56vw);
    inline-size: min(2.1rem, 1.09vw);
  }

  .stats__marker-dot {
    inset-block-start: min(0.8rem, 0.42vw);
    inset-inline-start: min(0.8rem, 0.42vw);
    inline-size: min(0.5rem, 0.26vw);
    block-size: min(0.5rem, 0.26vw);
  }

  .stats__marker-line {
    inset-block-start: min(1.2rem, 0.63vw);
    inset-inline-start: min(1rem, 0.52vw);
  }

  .stats__marker-ring {
    inline-size: min(2.1rem, 1.09vw);
    block-size: min(2.1rem, 1.09vw);
  }

  .cta-banner__inner {
    padding-block: min(5.7rem, 2.97vw);
  }

  .cta-banner__title {
    font-size: min(8rem, 4.17vw);
    line-height: min(9.5rem, 4.95vw);
  }


























}

/* ===============================
   STATS — Mobile (overrides 1199 fluid)
================================ */

@media (max-width: 768px) {
  .stats {
    block-size: auto;
    min-block-size: 0;
  }

  .stats__inner {
    padding-block-start: 3rem;
    padding-block-end: 4rem;
    min-block-size: auto;
  }

  .stats__item--1,
  .stats__item--2,
  .stats__item--3,
  .stats__item--4 {
    block-size: auto;
    inline-size: 100%;
    min-inline-size: 0;
  }

  .stats__item--4 .stats__number {
    min-block-size: 0;
  }

  .stats__value,
  .stats__suffix {
    line-height: 1;
  }
}

@media (max-width: 576px) {
  .stats__inner {
    padding-block-start: 2.4rem;
    padding-block-end: 3.2rem;
  }
}

/* ===============================
   MOBILE — All sections (991px)
   rem spacing — single source of truth
================================ */

@media screen and (max-width: 991px) {
  :root {
    --type-section-title: 2.8rem;
    --type-section-title-lh: 3.2rem;
    --type-section-lead: 1.6rem;
    --type-section-lead-lh: 2.4rem;
    --type-hero-title: 3.6rem;
    --type-hero-title-lh: 4.2rem;
    --type-card-title: 2rem;
    --type-card-title-lh: 2.4rem;
    --type-body: 1.4rem;
    --type-cta-title: 3.2rem;
    --type-cta-title-lh: 3.8rem;
    --type-stat-value: 5.6rem;
    --type-stat-suffix: 3.6rem;
  }

  /* ---- Layout ---- */
  .container {
    max-width: 100%;
    padding-inline: 2rem;
  }

  .container.clients__inner {
    max-width: 100%;
    padding-inline: 0;
  }

  .about,
  .services,
  .gallery,
  .why-choose,
  .commitment,
  .testimonials,
  .stats,
  .cta-banner,
  .site-footer,
  .clients {
    overflow-x: clip;
  }

  /* ---- Shared typography ---- */
  .about__title,
  .services__title {
    font-size: 2.8rem;
    line-height: 3.2rem;
  }

  .gallery__title,
  .why-choose__title,
  .commitment__title,
  .testimonials__title {
    font-size: 3.2rem;
    line-height: 3.8rem;
  }

  .about__eyebrow,
  .services__eyebrow,
  .gallery__eyebrow,
  .why-choose__eyebrow,
  .commitment__eyebrow,
  .testimonials__eyebrow {
    border-radius: 5rem;
    padding-inline: 2rem;
    padding-block: 0.8rem;
    min-block-size: 3.2rem;
    font-size: 1.2rem;
    line-height: 2rem;
  }

  .btn--cta {
    min-block-size: 4rem;
  }

  .btn__text {
    font-size: 1.4rem;
    line-height: 2rem;
    padding-inline: 2rem;
    padding-block: 1.6rem;
    padding-inline-end: 5rem;
    white-space: normal;
    text-align: center;
  }

  .btn__icon {
    inline-size: 4rem;
    block-size: 4rem;
    margin-inline-start: -3.2rem;
    font-size: 2rem;
  }

  /* ---- Banner ---- */
  .banner,
  .banner-swiper,
  .banner-swiper .swiper-wrapper,
  .banner-swiper .swiper-slide,
  .banner__slide {
    min-block-size: 56rem;
    block-size: auto;
  }

  .banner__container {
    min-block-size: 52rem;
    padding-block-start: calc(var(--header-height, 5.6rem) + 2.4rem);
    padding-block-end: 8rem;
    align-items: flex-end;
  }

  .banner__content {
    gap: 2rem;
    max-inline-size: 100%;
    inline-size: 100%;
  }

  .banner__title {
    font-size: 3.6rem;
    line-height: 4.2rem;
    max-inline-size: 100%;
  }

  .banner__desc,
  .banner__desc p {
    font-size: 1.6rem;
    line-height: 2.4rem;
    max-inline-size: 100%;
  }

  .banner__bottom {
    inset-block-end: 2.4rem;
  }

  .banner__glow {
    inline-size: 22rem;
    opacity: 0.6;
    inset-block-end: 5rem;
  }

  .banner__nav {
    inline-size: 4.4rem;
    block-size: 4.4rem;
    font-size: 1.8rem;
  }

  /* ---- Clients ---- */
  .clients {
    padding-block: 3.2rem;
  }

  .clients__list {
    gap: 2.4rem;
  }

  .clients__track {
    gap: 2.4rem;
  }

  .clients__item {
    block-size: 3.6rem;
  }

  /* ---- About ---- */
  .about {
    padding-block: 6rem;
  }

  .about__inner {
    grid-template-columns: 1fr;
    gap: 4rem;
  }

  .about__content {
    gap: 3rem;
    max-inline-size: 100%;
  }

  .about__body {
    gap: 3rem;
  }

  .about__list {
    gap: 1.4rem;
    max-inline-size: 100%;
  }

  .about__list-item {
    gap: 1.2rem;
  }

  .about__list-text {
    font-size: 1.6rem;
    line-height: 2.4rem;
  }

  .about__text p {
    font-size: 1.6rem;
    line-height: 2.4rem;
  }

  .about__media {
    max-inline-size: 100%;
    min-block-size: 0;
  }

  /* ---- Services ---- */
  .services {
    padding-block: 6rem;
  }

  .services__inner {
    gap: 4rem;
  }

  .services__header {
    gap: 3rem;
    max-inline-size: 100%;
  }

  .services__slider-group {
    gap: 2.4rem;
  }

  .services__slider-block {
    inline-size: 100%;
    max-inline-size: 100%;
  }

  .services__stage,
  .services-swiper,
  .services-swiper .swiper-wrapper {
    min-block-size: 0;
    block-size: auto;
  }

  .services-swiper {
    max-inline-size: 100%;
    margin-inline: 0;
  }

  .services-swiper .swiper-wrapper {
    align-items: flex-start;
  }

  .services-swiper .services__slide {
    padding-block-start: 3.6rem;
    block-size: auto;
    width: auto;
    max-width: none;
  }

  .services__card {
    block-size: 28rem;
    border-radius: 1rem;
  }

  .services__card-body {
    padding-inline: 1.6rem;
    padding-block-end: 3.4rem;
    padding-block-start: 1rem;
  }

  .services__card:hover .services__card-body,
  .services__card:focus-within .services__card-body,
  .services__slide.swiper-slide-active .services__card-body {
    gap: 1.2rem;
    padding-block-end: 2.2rem;
  }

  .services__card-title {
    font-size: 2rem;
    line-height: 2.4rem;
  }

  .services__read-more {
    font-size: 1.4rem;
    line-height: 2rem;
  }

  .services__slide.swiper-slide-active .services__card {
    transform: translateY(-2.4rem);
  }

  .services__nav {
    inline-size: 5.2rem;
    block-size: 4.4rem;
  }

  .services__nav-icon {
    inline-size: 4.4rem;
    block-size: 4.4rem;
    font-size: 2.2rem;
  }

  /* ---- Gallery ---- */
  .gallery {
    padding-block: 6rem;
  }

  .gallery__inner {
    gap: 4rem;
  }

  .gallery__header {
    gap: 3rem;
  }

  .gallery__text {
    font-size: 1.6rem;
    line-height: 2.4rem;
    max-inline-size: 100%;
  }

  .gallery__grid {
    grid-template-columns: 1fr;
    gap: 2rem;
  }

  .gallery__col {
    gap: 2rem;
  }

  .gallery__item--t1,
  .gallery__item--t2,
  .gallery__item--t3,
  .gallery__item--t4,
  .gallery__item--t5 {
    block-size: auto;
    min-block-size: 24rem;
    aspect-ratio: 552 / 358;
  }

  .gallery__item--t3 {
    aspect-ratio: 552 / 766;
    min-block-size: 32rem;
  }

  /* ---- Why Choose ---- */
  .why-choose {
    padding-block: 6rem;
  }

  .why-choose__inner {
    flex-direction: column;
    gap: 4rem;
  }

  .why-choose__content {
    gap: 3rem;
  }

  .why-choose__intro {
    gap: 3rem;
  }

  .why-choose__item-title,
  .why-choose__item-text {
    font-size: 1.6rem;
    line-height: 2.4rem;
  }

  .why-choose__media {
    max-inline-size: 28rem;
    margin-inline: auto;
  }

  /* ---- Commitment ---- */
  .commitment {
    padding-block: 6rem;
  }

  .commitment__inner {
    gap: 4rem;
  }

  .commitment__header {
    flex-direction: column;
    align-items: flex-start;
    gap: 3rem;
  }

  .commitment__intro {
    gap: 3rem;
    max-inline-size: 100%;
  }

  .commitment__body {
    flex-direction: column;
    gap: 3rem;
  }

  .commitment__cards {
    grid-template-columns: 1fr;
    gap: 1.6rem;
    max-inline-size: 100%;
  }

  .commitment__card {
    display: grid;
    grid-template-columns: 1fr auto;
    grid-template-rows: auto auto;
    align-items: start;
    gap: 1.2rem 1.6rem;
    min-block-size: auto;
    padding: 2rem;
    overflow: visible;
  }

  .commitment__card-icon {
    position: static;
    grid-column: 2;
    grid-row: 1;
    align-self: start;
    flex-shrink: 0;
    inline-size: 6.5rem;
    block-size: 6.5rem;
  }

  .commitment__card-icon img {
    inline-size: 100%;
    block-size: 100%;
    object-fit: contain;
  }

  .commitment__card-body {
    position: static;
    inset: auto;
    grid-column: 1 / -1;
    grid-row: 1 / span 2;
    gap: 1.2rem;
    padding-inline-end: 7rem;
  }

  .commitment__card-title {
    font-size: 2rem;
    line-height: 2.4rem;
    color: var(--color-text-heading);
  }

  .commitment__card-text,
  .commitment__card--active .commitment__card-text,
  .commitment__card:hover .commitment__card-text,
  .commitment__card:focus-within .commitment__card-text {
    opacity: 1;
    max-block-size: none;
    overflow: visible;
    transform: none;
    font-size: 1.6rem;
    line-height: 2.4rem;
    color: var(--color-text-body);
  }

  .commitment__card--active {
    background-color: var(--color-accent);
  }

  .commitment__card--active .commitment__card-title,
  .commitment__card--active .commitment__card-text {
    color: var(--color-text-on-dark);
  }

  .commitment__card--active .commitment__card-icon {
    filter: brightness(0) invert(1);
  }

  .commitment__feature {
    max-inline-size: 100%;
    min-block-size: auto;
    padding: 3rem 2rem;
    border-radius: 2rem;
  }

  .commitment__feature-content {
    gap: 2.4rem;
    max-inline-size: 100%;
  }

  .commitment__feature-text {
    font-size: 1.6rem;
    line-height: 2.4rem;
  }

  .commitment__stat {
    font-size: 6rem;
    line-height: 5rem;
  }

  /* ---- Testimonials ---- */
  .testimonials {
    padding-block: 6rem;
  }

  .testimonials__inner {
    gap: 3rem;
  }

  .testimonials__header {
    gap: 3rem;
  }

  .testimonials__quote {
    font-size: 1.6rem;
    line-height: 2.4rem;
  }

  .testimonials__stage {
    display: flex;
    flex-direction: column;
    gap: 2.4rem;
  }

  .testimonials-swiper {
    order: 1;
    inline-size: 100%;
  }

  .testimonials__nav-bar {
    order: 2;
    position: static;
    transform: none;
    justify-content: space-between;
    gap: 2rem;
    margin-block-start: 1.6rem;
    pointer-events: auto;
    inline-size: 100%;
  }

  .testimonials__nav {
    inline-size: 6rem;
    block-size: 5rem;
  }

  .testimonials__nav-icon {
    inline-size: 5rem;
    block-size: 5rem;
    font-size: 1.8rem;
  }

  .testimonials__quote-block {
    padding-inline: 0;
  }

  /* ---- Stats ---- */
  .stats {
    block-size: auto;
    min-block-size: 0;
  }

  .stats__inner {
    padding-block-start: 5rem;
    padding-block-end: 4rem;
    min-block-size: auto;
    align-items: flex-start;
  }

  .stats__grid {
    flex-direction: column;
    align-items: stretch;
    row-gap: 4rem;
    max-inline-size: 100%;
    block-size: auto;
  }

  .stats__group {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2.4rem;
    align-items: stretch;
  }

  .stats__item,
  .stats__item--1,
  .stats__item--2,
  .stats__item--3,
  .stats__item--4 {
    inline-size: 100%;
    max-inline-size: none;
    min-inline-size: 0;
    min-block-size: 0;
    block-size: auto;
    margin-inline: 0;
  }

  .stats__number {
    min-block-size: 0;
  }

  .stats__marker {
    display: none;
  }

  .stats__content {
    position: static;
    inset: auto;
  }

  .stats__item--1 .stats__content,
  .stats__item--2 .stats__content,
  .stats__item--3 .stats__content,
  .stats__item--4 .stats__content {
    gap: 1.6rem;
  }

  .stats__value {
    font-size: 5.6rem;
    line-height: 1;
  }

  .stats__suffix {
    font-size: 3.6rem;
    line-height: 1;
  }

  .stats__label {
    font-size: 1.6rem;
    line-height: 2.4rem;
    white-space: normal;
  }

  /* ---- CTA ---- */
  .cta-banner {
    min-block-size: auto;
    block-size: auto;
  }

  .cta-banner__inner {
    padding-block: 5rem;
  }

  .cta-banner__content {
    gap: 3rem;
    max-inline-size: 100%;
  }

  .cta-banner__text {
    font-size: 1.6rem;
    line-height: 2.4rem;
  }

  /* ---- Footer ---- */














  /* ---- Back to top ---- */
  .back-to-top {
    inset-inline-end: 2rem;
    inset-block-end: 2rem;
    inline-size: 4.8rem;
    block-size: 4.8rem;
    font-size: 2.4rem;
  }
}

/* ===============================
   TABLET — 768px–991.98px
================================ */

@media (min-width: 768px) and (max-width: 991.98px) {
  .about__badge {
    font-size: 2rem;
    line-height: 2.4rem;
    padding-block-end: 1.6rem;
  }

  .services-swiper {
    max-inline-size: 100%;
    block-size: auto;
    min-block-size: 0;
  }

  .services__stage,
  .services-swiper,
  .services-swiper .swiper-wrapper {
    min-block-size: 0;
    block-size: auto;
  }

  .services-swiper .swiper-wrapper {
    align-items: flex-start;
  }

  .services-swiper .services__slide {
    padding-block-start: 3.6rem;
    width: auto;
    max-width: none;
    block-size: auto;
  }

  .services__card {
    block-size: 28rem;
  }

  .services__slide.swiper-slide-active .services__card {
    transform: translateY(-2.4rem);
  }

  .stats__grid {
    flex-direction: column;
    align-items: stretch;
    row-gap: 3rem;
    max-inline-size: 100%;
    block-size: auto;
  }

  .stats__group {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2.4rem;
    align-items: stretch;
  }

  .stats__item,
  .stats__item--1,
  .stats__item--2,
  .stats__item--3,
  .stats__item--4 {
    inline-size: 100%;
    max-inline-size: none;
    min-inline-size: 0;
    min-block-size: 0;
    block-size: auto;
    margin-inline: 0;
  }

  .stats__value {
    font-size: 5.6rem;
    line-height: 1;
  }

  .stats__suffix {
    font-size: 3.6rem;
    line-height: 1;
  }

  .stats__label {
    font-size: 1.6rem;
    line-height: 2.4rem;
  }

  .gallery__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2rem;
  }

  .gallery__col {
    display: contents;
  }

  .gallery__item--t1,
  .gallery__item--t2,
  .gallery__item--t4,
  .gallery__item--t5 {
    block-size: auto;
    min-block-size: 20rem;
    aspect-ratio: 552 / 358;
  }

  .gallery__item--t3 {
    grid-row: span 2;
    block-size: auto;
    min-block-size: 32rem;
    aspect-ratio: 552 / 766;
  }

  .commitment__cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.6rem 2rem;
    max-inline-size: 100%;
  }
}

/* ---- Mobile typography — ≤767 refinements ---- */
@media (max-width: 767px) {
  :root {
    --type-section-title: 2.4rem;
    --type-section-title-lh: 2.8rem;
    --type-cta-title: 2.8rem;
    --type-cta-title-lh: 3.4rem;
  }

  .cta-banner__title {
    font-size: 2.8rem;
    line-height: 3.4rem;
  }
}

@media (max-width: 576px) {
  .cta-banner__title {
    font-size: 2.4rem;
    line-height: 3rem;
  }
}

/* ===============================
   COMMON PAGE BANNER — Responsive
================================ */

@media (max-width: 991px) {
  .common-banner {
    min-block-size: max(28rem, 52vw);
    block-size: max(28rem, 52vw);
  }

  .common-banner__title {
    font-size: max(2.6rem, 5.5vw);
    line-height: 1.2;
  }
}

@media (max-width: 576px) {
  .common-banner {
    min-block-size: max(24rem, 58vw);
    block-size: max(24rem, 58vw);
  }

  .common-banner__title {
    font-size: 2.4rem;
    line-height: 1.2;
  }

  .error-404__inner {
    gap: 2rem;
    padding: 3rem 2rem;
  }
}

/* ===============================
   OUR STORY — Responsive
================================ */

@media (max-width: 1199px) {

  .our-story__content,
  .our-story__media {
    flex: 1 1 auto;
    max-inline-size: 100%;
  }

  .our-story__intro {
    max-inline-size: 100%;
  }

  .our-story__media {
    min-block-size: auto;
  }

  .our-story__outline {
    inline-size: min(72%, 30rem);
    inset-inline-end: 0;
  }
}

@media (max-width: 992px) {
  .our-story__inner {
    flex-direction: column;
    align-items: stretch;
  }
}

@media (max-width: 767px) {
  .our-story {
    padding-block: min(8rem, 10vw);
  }

  .our-story__copy {
    gap: max(3rem, 6vw);
  }

  .our-story__intro {
    gap: max(2.4rem, 5vw);
  }

  .our-story__title {
    font-size: max(2.6rem, 6vw);
    line-height: 1.2;
  }

  .our-story__text {
    font-size: 1.6rem;
    line-height: 1.6;
  }

  .our-story__figure {
    max-inline-size: 100%;
    aspect-ratio: 4 / 4.5;
  }
}

/* ===============================
   SERVICE BENEFITS — Responsive
================================ */

@media (max-width: 1199px) {

  .service-benefits__content,
  .service-benefits__media {
    flex: 1 1 auto;
    max-inline-size: 100%;
  }

  .service-benefits__intro {
    max-inline-size: 100%;
  }

  .service-benefits__media {
    min-block-size: auto;
    margin-block-start: 0;
  }

  .service-benefits__outline {
    inline-size: min(72%, 30rem);
    inset-inline-end: 0;
  }
}

@media (max-width: 992px) {
  .service-benefits__inner {
    flex-direction: column;
    align-items: stretch;
  }

  .service-benefits__figure {
    width: 100%;
    max-width: 100%;
  }

  .service-benefits__item-text {
    font-size: min(2.2rem, 1.84vw);
  }

  .service-benefits__check {

    position: relative;
    top: -4px;
  }

  .service-benefits__outline {
    display: none;
  }
}

@media (max-width: 767px) {
  .service-benefits {
    padding-block: min(8rem, 10vw);
  }

  .service-benefits__copy {
    gap: max(3rem, 6vw);
  }

  .service-benefits__intro {
    gap: max(2.4rem, 5vw);
  }

  .service-benefits__title {
    font-size: max(3rem, 7vw);
    line-height: 1.2;
  }

  .service-benefits__text,
  .service-benefits__item-text {
    font-size: 1.4rem;
    line-height: 1.4;
  }

  .service-benefits__figure {
    max-inline-size: 100%;
    aspect-ratio: 4 / 4.5;
  }

  .service-benefits__check {

    top: 2px;
  }
}

/* ===============================
   SERVICE INTRO — Responsive
================================ */

@media (max-width: 767px) {
  .service-intro {
    padding-block: min(8rem, 10vw);
  }

  .service-intro__inner {
    gap: max(3rem, 6vw);
  }

  .service-intro__header {
    gap: max(3rem, 6vw);
  }

  .service-intro__title {
    font-size: max(3rem, 7vw);
    line-height: 1.2;
  }

  .service-intro__text {
    font-size: 1.6rem;
    line-height: 1.6;
  }
}

/* ===============================
   SERVICE GALLERY — Responsive
================================ */

@media (max-width: 1199px) {

  .service-gallery__sizer,
  .service-gallery__item {
    inline-size: calc(50% - min(2rem, 1.56vw));
  }
}

@media (max-width: 767px) {
  .service-gallery {
    padding-block: min(8rem, 10vw);
  }

  .service-gallery__inner {
    gap: max(5rem, 8vw);
  }

  .service-gallery__header {
    gap: max(3rem, 6vw);
  }

  .service-gallery__title {
    font-size: max(3rem, 7vw);
    line-height: 1.2;
  }

  .service-gallery__text {
    font-size: 1.6rem;
    line-height: 1.6;
  }

  .service-gallery__sizer,
  .service-gallery__item {
    inline-size: 100%;
  }

  .service-gallery__item {
    margin-block-end: max(2rem, 4vw);
  }
}

/* ===============================
   CLIENTS INTRO — Responsive
================================ */

@media (max-width: 767px) {
  .clients-intro {
    padding-block: min(8rem, 10vw);
  }

  .clients-intro__inner {
    gap: max(3rem, 6vw);
  }

  .clients-intro__header {
    gap: max(2.4rem, 5vw);
  }

  .clients-intro__title {
    font-size: max(3rem, 7vw);
    line-height: 1.2;
  }

  .clients-intro__text {
    font-size: 1.6rem;
    line-height: 1.6;
  }
}

/* ===============================
   CLIENTS LOGOS GRID — Responsive
================================ */

@media (max-width: 1199px) {
  .clients-logos__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .clients-logos {
    padding-block: min(6rem, 10vw) min(8rem, 10vw);
  }

  .clients-logos__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: max(2rem, 4vw);
  }

  .clients-logos__item {
    min-block-size: max(10rem, 24vw);
    padding: max(1.6rem, 4vw);
  }

  .clients-logos__item img {
    max-block-size: max(5.6rem, 14vw);
  }
}

/* ===============================
   CONTACT PAGE — Responsive
================================ */

@media (max-width: 1199px) {
  .contact-page__form-panel {
    padding: max(3rem, 5vw);
  }

  .contact-form__row--half {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 992px) {
  .contact-page__inner {
    grid-template-columns: minmax(0, 1fr);
    gap: max(4rem, 5vw);
    max-inline-size: 100%;
  }
}

@media (max-width: 767px) {
  .contact-page {
    padding-block: min(8rem, 10vw);
  }

  .contact-page__inner {
    gap: max(3rem, 6vw);
  }

  .contact-page__title,
  .contact-page__form-title {
    font-size: max(3rem, 7vw);
    line-height: 1.2;
  }

  .contact-page__list {
    gap: max(3rem, 6vw);
    margin-block-start: max(3rem, 6vw);
  }

  .contact-page__label {
    font-size: 1.8rem;
    line-height: 1.4;
  }

  .contact-page__value {
    font-size: 1.6rem;
    line-height: 1.6;
  }

  .contact-form input.contact-form__submit,
  .contact-form button.contact-form__submit {
    inline-size: 100%;
    justify-content: center;
    padding-block: max(1rem, 1.3vw);
  }
}

/* ===============================
   OUR VALUES — Responsive
================================ */

@media (max-width: 1199px) {
  .our-values__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .our-values__header {
    max-inline-size: 100%;
  }
}

@media (max-width: 767px) {
  .our-values {
    padding-block: min(8rem, 10vw);
  }

  .our-values__inner {
    gap: max(5rem, 8vw);
  }

  .our-values__title {
    font-size: max(3rem, 7vw);
    line-height: 1.2;
  }

  .our-values__grid {
    grid-template-columns: 1fr;
    gap: max(2rem, 4vw);
  }

  .our-values__card {
    min-block-size: auto;
    grid-template-rows: auto 1fr;
    gap: max(4rem, 8vw);
    padding: max(2.4rem, 5vw);
  }

  .our-values__card-icon {
    inline-size: max(5.2rem, 12vw);
    block-size: max(5.2rem, 12vw);
  }

  .our-values__card-title {
    font-size: max(2rem, 5vw);
    line-height: 1.25;
    min-block-size: auto;
  }

  .our-values__card-text {
    font-size: 1.6rem;
    line-height: 1.6;
  }

  .btn__text {

    padding-inline-end: 3rem;
  }

  .btn__icon {
    inline-size: 3.5rem;
    block-size: 3.5rem;
    margin-inline-start: -2.2rem;
    font-size: 2rem;
  }

  .stats__bg picture,
  .stats__bg img {
    transform: none !important;
  }

  .site-footer__contact-item i {

    position: relative;
    top: 3px;
  }

  .mobile-menu__social-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    inline-size: 3.6rem;
    block-size: 3.6rem;
  }

  .common-banner__title {

    text-wrap: initial;

  }

  .services__nav--prev .services__nav-icon i {

    transform: translateX(max(0.5rem, 1.3vw));
  }

  .clients-logos__item .clients-logos__link {
    padding: min(3rem, 4.56vw);
  }
}

/* ===============================
   BACK TO TOP — Responsive
================================ */

@media (max-width: 768px) {
  .back-to-top {
    inset-inline-end: max(1.6rem, 4vw);
    inset-block-end: max(1.6rem, 4vw);
    inline-size: max(4.4rem, 11vw);
    block-size: max(4.4rem, 11vw);
    font-size: max(2rem, 5vw);
  }
}