.scroll-lab { --sl-gap:clamp(2rem,5vw,4.5rem); }
.sl-intro { padding-bottom:2.8rem; }
.sl-intro .page-title { font-size:clamp(3.2rem,6vw,6rem); line-height:1; margin-bottom:1.5rem; }
.sl-intro-bottom { display:flex; align-items:center; justify-content:space-between; gap:2rem; }
.sl-intro-bottom > p { max-width:38rem; color:var(--muted); }
.sl-tabs { display:flex; gap:.5rem; flex-shrink:0; }
.sl-tabs a { border:1px solid var(--line); border-radius:999px; padding:.75rem 1.15rem; font-size:.9rem; text-decoration:none; }
.sl-tabs a[aria-current] { background:var(--forest); color:var(--cream); }
.sl-start { display:inline-block; margin-top:1rem; }
.sl-materials { scroll-margin-top:8rem; padding-block:2rem; }
.sl-heading { display:grid; grid-template-columns:1.2fr 1fr; align-items:end; gap:var(--sl-gap); margin-bottom:2.5rem; }
.scroll-lab h2 { font-family:var(--font-display); font-weight:400; font-size:clamp(2.6rem,4.8vw,4.5rem); line-height:1.06; margin:0; }
.scroll-lab h2 em { color:var(--accent); }
.sl-heading > p, .sl-chapter-copy > p:not(.eyebrow), .sl-workshop p:not(.eyebrow) { color:var(--muted); }
.sl-chapter { display:grid; grid-template-columns:1.1fr 1fr; gap:var(--sl-gap); align-items:center; padding-block:2rem; }
.sl-chapter:nth-child(even) .sl-chapter-photo { order:2; }
.sl-chapter-photo { display:block; position:relative; overflow:hidden; border-radius:var(--radius); background:#e9e6dd; }
.sl-chapter-photo img { width:100%; height:clamp(300px,37vw,490px); object-fit:contain; display:block; }
.sl-rule { width:3.5rem; height:2px; background:var(--accent); margin-bottom:1.5rem; transform-origin:left; }
.sl-chapter h3 { font:400 clamp(2.2rem,3.7vw,3.5rem)/1.08 var(--font-display); margin:0 0 1.3rem; }
.sl-chapter-copy > p { line-height:1.85; }
.sl-detail { font-size:.78rem; padding-block:.8rem; border-block:1px solid var(--line); }
.sl-links { display:flex; flex-wrap:wrap; gap:1rem; margin-top:1.5rem; }
.sl-stage { display:none; }
.sl-story.is-enhanced { display:grid; grid-template-columns:1.1fr 1fr; gap:var(--sl-gap); align-items:start; }
.is-enhanced .sl-stage { display:block; position:sticky; top:8rem; }
.sl-stage-images { position:relative; height:min(60vh,530px); border-radius:var(--radius); background:#e9e6dd; overflow:hidden; }
.sl-stage-layer { position:absolute; inset:0; margin:0; opacity:0; padding:1rem 1rem 3rem; }
.sl-stage-layer:first-child { opacity:1; }
.sl-stage-layer { pointer-events:none; }
.sl-stage-layer.is-active { pointer-events:auto; }
.sl-stage-layer > a { display:block; height:100%; }
.sl-stage-layer img { width:100%; height:100%; object-fit:contain; }
.sl-stage-layer figcaption { position:absolute; bottom:1rem; left:1.5rem; font-size:.85rem; }
.sl-stage-footer { display:flex; justify-content:space-between; padding:1rem 0; font-size:.75rem; letter-spacing:.12em; text-transform:uppercase; color:var(--muted); }
.sl-progress { height:2px; background:var(--line); }
.sl-progress span { display:block; height:100%; background:var(--accent); transform-origin:left; }
.is-enhanced .sl-chapter { min-height:65vh; display:flex; padding:3rem 0; }
.is-enhanced .sl-chapter-photo { display:none; }
.is-enhanced .sl-chapter-copy { border-left:2px solid var(--line); padding-left:1.5rem; transition:border-color .35s; }
.is-enhanced .sl-chapter[aria-current] .sl-chapter-copy { border-color:var(--accent); }
.sl-applications { background:#e9e6dd; margin-block:2rem; padding-block:3.5rem; }
.sl-gallery { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.5rem; }
.sl-gallery .media-card { min-width:0; }
.sl-workshop { display:grid; grid-template-columns:1.1fr 1fr; gap:var(--sl-gap); align-items:center; padding-block:2rem; }
.sl-workshop-photo { display:block; border-radius:var(--radius); overflow:hidden; }
.sl-workshop-photo img { display:block; width:100%; aspect-ratio:1.25; object-fit:cover; }
.sl-workshop h2 { margin-bottom:1.5rem; }
.sl-notes { border-top:1px solid var(--line); padding-block:1.5rem 3rem; font-size:.85rem; color:var(--muted); }
.sl-home .is-enhanced .sl-chapter { min-height:clamp(440px,55vh,580px); }
.sl-home .sl-materials { padding-block:var(--section); }
.sl-home .sl-chapter h3 { font-size:clamp(2rem,3.2vw,3.1rem); }
@media(max-width:850px) {
 .sl-intro-bottom { align-items:flex-start; flex-direction:column; gap:.5rem; }
 .sl-heading, .sl-chapter, .sl-workshop { grid-template-columns:1fr; gap:1.5rem; }
 .sl-chapter:nth-child(even) .sl-chapter-photo { order:0; }
 .sl-chapter-photo img { height:auto; aspect-ratio:1.1; }
 .sl-gallery { grid-template-columns:1fr; }
 .sl-chapter { padding-block:1.5rem 2.5rem; }
 .sl-heading { margin-bottom:1.5rem; }
 .sl-inspect { display:none; }
}
