/* ===== Hero ===== */
.hero { position: relative; isolation: isolate; overflow: hidden; }
.hero__bg {
  position: absolute; inset: 0; width: 100%; height: 100%;
  object-fit: cover; z-index: -2;
}
.hero__overlay {
  position: absolute; inset: 0; z-index: -1;
  background: linear-gradient(90deg, rgba(18,18,18,0.92) 0%, rgba(18,18,18,0.72) 45%, rgba(15,22,23,0.45) 100%);
}
.hero__inner {
  display: grid; gap: 1.1rem; align-content: center;
  min-height: clamp(320px, 55vh, 520px);
  padding-block: var(--space-section);
  max-width: 720px;
}
.hero__rating {
  display: inline-flex; flex-wrap: wrap; align-items: center; gap: 0.5rem;
  color: var(--color-text);
}
.hero__stars { color: var(--color-heading); font-size: 1.3rem; letter-spacing: 2px; }
.hero__rating-value { color: var(--color-white); font-weight: var(--fw-btn); }
.hero__rating-text { color: var(--color-text); }
.hero__title { color: var(--color-white); }
.hero__subtitle { font-size: clamp(1rem, 1.8vw, 1.2rem); color: var(--color-text); max-width: 60ch; }
.hero__cta { justify-self: start; margin-top: 0.5rem; padding: 0.9rem 2.25rem; }
