/* RK Solutions : animation du hero (voir hero-anim.js)
   Le conteneur [data-hero-anim] fixe la place disponible ; le téléphone
   s'y inscrit en gardant les proportions du prototype F (300 × 590). */
[data-hero-anim]{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:var(--ha-h,min(600px,74vh))}
.ha-stage{position:relative;--k:1}
.ha-phone{position:relative;box-sizing:border-box;width:300px;height:590px;border:9px solid #0b0b0c;border-radius:44px;background:#eef0f3;overflow:hidden;
  box-shadow:0 calc(46px*var(--k)) calc(90px*var(--k)) calc(-46px*var(--k)) rgba(11,42,91,.42),0 calc(14px*var(--k)) calc(34px*var(--k)) calc(-20px*var(--k)) rgba(11,11,12,.28)}
.ha-phone::after{content:"";position:absolute;left:50%;top:calc(8px*var(--k));width:calc(74px*var(--k));height:calc(20px*var(--k));border-radius:calc(12px*var(--k));background:#0b0b0c;transform:translateX(-50%);pointer-events:none}
.ha-phone canvas{position:absolute;left:0;top:0;width:100%;height:100%;display:block}
.ha-pause{position:absolute;left:100%;bottom:4px;margin-left:16px;width:34px;height:34px;padding:0;border-radius:50%;border:1px solid rgba(11,11,12,.14);background:#fff;color:#5d636b;cursor:pointer;display:grid;place-items:center;transition:color .3s,border-color .3s,opacity .3s}
.ha-pause:hover{color:#0b0b0c;border-color:rgba(11,11,12,.4)}
.ha-pause:focus-visible{outline:2px solid #0b2a5b;outline-offset:3px}
.ha-pause i{display:block;width:10px;height:11px;border-left:3px solid currentColor;border-right:3px solid currentColor;box-sizing:border-box}
.ha-pause[aria-pressed="true"] i{width:0;height:0;border:0;border-left:10px solid currentColor;border-top:6px solid transparent;border-bottom:6px solid transparent;margin-left:3px}
/* pas la place à droite (mobile) : le bouton passe sous le téléphone, à droite */
.ha-in .ha-pause{left:auto;right:0;bottom:auto;top:100%;margin:10px 0 0;width:30px;height:30px}
.is-static .ha-pause{display:none}

/* ---- mise en page du hero avec animation (accueil) ---- */
.hero-in.anim{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"e a" "t a" "l a" "c a";grid-template-rows:auto auto auto auto;align-content:center;column-gap:clamp(40px,5vw,88px)}
.hero-in.anim .hero-eb{grid-area:e;align-self:end;margin:0 0 18px}
.hero-in.anim h1{grid-area:t;align-self:start;font-size:clamp(34px,4.1vw,62px);max-width:13em}
.hero-in.anim .lead{grid-area:l;margin-top:30px;max-width:30em}
.hero-in.anim .cta{grid-area:c;align-self:start;margin-top:36px}
.hero-in.anim [data-hero-anim]{grid-area:a;align-self:center;width:clamp(330px,30vw,420px);--ha-h:min(620px,calc(100svh - var(--nav-h) - 56px))}
@media (max-width:820px){
  .hero-in.anim{grid-template-columns:1fr;grid-template-areas:"e" "t" "a" "l" "c";align-content:start}
  .hero-in.anim h1{font-size:clamp(28px,8vw,40px)}
  .hero-in.anim [data-hero-anim]{width:100%;margin-top:22px;--ha-h:max(380px,calc(100svh - var(--nav-h) - var(--h1h,230px) - 58px))}
  .hero-in.anim .lead{margin-top:28px}
}
@media (max-width:820px){
  .motion .hero.pin{height:auto}
  .motion .hero.pin>.sticky,.hero.pin .sticky{position:static;display:block;height:auto;min-height:0;overflow:visible;padding:0}
  .hero-in.anim{padding-top:calc(var(--nav-h) + 8px);padding-bottom:36px}
}
