/* ═══════════════════════════════════════════
   BONNOUVRIER — Styles principaux
   css/style.css
   ═══════════════════════════════════════════

   TABLE DES MATIÈRES :
   1. Variables & Reset
   2. Animations
   3. Navigation
   4. Hero
   5. Ticker
   6. Sections communes
   7. Services
   8. Processus
   9. Highlight
   10. Galerie
   11. Sections détaillées
   12. À propos
   13. FAQ & Zone
   14. Contact
   15. Footer
   16. Responsive
═══════════════════════════════════════════ */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
  :root{
    --black:#0F0F0F;--white:#F5F5F3;--mid:#1C1C1A;--steel:#8A8A8A;
    --ardoise:#C8C0B4;--ardoise-dark:#9A9289;
    --rouge:#C0392B;--rouge-vif:#E74C3C;--rouge-dark:#922B21;
    --fd:'Barlow Condensed',sans-serif;--fb:'Inter',sans-serif;
  }

  /* ═══════════════════════════════════════════
   ESPACEMENTS PAR SECTION
   Modifiez ici pour ajuster chaque section
═══════════════════════════════════════════ */

/* Hero */
#hero { padding-top: 4.5rem; }

/* Ticker */
.ticker { padding: .8rem 0; }

/* Services */
#services { padding: 2rem 5vw; }
.services-intro { margin-bottom: 1rem; }
.svc-carousel { padding: 1rem 0; }
.svc-nav { margin-top: 1.5rem; }

/* Processus */
#process { padding: 5rem 5vw; }
.process-steps { margin-top: 2rem; }

/* Highlight */
#highlight { padding: 0; }
.hl-content { padding: 3rem 5vw; }

/* Galerie */
#galerie { padding: 3rem 5vw; }

/* Dessin technique */
#dessin-technique { padding: 3rem 5vw; }

/* Peinture */
#peinture { padding: 3rem 5vw; }

/* Mobilier */
#mobilier { padding: 3rem 5vw; }

/* À propos */
#apropos .ap-left { padding: 3rem 4vw 3rem 5vw; }
#apropos .ap-right { padding: 3rem 5vw 3rem 4vw; }

/* FAQ + Zone */
#faq-zone { padding: 0; }

/* Contact */
#contact .contact-left { padding: 3rem 4vw 3rem 5vw; }
#contact .contact-right { padding: 3rem 5vw; }

/* Footer */
footer { padding: 3rem 5vw 2rem; }
.footer-top { margin-bottom: 2rem; padding-bottom: 2rem; }

  html{scroll-behavior:smooth}
  body{background:#f7f7f5;color:#1a1a18;font-family:var(--fb);font-size:16px;line-height:1.6;overflow-x:hidden}

  /* ── ANIMATIONS ── */
  @keyframes fadeUp{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}
  @keyframes fadeIn{from{opacity:0}to{opacity:1}}
  @keyframes ticker{from{transform:translateX(0)}to{transform:translateX(-50%)}}
  @keyframes pulse{0%,100%{box-shadow:0 0 0 0 rgba(192,57,43,.4)}50%{box-shadow:0 0 0 8px rgba(192,57,43,0)}}
  @keyframes shimmer{0%{background-position:-200% center}100%{background-position:200% center}}
  @keyframes lineDraw{from{width:0}to{width:100%}}
  .au{opacity:0;animation:fadeUp .65s ease forwards}
  .ai{opacity:0;animation:fadeIn .8s ease forwards}
  .d1{animation-delay:.1s}.d2{animation-delay:.25s}.d3{animation-delay:.4s}.d4{animation-delay:.55s}.d5{animation-delay:.7s}
  .reveal{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease}
  .reveal.visible{opacity:1;transform:translateY(0)}

  /* ── NAV ── */
  nav{position:fixed;top:0;left:0;right:0;z-index:200;background:rgba(15,15,15,.96);backdrop-filter:blur(12px);border-bottom:1px solid rgba(200,192,180,.1);padding:.9rem 5vw;display:flex;align-items:center;justify-content:space-between;transition:padding .3s}
  nav.scrolled{border-bottom-color:rgba(192,57,43,.25)}
  .nav-logo{display:flex;align-items:center;gap:.6rem;text-decoration:none}
  .nav-logo svg{width:34px;height:34px;flex-shrink:0}
  .nav-logo-text{font-family:var(--fd);font-weight:800;font-size:1.3rem;letter-spacing:.06em;text-transform:uppercase;color:var(--white);line-height:1}
  .nav-logo-text span{color:var(--rouge-vif)}
  .nav-links{display:flex;align-items:center;gap:1.8rem;list-style:none}
  .nav-links a{color:rgba(245,245,243,.65);text-decoration:none;font-size:.82rem;letter-spacing:.05em;text-transform:uppercase;transition:color .2s;position:relative}
  .nav-links a::after{content:'';position:absolute;bottom:-3px;left:0;width:0;height:1px;background:var(--rouge-vif);transition:width .25s}
  .nav-links a:hover{color:var(--white)}.nav-links a:hover::after{width:100%}
  .nav-phone{color:var(--ardoise)!important;display:flex;align-items:center;gap:.4rem;font-weight:500!important}
  .nav-phone svg{width:14px;height:14px;stroke:var(--ardoise);fill:none}
  .btn-nav{background:var(--rouge);color:var(--white)!important;padding:.5rem 1.2rem;font-weight:600!important;animation:pulse 2.5s ease-in-out infinite}
  .btn-nav:hover{background:var(--rouge-vif)!important}.btn-nav::after{display:none!important}
  .hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none}
  .hamburger span{display:block;width:24px;height:2px;background:var(--white)}

  /* ── HERO ── */
  #hero{min-height:100vh;background:linear-gradient(rgba(28,28,26,.65),rgba(28,28,26,.65)),url('../images/background.png') center/cover no-repeat;display:grid;grid-template-columns:1fr;align-items:center;padding:0 5vw;padding-top:4.5rem;overflow:hidden;position:relative}
  .hero-bg-shape{display:none}
  .hero-rouge-line{display:none}
  @keyframes lineDraw_v{to{height:100%}}
  .hero-diamond{position:absolute;top:8%;right:7%;width:280px;height:280px;border:1px solid rgba(192,57,43,.12);transform:rotate(45deg);animation:spin 30s linear infinite}
  @keyframes spin{to{transform:rotate(405deg)}}
  .hero-content{position:relative;z-index:2;padding-right:2rem}
  .hero-eyebrow{font-family:var(--fd);font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;color:var(--rouge-vif);margin-bottom:1.2rem;display:flex;align-items:center;gap:.8rem}
  .hero-eyebrow::before{content:'';display:inline-block;width:24px;height:2px;background:var(--rouge-vif)}
  .hero-h1{font-family:var(--fd);font-weight:800;font-size:clamp(3rem,6vw,5.5rem);line-height:.95;text-transform:uppercase;letter-spacing:-.01em;color:var(--white);margin-bottom:1.6rem}
  .hero-h1 em{font-style:normal;color:var(--rouge-vif);display:inline-block;position:relative}
  .hero-h1 em::after{content:'';position:absolute;bottom:2px;left:0;height:3px;background:var(--rouge);width:0;animation:lineDraw .8s 1.1s ease forwards}
  .hero-sub{font-size:1rem;color:var(--white);max-width:420px;margin-bottom:2.2rem;line-height:1.8}
  .hero-btns{display:flex;gap:1rem;flex-wrap:wrap}
  .btn-primary{display:inline-flex;align-items:center;gap:.5rem;padding:.85rem 1.8rem;background:var(--rouge);color:var(--white);font-family:var(--fd);font-weight:700;font-size:1rem;letter-spacing:.07em;text-transform:uppercase;text-decoration:none;position:relative;overflow:hidden;transition:background .25s,transform .15s}
  .btn-primary::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.12),transparent);background-size:200% auto;animation:shimmer 2.5s linear infinite}
  .btn-primary:hover{background:var(--rouge-vif);transform:translateY(-2px)}
  .btn-ghost{display:inline-flex;align-items:center;gap:.5rem;padding:.85rem 1.8rem;border:1px solid rgba(200,192,180,.3);color:var(--white);font-family:var(--fd);font-weight:600;font-size:1rem;letter-spacing:.07em;text-transform:uppercase;text-decoration:none;transition:border-color .2s,color .2s,background .2s}
  .btn-ghost:hover{border-color:var(--rouge-vif);color:var(--rouge-vif);background:rgba(192,57,43,.06)}
  .hero-img{position:relative;z-index:2;display:flex;align-items:center;justify-content:center}
  .hero-img-box{width:100%;max-width:520px;aspect-ratio:4/3;background:linear-gradient(135deg,#1a1a18,#252522);border:1px solid rgba(200,192,180,.1);border-top:3px solid var(--rouge);display:flex;align-items:center;justify-content:center;overflow:hidden}
  .hero-img-box svg{width:120px;height:120px;stroke:rgba(192,57,43,.3);fill:none;stroke-width:1}
  .hero-stats-bar{grid-column:1/-1;background:var(--white);display:grid;grid-template-columns:repeat(4,1fr);border-top:3px solid var(--rouge);margin:0 -5vw}
  .hero-stat{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.3rem;padding:1.6rem 1rem;border-right:1px solid rgba(200,192,180,.2);text-align:center}
  .hero-stat:last-child{border-right:none}
  .hero-stat-icon{width:36px;height:36px;background:rgba(192,57,43,.08);border:1px solid rgba(192,57,43,.2);display:flex;align-items:center;justify-content:center;margin-bottom:.3rem}
  .hero-stat-icon svg{width:18px;height:18px;stroke:var(--rouge);fill:none}
  .hero-stat strong{font-family:var(--fd);font-size:1.4rem;font-weight:800;color:var(--black);line-height:1}
  .hero-stat span{font-size:.72rem;color:var(--steel);letter-spacing:.05em;text-transform:uppercase}

  /* ── TICKER ── */
  .ticker{background:var(--rouge);padding:.8rem 0;overflow:hidden}
  .ticker-inner{display:flex;gap:3rem;animation:ticker 20s linear infinite;white-space:nowrap;width:max-content}
  .ticker-item{font-family:var(--fd);font-size:.82rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgba(245,245,243,.85);display:flex;align-items:center;gap:1rem}
  .ticker-item::before{content:'◆';font-size:.45rem;color:rgba(245,245,243,.4)}

  /* ── SECTIONS COMMUNES ── */
  .section{padding:2rem 5vw}
  .section-label{font-family:var(--fd);font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--rouge-vif);margin-bottom:.8rem;display:flex;align-items:center;gap:.7rem}
  .section-label::before{content:'';display:inline-block;width:20px;height:2px;background:var(--rouge-vif)}
  .section-title{font-family:var(--fd);font-weight:800;font-size:clamp(2rem,4vw,3rem);text-transform:uppercase;line-height:1.05;color:var(--black);margin-bottom:1rem}
  .section-sub{color:var(--steel);max-width:520px;line-height:1.8;font-size:.95rem}
  .section--dark{background:var(--black)!important}
  .section--dark .section-title{color:var(--white)}
  .section--dark .section-sub{color:var(--steel)}
  .section--mid{background:var(--mid)!important}
  .section--mid .section-title{color:var(--white)}
  .section--mid .section-sub{color:var(--steel)}
  .section--light{background:#f0efec}
  .section--white{background:#fff}

/* ── SERVICES CARROUSEL ── */
#services { background:#fff; }
.services-intro { text-align:center; margin-bottom:0.5rem; }
.services-intro .section-label { justify-content:center; }
.services-intro .section-label::before { display:none; }

.svc-carousel-wrap { position:relative; overflow:hidden; width:100%; }
.svc-carousel { display:flex; gap:1.5rem; transition:transform .4s ease; will-change:transform; cursor:grab; padding:1rem 0; }
.svc-carousel:active { cursor:grabbing; }

.svc-card { background:#f7f7f5; border:1px solid rgba(200,192,180,.2); flex:0 0 23%; min-width:0; overflow:hidden; transition:transform .3s,box-shadow .3s; }
.svc-card:hover { transform:translateY(-5px); box-shadow:0 12px 36px rgba(0,0,0,.1); }
.svc-card-img { background:var(--mid); height:120px; display:flex; align-items:center; justify-content:center; border-bottom:3px solid var(--rouge); }
.svc-card-img svg { width:60px; height:60px; stroke:rgba(192,57,43,.6); fill:none; stroke-width:1.2; transition:transform .3s; }
.svc-card:hover .svc-card-img svg { transform:scale(1.1); }
.svc-card-body { padding:1rem; display:flex; flex-direction:column; gap:.5rem; }
.svc-card-body h3 { font-family:var(--fd); font-weight:700; font-size:1.05rem; text-transform:uppercase; letter-spacing:.04em; color:var(--black); }
.svc-card-body p { color:var(--steel); font-size:.82rem; line-height:1.6; }
.svc-link { display:inline-flex; align-items:center; gap:.4rem; margin-top:.3rem; padding:.4rem .9rem; background:var(--rouge); color:#fff; font-family:var(--fd); font-size:.75rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; text-decoration:none; transition:background .2s; }
.svc-link:hover { background:var(--rouge-vif); }

.svc-nav { display:flex; justify-content:center; gap:1rem; margin-top:1.5rem; }
.svc-btn { width:44px; height:44px; border:1px solid rgba(200,192,180,.3); background:#fff; display:flex; align-items:center; justify-content:center; cursor:pointer; transition:all .2s; color:#888; }
.svc-btn:hover { background:var(--rouge); border-color:var(--rouge); color:#fff; }
.svc-btn svg { width:20px; height:20px; stroke:currentColor; fill:none; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; display:block; }

@media(max-width:768px){
  .svc-card { flex:0 0 80vw; }
}

/* ── CHARPENTE & TOITURE CARROUSEL ── */
.ct-header { display:flex; align-items:flex-end; justify-content:space-between; margin-bottom:2.5rem; }
.ct-nav { display:flex; gap:.8rem; }
.ct-btn { width:44px; height:44px; border:1px solid rgba(192,57,43,.3); background:#fff; display:flex; align-items:center; justify-content:center; cursor:pointer; transition:all .2s; color:#888; border-radius:0; }
.ct-btn:hover { background:var(--rouge); border-color:var(--rouge); color:#fff; }
.ct-btn svg { width:18px; height:18px; stroke:currentColor; display:block; }

.ct-carousel-wrap { overflow:hidden; }
.ct-carousel { display:flex; gap:1.5rem; transition:transform .4s ease; }

.ct-card { background:#fff; border:1px solid rgba(200,192,180,.2); border-radius:0; flex:0 0 calc(33.333% - 1rem); padding:2rem; display:flex; flex-direction:column; gap:1rem; transition:all .3s; position:relative; overflow:hidden; }
.ct-card::after { content:''; position:absolute; bottom:0; left:0; width:0; height:3px; background:var(--rouge); transition:width .3s; }
.ct-card:hover::after { width:100%; }
.ct-card:hover { box-shadow:0 8px 30px rgba(0,0,0,.08); transform:translateY(-3px); }

.ct-card--active { background:var(--black); border-color:var(--rouge); }
.ct-card.ct-card--active h4 { color:var(--white); }
.ct-card.ct-card--active p { color:var(--white); }
.ct-card--active .ct-num { color:var(--rouge-vif); }
.ct-card--active .ct-list li { color:var(--white); border-color:rgba(200,192,180,.1); }
.ct-card--active .ct-list li::before { background:var(--rouge-vif); }
.ct-card--active .ct-card-footer span { color:var(--white); }
.ct-card--active::after { width:100%; }

.ct-card-top { display:flex; align-items:center; justify-content:space-between; margin-bottom:.5rem; }
.ct-num { font-family:var(--fd); font-size:.75rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:#aaa; }
.ct-icon { width:48px; height:48px; background:var(--rouge); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.ct-icon svg { width:22px; height:22px; }

.ct-card h4 { font-family:var(--fd); font-weight:700; font-size:1.3rem; text-transform:uppercase; letter-spacing:.03em; color:var(--black); line-height:1.1; }
.ct-card p { color:#666; font-size:.88rem; line-height:1.7; flex:1; }

.ct-list { list-style:none; display:flex; flex-direction:column; gap:0; }
.ct-list li { font-size:.83rem; color:#666; padding:.4rem 0; border-bottom:1px solid rgba(200,192,180,.15); display:flex; align-items:center; gap:.6rem; }
.ct-list li::before { content:'✓'; color:var(--rouge); font-weight:700; font-size:.8rem; flex-shrink:0; }

.ct-card-footer { display:flex; align-items:center; justify-content:space-between; padding-top:.5rem; border-top:1px dashed rgba(200,192,180,.3); margin-top:auto; }
.ct-card-footer span { font-family:var(--fd); font-size:.85rem; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:#555; }
.ct-arrow { width:38px; height:38px; border:1px solid rgba(200,192,180,.3); display:flex; align-items:center; justify-content:center; text-decoration:none; color:#888; transition:all .2s; }
.ct-arrow:hover { background:var(--rouge); border-color:var(--rouge); color:#fff; }
.ct-arrow--active { background:var(--rouge); border-color:var(--rouge); color:#fff; }
.ct-arrow svg { width:16px; height:16px; stroke:currentColor; }

@media(max-width:1024px) { .ct-card { flex:0 0 calc(50% - .75rem); } }
@media(max-width:768px) { .ct-card { flex:0 0 85vw; } }

/* ── COMMENT ÇA MARCHE ── */

  /* ── COMMENT ÇA MARCHE ── */
  #process{background:#f0efec}
  .process-intro{text-align:center;margin-bottom:3rem}
  .process-intro .section-label{justify-content:center}
  .process-intro .section-label::before{display:none}
  .process-steps{display:flex;align-items:flex-start;justify-content:center;gap:0;position:relative}
  .process-steps::before{content:'';position:absolute;top:28px;left:calc(10% + 28px);right:calc(10% + 28px);height:2px;background:repeating-linear-gradient(90deg,rgba(192,57,43,.3) 0,rgba(192,57,43,.3) 8px,transparent 8px,transparent 18px)}
  .proc-step{flex:1;display:flex;flex-direction:column;align-items:center;text-align:center;padding:0 1rem;position:relative}
  .proc-circle{width:56px;height:56px;border-radius:50%;background:var(--rouge);display:flex;align-items:center;justify-content:center;margin-bottom:1rem;position:relative;z-index:2;box-shadow:0 0 0 6px #f0efec,0 0 0 7px rgba(192,57,43,.2)}
  .proc-circle svg{width:24px;height:24px;stroke:#fff;fill:none;stroke-width:1.8}
  .proc-num{position:absolute;top:-6px;right:-4px;width:20px;height:20px;border-radius:50%;background:var(--black);color:var(--white);font-family:var(--fd);font-size:.65rem;font-weight:800;display:flex;align-items:center;justify-content:center}
  .proc-step h4{font-family:var(--fd);font-weight:700;font-size:1rem;text-transform:uppercase;letter-spacing:.04em;color:var(--black);margin-bottom:.4rem}
  .proc-step p{color:var(--steel);font-size:.82rem;line-height:1.6}

  /* ── HIGHLIGHT BAND (comme le bleu chez Skyline) ── */
  #highlight{background:var(--black);display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:0;min-height:420px}
  .hl-img{background:var(--mid);height:100%;min-height:420px;display:flex;align-items:center;justify-content:center;border-right:3px solid var(--rouge);position:relative;overflow:hidden}
  .hl-img svg{width:140px;height:140px;stroke:rgba(192,57,43,.25);fill:none;stroke-width:.8}
  .hl-img-label{position:absolute;bottom:0;left:0;right:0;background:var(--rouge);padding:.6rem 1.5rem;font-family:var(--fd);font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--white)}
  .hl-content{padding:4rem 5vw}
  .hl-content .section-label{color:var(--ardoise)}
  .hl-content .section-label::before{background:var(--ardoise)}
  .hl-content .section-title{color:var(--white)}
  .hl-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;margin-top:2.5rem}
  .hl-stat{text-align:center}
  .hl-stat-num{font-family:var(--fd);font-size:2.8rem;font-weight:800;color:var(--rouge-vif);line-height:1}
  .hl-stat-num sup{font-size:1.2rem;vertical-align:super}
  .hl-stat-label{font-size:.75rem;color:var(--steel);letter-spacing:.06em;text-transform:uppercase;margin-top:.2rem}

  /* ── RÉALISATIONS ── */
  #galerie{background:#fff}
  .galerie-header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:2rem}
  .galerie-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
  .gal-item{background:var(--mid);overflow:hidden;position:relative;cursor:pointer}
  .gal-placeholder{width:100%;aspect-ratio:4/3;background:linear-gradient(135deg,#1a1a18,#232320);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.6rem;transition:transform .45s}
  .gal-item:hover .gal-placeholder{transform:scale(1.05)}
  .gal-placeholder svg{width:28px;height:28px;stroke:rgba(200,192,180,.25);fill:none}
  .gal-placeholder span{font-size:.68rem;color:rgba(200,192,180,.2);letter-spacing:.1em;text-transform:uppercase}
  .gal-footer{padding:1rem 1.2rem;background:#fff}
  .gal-footer h4{font-family:var(--fd);font-size:1rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--black);margin-bottom:.2rem}
  .gal-footer .gal-tag{font-size:.72rem;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--rouge);background:rgba(192,57,43,.08);padding:.2rem .6rem}
  .gal-footer p{font-size:.82rem;color:var(--steel);margin-top:.3rem;line-height:1.5}
  .btn-outline{display:inline-flex;align-items:center;gap:.5rem;padding:.7rem 1.4rem;border:1px solid rgba(192,57,43,.4);color:var(--rouge);font-family:var(--fd);font-weight:700;font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;transition:all .2s}
  .btn-outline:hover{background:var(--rouge);color:var(--white);border-color:var(--rouge)}

  /* ── SECTIONS DÉTAILLÉES (dessin, peinture, mobilier) ── */
  .detail-section{padding:5rem 5vw}
  .detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:start;margin-top:3rem}
  .detail-grid.reverse{direction:rtl}
  .detail-grid.reverse>*{direction:ltr}
  .detail-text p{color:#555;line-height:1.8;margin-bottom:1rem;font-size:.95rem}
  .detail-text strong{color:var(--black);font-weight:600}
  .detail-steps{display:flex;flex-direction:column;gap:0}
  .d-step{display:flex;gap:1.2rem;align-items:flex-start;padding:1.2rem 1.4rem;border-left:2px solid rgba(192,57,43,.15);transition:border-color .2s,background .2s}
  .d-step:hover{border-left-color:var(--rouge);background:rgba(192,57,43,.03)}
  .d-step-num{font-family:var(--fd);font-size:1.8rem;font-weight:800;color:rgba(192,57,43,.18);line-height:1;min-width:2rem;flex-shrink:0;transition:color .2s}
  .d-step:hover .d-step-num{color:var(--rouge)}
  .d-step h4{font-family:var(--fd);font-weight:700;font-size:.95rem;text-transform:uppercase;letter-spacing:.04em;color:var(--black);margin-bottom:.25rem}
  .d-step p{color:#666;font-size:.85rem;line-height:1.6;margin:0}
  .detail-cards{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:rgba(200,192,180,.15);border:1px solid rgba(200,192,180,.15);margin-top:1.5rem}
  .d-card{background:#fff;padding:1.2rem;display:flex;gap:.9rem;align-items:flex-start;transition:background .2s}
  .d-card:hover{background:#f7f7f5}
  .d-card-icon{width:32px;height:32px;background:rgba(192,57,43,.08);border:1px solid rgba(192,57,43,.18);display:flex;align-items:center;justify-content:center;flex-shrink:0}
  .d-card-icon svg{width:16px;height:16px;stroke:var(--rouge);fill:none}
  .d-card h5{font-family:var(--fd);font-weight:700;font-size:.85rem;text-transform:uppercase;letter-spacing:.04em;color:var(--black);margin-bottom:.2rem}
  .d-card p{color:#777;font-size:.78rem;line-height:1.5;margin:0}
  .detail-visual{background:var(--mid);border-top:3px solid var(--rouge);padding:3rem 2rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;min-height:320px}
  .detail-visual svg{opacity:.5}
  .detail-visual p{color:var(--steel);font-size:.85rem;text-align:center}
  .detail-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}
  .dtag{padding:.4rem .8rem;background:rgba(192,57,43,.1);border:1px solid rgba(192,57,43,.2);font-family:var(--fd);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--rouge-dark)}

  /* Tabs peinture */
  .pe-tabs{display:flex;gap:0;margin-bottom:2.5rem;border:1px solid rgba(200,192,180,.2);align-self:start}
  .pe-tab{flex:1;padding:.85rem 1.5rem;font-family:var(--fd);font-weight:700;font-size:.9rem;letter-spacing:.06em;text-transform:uppercase;background:#fff;color:#888;border:none;cursor:pointer;transition:all .2s;border-right:1px solid rgba(200,192,180,.15)}
  .pe-tab:last-child{border-right:none}
  .pe-tab.active{background:var(--rouge);color:#fff}
  .pe-tab:hover:not(.active){background:rgba(192,57,43,.06);color:var(--rouge)}
  .pe-panel{display:none}.pe-panel.active{display:block}
  .pe-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin-bottom:2rem}
  .pe-card{background:#fff;border:1px solid rgba(200,192,180,.18);overflow:hidden;transition:transform .3s,box-shadow .3s}
  .pe-card:hover{transform:translateY(-4px);box-shadow:0 10px 30px rgba(0,0,0,.07)}
  .pe-card-top{background:var(--mid);padding:1.8rem;display:flex;align-items:center;justify-content:center;min-height:110px;border-bottom:2px solid var(--rouge)}
  .pe-card-top svg{opacity:.6}
  .pe-card-body{padding:1.4rem}
  .pe-card-body h3{font-family:var(--fd);font-weight:700;font-size:1.1rem;text-transform:uppercase;letter-spacing:.04em;color:var(--black);margin-bottom:.6rem}
  .pe-card-body p{color:#666;font-size:.85rem;line-height:1.6;margin-bottom:.8rem}
  .mini-list{list-style:none}
  .mini-list li{color:#777;font-size:.82rem;padding:.28rem 0;border-bottom:1px solid rgba(200,192,180,.1);display:flex;align-items:center;gap:.6rem}
  .mini-list li::before{content:'';display:inline-block;width:4px;height:4px;background:var(--rouge);flex-shrink:0}
  .proc-bar{background:#f0efec;border:1px solid rgba(200,192,180,.15);border-top:3px solid var(--rouge);padding:2rem;display:flex;align-items:flex-start;gap:0}
  .pb-step{flex:1;text-align:center;padding:0 .8rem}
  .pb-icon{width:40px;height:40px;background:rgba(192,57,43,.08);border:1px solid rgba(192,57,43,.2);display:flex;align-items:center;justify-content:center;margin:0 auto .6rem}
  .pb-icon svg{width:18px;height:18px;stroke:var(--rouge);fill:none}
  .pb-num{font-family:var(--fd);font-size:.65rem;font-weight:700;letter-spacing:.12em;color:var(--rouge);text-transform:uppercase;margin-bottom:.25rem}
  .pb-step h5{font-family:var(--fd);font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--black);margin-bottom:.2rem}
  .pb-step p{font-size:.78rem;color:#777;line-height:1.5;margin:0}
  .pb-arrow{font-size:1.2rem;color:rgba(192,57,43,.3);padding-top:.8rem;flex-shrink:0}

  /* Mobilier */
  .mob-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(200,192,180,.12);border:1px solid rgba(200,192,180,.12);margin:2.5rem 0}
  .mob-item{background:#fff;padding:1.8rem 1.4rem;position:relative;overflow:hidden;transition:background .3s}
  .mob-item:hover{background:#f7f7f5}
  .mob-item::after{content:'';position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--rouge);transition:width .3s}
  .mob-item:hover::after{width:100%}
  .mob-icon{width:40px;height:40px;background:rgba(192,57,43,.07);border:1px solid rgba(192,57,43,.15);display:flex;align-items:center;justify-content:center;margin-bottom:1rem}
  .mob-icon svg{width:20px;height:20px;stroke:var(--rouge);fill:none;stroke-width:1.5}
  .mob-item h4{font-family:var(--fd);font-weight:700;font-size:1rem;text-transform:uppercase;letter-spacing:.04em;color:var(--black);margin-bottom:.4rem}
  .mob-item p{color:#777;font-size:.83rem;line-height:1.6}
  .mob-process{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:rgba(200,192,180,.1);border:1px solid rgba(200,192,180,.1)}
  .mp-step{background:#f7f7f5;padding:1.8rem 1.2rem;text-align:center;transition:background .2s}
  .mp-step:hover{background:#fff}
  .mp-num{font-family:var(--fd);font-size:2.4rem;font-weight:800;color:rgba(192,57,43,.1);line-height:1;margin-bottom:.4rem;transition:color .2s}
  .mp-step:hover .mp-num{color:rgba(192,57,43,.25)}
  .mp-step h5{font-family:var(--fd);font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--black);margin-bottom:.3rem}
  .mp-step p{font-size:.78rem;color:#777;line-height:1.5;margin:0}

  /* ── À PROPOS (bande rouge) ── */
  #apropos{background:var(--black);display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:0;min-height:480px}
  .ap-left{padding:5rem 4vw 5rem 5vw;border-right:3px solid var(--rouge)}
  .ap-left .section-title{color:var(--white)}
  .ap-left p{color:var(--steel);line-height:1.8;margin-bottom:1rem;font-size:.95rem}
  .ap-left strong{color:var(--ardoise);font-weight:500}
  .ap-right{padding:5rem 5vw 5rem 4vw}
  .ap-card{background:rgba(245,245,243,.04);border:1px solid rgba(200,192,180,.08);border-top:3px solid var(--rouge)}
  .ap-row{display:flex;align-items:flex-start;gap:1rem;padding:1.2rem 1.4rem;border-bottom:1px solid rgba(200,192,180,.06);transition:background .2s}
  .ap-row:last-child{border-bottom:none}
  .ap-row:hover{background:rgba(192,57,43,.05)}
  .ap-icon{width:38px;height:38px;background:rgba(192,57,43,.12);border:1px solid rgba(192,57,43,.25);display:flex;align-items:center;justify-content:center;flex-shrink:0}
  .ap-icon svg{width:18px;height:18px;stroke:var(--rouge-vif);fill:none}
  .ap-row h4{font-family:var(--fd);font-weight:700;font-size:.95rem;text-transform:uppercase;letter-spacing:.04em;color:var(--white);margin-bottom:.2rem}
  .ap-row p{color:var(--steel);font-size:.85rem;margin:0;line-height:1.5}

  /* ── FAQ ── */
  #faq{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:start}
  .faq-cta{background:var(--rouge);padding:3rem 5vw;display:flex;flex-direction:column;justify-content:space-between;min-height:500px}
  .faq-cta .section-label{color:rgba(245,245,243,.7)}
  .faq-cta .section-label::before{background:rgba(245,245,243,.4)}
  .faq-cta h2{font-family:var(--fd);font-weight:800;font-size:clamp(1.8rem,3vw,2.5rem);text-transform:uppercase;color:var(--white);line-height:1.05;margin-bottom:1rem}
  .faq-cta p{color:rgba(245,245,243,.75);font-size:.95rem;line-height:1.7;margin-bottom:2rem;flex:1}
  .btn-white{display:inline-flex;align-items:center;gap:.5rem;padding:.85rem 1.8rem;background:var(--white);color:var(--rouge);font-family:var(--fd);font-weight:700;font-size:1rem;letter-spacing:.07em;text-transform:uppercase;text-decoration:none;transition:all .2s}
  .btn-white:hover{background:var(--black);color:var(--white)}
  .faq-list{display:flex;flex-direction:column;gap:0}
  .faq-item{border-bottom:1px solid rgba(200,192,180,.2)}
  .faq-q{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.2rem 0;cursor:pointer;font-weight:500;color:var(--black);font-size:.95rem;transition:color .2s;user-select:none}
  .faq-q:hover{color:var(--rouge)}
  .faq-q svg{width:18px;height:18px;stroke:currentColor;fill:none;flex-shrink:0;transition:transform .3s}
  .faq-item.open .faq-q{color:var(--rouge)}
  .faq-item.open .faq-q svg{transform:rotate(180deg)}
  .faq-a{max-height:0;overflow:hidden;transition:max-height .35s ease,padding .3s}
  .faq-item.open .faq-a{max-height:200px;padding-bottom:1rem}
  .faq-a p{color:#666;font-size:.9rem;line-height:1.7}

  /* ── ZONE ── */
  #zone{background:#f0efec;display:grid;grid-template-columns:1fr 1fr;gap:0}
  .zone-left{padding:5rem 4vw 5rem 5vw}
  .zone-list{list-style:none;margin-top:1.5rem}
  .zone-list li{display:flex;align-items:center;gap:.9rem;padding:.9rem 0;border-bottom:1px solid rgba(200,192,180,.2);color:#555;font-size:.93rem;transition:border-color .2s}
  .zone-list li:hover{border-color:rgba(192,57,43,.3)}
  .zone-list li::before{content:'';width:6px;height:6px;background:var(--rouge);flex-shrink:0}
  .zone-list li strong{color:var(--black);font-weight:500}
  .zone-map{background:var(--mid);border-left:3px solid var(--rouge);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;min-height:360px;padding:3rem}
  .zone-map svg{width:56px;height:56px;stroke:var(--rouge-vif);fill:none;opacity:.6}
  .zone-map p{color:var(--steel);font-size:.88rem;text-align:center}

  /* ── CONTACT ── */
  #contact{background:#fff;display:grid;grid-template-columns:1fr 1.4fr;gap:0;border-radius:0;overflow:hidden}
  .contact-left{background:var(--black);padding:5rem 4vw 5rem 5vw;border-right:3px solid var(--rouge)}
  .contact-left .section-title{color:var(--white)}
  .contact-left .section-sub{color:var(--steel)}
  .contact-info{margin-top:2rem;display:flex;flex-direction:column;gap:1.2rem}
  .ci-item{display:flex;align-items:flex-start;gap:.9rem}
  .ci-icon{width:34px;height:34px;background:rgba(192,57,43,.15);border:1px solid rgba(192,57,43,.3);display:flex;align-items:center;justify-content:center;flex-shrink:0}
  .ci-icon svg{width:16px;height:16px;stroke:var(--rouge-vif);fill:none}
  .ci-item strong{color:var(--white);display:block;font-size:.75rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;margin-bottom:.15rem}
  .ci-item p{color:var(--steel);font-size:.88rem;margin:0}
  .contact-right{padding:5rem 5vw}
  .contact-form{display:flex;flex-direction:column;gap:1rem}
  .form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
  .fg{display:flex;flex-direction:column;gap:.35rem}
  .fg label{font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:#999}
  .fg input,.fg select,.fg textarea{background:#f7f7f5;border:1px solid rgba(200,192,180,.3);color:var(--black);padding:.75rem 1rem;font-family:var(--fb);font-size:.9rem;outline:none;transition:border-color .2s,box-shadow .2s}
  .fg input:focus,.fg select:focus,.fg textarea:focus{border-color:var(--rouge);box-shadow:0 0 0 2px rgba(192,57,43,.12)}
  .fg textarea{resize:vertical;min-height:110px}
  .fg input::placeholder,.fg textarea::placeholder{color:#bbb}
  .form-foot{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}
  .form-note{font-size:.78rem;color:#999}

  /* ── FOOTER ── */
  footer{background:#070707;border-top:2px solid var(--rouge);padding:4rem 5vw 2rem}
  .footer-top{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:3rem;margin-bottom:3rem;padding-bottom:3rem;border-bottom:1px solid rgba(200,192,180,.08)}
  .footer-brand{display:flex;flex-direction:column;gap:1rem}
  .footer-logo{display:flex;align-items:center;gap:.6rem;text-decoration:none}
  .footer-logo svg{width:28px;height:28px}
  .footer-logo-txt{font-family:var(--fd);font-weight:800;font-size:1.1rem;letter-spacing:.06em;text-transform:uppercase;color:var(--white)}
  .footer-logo-txt span{color:var(--rouge-vif)}
  .footer-brand p{color:var(--steel);font-size:.85rem;line-height:1.7}
  .footer-social{display:flex;gap:.8rem;margin-top:.5rem}
  .footer-social a{width:32px;height:32px;border:1px solid rgba(200,192,180,.15);display:flex;align-items:center;justify-content:center;transition:border-color .2s,background .2s}
  .footer-social a:hover{border-color:var(--rouge);background:rgba(192,57,43,.12)}
  .footer-social svg{width:14px;height:14px;stroke:var(--steel);fill:none;transition:stroke .2s}
  .footer-social a:hover svg{stroke:var(--rouge-vif)}
  .footer-col h5{font-family:var(--fd);font-weight:700;font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;color:var(--white);margin-bottom:1rem}
  .footer-col ul{list-style:none;display:flex;flex-direction:column;gap:.6rem}
  .footer-col ul a{color:var(--steel);text-decoration:none;font-size:.83rem;transition:color .2s;display:flex;align-items:center;gap:.4rem}
  .footer-col ul a:hover{color:var(--ardoise)}
  .footer-col ul a::before{content:'';width:4px;height:4px;background:rgba(192,57,43,.4);flex-shrink:0}
  .footer-contact-item{display:flex;align-items:flex-start;gap:.6rem;margin-bottom:.8rem}
  .footer-contact-item svg{width:14px;height:14px;stroke:var(--rouge-vif);fill:none;flex-shrink:0;margin-top:2px}
  .footer-contact-item p{color:var(--steel);font-size:.82rem;line-height:1.5;margin:0}
  .footer-bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem}
  .footer-bottom p{color:rgba(138,138,138,.6);font-size:.75rem}
  .footer-bottom-links{display:flex;gap:1.5rem}
  .footer-bottom-links a{color:rgba(138,138,138,.5);text-decoration:none;font-size:.75rem;transition:color .2s}
  .footer-bottom-links a:hover{color:var(--ardoise)}

  /* ── RESPONSIVE ── */
  @media(max-width:1024px){
    #hero{grid-template-columns:1fr;padding-top:6rem;min-height:auto}
    .hero-bg-shape,.hero-rouge-line,.hero-diamond{display:none}
    .hero-img{display:none}
    .hero-stats-bar{grid-template-columns:repeat(2,1fr)}
    #highlight{grid-template-columns:1fr}.hl-img{display:none}
    .hl-content{padding:4rem 5vw}
    #apropos{grid-template-columns:1fr}.ap-left{border-right:none;border-bottom:3px solid var(--rouge);padding-bottom:3rem}.ap-right{padding-top:3rem}
    #faq{grid-template-columns:1fr;gap:2rem}
    #zone{grid-template-columns:1fr}.zone-map{border-left:none;border-top:3px solid var(--rouge)}
    #contact{grid-template-columns:1fr}.contact-left{border-right:none;border-bottom:3px solid var(--rouge);padding-bottom:3rem}
    .footer-top{grid-template-columns:1fr 1fr}
    .detail-grid,.detail-grid.reverse{grid-template-columns:1fr;direction:ltr}
    .mob-grid{grid-template-columns:1fr 1fr}
    .mob-process{grid-template-columns:repeat(3,1fr)}
    .pe-cards{grid-template-columns:1fr 1fr}
    .svc-card{flex:0 0 80vw;}
  }
  @media(max-width:768px){
    nav .nav-links{display:none}
    .hamburger{display:flex}
    .process-steps{flex-direction:column;gap:1.5rem;align-items:center}
    .process-steps::before{display:none}
    .galerie-grid{grid-template-columns:1fr 1fr}
    .hero-stats-bar{grid-template-columns:1fr 1fr}
    .hl-stats{grid-template-columns:1fr 1fr}
    .form-row{grid-template-columns:1fr}
    .footer-top{grid-template-columns:1fr}
    .footer-bottom{flex-direction:column;text-align:center}
    .mob-grid{grid-template-columns:1fr}
    .mob-process{grid-template-columns:1fr 1fr}
    .pe-cards{grid-template-columns:1fr}
    .proc-bar{flex-direction:column;gap:1rem}.pb-arrow{display:none}
  }
  @media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* ── MOBILE FIXES ── */
@media(max-width:768px){
  #faq-zone { display:flex !important; flex-direction:column !important; }
  #faq-zone .faq-cta { min-height:auto !important; order:2; }
  #faq-zone > div:last-child { order:1; }
  #mobilier > div { display:flex !important; flex-direction:column !important; gap:2rem !important; }
  .hero-btns { flex-direction:column !important; align-items:flex-start; gap:1rem !important; padding-bottom:2.5rem; }
  .btn-primary, .btn-ghost { width:100%; justify-content:center; box-sizing:border-box; }
  .galerie-grid { grid-template-columns:1fr !important; }
  #contact { display:block !important; }
  .contact-left { padding-bottom:2rem; border-bottom:3px solid var(--rouge); }
  .proc-bar { align-items:stretch !important; }
  .pb-step { width:100%; text-align:center; }
  .section-title { font-size:clamp(1.6rem,7vw,2.8rem) !important; word-break:break-word; }
  .section { padding:3rem 5vw; }
  .hero-content { padding:0 5vw; }
}