/* Layout lock: approved September 16 desktop + mobile boards. */
:root{--gutter:3.5vw;--header:clamp(64px,5.55vw,84px);--max:1600px;--paper:#f5f5f3;--red:#e32924}
body{font-size:clamp(15px,1.2vw,18px);line-height:1.45}
.container{max-width:1720px}.section{padding-block:clamp(36px,3.5vw,58px)}
.section-title{font-size:clamp(36px,4.75vw,72px);letter-spacing:-.052em;line-height:1.03;margin-bottom:24px}
.section-heading{margin-bottom:24px}.eyebrow{font-size:10px;letter-spacing:.25em}
.nav-shell{max-width:1720px;padding-inline:var(--gutter);gap:5vw}.brand img{width:clamp(126px,12.8vw,186px)}
.brand-slogan{display:block;font-size:9px;line-height:1.2;letter-spacing:.11em;font-weight:400;margin-top:5px;color:#f3f3ef}
.main-nav{gap:clamp(23px,3.2vw,50px);justify-content:flex-start}.main-nav>a{font-size:clamp(11px,.88vw,14px)}
.nav-cta{margin-left:auto;min-height:42px;padding:10px 18px;font-size:12px!important}
.main-nav>a:not(.button):after{bottom:5px}.button{min-height:46px;padding:12px 24px;font-size:14px;border-radius:2px;gap:28px}
.button span{font-size:22px}.text-link{font-size:16px;font-weight:400;gap:12px;padding:3px 0}
.grid{gap:1.75vw}.product-cards .media{aspect-ratio:1.55;object-fit:cover}
.card-copy{padding-top:15px}.card-copy h3{font-size:clamp(23px,2.1vw,31px)}
.card-copy p{font-size:clamp(15px,1.4vw,20px);line-height:1.35;margin:7px 0 12px}
.card-copy .text-link{margin-top:0}.image-link>span,.image-zoom{display:none}.gallery-open{background:#dadbd6}
.home-hero{max-width:1720px;min-height:0;aspect-ratio:2.4;grid-template-columns:41.5% 58.5%}
.hero-copy{padding:3.6vw var(--gutter);justify-content:center}.hero-copy h1{font-size:clamp(70px,7.3vw,116px);line-height:.94;margin-bottom:26px;letter-spacing:-.055em}
.hero-copy .eyebrow{font-size:10px;margin-bottom:24px}.hero-copy>p:not(.eyebrow){font-size:clamp(17px,1.55vw,23px);line-height:1.35;margin-bottom:27px}
.hero-image .media{object-position:52% center}.collection-section{padding-top:3.4vw;padding-bottom:3.7vw}
.collection-section .section-title{margin-bottom:30px}.training-section{padding-block:3.5vw}
.training-section .section-title{margin-bottom:34px}.principles{gap:0!important}
.principles article{padding:0 3.8vw;border-left:1px solid #dadbd8}.principles article:first-child{padding-left:0;border-left:0}.principles article:last-child{padding-right:0}
.principles h3{font-size:clamp(24px,2vw,30px);margin-bottom:12px}.principles p{font-size:clamp(17px,1.55vw,22px);line-height:1.3}
.home-space{display:grid;grid-template-columns:41.5% 58.5%;grid-template-rows:auto auto;min-height:350px}
.space-heading{grid-column:1;grid-row:1;align-self:end;padding:40px var(--gutter) 0}.space-heading .section-title{max-width:530px;margin-bottom:22px;font-size:clamp(40px,4vw,62px)}
.space-image{grid-column:2;grid-row:1/3}.space-image .media{height:100%;object-fit:cover;aspect-ratio:1.85}
.space-description{grid-column:1;grid-row:2;padding:0 var(--gutter) 40px}.space-description p{font-size:clamp(18px,1.7vw,24px);color:#5e6060;line-height:1.3;margin-bottom:22px}
.product-nav{height:clamp(45px,3.5vw,54px)}.product-nav>.container{gap:4vw}.product-nav nav{gap:3.8vw}.product-name{font-size:clamp(13px,1.15vw,17px)}.product-nav nav a{font-size:clamp(11px,.9vw,14px)}
.page-bike .product-nav{background:#f9f9f7;color:#161918;border-bottom:1px solid #ddd}
.product-split{aspect-ratio:2.58}.product-split .hero-copy h1{font-size:clamp(62px,6.8vw,106px)}
.scene-hero{height:auto;aspect-ratio:2.62;min-height:450px;max-height:680px;overflow:hidden;isolation:isolate}
.scene-image{position:absolute;inset:0;z-index:-2;background:#171917}
.scene-image .media{width:100%;height:100%;object-fit:cover;object-position:center 43%;transform:translateX(10%)}
.scene-hero:after{display:block;background:linear-gradient(90deg,rgba(10,13,11,.92),rgba(10,13,11,.56) 24%,rgba(10,13,11,.1) 55%,transparent 75%)}
.scene-copy{height:100%;padding-block:35px;justify-content:center;align-items:flex-start}
.scene-copy .eyebrow{font-size:11px;margin-bottom:18px}.scene-copy h1{font-size:clamp(66px,6.6vw,101px);line-height:.96;max-width:740px;margin:0 0 34px}
.perspective-section{padding-top:3vw;padding-bottom:2.4vw}.perspective-section .section-title{margin-bottom:20px}
.gallery-open .media{aspect-ratio:1.91;object-fit:cover}.gallery-grid .card-copy h3{font-size:clamp(22px,1.9vw,29px)}
.gallery-grid .card-copy p{font-size:clamp(15px,1.35vw,20px);line-height:1.3;margin:7px 0 13px}.gallery-grid .card-copy{padding-top:14px}
.page-treadmill .training-section{padding-top:3.4vw;padding-bottom:3.5vw}.page-treadmill .training-section .section-title{margin-bottom:29px}
.page-treadmill .principles article{padding-inline:3.5vw}.page-treadmill .principles article:first-child{padding-left:0}.page-treadmill .principles article:last-child{padding-right:0}
.detail-banner{min-height:0;aspect-ratio:4.16;display:flex;align-items:center}
.detail-photo .media{height:100%;object-fit:cover;object-position:right 48%}
.detail-banner:after{background:linear-gradient(90deg,#171a18 0%,rgba(23,26,24,.94) 26%,rgba(23,26,24,.13) 58%,transparent 77%)}
.detail-copy{width:44%;max-width:650px;padding:2.2vw 0}.detail-copy .section-title{font-size:clamp(35px,3.7vw,56px);letter-spacing:-.045em;margin-bottom:24px}
.detail-copy>p:not(.eyebrow){font-size:clamp(16px,1.55vw,23px);line-height:1.3;margin-bottom:24px}
.product-information-section{padding-block:2.5vw}.information{display:block}.information .section-title{font-size:clamp(32px,3.3vw,50px);margin:0 0 18px}
.accordion summary{padding:10px 10px;font-size:clamp(14px,1.1vw,17px);font-weight:400;min-height:38px;line-height:1.2}
.accordion{border-color:#d9ddda}.accordion details{border-color:#d9ddda}.expand{width:14px;height:14px}
.answer{padding:20px 12px 28px;font-size:16px;max-width:1080px;line-height:1.7}.answer h4{margin:21px 0 12px;font-size:22px}.answer h4:first-child{margin-top:0}.answer p{margin-bottom:16px}
.cta{padding-block:25px}.cta-inner{gap:35px}.cta h2{font-size:clamp(33px,3.35vw,51px);max-width:470px;line-height:1.02}
.cta-actions{gap:4vw;flex:1;justify-content:flex-end;flex-direction:row;align-items:center}.cta-actions .button{min-width:260px;justify-content:center}
.cta-actions .button span{display:none}.cta-actions .text-link{font-size:14px;padding-left:4vw;border-left:1px solid #777b76;text-decoration:underline;white-space:nowrap}
.cta-compact h2{font-size:clamp(29px,2.3vw,38px);max-width:900px}.cta-compact .cta-actions{flex:0 0 auto;padding-left:4vw;border-left:1px solid #777b76}
.site-footer{padding:15px 0;background:#f8f8f6;font-size:12px}.site-footer .brand img{width:105px}.footer-top{gap:22px;flex-wrap:nowrap;min-height:25px}.footer-tagline{font-size:12px;color:#50544e;white-space:nowrap}
.footer-top nav{gap:24px;font-size:11px;align-items:center}.footer-top nav a:nth-last-child(2){margin-left:35px}.footer-bottom{display:none}
.bike-details{padding-top:3vw;padding-bottom:3.4vw}.bike-details .section-title{margin-bottom:25px}
.gallery-grid.three .gallery-open .media{aspect-ratio:1.49}.bike-space{grid-template-columns:55.5% 44.5%;min-height:0;aspect-ratio:3.66}
.bike-space .split-copy{padding:3vw 3.5vw;margin:0;max-width:none}.bike-space .section-title{font-size:clamp(42px,4.1vw,62px);max-width:360px}
.bike-space .split-copy p{font-size:clamp(18px,1.55vw,24px);line-height:1.35}.bike-space>.media{height:100%;object-fit:cover}.mobile-thumbnails{display:none}
.page-intro{padding-top:4vw;padding-bottom:3vw}.page-intro h1{font-size:clamp(50px,5.5vw,84px);max-width:1100px}.page-intro .lead{font-size:clamp(18px,1.6vw,24px)}
.page-contact .page-intro{padding-top:4vw;padding-bottom:3vw}.page-contact .page-intro h1{font-size:clamp(52px,5.25vw,79px)}
.contact-layout{gap:9%;grid-template-columns:1.35fr .65fr}.contact-aside{padding-top:15px}.contact-aside h2{font-size:37px}
.contact-direct{margin-top:20px}.page-contact .form-grid{gap:24px}.page-contact .field{margin-bottom:23px}
@media(min-width:1720px){.hero-copy{padding-left:60px;padding-right:60px}.home-hero{aspect-ratio:2.4;min-height:0}.scene-hero{height:656px}.section{padding-block:58px}}
@media(max-width:1100px) and (min-width:761px){.nav-shell{gap:35px}.main-nav{gap:22px}.nav-cta{padding:9px 12px}.main-nav>a{font-size:11px}.brand img{width:132px}.brand-slogan{font-size:8px}.hero-copy h1{font-size:7.3vw}.hero-copy>p:not(.eyebrow){font-size:16px}.hero-copy .eyebrow{font-size:9px}.hero-copy .button{font-size:12px;padding:11px 16px;min-height:40px}.scene-hero{min-height:380px}.scene-copy h1{font-size:7.2vw}.detail-copy .section-title{font-size:3.8vw}.detail-copy>p:not(.eyebrow){font-size:16px}.detail-copy .button{min-height:36px;padding:8px 16px;font-size:12px}.cta h2{font-size:35px;max-width:320px}.cta-actions .button{min-width:210px;font-size:12px;padding:10px 15px}.cta-actions{gap:25px}.cta-actions .text-link{padding-left:25px;font-size:12px}.footer-top{gap:16px}.footer-top nav{gap:18px}.footer-top nav a:nth-last-child(2){margin-left:8px}.site-footer .brand img{width:95px}.footer-tagline{font-size:10px}}
@media(max-width:760px){
 :root{--gutter:6.7vw;--header:60px}html{scroll-padding-top:150px}body{font-size:15px}.container{padding-inline:var(--gutter)}.section{padding-block:32px}
 .site-header{height:60px}.nav-shell{padding-inline:20px;gap:20px}.brand img{width:123px}.brand-slogan{font-size:8px;letter-spacing:.11em;margin-top:3px}.menu-toggle{width:40px;height:40px}
 .main-nav{padding:14px var(--gutter) 28px;gap:0}.main-nav>a:not(.button){font-size:21px}.main-nav .nav-cta{font-size:14px!important;min-height:44px;margin-top:14px;margin-left:0;padding:12px 16px}
 .main-nav.is-open{gap:0}.button{min-height:43px;padding:11px 19px;font-size:13px;gap:18px}.button span{font-size:20px}.text-link{font-size:14px;line-height:1.45;gap:10px}
 .section-title{font-size:clamp(31px,8.5vw,48px);line-height:1.04;margin-bottom:20px;letter-spacing:-.05em}
 .home-hero{aspect-ratio:auto;display:flex;min-height:0}.hero-copy{padding:35px var(--gutter) 27px;display:flex}
 .hero-copy h1{font-size:clamp(62px,17.5vw,94px);line-height:.94;margin-bottom:17px}.hero-copy .eyebrow{font-size:9px;margin-bottom:20px;letter-spacing:.2em}
 .hero-copy>p:not(.eyebrow){font-size:17px;line-height:1.3;margin-bottom:23px}.hero-image .media{aspect-ratio:1.17;object-fit:cover;object-position:center;min-height:0}
 .collection-section{padding-top:27px;padding-bottom:30px}.collection-section .section-title{margin-bottom:24px}.product-cards{gap:27px!important}
 .product-cards .media{aspect-ratio:1.55}.card-copy{padding-top:13px}.card-copy h3{font-size:23px}.card-copy p{font-size:15px;margin:5px 0 11px;line-height:1.3}
 .training-section{padding-block:30px}.training-section .section-title{margin-bottom:20px}.principles article,.principles article:first-child,.principles article:last-child{padding:13px 0;border-left:0;border-top:1px solid #dedfdb}
 .principles article:first-child{padding-top:0;border-top:0}.principles article:last-child{padding-bottom:0}.principles h3{font-size:19px;margin-bottom:5px;letter-spacing:-.02em}.principles p{font-size:15px;line-height:1.3}
 .home-space{display:flex;flex-direction:column;min-height:0;padding:29px var(--gutter) 31px}.space-heading{padding:0}.space-heading .section-title{font-size:34px;margin-bottom:20px}
 .space-image{order:1}.space-image .media{height:auto;aspect-ratio:1.63}.space-description{order:2;padding:15px 0 0}.space-description p{font-size:16px;line-height:1.3;margin-bottom:13px}
 .product-nav{height:58px;top:60px}.product-nav>.container{padding-inline:var(--gutter);gap:10px}.product-name{font-size:11px}.product-nav nav{gap:17px}.product-nav nav a{font-size:10px}
 .page-treadmill .product-nav{height:79px;background:#fafaf8;color:#151816}.page-treadmill .product-nav>.container{display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:0;padding-inline:var(--gutter)}
 .page-treadmill .product-name{display:flex;align-items:center;height:34px;font-size:12px}.page-treadmill .product-name strong{margin-right:4px}
 .page-treadmill .product-nav nav{height:45px;gap:0;justify-content:space-between}.page-treadmill .product-nav nav a{font-size:11px;justify-content:center;padding-inline:9px;position:relative}
 .page-treadmill .product-nav nav a+a:before{content:'';width:1px;height:14px;background:#d2d4cf;position:absolute;left:-18px}
 .scene-hero{display:block;position:relative;isolation:isolate;aspect-ratio:auto;min-height:0;height:116.7vw;max-height:740px;overflow:hidden}
 .scene-image{position:absolute;top:25%;bottom:0;left:-18%;right:-18%;z-index:-2;height:75%;width:auto}
 .scene-image .media{width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:center center;transform:none}
 .scene-hero:after{display:block;position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#131615 0%,#131615 15%,rgba(19,22,21,.98) 22%,rgba(19,22,21,.4) 38%,transparent 58%)}
 .scene-copy{padding-top:23px;padding-bottom:22px;height:100%;display:flex;align-items:flex-start;justify-content:flex-start;position:relative}
 .scene-copy .eyebrow{font-size:9px;margin-bottom:9px;letter-spacing:.24em}.scene-copy h1{font-size:clamp(43px,12.4vw,77px);line-height:.97;margin:0;letter-spacing:-.048em;max-width:100%}
 .scene-copy .button{margin-top:auto;background:#fff;font-size:12px;min-height:41px;padding:10px 18px;gap:20px}
 .perspective-section{padding-top:27px;padding-bottom:24px}.perspective-section .section-title{font-size:34px;max-width:310px;margin-bottom:23px}
 .grid.two,.grid.three{gap:25px}.gallery-grid .card-copy{padding-top:11px}.gallery-grid .card-copy h3{font-size:20px;line-height:1.13;letter-spacing:-.035em}
 .gallery-grid .card-copy p{font-size:14px;line-height:1.3;margin:5px 0 8px}.gallery-open .media{aspect-ratio:1.62}.gallery-grid .card-copy .text-link{font-size:14px}
 .page-treadmill .training-section{padding-top:27px;padding-bottom:28px}.page-treadmill .training-section .section-title{font-size:33px;margin-bottom:20px}
 .page-treadmill .principles article,.page-treadmill .principles article:first-child,.page-treadmill .principles article:last-child{padding:12px 0}.page-treadmill .principles article:first-child{padding-top:0}.page-treadmill .principles article:last-child{padding-bottom:0}
 .page-treadmill .principles p br{display:none}.page-treadmill .principles h3{font-size:18px;margin-bottom:5px}.page-treadmill .principles p{font-size:14px;line-height:1.35}
 .detail-banner{aspect-ratio:auto;min-height:0;display:block}.detail-copy{width:100%;padding:28px 0;max-width:none}.detail-copy .section-title{font-size:31px;margin-bottom:16px;max-width:320px}
 .detail-copy>p:not(.eyebrow){font-size:14px;line-height:1.3;max-width:225px;margin-bottom:17px}.detail-copy .button{font-size:12px;min-height:36px;padding:9px 16px;gap:20px}
 .detail-photo .media{height:100%;object-fit:cover;object-position:65% center}.detail-banner:after{background:linear-gradient(90deg,rgba(19,22,20,.95),rgba(19,22,20,.78) 48%,rgba(19,22,20,.15) 82%)}
 .product-information-section{padding-top:25px;padding-bottom:28px}.information{display:block}.information .section-title{font-size:30px;margin-bottom:16px}
 .accordion summary{font-size:14px;padding:13px 0;min-height:44px;line-height:1.2;gap:18px}.answer{font-size:15px;padding:13px 0 20px;line-height:1.6}.answer h4{font-size:20px;margin:18px 0 11px}.answer p{margin-bottom:15px}
 .cta{padding-block:25px}.cta-inner{display:block}.cta h2{font-size:clamp(29px,7.8vw,43px);line-height:1.02;max-width:100%}
 .cta-actions{margin-top:18px;display:block}.cta-actions .button{min-width:0;width:100%;font-size:12px;min-height:43px;padding:12px 14px;justify-content:center}.cta-actions .text-link{display:none}
 .cta-compact{padding-block:25px}.cta-compact h2{display:none}.cta-compact .cta-actions{margin:0;padding:0;border:0}
 .site-footer{padding:18px 0 21px}.footer-top{flex-wrap:wrap;gap:12px 20px}.site-footer .brand img{width:93px}.footer-tagline{font-size:10px}
 .footer-top nav{display:grid;grid-template-columns:auto auto 1fr;justify-content:start;gap:10px 22px;margin:1px 0 0;font-size:10px;line-height:1.45;width:100%}
 .footer-top nav a:nth-last-child(2){margin-left:0}.footer-bottom{display:none}.footer-top nav a:nth-last-child(2):before{content:'';display:block}
 .product-split{aspect-ratio:auto}.product-split .hero-copy{padding:28px var(--gutter) 23px}.product-split .hero-copy h1{font-size:clamp(51px,13.5vw,76px);margin-bottom:17px}.product-split .hero-copy .eyebrow{display:none}
 .product-split .hero-copy>p:not(.eyebrow){font-size:16px;margin-bottom:21px}.product-split .hero-image .media{aspect-ratio:1.17}
 .mobile-thumbnails{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;padding:14px 14px 0}.mobile-thumbnails button{padding:0;border:0;background:#e9e7df}.mobile-thumbnails .media{width:100%;aspect-ratio:1.33;object-fit:cover}
 .bike-details{padding-top:27px;padding-bottom:27px}.bike-details .section-title{font-size:34px;margin-bottom:22px}.gallery-grid.three .gallery-open .media{aspect-ratio:1.68}.bike-details .grid.three{gap:24px}
 .page-bike .training-section .section-title{font-size:26px;white-space:normal;letter-spacing:-.045em}.bike-space{display:none}
 .page-intro{padding-top:38px;padding-bottom:27px}.page-intro h1{font-size:clamp(39px,10.4vw,58px);line-height:1.03}.page-intro .lead{font-size:16px;line-height:1.45}
 .page-contact .page-intro{padding-top:36px;padding-bottom:24px}.page-contact .page-intro h1{font-size:43px}.contact-layout{display:flex;flex-direction:column;gap:30px}.contact-aside h2{font-size:30px}.contact-aside .steps h3{font-size:18px}
 .page-contact .form-grid{gap:0}.page-contact .field{margin-bottom:20px}.field label{font-size:13px}.form-note{font-size:11px;margin-bottom:23px}.contact-aside{padding-top:26px}
}
@media(max-width:360px){.scene-copy h1{font-size:11.9vw}.scene-copy .button{font-size:11px;padding-inline:13px}.perspective-section .section-title{font-size:30px}.page-treadmill .training-section .section-title{font-size:29px}.detail-copy .section-title{font-size:29px}.information .section-title{font-size:27px}.cta h2{font-size:28px}.product-name{font-size:10px}.product-nav nav{gap:12px}.footer-top{gap:10px 15px}}
