@font-face {
  font-family: "Barlow";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/polices/barlow-400-latin-ext.woff2) format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Barlow";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/polices/barlow-400-latin.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Barlow";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/polices/barlow-500-latin-ext.woff2) format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Barlow";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/polices/barlow-500-latin.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Barlow";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/polices/barlow-600-latin-ext.woff2) format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Barlow";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/polices/barlow-600-latin.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Barlow Condensed";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/polices/barlow-condensed-500-latin-ext.woff2) format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Barlow Condensed";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/polices/barlow-condensed-500-latin.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Barlow Condensed";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/polices/barlow-condensed-600-latin-ext.woff2) format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Barlow Condensed";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/polices/barlow-condensed-600-latin.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Barlow Condensed";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/polices/barlow-condensed-700-latin-ext.woff2) format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Barlow Condensed";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/polices/barlow-condensed-700-latin.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

html{scroll-behavior:smooth}
body{margin:0;background:#f7f6f2;color:#0e2240;font-family:'Barlow',system-ui,sans-serif;-webkit-font-smoothing:antialiased}
*{box-sizing:border-box}
:where(a){color:#b8871d;text-decoration:none}
:where(a:hover){color:#d5a332}
:where(input),:where(select),:where(textarea),:where(button){font-family:inherit}

html{scroll-behavior:smooth}
body{margin:0;background:#f7f6f2;color:#0e2240;font-family:'Barlow',system-ui,sans-serif;-webkit-font-smoothing:antialiased}
*{box-sizing:border-box}
:where(a){color:#b8871d;text-decoration:none}
:where(a:hover){color:#d5a332}
:where(summary::-webkit-details-marker){display:none}

/* dkbatiglobal.fr : styles écrits à la main, ajoutés devant les classes compilées des maquettes. */

/* Polices de repli aux métriques proches de Barlow : le texte bouge peu quand elles arrivent. */
@font-face {
  font-family: "Barlow repli";
  src: local("Arial");
  size-adjust: 92%;
  ascent-override: 108%;
  descent-override: 22%;
  line-gap-override: 0%;
}

/* Accessibilité */
.evitement {
  position: absolute; left: 12px; top: -60px; z-index: 1000;
  padding: 10px 16px; border-radius: 4px; background: #0e2240; color: #fff !important;
  font: 600 15px/1.2 "Barlow", "Barlow repli", sans-serif;
}
.evitement:focus { top: 12px; }
:where(a, button, input, textarea, select, summary, [role="button"]):focus-visible { outline: 2px solid #b8871d; outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}

/* Formulaire : piège à robots et message d'état */
.dc-piege { position: absolute !important; left: -10000px !important; width: 1px; height: 1px; overflow: hidden; }
.dc-statut { margin: 0; font-size: 15px; line-height: 1.5; color: #8a5a00; }
.dc-statut:empty { display: none; }
[aria-busy="true"] { opacity: .7; cursor: progress; }

/* Les images reçoivent leurs attributs width et height (place réservée, pas de décalage au
   chargement) ; sans ce réglage, une image que la maquette ne dimensionnait qu'en hauteur prendrait
   la largeur de l'attribut. :where() garde une spécificité nulle : les styles de la maquette gagnent. */
:where(img) { width: auto; height: auto; }

.chm4eqp{min-height:100vh;display:flex;flex-direction:column}
.c3omq0j{position:sticky;top:0;z-index:50;background:rgba(255,255,255,0.96);backdrop-filter:blur(8px);border-bottom:1px solid #e8e4d9}
.c7y8eht{max-width:1240px;margin:0 auto;padding:10px 24px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.c2oompe{display:flex}
.c2tfvqy{height:56px;width:auto;display:block}
.c3mpvfv{display:flex;gap:26px;flex-wrap:wrap;font-family:'Barlow Condensed',sans-serif;font-weight:600;font-size:17px;letter-spacing:0.06em;text-transform:uppercase}
.cgiackp{color:#0e2240}
.cgiackp:hover{color:#d5a332!important}
.c3j1m0w{display:flex;gap:10px;align-items:center}
.c1bg55x{position:relative;background:#0e2240;color:#fff;overflow:hidden}
.c25asy1{color:#d5a332}
.c2ykvc3{margin:0 0 10px;font-family:'Barlow Condensed',sans-serif;font-weight:600;font-size:15px;letter-spacing:0.28em;text-transform:uppercase;color:#b8871d}
.c30x30x{width:100%;height:100%;object-fit:cover;display:block}
.c7c5yaw{color:#0e2240;text-decoration:underline;text-decoration-color:#d5a332;text-decoration-thickness:2px;text-underline-offset:3px;font-weight:600}
.c7c5yaw:hover{color:#b8871d!important}
.c7sn31j{margin:0 0 10px;font-family:'Barlow Condensed',sans-serif;font-weight:600;font-size:15px;letter-spacing:0.28em;text-transform:uppercase;color:#e9c46a}
.c78kyxs{font-size:13px;letter-spacing:0.18em;text-transform:uppercase;color:#8a6514;font-weight:600}
.c1wuu3e{background:#efece4}
.c3scuu9{background:#fff;border-radius:6px;border:1px solid #e2ddd0}
.c4veg8c{margin:0;padding:0 24px 22px;font-size:17px;line-height:1.6;color:#4a5872}
.c50qct7{background:#0e2240;color:#fff;position:relative;overflow:hidden}
.c1x75x2{background:#0a1a33;color:#c6cfdc;border-top:3px solid #d5a332}
.cyvbf9l{max-width:1240px;margin:0 auto;padding:56px 24px 28px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:36px}
.c31mzj0{display:flex;flex-direction:column;gap:14px}
.c166cv2{background:#fff;border-radius:6px;padding:10px 14px;align-self:start}
.c8n5izk{height:52px;display:block}
.c5gb0f0{margin:0;font-size:15px;line-height:1.6}
.c63riis{display:flex;flex-direction:column;gap:10px;font-size:15px}
.c1ez7v3{font-family:'Barlow Condensed',sans-serif;font-weight:700;text-transform:uppercase;font-size:18px;color:#fff;letter-spacing:0.08em}
.c2i56aj{color:#c6cfdc}
.c2i56aj:hover{color:#d5a332!important}
.c63pu1l{color:#e9c46a}
.c4a5527{border-top:1px solid rgba(255,255,255,0.1)}
.c5d33h8{max-width:1240px;margin:0 auto;padding:22px 24px;display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}
.c35ms9d{margin:0;font-family:'Barlow Condensed',sans-serif;font-weight:700;text-transform:uppercase;font-size:20px;letter-spacing:0.08em;color:#fff}
.c1otav3{margin:0;font-size:13px;color:#8693a8}
.c4f3tdl{color:#8693a8;text-decoration:underline}
.c4f3tdl:hover{color:#d5a332!important}
.c7i190u{font-family:'Barlow Condensed',sans-serif;font-weight:700;text-transform:uppercase;font-size:20px;color:#0e2240;letter-spacing:0.02em}
.c1slu2k{background:#d5a332;color:#0e2240;padding:11px 20px;border-radius:4px;font-family:'Barlow Condensed',sans-serif;font-weight:700;text-transform:uppercase;font-size:16px;letter-spacing:0.08em}
.c1slu2k:hover{background:#e9c46a!important;color:#0e2240!important}
.c5ondtk{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0.4}
.c2i4dft{position:absolute;inset:0;background:linear-gradient(90deg,#0a1a33 0%,rgba(10,26,51,0.86) 50%,rgba(10,26,51,0.25) 100%)}
.cysfpn7{position:relative;max-width:1240px;margin:0 auto;padding:clamp(44px,7vw,80px) 24px clamp(64px,9vw,110px)}
.c1y5xwh{font-size:14px;color:#b9c2d0;display:flex;gap:8px;flex-wrap:wrap;margin-bottom:26px}
.c12wcpu{margin:0 0 16px;font-family:'Barlow Condensed',sans-serif;font-weight:600;font-size:15px;letter-spacing:0.28em;text-transform:uppercase;color:#e9c46a}
.c8p1ffu{margin:0;max-width:900px;font-family:'Barlow Condensed',sans-serif;font-weight:700;text-transform:uppercase;font-size:clamp(38px,5.6vw,72px);line-height:0.98;text-wrap:balance}
.c67htf5{width:80px;height:3px;background:#d5a332;margin:26px 0}
.c6uhcyh{margin:0;max-width:640px;font-size:clamp(18px,1.7vw,21px);line-height:1.55;color:#e6e9ef;text-wrap:pretty}
.c30kpfv{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}
.c3850wi{background:#d5a332;color:#0e2240;padding:16px 28px;border-radius:4px;font-family:'Barlow Condensed',sans-serif;font-weight:700;text-transform:uppercase;font-size:18px;letter-spacing:0.08em}
.c3850wi:hover{background:#e9c46a!important;color:#0e2240!important}
.c5gx27t{border:1.5px solid rgba(255,255,255,0.6);color:#fff;padding:15px 26px;border-radius:4px;font-family:'Barlow Condensed',sans-serif;font-weight:700;text-transform:uppercase;font-size:18px;letter-spacing:0.08em}
.c5gx27t:hover{border-color:#d5a332!important;color:#d5a332!important}
.czyljya{max-width:1240px;margin:0 auto;padding:clamp(64px,8vw,100px) 24px 0}
.c15ohqp{margin:0 0 18px;font-family:'Barlow Condensed',sans-serif;font-weight:700;text-transform:uppercase;font-size:clamp(30px,3.8vw,46px);line-height:1.02;text-wrap:balance}
.c4vvr27{list-style:none;margin:30px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:12px}
.c6w2g2z{background:#fff;border:1px solid #e8e4d9;border-radius:6px;padding:18px 20px;display:flex;gap:14px;align-items:center;font-size:17px;font-weight:500}
.c4w36i7{width:26px;height:26px;border-radius:50%;background:#d5a332;color:#0e2240;display:grid;place-items:center;font-size:14px;font-weight:700;flex:none}
.c49a6xh{max-width:1240px;margin:0 auto;padding:clamp(64px,8vw,100px) 24px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:56px;align-items:start}
.c6sbnmv{background:#fff;border:1px solid #e8e4d9;border-left:4px solid #d5a332;border-radius:6px;padding:20px 24px;margin:0 0 22px}
.c6s92me{margin:0 0 10px;font-family:'Barlow Condensed',sans-serif;font-weight:600;font-size:15px;letter-spacing:0.28em;text-transform:uppercase;color:#b8871d;margin-bottom:12px}
.c6klxbe{margin:0;padding-left:22px;font-size:17px;line-height:1.7;color:#4a5872}
.c1b72in{margin:0 0 6px}
.cwlvr0h{margin:0 0 30px}
.c8metnx{margin:0 0 16px;font-family:'Barlow Condensed',sans-serif;font-weight:700;text-transform:uppercase;font-size:clamp(28px,3.2vw,40px);line-height:1.04;text-wrap:balance;color:#0e2240}
.c28ilzx{margin:0 0 16px;font-size:18px;line-height:1.7;color:#4a5872;text-wrap:pretty}
.c740eum{color:#0e2240}
.c3ioo6y{margin:24px 0 10px;font-family:'Barlow Condensed',sans-serif;font-weight:700;text-transform:uppercase;font-size:24px;line-height:1.1;color:#0e2240}
.c5u5r3f{margin:-6px 0 22px;font-size:14px;line-height:1.5;color:#5b6880}
.c82hpsm{overflow-x:auto;margin:0 0 10px;border:1px solid #e8e4d9;border-radius:6px;background:#fff}
.c26unmb{width:100%;border-collapse:collapse;font-size:16px;line-height:1.5;color:#33445f}
.cqr0ssr{text-align:left;background:#0e2240;color:#fff;font-family:'Barlow Condensed',sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:0.04em;font-size:15px;padding:12px 16px}
.c57mhao{text-align:left;font-weight:600;color:#0e2240;padding:12px 16px;border-top:1px solid #e8e4d9}
.c8j7dp5{padding:12px 16px;border-top:1px solid #e8e4d9}
.c1i467u{margin:0 0 18px;padding-left:22px;font-size:18px;line-height:1.7;color:#4a5872}
.c4xs9hh{position:sticky;top:110px;display:flex;flex-direction:column;gap:16px}
.c8gmlxy{aspect-ratio:4/5;border-radius:8px;overflow:hidden;background:#dfe3ea}
.c3v3ang{background:#0e2240;color:#fff;border-radius:8px;padding:24px 24px 26px}
.c19csb7{margin:0 0 8px;font-family:'Barlow Condensed',sans-serif;font-weight:700;text-transform:uppercase;font-size:24px;line-height:1.05}
.c3blqbr{margin:0 0 18px;font-size:16px;line-height:1.55;color:#c6cfdc}
.c56assa{background:#d5a332;color:#0e2240;padding:13px 22px;border-radius:4px;font-family:'Barlow Condensed',sans-serif;font-weight:700;text-transform:uppercase;font-size:17px;letter-spacing:0.08em;display:inline-block}
.c56assa:hover{background:#e9c46a!important;color:#0e2240!important}
.c1tycj7{max-width:900px;margin:0 auto;padding:clamp(64px,8vw,100px) 24px}
.c7mugjp{display:flex;flex-direction:column;gap:10px;margin-top:26px}
.c661wsg{list-style:none;cursor:pointer;padding:20px 24px;display:flex;justify-content:space-between;gap:16px;font-size:18px;font-weight:600}
.c3j393o{color:#b8871d;font-size:24px;line-height:1}
.c28tb3i{max-width:1240px;margin:0 auto;padding:clamp(64px,8vw,100px) 24px}
.c4nawvk{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:12px;margin-top:26px}
.cvfl6ap{background:#fff;border:1px solid #e8e4d9;border-radius:6px;padding:20px 22px;display:flex;flex-direction:column;gap:6px;color:#0e2240}
.cvfl6ap:hover{border-color:#d5a332!important;color:#0e2240!important}
.c21yij5{font-family:'Barlow Condensed',sans-serif;font-weight:700;text-transform:uppercase;font-size:22px;line-height:1.05}
.c4t7ad6{margin-top:40px}
.c8f2sy6{display:flex;flex-wrap:wrap;gap:10px}
.c2gqo0r{border:1px solid #d6d2c6;border-radius:30px;padding:9px 16px;font-size:15px;font-weight:600;color:#0e2240}
.c2gqo0r:hover{border-color:#d5a332!important;color:#b8871d!important}
.c4ht0yv{position:absolute;right:-160px;top:-160px;width:460px;height:460px;border-radius:50%;border:2px solid rgba(213,163,50,0.25)}
.c4qauil{position:relative;max-width:1240px;margin:0 auto;padding:clamp(60px,8vw,96px) 24px;display:flex;justify-content:space-between;align-items:center;gap:32px;flex-wrap:wrap}
.c1k9khr{max-width:640px}
.c558o0o{margin:0;font-family:'Barlow Condensed',sans-serif;font-weight:700;text-transform:uppercase;font-size:clamp(34px,4.6vw,56px);line-height:1}
.cq00217{display:flex;gap:14px;flex-wrap:wrap}
.c7y72o3{background:#d5a332;color:#0e2240;padding:17px 30px;border-radius:4px;font-family:'Barlow Condensed',sans-serif;font-weight:700;text-transform:uppercase;font-size:19px;letter-spacing:0.08em}
.c7y72o3:hover{background:#e9c46a!important;color:#0e2240!important}
.c23s0n3{border:1.5px solid rgba(255,255,255,0.6);color:#fff;padding:16px 28px;border-radius:4px;font-family:'Barlow Condensed',sans-serif;font-weight:700;text-transform:uppercase;font-size:19px;letter-spacing:0.08em}
.c23s0n3:hover{border-color:#d5a332!important;color:#d5a332!important}
.c5s4u97{position:fixed;right:20px;bottom:20px;z-index:60;background:#d5a332;color:#0e2240;padding:14px 22px;border-radius:40px;font-family:'Barlow Condensed',sans-serif;font-weight:700;text-transform:uppercase;font-size:18px;letter-spacing:0.04em;box-shadow:0 10px 30px rgba(10,26,51,0.35)}
.c5s4u97:hover{background:#e9c46a!important;color:#0e2240!important}
.c840sd6{text-align:left;padding:12px 16px;font-weight:600;color:#0e2240;caption-side:top}
.c2aoaft{width:100%;min-width:620px;border-collapse:collapse;font-size:16px;line-height:1.5;color:#33445f}
.c2dnz08{margin:18px 0 0;font-size:15px;color:#b9c2d0}
.c3zy3nm{background:#f7f6f2}
.cetjgmc{max-width:860px;margin:0 auto;padding:clamp(48px,7vw,90px) 24px clamp(64px,8vw,110px)}
.c17r9ef{font-size:14px;color:#6b7891;display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px}
.c3pqe9z{color:#b8871d}
.c2vfiwz{font-family:'Barlow Condensed',sans-serif;font-weight:700;text-transform:uppercase;font-size:clamp(40px,6vw,64px);line-height:0.95;margin:0 0 28px;color:#0e2240}
.c5wp6zv{font-family:'Barlow Condensed',sans-serif;font-weight:700;text-transform:uppercase;font-size:26px;line-height:1.05;margin:40px 0 12px;color:#0e2240}
.c5pjeep{font-size:17px;line-height:1.65;margin:0 0 12px;color:#33445f}
.c6gjqxx{color:#b8871d;text-decoration:underline}
.c6gjqxx:hover{color:#d5a332!important}
/* Écarts d'affichage avec la maquette, chacun avec sa raison. Chargés après les classes compilées. */

/* Les ancres (#devis, #services…) passaient sous l'en-tête collant. */
[id] { scroll-margin-top: 96px; }

/* En-tête sur téléphone : la maquette laissait le menu passer sur plusieurs lignes, l'en-tête
   collant occupait alors près d'un tiers de l'écran. Ici : logo et boutons sur une ligne, menu
   sur une seule ligne défilante en dessous. */
@media (max-width: 760px) {
  header > div { padding: 8px 16px !important; gap: 8px 12px !important; }
  header > div > a:first-child img { height: 42px !important; width: auto !important; }
  header nav[aria-label="Navigation principale"] {
    order: 3; width: 100%; flex-wrap: nowrap !important; gap: 20px !important;
    overflow-x: auto; scrollbar-width: none; font-size: 15px !important; padding-bottom: 2px;
  }
  header nav[aria-label="Navigation principale"]::-webkit-scrollbar { display: none; }
  header nav[aria-label="Navigation principale"] a { white-space: nowrap; }
  header > div > div:last-child > a[href^="tel:"] { display: none !important; }
  [id] { scroll-margin-top: 120px; }
}

/* Bouton d'appel flottant : sur téléphone, il masquait le bas des formulaires et du pied de page. */
@media (max-width: 760px) {
  body > div > a[href^="tel:"][aria-label] { right: 12px !important; bottom: 12px !important; padding: 12px 18px !important; font-size: 16px !important; }
  footer { padding-bottom: 64px; }
}

/* Impression (checklist de ménage) : seul le contenu sort sur papier ou en PDF. */
@media print {
  header, footer, aside, body > div > a[href^="tel:"][aria-label], section[aria-label="Demande de devis"], .evitement { display: none !important; }
  main section[data-screen-label="Hero"] { background: #fff !important; color: #0e2240 !important; }
  main section[data-screen-label="Hero"] img, main section[data-screen-label="Hero"] > div:first-of-type { display: none !important; }
  main section[data-screen-label="Hero"] * { color: #0e2240 !important; }
  details { break-inside: avoid; }
  details > *:not(summary) { display: block !important; }
  a { text-decoration: none !important; }
}

/* Cibles tactiles : sur téléphone, les liens du menu, du fil d'Ariane, du pied de page et les liens
   de fin de carte faisaient 18 px de haut ; 24 px au moins (WCAG 2.2, 2.5.8). min-height ne change
   rien aux boutons, déjà plus hauts. */
@media (pointer: coarse), (max-width: 760px) {
  header nav a, nav[aria-label="Fil d'Ariane"] a, footer a, main div > a, main article > a { min-height: 24px; }
}

/* Liens dans un paragraphe : soulignés, pour ne pas se distinguer par la seule couleur (WCAG 1.4.1). */
main p a, footer p a { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }

/* Menu mobile (hamburger), ajouté par build.mjs (menuMobile) à la demande de Cyril (28/10/2026) :
   sous 760 px, le menu de l'en-tête laisse la place à un bouton qui ouvre un panneau plein écran.
   API popover : un navigateur qui ne la connaît pas garde le menu défilant ci-dessus. */
.menu-bouton, .menu-mobile { display: none; }
@supports selector(:popover-open) {
  @media (max-width: 760px) {
    header nav[aria-label="Navigation principale"] { display: none !important; }
    header > div { flex-wrap: nowrap !important; }
    [id] { scroll-margin-top: 80px; }
    .menu-bouton, .menu-fermer {
      display: inline-flex; align-items: center; justify-content: center; flex: none;
      width: 46px; height: 46px; padding: 0; -webkit-appearance: none; appearance: none;
      border: 1.5px solid #d6d2c6; border-radius: 4px; background: #fff; cursor: pointer;
    }
    .menu-bouton { margin-left: 2px; }
    .menu-bouton svg, .menu-fermer svg { display: block; flex: none; }
    .menu-bouton:hover, .menu-bouton:focus-visible { border-color: #d5a332; }
    html:has(.menu-mobile:popover-open) { overflow: hidden; }
    .menu-mobile:popover-open {
      display: flex; flex-direction: column;
      position: fixed; inset: 0; width: 100%; height: 100%; max-width: none; max-height: none; margin: 0;
      padding: 8px 16px 24px; border: 0; background: #fff; color: #0e2240; overflow-y: auto;
      overscroll-behavior: contain; animation: menu-entree .18s ease-out;
    }
    .menu-mobile::backdrop { background: rgba(10, 26, 51, .45); }
    .menu-mobile-tete { display: flex; align-items: center; justify-content: space-between; min-height: 46px; padding-bottom: 8px; border-bottom: 1px solid #e8e4d9; }
    .menu-mobile-tete img { display: block; height: 42px; width: auto; }
    .menu-mobile nav { display: flex; flex-direction: column; margin-top: 12px; }
    .menu-mobile nav a {
      padding: 16px 0; border-bottom: 1px solid #e8e4d9; color: #0e2240;
      font: 700 28px/1.05 "Barlow Condensed", sans-serif; letter-spacing: .04em; text-transform: uppercase;
    }
    .menu-mobile nav a[aria-current="page"], .menu-mobile nav a:hover { color: #b8871d; }
    .menu-mobile-actions { display: flex; flex-direction: column; gap: 12px; margin-top: auto; padding-top: 28px; }
    .menu-mobile-actions a {
      display: block; padding: 16px 20px; border-radius: 4px; text-align: center;
      font: 700 20px/1.1 "Barlow Condensed", sans-serif; letter-spacing: .08em; text-transform: uppercase;
    }
    .menu-devis { background: #d5a332; color: #0e2240; }
    .menu-tel { border: 1.5px solid #0e2240; color: #0e2240; }
  }
}
@keyframes menu-entree { from { opacity: 0; transform: translateY(-10px); } }
