.depth-voyage{height:calc(var(--travel) + 100svh);position:relative}.depth-stage{background:#2a1b10}.depth-stage canvas{display:block;width:100%;height:100%;position:absolute;inset:0}.depth-vignette{position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,#130c08b8,transparent 35%,transparent 85%,#130c0833),linear-gradient(90deg,#130c0844,transparent 35%);z-index:2}.depth-caption{position:absolute;left:6%;bottom:14%;z-index:3;max-width:460px;pointer-events:none}.depth-caption .eyebrow{font-size:9px;margin-bottom:15px}.depth-caption h1{font-size:clamp(44px,5vw,78px);text-shadow:0 3px 35px #0006}.depth-caption>p:last-child{font-size:12px;line-height:1.8;margin-top:18px;max-width:330px;text-shadow:0 2px 15px #000}.depth-nav{position:fixed;right:3%;bottom:72px;display:flex;gap:5px;background:#f7f3ebde;backdrop-filter:blur(18px);border:1px solid #fff7;border-radius:40px;padding:6px;color:#482311;z-index:20}.depth-nav a{padding:9px 15px;border-radius:30px;font-size:9px;white-space:nowrap}.depth-nav a[aria-current]{background:#482311;color:#f7f3eb}.depth-nav a span{margin-left:5px}.depth-voyage~footer{z-index:5}.scroll-cue{position:absolute;top:130px;left:6%;z-index:4;font-size:8px;letter-spacing:.2em;opacity:.8}.at-end .depth-nav{opacity:0;pointer-events:none}#depth-error{position:absolute;top:130px;right:3%;font-size:10px;max-width:240px;background:#2a1b10bb;padding:10px;z-index:5}.depth-stage.fallback{background:url('assets/scene-budget-2410.webp') center/cover}.depth-stage.fallback canvas{display:none}.depth-stage.loading::after{content:'PRÉPARATION DU RELIEF…';position:absolute;left:6%;top:160px;font-size:9px;letter-spacing:.2em;color:#f7f3eb;z-index:5}@media(max-width:760px){.depth-caption{left:24px;bottom:23%;max-width:280px}.depth-caption h1{font-size:48px}.depth-caption>p:last-child{font-size:11px;margin-top:14px;max-width:260px}.depth-caption .eyebrow{font-size:8px}.depth-nav{left:50%;right:auto;bottom:52px;transform:translateX(-50%);padding:5px}.depth-nav a{font-size:8px;padding:9px 12px}.depth-nav a span{margin-left:3px}.scroll-cue{top:102px;left:24px;font-size:7px}#depth-error{top:125px;right:24px}.depth-stage.loading::after{left:24px;top:125px}}

/* Plans proches dédiés, accélérations et raccords liés uniquement au scroll. */
.cinema-near{position:absolute;inset:0;z-index:1;overflow:hidden;pointer-events:none}
.cinema-near img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;max-width:none;opacity:0;will-change:transform,opacity,filter;transform-origin:center}
#bar-near{object-position:64% 50%}#kids-near{object-position:48% 57%}
.depth-caption{max-width:570px}.depth-caption h1{font-size:clamp(43px,4.8vw,74px)}
@media(max-width:760px){#bar-near{object-position:63% 50%}#kids-near{object-position:46% 50%}.depth-caption{bottom:23%;max-width:290px}.depth-caption h1{font-size:46px}.depth-caption>p:last-child{max-width:275px;font-size:11px}}

/* Prologue : devanture puis entrée, avant le parcours existant. */
.intro-photos{position:absolute;inset:0;z-index:1;overflow:hidden;pointer-events:none}
.intro-photos img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;max-width:none;will-change:transform,opacity,filter}
#facade-intro{object-position:50% 44%;transform-origin:35% 44%}
#entree-intro{opacity:0;object-position:50% 69%;transform-origin:52% 64%}
.depth-nav a{padding:9px 12px}
@media(max-width:760px){#facade-intro{object-position:35% 47%;transform-origin:35% 46%}#entree-intro{object-position:50% 62%}.depth-nav{max-width:calc(100vw - 32px);width:max-content;gap:3px}.depth-nav a{padding:9px 12px;font-size:9px}.depth-nav a span{display:none}.depth-nav a[aria-current] span{display:inline;font-size:8px}}

/* Intégration isolée dans l’accueil : seul le scroll du parent pilote la caméra. */
.is-embedded,.is-embedded body{height:100%;overflow:hidden;margin:0}
.is-embedded .masthead,.is-embedded footer,.is-embedded .skip,.is-embedded .noscript-note{display:none}
.is-embedded .depth-voyage{height:100svh!important}
.is-embedded .depth-stage{position:fixed;inset:0;height:100svh}
.is-embedded .scroll-cue{top:130px}.is-embedded .depth-caption{bottom:16%}
.is-embedded .depth-nav{bottom:52px;right:24px}.is-embedded .journey-status{bottom:20px}
@media(max-width:760px){.is-embedded .scroll-cue{top:100px}.is-embedded .depth-caption{bottom:22%}.is-embedded .depth-nav{right:auto;bottom:48px}.is-embedded .journey-status{bottom:15px}}
