/* V31 — V4 HERO RESTORED */
.hero-v4-restored{
  min-height:100svh;
  height:100svh;
  position:relative;
  display:flex;
  align-items:flex-end;
  overflow:hidden;
  background:#080808;
  isolation:isolate;
  margin:0;
  padding:0;
}

.hero-video-wrap-v4{
  position:absolute;
  inset:0;
  overflow:hidden;
  background:#080808;
  transform:scale(1.015);
  animation:heroDriftV4 16s ease-out both;
  z-index:0;
}

.hero-video-v4{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  display:block;
  filter:saturate(.9) contrast(1.03) brightness(.82);
  pointer-events:none;
}

.hero-poster-v4{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 24%;
  z-index:-1;
  pointer-events:none;
}

.hero-vignette-v4{
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:
    linear-gradient(270deg,rgba(0,0,0,.92) 0,rgba(0,0,0,.5) 43%,rgba(0,0,0,.1) 75%),
    linear-gradient(0deg,rgba(0,0,0,.88),transparent 55%);
}

body.en .hero-vignette-v4{
  background:
    linear-gradient(90deg,rgba(0,0,0,.92) 0,rgba(0,0,0,.5) 43%,rgba(0,0,0,.1) 75%),
    linear-gradient(0deg,rgba(0,0,0,.88),transparent 55%);
}

.hero-copy-v4{
  position:relative;
  z-index:3;
  width:min(780px,88vw);
  margin:0 7vw 11vh;
}

.hero-copy-v4 .eyebrow{
  font:500 10px Manrope,sans-serif;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:#b89b68;
}

.hero-copy-v4 h1{
  font-size:clamp(68px,8.7vw,148px);
  line-height:.9;
  margin:22px 0 24px;
  font-weight:300;
  letter-spacing:-.055em;
}

.hero-copy-v4 .hero-tagline{
  font-size:clamp(24px,2.6vw,43px);
  font-weight:300;
  margin:0 0 18px;
}

.hero-copy-v4 .hero-desc{
  width:min(570px,100%);
  font-size:15px;
  line-height:1.9;
  opacity:.78;
}

.hero-copy-v4 .hero-actions{
  display:flex;
  gap:12px;
  margin-top:34px;
}

.hero-index-v4{
  position:absolute;
  z-index:3;
  left:4vw;
  bottom:5vh;
  display:flex;
  gap:10px;
  align-items:center;
  font:500 9px Manrope,sans-serif;
  letter-spacing:.12em;
  opacity:.6;
}

.hero-index-v4 i{
  width:42px;
  height:1px;
  background:currentColor;
}

.scroll-indicator-v4{
  position:absolute;
  z-index:3;
  right:4vw;
  bottom:4vh;
  color:#fff;
  text-decoration:none;
  font-size:10px;
  display:flex;
  align-items:center;
  gap:12px;
  opacity:.6;
}

.scroll-indicator-v4 i{
  width:1px;
  height:44px;
  background:#fff;
  animation:pulse 1.8s infinite;
}

@keyframes heroDriftV4{
  from{transform:scale(1.045) translateY(0)}
  to{transform:scale(1.015) translateY(-1.5%)}
}

@media(max-width:980px){
  .hero-copy-v4{
    margin-bottom:13vh;
  }
  .hero-copy-v4 h1{
    font-size:clamp(64px,15vw,110px);
  }
}

@media(max-width:640px){
  .hero-v4-restored{
    min-height:100svh;
    height:100svh;
  }

  .hero-video-v4{
    object-position:center center;
  }

  .hero-poster-v4{
    object-position:center 18%;
  }

  .hero-vignette-v4{
    background:
      linear-gradient(0deg,rgba(0,0,0,.9) 0,rgba(0,0,0,.48) 45%,rgba(0,0,0,.18) 75%),
      linear-gradient(270deg,rgba(0,0,0,.18),rgba(0,0,0,.05));
  }

  body.en .hero-vignette-v4{
    background:
      linear-gradient(0deg,rgba(0,0,0,.9) 0,rgba(0,0,0,.48) 45%,rgba(0,0,0,.18) 75%),
      linear-gradient(90deg,rgba(0,0,0,.18),rgba(0,0,0,.05));
  }

  .hero-copy-v4{
    margin:0 22px 13vh;
    width:auto;
  }

  .hero-copy-v4 h1{
    font-size:17vw;
    letter-spacing:-.06em;
  }

  .hero-copy-v4 .hero-tagline{
    font-size:26px;
    line-height:1.4;
  }

  .hero-copy-v4 .hero-desc{
    font-size:13px;
    line-height:1.9;
  }

  .hero-copy-v4 .hero-actions{
    flex-direction:column;
    align-items:stretch;
  }

  .hero-index-v4{display:none}
  .scroll-indicator-v4{right:auto;left:20px}
}


/* V34 — MOBILE HERO TYPOGRAPHY FIX
   Prevent title/nav collision and keep the opening screen editorial. */
@media(max-width:640px){
  .hero-v4-restored{
    min-height:100svh !important;
    height:100svh !important;
  }

  .hero-copy-v4{
    position:absolute !important;
    right:18px !important;
    left:18px !important;
    bottom:116px !important;
    margin:0 !important;
    width:auto !important;
    max-width:none !important;
  }

  .hero-copy-v4 .eyebrow{
    font-size:8px !important;
    line-height:1.7 !important;
    letter-spacing:.08em !important;
    margin:0 0 12px !important;
    white-space:normal !important;
    max-width:92% !important;
  }

  .hero-copy-v4 h1{
    font-size:clamp(54px,15vw,72px) !important;
    line-height:.95 !important;
    letter-spacing:-.055em !important;
    margin:0 0 15px !important;
    white-space:nowrap !important;
  }

  .hero-copy-v4 .hero-tagline{
    font-size:clamp(21px,6.5vw,28px) !important;
    line-height:1.35 !important;
    margin:0 0 10px !important;
    max-width:95% !important;
  }

  .hero-copy-v4 .hero-desc{
    font-size:11px !important;
    line-height:1.75 !important;
    margin:0 !important;
    max-width:100% !important;
  }

  .hero-copy-v4 .hero-actions{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:8px !important;
    margin-top:22px !important;
  }

  .hero-copy-v4 .btn{
    min-height:48px !important;
    min-width:0 !important;
    padding:10px 8px !important;
    font-size:11px !important;
  }

  .hero-vignette-v4{
    background:
      linear-gradient(0deg,rgba(0,0,0,.92) 0%,rgba(0,0,0,.62) 35%,rgba(0,0,0,.18) 68%,rgba(0,0,0,.08) 100%),
      linear-gradient(270deg,rgba(0,0,0,.25),rgba(0,0,0,.04)) !important;
  }
}

@media(max-width:390px){
  .hero-copy-v4{
    right:14px !important;
    left:14px !important;
    bottom:112px !important;
  }
  .hero-copy-v4 h1{
    font-size:13.7vw !important;
  }
  .hero-copy-v4 .hero-tagline{
    font-size:20px !important;
  }
  .hero-copy-v4 .hero-desc{
    font-size:10px !important;
  }
}


/* V36 — remove duplicated oversized hero name on mobile */
@media(max-width:640px){
  .hero-v4-restored .hero-copy-v4 h1{
    display:none !important;
  }

  .hero-v4-restored .hero-copy-v4{
    bottom:118px !important;
  }

  .hero-v4-restored .hero-copy-v4 .eyebrow{
    margin-bottom:10px !important;
  }

  .hero-v4-restored .hero-copy-v4 .hero-tagline{
    margin-top:0 !important;
    max-width:92% !important;
  }
}


/* V37 — definitive mobile/tablet hero title fix
   Root cause: preview viewport can be 641–980 CSS px, so the old 640px rule did not fire. */
@media (max-width:980px){
  .hero-v4-restored .hero-copy-v4 > h1,
  #home.hero-v4-restored .hero-copy-v4 > h1,
  #home .hero-copy-v4 > h1.reveal{
    display:none !important;
    visibility:hidden !important;
    opacity:0 !important;
    height:0 !important;
    min-height:0 !important;
    max-height:0 !important;
    overflow:hidden !important;
    margin:0 !important;
    padding:0 !important;
    pointer-events:none !important;
  }

  #home.hero-v4-restored .hero-copy-v4{
    right:clamp(18px,5vw,44px) !important;
    left:clamp(18px,5vw,44px) !important;
    width:auto !important;
    max-width:none !important;
  }
}
