/* Elementor: Box-Model + Isolation */
  .elementor-widget-html .tfys-hero, .elementor-widget-shortcode .tfys-hero,
  .elementor-widget-html .tfys-hero *, .elementor-widget-shortcode .tfys-hero * {
    box-sizing: border-box;
  }

  .tfys-hero {
    --tfys-text: #4A4540;
    --tfys-text-mid: #6D6560;
    --tfys-ocher: #C28E4D;
    --tfys-sage: #5C6652;
    --tfys-sage-hover: #4A5343;
    --tfys-sage-dark: #3E4A3A;
    --tfys-max: 1200px;
    position: relative;
    isolation: isolate;
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: clamp(48px, 8vw, 88px) clamp(20px, 5vw, 64px);
    font-family: 'Montserrat', Arial, sans-serif !important;
    color: var(--tfys-text);
    background: transparent !important;
    overflow: visible;
  }

  /* Theme-/Elementor-Resets */
  .tfys-hero h1,
  .tfys-hero a {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: none !important;
    box-shadow: none !important;
    text-shadow: none !important;
  }

  .tfys-hero__inner {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: var(--tfys-max);
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    background: transparent !important;
  }

  .tfys-hero__title {
    max-width: 680px;
    font-weight: 400 !important;
    line-height: 1.08 !important;
    letter-spacing: 0.01em;
    color: var(--tfys-sage-dark) !important;
  }

  .tfys-hero__title-serif {
    display: inline;
    font-family: 'Playfair Display', Georgia, serif !important;
    font-size: clamp(2.82rem, 7vw, 3.6rem) !important;
    font-weight: 500 !important;
    color: var(--tfys-sage-dark) !important;
  }

  .tfys-hero__title-script {
    display: inline;
    margin-left: 0.14em !important;
    font-family: 'Great Vibes', cursive !important;
    font-size: clamp(2.87rem, 7.14vw, 3.71rem) !important;
    font-weight: 400 !important;
    color: var(--tfys-ocher) !important;
    white-space: nowrap;
  }

  .tfys-hero__lead {
    max-width: 680px;
    margin: 4.4em 0 2em !important;
    padding: 0 !important;
    font-family: 'Montserrat', Arial, sans-serif !important;
    font-size: clamp(1.05rem, 1.3vw, 1.15rem) !important;
    font-weight: 300 !important;
    line-height: 1.7 !important;
    color: var(--tfys-text) !important;
  }

  .tfys-hero__rooms {
    max-width: 640px;
    margin: 0 !important;
    padding-left: 1.4em !important;
    border-left: 2.5px solid var(--tfys-ocher);
  }

  .tfys-hero__rooms p {
    margin: 0 0 0.45em !important;
    padding: 0 !important;
    font-family: 'Playfair Display', Georgia, serif !important;
    font-size: clamp(0.95rem, 1.4vw, 1.1rem) !important;
    font-weight: 400 !important;
    font-style: italic;
    line-height: 1.6 !important;
    color: var(--tfys-text) !important;
  }

  .tfys-hero__rooms p:last-child {
    margin-bottom: 0 !important;
  }

  @media (max-width: 900px) {
    .tfys-hero {
      padding: 48px 24px 44px;
    }

    .tfys-hero__title {
      max-width: 100%;
    }

    .tfys-hero__title-script {
      white-space: normal;
    }
  }

  @media (max-width: 480px) {
    .tfys-hero {
      padding: 40px 16px 36px;
    }

    .tfys-hero__title {
      line-height: 1.12 !important;
    }

    .tfys-hero__title-script {
      display: block;
      margin: 0.08em 0 0 !important;
    }
  }
