.logo.ello-wordmark{display:inline-flex;align-items:center;flex:none;line-height:1}
.logo.ello-wordmark .ello-logo-img{display:block;width:139px;height:auto;max-width:100%}
#intro .icore .ello-intro-wordmark{width:min(360px,70vw);height:auto;display:block;margin:auto;filter:drop-shadow(0 15px 30px #5d48ed50)}
#intro .icore .itag{margin-top:18px}
#video{position:relative;overflow:hidden}
#video #vid{display:block;width:100%;filter:none;transform:scale(1);transition:filter .42s ease,transform .42s ease}
#video.is-playing #vid{filter:none;transform:scale(1)}
#video .hero-video-overlay{position:absolute;inset:0;display:grid;place-items:center;background:linear-gradient(0deg,#090c2c26,#0c123205);transition:opacity .3s ease,visibility .3s ease;z-index:3}
#video.is-playing .hero-video-overlay{opacity:0;visibility:hidden;pointer-events:none}
#video .hero-video-play{border:0;border-radius:999px;background:white;color:#202146;display:flex;align-items:center;gap:12px;padding:15px 24px;font-size:16px;font-weight:850;cursor:pointer;box-shadow:0 14px 45px #080a245e;transition:transform .2s ease}
#video .hero-video-play:hover{transform:scale(1.055)}
#video .hero-play-icon{border-radius:50%;height:43px;width:43px;display:grid;place-items:center;background:linear-gradient(135deg,#7857ff,#406dff);color:#fff;font-size:19px}
@media(max-width:650px){.logo.ello-wordmark .ello-logo-img{width:116px}#video .hero-video-play{padding:10px 15px;font-size:13px;gap:8px}#video .hero-play-icon{height:35px;width:35px}#video #vid{filter:none}}
@media(prefers-reduced-motion:reduce){#video #vid,#video .hero-video-play{transition:none}}

/* Motion design de marque : on conserve la fissure / explosion existante. */
#intro .icore .ello-intro-wordmark{opacity:0;transform:translateY(35px) scale(.78);animation:elloIntroEnter 1.18s .17s cubic-bezier(.16,1,.3,1) both,elloIntroGlow 2.4s 1.05s ease-in-out infinite;filter:drop-shadow(0 15px 36px #7454ff5c)}
#intro .icore .itag{opacity:0;animation:elloTagReveal .75s 1.15s ease-out forwards}
#intro .icore:before{content:"";position:absolute;inset:-50px -90px;z-index:-1;border-radius:50%;background:radial-gradient(ellipse,#7c51ff38,transparent 66%);transform:scale(.5);opacity:0;animation:elloAura 2s .22s ease-out forwards;pointer-events:none}
@keyframes elloIntroEnter{to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes elloIntroGlow{50%{filter:drop-shadow(0 18px 50px #b5a5ff99)}}
@keyframes elloTagReveal{to{opacity:1}}
@keyframes elloAura{60%{opacity:1}to{opacity:.7;transform:scale(1.1)}}
@media(prefers-reduced-motion:reduce){#intro .icore .ello-intro-wordmark,#intro .icore .itag,#intro .icore:before{animation:none;opacity:1;transform:none}}

/* Arrival motion: cinematic mark reveal then luminous scan, before existing glass-shatter outro. */
#intro{overflow:hidden;contain:layout paint}
#intro .icore{max-width:calc(100vw - 32px)}
#intro .icore .ello-intro-wordmark{width:min(410px,77vw);max-width:100%;animation:elloNewArrival 1.05s .18s cubic-bezier(.14,1,.29,1) both!important}
#intro .icore .itag{animation:elloNewSubtitle .65s 1.18s both!important}
#intro .icore:after{content:"";position:absolute;inset:-18px -85px;pointer-events:none;background:linear-gradient(105deg,transparent 32%,#ffffff10 43%,#ffffffc7 49%,#ffffff10 56%,transparent 67%);mix-blend-mode:screen;transform:translateX(-150%) skewX(-12deg);animation:elloLightSweep 1.05s 1.3s ease-in-out both}
@keyframes elloNewArrival{0%{opacity:0;filter:blur(16px) drop-shadow(0 0 0 #0000);transform:translateY(65px) scale(.6) rotate(-5deg)}65%{opacity:1;filter:blur(0) drop-shadow(0 10px 50px #7958ffb0);transform:translateY(-5px) scale(1.05)}100%{opacity:1;filter:blur(0) drop-shadow(0 15px 35px #7652ff86);transform:none}}
@keyframes elloNewSubtitle{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
@keyframes elloLightSweep{to{transform:translateX(150%) skewX(-12deg)}}
html,body{max-width:100%;overflow-x:clip}
body img,body video,body svg{max-width:100%}
.wrap{max-width:100%;min-width:0}
@media(max-width:780px){
 html,body{overflow-x:hidden}
 .wrap,.grid,.grid2,.grid3,.grid4{min-width:0}
 .hero,.phero{max-width:100vw;overflow:hidden}
 .hero .blob,.phero .blob{max-width:85vw;pointer-events:none}
 .stage,.float,.video,.card{max-width:100%;min-width:0}
 .float{pointer-events:none}
 #fx,#cursor,#dot{display:none!important}
 #intro .shard{will-change:auto}
 #intro .icore:after{inset:-16px -26px}
 .hero h1,.phero h1{overflow-wrap:break-word}
 .hero .top,.phero .grid>div{min-width:0}
}
@media(max-width:480px){
 .grid3,.grid4{grid-template-columns:1fr}
 .hero,.phero{padding-left:0;padding-right:0}
 #intro .icore .ello-intro-wordmark{width:min(300px,76vw)}
 .btn{max-width:100%;white-space:normal}
}
@media(prefers-reduced-motion:reduce){
 #intro .icore .ello-intro-wordmark,#intro .icore .itag,#intro .icore:after{animation:none!important;opacity:1;transform:none;filter:none}
}
