@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Caslon+Display&display=swap');
:root{--ink:#193b4b;--blue:#579fc3;--lime:#dce875;--orange:#d49a4e;--paper:#fafbf8;--line:#d7deda}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button{font:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--orange);outline-offset:5px}header{height:110px;padding:20px 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.wordmark{font-family:'Libre Caslon Display',Georgia,serif;font-size:52px;line-height:.85;letter-spacing:-2px}.wordmark span{display:block;font-family:'DM Sans',sans-serif;font-size:10px;letter-spacing:2px;margin-top:13px}nav{display:flex;gap:35px;font-size:14px}nav a:hover,.textlink:hover{color:#377593}.button{display:inline-flex;justify-content:center;align-items:center;min-height:54px;padding:14px 25px;border:1px solid var(--ink);background:var(--ink);color:white;font-size:14px;font-weight:600;transition:background .2s,color .2s}.button:hover{background:#315c70}.button.small{min-height:44px;padding:10px 20px}.button.lime{color:var(--ink);background:var(--lime);border-color:var(--lime)}.button.lime:hover{background:#e8f298}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:690px}.hero-copy{padding:65px 9% 55px 10%}.eyebrow{font-size:12px;letter-spacing:1.6px;font-weight:600;margin:0 0 28px;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1,h2{font-family:'Libre Caslon Display',Georgia,serif;font-weight:400;letter-spacing:-2px;line-height:.99}h1{font-size:clamp(64px,6.9vw,108px);margin-bottom:30px}em{font-weight:400;color:#4a92b5}h1 em{color:var(--blue)}.intro{max-width:420px;font-size:17px;line-height:1.6;margin-bottom:28px}.micro{font-size:12px;margin-top:24px;margin-bottom:0;opacity:.7}.hero-image{position:relative;overflow:hidden;background:#94b6bb;min-height:600px}.hero-image img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:65% center}.hero-image:after{content:'';position:absolute;inset:40% 0 0;background:linear-gradient(transparent,rgba(11,41,44,.55))}.image-caption{position:absolute;bottom:70px;left:10%;z-index:1;color:white}.image-caption span{font-size:12px;letter-spacing:2px}.image-caption p{font-family:'Libre Caslon Display',Georgia,serif;font-size:54px;line-height:1.05;margin:10px 0}.image-index{position:absolute;bottom:22px;left:10%;z-index:1;color:white;letter-spacing:1.5px;font-size:10px}.ticker{background:var(--lime);padding:21px 5%;display:flex;justify-content:space-between;gap:25px;align-items:center;font-size:12px;letter-spacing:1.5px;font-weight:600}.ticker i{font-size:23px;font-style:normal}.section{padding:110px 6%}.approach{display:grid;grid-template-columns:1.1fr 1fr;gap:8%}h2{font-size:clamp(48px,4.7vw,74px);margin-bottom:30px}p{margin-bottom:22px}.approach-copy{padding-top:43px;max-width:480px}.large{font-size:24px;line-height:1.4}.textlink{border-bottom:1px solid var(--ink);display:inline-block;padding-bottom:7px;font-size:14px;margin-top:10px}.activity{background:#eaf2f4;display:grid;grid-template-columns:1fr 1.2fr;gap:7%;padding-top:80px;padding-bottom:80px}.activity-heading>p:last-child{font-size:14px}.choices{display:flex;border-bottom:1px solid #b4cad3;gap:22px}.choices button{background:none;border:none;border-bottom:2px solid transparent;color:var(--ink);padding:0 0 15px;cursor:pointer;font-size:14px;text-align:left}.choices button.active{border-color:var(--ink);font-weight:700}.goal-copy{padding-top:35px}.goal-number{font-family:'Libre Caslon Display',Georgia,serif;font-size:52px;color:#51849b}.goal-copy h3{font-size:27px;font-weight:500;margin:12px 0}.goal-copy p{max-width:490px}.section-heading{display:flex;justify-content:space-between;gap:8%;align-items:end}.section-heading>p{max-width:285px;margin-bottom:38px}.pillars{display:grid;grid-template-columns:repeat(4,1fr);margin-top:30px;border-top:1px solid var(--line)}.pillars article{padding:35px 24px 0 0;border-right:1px solid var(--line);margin-right:24px;display:flex;flex-direction:column}.pillars article:last-child{border:0;margin-right:0;padding-right:0}.number{font-family:'Libre Caslon Display',Georgia,serif;font-size:46px;color:#669db6;margin-bottom:28px}.pillars h3{font-size:25px;line-height:1.25;font-weight:500}.pillars p{font-size:15px}.pillartag{font-size:10px;letter-spacing:1.2px;margin-top:auto;padding-top:18px;font-weight:600}.program{display:grid;grid-template-columns:1fr 1fr;background:var(--ink);color:#f7f9f3;gap:10%}.program em{color:#b7d6e4}.program-title>p:not(.eyebrow){max-width:390px}.program-title .button{margin-top:18px}.program-details ul{list-style:none;padding:0;margin:0}.program-details li{display:flex;gap:22px;padding:25px 0;border-top:1px solid #4e6872}.program-details li>span{font-size:12px;color:var(--lime);padding-top:4px}.program-details h3{font-size:19px;font-weight:500;margin-bottom:8px}.program-details p{font-size:14px;color:#d0dee3;margin:0}.program-foot{border-top:1px solid #4e6872;display:flex;justify-content:space-between;align-items:center;padding-top:25px}.program-foot strong{font-family:'Libre Caslon Display',Georgia,serif;font-size:52px;font-weight:400}.program-foot span{font-size:10px;letter-spacing:1.3px}.kelley{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.brand-panel{padding:60px 35px;background:white;border:1px solid var(--line)}.brand-panel img{display:block;width:100%;height:auto}.brand-panel p{text-align:center;font-size:10px;letter-spacing:1.5px;margin:40px 0 0}.signature{font-family:'Libre Caslon Display',Georgia,serif;font-size:30px;font-style:italic;color:#90632b;margin-top:30px}.faq{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:9%}.faq h2{font-size:56px}details{border-bottom:1px solid var(--line)}summary{cursor:pointer;list-style:none;font-weight:500;padding:24px 28px 24px 0;position:relative}summary::-webkit-details-marker{display:none}.faq summary:after{content:'+';position:absolute;right:0;top:20px;font-size:24px;font-weight:400}details[open] summary:after{content:'−'}.faq details p{font-size:15px;padding-right:20px}.start{text-align:center;background:var(--lime);padding:90px 6% 40px}.start h2{font-size:clamp(58px,6.5vw,100px)}.start em{color:#416774}.start>p:not(.eyebrow){font-size:18px}.consult{max-width:520px;margin:35px auto 65px;text-align:left;border-top:1px solid #9ba657;border-bottom:1px solid #9ba657}.consult summary{font-size:15px}.consult summary span{float:right}.consult p{font-size:15px}.start .start-end{font-size:11px!important;letter-spacing:2px}footer{padding:50px 6% 30px;display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap}footer .wordmark{font-size:45px}footer p,footer>a:not(.wordmark){font-size:13px;margin:0}.copyright{width:100%;font-size:11px;opacity:.6;border-top:1px solid var(--line);padding-top:20px;margin-top:25px}.skip{position:fixed;top:-100px;left:15px;z-index:10;background:white;padding:10px}.skip:focus{top:10px}@media(min-width:1600px){body{max-width:1800px;margin:auto}}@media(max-width:950px){header{padding:20px 5%}nav{gap:18px}.hero{min-height:630px}.hero-copy{padding:50px 8% 40px 10%}h1{font-size:70px}.hero-image{min-height:600px}.section{padding:75px 6%}.pillars{grid-template-columns:repeat(2,1fr);gap:35px}.pillars article:nth-child(2){border:0}.ticker{font-size:10px;gap:10px}.section-heading{display:block}.section-heading>p{max-width:450px}.program,.kelley{gap:6%}.choices{gap:15px}.choices button{font-size:13px}}@media(max-width:650px){header{height:90px}.wordmark{font-size:43px}.wordmark span{font-size:8px}nav{display:none}.button.small{font-size:12px;padding:9px 13px}.hero{display:flex;flex-direction:column}.hero-copy{padding:44px 6%}.eyebrow{font-size:10px;letter-spacing:1.3px;margin-bottom:23px}h1{font-size:76px}h2{font-size:52px}.hero-image{min-height:440px}.hero-image img{object-position:65% center}.image-caption{bottom:65px}.image-caption p{font-size:48px}.ticker{justify-content:center;flex-wrap:wrap;padding:19px 6%}.ticker span:first-child,.ticker i{display:none}.ticker span{font-size:9px}.section{padding:65px 6%}.approach,.activity,.program,.kelley,.faq{grid-template-columns:1fr;gap:30px}.approach-copy{padding:0}.large{font-size:22px}.activity-heading>p:last-child{margin-bottom:0}.choices{gap:17px}.choices button{font-size:12px}.goal-copy{padding-top:20px}.pillars{gap:30px 18px}.pillars article{margin:0;padding:20px 15px 0 0}.pillars h3{font-size:23px}.pillars p{font-size:14px}.pillartag{font-size:9px}.number{margin-bottom:18px}.program-details{margin-top:20px}.kelley .brand-panel{order:2;padding:35px}.faq h2{font-size:50px}.start h2{font-size:65px}.start .eyebrow{max-width:290px;margin-left:auto;margin-right:auto}.start>p:not(.eyebrow){font-size:16px}.start p br{display:none}footer{gap:25px}footer p{max-width:150px}footer>a:not(.wordmark){width:100%}.consult{margin-bottom:40px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Supplied logo and full-width cyclist hero. */
header{height:130px;background:#fff;padding-top:10px;padding-bottom:10px}
.brand-link{display:block;flex-shrink:0;line-height:0}
.site-logo{display:block;width:142px;height:110px;object-fit:contain}
footer .site-logo{width:172px;height:134px}
.hero{position:relative;display:block;min-height:720px;aspect-ratio:1.6;background:white;isolation:isolate}
.hero-copy{position:relative;z-index:1;width:47%;padding:7% 0 5% 6%}
.hero h1{font-size:clamp(68px,6.5vw,105px)}
.hero .intro{max-width:390px}
.hero-image{position:absolute;inset:0;z-index:0;min-height:0;background:white;overflow:hidden}
.hero-image img{inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.hero-image:after{display:none}
@media(max-width:950px) and (min-width:651px){.hero{min-height:670px}.hero-copy{width:49%;padding-top:70px;padding-left:5%}.hero h1{font-size:68px}.hero .intro{font-size:16px}.hero .button{padding-left:16px;padding-right:16px}.hero-image img{object-position:58% center}}
@media(max-width:650px){header{height:110px}.site-logo{width:113px;height:88px}.hero{display:flex;flex-direction:column;aspect-ratio:auto;min-height:0}.hero-copy{width:100%;padding:42px 6% 30px;background:white}.hero h1{font-size:74px}.hero-image{position:relative;inset:auto;min-height:0;width:100%;aspect-ratio:1.25}.hero-image img{object-fit:cover;object-position:right center}.hero .micro{margin-top:20px}footer .site-logo{width:145px;height:113px}}

.middle-feature{position:relative;isolation:isolate;aspect-ratio:1.6;min-height:590px;background:#fff;overflow:hidden}
.middle-feature>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-1}
.middle-copy{width:43%;padding:8% 0 7% 6%}
.middle-copy h2{font-size:clamp(65px,6.3vw,100px)}
.middle-copy p:not(.eyebrow){font-size:18px}
@media(max-width:950px) and (min-width:651px){.middle-copy{width:46%;padding-top:75px}.middle-copy h2{font-size:70px}.middle-feature{min-height:600px}}
@media(max-width:650px){.middle-feature{min-height:0;aspect-ratio:auto;display:flex;flex-direction:column}.middle-copy{width:100%;padding:45px 6% 25px;background:white}.middle-copy h2{font-size:65px}.middle-feature>img{position:relative;inset:auto;order:2;aspect-ratio:1.25;object-position:right center;z-index:0}}

/* Kelley photos. */
.photo{margin:0;line-height:0}
.photo img{display:block;width:100%;height:100%;object-fit:cover}
.photo figcaption{line-height:1.4;font-size:11px;letter-spacing:.4px;color:#5d7480;margin-top:10px}
.approach-photo{margin-top:16px}
.approach-photo img{aspect-ratio:4/3;object-position:50% 60%}
.activity{align-items:center}
.activity-photo{margin-top:34px;max-width:420px}
.activity-photo img{aspect-ratio:4/5;object-position:50% 55%}
.kelley-photo img{aspect-ratio:4/5;object-position:50% 25%}
@media(max-width:650px){.kelley-photo{order:2}.activity-photo{max-width:none;margin-top:28px}}
