/* poster-hero.css */

.poster-hero {
    --rx: 10deg;
    --ry: -8deg;
    --ty: 22px;
    --s: 0.98;
    position: relative;
    background: #fff;
    overflow: hidden;
    display: grid;
    place-items: center;
    min-height: 100vh;
    align-items: end;
}

.poster-hero__inner {
    width: min(1100px, 92vw);
    padding: 100px 10px 0px 10px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    perspective: 1400px;
    position: relative;
}

/* Title (big, poster style) */
.poster-hero__title {
  margin-bottom: clamp(-40px, -5vw, -15px);
  font-size: clamp(1.6rem, 5vw, 3rem);
  line-height: 0.92;
  font-weight: 900;
  letter-spacing: -0.02em;
  color: #141414;
  text-transform: uppercase;

  /* title sits BEHIND the image */
  position: relative;
  z-index: 1;

  opacity: 0;
  transform: translateY(14px);
  filter: blur(10px);
  transition: opacity 0.9s ease, transform 0.9s ease, filter 0.9s ease;
}

/* Image block */
.poster-hero__media {
  position: relative;
  width: min(560px, 82vw);
  transform-style: preserve-3d;

  /* keep it visible always */
  opacity: 1;
  filter: none;

  /* JS will control transform on scroll */
  will-change: transform;

  /* keep image above title */
  z-index: 2;
}

/* floor shadow ellipse (3D grounding) */
.poster-hero__floorShadow {
  position: absolute;
  left: 50%;
  bottom: 6%;
  width: 70%;
  height: 10%;
  transform: translateX(-50%);
  background: radial-gradient(closest-side, rgba(0, 0, 0, 0.20), transparent 70%);
  filter: blur(12px);
  z-index: 0;
}

/* The cutout image itself */
.poster-hero__img {
    width: 80%;
    height: auto;
    display: block;
    margin: 180px auto auto auto;
    position: relative;
    z-index: 0;

}

/* subtle shine on the building */
.poster-hero__shine {
  position: absolute;
  inset: 0;
  z-index: 3;
  pointer-events: none;
  border-radius: 22px;

  background: linear-gradient(
    115deg,
    rgba(255, 255, 255, 0.0) 0%,
    rgba(255, 255, 255, 0.18) 38%,
    rgba(255, 255, 255, 0.0) 65%
  );

  mix-blend-mode: screen;
  opacity: 0.35;
  transform: translateZ(55px);
}

/* JS scroll mode: we don't want CSS transitions fighting scroll */
.poster-hero.is-scroll .poster-hero__title,
.poster-hero.is-scroll .poster-hero__media {
  transition: none !important;
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  .poster-hero__title,
  .poster-hero__media {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    transition: none !important;
  }
}

/* --- HERO STATS ROW --- */
.hero__stats {
	z-index: 3;
    position: absolute;
    display: grid;
    top: 20%;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 10px;
    padding: 14px 14px;
    border-radius: 18px;
    backdrop-filter: blur(5px);
}

.stat{
  position: relative;
  padding: 10px 6px;
  text-align: center;
  
}

.stat:not(:last-child)::after{
  content:"";
  position:absolute;
  right:-5px;
  top: 18%;
  bottom: 18%;
  width: 1px;
  background: rgb(0 0 0 / 15%);
}

.stat__num{
  font-weight: 900;
  letter-spacing: -0.02em;
  font-size: clamp(1.5rem, 1.8vw, 1.6rem);
  color: var(--accent);
  line-height: 1.05;
}

.stat__label
 {
    font-weight: 600;
    margin-top: 6px;
    font-size: clamp(.6rem, 1vw, 1rem);
    line-height: 1.25;
    color: rgb(17 17 17 / 82%);
}
.stat__label span{
  color: rgba(255,255,255,0.65);
  font-size: 0.8em;
}

/* Responsive */
@media (max-width: 980px){
  .hero__stats{ grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .stat:nth-child(3)::after{ display:none; }
}
.poster-hero__title { will-change: transform, opacity; }
.poster-hero__media { will-change: transform; }
