/* Órbita de desarrollos: una sola composición con las seis maquetas; el frente es el visor vivo. Sobriedad: sin aros, sin tarjetas, sin ficha junto al 3D. */
.fnx-project-art.fnx-orbita{display:block;overflow:hidden;isolation:isolate;padding:clamp(26px,4vw,56px) clamp(16px,4vw,60px) clamp(22px,3vw,40px);margin-top:38px}
.fnx-orbita__heading{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:14px 40px;max-width:1320px;margin:0 auto 4px}
.fnx-orbita__title{flex:1 1 380px}.fnx-orbita__heading .fnx-project-art__eyebrow{margin:0 0 10px}
.fnx-orbita__heading h2{color:#f5f1e7;font-family:inherit;font-size:clamp(30px,3.4vw,48px);font-weight:400;line-height:1.04;letter-spacing:-.04em;margin:0}
.fnx-orbita__lead{color:#c5d0d9;font-size:14px;line-height:1.5;max-width:40ch;margin:0;flex-basis:100%}

.fnx-orbita__stage{position:relative;height:clamp(420px,64svh,640px);max-width:1320px;margin:0 auto;touch-action:pan-y;user-select:none;-webkit-user-select:none;cursor:grab}
.fnx-orbita__stage.is-dragging{cursor:grabbing}
.fnx-orbita__ring{list-style:none;margin:0;padding:0;position:absolute;inset:0}
.fnx-orbita__item{position:absolute;left:0;top:0;width:var(--w,520px);margin:0;transform-origin:50% 82%;will-change:transform;display:flex;flex-direction:column;align-items:center}
.fnx-orbita__pick{display:block;width:100%;padding:0!important;border:0!important;background:none!important;cursor:pointer;min-height:0!important;border-radius:0}
.fnx-orbita__pick:disabled{cursor:default}
.fnx-orbita__model{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;margin:0!important;filter:brightness(var(--dim,1));transition:filter .4s,opacity .3s ease .1s;-webkit-user-drag:none;user-drag:none;pointer-events:none}
/* Nombres y ciudad de los seis, siempre legibles: capa propia por encima de las maquetas, posicionada por el controlador. */
.fnx-orbita__labels{position:absolute;inset:0;z-index:50;pointer-events:none}
.fnx-orbita__label{position:absolute;left:0;top:0;margin:0;width:max-content;max-width:none;transform:translateX(-50%);text-align:center;font-size:12px;line-height:1.3;color:#f5f1e7;text-shadow:0 1px 6px #061d3b,0 0 2px #061d3b;white-space:nowrap;transition:font-size .3s}
.fnx-orbita__label b{display:block;font-weight:500;letter-spacing:-.01em}
.fnx-orbita__label span{display:block;margin-top:.15em;font:.78em/1.4 monospace;letter-spacing:.1em;text-transform:uppercase;color:#c7a46d}
.fnx-orbita__label.is-front{font-size:14px}

/* Capa viva al frente: ocupa exactamente la huella de la maqueta frontal. */
.fnx-orbita__front{position:absolute;z-index:40;transition:opacity .35s ease,visibility 0s;margin:0;--journey-canvas-height:100%}
.fnx-orbita__front:not(.is-live){opacity:0;visibility:hidden;transition:opacity .25s ease,visibility 0s .25s}
.fnx-orbita .fnx-orbita__punta{position:absolute;inset:0;display:block;margin:0!important;align-self:auto}
.fnx-orbita .fnx-project-art__visual{position:absolute;inset:0;height:100%;aspect-ratio:auto!important;margin:0!important;background:none!important;overflow:visible}
.fnx-orbita .fnx-project-art__poster{position:absolute;inset:0;height:100%}
.fnx-orbita .fnx-project-art__caption,.fnx-orbita .fnx-project-art__motion,.fnx-orbita .fnx-project-art__orbit,.fnx-orbita .fnx-project-art__reference{display:none!important}
.fnx-orbita .fnx-project-art__zoom{top:auto;bottom:0;right:0}
.fnx-orbita__viewer{position:absolute;inset:0}
.fnx-orbita__viewer fnx-development-scene{display:block;height:100%}

.fnx-orbita__bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:10px 22px;flex:0 1 520px;margin:0 0 4px}
.fnx-orbita__controls{display:flex;gap:1px;background:#f5f1e733;border:1px solid #f5f1e733}
.fnx-orbita__controls button{min-width:44px;min-height:44px;padding:0 14px;background:#061d3b;color:#f5f1e7;font-size:13px;line-height:1;border:0}
.fnx-orbita__controls button:hover{background:#0d2944}
.fnx-orbita__controls button[aria-pressed=true]{color:#061d3b;background:#c7a46d}
.fnx-orbita__current{margin:0;position:relative}
.fnx-orbita__link{padding:8px 0}
.fnx-orbita__sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.fnx-orbita__disclaimer{color:#aebbc9;font-size:10px;line-height:1.5;margin:6px auto 0;max-width:1320px}
.fnx-orbita [hidden]{display:none!important}

@media(max-width:700px){
 .fnx-project-art.fnx-orbita{padding:24px 12px 20px}
 .fnx-orbita__heading{display:block;margin-bottom:0}.fnx-orbita__title{margin-bottom:10px}
 .fnx-orbita__heading h2{font-size:32px}
 .fnx-orbita__lead{font-size:13px;flex-basis:100%}
 .fnx-orbita__stage{height:clamp(360px,54svh,480px)}
 .fnx-orbita__label.is-front{font-size:13px}
 .fnx-orbita__bar{justify-content:space-between;gap:8px 12px;margin:0}
 .fnx-orbita__link{font-size:12px;gap:12px}
 .fnx-orbita__disclaimer{text-align:center;margin-top:12px}
}
/* Con la capa viva encendida, el recorte estático del frente se retira (si no, con el canvas alfa quedaría detrás y duplicaría coches y contornos al moverse la cámara). Durante giro, carga o sin WebGL sigue visible. */
.fnx-orbita[data-orbit-state=live] .fnx-orbita__item.is-front .fnx-orbita__model{opacity:0}
@media(prefers-reduced-motion:reduce){.fnx-orbita__front,.fnx-orbita__label,.fnx-orbita__item,.fnx-orbita__model{transition:none}}
/* The business section's former overflow:hidden created a false scroll container. */
.business:has(.fnx-orbita){overflow:visible}
body.fnx-site.fnx-home .business.section:has(.fnx-orbita){overflow:visible!important}
