/* Dental presentation: an open model stage, soft orbital terms and quiet controls. */
.x3d-viewer{--x3d-view-bg:var(--x3d-panel,#eaf2ed);--x3d-ink:var(--x3d-text,#203c3b);padding:8px 0 0;border:0;border-radius:32px;background:transparent;color:var(--x3d-ink);isolation:isolate}
.x3d-viewer[data-theme=dark]{--x3d-view-bg:#103540;--x3d-ink:#f6f2ed;--x3d-surface:#0b2933;--x3d-muted:#a9bdc4;--x3d-line:#284752;--x3d-accent:#f27053;--x3d-on-accent:#061f26;--x3d-orbit-dot:#f27053;--x3d-stage-glow:#ffffff0d}.x3d-viewer[data-theme=light]{--x3d-view-bg:#eaf2ed;--x3d-ink:#203c3b;--x3d-surface:#fffdf9;--x3d-muted:#5b6d64;--x3d-line:#d5dfd7}
html[data-x3d-theme=dark] .x3d-viewer[data-theme=auto]{--x3d-stage-glow:#ffffff0d}
.x3d-stage{height:clamp(340px,43vw,var(--x3d-height));min-height:340px;max-height:none;position:relative;isolation:isolate}
.x3d-stage::before{content:"";position:absolute;inset:7% 10% 5%;border-radius:47% 48% 39% 42%;background:radial-gradient(ellipse at 30% 25%,var(--x3d-stage-glow,#ffffff66),transparent 65%),var(--x3d-view-bg);z-index:0;box-shadow:inset 0 0 55px #ffffff0d}
.x3d-stage::after{content:"";position:absolute;inset:29% 3%;border:1px solid color-mix(in srgb,var(--x3d-ink) 13%,transparent);border-radius:50%;transform:rotate(-13deg);z-index:0;pointer-events:none}
.x3d-grid-bg .x3d-stage::before{background-image:linear-gradient(#3aa0a615 1px,transparent 1px),linear-gradient(90deg,#3aa0a615 1px,transparent 1px);background-size:36px 36px}
.x3d-canvas{z-index:2}.x3d-poster{z-index:2;padding:12%;filter:drop-shadow(0 25px 15px #123e3014)}
.x3d-labels{position:absolute;inset:auto 0 12px;display:flex;justify-content:center;flex-wrap:wrap;gap:8px;border:0;padding:0;z-index:3;pointer-events:none}
.x3d-labels[hidden]{display:none!important}.x3d-ready .x3d-labels{display:contents}
.x3d-labels span{font:500 11px/1.35 Arial,"Segoe UI",sans-serif;letter-spacing:.02em;background:var(--x3d-surface,#fffdf9);color:var(--x3d-ink);padding:11px 14px;border:1px solid color-mix(in srgb,var(--x3d-ink) 14%,transparent);border-radius:30px;box-shadow:0 5px 18px #123e3008;max-width:156px;overflow-wrap:anywhere;text-align:center;animation:none!important;transition:none!important}
.x3d-labels span::before{content:"";display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--x3d-orbit-dot,#c47b64);margin:0 7px 2px 0}
.x3d-ready .x3d-labels span{position:absolute;width:max-content;will-change:left,top,transform}
.x3d-status{font:13px/1.6 Arial,sans-serif;text-align:center;padding:0 14px;color:inherit}
.x3d-ready:not(.x3d-interactive) .x3d-status{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.x3d-controls{display:grid;justify-items:center;gap:12px;margin-top:18px;padding:0 8px}.x3d-controls[hidden]{display:none}
.x3d-presentations{display:flex;flex-wrap:wrap;justify-content:center;background:var(--x3d-surface,#fffdf9);padding:4px;border-radius:28px;border:1px solid var(--x3d-line,#d5dfd7);gap:2px;max-width:100%}
.x3d-controls .x3d-presentations button{border:0!important;border-radius:24px;min-height:42px;padding:10px 17px!important;font:500 12px/1.3 Arial,sans-serif!important;box-shadow:none;background:transparent!important;color:inherit!important}
.x3d-controls .x3d-presentations button[aria-pressed=true]{background:var(--x3d-accent,#19685f)!important;color:var(--x3d-on-accent,#fff)!important;box-shadow:0 2px 6px #123e3014}
.x3d-toolbar{display:flex;flex-wrap:wrap;justify-content:center;gap:4px}
.x3d-controls .x3d-toolbar button{border:0!important;border-radius:20px;padding:9px 10px!important;font:500 11px/1.3 Arial,sans-serif!important;min-height:44px;box-shadow:none;color:inherit!important}
.x3d-toolbar button:hover,.x3d-toolbar button[aria-pressed=true]{background:var(--x3d-view-bg)!important}.x3d-toolbar button[data-action=reset]::before{content:"↺";margin-right:5px;font-size:16px}.x3d-toolbar button[data-action=play]::before{content:"Ⅱ";margin-right:5px}.x3d-toolbar button[data-action=play][aria-pressed=false]::before{content:"▷"}
.x3d-credit{font:11px/1.6 Arial,sans-serif;text-align:center;margin:4px 15px 0;color:var(--x3d-muted,#5b6d64)}.x3d-credit summary{cursor:pointer;padding:8px;display:list-item;list-style-position:inside;width:fit-content;margin:auto;min-height:36px}.x3d-credit p{max-width:440px;margin:4px auto 12px}.x3d-credit a{text-underline-offset:3px}.x3d-credit summary:focus-visible{outline:2px solid var(--x3d-accent,#19685f);outline-offset:3px}
.x3d-project-card img,.x3d-no-image{border-radius:24px}.x3d-project-card h3{font-family:Georgia,serif;font-weight:400}.x3d-filters input,.x3d-filters select,.x3d-contact input:not([type=checkbox]),.x3d-contact textarea{border-radius:14px}.x3d-contact button,.x3d-filters button,.x3d-lightbox button{border-radius:28px;background:var(--x3d-accent,#19685f);color:var(--x3d-on-accent,#fff)}.x3d-lightbox{border-radius:24px}
@media(max-width:600px){.x3d-stage{height:370px;min-height:340px}.x3d-labels span{font-size:10px;max-width:118px;padding:9px 10px}.x3d-presentations button{flex:1}.x3d-controls .x3d-presentations button{padding:9px 12px!important;font-size:11px!important}.x3d-toolbar{gap:0}.x3d-controls{gap:6px}.x3d-stage::before{inset:10% 8%}.x3d-stage::after{inset:31% 3%}.x3d-credit{font-size:10px}}
@media(prefers-reduced-motion:reduce){.x3d-labels span{will-change:auto}}
