/* ECB V0.4.0 — Responsive consolidation */

/* --- Menu responsive robuste --- */
.nav-toggle{position:relative;z-index:110;min-width:72px;text-align:center}
@media (max-width:1050px){
  .site-header{z-index:100}
  .brand{position:relative;z-index:110}
  .main-nav{
    position:fixed!important;
    inset:0!important;
    z-index:105!important;
    display:none!important;
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    gap:4px!important;
    margin:0!important;
    padding:126px 26px 38px!important;
    background:rgba(8,9,10,.995)!important;
    backdrop-filter:blur(18px)!important;
    overflow-y:auto!important;
    font-size:1.25rem!important;
  }
  .main-nav.open{display:flex!important}
  .main-nav a:not(.btn){padding:14px 4px!important;border-bottom:1px solid rgba(255,255,255,.10)}
  .main-nav a:not(.btn)::after{display:none!important}
  .main-nav .btn{width:100%!important;margin-top:14px;padding:1rem 1.15rem!important}
  body.no-scroll{overflow:hidden!important;touch-action:none}
}

/* --- Tablette : V stable, contenu toujours sous sa pointe --- */
@media (min-width:761px) and (max-width:1050px){
  .home-hero-v03{--v-depth:34vw;min-height:auto!important;padding-bottom:0!important}
  .hero-v03-shape{height:var(--v-depth)!important;width:100%!important}
  .hero-v03-content{
    min-height:0!important;
    padding-top:calc(var(--v-depth) + 48px)!important;
    padding-bottom:58px!important;
    align-items:flex-start!important;
  }
  .hero-v03-copy{transform:none!important}
  .hero-phoenix-shell{right:2%!important;bottom:6%!important;width:35vw!important;height:44vw!important;opacity:.12!important}
}

/* --- Mobile : V avec ratio constant et aucune superposition du contenu --- */
@media (max-width:760px){
  .container{width:min(100% - 24px,var(--max))!important}
  .preview{font-size:.57rem!important;line-height:1.2!important;padding:.38rem .3rem!important;white-space:normal!important}
  .header-inner{height:76px!important}
  .brand{height:66px!important;flex:0 0 62px!important;width:auto!important}
  .brand img{height:62px!important;max-width:64px!important;width:auto!important}
  .nav-toggle{display:block!important;background:#101114!important;padding:.62rem .72rem!important;border-color:rgba(255,255,255,.18)!important}
  .main-nav{padding:112px 22px 34px!important;font-size:1.18rem!important}

  .home-hero-v03{
    --v-depth:54vw;
    min-height:0!important;
    height:auto!important;
    overflow:hidden!important;
    padding:0!important;
  }
  .hero-v03-shape{
    top:0!important;
    left:0!important;
    width:100%!important;
    height:var(--v-depth)!important;
  }
  .v03-gold{stroke-width:10!important}
  .hero-v03-content{
    min-height:0!important;
    padding-top:calc(var(--v-depth) + 38px)!important;
    padding-bottom:32px!important;
    align-items:flex-start!important;
  }
  .hero-v03-copy{transform:none!important;max-width:none!important;width:100%!important}
  .hero-v03-copy .eyebrow{margin-bottom:.7rem!important}
  .hero-title{
    font-size:clamp(3.35rem,15.4vw,4.15rem)!important;
    line-height:.78!important;
    margin:.3rem 0 1rem!important;
  }
  .hero-v03-copy>p{max-width:100%!important;font-size:1rem!important;line-height:1.55!important}
  .home-hero-v03 .hero-actions{display:grid!important;grid-template-columns:1fr!important;gap:12px!important;margin-top:24px!important}
  .home-hero-v03 .hero-actions .btn{width:100%!important;min-height:52px!important}

  /* Sur mobile le logo mascotte devient un bloc de fin de hero, sans chevaucher titre/CTA */
  .hero-phoenix-shell{
    position:relative!important;
    inset:auto!important;
    width:58%!important;
    height:245px!important;
    margin:-12px 10px 22px auto!important;
    opacity:.105!important;
    overflow:visible!important;
  }
  .hero-phoenix-shell .hero-phoenix{
    width:100%!important;height:100%!important;object-fit:contain!important;object-position:center bottom!important
  }

  .benefit-cards-v03{grid-template-columns:1fr!important}
  .benefit-card-v03{min-height:auto!important;grid-template-columns:58px 1fr!important;padding:21px 18px!important}
  .audience-grid{grid-template-columns:1fr!important}
  .master-v03 .profile{grid-template-columns:1fr!important;gap:30px!important}
  .master-v03 .profile-image{min-height:430px!important;max-width:none!important}
  .competition-head-v031{grid-template-columns:1fr!important;gap:18px!important}
  .paths-v031{grid-template-columns:1fr!important;gap:14px!important}
  .path-center-v031{min-height:72px!important}
  .path-center-v031::before,.path-center-v031::after{display:none!important}
  .path-center-v031 span{width:auto!important;height:auto!important;padding:.65rem 1rem!important;border-radius:999px!important}
  .event-v03{padding:36px 22px!important;min-height:520px!important}
  .event-phoenix{width:115%!important;right:-55%!important;top:5%!important;opacity:.12!important}
  .trial-v03-inner{grid-template-columns:1fr!important;gap:28px!important}
  .schedule{grid-template-columns:1fr!important}
  .location{grid-template-columns:1fr!important}
}

/* ECB V0.4.5 — information RGPD formulaire */
.form-privacy-note{margin:0;padding:14px 16px;border-left:3px solid var(--gold,#d7aa4a);background:rgba(215,170,74,.08);font-size:.88rem;line-height:1.55;color:inherit;}
.form-privacy-note a{text-decoration:underline;text-underline-offset:2px;}
