.arm-hero{grid-template-columns:.9fr 1.1fr;gap:45px}
.arm-hero h1{font-size:clamp(50px,6.3vw,90px)}
.arm-overview{background:white;border:1px solid var(--line);border-radius:4px;overflow:hidden;min-width:0}
.arm-overview img{display:block;width:100%;height:410px;object-fit:contain;padding:20px}
.arm-stage{position:relative;background:white}
.arm-stage model-viewer{display:block;position:absolute;inset:0;width:100%;height:100%;opacity:0;visibility:hidden;--poster-color:transparent}
.arm-stage.ready model-viewer{opacity:1;visibility:visible}
.arm-stage.ready img{visibility:hidden}
.arm-overview figcaption span{text-align:right}
.arm-overview figcaption{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #e3e5df;padding:13px 18px;font:11px/1.5 var(--mono);color:var(--muted)}
.viewer{grid-template-columns:.8fr 1.2fr;gap:55px}
.part-description{margin-top:28px}
.part-description h3{font-size:23px}
.part-description p{color:#d5ddd4;margin-top:10px;line-height:1.65;max-width:44ch}
.drawing-viewer{min-width:0;align-self:start;background:white;border-radius:4px;overflow:hidden;color:var(--ink)}
.drawing-toolbar{display:flex;justify-content:space-between;align-items:center;padding:10px;background:#e9ece4;gap:8px;flex-wrap:wrap}
#views{display:flex;flex-wrap:wrap;gap:4px}
.drawing-toolbar button,.dialog-toolbar button{font:600 13px/1.4 "Segoe UI",Arial,sans-serif;cursor:pointer;background:transparent;color:var(--ink);border:1px solid #aab5aa;border-radius:3px;padding:8px 12px}
#views button[aria-pressed=true],#zoom[aria-pressed=true]{background:var(--green);border-color:var(--green);color:white}
.drawing-toolbar button:hover,.dialog-toolbar button:hover{box-shadow:inset 0 0 0 1px var(--ink)}
#part-image{width:100%;height:390px;display:block;object-fit:contain;padding:18px;background:white}
#part-image.plate-view{background:#050505}
.drawing-viewer figcaption{padding:12px 18px;border-top:1px solid #e3e5df;font:11px/1.5 var(--mono)}
dialog{padding:0;width:min(1400px,96vw);max-width:96vw;max-height:94vh;border:0;border-radius:5px;color:var(--ink)}
dialog::backdrop{background:#101a16d9}
.dialog-toolbar{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;gap:15px;background:var(--paper);padding:14px 18px;border-bottom:1px solid var(--line)}
.dialog-toolbar h2{font-size:18px;line-height:1.3;letter-spacing:-.02em}
.dialog-toolbar>div{display:flex;gap:7px;flex-shrink:0}
.dialog-image{max-height:calc(94vh - 85px);overflow:auto;overscroll-behavior:contain;background:white}
.dialog-image img{display:block;max-width:100%;max-height:calc(94vh - 85px);width:auto;height:auto;object-fit:contain;margin:auto}
.dialog-image.actual-size img{max-width:none;max-height:none}
body:has(dialog[open]){overflow:hidden}
@media(max-width:900px){.arm-hero{grid-template-columns:1fr}.arm-overview img{height:350px}.viewer{gap:28px}}
@media(max-width:760px){.viewer{grid-template-columns:1fr}.part-description{margin-top:22px}.part-description p{max-width:60ch}.arm-hero{gap:25px}.arm-overview img{height:300px}#part-image{height:310px}}
@media(max-width:425px){.arm-hero h1{font-size:54px}.dialog-toolbar{align-items:flex-start;flex-direction:column;gap:8px;padding:10px}.dialog-image{max-height:calc(94vh - 115px)}.dialog-image img{max-height:calc(94vh - 115px)}#part-image{height:260px}}
