/* Practical Strength Lab onboarding, using the shared Lab type scale. */
.strength-info-page { font-size:18px; }
.strength-info-page .info-wrap { width:min(1250px,100%); margin-inline:auto; }
.strength-info-page .info-intro { padding-top:160px; padding-bottom:48px; background:var(--sky); border-bottom:2px solid var(--ink); }
.info-intro h1 { font-size:var(--lab-title); line-height:1.06; max-width:900px; }
.info-lead { max-width:740px; font-size:21px; margin:24px 0 30px; }
.arrival-strip { display:grid; grid-template-columns:repeat(3,1fr); border-block:1px solid var(--ink); margin-top:35px; }
.arrival-strip p { margin:0; padding:23px 26px 23px 0; }
.arrival-strip p+p { padding-left:26px; border-left:1px solid var(--ink); }
.arrival-strip strong,.arrival-strip span { display:block; }
.arrival-strip strong { font-weight:600; margin-bottom:6px; }
.arrival-strip span { font-size:17px; }
.guide-nav { display:flex; flex-wrap:wrap; gap:10px; margin-top:26px; }
.guide-nav a { display:inline-block; font-size:16px; font-weight:500; padding:10px 15px; border:1px solid var(--ink); border-radius:30px; text-decoration:none; background:var(--cream); }
.guide-nav a:hover { background:var(--lime); }
.info-section { scroll-margin-top:110px; }
.info-section h2 { font-size:var(--lab-section-title); line-height:1.08; }
.info-section h3 { font-size:clamp(25px,2.4vw,34px); line-height:1.15; letter-spacing:-.035em; }
.info-two { display:grid; grid-template-columns:1fr 1fr; gap:clamp(32px,6vw,85px); align-items:start; }
.info-two p:first-child:not(.kicker) { margin-top:0; }
.wear-card { border:2px solid var(--ink); border-radius:24px; padding:30px; background:var(--lime); box-shadow:7px 7px 0 var(--ink); }
.wear-card p:last-child { margin-bottom:0; }
.flow-section { background:var(--lilac); border-block:2px solid var(--ink); }
.section-lead { max-width:720px; margin:24px 0 38px; }
.flow-list { list-style:none; padding:0; margin:0; display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.flow-list li { display:flex; gap:22px; padding:28px; background:var(--cream); border:2px solid var(--ink); border-radius:20px; }
.flow-list li>span { flex:0 0 40px; height:40px; display:grid; place-items:center; border:1px solid var(--ink); border-radius:50%; background:var(--sky); font-weight:600; font-size:16px; }
.flow-list h3 { font-size:25px; }
.flow-list p { margin-bottom:0; }
.rest-section { background:var(--ink); color:var(--cream); }
.rest-section .kicker { color:var(--sky); }
.rest-section h2 { color:var(--lime); }
.rest-lead { font-size:25px; font-weight:500; }
.strength-info-page .source-note { font-size:15px; line-height:1.55; }
.source-note a { text-underline-offset:3px; }
.rest-section .source-note { border-top:1px solid rgba(243,240,235,.4); padding-top:20px; margin-top:24px; }
.basic-card { display:grid; grid-template-columns:.82fr 1.18fr; margin:30px 0 50px; border:2px solid var(--ink); border-radius:25px; background:var(--cream); box-shadow:8px 8px 0 var(--ink); overflow:hidden; scroll-margin-top:110px; }
.basic-card figure { margin:0; background:var(--sky); align-self:start; }
.basic-card figure img { width:100%; height:auto; }
.basic-card figcaption { padding:16px 22px; font-size:16px; line-height:1.45; border-top:2px solid var(--ink); }
.basic-copy { padding:clamp(24px,3vw,42px); }
.basic-copy p:last-child { margin-bottom:0; }
.basic-copy .kicker { font-size:16px; }
.basic-copy h3 { font-size:var(--lab-card-title); }
.basic-card:nth-of-type(2) figure { background:var(--lilac); }
.basic-card:nth-of-type(3) figure { background:var(--lime); }
.rir-example { margin:24px 0; padding:20px 22px; background:var(--lime); border-left:4px solid var(--ink); border-radius:0 12px 12px 0; }
.rir-example p { margin:8px 0 0; }
.equipment-key { margin:25px 0; }
.equipment-key>div { padding:17px 0; border-top:1px solid var(--line); }
.equipment-key dt { font-weight:600; }
.equipment-key dd { margin:7px 0 0; line-height:1.55; }
.labelled-photo { position:relative; }
.photo-pin { position:absolute; top:var(--y); left:var(--x); transform:translate(-50%,-50%); display:grid; place-items:center; width:40px; height:40px; border:2px solid var(--ink); border-radius:50%; background:var(--lime); color:var(--ink); font:800 20px/1 var(--heading); box-shadow:0 0 0 5px rgba(243,240,235,.75); }
.adaptations-section { background:var(--sky); border-block:2px solid var(--ink); }
.coach-prompt { margin:36px 0; padding:22px 26px; border-left:5px solid var(--ink); background:var(--cream); }
.coach-prompt p { margin:8px 0 0; }
.body-accordions { display:grid; gap:12px; }
.body-accordions details { border:2px solid var(--ink); border-radius:16px; background:var(--cream); overflow:hidden; }
.body-accordions summary { display:grid; grid-template-columns:110px 1fr 24px; gap:20px; align-items:center; padding:24px; cursor:pointer; list-style:none; font-size:21px; font-weight:500; line-height:1.35; }
.body-accordions summary::-webkit-details-marker { display:none; }
.body-tag { display:inline-block; justify-self:start; border:1px solid var(--ink); border-radius:7px; padding:7px 9px; font-size:14px; background:var(--sky); font-weight:500; }
.body-accordions details[open] summary { background:var(--lime); border-bottom:1px solid var(--ink); }
.body-accordions details[open] summary>b { transform:rotate(45deg); }
.body-answer { display:grid; grid-template-columns:1fr 1fr; gap:12px 35px; padding:26px; }
.body-answer h3 { font-family:var(--body); font-size:18px; font-weight:600; letter-spacing:.025em; }
.body-answer p { margin:10px 0 0; }
.body-answer .source-note { grid-column:1/-1; }
.urgent-note { margin-top:30px; padding:25px; border:2px solid var(--ink); border-radius:16px; background:var(--cream); }
.urgent-note p { margin:12px 0 0; }
.strength-info-page a:focus-visible,.strength-info-page summary:focus-visible { outline:3px solid var(--ink); outline-offset:5px; }
.strength-info-page .rest-section a:focus-visible { outline-color:var(--lime); }
@media(max-width:900px) {
 .info-two { grid-template-columns:1fr; gap:30px; }
 .basic-card { grid-template-columns:.85fr 1.15fr; }
 .basic-copy { padding:25px; }
 .flow-list { gap:16px; }
 .flow-list li { display:block; padding:24px; }
 .flow-list li>span { margin-bottom:20px; }
}
@media(max-width:680px) {
 .strength-info-page .info-intro { padding-top:135px; }
 .info-lead { font-size:19px; }
 .arrival-strip { grid-template-columns:1fr; }
 .arrival-strip p,.arrival-strip p+p { padding:16px 0; border-left:0; }
 .arrival-strip p+p { border-top:1px solid var(--line); }
 .flow-list,.basic-card,.body-answer { grid-template-columns:1fr; }
 .basic-card { margin-bottom:32px; }
 .basic-card:not(.equipment-card) figure img { aspect-ratio:4/3; object-fit:cover; object-position:center 40%; }
 .basic-card:first-of-type figure img { object-position:center; }
 .equipment-card figure { width:100%; }
 .body-accordions summary { grid-template-columns:1fr 24px; gap:10px; padding:20px; font-size:20px; }
 .body-tag { grid-column:1; }
 .body-accordions summary>span:nth-child(2) { grid-column:1; }
 .body-accordions summary>b { grid-column:2; grid-row:1/3; }
 .body-answer { padding:22px; gap:22px; }
 .guide-nav { gap:8px; }
 .guide-nav a { padding:9px 12px; }
 .photo-pin { width:34px; height:34px; font-size:18px; }
}

/* Revision: clearer actions, compact gallery and visible safety information. */
.jump-label { margin:26px 0 12px; font-size:16px; font-weight:600; }
.guide-nav { margin-top:0; gap:12px; }
.guide-nav a { display:inline-flex; align-items:center; justify-content:space-between; gap:20px; min-height:48px; padding:12px 18px; border:2px solid var(--ink); box-shadow:3px 4px 0 var(--ink); font-weight:600; }
.guide-nav a span { font-size:22px; line-height:1; }
.guide-nav a:hover { transform:translateY(-2px); }
.guide-nav a:active { transform:translate(2px,2px); box-shadow:1px 1px 0 var(--ink); }
.wear-subtitle { font-weight:500; border-bottom:1px solid var(--ink); padding-bottom:18px; }
.flow-section { background:#c8b8ff; }
.flow-section .section-lead { font-weight:500; color:#202833; }
.basic-card:nth-of-type(2) figure { background:#c8b8ff; }
.basic-card figcaption { font-weight:500; color:#202833; }
.basics-gallery [hidden] { display:none!important; }
.basics-gallery-nav { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; }
.basics-gallery-nav button { display:flex; align-items:center; gap:12px; min-height:62px; padding:12px; background:var(--cream); border:2px solid var(--ink); border-radius:13px; font-size:17px; font-weight:600; line-height:1.25; text-align:left; cursor:pointer; }
.basics-gallery-nav button>span { font-size:14px; }
.basics-gallery-nav button[aria-pressed="true"] { background:var(--lime); box-shadow:3px 3px 0 var(--ink); }
.basics-gallery-nav button:hover { background:var(--sky); }
.basics-gallery-toolbar { display:flex; align-items:center; justify-content:space-between; gap:16px; margin:23px 0 18px; }
.basics-gallery-toolbar p { margin:0; font-size:16px; font-weight:500; text-align:center; }
.basics-gallery-toolbar button { flex-shrink:0; min-height:44px; padding:10px 15px; border:2px solid var(--ink); border-radius:30px; background:var(--sky); font-size:16px; font-weight:600; cursor:pointer; }
.basics-gallery-toolbar button:disabled { opacity:.4; cursor:default; }
.gallery-ready .basic-card { margin:0; grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr); }
.gallery-ready .basic-card figure { align-self:stretch; display:flex; flex-direction:column; justify-content:center; border-right:2px solid var(--ink); padding-top:20px; }
.gallery-ready .basic-card figure>img { height:420px; object-fit:contain; aspect-ratio:auto; }
.gallery-ready .labelled-photo { width:min(100%,300px); margin:auto; }
.gallery-ready .labelled-photo img { height:auto; aspect-ratio:auto; }
.gallery-ready figcaption { margin-top:20px; }
.gallery-ready .basic-copy { padding:28px; font-size:17px; }
.gallery-ready .basic-copy h3 { font-size:32px; }
.gallery-ready .basic-copy .kicker { margin-bottom:15px; }
.gallery-ready .equipment-key { margin:18px 0; }
.gallery-ready .equipment-key>div { padding:12px 0; }
.rack-highlight { margin:24px 0; padding:24px; background:var(--lime); border:3px solid var(--ink); border-radius:20px; box-shadow:6px 6px 0 var(--sky); }
.rack-highlight-tag { display:block; text-transform:uppercase; letter-spacing:.05em; font-size:14px; font-weight:600; margin-bottom:12px; }
.rack-highlight h4 { margin:0; font-family:var(--heading); font-size:28px; line-height:1.12; letter-spacing:-.025em; }
.rack-highlight p { margin:16px 0 0; font-weight:500; }
.safety-note { display:flex; align-items:flex-start; gap:16px; background:#ffe2df; color:#4d2424; border:2px solid #a53f36; border-radius:15px; padding:22px; margin:24px 0; }
.safety-icon { display:block; font:600 28px/1.1 Arial,sans-serif; flex-shrink:0; }
.safety-note strong { font-weight:600; }
.safety-note p { margin:9px 0 0; font-weight:500; }
.scope-note { padding:30px; margin:34px 0; background:var(--cream); border:2px solid var(--ink); border-radius:20px; }
.scope-note h3 { font-size:28px; }
.scope-note p:last-child { margin-bottom:0; }
.stop-note { padding:28px; border-width:3px; box-shadow:5px 5px 0 #a53f36; }
.stop-note h3 { font-size:clamp(25px,2.8vw,34px); }
.after-class-note { margin-top:30px; padding:28px; background:var(--cream); border:1px solid var(--ink); border-radius:18px; }
.after-class-note h3 { font-size:26px; }
.after-class-note p:last-child { margin-bottom:0; }
.strength-info-page button:focus-visible { outline:3px solid var(--ink); outline-offset:4px; }
@media(max-width:900px) {
 .basics-gallery-nav { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .gallery-ready .basic-card { grid-template-columns:minmax(210px,.65fr) minmax(0,1.35fr); }
 .gallery-ready .basic-card figure>img { height:340px; }
 .gallery-ready .basic-copy { padding:24px; }
}
@media(max-width:680px) {
 .basics-gallery-nav { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .basics-gallery-nav button { font-size:16px; min-height:54px; }
 .basics-gallery-nav button:last-child { grid-column:1/-1; }
 .basics-gallery-toolbar { flex-wrap:wrap; gap:10px; }
 .basics-gallery-toolbar p { order:-1; width:100%; text-align:left; }
 .gallery-ready .basic-card { grid-template-columns:1fr; }
 .gallery-ready .basic-card figure { border-right:0; border-bottom:2px solid var(--ink); }
 .gallery-ready .basic-card figure>img { height:260px; }
 .gallery-ready .labelled-photo { width:min(100%,220px); }
 .gallery-ready figcaption { margin-top:15px; padding:14px 20px; }
 .gallery-ready .basic-copy h3 { font-size:29px; }
 .safety-note { padding:18px; gap:12px; }
 .scope-note,.stop-note,.after-class-note { padding:22px; }
 .rack-highlight { padding:20px; }
}
