/* Second Act Studio (concept). Everything is filed like the one-page transition plan: paper sheets and tabbed folders on tobacco. */
.b-coaches {
  --b-bg: #472913; --b-ink: #e4e0cf; --b-acc: #525e1b; --b-soft: #55321a; --b-on: #e4e0cf;
  --b-d: "Hanken Grotesk", system-ui, sans-serif; --b-t: "Hanken Grotesk", system-ui, sans-serif;
  --bg: #472913; --surface: #55321a; --surface-2: #5f3a1f; --ink: #e4e0cf; --muted: #cdbc9f;
  --olive: #525e1b; --olive-dk: #424c14; --ochre: #c79a3e; --dark: #2b170a;
  --paper: #e4e0cf; --paper-2: #d7cfb7; --paper-3: #cbc1a5; --p-ink: #2b170a; --p-muted: #5a4532;
  --t-ol: #d1d5a8; --t-ol-ink: #353d0c; --t-oc: #edd49c; --t-oc-ink: #553a0a; --t-cl: #e6c4ad; --t-cl-ink: #5a230f; --t-sk: #ccd6cf; --t-sk-ink: #213d35;
  --sa-chart-bg: #e4e0cf; --sa-chart-ink: #2b170a;
  --serif: "Newsreader", Georgia, serif;
  --s-small: 14px; --s-body: 17px; --s-sub: 22px; --s-lead: clamp(22px, 1rem + .9vw, 30px); --s-h2: clamp(36px, 1.6rem + 2vw, 56px);
  --s-head: clamp(40px, 1.3rem + 4.4vw, 92px); --s-hero: clamp(62px, 11.2vw, 180px);
  --m: clamp(16px, 3.2vw, 44px); --max: 1360px; --r: 6px;
  --ease: cubic-bezier(.22, 1, .36, 1); --t-press: 140ms; --t-hover: 180ms; --t-ui: 240ms;
  --zig: polygon(0 0, 100% 0, 100% calc(100% - 10px), 98.33% 100%, 96.67% calc(100% - 10px), 95.00% 100%, 93.33% calc(100% - 10px), 91.67% 100%, 90.00% calc(100% - 10px), 88.33% 100%, 86.67% calc(100% - 10px), 85.00% 100%, 83.33% calc(100% - 10px), 81.67% 100%, 80.00% calc(100% - 10px), 78.33% 100%, 76.67% calc(100% - 10px), 75.00% 100%, 73.33% calc(100% - 10px), 71.67% 100%, 70.00% calc(100% - 10px), 68.33% 100%, 66.67% calc(100% - 10px), 65.00% 100%, 63.33% calc(100% - 10px), 61.67% 100%, 60.00% calc(100% - 10px), 58.33% 100%, 56.67% calc(100% - 10px), 55.00% 100%, 53.33% calc(100% - 10px), 51.67% 100%, 50.00% calc(100% - 10px), 48.33% 100%, 46.67% calc(100% - 10px), 45.00% 100%, 43.33% calc(100% - 10px), 41.67% 100%, 40.00% calc(100% - 10px), 38.33% 100%, 36.67% calc(100% - 10px), 35.00% 100%, 33.33% calc(100% - 10px), 31.67% 100%, 30.00% calc(100% - 10px), 28.33% 100%, 26.67% calc(100% - 10px), 25.00% 100%, 23.33% calc(100% - 10px), 21.67% 100%, 20.00% calc(100% - 10px), 18.33% 100%, 16.67% calc(100% - 10px), 15.00% 100%, 13.33% calc(100% - 10px), 11.67% 100%, 10.00% calc(100% - 10px), 8.33% 100%, 6.67% calc(100% - 10px), 5.00% 100%, 3.33% calc(100% - 10px), 1.67% 100%, 0.00% calc(100% - 10px));
  --chamfer: polygon(0 100%, 0 12px, 12px 0, calc(100% - 12px) 0, 100% 12px, 100% 100%);
  --tab: polygon(0 100%, 14px 0, calc(100% - 14px) 0, 100% 100%);
}
body.b-coaches { background: var(--bg); color: var(--ink); font: 400 var(--s-body)/1.55 var(--b-t); font-feature-settings: "kern"; }
.b-coaches ::selection { background: var(--ochre); color: var(--dark); }
.b-coaches :focus-visible { outline: 3px solid var(--ochre); outline-offset: 3px; }
.b-coaches a { color: inherit; text-underline-offset: .22em; text-decoration-thickness: 1.5px; }
.b-coaches h1, .b-coaches h2, .b-coaches h3 { font-family: var(--b-d); font-weight: 600; letter-spacing: -.035em; line-height: .98; text-wrap: balance; margin: 0; }
.b-coaches p { margin: 0; text-wrap: pretty; }
.b-coaches img { display: block; width: 100%; height: auto; }
.b-coaches .sa-wrap { max-width: var(--max); margin: 0 auto; padding: 0 var(--m); }
.b-coaches .sa-sec { padding: clamp(96px, 11vw, 168px) 0; }
.b-coaches .sa-h { font-size: var(--s-head); }
.b-coaches .sa-h1 { font-size: var(--s-head); letter-spacing: -.04em; line-height: .95; max-width: 13ch; }
.b-coaches .sa-lead { font-family: var(--serif); font-size: var(--s-lead); line-height: 1.35; max-width: 38ch; margin-top: 24px; }
.b-coaches .sa-link { font-weight: 600; text-decoration: underline; min-height: 44px; display: inline-flex; align-items: center; transition: opacity var(--t-hover) ease; }
.b-coaches .sa-link:hover { opacity: .7; }
html { scrollbar-color: #8a6a48 #2b170a; }

/* buttons: the folder tab returns as the button's top corners */
.b-coaches .sa-btn { position: relative; display: inline-flex; align-items: center; justify-content: center; min-height: 56px; padding: 6px 30px 0; border: 0; background: var(--olive); clip-path: var(--chamfer); color: var(--paper); font: 600 var(--s-body)/1 var(--b-t); letter-spacing: -.01em; text-decoration: none; cursor: pointer; transition: transform var(--t-press) var(--ease); }
.b-coaches .sa-btn { transition: transform var(--t-press) var(--ease), background-color var(--t-hover) ease; }
.b-coaches .sa-btn:hover { background: var(--olive-dk); }
.b-coaches .sa-btn:focus-visible, .b-coaches .sa-top__act:focus-visible { outline: 3px solid var(--ochre); outline-offset: -6px; }
.b-coaches .sa-btn:active { transform: translateY(2px); }
.b-coaches .sa-btn--ghost { background: var(--dark); color: var(--paper); } .b-coaches .sa-btn--ghost:hover { background: #000; }
.b-coaches .sa-btn[disabled] { cursor: default; opacity: .55; }

/* header */
.b-coaches .sa-top { background: var(--bg); position: relative; z-index: 5; }
.b-coaches .sa-top__in { max-width: var(--max); margin: 0 auto; padding: 14px var(--m); display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 20px; }
.b-coaches .sa-top__nav { display: flex; gap: 24px; font-size: var(--s-small); font-weight: 500; }
.b-coaches .sa-top__nav a, .b-coaches .sa-menu nav a { text-decoration: none; min-height: 44px; display: inline-flex; align-items: center; color: var(--muted); transition: color var(--t-hover) ease; }
.b-coaches .sa-top__nav a:hover, .b-coaches .sa-top__nav a[aria-current] { color: var(--ink); }
.b-coaches .sa-top__nav a[aria-current] { text-decoration: underline; }
.b-coaches .sa-wm { text-decoration: none; font-size: var(--s-sub); color: var(--ink); min-height: 44px; display: inline-flex; align-items: center; }
.b-coaches .sa-top__act { justify-self: end; font-weight: 600; font-size: var(--s-small); min-height: 44px; display: inline-flex; align-items: center; padding: 4px 18px 0; background: var(--olive); clip-path: var(--chamfer); text-decoration: none; color: var(--paper); transition: transform var(--t-press) var(--ease), background-color var(--t-hover) ease; }
.b-coaches .sa-top__act:hover { background: var(--olive-dk); }
.b-coaches .sa-top__act:active { transform: translateY(2px); }
.b-coaches .sa-menu { display: none; }
.b-coaches .sa-mark { flex: none; }

/* home hero: the folder stack */
.b-coaches .sa-hero { min-height: calc(100svh - 250px); display: grid; grid-template-rows: 1fr auto; padding-top: clamp(40px, 7vh, 96px); overflow: hidden; }
.b-coaches .sa-hero__copy { text-align: center; padding: 0 var(--m); }
.b-coaches .sa-hero__h { font-size: var(--s-hero); letter-spacing: -.05em; line-height: .9; }
.b-coaches .sa-hero__sub { font-family: var(--serif); font-size: var(--s-sub); line-height: 1.4; max-width: 46ch; margin: 28px auto 0; color: var(--ink); }
.b-coaches .sa-stack { width: 86%; margin: clamp(72px, 9vh, 104px) auto 0; display: grid; }
.b-coaches .sa-fold { position: relative; display: block; height: 64px; text-decoration: none; margin-top: 0; }
.b-coaches .sa-fold::before { content: ""; position: absolute; inset: 0; background: var(--fc); }
.b-coaches .sa-fold__tab { position: absolute; bottom: 100%; left: var(--tx); height: 40px; padding: 0 28px; display: inline-flex; align-items: center; font: 600 var(--s-body)/1 var(--b-t); letter-spacing: -.01em; color: var(--tc); white-space: nowrap; background: var(--fc); clip-path: var(--tab); }
.b-coaches .sa-fold--0 { --fc: var(--surface-2); --tc: var(--ink); --tx: 3%; }
.b-coaches .sa-fold--1 { --fc: var(--olive); --tc: var(--paper); --tx: 25%; }
.b-coaches .sa-fold--2 { --fc: var(--ochre); --tc: var(--dark); --tx: 49%; }
.b-coaches .sa-fold--3 { --fc: var(--paper-3); --tc: var(--dark); --tx: 72%; }
.b-coaches .sa-fold { transition: transform var(--t-ui) var(--ease); }
.b-coaches .sa-fold:hover { transform: translateY(-8px); }
.b-coaches .sa-front { position: relative; width: 86%; margin: 0 auto; background: var(--paper); color: var(--p-ink); padding: 40px 0 clamp(96px, 10vw, 150px); z-index: 1; }
.b-coaches .sa-front__tab { --fc: var(--paper); --tc: var(--dark); left: 8%; }
.b-coaches .sa-front .sa-wrap { padding: 0 clamp(20px, 3vw, 48px); }
.b-coaches .sa-front__act { display: flex; flex-wrap: wrap; gap: 12px 28px; align-items: center; }
.b-coaches .sa-intro { display: grid; grid-template-columns: repeat(12, 1fr); gap: 0 24px; margin-top: clamp(64px, 8vw, 120px); align-items: end; }
.b-coaches .sa-intro__h { grid-column: 1 / 7; font-weight: 500; font-size: var(--s-head); }
.b-coaches .sa-intro__p { grid-column: 9 / 13; font-size: var(--s-body); }
.b-coaches .sa-facts { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 32px; margin: clamp(72px, 8vw, 120px) 0 0; }
.b-coaches .sa-facts dt { font-size: var(--s-h2); font-weight: 500; letter-spacing: -.03em; line-height: 1; font-variant-numeric: tabular-nums; }
.b-coaches .sa-facts dd { margin: 10px 0 0; font-size: var(--s-small); color: var(--p-muted); }
.b-coaches .sa-intro__pic { margin: clamp(56px, 6vw, 88px) 0 0 auto; width: min(100%, 44%); }
.b-coaches .sa-intro__pic img { aspect-ratio: 4 / 3; object-fit: cover; }

/* the slip: itinerary and receipt */
.b-coaches .sa-slip { background: var(--paper); color: var(--p-ink); padding: 34px 36px 52px; clip-path: var(--zig); font-variant-numeric: tabular-nums; }
.b-coaches .sa-slip__h { font-weight: 700; font-size: var(--s-body); margin-top: 28px; }
.b-coaches .sa-slip__h:first-child { margin-top: 0; }
.b-coaches .sa-slip__d { font-size: var(--s-body); color: var(--p-muted); margin-top: 6px; max-width: 52ch; }
.b-coaches .sa-slip__rows { list-style: none; margin: 10px 0 0; padding: 0; display: grid; gap: 10px; }
.b-coaches .sa-slip__rows li { display: flex; align-items: baseline; gap: 10px; font-size: var(--s-body); }
.b-coaches .sa-slip__rows i { flex: 1; min-width: 20px; border-bottom: 4px dotted color-mix(in srgb, var(--p-ink) 40%, transparent); transform: translateY(-4px); }
.b-coaches .sa-slip__rows b { font-weight: 600; white-space: nowrap; }
.b-coaches .sa-slip__tot { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin: 30px -36px 0; padding: 12px 36px; min-height: 44px; background: var(--dark); color: var(--paper); font-size: var(--s-body); font-weight: 600; }
.b-coaches .sa-slip__tot b { white-space: nowrap; }
.b-coaches .sa-slip__fine { font-size: var(--s-small); color: var(--p-muted); margin-top: 12px; }
.b-coaches .sa-steps { background: var(--ochre); color: var(--dark); }
.b-coaches .sa-steps__in { display: grid; grid-template-columns: repeat(12, 1fr); gap: 24px; align-items: start; }
.b-coaches .sa-steps__h { grid-column: 1 / 6; display: grid; gap: 24px; justify-items: start; }
.b-coaches .sa-steps__h p { max-width: 32ch; }
.b-coaches .sa-steps .sa-slip { grid-column: 7 / 12; max-width: 520px; width: 100%; }
.b-coaches .sa-steps--full .sa-slip { grid-column: 7 / 13; max-width: 600px; }
.b-coaches .sa-steps__pic { width: 70%; margin-top: 24px; } .b-coaches .sa-steps__pic img { aspect-ratio: 4 / 5; object-fit: cover; }

/* assessment (the signature) */
.b-coaches .sa-assess { background: var(--bg); }
.b-coaches .sa-assess__in { display: grid; grid-template-columns: repeat(12, 1fr); gap: 24px; align-items: start; }
.b-coaches .sa-assess__tool { grid-column: 1 / 8; }
.b-coaches .sa-assess__h { grid-column: 9 / 13; display: grid; gap: 24px; position: sticky; top: 24px; }
.b-coaches .sa-as { color: var(--p-ink); font-family: var(--b-t); }
.b-coaches .sa-as__sheet { background: var(--paper); padding: clamp(22px, 3vw, 44px); }
.b-coaches .sa-as__title { font-size: var(--s-lead); font-weight: 600; letter-spacing: -.03em; line-height: 1.1; }
.b-coaches .sa-as__props dl { margin: 18px 0 0; display: grid; gap: 8px; font-size: var(--s-small); }
.b-coaches .sa-as__props dl div { display: grid; grid-template-columns: 110px 1fr; gap: 12px; align-items: center; }
.b-coaches .sa-as__props dt { color: var(--p-muted); }
.b-coaches .sa-as__props dd { margin: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.b-coaches .sa-tag { display: inline-flex; align-items: center; padding: 3px 9px; border-radius: 4px; font-size: var(--s-small); font-weight: 600; line-height: 1.3; white-space: nowrap; }
.b-coaches .sa-tag--ol { background: var(--t-ol); color: var(--t-ol-ink); } .b-coaches .sa-tag--oc { background: var(--t-oc); color: var(--t-oc-ink); }
.b-coaches .sa-tag--cl { background: var(--t-cl); color: var(--t-cl-ink); } .b-coaches .sa-tag--sk { background: var(--t-sk); color: var(--t-sk-ink); }
.b-coaches .sa-as__stage { margin: 28px calc(-1 * clamp(22px, 3vw, 44px)) calc(-1 * clamp(22px, 3vw, 44px)); padding: clamp(22px, 3vw, 44px); background: var(--paper-2); min-height: 420px; }
.b-coaches .sa-as__fallback { margin: 0; padding-left: 1.2em; display: grid; gap: 14px; }
.b-coaches .sa-as__q { font-weight: 600; }
.b-coaches .sa-as__fo { font-size: var(--s-small); color: var(--p-muted); }
.b-coaches .sa-as__nojs { margin-top: 20px; font-size: var(--s-small); }
.b-coaches .sa-as.is-live .sa-as__fallback, .b-coaches .sa-as.is-live .sa-as__nojs { display: none; }
.b-coaches .sa-as__prog { margin-top: 22px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; }
.b-coaches .sa-as__seg { display: grid; gap: 6px; font-size: var(--s-small); font-weight: 600; color: var(--p-muted); }
.b-coaches .sa-as__seg i { display: block; height: 6px; border-radius: 3px; background: var(--paper-3); overflow: hidden; }
.b-coaches .sa-as__seg i b { display: block; height: 100%; width: var(--p, 0%); background: var(--olive); transition: width var(--t-ui) var(--ease); }
.b-coaches .sa-as__seg.is-on { color: var(--p-ink); }
.b-coaches .sa-as__foot { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-top: 14px; min-height: 44px; } .b-coaches .sa-as__count { margin-left: auto; font-size: var(--s-small); color: var(--p-muted); }
.b-coaches .sa-as__ask { margin-top: 0; font-size: var(--s-lead); font-weight: 600; letter-spacing: -.025em; line-height: 1.15; max-width: 26ch; }
.b-coaches .sa-as__opts { display: grid; gap: 8px; margin-top: 22px; }
.b-coaches .sa-as__opt { font: inherit; font-size: var(--s-body); text-align: left; min-height: 56px; padding: 14px 18px; border: 0; border-radius: var(--r); background: var(--paper); color: var(--p-ink); cursor: pointer; transition: background-color var(--t-hover) ease, transform var(--t-press) var(--ease); }
.b-coaches .sa-as__opt:hover { background: #f1eddf; }
.b-coaches .sa-as__opt:active { transform: scale(.99); }
.b-coaches .sa-as__opt[aria-pressed="true"] { background: var(--olive); color: var(--paper); }
.b-coaches .sa-as__back { font: inherit; font-size: var(--s-small); font-weight: 600; background: none; border: 0; padding: 0; min-height: 44px; color: var(--p-ink); text-decoration: underline; text-underline-offset: .22em; cursor: pointer; }
.b-coaches .sa-as__step { animation: saIn .42s var(--ease) both; }
@keyframes saIn { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
.b-coaches .sa-as__score { display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; }
.b-coaches .sa-as__num { font-size: clamp(64px, 1.3rem + 4.4vw, 92px); font-weight: 600; letter-spacing: -.05em; line-height: .85; font-variant-numeric: tabular-nums; }
.b-coaches .sa-as__of { font-size: var(--s-sub); font-weight: 500; }
.b-coaches .sa-as__band { width: 100%; font-size: var(--s-sub); font-weight: 600; letter-spacing: -.02em; margin-top: 10px; }
.b-coaches .sa-as__bars { list-style: none; margin: 24px 0 0; padding: 0; display: grid; gap: 12px; }
.b-coaches .sa-as__bars li { display: grid; grid-template-columns: 76px 1fr 48px; gap: 12px; align-items: center; font-size: var(--s-small); font-weight: 600; font-variant-numeric: tabular-nums; }
.b-coaches .sa-as__bars i { height: 14px; border-radius: 4px; background: var(--paper-3); overflow: hidden; }
.b-coaches .sa-as__bars i b { display: block; height: 100%; width: var(--p); background: var(--olive); border-radius: 4px; transform-origin: left; animation: saBar .7s var(--ease) both; }
@keyframes saBar { from { transform: scaleX(0); } to { transform: none; } }
.b-coaches .sa-as__bars span:last-child { text-align: right; }
.b-coaches .sa-as__read { margin-top: 24px; display: grid; gap: 12px; font-family: var(--serif); font-size: var(--s-body); line-height: 1.5; max-width: 60ch; }
.b-coaches .sa-as__route { margin: 28px calc(-1 * clamp(22px, 3vw, 44px)) calc(-1 * clamp(22px, 3vw, 44px)); padding: clamp(22px, 3vw, 40px); background: var(--olive); color: var(--paper); display: grid; gap: 14px; justify-items: start; }
.b-coaches .sa-as__route--low { background: var(--ochre); color: var(--dark); }
.b-coaches .sa-as__route h3 { font-size: var(--s-lead); }
.b-coaches .sa-as__slots { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; width: 100%; }
.b-coaches .sa-slot { font: inherit; font-size: var(--s-body); font-weight: 600; min-height: 56px; padding: 10px 14px; border: 0; border-radius: var(--r); background: var(--olive-dk); color: var(--paper); cursor: pointer; text-align: left; transition: background-color var(--t-hover) ease, transform var(--t-press) var(--ease); }
.b-coaches .sa-slot:hover { background: #343c0f; }
.b-coaches .sa-slot:active { transform: scale(.98); }
.b-coaches .sa-slot[aria-pressed="true"] { background: var(--paper); color: var(--dark); }
.b-coaches .sa-as__route .sa-btn { background: var(--paper); color: var(--dark); } .b-coaches .sa-as__route .sa-btn:hover { background: #fff6e2; }
.b-coaches .sa-as__route--low .sa-btn { background: var(--dark); color: var(--paper); } .b-coaches .sa-as__route--low .sa-btn:hover { background: #000; }
.b-coaches .sa-as__route .sa-link { min-height: 44px; }
.b-coaches .sa-as__again { font-size: var(--s-small); }

/* cost of staying: the total and its receipt */
.b-coaches .sa-costsec { background: var(--olive); color: var(--paper); }
.b-coaches .sa-costsec--alt { background: var(--surface); }
.b-coaches .sa-cost { display: grid; grid-template-columns: repeat(12, 1fr); gap: 24px; align-items: start; }
.b-coaches .sa-cost__l { grid-column: 1 / 7; display: grid; gap: 22px; }
.b-coaches .sa-cost__note { max-width: 40ch; }
.b-coaches .sa-cost__ins { display: grid; gap: 20px; margin-top: 12px; max-width: 520px; }
.b-coaches .sa-range { display: grid; gap: 6px; font-size: var(--s-body); font-weight: 500; }
.b-coaches .sa-range > span { display: flex; justify-content: space-between; gap: 12px; }
.b-coaches .sa-range output { font-weight: 700; font-variant-numeric: tabular-nums; white-space: nowrap; }
.b-coaches .sa-range input { -webkit-appearance: none; appearance: none; width: 100%; height: 44px; background: transparent; cursor: pointer; margin: 0; }
.b-coaches .sa-range input::-webkit-slider-runnable-track { height: 8px; border-radius: 4px; background: color-mix(in srgb, var(--paper) 30%, transparent); }
.b-coaches .sa-range input::-moz-range-track { height: 8px; border-radius: 4px; background: color-mix(in srgb, var(--paper) 30%, transparent); }
.b-coaches .sa-range input::-webkit-slider-thumb { -webkit-appearance: none; width: 28px; height: 28px; margin-top: -10px; border-radius: 50%; background: var(--paper); border: 0; transition: transform var(--t-press) var(--ease); }
.b-coaches .sa-range input::-moz-range-thumb { width: 28px; height: 28px; border-radius: 50%; background: var(--paper); border: 0; }
.b-coaches .sa-range input:active::-webkit-slider-thumb { transform: scale(1.15); }
.b-coaches .sa-cost__total { font-size: var(--s-hero); font-weight: 600; letter-spacing: -.05em; line-height: .85; font-variant-numeric: tabular-nums; margin-top: 28px; white-space: nowrap; }
.b-coaches .sa-cost__cap { font-size: var(--s-body); max-width: 44ch; }
.b-coaches .sa-slip--cost { grid-column: 8 / 12; width: 100%; max-width: 440px; }
.b-coaches .sa-slip--cost .sa-slip__rows li { transition: opacity var(--t-ui) ease; }

/* ledger */
.b-coaches .sa-led { background: var(--surface); }
.b-coaches .sa-led__h { display: grid; grid-template-columns: repeat(12, 1fr); gap: 24px; align-items: end; margin-bottom: 48px; }
.b-coaches .sa-led__h h2 { grid-column: 1 / 7; }
.b-coaches .sa-led__h p { grid-column: 8 / 13; }
.b-coaches .sa-led__more { margin-top: 18px; font-size: var(--s-small); color: var(--muted); display: flex; flex-wrap: wrap; gap: 4px 18px; align-items: center; }
.b-coaches .sa-led__more .sa-link { color: var(--ink); }
.b-coaches .sa-ch { margin: 0; background: var(--paper); color: var(--p-ink); padding: clamp(20px, 3vw, 40px); }
.b-coaches .sa-ch figcaption { display: grid; gap: 4px; }
.b-coaches .sa-ch figcaption b { font-size: var(--s-sub); letter-spacing: -.02em; line-height: 1.2; }
.b-coaches .sa-ch figcaption span { font-size: var(--s-small); color: var(--p-muted); }
.b-coaches .sa-ch__legend { display: flex; flex-wrap: wrap; gap: 8px 20px; margin: 18px 0 14px; font-size: var(--s-small); font-weight: 500; }
.b-coaches .sa-ch__legend span { display: inline-flex; align-items: center; gap: 8px; }
.b-coaches .sa-ch__legend i { width: 14px; height: 14px; border-radius: 3px; }
.b-coaches .sa-ch svg { width: 100%; height: auto; display: block; overflow: visible; }
.b-coaches .sa-ch__scroll { overflow-x: auto; }
.b-coaches .sa-ch--waffle svg { min-width: 560px; }
.b-coaches .sa-ch__lab, .b-coaches .sa-ch__val, .b-coaches .sa-ch__tick { font: 500 var(--s-small) var(--b-t); fill: var(--p-ink); }
.b-coaches .sa-ch__tick { font-size: var(--s-small); fill: var(--p-muted); font-variant-numeric: tabular-nums; }
.b-coaches .sa-ch__val { font-weight: 600; }
.b-coaches .sa-ch [data-tip] { cursor: pointer; transition: opacity var(--t-hover) ease; outline: none; }
.b-coaches .sa-ch [data-tip]:hover, .b-coaches .sa-ch [data-tip]:focus-visible { opacity: .7; }
.b-coaches .sa-tip { position: fixed; z-index: 50; max-width: 260px; padding: 10px 12px; border-radius: var(--r); background: var(--dark); color: var(--paper); font: 500 var(--s-small)/1.4 var(--b-t); pointer-events: none; box-shadow: 0 10px 24px -6px rgba(20, 10, 2, .45); } /* taste-skill-ignore: floating tooltip */

/* offers, like a menu, with the image index */
.b-coaches .sa-price { background: var(--paper); color: var(--p-ink); }
.b-coaches .sa-price__in { display: grid; grid-template-columns: repeat(12, 1fr); gap: 24px; }
.b-coaches .sa-price__h { grid-column: 1 / 4; display: grid; gap: 18px; align-content: start; }
.b-coaches .sa-price__h .sa-h { font-size: var(--s-h2); }
.b-coaches .sa-price__h p { font-size: var(--s-body); }
.b-coaches .sa-price__frame { position: relative; aspect-ratio: 4 / 5; margin-top: 12px; background: var(--paper-2); overflow: hidden; }
.b-coaches .sa-price__frame img { position: absolute; inset: 0; height: 100%; object-fit: cover; opacity: 0; transition: opacity var(--t-ui) ease, transform 1.2s var(--ease); transform: scale(1.04); }
.b-coaches .sa-price__frame img.is-on { opacity: 1; transform: none; }
.b-coaches .sa-price__list { grid-column: 5 / 13; display: grid; grid-template-columns: 1fr 1fr; gap: 0 64px; }
.b-coaches .sa-menu__g h3 { font-size: var(--s-sub); font-weight: 500; letter-spacing: -.02em; margin-top: 48px; }
.b-coaches .sa-menu__g:first-child h3, .b-coaches .sa-menu__g:nth-child(2) h3 { margin-top: 0; }
.b-coaches .sa-menu__g ul { list-style: none; margin: 8px 0 0; padding: 0; display: grid; gap: 8px; }
.b-coaches .sa-menu__row a { display: grid; grid-template-columns: 1fr auto; gap: 4px 16px; padding: 14px 0; text-decoration: none; transition: opacity var(--t-hover) ease; }
.b-coaches .sa-menu__img { display: none; grid-column: 1 / -1; margin-bottom: 8px; }
.b-coaches .sa-menu__img img { aspect-ratio: 3 / 2; object-fit: cover; }
.b-coaches .sa-menu__name { font-size: var(--s-body); font-weight: 600; letter-spacing: -.01em; }
.b-coaches .sa-menu__price { font-size: var(--s-body); font-weight: 600; font-variant-numeric: tabular-nums; }
.b-coaches .sa-menu__d { grid-column: 1 / -1; font-size: var(--s-body); color: var(--p-muted); max-width: 36ch; }
.b-coaches .sa-menu__row a:hover .sa-menu__name { text-decoration: underline; }
@media (hover: hover) and (pointer: fine) { .b-coaches .sa-price__list.is-hover .sa-menu__row:not(.is-on) a { opacity: .38; } }
@media (hover: none) { .b-coaches .sa-menu__img { display: block; } .b-coaches .sa-price__frame { display: none; } }

/* founder's letter, on a sheet with a tear-off strip */
.b-coaches .sa-letter { background: var(--bg); padding: clamp(120px, 13vw, 180px) 0; }
.b-coaches .sa-sheet { max-width: 640px; margin: 0 auto; background: var(--paper); color: var(--p-ink); padding: 60px 60px 0; display: grid; gap: 20px; font-family: var(--serif); font-size: var(--s-body); line-height: 1.55; }
.b-coaches .sa-sheet__pic { width: 64px; height: 64px; border-radius: 50%; overflow: hidden; background: var(--paper-3); }
.b-coaches .sa-sheet__pic img { width: 100%; height: 100%; object-fit: cover; }
.b-coaches .sa-sheet__sign { font-style: italic; font-size: var(--s-sub); margin-top: 8px; }
.b-coaches .sa-sheet__role { font-family: var(--b-t); font-size: var(--s-small); color: var(--p-muted); margin-top: -14px; }
.b-coaches .sa-sheet__tear { margin: 28px -60px 0; padding: 26px 60px 34px; background: var(--paper-2); border-top: 5px dotted var(--bg); font-family: var(--b-t); font-size: var(--s-body); font-weight: 600; clip-path: polygon(0 0, 100% 0, 100.00% calc(100% - 12.0px), 99.58% calc(100% - 6.0px), 98.44% calc(100% - 1.6px), 96.88% calc(100% - 0.0px), 95.31% calc(100% - 1.6px), 94.17% calc(100% - 6.0px), 93.75% calc(100% - 12.0px), 93.75% calc(100% - 12.0px), 93.33% calc(100% - 6.0px), 92.19% calc(100% - 1.6px), 90.62% calc(100% - 0.0px), 89.06% calc(100% - 1.6px), 87.92% calc(100% - 6.0px), 87.50% calc(100% - 12.0px), 87.50% calc(100% - 12.0px), 87.08% calc(100% - 6.0px), 85.94% calc(100% - 1.6px), 84.38% calc(100% - 0.0px), 82.81% calc(100% - 1.6px), 81.67% calc(100% - 6.0px), 81.25% calc(100% - 12.0px), 81.25% calc(100% - 12.0px), 80.83% calc(100% - 6.0px), 79.69% calc(100% - 1.6px), 78.12% calc(100% - 0.0px), 76.56% calc(100% - 1.6px), 75.42% calc(100% - 6.0px), 75.00% calc(100% - 12.0px), 75.00% calc(100% - 12.0px), 74.58% calc(100% - 6.0px), 73.44% calc(100% - 1.6px), 71.88% calc(100% - 0.0px), 70.31% calc(100% - 1.6px), 69.17% calc(100% - 6.0px), 68.75% calc(100% - 12.0px), 68.75% calc(100% - 12.0px), 68.33% calc(100% - 6.0px), 67.19% calc(100% - 1.6px), 65.62% calc(100% - 0.0px), 64.06% calc(100% - 1.6px), 62.92% calc(100% - 6.0px), 62.50% calc(100% - 12.0px), 62.50% calc(100% - 12.0px), 62.08% calc(100% - 6.0px), 60.94% calc(100% - 1.6px), 59.38% calc(100% - 0.0px), 57.81% calc(100% - 1.6px), 56.67% calc(100% - 6.0px), 56.25% calc(100% - 12.0px), 56.25% calc(100% - 12.0px), 55.83% calc(100% - 6.0px), 54.69% calc(100% - 1.6px), 53.12% calc(100% - 0.0px), 51.56% calc(100% - 1.6px), 50.42% calc(100% - 6.0px), 50.00% calc(100% - 12.0px), 50.00% calc(100% - 12.0px), 49.58% calc(100% - 6.0px), 48.44% calc(100% - 1.6px), 46.88% calc(100% - 0.0px), 45.31% calc(100% - 1.6px), 44.17% calc(100% - 6.0px), 43.75% calc(100% - 12.0px), 43.75% calc(100% - 12.0px), 43.33% calc(100% - 6.0px), 42.19% calc(100% - 1.6px), 40.62% calc(100% - 0.0px), 39.06% calc(100% - 1.6px), 37.92% calc(100% - 6.0px), 37.50% calc(100% - 12.0px), 37.50% calc(100% - 12.0px), 37.08% calc(100% - 6.0px), 35.94% calc(100% - 1.6px), 34.38% calc(100% - 0.0px), 32.81% calc(100% - 1.6px), 31.67% calc(100% - 6.0px), 31.25% calc(100% - 12.0px), 31.25% calc(100% - 12.0px), 30.83% calc(100% - 6.0px), 29.69% calc(100% - 1.6px), 28.12% calc(100% - 0.0px), 26.56% calc(100% - 1.6px), 25.42% calc(100% - 6.0px), 25.00% calc(100% - 12.0px), 25.00% calc(100% - 12.0px), 24.58% calc(100% - 6.0px), 23.44% calc(100% - 1.6px), 21.88% calc(100% - 0.0px), 20.31% calc(100% - 1.6px), 19.17% calc(100% - 6.0px), 18.75% calc(100% - 12.0px), 18.75% calc(100% - 12.0px), 18.33% calc(100% - 6.0px), 17.19% calc(100% - 1.6px), 15.62% calc(100% - 0.0px), 14.06% calc(100% - 1.6px), 12.92% calc(100% - 6.0px), 12.50% calc(100% - 12.0px), 12.50% calc(100% - 12.0px), 12.08% calc(100% - 6.0px), 10.94% calc(100% - 1.6px), 9.38% calc(100% - 0.0px), 7.81% calc(100% - 1.6px), 6.67% calc(100% - 6.0px), 6.25% calc(100% - 12.0px), 6.25% calc(100% - 12.0px), 5.83% calc(100% - 6.0px), 4.69% calc(100% - 1.6px), 3.12% calc(100% - 0.0px), 1.56% calc(100% - 1.6px), 0.42% calc(100% - 6.0px), 0.00% calc(100% - 12.0px)); }
.b-coaches .sa-sheet__tear a { min-height: 44px; display: inline-flex; align-items: center; }

/* answers as reading text */
.b-coaches .sa-faq { background: var(--paper-2); color: var(--p-ink); }
.b-coaches .sa-faq__in { display: grid; grid-template-columns: repeat(12, 1fr); gap: 24px; }
.b-coaches .sa-faq__in > .sa-h { grid-column: 1 / 4; font-size: var(--s-h2); }
.b-coaches .sa-faq__cols { grid-column: 5 / 13; columns: 2; column-gap: 56px; }
.b-coaches .sa-faq__cols p { break-inside: avoid; margin: 0 0 22px; font-size: var(--s-body); line-height: 1.55; }
.b-coaches .sa-faq__cols b { font-weight: 600; }

/* the reply card */
.b-coaches .sa-cta { background: var(--olive); color: var(--paper); min-height: 78svh; padding-bottom: 0; display: flex; align-items: flex-end; overflow: hidden; }
.b-coaches .sa-cta__in { width: 100%; display: grid; grid-template-columns: repeat(12, 1fr); gap: 24px; align-items: end; }
.b-coaches .sa-cta__note { grid-column: 1 / 5; font-family: var(--serif); font-size: var(--s-sub); line-height: 1.4; padding-bottom: 64px; }
.b-coaches .sa-cta__note a { font-weight: 600; display: inline-flex; min-height: 44px; align-items: center; }
.b-coaches .sa-card { grid-column: 6 / 13; aspect-ratio: 7 / 5; background: var(--paper); color: var(--p-ink); padding: 48px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; gap: 16px; transform: rotate(-2deg) translateY(60px); transform-origin: 50% 100%; transition: transform .6s var(--ease); }
.b-coaches .sa-card h2 { font-size: var(--s-h2); }
.b-coaches .sa-card p { font-size: var(--s-body); max-width: 40ch; }
.b-coaches .sa-card__bar { margin-top: 12px; width: 100%; min-height: 56px; display: flex; align-items: center; justify-content: center; background: var(--dark); color: var(--paper); font-weight: 600; font-size: var(--s-body); text-decoration: none; transition: background-color var(--t-hover) ease, transform var(--t-press) var(--ease); }
.b-coaches .sa-card__bar:hover { background: #000; }
.b-coaches .sa-card__bar:active { transform: translateY(2px); }
.b-coaches .sa-cta:hover .sa-card { transform: rotate(-1deg) translateY(44px); }

/* footer: the back of the postcard */
.b-coaches .sa-foot { background: var(--bg); padding: clamp(96px, 10vw, 140px) var(--m) 32px; }
.b-coaches .sa-foot__card { max-width: 1140px; margin: 0 auto; background: var(--paper); color: var(--p-ink); padding: 72px clamp(24px, 4vw, 64px) 28px; display: grid; grid-template-columns: 1fr 1fr; gap: 40px 64px; clip-path: polygon(0.00% 14.0px, 0.56% 7.0px, 2.08% 1.9px, 4.17% 0.0px, 6.25% 1.9px, 7.78% 7.0px, 8.33% 14.0px, 8.33% 14.0px, 8.89% 7.0px, 10.42% 1.9px, 12.50% 0.0px, 14.58% 1.9px, 16.11% 7.0px, 16.67% 14.0px, 16.67% 14.0px, 17.22% 7.0px, 18.75% 1.9px, 20.83% 0.0px, 22.92% 1.9px, 24.44% 7.0px, 25.00% 14.0px, 25.00% 14.0px, 25.56% 7.0px, 27.08% 1.9px, 29.17% 0.0px, 31.25% 1.9px, 32.78% 7.0px, 33.33% 14.0px, 33.33% 14.0px, 33.89% 7.0px, 35.42% 1.9px, 37.50% 0.0px, 39.58% 1.9px, 41.11% 7.0px, 41.67% 14.0px, 41.67% 14.0px, 42.22% 7.0px, 43.75% 1.9px, 45.83% 0.0px, 47.92% 1.9px, 49.44% 7.0px, 50.00% 14.0px, 50.00% 14.0px, 50.56% 7.0px, 52.08% 1.9px, 54.17% 0.0px, 56.25% 1.9px, 57.78% 7.0px, 58.33% 14.0px, 58.33% 14.0px, 58.89% 7.0px, 60.42% 1.9px, 62.50% 0.0px, 64.58% 1.9px, 66.11% 7.0px, 66.67% 14.0px, 66.67% 14.0px, 67.22% 7.0px, 68.75% 1.9px, 70.83% 0.0px, 72.92% 1.9px, 74.44% 7.0px, 75.00% 14.0px, 75.00% 14.0px, 75.56% 7.0px, 77.08% 1.9px, 79.17% 0.0px, 81.25% 1.9px, 82.78% 7.0px, 83.33% 14.0px, 83.33% 14.0px, 83.89% 7.0px, 85.42% 1.9px, 87.50% 0.0px, 89.58% 1.9px, 91.11% 7.0px, 91.67% 14.0px, 91.67% 14.0px, 92.22% 7.0px, 93.75% 1.9px, 95.83% 0.0px, 97.92% 1.9px, 99.44% 7.0px, 100.00% 14.0px, 100% 100%, 0 100%); min-height: 420px; }
.b-coaches .sa-foot__msg { display: grid; gap: 16px; align-content: start; font-size: var(--s-body); }
.b-coaches .sa-foot__sign { font-size: var(--s-lead); font-weight: 600; letter-spacing: -.03em; }
.b-coaches .sa-foot__small { font-size: var(--s-small); color: var(--p-muted); }
.b-coaches .sa-foot__addr { position: relative; display: grid; gap: 12px; align-content: start; font-size: var(--s-body); padding-top: 140px; }
.b-coaches .sa-foot__addr a { text-decoration: none; min-height: 44px; display: inline-flex; align-items: center; justify-self: start; }
.b-coaches .sa-foot__addr a:hover { text-decoration: underline; }
.b-coaches .sa-stamp { position: absolute; top: 0; right: 0; width: 92px; padding: 6px; background: var(--paper-2); transform: rotate(3deg); }
.b-coaches .sa-stamp img { aspect-ratio: 3 / 4; object-fit: cover; }
.b-coaches .sa-foot__imp { grid-column: 1 / -1; text-align: center; font-size: var(--s-small); color: var(--p-muted); }
body.b-coaches .dm-credit { color: var(--muted); }

/* program page */
.b-coaches .sa-ptop, .b-coaches .sa-ltop { padding: clamp(56px, 8vw, 120px) 0 clamp(96px, 10vw, 150px); }
.b-coaches .sa-md { margin: clamp(56px, 7vw, 96px) 0 0; background: var(--paper); color: var(--p-ink); padding: clamp(20px, 3vw, 40px); }
.b-coaches .sa-md ol { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(12, 1fr); gap: 4px; }
.b-coaches .sa-md__weeks li { font-size: var(--s-small); color: var(--p-muted); font-variant-numeric: tabular-nums; padding-left: 4px; }
.b-coaches .sa-md__bands { margin-top: 8px !important; }
.b-coaches .sa-md__band { min-height: 112px; padding: 14px 16px; display: grid; align-content: space-between; gap: 8px; border-radius: 4px; transform-origin: left; }
.b-coaches .sa-md__band b { font-size: var(--s-sub); letter-spacing: -.02em; line-height: 1.1; }
.b-coaches .sa-md__band span { font-size: var(--s-small); }
.b-coaches .sa-md__band--0 { background: var(--paper-3); } .b-coaches .sa-md__band--1 { background: var(--olive); color: var(--paper); }
.b-coaches .sa-md__band--2 { background: var(--ochre); } .b-coaches .sa-md__band--3 { background: var(--dark); color: var(--paper); }
.b-coaches .sa-md__flags { margin-top: 14px !important; row-gap: 12px; }
.b-coaches .sa-md__flags li { display: grid; gap: 2px; font-size: var(--s-small); padding: 10px 0 0 12px; line-height: 1.25; position: relative; } .b-coaches .sa-md__flags li::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; border-radius: 2px; background: var(--p-ink); }
.b-coaches .sa-md__flags span { color: var(--p-muted); }
.b-coaches .sa-md figcaption { margin-top: 26px; font-size: var(--s-body); max-width: 70ch; }
.b-coaches .sa-phs { background: var(--surface); padding-top: 0; padding-bottom: 0; }
.b-coaches .sa-phs__in { display: grid; padding-top: 60px; padding-bottom: clamp(96px, 10vw, 150px); }
.b-coaches .sa-ph { display: grid; grid-template-columns: repeat(12, 1fr); gap: 8px 24px; padding: 40px 0 44px; align-items: baseline; }
.b-coaches .sa-ph h3 { grid-column: 1 / 6; font-size: var(--s-h2); }
.b-coaches .sa-ph__w { grid-column: 6 / 8; font-weight: 600; font-variant-numeric: tabular-nums; }
.b-coaches .sa-ph p:last-child { grid-column: 8 / 13; }
.b-coaches .sa-ph { padding-left: clamp(16px, 2vw, 28px); padding-right: clamp(16px, 2vw, 28px); } .b-coaches .sa-ph:nth-child(even) { background: var(--surface-2); }
.b-coaches .sa-team { background: var(--bg); }
.b-coaches .sa-team__in { display: grid; grid-template-columns: repeat(12, 1fr); gap: 32px 24px; }
.b-coaches .sa-team__in > .sa-h { grid-column: 1 / 6; }
.b-coaches .sa-team__ps { grid-column: 7 / 13; display: grid; gap: 40px; }
.b-coaches .sa-team__p h3 { font-size: var(--s-lead); letter-spacing: -.02em; }
.b-coaches .sa-team__r { font-weight: 600; color: var(--ochre); margin: 6px 0 10px; }
.b-coaches .sa-team__pic { grid-column: 1 / 13; margin-top: 40px; } .b-coaches .sa-team__pic img { aspect-ratio: 21 / 9; object-fit: cover; }

/* assessment page */
.b-coaches .sa-atop { padding: clamp(48px, 6vw, 96px) 0 clamp(96px, 10vw, 150px); }
.b-coaches .sa-atop__in { display: grid; grid-template-columns: repeat(12, 1fr); gap: 24px; align-items: start; }
.b-coaches .sa-atop__h { grid-column: 1 / 6; position: sticky; top: 24px; }
.b-coaches .sa-atop__tool { grid-column: 6 / 13; }
.b-coaches .sa-how { background: var(--paper); color: var(--p-ink); }
.b-coaches .sa-how__in { display: grid; grid-template-columns: repeat(12, 1fr); gap: 24px; }
.b-coaches .sa-how__in > .sa-h { grid-column: 1 / 5; font-size: var(--s-h2); }
.b-coaches .sa-how .sa-faq__cols p { font-size: var(--s-body); }

/* workshop page */
.b-coaches .sa-wtop { padding: clamp(48px, 6vw, 96px) 0 clamp(96px, 10vw, 150px); }
.b-coaches .sa-wtop__in { display: grid; grid-template-columns: repeat(12, 1fr); gap: 24px; align-items: start; }
.b-coaches .sa-wtop__h { grid-column: 1 / 7; }
.b-coaches .sa-wtop__pic { margin-top: 48px; width: 90%; } .b-coaches .sa-wtop__pic img { aspect-ratio: 3 / 2; object-fit: cover; }
.b-coaches .sa-reg { grid-column: 8 / 13; background: var(--paper); color: var(--p-ink); padding: clamp(22px, 3vw, 40px); display: grid; gap: 18px; }
.b-coaches .sa-reg__t { font-size: var(--s-lead); font-weight: 600; letter-spacing: -.025em; }
.b-coaches .sa-cal__bar { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.b-coaches .sa-cal__m { font-weight: 600; font-size: var(--s-body); }
.b-coaches .sa-cal__nav { font: inherit; font-size: var(--s-small); font-weight: 600; min-width: 64px; min-height: 44px; border: 0; border-radius: var(--r); background: var(--paper-2); color: var(--p-ink); cursor: pointer; transition: background-color var(--t-hover) ease; }
.b-coaches .sa-cal__nav:hover:not([disabled]) { background: var(--paper-3); }
.b-coaches .sa-cal__nav[disabled] { opacity: .4; cursor: default; }
.b-coaches .sa-cal__dow, .b-coaches .sa-cal__grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 4px; }
.b-coaches .sa-cal__dow { margin-top: 12px; font-size: var(--s-small); color: var(--p-muted); text-align: center; }
.b-coaches .sa-cal__grid { margin-top: 6px; }
.b-coaches .sa-cal__d { font: inherit; font-size: var(--s-small); min-height: 46px; border: 0; border-radius: var(--r); background: transparent; color: color-mix(in srgb, var(--p-ink) 45%, transparent); font-variant-numeric: tabular-nums; }
.b-coaches .sa-cal__d--on { background: var(--t-ol); color: var(--t-ol-ink); font-weight: 700; cursor: pointer; transition: background-color var(--t-hover) ease, transform var(--t-press) var(--ease); }
.b-coaches .sa-cal__d--on:hover { background: #bfc58f; }
.b-coaches .sa-cal__d--on:active { transform: scale(.95); }
.b-coaches .sa-cal__d[aria-pressed="true"] { background: var(--olive); color: var(--paper); }
.b-coaches .sa-cal__sel { margin-top: 12px; font-size: var(--s-small); font-weight: 500; min-height: 2.6em; }
.b-coaches .sa-form, .b-coaches .sa-ap { display: grid; gap: 14px; }
.b-coaches .sa-f { display: grid; gap: 6px; font-size: var(--s-small); font-weight: 600; }
.b-coaches .sa-f input, .b-coaches .sa-f select { font: 400 var(--s-body) var(--b-t); min-height: 50px; padding: 10px 14px; border: 2px solid transparent; border-radius: var(--r); background: var(--paper-2); color: var(--p-ink); caret-color: var(--olive); transition: border-color var(--t-hover) ease, background-color var(--t-hover) ease; }
.b-coaches .sa-f input::placeholder { color: #6e5a45; }
.b-coaches .sa-f input:focus, .b-coaches .sa-f select:focus { outline: none; border-color: var(--olive); background: #fff9ea; }
.b-coaches .sa-f input[aria-invalid="true"] { border-color: #9c4a2a; }
.b-coaches .sa-chk { display: grid; grid-template-columns: 24px 1fr; gap: 12px; align-items: start; font-size: var(--s-small); line-height: 1.45; color: var(--p-muted); }
.b-coaches .sa-chk input { width: 22px; height: 22px; margin: 2px 0 0; accent-color: var(--olive); }
.b-coaches .sa-form .sa-btn, .b-coaches .sa-ap .sa-btn { justify-self: start; margin-top: 6px; }
.b-coaches .sa-form__err { color: #8a3a1c; font-weight: 600; font-size: var(--s-small); }
.b-coaches .sa-done { padding: 22px; background: var(--olive); color: var(--paper); display: grid; gap: 10px; animation: saIn .42s var(--ease) both; }
.b-coaches .sa-done b { font-size: var(--s-sub); letter-spacing: -.02em; }
.b-coaches .sa-done ol { margin: 6px 0 0; padding-left: 1.2em; display: grid; gap: 6px; font-size: var(--s-small); }
.b-coaches .sa-wgets { background: var(--surface); }
.b-coaches .sa-wgets__in, .b-coaches .sa-apwhy__in, .b-coaches .sa-lwaf__in { display: grid; grid-template-columns: repeat(12, 1fr); gap: 24px; align-items: center; }
.b-coaches .sa-wgets__in figure, .b-coaches .sa-apwhy__in figure { grid-column: 1 / 6; margin: 0; } .b-coaches .sa-wgets__in figure img, .b-coaches .sa-apwhy__in figure img { aspect-ratio: 4 / 5; object-fit: cover; }
.b-coaches .sa-wgets__in > div, .b-coaches .sa-apwhy__in > div { grid-column: 7 / 12; display: grid; gap: 20px; }
.b-coaches .sa-steps--work .sa-slip { grid-column: 7 / 13; }

/* ledger page */
.b-coaches .sa-ltop__in { display: grid; grid-template-columns: repeat(12, 1fr); gap: 0 24px; align-items: end; } .b-coaches .sa-ltop__t { grid-column: 1 / 8; } .b-coaches .sa-ltop__pic { grid-column: 9 / 13; margin: 0; } .b-coaches .sa-ltop__pic img { aspect-ratio: 4 / 5; object-fit: cover; } .b-coaches .sa-ldb__pic { margin: 0 0 40px; } .b-coaches .sa-ldb__pic img { aspect-ratio: 21 / 8; object-fit: cover; }
@media (max-width: 900px) { .b-coaches .sa-ltop__t, .b-coaches .sa-ltop__pic { grid-column: 1 / -1; } .b-coaches .sa-ltop__pic { margin-top: 40px; width: 70%; } }
.b-coaches .sa-ltop__typ { margin-top: 40px; max-width: 70ch; padding: 22px 26px; background: var(--surface); font-size: var(--s-body); }
.b-coaches .sa-lwaf { background: var(--paper-2); color: var(--p-ink); }
.b-coaches .sa-lwaf__in .sa-ch { grid-column: 1 / 9; }
.b-coaches .sa-lwaf__t { grid-column: 9 / 13; display: grid; gap: 20px; }
.b-coaches .sa-lwaf__t .sa-h { font-size: var(--s-h2); }
.b-coaches .sa-lstr { background: var(--surface); }
.b-coaches .sa-lstr__in { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.b-coaches .sa-ldb { background: var(--bg); }
.b-coaches .sa-ldb .sa-h { margin-bottom: 40px; }
.b-coaches .sa-db { background: var(--paper); color: var(--p-ink); padding: clamp(18px, 2.6vw, 36px); }
.b-coaches .sa-db__bar { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 14px; align-items: center; }
.b-coaches .sa-db__t { font-size: var(--s-sub); font-weight: 600; letter-spacing: -.02em; }
.b-coaches .sa-db__tabs { display: flex; flex-wrap: wrap; gap: 6px; }
.b-coaches .sa-pill { font: inherit; font-size: var(--s-small); font-weight: 600; min-height: 44px; padding: 0 16px; border-radius: 999px; border: 0; background: var(--paper-2); color: var(--p-ink); cursor: pointer; transition: background-color var(--t-hover) ease; }
.b-coaches .sa-pill:hover { background: var(--paper-3); }
.b-coaches .sa-pill[aria-pressed="true"] { background: var(--dark); color: var(--paper); }
.b-coaches .sa-db__scroll { overflow-x: auto; margin-top: 20px; }
.b-coaches .sa-db table { width: 100%; border-collapse: collapse; font-size: var(--s-small); font-variant-numeric: tabular-nums; min-width: 680px; }
.b-coaches .sa-db th { text-align: left; font-weight: 600; color: var(--p-muted); padding: 10px 12px; border-bottom: 1px solid var(--paper-3); white-space: nowrap; }
.b-coaches .sa-db td { padding: 11px 12px; border-bottom: 1px solid var(--paper-2); }
.b-coaches .sa-db .n { text-align: right; }
.b-coaches .sa-db tr[hidden] { display: none; }
.b-coaches .sa-db__fine { margin-top: 16px; font-size: var(--s-small); color: var(--p-muted); }

/* apply page */
.b-coaches .sa-aptop { padding: clamp(48px, 6vw, 96px) 0 clamp(96px, 10vw, 150px); }
.b-coaches .sa-ap__in { display: grid; grid-template-columns: repeat(12, 1fr); gap: 24px; align-items: start; }
.b-coaches .sa-ap__h { grid-column: 1 / 6; }
.b-coaches .sa-ap__after { margin-top: 56px; display: grid; gap: 16px; }
.b-coaches .sa-ap__after h2 { font-size: var(--s-lead); letter-spacing: -.02em; }
.b-coaches .sa-ap__after ol { margin: 0; padding-left: 1.3em; display: grid; gap: 12px; font-size: var(--s-body); }
.b-coaches .sa-ap__after li b { display: block; }
.b-coaches .sa-ap__after li span { color: var(--muted); }
.b-coaches .sa-ap { grid-column: 7 / 13; background: var(--paper); color: var(--p-ink); padding: clamp(22px, 3vw, 44px); gap: 26px; }
.b-coaches .sa-ap fieldset { border: 0; margin: 0; padding: 0; display: grid; gap: 14px; }
.b-coaches .sa-ap legend { font-size: var(--s-lead); font-weight: 600; letter-spacing: -.025em; margin-bottom: 14px; padding: 0; }
.b-coaches .sa-radios { display: grid; gap: 8px; }
.b-coaches .sa-radios p { font-size: var(--s-small); font-weight: 600; }
.b-coaches .sa-radios label { display: flex; gap: 12px; align-items: center; min-height: 52px; padding: 0 16px; border-radius: var(--r); background: var(--paper-2); cursor: pointer; font-size: var(--s-body); transition: background-color var(--t-hover) ease; }
.b-coaches .sa-radios label:hover { background: var(--paper-3); }
.b-coaches .sa-radios input { width: 20px; height: 20px; accent-color: var(--olive); margin: 0; }
.b-coaches .sa-radios label:has(input:checked) { background: var(--t-ol); }
.b-coaches .sa-ap__route { padding: 18px 20px; background: var(--t-oc); color: var(--t-oc-ink); font-size: var(--s-body); }
.b-coaches .sa-ap__route a { font-weight: 700; }
.b-coaches .sa-ap__score { padding: 14px 18px; background: var(--t-ol); color: var(--t-ol-ink); font-weight: 600; font-size: var(--s-small); }
.b-coaches .sa-ap__tz { font-size: var(--s-small); color: var(--p-muted); margin-top: -6px; }
.b-coaches .sa-slots { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.b-coaches .sa-slots .sa-slot { background: var(--paper-2); color: var(--p-ink); }
.b-coaches .sa-slots .sa-slot:hover { background: var(--paper-3); }
.b-coaches .sa-slots .sa-slot[aria-pressed="true"] { background: var(--olive); color: var(--paper); }
.b-coaches .sa-apwhy { background: var(--surface); }

/* case page wrapper (the signature sits inside Jefi's page) */
.b-coaches.wk-sigwrap { background: var(--bg); padding: clamp(14px, 2.4vw, 28px); border-radius: 0; font: 400 var(--s-body)/1.55 var(--b-t); color: var(--ink); }

/* entrances */
.b-coaches.rv-on [data-rv] > *, .rv-on .b-coaches [data-rv] > * { transition: opacity .8s var(--ease), transform .8s var(--ease); transition-delay: var(--rv, 0ms); }
@media (prefers-reduced-motion: no-preference) {
  .b-coaches [data-rise] { opacity: 0; transform: translateY(22px); animation: saRise .9s var(--ease) forwards; animation-delay: calc(var(--i, 0) * 110ms + 120ms); }
  .b-coaches .sa-stack .sa-fold { animation: saFold .9s var(--ease) both; animation-delay: calc(var(--i) * 90ms + 380ms); }
  .b-coaches .sa-front { animation: saFold 1s var(--ease) both; animation-delay: 740ms; }
  .b-coaches .sa-intro__pic img, .b-coaches .sa-team__pic img, .b-coaches .sa-wtop__pic img { transform: scale(1.06); transition: transform 1.6s var(--ease); }
  .b-coaches .is-shown img { transform: none !important; }
  .b-coaches .sa-md__band { animation: saGrow 1s var(--ease) both; animation-delay: calc(var(--d, 0) * 1ms + 300ms); }
  .b-coaches .sa-card { transform: rotate(-6deg) translateY(160px); }
  .b-coaches .sa-card.is-shown { transform: rotate(-2deg) translateY(60px); }
  .b-coaches .sa-cta:hover .sa-card.is-shown { transform: rotate(-1deg) translateY(44px); }
}
@keyframes saRise { to { opacity: 1; transform: none; } }
@keyframes saFold { from { transform: translateY(70px); } to { transform: none; } }
@keyframes saGrow { from { transform: scaleX(.2); opacity: .2; } to { transform: none; opacity: 1; } }
@media (prefers-reduced-motion: reduce) {
  .b-coaches .sa-as__step, .b-coaches .sa-done, .b-coaches .sa-as__bars i b { animation: none; }
  .b-coaches .sa-fold:hover { transform: none; }
}

/* tablet */
@media (max-width: 1080px) {
  .b-coaches .sa-top__nav { gap: 16px; font-size: var(--s-small); }
  .b-coaches .sa-price__h { grid-column: 1 / -1; grid-template-columns: 1fr 1fr; align-items: start; }
  .b-coaches .sa-price__frame { display: none; }
  .b-coaches .sa-price__list { grid-column: 1 / -1; }
  .b-coaches .sa-assess__tool, .b-coaches .sa-atop__tool { grid-column: 1 / -1; order: 2; }
  .b-coaches .sa-assess__h, .b-coaches .sa-atop__h { grid-column: 1 / -1; position: static; }
}
@media (max-width: 900px) {
  .b-coaches .sa-top__in { grid-template-columns: 1fr auto; }
  .b-coaches .sa-top__nav, .b-coaches .sa-top__act { display: none; }
  .b-coaches .sa-wm { justify-self: start; }
  .b-coaches .sa-menu { display: block; position: relative; }
  .b-coaches .sa-menu summary { list-style: none; cursor: pointer; min-height: 44px; display: inline-flex; align-items: center; padding: 0 16px; font-weight: 600; font-size: var(--s-small); background: var(--surface-2); border-radius: var(--r); }
  .b-coaches .sa-menu summary::-webkit-details-marker { display: none; }
  .b-coaches .sa-menu nav { position: absolute; right: 0; top: calc(100% + 8px); width: min(300px, calc(100vw - 32px)); display: grid; padding: 10px 18px; background: var(--paper); border-radius: var(--r); }
  .b-coaches .sa-menu nav a { color: var(--p-ink); font-weight: 600; font-size: var(--s-body); }
  .b-coaches .sa-steps__h, .b-coaches .sa-steps .sa-slip, .b-coaches .sa-steps--full .sa-slip, .b-coaches .sa-steps--work .sa-slip,
  .b-coaches .sa-cost__l, .b-coaches .sa-slip--cost, .b-coaches .sa-led__h h2, .b-coaches .sa-led__h p,
  .b-coaches .sa-faq__in > .sa-h, .b-coaches .sa-faq__cols, .b-coaches .sa-how__in > .sa-h, .b-coaches .sa-cta__note, .b-coaches .sa-card,
  .b-coaches .sa-team__in > .sa-h, .b-coaches .sa-team__ps, .b-coaches .sa-wtop__h, .b-coaches .sa-reg, .b-coaches .sa-ap__h, .b-coaches .sa-ap,
  .b-coaches .sa-wgets__in figure, .b-coaches .sa-wgets__in > div, .b-coaches .sa-apwhy__in figure, .b-coaches .sa-apwhy__in > div,
  .b-coaches .sa-lwaf__in .sa-ch, .b-coaches .sa-lwaf__t, .b-coaches .sa-intro__h, .b-coaches .sa-intro__p { grid-column: 1 / -1; }
  .b-coaches .sa-steps .sa-slip, .b-coaches .sa-slip--cost { max-width: none; }
  .b-coaches .sa-intro__p { margin-top: 20px; }
  .b-coaches .sa-lstr__in { grid-template-columns: 1fr; }
  .b-coaches .sa-ph h3, .b-coaches .sa-ph__w, .b-coaches .sa-ph p:last-child { grid-column: 1 / -1; }
  .b-coaches .sa-wgets__in figure, .b-coaches .sa-apwhy__in figure { width: 70%; }
}
/* phone */
@media (max-width: 640px) {
  .b-coaches .sa-wm { font-size: var(--s-body); }
  .b-coaches .sa-hero { min-height: auto; padding-top: 72px; }
  .b-coaches .sa-hero__h { font-size: 15.5vw; }
  .b-coaches .sa-hero__sub { font-size: var(--s-body); margin-top: 20px; }
  .b-coaches .sa-stack, .b-coaches .sa-front { width: 100%; }
  .b-coaches .sa-stack { margin-top: 64px; }
  .b-coaches .sa-fold { height: 52px; }
  .b-coaches .sa-fold__tab { height: 32px; font-size: var(--s-small); padding: 0 20px; }
  .b-coaches .sa-fold--0 { --tx: 3%; } .b-coaches .sa-fold--1 { --tx: 38%; } .b-coaches .sa-fold--2 { --tx: 6%; } .b-coaches .sa-fold--3 { --tx: 48%; }
  .b-coaches .sa-front__tab { left: 22% !important; }
  .b-coaches .sa-front { padding-top: 28px; }
  .b-coaches .sa-front .sa-wrap { padding: 0 20px; }
  .b-coaches .sa-front__act .sa-btn { width: 100%; }
  .b-coaches .sa-intro__h { font-size: var(--s-head); }
  .b-coaches .sa-facts { display: grid; grid-template-columns: 1fr 1fr; gap: 32px 20px; }
  .b-coaches .sa-facts dt { font-size: var(--s-lead); }
  .b-coaches .sa-intro__pic { width: 100%; }
  .b-coaches .sa-slip { padding: 26px 20px 44px; }
  .b-coaches .sa-slip__tot { margin: 26px -20px 0; padding: 12px 20px; }
  .b-coaches .sa-slip__rows li { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; }
  .b-coaches .sa-slip__rows i { display: none; }
  .b-coaches .sa-slip__rows b { text-align: right; }
  .b-coaches .sa-as__sheet { padding: 20px; }
  .b-coaches .sa-as__props dl div { grid-template-columns: 84px 1fr; }
  .b-coaches .sa-as__stage { margin: 24px -20px -20px; padding: 20px; }
  .b-coaches .sa-as__route { margin: 24px -20px -20px; padding: 22px 20px; }
  .b-coaches .sa-as__route .sa-btn { width: 100%; }
  .b-coaches .sa-as__slots, .b-coaches .sa-slots { grid-template-columns: 1fr; }
  .b-coaches .sa-cost__total { font-size: 17vw; }
  .b-coaches .sa-price__h { grid-template-columns: 1fr; }
  .b-coaches .sa-price__list { grid-template-columns: 1fr; }
  .b-coaches .sa-menu__g h3 { font-size: var(--s-sub); } .b-coaches .sa-menu__g:nth-child(2) h3 { margin-top: 40px; }
  .b-coaches .sa-menu__name, .b-coaches .sa-menu__price { font-size: var(--s-body); }
  .b-coaches .sa-sheet { padding: 28px 24px 0; font-size: var(--s-body); }
  .b-coaches .sa-sheet__tear { margin: 24px -24px 0; padding: 22px 24px 30px; }
  .b-coaches .sa-faq__cols { columns: 1; }
  .b-coaches .sa-faq__cols p { font-size: var(--s-body); margin-bottom: 18px; }
  .b-coaches .sa-cta__note { font-size: var(--s-sub); padding-bottom: 32px; }
  .b-coaches .sa-card { width: 92%; justify-self: center; aspect-ratio: auto; padding: 32px 22px 92px; }
  .b-coaches .sa-card h2 { font-size: var(--s-lead); } .b-coaches .sa-card p { font-size: var(--s-body); }
  .b-coaches .sa-card__bar { min-height: 52px; }
  .b-coaches .sa-foot { padding-left: 0; padding-right: 0; }
  .b-coaches .sa-foot__card { grid-template-columns: 1fr; clip-path: polygon(0.00% 14.0px, 1.12% 7.0px, 4.17% 1.9px, 8.33% 0.0px, 12.50% 1.9px, 15.55% 7.0px, 16.67% 14.0px, 16.67% 14.0px, 17.78% 7.0px, 20.83% 1.9px, 25.00% 0.0px, 29.17% 1.9px, 32.22% 7.0px, 33.33% 14.0px, 33.33% 14.0px, 34.45% 7.0px, 37.50% 1.9px, 41.67% 0.0px, 45.83% 1.9px, 48.88% 7.0px, 50.00% 14.0px, 50.00% 14.0px, 51.12% 7.0px, 54.17% 1.9px, 58.33% 0.0px, 62.50% 1.9px, 65.55% 7.0px, 66.67% 14.0px, 66.67% 14.0px, 67.78% 7.0px, 70.83% 1.9px, 75.00% 0.0px, 79.17% 1.9px, 82.22% 7.0px, 83.33% 14.0px, 83.33% 14.0px, 84.45% 7.0px, 87.50% 1.9px, 91.67% 0.0px, 95.83% 1.9px, 98.88% 7.0px, 100.00% 14.0px, 100% 100%, 0 100%); padding-top: 56px; min-height: 0; }
  .b-coaches .sa-foot__addr { padding-top: 0; font-size: var(--s-body); }
  .b-coaches .sa-stamp { position: static; justify-self: end; width: 68px; order: -1; }
  .b-coaches .sa-md__weeks { display: none !important; }
  .b-coaches .sa-md ol { grid-template-columns: 1fr !important; }
  .b-coaches .sa-md__band, .b-coaches .sa-md__flags li { grid-column: 1 !important; }
  .b-coaches .sa-md__band { min-height: 0; grid-template-columns: 1fr auto; align-items: baseline; }
  .b-coaches .sa-md__flags { grid-template-columns: 1fr 1fr !important; }
  .b-coaches .sa-md__flags li { grid-column: auto !important; }
  .b-coaches .sa-ph { padding: 32px 0; }
  .b-coaches .sa-team__pic img { aspect-ratio: 4 / 3; }
  .b-coaches .sa-wgets__in figure, .b-coaches .sa-apwhy__in figure { width: 100%; }
  .b-coaches .sa-cal__d { min-height: 44px; font-size: var(--s-small); }
  .b-coaches .sa-ch--strip svg { min-width: 0; }
}
.b-coaches [hidden] { display: none !important; }

/* shell chrome in this brand's type and colour */
body.b-coaches .dm-ribbon, body.b-coaches .dm-credit { font-family: var(--b-t); }
body.b-coaches .dm-chatbtn > button { box-shadow: none; /* taste-skill-ignore: removes the kit shadow */ background: var(--paper); color: var(--dark); font-family: var(--b-t); border-radius: var(--r); min-height: 48px; }
body.b-coaches .dm-chatbtn > button:hover { background: #fff6e2; }
/* waffle: one square per person */
.b-coaches .sa-wf { list-style: none; margin: 8px 0 0; padding: 0; display: grid; gap: 14px; max-width: 860px; }
.b-coaches .sa-wf li { display: grid; grid-template-columns: 170px auto 1fr; gap: 20px; align-items: center; }
.b-coaches .sa-wf__lab { font-size: var(--s-body); font-weight: 500; }
.b-coaches .sa-wf__val { font-size: var(--s-body); font-weight: 600; font-variant-numeric: tabular-nums; }
.b-coaches .sa-wf__cells { display: grid; grid-template-columns: repeat(8, 36px); gap: 6px; }
.b-coaches .sa-wf__c { width: 36px; height: 36px; border-radius: 4px; cursor: pointer; outline: none; transition: transform var(--t-press) var(--ease), opacity var(--t-hover) ease; }
.b-coaches .sa-wf__c:hover, .b-coaches .sa-wf__c:focus-visible { transform: scale(1.12); }
.b-coaches .sa-wf__c:focus-visible { outline: 3px solid var(--p-ink); outline-offset: 2px; }
.b-coaches .sa-wf__c--C { background: #5c7a1a; } .b-coaches .sa-wf__c--S { background: #c08a2a; } .b-coaches .sa-wf__c--T { background: #9c4a2a; }
.b-coaches .sa-ch__legend i { display: inline-block; }
.b-coaches .sa-as__again { margin-top: 14px; }
/* intro: who it fits, beside the photo */
.b-coaches .sa-intro__low { display: grid; grid-template-columns: repeat(12, 1fr); gap: 24px; margin-top: clamp(56px, 6vw, 88px); align-items: end; }
.b-coaches .sa-for { grid-column: 1 / 6; }
.b-coaches .sa-for h3 { font-size: var(--s-sub); letter-spacing: -.02em; }
.b-coaches .sa-for ul { margin: 16px 0 0; padding: 0; list-style: none; display: grid; gap: 12px; }
.b-coaches .sa-for li { padding-left: 26px; position: relative; }
.b-coaches .sa-for li::before { content: ""; position: absolute; left: 0; top: .5em; width: 12px; height: 8px; background: var(--olive); clip-path: var(--tab); }
.b-coaches .sa-intro__low .sa-intro__pic { grid-column: 7 / 13; width: auto; margin: 0; }
@media (max-width: 900px) { .b-coaches .sa-for, .b-coaches .sa-intro__low .sa-intro__pic { grid-column: 1 / -1; } }
@media (max-width: 640px) {
  .b-coaches .sa-wf li { grid-template-columns: 1fr auto; gap: 8px 12px; }
  .b-coaches .sa-wf__cells { grid-column: 1 / -1; grid-row: 2; grid-template-columns: repeat(8, 1fr); gap: 5px; }
  .b-coaches .sa-wf__c { width: auto; height: auto; aspect-ratio: 1; }
  .b-coaches .sa-wf__lab, .b-coaches .sa-wf__val { font-size: var(--s-small); }
}
@media (max-width: 900px) {
  .b-coaches .sa-front .sa-wrap { display: flex; flex-direction: column; }
  .b-coaches .sa-front .sa-intro { order: 1; margin-top: 24px; }
  .b-coaches .sa-front__act { order: 2; margin-top: 32px; }
  .b-coaches .sa-front .sa-facts { order: 3; }
  .b-coaches .sa-front .sa-intro__low { order: 4; }
}
