/* ============================================================
   H GROUP TRAVAUX — style.css v5
   Maquettes client appliquées intégralement
   ============================================================ */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
:root{
  --gold:#c8862a;--gold-d:#a86e20;--gold-l:#fff3dc;
  --dark:#0d1a2e;--dark2:#111f33;--navy:#1a2d4a;
  --white:#fff;--off:#f7f9fc;--text:#1e293b;--muted:#64748b;
  --border:#e2e8f0;--radius:10px;
  --sh-sm:0 2px 8px rgba(0,0,0,.06);
  --sh-md:0 8px 28px rgba(0,0,0,.10);
  --sh-lg:0 24px 60px rgba(0,0,0,.15);
  --tr:.27s cubic-bezier(.4,0,.2,1);
}

html{scroll-behavior:smooth}
body{font-family:'Inter',system-ui,sans-serif;color:var(--text);line-height:1.65;background:#fff;-webkit-font-smoothing:antialiased}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
.container{max-width:1200px;margin:0 auto;padding:0 32px}
.center{text-align:center}
h1,h2,h3,h4{line-height:1.15;color:var(--dark);font-weight:800;letter-spacing:-.025em}
h2{font-size:clamp(1.65rem,3vw,2.25rem);margin-bottom:12px}
h3{font-size:1.15rem}
.gold{color:var(--gold)}
.section-label{display:inline-flex;align-items:center;gap:8px;font-size:.68rem;font-weight:700;letter-spacing:2.8px;text-transform:uppercase;color:var(--gold);margin-bottom:10px}
.section-label::before{content:'';display:block;width:24px;height:2px;background:var(--gold);border-radius:2px}
.section-label.c{display:flex;justify-content:center}

/* BOUTONS */
.btn-gold{background:var(--gold);color:#fff;padding:13px 26px;border-radius:var(--radius);font-weight:700;font-size:.87rem;display:inline-flex;align-items:center;gap:8px;border:2px solid var(--gold);cursor:pointer;transition:var(--tr);position:relative;overflow:hidden}
.btn-gold::after{content:'';position:absolute;inset:0;background:rgba(255,255,255,.13);transform:translateX(-100%);transition:transform .38s}
.btn-gold:hover::after{transform:translateX(0)}
.btn-gold:hover{background:var(--gold-d);transform:translateY(-2px);box-shadow:0 8px 22px rgba(200,134,42,.35)}
.btn-gold.full{width:100%;justify-content:center}
.btn-outline-white{background:transparent;color:#fff;padding:13px 26px;border-radius:var(--radius);font-weight:700;font-size:.87rem;display:inline-flex;align-items:center;gap:8px;border:2px solid rgba(255,255,255,.45);transition:var(--tr)}
.btn-outline-white:hover{border-color:#fff;background:rgba(255,255,255,.1);transform:translateY(-2px)}
.btn-dark-outline{background:transparent;color:var(--dark);padding:11px 22px;border:2px solid var(--dark);border-radius:var(--radius);font-weight:700;font-size:.84rem;display:inline-flex;align-items:center;gap:7px;transition:var(--tr);cursor:pointer}
.btn-dark-outline:hover{background:var(--dark);color:#fff}
.btn-navy{background:var(--dark);color:#fff;padding:13px 26px;border-radius:var(--radius);font-weight:700;font-size:.87rem;display:inline-flex;align-items:center;gap:8px;border:2px solid var(--dark);cursor:pointer;transition:var(--tr)}
.btn-navy:hover{background:var(--navy);transform:translateY(-2px)}
.btn-navy.full{width:100%;justify-content:center}

/* NAVBAR */
.navbar{background:var(--dark);padding:0 32px;position:sticky;top:0;z-index:999;box-shadow:0 2px 24px rgba(0,0,0,.4);transition:box-shadow .3s}
.navbar.scrolled{box-shadow:0 4px 36px rgba(0,0,0,.55)}
.nav-inner{max-width:1360px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;height:72px}
.logo{display:flex;align-items:center;gap:12px}
.logo-icon{width:46px;height:46px;border-radius:8px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:var(--gold);flex-shrink:0}
.logo-icon img{width:100%;height:100%;object-fit:contain}
.logo-icon-letter{color:#fff;font-size:1.4rem;font-weight:900}
.logo-text strong{display:block;color:#fff;font-size:1rem;font-weight:900;letter-spacing:.2px}
.logo-text span{font-size:.6rem;color:#94a3b8;letter-spacing:1.4px;text-transform:uppercase}
.nav-links{list-style:none;display:flex;gap:2px}
.nav-links li a{color:#94a3b8;font-size:.77rem;font-weight:600;padding:8px 12px;border-radius:6px;transition:color var(--tr);text-transform:uppercase;letter-spacing:.5px;position:relative}
.nav-links li a::after{content:'';position:absolute;bottom:3px;left:50%;right:50%;height:2px;background:var(--gold);border-radius:2px;transition:all .25s}
.nav-links li a:hover,.nav-links li a.active{color:#fff}
.nav-links li a.active::after,.nav-links li a:hover::after{left:12px;right:12px}
.nav-right{display:flex;align-items:center;gap:18px}
.nav-phone-block{display:flex;align-items:center;gap:10px}
.nav-phone-ico{width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;font-size:.95rem}
.nav-phone-block strong{display:block;color:#fff;font-size:.9rem;font-weight:800}
.nav-phone-block small{color:#64748b;font-size:.67rem}
/* NAV-PHONE (used in HTML pages) */
.nav-phone{display:flex;align-items:center;gap:10px;cursor:pointer}
.nav-phone .phone-icon{font-size:1.1rem}
.nav-phone strong{display:block;color:#fff;font-size:.9rem;font-weight:800}
.nav-phone small{color:#64748b;font-size:.67rem}
.nav-phone a{text-decoration:none}
.btn-espace{background:var(--gold);color:#fff;padding:9px 18px;border-radius:7px;font-size:.77rem;font-weight:700;transition:var(--tr);display:flex;align-items:center;gap:6px;border:none;cursor:pointer}
.btn-espace:hover{background:var(--gold-d);transform:translateY(-1px)}
.nav-toggle{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:6px}
.nav-toggle span{display:block;width:24px;height:2px;background:#fff;border-radius:2px;transition:var(--tr)}
.nav-mobile{display:none}

/* HERO */
.hero{position:relative;min-height:40vh;display:flex;align-items:center;overflow:hidden}
.hero-bg{position:absolute;inset:0;z-index:0}
.hero-bg img{width:100%;height:60%;object-fit:cover;transform:scale(1.04);transition:transform 9s ease}
.hero.loaded .hero-bg img{transform:scale(1)}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(105deg,rgba(8,17,31,.94) 0%,rgba(8,17,31,.8) 50%,rgba(8,17,31,.35) 100%)}
.hero-content{position:relative;z-index:2;width:100%;max-width:1360px;margin:0 auto;padding:100px 44px 72px;display:grid;grid-template-columns:1fr 470px;gap:52px;align-items:start}
.hero-tag{display:inline-flex;align-items:center;gap:8px;color:var(--gold);font-size:1.61rem;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;margin-bottom:20px;background:rgba(200,134,42,.13);padding:6px 16px;border-radius:20px;border:1px solid rgba(200,134,42,.28)}
.hero h1{font-size:clamp(2.8rem,5vw,4.5rem);font-weight:900;color:#fff;line-height:1.04;margin-bottom:20px;letter-spacing:-.03em}
.hero h1 em{color:var(--gold);font-style:italic}
.hero-left>p{color:#b8cce0;font-size:1rem;line-height:1.8;max-width:490px;margin-bottom:26px}
.hero-badges{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:28px}
.hero-badges span{color:#e2e8f0;font-size:.82rem;font-weight:600;display:flex;align-items:center;gap:7px}
.hero-btns{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:34px}
.expert-card{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.13);border-radius:14px;padding:22px;display:flex;gap:18px;align-items:flex-start;max-width:500px;backdrop-filter:blur(14px)}
.expert-card img{width:82px;height:82px;border-radius:50%;object-fit:cover;border:3px solid var(--gold);flex-shrink:0;box-shadow:0 0 0 5px rgba(200,134,42,.15)}
.expert-info strong{color:#fff;font-size:1.02rem;display:block;margin-bottom:3px;font-weight:800}
.expert-info em{color:var(--gold);font-size:.78rem;font-style:normal;display:block;margin-bottom:10px}
.expert-info ul{list-style:none}
.expert-info ul li{color:#cbd5e1;font-size:.78rem;padding:2px 0;display:flex;align-items:flex-start;gap:7px}
.expert-desc{color:#64748b;font-size:.71rem;margin-top:9px;line-height:1.6;font-style:italic}

/* VISIO CARD */
.visio-card{background:#fff;border-radius:18px;padding:28px 26px;box-shadow:0 32px 90px rgba(0,0,0,.32);max-height:92vh;overflow-y:auto}
.visio-title{font-weight:900;font-size:.97rem;color:var(--dark);text-align:center;margin-bottom:5px}
.visio-sub{text-align:center;color:var(--muted);font-size:.79rem;margin-bottom:18px}
.visio-options{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-bottom:18px}
.visio-opt{border:2px solid var(--border);border-radius:10px;padding:13px 8px;text-align:center;cursor:pointer;transition:var(--tr)}
.visio-opt:hover,.visio-opt.active{border-color:var(--gold);background:var(--gold-l);box-shadow:0 4px 14px rgba(200,134,42,.18)}
.visio-icon{font-size:1.5rem;margin-bottom:6px}
.visio-opt strong{font-size:.71rem;color:var(--dark);font-weight:700;display:block;margin-bottom:5px;line-height:1.35}
.v-badge{background:var(--gold-l);color:var(--gold);font-size:.67rem;font-weight:700;padding:2px 9px;border-radius:10px;display:inline-block;margin-bottom:5px}
.visio-opt p{font-size:.67rem;color:var(--muted);line-height:1.45}

/* CALENDRIER */
.calendar{background:var(--off);border-radius:12px;padding:16px}
.cal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.cal-header strong{font-size:.88rem;font-weight:700;color:var(--dark)}
.cal-header button{background:none;border:1px solid var(--border);width:28px;height:28px;border-radius:6px;cursor:pointer;font-size:1rem;transition:var(--tr);display:flex;align-items:center;justify-content:center;color:var(--muted)}
.cal-header button:hover{background:var(--gold);color:#fff;border-color:var(--gold)}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;margin-bottom:12px}
.day-label{font-size:.6rem;font-weight:700;color:#94a3b8;text-align:center;padding:3px 0}
.day{font-size:.74rem;text-align:center;padding:7px 2px;border-radius:5px;cursor:pointer;transition:var(--tr);color:var(--text)}
.day:hover{background:var(--gold);color:#fff}
.day.today{background:var(--dark);color:#fff;font-weight:700;border-radius:50%;box-shadow:0 2px 8px rgba(13,26,46,.4)}
.day.selected{background:var(--gold);color:#fff;font-weight:700;border-radius:50%}
.day.disabled{color:#cbd5e1;cursor:default;pointer-events:none}
.time-slots{margin-bottom:12px}
.time-slots strong{font-size:.76rem;display:block;margin-bottom:9px;color:var(--dark);font-weight:700}
.slots{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.slot{border:1.5px solid var(--border);padding:7px 14px;border-radius:7px;font-size:.78rem;cursor:pointer;transition:var(--tr);background:#fff;font-weight:600}
.slot:hover,.slot.active{background:var(--dark);color:#fff;border-color:var(--dark)}
.cal-badges{display:grid;grid-template-columns:1fr 1fr 1fr;gap:5px;margin-bottom:14px}
.cal-badges span{font-size:.67rem;color:var(--muted);text-align:center;line-height:1.4}

/* STATS BAR */
.stats-bar{background:var(--dark2);padding:26px 32px;display:flex;justify-content:center;flex-wrap:wrap}
.stat-item{display:flex;align-items:center;gap:14px;color:#fff;padding:10px 36px;border-right:1px solid rgba(255,255,255,.07)}
.stat-item:last-child{border-right:none}
.stat-icon{font-size:1.7rem}
.stat-item strong{display:block;font-size:.88rem;font-weight:700}
.stat-item small{font-size:.72rem;color:#64748b}

/* PAGE HERO */
.page-hero{position:relative;min-height:440px;display:flex;align-items:center;overflow:hidden}
.page-hero .hero-bg{position:absolute;inset:0;z-index:0}
.page-hero .hero-bg img{width:100%;height:100%;object-fit:cover}
.page-hero .hero-overlay{position:absolute;inset:0;background:linear-gradient(95deg,rgba(8,17,31,.93) 0%,rgba(8,17,31,.65) 100%)}
.page-hero-content{position:relative;z-index:2;padding:80px 64px;max-width:820px}
.breadcrumb{color:#64748b;font-size:.77rem;margin-bottom:18px;display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.breadcrumb a{color:#64748b;transition:color .2s}
.breadcrumb a:hover{color:var(--gold)}
.page-hero-content h1{font-size:clamp(2.2rem,4.5vw,3.2rem);font-weight:900;color:#fff;margin-bottom:16px}
.hero-line{width:50px;height:4px;background:var(--gold);border-radius:3px;margin-bottom:22px}
.page-hero-content p{color:#b8cce0;font-size:1rem;line-height:1.75;max-width:620px}
.hero-btns{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}

/* ABOUT */
.about-section{padding:80px 0}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:68px;align-items:start}
.about-text p{color:var(--muted);margin-bottom:14px;line-height:1.8;font-size:.97rem}
.about-values{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.value-card{background:var(--off);border-radius:12px;padding:22px;border:1.5px solid transparent;transition:var(--tr)}
.value-card:hover{border-color:var(--gold);box-shadow:0 6px 22px rgba(200,134,42,.1);transform:translateY(-3px)}
.val-icon{font-size:1.6rem;margin-bottom:10px}
.value-card strong{display:block;font-weight:800;margin-bottom:7px;color:var(--dark);font-size:.92rem}
.value-card p{font-size:.83rem;color:var(--muted);line-height:1.6}
.value-card ul{list-style:none;font-size:.83rem;color:var(--muted)}
.value-card ul li{padding:2px 0;display:flex;align-items:center;gap:6px}
.about-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:30px}
.stat-box{background:var(--dark);border-radius:12px;padding:22px;text-align:center}
.stat-box .num{font-size:2.2rem;font-weight:900;color:var(--gold);display:block}
.stat-box span{font-size:.78rem;color:#94a3b8}

/* SAVOIR-FAIRE */
.savoir-faire{padding:80px 0;background:var(--off)}
.sf-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:18px;margin-top:40px}
.sf-card{background:#fff;border-radius:14px;padding:28px 18px;text-align:center;border:1.5px solid var(--border);transition:var(--tr);position:relative;overflow:hidden}
.sf-card::before{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--gold);transform:scaleX(0);transition:transform .3s;transform-origin:left}
.sf-card:hover{transform:translateY(-5px);box-shadow:var(--sh-md);border-color:var(--gold)}
.sf-card:hover::before{transform:scaleX(1)}
.sf-icon{font-size:2rem;margin-bottom:12px}
.sf-card strong{display:block;font-weight:800;margin-bottom:7px;color:var(--dark);font-size:.9rem}
.sf-card p{font-size:.8rem;color:var(--muted);line-height:1.6}

/* CTA BAND */
.cta-band{background:linear-gradient(135deg,var(--dark) 0%,var(--navy) 100%);padding:10px 10px}
.cta-band-inner{display:flex;align-items:center;justify-content:space-between;gap:40px;flex-wrap:wrap}
.cta-band h3{font-size:1.55rem;font-weight:900;color:#fff;margin-bottom:10px}
.cta-band p{color:#94a3b8;font-size:.94rem;max-width:560px;line-height:1.7}
.cta-band-bottom{background:var(--dark2);padding:22px 32px;border-top:1px solid rgba(255,255,255,.06)}
.cta-band-bottom-inner{display:flex;justify-content:center;flex-wrap:wrap}
.cb-item{display:flex;align-items:center;gap:12px;color:#fff;padding:10px 36px;border-right:1px solid rgba(255,255,255,.06)}
.cb-item:last-child{border-right:none}
.cb-item>span{font-size:1.5rem}
.cb-item strong{display:block;font-size:.83rem;font-weight:700;color:#fff}
.cb-item small{font-size:.7rem;color:#64748b}

/* ACCOMPAGNEMENT */
.accompagnement{padding:70px 0}
.accomp-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:18px;margin-top:36px}
.accomp-item{text-align:center;padding:28px 18px;background:var(--off);border-radius:12px;border:1.5px solid transparent;transition:var(--tr)}
.accomp-item:hover{border-color:var(--gold);box-shadow:var(--sh-sm);transform:translateY(-3px)}
.accomp-icon{font-size:2rem;margin-bottom:12px}
.accomp-item strong{font-size:.86rem;color:var(--dark);font-weight:700;line-height:1.4}

/* EXPERTISES */
.expertises{padding:80px 0}
.exp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.exp-card{background:#fff;border-radius:16px;overflow:hidden;border:1.5px solid var(--border);transition:var(--tr)}
.exp-card:hover{box-shadow:var(--sh-lg);transform:translateY(-5px);border-color:transparent}
.exp-img-wrap{position:relative;height:220px;overflow:hidden}
.exp-img-wrap img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.exp-card:hover .exp-img-wrap img{transform:scale(1.06)}
.badge-av,.badge-ap{font-size:.66rem;font-weight:700;padding:4px 10px;border-radius:5px;letter-spacing:.5px;position:absolute;bottom:12px}
.badge-av{left:12px;background:rgba(0,0,0,.65);color:#fff}
.badge-ap{left:80px;background:var(--gold);color:#fff}
.exp-body{padding:26px}
.exp-icon{font-size:1.6rem;margin-bottom:10px}
.exp-body h3{font-size:1.1rem;font-weight:800;color:var(--dark);margin-bottom:7px}
.exp-body p{color:var(--muted);font-size:.84rem;line-height:1.65;margin-bottom:9px}
.exp-list{list-style:none;margin:12px 0}
.exp-list li{font-size:.81rem;color:var(--muted);padding:3px 0 3px 16px;position:relative;line-height:1.5}
.exp-list li::before{content:'✓';color:var(--gold);position:absolute;left:0;font-weight:700;font-size:.76rem}
.exp-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:28px}
.exp-card2{background:#fff;border-radius:16px;overflow:hidden;border:1.5px solid var(--border);display:grid;grid-template-columns:1fr 1.5fr;transition:var(--tr)}
.exp-card2:hover{box-shadow:var(--sh-lg);transform:translateY(-4px);border-color:transparent}
.exp2-img{overflow:hidden}
.exp2-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.exp-card2:hover .exp2-img img{transform:scale(1.06)}
.exp2-body{padding:26px}
.two-cols{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:12px}
.two-cols strong{font-size:.79rem;font-weight:700;color:var(--dark);display:block;margin-bottom:8px}

/* PROCESSUS */
.processus{padding:80px 0;background:var(--dark)}
.processus h2{color:#fff}
.processus .section-label{color:var(--gold)}
.process-steps{display:flex;align-items:flex-start;justify-content:center;margin-top:50px;flex-wrap:wrap}
.step{text-align:center;padding:22px 16px;max-width:160px}
.step-num{background:var(--gold);color:#fff;width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:.88rem;margin:0 auto 12px;box-shadow:0 4px 14px rgba(200,134,42,.4)}
.step-icon{font-size:1.6rem;margin-bottom:8px}
.step strong{display:block;font-size:.88rem;font-weight:700;color:#fff;margin-bottom:6px}
.step p{font-size:.76rem;color:#94a3b8;line-height:1.55}
.step-arrow{font-size:1.6rem;color:rgba(200,134,42,.5);padding-top:30px}

/* POURQUOI */
.pourquoi{padding:80px 0}
.pourquoi-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:start;margin-top:36px}
.pourquoi-items{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.pourquoi-item{display:flex;align-items:flex-start;gap:13px}
.pq-icon{font-size:1.5rem;flex-shrink:0;margin-top:2px}
.pourquoi-item strong{display:block;font-size:.9rem;font-weight:700;color:var(--dark);margin-bottom:5px}
.pourquoi-item p{font-size:.81rem;color:var(--muted);line-height:1.6}
.pourquoi-visio{background:var(--dark);border-radius:16px;padding:30px}
.pourquoi-visio h3{font-size:1.2rem;font-weight:800;color:#fff;margin-bottom:9px}
.pourquoi-visio p{color:#94a3b8;font-size:.88rem;margin-bottom:22px;line-height:1.65}
.visio-mini-items{display:flex;flex-direction:column;gap:9px;margin-bottom:22px}
.visio-mini-item{display:flex;align-items:center;gap:11px;font-size:.83rem;color:#cbd5e1}

/* RÉALISATIONS */
.realisations-section{padding:10px 0}
.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:40px}
.filter-btn{background:transparent;border:1.5px solid var(--border);color:var(--muted);padding:8px 18px;border-radius:7px;font-size:.77rem;font-weight:600;cursor:pointer;transition:var(--tr);letter-spacing:.3px}
.filter-btn:hover,.filter-btn.active{background-color:#409547;color:#fff;border-color:var(--dark)}
.projects-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.project-card{background:#fff;border-radius:16px;overflow:hidden;border:1.5px solid var(--border);transition:var(--tr)}
.project-card:hover{transform:translateY(-5px);box-shadow:var(--sh-lg);border-color:transparent}
.project-card.hidden{display:none}
.project-img{position:relative;height:230px;overflow:hidden}
.project-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.project-card:hover .project-img img{transform:scale(1.06)}
.project-badge{position:absolute;top:14px;left:14px;font-size:.67rem;font-weight:700;padding:4px 11px;border-radius:5px;text-transform:uppercase;letter-spacing:.5px}
.project-badge.renovation{background:#c8862a;color:#fff}
.project-badge.construction{background:#1a2d4a;color:#fff}
.project-badge.amenagement{background:#0f766e;color:#fff}
.project-badge.extension{background:#6d28d9;color:#fff}
.project-badge.bureaux{background:#1d4ed8;color:#fff}
.project-badge.sdb{background:#be185d;color:#fff}
.project-badge.cuisine{background:#b45309;color:#fff}
.project-body{padding:22px}
.project-body h3{font-size:.98rem;font-weight:800;color:var(--dark);margin-bottom:7px;line-height:1.4}
.project-location{color:var(--gold);font-size:.78rem;font-weight:600;margin-bottom:9px}
.project-body p{font-size:.82rem;color:var(--muted);line-height:1.65;margin-bottom:14px}
.project-link{color:var(--gold);font-size:.81rem;font-weight:700;display:inline-flex;align-items:center;gap:5px;transition:gap .2s}
.project-link:hover{gap:9px}

/* TÉMOIGNAGES */
.temoignages,.temoignages-section{padding:80px 0;background:var(--off)}
.temoignages-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:40px}
.temoignage-card{background:#fff;border-radius:16px;padding:28px;border:1.5px solid var(--border);transition:var(--tr);position:relative}
.temoignage-card::before{content:'"';position:absolute;top:14px;right:18px;font-size:4rem;color:#f5e6cc;font-family:Georgia,serif;line-height:1}
.temoignage-card:hover{box-shadow:var(--sh-md);transform:translateY(-3px);border-color:var(--gold-l)}
.stars{color:var(--gold);font-size:1rem;margin-bottom:14px;letter-spacing:3px}
.temoignage-card p{font-size:.86rem;color:var(--muted);font-style:italic;line-height:1.75;margin-bottom:18px;position:relative;z-index:1}
.temoignage-author{display:flex;align-items:center;gap:12px}
.temoignage-author img{width:46px;height:46px;border-radius:50%;object-fit:cover;border:2px solid var(--gold)}
.temoignage-author strong{display:block;font-size:.88rem;font-weight:700;color:var(--dark)}
.temoignage-author small{font-size:.74rem;color:var(--muted)}

/* CTA VISIO */
.cta-visio{background:var(--dark2);padding:48px 32px}
.cta-visio-inner{display:flex;align-items:center;justify-content:space-between;gap:35px;flex-wrap:wrap}
.cta-visio-left{display:flex;align-items:flex-start;gap:22px}
.cta-icon{font-size:2.5rem}
.cta-visio-left h3{font-size:1.3rem;font-weight:800;color:#fff;margin-bottom:8px}
.cta-visio-left p{color:#94a3b8;font-size:.9rem;line-height:1.6}
.cta-visio-right{display:flex;flex-direction:column;align-items:flex-end;gap:12px}
.cta-badges{display:flex;gap:18px;flex-wrap:wrap}
.cta-badges span{color:#94a3b8;font-size:.79rem;display:flex;align-items:center;gap:5px}

/* CONTACT */
.garanties-bar{background:var(--off);padding:28px 32px;border-bottom:1.5px solid var(--border)}
.garanties-inner{display:flex;justify-content:center;gap:50px;flex-wrap:wrap;max-width:1200px;margin:0 auto}
.gar-item{display:flex;align-items:center;gap:14px}
.gar-ico{font-size:1.8rem}
.gar-item strong{display:block;font-size:.88rem;font-weight:700;color:var(--dark)}
.gar-item small{font-size:.74rem;color:var(--muted)}
.contact-section{padding:80px 0}
.contact-grid{display:grid;grid-template-columns:1.1fr 0.9fr;gap:52px;align-items:start}
.contact-form-wrap h2{font-size:1.55rem;font-weight:800;color:var(--dark);margin-bottom:8px}
.contact-form{display:flex;flex-direction:column;gap:18px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.form-group{display:flex;flex-direction:column;gap:7px}
.form-group label{font-size:.8rem;font-weight:700;color:var(--dark)}
.form-group input,.form-group select,.form-group textarea{border:1.5px solid var(--border);border-radius:8px;padding:12px 14px;font-size:.88rem;font-family:'Inter',sans-serif;transition:var(--tr);outline:none;color:var(--dark);background:#fff}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(200,134,42,.1)}
.form-group select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%2364748b' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center}
.form-check{display:flex;align-items:flex-start;gap:10px;font-size:.81rem;color:var(--muted);cursor:pointer}
.form-check input{margin-top:2px;accent-color:var(--gold);width:16px;height:16px;flex-shrink:0}
.visio-box{background:var(--dark);border-radius:18px;padding:32px;color:#fff;position:sticky;top:90px}
.visio-box h2{font-size:1.3rem;font-weight:800;color:#fff;margin-bottom:10px}
.visio-box>p{color:#94a3b8;font-size:.87rem;margin-bottom:22px;line-height:1.65}
.visio-list{list-style:none;margin-bottom:24px}
.visio-list li{color:#cbd5e1;font-size:.87rem;padding:5px 0;display:flex;align-items:center;gap:9px;border-bottom:1px solid rgba(255,255,255,.05)}
.visio-list li:last-child{border-bottom:none}
.visio-expert{display:flex;align-items:flex-start;gap:14px;background:rgba(255,255,255,.06);border-radius:10px;padding:16px;margin-bottom:22px;border:1px solid rgba(255,255,255,.08)}
.visio-expert img{width:64px;height:64px;border-radius:50%;object-fit:cover;border:2px solid var(--gold);flex-shrink:0}
.visio-expert strong{display:block;color:#fff;font-size:.88rem;margin-bottom:5px}
.visio-expert p{color:#94a3b8;font-size:.79rem;line-height:1.55}
.visio-phone{display:flex;align-items:center;gap:14px;padding-top:20px;border-top:1px solid rgba(255,255,255,.08);margin-top:20px}
.visio-phone>span{font-size:1.5rem}
.visio-phone strong{display:block;color:#fff;font-size:.84rem;margin-bottom:3px}
.visio-phone big{display:block;font-size:1.15rem;font-weight:800;color:var(--gold)}
.visio-phone small{color:#475569;font-size:.73rem}
.coordonnees-section{padding:70px 0;background:var(--off)}
.coordonnees-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:52px;align-items:start}
.coordonnees h2{font-size:1.5rem;font-weight:800;color:var(--dark);margin-bottom:28px}
.coord-item{display:flex;align-items:flex-start;gap:14px;margin-bottom:24px}
.ci-icon{font-size:1.5rem;flex-shrink:0;margin-top:2px}
.coord-item strong{display:block;font-size:.84rem;font-weight:700;color:var(--dark);margin-bottom:4px}
.coord-item p{font-size:.84rem;color:var(--muted);line-height:1.65}
.faq-section{padding:74px 0}
.faq-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:36px}
.faq-item{border:1.5px solid var(--border);border-radius:10px;overflow:hidden;transition:border-color .2s}
.faq-item:hover{border-color:var(--gold)}
.faq-q{padding:18px 22px;font-weight:700;font-size:.88rem;cursor:pointer;display:flex;justify-content:space-between;align-items:center;color:var(--dark);user-select:none;transition:background .2s}
.faq-q:hover{background:var(--off)}
.faq-q.open{background:var(--off);color:var(--gold)}
.faq-arrow{color:var(--gold);font-size:.9rem;transition:transform .3s}
.faq-q.open .faq-arrow{transform:rotate(180deg)}
.faq-a{padding:0 22px;max-height:0;overflow:hidden;font-size:.84rem;color:var(--muted);transition:all .35s;line-height:1.75}
.faq-a.open{padding:14px 22px 20px;max-height:300px}

/* FOOTER */
.footer{background:var(--dark);padding:60px 32px 0}
.footer-inner{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:50px;padding-bottom:55px}
.footer-logo{display:flex;align-items:center;gap:11px;margin-bottom:18px}
.footer-desc{color:#475569;font-size:.84rem;line-height:1.75;margin-bottom:22px}
.footer-contact-item{display:flex;align-items:center;gap:10px;color:#64748b;font-size:.82rem;margin-bottom:9px}
.footer-contact-item span:first-child{color:var(--gold)}
.footer h4{color:#fff;font-size:.85rem;font-weight:700;margin-bottom:18px;text-transform:uppercase;letter-spacing:.8px}
.footer ul{list-style:none}
.footer ul li{margin-bottom:9px}
.footer ul li a{color:#475569;font-size:.84rem;transition:color .2s;display:flex;align-items:center;gap:5px}
.footer ul li a:hover{color:var(--gold)}
.footer ul li a::before{content:'›';color:var(--gold);font-weight:700}
.footer-social{display:flex;gap:10px;margin-top:18px}
.social-btn{width:36px;height:36px;border-radius:8px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;color:#94a3b8;font-size:.85rem;transition:var(--tr);text-decoration:none}
.social-btn:hover{background:var(--gold);border-color:var(--gold);color:#fff;transform:translateY(-2px)}
.footer-bottom{border-top:1px solid rgba(255,255,255,.06);padding:22px 0;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px}
.footer-bottom p,.footer-bottom a{color:#334155;font-size:.78rem}
.footer-bottom a:hover{color:var(--gold)}
.footer-bottom-links{display:flex;gap:20px}

/* SERVICES PAGE */
.services-hero-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:55px;align-items:start;padding:80px 0}
.service-detail{padding:80px 0}
.service-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:start}
.service-img-wrap{border-radius:18px;overflow:hidden;box-shadow:var(--sh-lg)}
.service-img-wrap img{width:100%;height:440px;object-fit:cover}
.services-list-section{padding:60px 0;background:var(--off)}
.services-list-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:36px}
.service-mini-card{background:#fff;border-radius:14px;padding:26px;border:1.5px solid var(--border);transition:var(--tr);display:flex;flex-direction:column;gap:14px}
.service-mini-card:hover{transform:translateY(-4px);box-shadow:var(--sh-md);border-color:var(--gold)}
.sm-icon{font-size:2rem}
.service-mini-card h3{font-size:1rem;font-weight:800;color:var(--dark);margin:0}
.service-mini-card p{font-size:.83rem;color:var(--muted);line-height:1.65;flex:1}

/* A-PROPOS */
.team-section{padding:80px 0}
.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:40px}
.team-card{background:#fff;border-radius:16px;overflow:hidden;border:1.5px solid var(--border);transition:var(--tr)}
.team-card:hover{transform:translateY(-4px);box-shadow:var(--sh-md)}
.team-img{height:280px;overflow:hidden}
.team-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.team-card:hover .team-img img{transform:scale(1.05)}
.team-body{padding:22px}
.team-body strong{display:block;font-weight:800;font-size:1rem;color:var(--dark);margin-bottom:4px}
.team-body em{color:var(--gold);font-style:normal;font-size:.8rem;display:block;margin-bottom:9px}
.team-body p{font-size:.82rem;color:var(--muted);line-height:1.65}
.certifs-section{padding:60px 0;background:var(--off)}
.certifs-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:36px}
.certif-card{background:#fff;border-radius:12px;padding:26px;text-align:center;border:1.5px solid var(--border);transition:var(--tr)}
.certif-card:hover{border-color:var(--gold);box-shadow:var(--sh-sm)}
.certif-card strong{display:block;font-size:.9rem;font-weight:800;color:var(--dark);margin:10px 0 7px}
.certif-card p{font-size:.8rem;color:var(--muted);line-height:1.6}

/* ANIMATIONS */
@keyframes slideUp{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}
@keyframes slideDown{from{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}
.anim-up{opacity:0;transform:translateY(30px);transition:opacity .7s,transform .7s}
.anim-up.visible{opacity:1;transform:translateY(0)}

/* RESPONSIVE */
@media(max-width:1100px){
  .nav-phone{display:none}

  .hero-content{grid-template-columns:1fr;padding:60px 28px}
  .visio-card{max-width:570px}
  .exp-grid{grid-template-columns:1fr 1fr}
  .sf-grid{grid-template-columns:repeat(3,1fr)}
  .footer-inner{grid-template-columns:1fr 1fr}
  .stat-item{padding:10px 22px}
  .cb-item{padding:10px 22px}
  .certifs-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:768px){
  .nav-links,.nav-phone-block,.btn-espace,.nav-phone{display:none}
  .nav-toggle{display:flex}
  .nav-mobile.open{display:flex;flex-direction:column;gap:4px;padding:16px;background:var(--dark);border-top:1px solid rgba(255,255,255,.08)}
  .nav-mobile a{color:#94a3b8;font-size:.88rem;font-weight:600;padding:12px 16px;border-radius:7px;text-transform:uppercase;letter-spacing:.5px}
  .nav-mobile a:hover,.nav-mobile a.active{color:#fff;background:rgba(255,255,255,.06)}
  /* Add phone link in mobile menu */
  .nav-mobile .nav-mobile-phone{display:block;padding:12px 16px;border-top:1px solid rgba(255,255,255,.08);margin-top:8px}
  .nav-mobile .nav-mobile-phone a{color:var(--gold);font-weight:800;font-size:1rem;text-transform:none;letter-spacing:0}
  .hero-content{grid-template-columns:1fr;padding:60px 20px 40px;gap:32px}
  .hero h1{font-size:clamp(2rem,8vw,3rem)}
  .hero-left>p{font-size:.92rem}
  .visio-card{max-width:100%;padding:20px 18px}
  .about-grid,.pourquoi-grid,.contact-grid,.coordonnees-grid,.cta-band-inner,.services-hero-grid,.service-detail-grid{grid-template-columns:1fr}
  .about-values,.about-stats{grid-template-columns:1fr}
  .sf-grid{grid-template-columns:repeat(2,1fr)}
  .exp-grid,.projects-grid,.temoignages-grid,.services-list-grid,.team-grid{grid-template-columns:1fr}
  .exp-card2{grid-template-columns:1fr !important}
  .exp-grid-2{grid-template-columns:1fr}
  .form-row{grid-template-columns:1fr}
  .page-hero-content{padding:50px 20px}
  .page-hero h1{font-size:2rem}
  .page-hero p{font-size:.88rem}
  .accomp-grid{grid-template-columns:repeat(2,1fr)}
  .pourquoi-items{grid-template-columns:1fr}
  .stats-bar{flex-direction:column}
  .stat-item{border-right:none;border-bottom:1px solid rgba(255,255,255,.06);width:100%;padding:14px 24px}
  .faq-grid{grid-template-columns:1fr}
  .step-arrow{display:none}
  .process-steps{flex-direction:column;align-items:center;gap:16px}
  .step{width:100%;max-width:320px}
  .garanties-inner{gap:24px;flex-direction:column}
  .cta-visio-inner{flex-direction:column}
  .cta-visio-right{align-items:flex-start}
  .footer-inner{grid-template-columns:1fr;gap:28px}
  .visio-options{grid-template-columns:1fr}
  .cta-band-bottom-inner{flex-direction:column}
  .cb-item{border-right:none}
  .cal-badges{grid-template-columns:1fr}
  .certifs-grid{grid-template-columns:1fr 1fr}
  .two-cols{grid-template-columns:1fr !important}
  .filters{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;gap:8px;padding-bottom:8px}
  .filter-btn{white-space:nowrap;flex-shrink:0}
  .container{padding:0 18px}
  .navbar{padding:0 18px}
  .nav-inner{height:60px}
  .logo-text strong{font-size:.85rem}
  .logo-text span{font-size:.55rem}
  .logo-icon{width:38px;height:38px}
  .logo-icon-img{width:38px !important;height:38px !important}
  .footer-logo .logo-icon-img{width:44px !important;height:44px !important}
  .hero-badges{gap:8px}
  .hero-badges span{font-size:.76rem}
  .hero-btns{flex-direction:column;gap:10px}
  .hero-btns .btn-gold,.hero-btns .btn-outline-white,.hero-btns .btn-primary,.hero-btns .btn-white{width:100%;justify-content:center}
  .expert-card{padding:16px;gap:12px}
  .expert-card img{width:62px;height:62px}
  .expert-info strong{font-size:.92rem}
  .expert-info ul li{font-size:.74rem}
  .visio-title{font-size:.88rem}
  .visio-sub{font-size:.74rem}
  .callback-options{flex-direction:column;gap:8px}
  .callback-opt{padding:10px 12px}
  .callback-opt strong{font-size:.78rem}
  .callback-input{font-size:.88rem;padding:12px 14px}
  .quick-contact-inner{flex-direction:column;gap:8px;align-items:stretch !important}
  .qc-btn{width:100%;justify-content:center}
  .section-label{font-size:.62rem}
  h2{font-size:1.5rem}
  h3{font-size:1.05rem}
  .btn-gold,.btn-outline-white,.btn-primary,.btn-white,.btn-navy{font-size:.82rem;padding:11px 20px}
  .cta-band-inner{flex-direction:column;gap:18px;text-align:center}
  .cta-band-inner .btn-gold,.cta-band-inner .btn-primary{width:100%;justify-content:center}
  .footer-bottom{flex-direction:column;gap:10px;text-align:center}
  .footer-bottom-links{justify-content:center}
  .footer-contact-item{font-size:.82rem}
  .coordonnees-grid{gap:32px}
  .contact-grid{gap:32px}
  .map-wrap{height:280px !important}
  .form-row input,.form-row textarea,.form-row select{font-size:.88rem;padding:12px 14px}
  .visio-mini-items{gap:6px}
  .visio-mini-item{font-size:.76rem;padding:8px 12px}
  .pourquoi-visio{padding:24px 20px}
  .pourquoi-visio h3{font-size:1.2rem}
  .pourquoi-visio .btn-gold{font-size:.78rem;padding:12px 18px}
  .engineers-banner{min-height:280px}
  .engineers-banner .eb-content{padding:36px 20px}
  .engineers-banner .eb-content h2{font-size:1.5rem}
  .engineers-banner .eb-content p{font-size:.88rem}
}

/* iPhone small screens */
@media(max-width:480px){
  .hero h1{font-size:1.8rem}
  .hero-content{padding:50px 16px 30px}
  .visio-card{padding:18px 14px}
  .page-hero-content{padding:40px 16px}
  .page-hero h1{font-size:1.7rem}
  .container{padding:0 14px}
  .presta-card{height:380px !important}
  .accomp-photo-card{height:240px !important}
  .project-card{margin-bottom:16px}
  .expert-card{flex-direction:column;gap:14px}
  .expert-card img{width:56px;height:56px}
  .stats-bar{gap:0}
  .stat-item{padding:10px 16px}
  .stat-item strong{font-size:1.3rem}
  .stat-item small{font-size:.7rem}
  .footer-inner{gap:24px}
  .hstep{gap:12px}
  .hstep-num{width:32px;height:32px;font-size:.85rem}
  .hstep strong{font-size:.9rem}
  .hstep p{font-size:.8rem}
  .hmethod-grid{gap:28px}
  .hmethod-about h3,.hmethod-steps h3{font-size:1.25rem}
  .hmethod-about p{font-size:.88rem}
  .hmethod-highlight{padding:16px}
  .floating-contact-widget{right:12px;bottom:12px;gap:8px}
  .fcw-btn{padding:11px 14px;font-size:.76rem}
  .visio-options{gap:8px}
  .visio-opt{padding:12px 6px}
  .visio-opt strong{font-size:.68rem}
  .callback-opt{padding:10px}
  .filters{gap:6px}
  .filter-btn{font-size:.72rem;padding:7px 12px}
  .cta-band-inner h3{font-size:1.2rem}
  .cta-band-inner p{font-size:.82rem}
  .nav-mobile a{font-size:.82rem;padding:10px 14px}
  .nav-mobile .nav-mobile-phone a{font-size:.95rem}
}
.titre-principal {
    color: #ffffff;          /* Couleur noire */
    font-weight: 700;        /* Texte en gras */
    text-align: center;      /* Centrage pour PC et Mobile */
    font-size: 2rem;         /* Taille par défaut (ajustez selon besoin) */
    margin: 20px 0;
}

/* Optionnel : ajustement de la taille sur mobile */
@media (max-width: 600px) {
    .titre-principal {
        font-size: 1.5rem;   /* Taille plus petite sur mobile */
    }
}

/* ══════════════════════════════════════
   RESPONSIVE MOBILE COMPLÉMENTAIRE
   Ajouté pour compatibilité smartphone
══════════════════════════════════════ */

/* GLOBAL */
*, *::before, *::after { box-sizing: border-box; }
img, video, iframe { max-width: 100%; height: auto; }
table { width: 100%; overflow-x: auto; display: block; }

/* VISIO CARD largeur fixe */
.visio-card { width: min(440px, 100%) !important; }

/* Cercles fixes (hero animations) */
.hero-circle-1, .hero-circle-2 { display: none; }

/* GP Slider */
.gp-img-wrap { aspect-ratio: 16/9; }
.gp-thumbs-row { overflow-x: auto; }

/* Grands projets grille */
.gp-grid { grid-template-columns: repeat(3, 1fr); }

/* Projects grid */
.projects-grid { grid-template-columns: repeat(3, 1fr); }

/* Calendrier visio */
.cal-days-grid { grid-template-columns: repeat(7, 1fr); }

@media (max-width: 1024px) {
  .projects-grid { grid-template-columns: repeat(2, 1fr); }
  .gp-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 768px) {
  /* Textes */
  h1 { font-size: clamp(1.6rem, 6vw, 2.8rem) !important; }
  h2 { font-size: clamp(1.3rem, 5vw, 2rem) !important; }
  h3 { font-size: clamp(1rem, 4vw, 1.4rem) !important; }
  p, li { font-size: clamp(.82rem, 3.5vw, 1rem); }

  /* Containers */
  .container { padding: 0 16px !important; }
  .navbar { padding: 0 16px !important; }

  /* Grilles → 1 colonne */
  .projects-grid,
  .gp-grid,
  .services-list-grid,
  .team-grid,
  .temoignages-grid,
  .about-grid,
  .pourquoi-grid,
  .coordonnees-grid,
  .contact-grid,
  .sf-grid,
  .certifs-grid,
  .footer-inner,
  .hv2-cards,
  .faq-grid,
  .exp-grid,
  .exp-grid-2,
  .hmethod-grid,
  .two-cols,
  .services-hero-grid,
  .service-detail-grid { grid-template-columns: 1fr !important; }

  /* Grille 2 colonnes sur tablette */
  .prestations-grid { grid-template-columns: repeat(2, 1fr) !important; }
  .accomp-photo-grid { grid-template-columns: repeat(2, 1fr) !important; }
  .about-values, .about-stats { grid-template-columns: 1fr 1fr !important; }

  /* Hero */
  .hero-content { grid-template-columns: 1fr !important; padding: 50px 16px 32px !important; gap: 24px !important; }
  .visio-card { width: 100% !important; max-width: 100% !important; }

  /* Calendrier */
  .cal-days-grid { grid-template-columns: repeat(7, 1fr) !important; font-size: .68rem !important; }
  .cal-slot { padding: 4px 2px !important; font-size: .62rem !important; }
  .slots { gap: 4px !important; }

  /* Boutons */
  .hero-btns { flex-direction: column !important; gap: 10px !important; }
  .hero-btns a, .hero-btns button { width: 100% !important; justify-content: center !important; text-align: center !important; }

  /* Stats bar */
  .stats-bar { flex-direction: column !important; }
  .stat-item { border-right: none !important; border-bottom: 1px solid rgba(255,255,255,.1) !important; width: 100% !important; }

  /* Process steps */
  .process-steps { flex-direction: column !important; align-items: center !important; }
  .step-arrow { display: none !important; }
  .step { width: 100% !important; max-width: 340px !important; }

  /* CTA band */
  .cta-band-inner, .cta-band-bottom-inner { flex-direction: column !important; gap: 16px !important; text-align: center !important; }
  .cta-band-inner a, .cta-band-inner button { width: 100% !important; justify-content: center !important; }

  /* Footer */
  .footer-bottom { flex-direction: column !important; gap: 8px !important; text-align: center !important; }
  .footer-bottom-links { justify-content: center !important; flex-wrap: wrap !important; }

  /* Filtres réalisations */
  .filters { overflow-x: auto !important; flex-wrap: nowrap !important; -webkit-overflow-scrolling: touch !important; padding-bottom: 8px !important; }
  .filter-btn { white-space: nowrap !important; flex-shrink: 0 !important; }

  /* GP Grands Projets */
  .gp-img-wrap { aspect-ratio: 4/3 !important; }
  .gp-thumbs-row { overflow-x: auto !important; }

  /* Floating widget */
  .floating-contact-widget { right: 10px !important; bottom: 10px !important; gap: 8px !important; }
  .fcw-btn { font-size: .74rem !important; padding: 10px 13px !important; }

  /* Prestation cards */
  .presta-card { height: auto !important; min-height: 320px !important; }

  /* Map */
  .map-wrap { height: 260px !important; }

  /* Quick contact */
  .quick-contact-inner { flex-direction: column !important; gap: 8px !important; }
  .qc-btn { width: 100% !important; justify-content: center !important; }

  /* Callback */
  .callback-options { flex-direction: column !important; }
  .callback-opt { width: 100% !important; }

  /* Form */
  .form-row { grid-template-columns: 1fr !important; }
  input, textarea, select { font-size: 16px !important; } /* évite zoom iOS */

  /* Expert card */
  .expert-card { flex-direction: column !important; align-items: flex-start !important; }

  /* CTA visio */
  .cta-visio-inner { flex-direction: column !important; }
  .cta-visio-right { align-items: flex-start !important; }

  /* Garanties */
  .garanties-inner { flex-direction: column !important; gap: 20px !important; }

  /* VISIO options */
  .visio-options { grid-template-columns: 1fr !important; }
}

@media (max-width: 480px) {
  /* Grilles 2→1 colonne */
  .prestations-grid { grid-template-columns: 1fr !important; }
  .accomp-photo-grid { grid-template-columns: 1fr !important; }
  .about-values, .about-stats { grid-template-columns: 1fr !important; }

  /* Textes encore plus petits */
  .section-label { font-size: .58rem !important; letter-spacing: 1.5px !important; }
  .fcw-btn { font-size: .7rem !important; padding: 9px 11px !important; }

  /* Calendrier sur petit mobile */
  .cal-days-grid { font-size: .6rem !important; }
  .cal-day-header { font-size: .58rem !important; }

  /* Padding réduit */
  section, .realisations-section, .page-prestation { padding-left: 0 !important; padding-right: 0 !important; }
  .container { padding: 0 12px !important; }

  /* GP grid 1 colonne */
  .gp-grid { grid-template-columns: 1fr !important; }
  .projects-grid { grid-template-columns: 1fr !important; }

  /* Bouton plein largeur */
  .btn-gold, .btn-primary, .btn-outline-white, .btn-white, .btn-navy { width: 100% !important; justify-content: center !important; }
}

/* ═══════════════════════════════════════════════════
   RESPONSIVE MOBILE COMPLÉMENTAIRE — HGROUP
   Ajouté pour compatibilité smartphone complète
═══════════════════════════════════════════════════ */

*, *::before, *::after { box-sizing: border-box; }
img, video, iframe { max-width: 100%; height: auto; }

.visio-card { width: min(440px, 100%) !important; }
.hero-circle-1, .hero-circle-2 { display: none !important; }

@media (max-width: 1024px) {
  .projects-grid { grid-template-columns: repeat(2, 1fr) !important; }
  .gp-grid { grid-template-columns: repeat(2, 1fr) !important; }
  .hero-content { grid-template-columns: 1fr !important; }
  .visio-card { max-width: 560px !important; }
}

@media (max-width: 768px) {
  .gp-img-wrap { aspect-ratio: 4/3 !important; }
  .gp-thumbs-row { overflow-x: auto !important; }
  .gp-grid { grid-template-columns: 1fr !important; }
  .qs-grid { grid-template-columns: 1fr !important; }
  .hv2-cards { grid-template-columns: 1fr !important; }
  input, textarea, select { font-size: 16px !important; }
  .page-prestation h1 { font-size: clamp(1.4rem, 6vw, 2.2rem) !important; }
  .hero-image { max-height: 280px !important; border-radius: 10px !important; object-fit: cover !important; }
}

@media (max-width: 480px) {
  .gp-grid { grid-template-columns: 1fr !important; }
  .gp-arrow { width: 26px !important; height: 26px !important; }
  .gp-counter { font-size: .58rem !important; }
  .gp-thumbs-row img { width: 44px !important; height: 32px !important; }
  .hero-image { max-height: 220px !important; }
  .presta-card { height: auto !important; min-height: 260px !important; }
  .accomp-photo-card { height: 180px !important; }
  .btn-gold, .btn-primary, .btn-outline-white, .btn-white, .btn-navy { width: 100% !important; justify-content: center !important; }
}

@media (max-width: 360px) {
  .container { padding: 0 10px !important; }
  h1 { font-size: 1.35rem !important; }
  h2 { font-size: 1.1rem !important; }
  .filter-btn { font-size: .64rem !important; padding: 6px 9px !important; }
}
.hv2-line1{
  text-align: center;
}