:root{--ink:#17110d;--dark:#17100b;--brown:#70401f;--gold:#c98c51;--gold2:#e0a86b;--cream:#eee5d8;--paper:#faf8f4;--line:#d8ccbd;--muted:#756c63;--white:#fff}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",Arial,sans-serif}body:has(.lightbox.open){overflow:hidden}a{text-decoration:none;color:inherit}button,input,textarea{font:inherit}.header{height:82px;position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:0 5.5vw;background:rgba(20,13,9,.94);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.12);color:#fff}.brand{display:flex;flex-direction:column;line-height:1}.brand>span{font:500 29px "Playfair Display",serif;letter-spacing:.13em}.brand>span>span{color:var(--gold2)}.brand small{font-size:7px;letter-spacing:.29em;margin-top:7px;color:#d6cbc0}.header nav{display:flex;align-items:center;gap:30px;font-size:13px;font-weight:600}.header nav a{opacity:.86;position:relative}.header nav a:hover,.header nav .active{color:var(--gold2);opacity:1}.header nav .active:after{content:"";position:absolute;left:0;right:0;height:1px;bottom:-10px;background:var(--gold)}.header-cta{background:var(--gold);padding:14px 21px;color:#fff!important;opacity:1!important}.hamb{display:none;background:none;border:0;color:#fff;font-size:26px}
.hero{height:calc(100vh - 82px);min-height:700px;position:relative;overflow:hidden;background:#140b06;color:#fff}.hero-bg{position:absolute;inset:0;background-image:url('assets/hero-clean.jpg');background-size:cover;background-position:center}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,7,4,.97) 0%,rgba(13,7,4,.82) 28%,rgba(13,7,4,.32) 60%,rgba(13,7,4,.04) 100%),linear-gradient(0deg,rgba(10,5,2,.55),transparent 40%)}.hero-content{position:relative;z-index:2;padding:11vh 0 0 5.5vw;max-width:650px}.kicker{font-size:10px;letter-spacing:.32em;font-weight:700;color:var(--gold2);margin:0 0 20px}.hero h1,.section h2,.intro h2,.about h2,.contact h2,.values h2{font-family:"Playfair Display",serif;font-weight:500;letter-spacing:-.04em}.hero h1{font-size:clamp(60px,6.2vw,96px);line-height:.96;margin:0 0 28px}.hero h1 em,.intro em,.about em,.values em{font-style:italic;color:var(--gold2)}.lead{font-size:16px;line-height:1.75;color:#eee4da;max-width:590px;margin:0}.actions{display:flex;align-items:center;gap:15px;margin-top:34px}.btn{border:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:22px;padding:17px 25px;font-weight:700}.gold{background:var(--gold);color:#fff}.gold:hover{background:#b9783f}.btn-outline{border:1px solid rgba(255,255,255,.5);padding:16px 24px;font-size:13px;font-weight:700}.btn-outline:hover{border-color:var(--gold2);color:var(--gold2)}.hero-services{display:flex;gap:46px;margin-top:52px;padding-top:20px;border-top:1px solid rgba(255,255,255,.23)}.hero-services div{display:flex;gap:12px}.hero-services b{font-size:9px;color:var(--gold2);letter-spacing:.12em}.hero-services span{font:14px/1.25 "Playfair Display",serif}.hero-signature{position:absolute;right:5vw;bottom:55px;z-index:2;text-align:right;font:italic 21px/1.1 "Playfair Display",serif;color:#e1aa70}.hero-signature em{font-size:25px}.scroll{position:absolute;z-index:3;bottom:24px;left:5.5vw;display:flex;align-items:center;gap:11px;font-size:9px;letter-spacing:.28em;color:#c8bbb0}.scroll span{width:1px;height:35px;background:var(--gold)}
.intro{display:grid;grid-template-columns:70px 1.15fr .85fr;gap:4vw;align-items:start;padding:105px 7vw;background:var(--cream)}.intro-label{font:500 38px "Playfair Display",serif;color:#b6a89b}.intro h2{font-size:clamp(43px,4.6vw,66px);line-height:1.02;margin:0}.intro>p:last-child{margin:44px 0 0;color:var(--muted);line-height:1.85}
.section{padding:105px 7vw}.section-head{display:grid;grid-template-columns:1fr 420px;gap:7vw;align-items:end;margin-bottom:34px}.section-head h2{font-size:clamp(44px,5vw,70px);margin:0}.section-head>p{margin:0 0 5px;color:var(--muted);line-height:1.75}.filter-row{display:flex;gap:9px;margin-bottom:30px}.filter{border:1px solid var(--line);background:transparent;color:var(--muted);padding:9px 16px;border-radius:30px;font-size:12px;cursor:pointer}.filter:hover,.filter.active{background:var(--brown);border-color:var(--brown);color:#fff}.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.card{position:relative;overflow:hidden;min-width:0;background:#e8dfd3;cursor:pointer}.card-media{height:330px;display:flex;align-items:center;justify-content:center;padding:8px;background:linear-gradient(145deg,#eee7dd,#ddd1c2)}.card-media img{width:100%;height:100%;object-fit:contain;display:block;transition:transform .45s ease}.card:hover .card-media img{transform:scale(1.025)}.card:after{content:"";position:absolute;left:0;right:0;bottom:0;height:44%;background:linear-gradient(transparent,rgba(20,11,6,.9));pointer-events:none}.card-caption{position:absolute;left:20px;right:15px;bottom:17px;color:#fff;z-index:2}.card-caption small{font-size:9px;letter-spacing:.2em}.card-caption h3{font:500 23px "Playfair Display",serif;margin:6px 0 0}.card.hidden{display:none}
.renovation{padding:105px 7vw;background:var(--ink);color:#fff}.light>p{color:#bcaea1}.renovation .section-head{margin-bottom:48px}.beforeafter{display:grid;grid-template-columns:1fr 60px 1fr;gap:20px;align-items:center}.beforeafter figure{margin:0}.photo{height:500px;background:#2a1b12;display:flex;align-items:center;justify-content:center;overflow:hidden}.photo img{width:100%;height:100%;object-fit:contain}.beforeafter figcaption{font-size:10px;letter-spacing:.2em;margin-top:13px;color:#c8bbb0}.beforeafter figcaption span{color:var(--gold);margin-right:10px}.ba-arrow{text-align:center;font:500 31px "Playfair Display",serif;color:var(--gold)}.work{margin-top:55px;border:1px solid #46362a;padding:16px;display:grid;grid-template-columns:250px 1fr 110px;gap:30px;align-items:center}.work-photo{height:175px;background:#2a1b12;display:flex;align-items:center;justify-content:center;overflow:hidden}.work-photo img{width:100%;height:100%;object-fit:contain}.work h3{font:500 30px "Playfair Display",serif;margin:0 0 10px}.work p:not(.kicker){color:#bcaea1;line-height:1.7;margin:0}.work>strong{font-size:9px;letter-spacing:.2em;color:var(--gold);text-align:right}
.announcements{background:#fff}.ann-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.annonce{background:var(--paper);border:1px solid var(--line);display:grid;grid-template-rows:270px auto}.annonce>img{width:100%;height:270px;object-fit:contain;background:#e9e0d4;padding:9px}.annonce>div{padding:21px}.annonce small{font-size:9px;letter-spacing:.2em;color:var(--gold)}.annonce h3{font:500 25px "Playfair Display",serif;margin:7px 0}.annonce p{color:var(--muted);line-height:1.6;font-size:13px}.annonce b{color:var(--brown)}.empty{border:1px solid var(--line);padding:45px;text-align:center;background:var(--paper);color:var(--muted);grid-column:1/-1}
.values{display:grid;grid-template-columns:.85fr 1.15fr;gap:8vw;padding:110px 7vw;background:#17100b;color:#fff}.values h2{font-size:clamp(45px,5vw,70px);line-height:1.02;margin:0}.value-list{border-top:1px solid #4b392d}.value-list>div{display:grid;grid-template-columns:45px 1fr;column-gap:15px;padding:23px 0;border-bottom:1px solid #4b392d}.value-list span{color:var(--gold);font-size:10px;letter-spacing:.1em}.value-list h3{font:500 25px "Playfair Display",serif;margin:0}.value-list p{grid-column:2;color:#bcaea1;margin:7px 0 0;line-height:1.6;font-size:13px}
.about{display:grid;grid-template-columns:1fr;align-items:center;padding:110px 7vw;background:var(--cream)}.about-copy{width:min(100%,1000px);margin:0 auto}.about h2{font-size:clamp(43px,5vw,69px);line-height:1.02;margin:0 0 25px}.about-text{max-width:640px;color:var(--muted);line-height:1.85}.services{margin-top:35px;border-top:1px solid #d2c5b6}.services div{padding:15px 0;border-bottom:1px solid #d2c5b6;font-weight:600}.services span{display:inline-block;width:48px;color:var(--gold);font-size:10px}
.contact{display:grid;grid-template-columns:.9fr 1.1fr;gap:8vw;padding:110px 7vw}.contact h2{font-size:clamp(47px,5vw,70px);margin:0 0 25px}.contact>div>p:not(.kicker){color:var(--muted);line-height:1.85;max-width:530px}.phone{display:block;font:500 28px "Playfair Display",serif;margin-top:32px;color:var(--brown)}.insta{display:block;margin-top:12px;color:var(--brown);font-size:13px;font-weight:700}.contact form{display:grid;gap:19px}.row{display:grid;grid-template-columns:1fr 1fr;gap:18px}label{font-size:11px;font-weight:700;letter-spacing:.05em}input,textarea{display:block;width:100%;margin-top:8px;border:1px solid var(--line);background:#fff;padding:15px;outline:none;border-radius:0;color:var(--ink)}input:focus,textarea:focus{border-color:var(--gold)}form .btn{justify-self:start}form small{color:var(--muted);font-size:10px}
footer{background:#120c08;color:#b9aa9b;display:grid;grid-template-columns:1fr 1fr auto;gap:25px;align-items:center;padding:28px 7vw;font-size:11px}.foot-brand{font:500 29px "Playfair Display",serif;color:#fff;letter-spacing:.1em}.foot-brand span{color:var(--gold)}footer a{text-decoration:underline}.lightbox{position:fixed;inset:0;background:rgba(10,6,3,.96);z-index:100;display:none;align-items:center;justify-content:center;padding:5vw}.lightbox.open{display:flex}.lightbox img{max-width:92vw;max-height:90vh;object-fit:contain}.lightbox button{position:absolute;top:15px;right:25px;border:0;background:none;color:#fff;font-size:45px;cursor:pointer}
@media(max-width:1050px){.header nav{gap:18px}.gallery{grid-template-columns:repeat(3,1fr)}.card-media{height:310px}.intro{grid-template-columns:55px 1.1fr .9fr}.section-head{grid-template-columns:1fr 330px}.hero-signature{right:4vw}}
@media(max-width:800px){.header{height:74px}.brand>span{font-size:26px}.brand small{font-size:6px}.hamb{display:block}.header nav{display:none;position:absolute;top:74px;left:0;right:0;background:#17100b;padding:20px 6vw;flex-direction:column;align-items:stretch;border-bottom:1px solid #3a2a20}.header nav.open{display:flex}.header nav .active:after{display:none}.hero{min-height:760px;height:calc(100vh - 74px)}.hero-content{padding:75px 6vw 0}.hero h1{font-size:55px}.hero-bg{background-position:57% center}.hero-overlay{background:linear-gradient(90deg,rgba(13,7,4,.97),rgba(13,7,4,.65)),linear-gradient(0deg,rgba(10,5,2,.7),transparent)}.hero-signature{right:6vw;bottom:30px}.scroll{display:none}.intro{grid-template-columns:1fr;padding:75px 6vw}.intro-label{display:none}.intro>p:last-child{margin:0}.section,.renovation,.about,.contact,.values{padding:75px 6vw}.section-head{grid-template-columns:1fr;gap:20px}.section-head>p{margin:0}.gallery{grid-template-columns:repeat(2,1fr)}.card-media{height:300px}.beforeafter{grid-template-columns:1fr}.ba-arrow{display:none}.photo{height:440px}.work{grid-template-columns:210px 1fr}.work>strong{display:none}.ann-grid{grid-template-columns:1fr 1fr}.values{grid-template-columns:1fr}.value-list{margin-top:20px}.about,.contact{grid-template-columns:1fr}.row{grid-template-columns:1fr}}
@media(max-width:560px){.brand small{display:none}.hero h1{font-size:50px}.lead{font-size:14px}.actions{flex-wrap:wrap}.hero-services{gap:18px}.hero-services div{display:block}.hero-services span{font-size:12px}.gallery,.ann-grid{grid-template-columns:1fr}.card-media{height:360px}.filter-row{overflow:auto;padding-bottom:3px}.photo{height:390px}.work{grid-template-columns:1fr}.work-photo{height:260px}.about-image img{height:250px}.contact form{margin-top:10px}footer{grid-template-columns:1fr;text-align:center}}

.reviews-section{background:var(--cream)}.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:55px}.review{background:#fff;border:1px solid var(--line);padding:28px}.review .stars{color:var(--gold);letter-spacing:2px;font-size:17px}.review p{font:italic 18px/1.6 "Playfair Display",serif;margin:18px 0;color:var(--ink)}.review strong{font-size:12px;letter-spacing:.08em;text-transform:uppercase}.review-form-wrap{max-width:900px;margin:0 auto;background:#fff;border:1px solid var(--line);padding:34px}.review-form-wrap h3{font:500 30px "Playfair Display",serif;margin:0 0 25px}.review-form{display:grid;gap:19px}.review-form select{display:block;width:100%;margin-top:8px;border:1px solid var(--line);background:#fff;padding:15px;outline:none;border-radius:0;color:var(--ink)}.review-form select:focus{border-color:var(--gold)}.form-status{font-size:12px;color:var(--muted);min-height:18px}.review-form button:disabled{opacity:.6;cursor:wait}@media(max-width:800px){.reviews-grid{grid-template-columns:1fr 1fr}}@media(max-width:560px){.reviews-grid{grid-template-columns:1fr}.review-form-wrap{padding:24px}}
