.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.film-layout{grid-template-columns:.7fr 1.3fr;align-items:start;gap:5%}.film-copy{position:sticky;top:40px}.film-reels{display:grid;grid-template-columns:1fr 1fr;gap:20px}.reel{min-width:0}.reel-heading{display:flex;justify-content:space-between;gap:8px;font-size:9px;font-weight:800;letter-spacing:.04em;margin-bottom:12px}.reel video{width:100%;aspect-ratio:9/16;object-fit:contain;display:block;background:var(--forest)}.reel h3{font-family:var(--display);font-size:38px;margin:15px 0 0;line-height:1}.reel:nth-child(2){margin-top:66px}.athlete{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center;background:var(--forest);color:var(--paper);padding-top:95px;padding-bottom:95px;overflow:hidden}.athlete h2{font-size:clamp(65px,7vw,110px);margin:30px 0}.athlete h2 em{color:var(--lime)}.athlete-copy>p{font-size:16px;line-height:1.7;color:#d4e2cd}.portrait-switch{display:flex;flex-wrap:wrap;gap:8px;margin:30px 0}.portrait-switch button{padding:13px 15px;border:1px solid #789079;background:transparent;color:var(--paper);font-size:12px;font-weight:700}.portrait-switch button[aria-pressed=true]{background:var(--lime);color:var(--forest);border-color:var(--lime)}.athlete-copy .concept-note{font-size:11px;line-height:1.7;color:#b3c4ac}.portrait-stage{position:relative;padding:0 20px 22px 0;max-width:475px;width:100%;justify-self:center}.portrait-stage:before{content:'';position:absolute;inset:30px 0 0 30px;background:var(--lime);transform:rotate(3deg)}.portrait-frame{position:relative;width:100%;aspect-ratio:915/1281;overflow:hidden;background:#9da694;isolation:isolate}.portrait-body,.portrait-head{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.portrait-body{visibility:hidden;z-index:0}.portrait-body.current{visibility:visible;z-index:1}.portrait-body.entering{visibility:visible;z-index:2}.portrait-head{z-index:3;clip-path:polygon(39% 11.5%,59.5% 11.5%,61.6% 18%,61.5% 25.8%,58% 29.1%,55.6% 30.7%,48.8% 30.8%,43.7% 29.3%,40.5% 26.3%,39% 19%)}.portrait-number{position:absolute;z-index:0;right:-75px;top:-75px;font-family:var(--display);font-weight:900;font-size:300px;line-height:1;color:transparent;-webkit-text-stroke:1px #789079;transform:rotate(7deg)}.portrait-tag{position:absolute;bottom:34px;left:-18px;background:var(--lime);color:var(--forest);padding:12px 18px;font-size:12px;font-weight:800;z-index:4;letter-spacing:.1em}.footer{border-top:1px solid #45654c}@media(max-width:900px){.film-layout{grid-template-columns:1fr}.film-copy{position:static;margin-bottom:28px}.film-copy h2 br{display:none}.film-reels{max-width:640px}.athlete{gap:5%}.athlete h2{font-size:68px}.portrait-switch button{padding:11px}.portrait-number{font-size:220px;right:-35px;top:-50px}}@media(max-width:600px){.film-layout{gap:8px}.film-copy h2{font-size:66px}.film-copy h2 br{display:block}.film-reels{gap:12px}.reel-heading{font-size:8px;letter-spacing:0;min-height:22px;align-items:end}.reel-heading>span:last-child{display:none}.reel:nth-child(2){margin-top:42px}.reel h3{font-size:28px}.athlete{grid-template-columns:1fr;padding-top:50px;padding-bottom:55px;gap:35px}.athlete h2{font-size:78px;margin:23px 0}.portrait-stage{max-width:360px;width:92%}.portrait-switch{margin:23px 0}.portrait-number{font-size:220px;right:-15px;top:-35px}.portrait-tag{left:-10px}.hero-actions .button{min-height:48px}}

.hoop-layer{z-index:3}.metric .verified-value,.record .verified-value{color:var(--forest)}.metric-context{display:block;font-size:11px;color:var(--muted)}.empty-data{font-size:14px;line-height:1.8;padding:15px 0;color:var(--muted)}.season-label select{max-width:360px}.metric strong{overflow-wrap:anywhere}@media(max-width:600px){.season-label select{max-width:270px}.record .verified-value{font-size:64px}.record h3{max-width:220px}}

.portrait-head{clip-path:polygon(41% 12%,59% 12%,60.5% 20%,60.5% 24.5%,58% 26%,56.8% 27.7%,54.9% 29.2%,52% 29.8%,49% 29.5%,46.2% 28.6%,44.7% 27%,43.7% 26%,41.5% 26.3%,40.8% 22.3%,40.7% 17.5%)}

.portrait-head{visibility:hidden}.portrait-loaded .portrait-head{visibility:visible}

.additional-metrics{border-top:1px solid var(--line);padding:16px 0 24px}.additional-metrics summary{cursor:pointer;font-size:13px;font-weight:800}.full-stat-line{border-collapse:collapse;width:100%;margin-top:18px;font-size:13px;text-align:left}.full-stat-line td,.full-stat-line th{border-bottom:1px solid var(--line);padding:12px 10px}.full-stat-line td:nth-child(2){font-weight:800}.full-stat-line th{font-size:11px;color:var(--muted)}@media(max-width:600px){.full-stat-line{font-size:11px}.full-stat-line td,.full-stat-line th{padding:11px 5px}}

/* Approved finished video, with its same frames behind and in front of the type. */
.hero-film{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 58%}
.film-hoop{position:absolute;inset:0;width:100%;height:100%;opacity:0}
.hero-film-ready .film-hoop{opacity:1}
.hero-film-control{position:absolute;bottom:16px;left:3.6%;z-index:5;border:0;border-bottom:1px solid #ffffff70;background:none;color:white;padding:7px 0;font-size:11px;letter-spacing:.04em}
@media(max-width:900px){.hero-film{object-position:54% 50%}}
@media(max-width:600px){.hero-film{object-position:53% 50%}.hero-film-control{left:5%;bottom:8px}}

/* Three original highlight clips; full-width playback on phones. */
.film-reels{grid-template-columns:repeat(3,minmax(0,1fr));max-width:none}.reel h3{font-size:clamp(24px,2.6vw,38px)}@media(max-width:600px){.film-reels{grid-template-columns:minmax(0,1fr);width:100%;max-width:400px;gap:30px}.reel:nth-child(2){margin-top:0}.reel-heading{font-size:10px;min-height:0}.reel-heading>span:last-child{display:inline}.reel h3{font-size:34px}}

/* The page advances normally; only the photo stage stays in view for the shot. */
main{position:relative;isolation:isolate}
.shot-scroll-stage{position:relative;z-index:3}
.scroll-shot-enabled{scroll-behavior:auto}
.scroll-shot-enabled .shot-scroll-stage{height:calc(100svh + 1100px)}
.scroll-shot-enabled .hero{position:sticky;top:0;height:100svh;min-height:0}
.scroll-shot-enabled .hero-bottom{bottom:190px}
.hero-still{display:block;width:100%;height:100%}
.shot-sequence{position:absolute;inset:0;width:100%;height:100%;z-index:-2;pointer-events:none;opacity:0}
.sequence-ready .shot-sequence{opacity:1}
.sequence-ready .hero-visual{visibility:hidden}
.sequence-ready:after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,#e6f3f919,transparent 45%,#09231819 62%,#092318c2)}
.shot-controls{position:absolute;left:3.6%;right:3.6%;bottom:140px;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:16px;color:white}
.shot-instruction{font-size:10px;font-weight:800;letter-spacing:.14em}
.shot-controls .hero-film-control{position:static;border:1px solid #ffffff80;padding:9px 12px;background:#123e2c75;color:white;min-height:36px}
.hero .scroll-cue{display:none}
.basketball-run{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}
.run-rails{position:absolute;inset:0;overflow:visible}
.run-rails path{fill:none;stroke-linecap:round;stroke-linejoin:round}
.run-groove{stroke:#527951;stroke-opacity:.15;stroke-width:22}
.run-inset{stroke:#e7eedb;stroke-opacity:.58;stroke-width:17}
.run-guide{stroke:#779767;stroke-opacity:.16;stroke-width:1;stroke-dasharray:2 10}
.run-ball{position:absolute;left:0;top:0;width:80px;height:80px;opacity:0;filter:drop-shadow(0 4px 3px #123e2c24);will-change:transform}
main>.section>*,main>.identity-strip>*{position:relative;z-index:2}
main>.section,main>.identity-strip{position:relative}
.film-copy{position:sticky!important}
@media(max-width:900px){.film-copy{position:static!important}}
@media(max-width:600px){
  .scroll-shot-enabled .shot-scroll-stage{height:calc(100svh + 760px)}
  .scroll-shot-enabled .hero{height:100svh;min-height:0}
  .shot-controls{left:5%;right:5%;bottom:115px}
  .scroll-shot-enabled .hero-bottom{bottom:170px}
  .run-groove{stroke-width:18}.run-inset{stroke-width:13}
  .shot-instruction{font-size:9px;letter-spacing:.1em}
}
@media(max-height:650px){.scroll-shot-enabled .hero h1{top:50px}.scroll-shot-enabled .first-name{font-size:min(19vw,18svh)}.scroll-shot-enabled .last-name{font-size:min(13.8vw,14svh)}.hero-caption{display:none}.scroll-shot-enabled .hero-bottom{bottom:150px}.shot-controls{bottom:105px}.hero-actions{margin-top:12px}}

/* Two continuous, opposing bands; duplicate copy is hidden from assistive tech. */
.identity-strip.ticker-band{display:block;position:relative;padding:0;overflow:hidden;isolation:isolate;background:var(--forest);z-index:3}
.ticker-band>.sr-only{position:absolute}
.ticker-band .ticker-row{display:block;position:relative;overflow:hidden;margin:0;mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent)}
.ticker-life{background:var(--lime);color:var(--forest)}
.ticker-faith{background:var(--forest);color:var(--paper);border-top:1px solid #123e2c}
.ticker-rail{display:flex;width:max-content;animation:ticker-left 38s linear infinite;animation-play-state:paused;will-change:transform}
.ticker-faith .ticker-rail{animation-name:ticker-right;animation-duration:42s}
.ticker-group{display:flex;align-items:center;justify-content:space-around;flex:none;gap:clamp(24px,3.5vw,64px);min-width:100vw;padding:12px clamp(24px,3.5vw,64px) 15px 0;font-family:var(--display);font-size:clamp(48px,7.8vw,126px);font-weight:800;letter-spacing:-.025em;line-height:1;white-space:nowrap}
.ticker-star{font-size:.48em;line-height:1;color:var(--green)}
.ticker-faith .ticker-star{color:var(--lime)}
.ticker-outline{color:transparent;-webkit-text-stroke:1.5px var(--paper)}
.ticker-visible:not(.ticker-paused) .ticker-rail{animation-play-state:running}
.ticker-band .ticker-toggle{position:absolute;z-index:4;right:12px;bottom:10px;display:grid;place-items:center;width:40px;height:40px;padding:0;border:1px solid #f7f9f380;border-radius:50%;background:var(--forest);color:var(--paper);font-size:18px}
.ticker-toggle:hover{background:var(--green)}
@keyframes ticker-left{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
@keyframes ticker-right{from{transform:translate3d(-50%,0,0)}to{transform:translate3d(0,0,0)}}
@media(max-width:600px){.ticker-group{font-size:54px;gap:25px;padding:13px 25px 15px 0}.ticker-outline{-webkit-text-stroke:1px var(--paper)}.ticker-band .ticker-toggle{width:44px;height:44px;right:9px;bottom:8px}.ticker-faith .ticker-group{padding-bottom:21px}}
/* James explicitly requested automatic tickers; retain independent pause controls. */
@media(prefers-reduced-motion:reduce){.ticker-band .ticker-rail{animation:ticker-left 38s linear infinite!important;animation-play-state:paused!important}.ticker-band .ticker-faith .ticker-rail{animation-name:ticker-right!important;animation-duration:42s!important}.ticker-band.ticker-visible:not(.ticker-paused) .ticker-rail{animation-play-state:running!important}}

/* Authentic source photographs; no generated face or wardrobe layers. */
.portrait-original{display:block;width:100%;height:100%;object-fit:cover}
.athlete-copy .athlete-sports{font-size:11px;letter-spacing:.09em;margin-top:30px;font-weight:800}
.hero .scroll-cue{display:block}

.scroll-shot-enabled .hero .scroll-cue{display:none}
