/* The Strength Lab uses the shared Lab layout, with blue and coral accents. */
.strength-page .recovery-hero { background:var(--sky); }
.strength-page .hero-media>img { box-shadow:10px 10px 0 var(--coral); }
.strength-page .hero-sticker { background:var(--lime); }
.strength-page .hero-facts { grid-template-columns:.7fr 1.15fr 1.15fr; }
.strength-page .hero-facts strong { font-size:clamp(21px,2.1vw,28px); line-height:1.1; }
.strength-page .evidence-note { background:var(--sky); }
.strength-page .evidence-note p+p { margin-top:16px; }
.strength-page .benefit-grid article:nth-child(1) span { background:var(--sky); }
.strength-page .benefit-grid article:nth-child(2) span { background:var(--coral); }
.strength-page .benefit-grid article:nth-child(3) span { background:var(--lime); }
.strength-format { background:var(--sky); border-block:2px solid var(--ink); }
.format-grid { max-width:1250px; margin:auto; display:grid; grid-template-columns:.95fr 1.05fr; gap:clamp(28px,5vw,65px); align-items:start; }
.format-card { padding:34px; border:2px solid var(--ink); border-radius:24px; background:var(--cream); box-shadow:8px 8px 0 var(--ink); }
.format-card h3 { font-size:clamp(27px,2.8vw,38px); line-height:1.12; margin:28px 0 18px; }
.format-card p { font-size:18px; }
.format-facts { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; border-top:2px solid var(--ink); margin:28px 0 0; padding-top:24px; }
.format-facts dt { font:800 36px/1.1 var(--heading); }
.format-facts dd { font-size:16px; line-height:1.35; margin:5px 0 0; }
.session-steps { list-style:none; margin:0; padding:0; }
.session-steps li { display:grid; grid-template-columns:46px 1fr; gap:18px; padding:24px 0; border-top:2px solid var(--ink); }
.session-steps li:last-child { border-bottom:2px solid var(--ink); }
.session-steps li>span { display:grid; place-items:center; width:42px; height:42px; border:2px solid var(--ink); border-radius:50%; background:var(--cream); font-size:16px; font-weight:600; }
.session-steps li:nth-child(2)>span { background:var(--coral); }
.session-steps li:nth-child(3)>span { background:var(--lime); }
.session-steps h3 { font-size:25px; line-height:1.15; }
.session-steps p { margin:12px 0 0; font-size:18px; }
.strength-page .recovery-how { background:var(--cream); border:0; }
.strength-page .how-steps li { background:var(--sky); }
.strength-page .how-steps li:nth-child(2) { background:var(--lime); }
.strength-page .how-steps li:nth-child(3) { background:var(--lilac); }
.strength-together { display:grid; grid-template-columns:1fr 1fr; gap:6vw; background:var(--ink); color:var(--cream); }
.strength-together h2 { color:var(--lime); }
.strength-together .kicker { color:var(--sky); }
.strength-together p:not(.kicker) { font-size:18px; margin:0 0 20px; }
.strength-together .button { color:var(--ink); background:var(--sky); box-shadow:4px 4px 0 var(--lilac); }
.strength-page .recovery-book { background:var(--lilac); }
.strength-page .booking-copy { background:var(--sky); }
.strength-page .booking-copy h3 { margin-top:28px; }
.strength-page .faq-intro img { max-width:220px; max-height:290px; width:auto; object-fit:contain; filter:drop-shadow(5px 6px 0 var(--sky)); }
.strength-page .strength-together a:focus-visible { outline-color:var(--lime); }
@media(max-width:860px) {
 .format-grid,.strength-together { grid-template-columns:1fr; gap:35px; }
 .strength-page .faq-intro img { width:160px; }
}
@media(max-width:480px) {
 .format-card { padding:26px 22px; }
 .format-card .booking-tag { font-size:14px; }
 .format-facts dt { font-size:30px; }
 .format-facts dd { font-size:15px; }
 .session-steps li { grid-template-columns:35px 1fr; gap:12px; }
 .session-steps li>span { width:32px; height:32px; font-size:14px; }
 .session-steps h3 { font-size:23px; }
 .strength-page .hero-facts { gap:8px; }
 .strength-page .hero-facts span { font-size:15px; }
 .strength-page .faq-intro img { width:95px; }
}
