/*
 * STEP2FIT WEBFLOW MASTER
 * Muuta asiakkaan brändi ensisijaisesti tästä tiedostosta.
 * Webflow-pohjan rakenne ja alkuperäiset komponenttityylit ovat webflow-theme.css-tiedostossa.
 */

:root {
  --brand-color-background: #ffffff;
  --brand-color-text: #0c0802;
  --brand-color-surface: #f2f2f2;
  --brand-color-border: rgba(12, 8, 2, 0.15);
  --brand-color-accent: #9e2020;
  --brand-color-on-accent: #ffffff;

  /* Yhteiset kenttien ja toissijaisten painikkeiden värit. */
  --brand-control-background: color-mix(in srgb, var(--brand-color-text) 5%, transparent);
  --brand-control-text: var(--brand-color-text);
  --brand-control-border: var(--brand-color-border);
  --brand-control-hover-background: color-mix(in srgb, var(--brand-color-text) 15%, transparent);
  --brand-control-hover-border: var(--brand-color-accent);
  --brand-control-placeholder: color-mix(in srgb, var(--brand-color-text) 68%, transparent);
  --brand-control-focus-color: var(--brand-color-accent);
  --brand-control-error-color: var(--brand-color-accent);
  --brand-control-selected-color: var(--brand-button-primary-background);
  --brand-control-disabled-opacity: 0.65;
  --brand-control-radius: var(--brand-radius-small);
  --brand-round-control-radius: 999px;

  --brand-button-primary-background: var(--brand-color-accent);
  --brand-button-primary-text: var(--brand-color-on-accent);
  --brand-button-primary-hover-background: var(--brand-button-primary-background);
  --brand-button-primary-hover-text: var(--brand-button-primary-text);
  --brand-button-inverse-background: var(--brand-color-text);
  --brand-button-inverse-text: var(--brand-color-background);
  --brand-button-inverse-hover-background: var(--brand-button-inverse-background);
  --brand-button-inverse-hover-text: var(--brand-button-inverse-text);
  --brand-button-link-text: var(--brand-color-text);

  --brand-form-heading-dark: var(--brand-color-text);
  --brand-form-muted-dark: color-mix(in srgb, var(--brand-color-text) 68%, transparent);
  --brand-form-heading-light: #ffffff;
  --brand-form-muted-light: rgba(255, 255, 255, 0.68);
  --brand-form-light-control-background: rgba(0, 0, 0, 0.75);
  --brand-form-light-control-text: var(--brand-form-heading-light);
  --brand-form-light-control-border: rgba(255, 255, 255, 0.35);
  --brand-form-light-control-hover-background: rgba(0, 0, 0, 0.8);
  --brand-form-light-control-placeholder: var(--brand-form-muted-light);
  --brand-form-light-control-focus-color: #ffffff;
  --brand-form-light-control-error-color: #ffffff;
  --brand-form-light-control-selected-color: var(--brand-form-light-control-focus-color);
  --brand-form-success-background: #166534;
  --brand-form-success-text: #ffffff;
  --brand-form-error-background: #9e2020;
  --brand-form-error-text: #ffffff;

  /* Font families and loading are generated from data/fonts.json into each head. */

  --brand-radius-small: 16px;
  --brand-radius-medium: 16px;
  --brand-radius-large: 16px;
  --brand-carousel-duration: 30s;
  --brand-coach-video-aspect-ratio: 16 / 9;
  --brand-coach-video-max-width: 60rem;

  --brand-header-background: var(--brand-color-background);
  --brand-header-background-opacity: 0.62;
  --brand-header-border: var(--brand-color-border);
  --brand-header-text: var(--brand-color-text);
  --brand-header-blur: 12px;

  /* Vaihda none esimerkiksi muotoon url("../images/hero.jpg"). */
  --brand-image-lead-form: none;
  --brand-image-final-cta: none;
  --brand-image-team-hero: none;

  /* Webflow-pohjan käyttämät muuttujat kytketään brändiarvoihin. */
  --site-color-background: var(--brand-color-background);
  --site-color-text: var(--brand-color-text);
  --site-color-surface: var(--brand-color-surface);
  --site-color-border: var(--brand-color-border);
  --site-color-accent: var(--brand-color-accent);
  --site-color-on-accent: var(--brand-color-on-accent);
  --_typography---font-styles--body: var(--brand-font-body);
  --_typography---font-styles--heading: var(--brand-font-heading);
  --_ui-styles---radius--small: var(--brand-radius-small);
  --_ui-styles---radius--medium: var(--brand-radius-medium);
  --_ui-styles---radius--large: var(--brand-radius-large);
}

/* Keep the Master card width and centre the single supplied coaching package. */
@media screen and (min-width: 768px) {
  [data-section="programs"] .pricing11_grid-list > .pricing11_plan:only-child {
    grid-column: 1 / -1;
    width: calc((100% - 2rem) / 2);
    justify-self: center;
  }
}

* {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Match the approved serif heading style without changing the type scale. */
h1, h2, h3, h4, h5, h6,
.heading-style-h1, .heading-style-h2, .heading-style-h3,
.heading-style-h4, .heading-style-h5, .heading-style-h6 {
  font-weight: 500;
}

a,
.w-input,
.w-select,
.w-tab-link,
.w-nav-link,
.w-nav-brand,
.w-dropdown-btn,
.w-dropdown-toggle,
.w-slider-arrow-left,
.w-slider-arrow-right,
.w-dropdown-link {
  color: inherit;
  font-size: inherit;
  text-decoration: inherit;
}

*:focus-visible,
input[type="file"]:focus-visible {
  outline: 0.125rem solid var(--brand-control-focus-color);
  outline-offset: 0.125rem;
}

/* Keep exported sizes and motion; brand every ordinary button variant alike. */
:is(.button, .button-6, .button-7),
:is(.button, .button-6, .button-7):is(.is-secondary, .is-link),
.button.button-2,
[data-carousel] .carousel-arrow {
  --_button-background: var(--brand-button-primary-background);
  --_button-text: var(--brand-button-primary-text);
  --_button-hover-background: var(--brand-button-primary-hover-background);
  --_button-hover-text: var(--brand-button-primary-hover-text);
  --_button-border: var(--brand-button-primary-background);
  --_button-hover-border: var(--brand-button-primary-hover-background);
  --_button-shadow: inset 0 -2px 1px 0 #0003, inset 0 32px 24px 0 #ffffff0d,
    inset 0 1px 1px 1px #ffffff40, inset 0 0 0 1px var(--brand-control-border),
    0 1px 2px 0 color-mix(in srgb, var(--brand-color-text) 5%, transparent);
  --_button-hover-shadow: inset 0 -2px 1px 0 #0003, inset 0 32px 24px 0 #ffffff0d,
    inset 0 1px 1px 1px #ffffff40, inset 0 0 0 1px var(--brand-control-border),
    0 2px 4px 0 color-mix(in srgb, var(--brand-color-text) 10%, transparent);
  background-color: var(--_button-background);
  border-color: var(--_button-border);
  border-radius: var(--brand-control-radius);
  color: var(--_button-text);
  box-shadow: var(--_button-shadow);
}

:is(.button, .button-6, .button-7).is-secondary {
  --_button-background: var(--brand-control-background);
  --_button-text: var(--brand-control-text);
  --_button-hover-background: var(--brand-control-background);
  --_button-hover-text: var(--brand-control-text);
  --_button-border: var(--brand-control-border);
  --_button-hover-border: var(--brand-control-border);
}

.button.button-2 {
  --_button-background: var(--brand-button-inverse-background);
  --_button-text: var(--brand-button-inverse-text);
  --_button-hover-background: var(--brand-button-inverse-hover-background);
  --_button-hover-text: var(--brand-button-inverse-hover-text);
  --_button-border: var(--brand-button-inverse-background);
  --_button-hover-border: var(--brand-button-inverse-hover-background);
}

:is(.button, .button-6, .button-7).is-link {
  --_button-background: transparent;
  --_button-text: var(--brand-button-link-text);
  --_button-hover-background: transparent;
  --_button-hover-text: var(--brand-button-link-text);
  --_button-border: transparent;
  --_button-hover-border: transparent;
  --_button-shadow: none;
  --_button-hover-shadow: none;
}

:is(.button, .button-6, .button-7):is(:hover, :active):not(:disabled):not([aria-disabled="true"]) {
  background-color: var(--_button-hover-background);
  border-color: var(--_button-hover-border);
  color: var(--_button-hover-text);
  box-shadow: var(--_button-hover-shadow);
}

:is(.button, .button-6, .button-7):focus-visible {
  outline: 2px solid var(--brand-control-focus-color);
  outline-offset: 4px;
}

:is(.button, .button-6, .button-7):is(:disabled, [aria-disabled="true"]),
:is(.button, .button-6, .button-7):is(:disabled, [aria-disabled="true"]):is(:hover, :active) {
  background-color: var(--_button-background);
  border-color: var(--_button-border);
  color: var(--_button-text);
  box-shadow: var(--_button-shadow);
  opacity: var(--brand-control-disabled-opacity);
  cursor: not-allowed;
  transform: none;
}

.button.button-2:is(:disabled, [aria-disabled="true"]):is(:hover, :active) {
  background-color: var(--_button-background);
  border-color: var(--_button-border);
  color: var(--_button-text);
  box-shadow: var(--_button-shadow);
  transform: none;
}

.w-richtext > :not(div):first-child,
.w-richtext > div:first-child > :first-child {
  margin-top: 0 !important;
}

/* Approved champagne background for the app and FAQ sections. */
[data-section="app"],
[data-section="faq"] {
  background-color: #FAF5E8;
}

/* FAQ buttons retain the exported card layout and native keyboard activation. */
[data-section="faq"] .faq11_accordion:has(.faq11_question[aria-expanded="true"]) {
  border-color: var(--brand-color-accent);
}

[data-section="faq"] .faq11_heading {
  margin: 0;
  font: inherit;
}

[data-section="faq"] button.faq11_question {
  appearance: none;
  width: 100%;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: left;
}

[data-section="faq"] .faq11_question:focus-visible {
  outline: 2px solid var(--brand-control-focus-color);
  outline-offset: -4px;
}

[data-section="faq"] .faq11_icon-wrapper {
  flex-shrink: 0;
  transition: transform 200ms ease;
}

[data-section="faq"] [aria-expanded="true"] .faq11_icon-wrapper {
  transform: rotate(45deg);
}

[data-section="faq"] .faq11_answer[hidden] {
  display: none;
}

@media (prefers-reduced-motion: reduce) {
  [data-section="faq"] .faq11_icon-wrapper {
    transition: none;
  }
}

.w-richtext > :last-child,
.w-richtext ol li:last-child,
.w-richtext ul li:last-child {
  margin-bottom: 0 !important;
}

.navbar14_container {
  background-color: transparent;
  border: 1px solid var(--brand-header-border);
  border-radius: var(--brand-radius-medium);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.14);
  color: var(--brand-header-text);
  -webkit-backdrop-filter: blur(var(--brand-header-blur));
  backdrop-filter: blur(var(--brand-header-blur));
  isolation: isolate;
  position: relative;
}

.navbar14_container::before {
  content: "";
  background-color: var(--brand-header-background);
  border-radius: inherit;
  opacity: var(--brand-header-background-opacity);
  pointer-events: none;
  position: absolute;
  inset: 0;
  z-index: -1;
}

.navbar14_link.w--current {
  color: currentColor;
}

.menu-icon2_line-top,
.menu-icon2_line-middle,
.menu-icon2_line-bottom {
  background-color: currentColor;
}

@media screen and (max-width: 1279px) {
  .navbar14_menu-link-wrapper {
    background-color: transparent;
    border-color: var(--brand-header-border);
    color: var(--brand-header-text);
    -webkit-backdrop-filter: blur(var(--brand-header-blur));
    backdrop-filter: blur(var(--brand-header-blur));
    isolation: isolate;
    position: relative;
  }

  .navbar14_menu-link-wrapper::before {
    content: "";
    background-color: var(--brand-header-background);
    border-radius: inherit;
    opacity: var(--brand-header-background-opacity);
    pointer-events: none;
    position: absolute;
    inset: 0;
    z-index: -1;
  }
}

.brand-wordmark {
  color: currentColor;
  font-family: var(--brand-font-heading);
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.12em;
}

.brand-wordmark:has(> img) {
  display: block;
  line-height: 0;
  letter-spacing: normal;
}

.brand-wordmark > img {
  display: block;
}

.navbar14_logo-link .brand-wordmark > img {
  /* #171717: 23 of 255 in each RGB channel, preserving the logo's alpha. */
  filter: brightness(0) invert(calc(23 / 255));
}

.footer4_logo-link .brand-wordmark > img {
  filter: brightness(0) invert(1);
}

.section_multi-form11 {
  --form-heading-color: var(--brand-form-heading-dark);
  --form-muted-color: var(--brand-form-muted-dark);
  background-image: var(--brand-image-lead-form);
}

.section_multi-form11[data-form-text-theme="light"] {
  --form-heading-color: var(--brand-form-heading-light);
  --form-muted-color: var(--brand-form-muted-light);
  --brand-control-background: var(--brand-form-light-control-background);
  --brand-control-text: var(--brand-form-light-control-text);
  --brand-control-border: var(--brand-form-light-control-border);
  --brand-control-hover-background: var(--brand-form-light-control-hover-background);
  --brand-control-hover-border: var(--brand-form-light-control-focus-color);
  --brand-control-placeholder: var(--brand-form-light-control-placeholder);
  --brand-control-focus-color: var(--brand-form-light-control-focus-color);
  --brand-control-error-color: var(--brand-form-light-control-error-color);
  --brand-control-selected-color: var(--brand-form-light-control-selected-color);
  --brand-button-link-text: var(--brand-form-light-control-text);
}

/* Client photos fill the hero behind the centered form without an outer panel. */
.section_multi-form11.has-hero-photo {
  isolation: isolate;
  /* Keep the wide decorative scrim inside the section with classic scrollbars.
     clip preserves normal page scrolling without creating a nested scroller. */
  overflow-x: clip;
  background-color: var(--brand-color-text);
}

.has-hero-photo .lead-form_photo {
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  z-index: -1;
}

.has-hero-photo .lead-form_photo::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgb(0 0 0 / .48), rgb(0 0 0 / .56) 35%, rgb(0 0 0 / .56));
}

.has-hero-photo .hero-marquee_text {
  color: #fff;
  text-shadow: 0 2px 20px rgb(0 0 0 / .3);
}

.has-hero-photo .multi-form11_component > .max-width-medium {
  --form-heading-color: var(--brand-form-heading-light);
  --form-muted-color: var(--brand-form-heading-light);
  --brand-control-background: var(--brand-color-surface);
  --brand-control-hover-background: color-mix(in srgb, var(--brand-color-text) 10%, var(--brand-color-surface));
  align-self: center;
  width: min(48%, 40rem);
  max-width: 40rem;
  padding: clamp(1.5rem, 2.5vw, 2.5rem);
  border-radius: var(--brand-radius-large);
  color: var(--brand-form-heading-light);
}

@media screen and (max-width: 991px) {
  .has-hero-photo .multi-form11_component > .max-width-medium {
    align-self: center;
    width: 100%;
    margin-top: clamp(21rem, 60vw, 26rem);
    padding: clamp(1.25rem, 4vw, 2rem);
  }
}

@media screen and (max-width: 767px) {
  .has-hero-photo .multi-form11_component > .max-width-medium {
    margin-top: clamp(12rem, 40vw, 18rem);
  }
}

/* The supplied photo fills the final invitation behind centered content. */
html[data-brand-gradient="accent"] [data-section="final-cta"].has-cta-photo {
  background-color: var(--brand-color-text);
  color: #fff;
}

.has-cta-photo .cta27_photo {
  --cta-parallax-travel: 5rem;
  position: absolute;
  inset: 0;
  overflow: hidden;
}

.has-cta-photo[data-cta-parallax] .cta27_photo .master-content-image {
  top: calc(-1 * var(--cta-parallax-travel));
  height: calc(100% + 2 * var(--cta-parallax-travel));
  transform: translate3d(0, var(--cta-parallax-offset, 0px), 0);
}

html[data-brand-gradient="accent"] .has-cta-photo .cta27_background-image-wrapper {
  background-image: none;
}

html[data-brand-gradient="accent"] .has-cta-photo .cta27_background-image-wrapper > .image-overlay-layer {
  background: rgb(0 0 0 / .6);
}

.has-cta-photo .cta27_component {
  min-height: 36rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

.has-cta-photo .cta27_component > .text-align-center {
  width: 100%;
  text-align: center;
}

.has-cta-photo .button-group {
  justify-content: center;
}

@media screen and (max-width: 767px) {
  .has-cta-photo .cta27_photo { --cta-parallax-travel: 2.5rem; }

  html[data-brand-gradient="accent"] .has-cta-photo .cta27_background-image-wrapper > .image-overlay-layer {
    background: rgb(0 0 0 / .7);
  }

  .has-cta-photo .cta27_component { min-height: 31rem; }
}

@media (prefers-reduced-motion: reduce) {
  .has-cta-photo[data-cta-parallax] .cta27_photo .master-content-image {
    top: 0;
    height: 100%;
    transform: none;
  }
}

/* The original H1 is the only content source; script adds hidden visual repeats. */
.hero-marquee {
  width: 100%;
  max-width: 48rem;
  align-self: center;
  text-align: center;
}

.hero-marquee_text {
  margin: 0;
  font-family: var(--brand-font-heading);
}

/* The head sets w-mod-js before the body can paint. Layout must not wait for
   the body scripts; only the measured, repeated animation needs readiness. */
@media (prefers-reduced-motion: no-preference) {
  .w-mod-js .hero-marquee {
    width: var(--hero-marquee-width, 100vw);
    max-width: none;
  }

  .w-mod-js .hero-marquee_viewport {
    /* Keep serif descenders visible while clipping the moving line sideways. */
    overflow-x: clip;
    overflow-y: visible;
  }

  .w-mod-js .hero-marquee_track {
    display: flex;
    gap: 0;
    width: max-content;
  }

  .w-mod-js .hero-marquee_text {
    flex: 0 0 auto;
    white-space: nowrap;
    hyphens: none;
  }

  .w-mod-js .hero-marquee_text::after {
    content: "\00a0";
  }

  .hero-marquee[data-marquee-ready] .hero-marquee_track {
    animation: hero-marquee-scroll var(--hero-marquee-duration) linear infinite;
  }
}

@keyframes hero-marquee-scroll {
  from { transform: translateX(0); }
  to { transform: translateX(calc(-1 * var(--hero-marquee-distance))); }
}

@media (prefers-reduced-motion: reduce) {
  .hero-marquee[data-marquee-ready] {
    width: 100%;
    max-width: 48rem;
  }

  .hero-marquee[data-marquee-ready] .hero-marquee_track {
    display: block;
    width: auto;
    animation: none;
    transform: none;
  }

  .hero-marquee[data-marquee-ready] .hero-marquee_text {
    white-space: normal;
    hyphens: manual;
  }

  .hero-marquee [data-marquee-copy] {
    display: none;
  }
}

[data-section="benefits"] .heading-style-h4 {
  font-family: var(--brand-font-heading);
  hyphens: manual;
}

@media screen and (min-width: 480px) {
  [data-client-content="benefits-heading"] {
    hyphens: none;
  }
}

[data-section="coach"] p + p,
[data-section="benefits"] p + p {
  margin-top: 1em;
}

/* Benefits closing: approved two-column layout with a separate signature. */
.benefits-closing {
  margin-top: clamp(5rem, 8vw, 8rem);
  padding-top: clamp(2rem, 4vw, 4rem);
  background-color: transparent;
  text-align: left;
}

.benefits-closing_layout {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
  column-gap: clamp(2.5rem, 5vw, 5rem);
  align-items: start;
}

.benefits-closing_heading {
  min-width: 0;
  font-size: clamp(2rem, 3.6vw, 3.5rem);
  line-height: 1.15;
}

.benefits-closing_heading > span {
  display: block;
}

.benefits-closing_copy {
  position: relative;
  min-width: 0;
  padding-left: clamp(1.5rem, 3vw, 3rem);
}

.benefits-closing_copy::before {
  content: "";
  position: absolute;
  top: 0.25rem;
  bottom: 0.25rem;
  left: 0;
  width: 2px;
  background-color: var(--brand-color-accent);
  background-image: var(--brand-gradient-accent);
}

.benefits-closing_signature {
  margin-top: clamp(3rem, 5vw, 5rem);
  font-family: var(--brand-font-heading);
  font-size: clamp(1.5rem, 3vw, 2.5rem);
  font-weight: 400;
  line-height: 1.4;
  text-align: center;
  text-wrap: balance;
}

@media screen and (max-width: 767px) {
  .benefits-closing_layout {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 2rem;
  }
}
/* Approved floating photo arrangement below the closing copy. */
.benefits-closing_photos {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: clamp(1.25rem, 5vw, 5rem);
  margin-top: clamp(2.5rem, 5vw, 4.5rem);
  padding: 1rem 0 clamp(3rem, 5vw, 5rem);
}

.benefits-closing_photo {
  flex: 0 0 auto;
  width: min(22vw, 17rem);
  aspect-ratio: 3 / 4;
  overflow: hidden;
  border: 2px solid #ffffff;
  border-radius: var(--brand-radius-large);
  background-color: var(--brand-color-surface);
  box-shadow: 0 1.25rem 2.5rem rgba(23, 23, 23, 0.17);
  transform: translateY(-0.25rem) rotate(-6deg);
}

.benefits-closing_photo:nth-child(2) {
  transform: translateY(2rem) rotate(-1deg);
}

.benefits-closing_photo:nth-child(3) {
  transform: translateY(0.5rem) rotate(6deg);
}

@media screen and (max-width: 767px) {
  .benefits-closing_photos {
    gap: 1.125rem;
    margin-top: 2rem;
    padding-bottom: 3rem;
  }

  .benefits-closing_photo {
    width: min(41%, 11.5rem);
    transform: rotate(-5deg);
  }

  .benefits-closing_photo:nth-child(2) {
    transform: translateY(1.25rem) rotate(5deg);
  }

  .benefits-closing_photo:nth-child(3) {
    display: none;
  }
}
/* End benefits closing layout. */

@media screen and (min-width: 992px) and (max-width: 1279px) {
  [data-section="benefits"] .heading-style-h4 {
    font-size: clamp(1.75rem, 3vw, 2.5rem);
  }
}

.section_multi-form11 .heading-style-h4 {
  color: var(--form-heading-color);
}

.section_multi-form11 :is(.form_message-success-wrapper, .form_message-error-wrapper) {
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}

.section_multi-form11 .form_message-success-wrapper {
  background: var(--brand-form-success-background);
  color: var(--brand-form-success-text);
  border-radius: var(--brand-radius-medium);
  padding: clamp(1.5rem, 4vw, 2.5rem);
  text-align: center;
}

.section_multi-form11 .form_message-success {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  justify-content: normal;
  gap: 0.75rem;
  padding: 0;
  color: inherit;
}

.section_multi-form11 .form_success-heading {
  margin: 0;
  color: inherit;
  font-size: clamp(1.5rem, 3vw, 2rem);
  line-height: 1.2;
  font-weight: 500;
}

.section_multi-form11 .form_success-intro {
  margin: 0;
  color: inherit;
  font-size: 1.125rem;
  line-height: 1.5;
}

.form_input,
.radio3_field {
  background-color: var(--brand-control-background);
  border-color: var(--brand-control-border);
  border-radius: var(--brand-control-radius);
  color: var(--brand-control-text);
}

.form_input::placeholder {
  color: var(--brand-control-placeholder);
  opacity: 1;
}

.form_input:hover:not(:disabled, [aria-disabled="true"], [readonly]),
.radio3_field:hover:not(:has(input:disabled)) {
  background-color: var(--brand-control-hover-background);
  border-color: var(--brand-control-hover-border);
}

.form_input:focus,
.form_input:focus:hover,
.radio3_field:focus-within:not(:has(input:disabled)),
.radio3_button.w--redirected-focus {
  border-color: var(--brand-control-focus-color);
}

.form_input:focus-visible,
.radio3_field:has(input:focus-visible) {
  outline: 2px solid var(--brand-control-focus-color);
  outline-offset: 4px;
}

.section_multi-form11 :is(input, textarea).form_input:focus-visible {
  outline: 0;
}

.form_input.w-input:is(:disabled, [readonly]),
.form_input.w-select:is(:disabled, [readonly]),
.form_input[aria-disabled="true"],
.form_input[aria-disabled="true"]:is(:hover, :focus),
fieldset:disabled .form_input,
.radio3_field:has(input:disabled) {
  background-color: var(--brand-control-background);
  border-color: var(--brand-control-border);
  color: var(--brand-control-text);
}

.form_input:is(:disabled, [aria-disabled="true"]),
.radio3_field:has(input:disabled) {
  cursor: not-allowed;
  opacity: var(--brand-control-disabled-opacity);
}

.form_input[readonly] {
  cursor: text;
}

.radio3_button {
  background-color: var(--brand-control-background);
  border-color: var(--brand-control-text);
  border-radius: var(--brand-round-control-radius);
}

.section_multi-form11 .radio3_field:has(input[type="radio"]:checked),
.section_multi-form11 .radio3_button.w--redirected-checked {
  border-color: var(--brand-control-selected-color);
}

.section_multi-form11 .radio3_button.w--redirected-checked {
  border: 2px solid var(--brand-control-selected-color);
  background-color: var(--brand-control-background);
  background-image: none;
}

.section_multi-form11 .radio3_button.w--redirected-checked::after {
  content: "";
  width: 0.3rem;
  height: 0.55rem;
  border: solid var(--brand-control-selected-color);
  border-width: 0 0.125rem 0.125rem 0;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -58%) rotate(45deg);
}

.section_multi-form11 .radio3_field:has(input:disabled):not(:has(input:checked)) {
  border-color: var(--brand-control-border);
}

.section_multi-form11 .form_message-error-wrapper {
  background: var(--brand-form-error-background);
  color: var(--brand-form-error-text);
  border-color: var(--brand-form-error-background);
  border-radius: var(--brand-radius-medium);
}

.section_multi-form11 .form_message-error {
  color: inherit;
}

/* Content images fill the existing wrapper without changing its reserved size. */
[data-content-image-slot] {
  position: relative;
}

[data-content-image-slot="app-preview"] {
  border: var(--_ui-styles---stroke--border-width) solid var(--site-color-border);
  background-color: var(--brand-color-accent);
  background-image: var(--brand-gradient-accent);
}

.master-content-image {
  display: block;
  height: 100%;
  inset: 0;
  object-fit: cover;
  object-position: 50% 50%;
  position: absolute;
  width: 100%;
}

.cta27_background-image-wrapper {
  background-image: var(--brand-image-final-cta);
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: cover;
}

[data-image-slot="team-hero-background"] {
  background-image: var(--brand-image-team-hero);
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: cover;
}

[data-section="team-hero"] {
  align-items: center;
  display: flex;
  isolation: isolate;
  min-height: 32rem;
  overflow: hidden;
  position: relative;
}

[data-section="team-hero"] > .padding-global {
  position: relative;
  width: 100%;
  z-index: 2;
}

[data-section="team-hero"] .heading-style-h1 {
  color: var(--brand-color-on-accent);
}

[data-section="team-hero"] .header69_background-image-wrapper {
  height: 100%;
  overflow: hidden;
  pointer-events: none;
  z-index: 0;
}

[data-section="team"] {
  background-color: var(--brand-color-background);
  isolation: isolate;
  position: relative;
  z-index: 1;
}

[data-section="coach-greeting"] {
  background-color: var(--brand-color-background);
}

[data-section="coach-greeting"] .layout166_component.center {
  align-items: center;
  display: flex;
  flex-direction: column;
}

[data-section="coach-greeting"] .coach-greeting-heading {
  margin-bottom: clamp(2rem, 4vw, 3.5rem);
}

[data-section="coach-greeting"] .layout166_lightbox {
  align-items: center;
  aspect-ratio: var(--brand-coach-video-aspect-ratio);
  background-color: var(--brand-color-surface);
  border: 1px solid var(--brand-color-border);
  border-radius: var(--brand-radius-large);
  box-shadow: 0 1rem 2.5rem rgba(12, 8, 2, 0.12);
  cursor: pointer;
  display: flex;
  justify-content: center;
  max-width: var(--brand-coach-video-max-width);
  overflow: hidden;
  position: relative;
  width: 100%;
}

[data-section="coach-greeting"] .layout166_lightbox-image {
  display: block;
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
  transition: transform 250ms ease;
  width: 100%;
}

[data-section="coach-greeting"] .lightbox-play-icon {
  align-items: center;
  background-color: var(--brand-button-primary-background);
  border-radius: var(--brand-round-control-radius);
  box-shadow: 0 0.5rem 1.5rem rgba(12, 8, 2, 0.24);
  color: var(--brand-button-primary-text);
  display: flex;
  height: 4rem;
  justify-content: center;
  pointer-events: none;
  position: absolute;
  transition: transform 180ms ease;
  width: 4rem;
  z-index: 2;
}

[data-section="coach-greeting"] .lightbox-play-icon svg {
  height: 2.5rem;
  width: 2.5rem;
}

[data-section="coach-greeting"] .video-overlay-layer {
  background-color: rgba(0, 0, 0, 0.24);
  inset: 0;
  pointer-events: none;
  position: absolute;
  transition: background-color 180ms ease;
  z-index: 1;
}

[data-section="coach-greeting"] .layout166_lightbox:hover .layout166_lightbox-image,
[data-section="coach-greeting"] .layout166_lightbox:focus-visible .layout166_lightbox-image {
  transform: scale(1.015);
}

[data-section="coach-greeting"] .layout166_lightbox:hover .lightbox-play-icon,
[data-section="coach-greeting"] .layout166_lightbox:focus-visible .lightbox-play-icon {
  transform: scale(1.06);
}

[data-section="coach-greeting"] .layout166_lightbox:hover .video-overlay-layer,
[data-section="coach-greeting"] .layout166_lightbox:focus-visible .video-overlay-layer {
  background-color: rgba(0, 0, 0, 0.34);
}

/* Greeting video failures stay inside the existing Webflow dialog. */
.w-lightbox-backdrop[data-video-load-state="error"] .w-lightbox-spinner {
  display: none;
}

.w-lightbox-backdrop .master-video-error {
  background: var(--brand-color-background);
  border: 1px solid var(--brand-color-border);
  border-radius: var(--brand-radius-large);
  color: var(--brand-color-text);
  left: 50%;
  line-height: 1.5;
  max-height: calc(100dvh - 6rem);
  max-width: 30rem;
  overflow-y: auto;
  padding: clamp(1.5rem, 4vw, 2.25rem);
  position: absolute;
  text-align: center;
  top: 50%;
  transform: translate(-50%, -50%);
  width: calc(100% - 3rem);
  z-index: 2;
}

.w-lightbox-backdrop .master-video-error-title {
  color: inherit;
  font-size: clamp(1.5rem, 4vw, 2rem);
  line-height: 1.2;
  margin: 0 0 1rem;
}

.w-lightbox-backdrop .master-video-error p {
  margin: 0 0 1.5rem;
}

.w-lightbox-backdrop .master-video-retry {
  background: var(--brand-button-primary-background);
  border: 1px solid var(--brand-button-primary-background);
  border-radius: var(--brand-control-radius);
  color: var(--brand-button-primary-text);
  cursor: pointer;
  font: inherit;
  min-height: 2.75rem;
  padding: 0.75rem 1.25rem;
}

.w-lightbox-backdrop .master-video-retry:is(:hover, :active):not(:disabled):not([aria-disabled="true"]) {
  background-color: var(--brand-button-primary-hover-background);
  border-color: var(--brand-button-primary-hover-background);
  color: var(--brand-button-primary-hover-text);
}

.w-lightbox-backdrop .master-video-retry:focus-visible {
  outline: 2px solid var(--brand-control-focus-color);
  outline-offset: 4px;
}

.w-lightbox-backdrop .master-video-retry:is(:disabled, [aria-disabled="true"]) {
  cursor: wait;
  opacity: var(--brand-control-disabled-opacity);
}

/* Both carousels remain manually scrollable until their controls are ready. */
[data-carousel] .testimonial21_component {
  animation: none;
  width: 100%;
  min-width: 0;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  transform: none;
}

[data-carousel] .testimonial21_loop-trigger {
  flex: 0 0 auto;
}

[data-carousel] .testimonial21_loop-trigger:not(:first-child) {
  display: none;
}

[data-carousel]:not([data-carousel-ready="true"]) .testimonial21_card {
  width: min(25rem, calc(100vw - 2.5rem));
  min-width: min(25rem, calc(100vw - 2.5rem));
}

[data-carousel][data-carousel-mode="auto"] .testimonial21_component {
  animation: step2fit-testimonial21-loop var(--brand-carousel-duration) linear infinite;
  flex: none;
  min-width: max-content;
  width: max-content;
  overflow: visible;
  will-change: transform;
}

[data-carousel][data-carousel-mode="auto"] .testimonial21_loop-trigger {
  display: flex;
}

[data-carousel][data-carousel-paused="true"] .testimonial21_component {
  animation-play-state: paused;
}

@keyframes step2fit-testimonial21-loop {
  from { transform: translate3d(0, 0, 0); }
  to { transform: translate3d(-50%, 0, 0); }
}

[data-carousel] .carousel-controls,
[data-carousel] .carousel-manual-controls {
  display: none;
}

[data-carousel][data-carousel-ready="true"][data-carousel-mode="manual"] .carousel-controls {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 1.5rem auto 0;
  width: calc(100% - 2.5rem);
  max-width: var(--carousel-manual-max-width, 25rem);
}

[data-carousel] .carousel-arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 3rem;
  border: 1px solid var(--brand-button-primary-background);
  border-radius: var(--brand-round-control-radius);
  background: var(--brand-button-primary-background);
  color: var(--brand-button-primary-text);
  font: inherit;
  font-weight: 600;
  cursor: pointer;
  transition: transform .2s, box-shadow .2s, background-color .2s;
}

[data-carousel] .carousel-arrow {
  flex: 0 0 3rem;
  width: 3rem;
  padding: 0;
}

[data-carousel] .carousel-arrow:is(:hover, :active):not(:disabled):not([aria-disabled="true"]) {
  background-color: var(--brand-button-primary-hover-background);
  border-color: var(--brand-button-primary-hover-background);
  color: var(--brand-button-primary-hover-text);
  box-shadow: var(--_button-hover-shadow);
}

[data-carousel] .carousel-arrow:hover:not(:disabled):not([aria-disabled="true"]) {
  transform: translate(0, -2px);
}

[data-carousel] .carousel-arrow:is(:disabled, [aria-disabled="true"]) {
  cursor: not-allowed;
  opacity: var(--brand-control-disabled-opacity);
  box-shadow: none;
  transform: none;
}

[data-carousel] .carousel-arrow:focus-visible {
  outline: 2px solid var(--brand-control-focus-color);
  outline-offset: 4px;
}

[data-carousel] .carousel-controls svg {
  width: 1.25rem;
  height: 1.25rem;
}

[data-carousel] .carousel-status {
  color: var(--site-color-text);
  font-size: .875rem;
  font-weight: 600;
}

[data-carousel][data-carousel-mode="manual"] .carousel-manual-controls {
  display: flex;
  width: 100%;
  justify-content: space-between;
  align-items: center;
}

[data-carousel][data-carousel-mode="manual"] .testimonial21_component,
[data-carousel][data-carousel-mode="static"] .testimonial21_component {
  display: block;
  margin-inline: auto;
  max-width: var(--carousel-manual-max-width, 25rem);
  overflow: hidden;
  overflow: clip;
  width: calc(100% - 2.5rem);
  overflow-anchor: none;
}

[data-carousel][data-carousel-mode="manual"] .testimonial21_component[data-carousel-height-ready] {
  transition: height 350ms ease;
}

[data-carousel][data-carousel-mode="manual"] .testimonial21_loop-trigger:first-child,
[data-carousel][data-carousel-mode="static"] .testimonial21_loop-trigger:first-child {
  display: flex;
  align-items: flex-start;
  width: 100%;
  transform: translate3d(var(--carousel-offset, 0%), 0, 0);
  transition: transform 350ms ease;
}

[data-carousel][data-carousel-mode="manual"] .testimonial21_card,
[data-carousel][data-carousel-mode="static"] .testimonial21_card {
  flex: 0 0 100%;
  margin-right: 0;
  min-width: 100%;
  width: 100%;
}

@media (min-width: 768px) {
  [data-section="testimonials"][data-carousel] {
    --carousel-manual-max-width: 36rem;
  }
}

/* Member names keep their text styling while providing real section headings. */
.section_team12 .team12_name {
  margin: 0;
  font-family: inherit;
  letter-spacing: inherit;
  line-height: inherit;
}

.section_team12 .team12_social {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.875rem;
  justify-content: center;
}

.section_team12 .social-link {
  align-items: center;
  color: inherit;
  display: inline-flex;
  flex: 0 0 1.5rem;
  height: 1.5rem;
  justify-content: center;
  line-height: 0;
  overflow: hidden;
  width: 1.5rem;
}

.section_team12 .social-icon {
  display: block;
  flex: 0 0 1.5rem;
  height: 1.5rem;
  line-height: 0;
  width: 1.5rem;
}

.section_team12 .social-link svg {
  color: inherit;
  display: block;
  height: 1.5rem !important;
  max-height: 1.5rem;
  max-width: 1.5rem;
  width: 1.5rem !important;
}

@media screen and (max-width: 767px) {
  [data-section="team-hero"] {
    min-height: 26rem;
  }
}

@media screen and (max-width: 479px) {
  [data-section="coach-greeting"] .lightbox-play-icon {
    height: 3.5rem;
    width: 3.5rem;
  }

  [data-section="coach-greeting"] .lightbox-play-icon svg {
    height: 2.25rem;
    width: 2.25rem;
  }
}

.footer4_component {
  --site-color-on-accent: #fff;
  background-color: var(--brand-color-text);
  background-image: none;
  color: #fff;
}

/* Footer actions reuse the header button roles on a separate responsive row. */
.footer4_component .footer4_link-list {
  flex-wrap: wrap;
  align-items: center;
  row-gap: 1.5rem;
  width: 100%;
}

.footer4_component .footer4_button-wrapper {
  --brand-control-background: color-mix(in srgb, var(--brand-color-text) 5%, var(--brand-color-background));
  display: flex;
  flex: 0 0 100%;
  justify-content: center;
  gap: 0.75rem;
  width: 100%;
}

.footer4_component .footer4_button-wrapper .button:focus-visible {
  outline-color: var(--brand-color-background);
}

.footer4_component .footer4_button-wrapper .button:focus-visible::after {
  opacity: 0;
}

@media screen and (max-width: 479px) {
  .footer4_component .footer4_button-wrapper {
    flex-basis: auto;
    flex-direction: column;
    max-width: 20rem;
  }
}
/* End footer actions. */

.footer4_component .divider-horizontal {
  background-color: currentColor;
}

.footer4_component .footer4_social-list,
.footer4_component .footer4_social-link,
.footer4_component .footer4_social-link .icon-embed-xsmall,
.footer4_component .footer4_social-link svg {
  color: inherit;
}

.footer4_component .footer4_social-link svg [fill]:not([fill="none"]) {
  fill: var(--brand-social-paint, currentColor);
}

.footer4_component .footer4_social-link svg [stroke]:not([stroke="none"]) {
  stroke: currentColor;
}

/* Interpolate each local gradient stop instead of switching SVG paint URLs. */
.footer4_component .footer4_social-link [data-project-social-gradient] stop {
  stop-color: currentColor;
  transition: stop-color 0.32s ease;
}

.footer4_component .footer4_social-link:focus-visible [data-project-social-gradient] stop {
  stop-color: var(--brand-social-stop);
}

@media (hover: hover) {
  .footer4_component .footer4_social-link:hover [data-project-social-gradient] stop {
    stop-color: var(--brand-social-stop);
  }
}

@media (prefers-reduced-motion: reduce) {
  .footer4_component .footer4_social-link [data-project-social-gradient] stop {
    transition: none;
  }
}

[data-section="programs"] .pricing11_content-title {
  grid-template-columns: minmax(0, 1fr);
}

/* Approved coaching-card finish; wording and card width stay unchanged. */
[data-section="programs"] .pricing11_plan {
  position: relative;
  background-image: linear-gradient(180deg, #FAF5E8 0, var(--brand-color-surface) 22rem);
}

[data-section="programs"] .pricing11_plan::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 3px;
  background-image: var(--brand-gradient-accent);
  pointer-events: none;
}

[data-section="programs"] .pricing11_price-block {
  margin-top: 1rem;
}

[data-section="programs"] .pricing11_content-top > .margin-vertical.margin-medium {
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
}

[data-section="programs"] .pricing11_audience > p + p {
  margin-top: 1em;
}

[data-section="programs"] .pricing11_feature-list {
  gap: 0;
}

[data-section="programs"] .pricing11_feature {
  padding: .5rem 0;
}

[data-section="programs"] .pricing11_feature:first-child { padding-top: 0; }
[data-section="programs"] .pricing11_feature:last-child { padding-bottom: 0; }

[data-section="programs"] .pricing11_feature + .pricing11_feature {
  border-top: 1px solid color-mix(in srgb, var(--brand-color-text) 12%, transparent);
}

/* Photos flank the coaching card on tablets and desktops, then sit below it on phones. */
[data-section="programs"] .pricing11_photo-layout {
  position: relative;
}

[data-section="programs"] .pricing11_photo {
  display: block;
  position: relative;
  aspect-ratio: 799 / 1200;
  overflow: hidden;
  border: 2px solid #ffffff;
  border-radius: var(--brand-radius-large);
  background-color: var(--brand-color-surface);
  box-shadow: 0 1.25rem 2.5rem rgba(23, 23, 23, 0.17);
}

@media screen and (min-width: 768px) {
  [data-section="programs"] .pricing11_photo {
    position: absolute;
    width: clamp(10rem, 16vw, 14rem);
  }

  [data-section="programs"] .pricing11_photo--left {
    left: 0;
    top: clamp(8rem, 16vw, 14rem);
    transform: rotate(-6deg);
  }

  [data-section="programs"] .pricing11_photo--right {
    right: 0;
    top: clamp(16rem, 28vw, 24rem);
    transform: rotate(6deg);
  }
}

@media screen and (min-width: 768px) and (max-width: 991px) {
  [data-section="programs"] .pricing11_photo {
    width: 16vw;
  }
}

@media screen and (max-width: 767px) {
  [data-section="programs"] .pricing11_photo-layout {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: clamp(1.25rem, 6vw, 2.5rem);
    row-gap: clamp(2.5rem, 8vw, 3.5rem);
    padding-bottom: 2rem;
  }

  [data-section="programs"] .pricing11_photo-layout > .pricing11_grid-list {
    grid-column: 1 / -1;
    grid-row: 1;
  }

  [data-section="programs"] .pricing11_photo {
    width: min(82%, 11.5rem);
    grid-row: 2;
  }

  [data-section="programs"] .pricing11_photo--left {
    grid-column: 1;
    justify-self: end;
    transform: rotate(-5deg);
  }

  [data-section="programs"] .pricing11_photo--right {
    grid-column: 2;
    justify-self: start;
    transform: translateY(1rem) rotate(5deg);
  }
}

[data-section="programs"] .pricing11_content-title .heading-style-h3 {
  font-size: clamp(1.75rem, 1.25rem + 1.25vw, 2.25rem);
}

.pricing11_price-block {
  display: grid;
  row-gap: 0.375rem;
  margin-top: 1.5rem;
  margin-bottom: 0.5rem;
  font-family: var(--brand-font-body);
}

.pricing11_price-label {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.4;
}

.pricing11_price-row {
  align-items: baseline;
  column-gap: 0.5rem;
  display: flex;
  flex-wrap: wrap;
  row-gap: 0.25rem;
}

.pricing11_price-amount {
  font-family: var(--brand-font-body);
  font-size: 2rem;
  font-weight: 600;
  line-height: 1.1;
  white-space: nowrap;
}

.pricing11_price-period {
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.4;
  white-space: nowrap;
}

.footer4_created-by {
  color: var(--site-color-on-accent);
  font-size: 0.75rem;
  margin-top: 0.75rem;
  text-align: center;
}

.footer4_created-by-link {
  color: inherit;
  text-decoration: underline;
}

/* Reveal the gradient inside a fixed 2px line without scaling its raster layer. */
:is(.navbar14_link, .footer4_link, .footer4_legal-link, .footer4_created-by-link) {
  --_link-underline-inset: 0px;
  --_link-underline-bottom: -0.125rem;
  position: relative;
  text-decoration: none;
}

.footer4_created-by-link {
  display: inline-block;
}

.navbar14_link {
  --_link-underline-inset: 1rem;
  --_link-underline-bottom: 0.375rem;
}

:is(.navbar14_link, .footer4_link, .footer4_legal-link, .footer4_created-by-link)::after {
  content: "";
  position: absolute;
  right: var(--_link-underline-inset);
  bottom: var(--_link-underline-bottom);
  left: var(--_link-underline-inset);
  height: 2px;
  background-image: var(--brand-gradient-accent);
  background-repeat: no-repeat;
  background-position: right center;
  background-size: 0% 100%;
  pointer-events: none;
  transition: background-size 0.32s ease;
}

:is(.navbar14_link, .footer4_link, .footer4_legal-link, .footer4_created-by-link):focus-visible::after {
  background-position: left center;
  background-size: 100% 100%;
}

@media (hover: hover) {
  :is(.navbar14_link, .footer4_link, .footer4_legal-link, .footer4_created-by-link):hover::after {
    background-position: left center;
    background-size: 100% 100%;
  }
}

@media screen and (max-width: 1279px) {
  .navbar14_link {
    --_link-underline-inset: 0px;
    --_link-underline-bottom: 0.625rem;
  }
}

@media screen and (min-width: 1280px) and (max-width: 1399px) {
  .navbar14_link {
    --_link-underline-inset: 0.5rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  :is(.navbar14_link, .footer4_link, .footer4_legal-link, .footer4_created-by-link)::after {
    transition: none;
  }
}

.form-privacy-note {
  color: var(--form-muted-color);
  font-size: 0.875rem;
  line-height: 1.4;
  margin-bottom: 0;
}

.form-privacy-note a {
  color: var(--form-heading-color);
  text-decoration: underline;
}

[data-form="step"][hidden] {
  display: none !important;
}

.section_multi-form11 [data-form-step-heading]:focus,
.section_multi-form11 [data-form-step-heading]:focus-visible {
  outline: none;
}

[data-form="back-btn"][hidden],
[data-form="next-btn"][hidden] {
  display: none !important;
}

[data-form="step"]:has(input[type="radio"]) [data-form="next-btn"] {
  display: none !important;
}

[data-form="progress"] {
  background-color: var(--brand-color-border);
}

[data-form="progress"] > .multi-form11_progress-bar.current {
  display: none;
}

[data-form="progress-indicator"] {
  flex: 0 0 auto;
  width: 20%;
  background-color: var(--brand-color-accent);
  transition: width 220ms ease;
}

[data-form-error] {
  color: var(--brand-control-text);
  font-size: 0.875rem;
  margin-top: 0.75rem;
  text-align: center;
}

.section_multi-form11 .form_field-error {
  margin: 0.5rem 0 0;
  color: var(--form-heading-color);
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.5;
}

.section_multi-form11 .form_field-error[hidden] {
  display: none;
}

.form_input[aria-invalid="true"],
.form_input[aria-invalid="true"]:is(:hover, :focus, :focus-visible) {
  border-color: var(--brand-control-error-color);
}

@media (prefers-reduced-motion: reduce) {
  [data-carousel] .carousel-arrow,
  [data-section="coach-greeting"] .layout166_lightbox-image,
  [data-section="coach-greeting"] .lightbox-play-icon,
  [data-section="coach-greeting"] .video-overlay-layer {
    transition: none;
  }

  [data-carousel][data-carousel-mode="auto"] .testimonial21_component {
    animation: none;
    transform: none;
  }

  [data-carousel][data-carousel-mode="manual"] .testimonial21_component[data-carousel-height-ready],
  [data-carousel][data-carousel-mode="manual"] .testimonial21_loop-trigger:first-child {
    transition: none;
  }

  [data-form="progress-indicator"] {
    transition: none;
  }
}

/* Optional project accent: keep the exported geometry, shadows and motion. */
.brand-gradient-definitions {
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
  pointer-events: none;
}

html[data-brand-gradient="accent"] :is(.button, .button-6, .button-7):not(.is-secondary, .is-link, .button-2),
html[data-brand-gradient="accent"] [data-carousel] .carousel-arrow {
  --_button-border: transparent;
  --_button-hover-border: transparent;
  background-image: var(--brand-gradient-accent);
  background-origin: border-box;
  background-clip: border-box;
}

/* Opaque secondary buttons keep the shared hover shadow and focus treatment. */
html[data-brand-gradient="accent"] :is(.button, .button-6, .button-7).is-secondary {
  --_button-background: #F2F2F2;
  --_button-text: #000000;
  --_button-hover-background: #F2F2F2;
  --_button-hover-text: #000000;
  background-image: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}

html[data-brand-gradient="accent"] [data-carousel] .carousel-arrow,
html[data-brand-gradient="accent"] [data-carousel] .carousel-arrow:is(:hover, :active, :disabled, [aria-disabled="true"]),
html[data-brand-gradient="accent"] [data-carousel] .carousel-arrow:is(:hover, :active):not(:disabled):not([aria-disabled="true"]) {
  border-color: transparent;
}

html[data-brand-gradient="accent"] [data-form="progress-indicator"] {
  background-image: var(--brand-gradient-accent);
}

html[data-brand-gradient="accent"] [data-section="benefits"] {
  background-color: var(--brand-color-background);
  background-image:
    linear-gradient(180deg,
      transparent 0%,
      color-mix(in srgb, var(--brand-color-background) 35%, transparent) 25%,
      color-mix(in srgb, var(--brand-color-background) 78%, transparent) 50%,
      var(--brand-color-background) 60%),
    var(--brand-gradient-accent);
}

html[data-brand-gradient="accent"] .cta27_background-image-wrapper {
  background-image: var(--brand-image-final-cta), var(--brand-gradient-accent);
}

html[data-brand-gradient="accent"] [data-section="final-cta"] {
  color: var(--brand-color-on-accent);
}

html[data-brand-gradient="accent"] .cta27_background-image-wrapper > .image-overlay-layer {
  background-color: transparent;
}

/* Only the SVGs whose existing currentColor is the brand accent use this paint. */
html[data-brand-gradient="accent"] :is(.icon-embed-small, .icon-embed-medium, .icon-embed-xsmall-2, .form-icon-left .icon-embed-xsmall, .pricing11_feature-icon-wrapper) svg [fill="currentColor"] {
  fill: var(--brand-icon-paint, var(--brand-color-accent));
}

html[data-brand-gradient="accent"] :is(.privacy-page .text-rich-text a, .privacy-toc-return) {
  text-decoration-color: transparent;
  background-image: var(--brand-gradient-accent-ink);
  background-position: 0 calc(100% - .05em);
  background-repeat: no-repeat;
  background-size: 100% 1px;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}

html[data-brand-gradient="accent"] .privacy-toc-return {
  background-position: 0 calc(50% + .65em);
}

html[data-brand-gradient="accent"] :is(a, button, summary, [tabindex]):focus-visible:where(:not(.section_multi-form11[data-form-text-theme="light"] *)) {
  outline-color: var(--brand-color-text);
}

.footer4_component :focus-visible,
html[data-brand-gradient="accent"] .footer4_component :focus-visible {
  outline: 0.125rem solid currentColor;
}

/* The solid borders/outlines above remain the fallback without composite masks. */
@supports (mask-composite: exclude) or (-webkit-mask-composite: xor) {
  @media (forced-colors: none) {
    html[data-brand-gradient="accent"] :is(.multi-form11_input-field:not([data-form-text-theme="light"] *), .faq11_accordion, .faq11_question),
    html[data-brand-gradient="accent"] :is(.button, .button-6, .button-7),
    html[data-brand-gradient="accent"] [data-carousel] .carousel-arrow {
      position: relative;
    }

    html[data-brand-gradient="accent"] .multi-form11_input-field {
      border-radius: var(--brand-control-radius);
    }

    html[data-brand-gradient="accent"] :is(.radio3_field:not([data-form-text-theme="light"] *), .multi-form11_input-field:not([data-form-text-theme="light"] *), .faq11_accordion, .radio3_button:not([data-form-text-theme="light"] *))::before,
    html[data-brand-gradient="accent"] .radio3_field:not([data-form-text-theme="light"] *)::after,
    html[data-brand-gradient="accent"] .faq11_question::after,
    html[data-brand-gradient="accent"] :is(.button, .button-6, .button-7)::after,
    html[data-brand-gradient="accent"] [data-carousel] .carousel-arrow::after {
      content: "";
      display: block;
      position: absolute;
      inset: 0;
      z-index: 1;
      padding: 1px;
      border-radius: inherit;
      background-image: var(--brand-gradient-accent-ink);
      -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
      mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
      -webkit-mask-composite: xor;
      mask-composite: exclude;
      opacity: 0;
      pointer-events: none;
    }

    /* A radial mask keeps both ring edges circular, with a smooth inner edge. */
    html[data-brand-gradient="accent"] .radio3_button:not([data-form-text-theme="light"] *)::before {
      --_radio-ring-width: 1px;
      border-radius: 50%;
      -webkit-mask: radial-gradient(circle closest-side,
        transparent calc(100% - var(--_radio-ring-width) - .25px),
        #000 calc(100% - var(--_radio-ring-width) + .25px));
      mask: radial-gradient(circle closest-side,
        transparent calc(100% - var(--_radio-ring-width) - .25px),
        #000 calc(100% - var(--_radio-ring-width) + .25px));
    }

    html[data-brand-gradient="accent"] .radio3_field:not([data-form-text-theme="light"] *)::before {
      inset: -1px;
      transition: opacity .2s;
    }

    html[data-brand-gradient="accent"] .radio3_field:not([data-form-text-theme="light"] *):is(:hover, :focus-within):not(:has(input:disabled)),
    html[data-brand-gradient="accent"] .section_multi-form11 .radio3_field:not([data-form-text-theme="light"] *):has(input[type="radio"]:checked) {
      border-color: transparent;
    }

    html[data-brand-gradient="accent"] .radio3_field:not([data-form-text-theme="light"] *):is(:hover, :focus-within):not(:has(input:disabled))::before,
    html[data-brand-gradient="accent"] .radio3_field:not([data-form-text-theme="light"] *):has(input[type="radio"]:checked)::before,
    html[data-brand-gradient="accent"] .multi-form11_input-field:not([data-form-text-theme="light"] *):has(> .form_input:is(:hover, :focus, [aria-invalid="true"]):not(:disabled, [aria-disabled="true"], [readonly]))::before,
    html[data-brand-gradient="accent"] .faq11_accordion:has(.faq11_question[aria-expanded="true"])::before {
      opacity: 1;
    }

    html[data-brand-gradient="accent"] .multi-form11_input-field:not([data-form-text-theme="light"] *) > .form_input:is(:hover, :focus, [aria-invalid="true"]):not(:disabled, [aria-disabled="true"], [readonly]),
    html[data-brand-gradient="accent"] [data-section="faq"] .faq11_accordion:has(.faq11_question[aria-expanded="true"]) {
      border-color: transparent;
    }

    html[data-brand-gradient="accent"] .faq11_accordion::before {
      border-radius: calc(var(--brand-radius-large) - 1px);
    }

    html[data-brand-gradient="accent"] .radio3_field:not([data-form-text-theme="light"] *):has(input:focus-visible),
    html[data-brand-gradient="accent"] [data-section="faq"] .faq11_question:focus-visible,
    html[data-brand-gradient="accent"] :is(.button, .button-6, .button-7):focus-visible,
    html[data-brand-gradient="accent"] [data-carousel] .carousel-arrow:focus-visible {
      outline-color: transparent;
    }

    html[data-brand-gradient="accent"] .radio3_field:not([data-form-text-theme="light"] *)::after {
      inset: -7px;
      padding: 2px;
      border-radius: calc(var(--brand-control-radius) + 6px);
    }

    html[data-brand-gradient="accent"] :is(.button, .button-6, .button-7)::after {
      inset: -6px;
      padding: 2px;
      border-radius: calc(var(--brand-control-radius) + 6px);
    }

    html[data-brand-gradient="accent"] [data-carousel] .carousel-arrow::after {
      inset: -7px;
      padding: 2px;
      border-radius: var(--brand-round-control-radius);
    }

    html[data-brand-gradient="accent"] .faq11_question::after {
      inset: 2px;
      padding: 2px;
      border-radius: calc(var(--brand-radius-large) - 3px);
    }

    html[data-brand-gradient="accent"] .radio3_field:not([data-form-text-theme="light"] *):has(input:focus-visible)::after,
    html[data-brand-gradient="accent"] .faq11_question:focus-visible::after,
    html[data-brand-gradient="accent"] :is(.button, .button-6, .button-7):focus-visible::after,
    html[data-brand-gradient="accent"] [data-carousel] .carousel-arrow:focus-visible::after {
      opacity: 1;
    }

    html[data-brand-gradient="accent"] .section_multi-form11 .radio3_button:not([data-form-text-theme="light"] *):is(.w--redirected-checked, .w--redirected-focus) {
      border-color: transparent;
    }

    html[data-brand-gradient="accent"] .radio3_button.w--redirected-focus:not([data-form-text-theme="light"] *)::before {
      inset: -1px;
      opacity: 1;
    }

    html[data-brand-gradient="accent"] .radio3_button.w--redirected-checked:not([data-form-text-theme="light"] *)::before {
      --_radio-ring-width: 2px;
      inset: -2px;
      padding: 2px;
      opacity: 1;
    }

    html[data-brand-gradient="accent"] .section_multi-form11 .radio3_button.w--redirected-checked:not([data-form-text-theme="light"] *)::after {
      border-color: transparent;
      border-image-source: var(--brand-gradient-accent-ink);
      border-image-slice: 1;
    }
  }
}

/* Approved Saari sales direction. Shared Master fixtures keep their palette;
   only the client's published pages opt into this layout with the body class. */
body.saari-sales-site {
  --brand-header-background: var(--brand-color-background);
  --brand-header-background-opacity: .86;
  --brand-header-text: var(--brand-color-text);
  --brand-header-border: var(--brand-color-border);
  background-color: var(--brand-color-background);
  color: var(--brand-color-text);
}

.saari-sales-site :is(.navbar14_logo-link, .footer4_logo-link) .brand-wordmark > img {
  filter: none;
}

.saari-sales-site .footer4_component {
  background-color: var(--brand-color-background);
  color: var(--brand-color-text);
  border-top: 1px solid var(--brand-color-border);
}

.saari-sales-site .footer4_created-by {
  color: inherit;
}

.saari-sales-site .footer4_button-wrapper .button:focus-visible {
  outline-color: var(--brand-color-text);
}

.saari-sales-site .section_sales-hero {
  position: relative;
  isolation: isolate;
  display: flex;
  align-items: center;
  min-height: 46rem;
  min-height: max(46rem, 88svh);
  padding-block: 10rem 6rem;
  overflow: hidden;
  background-color: var(--brand-color-background);
}

.saari-sales-site .sales-hero_photo {
  position: absolute;
  inset: 0;
  z-index: -2;
  width: 100%;
  pointer-events: none;
  overflow: hidden;
}

.saari-sales-site .sales-hero_photo .master-content-image {
  object-fit: cover;
  object-position: 50% 35%;
}

.saari-sales-site .section_sales-hero::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(0deg, var(--brand-color-background), transparent 25%),
    linear-gradient(rgb(23 23 23 / .5), rgb(23 23 23 / .62));
}

.saari-sales-site .section_sales-hero > .padding-global {
  width: 100%;
}

.saari-sales-site .sales-hero_content {
  position: relative;
  max-width: 39rem;
  margin-inline: auto;
  text-align: center;
}

.saari-sales-site .sales-hero_logo {
  display: block;
  width: min(20rem, 100%);
  height: auto;
  margin: 0 auto 2rem;
}

.saari-sales-site .sales-hero_heading {
  max-width: 16ch;
  margin: 0 auto;
  font-size: clamp(2.5rem, 3.6vw, 3.75rem);
  font-weight: 500;
  line-height: 1.13;
  text-wrap: balance;
}

.saari-sales-site .sales-hero_intro {
  margin-block: 1.25rem 2rem;
  margin-inline: auto;
  max-width: 32ch;
  font-size: clamp(1.125rem, 1.4vw, 1.375rem);
  line-height: 1.5;
  text-wrap: balance;
}

.saari-sales-site .sales-hero_button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 3.25rem;
}

.saari-sales-site .coach-qualifications {
  display: grid;
  gap: .5rem;
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: 1rem;
  line-height: 1.5;
}

.saari-sales-site .coach-qualifications > li {
  display: flex;
  align-items: flex-start;
  gap: .5rem;
  min-width: 0;
  hyphens: none;
}

.saari-sales-site .coach-qualifications_icon {
  flex: 0 0 1rem;
  width: 1rem;
  height: 1rem;
  margin-top: .25em;
  color: var(--brand-color-accent);
}

.saari-sales-site .coach-qualifications_heading {
  margin-bottom: .75rem;
}

.saari-sales-site .sales-hero_qualifications {
  display: flex;
  justify-content: center;
  gap: .5rem 1.5rem;
  margin-top: 1.5rem;
  font-size: .875rem;
}

/* Soft content scrims follow the text and form height without adding a panel. */
.saari-sales-site .sales-hero_content,
.saari-sales-site .section_home-application .multi-form11_component,
.saari-application-page .section_multi-form11.has-hero-photo .multi-form11_component {
  position: relative;
  isolation: isolate;
}

.saari-sales-site .sales-hero_content::before,
.saari-sales-site .section_home-application .multi-form11_component::before,
.saari-application-page .section_multi-form11.has-hero-photo .multi-form11_component::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: -4rem;
  bottom: -4rem;
  left: 50%;
  width: min(calc(100% + 8rem), 64rem, 100vw);
  transform: translateX(-50%);
  pointer-events: none;
  background: radial-gradient(ellipse closest-side, rgb(0 0 0 / .72), rgb(0 0 0 / .6) 50%, rgb(0 0 0 / .25) 78%, transparent 100%);
}

/* The accepted coaching card keeps its pale finish and the Master geometry. */
.saari-sales-site [data-section="programs"] {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background-color: var(--brand-color-background);
}

.saari-sales-site [data-section="programs"] > .padding-global {
  position: relative;
  z-index: 1;
}

.saari-sales-site .pricing11_scene {
  position: absolute;
  inset: 0 0 0 auto;
  z-index: 0;
  width: 57%;
  pointer-events: none;
  overflow: hidden;
  opacity: .72;
}

.saari-sales-site .pricing11_scene::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(0deg, var(--brand-color-background), transparent 25%, transparent 80%, var(--brand-color-background)),
    linear-gradient(90deg, var(--brand-color-background), transparent 45%);
}

.saari-sales-site [data-section="programs"] .pricing11_plan {
  --brand-color-background: #ffffff;
  --brand-color-surface: #f6f4ef;
  --brand-color-text: #171717;
  --brand-color-border: rgba(23, 23, 23, .18);
  --site-color-background: var(--brand-color-background);
  --site-color-surface: var(--brand-color-surface);
  --site-color-text: var(--brand-color-text);
  --site-color-border: var(--brand-color-border);
  --brand-control-text: var(--brand-color-text);
  --brand-control-background: color-mix(in srgb, var(--brand-color-text) 5%, transparent);
  --brand-control-border: var(--brand-color-border);
  --brand-control-hover-background: color-mix(in srgb, var(--brand-color-text) 15%, transparent);
  --brand-button-link-text: var(--brand-color-text);
  color: var(--brand-color-text);
  background-color: var(--brand-color-surface);
  border-color: var(--brand-color-border);
}

.saari-sales-site [data-section="programs"] .pricing11_photo-layout {
  display: block;
  padding-bottom: 0;
}

.saari-sales-site :is([data-section="coach"], [data-section="benefits"], [data-section="app"], [data-section="faq"]) {
  background-color: var(--brand-color-background);
}

html[data-brand-gradient="accent"] .saari-sales-site [data-section="benefits"] {
  background-image: none;
}

.saari-sales-site :is([data-section="programs"], [data-section="coach"], [data-section="benefits"], [data-section="app"], [data-section="faq"]) .padding-section-large {
  padding-block: clamp(3.5rem, 6vw, 6rem);
}

.saari-sales-site [data-section="programs"] .pricing11_component > .margin-bottom {
  margin-bottom: clamp(2.5rem, 4vw, 4rem);
}

:where(.saari-sales-site [data-section="coach"]) .layout1_image-wrapper {
  aspect-ratio: 4 / 5;
  border: 1px solid var(--brand-color-border);
}

.saari-sales-site [data-section="benefits"] .heading-style-h2 {
  font-size: clamp(2rem, 3.4vw, 3.25rem);
  line-height: 1.18;
  text-wrap: balance;
}

.saari-sales-site [data-section="benefits"] .benefits-closing {
  margin-top: clamp(3rem, 5vw, 5rem);
  padding-top: 1rem;
}

.saari-sales-site [data-section="benefits"] .benefits-closing_signature {
  margin-top: clamp(2rem, 4vw, 3.5rem);
}

.saari-sales-site [data-section="app"] .layout220_content {
  row-gap: 2.5rem;
}

.saari-sales-site [data-section="app"] .layout220_image-wrapper {
  align-self: center;
}

.saari-sales-site [data-section="faq"] .faq11_accordion {
  background-color: var(--brand-color-surface);
}

.saari-sales-site [data-section="final-cta"] .padding-section-large {
  padding-block: 4rem;
}

html[data-brand-gradient="accent"] .saari-sales-site [data-section="final-cta"].has-cta-photo {
  background-color: var(--brand-color-background);
}

.saari-sales-site [data-section="final-cta"] .cta27_component {
  min-height: 20rem;
}

.saari-sales-site [data-section="final-cta"] .heading-style-h2 {
  font-size: clamp(2.25rem, 4vw, 3.5rem);
}

/* The homepage application reuses the existing form and invitation photo. */
.saari-sales-site .section_home-application {
  min-height: 0;
  background-color: var(--brand-color-background);
}

.section_home-application .padding-global.hero {
  min-height: 0;
}

.section_home-application .padding-section-large.hero {
  padding-block: clamp(3rem, 6vw, 5rem);
}

.section_home-application .application-intro {
  max-width: 48rem;
  text-align: center;
}

.section_home-application .application-intro .heading-style-h2 {
  margin-bottom: 1.5rem;
  font-size: clamp(2.25rem, 4vw, 3.5rem);
}

.section_home-application.has-hero-photo .multi-form11_component > .max-width-medium {
  width: 100%;
  max-width: 40rem;
  margin-top: 0;
}

.section_home-application.has-cta-photo .button-group {
  justify-content: flex-end;
}

@media screen and (max-width: 479px) {
  .section_home-application.has-hero-photo .multi-form11_component > .max-width-medium {
    padding-inline: 0;
  }
}

/* The separate application keeps its photo and transparent outer panel. */
.saari-application-page .section_multi-form11 {
  min-height: 100svh;
  background-color: var(--brand-color-background);
}

.saari-application-page .section_multi-form11 .padding-section-large.hero {
  padding-block: calc(var(--master-header-offset, 7rem) + 2rem) 4rem;
}

.saari-application-page .application-intro {
  width: 100%;
  max-width: 40rem;
  min-width: 0;
  margin-bottom: 1.5rem;
  text-align: center;
}

.saari-application-page .application-intro .heading-style-h2 {
  max-width: 100%;
  font-size: clamp(2rem, 4vw, 3.25rem);
  line-height: 1.18;
  text-wrap: balance;
  overflow-wrap: anywhere;
}

.saari-application-page .has-hero-photo .multi-form11_component > .max-width-medium {
  width: 100%;
  max-width: 40rem;
  margin-top: 0;
}

/* Translucent answer surfaces blur the photo while keeping their content sharp. */
:is(.saari-sales-site, .saari-application-page) .section_multi-form11.has-hero-photo :is(.radio3_field, .form_input) {
  background-color: color-mix(in srgb, var(--brand-control-background) 80%, transparent);
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}

:is(.saari-sales-site, .saari-application-page) .section_multi-form11.has-hero-photo :is(.form_input:hover:not(:disabled, [aria-disabled="true"], [readonly]), .radio3_field:hover:not(:has(input:disabled))) {
  background-color: color-mix(in srgb, var(--brand-control-hover-background) 80%, transparent);
}

@media screen and (min-width: 768px) and (max-width: 991px) {
  .saari-sales-site [data-section="programs"] .pricing11_grid-list > .pricing11_plan:only-child {
    width: min(100%, 30rem);
  }
}

@media screen and (min-width: 768px) {
  .saari-sales-site [data-section="programs"]:has(.pricing11_scene) .pricing11_plan:only-child {
    justify-self: start;
  }
}

@media screen and (min-width: 992px) and (max-width: 1279px) {
  .saari-sales-site [data-section="app"] .layout220_content {
    grid-template-columns: minmax(0, 1fr);
  }

  .saari-sales-site [data-section="app"] .layout220_image-wrapper {
    width: 100%;
    max-width: 28rem;
    justify-self: center;
  }

  .saari-sales-site [data-section="app"] .layout220_item-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media screen and (max-width: 991px) {
  .saari-sales-site .section_sales-hero {
    min-height: 45rem;
    min-height: max(45rem, 88svh);
  }

  .saari-sales-site .sales-hero_content {
    max-width: 35rem;
  }

  .saari-sales-site .pricing11_scene {
    width: 70%;
    opacity: .45;
  }
}

@media screen and (max-width: 767px) {
  .saari-sales-site .section_sales-hero {
    min-height: 43rem;
    min-height: min(100svh, 52rem);
    align-items: end;
    padding-block: 8rem 3.5rem;
  }

  .saari-sales-site .sales-hero_photo .master-content-image {
    object-position: 50% 24%;
  }

  .saari-sales-site .section_sales-hero::before {
    background: linear-gradient(0deg, var(--brand-color-background), rgb(23 23 23 / .85) 28%, rgb(23 23 23 / .38) 72%, rgb(23 23 23 / .26));
  }

  .saari-sales-site .sales-hero_content {
    max-width: 32rem;
    margin-inline: auto;
    text-align: center;
  }

  .saari-sales-site .sales-hero_heading {
    margin-inline: auto;
    font-size: clamp(2rem, 7vw, 2.75rem);
  }

  .saari-sales-site .sales-hero_logo {
    width: min(15rem, 100%);
    margin-bottom: 1.5rem;
  }

  .saari-sales-site .sales-hero_intro {
    margin: 1rem auto 1.5rem;
    font-size: 1.125rem;
  }

  .saari-sales-site .sales-hero_button {
    max-width: 100%;
  }

  .saari-sales-site .sales-hero_qualifications {
    display: grid;
    justify-items: center;
    gap: .375rem;
    margin-top: 1.25rem;
  }

  .saari-sales-site .pricing11_scene {
    inset: 0;
    width: 100%;
    opacity: .18;
  }

  .saari-sales-site [data-section="coach"] .layout1_image-wrapper {
    width: 100%;
    max-width: 32rem;
    justify-self: center;
  }

  .saari-sales-site [data-section="final-cta"] .padding-section-large {
    padding-block: 3rem;
  }

  .saari-sales-site [data-section="final-cta"] .cta27_component {
    min-height: 17rem;
  }

  .saari-application-page .section_multi-form11 .padding-section-large.hero {
    padding-top: calc(var(--master-header-offset, 6rem) + 1rem);
  }
}

/* Keep the complete sales message below the header on short landscape screens. */
@media screen and (orientation: landscape) and (max-height: 600px) {
  .saari-sales-site .section_sales-hero {
    min-height: 100vh;
    min-height: 100svh;
    align-items: center;
    padding-block: calc(var(--master-header-offset, 6rem) + 1rem) 1rem;
  }

  .saari-sales-site .sales-hero_heading {
    max-width: 26ch;
    font-size: 2rem;
  }

  .saari-sales-site .sales-hero_logo {
    width: min(9rem, 100%);
    margin-bottom: .5rem;
  }

  .saari-sales-site .sales-hero_intro {
    max-width: none;
    margin-block: .75rem 1rem;
  }

  .saari-sales-site .sales-hero_qualifications {
    gap: .25rem 1rem;
    margin-top: .75rem;
  }
}

@media screen and (orientation: landscape) and (max-height: 360px) {
  .saari-sales-site .section_sales-hero {
    padding-block: calc(var(--master-header-offset, 6rem) + .5rem) .5rem;
  }

  .saari-sales-site .sales-hero_logo {
    width: min(7rem, 100%);
  }

  .saari-sales-site .sales-hero_heading {
    max-width: 30ch;
    font-size: 1.625rem;
  }

  .saari-sales-site .sales-hero_intro {
    margin-block: .5rem;
    font-size: 1rem;
  }

  .saari-sales-site .sales-hero_button {
    min-height: 2.75rem;
    padding-block: .5rem;
  }
}
