  /* ---- Polices auto-hébergées (sous-ensemble latin, licence SIL OFL — voir fonts/OFL-*.txt) ----
     Schibsted Grotesk n'existe qu'à partir de la graisse 400 : le fichier 400 sert aussi pour 300. */
  @font-face{font-family:Archivo;font-style:normal;font-weight:500;font-display:swap;src:url("fonts/archivo-500.woff2") format("woff2")}
  @font-face{font-family:Archivo;font-style:normal;font-weight:600;font-display:swap;src:url("fonts/archivo-600.woff2") format("woff2")}
  @font-face{font-family:Archivo;font-style:normal;font-weight:700;font-display:swap;src:url("fonts/archivo-700.woff2") format("woff2")}
  @font-face{font-family:Archivo;font-style:normal;font-weight:800;font-display:swap;src:url("fonts/archivo-800.woff2") format("woff2")}
  @font-face{font-family:'Schibsted Grotesk';font-style:normal;font-weight:300 400;font-display:swap;src:url("fonts/schibsted-grotesk-400.woff2") format("woff2")}
  @font-face{font-family:'Schibsted Grotesk';font-style:normal;font-weight:500;font-display:swap;src:url("fonts/schibsted-grotesk-500.woff2") format("woff2")}
  @font-face{font-family:'Schibsted Grotesk';font-style:normal;font-weight:600;font-display:swap;src:url("fonts/schibsted-grotesk-600.woff2") format("woff2")}
  @font-face{font-family:'Schibsted Grotesk';font-style:italic;font-weight:300 400;font-display:swap;src:url("fonts/schibsted-grotesk-400-italic.woff2") format("woff2")}

  :root{
    --bleu:#AE441C; --bleu-f:#7E2F12; --bleu-pale:#F8F1EA; --bleu-clair:#F0C6AA;
    --encre:#17120F; --blanc:#FFFFFF; --gris:#6F625A; --gris-clair:#B3A69D;
  }
  *{margin:0;padding:0;box-sizing:border-box}
  html{scroll-behavior:smooth;scroll-padding-top:84px}
  body{background:var(--blanc);color:var(--encre);
       font-family:'Schibsted Grotesk',system-ui,sans-serif;font-weight:400;
       font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}
  h1,h2,h3,h4{font-family:Archivo,system-ui,sans-serif;font-weight:800;
              letter-spacing:-.03em;line-height:1.03;text-wrap:balance}
  .wrap{max-width:1240px;margin:0 auto;padding:0 40px}
  a{color:var(--bleu)}

  /* ---- Accessibilité : focus, lien d'évitement, texte masqué ---- */
  :focus-visible{outline:3px solid var(--bleu);outline-offset:3px}
  .hero :focus-visible,.noir :focus-visible,footer :focus-visible,.bande :focus-visible,
  .prix :focus-visible,.clore :focus-visible,.rdv-txt :focus-visible,.contact :focus-visible,
  a.pole:focus-visible,a.sit.n:focus-visible{outline-color:var(--blanc)}
  a.pole:focus-visible,a.sit:focus-visible{outline-offset:-8px}
  main:focus{outline:none}
  .skip{position:absolute;left:-9999px;top:0;z-index:200;background:var(--encre);color:var(--blanc);
        font-family:Archivo,sans-serif;font-weight:600;font-size:14px;padding:12px 18px;text-decoration:none}
  .skip:focus{left:16px;top:16px}
  .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
           clip:rect(0,0,0,0);white-space:nowrap;border:0}
  .etiq{font-family:Archivo,sans-serif;font-weight:600;font-size:12px;
        letter-spacing:.18em;text-transform:uppercase;display:block;margin-bottom:22px;color:var(--bleu)}
  .etiq.inv{color:var(--blanc);opacity:.8}

  .bt{display:inline-block;font-family:Archivo,sans-serif;font-weight:600;font-size:13px;
      letter-spacing:.06em;text-decoration:none;padding:17px 30px;border:2px solid transparent;
      transition:background .2s,color .2s,border-color .2s;cursor:pointer}
  .bt-blanc{background:var(--blanc);color:var(--bleu);border-color:var(--blanc)}
  .bt-blanc:hover{background:transparent;color:var(--blanc)}
  .bt-creux-b{background:transparent;color:var(--blanc);border-color:rgba(255,255,255,.75)}
  .bt-creux-b:hover{background:var(--blanc);color:var(--bleu);border-color:var(--blanc)}
  .bt-bleu{background:var(--bleu);color:var(--blanc);border-color:var(--bleu)}
  .bt-bleu:hover{background:var(--encre);border-color:var(--encre)}

  /* NAV */
  header.nav{position:fixed;top:0;left:0;right:0;z-index:100;background:var(--blanc);
             border-bottom:2px solid var(--encre)}
  .nav-in{display:flex;align-items:stretch;justify-content:space-between;gap:30px}
  .logo{display:flex;align-items:center;font-family:Archivo,sans-serif;font-weight:800;
        font-size:16px;letter-spacing:-.02em;color:var(--encre);padding:18px 0;white-space:nowrap;text-decoration:none}
  .logo b{color:var(--bleu);font-weight:800}
  .mono{display:inline-flex;align-items:center;justify-content:center;background:var(--encre);
        color:var(--blanc);font-family:Archivo,sans-serif;font-weight:800;font-size:12.5px;
        letter-spacing:.06em;width:34px;height:34px;margin-right:12px}
  .logo:hover .mono{background:var(--bleu)}
  .fmono{display:inline-flex;align-items:center;justify-content:center;background:var(--bleu);
         color:var(--blanc);font-family:Archivo,sans-serif;font-weight:800;font-size:19px;
         letter-spacing:.06em;width:56px;height:56px;margin-bottom:18px}
  #menu{display:flex;align-items:stretch}
  #menu ul{list-style:none;display:flex;align-items:stretch;gap:0}
  #menu li{display:flex}
  #menu a{display:flex;align-items:center;padding:0 16px;font-family:Archivo,sans-serif;
        font-weight:500;font-size:12.5px;letter-spacing:.02em;color:var(--encre);
        text-decoration:none;transition:color .2s}
  #menu a:hover{color:var(--bleu)}
  #menu a.cta{background:var(--bleu);color:var(--blanc);padding:0 26px;margin-left:14px}
  #menu a.cta:hover{background:var(--encre);color:var(--blanc)}
  #menu a:focus-visible{outline-offset:-3px}
  .burger{display:none;flex-direction:column;justify-content:center;align-items:center;background:none;border:0;cursor:pointer;padding:0 4px}
  .burger span{display:block;width:26px;height:3px;background:var(--encre);margin:4px 0}

  /* HERO */
  .hero{background:var(--bleu);color:var(--blanc);padding:190px 0 96px}
  .hero h1{font-size:clamp(2.6rem,6.6vw,5.4rem);max-width:17ch}
  .hero h1 span{display:block;color:var(--bleu-clair)}
  .hero h1 .h1-sur{font-size:13px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;
                   line-height:1.4;color:var(--blanc);margin-bottom:22px}
  .hero .rule{height:4px;background:var(--blanc);width:120px;margin:44px 0 32px}
  .hero p{font-size:19px;font-weight:300;line-height:1.65;max-width:56ch;color:rgba(255,255,255,.94)}
  .hero .cta-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:44px}
  .bande{background:var(--encre);color:var(--blanc);padding:22px 0}
  .bande-in{display:flex;flex-wrap:wrap;gap:12px 46px;font-family:Archivo,sans-serif;
            font-weight:500;font-size:12.5px;letter-spacing:.1em;text-transform:uppercase}
  .bande-in span{opacity:.85}
  .bande-in a{color:var(--blanc);text-decoration:none;opacity:.92;padding-bottom:3px;
              border-bottom:2px solid rgba(255,255,255,.28);transition:border-color .15s,opacity .15s}
  .bande-in a:hover,.bande-in a:focus-visible{opacity:1;border-bottom-color:var(--bleu-clair)}

  section{padding:132px 0}
  .pale{background:var(--bleu-pale)}
  .noir{background:var(--encre);color:var(--blanc)}
  .tete{max-width:58ch;margin-bottom:72px}
  .tete h2{font-size:clamp(2rem,4.4vw,3.4rem);max-width:20ch}
  .tete.large h2{max-width:26ch}
  .tete .sous{font-size:18px;font-weight:300;color:var(--gris);margin-top:20px;max-width:52ch}
  .noir h2{color:var(--blanc)}
  .noir .tete .sous{color:#C6B4A8}

  /* CABINET */
  .cab2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:64px;align-items:start}
  .cab2-t h2{font-size:clamp(1.8rem,3.4vw,2.9rem);margin-top:18px;letter-spacing:-.03em;line-height:1.08}
  .cab2-c p{font-weight:300;font-size:17px;line-height:1.78;color:#4E443E;margin-bottom:20px}
  .cab2-c p:last-child{margin-bottom:0}
  .cab2-c strong{color:var(--encre);font-weight:500}

  /* PARCOURS */
  .parcours{display:grid;grid-template-columns:minmax(0,320px) 1fr;gap:64px;align-items:start}
  .reperes{list-style:none;border-top:3px solid var(--bleu)}
  .reperes li{padding:15px 0;border-bottom:1px solid #E1D6CC;font-family:Archivo,sans-serif;
              font-weight:600;font-size:14px;line-height:1.45;letter-spacing:-.01em}
  .reperes li span{display:block;font-family:'Schibsted Grotesk',sans-serif;font-weight:300;
                   font-size:13px;color:var(--gris);letter-spacing:0;margin-top:3px}
  .recit p{font-size:17.5px;font-weight:300;line-height:1.75;color:#3A322D;margin-bottom:20px;max-width:62ch}
  .recit p:last-child{margin-bottom:0}
  .recit strong{font-weight:500;color:var(--encre)}
  .gesica{margin-top:46px;background:var(--bleu-pale);border-left:6px solid var(--bleu);padding:30px 34px}
  .gesica h3{font-size:1.25rem;margin-bottom:10px}
  .gesica p{font-size:15.5px;font-weight:300;line-height:1.7;color:#4E443E;max-width:62ch}

  /* PILIERS */
  .piliers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 56px}
  .pil{background:var(--blanc);padding:40px 34px 38px;border-top:6px solid var(--bleu)}
  .pil .n{font-family:Archivo,sans-serif;font-weight:800;font-size:54px;line-height:.9;
          color:var(--bleu);letter-spacing:-.04em}
  .pil h3{font-size:1.5rem;margin:22px 0 14px}
  .pil p{font-weight:300;font-size:15.5px;line-height:1.7;color:#4E443E}

  /* ETAPES */
  .etapes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;background:rgba(255,255,255,.22)}
  .et{background:var(--encre);padding:34px 28px 34px}
  .et .n{font-family:Archivo,sans-serif;font-weight:800;font-size:15px;color:var(--bleu-clair);
         letter-spacing:.04em}
  .et h3{font-size:1.32rem;margin:16px 0 12px;color:var(--blanc)}
  .et p{font-weight:300;font-size:15px;line-height:1.7;color:#C1B0A4}

  /* SITUATIONS */
  .sits{display:grid;grid-template-columns:1fr 1fr;gap:2px}
  .sit{padding:44px 40px 46px}
  .sit.b{background:var(--bleu-pale);color:var(--encre)}
  .sit.n{background:var(--encre);color:var(--blanc)}
  .sit .rn{font-family:Archivo,sans-serif;font-weight:800;font-size:13px;letter-spacing:.14em;opacity:.72}
  .sit h3{font-size:1.85rem;margin:14px 0 24px}
  .sit ul{list-style:none}
  .sit.b .rn{color:var(--bleu);opacity:1}
  .sit li{font-weight:300;font-size:16px;line-height:1.6;padding-left:22px;position:relative;
          margin-bottom:15px;color:rgba(255,255,255,.9)}
  .sit.b li{color:#4E443E}
  .sit.b li::before{background:var(--bleu);opacity:1}
  .sit li::before{content:"";position:absolute;left:0;top:11px;width:11px;height:2px;
                  background:currentColor;opacity:.55}
  .clore{margin-top:2px;background:var(--bleu);color:var(--blanc);padding:46px 40px;display:flex;
         flex-wrap:wrap;align-items:center;justify-content:space-between;gap:28px}
  .clore h3{font-size:1.65rem;max-width:22ch;color:var(--blanc)}
  .clore p{font-weight:300;color:rgba(255,255,255,.88);margin-top:10px;max-width:46ch}

  /* POLES */
  .poles{display:grid;grid-template-columns:1fr 1fr;gap:2px}
  .pole{padding:48px 42px 46px;color:var(--blanc)}
  .pole.b{background:var(--bleu)}
  .pole.n{background:var(--encre)}
  .pole .rn{font-family:Archivo,sans-serif;font-weight:800;font-size:13px;letter-spacing:.14em;
            opacity:.72}
  .pole h3{font-size:1.85rem;margin:14px 0 8px}
  .pole .sous{font-family:Archivo,sans-serif;font-weight:500;font-size:12px;letter-spacing:.12em;
              text-transform:uppercase;opacity:.7;margin-bottom:26px}
  .pole ul{list-style:none}
  .pole li{font-weight:300;font-size:15.5px;line-height:1.62;padding-left:20px;position:relative;
           margin-bottom:11px;color:rgba(255,255,255,.86)}
  .pole.b .rn,.pole.b .sous{opacity:.95}
  .pole li::before{content:"";position:absolute;left:0;top:10px;width:9px;height:2px;background:currentColor;opacity:.6}
  .jur{margin-top:2px;background:var(--bleu-pale);padding:46px 42px;
       display:grid;grid-template-columns:minmax(0,270px) 1fr;gap:40px}
  .jur h3{font-size:1.55rem}
  .jur p{font-weight:300;font-size:16px;line-height:1.72;color:#4E443E}
  .jur p+p{margin-top:14px}

  /* EQUIPE */
  .equipe{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px}
  .mb{background:var(--blanc)}
  .mb .ph{background:var(--bleu);aspect-ratio:1;overflow:hidden}
  .mb .ph picture{display:block;width:100%;height:100%}
  .mb .ph img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 26%}
  .mb .inf{padding:24px 22px 30px;border-top:5px solid var(--bleu)}
  .mb h3{font-size:1.32rem;margin-bottom:5px}
  .mb .role{font-family:Archivo,sans-serif;font-weight:600;font-size:12px;letter-spacing:.1em;
            text-transform:uppercase;color:var(--bleu);margin-bottom:14px}
  .mb p{font-weight:300;font-size:14.5px;line-height:1.66;color:#4E443E}

  /* HONORAIRES */
  .hono{display:grid;grid-template-columns:minmax(0,380px) 1fr;gap:2px;align-items:stretch}
  .prix{background:var(--bleu);color:var(--blanc);padding:44px 38px}
  .prix .k{font-family:Archivo,sans-serif;font-weight:600;font-size:12px;letter-spacing:.14em;
           text-transform:uppercase;opacity:.95}
  .prix .m{font-family:Archivo,sans-serif;font-weight:800;font-size:3.5rem;letter-spacing:-.04em;
           line-height:1;margin:16px 0 6px}
  .prix .d{font-family:Archivo,sans-serif;font-weight:600;font-size:13px;margin-bottom:24px;color:var(--blanc)}
  .prix p{font-weight:300;font-size:15px;line-height:1.7;color:rgba(255,255,255,.88)}
  .prix p+p{margin-top:14px}
  .prix p.prix-cta{margin-top:24px}
  .modes{background:var(--bleu-pale);padding:12px 38px 14px}
  .mode{display:grid;grid-template-columns:52px 1fr;gap:18px;padding:24px 0;border-bottom:1px solid #E7D9CD}
  .mode:last-child{border-bottom:none}
  .mode .rn{font-family:Archivo,sans-serif;font-weight:800;font-size:18px;color:var(--bleu)}
  .mode h3{font-size:1.2rem;margin-bottom:6px}
  .mode p{font-weight:300;font-size:15px;line-height:1.7;color:#4E443E}

  .clos-eq{margin-top:64px;padding-top:34px;border-top:2px solid var(--encre);max-width:64ch;
           font-weight:300;font-size:18px;line-height:1.72;color:#4E443E}
  .clos-eq strong{display:block;margin-top:18px;font-family:Archivo,sans-serif;font-weight:800;
                  font-size:clamp(1.3rem,2.4vw,1.75rem);letter-spacing:-.025em;line-height:1.18;
                  color:var(--encre);max-width:24ch}

  .bandeau-photo{position:relative;margin:0;line-height:0;background:var(--encre)}
  .bandeau-photo picture{display:block}
  .bandeau-photo img{width:100%;height:clamp(300px,42vw,620px);object-fit:cover;object-position:center 42%;display:block}
  .bandeau-photo figcaption{position:absolute;left:0;right:0;bottom:0;padding:70px 40px 30px;
      background:linear-gradient(to top,rgba(23,18,15,.82),rgba(23,18,15,0));
      font-family:Archivo,sans-serif;font-weight:600;font-size:clamp(.95rem,1.7vw,1.22rem);
      line-height:1.4;letter-spacing:-.015em;color:var(--blanc);max-width:1240px;margin:0 auto}
  @media(max-width:920px){.bandeau-photo figcaption{padding:56px 22px 22px}}

  /* EPIGRAPHES */
  .epig{margin:0 0 30px;font-weight:300;font-style:italic;font-size:15.5px;line-height:1.62;
        color:#4E443E;border-left:2px solid var(--bleu);padding-left:17px;max-width:48ch}
  .epig span{display:block;font-family:Archivo,sans-serif;font-style:normal;font-weight:600;font-size:12px;
             letter-spacing:.14em;text-transform:uppercase;color:var(--bleu);margin-top:9px}
  .epig.inv{color:rgba(255,255,255,.92);border-left-color:rgba(255,255,255,.45)}
  .epig.inv span{color:rgba(255,255,255,.7)}
  .pole .epig{margin:18px 0 24px;font-size:15px}
  .pole.b .epig span{color:rgba(255,255,255,.95)}
  .epig span[lang],.epig.inv span[lang],.pole.b .epig span[lang]{display:inline;font:inherit;letter-spacing:inherit;text-transform:none;color:inherit;margin:0}
  .fcitation{font-weight:300;font-style:italic;font-size:14.5px;line-height:1.6;color:var(--gris-clair);
             max-width:52ch;margin-bottom:34px}
  .fcitation span{display:block;font-family:Archivo,sans-serif;font-style:normal;font-weight:600;
                  font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--bleu-clair);margin-top:8px}

  /* RENDEZ-VOUS */
  .rdv{display:grid;grid-template-columns:minmax(0,430px) 1fr;gap:2px;align-items:stretch;background:var(--encre)}
  .rdv-txt{background:var(--encre);color:var(--blanc);padding:44px 38px}
  .rdv-prix{border-bottom:1px solid rgba(255,255,255,.18);padding-bottom:26px;margin-bottom:28px}
  .rdv-prix .k{display:block;font-family:Archivo,sans-serif;font-weight:600;font-size:12px;
               letter-spacing:.14em;text-transform:uppercase;color:var(--bleu-clair)}
  .rdv-prix .m{display:block;font-family:Archivo,sans-serif;font-weight:800;font-size:3.2rem;
               letter-spacing:-.04em;line-height:1;margin:14px 0 8px}
  .rdv-prix .d{display:block;font-weight:300;font-size:15px;line-height:1.6;color:rgba(255,255,255,.82)}
  .rdv-etapes{list-style:none;display:grid;gap:22px}
  .rdv-etapes li{display:grid;grid-template-columns:34px 1fr;gap:16px;align-items:start}
  .rdv-etapes .rn{font-family:Archivo,sans-serif;font-weight:800;font-size:17px;color:var(--bleu-clair);padding-top:2px}
  .rdv-etapes h3{font-family:Archivo,sans-serif;font-weight:700;font-size:1.05rem;color:var(--blanc);margin-bottom:5px}
  .rdv-etapes p{font-weight:300;font-size:14.5px;line-height:1.66;color:rgba(255,255,255,.8)}
  .rdv-note{margin-top:28px;padding-top:22px;border-top:1px solid rgba(255,255,255,.18);
            font-weight:300;font-size:13.5px;line-height:1.72;color:var(--gris-clair)}
  .rdv-note a{color:var(--bleu-clair);text-decoration:underline;text-underline-offset:3px}
  .rdv-widget{background:var(--blanc);min-height:680px;position:relative}
  #calendly{display:none;min-width:0;width:100%;height:680px}
  #calendly.visible{display:block}
  #calendly:focus{outline:none}
  .rdv-repli{display:none;padding:0 38px 26px;font-weight:300;font-size:13.5px;text-align:center}
  .rdv-repli.visible{display:block}
  .rdv-repli a{color:var(--gris);text-decoration:underline;text-underline-offset:3px}
  .rdv-repli a:hover{color:var(--bleu)}
  .rdv-secours{min-height:680px;padding:56px 38px;display:flex;flex-direction:column;
               align-items:center;justify-content:center;text-align:center;gap:20px}
  .rdv-secours.cache{display:none}
  .rdv-js{display:none}
  .js p.rdv-js{display:block}
  .js .bt.rdv-js{display:inline-block}
  .bt:disabled{opacity:.6;cursor:wait}
  .rdv-lien{font-weight:500;font-size:15px;color:var(--bleu);text-decoration:underline;text-underline-offset:3px}
  .rdv-lien:hover{color:var(--encre)}
  .rdv-secours h3{font-family:Archivo,sans-serif;font-weight:800;font-size:clamp(1.5rem,3vw,2.1rem);
                  letter-spacing:-.03em;max-width:18ch}
  .rdv-secours p{font-weight:300;font-size:15.5px;line-height:1.72;color:#4E443E;max-width:46ch}
  .rdv-secours .rdv-mini{font-size:13px;color:var(--gris);max-width:40ch}

  /* CONTACT */
  .contact{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:70px}
  .h2-contact{font-size:clamp(2rem,4vw,3rem);color:var(--blanc);margin-bottom:34px}
  .lg{display:grid;grid-template-columns:minmax(0,110px) minmax(0,1fr);gap:18px;padding:16px 0;
      border-bottom:1px solid rgba(255,255,255,.15)}
  .lg.lg-der{border-bottom:none}
  .lg .k{font-family:Archivo,sans-serif;font-weight:600;font-size:12px;letter-spacing:.12em;
         text-transform:uppercase;color:var(--bleu-clair);padding-top:4px}
  .lg .v{font-weight:300;font-size:16.5px;line-height:1.55;overflow-wrap:anywhere}
  .lg .v a{color:var(--blanc);text-decoration:underline;text-underline-offset:3px}
  .lg .v .f{color:var(--gris-clair)}
  form{display:flex;flex-direction:column;gap:14px}
  form label{font-family:Archivo,sans-serif;font-weight:600;font-size:12px;letter-spacing:.12em;
             text-transform:uppercase;color:var(--bleu-clair);margin-bottom:-8px}
  form input,form textarea{font-family:'Schibsted Grotesk',sans-serif;font-size:16px;font-weight:300;
       padding:14px 16px;border:2px solid rgba(255,255,255,.5);background:transparent;color:var(--blanc)}
  form input::placeholder,form textarea::placeholder{color:var(--gris-clair)}
  form input:focus,form textarea:focus{border-color:var(--bleu-clair)}
  form input:focus-visible,form textarea:focus-visible{outline:3px solid var(--blanc);outline-offset:2px}
  .rgpd{font-size:13.5px;font-weight:300;line-height:1.6;color:var(--gris-clair)}
  .rgpd a,.envoi-erreur a{color:var(--bleu-clair);text-decoration:underline;text-underline-offset:3px}
  .form-legende{font-size:13.5px;font-weight:300;color:var(--gris-clair)}
  .req{color:var(--bleu-clair)}
  .hp{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
  form .bt{align-self:flex-start}
  .envoye,.envoi-erreur{display:none;font-family:Archivo,sans-serif;font-weight:600;font-size:14px;line-height:1.55;
          padding:12px 16px;border-left:4px solid var(--bleu-clair);background:rgba(255,255,255,.06)}
  .envoye{color:var(--bleu-clair)}
  .envoi-erreur{color:var(--blanc);border-left-color:#FF8A65}
  .envoye.visible,.envoi-erreur.visible{display:block}

  /* LEGAL */
  .legal{max-width:950px}
  .h2-legal{font-size:clamp(1.7rem,3.2vw,2.4rem);margin-bottom:14px}
  .legal .intro{font-weight:300;color:#4E443E;margin-bottom:34px;max-width:70ch}
  .legal details{border-bottom:1px solid #E7D9CD}
  .legal summary{list-style:none;cursor:pointer;position:relative;padding:20px 52px 20px 0;
                 font-family:Archivo,sans-serif;font-weight:700;font-size:1.12rem}
  .legal summary::-webkit-details-marker{display:none}
  .legal summary::after{content:"";position:absolute;right:10px;top:50%;width:16px;height:3px;
                        background:var(--bleu);transform:translateY(-50%)}
  .legal summary::before{content:"";position:absolute;right:16.5px;top:50%;width:3px;height:16px;
                         background:var(--bleu);transform:translateY(-50%)}
  .legal details[open] summary::before{opacity:0}
  .legal summary:focus-visible{outline:3px solid var(--bleu);outline-offset:3px}
  .legal .corps{padding-bottom:30px;font-weight:300;font-size:15.5px;line-height:1.74;color:#4E443E}
  .legal .corps p+p{margin-top:12px}
  .legal .corps h3{font-family:Archivo,sans-serif;font-weight:700;font-size:12px;letter-spacing:.12em;
                   text-transform:uppercase;color:var(--bleu);margin:24px 0 9px}
  .todo{background:var(--bleu);color:var(--blanc);padding:1px 7px;font-weight:400;font-size:13.5px}

  footer{background:var(--encre);color:var(--gris-clair);padding:64px 0 36px}
  .fx{display:flex;justify-content:space-between;flex-wrap:wrap;gap:44px;
      padding-bottom:38px;border-bottom:1px solid rgba(255,255,255,.14)}
  .fmarque .n{font-family:Archivo,sans-serif;font-weight:800;font-size:1.4rem;color:var(--blanc);letter-spacing:-.02em}
  .fmarque .n .fpoint{color:var(--bleu-clair)}
  .fmarque .s{font-family:Archivo,sans-serif;font-weight:500;font-size:12px;letter-spacing:.12em;
              text-transform:uppercase;color:var(--bleu-clair);margin-top:10px}
  .fcols{display:flex;gap:56px;flex-wrap:wrap}
  .fcol a,.fcol p{display:block;color:var(--gris-clair);text-decoration:none;font-size:14.5px;
                  font-weight:300;margin-bottom:8px}
  .fcol .fcol-t{font-family:Archivo,sans-serif;font-weight:700;font-size:12px;letter-spacing:.12em;
                text-transform:uppercase;color:var(--bleu-clair);margin-bottom:14px}
  .fcol a:hover{color:var(--blanc)}
  .fbas{padding-top:26px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;
        font-size:13px;font-weight:300;color:var(--gris-clair)}

  @media(max-width:1100px){#menu a{padding:0 11px;font-size:12px}}
  @media(max-width:920px){
    .wrap{padding:0 22px}
    html:not(.js) header.nav{position:static}
    html:not(.js) .hero,html:not(.js) .hero-page{padding-top:64px}
    html:not(.js) .nav-in{flex-wrap:wrap;gap:0 30px}
    html:not(.js) #menu ul{flex-wrap:wrap}
    html:not(.js) #menu a{padding:10px 11px}
    html:not(.js) #menu a.cta{margin-left:0}
    .js #menu ul{display:none}
    .js .burger{display:flex}
    .js #menu.open ul{display:flex;position:absolute;top:100%;left:0;right:0;flex-direction:column;
                background:var(--blanc);border-bottom:2px solid var(--encre)}
    .js #menu.open li{display:block}
    .js #menu.open a{padding:15px 22px}
    .js #menu.open a.cta{margin:0}
    .cab2,.poles,.hono,.contact,.jur,.rdv,.parcours,.sits{grid-template-columns:1fr}
    .cab2{gap:30px}
    .parcours{gap:40px}
    .rdv-widget,.rdv-secours,#calendly{min-height:0}
    .rdv-secours{padding:46px 24px}
    #calendly{height:620px}
    .piliers,.etapes,.equipe{grid-template-columns:1fr 1fr}
    .hero{padding:150px 0 72px}
    section{padding:72px 0}
  }
  @media(max-width:600px){
    .piliers,.etapes,.equipe{grid-template-columns:1fr}
    .lg{grid-template-columns:minmax(0,1fr);gap:4px}
  }
  @media(prefers-reduced-motion:reduce){
    html{scroll-behavior:auto}
    *,*::before,*::after{transition:none !important;animation:none !important;scroll-behavior:auto !important}
  }

  /* ---- pages de pôle ---- */
  .hero-page{padding:170px 0 86px}
  .hero-page h1{font-size:clamp(2.2rem,5vw,4rem);max-width:19ch}
  .fil{font-family:Archivo,sans-serif;font-weight:600;font-size:12px;letter-spacing:.14em;
       text-transform:uppercase;color:var(--blanc);margin-bottom:26px}
  .fil a{color:var(--blanc);text-decoration:none;border-bottom:1px solid rgba(255,255,255,.6)}
  .fil a:hover{border-bottom-color:var(--blanc)}
  .fil .sep{margin:0 10px;opacity:.75}
  .bande-in a.ici{border-bottom-color:var(--bleu-clair);opacity:1}
  .liste2{list-style:none;columns:2;column-gap:60px}
  .liste2 li{break-inside:avoid;font-weight:300;font-size:16.5px;line-height:1.62;
             padding:0 0 18px 24px;position:relative}
  .liste2 li::before{content:"";position:absolute;left:0;top:11px;width:12px;height:2px;
                     background:var(--bleu)}
  .matieres li{font-size:16px}
  .jur-inv h3{color:var(--blanc)}
  .jur-inv p{color:rgba(255,255,255,.85)}
  .jur .jur-note{color:var(--gris)}
  .jur-inv .jur-note{color:var(--gris-clair)}
  .methode-cta{margin-top:38px}
  .autres{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;
          background:var(--encre)}
  .autres .titre{background:var(--encre);color:var(--bleu-clair);font-family:Archivo,sans-serif;
                 font-weight:600;font-size:12px;letter-spacing:.14em;text-transform:uppercase;
                 padding:26px 24px;display:flex;align-items:flex-end}
  .autres li a{display:block;background:var(--bleu-pale);color:var(--encre);text-decoration:none;
               padding:26px 24px;height:100%;font-family:Archivo,sans-serif;font-weight:700;
               font-size:1.12rem;letter-spacing:-.02em;transition:background .15s,color .15s}
  .autres li a span{display:block;font-weight:600;font-size:12px;letter-spacing:.14em;
                    text-transform:uppercase;color:var(--bleu);margin-bottom:8px}
  .autres li a:hover{background:var(--bleu);color:var(--blanc)}
  .autres li a:hover span{color:rgba(255,255,255,.8)}
  a.pole,a.sit{text-decoration:none;display:block}
  .plus{display:inline-block;margin-top:22px;font-family:Archivo,sans-serif;font-weight:600;
        font-size:12px;letter-spacing:.12em;text-transform:uppercase;
        border-bottom:2px solid currentColor;padding-bottom:4px}
  a.pole.b:hover,a.sit.b:hover{background:var(--bleu-f)}
  a.pole.n:hover,a.sit.n:hover{background:#000}
  a.sit.b:hover{background:#F0E4D8}
  @media(max-width:920px){
    .liste2{columns:1}
    .autres{grid-template-columns:1fr 1fr}
    .hero-page{padding:140px 0 64px}
  }
  @media(max-width:600px){.autres{grid-template-columns:1fr}}

  /* ---- page 404 ---- */
  .introuvable .liens404{list-style:none;display:flex;flex-wrap:wrap;gap:14px;margin-top:44px}
