.looking-lab { background: #f4f0e8; color: #1e2528; }
.visit-pace { margin-block: 2rem; padding: clamp(1rem, 3vw, 2rem); background: #fff; border: 1px solid #d0c8bc; }
.visit-pace[hidden] { display: none; }
.pace-controls, .pace-results { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; }
.pace-controls label { font-weight: 700; line-height: 1.6; }
.pace-controls output { display: block; font-variant-numeric: tabular-nums; color: #87271f; }
.pace-controls input { display: block; width: 100%; min-height: 44px; accent-color: #87271f; cursor: pointer; }
.pace-controls input:focus-visible { outline: 3px solid #87271f; outline-offset: 4px; }
.pace-results { margin-block: 1rem 0; }
.pace-results > div { background: #f4f0e8; padding: 1rem; }
.pace-results dd { margin: .5rem 0 0; font-size: 1.8rem; font-weight: 700; font-variant-numeric: tabular-nums; }
@media (max-width: 480px) { .pace-controls { grid-template-columns: 1fr; } .pace-results { gap: .5rem; } }
.looking-lab h2, .directory-atlas h2 { max-width: 24ch; font-size: clamp(1.7rem, 3.5vw, 3rem); line-height: 1.12; }
.lab-intro { max-width: 74ch; line-height: 1.75; margin-block: 1.4rem 2rem; }
.painting-study { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(1rem, 3vw, 2.5rem); margin-block: 2.5rem; padding: clamp(1rem, 3vw, 2rem); background: #fff; }
.painting-study figure { margin: 0; }
.painting-study img { width: 100%; height: auto; display: block; }
.painting-study figcaption { padding-block: 1rem; font-size: .85rem; line-height: 1.65; }
.painting-study h3 { font-size: clamp(1.3rem, 2.5vw, 2rem); margin-block: 0 1rem; }
.study-steps { padding-inline-start: 1.5rem; }
.study-steps li { padding-inline-start: .5rem; margin-block-end: 1.3rem; line-height: 1.65; }
.study-steps li::marker { color: #87271f; font-weight: 700; }
.study-steps h4 { margin-block: 0 .4rem; font-size: 1rem; }
.study-steps p { margin: 0; }
@media (max-width: 800px) { .painting-study { grid-template-columns: 1fr; } }
.lab-layout > * { min-width: 0; }
.lab-layout { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr); gap: clamp(1.2rem, 3vw, 3rem); align-items: start; }
.lab-table caption { text-align: start; font-weight: 700; padding-block: 0 1rem; }
.lab-table th, .lab-table td { vertical-align: top; line-height: 1.6; }
.lab-table th[scope="row"] { min-width: 7rem; }
.lab-case { background: #fff; padding: clamp(1.2rem, 2.5vw, 2rem); border-block-start: 4px solid #a62e24; }
.lab-case h3 { margin-block: .5rem 1rem; font-size: 1.4rem; }
.lab-case p { line-height: 1.7; }
.lab-facts { margin-block: 1.5rem; }
.lab-facts > div { padding-block: .7rem; border-block-end: 1px solid #ded9cf; }
.lab-facts dt { font-size: .8rem; text-transform: uppercase; letter-spacing: .06em; color: #54585b; }
.lab-facts dd { margin: .3rem 0 0; overflow-wrap: anywhere; }
.lab-exercise { margin-block-start: 1.6rem; padding: 1.3rem; background: #fff; border: 1px solid #d0c8bc; }
.lab-exercise h3 { margin-block: 0 .7rem; }
.lab-exercise p { line-height: 1.7; }
.lab-exercise summary { cursor: pointer; font-weight: 700; padding-block: .7rem; color: #87271f; }
.lab-exercise summary:focus-visible, .looking-lab a:focus-visible, .directory-atlas a:focus-visible { outline: 3px solid #87271f; outline-offset: 4px; }
.lab-place { margin: 2rem 0 0; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); background: #fff; }
.lab-place .detail-image { width: 100%; height: 100%; max-height: 30rem; object-fit: cover; margin: 0; }
.lab-place figcaption { padding: clamp(1.2rem, 3vw, 2.5rem); }
.lab-place figcaption p { line-height: 1.65; }
.lab-photo-note, .lab-place .photo-credit { font-size: .82rem; color: #53575a; }
.directory-atlas { background: #fff; color: #1e2528; }
.atlas-numbers { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin-block: 1.5rem 2rem; }
.atlas-numbers > div { border-block-start: 2px solid #a62e24; padding: 1rem; background: #f4f0e8; }
.atlas-numbers dt { font-size: .85rem; line-height: 1.4; }
.atlas-numbers dd { font-size: clamp(1.8rem, 4vw, 3rem); font-weight: 700; margin: .5rem 0 0; font-variant-numeric: tabular-nums; }
.atlas-table { width: 100%; }
.atlas-table td { font-variant-numeric: tabular-nums; }
.atlas-table td:nth-child(3) { min-width: 10rem; width: 40%; }
.atlas-bar { height: .6rem; background: #e5e0d8; border-radius: 2px; margin-block-end: .4rem; overflow: hidden; }
.atlas-bar > span { display: block; height: 100%; background: #a62e24; min-width: 1px; }
.looking-lab .table-scroll:focus-visible, .directory-atlas .table-scroll:focus-visible { outline: 3px solid #87271f; outline-offset: 4px; }
@media (max-width: 800px) { .lab-layout, .lab-place { grid-template-columns: minmax(0, 1fr); } .lab-place .detail-image { max-height: 22rem; height: auto; } }
@media (max-width: 480px) { .atlas-numbers { gap: .4rem; } .atlas-numbers > div { padding: .7rem; } .atlas-numbers dt { font-size: .75rem; } }
