/* INV Motion Layer — premium interaction system shared by INV Group + INV SPORT.
   Inspired by contemporary editorial sports sites: movement only, no visual copying. */
:root{--motion-ease:cubic-bezier(.22,.72,.18,1);--motion-fast:.45s;--motion-slow:1.05s}
html{scroll-behavior:smooth}
body{overflow-x:clip}

/* Scroll progress */
.inv-scroll-progress{position:fixed;z-index:1400;left:0;top:0;width:100%;height:2px;pointer-events:none;transform-origin:left center;transform:scaleX(0);background:var(--accent,#c8b75a);will-change:transform}

/* Direction-aware header */
.site-header{will-change:transform;transition:transform .55s var(--motion-ease),background .35s,color .35s,border .35s,backdrop-filter .35s}
.site-header.inv-header-hidden{transform:translate3d(0,-110%,0)}

/* Premium load-in */
body.inv-motion-ready main{opacity:0;transform:translateY(8px)}
body.inv-motion-loaded main{opacity:1;transform:none;transition:opacity .65s ease,transform .85s var(--motion-ease)}

/* Intersection movement */
.inv-motion-enter{opacity:0;transform:translate3d(0,34px,0);transition:opacity .82s ease,transform .95s var(--motion-ease);transition-delay:var(--motion-delay,0ms);will-change:opacity,transform}
.inv-motion-enter.inv-inview{opacity:1;transform:none}
.inv-motion-scale{overflow:hidden}
.inv-motion-scale>img,.inv-motion-scale>video{transform:scale(1.065);transition:transform 1.4s var(--motion-ease)}
.inv-motion-scale.inv-inview>img,.inv-motion-scale.inv-inview>video{transform:scale(1)}

/* Hero movement */
.hero{isolation:isolate}
.hero-media{will-change:transform;transform-origin:center center}
.hero-content{will-change:transform,opacity}
.hero-title span{will-change:transform,opacity}
.inv-motion-loaded .hero-title.reveal-lines.visible span:nth-child(1){transition-delay:.02s}
.inv-motion-loaded .hero-title.reveal-lines.visible span:nth-child(2){transition-delay:.08s}
.inv-motion-loaded .hero-title.reveal-lines.visible span:nth-child(3){transition-delay:.14s}
.inv-motion-loaded .hero-title.reveal-lines.visible span:nth-child(4){transition-delay:.20s}

/* INV SPORT hero artwork — preserve the panel composition */
.players-hero .hero-media.inv-sport-mosaic{object-fit:cover;object-position:center center;filter:brightness(.72) saturate(.88) contrast(1.06)}
.players-hero .players-hero-overlay{background:linear-gradient(180deg,rgba(0,0,0,.08) 0%,rgba(0,0,0,.12) 42%,rgba(0,0,0,.78) 100%)}

/* Rows feel responsive without changing the design language */
.business-row{position:relative;overflow:hidden}
.business-row:before{content:"";position:absolute;left:0;bottom:0;height:2px;width:100%;background:var(--accent,#c8b75a);transform:scaleX(0);transform-origin:left center;transition:transform .6s var(--motion-ease)}
.business-row:hover:before{transform:scaleX(1)}
.business-row h3,.business-row p,.business-row .business-number{transition:transform .5s var(--motion-ease)}
.business-row:hover h3,.business-row:hover p{transform:translateX(6px)}
.business-row:hover .business-number{transform:translateX(2px)}

/* Links and controls */
.text-link span,.business-arrow,.header-contact{will-change:transform}
.text-link:hover span{transform:translate(5px,-3px)}
.text-link span{display:inline-block;transition:transform .38s var(--motion-ease)}

/* Media / cards: movement is on containers; faces/images are never regenerated or warped */
.player-card,.team-card,.story-card,.metric,.club-domains>div,.project-process>div,.method-line>div{will-change:transform,opacity}
.player-card-media,.team-card-portrait,.story-card-media,.talent-media,.projects-visual,.growth-photo{transition:transform .7s var(--motion-ease)}
@media(hover:hover) and (pointer:fine){
  .player-card:hover .player-card-media,.team-card:hover .team-card-portrait,.story-card:hover .story-card-media{transform:translateY(-5px)}
  .metric:hover{transform:translateY(-4px)}
}

/* Mobile menu gains a stagger instead of appearing all at once */
.mobile-menu nav>a,.mobile-menu .mobile-language{opacity:0;transform:translateY(18px);transition:opacity .45s ease,transform .55s var(--motion-ease)}
.mobile-menu.open nav>a,.mobile-menu.open .mobile-language{opacity:1;transform:none}
.mobile-menu.open nav>a:nth-child(1){transition-delay:.06s}.mobile-menu.open nav>a:nth-child(2){transition-delay:.09s}.mobile-menu.open nav>a:nth-child(3){transition-delay:.12s}.mobile-menu.open nav>a:nth-child(4){transition-delay:.15s}.mobile-menu.open nav>a:nth-child(5){transition-delay:.18s}.mobile-menu.open nav>a:nth-child(6){transition-delay:.21s}.mobile-menu.open nav>a:nth-child(7){transition-delay:.24s}.mobile-menu.open nav>a:nth-child(8){transition-delay:.27s}.mobile-menu.open .mobile-language{transition-delay:.3s}

/* Subtle parallax-capable imagery */
.inv-parallax-media{will-change:transform;transform:translate3d(0,var(--inv-parallax,0px),0) scale(1.045)}

@media(max-width:720px){
  .players-hero .hero-media.inv-sport-mosaic{object-position:53% center;filter:brightness(.66) saturate(.86) contrast(1.08)}
  .inv-motion-enter{transform:translate3d(0,22px,0)}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  body.inv-motion-ready main,body.inv-motion-loaded main,.inv-motion-enter,.inv-motion-enter.inv-inview,.site-header,.inv-parallax-media{opacity:1!important;transform:none!important;transition:none!important}
  .inv-scroll-progress{display:none}
}


/* =========================================================
   DYNAMIC V2 — experimental INVSport Group interaction layer
   Lives only on the dynamic-v2 branch.
   ========================================================= */
body.inv-dynamic-v2{--v2-ease:cubic-bezier(.18,.76,.18,1)}

/* 01 / HERO — more cinematic entrance, same content */
body.inv-dynamic-v2 .hero-title.reveal-lines span{
  opacity:0;
  transform:translate3d(0,72px,0) skewY(2.2deg);
  filter:blur(4px);
  transition:
    opacity .72s ease,
    transform 1.05s var(--v2-ease),
    filter .9s ease;
}
body.inv-dynamic-v2 .hero-title.reveal-lines.visible span{
  opacity:1;
  transform:none;
  filter:none;
}
body.inv-dynamic-v2 .hero-title.reveal-lines.visible span:nth-child(1){transition-delay:.05s}
body.inv-dynamic-v2 .hero-title.reveal-lines.visible span:nth-child(2){transition-delay:.14s}
body.inv-dynamic-v2 .hero-title.reveal-lines.visible span:nth-child(3){transition-delay:.23s}
body.inv-dynamic-v2 .hero-title.reveal-lines.visible span:nth-child(4){transition-delay:.32s}
body.inv-dynamic-v2 .hero-bottom{
  transition:opacity .8s ease .34s,transform .95s var(--v2-ease) .34s;
}
body.inv-dynamic-v2 .hero-bottom:not(.visible){opacity:0;transform:translateY(24px)}
body.inv-dynamic-v2 .hero-overlay{
  background:
    linear-gradient(180deg,rgba(0,0,0,.16) 0%,rgba(0,0,0,.20) 44%,rgba(0,0,0,.70) 100%),
    linear-gradient(90deg,rgba(0,0,0,.24),transparent 55%);
}

/* 02 / SERVICES — editorial selector instead of a passive list */
@media(min-width:901px){
  body.inv-dynamic-v2 #services{padding-bottom:105px}
  body.inv-dynamic-v2 #services .section-shell{position:relative}
  body.inv-dynamic-v2 #services .section-heading-row{margin-bottom:52px}
  body.inv-dynamic-v2 #services .business-list{
    width:100%;
    min-height:390px;
  }
  body.inv-dynamic-v2 #services .business-row{
    padding:30px 10px 30px 0;
    transition:opacity .38s ease,padding-left .45s var(--v2-ease),background .38s ease;
  }
  body.inv-dynamic-v2 #services .business-list:hover .business-row{opacity:.36}
  body.inv-dynamic-v2 #services .business-row:hover,
  body.inv-dynamic-v2 #services .business-row.inv-active{opacity:1;padding-left:12px}
  body.inv-dynamic-v2 #services .business-row h3{transition:transform .45s var(--v2-ease),letter-spacing .45s var(--v2-ease)}
  body.inv-dynamic-v2 #services .business-row:hover h3,
  body.inv-dynamic-v2 #services .business-row.inv-active h3{transform:translateX(5px);letter-spacing:-.055em}
  body.inv-dynamic-v2 #services .hover-image{
    display:none!important;
  }
}

/* 03 / TECHNOLOGY — sticky narrative + live dashboards */
@media(min-width:901px){
  body.inv-dynamic-v2 #technology-intelligence{
    padding-top:74px;
    padding-bottom:110px;
  }
  body.inv-dynamic-v2 #technology-intelligence .intelligence-grid{
    align-items:start;
    gap:6vw;
  }
  body.inv-dynamic-v2 #technology-intelligence .intelligence-copy{
    position:sticky;
    top:108px;
    align-self:start;
    max-height:calc(100vh - 135px);
  }
  body.inv-dynamic-v2 #technology-intelligence .pillars{
    min-height:250px;
    grid-template-rows:repeat(4,minmax(46px,1fr));
  }
}
body.inv-dynamic-v2 #technology-intelligence .dashboard-wrap{
  position:relative;
  overflow:hidden;
  transform:translateY(16px);
  opacity:.76;
  transition:opacity .7s ease,transform .85s var(--v2-ease),border-color .6s ease;
}
body.inv-dynamic-v2 #technology-intelligence .dashboard-wrap:before{
  content:"";
  position:absolute;
  left:0;right:100%;top:0;
  height:2px;
  background:var(--accent,#c8b75a);
  z-index:3;
  transition:right 1.15s var(--v2-ease);
}
body.inv-dynamic-v2 #technology-intelligence .dashboard-wrap.inv-dashboard-live{
  opacity:1;
  transform:none;
  border-color:#454545;
}
body.inv-dynamic-v2 #technology-intelligence .dashboard-wrap.inv-dashboard-live:before{right:0}
body.inv-dynamic-v2 #technology-intelligence .dashboard-wrap .metric{
  opacity:.52;
  transform:translateY(14px);
  transition:opacity .65s ease,transform .75s var(--v2-ease),border-color .35s ease,background .35s ease;
}
body.inv-dynamic-v2 #technology-intelligence .dashboard-wrap.inv-dashboard-live .metric{
  opacity:1;
  transform:none;
}
body.inv-dynamic-v2 #technology-intelligence .dashboard-wrap.inv-dashboard-live .metric:nth-child(2){transition-delay:.08s}
body.inv-dynamic-v2 #technology-intelligence .dashboard-wrap.inv-dashboard-live .metric:nth-child(3){transition-delay:.14s}
body.inv-dynamic-v2 #technology-intelligence .dashboard-wrap.inv-dashboard-live .metric:nth-child(4){transition-delay:.20s}
body.inv-dynamic-v2 #technology-intelligence .dashboard-wrap.inv-dashboard-live .metric:nth-child(5){transition-delay:.26s}
body.inv-dynamic-v2 #technology-intelligence .metric-large polyline{
  stroke-dasharray:var(--chart-length,700);
  stroke-dashoffset:var(--chart-length,700);
  transition:stroke-dashoffset 1.45s var(--v2-ease) .12s;
}
body.inv-dynamic-v2 #technology-intelligence .inv-dashboard-live .metric-large polyline{stroke-dashoffset:0}
body.inv-dynamic-v2 #technology-intelligence .bar i{
  transform:scaleX(0);
  transform-origin:left center;
  transition:transform 1s var(--v2-ease);
}
body.inv-dynamic-v2 #technology-intelligence .inv-dashboard-live .bar i{transform:scaleX(1)}
body.inv-dynamic-v2 #technology-intelligence .inv-dashboard-live .bar:nth-child(2) i{transition-delay:.18s}
body.inv-dynamic-v2 #technology-intelligence .inv-dashboard-live .bar:nth-child(3) i{transition-delay:.28s}
body.inv-dynamic-v2 #technology-intelligence .inv-dashboard-live .bar:nth-child(4) i{transition-delay:.38s}

/* 04 / PROJECTS — scroll deck: same five categories, less static reading */
@media(min-width:901px){
  body.inv-dynamic-v2 #projects{
    padding-top:92px;
    padding-bottom:104px;
  }
  body.inv-dynamic-v2 #projects .section-heading-row{
    margin-bottom:48px;
  }
  body.inv-dynamic-v2 #projects .business-list{
    border-bottom:0;
    padding-bottom:52px;
  }
  body.inv-dynamic-v2 #projects .business-row{
    position:sticky;
    top:calc(92px + (var(--project-index,0) * 11px));
    min-height:142px;
    padding:30px 26px;
    margin-bottom:14px;
    border:1px solid #d2d2cb;
    background:rgba(244,244,240,.96);
    backdrop-filter:blur(14px);
    box-shadow:0 16px 34px rgba(0,0,0,.055);
    grid-template-columns:58px 1fr 40px;
    transition:transform .42s var(--v2-ease),box-shadow .42s ease,background .42s ease;
  }
  body.inv-dynamic-v2 #projects .business-row:hover{
    transform:translateY(-5px);
    box-shadow:0 24px 54px rgba(0,0,0,.10);
    background:#f8f8f4;
  }
  body.inv-dynamic-v2 #projects .business-row h3{
    font-size:clamp(31px,3.5vw,54px);
    line-height:.94;
  }
  body.inv-dynamic-v2 #projects .business-row p{
    margin-top:8px;
    max-width:670px;
  }
}

/* 05 / TEAM — faster overview, details revealed by intent */
@media(min-width:1101px){
  body.inv-dynamic-v2 #team{padding:104px 0 112px}
  body.inv-dynamic-v2 #team .team-roster-head{margin-bottom:48px}
  body.inv-dynamic-v2 #team .team-roster-grid{
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:14px;
  }
  body.inv-dynamic-v2 #team .team-card-copy{padding-bottom:14px}
  body.inv-dynamic-v2 #team .team-card-copy p{
    max-height:0;
    opacity:0;
    overflow:hidden;
    transform:translateY(-5px);
    margin-top:0;
    transition:max-height .6s var(--v2-ease),opacity .35s ease,transform .5s var(--v2-ease),margin .45s ease;
  }
  body.inv-dynamic-v2 #team .team-email{
    max-height:0;
    opacity:0;
    overflow:hidden;
    margin-top:0;
    transform:translateY(-5px);
    transition:max-height .55s var(--v2-ease),opacity .35s ease,transform .5s var(--v2-ease),margin .4s ease;
  }
  body.inv-dynamic-v2 #team .team-card:hover .team-card-copy p,
  body.inv-dynamic-v2 #team .team-card:focus-within .team-card-copy p{
    max-height:110px;
    opacity:1;
    transform:none;
    margin-top:8px;
  }
  body.inv-dynamic-v2 #team .team-card:hover .team-email,
  body.inv-dynamic-v2 #team .team-card:focus-within .team-email{
    max-height:28px;
    opacity:1;
    transform:none;
    margin-top:12px;
  }
}
body.inv-dynamic-v2 #team .team-card-portrait{overflow:hidden}
body.inv-dynamic-v2 #team .team-card-portrait img{
  transform:translate3d(var(--team-x,0px),var(--team-y,0px),0) scale(1.035);
  filter:none;
  transition:transform .65s var(--v2-ease);
}
body.inv-dynamic-v2 #team .team-card:hover .team-card-portrait img,
body.inv-dynamic-v2 #team .team-card:focus-within .team-card-portrait img{
  transform:translate3d(var(--team-x,0px),var(--team-y,0px),0) scale(1.07);
  filter:none;
}
body.inv-dynamic-v2 #team .team-card-copy h3{
  transition:transform .45s var(--v2-ease),color .35s ease;
}
body.inv-dynamic-v2 #team .team-card:hover .team-card-copy h3,
body.inv-dynamic-v2 #team .team-card:focus-within .team-card-copy h3{
  transform:translateX(4px);
  color:#fff;
}

/* Mobile: keep the compact production layout; add motion, not scroll traps. */
@media(max-width:900px){
  body.inv-dynamic-v2 #services .hover-image{display:none!important}
  body.inv-dynamic-v2 #technology-intelligence .intelligence-copy{position:static}
  body.inv-dynamic-v2 #projects .business-row{position:relative;top:auto}
  body.inv-dynamic-v2 #team .team-card-portrait img{
    filter:none;
    transform:scale(1.02);
  }
}

@media(prefers-reduced-motion:reduce){
  body.inv-dynamic-v2 .hero-title.reveal-lines span,
  body.inv-dynamic-v2 #technology-intelligence .dashboard-wrap,
  body.inv-dynamic-v2 #technology-intelligence .dashboard-wrap .metric,
  body.inv-dynamic-v2 #technology-intelligence .metric-large polyline,
  body.inv-dynamic-v2 #technology-intelligence .bar i,
  body.inv-dynamic-v2 #team .team-card-portrait img{
    opacity:1!important;
    transform:none!important;
    filter:none!important;
    transition:none!important;
    stroke-dashoffset:0!important;
  }
}


/* 06 / COPY COMPRESSION — less reading, no empty dead space */
body.inv-dynamic-v2 .intro{padding:108px 0 112px}
body.inv-dynamic-v2 .intro-copy{
  display:block;
  max-width:760px;
  margin-top:42px;
  margin-left:auto;
}
body.inv-dynamic-v2 .intro-copy p{
  font-size:18px;
  line-height:1.42;
  max-width:720px;
}
body.inv-dynamic-v2 #services{padding-bottom:88px}
body.inv-dynamic-v2 #services .section-heading-row{margin-bottom:42px}
body.inv-dynamic-v2 #services .business-row{padding-top:27px;padding-bottom:27px}

body.inv-dynamic-v2 #clubs{padding:108px 0}
body.inv-dynamic-v2 #clubs .club-grid{
  margin-top:70px;
  padding-top:30px;
  gap:7vw;
}
body.inv-dynamic-v2 #clubs .club-copy p{
  font-size:18px;
  line-height:1.42;
  max-width:390px;
  margin-bottom:28px;
}

body.inv-dynamic-v2 #technology-intelligence{padding-bottom:96px}
body.inv-dynamic-v2 #technology-intelligence .intelligence-copy>p{
  font-size:16px;
  line-height:1.46;
  max-width:455px;
  margin:25px 0 27px;
}
@media(min-width:901px){
  body.inv-dynamic-v2 #technology-intelligence .pillars{
    min-height:218px;
  }
}

body.inv-dynamic-v2 #management-solutions{
  min-height:760px;
}
body.inv-dynamic-v2 #management-solutions .projects-copy{
  padding-top:86px;
  padding-bottom:86px;
}
body.inv-dynamic-v2 #management-solutions .projects-copy>p{
  font-size:16px;
  line-height:1.46;
  max-width:500px;
  margin:28px 0 32px;
}
body.inv-dynamic-v2 #management-solutions .project-process div{
  padding-top:13px;
  padding-bottom:13px;
}

body.inv-dynamic-v2 #brand-experiences{padding:108px 0}
body.inv-dynamic-v2 #brand-experiences .growth-title{margin-bottom:52px}
body.inv-dynamic-v2 #brand-experiences .growth-grid{gap:5vw}
body.inv-dynamic-v2 #brand-experiences .growth-photo{min-height:550px}
body.inv-dynamic-v2 #brand-experiences .growth-services>div{padding:20px 0}
body.inv-dynamic-v2 #brand-experiences .growth-services p{
  margin-top:5px;
  font-size:12px;
  line-height:1.42;
  max-width:340px;
}

body.inv-dynamic-v2 #talent{min-height:700px}
body.inv-dynamic-v2 #talent .talent-media{min-height:620px}
body.inv-dynamic-v2 #talent .talent-copy{
  padding-top:88px;
  padding-bottom:88px;
}
body.inv-dynamic-v2 #talent .talent-copy>p{
  font-size:16px;
  line-height:1.46;
  max-width:500px;
  margin:28px 0 30px;
}
body.inv-dynamic-v2 #talent .text-link{margin-top:28px!important}

body.inv-dynamic-v2 .method{padding:104px 0}
body.inv-dynamic-v2 .method-line{margin-top:68px}
body.inv-dynamic-v2 .method-line>div{min-height:138px;padding-bottom:25px}
body.inv-dynamic-v2 .method-line strong{margin-top:32px}
body.inv-dynamic-v2 .method-line p{
  font-size:11px;
  line-height:1.42;
  max-width:210px;
}

@media(min-width:1101px){
  body.inv-dynamic-v2 #team{padding:90px 0 100px}
  body.inv-dynamic-v2 #team .team-roster-head{margin-bottom:38px}
  body.inv-dynamic-v2 #team .team-roster-head p{
    max-width:320px;
    line-height:1.45;
  }
}

@media(max-width:900px){
  body.inv-dynamic-v2 .intro{padding:56px 0 60px}
  body.inv-dynamic-v2 .intro-copy{margin-top:26px}
  body.inv-dynamic-v2 .intro-copy p{font-size:15px;line-height:1.45}
  body.inv-dynamic-v2 #services{padding-bottom:58px}
  body.inv-dynamic-v2 #services .section-heading-row{margin-bottom:26px}
  body.inv-dynamic-v2 #services .business-row{padding-top:18px;padding-bottom:18px}

  body.inv-dynamic-v2 #clubs{padding:60px 0}
  body.inv-dynamic-v2 #clubs .club-grid{margin-top:34px;padding-top:22px;gap:26px}
  body.inv-dynamic-v2 #clubs .club-copy p{font-size:14px;margin-bottom:22px}

  body.inv-dynamic-v2 #technology-intelligence{padding-bottom:62px}
  body.inv-dynamic-v2 #technology-intelligence .intelligence-copy>p{
    font-size:14px;
    margin:20px 0 22px;
  }

  body.inv-dynamic-v2 #management-solutions{min-height:0}
  body.inv-dynamic-v2 #management-solutions .projects-copy{
    padding-top:54px;
    padding-bottom:54px;
  }
  body.inv-dynamic-v2 #management-solutions .projects-copy>p{
    font-size:14px;
    margin:22px 0 26px;
  }

  body.inv-dynamic-v2 #brand-experiences{padding:58px 0}
  body.inv-dynamic-v2 #brand-experiences .growth-title{margin-bottom:30px}
  body.inv-dynamic-v2 #brand-experiences .growth-photo{
    min-height:0;
    height:66vw;
  }
  body.inv-dynamic-v2 #brand-experiences .growth-services>div{padding:16px 0}

  body.inv-dynamic-v2 #talent{min-height:0}
  body.inv-dynamic-v2 #talent .talent-copy{
    padding-top:54px;
    padding-bottom:48px;
  }
  body.inv-dynamic-v2 #talent .talent-copy>p{
    font-size:14px;
    margin:22px 0 22px;
  }
  body.inv-dynamic-v2 #talent .talent-media{
    min-height:0;
    height:70vw;
  }

  body.inv-dynamic-v2 .method{padding:58px 0}
  body.inv-dynamic-v2 .method-line{margin-top:34px}
  body.inv-dynamic-v2 .method-line>div{min-height:102px}
  body.inv-dynamic-v2 .method-line strong{margin-top:18px}
}


/* 07 / BALANCED COPY WIDTHS — preserve meaning without long reading */
@media(min-width:901px){
  body.inv-dynamic-v2 .hero-bottom p{max-width:720px}
  body.inv-dynamic-v2 .intro-copy{max-width:840px}
  body.inv-dynamic-v2 .intro-copy p{max-width:820px}
  body.inv-dynamic-v2 #clubs .club-copy p{max-width:455px}
  body.inv-dynamic-v2 #technology-intelligence .intelligence-copy>p{max-width:500px}
  body.inv-dynamic-v2 #management-solutions .projects-copy>p{max-width:545px}
  body.inv-dynamic-v2 #talent .talent-copy>p{max-width:545px}
  body.inv-dynamic-v2 #team .team-roster-head p{max-width:360px}
}


/* 08 / TEAM PARITY — INVSport mirrors INVSport Group exactly */
@media(min-width:1101px){
  body.players-site #team{padding:90px 0 100px}
  body.players-site #team .team-roster-head{margin-bottom:38px}
  body.players-site #team .team-roster-head p{
    max-width:360px;
    line-height:1.45;
  }
  body.players-site #team .team-roster-grid{
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:14px;
  }
  body.players-site #team .team-card-copy{padding-bottom:14px}
  body.players-site #team .team-card-copy p{
    max-height:0;
    opacity:0;
    overflow:hidden;
    transform:translateY(-5px);
    margin-top:0;
    transition:max-height .6s var(--v2-ease),opacity .35s ease,transform .5s var(--v2-ease),margin .45s ease;
  }
  body.players-site #team .team-email{
    max-height:0;
    opacity:0;
    overflow:hidden;
    margin-top:0;
    transform:translateY(-5px);
    transition:max-height .55s var(--v2-ease),opacity .35s ease,transform .5s var(--v2-ease),margin .4s ease;
  }
  body.players-site #team .team-card:hover .team-card-copy p,
  body.players-site #team .team-card:focus-within .team-card-copy p{
    max-height:110px;
    opacity:1;
    transform:none;
    margin-top:8px;
  }
  body.players-site #team .team-card:hover .team-email,
  body.players-site #team .team-card:focus-within .team-email{
    max-height:28px;
    opacity:1;
    transform:none;
    margin-top:12px;
  }
}
body.players-site #team .team-card-portrait{overflow:hidden}
body.players-site #team .team-card-portrait img{
  transform:translate3d(var(--team-x,0px),var(--team-y,0px),0) scale(1.035);
  filter:none;
  transition:transform .65s var(--v2-ease);
}
body.players-site #team .team-card:hover .team-card-portrait img,
body.players-site #team .team-card:focus-within .team-card-portrait img{
  transform:translate3d(var(--team-x,0px),var(--team-y,0px),0) scale(1.07);
  filter:none;
}
body.players-site #team .team-card-copy h3{
  transition:transform .45s var(--v2-ease),color .35s ease;
}
body.players-site #team .team-card:hover .team-card-copy h3,
body.players-site #team .team-card:focus-within .team-card-copy h3{
  transform:translateX(4px);
  color:#fff;
}
@media(max-width:900px){
  body.players-site #team .team-card-portrait img{
    filter:none;
    transform:scale(1.02);
  }
}


/* 09 / ONE TEAM SYSTEM — identical on INVSport Group + INVSport */
body.inv-team-shared #team .team-card-portrait{
  overflow:hidden;
}
body.inv-team-shared #team .team-card-portrait img{
  transform:translate3d(var(--team-x,0px),var(--team-y,0px),0) scale(1.035);
  filter:none;
  transition:transform .65s var(--v2-ease);
}
body.inv-team-shared #team .team-card:hover .team-card-portrait img,
body.inv-team-shared #team .team-card:focus-within .team-card-portrait img{
  transform:translate3d(var(--team-x,0px),var(--team-y,0px),0) scale(1.07);
  filter:none;
}
body.inv-team-shared #team .team-card-copy h3{
  transition:transform .45s var(--v2-ease),color .35s ease;
}
body.inv-team-shared #team .team-card:hover .team-card-copy h3,
body.inv-team-shared #team .team-card:focus-within .team-card-copy h3{
  transform:translateX(4px);
  color:#fff;
}

@media(min-width:1101px){
  body.inv-team-shared #team{padding:90px 0 100px}
  body.inv-team-shared #team .team-roster-head{margin-bottom:38px}
  body.inv-team-shared #team .team-roster-head p{
    max-width:360px;
    line-height:1.45;
  }
  body.inv-team-shared #team .team-roster-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:14px;
  }
  body.inv-team-shared #team .team-card-copy{padding-bottom:14px}
  body.inv-team-shared #team .team-card-copy p{
    max-height:0;
    opacity:0;
    overflow:hidden;
    transform:translateY(-5px);
    margin-top:0;
    transition:max-height .6s var(--v2-ease),opacity .35s ease,transform .5s var(--v2-ease),margin .45s ease;
  }
  body.inv-team-shared #team .team-email{
    max-height:0;
    opacity:0;
    overflow:hidden;
    margin-top:0;
    transform:translateY(-5px);
    transition:max-height .55s var(--v2-ease),opacity .35s ease,transform .5s var(--v2-ease),margin .4s ease;
  }
  body.inv-team-shared #team .team-card:hover .team-card-copy p,
  body.inv-team-shared #team .team-card:focus-within .team-card-copy p{
    max-height:110px;
    opacity:1;
    transform:none;
    margin-top:8px;
  }
  body.inv-team-shared #team .team-card:hover .team-email,
  body.inv-team-shared #team .team-card:focus-within .team-email{
    max-height:28px;
    opacity:1;
    transform:none;
    margin-top:12px;
  }
}

@media(min-width:721px) and (max-width:1100px){
  body.inv-team-shared #team .team-roster-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-auto-flow:row!important;
    gap:18px!important;
    overflow:visible!important;
  }
  body.inv-team-shared #team .team-card-portrait{aspect-ratio:3/4!important}
}

@media(max-width:720px){
  body.inv-team-shared #team{padding:64px 0 72px}
  body.inv-team-shared #team .team-roster-head{margin-bottom:28px;gap:16px}
  body.inv-team-shared #team .team-roster-head h2{font-size:clamp(42px,12vw,62px)}
  body.inv-team-shared #team .team-roster-grid{
    display:grid!important;
    grid-template-columns:none!important;
    grid-auto-flow:column!important;
    grid-auto-columns:78%!important;
    gap:14px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-snap-type:x mandatory;
    overscroll-behavior-x:contain;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    padding-bottom:8px;
    touch-action:pan-x pan-y;
  }
  body.inv-team-shared #team .team-roster-grid::-webkit-scrollbar{display:none}
  body.inv-team-shared #team .team-card{
    scroll-snap-align:start;
    scroll-snap-stop:always;
    padding-top:10px;
  }
  body.inv-team-shared #team .team-card-portrait{
    aspect-ratio:3/4!important;
  }
  body.inv-team-shared #team .team-card-portrait img{
    filter:none;
    transform:scale(1.02);
  }
  body.inv-team-shared #team .team-card-copy{padding:13px 0 18px}
  body.inv-team-shared #team .team-card-copy h3{font-size:clamp(23px,7vw,31px)}
}

@media(prefers-reduced-motion:reduce){
  body.inv-team-shared #team .team-card-portrait img{
    transform:none!important;
    transition:none!important;
    filter:none!important;
  }
}


/* 10 / CONTENT RECOMPOSITION — image-led services + philosophy */
body.inv-dynamic-v2 #services.services-photo{
  position:relative;
  isolation:isolate;
  color:#fff;
  background:
    linear-gradient(90deg,rgba(6,7,7,.82) 0%,rgba(6,7,7,.68) 42%,rgba(6,7,7,.48) 100%),
    linear-gradient(0deg,rgba(6,7,7,.62),rgba(6,7,7,.18)),
    url("https://images.unsplash.com/photo-1765130729366-b54d7b2c8ea2?auto=format&fit=crop&fm=jpg&ixlib=rb-4.1.0&q=80&w=3000") center 54% / cover no-repeat;
}
body.inv-dynamic-v2 #services.services-photo .section-shell{position:relative;z-index:1}
body.inv-dynamic-v2 #services.services-photo .business-list{border-bottom-color:rgba(255,255,255,.34)}
body.inv-dynamic-v2 #services.services-photo .business-row{border-top-color:rgba(255,255,255,.34);color:#fff}
body.inv-dynamic-v2 #services.services-photo .business-number{color:rgba(255,255,255,.64)}
body.inv-dynamic-v2 #services.services-photo .business-row p{color:rgba(255,255,255,.72)}
body.inv-dynamic-v2 #services.services-photo .business-arrow{color:#fff}
body.inv-dynamic-v2 #brand-experiences .growth-services h3{
  text-transform:uppercase;
}

body.players-site .philosophy-photo{
  position:relative;
  isolation:isolate;
  color:#fff;
  background:
    linear-gradient(90deg,rgba(4,5,5,.78) 0%,rgba(4,5,5,.58) 48%,rgba(4,5,5,.42) 100%),
    linear-gradient(0deg,rgba(4,5,5,.58),rgba(4,5,5,.16)),
    url("sport/assets/hero/inv-sport-purpose.png") center 45% / cover no-repeat;
}
body.players-site .philosophy-photo .section-shell{position:relative;z-index:1}
body.players-site .philosophy-photo .intro-copy p{color:rgba(255,255,255,.92)}
body.players-site .philosophy-photo .intro-copy p:last-child{color:rgba(255,255,255,.72)}
body.players-site .philosophy-photo .eyebrow{color:#fff}

@media(min-width:901px){
  body.players-site .philosophy-photo{
    min-height:680px;
    display:flex;
    align-items:center;
  }
}
@media(max-width:900px){
  body.inv-dynamic-v2 #services.services-photo{
    background-position:58% center;
  }
  body.players-site .philosophy-photo{
    background-position:58% center;
  }
}
