/* V19 - Single geometric CSS3 edge. No decorative overlays over the team photo.
   Panel, stripe and photo share the same two edge coordinates. */
@media (min-width: 901px) {
  .hero.jf-home-hero .jf-team-split {
    --jf-panel-edge: 32.5%;
    --jf-diagonal-drift: clamp(22px, 1.9vw, 30px);
    --jf-photo-start: 29.4%;
    position: relative;
    isolation: isolate;
    background: #08192b;
  }
  /* Actual photograph begins *beneath* the navy panel.
     This is why no empty triangular cutout can appear. */
  .hero.jf-home-hero .jf-team-photo-link {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    min-height: 0;
    overflow: hidden;
    background: #08192b;
    z-index: 1;
    border: 0;
    border-radius: 0;
    clip-path: none;
  }
  .hero.jf-home-hero .jf-team-photo-link::before { display: none; }
  .hero.jf-home-hero .jf-team-photo-link > img {
    position: absolute;
    inset: 0 0 0 auto;
    display: block;
    width: calc(100% - var(--jf-photo-start));
    height: 100%;
    min-height: 100%;
    object-fit: cover;
    object-position: 50% 49%;
    transform: translateX(clamp(12px,1.35vw,22px));
    transition: none;
    z-index: 2;
  }
  .hero.jf-home-hero .jf-team-photo-link:hover > img { transform: translateX(clamp(12px,1.35vw,22px)); }
  .hero.jf-home-hero .jf-team-photo-link::after {
    z-index: 2;
    background: linear-gradient(to top,rgba(0,0,0,.22),transparent 31%);
  }
  /* Real, single-piece panel: same dimensions as the edge stripe below. */
  .hero.jf-home-hero .jf-team-copy--panel {
    position: absolute;
    inset: 0 auto 0 0;
    width: var(--jf-panel-edge);
    height: 100%;
    margin: 0;
    z-index: 3;
    background: linear-gradient(148deg,#061423 0%,#0b1d30 64%,#102741 100%);
    clip-path: polygon(0 0,calc(100% - var(--jf-diagonal-drift)) 0,100% 100%,0 100%);
    border: 0;
    border-radius: 0;
    box-shadow: none;
    padding-left: clamp(32px,3.5vw,62px);
    padding-right: clamp(17px,2vw,34px);
  }
  /* Suppress V17/V18 auxiliary stripes and empty wedge. */
  .hero.jf-home-hero .jf-team-split::before { display: none; content: none; }
  .hero.jf-home-hero .jf-team-photo-link__edge { display: none; }
  /* One continuous yellow hairline: expressed in the same global coordinates
     as the panel clip-path. No offset guesses, skew transforms or short lines. */
  .hero.jf-home-hero .jf-team-split::after {
    content: "";
    position: absolute;
    inset: 0;
    display: block;
    z-index: 4;
    pointer-events: none;
    background: linear-gradient(180deg,#fff17c,#ffeb00 52%,#dcc000);
    clip-path: polygon(
      calc(var(--jf-panel-edge) - var(--jf-diagonal-drift) - 3px) 0,
      calc(var(--jf-panel-edge) - var(--jf-diagonal-drift)) 0,
      var(--jf-panel-edge) 100%,
      calc(var(--jf-panel-edge) - 3px) 100%
    );
  }
  .hero.jf-home-hero .jf-team-photo-link__zoom { z-index: 5; }
}
@media (min-width: 901px) and (max-width: 1130px) {
  .hero.jf-home-hero .jf-team-split {
    --jf-panel-edge: 31.4%;
    --jf-diagonal-drift: clamp(18px,2vw,22px);
    --jf-photo-start: 28%;
  }
  .hero.jf-home-hero .jf-team-copy--panel {
    padding-right: clamp(18px,2vw,29px);
    padding-left: clamp(26px,3vw,38px);
  }
  .hero.jf-home-hero .jf-home-slide--team h2 {
    font-size: clamp(1.8rem,3.05vw,2.35rem);
  }
}
@media (max-width: 900px) {
  .hero.jf-home-hero .jf-team-photo-link__edge {display: none;}
}
