/* =============================================
   Automation / Technical Services Hero
   Desktop First
   ============================================= */

.ats-hero,
.ats-hero * {
  box-sizing: border-box;
}

.ats-hero {
  container-type: size;
  position: relative;
  width: 100%;
  min-height: 720px;
  overflow: hidden;
  color: #fff;
  background: #fff;
  --ats-image-overlay-color: rgba(0, 0, 0, 0.25);
  --ats-cta-color: #fff;
  --ats-brand-blue: var(--brand-blue, #008ab9);
  --ats-dark-blue: #0A4370;
  --ats-white: var(--white, #ffffff);
  --ats-right-images-bottom-offset: 72px;
  --ats-cta-width: auto;
  --ats-bg-y-offset: 50%;
}

/* =============================================
   White Panel
   Keeps Left Side Clean In Half Background Mode
   ============================================= */

.ats-hero__white-panel {
  display: none;
}

.ats-hero--half-bg .ats-hero__white-panel {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  z-index: 2;
  width: 50%;
  background: #fff;
  pointer-events: none;
}

/* =============================================
   Background Image + Overlay
   Overlay Is Trapped Inside Image Stage
   ============================================= */

.ats-hero__image-stage {
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 1;
  overflow: hidden;
  pointer-events: none;
}

.ats-hero--full-bg .ats-hero__image-stage {
  left: 0;
  width: 100%;
}

.ats-hero--half-bg .ats-hero__image-stage {
  right: 0;
  width: 50%;
}

.ats-hero__image {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center var(--ats-bg-y-offset, 50%);
}

.ats-hero__image-overlay {
  position: absolute;
  inset: 0;
  z-index: 2;
  background: var(--ats-image-overlay-color);
  pointer-events: none;
}

/* =============================================
   Vertically Balanced Rich Text
   ============================================= */

.ats-hero__content-wrap {
  position: absolute;
  top: 50%;
  right: auto;
  bottom: auto;
  left: 0;
  z-index: 5;
  display: flex;
  align-items: flex-start;
  gap: 34px;
  width: min(760px, 52vw);
  padding-left: 0;
  transform: translateY(calc(-50% + clamp(14px, 3.2vh, 34px)));
}

@supports (width: 1cqw) {
  .ats-hero__content-wrap {
    transform: translateY(calc(-50% + clamp(14px, 3.2cqh, 34px)));
  }
}

.ats-hero__blue-square {
  flex: 0 0 auto;
  width: 58px;
  height: 58px;
  margin-top: 8px;
  background: #008ab9;
}

.ats-hero__blue-square--desktop {
  display: block;
}

.ats-hero__blue-square--mobile {
  display: none;
}

.ats-hero__content-stack {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: 100%;
  max-width: 670px;
}

.ats-hero__text-row {
  display: block;
  width: 100%;
}

.ats-hero__text-column {
  width: 100%;
}

.ats-hero__content {
  width: 100%;
  max-width: 670px;
  color: #fff;
}

.ats-hero--half-bg .ats-hero__content {
  color: #0A4370;
}

.ats-hero__content > *:first-child {
  margin-top: 0;
}

.ats-hero__content > *:last-child {
  margin-bottom: 0;
}

.ats-hero__content h1,
.ats-hero__content h2,
.ats-hero__content h3 {
  font-family: 'Korolev Black', 'Korolev', Arial, sans-serif;
}

.ats-hero__content h1 {
  font-size: clamp(52px, 4.4vw, 82px);
  line-height: 0.95;
}

.ats-hero__content h2 {
  font-size: clamp(42px, 3.6vw, 68px);
  line-height: 1;
}

.ats-hero__content h3 {
  font-size: clamp(30px, 2.4vw, 44px);
  line-height: 1.05;
}

.ats-hero__content h4,
.ats-hero__content h5,
.ats-hero__content h6 {
  margin: 0 0 14px;
  color: inherit;
  font-size: clamp(22px, 1.7vw, 32px);
  line-height: 1.15;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.ats-hero__content p {
  margin: 0 0 10px;
  color: inherit;
  font-size: clamp(14px, 0.9vw, 17px);
  line-height: 1.35;
}

.ats-hero__content a {
  color: inherit;
}

.ats-hero__content strong,
.ats-hero__content b {
  font-weight: 700;
}

.ats-hero__content em,
.ats-hero__content i {
  font-style: italic;
}

.ats-hero__content ul,
.ats-hero__content ol {
  margin-top: 0;
  margin-bottom: 14px;
  padding-left: 1.4em;
}

.ats-hero__content li {
  margin-bottom: 6px;
}

/* =============================================
   CTA Under Rich Text
   Stable Button Size / Rich Text CTA / Custom Width
   CTA Text Wraps Normally
   ============================================= */

.ats-hero__cta-container {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  margin-top: clamp(12px, min(2vw, 1.7vh), 16px);
}

.ats-hero__cta-button,
.ats-hero__cta-button:visited,
.ats-hero__cta-button:hover,
.ats-hero__cta-button:focus,
.ats-hero__cta-button:active {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: var(--ats-cta-width, auto);
  max-width: 100%;
  min-height: clamp(42px, min(6.2vw, 5.2vh), 50px);
  padding:
    clamp(5px, min(1.05vw, 0.9vh), 8px)
    clamp(12px, min(2.2vw, 1.8vh), 18px);
  border: 2px solid transparent;
  border-radius: var(--cta-radius, 10px);
  text-align: center;
  text-decoration: none !important;
  white-space: normal;
  overflow-wrap: normal;
  word-break: normal;
  transform: none !important;
  transition:
    color 180ms ease,
    border-color 180ms ease,
    background-color 180ms ease,
    box-shadow 180ms ease;

  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: geometricPrecision;
}

.ats-hero__cta-text {
  display: block;
  width: 100%;
  max-width: 100%;
  color: inherit;
  font-family: 'Korolev', Arial, sans-serif;
  font-size: clamp(18px, 1.25vw, 24px);
  font-style: normal;
  font-weight: 900;
  line-height: 1.05;
  letter-spacing: 0.02em;
  text-align: center;
  white-space: normal;
  overflow-wrap: normal;
  word-break: normal;
}

.ats-hero__cta-text > *:first-child {
  margin-top: 0;
}

.ats-hero__cta-text > *:last-child {
  margin-bottom: 0;
}

.ats-hero__cta-text p,
.ats-hero__cta-text div {
  display: block;
  margin: 0;
  color: inherit;
  font-size: inherit;
  line-height: inherit;
  text-align: center;
  white-space: normal;
  overflow-wrap: normal;
  word-break: normal;
}

.ats-hero__cta-text br {
  display: block;
}

.ats-hero__cta-text strong,
.ats-hero__cta-text b {
  font-weight: 900;
}

.ats-hero__cta-text em,
.ats-hero__cta-text i {
  font-style: italic;
}

.ats-hero__cta-text u {
  text-decoration: underline;
}

.ats-hero__cta-text span {
  font-size: inherit;
  line-height: inherit;
}

.ats-hero__cta-text a {
  color: inherit;
  font-size: inherit;
  text-decoration: inherit;
}

.ats-hero__cta-text h1,
.ats-hero__cta-text h2,
.ats-hero__cta-text h3,
.ats-hero__cta-text h4,
.ats-hero__cta-text h5,
.ats-hero__cta-text h6 {
  margin: 0;
  color: inherit;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  font-weight: inherit;
  letter-spacing: inherit;
}

/* Better dynamic scaling when container units are supported */
@supports (width: 1cqw) {
  .ats-hero__cta-button,
  .ats-hero__cta-button:visited,
  .ats-hero__cta-button:hover,
  .ats-hero__cta-button:focus,
  .ats-hero__cta-button:active {
    min-height: clamp(42px, min(6.8cqw, 5.2cqh), 50px);
    padding:
      clamp(5px, min(1.25cqw, 0.95cqh), 8px)
      clamp(12px, min(2.5cqw, 1.9cqh), 18px);
  }

  .ats-hero__cta-text {
    font-size: clamp(18px, 1.45cqw, 24px);
  }
}

/* Default / White Outline */
.ats-hero--cta-theme-white_outline .ats-hero__cta-button,
.ats-hero--cta-theme-white_outline .ats-hero__cta-button:visited {
  color: var(--ats-white) !important;
  background: transparent !important;
  border-color: var(--ats-white) !important;
}

.ats-hero--cta-theme-white_outline .ats-hero__cta-button:hover,
.ats-hero--cta-theme-white_outline .ats-hero__cta-button:focus {
  color: var(--ats-dark-blue) !important;
  background: var(--ats-white) !important;
  border-color: var(--ats-white) !important;
}

/* Blue Filled */
.ats-hero--cta-theme-blue_filled .ats-hero__cta-button,
.ats-hero--cta-theme-blue_filled .ats-hero__cta-button:visited {
  color: var(--ats-white) !important;
  background: var(--ats-brand-blue) !important;
  border-color: var(--ats-brand-blue) !important;
}

.ats-hero--cta-theme-blue_filled .ats-hero__cta-button:hover,
.ats-hero--cta-theme-blue_filled .ats-hero__cta-button:focus {
  color: var(--ats-white) !important;
  background: var(--ats-dark-blue) !important;
  border-color: var(--ats-dark-blue) !important;
}

/* Blue Outline */
.ats-hero--cta-theme-blue_outline .ats-hero__cta-button,
.ats-hero--cta-theme-blue_outline .ats-hero__cta-button:visited {
  color: var(--ats-brand-blue) !important;
  background: transparent !important;
  border-color: var(--ats-brand-blue) !important;
}

.ats-hero--cta-theme-blue_outline .ats-hero__cta-button:hover,
.ats-hero--cta-theme-blue_outline .ats-hero__cta-button:focus {
  color: var(--ats-white) !important;
  background: var(--ats-brand-blue) !important;
  border-color: var(--ats-brand-blue) !important;
}

/* Big White */
.ats-hero--cta-theme-big_white .ats-hero__cta-button,
.ats-hero--cta-theme-big_white .ats-hero__cta-button:visited {
  color: var(--ats-brand-blue) !important;
  background: var(--ats-white) !important;
  border-color: var(--ats-white) !important;
}

.ats-hero--cta-theme-big_white .ats-hero__cta-text {
  font-size: clamp(20px, 1.55vw, 28px);
}

@supports (width: 1cqw) {
  .ats-hero--cta-theme-big_white .ats-hero__cta-text {
    font-size: clamp(20px, 1.7cqw, 28px);
  }
}

.ats-hero--cta-theme-big_white .ats-hero__cta-button:hover,
.ats-hero--cta-theme-big_white .ats-hero__cta-button:focus {
  color: var(--ats-white) !important;
  background: var(--ats-brand-blue) !important;
  border-color: var(--ats-brand-blue) !important;
}

/* Half background fallback for default theme only */
.ats-hero--half-bg.ats-hero--cta-theme-white_outline .ats-hero__cta-button,
.ats-hero--half-bg.ats-hero--cta-theme-white_outline .ats-hero__cta-button:visited {
  color: var(--ats-dark-blue) !important;
  background: transparent !important;
  border-color: var(--ats-dark-blue) !important;
}

.ats-hero--half-bg.ats-hero--cta-theme-white_outline .ats-hero__cta-button:hover,
.ats-hero--half-bg.ats-hero--cta-theme-white_outline .ats-hero__cta-button:focus {
  color: var(--ats-white) !important;
  background: var(--ats-dark-blue) !important;
  border-color: var(--ats-dark-blue) !important;
}

.ats-hero__cta-button:hover {
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.16);
}

.ats-hero__cta-button:focus {
  outline: 2px solid currentColor;
  outline-offset: 3px;
}

.ats-hero__cta-button:active {
  box-shadow: 0 3px 9px rgba(0, 0, 0, 0.14);
}

/* =============================================
   Desktop Right Repeater Images
   Bottom Aligns To CTA Bottom On Desktop
   ============================================= */

.ats-hero__right-images {
  position: absolute;
  right: 60px;
  bottom: var(--ats-right-images-bottom-offset, 72px);
  z-index: 6;
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
  gap: 34px;
  max-width: 48vw;
}

.ats-hero__right-image-item {
  flex: 0 0 auto;
  width: clamp(92px, 7.5vw, 140px);
}

.ats-hero__right-image-item img {
  display: block;
  width: 100%;
  height: auto;
  max-width: 100%;
}

.ats-hero__mobile-images {
  display: none;
}

/* =============================================
   Entrance Animation
   Triggered When Module Hits Viewport Center
   Faster Service Icon Reveal
   ============================================= */

.ats-hero--animate-ready .ats-hero__blue-square,
.ats-hero--animate-ready .ats-hero__content,
.ats-hero--animate-ready .ats-hero__cta-container {
  opacity: 0;
  transform: translateX(-165px);
  filter: blur(7px);
  will-change: opacity, transform, filter;
}

.ats-hero--animate-ready .ats-hero__blue-square {
  transition:
    opacity 1500ms ease,
    transform 1900ms cubic-bezier(0.16, 1, 0.3, 1),
    filter 1500ms ease;
  transition-delay: 0ms;
}

.ats-hero--animate-ready .ats-hero__content {
  transition:
    opacity 1500ms ease,
    transform 1900ms cubic-bezier(0.16, 1, 0.3, 1),
    filter 1500ms ease;
  transition-delay: 320ms;
}

.ats-hero--animate-ready .ats-hero__cta-container {
  transition:
    opacity 1500ms ease,
    transform 1900ms cubic-bezier(0.16, 1, 0.3, 1),
    filter 1500ms ease;
  transition-delay: 640ms;
}

/* Faster one-by-one service icon fade */
.ats-hero--animate-ready .ats-hero__right-image-item,
.ats-hero--animate-ready .ats-hero__mobile-image-item {
  opacity: 0;
  transform: translateY(22px) scale(0.88);
  filter: blur(6px);
  transition:
    opacity 850ms ease,
    transform 1050ms cubic-bezier(0.16, 1, 0.3, 1),
    filter 850ms ease;
  transition-delay: calc(260ms + var(--ats-logo-delay, 0ms));
  will-change: opacity, transform, filter;
}

.ats-hero--is-visible .ats-hero__blue-square,
.ats-hero--is-visible .ats-hero__content,
.ats-hero--is-visible .ats-hero__cta-container {
  opacity: 1;
  transform: translateX(0);
  filter: blur(0);
}

.ats-hero--is-visible .ats-hero__right-image-item,
.ats-hero--is-visible .ats-hero__mobile-image-item {
  opacity: 1;
  transform: translateY(0) scale(1);
  filter: blur(0);
}

@media (prefers-reduced-motion: reduce) {
  .ats-hero--animate-ready .ats-hero__blue-square,
  .ats-hero--animate-ready .ats-hero__content,
  .ats-hero--animate-ready .ats-hero__cta-container,
  .ats-hero--animate-ready .ats-hero__right-image-item,
  .ats-hero--animate-ready .ats-hero__mobile-image-item {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    transition: none !important;
  }
}

/* =============================================
   Tablet + Phone Layout
   Image Full Background, Content Centered Over Image
   ============================================= */

@media (max-width: 1024px) {
  .ats-hero,
  .ats-hero.ats-hero--full-bg,
  .ats-hero.ats-hero--half-bg {
    min-height: clamp(560px, 82vw, 760px);
    overflow: hidden;
    color: #fff;
    background: #000;
  }

  .ats-hero__white-panel,
  .ats-hero--half-bg .ats-hero__white-panel {
    display: none !important;
  }

  .ats-hero__image-stage,
  .ats-hero--full-bg .ats-hero__image-stage,
  .ats-hero--half-bg .ats-hero__image-stage {
    position: absolute;
    inset: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    pointer-events: none;
  }

  .ats-hero__image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center var(--ats-bg-y-offset, 50%);
  }

  .ats-hero__image-overlay {
    background:
      linear-gradient(
        to top,
        rgba(0, 0, 0, 0.78) 0%,
        rgba(0, 0, 0, 0.62) 30%,
        rgba(0, 0, 0, 0.34) 62%,
        rgba(0, 0, 0, 0.12) 100%
      ),
      var(--ats-image-overlay-color);
  }

  .ats-hero__content-wrap {
    position: absolute;
    top: 50%;
    right: 0;
    bottom: auto;
    left: 0;
    z-index: 5;
    display: block;
    width: 100%;
    max-width: none;
    padding: 0 32px;
    background: transparent !important;
    transform: translateY(calc(-50% + clamp(18px, 4.2vh, 42px)));
  }

  @supports (width: 1cqw) {
    .ats-hero__content-wrap {
      transform: translateY(calc(-50% + clamp(18px, 4.2cqh, 42px)));
    }
  }

  .ats-hero__content-stack {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    max-width: 720px;
    margin: 0 auto;
  }

  .ats-hero__blue-square--desktop {
    display: none;
  }

  .ats-hero__blue-square--mobile {
    display: block;
    flex: 0 0 auto;
    width: 42px;
    height: 42px;
    margin-top: 4px;
  }

  .ats-hero__text-row {
    display: flex;
    align-items: flex-start;
    gap: 24px;
    width: 100%;
  }

  .ats-hero__text-column {
    width: 100%;
    min-width: 0;
  }

  .ats-hero__content,
  .ats-hero--half-bg .ats-hero__content,
  .ats-hero--full-bg .ats-hero__content {
    width: 100%;
    max-width: 720px;
    color: #fff;
    text-shadow: 0 2px 14px rgba(0, 0, 0, 0.45);
  }

  .ats-hero__content p {
    font-size: clamp(15px, 1.8vw, 18px);
  }

  .ats-hero__cta-button,
  .ats-hero__cta-button:visited,
  .ats-hero__cta-button:hover,
  .ats-hero__cta-button:focus,
  .ats-hero__cta-button:active {
    max-width: min(82vw, 330px);
    min-height: clamp(36px, 5.2vw, 44px);
    padding:
      clamp(4px, 0.7vw, 6px)
      clamp(9px, 1.75vw, 14px);
  }

  .ats-hero__cta-text,
  .ats-hero__cta-text * {
    font-size: clamp(16px, 2.05vw, 20px) !important;
    line-height: 1.05 !important;
    text-align: center !important;
  }

  @supports (width: 1cqw) {
    .ats-hero__cta-button,
    .ats-hero__cta-button:visited,
    .ats-hero__cta-button:hover,
    .ats-hero__cta-button:focus,
    .ats-hero__cta-button:active {
      max-width: min(82cqw, 330px);
      min-height: clamp(36px, 5.2cqw, 44px);
      padding:
        clamp(4px, 0.7cqw, 6px)
        clamp(9px, 1.75cqw, 14px);
    }

    .ats-hero__cta-text,
    .ats-hero__cta-text * {
      font-size: clamp(16px, 2.05cqw, 20px) !important;
      line-height: 1.05 !important;
      text-align: center !important;
    }
  }

  .ats-hero--cta-theme-big_white .ats-hero__cta-text,
  .ats-hero--cta-theme-big_white .ats-hero__cta-text * {
    font-size: clamp(17px, 2.3vw, 22px) !important;
  }

  @supports (width: 1cqw) {
    .ats-hero--cta-theme-big_white .ats-hero__cta-text,
    .ats-hero--cta-theme-big_white .ats-hero__cta-text * {
      font-size: clamp(17px, 2.3cqw, 22px) !important;
    }
  }

  .ats-hero__right-images {
    display: none;
  }

  .ats-hero__mobile-images {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    gap: 22px;
    width: calc(100% - 66px);
    margin: 0 0 28px 66px;
    text-align: left;
  }

  .ats-hero__mobile-image-item {
    flex: 0 0 auto;
    width: clamp(86px, 15vw, 132px);
    line-height: 0;
    filter: drop-shadow(0 3px 10px rgba(0, 0, 0, 0.45));
  }

  .ats-hero__mobile-image-item img {
    display: block;
    width: 100%;
    height: auto;
    max-width: 100%;
    margin: 0;
  }

  .ats-hero__content h1 {
    font-size: clamp(42px, 7vw, 68px);
  }

  .ats-hero__content h2 {
    font-size: clamp(36px, 5.8vw, 58px);
  }

  .ats-hero__content h3 {
    font-size: clamp(26px, 3.8vw, 40px);
  }

  .ats-hero__content h4,
  .ats-hero__content h5,
  .ats-hero__content h6 {
    font-size: clamp(20px, 2.8vw, 30px);
  }

  .ats-hero--half-bg.ats-hero--cta-theme-white_outline .ats-hero__cta-button,
  .ats-hero--half-bg.ats-hero--cta-theme-white_outline .ats-hero__cta-button:visited {
    color: var(--ats-white) !important;
    background: transparent !important;
    border-color: var(--ats-white) !important;
  }

  .ats-hero--half-bg.ats-hero--cta-theme-white_outline .ats-hero__cta-button:hover,
  .ats-hero--half-bg.ats-hero--cta-theme-white_outline .ats-hero__cta-button:focus {
    color: var(--ats-dark-blue) !important;
    background: var(--ats-white) !important;
    border-color: var(--ats-white) !important;
  }
}

/* =============================================
   Phone Refinement
   ============================================= */

@media (max-width: 767px) {
  .ats-hero,
  .ats-hero.ats-hero--full-bg,
  .ats-hero.ats-hero--half-bg {
    min-height: clamp(560px, 128vw, 740px);
  }

  .ats-hero__content-wrap {
    padding: 0 20px;
    transform: translateY(calc(-50% + clamp(20px, 5vh, 44px)));
  }

  @supports (width: 1cqw) {
    .ats-hero__content-wrap {
      transform: translateY(calc(-50% + clamp(20px, 5cqh, 44px)));
    }
  }

  .ats-hero__content-stack {
    max-width: none;
    align-items: center;
  }

  .ats-hero__text-row {
    gap: 16px;
  }

  .ats-hero__blue-square--mobile {
    width: 28px;
    height: 28px;
    margin-top: 6px;
  }

  .ats-hero__mobile-images {
    justify-content: flex-start;
    gap: 16px;
    width: calc(100% - 44px);
    margin: 0 0 24px 44px;
    text-align: left;
  }

  .ats-hero__mobile-image-item {
    width: clamp(72px, 22vw, 106px);
  }

  .ats-hero__content h1 {
    font-size: clamp(34px, 10vw, 52px);
    line-height: 0.98;
  }

  .ats-hero__content h2 {
    font-size: clamp(30px, 8vw, 44px);
    line-height: 1;
  }

  .ats-hero__content h3 {
    font-size: clamp(24px, 6vw, 34px);
    line-height: 1.05;
  }

  .ats-hero__content h4,
  .ats-hero__content h5,
  .ats-hero__content h6 {
    font-size: clamp(18px, 4.6vw, 26px);
  }

  .ats-hero__content p {
    font-size: clamp(15px, 4vw, 17px);
    line-height: 1.4;
  }

  .ats-hero__cta-container {
    margin-top: clamp(8px, min(2.2vw, 1.5vh), 12px);
  }

  .ats-hero__cta-button,
  .ats-hero__cta-button:visited,
  .ats-hero__cta-button:hover,
  .ats-hero__cta-button:focus,
  .ats-hero__cta-button:active {
    width: var(--ats-cta-width, auto);
    max-width: min(82vw, 280px);
    min-height: clamp(34px, 8.2vw, 40px);
    padding:
      clamp(3px, 0.9vw, 5px)
      clamp(7px, 1.85vw, 10px);
  }

  .ats-hero__cta-text,
  .ats-hero__cta-text * {
    font-size: clamp(14px, 3.75vw, 17px) !important;
    line-height: 1.05 !important;
    text-align: center !important;
  }

  @supports (width: 1cqw) {
    .ats-hero__cta-button,
    .ats-hero__cta-button:visited,
    .ats-hero__cta-button:hover,
    .ats-hero__cta-button:focus,
    .ats-hero__cta-button:active {
      max-width: min(82cqw, 280px);
      min-height: clamp(34px, 8.2cqw, 40px);
      padding:
        clamp(3px, 0.9cqw, 5px)
        clamp(7px, 1.85cqw, 10px);
    }

    .ats-hero__cta-text,
    .ats-hero__cta-text * {
      font-size: clamp(14px, 3.75cqw, 17px) !important;
      line-height: 1.05 !important;
      text-align: center !important;
    }
  }

  .ats-hero--cta-theme-big_white .ats-hero__cta-text,
  .ats-hero--cta-theme-big_white .ats-hero__cta-text * {
    font-size: clamp(15px, 4vw, 18px) !important;
  }

  @supports (width: 1cqw) {
    .ats-hero--cta-theme-big_white .ats-hero__cta-text,
    .ats-hero--cta-theme-big_white .ats-hero__cta-text * {
      font-size: clamp(15px, 4cqw, 18px) !important;
    }
  }
}