
:root{
  --ink:#080604;--ink2:#0e0906;--panel:#15100c;--panel2:#21160f;
  --orange:#ef6327;--orange2:#ff7b25;--sand:#e6b372;--cream:#f7dfbc;
  --white:#fffaf3;--muted:#b7a89d;--line:rgba(246,223,188,.14);
  --headline:"Alfa Slab One",Georgia,serif;--sport:"Barlow Condensed","Arial Narrow",sans-serif;
  --body:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --max:1240px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ink);color:var(--white);font-family:var(--body);overflow-x:hidden;background:
  radial-gradient(circle at 87% 4%,rgba(239,99,39,.08),transparent 22%),
  linear-gradient(180deg,#080604,#0b0705 50%,#080604)}
a{color:inherit;text-decoration:none}
img,video{display:block;max-width:100%}
.shell{width:min(calc(100% - 64px),var(--max));margin:auto}
.topbar{position:sticky;top:0;z-index:100;background:rgba(8,6,4,.82);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}
.nav{height:78px;display:flex;align-items:center;gap:28px}
.brand{display:flex;align-items:center;gap:12px;min-width:245px}
.brand img{width:46px;height:46px;object-fit:cover;border-radius:12px}
.brand strong,.brand small{display:block;text-transform:uppercase}
.brand strong{font-family:var(--sport);font-size:1rem;letter-spacing:.08em}
.brand small{font-size:.58rem;color:#a38e7d;letter-spacing:.12em;margin-top:4px}
.links{display:flex;align-items:center;justify-content:center;gap:22px;flex:1;font-family:var(--sport);font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.links a{font-size:.9rem;color:#d2c4ba;transition:.2s}.links a:hover{color:var(--sand)}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:13px 22px;background:linear-gradient(135deg,var(--orange),var(--orange2));color:#fff;font-family:var(--sport);font-size:.95rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em;border-radius:4px;clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,10px 100%,0 calc(100% - 10px));transition:.2s}
.button:hover{transform:translateY(-2px);filter:brightness(1.06)}
.button-small{min-height:42px;padding:10px 16px;font-size:.82rem}
.button-ghost{background:#17100c;border:1px solid rgba(246,223,188,.23);color:var(--cream)}
.eyebrow{font-family:var(--sport);font-weight:900;text-transform:uppercase;letter-spacing:.17em;color:var(--sand);font-size:.83rem}
.hero{min-height:760px;padding:72px 0 74px;position:relative;overflow:hidden}
.hero:before{content:"";position:absolute;width:520px;height:520px;border-radius:50%;right:4%;top:4%;background:radial-gradient(circle,#d67d42 0 7%,#a94b28 32%,rgba(169,75,40,0) 70%);opacity:.25;filter:blur(1px)}
.hero-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:58px;align-items:center;position:relative;z-index:1}
.hero h1,.section h2,.coach-copy h2,.du-copy h2,.profile-intro h2{font-family:var(--headline);font-weight:400;text-transform:uppercase;letter-spacing:-.035em}
.hero h1{font-size:clamp(4.3rem,6.5vw,7.5rem);line-height:.91;margin:17px 0 24px}
.hero h1 span{display:block}
.hero h1 .outline{color:transparent;-webkit-text-stroke:1.2px var(--cream)}
.hero h1 .orange{color:var(--orange2);text-shadow:3px 3px 0 #74311c}
.intro{color:#c7b9ae;line-height:1.7;font-size:1rem;max-width:650px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
.hero-stats{display:flex;gap:28px;margin-top:42px;padding-top:24px;border-top:1px solid var(--line)}
.hero-stats b{display:block;font-family:var(--headline);font-weight:400;font-size:1.45rem;color:var(--cream)}
.hero-stats span{display:block;color:#9f9187;font-family:var(--sport);font-size:.83rem;text-transform:uppercase;margin-top:5px}
.hero-media{position:relative;height:610px;border-radius:32px;overflow:hidden;border:1px solid rgba(239,99,39,.22);box-shadow:0 35px 100px rgba(0,0,0,.42)}
.hero-media video{width:100%;height:100%;object-fit:cover;background:#090604}
.hero-media-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,6,4,.02),rgba(8,6,4,.10) 50%,rgba(8,6,4,.87))}
.hero-logo{position:absolute;left:28px;bottom:28px;width:112px;height:112px;border-radius:24px;object-fit:cover;border:1px solid rgba(255,255,255,.22);box-shadow:0 12px 30px rgba(0,0,0,.4)}
.hero-caption{position:absolute;right:30px;bottom:32px;text-align:right;font-family:var(--sport);text-transform:uppercase}
.hero-caption b{display:block;font-size:1.35rem;letter-spacing:.05em}.hero-caption span{color:var(--sand);font-size:.83rem;letter-spacing:.11em}
.identity-rail{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:linear-gradient(90deg,#100a07,#1b0e08,#100a07)}
.identity-inner{min-height:62px;display:flex;align-items:center;justify-content:center;gap:18px;font-family:var(--sport);font-weight:900;text-transform:uppercase;letter-spacing:.12em;color:#e7c49b}
.identity-inner i{width:6px;height:6px;background:var(--orange);transform:rotate(45deg)}
.section{padding:94px 0;border-top:1px solid rgba(255,255,255,.04)}
.section-head{display:grid;grid-template-columns:1fr 420px;gap:46px;align-items:end;margin-bottom:38px}
.section h2{font-size:clamp(3.2rem,5vw,5.7rem);line-height:.95;margin:10px 0 0}
.section-head p{color:var(--muted);line-height:1.65;margin:0}
.path-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.path-card{position:relative;min-height:470px;border-radius:26px;overflow:hidden;border:1px solid var(--line);background:#111;transition:.28s;transform-style:preserve-3d}
.path-card:hover{transform:translateY(-8px);border-color:rgba(239,99,39,.38)}
.path-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:.35s}.path-card:hover img{transform:scale(1.04)}
.shade{position:absolute;inset:0;background:linear-gradient(180deg,transparent 14%,rgba(8,6,4,.20) 48%,rgba(8,6,4,.96))}
.path-copy{position:absolute;z-index:2;left:24px;right:24px;bottom:24px}
.path-copy em{font-family:var(--sport);font-style:italic;font-weight:900;font-size:3.3rem;color:rgba(255,255,255,.22)}
.path-copy h3{font-family:var(--headline);font-weight:400;text-transform:uppercase;font-size:1.35rem;line-height:1.06;margin:5px 0 9px}
.path-copy p{color:#d5c7bc;font-size:.88rem;line-height:1.5;margin:0}.path-copy b{display:block;margin-top:16px;color:var(--sand);font-family:var(--sport);text-transform:uppercase;letter-spacing:.08em}
.film-section{background:linear-gradient(180deg,#090604,#120b07,#090604)}
.film-grid{display:grid;grid-template-columns:1.18fr .82fr;gap:16px}
.film-feature,.film-card{border:1px solid var(--line);border-radius:26px;overflow:hidden;background:#130e0b}
.film-feature video{height:620px;width:100%;object-fit:cover;background:#000}
.film-stack{display:grid;gap:16px}
.film-card video{height:260px;width:100%;object-fit:cover;background:#000}
.film-copy{padding:17px 20px 20px}.film-copy small{font-family:var(--sport);color:var(--sand);font-weight:900;letter-spacing:.12em}.film-copy h3{font-family:var(--headline);font-weight:400;text-transform:uppercase;font-size:1.55rem;margin:5px 0}.film-copy p{color:#a99a8f;margin:0}
.levels{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:18px}
.levels>div{padding:20px;border:1px solid var(--line);border-radius:19px;background:linear-gradient(145deg,#17110d,#0e0a08)}
.levels span{font-family:var(--sport);font-weight:900;color:var(--orange2);letter-spacing:.08em}.levels h3{font-family:var(--headline);font-weight:400;text-transform:uppercase;font-size:1.25rem;margin:5px 0 7px}.levels p{color:#a99a8f;font-size:.84rem;line-height:1.5;margin:0}
.proof-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:360px;gap:14px}
.proof{position:relative;margin:0;border-radius:22px;overflow:hidden;border:1px solid var(--line);background:#111}.proof-wide{grid-column:span 2}
.proof img{width:100%;height:100%;object-fit:cover}.proof:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 45%,rgba(7,5,4,.90))}
.proof figcaption{position:absolute;z-index:2;left:18px;right:18px;bottom:16px}.proof figcaption b{font-family:var(--headline);font-weight:400;text-transform:uppercase}.proof figcaption span{display:block;color:var(--sand);font-family:var(--sport);font-weight:800;text-transform:uppercase;font-size:.78rem;letter-spacing:.08em;margin-top:4px}
.coach-section{background:radial-gradient(circle at 10% 10%,rgba(239,99,39,.08),transparent 22%),#0a0705}
.coach-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:42px;align-items:stretch}
.coach-photo{position:relative;min-height:670px;border-radius:30px;overflow:hidden;border:1px solid rgba(239,99,39,.24);box-shadow:0 30px 80px rgba(0,0,0,.32)}
.coach-photo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 42%}
.coach-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,6,4,.02) 30%,rgba(8,6,4,.16) 62%,rgba(8,6,4,.92))}
.coach-label{position:absolute;left:28px;right:28px;bottom:26px}.coach-label small{font-family:var(--sport);font-weight:900;color:var(--sand);text-transform:uppercase;letter-spacing:.13em}.coach-label h2{font-family:var(--headline);font-weight:400;text-transform:uppercase;font-size:2.15rem;margin:6px 0}.coach-label span{font-family:var(--sport);font-weight:900;text-transform:uppercase;letter-spacing:.06em}
.coach-copy{padding:46px 0;align-self:center}.coach-copy h2,.du-copy h2,.profile-intro h2{font-size:clamp(3.1rem,4.4vw,5rem);line-height:.96;margin:10px 0 20px}.coach-copy>p,.du-copy>p,.profile-intro>p{color:var(--muted);line-height:1.7}
.coach-points{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:26px 0}.coach-points>div{border:1px solid var(--line);background:#15100c;border-radius:17px;padding:17px}.coach-points b{display:block;font-family:var(--sport);text-transform:uppercase}.coach-points span{display:block;color:#95877d;font-size:.78rem;line-height:1.4;margin-top:5px}
.pricing{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:0 0 24px}.pricing>div{border:1px solid var(--line);background:#15100c;border-radius:17px;padding:17px}.pricing span{display:block;font-family:var(--sport);font-weight:900;text-transform:uppercase}.pricing small{display:block;color:#8e8076;margin:4px 0 18px}.pricing b{font-family:var(--headline);font-weight:400;font-size:1.45rem}.pricing .price-featured{border-color:rgba(239,99,39,.42);background:linear-gradient(145deg,rgba(239,99,39,.10),#15100c)}
.sponsor-section{background:#0b0806}
.sponsor-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.sponsor{border:1px solid var(--line);border-radius:23px;overflow:hidden;background:#130e0b}.sponsor img{width:100%;height:260px;object-fit:contain;background:#f6f0e8;padding:20px}.sponsor>div{padding:17px}.sponsor b{font-family:var(--headline);font-weight:400;text-transform:uppercase}.sponsor span{display:block;color:var(--sand);font-family:var(--sport);font-weight:900;text-transform:uppercase;font-size:.78rem;letter-spacing:.08em;margin-top:5px}
.du-section{background:radial-gradient(circle at 82% 18%,rgba(255,123,37,.19),transparent 20%),linear-gradient(180deg,#120a06,#1a0d07 58%,#090604)}
.du-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:44px;align-items:center}
.du-facts{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:25px 0}.du-facts div{border:1px solid var(--line);background:rgba(16,10,7,.72);border-radius:15px;padding:14px}.du-facts b{display:block;font-family:var(--sport);text-transform:uppercase}.du-facts span{display:block;color:#9e8e82;font-size:.77rem;margin-top:4px}
.du-image{position:relative;min-height:650px;border-radius:30px;overflow:hidden;border:1px solid rgba(239,99,39,.32)}.du-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.du-image:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 48%,rgba(8,6,4,.88))}.du-image>div{position:absolute;z-index:2;left:26px;bottom:24px}.du-image b{display:block;font-family:var(--headline);font-weight:400;text-transform:uppercase;font-size:1.5rem}.du-image span{display:block;font-family:var(--sport);font-weight:900;color:var(--sand);text-transform:uppercase;letter-spacing:.09em;margin-top:4px}
.profile-section{background:linear-gradient(180deg,#090604,#100a07,#090604)}
.profile-grid{display:grid;grid-template-columns:.84fr 1.16fr;gap:54px;align-items:start}
.profile-key{display:flex;gap:8px;flex-wrap:wrap;margin-top:26px}.profile-key span{padding:8px 11px;border:1px solid rgba(230,179,114,.20);border-radius:999px;color:#ddbd94;font-family:var(--sport);font-weight:900;text-transform:uppercase;font-size:.76rem;letter-spacing:.07em}
.assessment{border:1px solid rgba(239,99,39,.30);border-radius:28px;padding:28px;background:linear-gradient(150deg,rgba(239,99,39,.08),rgba(255,255,255,.018));box-shadow:0 30px 75px rgba(0,0,0,.22)}
.skill{margin-bottom:20px}.skill>div:first-child{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.skill b,.skill .value{font-family:var(--sport);font-weight:900;text-transform:uppercase;letter-spacing:.06em}.skill .value{color:var(--sand)}
.scale{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.scale button{min-height:44px;border:1px solid rgba(255,255,255,.11);background:#17110d;color:#a99a8f;border-radius:10px;font-family:var(--sport);font-weight:900;cursor:pointer}.scale button.active{background:var(--orange);border-color:var(--orange);color:#fff}
.result-box{margin-top:22px;padding-top:22px;border-top:1px solid var(--line)}.result-box small{font-family:var(--sport);font-weight:900;text-transform:uppercase;letter-spacing:.1em;color:var(--sand)}.result-box h3{font-family:var(--headline);font-weight:400;text-transform:uppercase;font-size:2.6rem;margin:7px 0}.result-box p{color:#b0a096;line-height:1.55}.meter{height:9px;border-radius:999px;background:#241812;overflow:hidden}.meter span{display:block;height:100%;width:60%;background:linear-gradient(90deg,var(--orange),var(--sand));transition:.3s}
.location-strip{padding:34px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#120b07}.location-strip .shell{display:flex;align-items:end;justify-content:space-between;gap:30px}.location-strip small,.location-strip b{display:block}.location-strip small{font-family:var(--sport);font-weight:900;text-transform:uppercase;color:var(--sand);letter-spacing:.1em}.location-strip b{font-family:var(--headline);font-weight:400;text-transform:uppercase;font-size:1.4rem;margin-top:4px}.location-strip p{margin:0;color:#aa998d}
footer{padding:38px 0 44px}.footer-grid{display:flex;align-items:center;justify-content:space-between;gap:30px}.footer-brand{display:flex;align-items:center;gap:12px}.footer-brand img{width:58px;height:58px;object-fit:cover;border-radius:14px}.footer-brand b,.footer-brand span{display:block}.footer-brand b{font-family:var(--headline);font-weight:400;text-transform:uppercase}.footer-brand span{color:#927f71;font-size:.74rem;margin-top:4px}.socials{display:flex;gap:18px;flex-wrap:wrap;font-family:var(--sport);font-weight:800;color:#d7bea0}
@media(max-width:1050px){
  .links{display:none}.shell{width:min(calc(100% - 36px),var(--max))}
  .hero-grid,.coach-grid,.du-grid,.profile-grid{grid-template-columns:1fr}.hero{padding-top:48px}.hero-media{height:560px}
  .path-grid{grid-template-columns:1fr 1fr}.section-head{grid-template-columns:1fr}.film-grid{grid-template-columns:1fr}.film-feature video{height:500px}.film-stack{grid-template-columns:1fr 1fr}.levels{grid-template-columns:1fr 1fr}.coach-photo,.du-image{min-height:600px}.pricing{grid-template-columns:1fr 1fr 1fr}
}
@media(max-width:680px){
  .shell{width:calc(100% - 24px)}.nav{height:66px}.brand{min-width:0}.brand strong{font-size:.78rem}.brand small{display:none}.button-small{font-size:.72rem;padding:9px 11px}
  .hero{min-height:auto;padding:36px 0 45px}.hero h1{font-size:clamp(2.7rem,13vw,3.5rem)}.hero-media{height:430px;border-radius:24px}.hero-stats{gap:14px;display:grid;grid-template-columns:repeat(3,1fr)}.hero-stats b{font-size:1.05rem}
  .identity-inner{overflow:auto;justify-content:flex-start;white-space:nowrap;padding:0 8px}.section{padding:62px 0}.section h2,.coach-copy h2,.du-copy h2,.profile-intro h2{font-size:clamp(2.45rem,11vw,3.3rem)}
  .path-grid{grid-template-columns:1fr}.path-card{min-height:390px}.film-feature video,.film-card video{height:360px}.film-stack{grid-template-columns:1fr}.levels{grid-template-columns:1fr}.proof-grid{grid-template-columns:1fr;grid-auto-rows:340px}.proof-wide{grid-column:auto}
  .coach-photo,.du-image{min-height:500px}.coach-copy{padding:18px 0}.coach-points,.pricing,.du-facts{grid-template-columns:1fr}.sponsor-grid{grid-template-columns:1fr}.assessment{padding:18px}.location-strip .shell,.footer-grid{align-items:flex-start;flex-direction:column}.socials{flex-direction:column;gap:8px}
}


/* V11 — expanded session film */
.film-grid-five{
  grid-template-columns:1.15fr .85fr;
}
.film-grid-five .film-wide{
  grid-column:span 1;
}
.film-grid-five > .film-wide video{
  height:330px;
  width:100%;
  object-fit:cover;
  background:#000;
}
.film-grid-five > .film-wide:nth-of-type(2){
  grid-column:1;
}
.film-grid-five > .film-wide:nth-of-type(3){
  grid-column:2;
}


/* V15 — stronger 3D basketball */
.ball-zone{
  margin-top:30px;
  border-top:1px solid var(--line);
  padding-top:22px;
}
.ball-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  font-family:var(--sport);
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.10em;
  color:#8f8075;
  font-size:.74rem;
}
.ball-head b{color:var(--sand)}
.ball-stage{
  position:relative;
  min-height:360px;
  display:grid;
  place-items:center;
  perspective:1200px;
  user-select:none;
  touch-action:pan-y;
  cursor:grab;
  overflow:hidden;
}
.ball-stage:active{cursor:grabbing}
.ball-stage:before{
  content:"";
  position:absolute;
  width:360px;
  height:360px;
  border-radius:50%;
  background:
    radial-gradient(circle,rgba(239,99,39,.28),rgba(239,99,39,.10) 42%,rgba(239,99,39,.02) 62%,transparent 74%);
  filter:blur(6px);
  transform:translateY(10px);
}
.ball-stage:after{
  content:"";
  position:absolute;
  width:430px;
  height:140px;
  bottom:8px;
  left:50%;
  transform:translateX(-50%);
  background:radial-gradient(circle at center,rgba(255,143,58,.18),transparent 65%);
  filter:blur(18px);
}
.ball-shadow{
  position:absolute;
  width:195px;
  height:38px;
  left:50%;
  bottom:42px;
  transform:translateX(-50%);
  border-radius:50%;
  background:rgba(0,0,0,.58);
  filter:blur(16px);
  box-shadow:0 0 35px rgba(0,0,0,.2);
}
.basketball{
  --rx:-12deg;
  --ry:28deg;
  position:relative;
  width:232px;
  height:232px;
  border-radius:50%;
  transform-style:preserve-3d;
  transform:rotateX(var(--rx)) rotateY(var(--ry)) translateZ(28px);
  transition:transform .16s ease-out;
  background:
    radial-gradient(circle at 32% 22%, rgba(255,236,199,.95) 0 5%, rgba(255,236,199,.42) 8%, rgba(255,255,255,0) 18%),
    radial-gradient(circle at 28% 28%, #ffb259 0 8%, #ff8c31 18%, #eb6522 48%, #c44b1b 72%, #7b2811 100%);
  box-shadow:
    inset -34px -38px 42px rgba(74,18,8,.48),
    inset 24px 20px 26px rgba(255,208,151,.16),
    inset -10px -16px 22px rgba(123,40,17,.35),
    0 24px 42px rgba(0,0,0,.35);
  isolation:isolate;
}
.basketball:before{
  content:"";
  position:absolute;
  inset:10px;
  border-radius:50%;
  opacity:.26;
  background-image:
    radial-gradient(circle at 2px 2px,rgba(65,20,8,.95) 1.05px,transparent 1.2px);
  background-size:7px 7px;
  mix-blend-mode:multiply;
  transform:translateZ(1px);
}
.basketball:after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:50%;
  background:
    radial-gradient(circle at 28% 26%, rgba(255,255,255,.24), transparent 22%),
    radial-gradient(circle at 70% 76%, rgba(0,0,0,.20), transparent 34%);
  transform:translateZ(10px);
  pointer-events:none;
}
.ball-lines{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  overflow:visible;
  filter:drop-shadow(1px 2px 0 rgba(255,160,87,.16));
  transform:translateZ(12px);
}
.ball-light{
  position:absolute;
  z-index:2;
  left:30px;
  top:22px;
  width:84px;
  height:62px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(255,233,197,.46),transparent 70%);
  filter:blur(4px);
  transform:translateZ(15px);
}
.du-ball-mark{
  position:absolute;
  z-index:3;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%) translateZ(18px);
  font-family:var(--headline);
  font-size:1.75rem;
  color:rgba(255,236,208,.9);
  text-shadow:0 2px 5px rgba(65,20,8,.45);
  letter-spacing:.02em;
}
.ball-controls{
  display:flex;
  justify-content:center;
  gap:8px;
  flex-wrap:wrap;
}
.ball-controls button{
  min-height:42px;
  border:1px solid rgba(230,179,114,.20);
  background:#17100c;
  color:#d9c3a5;
  border-radius:999px;
  padding:8px 14px;
  font-family:var(--sport);
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.07em;
  cursor:pointer;
}
.ball-controls button:hover{
  border-color:rgba(239,99,39,.55);
  color:#fff;
  box-shadow:0 0 0 1px rgba(239,99,39,.16), 0 10px 20px rgba(0,0,0,.15);
}
@media(max-width:680px){
  .ball-stage{min-height:310px}
  .basketball{width:200px;height:200px}
  .ball-shadow{width:168px;bottom:34px}
  .ball-head{align-items:flex-start;flex-direction:column;gap:4px}
}
@media(prefers-reduced-motion:reduce){
  .basketball{transition:none}
}


/* V12 — transparent DU logo treatment */
.brand img,
.hero-logo,
.footer-brand img{
  object-fit:contain;
  background:transparent;
}
.brand img{border-radius:0}
.hero-logo{
  border:0;
  border-radius:0;
  box-shadow:none;
  filter:drop-shadow(0 10px 18px rgba(0,0,0,.38));
}
.footer-brand img{border-radius:0}

/* V13 — latest supplied media */
.community-proof{
  margin-top:18px;
  min-height:390px;
  display:grid;
  grid-template-columns:1.2fr .8fr;
  border:1px solid var(--line);
  border-radius:26px;
  overflow:hidden;
  background:linear-gradient(145deg,#17100c,#0e0907);
}
.community-proof img{width:100%;height:100%;min-height:390px;object-fit:cover}
.community-proof>div{padding:34px;align-self:center}
.community-proof small{
  font-family:var(--sport);font-weight:900;text-transform:uppercase;
  letter-spacing:.12em;color:var(--sand)
}
.community-proof h3{
  font-family:var(--headline);font-weight:400;text-transform:uppercase;
  font-size:2rem;line-height:1.05;margin:8px 0 12px
}
.community-proof p{color:var(--muted);line-height:1.6;margin:0}
@media(max-width:1050px){
  .community-proof{grid-template-columns:1fr}
  .community-proof img{min-height:460px}
}
@media(max-width:680px){
  .community-proof img{min-height:340px}
  .community-proof>div{padding:22px}
}

/* V14 — Movement Work is the final athletic-development clip */
.film-card video[src="assets/athletic.mp4"],
.film-card:has(source[src="assets/athletic.mp4"]) video{
  object-position:center 42%;
}


/* V18 — generated pathway posters */
.poster-path{background:#0b0705}
.poster-path img{object-fit:cover;object-position:center}
.poster-edge{
  position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg,transparent 50%,rgba(8,6,4,.18) 75%,rgba(8,6,4,.70) 100%);
  pointer-events:none
}
.poster-cta{
  position:absolute;z-index:3;left:16px;right:16px;bottom:15px;
  display:flex;justify-content:space-between;align-items:center;gap:12px;
  opacity:.88;transition:.25s ease
}
.poster-cta span{
  width:38px;height:38px;border-radius:50%;
  display:grid;place-items:center;
  background:rgba(8,6,4,.72);border:1px solid rgba(255,255,255,.18);
  font-family:var(--sport);font-weight:900;color:var(--sand)
}
.poster-cta b{
  margin-left:auto;padding:9px 12px;border-radius:999px;
  background:rgba(8,6,4,.72);border:1px solid rgba(255,255,255,.16);
  backdrop-filter:blur(8px);
  font-family:var(--sport);font-weight:900;text-transform:uppercase;
  letter-spacing:.08em;font-size:.72rem;color:#fff
}
.poster-path:hover .poster-cta{transform:translateY(-4px);opacity:1}
.poster-path:hover img{transform:scale(1.035)}

/* V18 — more interactive site buttons */
.button{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  gap:10px;
  border:1px solid rgba(255,255,255,.15);
  box-shadow:
    0 10px 24px rgba(160,55,18,.16),
    inset 0 1px 0 rgba(255,255,255,.16);
  transition:
    transform .22s cubic-bezier(.2,.8,.2,1),
    box-shadow .22s ease,
    filter .22s ease,
    border-color .22s ease;
}
.button::before{
  content:"";
  position:absolute;
  z-index:-1;
  width:90px;height:180%;
  left:-130px;top:-40%;
  transform:rotate(18deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.26),transparent);
  transition:left .55s cubic-bezier(.2,.8,.2,1);
}
.button::after{
  content:"↗";
  display:inline-block;
  font-size:.92em;
  line-height:1;
  transform:translate(0,0);
  transition:transform .22s ease;
}
.button:hover{
  transform:translateY(-3px) scale(1.012);
  filter:brightness(1.08) saturate(1.05);
  border-color:rgba(255,225,190,.34);
  box-shadow:
    0 15px 34px rgba(213,77,27,.27),
    0 0 0 1px rgba(239,99,39,.12),
    inset 0 1px 0 rgba(255,255,255,.22);
}
.button:hover::before{left:calc(100% + 40px)}
.button:hover::after{transform:translate(3px,-3px)}
.button:active{
  transform:translateY(0) scale(.985);
  box-shadow:0 6px 16px rgba(0,0,0,.24),inset 0 2px 4px rgba(0,0,0,.12)
}
.button:focus-visible{
  outline:2px solid var(--sand);
  outline-offset:4px
}
.button-ghost{
  background:linear-gradient(135deg,rgba(27,17,12,.96),rgba(20,12,8,.96));
  border-color:rgba(246,223,188,.24);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 9px 20px rgba(0,0,0,.18)
}
.button-ghost:hover{
  background:linear-gradient(135deg,rgba(53,28,16,.98),rgba(26,15,10,.98));
  border-color:rgba(239,99,39,.38);
  box-shadow:0 13px 28px rgba(0,0,0,.27),0 0 24px rgba(239,99,39,.08)
}
.button-small::after{font-size:.78em}

/* Button ripple created in JS */
.button-ripple{
  position:absolute;
  z-index:-1;
  width:12px;height:12px;border-radius:50%;
  pointer-events:none;
  background:rgba(255,255,255,.28);
  transform:translate(-50%,-50%) scale(0);
  animation:buttonRipple .55s ease-out forwards
}
@keyframes buttonRipple{
  to{transform:translate(-50%,-50%) scale(18);opacity:0}
}

/* New Movement Work clip: clean widescreen treatment */
.movement-video{
  object-fit:cover!important;
  object-position:center center!important;
  background:#090604
}

@media (hover:none),(pointer:coarse){
  .button:hover{transform:none}
  .button:hover::before{left:-130px}
  .poster-path:hover img{transform:none}
  .poster-path:hover .poster-cta{transform:none}
}
@media(prefers-reduced-motion:reduce){
  .button,.button::before,.button::after,.poster-cta,.poster-path img{transition:none}
  .button-ripple{display:none}
}

/* V19 — approved Choose Your Path art + clean transparent site crest */
.brand img{
  width:50px;
  height:50px;
  object-fit:contain;
  object-position:center;
  background:transparent!important;
  border-radius:0!important;
  padding:0!important;
  box-shadow:none!important;
  filter:drop-shadow(0 5px 8px rgba(0,0,0,.32));
}
.hero-logo,
.footer-brand img{
  object-fit:contain;
  object-position:center;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
}
.poster-path{
  background:#090604;
}
.poster-path > img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
}
/* Keep the baked-in title art visible and avoid a heavy duplicate overlay. */
.poster-path .poster-edge{
  background:linear-gradient(180deg,transparent 68%,rgba(8,6,4,.08) 86%,rgba(8,6,4,.34) 100%);
}
.poster-path .poster-cta{
  bottom:12px;
}
.poster-path .poster-cta b{
  background:rgba(8,6,4,.68);
}
@media(max-width:680px){
  .brand img{width:44px;height:44px}
}

/* V20 — approved DU West Valley #4 pathway artwork */
.du-path-card > img{
  object-fit:cover;
  object-position:center center;
}
.du-path-card .shade{
  background:linear-gradient(
    180deg,
    rgba(8,6,4,.03) 0%,
    rgba(8,6,4,.03) 54%,
    rgba(8,6,4,.36) 72%,
    rgba(8,6,4,.94) 100%
  );
}
.du-path-card .path-copy{
  bottom:22px;
}
@media(max-width:680px){
  .du-path-card > img{object-position:center center}
}

/* V21 — true transparent browser/site icon + header crest */
.brand img,
.hero-logo,
.footer-brand img{
  background-color:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
}

/* V23 — organized Proof on the Court additions */
.proof-champ-2024 img{object-position:center 42%}
.proof-50 img{object-position:center 38%}
.proof-signing img{object-position:center 46%}
@media(max-width:680px){
  .proof-champ-2024 img{object-position:center 40%}
  .proof-50 img{object-position:center 36%}
  .proof-signing img{object-position:center 44%}
}


/* V24 — true 3D basketball + stronger dimensional buttons */
.premium-ball-stage{
  perspective: 1600px;
}
.premium-ball-stage::before{
  width:420px;
  height:420px;
  background:
    radial-gradient(circle at center, rgba(255,126,44,.30), rgba(255,126,44,.14) 34%, rgba(255,126,44,.06) 52%, transparent 74%);
  filter: blur(8px);
}
.premium-ball-stage::after{
  width:500px;
  height:160px;
  bottom:4px;
  background:radial-gradient(circle at center, rgba(255,148,72,.22), rgba(255,148,72,.10) 36%, transparent 72%);
  filter: blur(22px);
}
.ball-shadow{
  width:228px;
  height:48px;
  bottom:28px;
  background:radial-gradient(ellipse at center, rgba(8,6,4,.88) 0%, rgba(8,6,4,.52) 44%, rgba(8,6,4,0) 76%);
  filter: blur(14px);
  opacity:.92;
}
.basketball{
  --rx:-16deg;
  --ry:32deg;
  --ball-scale:1;
  width:244px;
  height:244px;
  border:1px solid rgba(255,204,138,.18);
  transform:rotateX(var(--rx)) rotateY(var(--ry)) translateZ(46px) scale(var(--ball-scale));
  background:
    radial-gradient(circle at 30% 24%, rgba(255,250,241,.96) 0 2.8%, rgba(255,224,167,.75) 3.6%, rgba(255,224,167,.32) 8%, rgba(255,255,255,0) 16%),
    radial-gradient(circle at 68% 76%, rgba(88,25,10,.78) 0 11%, rgba(88,25,10,0) 32%),
    radial-gradient(circle at 48% 50%, #ffb85d 0 9%, #ff9a38 18%, #f37325 39%, #d2551f 61%, #9b3614 82%, #67210d 100%);
  box-shadow:
    inset -44px -50px 56px rgba(72,18,8,.52),
    inset 30px 26px 28px rgba(255,240,205,.18),
    inset -8px 6px 20px rgba(255,186,102,.18),
    0 22px 24px rgba(0,0,0,.20),
    0 34px 54px rgba(0,0,0,.35),
    0 0 0 8px rgba(255,138,52,.03);
  animation: ballFloat3D 4.6s ease-in-out infinite;
  will-change: transform;
}
.basketball::before{
  inset:11px;
  opacity:.24;
  background-image: radial-gradient(circle at 1.5px 1.5px, rgba(71,20,7,.96) .95px, transparent 1.15px);
  background-size: 7px 7px;
  mix-blend-mode:multiply;
  transform:translateZ(2px);
}
.basketball::after{
  background:
    radial-gradient(circle at 28% 24%, rgba(255,255,255,.34), rgba(255,255,255,.14) 12%, rgba(255,255,255,0) 25%),
    radial-gradient(circle at 72% 80%, rgba(0,0,0,.26), rgba(0,0,0,0) 32%),
    radial-gradient(circle at 50% 102%, rgba(0,0,0,.28), rgba(0,0,0,0) 42%);
  transform:translateZ(13px);
}
.ball-lines{
  filter:drop-shadow(0 2px 0 rgba(255,170,94,.12));
}
.ball-lines circle,
.ball-lines path{
  stroke:rgba(42,16,8,.97);
  stroke-width:8.4;
}
.ball-light{
  left:28px;
  top:24px;
  width:92px;
  height:68px;
  background:radial-gradient(circle, rgba(255,243,218,.62), rgba(255,231,193,.22) 45%, transparent 76%);
  filter:blur(5px);
  transform:translateZ(16px);
}
.du-ball-mark{
  font-size:1.9rem;
  color:rgba(255,239,210,.96);
  text-shadow:0 3px 8px rgba(68,19,8,.40);
}
.ball-controls button{
  border:1px solid rgba(255,180,118,.24);
  background:linear-gradient(180deg, rgba(43,27,19,.98), rgba(20,12,9,.98));
  color:#f0d8b4;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.08),
    0 5px 0 rgba(10,6,5,.75),
    0 12px 24px rgba(0,0,0,.22);
  transform:translateY(0);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, color .18s ease;
}
.ball-controls button:hover{
  transform:translateY(-2px);
  border-color:rgba(239,99,39,.60);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.12),
    0 7px 0 rgba(10,6,5,.75),
    0 18px 28px rgba(0,0,0,.28),
    0 0 24px rgba(239,99,39,.08);
}
.ball-controls button:active{
  transform:translateY(4px);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.06),
    0 2px 0 rgba(10,6,5,.76),
    0 6px 14px rgba(0,0,0,.2);
}
@keyframes ballFloat3D{
  0%,100%{transform:rotateX(var(--rx)) rotateY(var(--ry)) translateZ(46px) translateY(0) scale(var(--ball-scale));}
  50%{transform:rotateX(calc(var(--rx) - 2deg)) rotateY(calc(var(--ry) + 2deg)) translateZ(52px) translateY(-8px) scale(calc(var(--ball-scale) * 1.012));}
}

.button,
.button-small,
.button-profile-cta,
.button-hero-profile{
  transform-style:preserve-3d;
}
.button{
  background:linear-gradient(180deg, #ff8e39 0%, #ef6726 52%, #b94318 100%);
  border-color:rgba(255,233,205,.26);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.28),
    inset 0 -1px 0 rgba(71,19,8,.30),
    0 5px 0 rgba(109,38,16,.92),
    0 16px 30px rgba(148,49,19,.22),
    0 0 0 1px rgba(255,137,66,.08);
}
.button::before{
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.32), transparent);
}
.button::after{
  text-shadow:0 1px 0 rgba(0,0,0,.25);
}
.button:hover{
  transform:translateY(-4px) scale(1.014);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.34),
    inset 0 -1px 0 rgba(71,19,8,.28),
    0 8px 0 rgba(109,38,16,.94),
    0 18px 36px rgba(182,64,22,.30),
    0 0 28px rgba(239,99,39,.10);
}
.button:active{
  transform:translateY(4px) scale(.99);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.18),
    0 2px 0 rgba(109,38,16,.94),
    0 8px 18px rgba(0,0,0,.25);
}
.button-ghost{
  background:linear-gradient(180deg, rgba(40,24,17,.98), rgba(24,14,10,.98));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.08),
    0 5px 0 rgba(8,6,4,.84),
    0 14px 24px rgba(0,0,0,.24);
}
.button-ghost:hover{
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.12),
    0 8px 0 rgba(8,6,4,.86),
    0 18px 30px rgba(0,0,0,.28),
    0 0 20px rgba(239,99,39,.08);
}
.button-profile-cta,
.button-hero-profile{
  padding-inline:24px;
  letter-spacing:.10em;
}
.button-profile-cta{
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.30),
    inset 0 -1px 0 rgba(71,19,8,.30),
    0 6px 0 rgba(115,40,16,.95),
    0 18px 36px rgba(167,57,22,.32),
    0 0 0 1px rgba(255,165,92,.10);
}
.button-profile-cta:hover{
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.36),
    inset 0 -1px 0 rgba(71,19,8,.24),
    0 9px 0 rgba(115,40,16,.95),
    0 20px 38px rgba(167,57,22,.35),
    0 0 30px rgba(255,138,52,.16);
}
@media(max-width:680px){
  .basketball{width:210px;height:210px}
  .ball-shadow{width:188px;height:40px;bottom:26px}
}
@media(prefers-reduced-motion:reduce){
  .basketball{animation:none}
}


/* V25 — final interactive + mobile polish */

/* Real WebGL basketball stage */
.premium-ball-stage{
  min-height:390px;
  perspective:1800px;
  isolation:isolate;
}
.premium-ball-stage::before{
  width:430px;
  height:430px;
  opacity:.78;
  background:
    radial-gradient(circle at center,
      rgba(255,133,54,.26) 0%,
      rgba(239,99,39,.13) 31%,
      rgba(239,99,39,.045) 53%,
      transparent 74%);
  filter:blur(8px);
}
.premium-ball-stage::after{
  width:470px;
  height:150px;
  bottom:9px;
  background:radial-gradient(ellipse at center,rgba(255,139,62,.16),transparent 67%);
  filter:blur(22px);
}
.ball-orbit{
  position:absolute;
  width:310px;
  height:310px;
  border-radius:50%;
  border:1px solid rgba(239,99,39,.11);
  box-shadow:
    inset 0 0 38px rgba(239,99,39,.035),
    0 0 42px rgba(239,99,39,.035);
  transform:rotateX(68deg) rotateZ(-11deg);
  pointer-events:none;
}
.ball-shadow{
  width:220px;
  height:46px;
  bottom:35px;
  background:radial-gradient(ellipse at center,rgba(0,0,0,.82),rgba(0,0,0,.42) 48%,transparent 76%);
  filter:blur(13px);
  opacity:.88;
}
.basketball-webgl{
  position:relative;
  z-index:3;
  width:282px;
  height:282px;
  display:block;
  border-radius:50%;
  filter:
    drop-shadow(0 24px 24px rgba(0,0,0,.26))
    drop-shadow(0 42px 50px rgba(0,0,0,.22));
  cursor:grab;
  touch-action:none;
}
.ball-stage:active .basketball-webgl{cursor:grabbing}
.basketball-fallback{
  position:relative;
  z-index:3;
  width:250px;
  height:250px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:
    radial-gradient(circle at 29% 24%,rgba(255,249,231,.90),transparent 11%),
    radial-gradient(circle at 38% 34%,#ffae4f,#e95f22 49%,#8d2d11 78%,#541b0b 100%);
  box-shadow:
    inset -42px -48px 50px rgba(63,16,7,.48),
    0 28px 48px rgba(0,0,0,.42);
  color:#f7dfbc;
  font-family:var(--headline);
  font-size:1.8rem;
}
.ball-controls{
  margin-top:-2px;
}
.ball-controls button{
  min-width:104px;
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,color .16s ease;
}

/* Make profile CTAs feel like physical 3D controls */
.button{
  transition:
    transform .16s cubic-bezier(.2,.8,.2,1),
    box-shadow .16s ease,
    filter .16s ease,
    border-color .16s ease;
}
.button-profile-cta,
.button-hero-profile{
  transform-origin:center;
  will-change:transform;
  border-top-color:rgba(255,245,225,.42);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.34),
    inset 0 -2px 0 rgba(87,25,9,.24),
    0 6px 0 rgba(109,38,16,.95),
    0 17px 34px rgba(176,59,20,.28),
    0 0 0 1px rgba(255,166,90,.08);
}
.button-profile-cta:hover,
.button-hero-profile:hover{
  filter:brightness(1.06) saturate(1.06);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.40),
    inset 0 -2px 0 rgba(87,25,9,.20),
    0 9px 0 rgba(109,38,16,.96),
    0 21px 38px rgba(190,66,22,.33),
    0 0 30px rgba(239,99,39,.13);
}
.button-profile-cta:active,
.button-hero-profile:active{
  transform:translateY(4px) scale(.992)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.18),
    0 2px 0 rgba(109,38,16,.95),
    0 8px 16px rgba(0,0,0,.26);
}

/* Tablet tune-up */
@media(max-width:1050px){
  .profile-grid{gap:34px}
  .premium-ball-stage{min-height:350px}
  .basketball-webgl{width:265px;height:265px}
  .ball-orbit{width:290px;height:290px}
}

/* Mobile-first final presentation */
@media(max-width:680px){
  html{scroll-padding-top:72px}
  body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}

  .shell{width:calc(100% - 26px)}
  .topbar{
    background:rgba(8,6,4,.94);
    backdrop-filter:blur(18px) saturate(1.15);
  }
  .nav{
    height:68px;
    gap:9px;
  }
  .brand{gap:8px;flex:1;min-width:0}
  .brand img{width:40px!important;height:40px!important;flex:0 0 auto}
  .brand strong{
    font-size:.72rem;
    line-height:1.04;
    letter-spacing:.055em;
    max-width:145px;
  }
  .button-small{
    min-height:42px;
    padding:9px 10px;
    font-size:.67rem;
    letter-spacing:.055em;
    white-space:nowrap;
  }
  .button-small::after{display:none}

  .hero{
    padding:30px 0 46px;
  }
  .hero-grid{gap:28px}
  .eyebrow{font-size:.72rem;letter-spacing:.13em;line-height:1.45}
  .hero h1{
    font-size:clamp(2.65rem,12.8vw,3.55rem);
    line-height:.93;
    margin:13px 0 18px;
  }
  .intro{font-size:.94rem;line-height:1.62}
  .hero-actions{
    display:grid;
    grid-template-columns:1fr;
    gap:11px;
    margin-top:22px;
  }
  .hero-actions .button{
    width:100%;
    min-height:53px;
  }
  .hero-stats{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:0;
    margin-top:28px;
    padding:14px 0 0;
    border-top:1px solid var(--line);
  }
  .hero-stats>div{
    padding:5px 10px 3px;
    text-align:center;
    border-right:1px solid rgba(246,223,188,.10);
  }
  .hero-stats>div:last-child{border-right:0}
  .hero-stats b{font-size:1.02rem}
  .hero-stats span{font-size:.66rem;line-height:1.25}

  .hero-media{
    height:auto;
    aspect-ratio:4/5;
    max-height:500px;
    border-radius:25px;
    box-shadow:0 28px 60px rgba(0,0,0,.38);
  }
  .hero-logo{
    left:17px;
    bottom:17px;
    width:78px;
    height:78px;
  }
  .hero-caption{
    right:17px;
    bottom:20px;
    max-width:190px;
  }
  .hero-caption b{font-size:1.02rem}
  .hero-caption span{font-size:.68rem}

  .identity-inner{
    min-height:54px;
    gap:14px;
    padding:0 4px;
    scrollbar-width:none;
  }
  .identity-inner::-webkit-scrollbar{display:none}
  .identity-inner span{font-size:.76rem}

  .section{padding:56px 0}
  .section-head{
    gap:16px;
    margin-bottom:27px;
  }
  .section h2,
  .coach-copy h2,
  .du-copy h2,
  .profile-intro h2{
    font-size:clamp(2.35rem,10.8vw,3.2rem);
    line-height:.96;
  }
  .section-head p{font-size:.92rem;line-height:1.58}

  /* Preserve the full 3:4 generated pathway artwork */
  .path-grid{gap:17px}
  .path-card{
    min-height:0;
    aspect-ratio:3/4;
    border-radius:23px;
    box-shadow:0 18px 44px rgba(0,0,0,.25);
  }
  .poster-path .poster-edge{
    background:linear-gradient(180deg,transparent 72%,rgba(8,6,4,.08) 88%,rgba(8,6,4,.28));
  }
  .poster-path .poster-cta{
    left:auto;
    right:13px;
    top:13px;
    bottom:auto;
  }
  .poster-path .poster-cta span{display:none}
  .poster-path .poster-cta b{
    width:44px;
    height:44px;
    padding:0;
    display:grid;
    place-items:center;
    border-radius:50%;
    font-size:0;
    background:rgba(8,6,4,.72);
    border:1px solid rgba(255,255,255,.18);
  }
  .poster-path .poster-cta b::after{
    content:"↗";
    font-size:1.05rem;
    line-height:1;
  }
  .du-path-card .path-copy{
    left:18px;
    right:18px;
    bottom:17px;
    padding:14px 15px;
    border-radius:15px;
    background:linear-gradient(135deg,rgba(8,6,4,.80),rgba(18,10,7,.62));
    backdrop-filter:blur(8px);
    border:1px solid rgba(255,255,255,.08);
  }
  .du-path-card .path-copy em{font-size:2rem}
  .du-path-card .path-copy h3{font-size:1.14rem;margin:2px 0 6px}
  .du-path-card .path-copy p{font-size:.77rem;line-height:1.4}
  .du-path-card .path-copy b{font-size:.72rem;margin-top:9px}

  /* Session film: wide, clean, playable, no oversized mobile crops */
  .film-grid,
  .film-grid-five{gap:14px}
  .film-feature,
  .film-card{border-radius:21px}
  .film-feature video,
  .film-card video,
  .film-grid-five > .film-wide video{
    width:100%;
    height:auto!important;
    aspect-ratio:16/9;
    object-fit:cover;
    background:#000;
  }
  .film-copy{padding:14px 15px 17px}
  .film-copy small{font-size:.70rem}
  .film-copy h3{font-size:1.3rem}
  .film-copy p{font-size:.82rem;line-height:1.45}

  .levels{
    grid-template-columns:repeat(2,1fr);
    gap:10px;
    margin-top:16px;
  }
  .levels>div{
    min-height:145px;
    padding:15px;
    border-radius:17px;
  }
  .levels h3{font-size:1.05rem}
  .levels p{font-size:.76rem;line-height:1.42}

  .proof-grid{
    gap:12px;
    grid-auto-rows:315px;
  }
  .proof{border-radius:20px}
  .proof figcaption{left:15px;right:15px;bottom:14px}
  .proof figcaption b{font-size:.95rem}
  .proof figcaption span{font-size:.70rem}

  .coach-grid,.du-grid,.profile-grid{gap:26px}
  .coach-photo,
  .du-image{
    min-height:0;
    aspect-ratio:4/5;
    border-radius:24px;
  }
  .coach-label{left:18px;right:18px;bottom:18px}
  .coach-label h2{font-size:1.8rem}
  .coach-copy{padding:4px 0 0}
  .coach-points{gap:9px}
  .pricing{gap:9px}
  .pricing>div{padding:15px}
  .coach-copy>.button{width:100%;min-height:52px}

  .sponsor img{height:215px;padding:18px}
  .sponsor{border-radius:20px}

  .du-facts>div{padding:15px}
  .du-copy .hero-actions{margin-top:20px}

  /* Player profile becomes a polished touch-first tool */
  .profile-section{
    background:
      radial-gradient(circle at 50% 15%,rgba(239,99,39,.09),transparent 26%),
      #090604;
  }
  .profile-grid{gap:22px}
  .ball-zone{
    margin-top:24px;
    padding-top:18px;
  }
  .ball-head{
    gap:7px;
    align-items:flex-start;
    flex-direction:column;
    font-size:.68rem;
  }
  .premium-ball-stage{
    min-height:310px;
    margin-top:2px;
  }
  .basketball-webgl{
    width:238px;
    height:238px;
  }
  .ball-orbit{
    width:260px;
    height:260px;
  }
  .ball-shadow{
    width:184px;
    height:38px;
    bottom:30px;
  }
  .premium-ball-stage::before{
    width:330px;
    height:330px;
  }
  .premium-ball-stage::after{
    width:340px;
    height:120px;
  }
  .ball-controls{
    display:grid;
    grid-template-columns:1fr 1fr 1fr;
    gap:7px;
  }
  .ball-controls button{
    min-width:0;
    min-height:45px;
    padding:8px 7px;
    font-size:.68rem;
    letter-spacing:.045em;
  }
  .profile-key{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:7px;
    margin-top:20px;
  }
  .profile-key span{
    text-align:center;
    padding:9px 8px;
    font-size:.68rem;
  }
  .assessment{
    padding:17px;
    border-radius:23px;
    box-shadow:0 22px 55px rgba(0,0,0,.22);
  }
  .skill{margin-bottom:17px}
  .scale{gap:6px}
  .scale button{
    min-height:48px;
    border-radius:11px;
    font-size:.92rem;
  }
  .result-box h3{font-size:2.18rem}
  .result-box .button{
    width:100%;
    min-height:53px;
  }

  .location-strip .shell{gap:12px}
  .location-strip b{font-size:1.18rem}
  .location-strip p{font-size:.84rem;line-height:1.5}

  footer{padding:31px 0 38px}
  .footer-grid{gap:20px}
  .footer-brand img{width:50px;height:50px}
  .socials{width:100%}
  .socials a{
    padding:8px 0;
    border-bottom:1px solid rgba(255,255,255,.06);
  }

  /* Touch devices still get physical button press feedback */
  .button:hover{transform:none}
  .button:active{
    transform:translateY(3px) scale(.992)!important;
  }
}

/* Small phones */
@media(max-width:390px){
  .shell{width:calc(100% - 22px)}
  .brand strong{font-size:.68rem;max-width:125px}
  .button-small{padding:8px 9px;font-size:.62rem}
  .hero h1{font-size:clamp(2.45rem,12.5vw,3.05rem)}
  .hero-stats span{font-size:.61rem}
  .path-card{border-radius:21px}
  .levels{grid-template-columns:1fr}
  .basketball-webgl{width:222px;height:222px}
  .ball-orbit{width:244px;height:244px}
  .premium-ball-stage{min-height:292px}
}

/* Don't animate expensive/hover-only effects for reduced motion */
@media(prefers-reduced-motion:reduce){
  .ball-orbit{display:none}
  .basketball-webgl{filter:drop-shadow(0 22px 28px rgba(0,0,0,.28))}
}


/* V26 — real basketball seams, single premium ball, stronger mobile polish */
.basketball-shell{
  position:relative;
  z-index:3;
  width:286px;
  height:286px;
  display:grid;
  place-items:center;
  transform-style:preserve-3d;
}
.basketball-3d{
  position:relative;
  width:100%;
  height:100%;
  border-radius:50%;
  transform-style:preserve-3d;
  will-change:transform;
  touch-action:none;
  background:
    radial-gradient(circle at 30% 20%, rgba(255,251,242,.92) 0 6%, rgba(255,239,209,.34) 8%, rgba(255,255,255,0) 17%),
    radial-gradient(circle at 66% 78%, rgba(92,26,11,.56), transparent 33%),
    radial-gradient(circle at 46% 38%, #ffb25a 0%, #f58d39 17%, #ee7427 38%, #db5b1b 67%, #b13e14 86%, #7f280f 100%);
  box-shadow:
    inset -40px -42px 50px rgba(84,23,11,.50),
    inset 18px 18px 30px rgba(255,208,151,.17),
    inset -8px -10px 22px rgba(91,26,11,.28),
    0 24px 24px rgba(0,0,0,.24),
    0 44px 58px rgba(0,0,0,.24);
  filter:drop-shadow(0 18px 18px rgba(0,0,0,.12));
}
.basketball-grain,
.basketball-shine,
.basketball-seams{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border-radius:50%;
  pointer-events:none;
}
.basketball-grain{
  opacity:.26;
  background-image:
    radial-gradient(rgba(113,42,14,.26) 0.75px, transparent 0.85px),
    radial-gradient(rgba(255,218,158,.14) 0.7px, transparent 0.8px);
  background-size:6px 6px, 8px 8px;
  background-position:0 0, 2px 2px;
  mix-blend-mode:multiply;
}
.basketball-seams{
  fill:none;
  stroke:#4c1b0d;
  stroke-width:3.4;
  stroke-linecap:round;
  opacity:.98;
  filter:drop-shadow(0 1px 0 rgba(255,199,137,.14));
}
.basketball-shine{
  background:
    radial-gradient(circle at 29% 19%, rgba(255,255,255,.35), transparent 11%),
    radial-gradient(circle at 37% 31%, rgba(255,200,121,.17), transparent 22%),
    radial-gradient(circle at 72% 82%, rgba(74,19,8,.18), transparent 24%);
  mix-blend-mode:screen;
}
.premium-ball-stage{
  min-height:410px;
}
.premium-ball-stage::before{filter:blur(12px)}
.ball-shadow{
  width:210px;
  height:42px;
  bottom:33px;
  background:radial-gradient(ellipse at center, rgba(0,0,0,.84), rgba(0,0,0,.44) 50%, transparent 76%);
}
.ball-controls button{
  border:1px solid rgba(255,183,120,.18);
  background:linear-gradient(180deg, rgba(31,18,13,.94), rgba(18,10,7,.98));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.09),
    inset 0 -1px 0 rgba(255,122,58,.16),
    0 8px 20px rgba(0,0,0,.24);
}
.ball-controls button:hover{
  transform:translateY(-2px);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.11),
    inset 0 -1px 0 rgba(255,122,58,.18),
    0 12px 24px rgba(0,0,0,.28),
    0 0 18px rgba(239,99,39,.10);
}
.ball-controls button:active{
  transform:translateY(2px)!important;
}

@media(max-width:680px){
  .profile-section .shell{width:calc(100% - 20px)}
  .profile-intro p{font-size:.92rem;line-height:1.6}
  .ball-zone{
    margin-top:20px;
    padding-top:16px;
  }
  .premium-ball-stage{
    min-height:298px;
    margin-top:8px;
    border-radius:24px;
  }
  .basketball-shell,
  .basketball-webgl{width:232px;height:232px}
  .ball-orbit{width:246px;height:246px;opacity:.8}
  .ball-shadow{width:176px;height:34px;bottom:26px}
  .ball-controls{
    margin-top:4px;
    gap:8px;
  }
  .ball-controls button{
    min-height:46px;
    border-radius:14px;
    font-size:.67rem;
  }
  .assessment{
    padding:16px;
  }
  .result-box{
    padding:17px;
  }
  .result-box .button,
  .button-profile-cta,
  .button-hero-profile{
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.30),
      inset 0 -2px 0 rgba(87,25,9,.22),
      0 5px 0 rgba(109,38,16,.92),
      0 15px 28px rgba(176,59,20,.24);
  }
}

@media(max-width:390px){
  .basketball-shell,
  .basketball-webgl{width:214px;height:214px}
  .premium-ball-stage{min-height:280px}
  .ball-orbit{width:228px;height:228px}
  .ball-shadow{width:162px}
}

@media(prefers-reduced-motion:reduce){
  .basketball-3d{transition:none}
}


/* V27 — approved realistic 3D ball image + touch interaction */
.basketball-shell{
  width:min(300px, 72vw);
  height:min(300px, 72vw);
  display:grid;
  place-items:center;
  transform-style:preserve-3d;
}
.basketball-image-ball{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  background:transparent;
  border-radius:50%;
  filter:
    drop-shadow(0 18px 20px rgba(0,0,0,.14))
    drop-shadow(0 28px 34px rgba(0,0,0,.18));
  will-change:transform;
  transform-style:preserve-3d;
  user-select:none;
  -webkit-user-drag:none;
}
.basketball-3d{
  background:none !important;
  box-shadow:none !important;
}
.basketball-grain,
.basketball-shine,
.basketball-seams{display:none !important;}
.premium-ball-stage{
  min-height:420px;
}
.premium-ball-stage::before{
  width:360px;
  height:360px;
  background:radial-gradient(circle at center, rgba(255,135,52,.22) 0%, rgba(239,99,39,.10) 38%, rgba(239,99,39,.03) 58%, transparent 74%);
}
.premium-ball-stage::after{
  width:360px;
  height:120px;
  bottom:10px;
  background:radial-gradient(ellipse at center, rgba(255,132,56,.14), transparent 70%);
}
.ball-orbit{
  width:318px;
  height:318px;
  border-color:rgba(239,99,39,.10);
  box-shadow:inset 0 0 40px rgba(239,99,39,.03), 0 0 36px rgba(239,99,39,.03);
}
.ball-shadow{
  width:200px;
  height:34px;
  bottom:34px;
  background:radial-gradient(ellipse at center, rgba(0,0,0,.55), rgba(0,0,0,.26) 46%, transparent 74%);
  filter:blur(13px);
}
#ballStage{touch-action:pan-y;}
@media(max-width:680px){
  .premium-ball-stage{
    min-height:300px;
    margin-top:6px;
  }
  .basketball-shell{
    width:min(230px, 66vw);
    height:min(230px, 66vw);
  }
  .ball-orbit{width:248px;height:248px;}
  .ball-shadow{width:162px;height:28px;bottom:24px;}
  .premium-ball-stage::before{width:290px;height:290px;}
  .premium-ball-stage::after{width:300px;height:104px;}
}
@media(max-width:390px){
  .basketball-shell{width:min(210px, 68vw);height:min(210px, 68vw);}
  .ball-orbit{width:224px;height:224px;}
  .premium-ball-stage{min-height:282px;}
}
