/* A session-selection guide; shared navigation and filters remain in editorial.css. */
.workouts-page :is(h1,h2,h3,p,li,a,dt,dd) { overflow-wrap: anywhere; }
.workouts-page p a,.workout-read-list a,.workout-sources a { text-decoration: underline; text-underline-offset: 3px; }
.workout-hero { padding-block: 28px 52px; }
.workout-hero-grid { display: grid; grid-template-columns: minmax(0,1.05fr) minmax(0,.95fr); gap: clamp(32px,6vw,90px); align-items: center; }
.workout-hero-copy { max-width: 540px; }
.workout-hero h1 { font-family: var(--display); font-weight: 600; font-size: clamp(4.8rem,9vw,8rem); line-height: .95; letter-spacing: -.025em; margin: 23px 0; }
.workout-deck { font-family: var(--display); font-size: clamp(1.8rem,3vw,2.7rem); line-height: 1.15; margin-block: 0 24px; max-width: 19ch; }
.workout-hero .page-lead { font-size: clamp(1.05rem,1.4vw,1.18rem); line-height: 1.7; }
.workout-hero-copy > p:not(.workout-deck) { color: var(--ink-soft); }
.workout-jump { display: inline-flex; align-items: center; gap: 25px; color: var(--ink); font-weight: 700; padding-block: 12px; border-block-end: 1px solid currentColor; text-decoration: none; }
.workout-jump span { font-size: 1.6rem; }
.workout-byline { display: flex; flex-wrap: wrap; gap: 7px 16px; margin-block-start: 24px; color: var(--muted); font-size: .76rem; }
.workout-byline a { color: inherit; }
.workout-photo { margin: 0; max-width: 500px; min-width: 0; justify-self: end; }
.workout-photo picture { display: block; border-radius: 5px; overflow: hidden; background: #d9d7c9; }
.workout-photo img { display: block; width: 100%; height: auto; }
.workout-photo figcaption { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 7px 18px; margin-block-start: 12px; color: var(--muted); font-size: .72rem; }
.workout-photo figcaption > span:first-child { color: var(--ink); }
.workout-body { max-width: 1180px; }
.workout-contents { display: flex; flex-wrap: wrap; align-items: center; gap: 13px 24px; border-block: 1px solid var(--line-strong); padding-block: 22px; font-size: .8rem; }
.workout-contents > span { color: var(--muted); text-transform: uppercase; font: .7rem var(--font-mono); letter-spacing: .08em; }
.workout-contents a { color: var(--ink); text-decoration: underline; text-underline-offset: 4px; }
.workout-section { padding-block: clamp(38px,6vw,70px); border-block-end: 1px solid var(--line); scroll-margin-top: 110px; }
.workout-section-heading { max-width: 760px; margin-block-end: 30px; }
.workout-section h2,.workout-sources h2 { font-family: var(--display); font-weight: 600; font-size: clamp(2rem,3.5vw,3rem); line-height: 1.12; margin: 13px 0 18px; }
.workout-section-heading p { color: var(--ink-soft); margin-block-end: 0; max-width: 63ch; }
.workout-choices { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 34px; }
.workout-choices > div { border-block-start: 2px solid var(--accent-strong); padding-block-start: 20px; min-width: 0; }
.workout-choices h3 { margin: 0 0 17px; font: 600 2rem/1.1 var(--display); }
.workout-choices p { font-size: .94rem; color: var(--ink-soft); }
.workout-choices > div > a { font-weight: 600; font-size: .92rem; text-decoration: underline; text-underline-offset: 4px; }
.workout-cite { font-family: var(--font-mono); font-size: .8em; color: var(--accent-strong); white-space: nowrap; }
.workout-time-example { display: grid; grid-template-columns: minmax(160px,.6fr) minmax(0,1.4fr); border: 1px solid var(--line-strong); margin-block: 30px; }
.workout-time-total { display: flex; flex-direction: column; justify-content: center; padding: 30px; background: #e7e9dc; }
.workout-time-total > span { font: .74rem var(--font-mono); text-transform: uppercase; letter-spacing: .05em; }
.workout-time-total > strong { font: 600 5.7rem/1.1 var(--display); }
.workout-time-total > strong > span { font: 400 1.1rem var(--body); }
.workout-time-parts { list-style: none; margin: 0; padding: 16px 30px; }
.workout-time-parts li { display: flex; justify-content: space-between; gap: 24px; padding-block: 14px; }
.workout-time-parts li + li { border-block-start: 1px solid var(--line); }
.workout-time-parts strong { white-space: nowrap; }
.workout-reading-width { max-width: 75ch; color: var(--ink-soft); }
.workout-notation { border-inline-start: 3px solid var(--accent-strong); padding: 14px 26px; margin-block-start: 35px; max-width: 780px; background: #ebece2; }
.workout-notation h3 { margin: 6px 0 15px; font-size: 1.08rem; }
.workout-notation p { font-size: .94rem; }
.workout-notation p:last-child { color: var(--muted); font-size: .84rem; margin-block-end: 7px; }
.workout-read-grid { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(0,1fr); gap: 55px; align-items: start; }
.workout-read-list { list-style: none; padding: 0; margin: 0; counter-reset: workout-read; }
.workout-read-list li { counter-increment: workout-read; position: relative; padding-inline-start: 41px; padding-block-end: 23px; margin-block-end: 23px; border-block-end: 1px solid var(--line); }
.workout-read-list li::before { content: counter(workout-read,decimal-leading-zero); position: absolute; inset-inline-start: 0; color: var(--accent-strong); font: .8rem var(--font-mono); padding-block-start: 4px; }
.workout-read-list strong,.workout-read-list span { display: block; }
.workout-read-list span { margin-block-start: 7px; color: var(--ink-soft); }
.workout-intensity { padding: 30px; background: #e7e9dc; border-radius: 4px; }
.workout-intensity h3 { font: 600 2rem/1.15 var(--display); margin: 12px 0 20px; }
.workout-intensity p,.workout-intensity dd { font-size: .94rem; }
.workout-intensity dl { margin-block: 25px; }
.workout-intensity dl > div { border-block-start: 1px solid var(--line-strong); padding-block: 15px 4px; }
.workout-intensity dt { font-weight: 700; }
.workout-intensity dd { margin: 8px 0 12px; color: var(--ink-soft); }
.workout-small { font-size: .82rem !important; color: var(--ink-soft); }
.workout-follow { display: grid; grid-template-columns: minmax(0,1.5fr) minmax(0,1fr); gap: 60px; align-items: end; }
.workout-follow > div { max-width: 660px; }
.workout-follow-note { padding-inline-start: 25px; border-inline-start: 1px solid var(--line-strong); font-size: .94rem; color: var(--ink-soft); }
.workout-collections { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0 26px; list-style: none; margin: 0 0 30px; padding: 0; }
.workout-collections li { padding-block: 17px; border-block-end: 1px solid var(--line-strong); font-weight: 600; font-size: .93rem; }
.workout-collections [data-planned-url] { border: 0; color: var(--ink); }
.workout-topic-index { background: #fbfcf6; border: 1px solid var(--line-strong); }
.workout-topic-index > summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 24px; font-weight: 700; cursor: pointer; list-style: none; }
.workout-topic-index > summary::-webkit-details-marker { display: none; }
.workout-topic-index > summary > span { font-size: 1.7rem; line-height: 1; }
.workout-topic-index[open] > summary > span { transform: rotate(45deg); }
.workout-topic-body { padding: 0 24px 24px; }
.workout-topic-body .catalog-card { min-height: auto; padding: 19px; box-shadow: none; border-radius: 3px; }
.workout-topic-body .catalog-card h3 { font-size: 1rem; line-height: 1.5; margin: 0 0 10px; }
.workout-topic-body .pending-link { color: var(--ink); border: 0; }
.workout-topic-kind { display: block; color: var(--muted); font-size: .74rem; }
.workout-related p { max-width: 73ch; color: var(--ink-soft); }
.workout-sources { padding-block: 40px 60px; max-width: 850px; font-size: .9rem; color: var(--ink-soft); }
.workout-sources h2 { font-size: 2rem; color: var(--ink); }
.workout-sources li { margin-block: 13px; scroll-margin-top: 115px; }
@media (max-width: 900px) {
  .workout-choices { grid-template-columns: 1fr; gap: 28px; }
  .workout-choices > div { max-width: 72ch; }
  .workout-read-grid { grid-template-columns: 1fr; gap: 22px; }
  .workout-follow { grid-template-columns: 1fr; gap: 20px; }
  .workout-follow-note { max-width: 65ch; }
}
@media (max-width: 700px) {
  .workout-hero-grid { grid-template-columns: 1fr; gap: 32px; }
  .workout-hero h1 { font-size: clamp(4.5rem,20vw,6rem); }
  .workout-hero-copy { max-width: none; }
  .workout-photo { max-width: 500px; width: 100%; justify-self: start; }
  .workout-time-example { grid-template-columns: 1fr; }
  .workout-time-total { padding: 24px; }
  .workout-time-total > strong { font-size: 4.5rem; }
  .workout-time-parts { padding-inline: 24px; }
  .workout-collections { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .workout-topic-index > summary { padding: 20px; }
  .workout-topic-body { padding: 0 16px 16px; }
  .workout-intensity { padding: 24px; }
}
@media (max-width: 380px) {
  .workout-collections { grid-template-columns: 1fr; }
}
@media print {
  .workout-photo,.workout-contents,.workout-jump,#catalog { display: none !important; }
  .workout-hero,.workout-section,.workout-sources { padding-block: 12pt; }
  .workout-hero-grid,.workout-read-grid,.workout-choices,.workout-follow { display: block; }
  .workout-hero h1 { font-size: 36pt; }
  .workout-deck { font-size: 22pt; max-width: none; }
  .workout-section h2 { font-size: 23pt; }
  .workout-choices > div { padding-block: 10pt; }
  .workout-time-example,.workout-notation,.workout-intensity { break-inside: avoid; }
  .workout-intensity { margin-block: 15pt; }
}
