/* HOVY homepage refinement v5 — 2026-09-24 */
@media (min-width: 821px) {
  .home-hero {
    min-height: max(900px, 100svh) !important;
  }
  .home-hero .hero-panel {
    min-height: max(900px, 100svh) !important;
    padding-top: 118px !important;
    padding-bottom: 40px !important;
  }
  .home-hero .hero-title-block {
    grid-column: 1 / span 4 !important;
    max-width: 340px !important;
  }
  .home-hero .micro-label {
    margin-bottom: 18px !important;
    font-size: 9px !important;
    line-height: 1.45 !important;
  }
  .home-hero .hero-title-block h1 {
    font-size: clamp(80px, 7vw, 118px) !important;
    line-height: 0.8 !important;
  }
  .home-hero .artist-role {
    margin-top: 18px !important;
    font-size: 10px !important;
    letter-spacing: .22em !important;
  }
  .home-hero .hero-actions {
    width: min(300px, 100%) !important;
    margin-top: 28px !important;
  }
  .home-hero .hero-action,
  .home-hero .hero-action-primary {
    min-height: 54px !important;
  }
  .home-hero .hero-action::before {
    flex-basis: 34px !important;
    font-size: 8px !important;
  }
  .home-hero .hero-action > span {
    font-size: 12px !important;
    line-height: 1.3 !important;
  }
  .home-hero .now-list {
    max-width: 330px !important;
    margin-top: 10px !important;
  }
  .home-hero .now-title {
    font-size: 9px !important;
    padding-bottom: 8px !important;
  }
  .home-hero .now-list a {
    min-height: 42px !important;
  }
  .home-hero .now-list small {
    flex-basis: 58px !important;
    font-size: 8px !important;
  }
  .home-hero .now-list a > span {
    font-size: 10px !important;
    line-height: 1.35 !important;
  }
  .home-hero .hero-art img {
    object-fit: cover !important;
    object-position: 58% 64% !important;
  }
  .home-hero .hero-shade {
    background:
      linear-gradient(90deg, rgba(0,0,0,.74) 0%, rgba(0,0,0,.48) 18%, rgba(0,0,0,.18) 35%, rgba(0,0,0,0) 64%),
      linear-gradient(180deg, rgba(0,0,0,.15) 0%, rgba(0,0,0,0) 28%, rgba(0,0,0,.08) 100%) !important;
  }
}

.home-hero .hero-action b,
.home-hero .now-list b,
.mobile-now-list b,
.function-strip b,
.booking-email b,
.featured-event__ticket b {
  display: none !important;
}

@media (max-width: 820px) {
  .home-hero {
    min-height: 100svh !important;
    background: #050505 !important;
  }
  .home-hero .hero-panel {
    min-height: 0 !important;
    padding: 86px var(--mobile-outer) 26px !important;
    align-items: flex-start !important;
    text-align: left !important;
  }
  .home-hero .micro-label {
    margin-bottom: 16px !important;
    max-width: 320px !important;
    font-size: 10px !important;
    line-height: 1.45 !important;
  }
  .home-hero .hero-title-block h1 {
    font-size: clamp(58px, 18vw, 82px) !important;
    line-height: 0.84 !important;
  }
  .home-hero .artist-role {
    margin-top: 14px !important;
    font-size: 12px !important;
    letter-spacing: .18em !important;
  }
  .home-hero .hero-actions {
    width: 100% !important;
    max-width: 360px !important;
    margin-top: 24px !important;
  }
  .home-hero .hero-action,
  .home-hero .hero-action-primary {
    min-height: 52px !important;
    padding: 0 12px !important;
  }
  .home-hero .hero-action::before { font-size: 10px !important; }
  .home-hero .hero-action > span {
    font-size: 13px !important;
    line-height: 1.3 !important;
  }
  .home-hero .hero-art {
    order: 2 !important;
    height: clamp(420px, 48svh, 580px) !important;
    background: #050505 !important;
    border-top: 1px solid rgba(255,255,255,.1) !important;
    border-bottom: 1px solid rgba(255,255,255,.1) !important;
  }
  .home-hero .hero-art img {
    object-fit: contain !important;
    object-position: 50% 40% !important;
    transform: none !important;
    filter: none !important;
  }
  .home-hero .hero-shade {
    display: block !important;
    background:
      linear-gradient(180deg, rgba(0,0,0,.22) 0%, rgba(0,0,0,0) 22%),
      linear-gradient(90deg, rgba(0,0,0,.84) 0%, rgba(0,0,0,.42) 42%, rgba(0,0,0,.08) 82%) !important;
  }
  .mobile-now-list {
    padding: 18px var(--mobile-outer) 34px !important;
    background: #050505 !important;
    color: #f3f0e8 !important;
  }
  .mobile-now-list .now-title {
    padding-bottom: 10px !important;
    color: rgba(243,240,232,.72) !important;
    font-size: 11px !important;
  }
  .mobile-now-list a {
    min-height: 58px !important;
    grid-template-columns: 72px minmax(0,1fr) !important;
    gap: 14px !important;
    border-bottom: 1px solid rgba(243,240,232,.18) !important;
    color: rgba(243,240,232,.95) !important;
  }
  .mobile-now-list small {
    color: rgba(243,240,232,.5) !important;
    font-size: 10px !important;
  }
  .mobile-now-list a > span {
    font-size: 13px !important;
    line-height: 1.35 !important;
  }
  .schedule-section .section-heading {
    row-gap: 36px !important;
    margin: 72px 0 56px !important;
  }
  .schedule-section .section-heading p {
    font-size: 14px !important;
    line-height: 1.75 !important;
  }
  .schedule-index { font-size: 11px !important; }
  .schedule-row {
    min-height: 132px !important;
    padding: 18px 0 !important;
  }
  .schedule-row strong { font-size: 24px !important; }
  .schedule-row h3 {
    margin-bottom: 10px !important;
    font-size: 20px !important;
  }
  .schedule-row .schedule-venue {
    font-size: 10px !important;
    line-height: 1.45 !important;
  }
  .schedule-address {
    max-width: none !important;
    margin-top: 8px !important;
    font-size: 11px !important;
    line-height: 1.6 !important;
  }
}
