/* One continuous scroll stage: the page scrolls normally while the lesson stays in view. */
.lab-section { padding-bottom:80px; }
.lab-intro { margin-bottom:35px; }
.lab-scene { height:285svh; }
.lab-sticky { height:100svh; position:sticky; top:0; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:48px; align-items:center; }
.lab-story { max-width:560px; }
.lab-story-eyebrow { color:#3182f6; font-size:16px; font-weight:700; margin:0 0 24px; }
.lab-story h2 { font-size:44px; line-height:1.35; letter-spacing:-.035em; margin:0; font-weight:650; word-break:keep-all; }
.lab-story-description { color:#727780; font-size:18px; line-height:1.7; margin:22px 0 0; word-break:keep-all; }
.lab-progress { display:flex; flex-wrap:wrap; gap:24px; margin-top:38px; color:#b0b8c1; font-size:14px; font-weight:700; }
.lab-progress span { transition:color .2s ease; white-space:nowrap; }
.lab-progress span.is-active { color:#3182f6; }
.lab-progress b { font-weight:600; margin-left:4px; }
.lab-scroll-visual { position:relative; top:auto; width:min(100%,650px,85svh); height:auto; aspect-ratio:650/605; margin:0 auto; }
.path-stage { height:auto !important; aspect-ratio:616/347; }
.method-proof { gap:32px; }
.method-proof strong { display:block; text-align:left; }
.method-proof p { color:#b5bec7; font-size:15px; line-height:1.6; margin:12px 0 0; }
.method-records { margin:0; padding:0; list-style:none; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 30px; color:#f4f6fa; font-size:15px; }
.method-records li:before { content:'✓'; color:#8bb9ff; margin-right:10px; }
@media(max-width:800px) {
 .lab-sticky { display:flex; flex-direction:column; justify-content:center; align-items:stretch; gap:20px; }
 .lab-story { max-width:520px; width:100%; margin:0 auto; }
 .lab-story-eyebrow { font-size:14px; margin-bottom:10px; }
 .lab-story h2 { font-size:28px; line-height:1.3; }
 .lab-story-description { font-size:15px; margin-top:9px; }
 .lab-progress { gap:16px; margin-top:16px; font-size:12px; }
 .lab-scroll-visual { display:block; width:min(100%,430px,48svh); height:auto; aspect-ratio:650/605; border-radius:26px; }
 .method-proof strong { display:block; }
}
@media(max-width:580px) { .method-records { grid-template-columns:1fr; gap:12px; } }
@media(prefers-reduced-motion:reduce) { .lab-progress span { transition:none; } }
