.hero,
.overview,
#development,
.scale,
#advantages,
.closing,
.team{
  padding:clamp(82px,8vw,128px) 0;
}

#overview,
#development,
#production,
#advantages,
#team,
#contact{
  scroll-margin-top:104px;
}

.section-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(260px,520px);
  gap:clamp(40px,8vw,120px);
  align-items:end;
  margin-bottom:clamp(42px,5vw,74px);
}

.overview .section-head{align-items:center}

.hero h1,
.overview h2,
#development h2,
.scale h2,
#advantages h2,
.team h2,
.advantage h3,
.team-member h3,
.hero p,
.overview p,
#development p,
.scale p,
#advantages p,
.closing p,
.team p{margin-top:0}

.hero h1{
  margin-bottom:0;
  font-size:clamp(52px,7vw,100px);
  line-height:.97;
  letter-spacing:-.045em;
  font-weight:500;
  max-width:1220px;
  text-wrap:balance;
}

.overview h2,
#development h2,
.scale h2,
#advantages h2{
  font-size:clamp(42px,5vw,68px);
  line-height:1.02;
  letter-spacing:-.035em;
  font-weight:500;
  margin-bottom:0;
  text-wrap:balance;
}

.advantage h3,
.team-member h3{
  font-size:clamp(26px,2.4vw,34px);
  line-height:1.15;
  letter-spacing:-.02em;
  font-weight:600;
  margin-bottom:16px;
}

.hero p:last-child,
.overview p:last-child,
#development p:last-child,
.scale p:last-child,
#advantages p:last-child,
.closing p:last-child,
.team p:last-child{margin-bottom:0}

.lead{
  font-size:clamp(19px,1.55vw,24px);
  line-height:1.48;
  max-width:860px;
}

.media-frame{
  border-radius:var(--radius);
  overflow:hidden;
  background:#ddd8d2;
}

.media-frame img,
.media-frame video{
  width:100%;
  height:100%;
  object-fit:cover;
}

.reveal{
  opacity:0;
  transform:translateY(18px);
  transition:
    opacity .62s cubic-bezier(.22,.61,.36,1),
    transform .62s cubic-bezier(.22,.61,.36,1);
  will-change:opacity,transform;
}

.overview .media-frame.reveal.is-visible{
  position:sticky;
  top:104px;
  align-self:start;
}

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

.reveal[data-delay="1"]{transition-delay:.06s}
.reveal[data-delay="2"]{transition-delay:.12s}
.reveal[data-delay="3"]{transition-delay:.18s}
.reveal[data-delay="4"]{transition-delay:.24s}

@media (max-width:960px){
  .section-head{grid-template-columns:1fr;align-items:start}
  .overview .media-frame.reveal.is-visible{position:relative;top:auto}
}

@media (prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none}
}
