    html {
      font-size: 16px;
    }

    body {
      font-family: 'Roboto', sans-serif;
      background-color: #ffffff;
      color: #202d4e;
      font-size: 1rem;
    }

    .section {
      padding: 2.5rem 0;
    }

    .bg-gray {
      background-color: #e1e5f1;
    }

    .btn-primary {
      background-color: #2b4ea5;
      border-color: #2b4ea5;
      color: #ffffff;
      font-size: 1rem;
      padding: 0.625rem 1.25rem;
    }

    .btn-primary:hover {
      background-color: #3661c9;
      border-color: #3661c9;
    }

    header {
      /* height: 7.5rem; */
      /* 120px */
      display: flex;
      align-items: center;
      padding: 20px 0;
    }

    .logo img {
      width: 8.75rem;
      /* 140px */
      height: 2.5rem;
      /* 40px */
      object-fit: contain;
    }

    .description {
      font-size: 1.25rem;
      /* 20px */
    }

    .contact-block .bi {
      margin-right: 0.5rem;
    }

    .contact-block div {
      font-size: 1rem;
      line-height: 1.4;
    }

    .contact-group {
      display: flex;
      gap: 1rem;
      flex-wrap: wrap;
      justify-content: flex-end;
    }

    .reviews-swiper .swiper-slide {
      max-width: 600px;
      margin: 0 auto;
    }

    .preview-gallery img {
      max-height: 180px;
      height: auto;
      width: auto;
      margin: 5px;
      cursor: zoom-in;
      transition: transform 0.3s ease;
    }

    .preview-gallery img.zoomed {
      position: fixed;
      top: 50%;
      left: 50%;
      z-index: 1050;
      transform: translate(-50%, -50%) scale(2);
      max-height: 90vh;
      max-width: 90vw;
      cursor: zoom-out;
      box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
      border-radius: 10px;
      background: #fff;
    }

    .faq-section .nav-link {
      color: #0d6efd;
      font-weight: 500;
      transition: color 0.2s;
    }

    .faq-section .nav-link:hover,
    .faq-section .nav-link.active {
      color: #003d80;
      text-decoration: underline;
    }

    .faq-section h3 {
      font-size: 1.5rem;
      font-weight: bold;
      margin-bottom: 1.25rem;
    }

    .faq-section .accordion-button {
      font-size: 1.05rem;
      font-weight: 500;
    }

    .faq-section {
      background: #f8f9fa;
    }

    @media (min-width: 992px) {
      .faq-sticky-form {
        position: sticky;
        top: 34px;
        z-index: 2;
      }
    }

    .work-step {
      position: relative;
      padding-bottom: 2rem;
    }

    @media (min-width: 992px) {
      .work-step:not(:last-child)::after {
        content: "\2192";
        /* стрелка → */
        font-size: 2rem;
        position: absolute;
        right: -1.5rem;
        top: 40%;
        transform: translateY(-50%);
        color: #2b4ea5;
      }
    }

    @media (min-width: 992px) {
      .bg-decor-left {
        position: absolute;
        left: 60px;
        bottom: -80px;
        z-index: 1;
        pointer-events: none;
        max-width: 400px;
      }

      .bg-decor-right {
        position: absolute;
        right: calc(-3% + -2%);
        ;
        bottom: 0;
        z-index: 1;
        pointer-events: none;
        max-width: 520px;
      }
    }