:root{--bg: #07090f;--bg-2: #0d1117;--bg-3: #111722;--border: rgba(255, 255, 255, 0.07);--border-md: rgba(255, 255, 255, 0.12);--accent: #3b82f6;--accent-2: #60a5fa;--accent-dim: rgba(59, 130, 246, 0.12);--green: #34d399;--green-dim: rgba(52, 211, 153, 0.12);--orange: #f97316;--text: #eef2ff;--text-2: rgba(238, 242, 255, 0.55);--text-3: rgba(238, 242, 255, 0.28);--font: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;--radius: 12px;--radius-lg: 20px;--max-w: 1120px}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:var(--font);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}img,svg{display:block;max-width:100%}a{color:inherit;text-decoration:none}button{cursor:pointer;font:inherit;border:none;background:none}.container{width:100%;max-width:var(--max-w);margin-inline:auto;padding-inline:24px}.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;color:var(--accent);padding:6px 12px;background:var(--accent-dim);border:1px solid rgba(59,130,246,0.25);border-radius:100px}.eyebrow__dot{width:6px;height:6px;border-radius:50%;background:var(--accent);flex-shrink:0;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%, 100%{opacity:1}50%{opacity:0.4}}.section-label{font-size:11px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--text-3);margin-bottom:16px}.nav{position:fixed;top:0;left:0;right:0;z-index:100;transition:background 0.3s, border-color 0.3s, backdrop-filter 0.3s;border-bottom:1px solid transparent}.nav.scrolled{background:rgba(7,9,15,0.85);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-color:var(--border)}.nav__inner{display:flex;align-items:center;justify-content:space-between;height:64px}.nav__logo{font-size:20px;font-weight:800;letter-spacing:-0.03em;color:var(--text)}.nav__logo span{color:var(--accent)}.nav__appstore{display:flex;align-items:center;opacity:0.9;transition:opacity 0.2s, transform 0.15s}.nav__appstore:hover{opacity:1;transform:translateY(-1px)}.nav__appstore img{display:block}.hero{position:relative;min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding-top:80px;padding-bottom:80px;overflow:hidden}.hero__glow{position:absolute;top:50%;right:-100px;transform:translateY(-50%);width:700px;height:700px;background:radial-gradient(ellipse at 60% 50%, rgba(59,130,246,0.14) 0%, transparent 65%);pointer-events:none}.hero__inner{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.hero__inner--centered{grid-template-columns:1fr;max-width:720px;text-align:center}.hero__inner--centered .hero__actions{align-items:center}.hero__inner--centered .hero__eyebrow{justify-content:center}.hero__eyebrow{margin-bottom:28px;display:inline-flex}.hero__wordmark{font-size:clamp(48px, 6vw, 80px);font-weight:900;letter-spacing:-0.05em;line-height:1;color:var(--accent);margin:0 0 28px}.hero__title{font-size:clamp(36px, 4.5vw, 64px);font-weight:900;letter-spacing:-0.04em;line-height:1.0;margin-bottom:12px;color:var(--text)}.hero__title-accent{display:block;color:var(--accent)}.hero__sub{font-size:clamp(15px, 1.5vw, 18px);color:var(--text-2);max-width:480px;margin:20px 0 40px;line-height:1.7}.hero__actions{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.hero__right{display:flex;justify-content:center;align-items:center}@media (max-width: 860px){.hero{padding-top:100px;padding-bottom:60px}.hero__inner{grid-template-columns:1fr;gap:48px;text-align:center}.hero__eyebrow{justify-content:center}.hero__sub{margin-left:auto;margin-right:auto}.hero__actions{align-items:center}.hero__right{display:flex;justify-content:center}}.phone-mockup{width:min(380px, calc(100vw - 32px));flex-shrink:0;background:#1a1a1a;border-radius:2rem;border:1px solid var(--border-md);box-shadow:0 8px 24px rgba(0,0,0,0.6);position:relative;overflow:hidden}.phone-mockup__island{position:absolute;top:1.25rem;left:50%;transform:translateX(-50%);width:120px;height:35px;background:#000;border-radius:20px;z-index:10;box-shadow:0 2px 8px rgba(0,0,0,0.5)}.phone-mockup__map{height:600px;position:relative;overflow:hidden}.phone-mockup__map canvas{display:block}@media (max-width: 480px){.phone-mockup__map{height:380px}}.phone-mockup__hud{background:#080a14;border-top:1px solid rgba(255,255,255,0.06)}.phone-mockup__elevation{background:#060810;padding:8px 0 20px}.phone-mockup__elevation svg{display:block;width:100%}.hud-chip{background:rgba(13,17,23,0.85);backdrop-filter:blur(16px);border:1px solid var(--border-md);border-radius:var(--radius);padding:10px 16px;white-space:nowrap}.hud-chip__label{font-size:10px;font-weight:600;letter-spacing:0.06em;text-transform:uppercase;color:var(--text-3);margin-bottom:2px}.hud-chip__value{font-size:18px;font-weight:700;letter-spacing:-0.02em;color:var(--text)}.hud-chip__value--green{color:var(--green)}.hud-chip__value--blue{color:#66b3ff}.hud-chip__value--lblue{color:#99ccff}.hud-chip__value--white{color:var(--text)}.hud-chip__value--yellow{color:#f5d742}.hud-chip__value--orange{color:var(--orange)}.hud-chip__value--red{color:#ff5555}.hud-grade{display:flex;align-items:center;gap:8px;padding:7px 10px 5px;border-bottom:1px solid rgba(255,255,255,0.06)}.hud-grade__bar{flex:1;position:relative;height:4px;background:rgba(255,255,255,0.12);border-radius:2px}.hud-grade__fill{position:absolute;top:0;height:100%;border-radius:2px}.hud-grade__tick{position:absolute;left:50%;top:-3px;transform:translateX(-50%);width:1px;height:10px;background:rgba(255,255,255,0.25)}.hud-grade__value{width:42px;text-align:right;font-size:11px;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-0.01em;color:#fff}.hud-row{display:grid;grid-template-columns:repeat(4, 1fr);padding:6px 0 5px}.hud-cell{display:flex;flex-direction:column;align-items:center;position:relative}.hud-cell:not(:last-child)::after{content:'';position:absolute;right:0;top:15%;height:70%;width:1px;background:rgba(255,255,255,0.07)}.hud-cell__value{font-size:11px;font-weight:700;letter-spacing:-0.02em;color:#fff;font-variant-numeric:tabular-nums}.hud-cell__value--blue{color:#66b3ff}.hud-cell__value--green{color:var(--green)}.hud-cell__label{font-size:6px;font-weight:600;letter-spacing:0.07em;text-transform:uppercase;color:rgba(255,255,255,0.32);margin-top:1px}.hud-divider{height:1px;background:rgba(255,255,255,0.06)}.hud-progress{height:2px;background:rgba(255,255,255,0.08)}.hud-progress__fill{height:100%;background:#3b82f6;width:0%}.appstore-btn{display:inline-flex;opacity:0.92;transition:opacity 0.2s, transform 0.15s}.appstore-btn:hover{opacity:1;transform:translateY(-2px)}.appstore-btn img{display:block}.btn{display:inline-flex;align-items:center;gap:8px;padding:13px 24px;border-radius:100px;font-size:15px;font-weight:600;transition:all 0.2s}.btn--primary{background:var(--accent);color:#fff}.btn--primary:hover{background:var(--accent-2);transform:translateY(-1px)}.btn--outline{border:1px solid var(--border-md);color:var(--text-2);background:rgba(255,255,255,0.03)}.btn--outline:hover{border-color:var(--border-md);color:var(--text);background:rgba(255,255,255,0.06);transform:translateY(-1px)}.not-zwift{padding:100px 0;border-top:1px solid var(--border)}.not-zwift__headline{font-size:clamp(28px, 4vw, 44px);font-weight:800;letter-spacing:-0.03em;margin-bottom:16px}.not-zwift__sub{font-size:18px;color:var(--text-2);max-width:540px;margin-bottom:56px;line-height:1.65}.not-zwift__grid{display:grid;grid-template-columns:repeat(2, 1fr);gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.not-zwift__col{background:var(--bg-2);padding:28px 24px}.not-zwift__col--root{background:var(--bg-3)}.not-zwift__col-header{font-size:11px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--text-3);padding-bottom:16px;margin-bottom:16px;border-bottom:1px solid var(--border)}.not-zwift__col-header--accent{color:var(--accent)}.not-zwift__row{display:flex;align-items:flex-start;gap:10px;padding:10px 0;border-bottom:1px solid var(--border);font-size:14px;color:var(--text-2);line-height:1.4}.not-zwift__row:last-child{border-bottom:none}.not-zwift__row--root{color:var(--text)}.not-zwift__check{flex-shrink:0;margin-top:1px;color:var(--green)}.not-zwift__check--dim{color:var(--text-3)}.how{padding:100px 0;border-top:1px solid var(--border)}.how__header{max-width:540px;margin-bottom:64px}.how__title{font-size:clamp(28px, 4vw, 40px);font-weight:800;letter-spacing:-0.03em;margin-bottom:12px}.how__sub{font-size:17px;color:var(--text-2);line-height:1.65}.how__steps{display:grid;grid-template-columns:repeat(3, 1fr);gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.how__step{background:var(--bg-2);padding:36px 28px;position:relative}.how__step::after{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg, var(--accent) 0%, transparent 80%);opacity:0;transition:opacity 0.3s}.how__step:hover::after{opacity:1}.how__num{font-size:11px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--accent);margin-bottom:20px}.how__icon{width:48px;height:48px;border-radius:var(--radius);background:var(--accent-dim);display:flex;align-items:center;justify-content:center;margin-bottom:20px;color:var(--accent)}.how__step-title{font-size:18px;font-weight:700;letter-spacing:-0.02em;margin-bottom:10px}.how__step-body{font-size:14px;color:var(--text-2);line-height:1.65}.features{padding:100px 0;border-top:1px solid var(--border)}.features__header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:56px;gap:24px;flex-wrap:wrap}.features__title{font-size:clamp(28px, 4vw, 40px);font-weight:800;letter-spacing:-0.03em;max-width:440px}.features__sub{font-size:16px;color:var(--text-2);max-width:360px;line-height:1.65}.features__grid{display:grid;grid-template-columns:repeat(3, 1fr);gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.features__card{background:var(--bg-2);padding:32px 28px;transition:background 0.2s}.features__card:hover{background:var(--bg-3)}.features__icon{width:44px;height:44px;border-radius:var(--radius);display:flex;align-items:center;justify-content:center;margin-bottom:20px;font-size:20px}.features__icon--blue{background:var(--accent-dim);color:var(--accent)}.features__icon--green{background:var(--green-dim);color:var(--green)}.features__icon--purple{background:rgba(168,85,247,0.12);color:#a855f7}.features__icon--orange{background:rgba(249,115,22,0.12);color:var(--orange)}.features__icon--pink{background:rgba(236,72,153,0.12);color:#ec4899}.features__icon--teal{background:rgba(20,184,166,0.12);color:#14b8a6}.features__card-title{font-size:17px;font-weight:700;letter-spacing:-0.02em;margin-bottom:10px}.features__card-body{font-size:14px;color:var(--text-2);line-height:1.65}.ghost{padding:100px 0;border-top:1px solid var(--border)}.ghost__inner{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}.ghost__label{margin-bottom:16px}.ghost__title{font-size:clamp(28px, 3.5vw, 40px);font-weight:800;letter-spacing:-0.03em;line-height:1.15;margin-bottom:16px}.ghost__body{font-size:16px;color:var(--text-2);line-height:1.7;margin-bottom:32px}.ghost__visual{background:var(--bg-2);border:1px solid var(--border-md);border-radius:var(--radius-lg);padding:28px;position:relative;overflow:hidden}.ghost__visual::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(ellipse at 80% 20%, rgba(59,130,246,0.08) 0%, transparent 60%);pointer-events:none}.ghost__chart-wrap{border-radius:var(--radius);overflow:hidden;margin-bottom:20px}.ghost__riders{display:flex;gap:10px}.ghost__rider{flex:1;background:var(--bg-3);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px}.ghost__rider-label{font-size:11px;font-weight:600;letter-spacing:0.06em;text-transform:uppercase;color:var(--text-3);margin-bottom:4px}.ghost__rider-name{font-size:15px;font-weight:700;margin-bottom:8px}.ghost__rider-gap{font-size:13px;font-weight:600;color:var(--green)}.ghost__rider-gap--behind{color:var(--orange)}.pricing{padding:100px 0;border-top:1px solid var(--border);text-align:center}.pricing__header{margin-bottom:56px}.pricing__title{font-size:clamp(28px, 4vw, 40px);font-weight:800;letter-spacing:-0.03em;margin-bottom:12px}.pricing__sub{font-size:17px;color:var(--text-2)}.pricing__grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:760px;margin-inline:auto}.pricing__grid--single{grid-template-columns:1fr;max-width:480px}.pricing__card{background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius-lg);padding:36px 32px;text-align:left;position:relative;overflow:hidden}.pricing__card--featured{border-color:rgba(59,130,246,0.4);background:linear-gradient(135deg, rgba(59,130,246,0.08) 0%, var(--bg-2) 60%)}.pricing__badge{position:absolute;top:20px;right:20px;font-size:11px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:var(--accent);padding:4px 10px;background:var(--accent-dim);border:1px solid rgba(59,130,246,0.3);border-radius:100px}.pricing__icon{font-size:28px;margin-bottom:16px}.pricing__plan-name{font-size:22px;font-weight:800;letter-spacing:-0.02em;margin-bottom:6px}.pricing__plan-sub{font-size:14px;color:var(--text-2);margin-bottom:24px}.pricing__price{margin-bottom:24px}.pricing__price strong{font-size:40px;font-weight:900;letter-spacing:-0.04em}.pricing__price span{font-size:15px;color:var(--text-2)}.pricing__price-alt{font-size:13px;color:var(--text-3);margin-top:4px}.pricing__divider{border:none;border-top:1px solid var(--border);margin-bottom:24px}.pricing__features{list-style:none;display:flex;flex-direction:column;gap:12px;margin-bottom:32px}.pricing__feature{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--text-2)}.pricing__feature--dim{color:var(--text-3)}.pricing__feature svg{flex-shrink:0}.pricing__cta{display:flex;width:100%;justify-content:center;padding:13px;border-radius:var(--radius);font-size:15px;font-weight:600;transition:all 0.2s}.pricing__cta--primary{background:var(--accent);color:#fff}.pricing__cta--primary:hover{background:var(--accent-2)}.pricing__cta--outline{border:1px solid var(--border-md);color:var(--text-2)}.pricing__cta--outline:hover{border-color:var(--border-md);color:var(--text)}.pricing__toggle{display:flex;gap:4px;background:var(--bg-2);border:1px solid var(--border);border-radius:100px;padding:4px;width:fit-content;margin:0 auto 40px}.pricing__toggle-btn{padding:8px 20px;border-radius:100px;font-size:14px;font-weight:600;color:var(--text-2);transition:all 0.2s}.pricing__toggle-btn--active{background:var(--accent);color:#fff}.pricing__price--hidden{display:none}.pricing__note{margin-top:32px;font-size:13px;color:var(--text-3)}.faq{padding:100px 0;border-top:1px solid var(--border)}.faq__header{text-align:center;margin-bottom:56px}.faq__title{font-size:clamp(28px, 4vw, 40px);font-weight:800;letter-spacing:-0.03em;margin-bottom:12px}.faq__sub{font-size:17px;color:var(--text-2)}.faq__list{max-width:680px;margin-inline:auto;display:flex;flex-direction:column;gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.faq__item{background:var(--bg-2)}.faq__item.open .faq__answer{max-height:400px}.faq__item.open .faq__chevron{transform:rotate(180deg)}.faq__question{width:100%;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 24px;font-size:15px;font-weight:600;color:var(--text);transition:color 0.2s}.faq__question:hover{color:var(--text)}.faq__chevron{flex-shrink:0;color:var(--text-3);transition:transform 0.25s}.faq__answer{max-height:0;overflow:hidden;transition:max-height 0.3s ease}.faq__answer-inner{padding:0 24px 22px;font-size:14px;color:var(--text-2);line-height:1.7}.footer{border-top:1px solid var(--border);padding:40px 0}.footer__inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px}.footer__logo{font-size:18px;font-weight:800;letter-spacing:-0.03em}.footer__logo span{color:var(--accent)}.footer__copy{font-size:13px;color:var(--text-3)}.footer__links{display:flex;gap:24px;list-style:none}.footer__links a{font-size:13px;color:var(--text-3);transition:color 0.2s}.footer__links a:hover{color:var(--text-2)}.works-with{padding:20px 0 24px;border-top:1px solid var(--border);border-bottom:1px solid var(--border);text-align:center}.works-with__label{font-size:11px;font-weight:600;letter-spacing:0.06em;text-transform:uppercase;color:var(--text-3);margin-bottom:12px}.works-with__brands{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 4px}.works-with__brand{font-size:14px;font-weight:700;letter-spacing:-0.01em;color:var(--text-2)}.works-with__brand--more{font-weight:400;color:var(--text-3)}.works-with__sep{color:var(--text-3);font-size:12px}.notify{padding:96px 0;text-align:center}.notify__inner{max-width:520px;margin:0 auto}.notify__title{font-size:clamp(28px, 3.5vw, 44px);font-weight:900;letter-spacing:-0.03em;margin-bottom:16px}.notify__sub{font-size:16px;color:var(--text-2);line-height:1.7;margin-bottom:32px}.notify__form{display:flex;gap:10px;max-width:420px;margin:0 auto 12px}@media (max-width: 480px){.notify__form{flex-direction:column}}.notify__input{flex:1;padding:12px 16px;background:var(--surface-2);border:1px solid var(--border-md);border-radius:var(--radius);color:var(--text);font-size:15px;outline:none}.notify__input:focus{border-color:var(--accent)}.notify__input::placeholder{color:var(--text-3)}.notify__btn{padding:12px 24px;background:var(--accent);color:#fff;font-size:15px;font-weight:700;border:none;border-radius:var(--radius);cursor:pointer;white-space:nowrap}.notify__btn:hover{opacity:0.88}.notify__fine{font-size:12px;color:var(--text-3)}.notify--compact{padding:48px 0}.notify--compact .notify__title{font-size:clamp(22px, 2.5vw, 32px);margin-bottom:20px}@media (max-width: 900px){.not-zwift__grid,.how__steps{grid-template-columns:1fr}.features__grid{grid-template-columns:1fr 1fr}.ghost__inner{grid-template-columns:1fr;gap:40px}.pricing__grid{grid-template-columns:1fr;max-width:480px}}@media (max-width: 640px){.hero__hud{display:none}.features__grid{grid-template-columns:1fr}.not-zwift__grid,.how__steps{border-radius:var(--radius)}.features__header{flex-direction:column;align-items:flex-start}}
