/* Editorial project overviews and the engineering dossier. */
.project-overview{align-items:center}
.project-visual-link{grid-area:media;display:block;overflow:hidden;background:var(--surface);border:1px solid var(--line)}
.overview-photo{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;background:var(--code-paper)}
.project-title-link:hover{color:var(--blue)}
.project-copy>.project-role{display:flex;flex-direction:column;gap:var(--s1);font-size:var(--text-label);color:var(--ink);margin-top:var(--s6)}
.project-role>span{font:var(--text-meta)/1.4 var(--mono);letter-spacing:.07em;color:var(--muted)}
.project-actions{display:flex;align-items:center;flex-wrap:wrap;gap:var(--s2) var(--s6);margin-top:var(--s6)}
.project-actions a{display:inline-flex;align-items:center;min-height:44px;font-size:var(--text-label);font-weight:550;border-bottom:1px solid var(--line);color:var(--ink)}
.project-actions a:hover{color:var(--blue);border-color:var(--blue)}
.project-actions .project-open{padding:var(--s2) var(--s4);border:1px solid var(--blue);background:var(--blue);color:var(--white)}
.project-actions .project-open:hover{background:var(--navy);border-color:var(--navy);color:var(--white)}
.case-breadcrumb{display:flex;align-items:center;gap:var(--s3);padding-block:var(--s6);font-size:var(--text-label);color:var(--muted)}
.case-breadcrumb a{color:var(--blue);text-decoration:underline;text-underline-offset:4px}
.case-nav{position:sticky;top:0;z-index:20;display:flex;align-items:center;flex-wrap:wrap;gap:var(--s2) var(--s8);padding:var(--s2) 0;background:var(--paper);border-block:1px solid var(--line)}
.case-nav a{display:inline-flex;align-items:center;min-height:40px;font-size:var(--text-label);font-weight:550;border-bottom:2px solid transparent}
.case-nav a:hover,.case-nav a[aria-current]{color:var(--blue);border-color:var(--blue)}
.case-project,.case-project.viewer-expanded{display:block;padding-block:var(--s12)}
.case-overview{display:grid;grid-template-columns:1fr 1.15fr;gap:var(--s16);align-items:center;scroll-margin-top:100px}
.case-overview .project-meta{font-size:var(--text-meta)}
.case-overview h1{font-size:clamp(3rem,5.8vw,5rem);line-height:1.1;margin-top:var(--s6);letter-spacing:-.055em}
.case-overview .project-copy>p:not(.project-role){margin-top:var(--s6)}
.case-cover{margin:0;min-width:0}
.case-photo{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;background:var(--code-paper)}
.case-cover figcaption{font-size:var(--text-label);color:var(--muted);padding-top:var(--s3)}
.case-section{margin-top:var(--s24);scroll-margin-top:100px}
.case-section-heading{padding-bottom:var(--s6);margin-bottom:var(--s8);border-bottom:1px solid var(--ink)}
.case-section-heading.rule-reveal{border-bottom:0}
.section-number{font:var(--text-meta)/1.5 var(--mono);letter-spacing:.07em;color:var(--muted)}
.case-section h2{font:550 clamp(2rem,3.2vw,3rem)/1.2 var(--display);letter-spacing:-.04em;margin-top:var(--s3)}
.case-study-content{max-width:58rem}
.case-project .case-study-content h3{font:600 var(--text-lead)/1.4 var(--display);letter-spacing:-.02em;margin:var(--s8) 0 var(--s2)}
.case-project .case-study-content p{font-size:var(--text-body);line-height:1.85;margin-top:var(--s2);max-width:75ch}
.case-project .cad-frame{height:clamp(480px,68svh,720px)}
.case-project.viewer-expanded .cad-frame{height:clamp(560px,82svh,980px)}
.case-project .view-choice{scroll-margin-top:108px}
.case-project .gallery-item>.project-photo,.case-project .gallery-item>.project-film{max-height:74svh;aspect-ratio:16/10}
.case-pagination{display:flex;align-items:center;justify-content:space-between;gap:var(--s8);padding-block:var(--s8);margin-bottom:var(--s12);border-top:1px solid var(--line)}
.case-pagination a{padding-block:var(--s2);font-size:var(--text-label);color:var(--blue)}
.case-pagination a:last-child{display:flex;flex-direction:column;gap:var(--s1);text-align:right}
.case-pagination span{font:var(--text-meta)/1.5 var(--mono);color:var(--muted)}
.case-pagination strong{font:550 1.75rem/1.3 var(--display);letter-spacing:-.03em;color:var(--ink)}
@media(max-width:900px){.case-overview{grid-template-columns:1fr;gap:var(--s8)}.case-cover{max-width:52rem;width:100%}.case-overview .project-copy>p{max-width:65ch}.case-section{margin-top:var(--s16)}}
@media(max-width:700px){.project-overview{grid-template-areas:"copy" "media"}.project-actions{gap:var(--s2) var(--s4)}.case-nav{gap:0 var(--s4);padding-block:var(--s1)}.case-nav a{min-height:44px}.case-project{padding-block:var(--s8)}.case-overview h1{font-size:clamp(2.75rem,10vw,4rem)}.case-section{margin-top:var(--s12)}.case-section-heading{margin-bottom:var(--s6)}.case-project .gallery-item>.project-photo,.case-project .gallery-item>.project-film{aspect-ratio:1/1}.case-project .cad-frame{height:max(480px,65svh)}}
