.lab-page { width: min(900px, calc(100% - 40px)); margin: 64px auto 80px; }
.lab-intro h1 { font-size: clamp(2.5rem, 7vw, 4.8rem); line-height: 1.05; letter-spacing: -.045em; }
.lab-lede { font-size: clamp(1.2rem, 3vw, 1.6rem); }
.lab-page p { max-width: 72ch; line-height: 1.75; }
.lab-page section { padding: 40px 0; border-top: 1px solid var(--line); }
.lab-intro { padding-bottom: 36px; }
.lab-page h2 { font-size: clamp(1.6rem, 4vw, 2.2rem); line-height: 1.2; letter-spacing: -.025em; }
.lab-page h3 { font-size: 1.2rem; }
.lab-page figure { margin: 28px 0; }
.lab-page img { display: block; max-width: 100%; width: auto; height: auto; max-height: 640px; object-fit: contain; }
.lab-page figcaption { margin-top: 12px; font-size: .9rem; color: var(--muted); max-width: 75ch; }
.lab-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; }
.lab-page code { overflow-wrap: anywhere; }
@media (max-width: 600px) { .lab-pair { grid-template-columns: 1fr; gap: 12px; } .lab-page { margin-top: 40px; } }
.site-header nav { display: flex; }
.site-header nav a { font-size: .85rem; }
@media (max-width: 600px) { .site-header { gap: 20px; } .site-header nav a { max-width: 16ch; text-align: right; } }
