html{scroll-padding-top:104px}
.r-hero{padding-block:48px;gap:48px}
.r-hero h1{font-size:clamp(2.8rem,4.8vw,4.7rem);line-height:1.08;max-width:760px}
.r-lead{font-size:1.125rem;line-height:1.7;max-width:56ch}
.r-section{padding-block:68px}
.r-section+.r-section{padding-top:30px}
.r-section-heading{margin-bottom:28px}
.r-section h2{font-size:clamp(2.2rem,3.8vw,3.4rem);line-height:1.14}
.r-prose,.r-faq{max-width:65ch}
.r-card p,.r-prose p{font-size:1.025rem;line-height:1.7}
.r-card h3{line-height:1.22}
.r-closing{margin-block:35px 60px}
.flow-quick-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}
.flow-quick-links a{display:inline-flex;align-items:center;min-height:44px;padding:10px 14px;border:1px solid #bfc4cb;border-radius:9px;background:#ffffff9c;font-size:.875rem;line-height:1.4;text-decoration:none}
.flow-quick-links a:hover{border-color:#b9430c;background:#fff}
.flow-topics{padding:16px 0}
.flow-topics>.container{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.flow-topics a{display:flex;align-items:center;justify-content:center;min-height:50px;padding:12px;border:1px solid #bfc4cb;background:#ffffffb3;border-radius:10px;font-size:.9375rem;text-align:center}
.flow-topics a:hover{background:#142b40;color:#fff}
.r-hero .flow-topics>.container{width:100%;grid-template-columns:repeat(2,minmax(0,1fr))}
.r-hero .flow-topics{margin-top:20px;padding:0}
#gyms,#coaches,#roles,#join-hyrox{scroll-margin-top:108px}
.hyrox-join{padding-block:60px;margin-block:30px}
.hyrox-join h2{font-size:clamp(2.5rem,4.5vw,4rem);line-height:1.08}
.hyrox-join-card h3{font-size:clamp(1.75rem,2.5vw,2.3rem)}
.hyrox-join-card .button.primary+.hyrox-join-link{padding-bottom:0}
.hyrox-join-card .hyrox-join-link{margin-top:0}
.hyrox-join-card .hyrox-join-link+.hyrox-join-link{font-size:.875rem;padding-top:4px}
.flow-affiliation-guide{margin-top:28px;border-block:1px solid #ffffff40;padding-block:18px}
.flow-affiliation-guide summary{cursor:pointer;font-size:1.05rem;min-height:44px;line-height:1.5}
.flow-guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:24px}
.flow-guide-grid h3{color:#fff;font-size:1.5rem;line-height:1.2;margin-bottom:16px}
.flow-guide-grid p{font-size:1rem;margin-bottom:20px}
.flow-guide-grid .button{color:#fff;border-color:#a9c7db;margin-bottom:10px}
.flow-guide-grid .r-text-link{display:block;color:#e7f5b2;border-color:#a9c7db}
.x-race-image img{width:100%;height:clamp(240px,34vw,440px);aspect-ratio:auto;object-fit:cover;object-position:50% 38%}
.x-race-image figcaption{font-size:.8125rem;color:#565b63;line-height:1.6;margin-top:12px}
.x-race-image figcaption a{text-decoration:underline;text-underline-offset:4px}
.x-feature{min-height:520px}
.x-feature .container{padding-block:66px}
.x-feature h2{font-size:clamp(2.7rem,5vw,5rem);line-height:1.06}
.x-intro{padding:65px 0 25px}
.x-intro h2{font-size:clamp(2.6rem,5vw,4.8rem);line-height:1.08}
.x-tour-note summary{cursor:pointer;min-height:44px;color:#d9e6ee;line-height:1.6}
.x-tour-note p{color:#b4c5d0;font-size:.875rem;line-height:1.7;margin-top:14px;max-width:90ch}
.x-step h3{font-size:clamp(2.2rem,4vw,3.7rem);line-height:1.1}
@media(min-width:1000px) and (min-height:700px){
 .tour-animated .x-step{height:85svh;min-height:660px}
 .tour-animated .x-plan img{filter:none}
 .tour-animated .x-room{will-change:transform,opacity}
 .tour-animated .x-plan{will-change:transform,opacity}
}
@media(max-width:999px) and (min-height:650px){
 .tour-compact .x-scene{position:sticky;top:82px;height:clamp(270px,40svh,360px);padding:0;background:#09151d;z-index:5;--room-opacity:0;--plan-opacity:1;--room-scale:1.02}
 .tour-compact .x-tools{position:relative;display:flex;flex-direction:row;align-items:center;padding:10px 16px;margin:0;background:#09151d;min-height:64px}
 .tour-compact .x-layouts{flex-wrap:nowrap;justify-content:space-between;width:100%;gap:6px}
 .tour-compact .x-layouts>span{display:none}
 .tour-compact .x-layouts button{padding:10px 12px;flex:1;font-size:.8125rem;white-space:nowrap}
 .tour-compact .x-view{position:absolute;inset:64px 0 40px;margin:0}
 .tour-compact .x-view img{width:100%;height:100%;object-fit:cover}
 .tour-compact .x-plan{opacity:var(--plan-opacity)}
 .tour-compact .x-plan img{object-fit:contain}
 .tour-compact .x-room{opacity:var(--room-opacity);transform:scale(var(--room-scale));transform-origin:65% 50%}
 .tour-compact .x-stamp{position:absolute;bottom:0;left:0;right:0;z-index:4;flex-direction:row;gap:8px;margin:0;background:#09151d;padding:10px 16px;font-size:.75rem;line-height:1.4}
 .tour-compact .x-stamp>span:last-child{display:none}
 .tour-compact .x-tour-steps{padding:0 24px 24px;position:relative}
 .tour-compact .x-step{min-height:52svh;padding:34px 0;display:flex;align-items:center;border-top:1px solid #ffffff26}
 .tour-compact .x-step-copy{max-width:550px}
 .tour-compact .x-step p:not(.eyebrow){font-size:1rem;line-height:1.75}
 .tour-compact .x-tour-progress{display:block;position:absolute;bottom:0;left:0;right:0;height:2px;z-index:6;background:#ffffff25}
 .tour-compact .x-tour-progress span{display:block;height:100%;background:#d6e889;transform:scaleX(0);transform-origin:left}
}
@media(max-width:800px){
 .r-hero{padding-block:30px;gap:26px}
 .r-hero h1{font-size:clamp(2.35rem,9.3vw,3.7rem);line-height:1.1;letter-spacing:-.04em}
 .r-hero-photo{height:clamp(240px,70vw,380px)}
 .r-lead{font-size:1.0625rem}
 .r-section{padding-block:46px}
 .r-section+.r-section{padding-top:20px}
 .r-section h2,.r-closing h2{font-size:clamp(2rem,7.5vw,2.6rem)}
 .r-split{gap:22px}
 .r-experience{gap:10px;padding-block:18px}
 .r-experience>span{display:none}
 .flow-quick-links{display:grid;grid-template-columns:1fr 1fr}
 .flow-quick-links a{font-size:.8125rem;padding:10px;justify-content:center;text-align:center}
 .flow-topics>.container{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .hyrox-join{padding-block:42px}
 .hyrox-join-intro{gap:15px;margin-bottom:24px}
 .hyrox-join-card{padding:25px 22px}
 .flow-guide-grid{grid-template-columns:1fr}
 .x-race{gap:25px}
 .x-race>div{grid-row:1}
 .x-race-image img{height:clamp(210px,59vw,320px);object-position:50% 30%}
 .x-feature{min-height:400px}
 .x-feature .container{padding-block:45px}
 .x-feature h2{font-size:clamp(2.35rem,9vw,3.5rem)}
 .x-feature .x-feature-note{margin-top:18px}
 .x-intro{padding-top:45px}
 .x-intro h2{font-size:clamp(2.35rem,9vw,3.4rem)}
 .x-intro p:not(.eyebrow){font-size:1rem}
 .x-equation{gap:12px;margin-block:20px}
 .r-closing{padding:26px;margin-block:25px 45px}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
}
