.homepage-hero-title {
  hyphens: auto;
  overflow-wrap: anywhere;
}

.homepage-hero {
  overflow-x: hidden;
}

/* Shared size constraint for the homepage figure and the About photo. */
.owner-portrait {
  display: block;
  width: 100%;
  max-width: 21rem;
  margin: 0 auto;
}

@media (max-width: 991.98px) {
  .owner-portrait { max-width: 15rem; }
}

.recruiter-summary {
  background: #eef4f6;
}

.recruiter-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.recruiter-tags span {
  background: #eef4f6;
  border-radius: 999px;
  color: #253b48;
  display: inline-flex;
  font-size: 0.9rem;
  font-weight: 600;
  padding: 0.4rem 0.75rem;
}

.recruiter-proof {
  border-left: 3px solid #dc3545;
  display: flex;
  flex-direction: column;
  height: 100%;
  padding-left: 0.75rem;
}

.recruiter-proof strong {
  color: #253b48;
  font-size: 1.5rem;
  line-height: 1.1;
}

.recruiter-proof span {
  color: #516b7a;
  font-size: 0.85rem;
  line-height: 1.3;
  margin-top: 0.35rem;
}

@media (max-width: 575.98px) {
  html,
  body {
    max-width: 100%;
    overflow-x: hidden;
  }

  .homepage-hero .d-middle {
    display: block !important;
  }

  .homepage-hero .container,
  .homepage-hero .row {
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
    width: 100%;
  }

  .homepage-hero .col-12 {
    box-sizing: border-box;
    max-width: 100%;
    overflow: hidden;
    padding-left: 1rem;
    padding-right: 1rem;
    width: 100%;
  }

  .homepage-hero-title {
    font-size: clamp(1.75rem, 7.2vw, 2.1rem);
    line-height: 1.08;
  }

  .homepage-hero .lead {
    overflow-wrap: anywhere;
  }
}

@media print {
  #header,
  #footer,
  #silktide-wrapper {
    display: none !important;
  }
}
