.physio-guide { --phy-ink:#294c50; --phy-muted:#526a6b; margin-top:46px; color:var(--phy-ink); font-size:18px; line-height:1.65; scroll-margin-top:30px; }
.physio-guide * { box-sizing:border-box; }
.physio-guide p { font-size:18px; line-height:1.65; }
.phy-heading { max-width:760px; margin-bottom:23px; }
.phy-eyebrow, .phy-viewer-kicker { display:block; color:#557b6f; font-size:17px; font-weight:650; line-height:1.5; letter-spacing:.7px; }
.phy-heading h2 { margin:10px 0 0; font-size:clamp(30px,3vw,39px); font-weight:550; letter-spacing:-.8px; line-height:1.22; }
.phy-heading p { margin:15px 0 0; color:var(--phy-muted); }
.phy-exercise-selector { display:inline-flex; gap:6px; max-width:100%; padding:5px; margin:0 0 20px; border:1px solid #d9e3dd; border-radius:15px; background:#eef3ef; }
.phy-exercise-choice { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:12px 25px; border:1px solid transparent; border-radius:11px; background:transparent; color:#536f65; font:inherit; font-size:18px; line-height:1.35; font-weight:600; cursor:pointer; transition:background-color .18s ease,border-color .18s ease,color .18s ease; }
.phy-exercise-choice:hover { background:#ffffffa8; color:#2e5e4b; }
.phy-exercise-choice[aria-pressed="true"] { border-color:#d3e0d5; background:#fff; color:#315f4d; box-shadow:0 2px 7px #294c5008; }
.phy-viewer { display:grid; grid-template-columns:minmax(0,1.78fr) minmax(0,1fr); overflow:hidden; border:1px solid #d8e1d9; border-radius:24px; background:#fbfaf6; }
.phy-media { min-width:0; margin:0; padding:18px; align-self:start; }
.phy-media-frame { display:flex; align-items:center; justify-content:center; aspect-ratio:16/9; overflow:hidden; border:1px solid #e6e5dd; border-radius:17px; background:#f1f0e9; }
.phy-demo-poster, .phy-demo-video { display:block; width:100%; height:100%; max-width:100%; object-fit:contain; }
.phy-demo-video { background:#f1f0e9; }
.phy-media figcaption { margin-top:11px; padding:0 2px; color:#657570; font-size:16px; line-height:1.45; }
.phy-viewer-copy { min-width:0; padding:27px 26px 27px 16px; }
.phy-viewer-kicker { letter-spacing:.65px; }
.phy-viewer-copy h3 { margin:10px 0 0; font-size:27px; font-weight:550; line-height:1.25; letter-spacing:-.55px; overflow-wrap:break-word; }
.phy-viewer-copy p.phy-viewer-description { margin:14px 0 0; color:#405f58; }
.phy-viewer-copy p.phy-play-note { margin:15px 0 0; color:#64766e; font-size:17px; line-height:1.55; }
.phy-instructions { margin-top:23px; border-top:1px solid #dce3d9; border-bottom:1px solid #dce3d9; }
.phy-instructions summary { display:flex; align-items:center; justify-content:space-between; gap:14px; min-height:56px; padding:15px 0; color:#396653; font-size:17px; font-weight:650; line-height:1.45; cursor:pointer; list-style:none; }
.phy-instructions summary::-webkit-details-marker, .phy-urgent-note summary::-webkit-details-marker { display:none; }
.phy-instructions summary::marker, .phy-urgent-note summary::marker { content:''; }
.phy-instructions summary > span, .phy-urgent-note summary > span { flex-shrink:0; font-size:24px; font-weight:400; line-height:1; }
.phy-instructions[open] summary > span, .phy-urgent-note details[open] summary > span { transform:rotate(45deg); }
.phy-instructions ol { display:grid; gap:17px; margin:5px 0 21px; padding-left:24px; }
.phy-instructions li { padding-left:3px; font-size:17px; line-height:1.55; }
.phy-instructions li::marker { color:#5c8069; font-weight:650; }
.phy-instructions li strong { font-size:18px; font-weight:650; }
.phy-instructions li p { margin:5px 0 0; color:var(--phy-muted); font-size:17px; line-height:1.6; }
.phy-viewer-copy p.phy-personal-copy { margin:21px 0 0; color:#607369; font-size:17px; line-height:1.6; }
.phy-personal-copy strong { color:#465f4f; font-weight:600; }
.phy-strength-note { display:flex; align-items:flex-start; gap:15px; margin-top:20px; padding:24px 26px; border:1px solid #ccdfd1; border-radius:19px; background:#eef5ef; }
.phy-strength-note > .icon { width:27px; height:27px; margin-top:1px; flex-shrink:0; color:#567d61; }
.phy-strength-note h3 { margin:0; color:#355a40; font-size:21px; line-height:1.4; font-weight:650; letter-spacing:-.25px; }
.phy-strength-note p { margin:9px 0 0; color:#4e6954; }
.phy-safety-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-top:20px; }
.phy-stop-note, .phy-urgent-note { min-width:0; padding:23px 25px; border:1px solid #e4dccb; border-radius:19px; background:#faf7ef; }
.phy-urgent-note { border-color:#e7d6d0; background:#fbf3ef; }
.phy-safety-grid h3 { margin:0; font-size:21px; line-height:1.4; font-weight:600; letter-spacing:-.3px; }
.phy-safety-grid p { margin:11px 0 0; color:#6e6655; }
.phy-urgent-note h3, .phy-urgent-note p { color:#815d53; }
.phy-urgent-note details { margin-top:13px; border-top:1px solid #eadbd5; }
.phy-urgent-note summary { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:51px; padding:13px 0; color:#815d53; font-size:17px; font-weight:600; line-height:1.45; list-style:none; cursor:pointer; }
.phy-urgent-note ul { display:grid; gap:9px; margin:5px 0 0; padding-left:22px; color:#785e55; font-size:17px; line-height:1.6; }
.physio-guide p.phy-source-note { margin:20px 0 0; color:#697a73; font-size:17px; }
.phy-screen-reader-status { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.physio-guide button:focus-visible, .physio-guide summary:focus-visible, .phy-demo-video:focus-visible { outline:3px solid #387a91; outline-offset:4px; }
.physio-guide #physio-guide-title:focus-visible { outline:3px solid #387a91; outline-offset:7px; border-radius:4px; }
@media (max-width:1100px) {
  .phy-media { padding:14px; }
  .phy-viewer-copy { padding:23px 21px 24px 9px; }
  .phy-viewer-copy h3 { font-size:25px; }
}
@media (max-width:900px) {
  .phy-viewer { grid-template-columns:1fr; }
  .phy-media { padding:18px 18px 0; }
  .phy-viewer-copy { padding:24px 25px 27px; }
  .phy-viewer-copy h3 { max-width:600px; font-size:28px; }
  .phy-viewer-description, .phy-play-note, .phy-personal-copy { max-width:740px; }
}
@media (max-width:760px) {
  .phy-safety-grid { grid-template-columns:1fr; }
}
@media (max-width:430px) {
  .physio-guide { margin-top:35px; font-size:17px; }
  .physio-guide p { font-size:17px; }
  .phy-heading h2 { font-size:31px; }
  .phy-exercise-selector { display:flex; width:100%; margin-bottom:17px; }
  .phy-exercise-choice { flex:1; min-width:0; padding:12px 16px; font-size:17px; }
  .phy-viewer { border-radius:20px; }
  .phy-media { padding:11px 11px 0; }
  .phy-media-frame { border-radius:12px; }
  .phy-media figcaption { margin-top:9px; font-size:16px; }
  .phy-viewer-copy { padding:22px 20px 24px; }
  .phy-viewer-copy h3 { font-size:26px; }
  .phy-strength-note { padding:21px 20px; gap:12px; }
  .phy-strength-note > .icon { width:24px; height:24px; }
  .phy-strength-note h3, .phy-safety-grid h3 { font-size:20px; }
  .phy-stop-note, .phy-urgent-note { padding:21px; }
}
@media (prefers-reduced-motion:reduce) {
  .physio-guide *, .physio-guide *::before, .physio-guide *::after { transition:none !important; animation:none !important; scroll-behavior:auto !important; }
}
.recovery-page[data-recovery-motion="off"] .physio-guide *, .recovery-page[data-recovery-motion-document-visible="false"] .physio-guide * { transition:none !important; animation:none !important; }
