[hidden]{display:none!important}.demo-languages{display:flex;gap:18px;font-size:12px}.demo-languages [aria-current]{color:var(--clay)}.demo-intro{padding-top:42px;padding-bottom:38px}.demo-intro .eyebrow{color:var(--clay)}.demo-intro h1{font-size:clamp(44px,5vw,68px);max-width:900px;margin:18px 0 22px}.demo-intro .lead{max-width:680px;margin-bottom:18px}.demo-equipment{font-size:13px;max-width:760px}.demo-scope{font-size:11px;color:var(--muted);max-width:900px;margin-top:18px}.demo-section{padding:38px 0 48px;background:#eef0e7}.demo-browse{font-size:13px;color:var(--muted);max-width:850px;margin-bottom:22px}.demo-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.demo-steps a{display:flex;align-items:center;gap:12px;border:1px solid #cbd4c1;border-radius:10px;background:var(--paper);padding:16px;font-size:12px;line-height:1.5}.demo-steps span{color:var(--clay);font-size:10px}.demo-steps [aria-current]{background:var(--green);color:var(--paper);border-color:var(--green)}.demo-steps [aria-current] span{color:#e0c5a4}.demo-progress{margin:24px 0 14px;font-size:11px;color:var(--muted)}.demo-exercise{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:30px;margin-bottom:25px}.demo-exercise-heading .eyebrow{color:var(--clay);font-size:9px}.demo-exercise-heading h2{margin:12px 0 18px;scroll-margin-top:20px}.demo-exercise .muscle-tags{margin-bottom:20px}.demo-exercise>.notice{margin:18px 0;font-size:12px}.demo-exercise-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:38px;margin-top:25px}.demo-visual{min-width:0}.demo-media-switch{display:flex;gap:8px;margin-bottom:14px}.demo-media-switch button{font-size:12px;padding:11px 15px;border:1px solid #c2cdbb;border-radius:7px;min-height:42px}.demo-media-switch [aria-pressed=true]{background:var(--green);color:var(--paper);border-color:var(--green)}.demo-visual figure{margin:0}.demo-visual img,.demo-visual video{display:block;width:100%;height:auto;max-height:720px;object-fit:contain;aspect-ratio:9/16;border-radius:12px;background:var(--sage)}.demo-visual figcaption{font-size:11px;line-height:1.65;color:var(--muted);margin-top:10px}.demo-visual figcaption span,.demo-visual figcaption b{font-weight:600;color:var(--green)}.demo-instructions h3{font:26px/1.2 Georgia,'Times New Roman',serif;letter-spacing:-.5px;margin:0 0 17px}.demo-instructions ol{padding-left:23px;margin:0 0 22px}.demo-instructions li{font-size:14px;line-height:1.8;margin-bottom:14px;padding-left:5px}.demo-instructions p{font-size:13px;margin:0 0 18px}.demo-instructions h3:not(:first-child){margin-top:30px}.demo-instructions .demo-variant{font-size:11px;color:var(--muted)}.demo-exercise .demo-safety{margin-top:25px}.demo-review{font-size:10px;color:var(--muted)}.demo-controls{display:flex;justify-content:space-between;gap:15px}.demo-plus{padding-top:58px;padding-bottom:58px}.demo-plus>.eyebrow{color:var(--clay);margin-bottom:15px}.demo-plus h2{margin-bottom:22px}.demo-plus>p,.demo-plus li{font-size:13px;max-width:780px}.demo-plus ul{padding-left:20px;line-height:1.8;margin:18px 0}.demo-plus .demo-plus-state{font-size:11px;color:var(--muted);margin-bottom:23px}.footer .demo-footer-notes{display:block;margin-top:22px}.demo-footer-notes p{font-size:10px;line-height:1.7;margin-bottom:8px;max-width:900px}
@media(max-width:720px){.demo-intro{padding-top:20px;padding-bottom:28px}.demo-intro h1{font-size:46px}.demo-intro .lead{font-size:15px}.demo-section{padding-top:26px}.demo-steps{grid-template-columns:1fr;gap:8px}.demo-steps a{padding:12px 14px}.demo-exercise{padding:20px 16px}.demo-exercise-layout{grid-template-columns:1fr;gap:27px}.demo-exercise-heading h2{font-size:32px}.demo-instructions li{font-size:14px}.demo-visual img,.demo-visual video{max-height:none}.demo-controls{flex-wrap:wrap}.demo-controls .button{flex:1;font-size:11px;gap:12px}.demo-languages{gap:12px;font-size:11px}.demo-plus{padding-top:40px;padding-bottom:40px}}
@media print{.demo-media-switch,.demo-controls,.demo-plus,.demo-film{display:none!important}.demo-image{display:block!important}.demo-exercise-layout{display:block}.demo-visual img{max-height:350px}.demo-exercise{break-inside:avoid}.demo-section{background:white}}

.movement-summary{font-size:14px;line-height:1.7;margin:14px 0 18px;max-width:760px;color:var(--ink)}
@media(max-width:720px){.header .demo-languages a:last-child{display:inline}}

.demo-tiers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:28px}.demo-tiers article{padding:24px;border:1px solid var(--line);border-radius:14px;background:var(--paper)}.demo-tiers h3{font:28px/1.2 Georgia,serif;margin:18px 0}.demo-tiers p{font-size:13px;line-height:1.8}.demo-tiers .eyebrow,.demo-tiers .demo-tier-note{font-size:10px}.demo-tiers .button{font-size:11px;white-space:normal;line-height:1.5;margin-top:18px}.demo-tiers .demo-tier-note{margin-top:16px;color:var(--muted)}@media(max-width:720px){.demo-tiers{grid-template-columns:1fr}.demo-tiers article{padding:20px}}

/* Five explicit language choices remain visible at every width. */
.header .demo-languages{flex-wrap:wrap;justify-content:flex-end;gap:10px 18px}.header .demo-languages a{white-space:nowrap}
@media(max-width:720px){.header{height:auto;min-height:78px;flex-wrap:wrap;padding-top:18px;padding-bottom:18px}.header .demo-languages{justify-content:flex-start;gap:10px 16px;width:100%}.header .demo-languages a{display:inline}}


/* Compact, public trial navigation. Account and member pages keep their existing styles. */
.header.trial-header { gap: 14px 24px; }
.trial-main-nav { display: flex; flex: 1; justify-content: flex-end; flex-wrap: wrap; gap: 8px 20px; font-size: 14px; }
.trial-main-nav a { font-weight: 600; text-decoration: none; }
.trial-main-nav a:hover { color: var(--clay); }
.trial-main-nav a:focus-visible, .trial-language-picker summary:focus-visible { outline: 2px solid var(--green); outline-offset: 3px; }
.trial-language-picker { position: relative; flex: 0 1 auto; min-width: 0; }
.trial-language-picker summary { cursor: pointer; font-size: 13px; font-weight: 600; }
.header.trial-header .trial-language-picker .demo-languages {
  display: grid; gap: 0; position: absolute; z-index: 5; inset-inline-end: 0;
  inline-size: min(15rem, calc(100vw - 2rem)); max-block-size: min(24rem, 56vh);
  overflow-y: auto; padding: 6px; margin: 8px 0 0; border: 1px solid var(--green);
  border-radius: 10px; background: var(--paper, #f7f6f0);
}
.header.trial-header .trial-language-picker .demo-languages a {
  display: block; padding: 7px 9px; white-space: normal; text-decoration: none;
}
.demo-intro.trial-intro { padding-block: 15px 12px; }
.trial-intro h1 { font-size: clamp(25px, 3vw, 37px); margin: 0; }
.trial-intro + .demo-section { padding-block-start: 16px; }
.trial-preflight { margin-block: 0 12px; }
.trial-preflight .demo-equipment, .trial-preflight .demo-scope { margin: 0 0 5px; }
.trial-preflight .demo-equipment { font-size: 13px; }
.trial-preflight + .demo-progress { margin-block-end: 8px; }
.trial-intro + .demo-section .demo-browse { margin-block: 16px 0; }
.trial-intro + .demo-section .media-safety { font-size: 14px; line-height: 1.45; margin-block: 0 12px; }
@media (max-width: 720px) {
  .header.trial-header { gap: 9px 16px; padding-block: 12px; }
  .trial-main-nav { flex-basis: 100%; justify-content: flex-start; font-size: 13px; gap: 8px 16px; }
  .trial-language-picker { margin-inline-start: auto; }
  .trial-intro + .demo-section .demo-steps { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 5px; }
  .trial-intro + .demo-section .demo-steps a { padding: 8px 7px; gap: 4px; min-inline-size: 0; overflow-wrap: anywhere; }
  .trial-intro + .demo-section .demo-steps a span { display: none; }
  .trial-intro + .demo-section .demo-exercise { padding-block-start: 16px; }
  .trial-intro + .demo-section .demo-exercise-heading { margin-block-end: 10px; }
}

.bandabit-sites { padding-block: 38px 52px; border-block-start: 1px solid var(--line); }
.bandabit-sites h2 { font-size: clamp(36px, 5vw, 52px); margin: 0 0 12px; }
.bandabit-sites-intro { max-inline-size: 44rem; margin: 0 0 24px; color: var(--muted); }
.bandabit-sites-group + .bandabit-sites-group { margin-block-start: 24px; }
.bandabit-sites-group > h3 { margin: 0 0 10px; font-size: 22px; }
.bandabit-sites-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; list-style: none; padding: 0; margin: 0; }
.bandabit-sites-grid li { display: flex; min-inline-size: 0; }
.bandabit-site-card { display: flex; flex-direction: column; gap: 7px; flex: 1; padding: 15px 17px; background: var(--paper); color: var(--green); border: 1px solid var(--line); border-radius: 12px; text-decoration: none; overflow-wrap: anywhere; }
.bandabit-site-card:hover { border-color: var(--green); text-decoration: none; }
.bandabit-site-card strong { display: flex; justify-content: space-between; gap: 10px; font-size: 16px; }
.bandabit-site-card > span { color: var(--muted); font-size: 14px; }
.bandabit-site-card .bandabit-site-address { font-size: 12px; margin-block-start: auto; }
.bandabit-site-card:focus-visible, .bandabit-sites-footer:focus-visible { outline: 2px solid var(--green); outline-offset: 3px; text-decoration: none; }
.footer .bandabit-sites-footer { color: var(--green); font-size: 14px; font-weight: 600; text-decoration: none; }
.footer .bandabit-sites-footer:hover { color: var(--clay); }
@media (max-width: 850px) { .bandabit-sites-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 520px) { .bandabit-sites { padding-block: 28px 36px; } .bandabit-sites-grid { grid-template-columns: minmax(0, 1fr); } }
@media print { .bandabit-sites, .bandabit-sites-footer { display: none !important; } }

.ls-directory-group { margin-block: 2.35rem; }
.ls-directory-group > :is(h2,h3) {
  display: flex; align-items: center; gap: .65rem; margin: 0 0 .7rem;
  font-size: clamp(1.28rem, 1.1rem + .45vw, 1.55rem); line-height: 1.25;
}
.ls-directory-icon {
  display: grid; place-items: center; flex: 0 0 2rem; block-size: 2rem;
  border: 1px solid var(--ls-line, #cddbd6); border-radius: 50%;
  color: var(--ls-accent, #245d58); background: var(--ls-current, #eaf1ed);
}
.ls-directory-icon svg { inline-size: 1rem; block-size: 1rem; }
.ls-directory-group .ls-directory-grid {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px; margin: 0; padding: 0; list-style: none;
}
.ls-directory-grid > li { display: flex; min-inline-size: 0; }
.ls-directory-group .ls-directory-card {
  display: flex; box-sizing: border-box; flex-direction: column; inline-size: 100%;
  min-inline-size: 0; overflow-wrap: anywhere; gap: 0;
  padding: 19px 20px; border: 1px solid var(--ls-line, #cddbd6);
  border-block-start: 3px solid var(--ls-top, #c4d8cc); border-radius: 6px;
  background: var(--ls-card, #fff); color: var(--ls-ink, #17364b);
  text-decoration: none; font-weight: 400;
}
.ls-directory-group--health { --ls-top: #c4d3db; }
.ls-directory-group--public { --ls-top: #dfd4b9; }
.ls-directory-group .ls-directory-current { background: var(--ls-current, #eaf1ed); }
.ls-directory-group a.ls-directory-card:is(:visited,:hover,:active,:focus) { text-decoration: none; }
.ls-directory-group a.ls-directory-card:hover { background: var(--ls-current, #eaf1ed); }
.ls-directory-group a.ls-directory-card:focus-visible { outline: 2px solid var(--ls-accent, #245d58); outline-offset: 3px; }
.ls-directory-card :is(h3,h4) {
  display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between;
  gap: .45rem; margin: 0 0 .25rem; color: inherit; font-size: 1.2rem; line-height: 1.3;
}
.ls-directory-card p { margin: 0 0 .6rem; color: inherit; font-size: 1rem; line-height: 1.42; }
.ls-directory-card .ls-directory-host { margin-block: auto 0; color: var(--ls-muted, #46636a); font-size: .88rem; }
.ls-directory-card .ls-directory-badge { color: var(--ls-accent, #245d58); font-size: .85rem; font-weight: 600; }
@media (max-width: 760px) {
  .ls-directory-group .ls-directory-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 520px) {
  .ls-directory-group { margin-block: 1.7rem; }
  .ls-directory-group .ls-directory-grid { grid-template-columns: 1fr; }
  .ls-directory-group .ls-directory-card { padding: 13px 15px; }
}

/* Bandabit's two-row public and account navigation and publisher footer. */
.header.bb-chrome { display:grid; grid-template-columns:minmax(0,1fr); height:auto; gap:.35rem; padding-block:.65rem; }
.bb-chrome .bb-top-row,.bb-chrome .bb-nav-row {
  display:flex; align-items:center; justify-content:space-between; gap:.4rem .9rem; min-inline-size:0;
}
.bb-chrome .bb-top-row { min-block-size:2.75rem; }
.bb-chrome .bb-tools {
  display:flex; align-items:center; flex-wrap:wrap; justify-content:flex-end; min-inline-size:0; gap:.3rem .7rem;
}
.bb-chrome .bb-tools > a,.bb-chrome .bb-nav-row a,.bb-legal-row a { font-weight:600; overflow-wrap:anywhere; }
.bb-chrome .bb-nav-row { position:relative; min-block-size:2.75rem; }
.bb-chrome .bb-nav-row > nav { justify-content:flex-start; min-inline-size:0; flex:1 1 auto; }
.header.bb-chrome .bb-nav-row > nav > a { display:inline-flex; align-items:center; min-block-size:2.75rem; }
.bb-chrome .bb-directory {
  display:inline-flex; align-items:center; gap:.35rem; margin-inline-start:auto; min-block-size:2.75rem;
  max-inline-size:55%; text-align:end;
}
.bb-chrome .bb-menu-trigger {
  color:inherit; background:transparent; border:0; font:inherit; font-weight:600;
  cursor:pointer; padding-inline:.35rem; min-block-size:2.75rem;
}
.bb-chrome :is(a,summary,button),.bb-legal-row a { text-decoration:none; }
.bb-chrome a:hover,.bb-legal-row a:hover,.bb-chrome .bb-menu-trigger:hover { color:var(--clay); text-decoration:none; }
.bb-chrome :is(a,summary,button):focus-visible,.bb-legal-row a:focus-visible {
  outline:2px solid var(--green); outline-offset:3px; text-decoration:none;
}
.footer .bb-legal-row {
  display:flex; flex-wrap:wrap; justify-content:center; align-items:center;
  gap:.45rem 0; padding:0; margin-block:0 1rem; list-style:none; color:var(--ink); font-size:14px;
}
.bb-legal-row > li { max-inline-size:100%; padding-inline:.55rem; border-inline-start:1px solid var(--line); overflow-wrap:anywhere; }
.bb-legal-row > li:first-child { border-inline-start:0; }
.bb-legal-row address { font-style:normal; }
@media(max-width:700px) {
  .bb-chrome .bb-top-row > .brand { flex:none; font-size:clamp(1rem,5vw,1.55rem); }
  .bb-chrome .bb-tools { font-size:13px; }
  .bb-chrome .bb-tools > a { text-align:end; }
  .header.bb-chrome .bb-tools > a { min-block-size:1.6rem; display:inline-flex; align-items:center; }
  .bb-chrome .bb-nav-row > nav { flex-wrap:wrap; }
  .bb-chrome .bb-nav-row > .bb-menu-trigger:not([hidden]) + nav:not([hidden]) {
    position:absolute; z-index:4; inset-block-start:100%; inset-inline-start:0;
    inline-size:min(22rem,100%); max-block-size:60vh; overflow:auto; flex-direction:column; align-items:stretch;
    gap:0; padding:.4rem .65rem; border:1px solid var(--line); border-radius:8px; background:var(--paper);
  }
  .footer .bb-legal-row { justify-content:flex-start; }
}

/* Public Bandabit shell. The header, content and footer share the same measure. */
.bb-page {
  --bb-width: min(1180px, calc(100% - 80px));
  min-block-size: 100vh;
  display: flex;
  flex-direction: column;
}
.bb-page .wrap, .bb-page .header.bb-chrome > * { width: var(--bb-width); margin-inline: auto; }
.bb-page > main { flex: 1 0 auto; }
.bb-page .header.bb-chrome {
  width: 100%;
  margin: 0;
  gap: 0;
  padding: 0;
  background: #fff;
  border-block-end: 1px solid var(--line);
}
.bb-page .bb-top-row { min-block-size: 76px; padding-block: 10px; }
.bb-page .bb-nav-row { min-block-size: 51px; border-block-start: 1px solid var(--line); }
.bb-page .bb-nav-row > nav { gap: .2rem 1.65rem; }
.bb-page .bb-nav-row a { font-size: .92rem; }
.bb-page .bb-tools { gap: .45rem 1rem; }
.bb-page .bb-tools > a {
  display: inline-flex;
  align-items: center;
  min-block-size: 42px;
  padding: .5rem .8rem;
  border-radius: 6px;
  background: var(--green);
  color: #fff;
  font-size: .86rem;
  line-height: 1.3;
}
.bb-page .bb-tools > a:hover { background: var(--ink); color: #fff; }
.bb-page .trial-language-picker summary { padding: .55rem .2rem; }
.bb-page .bb-directory { gap: .4rem; white-space: normal; }
.bb-page .bb-directory[aria-current="page"] { color: var(--clay); }
.bb-page .trial-intro { padding-block: 34px 20px; }
.bb-page .trial-intro h1 { font-size: clamp(2rem, 4vw, 3.35rem); }
.bb-page .account-main { max-width: none; }
.bb-page .bb-publisher {
  padding-block: 22px;
  background: #fff;
}
.bb-page .footer .bb-legal-row {
  width: var(--bb-width);
  justify-content: flex-start;
  gap: .45rem .65rem;
  margin-block: 0;
  font-size: .83rem;
  line-height: 1.45;
}
.bb-page .footer .bb-legal-links { padding-block-start: .45rem; }
.bb-page .bb-legal-row > li { padding: 0; border: 0; }
.bb-page .bb-legal-row > li + li { padding-inline-start: .65rem; border-inline-start: 1px solid var(--line); }
.bb-page .footer .demo-footer-notes {
  display: block;
  padding: .7rem 0 0;
  margin-block: 0;
}
.bb-page .footer .demo-footer-notes p {
  margin: .22rem 0 0;
  font: .74rem/1.5 system-ui,sans-serif;
  color: var(--muted);
}
.bb-page .bb-directory-page { padding-block: clamp(2rem, 6vw, 4rem); }
.bb-directory-page .bandabit-sites.wrap { width: 100%; padding: 0; border: 0; }
.bb-directory-page h1 { margin: 0 0 .65rem; font-size: clamp(2.25rem, 5vw, 4.15rem); }
.bb-directory-page .ls-directory-group:last-child { margin-block-end: 0; }
@media (max-width: 980px) {
  .bb-page { --bb-width: calc(100% - 48px); }
}
@media (max-width: 700px) {
  .bb-page { --bb-width: calc(100% - 36px); }
  .bb-page .bb-top-row { min-block-size: 64px; padding-block: 8px; }
  .bb-page .bb-nav-row { min-block-size: 46px; }
  .bb-page .bb-tools { gap: 0 .6rem; }
  .bb-page .bb-tools > a { min-block-size: 32px; padding: .32rem .52rem; font-size: .75rem; }
  .bb-page .trial-language-picker summary { padding-block: .35rem; }
  .bb-page .trial-intro { padding-block: 24px 16px; }
  .bb-page .footer .bb-legal-row { gap: .4rem .7rem; }
  .bb-page .bb-legal-row > li + li { padding-inline-start: 0; border: 0; }
}
