/* V10: web design leads the studio; real panoramic venues live in the 360 demo. */
.experience-hero .hero-image{background:radial-gradient(circle at 50% 45%,#1e6172 0%,#0a2b48 28%,#061426 64%,#020913 100%);filter:none;transform:none}
.experience-hero .hero-shade{background:linear-gradient(180deg,#04101ce8 0%,#07192b44 30%,#07192b33 67%,#04101bea 100%)}
.experience-hero .art-nexora{background-image:url('360-scenes/lux-gym-main-thumb.webp')}
.showcase-visual img{object-position:center center}
.scene-teasers{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.scene-teasers a{min-width:0;position:relative;display:block;border:1px solid #8de6f68e;border-radius:15px;overflow:hidden;background:#061727;box-shadow:0 16px 28px #0008;transform:perspective(900px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform .33s,box-shadow .33s,border-color .33s;text-decoration:none}.scene-teasers a:hover,.scene-teasers a:focus-visible{border-color:#c7f7ff;box-shadow:0 0 28px #44dfff7a,0 23px 45px #0009;transform:perspective(900px) translateY(-7px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg))}.scene-teasers img{display:block;width:100%;height:250px;object-fit:cover;transition:transform .6s}.scene-teasers a:hover img{transform:scale(1.065)}.scene-teasers span{position:absolute;inset:auto 0 0;padding:40px 18px 15px;background:linear-gradient(transparent,#06121bf5);color:#a9efff;font-size:10px;letter-spacing:.15em}.scene-teasers strong{display:block;color:#fff;font:400 29px Georgia,serif;letter-spacing:-.03em}.lab-provenance{margin:18px 0 0;color:#b5cad3;font-size:12px}.lab-provenance a{color:#adefff}.entry-replay{border:1px solid #9bdce87c;border-radius:25px;background:#0a294ab5;color:#ecfaff;font-size:11px;padding:9px 15px}.entry-replay:hover{background:#0e506a}
/* Original cinematic tunnel and information scan, no film assets. */
.entry-sequence{position:fixed;inset:0;z-index:120;overflow:hidden;background:#020a15;color:#e8f9ff;isolation:isolate;transition:opacity .65s}.entry-sequence.is-leaving{opacity:0;pointer-events:none}.entry-canvas{position:absolute;inset:0;width:100%;height:100%;display:block}.entry-tunnel-label{position:absolute;left:50%;top:50%;width:min(650px,88vw);transform:translate(-50%,-50%);text-align:center;text-shadow:0 0 22px #61ddff;animation:entry-breathe 1.7s ease-in-out infinite}.entry-tunnel-label small{display:block;color:#a6eafb;font-size:10px;letter-spacing:.36em;font-weight:800}.entry-tunnel-label strong{display:block;margin-top:18px;font:400 clamp(32px,5vw,72px) Georgia,serif;letter-spacing:-.05em}.entry-tunnel-label em{color:#f2d7aa;font-style:normal}.entry-tunnel-label span{display:block;margin-top:12px;font-size:11px;letter-spacing:.28em;color:#c4e6f0}.entry-skip{position:absolute;z-index:10;right:clamp(15px,3vw,45px);top:clamp(15px,3vw,35px);border:1px solid #8bdff7a9;background:#041a2ce8;color:#e6faff;border-radius:24px;padding:10px 16px;font-size:11px;letter-spacing:.08em}.entry-skip:hover,.entry-skip:focus-visible{background:#0d4562}.entry-progress{position:absolute;bottom:26px;left:50%;transform:translateX(-50%);width:min(390px,70vw);height:2px;background:#a5ecff40}.entry-progress::before{content:'';display:block;height:100%;width:100%;background:linear-gradient(90deg,#27bfee,#f5e4ba);transform:scaleX(0);transform-origin:left;animation:entry-progress 4.2s linear forwards}.entry-sequence.is-hud{background:#020c17b5;backdrop-filter:blur(3px)}.entry-sequence.is-hud .entry-canvas{opacity:.35}.entry-sequence.is-hud .entry-tunnel-label{opacity:0}.entry-hud{position:absolute;inset:0;opacity:0;pointer-events:none;transition:opacity .4s}.entry-sequence.is-hud .entry-hud{opacity:1}.entry-hud::before,.entry-hud::after{content:'';position:absolute;top:7%;bottom:7%;width:2px;background:linear-gradient(transparent,#92eaff70,transparent);box-shadow:0 0 12px #60e8ff}.entry-hud::before{left:3.5%}.entry-hud::after{right:3.5%}.entry-hud-core{position:absolute;left:50%;top:9%;transform:translateX(-50%);font-size:10px;letter-spacing:.25em;color:#e6f9ff;text-align:center}.entry-hud-core b{display:block;font:400 30px Georgia,serif;color:#f7dfb5;letter-spacing:-.04em;margin-bottom:5px}.entry-hud-core span{color:#92deeb}.entry-scan{position:absolute;left:0;right:0;height:1px;top:10%;background:linear-gradient(90deg,transparent,#b9f5ff,transparent);box-shadow:0 0 22px 3px #64daff;animation:entry-scan 1.45s ease-in-out forwards}.entry-target{position:fixed;border:1px solid #b5f6ff;box-shadow:0 0 0 4px #52e0ff24,0 0 23px #44dfff9a,inset 0 0 18px #4ad9ff45;border-radius:13px;opacity:0;animation:entry-lock .7s ease-out forwards}.entry-target::before,.entry-target::after{content:'';position:absolute;width:15px;height:15px;border-color:#ffe3ad}.entry-target::before{left:-3px;top:-3px;border-left:2px solid;border-top:2px solid}.entry-target::after{right:-3px;bottom:-3px;border-right:2px solid;border-bottom:2px solid}.entry-target span{position:absolute;left:8px;top:-24px;color:#c6f5fb;font-size:9px;letter-spacing:.13em;text-shadow:0 0 12px #000}.entry-hud-footer{position:absolute;left:5%;right:5%;bottom:8%;display:flex;justify-content:space-between;color:#99d9e9;font-size:10px;letter-spacing:.13em}.entry-flash{position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle,#e3faffc9 0%,#6ac9f878 16%,transparent 55%);opacity:0}.entry-sequence.is-hud .entry-flash{animation:entry-flash .8s ease-out both}.entry-active{overflow:hidden}@keyframes entry-progress{to{transform:scaleX(1)}}@keyframes entry-breathe{50%{opacity:.76;filter:blur(.25px)}}@keyframes entry-scan{to{top:84%;opacity:0}}@keyframes entry-lock{0%{opacity:0;transform:scale(1.17)}35%{opacity:1;transform:scale(.98)}60%{transform:scale(1.015)}100%{opacity:1;transform:scale(1)}}@keyframes entry-flash{0%{opacity:0}25%{opacity:.65}100%{opacity:0}}
@media(max-width:700px){.scene-teasers{grid-template-columns:1fr}.scene-teasers img{height:210px}.entry-hud-footer{font-size:8px}.entry-target span{display:none}}
@media(prefers-reduced-motion:reduce){.scene-teasers a,.scene-teasers img{transition:none}.scene-teasers a:hover{transform:none}.entry-sequence:not(.force-play){display:none}}
