/* Movement Lab: shared Soma structure, with a calmer type scale. */
.movement-page [hidden] { display:none!important; }
.movement-page .section { padding:80px max(5vw,24px); scroll-margin-top:110px; }
.movement-page .kicker { font-size:17px; letter-spacing:.065em; }
.movement-page h2 { font-size:var(--lab-section-title); line-height:1.08; }
.movement-page .recovery-hero { min-height:0; padding-top:165px; grid-template-columns:1.1fr .9fr; gap:6vw; background:var(--lilac); color:var(--ink); }
.movement-page .hero-copy h1 { font-size:var(--lab-title); line-height:1.06; color:var(--ink); }
.movement-page .hero-copy .kicker { color:var(--ink); }
.movement-page .hero-copy .hero-lead { font-size:23px; font-weight:400; }
.movement-page .hero-copy>p { font-size:18px; }
.movement-page .hero-media { height:auto; min-height:0; max-width:430px; justify-self:center; width:100%; }
.movement-page .hero-media>img { min-height:0; width:100%; height:auto; max-height:590px; aspect-ratio:2/3; object-fit:cover; border-color:var(--ink); box-shadow:10px 10px 0 var(--lime); }
.movement-page .hero-sticker { right:-12px; bottom:28px; font-size:20px; }
.movement-page .hero-facts { margin-top:32px; border-color:var(--ink); }
.movement-page .hero-facts strong { color:var(--ink); font-size:28px; }
.movement-page .hero-facts span { font-size:16px; }
.movement-page .section-heading,.movement-page .how-intro { margin-bottom:40px; }
.movement-page .why-grid { grid-template-columns:.85fr 1.15fr; gap:5vw; }
.movement-page .why-lead { font-size:24px; }
.movement-page .benefit-grid article { grid-template-columns:44px 1fr; gap:14px 18px; }
.movement-page .benefit-grid p { grid-column:2; font-size:17px; }
.movement-page .benefit-grid h3 { font-size:25px; line-height:1.15; }
.movement-page .benefit-grid h3 br { display:none; }
.movement-page .evidence-note { margin-top:45px; font-size:16px; }
.movement-page .recovery-how { background:var(--sky); }
.movement-page .how-steps li { min-height:300px; gap:25px; }
.movement-page .how-steps>li>span { font-size:16px; }
.movement-page .how-steps h3 { font-size:25px; line-height:1.12; }
.movement-page .equipment-note { max-width:1250px; margin:35px auto 0; font-size:18px; }
.movement-page .pod-tabs button { min-height:72px; font-size:18px; }
.movement-page .pod-panel { min-height:0; grid-template-columns:.85fr 1.15fr; }
.movement-page .pod-media { min-height:0; position:relative; }
.movement-page .pod-media img { position:absolute; inset:0; width:100%; height:100%; object-position:center; filter:none; }
.movement-page .pod-copy { padding:32px; }
.movement-page .pod-copy h3 { font-size:var(--lab-card-title); line-height:1.1; }
.movement-page .pod-number { font-size:16px; }
.movement-page .class-lead { font-size:20px; margin:16px 0 0; }
.movement-page .pod-copy dl { margin:24px 0; font-size:17px; }
.movement-page .pod-copy dl div { grid-template-columns:100px 1fr; gap:16px; }
.movement-page .recovery-book { background:var(--lime); }
.movement-page .booking-card { min-height:0; grid-template-columns:1fr 1fr; }
.movement-page .booking-copy { padding:34px; min-height:420px; }
.movement-page .booking-copy h3,.movement-page .schedule-link h3 { font-size:32px; line-height:1.12; }
.movement-page .booking-tag { font-size:15px; }
.movement-page .booking-copy .button { margin-top:25px; }
.movement-page .schedule-link { padding:40px; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:12px; }
.movement-page .schedule-link p { font-size:18px; }
.movement-page .recovery-faq { grid-template-columns:.75fr 1.25fr; gap:6vw; }
.movement-page .faq-intro img { max-width:290px; }
.movement-page .faq-list summary { font-size:21px; line-height:1.25; }
.movement-page .faq-list summary span { font-size:15px; }
.movement-page a:focus-visible,.movement-page button:focus-visible,.movement-page summary:focus-visible { outline:3px solid var(--ink); outline-offset:5px; }
@media(max-width:860px) {
 .movement-page .section { padding:60px 24px; }
 .movement-page .recovery-hero { padding-top:145px; grid-template-columns:1fr; gap:35px; }
 .movement-page .hero-copy h1 { max-width:650px; }
 .movement-page .hero-media { max-width:380px; }
 .movement-page .hero-media>img { max-height:510px; }
 .movement-page .why-grid,.movement-page .recovery-faq { grid-template-columns:1fr; gap:35px; }
 .movement-page .how-steps li { min-height:220px; }
 .movement-page .pod-panel { grid-template-columns:1fr; }
 .movement-page .pod-media { height:400px; }
 .movement-page .pod-media img { object-position:center 45%; }
 .movement-page .booking-card { grid-template-columns:1fr; }
 .movement-page .booking-copy { min-height:0; }
 .movement-page .faq-intro img { max-width:180px; }
}
@media(max-width:480px) {
 .movement-page .section { padding:52px 20px; }
 .movement-page .recovery-hero { padding-top:135px; }
 .movement-page .hero-copy .hero-lead { font-size:21px; }
 .movement-page .kicker { font-size:16px; }
 .movement-page .hero-facts { gap:8px; }
 .movement-page .hero-facts strong { font-size:25px; }
 .movement-page .hero-media { width:calc(100% - 12px); }
 .movement-page .hero-media>img { max-height:470px; }
 .movement-page .pod-tabs button { padding:13px; font-size:17px; }
 .movement-page .pod-media { height:350px; }
 .movement-page .pod-copy,.movement-page .booking-copy,.movement-page .schedule-link { padding:26px 22px; }
 .movement-page .pod-copy dl div { grid-template-columns:1fr; gap:6px; }
 .movement-page .evidence-note { padding:24px; }
 .movement-page .faq-intro { grid-template-columns:1fr 100px; gap:12px; }
 .movement-page .faq-intro img { width:100px; }
 .movement-page .faq-list summary { grid-template-columns:25px 1fr 20px; gap:8px; font-size:18px; }
 .movement-page .faq-list details p { padding:0 0 22px 33px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }

/* The image sets its container height, including at tablet breakpoints. */
.movement-page .recovery-hero{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}
@media(max-width:860px){
 .movement-page .recovery-hero{grid-template-columns:minmax(0,1fr)}
 .movement-page .pod-media{height:auto;aspect-ratio:4/3}
 .movement-page .hero-sticker{right:0;max-width:85%}
}
