.product-hero__stage--3d { min-height: 660px; }
.product-hero__stage--3d .product-stage__object { inset: 0; transform: none; transition: none; display: block; }
.model-pilot { height: 100%; display: flex; flex-direction: column; }
.model-pilot model-viewer { display: block; width: 100%; flex: 1; min-height: 300px; cursor: grab; --poster-color: transparent; }
.model-pilot model-viewer:active { cursor: grabbing; }
.model-pilot model-viewer img { width: 100%; height: 100%; object-fit: contain; }
.model-pilot__panel { position: relative; z-index: 4; align-self: center; max-width: 100%; padding: 8px; border: 1px solid #d2dacd; border-radius: 24px; background: #f5f0e5; color: #173f35; font: 14px/1.5 system-ui, sans-serif; box-shadow: 0 8px 28px #0b24151a; }
.model-pilot__controls { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
.model-pilot__controls button, .model-pilot__controls a, .model-pilot__controls summary { position: relative; display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 50%; background: transparent; color: inherit; cursor: pointer; transition: background 160ms ease, color 160ms ease; }
.model-pilot__controls svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.65; stroke-linecap: round; stroke-linejoin: round; }
.model-pilot__controls :is(button, a, summary):hover { background: #e1e7dc; }
.model-pilot__controls :is(button, a, summary):active { background: #c9d4c5; }
.model-pilot__controls button[aria-pressed="true"] { background: #173f35; color: #fff; }
.model-pilot__controls button[aria-pressed="true"]::after { content: ''; position: absolute; bottom: 3px; width: 3px; height: 3px; border-radius: 50%; background: currentColor; }
.model-pilot__controls button:disabled { opacity: .5; cursor: default; }
.model-pilot__controls :is(button, a, summary):focus-visible { outline: 3px solid #a46417; outline-offset: 3px; }
.model-pilot__info summary { list-style: none; }
.model-pilot__info summary::-webkit-details-marker { display: none; }
.model-pilot__info[open] summary { background: #e1e7dc; }
.model-pilot__help { position: absolute; bottom: calc(100% + 12px); right: 0; width: 300px; max-width: 100%; padding: 16px; border: 1px solid #d2dacd; border-radius: 16px; background: #f5f0e5; box-shadow: 0 8px 28px #0b241529; }
.model-pilot__help p { margin: 0; }
.model-pilot__help p + p { margin-top: 10px; }
.model-pilot__status { max-width: 300px; margin: 8px 6px 4px; text-align: center; }
.model-pilot.is-ready .model-pilot__status { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
@media (prefers-reduced-motion: reduce) { .model-pilot__controls :is(button, a, summary) { transition: none; } }
@media (max-width: 680px) { .product-hero__stage--3d { min-height: 600px; } }
