/* Homepage hero: let the seal yield space to each complete headline phrase. */
.hero__copy {
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(28px, 2.3vw, 44px) clamp(24px, 2.4vw, 38px) clamp(28px, 2.3vw, 40px) clamp(28px, 4vw, 78px);
}
.hero__heading-wrap {
  min-width: 0;
  width: 100%;
  max-width: 740px;
  grid-template-columns: max-content minmax(0, 1fr);
  gap: clamp(12px, 1.1vw, 22px);
}
.hero h1 {
  min-width: 0;
  font-size: clamp(38px, 3.35vw, 66px);
  line-height: .96;
}
.hero h1 span { white-space: nowrap; }
.hero__seal { max-width: clamp(110px, 14vw, 224px); justify-self: end; }
.hero__copy > p { max-width: 58ch; }
.hero__image { position: relative; min-height: 478px; }
.hero__image img { position: absolute; inset: 0; width: 100%; height: 100%; min-height: 0; object-fit: cover; }
@media (max-width: 900px) {
  .hero__copy { padding: 30px 24px; }
  .hero h1 { font-size: clamp(44px, 6.5vw, 66px); }
  .hero__seal { max-width: 224px; }
  .hero__image { min-height: clamp(240px, 46vw, 420px); }
}
@media (max-width: 620px) {
  .hero__copy { padding: 26px 20px 24px; }
  .hero__heading-wrap { gap: 12px; }
  .hero h1 { font-size: clamp(30px, 8vw, 46px); }
  .hero__seal { max-width: 160px; }
  .hero__image { min-height: clamp(205px, 52vw, 322px); }
}
