/* Base reprise du <style> de la maquette Claude Design (à l'identique) */
html{scroll-behavior:smooth;overflow-x:clip}
body{overflow-x:clip}
body{margin:0;font-family:'Plus Jakarta Sans',sans-serif;color:#111416;background:#f3f2ee;-webkit-font-smoothing:antialiased}
*{box-sizing:border-box}
a{color:#0089b0;text-decoration:none}
a:hover{color:#006d8c}
p{margin:0}
h1,h2,h3{text-wrap:balance}
img{max-width:100%;height:auto}
@keyframes epPulse{0%{transform:scale(1);opacity:.55}100%{transform:scale(1.9);opacity:0}}

/* header sticky + scroll (site.js bascule la classe .is-scrolled) */
.site-header{position:sticky;top:0;z-index:50;background:#fff;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 1px 0 rgba(17,20,22,.06);transition:background .3s,box-shadow .3s}
.site-header.is-scrolled{background:rgba(255,255,255,.9);box-shadow:0 6px 30px rgba(17,20,22,.08)}
.nav-toggle{display:none}
@media (max-width:999px){
  .nav-desktop{display:none !important}
  .nav-toggle{display:block !important}
  .mobile-menu.is-open{display:flex !important}
}

/* barre de progression scroll */
.scroll-progress{position:fixed;top:0;left:0;height:3px;width:0;background:#01B5E5;z-index:100}

/* slider hero / sol : superposition, fondu piloté par site.js */
.hero-slide{opacity:0;transform:scale(1);transition:opacity 1.1s ease, transform 7s linear}
.hero-slide.is-active{opacity:1;transform:scale(1.08)}
.sol-slide{opacity:0;transition:opacity .9s}
.sol-slide.is-active{opacity:1}

/* reveal au scroll */
[data-reveal]{opacity:0;transform:translateY(28px);transition:opacity .9s cubic-bezier(.2,.8,.2,1),transform 1s cubic-bezier(.2,.8,.2,1)}
[data-reveal="right"]{transform:translateX(60px)}
[data-reveal="zoom"]{transform:scale(.94)}
[data-reveal].is-visible{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  [data-reveal]{opacity:1;transform:none;transition:none}
  .hero-slide,.sol-slide{transition:opacity .3s}
}

/* carrousel réalisations (accueil) */
.proj-item{scroll-snap-align:start}
@media (max-width:979px){.proj-item{flex-basis:50% !important}}
@media (max-width:639px){.proj-item{flex-basis:100% !important}}

/* avis clients */
.test-slides{position:relative}
.test-slide{grid-area:1/1;opacity:0;transform:translateY(14px);pointer-events:none}
.test-slide.is-active{opacity:1;transform:translateY(0);pointer-events:auto}

/* galerie / lightbox */
.lightbox.is-open{display:flex !important}

/* FAQ */
.faq-item summary::-webkit-details-marker{display:none}
.faq-item[open] .faq-icon{transform:rotate(45deg)}

/* page légale : titres */
.legal-content h2{font-family:'Bricolage Grotesque',sans-serif;font-size:26px;font-weight:700;margin:36px 0 14px}
.legal-content h3{font-family:'Bricolage Grotesque',sans-serif;font-size:17px;font-weight:700;margin:22px 0 8px}
.legal-content p{margin:0 0 14px}
.legal-content ul{margin:0 0 14px;padding-left:20px}
.legal-content li{margin-bottom:6px}
.legal-content a{color:#0089b0}

/* focus visible générique (accessibilité) */
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid #01B5E5;outline-offset:2px}

/* --- états hover/focus compilés depuis la maquette --- */
.sh3bfb277b:hover{background:#f3f2ee}
.sha0c083ea:hover{background:#01B5E5;color:#111416}
.sh4eb23a89:hover{color:#fff}
.sh8a045848:hover{background:rgba(255,255,255,.08);color:#fff}
.sh0650619f:hover{transform:translateY(-2px);color:#111416}
.sh34640da5:hover{background:#01B5E5}
.sh148749ce:hover{color:#01B5E5}
.sh846212b3:hover{transform:translateY(-2px);background:#fff;color:#111416}
.sh4197c8d3:hover{background:rgba(255,255,255,.1);color:#fff}
.sh7c2940b9:hover{background:#01B5E5;color:#111416;transform:translateY(-2px)}
.she15faa0a:hover{transform:translateY(-8px);color:#fff}
.sh244d20f7:hover{transform:scale(1.08)}
.shf4288727:hover{color:#0089b0}
.sh1fc01a2b:hover{background:#111416;border-color:#111416;color:#fff}
.shc27628ee:hover{background:#111416;color:#fff}
.sh6b162d1d:hover{transform:scale(1.06)}
.sh9efc1e88:hover{transform:translateY(-6px);box-shadow:0 24px 50px rgba(17,20,22,.1)}
.sh6f643ba8:hover{border-color:#01B5E5;color:#01B5E5}
.sh0695ff9e:hover{background:#fff}
.sh357a6558:hover{transform:translateY(-2px);color:#fff}
.sh9eeae701:hover{background:rgba(17,20,22,.08);color:#111416}
.sh6e0b21ea:hover{transform:scale(1.07);filter:brightness(.85)}
.sh9aa38a77:hover{background:#fff;color:#111416}
.sh880faf55:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(17,20,22,.1);color:#111416}
.sfb7855e8c:focus{border-color:#01B5E5;background:#fff}
.sh04eebc67:hover{border-color:#01B5E5}
