.case-toc > summary { display: list-item; padding: 12px 16px; cursor: pointer; }
.case-index-ready .case-toc > summary { display: none; }
dialog.thesis-lightbox:not([open]) { display: none; }
dialog.thesis-lightbox[open] { position: fixed; inset: 0; width: 100vw; max-width: none; height: 100dvh; max-height: none; margin: 0; border: 0; visibility: visible; opacity: 1; pointer-events: auto; }
dialog.thesis-lightbox::backdrop { background: #081123; }
@media(max-width:800px) {
 .case-hero { padding: 26px 20px; }
 .case-hero h1 { font-size: 36px; line-height: 1.1; }
 .case-hero .case-lead, .case-hero .case-side, .case-hero .case-eyebrow { display: none; }
 .case-main { padding-top: 16px; }
 .case-grid { gap: 16px; }
 details.case-toc { order: -1; padding: 0; margin: 0; background: transparent; }
 .case-index-ready .case-toc > summary, .case-toc > summary { display: list-item; padding: 12px 16px; min-height: 48px; font-size: 16px; cursor: pointer; }
 .case-toc[open] { padding-bottom: 16px; }
 .case-toc > :not(summary) { margin-inline: 16px; }
 .case-project-summary { padding: 18px; margin: 0 0 24px; }
 .case-content .case-project-summary h2 { font-size: 26px; }
 .case-content .case-project-summary p { font-size: 16px; margin-block: 10px; }
 .case-summary-role span { font-size: 15px; }
 .case-evidence h2 { font-size: 26px; }
 .case-facts { margin-top: 28px; }
}

/* Comfortable tap areas for project, thesis, and architecture navigation. */
.case-footer a,
.thesis-footer a,
.diagram-open a,
.case-nav a,
.thesis-nav a {
 display: inline-flex;
 align-items: center;
 min-width: 44px;
 min-height: 44px;
 max-width: 100%;
 touch-action: manipulation;
}
