/* theme-l5.css -- landing hero: seven app pages turning on a ring behind the headline, with a big synced "Built for [sport]" word.
   Additive. Remove the theme-l5 tags from index.html and theme-l2.js falls back to the previous hero. */
.landing-layout[data-l5] .landing-split{position:relative;min-height:clamp(560px,50vw,800px)}
.landing-layout[data-l5] .landing-hero-left{flex:0 1 640px;max-width:640px;position:relative;z-index:3}
.landing-layout[data-l5] .landing-hero-right{position:static;flex:0 0 0;width:0;min-width:0;padding:0}
.landing-layout[data-l5] .sport-cue{display:none}
.g-veil{position:absolute;left:0;top:0;bottom:0;width:58%;z-index:2;pointer-events:none;background:linear-gradient(90deg,#060B16 0%,rgba(6,11,22,.92) 34%,rgba(6,11,22,0) 100%)}
.g-stage{--k:.7;--w:calc(960px * var(--k));--r:calc(var(--w) * 1.55);position:absolute;left:30%;right:-14%;top:0;bottom:0;z-index:1;perspective:2800px;perspective-origin:50% 40%;pointer-events:none}
@media (min-width:1700px){.g-stage{--k:.82}}
@media (max-width:1300px){.g-stage{--k:.58}}
@media (max-width:1000px){.g-stage{--k:.5}}
.g-plat{position:absolute;left:50%;top:80%;width:calc(var(--w) * 2.4);height:calc(var(--w) * 2.4);margin-left:calc(var(--w) * -1.2);margin-top:calc(var(--w) * -1.2);border-radius:50%;transform:rotateX(78deg);border:1px solid rgba(255,106,31,.5);background:radial-gradient(circle,rgba(255,106,31,.34) 0%,rgba(255,106,31,.1) 45%,rgba(255,106,31,0) 70%);box-shadow:0 0 90px rgba(255,106,31,.22)}
.g-plat.b{width:calc(var(--w) * 1.7);height:calc(var(--w) * 1.7);margin-left:calc(var(--w) * -.85);margin-top:calc(var(--w) * -.85);border:1px dashed rgba(255,255,255,.28);background:none;box-shadow:none;animation:g-platspin 60s linear infinite}
@keyframes g-platspin{to{transform:rotateX(78deg) rotateZ(360deg)}}
.g-pos{position:absolute;left:50%;top:44%;width:0;height:0;transform-style:preserve-3d;transform:translateZ(calc(var(--r) * -1))}
.g-ring{position:absolute;left:0;top:0;width:0;height:0;transform-style:preserve-3d;animation:g-spin var(--spin,24.5s) linear infinite}
.g-c{position:absolute;left:calc(var(--w) * -.5);top:calc(var(--w) * -.3125);width:var(--w);height:calc(var(--w) * .625);transform:rotateY(var(--ang)) translateZ(var(--r));transform-style:preserve-3d}
.g-f,.g-b{position:absolute;inset:0;border-radius:14px;overflow:hidden;border:1px solid rgba(255,255,255,.2);background:#F4F5F8;backface-visibility:hidden;animation:g-dim var(--spin,24.5s) linear infinite;animation-delay:var(--d)}
.g-f{box-shadow:0 30px 80px rgba(0,0,0,.5)}
.g-b{transform:rotateY(180deg)}
.g-pg{position:absolute;left:0;top:0;width:960px;height:600px;transform:scale(var(--k));transform-origin:0 0;display:flex;font-family:var(--display);font-size:16px;line-height:1.5;color:#0B1426;text-align:left}
.g-pg .p-card p{color:#0B1426;font-size:13.5px;max-width:none;line-height:1.5}
.g-pg .p-lg em{display:none}
@keyframes g-spin{0.000%,8.163%{transform:rotateY(calc(var(--dir,-1) * 0.0000deg));animation-timing-function:cubic-bezier(.45,0,.55,1)}14.286%,22.449%{transform:rotateY(calc(var(--dir,-1) * 51.4286deg));animation-timing-function:cubic-bezier(.45,0,.55,1)}28.571%,36.735%{transform:rotateY(calc(var(--dir,-1) * 102.8571deg));animation-timing-function:cubic-bezier(.45,0,.55,1)}42.857%,51.020%{transform:rotateY(calc(var(--dir,-1) * 154.2857deg));animation-timing-function:cubic-bezier(.45,0,.55,1)}57.143%,65.306%{transform:rotateY(calc(var(--dir,-1) * 205.7143deg));animation-timing-function:cubic-bezier(.45,0,.55,1)}71.429%,79.592%{transform:rotateY(calc(var(--dir,-1) * 257.1429deg));animation-timing-function:cubic-bezier(.45,0,.55,1)}85.714%,93.878%{transform:rotateY(calc(var(--dir,-1) * 308.5714deg));animation-timing-function:cubic-bezier(.45,0,.55,1)}100%{transform:rotateY(calc(var(--dir,-1) * 360deg))}}
@keyframes g-dim{0.000%,8.163%{opacity:1}14.286%,22.449%{opacity:0.5}28.571%,36.735%{opacity:0.28}42.857%,51.020%{opacity:0.28}57.143%,65.306%{opacity:0.28}71.429%,79.592%{opacity:0.28}85.714%,93.878%{opacity:0.5}100%{opacity:1}}
.g-sp{position:absolute;left:40%;right:0;bottom:8px;z-index:3;pointer-events:none;display:flex;align-items:baseline;gap:.28em;white-space:nowrap;font-family:var(--display);font-size:clamp(28px,3.7vw,72px);line-height:1.15;letter-spacing:-.04em}
.g-sp small{font-size:1em;font-weight:400;color:#fff}
.g-wd{display:grid}
.g-w{grid-area:1/1;opacity:0;color:var(--o);font-weight:400;animation:g-word 18s linear infinite;animation-delay:var(--wd)}
@keyframes g-word{0%{opacity:0;transform:translateY(.18em)}2.5%{opacity:1;transform:none}14%{opacity:1;transform:none}16.667%{opacity:0;transform:translateY(-.18em)}100%{opacity:0}}

/* Outreach page motion: one card moves through the four stages while that page faces the viewer.
   Runs on the ring's own clock (--spin) and the card's own phase (--d), starting 1.5 s (one turn) before the page is front-on. */
@property --gt{syntax:'<integer>';inherits:false;initial-value:8}
@property --ge{syntax:'<integer>';inherits:false;initial-value:5}
@property --gr{syntax:'<integer>';inherits:false;initial-value:2}
@property --gv{syntax:'<integer>';inherits:false;initial-value:1}
.g-c .p-body{position:relative}
.g-flow{position:relative}
.g-flow .p-stage{padding-bottom:84px}
.g-src{visibility:hidden}
.gn{font-style:normal}.gn::after{content:counter(n)}
.gn.gt{counter-reset:n var(--gt,8);animation:g-gt var(--spin,24.5s) linear infinite}
.gn.ge{counter-reset:n var(--ge,5);animation:g-ge var(--spin,24.5s) linear infinite}
.gn.gr{counter-reset:n var(--gr,2);animation:g-gr var(--spin,24.5s) linear infinite}
.gn.gv{counter-reset:n var(--gv,1);animation:g-gv var(--spin,24.5s) linear infinite}
.g-mv{position:absolute;left:10px;top:32px;width:154px;height:66px;box-sizing:border-box;z-index:2;box-shadow:0 10px 24px rgba(255,106,31,.3);animation:g-mv var(--spin,24.5s) infinite}
.g-sub{display:block;position:relative;height:17px;font-style:normal}
.g-sub span{position:absolute;left:0;top:0;white-space:nowrap;opacity:0}
.g-sub .g-s1{opacity:1;animation:g-s1 var(--spin,24.5s) linear infinite}
.g-sub .g-s2{animation:g-s2 var(--spin,24.5s) linear infinite}
.g-sub .g-s3{animation:g-s3 var(--spin,24.5s) linear infinite}
.g-sub .g-s4{animation:g-s4 var(--spin,24.5s) linear infinite}
.g-toast{position:absolute;right:26px;top:22px;z-index:3;display:flex;align-items:center;gap:9px;background:#0B1426;color:#fff;border-radius:10px;padding:10px 14px;font-size:14px;font-weight:500;box-shadow:0 12px 30px rgba(11,20,38,.35);opacity:0;animation:g-toast var(--spin,24.5s) linear infinite}
.g-toast b{width:8px;height:8px;border-radius:50%;background:var(--o)}
.g-toast u{text-decoration:none;font:400 11px "IBM Plex Mono",monospace;color:#8FA3CB}
.g-send{animation:g-send var(--spin,24.5s) linear infinite}
.g-c .gn,.g-c .g-mv,.g-c .g-sub span,.g-c .g-toast,.g-c .g-send{animation-delay:calc(var(--d,0s) - 1.5s)}
@keyframes g-mv{0%,1.224%{transform:none;opacity:1;animation-timing-function:cubic-bezier(.4,0,.2,1)}3.061%,6.531%{transform:translate(186px,148px);animation-timing-function:cubic-bezier(.4,0,.2,1)}8.367%,11.837%{transform:translate(372px,148px);animation-timing-function:cubic-bezier(.4,0,.2,1)}13.673%,17.959%{transform:translate(558px,74px);opacity:1}19.184%{transform:translate(558px,74px);opacity:0}19.388%{transform:none;opacity:0}21.224%,100%{transform:none;opacity:1}}
@keyframes g-gt{0%,1.020%{--gt:8}1.429%,18.980%{--gt:7}19.388%,100%{--gt:8}}
@keyframes g-ge{0%,2.857%{--ge:5}3.265%,6.327%{--ge:6}6.735%,100%{--ge:5}}
@keyframes g-gr{0%,8.163%{--gr:2}8.571%,11.633%{--gr:3}12.041%,100%{--gr:2}}
@keyframes g-gv{0%,13.469%{--gv:1}13.878%,18.980%{--gv:2}19.388%,100%{--gv:1}}
@keyframes g-s1{0%,2.857%{opacity:1}3.265%,20.816%{opacity:0}21.224%,100%{opacity:1}}
@keyframes g-s2{0%,2.857%{opacity:0}3.265%,8.163%{opacity:1}8.571%,100%{opacity:0}}
@keyframes g-s3{0%,8.163%{opacity:0}8.571%,13.469%{opacity:1}13.878%,100%{opacity:0}}
@keyframes g-s4{0%,13.469%{opacity:0}13.878%,19.184%{opacity:1}19.592%,100%{opacity:0}}
@keyframes g-toast{0%,8.163%{opacity:0;transform:translateY(8px)}8.980%,14.286%{opacity:1;transform:none}15.510%,100%{opacity:0;transform:translateY(-6px)}}
@keyframes g-send{0%,0.204%{transform:none;filter:none}0.816%{transform:scale(.9);filter:brightness(1.2)}1.429%,100%{transform:none;filter:none}}
@media (max-width:899px){
  .landing-layout[data-l5] .landing-split{min-height:0;flex-wrap:wrap}
  .landing-layout[data-l5] .landing-hero-left{flex:0 0 100%;max-width:none}
  .landing-layout[data-l5] .landing-hero-right{position:relative;flex:0 0 100%;width:100%;min-width:0}
  .g-veil{display:none}
  .g-stage{--k:.36;position:relative;left:auto;right:auto;top:auto;bottom:auto;flex:1 1 100%;height:340px;width:100%}
  .g-sp{position:relative;left:auto;bottom:auto;right:auto;flex:1 1 100%;font-size:26px}
}
@media (prefers-reduced-motion:reduce){
  .g-ring,.g-f,.g-b,.g-plat.b,.g-w,.gn,.g-mv,.g-sub span,.g-toast,.g-send{animation:none!important}
  .g-f{opacity:.3}.g-c.f .g-f{opacity:1}.g-b{display:none}
  .g-w:last-child{opacity:1}
}
