/* Filmmaker’s Lab: shared FRANK tokens and painterly Ink card treatment. */
.lab-intro {padding-bottom:var(--section-y)}
.lab-triptych,.lab-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-5)}
.lab-triptych figure {margin:0;min-width:0}
.lab-triptych img {aspect-ratio:4/5;object-fit:cover;object-position:center}
.lab-triptych figcaption {padding-top:var(--space-5)}
.lab-triptych h2 {font-size:var(--type-d4);line-height:var(--leading-tight);margin-top:var(--space-3)}
.lab-image {display:block;width:100%;height:auto}
.lab-caption {font-size:var(--type-caption);color:var(--text-muted);margin-top:var(--space-4);line-height:var(--leading-body)}
.lab-jumps {display:flex;flex-wrap:wrap;gap:var(--space-4);margin-top:var(--space-6)}
.lab-section {padding-top:var(--section-y);padding-bottom:var(--section-y);border-top:var(--border) solid var(--line);scroll-margin-top:var(--header-height)}
.lab-method {display:grid;grid-template-columns:1fr 1fr;gap:var(--space-8);align-items:center}
.lab-method h2 {font-size:var(--type-d2);line-height:var(--leading-display);margin-top:var(--space-5)}
.lab-method h2 + p {margin-top:var(--space-6)}
.lab-method h3,.lab-card h3 {font-size:var(--type-d4);line-height:var(--leading-tight)}
.lab-method p {max-width:var(--measure);margin-bottom:var(--space-5)}
.lab-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
.lab-card {border:var(--border) solid var(--line);min-width:0;background-color:var(--surface-sunken);background-image:var(--texture-ink-image);background-size:var(--texture-ink-size) var(--texture-ink-size);background-repeat:repeat}
.lab-media {aspect-ratio:16/9;overflow:hidden;background:var(--surface-raised)}
.lab-media img {height:100%;object-fit:cover}
.lab-dutch {transform:rotate(-16deg) scale(1.32)}
.lab-close {transform:scale(1.8);transform-origin:52% 29%}
.lab-card-copy {padding:var(--space-6)}
.lab-card h3 {margin:var(--space-4) 0}
.lab-card p {color:var(--text-secondary);margin-bottom:var(--space-5);max-width:var(--measure)}
.lab-card strong {color:var(--text)}
.lab-card details {border-top:var(--border) solid var(--line)}
.lab-card summary {cursor:pointer;min-height:var(--target-min);padding:var(--space-4) 0;font-weight:var(--weight-semibold)}
.lab-card label {display:block;margin:var(--space-4) 0}
.lab-card textarea {display:block;width:100%;max-width:100%;resize:vertical;background:var(--surface);color:var(--text);border:var(--border) solid var(--line-strong);padding:var(--space-4);font:var(--type-small)/var(--leading-body) var(--font-body);margin-bottom:var(--space-4)}
.lab-copy-status {display:block;font-size:var(--type-caption);margin-top:var(--space-3)}
.lab-tool {padding:var(--section-y) 0}
.lab-tool .aside {margin-top:var(--space-6)}
.lab-speed-brand {margin-bottom:var(--space-6)}
.lab-speed-brand img {display:block;width:var(--speedramp-logo-width);max-width:100%;height:auto}
.lab-speed-comparison {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-5);margin-top:var(--space-7)}
.lab-speed-example {margin:0;min-width:0;border:var(--border) solid var(--line)}
.lab-speed-example figcaption {display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:var(--space-3);padding:var(--space-5)}
.lab-speed-example h3 {font-size:var(--type-d5);line-height:var(--leading-tight)}
.lab-speed-example .lab-caption {margin:0}
.lab-speed-example video {display:block;width:100%;height:auto;aspect-ratio:16/9;background:var(--surface-sunken)}
.lab-speed-note {margin-top:var(--space-5)}
@media(max-width:760px){.lab-speed-comparison{grid-template-columns:1fr;gap:var(--space-6)}}
.lab-series-teaser {display:grid;grid-template-columns:1fr 1fr;gap:var(--space-7);align-items:center}
.lab-series-teaser img {display:block;width:100%;height:auto}
.lab-series-teaser p {margin-top:var(--space-5)}
.lab-card :is(summary,textarea,button):focus-visible {outline:var(--border-strong) solid var(--focus-ring);outline-offset:var(--space-1)}
@media(max-width:760px){.lab-triptych,.lab-grid,.lab-method,.lab-series-teaser{grid-template-columns:1fr;gap:var(--space-6)}.lab-triptych img{aspect-ratio:16/9}.lab-card-copy{padding:var(--space-5)}}

@media(max-width:760px){.lab-page .page-heading h1{font-size:var(--type-d2);overflow-wrap:anywhere}}

/* Split hero: one portrait, eight light choices. */
.lab-hero {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-7);align-items:start;padding-top:var(--section-y);padding-bottom:var(--section-y)}
.lab-hero-copy {min-width:0;container-type:inline-size;padding-top:var(--space-7)}
.lab-hero-copy h1 {font-size:var(--type-lab-hero);line-height:var(--leading-display);margin:var(--space-6) 0;overflow-wrap:normal;white-space:nowrap}
.lab-hero-copy>p {font-size:var(--type-lead);max-width:var(--measure);color:var(--text-secondary)}
.lab-light-player {margin:0;min-width:0}
.lab-light-stage {position:relative;aspect-ratio:1/1;overflow:hidden;background:var(--surface-sunken)}
.lab-light-slide {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(1.2);transform-origin:50% 15%;opacity:0;transition:opacity var(--dur-slow) var(--ease-out)}
.lab-light-slide.is-active {opacity:1}
.lab-light-label {display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:var(--space-3);padding-top:var(--space-5)}
.lab-light-label .lab-caption {margin:0}
.lab-light-controls {display:flex;gap:var(--space-3);margin:0}
.lab-light-strip {display:flex;flex-wrap:wrap;gap:var(--space-4);align-items:center;justify-content:space-between;padding-top:var(--space-4)}
.lab-light-strip .lab-light-label {padding:0}
.lab-light-controls button {min-width:var(--target-min);min-height:var(--target-min)}
.lab-light-controls button:disabled {opacity:.6;cursor:default}
.lab-light-controls button:focus-visible {outline:var(--border-strong) solid var(--focus-ring);outline-offset:var(--space-1)}
html.frank-motion-off .lab-light-slide {transition:none}
@media(prefers-reduced-motion:reduce){.lab-light-slide{transition:none}}
@media(max-width:760px){.lab-hero{grid-template-columns:1fr;gap:var(--space-7)}.lab-hero-copy{padding-top:0}.lab-light-stage{aspect-ratio:1/1}}

/* Keep explanatory copy and its action together beside the study. */
.lab-series-copy p{margin:0 0 var(--space-5);max-width:var(--measure);color:var(--text-secondary)}
.lab-series-copy .button{margin-top:var(--space-3)}

/* Separate primary and secondary episode actions, including narrow screens. */
.lab-episode-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-5)}
.lab-episode-actions .text-link{display:inline-flex;align-items:center;min-height:var(--target-min)}
@media(max-width:760px){.lab-episode-actions{flex-direction:column;align-items:flex-start;gap:var(--space-4)}}

.lab-episode{padding-top:calc(var(--section-y) + var(--space-7))}
