/* BiletConcert v9 / 2026-10-15
   Hero repaired structurally. NO text over media; no absolute images on homepage.
   Load after v7/v8 and all older premium CSS files. */
body.home-page .hero {
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  height:auto!important;
  padding:clamp(22px,3.5vw,46px)!important;
  margin:20px 0 46px!important;
  overflow:visible!important;
  background:#f8f7f4!important;
  border:1px solid #e7e4df!important;
  border-radius:22px!important;
  box-shadow:none!important;
}
body.home-page .hero .hero-copy,
body.home-page .hero .hero-panel,
body.home-page .hero .hero-featured {
  display:block!important;
  position:relative!important;
  width:100%!important;
  height:auto!important;
  min-width:0!important;
  max-width:100%!important;
  padding:0!important;
  margin:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  overflow:visible!important;
}
body.home-page .hero .hero-copy h1 {
  font-family:inherit!important;
  line-height:1.06!important;
  letter-spacing:-.035em!important;
  font-size:clamp(35px,4.8vw,66px)!important;
  max-width:950px!important;
  text-wrap:balance!important;
  overflow-wrap:break-word!important;
}
body.home-page .hero .hero-copy > p {font-size:clamp(15px,1.6vw,18px)!important;line-height:1.5!important;max-width:70ch!important;}
body.home-page .hero .hero-search {max-width:740px!important;width:100%!important;min-width:0!important;}
body.home-page .hero .hero-featured {margin-top:clamp(25px,3vw,36px)!important;}
body.home-page .hero .hero-featured-title {margin-bottom:13px!important;display:flex!important;align-items:baseline!important;flex-wrap:wrap!important;gap:10px!important;}
body.home-page .hero .hero-featured-title small {display:block!important;line-height:1.45!important;}
body.home-page .hero .hero-mosaic-v17 {
  display:grid!important;
  grid-template-columns:minmax(0,1.5fr) repeat(2,minmax(0,1fr))!important;
  grid-template-rows:repeat(2,minmax(0,auto))!important;
  grid-auto-flow:row!important;
  grid-auto-rows:auto!important;
  align-items:stretch!important;
  width:100%!important;
  max-width:100%!important;
  height:auto!important;
  min-height:0!important;
  overflow:visible!important;
  gap:12px!important;
}
body.home-page .hero .hero-mosaic-v17 > .hero-tile,
body.home-page .hero .hero-mosaic-v17 > .hero-tile-main,
body.home-page .hero .hero-mosaic-v17 > .hero-tile:not(.hero-tile-main) {
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  grid-template-rows:auto minmax(0,1fr)!important;
  position:relative!important;
  box-sizing:border-box!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  min-height:0!important;
  max-height:none!important;
  height:100%!important;
  aspect-ratio:auto!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  background:#fff!important;
  color:#21313a!important;
  border:1px solid #e5e5e0!important;
  border-radius:13px!important;
  box-shadow:0 4px 14px rgba(28,41,47,.055)!important;
  isolation:isolate!important;
  transform:none!important;
}
body.home-page .hero .hero-mosaic-v17 > .hero-tile-main {grid-column:1!important;grid-row:1/span 2!important;}
body.home-page .hero .hero-mosaic-v17 > .hero-tile:not(.hero-tile-main) {grid-column:auto!important;grid-row:auto!important;}
body.home-page .hero .hero-mosaic-v17 > .hero-tile > img,
body.home-page .hero .hero-mosaic-v17 > .hero-tile > .hero-tile-fallback {
  display:block!important;
  position:relative!important;
  inset:auto!important;
  grid-column:1!important;
  grid-row:1!important;
  z-index:0!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  aspect-ratio:16/9!important;
  object-fit:cover!important;
  object-position:center!important;
  transform:none!important;
  filter:none!important;
  border:0!important;
  border-radius:0!important;
}
body.home-page .hero .hero-mosaic-v17 > .hero-tile-main > img,
body.home-page .hero .hero-mosaic-v17 > .hero-tile-main > .hero-tile-fallback {aspect-ratio:4/3!important;}
body.home-page .hero .hero-mosaic-v17 > .hero-tile > .hero-tile-shade {display:none!important;}
body.home-page .hero .hero-mosaic-v17 > .hero-tile > .hero-tile-copy,
body.home-page .hero .hero-mosaic-v17 > .hero-tile-main > .hero-tile-copy {
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  justify-content:flex-start!important;
  position:relative!important;
  inset:auto!important;
  grid-column:1!important;
  grid-row:2!important;
  z-index:1!important;
  box-sizing:border-box!important;
  min-width:0!important;
  max-width:100%!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  padding:clamp(11px,1.5vw,17px)!important;
  background:#fff!important;
  color:#26363e!important;
  text-shadow:none!important;
}
body.home-page .hero .hero-mosaic-v17 > .hero-tile > .hero-tile-copy > span {font-size:10px!important;color:#89673f!important;line-height:1.3!important;letter-spacing:.025em!important;}
body.home-page .hero .hero-mosaic-v17 > .hero-tile > .hero-tile-copy h2,
body.home-page .hero .hero-mosaic-v17 > .hero-tile-main > .hero-tile-copy h2 {
  font-family:inherit!important;
  display:-webkit-box!important;
  -webkit-line-clamp:3!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
  color:#20313b!important;
  font-weight:750!important;
  font-size:clamp(14px,1.3vw,18px)!important;
  line-height:1.22!important;
  letter-spacing:-.017em!important;
  margin:7px 0!important;
  max-width:100%!important;
  overflow-wrap:anywhere!important;
  text-wrap:initial!important;
}
body.home-page .hero .hero-mosaic-v17 > .hero-tile-main > .hero-tile-copy h2 {font-size:clamp(23px,2.5vw,32px)!important;-webkit-line-clamp:4!important;}
body.home-page .hero .hero-mosaic-v17 > .hero-tile > .hero-tile-copy p {font-size:12px!important;line-height:1.4!important;color:#68777e!important;margin:0 0 9px!important;overflow:hidden!important;white-space:nowrap!important;text-overflow:ellipsis!important;}
body.home-page .hero .hero-mosaic-v17 > .hero-tile > .hero-tile-copy b {font-size:14px!important;color:#304b55!important;margin-top:auto!important;padding-top:5px!important;line-height:1.3!important;}
body.home-page .hero .hero-mosaic-v17 > .hero-tile-main > .hero-tile-copy b {font-size:17px!important;}
body.home-page .hero .hero-mosaic-v17 > .hero-tile:hover {transform:translateY(-2px)!important;box-shadow:0 12px 28px rgba(28,41,47,.1)!important;}
body.home-page .hero .hero-mosaic-v17 > .hero-tile:hover img {transform:none!important;}
/* Control card images below the hero as well. */
body.home-page .cards > a.card {overflow:hidden!important;min-width:0!important;}
body.home-page .cards > a.card > .pic {position:relative!important;overflow:hidden!important;min-width:0!important;}
body.home-page .cards > a.card > .pic > img {max-width:100%!important;object-fit:cover!important;}
body.home-page .cards > a.card > .card-body {min-width:0!important;position:relative!important;z-index:1!important;background:inherit!important;}
/* Keep the page responsive while rendering the long sections further down. */
@supports (content-visibility:auto) {
  body.home-page main > section:not(.hero):not(.quick-dates) {content-visibility:auto;contain-intrinsic-size:auto 600px;}
}
@media (max-width:1000px) {
  body.home-page .hero .hero-mosaic-v17 {grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-rows:none!important;}
  body.home-page .hero .hero-mosaic-v17 > .hero-tile-main {grid-column:1/-1!important;grid-row:auto!important;}
  body.home-page .hero .hero-mosaic-v17 > .hero-tile-main > img,
  body.home-page .hero .hero-mosaic-v17 > .hero-tile-main > .hero-tile-fallback {aspect-ratio:16/8!important;}
}
@media (max-width:700px) {
  body.home-page .hero {padding:18px 14px!important;margin:12px 0 28px!important;border-radius:16px!important;}
  body.home-page .hero .hero-copy h1 {font-size:clamp(31px,8vw,43px)!important;margin:10px 0 12px!important;}
  body.home-page .hero .hero-featured {margin-top:22px!important;}
  body.home-page .hero .hero-mosaic-v17 {grid-template-columns:minmax(0,1fr)!important;gap:10px!important;}
  body.home-page .hero .hero-mosaic-v17 > .hero-tile-main {grid-column:auto!important;grid-row:auto!important;}
  body.home-page .hero .hero-mosaic-v17 > .hero-tile-main > img,
  body.home-page .hero .hero-mosaic-v17 > .hero-tile-main > .hero-tile-fallback {aspect-ratio:16/9!important;}
  body.home-page .hero .hero-mosaic-v17 > .hero-tile:not(.hero-tile-main) {
    grid-template-columns:100px minmax(0,1fr)!important;
    grid-template-rows:minmax(112px,auto)!important;
    height:auto!important;
    min-height:112px!important;
    align-items:stretch!important;
  }
  body.home-page .hero .hero-mosaic-v17 > .hero-tile:not(.hero-tile-main) > img,
  body.home-page .hero .hero-mosaic-v17 > .hero-tile:not(.hero-tile-main) > .hero-tile-fallback {
    grid-column:1!important;grid-row:1!important;position:relative!important;
    align-self:stretch!important;width:100%!important;height:100%!important;
    aspect-ratio:auto!important;min-height:112px!important;object-fit:cover!important;
  }
  body.home-page .hero .hero-mosaic-v17 > .hero-tile:not(.hero-tile-main) > .hero-tile-copy {
    grid-column:2!important;grid-row:1!important;position:relative!important;
    padding:11px 12px!important;height:auto!important;min-width:0!important;
  }
  body.home-page .hero .hero-mosaic-v17 > .hero-tile:not(.hero-tile-main) > .hero-tile-copy h2 {font-size:14px!important;-webkit-line-clamp:2!important;margin:5px 0!important;}
  body.home-page .hero .hero-mosaic-v17 > .hero-tile:not(.hero-tile-main) > .hero-tile-copy p {font-size:10px!important;margin:0 0 3px!important;}
  body.home-page .hero .hero-featured-title {gap:8px!important;}
  body.home-page .hero .hero-featured-title a {white-space:normal!important;}
  body.home-page .hero .hero-search {min-width:0!important;}
}
@media (max-width:360px) {
  body.home-page .hero .hero-mosaic-v17 > .hero-tile:not(.hero-tile-main) {grid-template-columns:86px minmax(0,1fr)!important;}
  body.home-page .hero .hero-mosaic-v17 > .hero-tile:not(.hero-tile-main) > .hero-tile-copy {padding:9px!important;}
}
@media (prefers-reduced-motion:reduce) {body.home-page .hero .hero-mosaic-v17 > .hero-tile:hover {transform:none!important;}}
/* On wide screens let the lead photograph take the spare height, not the text panel. */
@media (min-width:1001px) {
  body.home-page .hero .hero-mosaic-v17 > .hero-tile-main {
    grid-template-rows:minmax(0,1fr) auto!important;
  }
  body.home-page .hero .hero-mosaic-v17 > .hero-tile-main > img,
  body.home-page .hero .hero-mosaic-v17 > .hero-tile-main > .hero-tile-fallback {
    height:100%!important;
    min-height:340px!important;
    aspect-ratio:auto!important;
  }
}
