.team-study-page,.team-motion-live{--tm-paper:#f1efe9;--tm-ink:#161716;--tm-stone:#c7b99e;--tm-line:#cbc8be;background:var(--tm-paper);color:var(--tm-ink)}
.team-study-page .site-header{position:absolute;color:var(--tm-ink);border-bottom-color:var(--tm-line);background:var(--tm-paper)}
.team-study-page .site-header.is-scrolled{position:fixed;background:rgba(241,239,233,.96)}
.team-study-page .brand img{filter:none}
.team-study-page.menu-open .site-header{color:#fff;background:var(--tm-ink);border-bottom-color:rgba(255,255,255,.15)}
.team-study-page.menu-open .brand img{filter:brightness(0) invert(1)}
.team-study-page .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.tm-eyebrow{margin:0;color:#6d695f;font-size:.75rem;font-weight:500;line-height:1.5;letter-spacing:.17em}
.tm-intro{min-height:76vh;padding:clamp(150px,17vh,210px) var(--gutter) clamp(80px,10vh,140px);display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);gap:8vw;align-items:end;border-bottom:1px solid var(--tm-line)}
.tm-intro h1{margin:28px 0 0;font-size:clamp(3.7rem,8.6vw,9.25rem);font-weight:400;line-height:.94;letter-spacing:-.06em}
.tm-intro h1 em{font-family:var(--serif);font-weight:400;color:#86765d}
.tm-intro-note{max-width:460px;justify-self:end;padding-bottom:10px}
.tm-intro-note p{margin:0 0 30px;color:#5f5b52;font-size:1rem;line-height:1.8}
.tm-intro-note a,.tm-review-link{display:flex;align-items:center;justify-content:space-between;gap:35px;min-height:52px;padding:0 0 8px;border-bottom:1px solid #8d877b;font-size:.875rem}
.tm-intro-note .arrow-icon,.tm-review-link .arrow-icon{width:20px;height:20px;flex:none}

.tm-scroll{position:relative;height:650vh;background:var(--tm-paper)}
.tm-sticky{position:sticky;top:0;height:100svh;min-height:600px;overflow:hidden;background:var(--tm-paper);isolation:isolate}
.tm-counter{position:absolute;z-index:20;top:clamp(88px,10vh,125px);right:var(--gutter);display:flex;align-items:center;gap:10px;color:#7b766c;font-size:.7rem;letter-spacing:.13em;font-variant-numeric:tabular-nums}
.tm-counter i{display:block;width:52px;height:1px;background:#a8a398;transform-origin:left}
.tm-type-stage{position:absolute;inset:0;display:grid;align-content:center;padding:clamp(92px,10vh,126px) var(--gutter) clamp(34px,5vh,58px);pointer-events:none}
.tm-outline{width:max-content;margin:0;display:flex;align-items:center;color:var(--tm-ink);font-size:clamp(6rem,16.2vw,17.5rem);font-weight:720;line-height:.69;letter-spacing:-.087em;white-space:nowrap;will-change:transform,opacity}
.tm-outline-main{display:block;transform:translate3d(var(--tm-pointer-x,0px),var(--tm-pointer-y,0px),0);transition:transform .7s cubic-bezier(.22,.61,.36,1),color .6s ease;will-change:transform}
.tm-outline-b .tm-outline-main{transform:translate3d(calc(var(--tm-pointer-x,0px) * -.7),calc(var(--tm-pointer-y,0px) * -.65),0)}
.tm-outline-c .tm-outline-main{transform:translate3d(calc(var(--tm-pointer-x,0px) * .5),calc(var(--tm-pointer-y,0px) * .6),0)}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 .tm-outline-main{pointer-events:auto}
 .tm-outline-a .tm-outline-main:hover{color:#514c42}
 .tm-outline-b .tm-outline-main:hover{color:#97846a}
 .tm-outline-c .tm-outline-main:hover{color:#675e4f}
}
.tm-outline-kicker{flex:none;margin-right:clamp(12px,1.5vw,28px);color:#756850;font-size:clamp(.62rem,.72vw,.88rem);font-weight:650;line-height:1;letter-spacing:.24em;writing-mode:vertical-rl;transform:rotate(180deg) scale(var(--tm-the-scale,1));transform-origin:center;will-change:transform;transition:transform .24s ease-out}
.tm-outline-b{padding-left:clamp(7rem,20vw,22rem);color:#7a6a52;font-family:var(--serif);font-size:clamp(5.35rem,13.7vw,15rem);font-style:italic;font-weight:400;line-height:.77;letter-spacing:-.068em}
.tm-outline-c{padding-left:clamp(1rem,4.7vw,5rem);font-size:clamp(6.2rem,17.2vw,18.5rem)}

.tm-dark-stage{position:absolute;z-index:5;inset:0;overflow:hidden;background:#171817;color:#f1efe9;clip-path:inset(100% 0 0);will-change:clip-path,opacity}
.tm-dark-word{position:absolute;z-index:0;margin:0;color:rgba(241,239,233,.32);-webkit-text-stroke:0;font-size:clamp(6rem,16vw,17rem);font-weight:500;line-height:.74;letter-spacing:-.087em;white-space:nowrap}
.tm-dark-word-a{top:15%;left:-2%}
.tm-dark-word-b{top:43%;right:3%;color:rgba(183,165,131,.38);font-family:var(--serif);font-size:clamp(5.45rem,14vw,15rem);font-style:italic;font-weight:400;line-height:.78;letter-spacing:-.068em}
.tm-dark-word-c{bottom:4%;left:10%}
.tm-film-grid{position:absolute;z-index:2;inset:11vh var(--gutter) 8vh;display:grid;grid-template-columns:1.05fr .8fr 1.2fr .85fr;grid-template-rows:1fr 1fr;gap:clamp(10px,1.4vw,24px)}
.tm-film-card{position:relative;margin:0;overflow:hidden;background:#eceae4;will-change:transform,opacity}
.tm-film-card .tm-photo{position:absolute;inset:0}
.tm-film-card figcaption{position:absolute;z-index:2;left:13px;bottom:10px;margin:0;padding:5px 7px;background:rgba(23,24,23,.72);color:#eeeae1;font-size:.65rem;line-height:1.4;letter-spacing:.12em;text-transform:uppercase}
.tm-film-card-a{grid-column:1;grid-row:1/3;margin-top:8vh}
.tm-film-card-b{grid-column:2;grid-row:1;margin-bottom:4vh}
.tm-film-card-c{grid-column:2;grid-row:2;margin-top:-3vh}
.tm-film-card-d{grid-column:3;grid-row:1/3;margin:3vh 0 5vh}
.tm-film-card-e{grid-column:4;grid-row:1;margin-top:9vh}
.tm-film-card-f{grid-column:4;grid-row:2;margin-bottom:3vh}

.tm-photo{display:block;position:relative;width:100%;height:100%;overflow:hidden;background:#f7f6f2}
.tm-photo img[data-portrait]{position:absolute;display:block;top:0;left:50%;width:var(--portrait-width);height:auto;max-width:none;filter:grayscale(1);translate:var(--portrait-x) var(--portrait-y)}
/* Brian is the master crop: every portrait follows his centered face, crown
   headroom and eye line while retaining each person's natural proportions. */
.tm-photo img[data-portrait="david"]{--portrait-width:109.2%;--portrait-x:-39%;--portrait-y:1.66%}
.tm-photo img[data-portrait="brian"]{--portrait-width:113.756584%;--portrait-x:-50.8%;--portrait-y:1.452542%}
.tm-photo img[data-portrait="todd"]{--portrait-width:101.654942%;--portrait-x:-48.1%;--portrait-y:.842542%}
.tm-photo img[data-portrait="andy"]{--portrait-width:137.820398%;--portrait-x:-48.8%;--portrait-y:-4.138814%}
.tm-photo img[data-portrait="helga"]{--portrait-width:119.5%;--portrait-x:-50%;--portrait-y:-.13%}
.tm-photo img[data-portrait="jennifer"]{--portrait-width:122.8%;--portrait-x:-52.9%;--portrait-y:-.09%}
.tm-photo img[data-portrait="jordan"]{--portrait-width:200%;--portrait-x:-50%;--portrait-y:-8%}
.tm-photo img[data-portrait="luciano"]{--portrait-width:156.128407%;--portrait-x:-32.5%;--portrait-y:-3.732012%}
.tm-photo img[data-portrait="larissa"]{--portrait-width:160.3%;--portrait-x:-31.3%;--portrait-y:-4.3%}
.tm-photo img[data-portrait="daniel"]{--portrait-width:156%;--portrait-x:-50%;--portrait-y:-3.4%}
.tm-photo img[data-portrait="everton"]{--portrait-width:220%;--portrait-x:-50%;--portrait-y:-4%}
.tm-photo img[data-portrait="humberto"]{--portrait-width:154.495558%;--portrait-x:-33.7%;--portrait-y:-2.699933%}
.tm-photo img[data-portrait="brandon"]{--portrait-width:168.454436%;--portrait-x:-33%;--portrait-y:-3.792039%}
.tm-photo img[data-portrait="curtis"]{--portrait-width:100%;--portrait-x:-51.7%;--portrait-y:1.45%}
.tm-photo img[data-portrait="miranda"]{--portrait-width:181.682085%;--portrait-x:-31.5%;--portrait-y:-4.434044%}

/* A balanced leadership trio: David left, Todd center, Brian right. */
.tm-leadership{position:absolute;z-index:8;left:50%;top:50%;width:min(86vw,1080px);display:grid;grid-template-columns:1fr 1.16fr 1fr;gap:clamp(12px,2vw,28px);align-items:center;translate:-50% -50%;opacity:0;will-change:transform,opacity}
.tm-last-card{position:relative;min-width:0;aspect-ratio:500/590;margin:0;background:#f7f6f2;opacity:0;will-change:transform,opacity}
.tm-last-card-todd{z-index:2}
.tm-last-card>.tm-photo{position:absolute;inset:0}
.tm-last-card figcaption{position:absolute;left:0;top:calc(100% + 14px);width:100%}
.tm-last-card figcaption small,.tm-last-card figcaption span{display:block}
.tm-last-card figcaption small{margin-bottom:6px;color:#aaa599;font-size:clamp(.58rem,.7vw,.68rem);line-height:1.4;letter-spacing:.1em;text-transform:uppercase}
.tm-last-card figcaption span{font-size:clamp(.8rem,1.1vw,1rem);line-height:1.35}
/* Jordan now uses a clean black-polo portrait with no legacy badge. */

.tm-team-wall{position:absolute;z-index:12;inset:0;margin:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,31vw);gap:clamp(28px,4vw,72px);align-items:center;padding:clamp(95px,11vh,130px) var(--gutter) clamp(35px,5vh,60px);background:#171817;color:#f1efe9;opacity:0;visibility:hidden;will-change:opacity}
.tm-team-grid{height:min(70vh,730px);display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr));gap:clamp(5px,.65vw,11px)}
.tm-team-cell{position:relative;min-width:0;min-height:0;overflow:hidden;background:#fff;isolation:isolate;will-change:transform,opacity,clip-path}
.tm-team-cell .tm-photo{position:absolute;z-index:0;inset:0;background:#fff}
/* Square legacy sources use the same centered master crop in the taller wall. */
.tm-team-cell img[data-portrait="jordan"]{--portrait-width:200%;--portrait-x:-50%;--portrait-y:-8%}
.tm-team-cell img[data-portrait="daniel"]{--portrait-width:156%;--portrait-x:-50%;--portrait-y:-3.4%}
.tm-team-cell img[data-portrait="everton"]{--portrait-width:220%;--portrait-x:-50%;--portrait-y:-4%}
@media(min-width:761px){
  /* Conceal the legacy badge in Daniel's source using his own shirt. */
  .tm-team-cell:has(img[data-portrait="daniel"])::after{content:"";position:absolute;z-index:2;right:0;bottom:0;pointer-events:none}
  .tm-team-cell:has(img[data-portrait="daniel"])::after{width:25%;height:25%;background:url("/assets/team/daniel.png") no-repeat 21.4% 84.1%/624% auto;filter:grayscale(1);clip-path:polygon(18% 0,100% 0,100% 100%,0 100%,0 15%)}
}
.tm-team-caption{align-self:end;padding-bottom:4vh}
.tm-team-caption small{display:block;margin-bottom:22px;color:var(--tm-stone);font-size:.7rem;letter-spacing:.16em;text-transform:uppercase}
.tm-team-caption strong{display:block;font-size:clamp(2.5rem,4.4vw,5.1rem);font-weight:400;line-height:1.04;letter-spacing:-.05em}
.tm-team-caption em{font-family:var(--serif);font-weight:400;color:var(--tm-stone)}

.tm-review{padding:clamp(85px,11vw,165px) var(--gutter);display:grid;grid-template-columns:.45fr 1.1fr .45fr;gap:5vw;align-items:start;background:var(--tm-paper)}
.tm-review h2{margin:0;font-size:clamp(2.8rem,5.7vw,6.4rem);font-weight:400;line-height:1.03;letter-spacing:-.055em}
.tm-review h2 em{font-family:var(--serif);font-weight:400;color:#86765d}
.tm-review div>p{max-width:680px;margin:36px 0 0;color:#5f5b52;font-size:1rem;line-height:1.8}
.tm-review-link{align-self:end}

.tm-enhanced .tm-team-wall{visibility:visible}
@media(max-width:1000px){
  .tm-intro{grid-template-columns:1fr .58fr;gap:6vw}
  .tm-team-wall{grid-template-columns:minmax(0,1fr) 240px}
  .tm-team-grid{height:min(62vh,620px)}
  .tm-review{grid-template-columns:.35fr 1fr}.tm-review-link{grid-column:2;margin-top:28px;width:min(100%,420px)}
}
@media(max-width:760px){
  .team-study-page .site-header,.team-study-page .site-header.is-scrolled{grid-template-columns:1fr auto}
  .tm-intro{min-height:auto;padding:120px 20px 68px;display:block}
  .tm-intro h1{margin-top:22px;font-size:clamp(3.25rem,15vw,5.25rem);line-height:.98}
  .tm-intro-note{max-width:none;margin-top:55px;padding:0}.tm-intro-note p{font-size:.95rem}
  .tm-scroll{height:560vh}
  .tm-sticky{min-height:560px}
  .tm-counter{top:86px;right:20px}
  .tm-type-stage{padding:88px 20px 22px;align-content:center}
  .tm-outline{font-size:clamp(4rem,22vw,7.2rem);line-height:.78;letter-spacing:-.083em}
  .tm-outline-kicker{margin-right:10px;font-size:.56rem;letter-spacing:.18em}
  .tm-outline-b{padding-left:12vw;font-size:clamp(3.75rem,20vw,6.6rem);line-height:.86}
  .tm-outline-c{padding-left:2vw;font-size:clamp(4.1rem,23vw,7.5rem)}
  .tm-film-grid{inset:13vh 20px 6vh;grid-template-columns:1fr 1fr 1fr;grid-template-rows:1fr 1fr 1fr;gap:8px}
  .tm-film-card-a{grid-column:1;grid-row:1/3;margin:5vh 0 0}.tm-film-card-b{grid-column:2;grid-row:1;margin:0}.tm-film-card-c{grid-column:3;grid-row:1/3;margin:8vh 0 0}.tm-film-card-d{grid-column:2;grid-row:2/4;margin:0 0 2vh}.tm-film-card-e{grid-column:1;grid-row:3;margin:0}.tm-film-card-f{grid-column:3;grid-row:3;margin:0}
  .tm-dark-word{font-size:28vw}.tm-dark-word-a{top:18%}.tm-dark-word-b{top:47%;right:-1%;font-size:25vw}.tm-dark-word-c{bottom:7%;left:-2%}
  .tm-leadership{width:min(92%,calc(100% - 32px));grid-template-columns:1fr 1.16fr 1fr;gap:8px}
  .tm-last-card figcaption{top:calc(100% + 10px)}
  .tm-last-card figcaption small{font-size:.52rem;letter-spacing:.06em}
  .tm-last-card figcaption span{font-size:clamp(.64rem,2.5vw,.85rem)}
  .tm-team-wall{display:block;padding:95px 20px 28px}
  .tm-team-grid{height:64vh;max-height:660px;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(5,minmax(0,1fr));gap:5px}
  .tm-team-caption{position:absolute;left:28px;right:28px;bottom:35px;padding:13px 15px;background:rgba(23,24,23,.78);backdrop-filter:blur(7px)}
  .tm-team-caption small{margin-bottom:8px}.tm-team-caption strong{font-size:clamp(2rem,9vw,3.4rem);line-height:1}
  .tm-review{padding:72px 20px;display:block}.tm-review>div{margin-top:35px}.tm-review h2{font-size:clamp(2.7rem,12vw,4.5rem)}.tm-review-link{margin-top:45px;width:100%}
}
@media(prefers-reduced-motion:reduce){
  .tm-scroll{height:auto}.tm-sticky{position:relative;height:auto;min-height:0;overflow:visible}.tm-counter,.tm-type-stage,.tm-dark-stage{display:none!important}.tm-team-wall{position:relative;inset:auto;visibility:visible!important;opacity:1!important;min-height:100svh}.tm-team-cell{opacity:1!important;transform:none!important;clip-path:none!important}.tm-team-caption{opacity:1!important;transform:none!important}
}
@media print{.team-study-page .site-header{position:static}.tm-intro{padding-top:50px;min-height:0}.tm-scroll{height:auto}.tm-sticky{height:auto;min-height:0}.tm-counter,.tm-type-stage,.tm-dark-stage{display:none}.tm-team-wall{position:relative;opacity:1;visibility:visible;min-height:850px}.tm-review,.team-study-page .site-footer{display:none}}

/* Quiet, continuous movement in the opening, layered independently of scroll
   and pointer transforms. Both small THE labels use the same scroll scale. */
@media(prefers-reduced-motion:no-preference){
 .tm-outline{transition:transform .24s ease-out,opacity .2s linear}
 .tm-outline-main{animation:tm-title-drift 6s ease-in-out infinite alternate}
 .tm-outline-b .tm-outline-main{animation-delay:-2s;animation-direction:alternate-reverse}
 .tm-outline-c .tm-outline-main{animation-delay:-4s}
}
@keyframes tm-title-drift{from{translate:-4px 5px}to{translate:4px -5px}}

/* Shorter opening portraits, keeping the face crop and staggered positions.
   A fixed width-to-height ratio removes the empty lower panels on tall phones. */
.tm-film-card-a,.tm-film-card-c,.tm-film-card-d{
  align-self:start;
  height:auto;
  aspect-ratio:5/8;
}
/* Andy's desktop card was already smaller; tighten its remaining lower space. */
@media(min-width:761px){.tm-film-card-c{aspect-ratio:5/7}}

/* Nest the lower mobile portraits directly beneath the shorter upper cards. */
@media(max-width:760px){
 .tm-film-card-e,.tm-film-card-f{
  position:absolute;grid-area:auto;width:calc((100% - 16px)/3);
  height:calc((100% - 16px)/3);margin:0;
 }
 .tm-film-card-e{left:0;right:auto;top:calc(5vh + (100vw - 56px)*.5333333333 + 8px)}
 .tm-film-card-f{left:auto;right:0;top:calc(8vh + (100vw - 56px)*.5333333333 + 8px)}
}

/* Give the final team wall its own roomier portrait crop. */
.tm-team-cell img[data-portrait]{width:calc(var(--portrait-width)*.9);top:4%}
@media(max-width:760px){
 .tm-team-wall{display:flex;flex-direction:column;gap:12px;padding:95px 20px 24px}
 .tm-team-grid{width:100%;height:auto;max-height:none;min-height:0;flex:1}
 .tm-team-cell img[data-portrait]{width:calc(var(--portrait-width)*.68);top:5%}
 .tm-team-caption{position:static;flex:none;margin:0;padding:0 4px;background:none;backdrop-filter:none}
 .tm-team-caption small{margin-bottom:6px;font-size:.62rem}
 .tm-team-caption strong{font-size:clamp(1.35rem,6vw,1.75rem);line-height:1.08}
}

/* Hide Daniel's baked-in navigation badge without the obsolete cover patch. */
.tm-team-cell:has(img[data-portrait="daniel"])::after{display:none}
.tm-team-cell img[data-portrait="daniel"]{-webkit-mask-image:linear-gradient(#000 0 62%,transparent 67%);mask-image:linear-gradient(#000 0 62%,transparent 67%)}
