/* Ouverture cinématique commune (écran d'entrée + site). */
:root{--or:#F5C518;--ink:#12163A;--ease-out:cubic-bezier(.23,1,.32,1);--ease-io:cubic-bezier(.77,0,.175,1);--disp:"Big Shoulders Display","Arial Narrow",Impact,sans-serif}
@keyframes spin{to{transform:rotate(360deg)}}
[hidden]{display:none !important}
.intro img{height:auto;display:block}
/* ---------- ouverture cinématique (1re visite de la session) ---------- */
.intro{position:fixed;inset:0;z-index:300;display:grid;place-items:center;background:radial-gradient(120% 90% at 50% 40%,#223169 0%,#141B4D 55%,#0A0E2E 100%);overflow:hidden}
.intro-in{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;text-align:center;padding:0 24px}
.intro-in>*{opacity:0;transform:translateY(14px);animation:iIn .8s var(--ease-out) forwards}
.i-emb{width:min(150px,34vw);border-radius:50%;box-shadow:0 0 0 6px rgba(255,255,255,.08),0 30px 80px -20px rgba(0,0,0,.8);animation-delay:.15s !important;margin-bottom:18px}
.i-rep{margin:0;font-family:var(--disp);font-weight:900;font-size:clamp(30px,5vw,54px);text-transform:uppercase;letter-spacing:.06em;line-height:1;animation-delay:.55s !important}
.i-dev{margin:8px 0 0;font-size:12px;letter-spacing:.34em;text-transform:uppercase;color:var(--or);animation-delay:.8s !important}
.i-min{margin:22px 0 0;max-width:560px;font-size:clamp(14px,1.6vw,17px);font-weight:500;line-height:1.45;animation-delay:1.1s !important}
.i-pre{margin:14px 0 0;font-size:12px;letter-spacing:.4em;text-transform:uppercase;opacity:.7;animation-delay:1.45s !important}
.i-logo{width:min(120px,28vw);margin-top:18px;border-radius:50%;background:#fff;animation-delay:1.75s !important}
.i-ed{margin:14px 0 0;font-family:var(--disp);font-weight:800;font-size:clamp(18px,2.4vw,26px);text-transform:uppercase;letter-spacing:.06em;color:var(--or);animation-delay:2s !important}
@keyframes iIn{to{opacity:1;transform:none}}
.intro-v{position:absolute;top:0;bottom:0;width:50%;z-index:1;background:linear-gradient(180deg,#592B57,#C0212F);transform:scaleX(0)}
.intro-v.l{left:0;transform-origin:0 50%}.intro-v.r{right:0;transform-origin:100% 50%}
.intro.out .intro-v{animation:vIn .55s var(--ease-io) forwards}
.intro.out .intro-in{animation:fadeOut .4s ease forwards}
.intro.gone{animation:fadeOut .6s ease .1s forwards;pointer-events:none}
.intro.gone .intro-v{transform:scaleX(1)}
@keyframes vIn{to{transform:scaleX(1)}}
@keyframes fadeOut{to{opacity:0}}
.intro-skip{position:absolute;right:20px;bottom:20px;z-index:3;min-height:40px;padding:0 16px;border-radius:999px;border:1px solid rgba(255,255,255,.35);background:transparent;cursor:pointer;font-size:13px}
.intro-skip:hover{background:#fff;color:var(--ink)}
.intro::before{content:"";position:absolute;inset:-10%;background:conic-gradient(from 0deg,transparent 0 20%,rgba(245,197,24,.12) 25%,transparent 32%);animation:spin 9s linear infinite}

@media (prefers-reduced-motion:reduce){.intro{display:none !important}}
