/* Homepage hero: original artwork for each viewport, without overlays. */
.page-home.copy-refresh .hero {
  --home-hero-image: url('/assets/media/torino-home-desktop.webp');
  background-image: none;
  background-color: #eaf6ff;
  isolation: isolate;
  clip-path: inset(0);
}

.page-home.copy-refresh .hero::before {
  content: '';
  display: block;
  position: fixed;
  inset: 0;
  width: auto;
  height: auto;
  border: 0;
  border-radius: 0;
  background: var(--home-hero-image) center bottom / cover no-repeat;
  transform: none;
  animation: none;
  pointer-events: none;
  z-index: -1;
}

.page-home.copy-refresh .hero::after {
  display: none;
}

.page-home.copy-refresh .hero-left .hero-title span,
.page-home.copy-refresh .hero-left .hero-desc,
.page-home.copy-refresh .hero-left .hero-subdesc {
  color: #080f18;
  text-shadow: none;
}

.page-home.copy-refresh .hero-left .hero-btns {
  position: relative;
  top: 3rem;
}

.page-home.copy-refresh .hero-left .hero-badge,
.page-home.copy-refresh .hero-left .hero-title strong {
  color: #3c6810;
}

.page-home.copy-refresh .hero-left .hero-btns .btn-primary {
  justify-content: space-between;
  gap: 1rem;
  text-decoration: none;
}

.page-home.copy-refresh .hero-left .hero-btns .hero-btn-blue {
  background: #080f18;
  color: #86c232;
}

.page-home.copy-refresh .hero-left .hero-btns .hero-btn-blue:hover {
  background: #101e30;
  color: #86c232;
}

.page-home.copy-refresh .hero-left .hero-btn-blue .btn-arrow {
  color: inherit;
}

@media (min-width: 769px) {
  .page-home.copy-refresh .hero-right {
    box-sizing: border-box;
    width: min(100%, 25rem);
    justify-self: end;
    align-self: center;
    padding: 1rem;
    background: #080f18;
    box-shadow: 0 12px 32px rgba(8,15,24,.16);
  }

  .page-home.copy-refresh .hero-right .hero-stats-label {
    margin: 0 0 .75rem;
    padding: 0;
    color: #c2c9c3;
  }

  .page-home.copy-refresh .hero-right .stats-grid {
    gap: 1px;
    background: rgba(242,244,239,.16);
    border-radius: 8px;
    box-shadow: none;
  }

  .page-home.copy-refresh .hero-right .stat-cell {
    padding: .85rem .75rem;
    border-radius: 0;
    background: #080f18;
  }

  .page-home.copy-refresh .hero-right .stat-cell:hover {
    background: #101e30;
  }

  .page-home.copy-refresh .hero-right .stat-number {
    font-size: clamp(2rem, 3vw, 2.75rem);
  }

  .page-home.copy-refresh .hero-right .stat-number .unit,
  .page-home.copy-refresh .hero-right .stat-sublabel {
    color: #c2c9c3;
  }

  .page-home.copy-refresh .hero-right .stat-label {
    font-size: .875rem;
    line-height: 1.35;
  }

  .page-home.copy-refresh .hero-right .stat-sublabel {
    line-height: 1.4;
  }
}

@media (min-width: 769px) and (max-width: 1024px) {
  :root .page-home.copy-refresh .hero {
    row-gap: clamp(12rem, 30svh, 22rem);
  }

  .page-home.copy-refresh .hero-right {
    width: min(100%, 36rem);
    justify-self: start;
  }
}

/* Keep an illustrated area visible before the numbers enter the page. */
@media (max-width: 1024px) {
  :root body.page-home.copy-refresh .hero {
    min-height: 100svh !important;
    align-content: start;
  }
}

@media (max-width: 768px) {
  :root body.page-home.copy-refresh .hero {
    padding-bottom: clamp(12rem, 30svh, 22rem) !important;
  }
}

@media (min-width: 768px) and (max-width: 1024px) {
  .page-home.copy-refresh .hero {
    --home-hero-image: url('/assets/media/torino-home-tablet.webp');
  }
}

@media (max-width: 767px) {
  .page-home.copy-refresh .hero {
    --home-hero-image: url('/assets/media/torino-home-mobile.webp');
  }
}
