/* RUNPO distance coaching — October 2026 */
body.distance-studio{background:#f3f2ed;--coach-paper:#f3f2ed}
.distance-studio .coach-hero{margin:10px 12px 0;border-radius:26px 26px 56px 26px;min-height:720px}
.distance-studio .coach-hero-inner{padding:140px 0 32px}
.distance-studio .coach-hero-media{filter:saturate(.7) contrast(1.03);opacity:.85}
.distance-studio .coach-hero::after{display:none}
.distance-studio .coach-hero h1{font-size:clamp(64px,7.4vw,112px);line-height:.96;letter-spacing:-.035em}
.distance-studio .coach-hero-side{border:1px solid #ffffff38;border-radius:26px;background:#131711b8;backdrop-filter:blur(18px);padding:26px}
.distance-studio .coach-hero-side p{font-size:18px;line-height:1.65;color:#f0f1ec}
.distance-studio .rpo-btn{border-radius:999px;min-height:48px}
.distance-studio .coach-metrics{border-radius:22px;overflow:hidden;background:#ffffff0a;margin-top:36px}
.distance-studio .coach-metric{padding:20px}
.distance-studio .coach-metric span{font-size:10px;letter-spacing:.07em;line-height:1.6}
.distance-studio .coach-breadcrumb{font-size:10px;line-height:1.7}
.distance-studio .coach-section{padding:80px 0}
.distance-studio .coach-section-white{background:transparent}
.distance-studio .coach-section-dark{margin:18px 12px;border-radius:32px;background:#191c18}
.distance-studio .coach-section-title{font-size:clamp(44px,5.2vw,76px);line-height:1.02;letter-spacing:-.025em}
.distance-studio .coach-section-head{margin-bottom:36px;gap:32px}
.distance-studio .coach-section-head>p{font-size:18px;line-height:1.75}
.distance-studio .coach-section-dark .coach-section-head>p{color:#c7ccc0}
.distance-studio :is(.coach-fit-grid,.speed-duel,.speed-session-grid,.speed-race-grid,.marathon-longrun-grid,.marathon-stage-grid,.half-signal-grid,.speed-stack,.speed-principles){gap:16px;background:transparent;border:0;padding:0}
.distance-studio :is(.coach-fit-card,.speed-distance,.speed-session,.speed-race-panel,.marathon-longrun-card,.marathon-stage,.half-signal,.speed-stack-card,.speed-principle){border:1px solid #b7beac55;border-radius:26px;overflow:hidden}
.distance-studio :is(.coach-fit-card,.marathon-longrun-card,.speed-stack-card,.speed-principle):nth-child(even){border-radius:26px 26px 46px 26px}
.distance-studio .speed-stack-card{min-height:290px}
.distance-studio .speed-stack-card p,.distance-studio .marathon-longrun-card p{font-size:16px;line-height:1.75}
.distance-studio .half-signal{padding:24px;min-height:240px;display:flex;flex-direction:column;gap:22px;background:#ffffff07}
.distance-studio .half-signal p{margin:0;font-size:16px;line-height:1.7;color:#c7ccc0}
.distance-studio .coach-card-no{font-size:11px;line-height:1.6;letter-spacing:.06em}
.distance-studio :is(.half-equation-card,.half-week-focus,.half-week-days,.half-pace-plan,.marathon-strategy-main,.marathon-control-list,.speed-week){border-radius:26px;overflow:hidden}
.distance-studio .half-equation-card{padding:32px}
.distance-studio .half-equation-card:last-child{border-radius:26px 26px 48px 26px}
.distance-studio .half-week{gap:16px;background:transparent}
.distance-studio .half-week-days{border:1px solid #d9ddd2}
.distance-studio .speed-week{gap:10px;background:transparent;padding:0}
.distance-studio .speed-day{border:1px solid #d9ddd2;border-radius:18px;min-height:200px}
.distance-studio .coach-fit-card{padding:30px}
.distance-studio .coach-fit-list{font-size:16px;line-height:1.75}
.distance-studio .coach-faq{border:0;display:grid;gap:12px}
.distance-studio .coach-faq details{border:1px solid #d9ddd2;border-radius:20px;background:#fff;padding:0 24px}
.distance-studio .coach-faq details:last-child{border-bottom:1px solid #d9ddd2}
.distance-studio .coach-faq summary{font-size:20px;line-height:1.45;padding:22px 38px 22px 0}
.distance-studio .coach-faq p{font-size:17px;line-height:1.8;max-width:780px}
.distance-studio .coach-final-cta{margin:0 12px 18px;border-radius:32px 12px 48px 32px;padding:76px 0}
.distance-studio .coach-final-cta h2{font-size:clamp(48px,6vw,88px);line-height:1.02}
.distance-studio :where(a,button,summary,[tabindex]):focus-visible{outline:3px solid #8b9d67;outline-offset:5px}
.distance-scroll-hint{display:none}
@media(max-width:1040px){
 .distance-studio .coach-hero{min-height:0}
 .distance-studio .coach-hero-grid{grid-template-columns:1fr;gap:28px}
 .distance-studio .coach-hero-side{max-width:640px}
}
@media(max-width:700px){
 .distance-studio .coach-hero{margin:6px 6px 0;border-radius:20px 20px 34px 20px}
 .distance-studio .coach-hero-inner{padding:115px 0 24px}
 .distance-studio .coach-hero h1{font-size:clamp(52px,15vw,86px);line-height:1}
 .distance-studio .coach-hero-side{padding:22px}
 .distance-studio .coach-hero-side p{font-size:17px}
 .distance-studio .coach-metrics{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:24px}
 .distance-studio .coach-metric{padding:16px;min-width:0}
 .distance-studio .coach-section{padding:48px 0}
 .distance-studio .coach-section-dark,.distance-studio .coach-final-cta{margin-left:6px;margin-right:6px;border-radius:26px}
 .distance-studio .coach-section-head{grid-template-columns:1fr;gap:20px}
 .distance-studio .coach-section-title{font-size:clamp(40px,11vw,62px)}
 .distance-studio :is(.speed-stack,.half-signal-grid,.marathon-stage-grid){grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:86%;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;scrollbar-width:thin;padding:4px 4px 16px}
 .distance-studio :is(.speed-stack-card,.half-signal,.marathon-stage){scroll-snap-align:start;min-height:280px}
 .distance-studio .distance-scroll-hint{display:block;margin:-14px 0 20px;color:#666f5d;font-size:14px;line-height:1.6}
 .distance-studio .coach-section-dark .distance-scroll-hint{color:#c7ccc0}
 .distance-studio .coach-faq details{padding:0 18px}
 .distance-studio .coach-faq summary{font-size:18px}
 .distance-studio .coach-faq p{font-size:16px}
 .distance-studio .coach-final-cta{padding:48px 0}
}
@media(prefers-reduced-motion:reduce){.distance-studio :is(.speed-stack,.half-signal-grid,.marathon-stage-grid){scroll-snap-type:none;scroll-behavior:auto}}
