.home-hero {
  position: relative;
  overflow: clip;
  padding-top: 8.3rem;
  padding-bottom: 6.1rem;
  border-bottom: 1px solid rgba(200, 187, 177, 0.16);
}

.home-hero-background,
.home-hero-overlay {
  position: absolute;
  inset: 0;
}

.home-hero-background {
  z-index: 0;
  background:
    linear-gradient(160deg, rgba(34, 24, 29, 0.96), rgba(16, 13, 15, 0.98));
}

.home-hero-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 42%;
  transform: scale(1.015);
  filter: saturate(1.02) contrast(1.02);
}

.home-hero-overlay {
  z-index: 1;
  background:
    linear-gradient(90deg, rgba(15, 12, 14, 0.76) 0%, rgba(20, 15, 18, 0.64) 34%, rgba(20, 15, 18, 0.26) 68%, rgba(20, 15, 18, 0.42) 100%),
    linear-gradient(180deg, rgba(15, 12, 14, 0.36) 0%, rgba(15, 12, 14, 0.08) 28%, rgba(15, 12, 14, 0.54) 100%),
    radial-gradient(circle at 18% 18%, rgba(227, 74, 134, 0.2), transparent 32%),
    radial-gradient(circle at 84% 16%, rgba(109, 34, 72, 0.16), transparent 26%);
}

.home-hero .hero-grid {
  position: relative;
  z-index: 2;
  grid-template-columns: minmax(0, 1fr);
  min-height: clamp(690px, 84vh, 940px);
  align-items: end;
}

.hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.86fr) minmax(0, 1.14fr);
  gap: clamp(1.6rem, 2.8vw, 3.2rem);
  align-items: stretch;
}

.hero-grid--impact {
  min-height: clamp(680px, 84vh, 900px);
}

.page-shell.has-dark-hero > .section:first-child .section-title,
.page-shell.has-dark-hero > .section:first-child .hero-copy,
.page-shell.has-dark-hero > .section:first-child .section-copy {
  color: var(--et-ivory);
}

.hero-content {
  max-width: 50ch;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  align-self: center;
}

.home-hero .hero-content {
  max-width: 52ch;
  padding-top: 3.6rem;
  padding-bottom: 1rem;
}

.hero-content--balanced {
  max-width: 52ch;
}

.hero-meta {
  margin-bottom: 0;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: color-mix(in srgb, var(--et-rose-light) 46%, var(--et-ivory) 54%);
}

.hero-kicker {
  font-family: "Manrope", "Avenir Next", "Segoe UI", "Helvetica Neue", system-ui, -apple-system, sans-serif;
  font-size: 0.82rem;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--et-rose-light);
}

.hero-title {
  max-width: 10.8ch;
  font-size: clamp(3.7rem, 5.25vw, 4.95rem);
  line-height: 1.01;
  letter-spacing: -0.016em;
  font-weight: 400;
  color: var(--et-white);
  text-wrap: balance;
}

.hero-copy {
  max-width: 44ch;
  font-size: clamp(1.04rem, 1.3vw, 1.2rem);
  line-height: 1.66;
  color: color-mix(in srgb, var(--et-ivory) 91%, var(--et-stone) 9%);
}

.home-hero .hero-copy {
  max-width: 46ch;
}

.hero-title::before,
.hero-title::after,
.hero-copy::before,
.hero-copy::after {
  content: none !important;
}

.hero-actions {
  margin-top: 0.35rem;
  gap: 0.75rem;
}

.hero-actions .btn {
  min-height: 45px;
}

.hero-signals {
  margin-top: 0.45rem;
  font-family: "Manrope", "Avenir Next", "Segoe UI", "Helvetica Neue", system-ui, -apple-system, sans-serif;
  font-size: 0.76rem;
  font-weight: 500;
  letter-spacing: 0.11em;
  text-transform: uppercase;
  color: color-mix(in srgb, var(--et-stone) 84%, var(--et-ivory) 16%);
}

.hero-support-line {
  margin-top: -0.25rem;
  font-size: 0.9rem;
  font-style: italic;
  color: color-mix(in srgb, var(--et-ivory) 66%, var(--et-stone) 34%);
}

.home-hero .hero-support-line {
  color: color-mix(in srgb, var(--et-ivory) 72%, var(--et-stone) 28%);
}

.hero-media {
  min-height: clamp(640px, 80vh, 860px);
  height: 100%;
}

.hero-panel {
  position: relative;
  height: 100%;
  min-height: 560px;
  border-radius: var(--radius-lg);
  border: 1px solid rgba(200, 187, 177, 0.28);
  overflow: hidden;
  box-shadow: var(--shadow-soft);
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  padding: 1rem;
  background:
    radial-gradient(circle at 20% 20%, rgba(227, 74, 134, 0.35), transparent 45%),
    linear-gradient(160deg, rgba(35, 22, 30, 0.98), rgba(15, 12, 14, 0.98));
}

.hero-overlay-card {
  position: absolute;
  z-index: 2;
  left: 1rem;
  bottom: 1rem;
  max-width: 300px;
  background: rgba(20, 14, 17, 0.88);
}

.hero-visual-shell {
  position: relative;
  height: 100%;
  border-radius: clamp(22px, 3.5vw, 36px);
  border: 1px solid rgba(200, 187, 177, 0.22);
  box-shadow: 0 30px 82px rgba(0, 0, 0, 0.38);
  overflow: hidden;
  background: linear-gradient(165deg, rgba(34, 25, 30, 0.95), rgba(14, 12, 13, 0.96));
}

.hero-visual-media,
.media-frame {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: inherit;
  overflow: hidden;
  border-radius: inherit;
}

.hero-visual-image,
.hero-visual-shell img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hero-visual-image {
  min-height: inherit;
  object-position: 62% 42%;
  transform: scale(1.005);
}

.media-surface {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 240px;
  height: 100%;
  border-radius: inherit;
  border: 1px solid rgba(200, 187, 177, 0.2);
  padding: 1rem;
  background:
    radial-gradient(circle at 18% 22%, rgba(227, 74, 134, 0.2), transparent 44%),
    linear-gradient(160deg, rgba(33, 23, 29, 0.95), rgba(18, 14, 17, 0.95));
}

.hero-visual-overlay,
.media-gradient {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(17, 14, 15, 0.03) 0%, rgba(17, 14, 15, 0.14) 48%, rgba(17, 14, 15, 0.38) 100%),
    linear-gradient(108deg, rgba(17, 14, 15, 0.16) 0%, rgba(17, 14, 15, 0.02) 58%);
}

.media-overlay {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(17, 14, 15, 0.1), rgba(17, 14, 15, 0.8)),
    linear-gradient(90deg, rgba(17, 14, 15, 0.22), rgba(17, 14, 15, 0.05));
}

.media-surface--luminous {
  background:
    radial-gradient(circle at 18% 22%, rgba(227, 74, 134, 0.12), transparent 46%),
    linear-gradient(160deg, rgba(36, 25, 31, 0.82), rgba(18, 14, 17, 0.78));
}

.media-surface--luminous.overlay-gradient::after {
  background:
    linear-gradient(180deg, rgba(30, 21, 26, 0.08) 0%, rgba(30, 21, 26, 0.12) 38%, rgba(30, 21, 26, 0.24) 100%),
    linear-gradient(110deg, rgba(53, 30, 40, 0.08) 0%, rgba(17, 14, 15, 0.02) 62%);
}

.media-overlay--luminous {
  background:
    linear-gradient(180deg, rgba(20, 14, 18, 0.06) 0%, rgba(20, 14, 18, 0.1) 42%, rgba(20, 14, 18, 0.24) 100%),
    linear-gradient(90deg, rgba(48, 29, 37, 0.12) 0%, rgba(20, 14, 18, 0.03) 52%, rgba(20, 14, 18, 0.08) 100%);
}

.media-label {
  position: absolute;
  z-index: 3;
  top: 1rem;
  left: 1rem;
  display: none;
}

.hero-visual-caption {
  position: absolute;
  z-index: 3;
  left: 1rem;
  right: 1rem;
  bottom: 1rem;
  margin: 0;
  width: fit-content;
  max-width: calc(100% - 2rem);
  padding: 0.32rem 0.58rem;
  border-radius: 999px;
  border: 1px solid rgba(200, 187, 177, 0.24);
  background: rgba(18, 14, 16, 0.42);
  font-family: "Manrope", "Avenir Next", "Segoe UI", "Helvetica Neue", system-ui, -apple-system, sans-serif;
  font-size: 0.66rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: color-mix(in srgb, var(--et-ivory) 76%, var(--et-stone) 24%);
}

.hero-visual-caption--home {
  z-index: 2;
  left: auto;
  right: clamp(1.2rem, 3vw, 2.6rem);
  bottom: clamp(1.2rem, 3vw, 2.2rem);
}

.media-caption,
.hero-visual-meta {
  position: relative;
  z-index: 3;
  font-family: "Manrope", "Avenir Next", "Segoe UI", "Helvetica Neue", system-ui, -apple-system, sans-serif;
  font-size: 0.74rem;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: color-mix(in srgb, var(--et-ivory) 72%, var(--et-stone) 28%);
  max-width: 38ch;
}

.media-surface--luminous .media-caption {
  align-self: flex-start;
  padding: 0.34rem 0.62rem;
  border-radius: 999px;
  border: 1px solid rgba(243, 236, 230, 0.18);
  background: rgba(20, 14, 18, 0.24);
  color: color-mix(in srgb, var(--et-ivory) 86%, var(--et-stone) 14%);
}

.series-page-hero .section-title {
  max-width: 11.5ch;
}

.cities-page-hero .section-title {
  max-width: 12.5ch;
}

.page-title {
  font-size: clamp(2.7rem, 4.1vw, 4.15rem);
  line-height: 1.05;
  letter-spacing: -0.02em;
  font-weight: 400;
}

.cities-page-hero .editorial-split--hero-balance {
  align-items: stretch;
}

.hero-visual-media.is-fallback {
  background:
    radial-gradient(circle at 22% 24%, rgba(227, 74, 134, 0.25), transparent 46%),
    linear-gradient(165deg, rgba(36, 25, 32, 0.96), rgba(15, 13, 14, 0.98));
}

.hero-visual-media.is-fallback .hero-visual-image {
  display: none;
}
