/* Performance motion: real coaching photography, abstract light and track geometry. */
html .reveal { opacity:1; transform:none; transition:none; }
section { scroll-margin-top:84px; }
header > nav { gap:18px; }
.performance-nav-links { gap:20px!important; }
.motion-control { flex-shrink:0; display:inline-flex; align-items:center; justify-content:center; gap:8px; min-width:44px; height:44px; border:1px solid #ffffff30; border-radius:50px; padding:0 12px; color:#ffc17d; font:11px ui-monospace,monospace; }
.motion-bars { display:flex; align-items:center; gap:2px; height:16px; }
.motion-bars i { width:2px; height:10px; background:currentColor; animation:pf-meter 1.2s ease-in-out infinite alternate; }
.motion-bars i:nth-child(2) { height:16px; animation-delay:-.4s; }.motion-bars i:nth-child(3) { height:7px; animation-delay:-.8s; }
.page-progress { position:fixed; z-index:60; height:3px; width:100%; top:0; left:0; background:#fa7027; transform-origin:left; scale:0 1; pointer-events:none; }
#home { background:radial-gradient(ellipse at 85% 25%,#c85f2230,transparent 48%),linear-gradient(130deg,#040d20,#0a1b39); padding-top:130px; padding-bottom:88px; }
#home h1 { font-size:clamp(3.5rem,6.8vw,6.2rem); letter-spacing:-.03em; }
#home h1 span { text-shadow:0 0 50px #fb80251a; }
#home .grid-lines { mask-image:linear-gradient(90deg,transparent,#0005); }
.performance-atmosphere { position:absolute; inset:0; pointer-events:none; overflow:hidden; contain:paint; }
.track-ring { position:absolute; width:980px; height:980px; right:-330px; top:-370px; border:1px solid #fa9d4d50; border-radius:50%; animation:pf-orbit 34s linear infinite paused; }
.track-ring:before { content:''; position:absolute; left:14.5%; top:14.5%; width:7px; height:7px; background:#ffc98a; border-radius:50%; box-shadow:0 0 14px #ff922f,0 0 40px #ff922f; }
.track-ring.ring-two { width:1120px; height:1120px; top:-440px; right:-400px; border-style:dashed; opacity:.35; animation-duration:52s; animation-direction:reverse; }
.track-ring.ring-three { width:1260px; height:1260px; top:-510px; right:-470px; opacity:.2; animation-duration:66s; }
.performance-spark { position:absolute; left:var(--x); top:var(--y); width:3px; height:3px; border-radius:50%; background:#ffbb73; box-shadow:0 0 10px #ff8b37; animation:pf-rise var(--duration) var(--delay) ease-in-out infinite paused; opacity:0; }
.performance-path { display:flex; align-items:center; gap:10px; margin:27px 0; max-width:560px; font:9px ui-monospace,monospace; letter-spacing:.08em; color:#c4cad5; }
.performance-path span { white-space:nowrap; }
.performance-path i { height:1px; flex:1; position:relative; overflow:hidden; background:#ffffff28; }
.performance-path i:after { content:''; position:absolute; inset:0; background:#ff9b4f; animation:pf-travel 4s ease-in-out infinite paused; }
.performance-path i:nth-of-type(2):after { animation-delay:.7s; }.performance-path i:nth-of-type(3):after { animation-delay:1.4s; }
.performance-portrait { position:relative; }
.performance-portrait:after { content:''; position:absolute; inset:-9px; border:1px solid #ff984a50; border-radius:30px; pointer-events:none; }
.performance-portrait:before { content:'MEASURE / TRAIN / PROGRESS'; position:absolute; z-index:2; top:18px; left:18px; padding:8px 12px; background:#071126db; border:1px solid #ffffff25; border-radius:30px; color:#ffd1a3; letter-spacing:.08em; font:9px ui-monospace,monospace; }
.performance-photo { position:relative; overflow:hidden; }
.performance-photo:after { content:''; position:absolute; inset:0; pointer-events:none; background:linear-gradient(115deg,transparent 35%,#fff2 49%,#ffb45f25 52%,transparent 66%); transform:translateX(-120%); animation:pf-sheen 9s ease-in-out infinite paused; }
.card-glow { position:relative; isolation:isolate; }
.card-glow:after { content:''; position:absolute; z-index:3; inset:0; border-radius:inherit; pointer-events:none; opacity:0; background:radial-gradient(350px circle at var(--glow-x,50%) var(--glow-y,0%),#ffac6320,transparent 68%); box-shadow:inset 0 0 0 1px #ffb46360; transition:opacity .3s; }
html[data-motion=on] .card-glow[data-lit=true]:after { opacity:1; }
html .card-glow:hover { transform:none; }
@media(hover:hover) and (pointer:fine) { html[data-motion=on] .card-glow:hover { translate:0 -4px; } .card-glow { transition:translate .3s,border-color .3s,box-shadow .3s; } }
html[data-motion=on][data-page-visible=true] .vfx-visible .track-ring,html[data-motion=on][data-page-visible=true] .vfx-visible .performance-spark,html[data-motion=on][data-page-visible=true] .vfx-visible .performance-path i:after,html[data-motion=on][data-page-visible=true] .performance-photo.vfx-visible:after { animation-play-state:running; }
html[data-motion=off] *,html[data-motion=off] *:before,html[data-motion=off] *:after,html[data-page-visible=false] *,html[data-page-visible=false] *:before,html[data-page-visible=false] *:after { animation-play-state:paused!important; }
html[data-motion=off] { scroll-behavior:auto; } html[data-motion=off] * { transition:none!important; }
html[data-motion=off] .performance-spark { opacity:0; }
#mobileMenu { max-height:calc(100svh - 64px); overflow:auto; }
#mobileMenu a { min-height:44px; display:flex; align-items:center; }
#mobileMenu a:last-child,#mobileMenu a:nth-last-child(2) { justify-content:center; }
.motion-control:focus-visible,#menuBtn:focus-visible { outline:2px solid #ffc17d; outline-offset:3px; }
@keyframes pf-orbit { to { transform:rotate(360deg); } }
@keyframes pf-rise { 0%,100% { opacity:0; transform:translate(0,20px); } 35% { opacity:.6; } 80% { opacity:.2; transform:translate(20px,-70px); } }
@keyframes pf-travel { 0% { transform:translateX(-105%); } 80%,100% { transform:translateX(105%); } }
@keyframes pf-sheen { 0%,25% { transform:translateX(-120%); } 65%,100% { transform:translateX(120%); } }
@keyframes pf-meter { to { transform:scaleY(.35); } }
@media(max-width:1279px) { .performance-nav-links { display:none!important; } #menuBtn { display:inline-flex; } #mobileMenu:not(.hidden) { display:block; } .motion-control { margin-left:auto; } }
@media(min-width:1280px) { .motion-text { display:none; } .motion-control { padding:10px; } }
@media(max-width:639px) {
header > nav { gap:10px; padding-inline:16px; }
header nav > a { gap:7px; } header nav > a > span { font-size:17px; } header nav > a > img { width:30px; height:30px; }
.motion-control { padding:10px; }.motion-text { display:none; }
#menuBtn { width:44px; height:44px; flex-shrink:0; }
#home { padding-top:108px; padding-bottom:66px; }
#home h1 { font-size:clamp(3.3rem,12.5vw,4.7rem); }
#home .performance-path { gap:6px; font-size:7px; letter-spacing:0; }
.performance-portrait { max-width:440px; margin:10px auto 0; }
.track-ring { width:700px; height:700px; top:-240px; right:-450px; opacity:.5; }
.track-ring.ring-two,.track-ring.ring-three,.performance-spark:nth-of-type(n+5) { display:none; }
.performance-photo:after { animation-duration:12s; }
}
@media(max-width:359px) { header nav > a > span { font-size:15px; } header nav > a > img { width:26px; height:26px; } header > nav { gap:7px; } }
@media(prefers-reduced-motion:reduce) { *,*:before,*:after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } .performance-atmosphere,.performance-photo:after { display:none; } }
