/* Introduction animée de l'accueil : ligne, logo, ouverture en deux volets */
#cn-intro{display:none}
.ci-on #cn-intro{display:block;position:fixed;inset:0;z-index:9999;pointer-events:auto;animation:ci-gone 0s linear 4.6s forwards}
html.ci-lock{overflow:hidden}
.ci-half{position:absolute;left:0;right:0;height:50%;background:#FBF7EC;overflow:hidden;will-change:transform}
.ci-top{top:0;animation:ci-up .85s cubic-bezier(.76,0,.24,1) 3.25s forwards}
.ci-bot{bottom:0;animation:ci-down .85s cubic-bezier(.76,0,.24,1) 3.25s forwards}
.ci-half svg{position:absolute;left:0;width:100%;height:100vh;display:block}
.ci-top svg{top:0}
.ci-bot svg{bottom:0}
.ci-half path{fill:none;stroke:#1E3D59;stroke-opacity:.42;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;animation:ci-draw 1.6s ease-out var(--d,.1s) forwards}
.ci-half path.ci-acc{stroke:#FF6E40;stroke-opacity:.9}
.ci-half svg.ci-m{display:none}
@media (max-width:700px){.ci-half svg.ci-d{display:none}.ci-half svg.ci-m{display:block}}
.ci-center{position:absolute;left:0;right:0;top:50%;height:0;display:flex;align-items:center;justify-content:center;pointer-events:none;animation:ci-fade .35s ease 3.1s forwards}
.ci-line{position:absolute;left:50%;top:0;width:min(64vw,820px);height:1px;background:linear-gradient(90deg,transparent,#1E3D59 18%,#1E3D59 82%,transparent);transform:translateX(-50%) scaleX(0);transform-origin:center;animation:ci-grow .8s cubic-bezier(.65,0,.35,1) .35s forwards,ci-fade .25s ease 1.5s forwards}
.ci-brand{position:relative;display:flex;align-items:center;gap:clamp(12px,2vw,22px);color:#16304A;clip-path:inset(50% 0 50% 0);animation:ci-open .9s cubic-bezier(.65,0,.35,1) .85s forwards}
.ci-brand img{width:clamp(64px,10vw,124px);height:auto;display:block}
.ci-word{font-family:Sora,Inter,sans-serif;font-weight:600;font-size:clamp(2.1rem,7vw,4.8rem);letter-spacing:-0.03em;line-height:1;white-space:nowrap}
.ci-tag{position:absolute;left:0;right:0;top:clamp(64px,9vw,116px);text-align:center;font-family:Inter,sans-serif;font-size:.9rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:#1E3D59;opacity:0;animation:ci-in .5s ease 1.55s forwards}
.ci-skip{position:absolute;right:24px;bottom:22px;z-index:2;background:none;border:0;font:600 .85rem Inter,sans-serif;color:#1E3D59;opacity:.55;cursor:pointer;padding:8px 10px}
.ci-skip:hover{opacity:1}
@keyframes ci-draw{to{stroke-dashoffset:0}}
@keyframes ci-grow{to{transform:translateX(-50%) scaleX(1)}}
@keyframes ci-open{to{clip-path:inset(-20% 0 -20% 0)}}
@keyframes ci-in{to{opacity:1}}
@keyframes ci-fade{to{opacity:0}}
@keyframes ci-up{to{transform:translateY(-101%)}}
@keyframes ci-down{to{transform:translateY(101%)}}
@keyframes ci-gone{to{visibility:hidden;pointer-events:none}}
/* le contenu de l'accueil se révèle quand les volets s'ouvrent */
.ci-on .hp-hero .hp-hero-grid{animation:ci-hero 1.1s cubic-bezier(.2,.7,.2,1) 3.45s both}
@keyframes ci-hero{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
.ci-skipped #cn-intro{display:none!important}
.ci-skipped .hp-hero .hp-hero-grid{animation:none!important}
@media (prefers-reduced-motion:reduce){#cn-intro{display:none!important}.ci-on .hp-hero .hp-hero-grid{animation:none}}
