@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--navy:#08263f;--teal:#0a7e94;--orange:#ff5028;--paper:#f7f8f5;--line:#dce2e2}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--navy);font-family:'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,summary,select{ -webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--teal);outline-offset:5px}header{height:108px;display:flex;align-items:center;justify-content:space-between;padding:0 5.5%;border-bottom:1px solid var(--line)}.logo{font-family:Manrope,sans-serif;font-weight:800;font-size:40px;letter-spacing:-2.5px;white-space:nowrap}.logo span{color:var(--teal)}i{font-style:normal;color:var(--orange)}header nav{display:flex;gap:32px;font-size:14px}nav a:hover{color:var(--teal)}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:36px;background:var(--orange);color:var(--navy);padding:20px 25px;font-size:14px;font-weight:700;border:none;cursor:pointer;transition:transform .2s,background .2s}.button:hover{background:#f36b48;transform:translateY(-2px)}.button span{font-size:21px}.button.small{padding:13px 18px;gap:28px;font-size:12px}.hero{display:grid;grid-template-columns:1.05fr 1fr;min-height:690px}.hero-copy{padding:64px 7% 38px 10.5%;display:flex;flex-direction:column;align-items:flex-start}.eyebrow{font-size:10px;letter-spacing:1.9px;font-weight:700;line-height:1.8}.eyebrow b{display:inline-block;width:7px;height:7px;background:var(--orange);border-radius:50%;margin-right:8px}h1,h2,h3{font-family:Manrope,sans-serif}h1{font-size:clamp(56px,6.1vw,94px);letter-spacing:-5px;line-height:1.03;margin:27px 0}h1>span{color:var(--teal)}p{line-height:1.75} .hero-copy>p{font-size:15px;color:#536570;margin:0 0 30px}.hero-foot{display:flex;gap:13px;align-items:center;font-size:11px;line-height:1.8;margin-top:38px;color:#6b7b83}.hero-foot strong{font-weight:500;color:var(--navy)}.mini-icon{display:grid;place-items:center;border:1px solid #b7c5c9;border-radius:50%;width:36px;height:36px;font-size:20px}.hero-image{position:relative;overflow:hidden;margin:22px 22px 22px 0;min-height:630px;background:var(--navy)}.hero-image img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:center}.hero-image:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#08263f28,transparent 35%,#08263f80)}.image-top,.image-caption,.photo-index{position:absolute;z-index:1;color:white}.image-top{top:26px;left:28px;font-size:9px;letter-spacing:2px}.image-caption{bottom:61px;left:32px;font-family:Manrope;font-size:28px;letter-spacing:-1px}.image-caption span,.image-caption b{display:block}.photo-index{left:32px;bottom:26px;font-size:8px;letter-spacing:1.7px}.values{background:var(--navy);color:white;display:flex;align-items:center;justify-content:space-between;padding:26px 5.5%;font-size:10px;letter-spacing:1.7px}.values i{font-size:20px}.section{padding:100px 7%}.approach{display:grid;grid-template-columns:1.1fr 1fr;gap:8%}h2{font-size:clamp(32px,3.5vw,53px);letter-spacing:-2px;line-height:1.18;margin:22px 0}em{font-style:normal;color:var(--teal)}.approach-right>p{color:#65747c;font-size:14px}.approach-right .lead{font-size:22px;line-height:1.5;color:var(--navy);margin-top:0}.principle{display:flex;gap:22px;padding:22px 0;border-bottom:1px solid var(--line)}.principle>span{color:var(--teal);font-size:11px;padding-top:4px}h3{font-size:19px;margin:0 0 8px;letter-spacing:-.5px}.principle p{font-size:13px;color:#65747c;margin:0}.coaching{background:#eaf0ef}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:36px}.section-head>p{font-size:13px;color:#65747c}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.services article{background:var(--paper);padding:30px;display:flex;flex-direction:column}.service-num{font-size:11px;color:var(--teal);display:flex;justify-content:space-between;margin-bottom:45px}.service-num span{font-size:25px}.services h3{font-size:25px}.services p{font-size:13px;color:#65747c;flex:1}.services a{font-size:12px;font-weight:700;display:flex;justify-content:space-between;padding-top:25px;margin-top:15px;border-top:1px solid var(--line)}.services a:hover{color:var(--orange)}.services .featured{background:var(--teal);color:white}.featured p,.featured .service-num{color:#def0ef}.featured a{border-color:#ffffff40}.extra{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:30px;font-size:11px}.extra>span{color:#65747c}.extra p{font-size:13px}.extra i{margin:0 12px}.extra a{text-decoration:underline;text-underline-offset:5px}.journey{background:var(--navy);color:white}.journey .eyebrow{color:#a5c1cd}.journey em{color:#52b3c4}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin-top:54px}.steps b{display:block;color:var(--orange);font-size:13px;border-top:1px solid #ffffff30;padding:20px 0}.steps p{font-size:13px;color:#b8c8ce}.faq{display:grid;grid-template-columns:1fr 1fr;gap:8%}.faq .eyebrow{font-size:9px}details{border-bottom:1px solid var(--line);padding:23px 0}summary{cursor:pointer;font-size:14px;list-style:none;display:flex;justify-content:space-between;gap:20px}summary:after{content:'+';color:var(--teal);font-size:20px}details[open] summary:after{content:'−'}details p{font-size:13px;color:#65747c}.start{display:grid;grid-template-columns:1fr 1fr;gap:10%;background:#eaf0ef}.start h2{font-size:76px;letter-spacing:-4px;line-height:1.08}.start h2 span{color:var(--teal)}.start>div>p{font-size:13px;color:#65747c}form{background:var(--paper);padding:35px}form h3{font-size:23px;margin-bottom:25px}label{display:block;font-size:11px;font-weight:600;margin:17px 0 8px}select,textarea{width:100%;border:1px solid #cbd4d5;background:transparent;color:var(--navy);padding:12px;font-size:12px;border-radius:0}textarea{resize:vertical}form .button{width:100%;margin-top:20px}.form-note{font-size:10px;color:#65747c;line-height:1.6}#result{border-top:1px solid var(--line);margin-top:20px;font-size:13px;overflow-wrap:anywhere}#result h4{font-size:18px}#download{border:0;background:var(--navy);color:white;padding:12px 18px;cursor:pointer}footer{padding:48px 5.5% 22px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:24px}footer p{font-size:11px;letter-spacing:1px}footer p span{font-size:11px;letter-spacing:0;color:#65747c}footer>a:last-of-type{font-size:11px}.footer-bottom{border-top:1px solid var(--line);width:100%;padding-top:22px;display:flex;justify-content:space-between;font-size:9px;letter-spacing:1px;color:#65747c}@media(min-width:1600px){body{max-width:1700px;margin:auto}}@media(max-width:900px){header{height:86px}.logo{font-size:32px}header nav{gap:18px;font-size:12px}header>.button{display:none}.hero-copy{padding-top:45px}h1{font-size:62px;letter-spacing:-3px}.hero-image{min-height:600px}.values{font-size:8px;letter-spacing:.8px}.section{padding:70px 6%}.services article{padding:22px}.services h3{font-size:21px}.extra{flex-wrap:wrap}.start{gap:5%}.start h2{font-size:64px}form{padding:25px}}@media(max-width:620px){header{padding:0 6%}header nav{gap:14px}.hero{grid-template-columns:1fr}.hero-copy{padding:38px 7%}h1{font-size:68px;margin:24px 0}.hero-copy>p{font-size:14px}.hero-foot{margin-top:26px}.hero-image{margin:0 6% 24px;min-height:480px}.values{display:grid;grid-template-columns:1fr 1fr;gap:20px;font-size:8px;text-align:center}.values i{display:none}.approach,.faq,.start{grid-template-columns:1fr;gap:30px}.section{padding:58px 7%}h2{letter-spacing:-1.5px;font-size:36px}.section-head{display:block}.services,.steps{grid-template-columns:1fr}.service-num{margin-bottom:24px}.services article{padding:28px}.services p{font-size:14px}.steps{gap:20px;margin-top:32px}.extra{gap:0}.extra>span{width:100%;margin-bottom:8px}.extra p{font-size:12px}.extra i{margin:0 6px}.start h2{font-size:64px}.footer-bottom{gap:16px;font-size:8px;line-height:1.7}footer .logo{font-size:34px}footer p{font-size:9px}form{padding:24px}.image-caption{font-size:27px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}

.services article > .package-upfront{flex:0 0 auto;margin-top:auto;padding-top:20px}

.profile-race-details{min-width:0;border-top:1px solid #d9e2e6;padding-top:1rem;scroll-margin-top:6rem}.profile-race-details .question-table-scroll{max-width:100%;overflow-x:auto}.profile-race-details .question-table{min-width:900px}.member-grid>section{min-width:0}

.athlete-menu{position:fixed;top:29px;right:22px;z-index:100;color:var(--navy)}.athlete-menu>summary{list-style:none;display:flex;align-items:center;gap:7px;cursor:pointer;background:var(--paper);border:1px solid var(--line);border-radius:30px;padding:10px 13px;font-size:12px;font-weight:700}.athlete-menu>summary::-webkit-details-marker{display:none}.athlete-menu nav{position:absolute;top:calc(100% + 8px);right:0;width:205px;display:grid;padding:8px;background:white;border:1px solid var(--line);box-shadow:0 12px 30px #08263f24;border-radius:12px}.athlete-menu nav a{padding:12px;border-radius:7px;font-size:14px}.athlete-menu nav a:hover{background:#e7f3f4;color:var(--teal)}header>nav{padding-right:160px}.goals-page .question-table-scroll{max-width:100%;overflow-x:auto}.goals-page .question-table{min-width:940px}.goals-page h1{font-size:clamp(32px,4vw,48px);letter-spacing:-2px}.profile-goals-link{padding:15px 0;border-top:1px solid var(--line)}@media(max-width:650px){.athlete-menu{top:24px;right:13px}.athlete-menu>summary>span:first-of-type{display:none}header>nav{padding-right:58px}.athlete-menu>summary{padding:9px}}

.free-demo-banner~.athlete-menu{top:58px}@media(max-width:650px){.free-demo-banner~.athlete-menu{top:54px}}

.member-grid.profile-only{grid-template-columns:minmax(0,1fr)}

/* Assessment progress and compact route details */
.completion-badge{display:block;font-size:.7rem;line-height:1.3;margin-top:.35rem;opacity:.85;font-weight:500}.section-completion{display:inline-block;background:#e8f3f2;border-radius:2rem;padding:.35rem .8rem;color:#006d77;font-size:.8rem}.section-complete-action{border-top:1px solid #d9e2e6;margin-top:1.5rem;padding-top:1rem}.race-route{min-width:170px;max-width:420px;font-size:.8rem}.race-route summary{cursor:pointer;color:#007e94;font-weight:600}.race-route img{width:100%;height:auto;margin:.5rem 0}.race-route small{display:block}.hilly-badge{font-weight:700;color:#a34124}.brief-feedback .resource-content{white-space:pre-line}.basket-notification{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;padding:.8rem;border:1px solid #a8d5ce;background:#edf7f4;border-radius:.5rem}.basket-notification a{display:inline-block;padding:.5rem .8rem;background:#08263f;color:white;border-radius:.3rem;font-weight:700}.checkout-confirmation{max-width:1000px;margin:auto}.checkout-confirmation address{font-style:normal;white-space:pre-line}.checkout-confirmation img{width:60px;height:60px;object-fit:contain}.checkout-confirmation table{width:100%;border-collapse:collapse}.checkout-confirmation td,.checkout-confirmation th{padding:.7rem;text-align:left;border-bottom:1px solid #d9e2e6}
.confirmation-line{display:flex;justify-content:space-between;gap:1rem;padding:1rem 0;border-bottom:1px solid #d9e2e6}.confirmation-line p{margin:.3rem 0}
