/* EvoPace shared site styles */
:root {
  --paper:#f5f1e8;
  --paper-deep:#ebe4d6;
  --ink:#122338;
  --muted:#647184;
  --line:#d9d2c6;
  --aqua:#0cae9c;
  --aqua-deep:#087b71;
  --blue:#0d81e8;
  --navy:#0d2238;
  --white:#fffdf8;
  --display:"Aptos Display","Bahnschrift","Trebuchet MS",sans-serif;
  --body:"Aptos","Segoe UI Variable Text","Trebuchet MS",sans-serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--body);font-size:16px}
a{color:inherit}
.site-header{position:relative;z-index:10;display:flex;align-items:center;justify-content:space-between;width:min(1240px,calc(100% - 48px));margin:0 auto;padding:25px 0;border-bottom:1px solid rgba(18,35,56,.12)}
.brand{display:flex;align-items:center;gap:11px;color:var(--ink);font-family:var(--display);font-size:18px;font-weight:800;text-decoration:none;letter-spacing:-.04em}
.brand b{color:var(--aqua-deep);font-weight:600}
.brand-mark{position:relative;display:flex;align-items:flex-end;gap:3px;width:33px;height:33px;padding:7px;border-radius:10px;background:var(--ink);overflow:hidden}
.brand-mark i{display:block;width:5px;border-radius:5px;background:var(--white);transform:rotate(16deg)}
.brand-mark i:nth-child(1){height:9px}.brand-mark i:nth-child(2){height:15px;background:#5dd9c9}.brand-mark i:nth-child(3){height:22px;background:#21a7ee}
.site-header nav,.site-footer nav{display:flex;align-items:center;gap:27px}
.site-header nav a,.site-footer nav a{color:#46566a;font-size:13px;font-weight:600;text-decoration:none}
.site-header nav a:hover,.site-footer nav a:hover{color:var(--aqua-deep)}
.site-header .nav-cta{padding:10px 17px;border:1px solid var(--ink);border-radius:99px;color:var(--ink)}
.hero{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(480px,.95fr);align-items:center;gap:68px;width:min(1240px,calc(100% - 48px));min-height:700px;margin:0 auto;padding:80px 0 100px}
.hero:before{content:"";position:absolute;left:-15vw;top:-10%;width:45vw;height:45vw;border-radius:50%;background:radial-gradient(circle,rgba(12,174,156,.11),transparent 67%);pointer-events:none}
.eyebrow{display:inline-flex;align-items:center;gap:9px;color:var(--aqua-deep);font-size:11px;font-weight:800;letter-spacing:.15em;text-transform:uppercase}
.eyebrow i{width:23px;height:2px;background:var(--aqua)}
.hero h1{max-width:690px;margin:22px 0 25px;font-family:var(--display);font-size:clamp(55px,6.5vw,91px);font-weight:700;line-height:.98;letter-spacing:-.065em}
.hero h1 em{display:block;color:var(--aqua-deep);font-style:normal}
.hero-copy>p{max-width:590px;margin:0;color:var(--muted);font-size:18px;line-height:1.65}
.hero-actions{display:flex;align-items:center;gap:24px;margin-top:35px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:52px;padding:0 22px;border-radius:13px;font-family:var(--display);font-size:13px;font-weight:800;text-decoration:none}
.button.primary{color:white;background:var(--ink);box-shadow:0 15px 35px rgba(18,35,56,.18)}
.button.primary:hover{background:var(--aqua-deep);transform:translateY(-1px)}
.button.text{padding:0;color:var(--ink)}
.trust-line{display:flex;gap:20px;margin-top:32px;color:#798493;font-size:11px;font-weight:600}
.trust-line span{display:flex;align-items:center;gap:7px}.trust-line span:before{content:"";width:5px;height:5px;border-radius:50%;background:var(--aqua)}
.hero-visual{position:relative;min-height:540px;padding:27px;border:1px solid rgba(18,35,56,.14);border-radius:30px;background:rgba(255,253,248,.72);box-shadow:0 32px 80px rgba(29,53,71,.12);overflow:hidden}
.hero-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(125deg,transparent 50%,rgba(13,129,232,.06));pointer-events:none}
.visual-topline{display:flex;justify-content:space-between;color:#718093;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.visual-topline b{color:var(--ink)}
.goal-card{position:absolute;z-index:2;top:65px;left:40px;display:grid;gap:3px;padding:15px 18px;border:1px solid #d8e4e2;border-radius:14px;background:rgba(255,255,255,.9);box-shadow:0 14px 30px rgba(18,35,56,.08)}
.goal-label{color:var(--aqua-deep);font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.12em}.goal-card strong{font-family:var(--display);font-size:17px}.goal-card small{color:#7a8796}
.trajectory{position:absolute;left:20px;right:20px;bottom:70px;width:calc(100% - 40px);height:auto;overflow:visible}
.grid-line{fill:none;stroke:#dfe4e2;stroke-width:1;stroke-dasharray:6 9}.area{fill:url(#area)}.route-line{fill:none;stroke:var(--aqua);stroke-width:6;stroke-linecap:round}.route-line.shadow{stroke:#fff;stroke-width:14}.point{stroke:white;stroke-width:5}.point.start{fill:#9da8b3}.point.current{fill:var(--blue)}.point.finish{fill:var(--ink)}
.chart-label{position:absolute;z-index:2;display:grid;gap:2px;padding:7px 10px;border-radius:9px;background:var(--white);box-shadow:0 8px 20px rgba(18,35,56,.1)}.chart-label span{color:#83909d;font-size:8px;text-transform:uppercase;letter-spacing:.1em}.chart-label strong{font-size:10px}.current-label{right:31%;top:44%}.finish-label{right:22px;top:21%}
.coach-note{position:absolute;z-index:3;left:28px;right:28px;bottom:22px;display:flex;align-items:center;gap:11px;padding:13px 15px;border-radius:14px;color:#dfeff0;background:var(--navy);box-shadow:0 14px 30px rgba(13,34,56,.2)}.coach-note>span{display:grid;place-items:center;width:29px;height:29px;border-radius:9px;color:white;background:linear-gradient(135deg,var(--blue),var(--aqua));font-size:13px}.coach-note div{display:grid;gap:2px}.coach-note b{font-size:10px;text-transform:uppercase;letter-spacing:.1em}.coach-note small{color:#aebfca;font-size:11px}
.signal-strip{display:grid;grid-template-columns:repeat(3,1fr);width:min(1240px,calc(100% - 48px));margin:0 auto;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.signal-strip div{display:flex;align-items:center;gap:16px;padding:22px 26px;border-right:1px solid var(--line);font-size:13px;font-weight:600}.signal-strip div:last-child{border:0}.signal-strip strong{color:var(--aqua-deep);font-family:var(--display);font-size:11px}
.section{width:min(1240px,calc(100% - 48px));margin:0 auto;padding:130px 0}
.section-heading{display:grid;grid-template-columns:1fr 1.2fr;column-gap:80px;align-items:end;margin-bottom:55px}.section-heading .eyebrow{grid-column:1/-1;margin-bottom:19px}.section-heading h2,.connected h2,.closing h2{margin:0;font-family:var(--display);font-size:clamp(39px,5vw,66px);line-height:1.05;letter-spacing:-.055em}.section-heading p{max-width:470px;margin:0;color:var(--muted);font-size:17px;line-height:1.65}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.step-card{position:relative;min-height:375px;padding:27px;border:1px solid var(--line);border-radius:23px;background:rgba(255,253,248,.55);overflow:hidden}.step-card.featured{color:white;background:var(--navy);border-color:var(--navy);transform:translateY(-13px)}.step-number{position:absolute;right:25px;top:22px;color:#8994a0;font-family:var(--display);font-size:11px;font-weight:800}.step-icon{display:grid;place-items:center;width:86px;height:86px;margin:46px 0 57px;border-radius:50%;background:#e8f2ef}.step-card h3{margin:0 0 12px;font-family:var(--display);font-size:23px;letter-spacing:-.035em}.step-card p{margin:0;color:#687689;line-height:1.6}.featured p{color:#aec0cc}.rings{position:relative}.rings i{position:absolute;border:2px solid var(--aqua);border-radius:50%}.rings i:nth-child(1){width:22px;height:22px}.rings i:nth-child(2){width:42px;height:42px;opacity:.6}.rings i:nth-child(3){width:63px;height:63px;opacity:.25}.pulse{background:#17334b}.pulse:before,.pulse:after{content:"";position:absolute}.pulse:before{width:58px;height:2px;background:#456076}.pulse i{position:relative;width:10px;height:10px;border-radius:50%;background:#55d7c7;box-shadow:0 0 0 8px rgba(85,215,199,.16)}.pulse i:before,.pulse i:after{content:"";position:absolute;top:4px;height:2px;background:#55d7c7}.pulse i:before{right:9px;width:28px;transform:rotate(-20deg);transform-origin:right}.pulse i:after{left:9px;width:28px;transform:rotate(20deg);transform-origin:left}.check{color:white;background:var(--aqua);font-size:31px;font-weight:700}
.connected{padding-top:45px}.connected-panel{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center;min-height:560px;padding:65px;border-radius:34px;color:white;background:var(--navy);box-shadow:0 35px 80px rgba(13,34,56,.18)}.eyebrow.light{color:#5bd9ca}.connected-copy>p{max-width:570px;color:#acbecb;font-size:17px;line-height:1.65}.connected-copy ul{display:grid;gap:13px;margin:30px 0 0;padding:0;list-style:none}.connected-copy li{display:flex;align-items:center;gap:11px;color:#dce6eb;font-size:13px}.connected-copy li span{display:grid;place-items:center;width:21px;height:21px;border-radius:50%;color:#0e4e49;background:#5bd9ca;font-weight:900}.connection-map{position:relative;display:grid;place-items:center;min-height:390px}.service{position:absolute;z-index:2;display:grid;grid-template-columns:44px 1fr;gap:2px 11px;align-items:center;min-width:205px;padding:16px;border:1px solid #355069;border-radius:16px;background:#142d45;box-shadow:0 16px 30px rgba(0,0,0,.18)}.service>span:first-child{grid-row:1/3;display:grid;place-items:center;width:44px;height:44px;border-radius:13px;color:white;background:#1686e8;font-family:var(--display);font-weight:800}.service b{font-family:var(--display);font-size:14px}.service small{color:#91a6b5;font-size:10px}.service.intervals{left:0;top:38px}.service.garmin{right:0;bottom:40px}.service.garmin>span{background:#19a996}.service.core{left:50%;top:50%;transform:translate(-50%,-50%);border-color:#4c817c;background:#193b4c}.service.core .brand-mark.small{width:44px;height:44px;padding:10px}.map-line{position:absolute;z-index:1;width:45%;height:2px;background:linear-gradient(90deg,#39889a,#3bd0bb);transform:rotate(22deg)}.map-line.one{left:24%;top:37%}.map-line.two{right:19%;bottom:34%}.development-note{margin:18px 0 0;color:#778594;font-size:11px;text-align:center}
.closing{text-align:center}.closing .eyebrow{margin-bottom:25px}.closing h2{margin-bottom:35px}.closing .button{min-width:190px}
.site-footer{display:grid;grid-template-columns:1.2fr 1fr auto;align-items:center;gap:25px;width:min(1240px,calc(100% - 48px));margin:0 auto;padding:35px 0 42px;border-top:1px solid var(--line)}.site-footer p{margin:0;color:#788493;font-size:12px}.site-footer small{grid-column:1/-1;color:#969fA8;font-size:10px}.footer-brand{font-size:15px}.footer-brand .brand-mark{width:27px;height:27px;padding:6px}.footer-brand .brand-mark i{width:4px}
.legal-page{background:#f7f4ed}.legal-header{background:rgba(247,244,237,.88);backdrop-filter:blur(12px)}.legal-hero{width:min(920px,calc(100% - 48px));margin:0 auto;padding:105px 0 55px}.legal-hero h1{max-width:780px;margin:18px 0 20px;font-family:var(--display);font-size:clamp(45px,7vw,76px);line-height:1;letter-spacing:-.06em}.legal-hero p{max-width:700px;color:var(--muted);font-size:18px;line-height:1.6}.legal-meta{display:flex;gap:20px;margin-top:24px;color:#7d8996;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.09em}.legal-layout{display:grid;grid-template-columns:220px minmax(0,700px);gap:70px;width:min(920px,calc(100% - 48px));margin:0 auto;padding:40px 0 120px;border-top:1px solid var(--line)}.legal-nav{position:sticky;top:25px;align-self:start;display:grid;gap:7px}.legal-nav a{padding:8px 10px;border-left:2px solid transparent;color:#718092;font-size:12px;text-decoration:none}.legal-nav a:hover{border-color:var(--aqua);color:var(--aqua-deep)}.legal-content{color:#34475c;line-height:1.72}.legal-content section{scroll-margin-top:25px;margin-bottom:47px}.legal-content h2{margin:0 0 14px;color:var(--ink);font-family:var(--display);font-size:25px;letter-spacing:-.035em}.legal-content h3{margin:25px 0 7px;color:var(--ink);font-family:var(--display);font-size:16px}.legal-content p{margin:0 0 15px}.legal-content ul{display:grid;gap:9px;padding-left:20px}.legal-content a{color:var(--aqua-deep);font-weight:600}.legal-callout{padding:19px 21px;border-left:4px solid var(--aqua);border-radius:0 14px 14px 0;background:#e8f5f1}.legal-callout strong{display:block;margin-bottom:5px;color:var(--ink)}
.not-found-copy{max-width:520px;margin:20px auto 32px;color:var(--muted)}
.reveal{animation:rise .7s ease both}.delay-1{animation-delay:.1s}.delay-2{animation-delay:.2s}.delay-3{animation-delay:.3s}@keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

@media(max-width:980px){.site-header nav a:not(.nav-cta){display:none}.hero{grid-template-columns:1fr;padding-top:65px}.hero-visual{min-height:500px}.section-heading{grid-template-columns:1fr}.section-heading p{margin-top:25px}.steps{grid-template-columns:1fr}.step-card{min-height:280px}.step-card.featured{transform:none}.step-icon{margin:25px 0 35px}.connected-panel{grid-template-columns:1fr;padding:48px}.connection-map{min-height:360px}.site-footer{grid-template-columns:1fr auto}.site-footer p{display:none}.legal-layout{grid-template-columns:1fr}.legal-nav{position:static;grid-template-columns:repeat(3,1fr);gap:3px}.legal-nav a{padding:7px 4px;border:0;font-size:10px}}
@media(max-width:660px){.site-header{width:calc(100% - 30px)}.site-header .nav-cta{padding:9px 13px}.brand{font-size:16px}.hero,.section,.signal-strip,.site-footer{width:calc(100% - 30px)}.hero{grid-template-columns:minmax(0,1fr);gap:44px;min-height:0;padding:55px 0 70px}.hero h1{font-size:50px}.hero-copy>p{font-size:16px}.hero-actions{align-items:flex-start;flex-direction:column;gap:8px}.trust-line{flex-wrap:wrap}.hero-visual{min-height:430px;padding:20px;border-radius:23px}.goal-card{left:22px;top:57px}.trajectory{bottom:75px}.chart-label{display:none}.coach-note{left:15px;right:15px;bottom:14px}.signal-strip{grid-template-columns:1fr}.signal-strip div{border-right:0;border-bottom:1px solid var(--line)}.section{padding:90px 0}.section-heading{margin-bottom:36px}.section-heading h2,.connected h2,.closing h2{font-size:39px}.connected{padding-top:15px}.connected-panel{padding:35px 22px;border-radius:24px}.connection-map{min-height:400px}.service{min-width:185px}.service.intervals{top:15px}.service.core{top:50%}.service.garmin{bottom:15px}.map-line{width:55%;transform:rotate(55deg)}.site-footer{grid-template-columns:1fr}.site-footer nav{gap:15px;flex-wrap:wrap}.legal-hero,.legal-layout{width:calc(100% - 30px)}.legal-hero{padding-top:70px}.legal-hero h1{font-size:48px}.legal-layout{gap:35px}.legal-nav{grid-template-columns:1fr 1fr}.legal-meta{flex-direction:column;gap:6px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{animation:none}.button{transition:none}}

/* Coming-soon homepage */
.launch-page{min-height:100vh;background:radial-gradient(circle at 74% 35%,rgba(12,174,156,.12),transparent 28%),radial-gradient(circle at 14% 78%,rgba(13,129,232,.07),transparent 25%),var(--paper);overflow-x:hidden}
.launch-header{border-bottom-color:rgba(18,35,56,.1)}
.build-status{display:inline-flex;align-items:center;gap:8px;padding:9px 13px;border:1px solid rgba(18,35,56,.12);border-radius:99px;color:#526174;background:rgba(255,253,248,.58);font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.build-status i{width:7px;height:7px;border-radius:50%;background:var(--aqua);box-shadow:0 0 0 4px rgba(12,174,156,.12)}
.launch-main{width:min(1240px,calc(100% - 48px));margin:0 auto}
.launch-hero{display:grid;grid-template-columns:minmax(0,.9fr) minmax(500px,1.1fr);align-items:center;gap:74px;min-height:680px;padding:68px 0 76px}
.launch-kicker{display:inline-flex;align-items:center;gap:10px;color:var(--aqua-deep);font-size:11px;font-weight:800;letter-spacing:.15em;text-transform:uppercase}
.launch-kicker:before{content:"";width:28px;height:2px;background:var(--aqua)}
.launch-copy h1{margin:24px 0 27px;font-family:var(--display);font-size:clamp(62px,7vw,102px);font-weight:700;line-height:.87;letter-spacing:-.07em}
.launch-copy h1 em{color:var(--aqua-deep);font-style:normal}
.launch-copy>p{max-width:575px;margin:0;color:var(--muted);font-size:18px;line-height:1.65}
.launch-actions{display:flex;align-items:center;gap:22px;margin-top:36px}
.launch-note{max-width:150px;color:#7c8996;font-size:11px;line-height:1.45}
.launch-visual{position:relative;min-height:560px;display:grid;place-items:center;isolation:isolate}
.visual-glow{position:absolute;z-index:-2;width:78%;height:78%;border-radius:50%;background:radial-gradient(circle,rgba(12,174,156,.22),rgba(13,129,232,.05) 48%,transparent 70%);filter:blur(8px)}
.launch-card{position:relative;width:min(520px,90%);min-height:485px;padding:30px;border:1px solid #28445c;border-radius:34px;color:white;background:linear-gradient(150deg,#102940,#0b1f34 65%);box-shadow:0 42px 95px rgba(13,34,56,.28);overflow:hidden;transform:rotate(-2deg)}
.launch-card:after{content:"";position:absolute;right:-30%;bottom:-35%;width:95%;height:65%;border-radius:50%;background:rgba(12,174,156,.08)}
.card-topline{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between}
.mini-brand{display:flex;align-items:center;gap:9px;font-family:var(--display);font-size:14px;font-weight:800}
.mini-brand .brand-mark{width:29px;height:29px;padding:6px;border:1px solid #315069;background:#17344d}.mini-brand .brand-mark i{width:4px}
.beta-chip{padding:8px 11px;border:1px solid #37546c;border-radius:99px;color:#a9bbc8;font-size:9px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.launch-message{position:relative;z-index:1;margin:76px 0 55px}.launch-message strong{display:block;margin-top:12px;font-family:var(--display);font-size:clamp(64px,6.5vw,91px);line-height:.83;letter-spacing:-.07em}
.pace-lines{position:relative;z-index:1;display:grid;gap:8px;transform:skewX(-12deg)}.pace-lines span{display:block;width:var(--width);height:5px;border-radius:99px;background:#294359}.pace-lines span.active{background:linear-gradient(90deg,var(--aqua),#43d9c7);box-shadow:0 0 20px rgba(67,217,199,.36)}
.card-footer{position:absolute;z-index:1;left:30px;right:30px;bottom:27px;display:flex;justify-content:space-between;color:#7f98aa;font-size:9px;text-transform:uppercase;letter-spacing:.1em}.card-footer b{color:#c9d5dc}
.orbit{position:absolute;z-index:-1;border:1px solid rgba(13,129,232,.22);border-radius:50%;transform:rotate(-15deg)}.orbit-one{width:98%;height:61%}.orbit-two{width:83%;height:82%;border-color:rgba(12,174,156,.2);transform:rotate(24deg)}
.launch-principles{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.launch-principles div{display:flex;align-items:center;gap:15px;padding:23px 27px;border-right:1px solid var(--line)}.launch-principles div:last-child{border:0}.launch-principles span{color:var(--aqua-deep);font-size:10px;font-weight:800}.launch-principles strong{font-family:var(--display);font-size:13px}
.launch-footer{margin-top:0}.launch-footer p{display:block}

@media(max-width:980px){.launch-hero{grid-template-columns:1fr;gap:20px;padding-top:64px}.launch-copy{max-width:700px}.launch-visual{min-height:550px}.launch-principles{margin-top:20px}}
@media(max-width:660px){.launch-main{width:calc(100% - 30px)}.launch-header{padding:18px 0}.build-status{padding:8px 10px;font-size:9px}.launch-hero{min-height:0;padding:55px 0 45px}.launch-copy h1{font-size:58px}.launch-copy>p{font-size:16px}.launch-actions{align-items:flex-start;flex-direction:column;gap:14px}.launch-note{max-width:none}.launch-visual{min-height:450px}.launch-card{width:94%;min-height:400px;padding:23px;border-radius:26px}.launch-message{margin:62px 0 45px}.launch-message strong{font-size:64px}.card-footer{left:23px;right:23px;bottom:21px}.orbit-one{width:105%}.launch-principles{grid-template-columns:1fr}.launch-principles div{border-right:0;border-bottom:1px solid var(--line)}.launch-footer p{display:block}}
