/* Each existing panel keeps its authored layout, inside a two-sided 3D mount. */
.orbital-rotation{position:absolute;inset:0;transform-style:preserve-3d;transform-origin:50% 50%;pointer-events:none}
.orbital-rotation .scene-depth{pointer-events:auto}
.orbital-mount{position:absolute;transform-style:preserve-3d;pointer-events:none}
.orbital-mount>.orbital-front,.orbital-mount>.orbital-rear{position:absolute!important;inset:0!important;width:var(--panel-width)!important;height:var(--panel-height)!important;margin:0!important;backface-visibility:hidden;-webkit-backface-visibility:hidden;transform:translateZ(.65px)!important;pointer-events:auto}
.orbital-mount>.orbital-rear{transform:rotateY(180deg) translateZ(.65px)!important;pointer-events:none;user-select:none}
.orbital-rear .orbital-rear-heading{font-family:Baskerville,'Times New Roman',serif;font-size:3.75cqw;line-height:.94;font-weight:400;letter-spacing:-.065em;margin:0 0 18px}
.orbital-enabled .atelier-scene{touch-action:pan-y;cursor:grab}
.orbital-enabled .scene-depth{transform-style:preserve-3d}
.orbital-front a{cursor:pointer}
.orbital-controller{position:absolute;z-index:8;bottom:13px;left:51%;transform:translateX(-50%);display:flex;align-items:center;gap:13px;color:#585b50;font-size:11px}
.orbital-controller[hidden]{display:none}.orbital-controller-label{display:flex;flex-direction:column;gap:4px;letter-spacing:.04em;line-height:1.3}.orbital-controller-label span{font-size:10px;letter-spacing:.12em;text-transform:uppercase}.orbital-controller output{font-variant-numeric:tabular-nums;font-size:11px}
.orbit-dial{position:relative;width:49px;height:49px;border:1px solid #797c6880;border-radius:50%;background:#f5f0e44d;cursor:crosshair;touch-action:none;flex-shrink:0;outline-offset:5px}
.orbit-dial:before,.orbit-dial:after{content:'';position:absolute;background:#777c6445;pointer-events:none}.orbit-dial:before{left:8px;right:8px;top:23px;height:1px}.orbit-dial:after{top:8px;bottom:8px;left:23px;width:1px}
.orbit-dial-ring{position:absolute;inset:5px;border:1px solid #85897435;border-radius:50%;transform:rotate(var(--orbit-angle,0deg));pointer-events:none}.orbit-dial-ring:after{content:'';position:absolute;left:50%;top:-3px;width:6px;height:6px;background:#69714e;border-radius:50%;transform:translateX(-50%)}.orbit-dial-center{position:absolute;inset:20px;border-radius:50%;background:#777f5c;transform:translateY(var(--orbit-elevation,0px));pointer-events:none}
.orbit-reset{display:flex;align-items:center;gap:6px;border:0;background:transparent;color:inherit;font-size:11px;padding:10px 5px;white-space:nowrap}.orbit-reset span{font-size:21px;line-height:1}.orbit-reset:hover{color:#252a1c}.orbit-dial:focus-visible{outline:2px solid #687d40}
@media(max-width:1150px) and (min-width:701px){.orbital-rear .orbital-rear-heading{font-size:3.9cqw}}
@media(max-width:700px){.orbital-controller{bottom:63px;left:50%;gap:10px}.orbit-dial{width:45px;height:45px}.orbit-dial:before{top:21px}.orbit-dial:after{left:21px}.orbit-dial-center{inset:18px}.orbital-controller-label span{font-size:9px}.orbit-reset{font-size:10px}.orbital-rear .orbital-rear-heading{font-size:clamp(25px,7.6vw,36px);line-height:1.03}.atelier-scene{animation:hero-mobile-entry 700ms both}@keyframes hero-mobile-entry{from{transform:translateY(8px)}to{transform:none}}}
@media(prefers-reduced-motion:reduce){.atelier-scene{animation:none!important}.orbital-enabled .atelier-scene{cursor:default}.orbital-rotation,.orbital-mount,.orbit-dial-ring{transition:none!important}}
/* Clipping must not create an inner scroll container when the dial receives focus. */
.orbital-enabled{overflow:clip}
.back-sheet.orbital-rear{backdrop-filter:none;background:linear-gradient(125deg,#f8f3e512,#c5c3b51a);box-shadow:inset 0 0 0 1px #fff8}
.orbital-controller{width:max-content}.orbital-controller-label{white-space:nowrap}
@media(max-width:700px){.orbital-enabled{min-height:940px}.orbital-controller{bottom:90px}}

/* Only the mounts participate in 3D; a window's contents form one flat face.
   This avoids nested 3D texture projection artifacts in WebKit at grazing angles. */
.orbital-mount>.orbital-front,.orbital-mount>.orbital-rear{transform-style:flat}
.orbital-rotation{perspective:none}

/* Disable the host animation before JS starts, including slow/cold loads.
   Cancelling it only after mounting leaves stale 3D layers in WebKit. */
.atelier-scene{animation:none}

/* Keep translucent gradients and 3D depth on touch, without recapturing the
   moving scene through multiple live backdrop blurs on every rotation frame. */
@media(hover:none),(pointer:coarse),(max-width:700px){
 .atelier-scene .glass-sheet{-webkit-backdrop-filter:none;backdrop-filter:none}
}

/* Keep the glass finish at rest; avoid repeated background captures while
   its fourteen faces move, without altering panel geometry or inertia. */
.orbital-rotation{will-change:transform}
.atelier-scene.is-orbit-scrolled .glass-sheet,.atelier-scene.is-orbit-moving .glass-sheet,.homepage[data-page-state=leaving] .glass-sheet{-webkit-backdrop-filter:none;backdrop-filter:none}

/* Rasterize the static blurred lighting once, independently of the 3D panels. */
.light-field{transform:translateZ(0)}
