/* Animation d'accueil serviceoeth.org — superposition plein écran, préfixe soi- */
.soi{position:fixed!important;inset:0!important;z-index:2147483000!important;background:radial-gradient(ellipse 72% 62% at 50% 44%,#fff 0%,#fff 46%,#F3F5F9 100%)!important;font-family:'Plus Jakarta Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Arial,sans-serif!important;color:#0D1B33!important;overflow:hidden!important;opacity:1;transform:none;transition:opacity .6s ease,transform .75s cubic-bezier(.7,0,.2,1)}
.soi *{box-sizing:border-box}
.soi.soi--out{opacity:0;transform:translateY(-2.5%);pointer-events:none}
.soi__top{position:absolute;top:0;left:0;right:0;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px clamp(16px,4vw,44px)}
.soi__brand{font-size:12px!important;letter-spacing:.16em!important;text-transform:uppercase!important;font-weight:700!important;color:#55657E!important;margin:0!important}
.soi__skip{font:inherit!important;font-size:14px!important;font-weight:600!important;color:#0D1B33!important;background:rgba(255,255,255,.85)!important;border:1px solid #E2E7EF!important;border-radius:999px!important;padding:0 18px!important;min-height:42px!important;cursor:pointer!important;text-transform:none!important;letter-spacing:0!important;box-shadow:0 1px 2px rgba(13,27,51,.05)!important;transition:background .2s,border-color .2s,opacity .3s!important}
.soi__skip:hover{background:#fff!important;border-color:#C5CFDD!important}
.soi--reveal .soi__skip{opacity:0;pointer-events:none}
.soi :focus-visible{outline:3px solid #D99A0B!important;outline-offset:3px!important}
.soi__svg{position:absolute;inset:0;width:100%;height:100%;display:block;transition:opacity .7s ease,transform .9s cubic-bezier(.2,.7,.2,1)}
.soi--reveal .soi__svg{opacity:0;transform:scale(.95)}
.soi__card{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:72px 16px 32px;pointer-events:none;outline:none}
.soi--reveal .soi__card{pointer-events:auto}
.soi__in{opacity:0;transform:translateY(16px);transition:opacity .7s ease,transform .8s cubic-bezier(.2,.7,.2,1)}
.soi--reveal .soi__in{opacity:1;transform:none}
.soi__logo{width:76px!important;height:76px!important;margin:0 0 22px!important;display:block}
.soi__h{font-size:clamp(30px,4.6vw,56px)!important;line-height:1.08!important;letter-spacing:-.03em!important;font-weight:800!important;margin:0!important;max-width:900px;color:#0D1B33!important;text-transform:none!important}
.soi__h .w{display:inline-block}
.soi__h .r{color:#C01B3C!important}
.soi__p{font-size:clamp(15px,1.5vw,18px)!important;line-height:1.5!important;color:#55657E!important;margin:18px 0 28px!important;font-weight:500!important}
.soi__acts{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}
.soi__btn{display:inline-flex!important;align-items:center;gap:10px;min-height:50px;padding:0 24px!important;border-radius:12px!important;font-size:15px!important;font-weight:700!important;text-decoration:none!important;border:1.5px solid #0D1B33!important;transition:background .2s,transform .2s,box-shadow .2s!important}
.soi__btn--a{background:#0D1B33!important;color:#fff!important;box-shadow:0 10px 24px -12px rgba(13,27,51,.5)}
.soi__btn--a:hover{background:#17315C!important;transform:translateY(-1px)}
.soi__btn--b{background:#fff!important;color:#0D1B33!important}
.soi__btn--b:hover{background:#F5F7FA!important;transform:translateY(-1px)}
.soi__btn svg{width:16px;height:16px;flex:none}
.soi__more{margin-top:22px!important;font:inherit!important;font-size:14px!important;font-weight:600!important;color:#55657E!important;background:none!important;border:0!important;padding:10px 12px!important;min-height:42px;cursor:pointer;display:inline-flex;align-items:center;gap:8px;text-transform:none!important;letter-spacing:0!important}
.soi__more:hover{color:#0D1B33!important}
.soi__more svg{width:14px;height:14px}
@media (max-width:600px){.soi__btn{width:100%;justify-content:center}.soi__acts{width:100%;max-width:340px;flex-direction:column}.soi__brand{font-size:11px!important}}
@media (prefers-reduced-motion:reduce){.soi,.soi__svg,.soi__in{transition:none!important}}
/* Pendant l'animation, la page derrière n'est pas dessinée (allège le rendu) */
html.soi-actif body > *:not(.soi){visibility:hidden!important}
.soi{background:radial-gradient(ellipse 60% 55% at 0% 0%,rgba(248,220,227,.55) 0%,rgba(248,220,227,0) 60%),radial-gradient(ellipse 55% 50% at 100% 100%,rgba(251,237,201,.6) 0%,rgba(251,237,201,0) 60%),radial-gradient(ellipse 72% 62% at 50% 44%,#fff 0%,#fff 46%,#F3F5F9 100%)!important}
