/* Bounded brand opening only. No film, navigation or editorial overrides. */
:root{--brand-intro-ready:1}
html[data-intro]{overflow:hidden}
.brand-intro{position:fixed;inset:0;z-index:100;display:grid;place-items:center;background:#02050a;isolation:isolate;animation:intro-exit 1950ms ease both}
.brand-intro:before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 72% 80%,#17466b 0,transparent 48%),radial-gradient(ellipse at 20% 20%,#071727,transparent 55%);opacity:.85}
.brand-intro:after{content:'';position:absolute;z-index:-1;width:135vmax;height:100vmax;border:1px solid #74b7eb80;border-radius:50%;left:8vw;top:60vh;box-shadow:0 -12px 70px #74b7eb28;transform:rotate(-24deg);animation:intro-limb 1950ms cubic-bezier(.2,.6,.2,1) both}
.intro-mark{position:relative;width:min(760px,76vw);overflow:hidden;animation:intro-mark 1950ms ease both}
.intro-logo{display:block;width:100%;height:auto}
.intro-mark:after{content:'';position:absolute;left:16%;top:55%;width:24%;aspect-ratio:1;transform:translate(-50%,-50%);background:radial-gradient(ellipse at center,#e5f6ff 0,#84d0ffb0 3%,#74b7eb40 16%,transparent 65%);opacity:0;animation:intro-flare 1300ms ease 120ms both;pointer-events:none}
.intro-glint{position:absolute;inset:0;pointer-events:none;mask:url('/assets/groupe-nordis-logo-v12-blanc.svg') center/contain no-repeat;background:linear-gradient(110deg,transparent 40%,#84d0ff00 43%,#b9e1ff70 49%,#e5f6ffbb 50%,#84d0ff00 57%,transparent 60%) 100% 50%/300% 100%;mix-blend-mode:screen;animation:intro-glint 1400ms cubic-bezier(.3,0,.2,1) 100ms both}
.intro-skip{position:absolute;right:max(6vw,24px);bottom:max(5vh,24px);min-width:88px;min-height:48px;padding:10px 22px;border:1px solid #84d0ff;background:#02050a;color:#e5f6ff;font-size:.875rem}
.intro-skip:hover{background:#071727}
/* Keep the opaque backing and skip intact until animationend removes the gate.
   Only the brand fades; its final quiet beat precedes the home reveal. */
@keyframes intro-exit{0%,100%{opacity:1}}
@keyframes intro-mark{0%{opacity:.25}19%,76%{opacity:1}94%,100%{opacity:0}}
@keyframes intro-glint{0%{background-position:100% 50%;opacity:0}18%{opacity:1}82%{opacity:1}100%{background-position:0% 50%;opacity:0}}
@keyframes intro-limb{from{transform:translateY(7vh) rotate(-24deg);opacity:.15}65%{opacity:1}to{transform:translateY(-3vh) rotate(-24deg);opacity:.6}}
@keyframes intro-flare{0%,100%{opacity:0}42%{opacity:.9}}
@media(prefers-reduced-motion:reduce){.brand-intro{display:none}}
