/* RUNPO Coaching Experience 2026 */

:root{
  --coach-yellow:#ffd000;
  --coach-yellow-soft:#ffe36a;
  --coach-ink:#0b0c0d;
  --coach-ink-2:#17191b;
  --coach-paper:#f3f1eb;
  --coach-white:#fff;
  --coach-muted:#666862;
  --coach-line:rgba(11,12,13,.14);
  --coach-line-dark:rgba(255,255,255,.15);
  --coach-head:"Barlow Condensed",Arial,sans-serif;
  --coach-body:"Barlow",Arial,sans-serif;
  --coach-mono:"DM Mono",monospace;
  --coach-shadow:0 24px 70px rgba(13,14,12,.1);
}

html{
  scroll-padding-top:92px;
}

body.coaching-page{
  overflow-x:hidden;
  background:var(--coach-paper);
  color:var(--coach-ink);
}

.coaching-page::selection{
  background:var(--coach-yellow);
  color:var(--coach-ink);
}

.coaching-page :where(a,button,summary):focus-visible{
  outline:3px solid var(--coach-yellow);
  outline-offset:4px;
}

.coach-hero{
  position:relative;
  min-height:760px;
  display:flex;
  align-items:flex-end;
  overflow:hidden;
  isolation:isolate;
  background:var(--coach-ink);
  color:#fff;
}

.coach-hero-media{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 42%;
  filter:grayscale(100%) contrast(1.04);
  opacity:.72;
}

.coach-hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(90deg,rgba(4,5,6,.96) 0%,rgba(4,5,6,.82) 43%,rgba(4,5,6,.25) 76%),
    linear-gradient(0deg,rgba(4,5,6,.93),transparent 64%);
}

.coach-hero::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:
    linear-gradient(109deg,transparent 0 72%,rgba(255,208,0,.78) 72.08% 72.24%,transparent 72.35%),
    linear-gradient(90deg,transparent 0 88%,rgba(255,255,255,.13) 88.08% 88.2%,transparent 88.32%);
}

.coach-hero-inner{
  position:relative;
  z-index:2;
  width:100%;
  padding:146px 0 46px;
}

.coach-breadcrumb{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
  margin-bottom:34px;
  color:rgba(255,255,255,.5);
  font:500 9px var(--coach-mono);
  letter-spacing:.13em;
  text-transform:uppercase;
}

.coach-breadcrumb a{
  color:#fff;
}

.coach-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(310px,.48fr);
  gap:clamp(36px,7vw,106px);
  align-items:end;
}

.coach-hero h1{
  max-width:920px;
  margin:20px 0 0;
  color:#fff;
  font:900 clamp(72px,8.7vw,132px)/.84 var(--coach-head);
  letter-spacing:-.05em;
  text-transform:uppercase;
  text-wrap:balance;
}

.coach-hero h1 em{
  color:var(--coach-yellow);
  font-style:normal;
}

.coach-hero-side{
  padding:24px;
  border:1px solid rgba(255,255,255,.2);
  border-left:3px solid var(--coach-yellow);
  background:rgba(7,8,9,.55);
  backdrop-filter:blur(15px);
}

.coach-hero-side p{
  margin:0 0 22px;
  color:rgba(255,255,255,.76);
  font-size:18px;
  line-height:1.58;
}

.coach-hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
}

.coach-hero-actions .rpo-btn{
  min-height:50px;
  padding:0 18px;
}

.coach-hero-actions .rpo-btn-dark{
  border-color:rgba(255,255,255,.24);
  background:rgba(255,255,255,.04);
}

.coach-metrics{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  overflow:hidden;
  margin-top:44px;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(7,8,9,.54);
  backdrop-filter:blur(14px);
}

.coach-metric{
  min-height:90px;
  padding:17px 20px;
  border-right:1px solid rgba(255,255,255,.14);
}

.coach-metric:last-child{
  border-right:0;
}

.coach-metric strong{
  display:block;
  color:var(--coach-yellow);
  font:850 34px/.92 var(--coach-head);
  text-transform:uppercase;
}

.coach-metric span{
  display:block;
  margin-top:9px;
  color:rgba(255,255,255,.48);
  font:500 8px var(--coach-mono);
  letter-spacing:.12em;
  text-transform:uppercase;
}

.coach-section{
  padding:clamp(82px,9vw,130px) 0;
}

.coach-section-white{
  background:#fff;
}

.coach-section-dark{
  overflow:hidden;
  background:linear-gradient(135deg,#0b0c0d,#181a1c);
  color:#fff;
}

.coach-section-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(290px,.48fr);
  gap:clamp(35px,8vw,120px);
  align-items:end;
  margin-bottom:52px;
}

.coach-section-title{
  max-width:840px;
  margin:18px 0 0;
  font:900 clamp(52px,6.2vw,94px)/.9 var(--coach-head);
  letter-spacing:-.035em;
  text-transform:uppercase;
  text-wrap:balance;
}

.coach-section-head > p{
  max-width:500px;
  margin:0;
  color:var(--coach-muted);
  font-size:18px;
  line-height:1.65;
}

.coach-section-dark .coach-section-head > p{
  color:rgba(255,255,255,.62);
}

.coach-problem-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1px;
  padding:1px;
  background:var(--coach-line);
}

.coach-problem{
  min-height:300px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:28px;
  background:var(--coach-paper);
  transition:background .2s ease,transform .2s ease;
}

.coach-problem:hover{
  z-index:1;
  transform:translateY(-4px);
  background:#fff;
  box-shadow:var(--coach-shadow);
}

.coach-card-no{
  color:var(--coach-muted);
  font:500 9px var(--coach-mono);
  letter-spacing:.14em;
  text-transform:uppercase;
}

.coach-problem h3,
.coach-process-step h3,
.coach-fit-card h3{
  margin:0 0 15px;
  font:850 35px/.95 var(--coach-head);
  text-transform:uppercase;
}

.coach-problem p,
.coach-process-step p,
.coach-fit-card p{
  margin:0;
  color:var(--coach-muted);
  line-height:1.62;
}

.coach-process{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  border-top:1px solid var(--coach-line-dark);
  border-bottom:1px solid var(--coach-line-dark);
}

.coach-process-step{
  min-height:360px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:28px 24px;
  border-right:1px solid var(--coach-line-dark);
  transition:background .2s ease;
}

.coach-process-step:last-child{
  border-right:0;
}

.coach-process-step:hover{
  background:rgba(255,255,255,.055);
}

.coach-process-step .coach-card-no{
  color:var(--coach-yellow);
}

.coach-process-step p{
  color:rgba(255,255,255,.58);
}

.coach-week{
  display:grid;
  grid-template-columns:minmax(270px,.55fr) minmax(0,1fr);
  gap:clamp(38px,9vw,130px);
  align-items:start;
}

.coach-week-aside{
  position:sticky;
  top:112px;
}

.coach-week-aside p{
  max-width:430px;
  margin:26px 0 0;
  color:var(--coach-muted);
  font-size:17px;
  line-height:1.65;
}

.coach-week-list{
  border-top:1px solid var(--coach-line);
}

.coach-week-row{
  display:grid;
  grid-template-columns:66px minmax(135px,.42fr) minmax(0,1fr);
  gap:24px;
  align-items:center;
  min-height:92px;
  padding:18px 0;
  border-bottom:1px solid var(--coach-line);
  transition:padding .2s ease,background .2s ease;
}

.coach-week-row:hover{
  padding-right:16px;
  padding-left:16px;
  background:#fff;
}

.coach-week-row > span{
  color:var(--coach-muted);
  font:500 9px var(--coach-mono);
  letter-spacing:.12em;
}

.coach-week-row strong{
  font:800 25px/1 var(--coach-head);
  text-transform:uppercase;
}

.coach-week-row p{
  margin:0;
  color:var(--coach-muted);
}

.coach-data-grid{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:16px;
}

.coach-data-panel{
  min-height:420px;
  padding:34px;
  border:1px solid var(--coach-line-dark);
  background:rgba(255,255,255,.035);
}

.coach-data-panel-accent{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  background:var(--coach-yellow);
  color:var(--coach-ink);
}

.coach-data-panel h3{
  max-width:680px;
  margin:26px 0;
  font:900 clamp(48px,5vw,74px)/.88 var(--coach-head);
  letter-spacing:-.035em;
  text-transform:uppercase;
}

.coach-data-panel p{
  max-width:620px;
  margin:0;
  color:rgba(255,255,255,.62);
  font-size:17px;
  line-height:1.65;
}

.coach-data-panel-accent p{
  color:rgba(11,12,13,.68);
}

.coach-signal-list{
  margin-top:35px;
  border-top:1px solid var(--coach-line-dark);
}

.coach-signal{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:18px 0;
  border-bottom:1px solid var(--coach-line-dark);
  font:600 9px var(--coach-mono);
  letter-spacing:.12em;
  text-transform:uppercase;
}

.coach-signal i{
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--coach-yellow);
  box-shadow:0 0 0 6px rgba(255,208,0,.1);
}

.coach-fit-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}

.coach-fit-card{
  min-height:420px;
  padding:34px;
  border:1px solid var(--coach-line);
  background:#fff;
}

.coach-fit-card.is-dark{
  background:var(--coach-ink);
  color:#fff;
}

.coach-fit-card h3{
  margin-top:28px;
  font-size:clamp(44px,5vw,68px);
}

.coach-fit-list{
  margin-top:34px;
  border-top:1px solid var(--coach-line);
}

.coach-fit-card.is-dark .coach-fit-list{
  border-color:var(--coach-line-dark);
}

.coach-fit-list li{
  position:relative;
  padding:17px 0 17px 28px;
  border-bottom:1px solid var(--coach-line);
  list-style:none;
  color:var(--coach-muted);
  line-height:1.5;
}

.coach-fit-card.is-dark .coach-fit-list li{
  border-color:var(--coach-line-dark);
  color:rgba(255,255,255,.62);
}

.coach-fit-list li::before{
  content:"+";
  position:absolute;
  left:0;
  color:var(--coach-yellow);
  font:800 17px var(--coach-mono);
}

.coach-fit-card.is-dark .coach-fit-list li::before{
  content:"–";
}

.coach-trust{
  display:grid;
  grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
  min-height:690px;
  background:var(--coach-ink);
  color:#fff;
}

.coach-trust-media{
  position:relative;
  min-height:690px;
  overflow:hidden;
}

.coach-trust-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:55% center;
  filter:grayscale(100%);
}

.coach-trust-media::after{
  content:"2:31";
  position:absolute;
  right:22px;
  bottom:8px;
  color:var(--coach-yellow);
  font:900 clamp(88px,10vw,160px)/.72 var(--coach-head);
  letter-spacing:-.06em;
  mix-blend-mode:multiply;
}

.coach-trust-content{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:clamp(55px,8vw,115px);
}

.coach-trust-content h2{
  max-width:760px;
  margin:22px 0 28px;
  font:900 clamp(58px,6.5vw,100px)/.88 var(--coach-head);
  letter-spacing:-.04em;
  text-transform:uppercase;
}

.coach-trust-content p{
  max-width:650px;
  margin:0 0 28px;
  color:rgba(255,255,255,.66);
  font-size:18px;
  line-height:1.68;
}

.coach-faq{
  max-width:980px;
  margin-left:auto;
}

.coach-faq details{
  border-top:1px solid var(--coach-line);
}

.coach-faq details:last-child{
  border-bottom:1px solid var(--coach-line);
}

.coach-faq summary{
  position:relative;
  padding:23px 55px 23px 0;
  cursor:pointer;
  list-style:none;
  font:800 29px/1.1 var(--coach-head);
  text-transform:uppercase;
}

.coach-faq summary::-webkit-details-marker{
  display:none;
}

.coach-faq summary::after{
  content:"+";
  position:absolute;
  top:19px;
  right:3px;
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  background:var(--coach-ink);
  color:var(--coach-yellow);
  font:500 21px var(--coach-mono);
}

.coach-faq details[open] summary::after{
  content:"–";
}

.coach-faq p{
  max-width:760px;
  margin:0;
  padding:0 55px 24px 0;
  color:var(--coach-muted);
  font-size:17px;
  line-height:1.7;
}

.coach-final-cta{
  padding:clamp(80px,9vw,130px) 0;
  background:var(--coach-yellow);
  color:var(--coach-ink);
}

.coach-final-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(300px,.48fr);
  gap:clamp(40px,8vw,120px);
  align-items:end;
}

.coach-final-cta h2{
  max-width:900px;
  margin:0;
  font:900 clamp(68px,8.4vw,128px)/.84 var(--coach-head);
  letter-spacing:-.05em;
  text-transform:uppercase;
}

.coach-final-side p{
  max-width:460px;
  margin:0 0 25px;
  font-size:19px;
  line-height:1.6;
}

.coaching-page .site-footer{
  background:#0b0c0d;
  color:#fff;
  padding:72px 0 24px;
}

.coaching-page .footer-grid{
  display:grid;
  grid-template-columns:1.5fr repeat(3,.6fr);
  gap:48px;
  padding-bottom:52px;
}

.coaching-page .footer-brand img{
  width:52px;
  margin-bottom:20px;
}

.coaching-page .footer-brand p{
  max-width:330px;
  color:rgba(255,255,255,.54);
  font-size:14px;
}

.coaching-page .footer-col{
  display:flex;
  flex-direction:column;
  gap:10px;
}

.coaching-page .footer-col strong{
  margin-bottom:7px;
  color:var(--coach-yellow);
  font:500 9px var(--coach-mono);
  letter-spacing:.15em;
  text-transform:uppercase;
}

.coaching-page .footer-col a{
  color:rgba(255,255,255,.65);
  font-size:14px;
}

.coaching-page .footer-col a:hover{
  color:#fff;
}

.coaching-page .footer-bottom{
  display:flex;
  justify-content:space-between;
  gap:20px;
  padding-top:21px;
  border-top:1px solid rgba(255,255,255,.13);
  color:rgba(255,255,255,.4);
  font:500 9px var(--coach-mono);
  letter-spacing:.12em;
  text-transform:uppercase;
}

@media(max-width:1000px){
  .coach-hero-grid,
  .coach-section-head,
  .coach-final-grid{
    grid-template-columns:1fr;
    gap:30px;
  }

  .coach-hero-side{
    max-width:620px;
  }

  .coach-problem-grid{
    grid-template-columns:1fr 1fr;
  }

  .coach-process{
    grid-template-columns:1fr 1fr;
  }

  .coach-process-step:nth-child(2){
    border-right:0;
  }

  .coach-process-step:nth-child(-n+2){
    border-bottom:1px solid var(--coach-line-dark);
  }

  .coach-data-grid{
    grid-template-columns:1fr;
  }

  .coaching-page .footer-grid{
    grid-template-columns:1.2fr repeat(3,.6fr);
  }
}

@media(max-width:780px){
  .coach-hero{
    min-height:820px;
  }

  .coach-hero-media{
    object-position:60% center;
  }

  .coach-hero::before{
    background:linear-gradient(0deg,rgba(4,5,6,.96) 0%,rgba(4,5,6,.77) 62%,rgba(4,5,6,.3) 100%);
  }

  .coach-hero-inner{
    padding:118px 0 34px;
  }

  .coach-hero h1{
    font-size:clamp(58px,16vw,82px);
  }

  .coach-metrics{
    grid-template-columns:1fr 1fr;
  }

  .coach-metric:nth-child(2){
    border-right:0;
  }

  .coach-metric:nth-child(-n+2){
    border-bottom:1px solid rgba(255,255,255,.14);
  }

  .coach-week{
    grid-template-columns:1fr;
  }

  .coach-week-aside{
    position:static;
  }

  .coach-fit-grid,
  .coach-trust{
    grid-template-columns:1fr;
  }

  .coach-trust-media{
    min-height:520px;
  }

  .coaching-page .footer-grid{
    grid-template-columns:1fr 1fr;
  }

  .coaching-page .footer-brand{
    grid-column:1/-1;
  }
}

@media(max-width:560px){
  html{
    scroll-padding-top:76px;
  }

  .coach-hero{
    min-height:790px;
  }

  .coach-hero-inner{
    padding-top:98px;
  }

  .coach-breadcrumb{
    margin-bottom:23px;
  }

  .coach-hero h1{
    margin-top:15px;
    font-size:clamp(52px,17vw,70px);
  }

  .coach-hero-side{
    padding:18px;
  }

  .coach-hero-side p{
    font-size:16px;
  }

  .coach-hero-actions{
    display:grid;
    grid-template-columns:1fr;
  }

  .coach-metric{
    min-height:78px;
    padding:14px;
  }

  .coach-metric strong{
    font-size:28px;
  }

  .coach-section-head{
    margin-bottom:34px;
  }

  .coach-section-title{
    font-size:47px;
  }

  .coach-problem-grid,
  .coach-process{
    grid-template-columns:1fr;
  }

  .coach-problem{
    min-height:245px;
    padding:23px;
  }

  .coach-process-step,
  .coach-process-step:nth-child(2){
    min-height:280px;
    border-right:0;
    border-bottom:1px solid var(--coach-line-dark);
  }

  .coach-process-step:last-child{
    border-bottom:0;
  }

  .coach-week-row{
    grid-template-columns:42px 1fr;
    gap:14px;
  }

  .coach-week-row p{
    grid-column:2;
  }

  .coach-data-panel,
  .coach-fit-card{
    min-height:0;
    padding:24px;
  }

  .coach-data-panel h3{
    font-size:48px;
  }

  .coach-trust-media{
    min-height:430px;
  }

  .coach-trust-content{
    padding:58px 20px;
  }

  .coach-trust-content h2{
    font-size:58px;
  }

  .coach-faq summary{
    font-size:24px;
  }

  .coach-final-cta h2{
    font-size:64px;
  }

  .coaching-page .footer-grid{
    grid-template-columns:1fr;
  }

  .coaching-page .footer-brand{
    grid-column:auto;
  }

  .coaching-page .footer-bottom{
    flex-direction:column;
  }
}

@media(prefers-reduced-motion:reduce){
  .coach-problem,
  .coach-process-step,
  .coach-week-row{
    transition:none;
  }
}

/* Marathon coaching page */
.marathon-page{
  --marathon-blue:#9ed5ff;
  --marathon-ink:#07121d;
}

.coach-hero-marathon .coach-hero-media{
  object-position:center 42%;
}

.coach-hero-marathon::after{
  content:"42.195 KM";
  position:absolute;
  right:-.04em;
  top:24%;
  z-index:0;
  font:900 clamp(70px,14vw,230px)/.78 "Barlow Condensed",sans-serif;
  letter-spacing:-.06em;
  color:rgba(255,255,255,.055);
  pointer-events:none;
}

.marathon-page .coach-hero h1 em{
  color:var(--marathon-blue);
}

.marathon-page .coach-metric:first-child{
  background:var(--marathon-blue);
  color:var(--marathon-ink);
}

.marathon-page .coach-problem-grid{
  grid-template-columns:repeat(4,1fr);
}

.marathon-stage-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  border:1px solid var(--coach-line-dark);
}

.marathon-stage{
  min-height:420px;
  padding:30px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  border-right:1px solid var(--coach-line-dark);
}

.marathon-stage:last-child{
  border-right:0;
}

.marathon-stage:nth-child(3){
  background:var(--marathon-blue);
  color:var(--marathon-ink);
}

.marathon-stage:nth-child(3) .coach-card-no{
  color:rgba(7,18,29,.62);
}

.marathon-stage h3{
  max-width:10ch;
  margin:0 0 18px;
  font:800 clamp(34px,3.2vw,54px)/.94 "Barlow Condensed",sans-serif;
  letter-spacing:-.035em;
}

.marathon-stage p{
  margin:0;
  color:inherit;
  opacity:.74;
}

.marathon-longrun-grid{
  display:grid;
  grid-template-columns:1fr 1.18fr 1fr;
  gap:16px;
}

.marathon-longrun-card{
  min-height:410px;
  padding:30px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  border:1px solid var(--coach-line);
  background:#fff;
}

.marathon-longrun-card.is-featured{
  background:var(--coach-ink);
  color:#fff;
  transform:translateY(-22px);
}

.marathon-longrun-card.is-featured p{
  color:rgba(255,255,255,.7);
}

.marathon-longrun-card h3{
  margin:0 0 16px;
  font:800 clamp(39px,4.2vw,64px)/.9 "Barlow Condensed",sans-serif;
  letter-spacing:-.04em;
}

.marathon-longrun-card p{
  margin:0;
  color:var(--coach-muted);
}

.marathon-strategy{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);
  border:1px solid var(--coach-line-dark);
}

.marathon-strategy-main{
  min-height:580px;
  padding:clamp(32px,5vw,72px);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  background:var(--marathon-blue);
  color:var(--marathon-ink);
}

.marathon-strategy-main h3{
  max-width:10ch;
  margin:0;
  font:900 clamp(64px,8vw,116px)/.79 "Barlow Condensed",sans-serif;
  letter-spacing:-.055em;
  text-transform:uppercase;
}

.marathon-strategy-main p{
  max-width:520px;
  margin:36px 0 0;
  font-size:18px;
}

.marathon-control-list{
  display:grid;
  align-content:stretch;
}

.marathon-control{
  min-height:145px;
  padding:24px 28px;
  display:grid;
  grid-template-columns:54px 1fr;
  gap:16px;
  align-items:start;
  border-bottom:1px solid var(--coach-line-dark);
}

.marathon-control:last-child{
  border-bottom:0;
}

.marathon-control span{
  font:500 12px/1 "DM Mono",monospace;
  color:rgba(255,255,255,.52);
}

.marathon-control strong{
  display:block;
  margin-bottom:8px;
  font:700 29px/1 "Barlow Condensed",sans-serif;
  text-transform:uppercase;
}

.marathon-control p{
  margin:0;
  color:rgba(255,255,255,.65);
  font-size:15px;
}

.marathon-proof{
  background:#eef1f2;
}

.marathon-proof-line{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  border-top:1px solid var(--coach-line);
  border-bottom:1px solid var(--coach-line);
}

.marathon-proof-point{
  position:relative;
  min-height:190px;
  padding:28px 18px;
  border-right:1px solid var(--coach-line);
}

.marathon-proof-point:last-child{
  border-right:0;
}

.marathon-proof-point::before{
  content:"";
  position:absolute;
  left:18px;
  bottom:28px;
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--coach-yellow);
  box-shadow:0 0 0 7px rgba(236,255,0,.2);
}

.marathon-proof-point time{
  display:block;
  margin-bottom:28px;
  font:500 11px/1 "DM Mono",monospace;
  color:var(--coach-muted);
}

.marathon-proof-point strong{
  display:block;
  font:900 clamp(38px,4vw,62px)/.85 "Barlow Condensed",sans-serif;
  letter-spacing:-.04em;
}

.marathon-proof-point span{
  display:block;
  margin-top:9px;
  color:var(--coach-muted);
  font-size:13px;
}

@media(max-width:1040px){
  .marathon-page .coach-problem-grid,
  .marathon-stage-grid{
    grid-template-columns:1fr 1fr;
  }

  .marathon-stage:nth-child(2){
    border-right:0;
  }

  .marathon-stage:nth-child(-n+2){
    border-bottom:1px solid var(--coach-line-dark);
  }

  .marathon-proof-line{
    grid-template-columns:repeat(3,1fr);
  }

  .marathon-proof-point:nth-child(3){
    border-right:0;
  }

  .marathon-proof-point:nth-child(-n+3){
    border-bottom:1px solid var(--coach-line);
  }
}

@media(max-width:780px){
  .coach-hero-marathon .coach-hero-media{
    object-position:52% center;
  }

  .marathon-longrun-grid,
  .marathon-strategy{
    grid-template-columns:1fr;
  }

  .marathon-longrun-card.is-featured{
    transform:none;
  }

  .marathon-strategy-main{
    min-height:470px;
  }
}

@media(max-width:560px){
  .marathon-page .coach-problem-grid,
  .marathon-stage-grid,
  .marathon-proof-line{
    grid-template-columns:1fr;
  }

  .marathon-stage,
  .marathon-stage:nth-child(2){
    min-height:290px;
    border-right:0;
    border-bottom:1px solid var(--coach-line-dark);
  }

  .marathon-stage:last-child{
    border-bottom:0;
  }

  .marathon-proof-point,
  .marathon-proof-point:nth-child(3){
    min-height:150px;
    border-right:0;
    border-bottom:1px solid var(--coach-line);
  }

  .marathon-proof-point:last-child{
    border-bottom:0;
  }

  .marathon-strategy-main h3{
    font-size:68px;
  }

  .marathon-longrun-card{
    min-height:330px;
  }

  .marathon-control{
    grid-template-columns:42px 1fr;
    padding:22px 18px;
  }
}

/* Half marathon coaching page */
.half-page{
  --half-coral:#ff705d;
  --half-cream:#fff5e8;
  --half-ink:#17100f;
}

.coach-hero-half .coach-hero-media{
  object-position:center 46%;
}

.coach-hero-half::after{
  content:"21.0975";
  position:absolute;
  right:-.025em;
  top:19%;
  z-index:0;
  font:900 clamp(88px,17vw,260px)/.78 "Barlow Condensed",sans-serif;
  letter-spacing:-.07em;
  color:rgba(255,255,255,.052);
  pointer-events:none;
}

.half-page .coach-hero h1 em{
  color:var(--half-coral);
}

.half-page .coach-metric:first-child{
  background:var(--half-coral);
  color:var(--half-ink);
}

.half-equation{
  display:grid;
  grid-template-columns:1fr 110px 1fr;
  border:1px solid var(--coach-line-dark);
}

.half-equation-card{
  min-height:460px;
  padding:clamp(28px,4vw,52px);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}

.half-equation-card:first-child{
  background:var(--half-coral);
  color:var(--half-ink);
}

.half-equation-card:last-child{
  background:var(--coach-yellow);
  color:#111;
}

.half-equation-card h3{
  max-width:9ch;
  margin:0 0 18px;
  font:900 clamp(60px,7.5vw,108px)/.82 "Barlow Condensed",sans-serif;
  letter-spacing:-.055em;
  text-transform:uppercase;
}

.half-equation-card p{
  max-width:420px;
  margin:0;
  color:inherit;
  opacity:.72;
}

.half-equation-plus{
  display:grid;
  place-items:center;
  border-right:1px solid var(--coach-line-dark);
  border-left:1px solid var(--coach-line-dark);
  font:900 74px/1 "Barlow Condensed",sans-serif;
  color:rgba(255,255,255,.68);
}

.half-ladder{
  display:grid;
  gap:1px;
  padding:1px;
  background:var(--coach-line);
}

.half-ladder-row{
  position:relative;
  min-height:118px;
  display:grid;
  grid-template-columns:70px minmax(190px,.75fr) 1fr;
  gap:22px;
  align-items:center;
  padding:22px 28px;
  overflow:hidden;
  background:#fff;
}

.half-ladder-row::after{
  content:"";
  position:absolute;
  right:0;
  bottom:0;
  height:6px;
  width:var(--half-level);
  background:var(--half-coral);
}

.half-ladder-row:nth-child(4)::after{
  background:var(--coach-yellow);
}

.half-ladder-row > span{
  font:500 12px/1 "DM Mono",monospace;
  color:var(--coach-muted);
}

.half-ladder-row strong{
  font:800 clamp(27px,3vw,40px)/.95 "Barlow Condensed",sans-serif;
  text-transform:uppercase;
}

.half-ladder-row p{
  margin:0;
  color:var(--coach-muted);
}

.half-week{
  display:grid;
  grid-template-columns:minmax(310px,.8fr) minmax(0,1.2fr);
  border:1px solid var(--coach-line-dark);
}

.half-week-focus{
  min-height:580px;
  padding:clamp(30px,5vw,64px);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  background:var(--half-cream);
  color:var(--half-ink);
}

.half-week-focus strong{
  display:block;
  max-width:8ch;
  font:900 clamp(66px,8vw,116px)/.8 "Barlow Condensed",sans-serif;
  letter-spacing:-.055em;
  text-transform:uppercase;
}

.half-week-focus p{
  max-width:390px;
  margin:26px 0 0;
  color:rgba(23,16,15,.68);
}

.half-week-days{
  display:grid;
  grid-template-columns:1fr 1fr;
}

.half-week-day{
  min-height:193px;
  padding:24px;
  border-right:1px solid var(--coach-line-dark);
  border-bottom:1px solid var(--coach-line-dark);
}

.half-week-day:nth-child(even){
  border-right:0;
}

.half-week-day:nth-last-child(-n+2){
  border-bottom:0;
}

.half-week-day.is-key{
  background:var(--half-coral);
  color:var(--half-ink);
}

.half-week-day span{
  display:block;
  margin-bottom:34px;
  font:500 11px/1 "DM Mono",monospace;
  color:rgba(255,255,255,.5);
  text-transform:uppercase;
}

.half-week-day.is-key span{
  color:rgba(23,16,15,.55);
}

.half-week-day strong{
  display:block;
  font:700 30px/1 "Barlow Condensed",sans-serif;
  text-transform:uppercase;
}

.half-week-day p{
  margin:8px 0 0;
  color:rgba(255,255,255,.62);
  font-size:14px;
}

.half-week-day.is-key p{
  color:rgba(23,16,15,.7);
}

.half-pace-plan{
  display:grid;
  grid-template-columns:.85fr 1.35fr 1fr;
  border:1px solid var(--coach-line);
}

.half-pace-block{
  min-height:390px;
  padding:30px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  border-right:1px solid var(--coach-line);
  background:#fff;
}

.half-pace-block:last-child{
  border-right:0;
}

.half-pace-block:nth-child(2){
  background:var(--coach-ink);
  color:#fff;
}

.half-pace-block:nth-child(3){
  background:var(--half-coral);
  color:var(--half-ink);
}

.half-pace-block h3{
  margin:0 0 12px;
  font:900 clamp(48px,5vw,74px)/.85 "Barlow Condensed",sans-serif;
  letter-spacing:-.045em;
}

.half-pace-block strong{
  display:block;
  margin-bottom:12px;
  font:700 26px/1 "Barlow Condensed",sans-serif;
  text-transform:uppercase;
}

.half-pace-block p{
  margin:0;
  color:inherit;
  opacity:.68;
}

.half-signal-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  border-top:1px solid var(--coach-line-dark);
  border-bottom:1px solid var(--coach-line-dark);
}

.half-signal{
  min-height:240px;
  padding:26px;
  border-right:1px solid var(--coach-line-dark);
}

.half-signal:last-child{
  border-right:0;
}

.half-signal strong{
  display:block;
  margin:38px 0 14px;
  font:800 clamp(31px,3vw,45px)/.92 "Barlow Condensed",sans-serif;
  text-transform:uppercase;
}

.half-signal p{
  margin:0;
  color:rgba(255,255,255,.62);
}

@media(max-width:1040px){
  .half-equation{
    grid-template-columns:1fr 82px 1fr;
  }

  .half-signal-grid{
    grid-template-columns:1fr 1fr;
  }

  .half-signal:nth-child(2){
    border-right:0;
  }

  .half-signal:nth-child(-n+2){
    border-bottom:1px solid var(--coach-line-dark);
  }
}

@media(max-width:780px){
  .coach-hero-half .coach-hero-media{
    object-position:center 38%;
  }

  .half-equation{
    grid-template-columns:1fr;
  }

  .half-equation-card{
    min-height:350px;
  }

  .half-equation-plus{
    min-height:82px;
    border:0;
    border-top:1px solid var(--coach-line-dark);
    border-bottom:1px solid var(--coach-line-dark);
  }

  .half-ladder-row{
    grid-template-columns:48px 1fr;
  }

  .half-ladder-row p{
    grid-column:2;
  }

  .half-week,
  .half-pace-plan{
    grid-template-columns:1fr;
  }

  .half-week-focus{
    min-height:450px;
  }

  .half-pace-block{
    min-height:300px;
    border-right:0;
    border-bottom:1px solid var(--coach-line);
  }

  .half-pace-block:last-child{
    border-bottom:0;
  }
}

@media(max-width:560px){
  .half-equation-card{
    min-height:300px;
  }

  .half-equation-card h3{
    font-size:64px;
  }

  .half-ladder-row{
    min-height:150px;
    padding:20px;
  }

  .half-week-days,
  .half-signal-grid{
    grid-template-columns:1fr;
  }

  .half-week-day,
  .half-week-day:nth-child(even),
  .half-signal,
  .half-signal:nth-child(2){
    min-height:170px;
    border-right:0;
    border-bottom:1px solid var(--coach-line-dark);
  }

  .half-week-day:last-child,
  .half-signal:last-child{
    border-bottom:0;
  }

  .half-week-day:nth-last-child(2){
    border-bottom:1px solid var(--coach-line-dark);
  }
}

/* 5K–10K coaching page */
.speed-page{
  --speed-lime:#b9ff32;
  --speed-violet:#785dff;
  --speed-ice:#eaf7ff;
}

.coach-hero-speed .coach-hero-media{
  object-position:center 40%;
}

.coach-hero-speed::after{
  content:"5 / 10";
  position:absolute;
  right:.01em;
  top:18%;
  z-index:0;
  font:900 clamp(110px,21vw,310px)/.75 "Barlow Condensed",sans-serif;
  letter-spacing:-.08em;
  color:rgba(255,255,255,.05);
  pointer-events:none;
}

.speed-page .coach-hero h1 em{
  color:var(--speed-lime);
}

.speed-page .coach-metric:first-child{
  background:var(--speed-lime);
  color:#111;
}

.speed-page .coach-metric:nth-child(2){
  background:var(--speed-violet);
  color:#fff;
}

.speed-duel{
  display:grid;
  grid-template-columns:1fr 1fr;
  border:1px solid var(--coach-line-dark);
}

.speed-distance{
  position:relative;
  min-height:580px;
  padding:clamp(32px,5vw,68px);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  overflow:hidden;
}

.speed-distance:first-child{
  background:var(--speed-lime);
  color:#111;
}

.speed-distance:last-child{
  border-left:1px solid var(--coach-line-dark);
  background:var(--speed-violet);
  color:#fff;
}

.speed-distance > strong{
  position:absolute;
  right:-.08em;
  top:-.12em;
  font:900 clamp(170px,23vw,330px)/1 "Barlow Condensed",sans-serif;
  letter-spacing:-.075em;
  color:rgba(0,0,0,.09);
}

.speed-distance:last-child > strong{
  color:rgba(255,255,255,.09);
}

.speed-distance-content{
  position:relative;
  z-index:1;
  max-width:520px;
}

.speed-distance h3{
  margin:0 0 18px;
  font:900 clamp(62px,7vw,102px)/.8 "Barlow Condensed",sans-serif;
  letter-spacing:-.055em;
  text-transform:uppercase;
}

.speed-distance p{
  margin:0;
  color:inherit;
  opacity:.7;
}

.speed-stack{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  border:1px solid var(--coach-line);
}

.speed-stack-card{
  min-height:400px;
  padding:28px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  border-right:1px solid var(--coach-line);
  background:#fff;
}

.speed-stack-card:last-child{
  border-right:0;
}

.speed-stack-card:nth-child(2){
  background:var(--speed-ice);
}

.speed-stack-card:nth-child(3){
  background:var(--speed-violet);
  color:#fff;
}

.speed-stack-card:nth-child(4){
  background:var(--speed-lime);
  color:#111;
}

.speed-stack-card h3{
  margin:0 0 16px;
  font:800 clamp(36px,3.4vw,54px)/.9 "Barlow Condensed",sans-serif;
  text-transform:uppercase;
}

.speed-stack-card p{
  margin:0;
  color:inherit;
  opacity:.66;
}

.speed-session-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}

.speed-session{
  min-height:440px;
  padding:clamp(28px,4vw,52px);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  border:1px solid var(--coach-line-dark);
}

.speed-session.is-5k{
  background:var(--speed-lime);
  color:#111;
}

.speed-session.is-10k{
  background:var(--speed-violet);
  color:#fff;
}

.speed-session h3{
  margin:0 0 14px;
  font:900 clamp(56px,7vw,92px)/.82 "Barlow Condensed",sans-serif;
  letter-spacing:-.05em;
  text-transform:uppercase;
}

.speed-session p{
  max-width:480px;
  margin:0;
  color:inherit;
  opacity:.7;
}

.speed-session-tags{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:28px;
}

.speed-session-tags span{
  padding:9px 12px;
  border:1px solid currentColor;
  font:500 11px/1 "DM Mono",monospace;
  text-transform:uppercase;
}

.speed-week{
  display:grid;
  grid-template-columns:repeat(7,1fr);
  border-top:1px solid var(--coach-line);
  border-left:1px solid var(--coach-line);
}

.speed-day{
  min-height:280px;
  padding:22px 18px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  border-right:1px solid var(--coach-line);
  border-bottom:1px solid var(--coach-line);
  background:#fff;
}

.speed-day.is-key{
  background:var(--coach-ink);
  color:#fff;
}

.speed-day.is-accent{
  background:var(--speed-lime);
  color:#111;
}

.speed-day span{
  font:500 10px/1 "DM Mono",monospace;
  color:var(--coach-muted);
  text-transform:uppercase;
}

.speed-day.is-key span,
.speed-day.is-key p{
  color:rgba(255,255,255,.55);
}

.speed-day strong{
  display:block;
  margin-bottom:9px;
  font:800 25px/.95 "Barlow Condensed",sans-serif;
  text-transform:uppercase;
}

.speed-day p{
  margin:0;
  color:var(--coach-muted);
  font-size:13px;
}

.speed-race-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}

.speed-race-plan{
  border:1px solid var(--coach-line-dark);
}

.speed-race-head{
  min-height:210px;
  padding:28px;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  background:var(--speed-lime);
  color:#111;
}

.speed-race-plan:last-child .speed-race-head{
  background:var(--speed-violet);
  color:#fff;
}

.speed-race-head strong{
  font:900 clamp(84px,10vw,146px)/.7 "Barlow Condensed",sans-serif;
  letter-spacing:-.06em;
}

.speed-race-head span{
  font:500 11px/1 "DM Mono",monospace;
  text-transform:uppercase;
}

.speed-race-row{
  min-height:118px;
  padding:22px 26px;
  display:grid;
  grid-template-columns:95px 1fr;
  gap:20px;
  border-top:1px solid var(--coach-line-dark);
}

.speed-race-row > span{
  font:500 11px/1.5 "DM Mono",monospace;
  color:rgba(255,255,255,.48);
}

.speed-race-row strong{
  display:block;
  margin-bottom:7px;
  font:700 27px/1 "Barlow Condensed",sans-serif;
  text-transform:uppercase;
}

.speed-race-row p{
  margin:0;
  color:rgba(255,255,255,.62);
  font-size:14px;
}

.speed-principles{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1px;
  padding:1px;
  background:var(--coach-line);
}

.speed-principle{
  min-height:320px;
  padding:28px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  background:#fff;
}

.speed-principle h3{
  margin:0 0 15px;
  font:800 clamp(39px,4vw,60px)/.9 "Barlow Condensed",sans-serif;
  text-transform:uppercase;
}

.speed-principle p{
  margin:0;
  color:var(--coach-muted);
}

@media(max-width:1040px){
  .speed-stack{
    grid-template-columns:1fr 1fr;
  }

  .speed-stack-card:nth-child(2){
    border-right:0;
  }

  .speed-stack-card:nth-child(-n+2){
    border-bottom:1px solid var(--coach-line);
  }

  .speed-week{
    grid-template-columns:repeat(4,1fr);
  }
}

@media(max-width:780px){
  .coach-hero-speed .coach-hero-media{
    object-position:center 36%;
  }

  .speed-duel,
  .speed-session-grid,
  .speed-race-grid{
    grid-template-columns:1fr;
  }

  .speed-distance{
    min-height:420px;
  }

  .speed-distance:last-child{
    border-left:0;
    border-top:1px solid var(--coach-line-dark);
  }

  .speed-week{
    grid-template-columns:1fr 1fr;
  }

  .speed-principles{
    grid-template-columns:1fr;
  }

  .speed-principle{
    min-height:250px;
  }
}

@media(max-width:560px){
  .speed-stack,
  .speed-week{
    grid-template-columns:1fr;
  }

  .speed-stack-card,
  .speed-stack-card:nth-child(2){
    min-height:290px;
    border-right:0;
    border-bottom:1px solid var(--coach-line);
  }

  .speed-stack-card:last-child{
    border-bottom:0;
  }

  .speed-session{
    min-height:340px;
  }

  .speed-day{
    min-height:190px;
  }

  .speed-race-head{
    min-height:170px;
  }

  .speed-race-row{
    grid-template-columns:76px 1fr;
    padding:20px;
  }
}
