/* Accueil piste C v2 (Design, design/accueil/accueil.css) — hero de marque, sans produit.
   Règles limitées à .brand-hero / .intro-skip / .has-intro (classe posée uniquement par home.html).
   Règles globales de la démo (body, header, nav, footer, h2, .card, .g...) non reprises. */
.brand-hero{font-family:var(--f-text);color:var(--c-ink)}
.brand-hero .btn{font:700 15px var(--f-text);border-radius:999px;padding:12px 22px;border:0}
/* ===== Hero marque (sans produit) ===== */
.brand-hero .btn{display:inline-flex;align-items:center;text-decoration:none}.brand-hero .btn-p{background:var(--c-signal);color:#fff}.brand-hero .btn-p:hover{background:#1F55E0}.brand-hero .btn-o{background:transparent;color:var(--c-ink);box-shadow:inset 0 0 0 1.5px var(--c-ink)}.brand-hero .btn-o:hover{background:#F5F5F7}
.brand-hero .btn:focus-visible,.brand-hero .univers:focus-visible{outline:3px solid var(--c-signal-300);outline-offset:3px}
.brand-hero{background:radial-gradient(ellipse 60% 50% at 50% 38%,#2F6BFF14,transparent 70%),#fff;padding:clamp(72px,12vh,140px) 0 clamp(72px,10vh,120px);text-align:center}
.brand-hero .k{color:var(--c-muted)}
.brand-mark{display:block;width:min(820px,88vw);height:auto;margin:28px auto 8px}
.brand-mark path{fill:var(--c-ink)}.brand-mark .l-ia{fill:var(--c-signal)}
.brand-hero .promise{font:800 clamp(34px,5vw,60px)/1.08 var(--f-display);letter-spacing:-.03em;margin:18px 0 0}
.brand-hero .promise em{font:italic 400 1.12em var(--f-editorial);letter-spacing:0;color:var(--c-signal)}
.brand-hero .lead{max-width:620px;margin:18px auto 0;color:#6E6E73;font-size:clamp(17px,1.6vw,20px);line-height:1.5}
.brand-hero .ctas{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:32px}
.brand-hero .univers-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:clamp(56px,9vh,96px);text-align:left}
.brand-hero .univers{display:flex;flex-direction:column;gap:6px;padding:26px;border-radius:22px;background:#F5F5F7;color:var(--c-ink);text-decoration:none;transition:transform .25s cubic-bezier(.2,.8,.2,1),background .25s}
.brand-hero .univers:hover{transform:translateY(-3px);background:#EEEEF2}
.brand-hero .univers svg{width:30px;height:30px;stroke:var(--c-ink);stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round;margin-bottom:14px}
.brand-hero .univers strong{font:700 19px var(--f-display);letter-spacing:-.01em}.brand-hero .univers span{font-size:14px;color:#6E6E73}
@media(max-width:820px){.brand-hero .univers-grid{grid-template-columns:1fr 1fr;gap:12px}.brand-hero .univers{padding:18px}}

/* ===== Intro (~5 s, 4 temps, intégrée au hero) ===== */
.has-intro .brand-mark{animation:mark-in 1.4s .2s cubic-bezier(.16,1,.3,1) both}
.has-intro .brand-mark .l-ia{animation:ia-glow 1.3s 1.4s cubic-bezier(.4,0,.2,1) both}
.has-intro .brand-hero .reveal{opacity:0;transform:translateY(20px);animation:reveal .8s cubic-bezier(.16,1,.3,1) forwards;animation-delay:var(--d,0s)}
.has-intro .site-header{animation:fade .8s 2.2s both}
@keyframes mark-in{from{opacity:0;filter:blur(14px);transform:scale(1.06)}to{opacity:1;filter:none;transform:none}}
@keyframes ia-glow{0%{fill:var(--c-ink)}35%{fill:#2F6BFF;filter:drop-shadow(0 0 26px #2F6BFFcc)}65%{fill:#2F6BFF;filter:drop-shadow(0 0 26px #2F6BFFcc)}100%{fill:#2F6BFF;filter:drop-shadow(0 0 0 #2F6BFF00)}}
@keyframes reveal{to{opacity:1;transform:none}}
@keyframes fade{from{opacity:0}}
.intro-skip{position:fixed;bottom:24px;right:24px;z-index:50;font:600 14px var(--f-text);color:var(--c-ink);background:#F5F5F7;border:0;border-radius:999px;padding:10px 18px;cursor:pointer;animation:fade .3s 4.8s reverse forwards}
.intro-skip:focus-visible{outline:3px solid var(--c-signal-300)}
.no-intro .intro-skip,.intro-skip.done{display:none}
@media (prefers-reduced-motion:reduce){.has-intro *{animation:none!important}.has-intro .brand-hero .reveal{opacity:1;transform:none}.intro-skip{display:none}}
/* Filet de sécurité : tuiles toujours visibles une fois l'intro finie/passée */
.no-intro .brand-hero .reveal,.intro-done .brand-hero .reveal{opacity:1!important;transform:none!important}
