.genuine--hero > .hero-carousel__slide {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  min-height: clamp(390px, 40vw, 520px);
  align-self: stretch;
}
.genuine--hero > .hero-carousel__slide.is-active {
  align-self: stretch;
}
.genuine--hero > .hero-carousel__slide--newbeat,
.genuine--hero > .hero-carousel__slide--awht,
.genuine--hero > .hero-carousel__slide--dck {
  align-items: center;
}
.genuine--hero > .genuine__inner {
  align-items: center;
  grid-template-columns: minmax(0, .86fr) minmax(0, 1.14fr);
}
.genuine__copy,
.newbeat-banner__copy,
.awht-banner__copy,
.dck-banner__copy,
.genuine__showcase,
.newbeat-banner__products,
.awht-banner__visual,
.dck-banner__products {
  min-width: 0;
  align-self: center;
}
.newbeat-banner__products,
.dck-banner__products {
  height: clamp(250px, 26vw, 330px);
}
.awht-banner__visual { min-height: clamp(250px, 26vw, 330px); }

@media (max-width: 900px) {
  .genuine--hero > .hero-carousel__slide {
    min-height: 0;
    align-content: center;
    gap: .75rem;
    padding-top: 1.5rem;
    padding-bottom: 1rem;
  }
  .genuine--hero > .genuine__inner {
    grid-template-columns: minmax(0, 1fr);
  }
  .genuine--hero > .hero-carousel__slide--newbeat,
  .genuine--hero > .hero-carousel__slide--awht,
  .genuine--hero > .hero-carousel__slide--dck {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
  }
  .genuine--hero .genuine__copy,
  .genuine--hero .newbeat-banner__copy,
  .genuine--hero .awht-banner__copy,
  .genuine--hero .dck-banner__copy,
  .genuine--hero .genuine__showcase,
  .genuine--hero .newbeat-banner__products,
  .genuine--hero .awht-banner__visual,
  .genuine--hero .dck-banner__products {
    width: 100%;
    max-width: 100%;
    justify-self: stretch;
    align-self: center;
  }
  .genuine--hero .genuine__showcase,
  .genuine--hero .newbeat-banner__products,
  .genuine--hero .dck-banner__products,
  .genuine--hero .awht-banner__visual {
    height: clamp(230px, 35vw, 310px);
    min-height: clamp(230px, 35vw, 310px);
  }
  .genuine--hero .genuine__stage {
    height: 100%;
    aspect-ratio: auto;
  }
  .genuine--hero .awht-banner__logo-card {
    min-height: 0;
    height: min(100%, 250px);
  }
}

@media (max-width: 620px) {
  .genuine--hero > .hero-carousel__slide {
    gap: .5rem;
    padding-top: 1rem;
    padding-bottom: .5rem;
  }
  .genuine--hero .genuine__showcase,
  .genuine--hero .newbeat-banner__products,
  .genuine--hero .dck-banner__products,
  .genuine--hero .awht-banner__visual {
    height: clamp(190px, 58vw, 250px);
    min-height: clamp(190px, 58vw, 250px);
  }
  .genuine--hero .genuine__lead,
  .genuine--hero .newbeat-banner__lead,
  .genuine--hero .awht-banner__lead,
  .genuine--hero .dck-banner__lead {
    max-width: 100%;
  }
  .genuine--hero .genuine__actions { margin-bottom: .75rem; }
  .genuine--hero .genuine__meta { gap: .5rem 1rem; }
  .genuine--hero .awht-banner__logo-card {
    width: min(100%, 440px);
    height: 100%;
    padding: 1rem;
  }
  .genuine--hero .awht-banner__logo-card img { max-height: 100%; }
  .genuine--hero .dck-product figcaption,
  .genuine--hero .newbeat-product figcaption {
    white-space: normal;
    line-height: 1.2;
  }
}


/* Compact, balanced hero frame across viewport sizes */
.genuine--hero {
  padding-top: clamp(1rem, 2vw, 1.75rem);
  padding-bottom: clamp(1rem, 1.5vw, 1.5rem);
}
.genuine--hero > .hero-carousel__slide { min-height: clamp(350px, 31vw, 430px); }
.genuine--hero .genuine__stage {
  height: clamp(300px, 29vw, 390px);
  min-height: 0;
  aspect-ratio: auto;
}
.genuine--hero .newbeat-banner__products,
.genuine--hero .dck-banner__products { height: clamp(210px, 22vw, 280px); }
.genuine--hero .awht-banner__visual {
  height: clamp(210px, 22vw, 280px);
  min-height: 0;
}
.genuine--hero > .hero-carousel__slide--newbeat,
.genuine--hero > .hero-carousel__slide--awht,
.genuine--hero > .hero-carousel__slide--dck {
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}
@media (max-width: 900px) {
  .genuine--hero { padding-top: 1rem; padding-bottom: 1rem; }
  .genuine--hero > .hero-carousel__slide {
    min-height: 0;
    gap: .5rem;
    padding-top: .9rem;
    padding-bottom: .7rem;
  }
  .genuine--hero .genuine__stage,
  .genuine--hero .newbeat-banner__products,
  .genuine--hero .dck-banner__products,
  .genuine--hero .awht-banner__visual {
    height: clamp(190px, 27vw, 245px);
    min-height: clamp(190px, 27vw, 245px);
  }
  .genuine--hero .genuine__item img { height: 180px; }
}
@media (max-width: 620px) {
  .genuine--hero { padding-top: .65rem; padding-bottom: .65rem; }
  .genuine--hero > .hero-carousel__slide {
    gap: .35rem;
    padding-top: .65rem;
    padding-bottom: .45rem;
  }
  .genuine--hero .genuine__stage,
  .genuine--hero .newbeat-banner__products,
  .genuine--hero .dck-banner__products,
  .genuine--hero .awht-banner__visual {
    height: clamp(145px, 44vw, 175px);
    min-height: clamp(145px, 44vw, 175px);
  }
  .genuine--hero .genuine__item img { height: 145px; }
  .genuine--hero .awht-banner__logo-card { padding: .7rem; }
}


/* Individually linked hero products with touch swipe on phones. */
.newbeat-banner__products > .newbeat-product, .dck-banner__products > .dck-product { cursor:pointer; text-decoration:none; -webkit-tap-highlight-color:transparent; }
.newbeat-banner__products > .newbeat-product:focus-visible, .dck-banner__products > .dck-product:focus-visible { outline:2px solid #fff; outline-offset:3px; border-radius:8px; }
.newbeat-product figure, .dck-product figure { width:100%; height:100%; margin:0; display:grid; justify-items:center; align-content:end; }
@media (max-width:620px) {
  .genuine--hero .newbeat-banner__products, .genuine--hero .dck-banner__products { display:flex; align-items:stretch; gap:.55rem; overflow-x:auto; overflow-y:hidden; padding:.2rem .2rem .55rem; scroll-snap-type:x mandatory; scroll-padding-inline:.2rem; overscroll-behavior-x:contain; -webkit-overflow-scrolling:touch; scrollbar-width:thin; height:clamp(155px,43vw,185px); min-height:0; }
  .genuine--hero .newbeat-banner__products::before { content:none; }
  .genuine--hero .newbeat-product, .genuine--hero .dck-product { position:relative; inset:auto; flex:0 0 min(66vw,190px); width:min(66vw,190px); max-width:none; height:100%; min-height:0; scroll-snap-align:start; animation:newbeatFloat 5.5s ease-in-out infinite; }
  .genuine--hero .newbeat-product--grinder, .genuine--hero .dck-product--grinder { animation-delay:-1.7s; }
  .genuine--hero .newbeat-product--saw, .genuine--hero .dck-product--saw { animation-delay:-3.1s; }
  .genuine--hero .newbeat-product figure, .genuine--hero .dck-product figure { align-content:stretch; grid-template-rows:minmax(0,1fr) auto; }
  .genuine--hero .newbeat-product img, .genuine--hero .dck-product img { width:100%; height:100%; max-height:142px; object-fit:contain; }
  .genuine--hero .newbeat-product figcaption, .genuine--hero .dck-product figcaption { margin:.15rem 0 0; white-space:nowrap; font-size:.5rem; }
}
@media (prefers-reduced-motion:reduce) { .genuine--hero .newbeat-product, .genuine--hero .dck-product { animation:none !important; } }


/* AWHT brand slide: compact logo plus a real, linked product row. */
.genuine--hero .hero-carousel__slide--awht { grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr); gap:clamp(1rem,2.4vw,2.4rem); }
.genuine--hero .awht-banner__visual { display:grid; grid-template-rows:clamp(58px,6vw,78px) minmax(0,1fr); gap:.5rem; height:clamp(235px,24vw,300px); min-height:0; }
.genuine--hero .awht-banner__brand-link { display:grid; place-items:center; height:100%; width:min(82%,420px); justify-self:center; position:relative; z-index:1; }
.genuine--hero .awht-banner__brand-link img { display:block; width:100%; height:100%; max-height:76px; object-fit:contain; filter:drop-shadow(0 6px 16px rgba(255,255,255,.12)); }
.genuine--hero .awht-banner__products { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:stretch; gap:.6rem; min-width:0; min-height:0; height:100%; position:relative; z-index:1; }
.genuine--hero .awht-product { min-width:0; min-height:0; display:grid; grid-template-rows:minmax(0,1fr) auto; align-items:center; justify-items:center; padding:.35rem .3rem .45rem; border:1px solid rgba(255,255,255,.13); border-radius:12px; background:rgba(255,255,255,.045); color:#f5eeee; text-decoration:none; transition:transform .22s ease,border-color .22s ease,background .22s ease; }
.genuine--hero .awht-product:hover { transform:translateY(-4px); border-color:rgba(231,182,76,.55); background:rgba(255,255,255,.075); }
.genuine--hero .awht-product img { display:block; width:100%; height:100%; max-height:180px; object-fit:contain; mix-blend-mode:multiply; filter:drop-shadow(0 9px 12px rgba(0,0,0,.28)); }
.genuine--hero .awht-product span { display:block; max-width:100%; color:rgba(255,255,255,.8); font-family:var(--font-display); font-size:.56rem; line-height:1.2; letter-spacing:.08em; text-align:center; }
.genuine--hero .awht-product:focus-visible { outline:2px solid #f0c56e; outline-offset:3px; }
@media (max-width:900px) {
  .genuine--hero .awht-banner__visual { height:clamp(220px,30vw,255px); }
  .genuine--hero .awht-product img { max-height:150px; }
}
@media (max-width:620px) {
  .genuine--hero .awht-banner__visual { grid-template-rows:50px 145px; gap:.35rem; height:auto; min-height:0; }
  .genuine--hero .awht-banner__brand-link { width:min(74%,300px); }
  .genuine--hero .awht-banner__brand-link img { max-height:48px; }
  .genuine--hero .awht-banner__products { display:flex; overflow-x:auto; overflow-y:hidden; gap:.5rem; padding:.1rem .2rem .4rem; scroll-snap-type:x mandatory; scroll-padding-inline:.2rem; overscroll-behavior-x:contain; -webkit-overflow-scrolling:touch; scrollbar-width:thin; }
  .genuine--hero .awht-product { flex:0 0 min(45vw,160px); width:min(45vw,160px); height:140px; padding:.25rem .25rem .35rem; scroll-snap-align:start; animation:newbeatFloat 5.8s ease-in-out infinite; }
  .genuine--hero .awht-product--grinder { animation-delay:-1.7s; }
  .genuine--hero .awht-product--demolition { animation-delay:-3.1s; }
  .genuine--hero .awht-product img { max-height:112px; }
  .genuine--hero .awht-product span { font-size:.48rem; }
}
@media (prefers-reduced-motion:reduce) { .genuine--hero .awht-product { animation:none !important; transition:none; } }
