:root{--bg:#0b0b0d;--bg2:#121215;--carte:#18181c;--ligne:#2a2a30;--txt:#f4f4f6;--mute:#a4a4ae;--c:#ff5056;--c2:#d6252d;--r:14px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:84px}
body{margin:0;background:var(--bg);color:var(--txt);font:16px/1.65 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
.wrap{width:min(1140px,100% - 32px);margin:0 auto}
h1,h2,h3{line-height:1.15;margin:0 0 .5em;letter-spacing:-.01em}
h1{font-size:clamp(2rem,6vw,3.7rem);font-weight:800}
h1 span{color:var(--c)}
h2{font-size:clamp(1.6rem,4vw,2.4rem);font-weight:800}
h3{font-size:1.1rem}
.sur{color:var(--c);font-weight:700;text-transform:uppercase;letter-spacing:.12em;font-size:.8rem;margin:0 0 .6em}
.chapeau{color:var(--mute);max-width:62ch;margin:0 0 1.6em}

/* barre du haut */
.top{position:sticky;top:0;z-index:30;background:rgba(11,11,13,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--ligne)}
.bar{display:flex;align-items:center;gap:16px;min-height:68px}
.marque img{height:46px;width:auto}
.menu{display:flex;gap:4px;margin-left:auto;align-items:center}
.menu a{padding:8px 12px;border-radius:10px;text-decoration:none;color:var(--mute);font-weight:600;font-size:.95rem}
.menu a:hover{color:var(--txt);background:var(--carte)}
.menu a.equipe{border:1px solid var(--ligne)}
.burger{display:none;margin-left:auto;background:none;border:1px solid var(--ligne);border-radius:10px;width:44px;height:44px;padding:0;cursor:pointer}
.burger span{display:block;width:20px;height:2px;background:var(--txt);margin:4px auto}

/* boutons */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 20px;border-radius:12px;border:1px solid var(--ligne);background:var(--carte);color:var(--txt);font-weight:700;text-decoration:none;cursor:pointer;font-size:.95rem}
.btn:hover{border-color:var(--c)}
.btn.p,.btn.wa{background:var(--c);border-color:var(--c);color:#fff}
.btn.p:hover,.btn.wa:hover{background:var(--c2);border-color:var(--c2)}
.btn.grand{min-height:52px;padding:12px 26px;font-size:1.02rem}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:1.4em}

/* hero */
.hero{position:relative;min-height:min(86vh,720px);display:flex;align-items:flex-end;overflow:hidden}
.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-voile{position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,11,13,.25) 0%,rgba(11,11,13,.55) 55%,var(--bg) 100%)}
.hero-txt{position:relative;padding:80px 0 56px}
.intro{font-size:1.12rem;color:#e0e0e6;max-width:56ch;margin:1em 0 0}

.bande{background:var(--bg2);border-block:1px solid var(--ligne)}
.trois{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding:22px 0}
.trois div{display:flex;flex-direction:column}
.trois b{font-size:1.15rem;color:var(--c)}
.trois span{color:var(--mute);font-size:.92rem}

/* sections */
.bloc{padding:72px 0}
.bloc.alt{background:var(--bg2);border-block:1px solid var(--ligne)}
.duo{display:grid;grid-template-columns:1.05fr 1fr;gap:40px;align-items:center}
.liste{padding:0;margin:1em 0 1.6em;list-style:none}
.liste li{padding:8px 0 8px 28px;position:relative;border-bottom:1px solid var(--ligne)}
.liste li::before{content:"";position:absolute;left:2px;top:17px;width:10px;height:10px;border-radius:3px;background:var(--c)}
.photos.deux{display:grid;gap:14px}
.photos img,.galerie img,.grille-deco img{border-radius:var(--r);width:100%;object-fit:cover}
.photos.deux img{aspect-ratio:3/2}

.cartes{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:1.8em}
.carte{background:var(--carte);border:1px solid var(--ligne);border-radius:var(--r);padding:22px}
.carte p{color:var(--mute);margin:0}
.bloc:not(.alt) .carte{background:var(--bg2)}

.grille-deco{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.grille-deco figure{margin:0;background:#fff;border-radius:var(--r);overflow:hidden;position:relative}
.grille-deco img{aspect-ratio:1/1;border-radius:0;object-fit:contain;background:#fff}
.grille-deco figcaption{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(0deg,rgba(0,0,0,.82),rgba(0,0,0,0));color:#fff;font-weight:700;padding:30px 12px 10px;font-size:.95rem}
.note{color:var(--mute);margin:1.4em 0}

.galerie{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.galerie img{aspect-ratio:4/3;cursor:zoom-in;transition:transform .2s}
.galerie img:hover{transform:scale(1.02)}

.contact{text-align:center}
.contact .chapeau{margin-inline:auto}
.contact .actions{justify-content:center}

.pied{border-top:1px solid var(--ligne);padding:28px 0;background:var(--bg2)}
.bar2{display:flex;align-items:center;gap:20px;flex-wrap:wrap;justify-content:space-between}
.pied p{color:var(--mute);margin:0;font-size:.92rem}
.pied a{color:var(--mute)}

.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.92);z-index:50;display:flex;align-items:center;justify-content:center;padding:16px}
.lightbox[hidden]{display:none}
.lightbox img{max-height:92vh;max-width:100%;border-radius:10px}
.lightbox button{position:absolute;top:12px;right:14px;width:46px;height:46px;border-radius:50%;border:0;background:#fff;color:#000;font-size:28px;cursor:pointer;line-height:1}

/* téléphone */
@media (max-width:860px){
  .burger{display:block}
  .menu{display:none;position:absolute;left:0;right:0;top:68px;background:var(--bg);border-bottom:1px solid var(--ligne);flex-direction:column;align-items:stretch;padding:10px 16px 16px}
  .menu.ouvert{display:flex}
  .menu a{padding:14px 12px;font-size:1.02rem}
  .bar .wa{display:none}
  .duo{grid-template-columns:1fr}
  .trois,.cartes{grid-template-columns:1fr}
  .grille-deco{grid-template-columns:repeat(2,1fr)}
  .galerie{grid-template-columns:repeat(2,1fr)}
  .bloc{padding:52px 0}
  .hero{min-height:78vh}
  .actions .btn{flex:1 1 100%}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.galerie img{transition:none}}
