/* Homepage only: real crew photo, with separate mobile composition. */
.hero-photo { min-height: 860px; }
.hero-photo .hero-crew { position: absolute; inset: 0 0 0 50%; pointer-events: none; }
.hero-crew img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 65% 55%; }
.hero-photo::after { background: linear-gradient(90deg, #0a2015 0%, #0a2015 44%, rgba(10,32,21,.88) 49%, rgba(10,32,21,.12) 65%, transparent 100%); pointer-events: none; }
.hero-photo .hero-glow, .hero-photo .hero-au { display: none; }
.hero-photo h1 { max-width: 570px; font-size: clamp(2.65rem, 4.6vw, 4.4rem); }
.hero-photo .hero-sub { max-width: 490px; }
.hero-photo .hero-trust { max-width: 520px; gap: 20px; }
@media (min-width: 768px) and (max-width: 1199px) {
  .hero-photo .hero-inner { padding-right: 49%; }
  .hero-photo { min-height: 940px; }
}
@media (max-width: 767px) {
  .hero-photo { min-height: 760px; padding: 104px 0 42px; align-items: flex-start; }
  .hero-photo .hero-inner { padding: 0 20px; }
  .hero-photo h1 { max-width: 320px; font-size: clamp(2.15rem, 8vw, 2.8rem); }
  .hero-photo .hero-crew { position: absolute; inset: 0; width: 100%; height: 100%; }
  .hero-photo .hero-crew img { height: 100%; object-fit: cover; object-position: 64% center; }
  .hero-photo::after { display: block; background: linear-gradient(90deg, rgba(10,32,21,.92) 0%, rgba(10,32,21,.76) 45%, rgba(10,32,21,.32) 100%); }
  .hero-photo .hero-sub { margin-top: 16px; font-size: 1rem; max-width: 320px; }
  .hero-photo .hero-actions { margin-top: 24px; gap: 12px; }
  .hero-photo .hero-trust { margin-top: 24px; gap: 16px; font-size: .8rem; }
  .hero-photo .hero-trust strong { font-size: 1.2rem; }
}

.hero-photo .hero-reviews { display: inline-flex; align-items: center; min-height: 44px; margin-top: 12px; color: #fff; text-decoration: underline; text-underline-offset: 4px; }
