/* V5 : menu complet visible dès 1080 px (point 18 du retour du 19/10 : Presse dans le menu principal ; sous 1320 px
   la V4 repliait tout sous « Menu »). Copie du menu commun, typographie Albert Sans, seuil abaissé.
   Menu principal, partagé par V3 et V4 (master V3, section 4) : huit entrées, sous-menus, bouton « Parlons de votre projet ».
   Le <nav> est toujours dans la page. Ordinateur : sous-menus au survol et au clavier (focus-within).
   Téléphone et petites largeurs : bouton Menu et chevrons, par cases à cocher (aucun JavaScript nécessaire). */
.entete{display:flex;align-items:center;gap:16px}
.menu-case,.sous-case{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);opacity:0}
.sous-case{display:none}
.menu-bouton,.sous-bouton{display:none}
.nav{display:flex;align-items:center;gap:clamp(8px,1vw,18px);margin-left:auto}
.nav-liste{display:flex;align-items:center;gap:0}
.nav-item{position:relative}
.nav-top{display:inline-block;padding:10px clamp(5px,.6vw,11px);font-size:clamp(13px,.95vw,15px);font-weight:600;letter-spacing:.01em;color:var(--encre-2);text-decoration:none;border-radius:999px;white-space:nowrap;transition:background .25s,color .25s}
.nav-top:hover,.nav-item:focus-within > .nav-top,.nav-top[aria-current]{background:var(--champagne);color:var(--racine)}
.nav-cta{padding:12px clamp(14px,1.2vw,22px);font-size:clamp(13px,.95vw,15px);white-space:nowrap}
.nav-cta::before{display:none}
.sous{position:absolute;left:0;top:100%;min-width:300px;max-width:min(380px,90vw);background:var(--blanc-chaud);border:1px solid var(--champagne);border-radius:12px;padding:8px;box-shadow:0 24px 60px -24px rgba(75,51,43,.35);visibility:hidden;opacity:0;transform:translateY(6px);transition:opacity .2s,transform .2s,visibility .2s;z-index:60}
.nav-item:hover > .sous,.nav-item:focus-within > .sous{visibility:visible;opacity:1;transform:none}
.nav-item:nth-last-child(-n+3) .sous{left:auto;right:0}
.sous a{display:block;padding:9px 12px;border-radius:8px;font-size:.9rem;font-weight:500;color:var(--encre-2);text-decoration:none;line-height:1.3}
.sous a:hover,.sous a:focus-visible{background:var(--champagne);color:var(--racine)}
.sous small{font-size:.7em;letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--trait);padding:1px 6px;border-radius:999px;color:var(--encre-3);vertical-align:middle;margin-left:4px;white-space:nowrap}
.sous .nouvelle a{color:var(--encre-3)}
.menu-barres{width:22px;height:2px;background:var(--racine);position:relative;display:inline-block;border-radius:2px}
.menu-barres::before,.menu-barres::after{content:"";position:absolute;left:0;right:0;height:2px;background:var(--racine);border-radius:2px}
.menu-barres::before{top:-7px}.menu-barres::after{top:7px}

@media (max-width:1079px){
  .menu-bouton{display:inline-flex;align-items:center;gap:12px;margin-left:auto;cursor:pointer;font-weight:600;font-size:.95em;padding:10px 6px;color:var(--racine)}
  .menu-case:focus-visible + .menu-bouton{outline:2px solid var(--braise);outline-offset:3px;border-radius:6px}
  .nav{display:none;position:absolute;top:100%;left:0;right:0;margin:0;flex-direction:column;align-items:stretch;gap:12px;background:var(--blanc-chaud);border-bottom:1px solid var(--champagne);padding:10px var(--marge) 22px;max-height:calc(100vh - 80px);max-height:calc(100dvh - 80px);overflow-y:auto;box-shadow:0 24px 50px -30px rgba(75,51,43,.4)}
  .menu-case:checked ~ .nav{display:flex}
  .nav-liste{flex-direction:column;align-items:stretch}
  .nav-item{display:grid;grid-template-columns:1fr auto;border-bottom:1px solid var(--champagne)}
  .nav-top{font-size:1.05rem;padding:14px 4px;border-radius:0;background:none!important}
  .sous-case{display:block}
  .sous-bouton{display:grid;place-items:center;width:48px;cursor:pointer}
  .sous-bouton::before{content:"";width:9px;height:9px;border-right:2px solid var(--racine);border-bottom:2px solid var(--racine);transform:rotate(45deg) translateY(-2px);transition:transform .25s}
  .sous-case:checked + .sous-bouton::before{transform:rotate(-135deg) translateY(-2px)}
  .sous-case:focus-visible + .sous-bouton{outline:2px solid var(--braise);outline-offset:-2px;border-radius:6px}
  .sous{position:static;grid-column:1/-1;display:none;min-width:0;max-width:none;background:none;border:0;box-shadow:none;padding:0 0 10px 12px;visibility:visible;opacity:1;transform:none}
  .sous-case:checked ~ .sous{display:block}
  .nav-item:nth-last-child(-n+3) .sous{right:auto}
  .nav-cta{align-self:stretch;text-align:center;padding:15px 20px;font-size:1rem}
}
@media (prefers-reduced-motion:reduce){.sous,.sous-bouton::before{transition:none!important}}
