/* Learning catalogue and lab detail pages; shared tokens and chrome stay in redesign.css. */
.lab-directory .title a { color: var(--text); text-decoration-thickness: 1px; text-underline-offset: 5px; }
.lab-directory .title a:hover { color: var(--primary-dark); }
.lab-directory .text-link { align-self: flex-start; margin-top: auto; }
.lab-directory .body { max-width: 60ch; }
.hero-film figcaption { margin-top: 18px; }
.lab-hero .hero-copy { max-width: 64ch; }
.lab-hero .lab-art img { width: 100%; height: auto; border-radius: 14px; }
.lab-art figcaption { margin-top: 14px; font-size: 14px; line-height: 1.6; color: var(--text-subtle); }
.lab-prose { display: flex; flex-direction: column; gap: 22px; }
.lab-prose > p, .lab-prose > ul, .lab-prose > ol { max-width: 72ch; }
.lab-prose p, .lab-prose li { font-size: 16px; line-height: 1.7; color: var(--text-subtle); }
.lab-prose > ul { padding-left: 24px; }
.lab-prose li + li { margin-top: 12px; }
.lab-breadcrumb { display: flex; flex-wrap: wrap; gap: 10px; font-size: 14px; line-height: 1.6; }
.lab-breadcrumb a { color: var(--primary-dark); text-underline-offset: 4px; }
.lab-prompts { max-width: 72ch; padding-left: 24px; }
.lab-prompts li { font-size: 18px; }
.film-transcript { max-width: 80ch; border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule); padding: 20px 0; }
.film-transcript summary { cursor: pointer; font-size: 18px; font-weight: 600; line-height: 1.6; color: var(--primary-dark); }
.transcript-copy { display: flex; flex-direction: column; gap: 18px; padding-top: 24px; }
.lab-related { display: flex; flex-wrap: wrap; gap: 24px; }
#lab-catalogue, #film-transcript { scroll-margin-top: 88px; }
@media (max-width: 720px) {
  .lab-hero .display { font-size: clamp(38px, 8vw, 60px); }
  .lab-hero .cta-row { align-items: flex-start; flex-direction: column; }
}

/* Plain contextual discovery links, shared by Learning and technical guides. */
.technical-links { display: flex; flex-direction: column; gap: 12px; padding-left: 24px; }
.technical-links a, .lab-prose p a { color: var(--primary-dark); text-underline-offset: 4px; }
