/* The sculpture viewport and toolbar are separate layout rows. */
.hero-scene { display:grid; grid-template-rows:minmax(0,1fr) 44px; gap:12px; padding-bottom:18px; perspective:none; opacity:1; }
.hero-scene-stage { position:relative; inset:auto; width:100%; height:100%; min-height:0; transform:none; transform-style:flat; }
.hero-aura { transform:none; background:radial-gradient(ellipse at 57% 46%,#a86e2820,transparent 65%); }
.hero-3d-canvas { position:absolute; inset:0; display:block; width:100%; height:100%; cursor:grab; pointer-events:auto; touch-action:pan-y pinch-zoom; outline-offset:-7px; }
.hero-3d-canvas.is-dragging { cursor:grabbing; }
.hero-loading { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:18px; color:#b18b66; }
.hero-loading[hidden] { display:none; }
.hero-loading-message { max-width:240px; margin:0; text-align:center; font:9px/1.8 Montserrat,Arial,sans-serif; letter-spacing:1px; color:#ac9681; }
.hero-3d-controls { position:relative; inset:auto; transform:none; display:flex; align-items:center; justify-content:center; gap:8px; width:100%; height:44px; z-index:3; pointer-events:auto; }
.hero-3d-controls[hidden] { display:none; }
.hero-3d-controls p { margin:0 12px 0 0; color:#b89b80; font:8px/1.6 Montserrat,Arial,sans-serif; letter-spacing:1px; text-transform:uppercase; }
.hero-3d-controls p span { display:block; color:#887664; font-size:7px; letter-spacing:.8px; }
.hero-3d-controls button { display:grid; place-items:center; flex:0 0 44px; width:44px; height:44px; padding:0; border:1px solid #8d624055; border-radius:50%; background:#14110e; color:#d3ad87; font-size:19px; line-height:1; cursor:pointer; }
.hero-3d-controls button:hover { color:#f1c79e; border-color:#b47b4c; background:#21170f; }
.hero-3d-controls button:focus-visible,.hero-3d-canvas:focus-visible { outline:2px solid #d59a6a; }
.hero-coordinate { pointer-events:none; }
@media(max-width:900px) and (min-width:601px) { .hero-scene { opacity:1; } }
@media(max-width:600px) {
  .intro--banner { padding-bottom:420px; }
  .hero-scene { width:310px; max-width:100%; height:400px; right:50%; transform:translateX(50%); bottom:14px; opacity:1; }
  .hero-3d-controls p { margin-right:8px; font-size:7px; }
  .hero-3d-controls p span { font-size:6px; }
}
