/* Fryk Works — homepage (full-bleed video) */

.page-home .hero{
  background:#000;
  min-height:100vh;
  min-height:100dvh;
  height:100vh;
  height:100dvh;
}

.page-home .hero-scene{
  position:absolute;
  inset:0;
  z-index:0;
  overflow:hidden;
  pointer-events:none;
}

.page-home .hero-scene-media{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  display:block;
}

.page-home .hero-foreground{
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  align-items:center;
  min-height:100vh;
  min-height:100dvh;
  height:100vh;
  height:100dvh;
  padding-top:clamp(108px,14vh,168px);
  box-sizing:border-box;
}

.page-home .hero-stage{
  width:100%;
  max-width:820px;
  display:flex;
  flex-direction:column;
  align-items:center;
}

.page-home .hero-content{
  max-width:820px;
  width:100%;
  text-align:center;
}

.page-home .hero-h{
  margin-left:auto;
  margin-right:auto;
}

.page-home .hero-sub{
  margin-left:auto;
  margin-right:auto;
}

@media(prefers-reduced-motion:reduce){
  .page-home .hero-scene-media{display:none}
}

@media(max-width:960px){
  .page-home .hero-foreground{
    padding-top:clamp(96px,12vh,140px);
  }
}

@media(max-width:640px){
  .page-home .hero-foreground{
    padding-top:88px;
  }
  .page-home .hero-scene-media{
    object-position:center top;
  }
}

/* Approach — services animation (1954×1080) */
.page-home .positioning{
  background:#000;
  --pos-h:calc(clamp(357px,calc(100vw * var(--pos-video-h) / var(--pos-video-w) * 0.85),697px) * 0.85 * 0.9 * 1.15);
  height:var(--pos-h);
  padding:0;
}
.page-home .pos-inner{
  display:grid;
  grid-template-columns:1fr 1fr;
  grid-template-rows:1fr;
  align-items:center;
  column-gap:clamp(32px,4vw,72px);
  height:100%;
}
.page-home .pos-scene{
  position:relative;
  inset:auto;
  align-self:stretch;
  height:auto;
  min-height:0;
  width:100%;
  display:flex;
  align-items:center;
  justify-content:flex-start;
}
.page-home .pos-scene-media{
  position:relative;
  inset:auto;
  width:auto;
  height:100%;
  max-width:100%;
  aspect-ratio:1954 / 1080;
  object-fit:contain;
  object-position:left center;
  mix-blend-mode:screen;
}
.page-home .pos-copy{
  max-width:none;
  width:100%;
  justify-self:stretch;
  margin-left:0;
}
@media(max-width:960px){
  .page-home .pos-inner{
    grid-template-columns:1fr 1fr;
    column-gap:clamp(24px,3vw,48px);
  }
}
@media(max-width:640px){
  .page-home .positioning{
    height:auto;
    padding-bottom:clamp(40px,10vw,64px);
  }
  .page-home .pos-inner{
    grid-template-columns:1fr;
    grid-template-rows:auto auto;
    height:auto;
    align-items:start;
    row-gap:32px;
  }
  .page-home .pos-scene{
    height:clamp(200px,52vw,280px);
    align-self:auto;
  }
}
