:root{--gold:#c9a84c;--gold-light:#e8c97a;--gold-dim:#AA8248;--dark:#0d0b08;--dark2:#1a1710;--dark3:#252219;--dark4:#302c20;--text:#e8e2d4;--text-muted:#9a9283;--border:rgba(201,168,76,0.2)}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:'Jost',sans-serif;background:var(--dark);color:var(--text);line-height:1.7}a{color:var(--gold);text-decoration:none;transition:color .2s}a:hover{color:var(--gold-light)}img{max-width:100%;height:auto;display:block}nav{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(13,11,8,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);padding:0 2rem;display:flex;align-items:center;justify-content:space-between;height:64px}.nav-brand{font-family:'Cormorant Garamond',serif;font-size:1.1rem;font-weight:500;letter-spacing:.08em;color:var(--gold)}.nav-links{display:flex;gap:2rem}.nav-links a{min-height:44px;min-width:44px;display:inline-flex;align-items:center;font-size:.8rem;font-weight:400;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted)}.nav-links a:hover{color:var(--gold)}header{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:8rem 2rem 4rem;position:relative;overflow:hidden}.hero-bg{position:absolute;inset:0;background:radial-gradient(ellipse 80% 60% at 50% 40%,rgba(201,168,76,.05) 0%,transparent 70%);pointer-events:none}.hero-eyebrow{font-size:.75rem;font-weight:400;letter-spacing:.25em;text-transform:uppercase;color:var(--gold);margin-bottom:1.5rem}header h1{font-family:'Cormorant Garamond',serif;font-size:clamp(2.8rem,6vw,5rem);font-weight:500;line-height:1.1;letter-spacing:-.01em;color:#fff;margin-bottom:1.5rem;max-width:800px}header h1 em{font-style:italic;color:var(--gold-light)}.hero-sub{font-size:1rem;font-weight:300;color:var(--text-muted);max-width:520px;margin-bottom:3rem;line-height:1.8}.hero-actions{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center}.btn-primary{display:inline-block;background:var(--gold);color:var(--dark);font-size:.8rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;padding:.85rem 2.5rem;transition:background .2s,transform .15s}.btn-primary:hover{background:var(--gold-light);color:var(--dark);transform:translateY(-1px)}.btn-outline{display:inline-block;border:1px solid var(--border);color:var(--text-muted);font-size:.8rem;font-weight:400;letter-spacing:.15em;text-transform:uppercase;padding:.85rem 2.5rem;transition:border-color .2s,color .2s}.btn-outline:hover{border-color:var(--gold);color:var(--gold)}.stats-bar{display:flex;justify-content:center;gap:0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--dark2)}.stat-item{flex:1;max-width:220px;padding:2rem 1.5rem;text-align:center;border-right:1px solid var(--border)}.stat-item:last-child{border-right:none}.stat-number{font-family:'Cormorant Garamond',serif;font-size:2.4rem;font-weight:500;color:var(--gold);line-height:1;display:block;margin-bottom:.3rem}.stat-label{font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;color:var(--text-muted)}section{padding:6rem 2rem;max-width:1000px;margin:0 auto}.section-label{font-size:.72rem;letter-spacing:.25em;text-transform:uppercase;color:var(--gold);margin-bottom:1rem}section h2{font-family:'Cormorant Garamond',serif;font-size:clamp(2rem,4vw,3rem);font-weight:500;color:#fff;margin-bottom:1rem;line-height:1.15}.section-intro{font-size:1rem;font-weight:300;color:var(--text-muted);max-width:560px;margin-bottom:3rem;line-height:1.8}.gold-line{width:40px;height:1px;background:var(--gold);margin:1.5rem 0 2.5rem}.hero-photo{width:100%;max-width:700px;margin:2.5rem auto 0;position:relative}.hero-photo img{width:100%;height:auto;display:block;aspect-ratio:601/800}.hero-photo-caption{position:absolute;bottom:0;left:0;right:0;padding:.6rem 1rem;background:rgba(13,11,8,.7);font-size:.75rem;letter-spacing:.1em;color:var(--text-muted);text-align:center}.gallery-section{max-width:100%;padding:5rem 2rem;background:var(--dark2);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.gallery-inner{max-width:1000px;margin:0 auto}.gallery-tabs{display:flex;gap:0;border:1px solid var(--border);margin-bottom:2rem;width:fit-content;overflow-x:auto}.gallery-tab{padding:.6rem 1.6rem;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);cursor:pointer;border-right:1px solid var(--border);background:none;border-top:none;border-bottom:none;border-left:none;white-space:nowrap;transition:background .2s,color .2s}.gallery-tab:last-child{border-right:none}.gallery-tab.active{background:var(--gold);color:var(--dark)}.gallery-panel{display:none}.gallery-panel.active{display:block}.before-after{display:grid;grid-template-columns:1fr 1fr;gap:3px}.ba-item{position:relative}.ba-item img{width:100%;height:auto;aspect-ratio:800/1066;display:block}.ba-label{position:absolute;top:.75rem;left:.75rem;background:var(--dark);border:1px solid var(--border);padding:.3rem .75rem;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:3px}.gallery-grid img{width:100%;height:auto;display:block;transition:opacity .2s}.gallery-grid img:hover{opacity:.85}.chantier-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:3px}.chantier-item{position:relative;overflow:hidden}.chantier-item img{width:100%;height:auto;display:block}.chantier-overlay{position:absolute;bottom:0;left:0;right:0;padding:.75rem 1rem;background:linear-gradient(transparent,rgba(13,11,8,.85));font-size:.75rem;color:var(--text-muted);letter-spacing:.05em}.services-grid{display:grid;gap:1px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));background:var(--border);border:1px solid var(--border)}.service-card{background:var(--dark2);padding:2.5rem;transition:background .2s}.service-card:hover{background:var(--dark3)}.service-icon{width:42px;height:42px;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;margin-bottom:1.5rem;color:var(--gold);font-size:.9rem}.service-card h3{font-family:'Cormorant Garamond',serif;font-size:1.4rem;font-weight:500;color:#fff;margin-bottom:.75rem}.service-card p{font-size:.9rem;color:var(--text-muted);line-height:1.7}.bona-band{background:var(--dark3);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:3rem 2rem}.bona-inner{max-width:1000px;margin:0 auto;display:flex;align-items:center;gap:3rem;flex-wrap:wrap}.bona-img{width:100px;flex-shrink:0;filter:drop-shadow(0 2px 8px rgba(0,0,0,.4))}.bona-text h3{font-family:'Cormorant Garamond',serif;font-size:1.6rem;color:#fff;margin-bottom:.5rem}.bona-text p{font-size:.9rem;color:var(--text-muted);max-width:520px;line-height:1.7}.devis-box{background:var(--dark2);border:1px solid var(--border);padding:3rem}.devis-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:0;margin-bottom:2.5rem;border:1px solid var(--border)}.devis-item{display:flex;flex-direction:column;padding:2rem 1.8rem;border-right:1px solid var(--border);position:relative;transition:background .2s}.devis-item:last-child{border-right:none}.devis-item:hover{background:rgba(201,168,76,.04)}.devis-num{font-family:'Cormorant Garamond',serif;font-size:3.8rem;font-weight:600;color:var(--gold);line-height:1;margin-bottom:.8rem;letter-spacing:-.02em}.devis-item p{font-family:'Cormorant Garamond',serif;font-size:1.25rem;color:#fff;line-height:1.35;font-weight:600}@media(max-width:640px){.devis-list{grid-template-columns:1fr 1fr}.devis-item{border-right:none;border-bottom:1px solid var(--border)}.devis-item:nth-child(odd){border-right:1px solid var(--border)}.devis-item:last-child{border-bottom:none}}.zones-section{max-width:100%;padding:6rem 2rem;background:var(--dark2);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.zones-inner{max-width:1000px;margin:0 auto}.zone-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:16px;margin-top:1.5rem}.zone-link:hover{border-color:var(--gold);color:var(--gold);background:rgba(201,168,76,.05)}.zone-grid-idf{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:16px;margin-top:1.5rem}.faq-cta-band{background:var(--dark3);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:3rem 2rem}.faq-cta-inner{max-width:1000px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap}.faq-cta-inner h3{font-family:'Cormorant Garamond',serif;font-size:1.6rem;color:#fff}.faq-cta-inner p{font-size:.9rem;color:var(--text-muted);margin-top:.4rem}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start}.contact-info p{font-size:.9rem;color:var(--text-muted);margin-bottom:2rem;line-height:1.8}.contact-tel{font-family:'Cormorant Garamond',serif;font-size:2.4rem;font-weight:500;color:var(--gold);display:block;margin-bottom:1rem}.contact-aside{font-size:.85rem;color:var(--text-muted)}.faq-list{display:flex;flex-direction:column;gap:0;border:1px solid var(--border)}.faq-item{border-bottom:1px solid var(--border);overflow:hidden}.faq-item:last-child{border-bottom:none}.faq-q{width:100%;background:none;border:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;padding:1.5rem 2rem;text-align:left;font-family:'Jost',sans-serif;font-size:.95rem;font-weight:400;color:var(--text);transition:background .2s}.faq-q:hover{background:var(--dark2)}.faq-icon{color:var(--gold);font-size:.8rem;flex-shrink:0;transition:transform .25s}.faq-item.open .faq-icon{transform:rotate(45deg)}.faq-a{max-height:0;overflow:hidden;transition:max-height .3s ease,padding .3s;padding:0 2rem;font-size:.9rem;color:var(--text-muted);line-height:1.8}.faq-item.open .faq-a{max-height:200px;padding:0 2rem 1.5rem}.blog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1px;background:var(--border);border:1px solid var(--border)}.blog-card{min-height:44px;background:var(--dark2);padding:1.75rem 2rem;display:flex;flex-direction:column;transition:background .2s}.blog-card:hover{background:var(--dark3)}.blog-tag{font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:.75rem}.blog-card h3{font-family:'Cormorant Garamond',serif;font-size:1.15rem;font-weight:500;color:var(--text);line-height:1.4;flex:1}.blog-card:hover h3{color:#fff}footer{background:var(--dark);border-top:1px solid var(--border);padding:3rem 2rem;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem}.footer-brand{font-family:'Cormorant Garamond',serif;font-size:1rem;color:var(--gold);letter-spacing:.05em}footer p{font-size:.78rem;color:var(--text-muted)}@media(max-width:768px){.nav-links{display:none}.stats-bar{flex-wrap:wrap}.stat-item{flex:1 1 50%;border-right:none;border-bottom:1px solid var(--border)}.before-after{grid-template-columns:1fr}.contact-grid{grid-template-columns:1fr}.bona-inner{flex-direction:column;gap:1.5rem}.faq-cta-inner{flex-direction:column}footer{flex-direction:column}}.nav-links a,.footer-links a,.footer-sameAs a{min-height:44px;display:inline-flex;align-items:center}.btn,.btn-or,.hero-cta,.cta-sms,@font-face{font-family:'Cormorant Garamond';font-display:swap}@font-face{font-family:'Jost';font-display:swap}.nav-hamburger{display:none}@media(max-width:768px){.nav-hamburger{display:flex !important}#nav-menu-overlay{display:none;position:fixed;inset:0;z-index:200;background:rgba(0,0,0,0.55);}#nav-menu-panel{position:fixed;top:0;right:0;bottom:0;width:min(300px,85vw);z-index:201;background:#0d0b08;border-left:1px solid rgba(201,168,76,0.25);display:flex;flex-direction:column;transform:translateX(100%);transition:transform .28s ease;}#nav-menu-panel.open{transform:translateX(0);}.section-temoignages{padding:4rem 2rem;max-width:1200px;margin:0 auto;text-align:center}.temoignages-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;margin-top:2.5rem;text-align:left}.temoignage-card{background:var(--dark2);border:1px solid var(--border);border-left:3px solid var(--gold);padding:1.5rem;border-radius:4px;transition:border-color .2s}.temoignage-card:hover{border-color:var(--gold)}.temoignage-stars{color:var(--gold);font-size:1.1rem;letter-spacing:.1em;margin-bottom:.75rem}.temoignage-texte{font-size:.88rem;color:var(--text-muted);line-height:1.7;font-style:italic;margin-bottom:1rem}.temoignage-meta{display:flex;flex-direction:column;gap:.2rem}.temoignage-auteur{font-size:.8rem;font-weight:500;color:var(--text);letter-spacing:.05em}.temoignage-lieu{font-size:.75rem;color:var(--gold);letter-spacing:.08em;text-transform:uppercase}@media(max-width:768px){.temoignages-grid{grid-template-columns:1fr}}header .hero-definition{font-size:.95rem;font-weight:300;color:var(--text-muted);max-width:640px;margin:1.2rem auto 1.8rem;line-height:1.85;background:rgba(201,168,76,.05);border:1px solid rgba(201,168,76,.25);padding:1.2rem 1.8rem;text-align:left}header .hero-definition strong{color:var(--text)}
.faq-devis-block{background:var(--dark3);border:1px solid var(--border);border-top:none;padding:2rem 2.5rem;margin-top:0}
.faq-devis-block h3{font-family:'Cormorant Garamond',serif;font-size:1.3rem;font-weight:500;color:#fff;margin-bottom:.75rem}
.faq-devis-block p{font-size:.9rem;color:var(--text-muted);line-height:1.7;margin-bottom:.6rem}
.faq-devis-block ul{margin:.5rem 0 .75rem 1.2rem;display:flex;flex-direction:column;gap:.3rem}
.faq-devis-block ul li{font-size:.9rem;color:var(--text-muted);line-height:1.6}
.hero-def-faq{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:0;margin-top:1rem;border-top:1px solid rgba(201,168,76,.15)}
.hero-def-faq div{padding:.9rem 0 .9rem;border-right:1px solid rgba(201,168,76,.12);padding-right:1.2rem;padding-left:0}
.hero-def-faq div:first-child{padding-left:0}
.hero-def-faq div:last-child{border-right:none}
.hero-def-faq dt{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gold);margin-bottom:.35rem;font-weight:500}
.hero-def-faq dd{font-size:.85rem;color:var(--text-muted);line-height:1.6;margin:0}
@media(max-width:640px){.hero-def-faq{grid-template-columns:1fr}.hero-def-faq div{border-right:none;border-bottom:1px solid rgba(201,168,76,.12);padding:.8rem 0}.hero-def-faq div:last-child{border-bottom:none}}
