/* V76 — loader-gated hero/approach animations + cleaner team layout on laptop/iPad */

/* ===== HOME: approach animations start only after loader is gone ===== */
.v76-approach-ready .section-header,
.v76-approach-ready .approach-controls-v41,
.v76-approach-ready .approach-v40__step{
  opacity:0 !important;
  will-change:transform,opacity;
}
.v76-approach-ready .section-header{
  transform:translate3d(-52px,0,0) !important;
  transition:opacity 1.45s cubic-bezier(.16,1,.3,1),transform 1.45s cubic-bezier(.16,1,.3,1) !important;
}
.v76-approach-ready .approach-controls-v41{
  transform:translate3d(0,24px,0) !important;
  transition:opacity 1.15s .12s cubic-bezier(.16,1,.3,1),transform 1.15s .12s cubic-bezier(.16,1,.3,1) !important;
}
.v76-approach-ready .approach-v40__step{
  transform:translate3d(0,54px,0) !important;
  transition:opacity 1.35s var(--v76-delay,0ms) cubic-bezier(.16,1,.3,1),transform 1.35s var(--v76-delay,0ms) cubic-bezier(.16,1,.3,1) !important;
}
.v76-approach-ready .section-header.v76-in,
.v76-approach-ready .approach-controls-v41.v76-in,
.v76-approach-ready .approach-v40__step.v76-in{
  opacity:1 !important;
  transform:translate3d(0,0,0) !important;
  will-change:auto;
}

/* Prevent older reveal systems from fighting this section. */
.v76-approach-ready .section-header.reveal,
.v76-approach-ready .approach-v40__step.reveal{
  animation:none !important;
}

/* ===== ZESPÓŁ: cleaner laptop composition ===== */
@media (min-width:901px){
  body:has(.team-hero-montage-v75) .subpage-hero{
    padding-top:clamp(118px,8vw,146px) !important;
    padding-bottom:clamp(42px,4vw,64px) !important;
  }
  body:has(.team-hero-montage-v75) .subpage-hero__inner{
    display:grid !important;
    grid-template-columns:minmax(0,.82fr) minmax(420px,1.18fr) !important;
    grid-template-areas:
      "copy note"
      "montage montage" !important;
    align-items:start !important;
    gap:clamp(28px,3vw,46px) clamp(32px,4vw,64px) !important;
  }
  body:has(.team-hero-montage-v75) .subpage-hero__inner > div:first-child{grid-area:copy;min-width:0}
  body:has(.team-hero-montage-v75) .subpage-note{grid-area:note;min-width:0;margin:0 !important;align-self:center}
  body:has(.team-hero-montage-v75) .team-hero-montage-v75{
    grid-area:montage;
    width:100%;
    display:grid;
    grid-template-columns:minmax(0,1.9fr) minmax(260px,.72fr) !important;
    gap:16px !important;
    margin-top:4px;
  }
  body:has(.team-hero-montage-v75) .team-hero-montage-v75__group{
    aspect-ratio:2.05/1 !important;
    min-height:0 !important;
    object-position:center 44% !important;
  }
  body:has(.team-hero-montage-v75) .team-hero-montage-v75__duo{
    aspect-ratio:1.02/1 !important;
    min-height:0 !important;
    object-position:center 25% !important;
  }
  body:has(.team-hero-montage-v75) .team-directory{
    padding-top:clamp(44px,4vw,68px) !important;
  }
}

/* iPad portrait keeps the mobile-friendly single column, but with balanced spacing. */
@media (min-width:700px) and (max-width:900px){
  body:has(.team-hero-montage-v75) .subpage-hero{
    padding-top:112px !important;
    padding-bottom:42px !important;
  }
  body:has(.team-hero-montage-v75) .subpage-hero__inner{gap:20px !important}
  .team-hero-montage-v75{margin-top:4px}
  .team-hero-montage-v75__group,
  .team-hero-montage-v75__duo{min-height:320px !important}
}

/* Team hero entrance on every viewport, once, after first paint. */
.v76-team-ready > *{
  opacity:0;
  transform:translate3d(0,30px,0);
  transition:opacity 1.25s var(--v76-team-delay,0ms) cubic-bezier(.16,1,.3,1),transform 1.25s var(--v76-team-delay,0ms) cubic-bezier(.16,1,.3,1);
}
.v76-team-ready > div:first-child{transform:translate3d(-44px,0,0)}
.v76-team-ready > .subpage-note{transform:translate3d(44px,0,0)}
.v76-team-ready > .team-hero-montage-v75{transform:translate3d(0,36px,0);animation:none !important}
.v76-team-in > *{opacity:1;transform:translate3d(0,0,0);will-change:auto}

/* Keep mobile exactly compact, without horizontal overflow from entrance transforms. */
@media (max-width:699px){
  .v76-team-ready > div:first-child{transform:translate3d(-24px,0,0)}
  .v76-team-ready > .subpage-note{transform:translate3d(24px,0,0)}
}

@media (prefers-reduced-motion:reduce){
  .v76-approach-ready .section-header,
  .v76-approach-ready .approach-controls-v41,
  .v76-approach-ready .approach-v40__step,
  .v76-team-ready > *{
    opacity:1 !important;
    transform:none !important;
    transition:none !important;
    animation:none !important;
  }
}
