/* Shared coach roster: one consistent three-card desktop row. */
.proof-refined .coach-roster-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.proof-refined .coach-roster-grid .coach-card{min-width:0;display:flex;flex-direction:column;grid-column:auto}
.proof-refined .coach-roster-grid .coach-card-visual{min-height:300px;padding:24px;gap:16px}
.proof-refined .coach-roster-grid .coach-card-visual>span{top:24px;left:24px;font-size:10px}
.proof-refined .coach-roster-grid .coach-card-visual strong{font-size:clamp(26px,2.25vw,34px);max-width:100%;line-height:1.05}
.proof-refined .coach-roster-grid .coach-card-visual small{font-size:10px}
.proof-refined .coach-roster-grid .coach-card-copy{padding:24px;align-self:stretch}
.proof-refined .coach-roster-grid .coach-card-copy .eyebrow{font-size:12px;margin:18px 0 12px}
.proof-refined .coach-roster-grid .coach-card-copy h2{font-size:28px;margin-bottom:14px}
.proof-refined .coach-roster-grid .coach-card-copy>p:last-child{font-size:14px;line-height:1.65;margin-bottom:0}
/* Same media, borders and dark action treatment as the training-page cards. */
.home-preview .home-services .home-services-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;padding:0 4vw 30px;align-items:stretch}
.home-preview .home-services .home-service-card{display:flex;flex-direction:column}
.home-preview .home-services .card-image{height:185px;flex-shrink:0}
.home-preview .home-services .graphic{padding:20px}
.home-preview .home-services .graphic strong{font-size:clamp(27px,2.5vw,40px);line-height:.95}
.home-preview .home-services .graphic span,.home-preview .home-services .graphic small{font-size:9px}
.home-preview .home-services .card-body{padding:20px 20px 8px;display:flex;flex-direction:column;flex:1}
.home-preview .home-services .card-category{font-size:10px;min-height:15px;margin-bottom:14px}
.home-preview .home-services .card-body h3{font:500 27px/1.15 Arial,Helvetica,sans-serif;letter-spacing:-.035em;margin:0 0 14px}
.home-preview .home-services .card-description{font-size:14px;line-height:1.6;margin:0 0 22px;flex:1}
.home-preview .home-services .card-body>.text-link{margin-top:auto;font-size:12px;gap:12px}
.home-preview .home-services>.pathway-help{border-block:1px solid var(--line);padding:18px 4vw;display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--cream)}
/* The former service grid's compact, bordered UI now frames all six majors. */
.major-horizon{background:var(--paper);border-block:1px solid var(--line)}
.major-horizon .training-pathways-heading{padding:32px 4vw 26px;gap:10px}
.major-horizon .training-pathways-heading h2{font-size:clamp(30px,3vw,44px)}
.major-horizon .section-label{font-size:11px;letter-spacing:.08em}
.major-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));border-top:1px solid var(--line)}
.major-card{position:relative;appearance:none;display:flex;flex-direction:column;align-items:flex-start;text-align:left;min-width:0;padding:24px 22px 20px;border:0;border-right:1px solid var(--line);border-radius:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;cursor:pointer;transition:background .15s}
.major-card:last-child{border-right:0}.major-card:hover{background:#eae5d9}.major-card[aria-pressed=true]{background:var(--cream);box-shadow:inset 0 3px var(--orange)}
.major-index{font-size:10px;color:#5c5b53;margin-bottom:20px}.major-city{font-size:24px;font-weight:500;letter-spacing:-.035em;line-height:1.2;margin-bottom:18px}.major-countdown{display:flex;align-items:baseline;gap:7px;flex-wrap:wrap;margin-bottom:12px}.major-countdown strong{font-size:38px;font-weight:500;letter-spacing:-.04em;line-height:1;font-variant-numeric:tabular-nums}.major-unit{font-size:11px;color:#5c5b53}.major-card time{font-size:12px;line-height:1.5;min-height:36px}.major-availability{font-size:10px;line-height:1.5;min-height:30px;color:#5c5b53;margin-top:6px}.major-select{display:flex;align-items:center;justify-content:space-between;width:100%;gap:8px;margin-top:14px;font-size:11px;line-height:1.5}.major-select>span[aria-hidden]{color:var(--orange);font-size:17px}.major-card[aria-pressed=true] .major-select{font-weight:600}.major-card[aria-pressed=true] .major-city{text-decoration:underline;text-decoration-color:var(--orange);text-decoration-thickness:2px;text-underline-offset:6px}
.major-actions{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:16px 4vw;border-top:1px solid var(--line);background:var(--cream)}.major-actions>[aria-live]{font-size:13px;line-height:1.5}.major-actions .text-link{font-size:13px;line-height:1.5;letter-spacing:0;text-transform:none;min-height:44px}
@media(max-width:1100px){.home-preview .home-services .home-services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-preview .home-services .card-image{height:210px}.home-preview .home-services .graphic strong{font-size:38px}.major-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.major-card{padding:24px 4vw;border-bottom:1px solid var(--line)}.major-card:nth-child(3n){border-right:0}.major-card:nth-last-child(-n+3){border-bottom:0}.major-card time{min-height:18px}.major-availability{min-height:15px}.proof-refined .coach-roster-grid .coach-card-visual{min-height:280px;padding:20px}.proof-refined .coach-roster-grid .coach-card-copy{padding:22px 20px}.proof-refined .coach-roster-grid .coach-card-copy h2{font-size:25px}}
@media(max-width:800px){.proof-refined .coach-roster-grid{grid-template-columns:1fr}.proof-refined .coach-roster-grid .coach-card-visual{min-height:340px;padding:24px}.proof-refined .coach-roster-grid .coach-card-visual strong{font-size:32px}.proof-refined .coach-roster-grid .coach-card-copy{padding:24px}.proof-refined .coach-roster-grid .coach-card-copy h2{font-size:29px}.home-preview .home-services .home-services-grid{padding:0 5vw 26px;gap:20px 16px}.home-preview .home-services .card-body{padding:20px 18px 8px}.home-preview .home-services .card-body h3{font-size:25px}.home-preview .home-services>.pathway-help{padding:20px 5vw;display:block}.major-horizon .training-pathways-heading{padding:26px 5vw 22px}.major-actions{display:block;padding:16px 5vw}.major-actions .text-link{margin-top:8px}}
@media(max-width:600px){.home-preview .home-services .home-services-grid{grid-template-columns:1fr}.home-preview .home-services .card-image{height:215px}.home-preview .home-services .card-body{padding:22px 23px 10px}.home-preview .home-services .card-body h3{font-size:29px}.major-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.major-card{padding:22px 5vw}.major-card:nth-child(3n){border-right:1px solid var(--line)}.major-card:nth-child(2n){border-right:0}.major-card:nth-last-child(3){border-bottom:1px solid var(--line)}.major-city{font-size:23px}.major-countdown strong{font-size:36px}.major-card time{min-height:36px}.major-availability{min-height:30px}.major-actions .text-link{font-size:12px;gap:12px}}
/* One native link covers every training card's media, copy, price and visual CTA.
   Details remain a separate sibling control, never nested inside that link. */
.training-content .offer-card>.card-main-link{display:flex;flex-direction:column;min-width:0;color:var(--ink);text-decoration:none;opacity:1;flex:1;gap:0;padding:0;border:0;font-weight:inherit;text-transform:none;letter-spacing:normal}
.training-content .offer-card>.card-main-link .card-image{flex-shrink:0}
.training-content .card-main-link>.card-body{display:flex;flex-direction:column;flex:1}
.training-content .card-cta{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;border:1px solid var(--ink);background:var(--ink);color:var(--cream);padding:11px 13px;margin:8px 0 12px;min-height:46px;font:400 13px/1.5 Arial,Helvetica,sans-serif;letter-spacing:0;text-transform:none;text-decoration:none;transition:background .15s,color .15s,border-color .15s}
.training-content .card-cta>span{color:inherit}
.training-content .card-main-link:hover .card-cta,.training-content .card-main-link:focus-visible .card-cta,.training-content .card-main-link:active .card-cta{background:var(--orange);border-color:var(--orange);color:var(--ink)}
.training-content .card-main-link:focus-visible{outline:3px solid var(--ink);outline-offset:4px;position:relative;z-index:1}
.training-content .card-details{padding:0 23px}.training-content .card-details .offer-details{border-top:1px solid var(--line)}
.home-preview .home-services .card-main-link>.card-body{padding:20px 20px 8px}.home-preview .home-services .card-cta{margin-top:auto;font-size:12px;gap:12px}
.home-service-list{background:var(--paper);border-bottom:1px solid var(--line)}
.home-service-list .training-pathways-heading{padding:32px 4vw 26px;gap:10px}.home-service-list .training-pathways-heading h2{font-size:clamp(30px,3vw,44px);margin:0}.home-service-list .section-label{font-size:11px;letter-spacing:.08em}
.home-service-list .services-section{padding-bottom:32px}
@media(max-width:1050px){.training-content .card-details{padding-inline:18px}}
@media(max-width:800px){.home-preview .home-services .card-main-link>.card-body{padding:20px 18px 8px}.home-service-list .training-pathways-heading{padding:26px 5vw 22px}}
@media(max-width:600px){.home-preview .home-services .card-main-link>.card-body{padding:22px 23px 10px}}
@media(max-width:540px){.training-content .card-details{padding-inline:23px}.training-content .card-cta{margin-top:15px}}
/* Newly text-only thumbnails fit their own card width, including narrow phones. */
.training-content :is(#personal,#nutrition,#community) .graphic{container-type:inline-size}
.training-content :is(#personal,#nutrition,#community) .graphic>strong{font-size:clamp(30px,15cqw,44px)}
/* Softer training-card palette: neutral fields, ink copy, orange kept as an accent. */
.training-content .offer-card{--card-tone:#e8dfcd;--card-type:#393c34}
.training-content .offer-card[data-category=coaching],.training-content .offer-card[data-card-theme=coaching]{--card-tone:#dde4e3}
.training-content .offer-card[data-category=nutrition],.training-content .offer-card[data-card-theme=nutrition]{--card-tone:#eeded4}
.training-content .offer-card[data-category=community],.training-content .offer-card[data-card-theme=community]{--card-tone:#dfe5d9}
.training-content .offer-card#tempo-run{--card-tone:#dfe5d9}
.training-content .offer-card#tempo-and-long-run{--card-tone:#e7dfd4}
.training-content .offer-card .card-image.graphic,.training-content .offer-card#tempo-run .graphic,.training-content .offer-card#tempo-and-long-run .graphic{background:var(--card-tone);color:var(--card-type);border-top:3px solid var(--orange)}
.training-content .offer-card .graphic:before,.training-content .offer-card .graphic:after,.training-content .offer-card#tempo-run .graphic:before,.training-content .offer-card#tempo-run .graphic:after{border-color:rgba(57,60,52,.15)}
.training-content .offer-card .card-cta{background:transparent;border-color:#7f8378;color:var(--card-type)}
.training-content .offer-card .card-main-link:hover .card-cta,.training-content .offer-card .card-main-link:focus-visible .card-cta,.training-content .offer-card .card-main-link:active .card-cta{background:var(--card-tone);border-color:#7f8378;color:var(--card-type)}
/* Journal title follows the established homepage section-heading system. */
.home-preview .home-journal-heading.training-pathways-heading{padding:0;margin:0 0 30px;gap:10px;align-items:center}
.home-preview .home-journal-heading.training-pathways-heading h2{font:500 clamp(30px,3vw,44px)/1.15 Arial,Helvetica,sans-serif;letter-spacing:-.035em;margin:0;color:var(--ink)}
.home-preview .home-journal-heading.training-pathways-heading .section-label{font-size:11px;letter-spacing:.08em;margin:0}
.home-preview .home-journal-heading.training-pathways-heading .text-link{margin:0}
/* Match the Journal's subtle lift and image zoom, only on coach cards. */
.proof-refined .coach-roster-grid .coach-card{transition:transform .2s}
.proof-refined .coach-roster-grid .coach-card .coach-card-visual img{transition:transform .45s;--coach-image-scale:1;transform:scale(var(--coach-image-scale))}
.proof-refined .coach-roster-grid .coach-card-marco .coach-card-visual img{--coach-image-scale:1.26}
.proof-refined .coach-roster-grid .coach-card-alba .coach-card-visual img{--coach-image-scale:1.15}
.proof-refined .coach-roster-grid .coach-card:is(:hover,:focus-visible){transform:translateY(-5px)}
.proof-refined .coach-roster-grid .coach-card:is(:hover,:focus-visible) .coach-card-visual img{transform:scale(calc(var(--coach-image-scale) * 1.025))}
@media(max-width:800px){.home-preview .home-journal-heading.training-pathways-heading{display:block}.home-preview .home-journal-heading.training-pathways-heading h2{margin:15px 0}}
@media(prefers-reduced-motion:reduce){.proof-refined .coach-roster-grid .coach-card,.proof-refined .coach-roster-grid .coach-card .coach-card-visual img{transition:none}.proof-refined .coach-roster-grid .coach-card:is(:hover,:focus-visible){transform:none}.proof-refined .coach-roster-grid .coach-card:is(:hover,:focus-visible) .coach-card-visual img{transform:scale(var(--coach-image-scale))}}
/* A quiet, reusable testimonial grid. Quotes and placement are editor-managed. */
.training-testimonials{padding:32px 4vw 48px;border-top:1px solid var(--line);background:var(--paper)}
.testimonial-heading{margin-bottom:24px}.testimonial-heading .section-label{font-size:11px;letter-spacing:.08em;margin:0 0 12px}
.testimonial-heading h2{font:500 clamp(30px,3vw,44px)/1.15 Arial,Helvetica,sans-serif;letter-spacing:-.035em;margin:0}
.testimonial-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:24px}
.testimonial-card{margin:0;padding:24px;border:1px solid var(--line);min-width:0;display:flex;flex-direction:column;gap:24px}
.testimonial-card:only-child{max-width:760px}
.testimonial-card blockquote{margin:0;flex:1}.testimonial-card p{font-size:16px;line-height:1.7;margin:0;overflow-wrap:anywhere}
.testimonial-card figcaption{font-size:13px;line-height:1.5;font-weight:600;overflow-wrap:anywhere}
@media(max-width:800px){.training-testimonials{padding:28px 5vw 36px}.testimonial-grid{grid-template-columns:1fr;gap:16px}.testimonial-card{padding:22px}}
.training-content :is(.card-description,.offer-details>p,.service-information>p,.testimonial-card p),.coach-card-copy>p:last-child{white-space:pre-line}
.testimonial-card p{white-space:pre-line}
/* Group block dates stay explicit; no registration or availability assumptions. */
.group-session{margin:0 4vw 24px;padding:24px;border:1px solid var(--line);border-top:3px solid var(--orange);background:var(--paper);display:flex;justify-content:space-between;align-items:center;gap:32px}
.training-content .group-session .section-label{font-size:10px;letter-spacing:.08em;margin:0 0 10px}.training-content .group-session h2{font:500 24px/1.2 Arial,Helvetica,sans-serif;letter-spacing:-.025em;margin:0 0 12px}
.session-state{font-size:13px;font-weight:600}.session-progress{font-size:12px;margin-left:14px;color:#5c5b53}.training-content .group-session .session-note{font-size:13px;line-height:1.6;margin:8px 0 0;max-width:600px}
.group-session dl{display:flex;gap:32px;margin:0;flex-shrink:0}.group-session dt{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#5c5b53;margin:0 0 8px}.group-session dd{font-size:14px;margin:0}
@media(max-width:800px){.group-session{margin:0 5vw 20px;padding:20px;display:block}.group-session dl{margin-top:22px;display:grid;grid-template-columns:1fr 1fr;gap:20px}.group-session dd{font-size:13px}.session-progress{display:block;margin:5px 0 0}}

/* Contact handoff: no customer information collected on this page. */
.contact-handoff {align-content:start;gap:24px}
.contact-handoff p {line-height:1.6;margin:0}
.contact-form.contact-handoff > .contact-handoff-lead {font-size:18px;max-width:48rem}
.contact-handoff-context {display:grid;gap:12px;min-width:0}
.contact-handoff-context textarea {width:100%;resize:vertical;white-space:pre-wrap;overflow-wrap:anywhere;min-height:88px}
.contact-handoff-context p,.contact-handoff-actions p {font-size:14px;max-width:48rem}
.contact-copy {justify-self:start;min-height:44px;padding:8px 0;text-decoration:underline;text-underline-offset:4px;font-weight:700;cursor:pointer}
.contact-copy-status:empty {display:none}
.contact-handoff-actions {display:grid;justify-items:start;gap:16px;min-width:0}
.contact-handoff .button {text-align:left;white-space:normal;min-height:48px;max-width:100%;gap:16px}
.contact-email {text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
body.proof-refined .contact-handoff :is(a,button,textarea):focus-visible {outline:2px solid var(--cream);outline-offset:5px}
@media(max-width:600px){.contact-handoff .button{width:100%;justify-content:space-between}.contact-form.contact-handoff > .contact-handoff-lead{font-size:16px}}
