.model-gallery{min-width:0;margin:0;padding:24px;border:1px solid var(--line);border-radius:24px;background:var(--surface)}
.model-gallery-stage{position:relative;display:flex;align-items:center;justify-content:center;height:304px;isolation:isolate}
.model-gallery-stage>img{width:100%;height:100%;min-width:0;min-height:0;max-height:100%;object-fit:contain}
.model-expand{position:absolute;top:0;right:0;display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--line);border-radius:12px;background:var(--control);color:var(--ink);z-index:1}
.model-expand:hover{border-color:var(--cyan);color:var(--cyan)}
.model-expand svg,.model-product-detail+.catalogue-detail-section~.contact-strip svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.model-gallery-counter{position:absolute;bottom:0;right:0;font-family:Outfit,sans-serif;color:var(--muted);font-size:.8125rem}
.model-photo-caption{margin-block:16px;color:var(--muted);font-size:.875rem;min-height:24px}
.model-gallery-thumbs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.model-gallery-thumbs>button{display:grid;grid-template-columns:40px minmax(0,1fr);gap:8px;align-items:center;min-height:64px;padding:8px;border:1px solid var(--line);border-radius:12px;color:var(--muted);background:var(--bg);text-align:left;font-size:.75rem;line-height:1.5;transition:border-color 400ms ease-out,color 400ms ease-out}
.model-gallery-thumbs img{width:40px;height:48px;object-fit:contain}
.model-gallery-thumbs button:hover,.model-gallery-thumbs button[aria-pressed=true]{border-color:var(--cyan);color:var(--cyan)}
.model-gallery-thumbs>button:focus-visible{outline-offset:2px}
.model-image-dialog{position:fixed;max-width:min(960px,94vw);width:960px;max-height:92svh;padding:24px;margin:auto;border:1px solid var(--line);border-radius:24px;background:var(--bg);color:var(--ink);overflow:auto}
.model-image-dialog::backdrop{background:rgba(8,16,34,.82);backdrop-filter:blur(8px)}
.model-image-dialog>img{width:100%;height:min(72svh,720px);object-fit:contain}
.model-image-dialog>p{font-size:.875rem;color:var(--muted);margin-top:16px;padding-right:48px}
.model-dialog-close{position:absolute;right:16px;top:16px;display:grid;place-items:center;width:44px;height:44px;font-size:1.5rem;line-height:1;border:1px solid var(--line);border-radius:12px;background:var(--control);color:var(--ink)}
.model-configuration{border:1px solid var(--line);border-radius:24px;background:var(--surface);overflow:hidden}
.model-configuration dl{margin:0}
.model-configuration dl>div{display:grid;grid-template-columns:32% minmax(0,1fr);gap:32px;padding:24px 32px;border-bottom:1px solid var(--line)}
.model-configuration dl>div:last-child{border:0}
.model-configuration dt{font-size:.9375rem;color:var(--muted)}
.model-configuration dd{margin:0;font-size:.9375rem;color:var(--ink)}
.model-series-label{display:block;margin-bottom:8px;color:var(--muted);font-size:.75rem;letter-spacing:.08em}
.model-specifications .catalogue-spec-group{border-radius:8px}
.model-spec-components{display:grid;gap:16px}
.model-spec-component{border:1px solid var(--line);border-radius:8px;background:var(--surface);min-width:0;overflow:hidden;scroll-margin-top:160px}
.model-spec-component>summary{display:flex;align-items:center;gap:16px;padding:24px 32px;list-style:none;cursor:pointer;color:var(--ink)}
.model-spec-component>summary::-webkit-details-marker{display:none}
.model-spec-component>summary>span{font-weight:600;margin-right:auto}
.model-spec-component>summary>small{font-family:Outfit,sans-serif;font-size:.9375rem;color:var(--cyan);text-align:right}
.model-spec-component>summary svg{width:20px;height:20px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:2;transition:transform 400ms ease-out}
.model-spec-component[open]>summary svg{transform:rotate(180deg)}
.model-spec-component>.catalogue-spec-groups{padding:0 24px 24px}
.model-system-note{max-width:880px;margin:0 0 24px;color:var(--muted);font-size:.9375rem;line-height:1.8}
.model-product-detail .power-display{font-size:clamp(1.875rem,3.3vw,3.25rem);line-height:1.3;overflow-wrap:anywhere}
.model-product-detail~.catalogue-detail-section .model-configuration dd{overflow-wrap:anywhere}
@media(max-width:760px){.model-spec-component>summary{padding:24px 16px;flex-wrap:wrap;gap:8px 16px}.model-spec-component>summary>span{flex-basis:calc(100% - 40px)}.model-spec-component>summary>small{order:3;flex-basis:100%;text-align:left}.model-spec-component>.catalogue-spec-groups{padding:0 8px 8px}.model-specifications .catalogue-spec-count{font-size:.75rem}}
@media(prefers-reduced-motion:reduce){.model-spec-component>summary svg{transition:none}}
@media(max-width:1100px){.model-gallery-thumbs{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.model-gallery-stage{height:280px}.model-gallery-thumbs{grid-template-columns:repeat(2,minmax(0,1fr))}.model-configuration dl>div{grid-template-columns:1fr;gap:8px;padding:24px}.model-image-dialog{padding:24px 16px}.model-image-dialog>img{height:66svh}}
@media(prefers-reduced-motion:reduce){.model-gallery-thumbs>button{transition:none}}

.model-display-modes{display:flex;align-items:center;gap:4px;padding:4px;margin-bottom:16px;border:1px solid var(--line);border-radius:14px;background:var(--bg)}
.model-display-modes>button{display:flex;align-items:center;justify-content:center;gap:8px;flex:1;min-height:40px;padding:8px 12px;border:1px solid transparent;border-radius:10px;color:var(--muted);background:transparent;font-size:.8125rem;line-height:1.5}
.model-display-modes>button[aria-pressed=true]{border-color:var(--line);color:var(--cyan);background:var(--control)}
.model-display-modes svg,.model-3d-toolbar svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.model-3d-stage{height:340px;position:relative;min-width:0;overflow:hidden}
.model-3d-stage>canvas{display:block;width:100%;height:100%;cursor:grab;touch-action:pan-y pinch-zoom;outline-offset:-4px}
.model-3d-stage>canvas.is-dragging{cursor:grabbing}
.model-3d-stage .model-expand{top:0;right:0}
.model-3d-hint{position:absolute;bottom:0;left:0;pointer-events:none;font-size:.75rem;color:var(--muted);line-height:1.7}
.model-3d-loading{position:absolute;inset:0;display:grid;place-items:center;background:var(--surface);font-size:.8125rem;color:var(--muted)}
.model-3d-parts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:16px}
.model-3d-parts>button{min-height:40px;padding:8px 4px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--muted);font-size:.75rem;line-height:1.5}
.model-3d-parts>button[aria-pressed=true]{border-color:var(--cyan);color:var(--cyan)}
.model-3d-orbit-label{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:16px;color:var(--muted);font-size:.8125rem}
.model-3d-orbit-label>output{font-family:Outfit,sans-serif;font-variant-numeric:tabular-nums}
.model-3d-angle{display:block;width:100%;height:16px;margin:12px 0 16px;accent-color:var(--cyan);cursor:ew-resize}
.model-3d-toolbar{display:flex;align-items:center;gap:8px}
.model-3d-toolbar>button{display:grid;place-items:center;min-width:40px;height:40px;padding:8px;border:1px solid var(--line);border-radius:10px;color:var(--muted);background:var(--bg)}
.model-3d-toolbar>button:hover{border-color:var(--cyan);color:var(--cyan)}
.model-3d-toolbar>button:disabled{opacity:.4;cursor:default;border-color:var(--line);color:var(--muted)}
.model-3d-toolbar>.model-3d-auto{display:block;width:auto;padding-inline:16px;margin-left:auto;font-size:.8125rem}
.model-3d-auto[aria-pressed=true]{border-color:var(--cyan);color:var(--cyan)}
.model-3d-auto:disabled{opacity:.45;cursor:default}
.model-3d-note,.model-gallery-status{margin-top:16px;color:var(--muted);font-size:.75rem;line-height:1.8}
.model-3d-dialog{padding-top:16px}
.model-3d-dialog>.model-dialog-close{position:sticky;top:0;right:auto;z-index:4;margin-left:auto;margin-bottom:8px}
.model-3d-dialog .model-3d-stage{height:min(54svh,560px)}
.model-3d-dialog .model-expand{display:none}
.model-gallery [hidden]{display:none!important}
@media(max-width:760px){.model-3d-stage{height:320px}.model-display-modes>button{padding-inline:8px;font-size:.75rem}.model-3d-parts{gap:4px}.model-3d-parts>button{font-size:.6875rem}.model-3d-toolbar>.model-3d-auto{padding-inline:12px}.model-3d-hint{font-size:.6875rem}}
