.exercise-illustrations{margin:30px 0 26px;padding-top:25px;border-top:1px solid #e2e7d9;min-width:0}
.illustration-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:19px}
.illustration-section-heading h3{font-size:19px;color:#304b3d;margin:7px 0 0;font-weight:650;letter-spacing:-.3px}
.illustration-hint{font-size:11px;color:#8a977f;line-height:1.6;text-align:right;max-width:150px}
.exercise-illustration-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.exercise-illustration{margin:0;min-width:0;border:1px solid #dfe6d6;border-radius:13px;background:#fbfcf8;overflow:hidden;display:flex;flex-direction:column}
.illustration-open{position:relative;width:100%;display:block;padding:0;border:0;border-bottom:1px solid #e4e9dc;background:#fbfcf8;cursor:zoom-in;border-radius:0}
.illustration-open img{display:block;width:100%;height:auto;aspect-ratio:760/430;object-fit:contain}
.illustration-open:hover{background:#f0f4e9}.illustration-open:hover .illustration-zoom{background:#dfe8cf;color:#42633e}
.illustration-open:focus-visible{outline:3px solid #6c9161;outline-offset:-3px}
.illustration-zoom{position:absolute;bottom:9px;right:9px;width:25px;height:25px;display:grid;place-items:center;border:1px solid #d8e1ca;border-radius:7px;font-size:15px;color:#718863;background:#fbfdf6d9}
.exercise-illustration figcaption{padding:15px 16px 17px;flex:1}
.exercise-illustration figcaption b{font-size:13px;color:#3e5948;line-height:1.5;display:block}
.exercise-illustration figcaption p{font-size:12px;color:#7b8870;line-height:1.75;margin:8px 0 0;overflow-wrap:anywhere}
.illustration-footnote{font-size:11px!important;line-height:1.8!important;color:#919c84!important;margin:15px 0 0!important}
.illustration-dialog{box-sizing:border-box;width:min(1120px,calc(100vw - 48px));max-height:calc(100dvh - 48px);padding:26px;border:1px solid #d6dfcc;border-radius:20px;background:#fcfdf9;color:#314b3c;overflow:auto;box-shadow:0 25px 100px #142e2c40}
.illustration-dialog::backdrop{background:#142d2bd4;backdrop-filter:blur(3px)}
.illustration-dialog-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:14px}
.illustration-dialog h2{font-size:23px;letter-spacing:-.4px;margin:6px 0 0;line-height:1.3}
.illustration-dialog .illustration-close{width:38px;height:38px;font-size:24px;flex:none}
.illustration-large-image{display:block;width:100%;height:auto;max-height:60dvh;object-fit:contain;border:1px solid #e0e6d7;border-radius:14px;background:#f8faf3}
.illustration-large-caption{font-size:14px;line-height:1.8;margin:18px 4px;color:#75846b}
.illustration-dialog-nav{display:flex;align-items:center;justify-content:space-between;gap:15px;padding-top:13px;border-top:1px solid #e1e7d8}
.illustration-dialog-nav>span{font-size:12px;white-space:nowrap;color:#8a987b}
@media(max-width:1000px){.exercise-illustration-grid{grid-template-columns:1fr}.exercise-illustration{display:grid;grid-template-columns:minmax(210px,1.2fr) minmax(0,1fr);align-items:stretch}.illustration-open{border-bottom:0;border-right:1px solid #e4e9dc;align-self:center}.exercise-illustration figcaption{padding:18px}}
@media(max-width:640px){.illustration-section-heading{display:block}.illustration-hint{display:block;max-width:none;text-align:left;margin-top:8px}.exercise-illustration{display:flex}.illustration-open{border-right:0;border-bottom:1px solid #e4e9dc}.exercise-illustration figcaption{padding:16px 18px}.exercise-illustration figcaption p{font-size:13px}.illustration-dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 24px);padding:17px;border-radius:15px}.illustration-dialog h2{font-size:20px}.illustration-large-caption{font-size:13px;line-height:1.75}.illustration-dialog-nav .button{font-size:11px;padding:9px 11px}.illustration-large-image{max-height:none}.illustration-dialog-nav{gap:8px}.illustration-dialog-heading{gap:12px}}
@media print{.illustration-hint,.illustration-zoom,.illustration-dialog{display:none!important}.exercise-illustration-grid{display:block}.exercise-illustration{break-inside:avoid;margin-bottom:12px;display:grid;grid-template-columns:1fr 1fr}.illustration-open{border:0}.exercise-illustrations{break-before:auto}.exercise-illustration figcaption{padding:12px}}

/* Photographic components are cached once, then composed with each exercise's geometry. */
.illustration-open>svg,.illustration-large-image>svg,#fitnessPreviewImage>svg{display:block;width:100%;height:auto;aspect-ratio:760/430}
.illustration-large-image{max-height:none;overflow:hidden}.illustration-large-image>svg{max-height:60dvh}
.realistic-diagram text{paint-order:stroke;stroke:#fcfdf8d9;stroke-width:1.25px;stroke-linejoin:round}
.exercise-illustration-grid{grid-template-columns:1fr;gap:19px}.exercise-illustration{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(180px,1fr);align-items:center}.illustration-open{border-bottom:0;border-right:1px solid #dce5d9}.exercise-illustration figcaption{padding:22px 24px}.exercise-illustration figcaption b{font-size:15px}.exercise-illustration figcaption p{font-size:14px;line-height:1.85}
@media(max-width:640px){.exercise-illustration{display:flex}.illustration-open{border-right:0;border-bottom:1px solid #dce5d9}.exercise-illustration figcaption{padding:17px 18px}.exercise-illustration figcaption p{font-size:13px}.illustration-large-image>svg{max-height:none}}
@media print{.exercise-illustration{display:grid;grid-template-columns:1.3fr 1fr}.exercise-illustration figcaption{padding:12px}.realistic-diagram{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
