body.s2029-logo-page{background:#0a1a2f}
.s2029-logo-stage[data-logo-intro]{--logo-blue:#0a1a2f;--letter-mask:url('assets/logo-interieur-masque.png?v=20261015-zones2');position:relative;isolation:isolate;width:100%;height:auto!important;aspect-ratio:1470/630;overflow:hidden;background:var(--logo-blue);margin-inline:auto}
.s2029-logo-slot{position:relative;width:100%;aspect-ratio:1470/630}
.s2029-logo-slot.is-docked{aspect-ratio:1470/230;min-height:clamp(160px,20vw,200px);overflow:hidden}
.s2029-logo-slot.is-docked [data-logo-intro]{position:absolute;left:0;top:50%;transform:translateY(-50%)}
.s2029-logo-slot.is-docked [data-logo-intro]:not(.is-cinema) .s2029-logo-controls{top:auto;bottom:calc(50% - var(--dock-slot-half-height) + 12px)}
body.s2029-intro-pending{overflow:hidden}
body.s2029-intro-pending .s2029-page> :not(.s2029-hero),body.s2029-intro-pending .s2029-hero> :not(.s2029-logo-slot),body.s2029-intro-pending .demo-title,body.s2029-intro-pending .demo-nav{opacity:0;visibility:hidden;pointer-events:none}
body.s2029-site-visible .s2029-page> :not(.s2029-hero),body.s2029-site-visible .s2029-hero> :not(.s2029-logo-slot),body.s2029-site-visible .demo-title,body.s2029-site-visible .demo-nav{animation:s2029-site-appear .9s ease both}
.s2029-intro-backdrop{position:fixed;inset:0;z-index:9998;background:#000;transition:background-color .65s linear;pointer-events:none}
.s2029-intro-backdrop.is-blue{background:#0a1a2f}
.s2029-intro-backdrop[hidden]{display:none!important}
.s2029-logo-slot [data-logo-intro].is-cinema{position:fixed!important;z-index:9999;left:50%;top:50%;width:min(100vw,233.333333vh);transform:translate(-50%,-50%)}
@keyframes s2029-site-appear{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
[data-logo-intro] .s2029-logo-live,[data-logo-intro] .s2029-logo-video,[data-logo-intro] .s2029-logo-outline{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
[data-logo-intro] .s2029-logo-live{z-index:1;pointer-events:none}
[data-logo-intro] .s2029-logo-images{position:absolute;inset:0;opacity:0;transition:opacity 1s ease;-webkit-mask:var(--letter-mask) center/100% 100% no-repeat;mask:var(--letter-mask) center/100% 100% no-repeat}
[data-logo-intro] .s2029-logo-images img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;animation:s2029-pan 24s ease-in-out infinite alternate;animation-play-state:paused}
[data-logo-intro] .s2029-logo-images img+img{animation:s2029-pan 28s ease-in-out infinite alternate-reverse,s2029-crossfade 20s ease-in-out infinite;animation-play-state:paused;opacity:0}
[data-logo-intro].is-revealed .s2029-logo-images{opacity:1}
[data-logo-intro].is-revealed .s2029-logo-images img{animation-play-state:running}
[data-logo-intro] .s2029-logo-video{z-index:2;transition:opacity .65s linear;background:#000}
[data-logo-intro].is-ending .s2029-logo-video{opacity:0;pointer-events:none}
[data-logo-intro] .s2029-logo-outline{z-index:2}
[data-logo-intro] .s2029-logo-live::after{content:'';position:absolute;inset:0;z-index:3;background:#fff;opacity:0;-webkit-mask:var(--letter-mask) center/100% 100% no-repeat;mask:var(--letter-mask) center/100% 100% no-repeat}
[data-logo-intro].is-pulsing .s2029-logo-live::after{animation:s2029-white-pulse 1.25s ease both}
[data-logo-intro].is-pulsing .s2029-logo-outline{animation:s2029-white-glow 1.25s ease both}
@keyframes s2029-white-pulse{0%{opacity:0}26%{opacity:.8}100%{opacity:0}}
@keyframes s2029-white-glow{0%,100%{filter:drop-shadow(0 0 0 transparent)}26%{filter:drop-shadow(0 0 5px #fff) drop-shadow(0 0 14px #ffffff80)}}
[data-logo-intro] .s2029-logo-controls{position:absolute;z-index:4;right:12px;bottom:12px;display:flex;gap:8px}
[data-logo-intro] button,.s2029-intro-skip{font:inherit;font-size:14px;color:#fff;border:1px solid #9caec166;background:#0a1a2fda;padding:9px 14px;border-radius:7px;cursor:pointer}
[data-logo-intro] button:focus-visible,.s2029-intro-skip:focus-visible{outline:2px solid white;outline-offset:3px}
.s2029-intro-skip{position:fixed;z-index:10000;top:max(16px,env(safe-area-inset-top));right:max(16px,env(safe-area-inset-right));min-height:44px}
.s2029-intro-skip[hidden]{display:none!important}
[data-logo-intro].is-skipped .s2029-logo-video,[data-logo-intro].is-skipped .s2029-logo-images{transition:none}
body.s2029-intro-skipped .s2029-page> :not(.s2029-hero),body.s2029-intro-skipped .s2029-hero> :not(.s2029-logo-slot){animation:none}
[data-logo-intro] .s2029-logo-start{position:absolute;z-index:5;left:50%;top:50%;transform:translate(-50%,-50%);max-width:calc(100% - 32px);width:max-content}
[data-logo-intro] [hidden]{display:none!important}
@keyframes s2029-pan{from{transform:scale(1.06) translateX(-2%)}to{transform:scale(1.14) translateX(2%)}}
@keyframes s2029-crossfade{0%,35%,100%{opacity:0}45%,85%{opacity:1}}
@media(prefers-reduced-motion:reduce){[data-logo-intro] .s2029-logo-images img{animation:none!important}[data-logo-intro] .s2029-logo-images img+img{display:none}[data-logo-intro] .s2029-logo-video,[data-logo-intro] .s2029-logo-images,.s2029-intro-backdrop{transition:none}[data-logo-intro].is-pulsing .s2029-logo-live::after,[data-logo-intro].is-pulsing .s2029-logo-outline{animation:none}}
@media(max-width:600px){.s2029-logo-slot.is-docked{aspect-ratio:1470/560;min-height:140px}}
