/* Existing monochrome identity; editorial spacing informed by Runway. */
.detail{min-height:100svh;--detail-rule:#ffffff20;--study-ink:#b8c1c4}
.detail main{padding:clamp(150px,20svh,210px) 6vw 40px;pointer-events:auto;max-width:1600px;margin:auto;position:relative;z-index:1}
.detail .eyebrow{font-size:10px;font-weight:400;line-height:1.6;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.detail-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);align-items:center;gap:clamp(24px,4vw,80px);padding-bottom:64px;min-height:550px}
.hero-copy{min-width:0}.detail h1{font-size:clamp(52px,7.5vw,116px);font-weight:400;letter-spacing:-.065em;line-height:1.04;margin:24px 0 48px}
.detail-fabrication h1{font-size:clamp(48px,6.6vw,102px)}
.detail .intro{max-width:440px}.detail h2{font-size:clamp(24px,2.7vw,38px);font-weight:400;letter-spacing:-.035em;line-height:1.17;margin:0 0 20px}.detail p{font-size:14px;line-height:1.75;color:var(--muted)}
.detail .themes{padding:0;list-style:none;display:flex;gap:12px 24px;flex-wrap:wrap;font-size:10px;color:var(--muted);margin:32px 0 0;line-height:1.7}
.study{min-width:0;width:100%;margin:0;align-self:center;color:var(--study-ink)}
.detail .diagram{position:static;display:block;width:100%;height:auto;max-height:500px;aspect-ratio:640/520;pointer-events:none;overflow:hidden;opacity:.62}
.study figcaption{font-size:8px;letter-spacing:.16em;text-transform:uppercase;color:#8e969a;line-height:1.8;margin:20px 0 0;text-align:right}
.terrain .contour{stroke-width:.7;opacity:.52}.terrain .index-contour{stroke-width:1.1;opacity:.9}
.fabrication-study .build-plate{stroke-width:.7;opacity:.3}.print-layer{stroke-width:.8}.infill{stroke-width:.65;opacity:.35}.top-layer{stroke-width:1.2;opacity:.95}.nozzle{stroke-width:1.1;opacity:.85}

.detail .work,.detail .profile{padding:36px 0;border-top:1px solid var(--detail-rule);display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,80px)}
.detail .work h2,.detail .profile h2{margin:0;font-size:10px;letter-spacing:.16em;line-height:1.6}
.detail .work p,.detail .profile p{margin-top:0;font-size:13px;max-width:470px}.detail .work .portfolio-note{font-size:11px;color:#858e93;margin-top:24px}.detail .profile .education{font-size:11px;margin-top:24px}
.text-link{display:inline-flex;gap:32px;font-size:12px;padding:8px 0;border-bottom:1px solid #ffffff50}.text-link:hover{border-color:var(--ink)}.profile-links{display:flex;gap:24px;font-size:11px;margin-top:24px}.profile-links a:hover{text-decoration:underline;text-underline-offset:5px}
.detail .back{display:inline-block;font-size:11px;letter-spacing:.04em;padding:24px 0}.detail nav a[aria-current]{text-decoration:underline;text-underline-offset:6px}
@media(max-width:800px){.detail main{padding:160px 6vw 24px}.detail-hero{grid-template-columns:1fr;gap:36px;min-height:0;padding-bottom:40px}.detail h1,.detail-fabrication h1{font-size:clamp(48px,12vw,90px);margin:20px 0 36px}.detail .intro{max-width:490px}.detail .diagram{max-height:380px}.study{max-width:580px;justify-self:center}.study figcaption{margin-top:10px}.detail .work,.detail .profile{grid-template-columns:1fr;gap:20px;padding:28px 0}.detail .themes{margin-top:24px}}
@media(prefers-reduced-motion:reduce){}


/* Static per-visit fabrication study. */
.static-print-layer{stroke-width:.85}

/* G's restrained filament motion; the nozzle and the entire model stay fixed. */
.deposition{stroke-dasharray:2 2;stroke-linecap:round;animation:filament-feed 3s linear infinite}
@keyframes filament-feed{to{stroke-dashoffset:-12}}
.nozzle-idle .deposition{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.deposition{animation:none}}

.housing-detail{stroke-width:1;stroke-opacity:.8}.model-plinth{stroke-width:.8;stroke-opacity:.5}
