/* Summit: running and endurance. White and navy with a sunset accent, condensed race type, trail-map contours, race bibs. */
.coach-site.summit{
  --cs-bg:#ffffff;--cs-alt:#f0f3f7;--cs-ink:#0f1f3a;--cs-soft:#4a5870;--cs-line:#d9e0ea;--cs-card:#ffffff;
  --cs-head:'Oswald',sans-serif;--cs-body:'Source Sans 3',sans-serif;--cs-head-weight:600;--cs-head-track:0;--cs-head-case:uppercase;
  --cs-radius:8px;--cs-photo-radius:8px;--cs-button-radius:6px;--cs-photo-pos:50% 42%;
  --cs-shadow:0 28px 50px -34px rgba(15,31,58,.45);font-size:17.5px
}
.summit h1{font-size:clamp(48px,5.9vw,86px);line-height:.96;font-weight:700}
.summit h2{font-size:clamp(36px,4.4vw,58px);line-height:1.02}
.summit h3{letter-spacing:.01em}
.summit .cs-kicker{font:500 15px/1.3 var(--cs-head);letter-spacing:.16em;text-transform:uppercase}
.summit .cs-button{font:500 16px/1.2 var(--cs-head);letter-spacing:.09em;text-transform:uppercase}

.summit .cs-header{border-bottom:3px solid var(--cs-ink)}
.summit .cs-brand{font-size:22px;font-weight:600}
.summit .cs-brand-mark{border-radius:50%;background:var(--cs-ink);color:var(--cs-bg)}
.summit .cs-nav a{font:500 15px/1 var(--cs-head);letter-spacing:.1em;text-transform:uppercase}

/* Hero: headline over a panoramic photo with a race elevation profile, then a strip of credentials */
.su-hero{position:relative;overflow:hidden;padding:64px 0 0;background:linear-gradient(180deg,var(--cs-alt),var(--cs-bg) 70%)}
.su-topo{position:absolute;inset:0;width:100%;height:100%;color:var(--cs-ink);opacity:.1;pointer-events:none}
.su-hero .cs-wrap{position:relative}
.su-hero-head{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:56px;align-items:end;margin-bottom:44px}
.su-hero-head .cs-lede{margin-top:0}
.su-pano{position:relative;margin:0;border-radius:var(--cs-radius) var(--cs-radius) 0 0;overflow:hidden;background:linear-gradient(160deg,color-mix(in srgb,var(--coach-accent) 55%,#ffd27a),var(--coach-accent))}
.su-pano img{width:100%;aspect-ratio:21/8;object-fit:cover;object-position:var(--cs-photo-pos)}
.su-no-photo{aspect-ratio:21/8}
.su-profile{position:absolute;left:0;right:0;bottom:-1px;width:100%;height:30%}
.su-profile-fill{fill:var(--cs-ink)}
.su-profile-line{fill:none;stroke:var(--coach-accent);stroke-width:4}
.su-splits{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));background:var(--cs-ink);color:var(--cs-bg);border-radius:0 0 var(--cs-radius) var(--cs-radius)}
.su-splits li{display:flex;align-items:center;gap:14px;padding:6px 28px 24px;font-weight:600}
.su-splits li::before{content:"";flex:none;width:10px;height:10px;background:var(--coach-accent);transform:rotate(45deg)}

/* Offers as race bibs */
.su-bib{display:flex;flex-direction:column;border:2px solid var(--cs-ink);border-radius:12px;background:var(--cs-card);overflow:hidden;box-shadow:var(--cs-shadow)}
.su-bib header{position:relative;padding:24px 26px 22px;background:var(--cs-ink);color:var(--cs-bg);text-align:center}
.su-pin{position:absolute;top:14px;width:11px;height:11px;border-radius:50%;background:var(--cs-bg);opacity:.9}
.su-pin:first-child{left:16px}
.su-pin:nth-child(2){right:16px}
.su-bib-no{font:700 68px/1 var(--cs-head);color:var(--coach-accent);letter-spacing:.02em}
.su-bib h3{margin-top:8px;font-size:22px;letter-spacing:.08em}
.su-bib-body{display:flex;flex-direction:column;flex:1;padding:26px 28px 30px}
.su-bib .cs-price{margin:0 0 8px;font-size:44px}
.su-bib .cs-includes{margin:20px 0 28px;padding-top:20px;border-top:1px dashed var(--cs-line);font-size:15.5px}
.su-bib .cs-button{margin-top:auto}

/* Process as a route with checkpoints */
.su-route{list-style:none;margin:0;padding:0;position:relative;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:36px}
.su-route::before{content:"";position:absolute;top:24px;left:24px;right:24px;border-top:3px dashed color-mix(in srgb,var(--cs-ink) 28%,transparent)}
.su-route li{position:relative;padding-top:76px}
.su-checkpoint{position:absolute;top:0;left:0;width:50px;height:50px;border-radius:50%;border:3px solid var(--coach-accent);background:var(--cs-bg);display:flex;align-items:center;justify-content:center;font:600 20px/1 var(--cs-head)}
.su-route li:last-child .su-checkpoint{background:var(--coach-accent);color:var(--design-button-ink)}
.su-route h3{font-size:23px;margin-bottom:8px}
.su-route p{color:var(--cs-soft)}

.summit .cs-story{border:0;border-top:4px solid var(--coach-accent);border-radius:0 0 var(--cs-radius) var(--cs-radius);background:var(--cs-alt)}
.summit .cs-story figcaption{font:500 15px/1.3 var(--cs-head);letter-spacing:.1em;text-transform:uppercase}
.summit .cs-faq-list summary{font:500 20px/1.3 var(--cs-head);letter-spacing:.03em;text-transform:uppercase}
.summit .cs-form{border:2px solid var(--cs-ink)}
.summit .cs-footer{border-top:3px solid var(--cs-ink)}

@media (max-width:960px){
  .su-hero{padding-top:44px}
  .su-hero-head{grid-template-columns:minmax(0,1fr);gap:20px}
  .su-pano img,.su-no-photo{aspect-ratio:16/9}
}
@media (max-width:600px){
  .su-splits li{padding:6px 22px 14px}
  .su-route::before{top:24px;bottom:24px;left:24px;right:auto;border-top:0;border-left:3px dashed color-mix(in srgb,var(--cs-ink) 28%,transparent)}
  .su-route li{padding:6px 0 0 76px;min-height:50px}
}

/* Stories as a results list */
.su-results{list-style:none;margin:0;padding:0;border-top:3px solid var(--cs-ink);counter-reset:place}
.su-results li{counter-increment:place;display:grid;grid-template-columns:70px 220px minmax(0,1fr);gap:28px;align-items:baseline;padding:26px 0;border-bottom:1px solid var(--cs-line)}
.su-results li::before{content:counter(place,decimal-leading-zero);font:700 34px/1 var(--cs-head);color:var(--cs-accent-text)}
.su-results-name{font:600 19px/1.2 var(--cs-head);letter-spacing:.06em;text-transform:uppercase}
.su-results blockquote{margin:0;font-size:19px;line-height:1.55}
@media (max-width:760px){
  .su-results li{grid-template-columns:52px minmax(0,1fr);gap:8px 16px}
  .su-results blockquote{grid-column:2}
}
