/* One stable opening frame with a decoded, opacity-only process crossfade. */
[data-hero-carousel].journey-hero{
  --hero-crossfade-duration:1100ms;
  --journey-stage-height:100svh!important;
  height:auto!important;
  min-height:100svh!important;
  overflow:hidden;
}

[data-hero-carousel].journey-hero .journey-sentinel{display:none!important}

[data-hero-carousel].journey-hero .journey-sticky{
  position:relative!important;
  top:auto!important;
  height:auto!important;
  min-height:100svh!important;
}

[data-hero-carousel] .journey-visual,
[data-hero-carousel] .hero-frame,
[data-hero-carousel] .hero-frame img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}

[data-hero-carousel] .hero-frame{
  z-index:0;
  display:block!important;
  overflow:hidden;
  opacity:0;
  visibility:visible!important;
  pointer-events:none;
  transform:none!important;
  clip-path:none!important;
  transition:opacity var(--hero-crossfade-duration) cubic-bezier(.4,0,.2,1)!important;
}

[data-hero-carousel] .hero-frame.is-active{
  z-index:1;
  opacity:1;
}

[data-hero-carousel] .hero-frame.is-incoming{
  z-index:2;
  opacity:0;
}

[data-hero-carousel] .hero-frame.is-incoming.is-visible{opacity:1}

[data-hero-carousel] .hero-frame.is-retired{
  opacity:0;
  transition:none!important;
}

[data-hero-carousel] .hero-frame img{
  display:block;
  object-fit:cover;
  object-position:center 52%;
  filter:saturate(.72) contrast(.98) brightness(.75);
  backface-visibility:hidden;
  transform:scale(1.012);
  animation:none!important;
}

.hero-carousel-controls{
  display:grid;
  width:min(360px,32vw);
  pointer-events:auto;
}

[data-hero-carousel].journey-hero .hero-carousel-controls .journey-tabs{width:100%}

.materials-strip{
  position:relative;
  z-index:2;
  padding:clamp(24px,2.6vw,38px) 0;
  background:rgba(242,242,240,.92);
}

.materials-strip__inner{
  display:grid;
  grid-template-columns:minmax(150px,.22fr) minmax(0,1fr);
  align-items:center;
  gap:clamp(24px,4vw,64px);
}

.materials-strip h2{
  margin:0;
  color:var(--ink);
  font-size:clamp(28px,2.5vw,38px);
  line-height:1;
}

.materials-strip ul{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px clamp(18px,2.4vw,38px);
  margin:0;
  padding:0;
  list-style:none;
}

.materials-strip li{
  color:var(--ink-deep);
  font-size:clamp(13px,1vw,15px);
  font-weight:700;
  line-height:1.25;
}

@media(max-width:767px){
  [data-hero-carousel].journey-hero,
  [data-hero-carousel].journey-hero .journey-sticky{
    min-height:100svh!important;
  }

  [data-hero-carousel] .hero-frame img{object-position:58% center}

  .hero-carousel-controls{
    width:100%;
  }

  .materials-strip{padding:24px 0 28px}

  .materials-strip__inner{
    grid-template-columns:1fr;
    gap:18px;
  }

  .materials-strip ul{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px 18px;
  }
}

@media(prefers-reduced-motion:reduce){
  [data-hero-carousel] .hero-frame{
    transition:none!important;
  }

  [data-hero-carousel] .hero-frame img{transform:none!important}
}
