*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,sans-serif;color:#181818;background:#fff;line-height:1.55}a{text-decoration:none;color:inherit}.site-header{height:82px;display:flex;align-items:center;gap:28px;padding:0 5%;border-bottom:1px solid #eee;background:#fff;position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;gap:12px;min-width:245px}.brand-mark{width:44px;height:44px;display:grid;place-items:center;border:2px solid #b58a45;transform:rotate(45deg);font-weight:800;color:#b58a45}.brand b,.brand small{display:block}.brand b{font-size:20px;letter-spacing:.04em}.brand small{font-size:9px;color:#b58a45;font-weight:700;letter-spacing:.08em}nav{display:flex;align-items:center;gap:22px;font-size:14px;font-weight:650;flex:1;justify-content:center}nav a:hover{color:#b58a45}.nav-quote{border-bottom:2px solid #b58a45;padding-bottom:4px}.phone{background:#b58a45;color:#fff;padding:12px 17px;border-radius:6px;font-weight:750;font-size:14px;white-space:nowrap}.hero{min-height:600px;display:grid;grid-template-columns:1fr 1fr;background:#f4f0e9}.hero-content{padding:100px 9%;display:flex;flex-direction:column;justify-content:center}.eyebrow{color:#b58a45;font-weight:800;letter-spacing:.16em;font-size:12px;margin:0 0 12px}.hero h1{font-size:clamp(46px,5.5vw,76px);line-height:.98;margin:0 0 24px}.hero h1 span{color:#b58a45}.hero-text{font-size:19px;max-width:560px}.actions{display:flex;gap:12px;margin-top:20px}.btn{display:inline-block;border:0;border-radius:5px;padding:14px 22px;font-weight:800;cursor:pointer;font-size:15px}.btn-gold{background:#b58a45;color:#fff}.btn-light{background:#fff;border:1px solid #222}.hero-photo{min-height:600px}.placeholder{background:linear-gradient(135deg,#d9d1c4,#eee9e1 50%,#c9c0b2);display:flex;align-items:center;justify-content:center;flex-direction:column;color:#62594d;font-weight:800;text-align:center}.placeholder small{font-weight:500;margin-top:5px}.trust-strip{background:#171717;color:#fff;display:grid;grid-template-columns:repeat(4,1fr);padding:24px 6%;gap:20px}.trust-strip div{padding:0 20px;border-right:1px solid #444}.trust-strip div:last-child{border:0}.trust-strip strong,.trust-strip span{display:block}.trust-strip strong{color:#d3aa69}.trust-strip span{font-size:13px;color:#ddd}.section{padding:86px 6%}.section-soft{background:#faf9f7}.section-head{text-align:center;max-width:820px;margin:0 auto 42px}.section-head h2,.quote-section h2{font-size:40px;line-height:1.1;margin:0 0 14px}.section-head p:not(.eyebrow){color:#666}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.cards article{border:1px solid #eee;border-radius:8px;padding:28px 22px;background:#fff;min-height:210px;box-shadow:0 5px 20px rgba(0,0,0,.035)}.icon{color:#b58a45;font-size:28px;margin-bottom:12px}.cards h3{font-size:18px;margin:0 0 10px}.cards p{font-size:14px;color:#666;margin:0}.before-after-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.ba-card{background:#fff;border-radius:8px;overflow:hidden;border:1px solid #eee}.ba-placeholder{height:220px;display:grid;grid-template-columns:1fr 1fr;background:linear-gradient(90deg,#bdb7ae 0 50%,#e4ded4 50%);color:#fff;font-weight:800}.ba-placeholder span{display:grid;place-items:center;background:rgba(0,0,0,.22)}.ba-placeholder span+span{background:rgba(181,138,69,.28)}.ba-card>b{display:block;padding:14px}.row{display:flex;align-items:end;justify-content:space-between;text-align:left}.media-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.video-card{height:280px;border-radius:8px;position:relative}.video-card button{width:62px;height:62px;border-radius:50%;border:0;background:#fff;color:#222;font-size:24px;cursor:pointer;box-shadow:0 4px 18px #0002}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.gallery-item{height:220px;border-radius:7px}.review{text-align:center}.review-box{max-width:850px;margin:auto}.rating{color:#b58a45;font-size:24px;letter-spacing:4px}.review blockquote{font-size:24px;font-weight:600;margin:16px 0}.review span{color:#777}.quote-section{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;padding:80px 9%;background:#171717;color:#fff}.quote-section h2{font-size:52px}.quote-copy p:not(.eyebrow){color:#d4d4d4;max-width:520px}.small-note{font-size:12px!important;color:#999!important;margin-top:35px}.quote-form{background:#fff;color:#222;border-radius:10px;padding:28px;display:grid;grid-template-columns:1fr 1fr;gap:15px}.quote-form label{font-weight:700;font-size:13px}.quote-form label:nth-of-type(2),.quote-form label:nth-of-type(6),.quote-form .file-label,.quote-form button,.form-message{grid-column:1/-1}.quote-form input,.quote-form select,.quote-form textarea{display:block;width:100%;margin-top:6px;border:1px solid #ddd;border-radius:5px;padding:12px;font:inherit}.file-label{padding:10px 0}.form-message{margin:0;font-size:13px;color:#8a5e22}.footer{background:#fff;padding:30px 6%;display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px;border-top:1px solid #eee}.footer div span,.footer div a{display:block;color:#666;font-size:14px}.footer div b{display:block;margin-bottom:6px}.footer small{grid-column:1/-1;color:#999;border-top:1px solid #eee;padding-top:18px}@media(max-width:1050px){nav{gap:12px;font-size:12px}.cards{grid-template-columns:repeat(3,1fr)}.before-after-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:800px){.site-header{height:auto;min-height:72px;padding:12px 5%;flex-wrap:wrap}.brand{min-width:auto}.phone{margin-left:auto}nav{order:3;width:100%;overflow:auto;justify-content:flex-start;padding-bottom:5px}.hero{grid-template-columns:1fr}.hero-photo{min-height:360px}.hero-content{padding:70px 7%}.trust-strip{grid-template-columns:1fr 1fr}.section{padding:65px 5%}.cards,.media-grid,.gallery{grid-template-columns:1fr 1fr}.quote-section{grid-template-columns:1fr;padding:60px 5%}.footer{grid-template-columns:1fr 1fr}}@media(max-width:520px){.phone{font-size:12px;padding:9px}.hero h1{font-size:46px}.actions{flex-direction:column}.trust-strip,.cards,.before-after-grid,.media-grid,.gallery,.quote-form,.footer{grid-template-columns:1fr}.quote-form label:nth-of-type(2),.quote-form label:nth-of-type(6),.quote-form .file-label,.quote-form button,.form-message{grid-column:auto}.row{display:block}.section-head h2{font-size:32px}.quote-section h2{font-size:42px}}
/* Real project photos */
.hero-photo { overflow: hidden; min-height: 520px; border-radius: 18px; box-shadow: 0 20px 50px rgba(15, 33, 56, .18); background: #e9e6e2; }
.hero-photo img { width: 100%; height: 100%; min-height: 520px; object-fit: cover; display: block; }
.ba-image { height: 360px; overflow: hidden; border-radius: 14px; background: #eee; }
.ba-image img { width: 100%; height: 100%; object-fit: cover; display: block; }
.gallery-item { overflow: hidden; margin: 0; border-radius: 14px; background: #f0efec; min-height: 260px; position: relative; }
.gallery-item img { width: 100%; height: 100%; min-height: 260px; object-fit: cover; display: block; transition: transform .35s ease; }
.gallery-item:hover img { transform: scale(1.03); }
.gallery-item figcaption { position: absolute; left: 0; right: 0; bottom: 0; padding: 12px 14px; color: white; background: linear-gradient(transparent, rgba(0,0,0,.72)); font-weight: 600; }
.gallery-item.wide { grid-column: span 2; }
@media (max-width: 760px) {
  .hero-photo, .hero-photo img { min-height: 360px; }
  .ba-image { height: 280px; }
  .gallery-item.wide { grid-column: span 1; }
}
/* Galerie organisée */
.featured-project{display:grid;grid-template-columns:1.35fr .65fr;gap:0;background:#171717;color:#fff;border-radius:16px;overflow:hidden;box-shadow:0 18px 45px rgba(0,0,0,.12);margin-bottom:58px}.featured-project-image{min-height:440px;background:#222}.featured-project-image img{width:100%;height:100%;min-height:440px;object-fit:cover;display:block}.featured-project-copy{padding:48px 42px;display:flex;flex-direction:column;justify-content:center}.project-tag{display:inline-block;color:#d4ae72;font-size:11px;font-weight:800;letter-spacing:.16em;margin-bottom:12px}.featured-project-copy h3{font-size:32px;line-height:1.12;margin:0 0 15px}.featured-project-copy p{color:#d5d5d5;margin:0 0 24px}.text-link{color:#fff;font-weight:800;border-bottom:1px solid #b58a45;width:max-content;padding-bottom:4px}.gallery-header{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:22px}.gallery-header h3{font-size:28px;margin:0}.gallery-header .eyebrow{margin-bottom:5px}.gallery-filters{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.filter-btn{background:#fff;border:1px solid #ddd;border-radius:999px;padding:9px 14px;font:inherit;font-size:13px;font-weight:700;cursor:pointer}.filter-btn:hover,.filter-btn.active{background:#171717;color:#fff;border-color:#171717}.gallery-organized{grid-template-columns:repeat(4,1fr);gap:16px}.gallery-card{height:330px;min-height:330px}.gallery-card img{min-height:330px}.gallery-card figcaption{display:flex;flex-direction:column;gap:2px;padding:20px 16px 14px}.gallery-card figcaption strong{font-size:16px}.gallery-card figcaption span{font-size:12px;color:#eee}.gallery-coming{display:flex;align-items:center;justify-content:center;background:#eee9e1;border:1px dashed #cbbda8;color:#675b4c}.coming-inner{display:flex;flex-direction:column;align-items:center;text-align:center;padding:25px}.coming-icon{font-size:30px;color:#b58a45;margin-bottom:7px}.coming-inner strong{font-size:18px}.coming-inner span:last-child{font-size:12px;color:#857b70;margin-top:5px}.gallery-card.is-hidden{display:none}.gallery-note{text-align:center;margin-top:24px;color:#666;font-size:14px}.gallery-note a{color:#9a7036;font-weight:800}.gallery-note a:hover{text-decoration:underline}
@media(max-width:900px){.featured-project{grid-template-columns:1fr}.featured-project-image,.featured-project-image img{min-height:360px}.gallery-organized{grid-template-columns:repeat(2,1fr)}.gallery-header{display:block}.gallery-filters{justify-content:flex-start;margin-top:15px}}
@media(max-width:520px){.featured-project-copy{padding:32px 25px}.featured-project-copy h3{font-size:27px}.gallery-organized{grid-template-columns:1fr}.gallery-card,.gallery-card img{height:290px;min-height:290px}}
/* Pages Nos services / Demander un devis */
.page-hero{padding:100px 8%;background:linear-gradient(120deg,#171717,#292621);color:#fff;min-height:360px;display:flex;align-items:center}.page-hero>div{max-width:850px}.page-hero h1{font-size:60px;line-height:1.05;margin:0 0 18px}.page-hero p:not(.eyebrow){font-size:19px;color:#ddd;max-width:720px}.page-hero .actions{margin-top:28px}.active-nav{color:#b58a45}.service-cards{grid-template-columns:repeat(4,1fr)}.split-call{max-width:1050px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:40px}.split-call h2{font-size:40px;line-height:1.1;margin:0 0 12px}.split-call p:not(.eyebrow){color:#666;max-width:650px}.quote-page-hero{min-height:300px}.quote-page-section{margin:0;padding-top:80px}.quote-page-section .quote-copy{padding-top:25px}.quote-page-section .quote-form{max-width:760px}
@media(max-width:1050px){.service-cards{grid-template-columns:repeat(3,1fr)}}@media(max-width:800px){.page-hero{padding:75px 7%}.page-hero h1{font-size:46px}.service-cards{grid-template-columns:1fr 1fr}.split-call{display:block}.split-call .btn{display:inline-flex;margin-top:20px}}@media(max-width:520px){.service-cards{grid-template-columns:1fr}.page-hero h1{font-size:40px}}
/* Page Nos réalisations */
.realisations-hero{min-height:430px;background:linear-gradient(115deg,#151515 0%,#28241e 100%)}
.project-intro{padding-bottom:70px}
.project-showcase{display:grid;grid-template-columns:1.25fr .75fr;gap:18px;max-width:1180px;margin:0 auto}
.showcase-card{background:#fff;border:1px solid #e8e5df;border-radius:16px;overflow:hidden;box-shadow:0 12px 35px rgba(0,0,0,.06)}
.showcase-media{height:340px;overflow:hidden;background:#eee}
.showcase-large .showcase-media{height:430px}
.showcase-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s ease}
.showcase-card:hover .showcase-media img{transform:scale(1.025)}
.showcase-copy{padding:22px 24px 25px}
.showcase-copy h3{font-size:25px;line-height:1.15;margin:0 0 9px}
.showcase-copy p{margin:0;color:#666;font-size:14px}
.gallery-toolbar{display:flex;justify-content:center;margin-bottom:28px}
.realisation-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:1180px;margin:0 auto}
.realisation-card{background:#fff;border:1px solid #e8e5df;border-radius:14px;overflow:hidden;box-shadow:0 8px 25px rgba(0,0,0,.045)}
.realisation-card.is-hidden{display:none}
.realisation-image{height:300px;position:relative;background:#eee;overflow:hidden}
.realisation-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}
.realisation-card:hover .realisation-image img{transform:scale(1.03)}
.realisation-label{position:absolute;top:14px;left:14px;background:rgba(23,23,23,.88);color:#fff;border-radius:999px;padding:7px 11px;font-size:11px;font-weight:800;letter-spacing:.06em}
.realisation-copy{padding:18px 18px 20px}
.realisation-copy h3{font-size:18px;line-height:1.2;margin:0 0 7px}
.realisation-copy p{font-size:13px;color:#6b6b6b;margin:0}
.coming-card .coming-inner{height:300px;border-bottom:1px dashed #cdbfae;background:#f0ece5}
.coming-inner small{display:block;max-width:230px;text-align:center;color:#857b70;margin-top:10px;font-size:11px;line-height:1.4}
.empty-filter{text-align:center;color:#777;padding:28px;border:1px dashed #d8d2c8;border-radius:12px;margin:20px auto 0;max-width:700px}
.realisation-videos .video-card{display:flex;gap:9px}
.realisation-videos .video-card small{font-weight:500;color:#746b60}
.before-after-callout{padding-top:70px;padding-bottom:70px}
@media(max-width:900px){.project-showcase{grid-template-columns:1fr}.showcase-large .showcase-media,.showcase-media{height:360px}.realisation-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.realisation-grid{grid-template-columns:1fr}.realisation-image,.coming-card .coming-inner{height:290px}.showcase-large .showcase-media,.showcase-media{height:300px}.gallery-toolbar{justify-content:flex-start}.realisation-videos .video-card{height:250px}.realisations-hero{min-height:380px}}
.brand-logo{width:220px;height:70px;object-fit:contain}.brand-mark{display:none!important}@media(max-width:520px){.brand-logo{width:180px;height:58px}}
