*{box-sizing:border-box}
html,body{
  margin:0;
  padding:0;
}
html{
  scroll-behavior:auto;
}
body{
  background:#000;
  color:#fff;
  font-family:Arial, Helvetica, sans-serif;
  overflow-x:hidden;
}

.page{
  width:100%;
}

.scene{
  position:relative;
  height:180svh;
  margin:0;
  padding:0;
}

.scene__sticky{
  position:sticky;
  top:0;
  height:100svh;
  width:100%;
  overflow:hidden;
  background:#000;
}

.scene__video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  display:block;
  background:#000;
}

.scene__video--mobile{
  display:none;
}

.scene__overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(to bottom, rgba(0,0,0,.12) 0%, rgba(0,0,0,.06) 35%, rgba(0,0,0,.34) 100%);
  pointer-events:none;
}

.scene__content{
  position:relative;
  z-index:2;
  width:min(100%, 1400px);
  height:100%;
  margin:0 auto;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  align-items:center;
  text-align:center;
  padding:8vh 5vw 7vh;
  pointer-events:none;
}

.scene__claim,
.scene__copy p{
  font-family:'Caveat', cursive;
  color:#fff;
  text-shadow:
    0 4px 12px rgba(0,0,0,.65),
    0 10px 28px rgba(0,0,0,.55),
    0 0 2px rgba(0,0,0,.7);
}

.scene__claim{
  margin:0 0 .9rem 0;
  font-size:clamp(40px, 5vw, 86px);
  line-height:.95;
  font-weight:700;
}

.scene__copy{
  width:min(100%, 980px);
  opacity:0;
  transform:translateY(12px);
  transition:opacity .25s ease, transform .25s ease;
}

.scene__copy.is-visible{
  opacity:1;
  transform:translateY(0);
}

.scene__copy p{
  margin:0 0 .28rem 0;
  font-size:clamp(24px, 2vw, 40px);
  line-height:1.06;
}

.scene__copy p:last-child{
  margin-bottom:0;
}

@media (max-width:1024px){
  .scene{
    height:165svh;
  }

  .scene__claim{
    font-size:clamp(32px, 6vw, 58px);
    margin-bottom:.7rem;
  }

  .scene__copy p{
    font-size:clamp(20px, 3.2vw, 28px);
  }
}

@media (max-width:820px){
  .scene{
    height:150svh;
  }

  .scene__video--desktop{
    display:none;
  }

  .scene__video--mobile{
    display:block;
  }

  .scene__content{
    padding:6vh 4.8vw 6vh;
  }

  .scene__claim{
    font-size:clamp(28px, 8vw, 44px);
    margin-bottom:.55rem;
  }

  .scene__copy{
    width:100%;
    max-width:560px;
  }

  .scene__copy p{
    font-size:clamp(18px, 4.7vw, 23px);
    line-height:1.1;
    margin-bottom:.2rem;
  }
}

@media (max-width:430px){
  .scene{
    height:142svh;
  }

  .scene__content{
    padding:5vh 4.2vw 5.5vh;
  }

  .scene__claim{
    font-size:clamp(25px, 8.5vw, 36px);
  }

  .scene__copy p{
    font-size:clamp(16px, 4.8vw, 20px);
  }
}


/* Contact section */
.contact{
  background:#000;
  padding:4rem 1rem 4.5rem;
  text-align:center;
}

.contact__inner{
  display:flex;
  flex-direction:column;
  gap:1rem;
  align-items:center;
}

.contact a{
  font-family:'Caveat', cursive;
  color:#fff;
  text-decoration:none;
  font-size:clamp(26px, 3vw, 42px);
  text-shadow:
    0 4px 12px rgba(0,0,0,.65),
    0 10px 28px rgba(0,0,0,.55),
    0 0 2px rgba(0,0,0,.7);
  transition:opacity .2s ease, transform .2s ease;
}

.contact a:hover{
  opacity:.8;
  transform:translateY(-2px);
}


/* Inline YouTube trigger */
.inline-video-trigger{
  appearance:none;
  border:0;
  background:transparent;
  padding:0;
  margin:0;
  color:#fff;
  font:inherit;
  font-family:'Caveat', cursive;
  cursor:pointer;
  text-decoration:underline;
  text-decoration-thickness:1.5px;
  text-underline-offset:4px;
  text-shadow:
    0 4px 12px rgba(0,0,0,.65),
    0 10px 28px rgba(0,0,0,.55),
    0 0 2px rgba(0,0,0,.7);
}
.inline-video-trigger:hover{
  opacity:.85;
}

/* YouTube modal */
.video-modal{
  position:fixed;
  inset:0;
  z-index:9999;
  opacity:0;
  visibility:hidden;
  transition:opacity .2s ease, visibility .2s ease;
}
.video-modal.is-open{
  opacity:1;
  visibility:visible;
}
.video-modal__backdrop{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.8);
}
.video-modal__dialog{
  position:relative;
  z-index:1;
  width:min(92vw, 1100px);
  margin:min(6vh, 40px) auto 0;
}
.video-modal__close{
  position:absolute;
  top:-42px;
  right:0;
  appearance:none;
  border:0;
  background:transparent;
  color:#fff;
  font-size:36px;
  line-height:1;
  cursor:pointer;
}
.video-modal__frame{
  position:relative;
  width:100%;
  aspect-ratio:16/9;
  background:#000;
  box-shadow:0 20px 50px rgba(0,0,0,.45);
}
.video-modal__frame iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
}
body.has-modal-open{
  overflow:hidden;
}

@media (max-width: 820px){
  .video-modal__dialog{
    width:min(94vw, 900px);
    margin:10vh auto 0;
  }
  .video-modal__close{
    top:-36px;
    font-size:32px;
  }
}


/* Fix clickability over videos */
.scene__video{
  pointer-events:none !important;
}

.scene__content{
  position:relative;
  z-index:5 !important;
}

.inline-video-trigger{
  pointer-events:auto !important;
  position:relative;
  z-index:6 !important;
}


/* Fix real click handling for popup trigger */
.scene__content{
  pointer-events:auto !important;
}

.scene__copy{
  pointer-events:auto !important;
}

.scene__claim{
  pointer-events:auto !important;
}


/* Force YouTube trigger clickability */
.inline-video-trigger{
  display:inline-block !important;
  pointer-events:auto !important;
  cursor:pointer !important;
  position:relative !important;
  z-index:20 !important;
}
