.cinematic-landing{--landing-line:rgba(161,211,216,.14);--landing-muted:#a7b6bd;background:#0a0a0f;overflow:hidden;overflow:clip}.cinematic-landing p:not(:where(dialog *)){color:var(--landing-muted)}.cinematic-landing .text-cyan-glow{color:#46dce5}.cinematic-hero{position:relative;isolation:isolate;min-height:calc(100vh - 65px);min-height:calc(100svh - 65px);display:flex;align-items:center;border-bottom:1px solid var(--landing-line)}.cinematic-hero:before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 75% 36%,#16313875,transparent 55%),linear-gradient(110deg,#0a0a0f 20%,#0d191d)}.hero-copy{position:relative;z-index:2;width:100%;max-width:1280px;margin:auto;padding:80px 48px 98px;pointer-events:none}.hero-copy>div{max-width:768px}.hero-copy h1{font-size:clamp(48px,5vw,72px);font-weight:600;letter-spacing:-.065em;line-height:1.08;text-wrap:wrap}.hero-copy h1>span{display:block;color:#57e2e5;text-shadow:none}.hero-copy p:not(:where(dialog *,.hero-allowance)){max-width:576px;margin-inline:0;margin-top:27px;font-size:20px;line-height:1.6;color:#bbc9ce}.hero-copy .hero-actions{display:flex;gap:12px;margin-top:32px;align-items:center;pointer-events:auto}.hero-copy .hero-actions>a,.hero-copy .hero-actions>button{min-height:56px;font-size:18px;padding:0 23px;white-space:nowrap;max-width:none}.hero-copy .hero-actions>a:not(.app-store){box-shadow:0 4px 25px #22d3ee22;background:#46dce5}.hero-copy .hero-actions>a.app-store,.hero-copy .hero-actions>button{border-color:#48747c;background:#0a161d88}.hero-copy .hero-allowance{max-width:768px;font-size:14px;line-height:1.6;color:#8b9ca5;margin-top:20px}.cinematic-landing #walkthrough{position:relative;background:#0a0a0f;padding-top:100px;padding-bottom:110px}.cinematic-landing #walkthrough h2{font-weight:500;font-size:clamp(28px,3vw,40px);letter-spacing:-.045em}.cinematic-landing #features{position:relative}.cinematic-landing #features:before{content:"";position:absolute;top:0;bottom:0;left:calc(50% - 576px);width:1px;background:linear-gradient(transparent,#61a8b522 8%,#61a8b522 88%,transparent);pointer-events:none}.cinematic-landing #features section{position:relative;padding:110px 0}.cinematic-landing #features section>div:first-child{max-width:1280px;padding-left:72px;padding-right:72px;gap:68px}.cinematic-landing #features h2:not(:where(dialog *)){font-size:clamp(34px,3.9vw,54px);font-weight:500;letter-spacing:-.055em;line-height:1.07;text-wrap:balance}.cinematic-landing #features p:not(:where(dialog *)){font-size:17px;line-height:1.85;margin-top:24px}.cinematic-landing .feature-media{position:relative;isolation:isolate}.cinematic-landing .feature-media:before{content:"";position:absolute;z-index:-1;inset:-34px;border:1px solid var(--landing-line);border-radius:24px;background:radial-gradient(ellipse at 65% 0,#20545b44,transparent 72%)}.cinematic-landing .feature-media:after{content:"";position:absolute;z-index:-2;inset:-70px;background:radial-gradient(ellipse,#133c432b,transparent 70%)}.cinematic-landing .feature-media>div{transition:transform .6s cubic-bezier(.16,1,.3,1)}.cinematic-landing #just-the-play{background:linear-gradient(180deg,#10232955,transparent);border-top:1px solid var(--landing-line);padding-bottom:145px}.cinematic-landing #just-the-play>div:first-child{grid-template-columns:.78fr 1.22fr}.cinematic-landing #just-the-play .feature-media{transform:perspective(1400px) rotateY(-9deg) rotateX(3deg)}.cinematic-landing #just-the-play .feature-media>div{max-width:720px}.cinematic-landing #score .feature-media:before{inset:25px 10px;border-radius:50%;background:radial-gradient(ellipse,#21707b33,transparent 70%)}.cinematic-landing #score .feature-media:after{inset:90px -28px;border:1px solid #56acbc25;border-radius:50%;transform:rotate(-30deg);background:none}.cinematic-landing #score .feature-media>div{transform:rotate(-5deg)}.cinematic-landing #score{padding-top:75px;padding-bottom:120px}.cinematic-landing .clip-ribbon{position:relative;display:flex;max-width:1110px;margin:88px auto 0;gap:14px;padding:0 10%;justify-content:center}.clip-rail{position:absolute;top:50%;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,#52dce766,transparent)}.clip-cell{position:relative;flex:1;height:66px;max-width:150px;overflow:hidden;border-radius:6px;border:1px solid #6099a566;background:#122831;transform:translateY(calc((var(--clip-index) - 2)*-5px));box-shadow:0 6px 20px #0005}.clip-cell .clip-image{width:100%;height:100%;object-fit:cover;object-position:center;opacity:.85}.clip-cell-line{position:absolute;bottom:0;left:0;right:0;height:2px;background:#3bdaea}.cinematic-landing #analysis{border-block:1px solid var(--landing-line);background:radial-gradient(ellipse at 0 50%,#1a49542b,transparent 65%),#0c1118;padding-block:100px}.cinematic-landing #analysis>div:first-child{display:flex;align-items:flex-start;justify-content:space-between;gap:70px}.cinematic-landing #analysis h2{max-width:480px;font-size:clamp(42px,5.4vw,70px)}.cinematic-landing #analysis p{max-width:560px;margin-top:0}.analysis-deck{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;max-width:1136px;margin:65px auto 0;padding:0;align-items:start}.analysis-card{overflow:hidden;border-radius:16px;border:1px solid #5c8c9c33;background:#12141e;box-shadow:0 18px 60px #0004}.analysis-card img{display:block;width:100%;height:auto}.analysis-card:nth-child(2){margin-top:36px}.analysis-card:nth-child(3){margin-top:72px}.analysis-card:nth-child(4){margin-top:-52px}.analysis-card:nth-child(5){margin-top:-16px}.analysis-card:nth-child(6){margin-top:20px}.cinematic-landing #highlights .feature-media:before{inset:60px -5%;transform:rotate(8deg);border-radius:24px;background:linear-gradient(145deg,#2a274222,#14515a33)}.cinematic-landing #highlights .feature-media>div{transform:rotate(5deg)}.cinematic-landing #coach{border-block:1px solid var(--landing-line);background:linear-gradient(120deg,#132c3155,transparent 70%)}.cinematic-landing #coach .feature-media:before{inset:60px -5%;border-radius:50% 50% 20px 20px;background:radial-gradient(ellipse at 50% 0,#25555844,transparent 70%)}.cinematic-landing #journal .feature-media:before,.cinematic-landing #record .feature-media:before{inset:24px -24px;background:linear-gradient(160deg,#1d313acc,#14202500)}.cinematic-landing #journal .feature-media>div,.cinematic-landing #record .feature-media>div{gap:22px}.cinematic-landing #recaps{padding-top:70px}.cinematic-landing #journal{background:radial-gradient(ellipse at 80% 60%,#2a233b55,transparent 65%)}.cinematic-landing #iphone{border-top:1px solid var(--landing-line);padding-block:100px}.cinematic-landing #iphone .feature-media{transform:perspective(1300px) rotateY(8deg) rotateX(4deg)}.cinematic-landing #iphone .feature-media:before{inset:-40px -30px;background:radial-gradient(ellipse at 20% 60%,#19535d55,transparent 70%)}.cinematic-landing #faq{padding-block:100px}.cinematic-landing #faq h2{font-size:46px;font-weight:500;letter-spacing:-.045em}.cinematic-landing #faq summary{font-size:17px;min-height:32px}.cinematic-landing .landing-close{position:relative;background:radial-gradient(ellipse at 50% 110%,#26677466,transparent 70%),#101a20;overflow:hidden}.cinematic-landing .landing-close:before{content:"";position:absolute;width:600px;height:600px;border:1px solid #5d9b9c33;border-radius:50%;top:50%;left:50%;transform:translate(-50%,-20%);pointer-events:none}.cinematic-landing .landing-close>div{position:relative;padding-block:100px}.cinematic-landing .landing-close h2{font-size:clamp(40px,5vw,64px);font-weight:500;letter-spacing:-.055em}.cinematic-landing .landing-close h2 span{color:#57e2e5}@media (hover:hover) and (prefers-reduced-motion:no-preference){.cinematic-landing .analysis-card{transition:transform .4s ease,border-color .4s ease}.cinematic-landing .analysis-card:hover{transform:translateY(-7px);border-color:#56d6e270}.cinematic-landing #highlights .feature-media:hover>div,.cinematic-landing #score .feature-media:hover>div{transform:rotate(0deg)}}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference) and (min-width:900px){.clip-cell{animation:clips-resolve linear both;animation-timeline:view();animation-range:entry 0 entry 100%}@keyframes clips-resolve{0%{transform:translateX(calc((var(--clip-index) - 2)*32px)) rotate(calc((var(--clip-index) - 2)*5deg))}to{transform:translateX(0) rotate(0)}}}}@media (max-width:1100px) and (min-width:768px){.hero-copy{padding-inline:40px}.hero-copy>div{max-width:560px}.hero-copy h1{font-size:60px}.cinematic-landing #features section>div:first-child{padding-inline:48px;gap:40px}.analysis-deck{margin-inline:48px}}@media (max-width:767px){.cinematic-hero{--hero-art-space:clamp(120px,calc(100svh - 540px),230px);flex-direction:column;align-items:stretch;padding-top:var(--hero-art-space)}.hero-copy{flex:1;display:flex;align-items:center;margin:0 auto;padding:20px 24px max(20px,env(safe-area-inset-bottom));pointer-events:auto}.hero-copy>div{width:100%;max-width:540px;margin-inline:auto}.hero-copy h1{font-size:clamp(31px,8.6vw,50px);line-height:1.07;letter-spacing:-.055em;text-wrap:wrap}.hero-copy p:not(:where(dialog *,.hero-allowance)){margin-top:16px;font-size:15px;line-height:1.6;max-width:440px}.hero-copy .hero-actions{flex-direction:column;gap:10px;align-items:stretch;margin-top:20px}.hero-copy .hero-actions>a,.hero-copy .hero-actions>button{width:100%;min-height:56px;font-size:16px;max-width:none}.hero-copy .hero-allowance{margin-top:14px;font-size:12px;line-height:1.5;max-width:360px}.cinematic-landing #walkthrough{padding-top:55px;padding-bottom:65px}.cinematic-landing #walkthrough h2{font-size:28px;letter-spacing:-.04em}.cinematic-landing #features:before{display:none}.cinematic-landing #features section{padding:65px 0}.cinematic-landing #features section>div:first-child{padding-inline:24px;gap:42px;grid-template-columns:minmax(0,1fr)}.cinematic-landing #features h2:not(:where(dialog *)){font-size:36px;max-width:360px}.cinematic-landing #features p:not(:where(dialog *)){font-size:16px;line-height:1.8;margin-top:18px}.cinematic-landing .feature-media:before{inset:-18px -7px;border-radius:18px}.cinematic-landing .feature-media:after{inset:-24px}.cinematic-landing #iphone .feature-media,.cinematic-landing #just-the-play .feature-media{transform:none}.cinematic-landing #just-the-play{padding-bottom:46px}.cinematic-landing .clip-ribbon{margin-top:48px;gap:8px;padding-inline:24px}.clip-cell{height:44px;transform:none}.cinematic-landing #highlights .feature-media>div,.cinematic-landing #score .feature-media>div{transform:none;width:240px}.cinematic-landing #analysis>div:first-child{display:block}.cinematic-landing #analysis h2{font-size:42px}.cinematic-landing #analysis p{margin-top:20px}.analysis-deck{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;margin:32px 0 0;padding:0 24px 20px;scroll-padding-inline:24px}.analysis-card,.analysis-card:nth-child(n){flex:0 0 86%;margin-top:0;scroll-snap-align:start;max-width:380px;border-radius:12px}.cinematic-landing #journal .feature-media>div,.cinematic-landing #record .feature-media>div{gap:12px}.cinematic-landing #journal .feature-media:before,.cinematic-landing #record .feature-media:before{inset:20px -8px}.cinematic-landing #iphone .feature-media:before{inset:-20px -6px}.cinematic-landing #coach a{width:100%;justify-content:center}.cinematic-landing #iphone .mt-6>div>button{width:100%;max-width:none;min-height:48px}.cinematic-landing #iphone .mt-6>div{align-items:stretch}.cinematic-landing #faq{padding-block:60px}.cinematic-landing #faq h2{font-size:36px}.cinematic-landing #faq summary{font-size:16px}.cinematic-landing .landing-close>div{padding-block:65px;align-items:stretch;text-align:left}.cinematic-landing .landing-close h2{font-size:42px}.cinematic-landing .landing-close a{max-width:none;min-height:48px}}@media (prefers-reduced-motion:reduce){.clip-cell{animation:none}.cinematic-landing .analysis-card,.cinematic-landing .feature-media>div{transition:none}}.cinematic-landing .feature-media{display:flex;justify-content:center;width:100%}.cinematic-landing .landing-just-the-play{padding-bottom:65px;background:linear-gradient(180deg,#10232944,transparent)}.cinematic-landing .landing-just-the-play #just-the-play{padding-bottom:0}@media(max-width:767px){.cinematic-landing .landing-just-the-play{padding-bottom:40px}}.cinematic-landing #journal .feature-media>div,.cinematic-landing #record .feature-media>div{width:100%}@media(min-width:1101px){.hero-copy{padding-inline:72px}}.cinematic-hero{--rally-progress:0}.cinematic-hero:before{background:radial-gradient(ellipse at 83% 45%,#16404780,transparent 52%),linear-gradient(110deg,#0a0a0f 35%,#0c1d23)}@keyframes clips-resolve{0%{transform:translateX(calc((var(--clip-index) - 2)*32px)) rotate(calc((var(--clip-index) - 2)*5deg))}to{transform:translateX(0) rotate(0)}}@media(max-width:767px){.hero-copy{padding-top:20px}}@supports(animation-timeline:view()){@media(prefers-reduced-motion:no-preference){.clip-cell{animation:clips-resolve linear both;animation-timeline:view();animation-range:entry 0 entry 100%}.cinematic-landing .feature-media:before{animation:frame-depth linear both;animation-timeline:view();animation-range:entry 0 exit 100%}@keyframes frame-depth{0%{translate:0 24px}to{translate:0 -24px}}}}.hero-screens{position:absolute;z-index:1;pointer-events:none}.hero-screen{position:absolute;pointer-events:auto}.hero-row{overflow:hidden;overflow:clip;perspective:1800px;perspective-origin:50% 100%}@media(min-width:768px){.hero-row .hero-screens{transform-style:preserve-3d;transform-origin:50% 100%;transform:rotateX(calc(9deg - var(--look-v,0)*7deg)) rotateY(calc(var(--look-u,0)*9deg));translate:0 calc(var(--rally-progress,0)*-150px);transition:transform .8s cubic-bezier(.2,.65,.2,1)}.hero-row .hero-screen{transform:rotateY(var(--ry,0deg))}.hero-screen[data-slot="0"]{--ry:13deg}.hero-screen[data-slot="1"]{--ry:4deg}.hero-screen[data-slot="2"]{--ry:-4deg}.hero-screen[data-slot="3"]{--ry:-13deg}}@supports (animation-timeline:scroll()){@media(min-width:768px) and (prefers-reduced-motion:no-preference){.hero-row .hero-screens{animation:hero-rise linear both;animation-timeline:scroll(root block);animation-range:0 calc(70svh - 45px)}}}@keyframes hero-rise{0%{translate:0 0}to{translate:0 -150px}}.hero-row .hero-screens{left:50%;bottom:0;width:1036px;height:calc(clamp(250px,calc(100svh - 570px),330px) - 80px);margin-left:-518px}.hero-row .hero-screen{width:232px;left:calc(var(--i)*268px);top:0}.hero-row .hero-screen[data-slot="0"],.hero-row .hero-screen[data-slot="3"]{top:36px}@media(min-width:768px){.hero-row{align-items:flex-start}.hero-row .hero-copy{padding-top:clamp(28px,calc(100svh - 836px),64px);padding-bottom:clamp(250px,calc(100svh - 570px),330px);text-align:center}.hero-row .hero-copy>div{max-width:880px;margin-inline:auto}.hero-row .hero-copy p:not(:where(dialog *,.hero-allowance)){max-width:640px;margin-inline:auto}.hero-row .hero-copy .hero-actions{justify-content:center}.hero-row .hero-copy .hero-allowance{margin-inline:auto}.hero-row .hero-copy h1{font-size:clamp(48px,5vw,72px)}}@media(min-width:768px) and (max-width:1100px){.hero-row{min-height:0}.hero-row .hero-screens{scale:.86;transform-origin:50% 100%}}@media(min-width:768px) and (max-width:900px){.hero-row .hero-screens{scale:.72}}.hero-hops{position:absolute;left:-60px;top:-110px;width:1156px;height:150px;overflow:visible;fill:none}.hero-hops-run{stroke:#cefff4;stroke-width:2.4;stroke-linecap:round;stroke-dasharray:9 91;stroke-dashoffset:9;opacity:.85;filter:drop-shadow(0 0 6px #57e2e5)}.hero-hops-ball{position:absolute;left:0;top:0;width:32px;height:32px;z-index:5;offset-rotate:0deg;offset-anchor:center;offset-distance:39%;filter:drop-shadow(0 0 10px #57e2e599)}.hero-hops-ball svg{display:block;width:100%;height:100%}.hero-screen:after{content:"";position:absolute;left:50%;top:-16px;width:130px;height:34px;margin-left:-65px;border-radius:50%;border:2px solid #8ff3f5;box-shadow:0 0 18px #57e2e5,inset 0 0 12px #57e2e566;opacity:0;z-index:4}.hero-screen:before{content:"";position:absolute;inset:0;border-radius:2.4rem;background:#06070b;opacity:.34;z-index:3;pointer-events:none}.hero-screen[data-slot="0"]{--hit:1.14s}.hero-screen[data-slot="1"]{--hit:2.73s}.hero-screen[data-slot="2"]{--hit:4.27s}.hero-screen[data-slot="3"]{--hit:5.86s}@media(prefers-reduced-motion:no-preference){.hero-screen{animation:hero-screen-rise 1s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(var(--i)*90ms + .12s)}@keyframes hero-screen-rise{0%{translate:0 28px;opacity:.001}to{translate:0 0;opacity:1}}.hero-hops-ball{animation:hop-flight 7s linear infinite}.hero-hops-run{animation:hop-run 7s linear infinite}.hero-screen:after{animation:screen-hit 7s linear infinite;animation-delay:var(--hit)}.hero-screen>div{animation:screen-dip 7s linear infinite;animation-delay:var(--hit)}@keyframes hop-flight{0%{offset-distance:0}to{offset-distance:100%}}@keyframes hop-run{0%{stroke-dashoffset:9}to{stroke-dashoffset:-91}}@keyframes screen-hit{0%{opacity:1;transform:scale(.3)}14%{opacity:0;transform:scale(1.3)}to{opacity:0;transform:scale(1.3)}}.hero-screen:before{animation:screen-light 7s linear infinite;animation-delay:var(--hit)}@keyframes screen-light{0%{opacity:0}18%{opacity:0}27%{opacity:.34}to{opacity:.34}}@keyframes screen-dip{0%{translate:0 5px}7%{translate:0 0}to{translate:0 0}}}@media(prefers-reduced-motion:reduce){.hero-hops-run{display:none}}.hero-tilt{display:none}@media(max-width:767px){.hero-row{--hero-art-space:8px}.hero-row .hero-screens{display:none}.hero-row .hero-copy{flex:none;order:1;padding-bottom:0}.hero-tilt{display:block;order:2;position:relative;z-index:1;width:280px;margin:36px auto 0;padding-bottom:48px;perspective:1000px;view-timeline:--hero-tilt block}.tilt-phone{transform-origin:50% 0}.tilt-card{position:absolute;z-index:3;width:116px;border-radius:14px;overflow:hidden;border:1px solid #2c3440;box-shadow:0 18px 40px #000c}.tilt-card img{display:block;width:100%;height:auto}.tilt-card-0{left:-40px;top:170px;rotate:-5deg}.tilt-card-1{right:-40px;top:330px;rotate:4deg}}@supports (animation-timeline:view()){@media(max-width:767px) and (prefers-reduced-motion:no-preference){.tilt-phone{animation:tilt-stand linear both;animation-timeline:--hero-tilt;animation-range:entry 10% entry 80%}.tilt-card{animation:tilt-card-in linear both;animation-timeline:--hero-tilt;animation-range:entry 45% entry 90%}}}@keyframes tilt-stand{0%{transform:rotateX(38deg) rotate(-8deg) scale(.94)}to{transform:none}}@keyframes tilt-card-in{0%{opacity:0;translate:0 28px;scale:.85}to{opacity:1;translate:0 0;scale:1}}@media(hover:hover) and (pointer:fine){.hero-hops,.hero-hops-ball,.hero-screen:after,.hero-screen:before{display:none}.hero-screen>div{animation:none}}