
  * { box-sizing: border-box; }
  html { scroll-behavior: smooth; }
  html, body { margin: 0; padding: 0; background: var(--surface-page); }
  #root { min-height: 100vh; }

  /* Entrance + draw animations */
  @keyframes wu-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
  .wu-rev-track:hover { animation-play-state: paused; }
  @media (prefers-reduced-motion: reduce) { .wu-rev-track { animation: none !important; } }
  @keyframes wu-fade-in { from { opacity: 0; transform: translateY(22px); } to { opacity: 1; transform: none; } }
  .wu-fade { opacity: 0; animation: wu-fade-in .7s var(--ease-out) both; animation-delay: var(--d, 0ms); }
  @keyframes wu-draw { to { stroke-dashoffset: 0; } }
  .wu-chartline { stroke-dasharray: 620; stroke-dashoffset: 620; animation: wu-draw 1.7s var(--ease-out) .35s forwards; }

  /* Responsive */
  @media (max-width: 1024px) {
    .wu-hero-grid, .wu-proof-grid, .wu-about-grid, .wu-geo-grid, .wu-zones-grid, .wu-piliers-grid { grid-template-columns: 1fr !important; }
    .wu-meth-grid, .wu-why-grid { grid-template-columns: 1fr !important; }
    .wu-services-grid, .wu-offers-grid, .wu-reviews-grid, .wu-process-grid { grid-template-columns: 1fr 1fr !important; }
    .wu-acc-grid { grid-template-columns: 1fr !important; gap: 24px !important; }
    .wu-process-line { display: none !important; }
    .wu-footer-grid { grid-template-columns: 1fr 1fr 1fr !important; gap: 28px !important; }
  }
  @media (max-width: 980px) {
    .wu-desktop-nav { display: none !important; }
    .wu-mobile-toggle { display: inline-flex !important; }
  }
  @media (max-width: 680px) {
    .wu-services-grid, .wu-offers-grid, .wu-reviews-grid, .wu-process-grid, .wu-footer-grid { grid-template-columns: 1fr !important; }
    .wu-acc-feats { grid-template-columns: 1fr !important; }
    .wu-fab-text { display: none !important; }
  }
  @media (prefers-reduced-motion: reduce) {
    .wu-fade, .wu-chartline { animation: none !important; opacity: 1 !important; transform: none !important; stroke-dashoffset: 0 !important; }
    html { scroll-behavior: auto; }
  }

  /* === Burger mobile : bouton auto-suffisant (contraste AA) ===
     Valeurs hex EN DUR : var(--ink-900) ne peint pas le SVG ici (casse par
     l optimisation CSS LiteSpeed) + ciblage explicite du path.
     3 barres #02080F sur fond blanc, etats burger (ferme) et croix (ouvert). */
  .wu-mobile-toggle {
    background: #fff !important;
    border: 1.5px solid #02080F !important;
    color: #02080F !important;
    border-radius: 4px !important;
    -webkit-tap-highlight-color: transparent;
  }
  .wu-mobile-toggle svg,
  .wu-mobile-toggle svg path {
    color: #02080F !important;
    stroke: #02080F !important;
    fill: none !important;
  }

/* WEBUP-PAGEPARTS-RESPONSIVE (2026-06-26) — grilles pages internes : override des styles inline aux breakpoints (1024/680). Miroir de l'IIFE ui_kits/page-parts.jsx. */
@media (max-width:1024px){
  .wu-pagehero-grid,.wu-relcta-grid{grid-template-columns:1fr !important;gap:40px !important;}
  .wu-vg-grid,.wu-steps-grid,.wu-proofband-grid{grid-template-columns:1fr 1fr !important;}
}
@media (max-width:680px){
  .wu-vg-grid,.wu-steps-grid,.wu-proofband-grid{grid-template-columns:1fr !important;}
  .wu-proofband-grid > div{border-right:none !important;border-bottom:1px solid var(--line) !important;}
  .wu-proofband-grid > div:last-child{border-bottom:none !important;}
}

/* WEBUP-BREADCRUMB (2026-06-26) — fil dAriane visuel, aligné sur le JSON-LD BreadcrumbList. */
.wu-breadcrumb{background:var(--mist-50);border-bottom:1px solid var(--line)}
.wu-breadcrumb ol{list-style:none;margin:0 auto;max-width:var(--container-max);padding:7px 24px;display:flex;flex-wrap:wrap;align-items:center;font-family:var(--font-sans);font-size:13.5px;line-height:1.3}
.wu-breadcrumb li{display:inline-flex;align-items:center}
.wu-breadcrumb li:not(:first-child)::before{content:"\203A";margin:0 9px;color:var(--text-faint);font-weight:400}
.wu-breadcrumb a{color:var(--text-muted);text-decoration:none;transition:color .15s;padding:6px 2px}
.wu-breadcrumb a:hover,.wu-breadcrumb a:focus-visible{color:var(--cyan-700)}
.wu-breadcrumb a:focus-visible{outline:2px solid var(--cyan-700);outline-offset:3px;border-radius:2px}
.wu-breadcrumb span[aria-current]{color:var(--ink-900);font-weight:700;padding:6px 0}
@media (max-width:560px){.wu-breadcrumb ol{font-size:12.5px;padding:6px 16px}}

/* WEBUP-HERO-MOCK-CLS (2026-06-26) — réserve la hauteur de la card stats du hero (desktop only) pour figer le CLS au swap de police. 315px = hauteur réelle mesurée. */
@media (min-width:1025px){ .wu-hero-mock{ min-height:315px } }
