/* Final representative review fixes: main hero image and contact layout only. */
.hero,
.hero-copy,
.hero-copy h1,
.hero-title-line {
  min-width: 0;
  overflow: visible !important;
  text-overflow: clip;
}

.hero {
  grid-template-columns: minmax(0, 1.05fr) minmax(360px, 0.95fr) !important;
  column-gap: clamp(28px, 4vw, 56px) !important;
}

.hero-copy {
  max-width: 760px;
}

.hero-copy h1,
.hero h1 {
  max-width: 720px;
  font-size: clamp(46px, 4.6vw, 72px) !important;
  line-height: 1.08 !important;
  letter-spacing: 0;
  white-space: normal !important;
  word-break: keep-all;
}

.hero-title-line {
  display: inline;
  max-width: 100%;
  white-space: normal !important;
  word-break: keep-all;
}

.hero-media {
  min-width: 0;
  overflow: hidden;
}

.hero-media .hero-video,
.hero-media .hero-poster,
.hero-media img,
.hero-media video {
  object-fit: cover !important;
  object-position: center center !important;
  transform: rotate(1.2deg) scale(1.025) !important;
  transform-origin: center center !important;
}

.contact-page-layout {
  display: grid;
  grid-template-columns: minmax(320px, 380px) minmax(0, 1fr) !important;
  gap: 32px !important;
  align-items: start;
}

.contact-info-panel,
.contact-page-form {
  position: relative;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  margin: 0;
  transform: none;
  z-index: auto;
}

.contact-card-list {
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

.contact-card-list article {
  position: relative;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  margin: 0;
  transform: none;
}

@media (max-width: 920px) {
  .hero {
    grid-template-columns: 1fr !important;
  }

  .hero-copy {
    max-width: 100%;
  }

  .hero-copy h1,
  .hero h1 {
    max-width: 100%;
    font-size: clamp(34px, 9vw, 46px) !important;
    line-height: 1.12 !important;
  }

  .contact-page-layout {
    grid-template-columns: 1fr !important;
    gap: 22px !important;
  }

  .hero-media {
    overflow: visible;
  }
}
