.index-contact {
  position: relative;
  --index-contact-background-image:
    linear-gradient(135deg, rgba(107, 140, 166, 0.35), rgba(107, 140, 166, 0.16)),
    linear-gradient(180deg, rgba(214, 226, 236, 0.92), rgba(190, 204, 216, 0.92));
  overflow: hidden;
  min-height: 840px;
  padding: 0;
  background: #c0c2c7;
}

.index-contact__media {
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
}

.index-contact__media::before,
.index-contact__media::after {
  content: "";
  position: absolute;
  inset: 0;
}

.index-contact__media::before {
  inset: 0;
  height: 100%;
  background-image: var(--index-contact-background-image);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}

.index-contact__media::after {
  background: transparent;
}

.index-contact__inner {
  position: relative;
  z-index: 1;
  min-height: 840px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-inline: clamp(24px, 23.32vw, 403px);
  box-sizing: border-box;
}

.index-contact__content {
  width: min(100%, 922px);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 80px;
  text-align: center;
}

.index-contact__copy-group {
  display: grid;
  gap: 40px;
  width: 100%;
}

.index-contact h2 {
  margin: 0;
  font-family: var(--tomato-heading-font);
  font-size: clamp(32px, 4vw, 48px);
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.4em;
  color: #1f1f1f;
  white-space: nowrap;
}

.index-contact__copy {
  margin: 0;
  font-family: var(--tomato-copy-font);
  font-size: clamp(18px, 2vw, 24px);
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.1em;
  color: #1f1f1f;
  white-space: nowrap;
}

.index-contact__cta {
  --tomato-arrow-link-gap: 40px;
  --tomato-arrow-link-font-size: clamp(28px, 3vw, 40px);
  --tomato-arrow-link-font-weight: 700;
  --tomato-arrow-link-letter-spacing: 0.2em;
  --tomato-arrow-link-icon-size: 48px;
  --tomato-arrow-link-arrow-width: 12px;
  --tomato-arrow-link-arrow-height: 10px;
}

.index-contact__cta-label {
  display: inline-block;
}

 @media (max-width: 767px) {
  .index-contact {
    min-height: 560px;
  }

  .index-contact__inner {
    min-height: 560px;
    padding-inline: clamp(24px, 8vw, 80px);
  }

  .index-contact__content {
    gap: 48px;
  }

  .index-contact__copy-group {
    gap: 24px;
  }

  .index-contact h2 {
    font-size: clamp(23px, 3.3vw, 38px);
    letter-spacing: clamp(0.04em, 0.12vw, 0.12em);
    white-space: nowrap;
  }

  .index-contact__copy {
    font-size: clamp(15px, 1.8vw, 18px);
    line-height: 1.7;
    letter-spacing: 0.03em;
  }

  .index-contact__cta {
    --tomato-arrow-link-gap: 20px;
    --tomato-arrow-link-font-size: 22px;
  }
}

 @media (max-width: 720px) {
  .index-contact {
    min-height: 440px;
  }

  .index-contact__inner {
    min-height: 440px;
  }

  .index-contact__content {
    gap: 32px;
  }

  .index-contact__copy-group {
    gap: 16px;
  }

  .index-contact h2 {
    font-size: clamp(17px, 4.5vw, 23px);
    letter-spacing: clamp(0.02em, 0.12vw, 0.08em);
    white-space: nowrap;
  }

  .index-contact__copy {
    white-space: normal;
    font-size: 13px;
    line-height: 1.7;
    letter-spacing: 0.03em;
  }

  .index-contact__cta {
    --tomato-arrow-link-gap: 12px;
    --tomato-arrow-link-font-size: 17px;
    --tomato-arrow-link-letter-spacing: 0.08em;
    --tomato-arrow-link-icon-size: 32px;
    --tomato-arrow-link-arrow-width: 9px;
    --tomato-arrow-link-arrow-height: 7px;
  }
}
