@charset "UTF-8";

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:'DM Sans', sans-serif;
   color:#1a1a1a;
  background:#faf8f5;
  line-height:1.6;
  -webkit-font-smoothing: antialiased;
  overflow-x:hidden;
}
a{ color:#1a1a1a;text-decoration:none}
a:hover{opacity:.8}
img{max-width:100%;height:auto;display:block}

#topBarWrap{
  background:#1a1a1a;
  color:#d4c5a9;
  text-align: center;
  padding:9px 20px;
  font-size:.78rem;
  font-weight:400;
  letter-spacing:.4px;
  position:relative;z-index:100;
}
.topBar_inner{max-width:1200px;margin:0 auto}
.topBar_txt{display:inline-block}
.topBar_txt i{font-size:13px;margin-right:4px;vertical-align:middle;opacity:.7}

#hdrMain{
  background:rgba(250,248,245,.97);
  backdrop-filter:blur(12px);
  padding: 0 40px;
  position:sticky;
  top:0;
  z-index:999;
  border-bottom:1px solid rgba(0,0,0,.06);
}
.hdr_inner{
  max-width:1240px;
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  height:72px;
}
.hdr_logoBlock a{
  display:flex;
  align-items:center;
  gap:12px;
}
.logoImg{border-radius:10px}
.hdr_navBlock{
  display:flex;
  gap:28px;
  align-items:center;
}
.nav_lnk{
  font-size:13px;
  font-weight:500;
  color:#555;
  letter-spacing:.3px;
  transition:color .15s;
  position:relative;
}
.nav_lnk:hover{color:#1a1a1a;opacity:1}
.nav_lnk.activeLnk{color:#1a1a1a;font-weight:700}
.nav_lnk.activeLnk::after{
  content:'';
  position:absolute;
  bottom:-4px;left:0;right:0;
  height:2px;
  background:#c8a45e;
  border-radius:1px;
}
.hdr_actBlock{
  display:flex;
  align-items:center;
  gap:14px;
}
.hdr_ctaLink{
  background:#1a1a1a;
  color:#faf8f5;
  padding:10px 22px;
  font-size:12px;
  font-weight:700;
  letter-spacing:1px;
  text-transform:uppercase;
  border-radius:6px;
  transition:background .2s;
}
.hdr_ctaLink:hover{background:#333;opacity:1}
.hdr_phoneIcn{
  width:40px;height:40px;
  border:1px solid #ddd;
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:15px;
  color:#1a1a1a;
  transition:border-color .15s;
}
.hdr_phoneIcn:hover{border-color:#c8a45e;opacity:1}

#mobileHdr{display:none}
.mobHdr_bar{
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 20px;
  background:rgba(250,248,245,.97);
  backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(0,0,0,.06);
  position:sticky;top:0;z-index:999;
}
.mob_logoSide a{
  display:flex;align-items:center;gap:10px;
}
.mob_logoSide img{border-radius:8px}
.mob_burgerWrap{
  cursor:pointer;
  display:flex;flex-direction:column;gap:5px;
  padding:6px;
}
.mob_burgerWrap span{
  display:block;width:24px;height:2px;
  background:#1a1a1a;
  border-radius:1px;
  transition:all .2s;
}
.mobNav_panel{
  position:fixed;top:0;right:0;bottom:0;left:0;
  background:rgba(0,0,0,.45);
  z-index:9999;
  display:none;
}
.mobNav_panel.open{display:block}
.mobNav_inner{
  position:absolute;right:0;top:0;bottom:0;
  width:300px;max-width:85vw;
  background:#faf8f5;
  padding:70px 30px 40px;
  display:flex;flex-direction:column;gap:20px;
}
.mobNav_inner a{
  font-size:15px;
  font-weight:500;
  color:#333;
  letter-spacing:.3px;
}
.mobNav_inner .mobNav_cta{
  margin-top:10px;
  background:#1a1a1a;
  color:#faf8f5;
  padding:14px 24px;
  border-radius:6px;
  text-align:center;
  font-weight:700;
  font-size:13px;
  letter-spacing:1px;
  text-transform:uppercase;
}
.mobNav_closeBtn{
  position:absolute;top:20px;right:22px;
  font-size:24px;cursor:pointer;color:#1a1a1a;
  z-index:10000;
}

#heroWrap{
  max-width:1320px;
  margin:0 auto;
  padding:48px 40px 55px;
  position:relative;
}
.hero_bgLayer{
  position:absolute;
  top:-80px;right:-200px;
  width:650px;height:650px;
  background:radial-gradient(circle,rgba(200,164,94,.12) 0%,transparent 70%);
  border-radius:50%;
  pointer-events:none;
  z-index:0;
}
.hero_content{
  display:flex;
  align-items:center;
  gap:55px;
  position:relative;
  z-index:1;
}
.hero_txtSide{flex:1;min-width:0}
.hero_imgSide{flex:1;min-width:0;position:relative}
.hero_labelTag{
  display:inline-flex;
  align-items:center;
  gap:8px;
  background:rgba(200,164,94,.12);
  color:#8a6d2f;
  padding:8px 1em;
  border-radius:20px;
  font-size:12.5px;
  font-weight:500;
  letter-spacing:.3px;
  margin-bottom:22px;
}
.hero_labelTag i{font-size:15px}
.hero_mainTitle{
  font-family:'Playfair Display',serif;
  font-size:52px;
  font-weight:700;
  line-height:1.15;
  color:#1a1a1a;
  margin-bottom:18px;
}
.hero_accent{
  color:#b08930;
  font-style:italic;
}
.hero_subTxt{
  font-size:1rem;
  color:#666;
  line-height:1.75;
  max-width:480px;
  margin-bottom:2rem;
  font-weight:400;
}
.hero_btnRow{
  display:flex;
  gap:16px;
  align-items:center;
  flex-wrap:wrap;
  margin-bottom:34px;
}
.hero_btnPrimary{
  background:#c8a45e;
  color:#fff;
  padding:14px 30px;
  font-size:13px;
  font-weight:700;
  letter-spacing:.8px;
  text-transform:uppercase;
  border-radius:8px;
  transition:background .2s;
}
.hero_btnPrimary:hover{background:#b08930;opacity:1}
.hero_btnSecondary{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:#666;
  font-size:13px;
  font-weight:500;
  padding:14px 8px;
  transition:color .15s;
}
.hero_btnSecondary i{font-size:20px;color:#c8a45e}
.hero_btnSecondary:hover{color:#1a1a1a;opacity:1}
.hero_trustRow{
  display:flex;
  gap:22px;
  flex-wrap:wrap;
}
.trust_item{
  display:flex;
  align-items:center;
  gap:6px;
  font-size:.75rem;
  color:#888;
  font-weight:400;
}
.trust_item i{color:#c8a45e;font-size:14px}
.hero_imgFrame{
  border-radius:16px;
  overflow:hidden;
  aspect-ratio:4/5;
  background:#ebe6dc;
}
.hero_mainImg{
  width:100%;height:100%;
  object-fit:cover;
}
.hero_floatCard{
  position:absolute;
  bottom:28px;left:-28px;
  background:#fff;
  padding:18px 22px;
  border-radius:12px;
  box-shadow:0 8px 30px rgba(0,0,0,.1);
  text-align:center;
  min-width:140px;
}
.floatCard_icon{
  font-size:22px;
  color:#c8a45e;
  margin-bottom:5px;
}
.floatCard_num{
  font-family:'Playfair Display',serif;
  font-size:26px;
  font-weight:700;
  color:#1a1a1a;
  line-height:1.2;
}
.floatCard_label{
  font-size:11px;
  color:#999;
  font-weight:400;
  letter-spacing:.3px;
}

.sec_headBlock{
  text-align:center;
  margin-bottom:42px;
}
.sec_eyebrow{
  display:inline-block;
  font-size:11.5px;
  font-weight:700;
  letter-spacing:2.5px;
  text-transform:uppercase;
  color:#c8a45e;
  margin-bottom:10px;
}
.sec_mainHead{
  font-family:'Playfair Display',serif;
  font-size:36px;
  font-weight:700;
  line-height:1.2;
  color:#1a1a1a;
  margin-bottom:14px;
}
.headAccent{
  color:#b08930;
  font-style:italic;
}
.sec_headSub{
  font-size:15px;
  color:#888;
  max-width:540px;
  margin:0 auto;
  line-height:1.7;
  font-weight:400;
}

#servicesPopWrap{
  max-width:1280px;
  margin:0 auto;
  padding:65px 40px 70px;
}
.popServices_grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:26px;
}
.popSrv_card{
  background:#fff;
  border-radius:14px;
  overflow:hidden;
  border:1px solid rgba(0,0,0,.05);
  display:flex;
  flex-direction:column;
  transition:box-shadow .25s,transform .25s;
}
.popSrv_card:hover{
  box-shadow:0 12px 40px rgba(0,0,0,.08);
  transform:translateY(-4px);
}
.popSrv_imgBox{
  position:relative;
  aspect-ratio:16/9;
  overflow:hidden;
  background:#ebe6dc;
}
.popSrv_imgBox img{
  width:100%;height:100%;
  object-fit:cover;
  transition:transform .35s;
}
.popSrv_card:hover .popSrv_imgBox img{transform:scale(1.04)}
.popSrv_badge{
  position:absolute;top:14px;left:14px;
  background:#c8a45e;color:#fff;
  font-size:10.5px;font-weight:700;
  padding:4px 12px;
  border-radius:4px;
  letter-spacing:1px;
  text-transform:uppercase;
}
.popSrv_badgeGold{background:#b08930}
.popSrv_badgeBlack{background:#1a1a1a}
.popSrv_body{
  padding:24px 26px 28px;
  flex:1;
  display:flex;flex-direction:column;
}
.popSrv_title{
  font-family:'Playfair Display',serif;
  font-size:20px;
  font-weight:600;
  color:#1a1a1a;
  margin-bottom:10px;
}
.popSrv_desc{
  font-size:13.5px;
  color:#777;
  line-height:1.75;
  margin-bottom:18px;
  font-weight:400;
}
.popSrv_priceRow{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:16px;
  padding-top:14px;
  border-top:1px solid #f0ece4;
}
.popSrv_price{
  font-family:'JetBrains Mono',monospace;
  font-size:15px;
  font-weight:500;
  color:#1a1a1a;
}
.popSrv_time{
  font-size:.75rem;
  color:#aaa;
  display:flex;align-items:center;gap:4px;
}
.popSrv_time i{font-size:13px}
.popSrv_orderBtn{
  margin-top:auto;
  display:block;
  text-align:center;
  border:2px solid #1a1a1a;
  padding:11px 20px;
  font-size:11.5px;
  font-weight:700;
  letter-spacing:1.2px;
  text-transform:uppercase;
  color:#1a1a1a;
  border-radius:7px;
  transition:background .15s,color .15s;
}
.popSrv_orderBtn:hover{background:#1a1a1a;color:#fff;opacity:1}

#allServicesWrap{
  background:#fff;
  padding:68px 40px 72px;
}
.allSrv_inner{
  max-width:1200px;
  margin:0 auto;
}
.allSrv_grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:20px;
}
.allSrv_tile{
  background:#faf8f5;
  border:1px solid rgba(0,0,0,.04);
  border-radius:12px;
  padding:28px 22px;
  text-align:center;
  transition:box-shadow .2s,transform .2s;
}
.allSrv_tile:hover{
  box-shadow:0 6px 24px rgba(0,0,0,.06);
  transform:translateY(-3px);
}
.allSrv_ico{
  font-size:26px;
  color:#c8a45e;
  margin-bottom:12px;
}
.allSrv_name{
  font-family:'Playfair Display',serif;
  font-size:15px;
  font-weight:600;
  color:#1a1a1a;
  margin-bottom:8px;
}
.allSrv_brief{
  font-size:12.5px;
  color:#999;
  line-height:1.65;
  font-weight:400;
  margin-bottom:14px;
}
.allSrv_tag{
  display:inline-block;
  font-family:'JetBrains Mono',monospace;
  font-size:11px;
  font-weight:500;
  color:#b08930;
  background:rgba(200,164,94,.1);
  padding:4px 10px;
  border-radius:4px;
}

#materiauxWrap{
  max-width:1280px;
  margin:0 auto;
  padding:70px 40px 65px;
}
.mat_grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
}
.mat_card{
  background:#fff;
  border-radius:12px;
  overflow:hidden;
  border:1px solid rgba(0,0,0,.05);
  transition:box-shadow .2s;
}
.mat_card:hover{box-shadow:0 6px 24px rgba(0,0,0,.06)}
.mat_imgWrap{
  aspect-ratio:3/2;
  overflow:hidden;
  background:#ebe6dc;
}
.mat_imgWrap img{
  width:100%;height:100%;
  object-fit:cover;
  transition:transform .3s;
}
.mat_card:hover .mat_imgWrap img{transform:scale(1.04)}
.mat_label{
  font-family:'Playfair Display',serif;
  font-size:1rem;
  font-weight:600;
  color:#1a1a1a;
  padding:16px 18px 5px;
}
.mat_sub{
  font-size:12.5px;
  color:#999;
  line-height:1.6;
  padding:0 18px 18px;
  font-weight:400;
}

#exempleWrap{
  background:#1a1a1a;
  padding:72px 40px 68px;
}
#exempleWrap .sec_eyebrow{color:#d4c5a9}
#exempleWrap .sec_mainHead{color:#fff}
#exempleWrap .headAccent{color:#c8a45e}
#exempleWrap .sec_headSub{color:#888}
.ex_gallery{
  max-width:1200px;
  margin:0 auto;
  display:flex;
  flex-direction:column;
  gap:32px;
}
.ex_item{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}
.ex_imgContainer{
  position:relative;
  border-radius:10px;
  overflow:hidden;
  aspect-ratio:4/3;
  background:#2a2a2a;
}
.ex_imgContainer img{
  width:100%;height:100%;
  object-fit:cover;
}
.ex_label{
  position:absolute;top:12px;left:12px;
  font-size:10px;font-weight:700;
  letter-spacing:1.5px;
  text-transform:uppercase;
  padding:5px 12px;
  border-radius:4px;
}
.ex_labelAvant{background:rgba(0,0,0,.6);color:#fff}
.ex_labelApres{background:#c8a45e;color:#fff}
.ex_caption{
  grid-column:1/-1;
  text-align:center;
  font-size:.8125rem;
  color:#888;
  font-weight:400;
  letter-spacing:.3px;
}

#experienceWrap{
  max-width:1280px;
  margin:0 auto;
  padding:72px 40px 68px;
}
.exp_inner{
  display:flex;
  gap:58px;
  align-items:center;
}
.exp_txtCol{flex:1;min-width:0}
.exp_imgCol{flex:1;min-width:0}
.exp_txtCol .sec_headBlock{text-align:left;margin-bottom:22px}
.exp_para{
  font-size:14.5px;
  color:#666;
  line-height:1.8;
  margin-bottom:14px;
  font-weight:400;
}
.exp_statsRow{
  display:flex;
  gap:28px;
  margin-top:26px;
  padding-top:22px;
  border-top:1px solid #eee;
}
.exp_stat{text-align:center}
.exp_statNum{
  font-family:'Playfair Display',serif;
  font-size:30px;
  font-weight:700;
  color:#1a1a1a;
  line-height:1.2;
}
.exp_statLabel{
  font-size:11.5px;
  color:#999;
  font-weight:400;
  letter-spacing:.3px;
}
.exp_mainPhoto{
  border-radius:14px;
  width:100%;
  aspect-ratio:4/5;
  object-fit:cover;
}

#commentCaMarche{
  background:#f4f0e8;
  padding:68px 40px 72px;
}
.ccm_inner{
  max-width:1200px;
  margin:0 auto;
}
.ccm_stepsGrid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:26px;
}
.ccm_step{
  background:#fff;
  border-radius:12px;
  padding:30px 22px;
  text-align:center;
  border:1px solid rgba(0,0,0,.04);
}
.ccm_stepNum{
  font-family:'Playfair Display',serif;
  font-size:38px;
  font-weight:700;
  color:rgba(200,164,94,.2);
  line-height:1;
  margin-bottom:10px;
}
.ccm_stepIcon{
  font-size:26px;
  color:#c8a45e;
  margin-bottom:12px;
}
.ccm_stepTitle{
  font-family:'Playfair Display',serif;
  font-size:1rem;
  font-weight:600;
  color:#1a1a1a;
  margin-bottom:10px;
}
.ccm_stepTxt{
  font-size:.8125rem;
  color:#888;
  line-height:1.7;
  font-weight:400;
}

#equipeWrap{
  max-width:1200px;
  margin:0 auto;
  padding:70px 40px 65px;
}
.equipe_grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:28px;
}
.equipe_card{
  text-align:center;
  background:#fff;
  border-radius:14px;
  padding:34px 24px 28px;
  border:1px solid rgba(0,0,0,.04);
  transition:box-shadow .2s;
}
.equipe_card:hover{box-shadow:0 8px 30px rgba(0,0,0,.06)}
.equipe_photoWrap{
  width:120px;height:120px;
  border-radius:50%;
  overflow:hidden;
  margin:0 auto 16px;
  background:#ebe6dc;
  border:3px solid #f4f0e8;
}
.equipe_photoWrap img{
  width:100%;height:100%;
  object-fit:cover;
}
.equipe_name{
  font-family:'Playfair Display',serif;
  font-size:18px;
  font-weight:600;
  color:#1a1a1a;
  margin-bottom:4px;
}
.equipe_role{
  font-size:.75rem;
  color:#c8a45e;
  font-weight:700;
  letter-spacing:1px;
  text-transform:uppercase;
  margin-bottom:12px;
}
.equipe_bio{
  font-size:13px;
  color:#999;
  line-height:1.7;
  font-weight:400;
}

#pourquoiWrap{
  background:#fff;
  padding:68px 40px 74px;
}
.pq_inner{
  max-width:1200px;
  margin:0 auto;
}
.pq_grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
}
.pq_item{
  background:#faf8f5;
  border-radius:12px;
  padding:28px 24px;
  border:1px solid rgba(0,0,0,.03);
  transition:box-shadow .2s;
}
.pq_item:hover{box-shadow:0 4px 16px rgba(0,0,0,.05)}
.pq_ico{
  font-size:24px;
  color:#c8a45e;
  margin-bottom:13px;
}
.pq_title{
  font-family:'Playfair Display',serif;
  font-size:16px;
  font-weight:600;
  color:#1a1a1a;
  margin-bottom:7px;
}
.pq_txt{
  font-size:.8125rem;
  color:#999;
  line-height:1.7;
  font-weight:400;
}

#kustomWrap{
  max-width:1280px;
  margin:0 auto;
  padding:72px 40px 68px;
}
.kustom_inner{
  display:flex;
  gap:56px;
  align-items:center;
}
.kustom_imgCol{flex:1;min-width:0}
.kustom_txtCol{flex:1;min-width:0}
.kustom_txtCol .sec_headBlock{text-align:left;margin-bottom:20px}
.kustom_bigImg{
  border-radius:14px;
  width:100%;
  aspect-ratio:4/5;
  object-fit:cover;
}
.kustom_para{
  font-size:.9rem;
  color:#666;
  line-height:1.8;
  margin-bottom:14px;
  font-weight:400;
}
.kustom_features{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin:20px 0 26px;
}
.kustom_feat{
  display:flex;
  align-items:center;
  gap:10px;
  font-size:13.5px;
  color:#555;
  font-weight:500;
}
.kustom_feat i{
  color:#c8a45e;
  font-size:16px;
  flex-shrink:0;
}
.kustom_ctaBtn{
  display:inline-block;
  background:#c8a45e;
  color:#fff;
  padding:14px 28px;
  font-size:12.5px;
  font-weight:700;
  letter-spacing:1px;
  text-transform:uppercase;
  border-radius:8px;
  transition:background .2s;
}
.kustom_ctaBtn:hover{background:#b08930;opacity:1}

#contactFormWrap{
  background:#1a1a1a;
  padding:72px 40px 68px;
}
#contactFormWrap .sec_eyebrow{color:#d4c5a9}
#contactFormWrap .sec_mainHead{color:#fff}
#contactFormWrap .headAccent{color:#c8a45e}
#contactFormWrap .sec_headSub{color:#888}
.ctForm_inner{max-width:1100px;margin:0 auto}
.ctForm_layout{
  display:flex;
  gap:48px;
  align-items:flex-start;
}
.ctForm_formSide{flex:3;min-width:0}
.ctForm_infoSide{flex:2;min-width:260px}
.frmRow_2col{display:flex;gap:14px}
.frmRow_2col .frm_field{flex:1}
.frm_field{margin-bottom:15px}
.frm_lbl{
  display:block;
  font-size:11px;
  font-weight:700;
  letter-spacing:1.2px;
  text-transform:uppercase;
  color:#999;
  margin-bottom:5px;
}
.frm_input{
  width:100%;
  background:#2a2a2a;
  border:1px solid #333;
  color:#eee;
  padding:12px 14px;
  font-family:'DM Sans',sans-serif;
  font-size:14px;
  border-radius:7px;
  outline:none;
  transition:border-color .15s;
}
.frm_input::placeholder{color:#666}
.frm_input:focus{border-color:#c8a45e}
.frm_select{
  appearance:none;
  cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%23999' viewBox='0 0 16 16'%3E%3Cpath d='M8 11L3 6h10z'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 14px center;
  padding-right:36px;
}
.frm_textarea{resize:vertical;min-height:90px}
.frm_submitBtn{
  width:100%;
  background:#c8a45e;
  color:#fff;
  border:none;
  padding:15px 28px;
  font-family:'DM Sans',sans-serif;
  font-size:13px;
  font-weight:700;
  letter-spacing:1px;
  text-transform:uppercase;
  border-radius:8px;
  cursor:pointer;
  transition:background .2s;
  display:flex;align-items:center;justify-content:center;gap:8px;
  margin-top:6px;
}
.frm_submitBtn:hover{background:#b08930}
.frm_submitBtn i{font-size:15px}
.ctInfo_block{
  margin-bottom:20px;
  display:flex;
  gap:14px;
  align-items:flex-start;
}
.ctInfo_icon{
  font-size:18px;
  color:#c8a45e;
  margin-top:2px;
  flex-shrink:0;
}
.ctInfo_title{
  font-size:.75rem;
  font-weight:700;
  letter-spacing:1px;
  text-transform:uppercase;
  color:#ccc;
  margin-bottom:2px;
}
.ctInfo_txt{
  font-size:14px;
  color:#999;
  line-height:1.6;
  font-weight:400;
}
.ctInfo_reviewBox{
  margin-top:28px;
  background:rgba(200,164,94,.08);
  border:1px solid rgba(200,164,94,.2);
  border-radius:10px;
  padding:20px 18px;
}
.ctInfo_reviewHead{
  font-family:'Playfair Display',serif;
  font-size:1rem;
  font-weight:600;
  color:#c8a45e;
  margin-bottom:8px;
}
.ctInfo_reviewHead i{margin-right:4px}
.ctInfo_reviewTxt{
  font-size:13px;
  color:#999;
  line-height:1.65;
  margin-bottom:14px;
  font-weight:400;
}
.ctInfo_reviewBtn{
  display:inline-block;
  border:1px solid #c8a45e;
  color:#c8a45e;
  padding:9px 18px;
  font-size:11px;
  font-weight:700;
  letter-spacing:1px;
  text-transform:uppercase;
  border-radius:6px;
  transition:background .15s,color .15s;
}
.ctInfo_reviewBtn:hover{background:#c8a45e;color:#fff;opacity:1}

#faqWrap{
  max-width:1200px;
  margin:0 auto;
  padding:68px 40px 72px;
}
.faq_inner{
  max-width:760px;
  margin:0 auto;
}
.faq_item{border-bottom:1px solid #eee}
.faq_q{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:19px 0;
  cursor:pointer;
  gap:16px;
}
.faq_q span:first-child{
  font-family:'Playfair Display',serif;
  font-size:16px;
  font-weight:600;
  color:#1a1a1a;
}
.faq_arrow{
  color:#bbb;
  font-size:18px;
  transition:transform .25s;
  flex-shrink:0;
}
.faq_item.open .faq_arrow{transform:rotate(180deg)}
.faq_a{
  max-height:0;
  overflow:hidden;
  transition:max-height .3s ease;
}
.faq_item.open .faq_a{max-height:300px}
.faq_a p{
  font-size:14px;
  color:#777;
  line-height:1.8;
  padding:0 0 18px;
  font-weight:400;
}

#ftrMain{
  background:#1a1a1a;
  padding:58px 40px 0;
}
.ftr_topRow{
  max-width:1200px;
  margin:0 auto;
  display:grid;
  grid-template-columns:2fr 1fr 1fr 1.5fr;
  gap:38px;
  padding-bottom:42px;
  border-bottom:1px solid #2a2a2a;
}
.ftr_logoRow{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:14px;
}
.ftr_logoRow img{border-radius:8px}
.ftr_brandDesc{
  font-size:13px;
  color:#888;
  line-height:1.7;
  font-weight:400;
}
.ftr_colTitle{
  font-size:11px;
  font-weight:700;
  letter-spacing:1.5px;
  text-transform:uppercase;
  color:#999;
  margin-bottom:15px;
}
.ftr_linksCol a{
  display:block;
  font-size:13.5px;
  color:#bbb;
  margin-bottom:9px;
  font-weight:400;
  transition:color .15s;
}
.ftr_linksCol a:hover{color:#c8a45e;opacity:1}
.ftr_contactLine{
  font-size:13px;
  color:#bbb;
  margin-bottom:10px;
  font-weight:400;
  display:flex;
  align-items:center;
  gap:8px;
}
.ftr_contactLine i{color:#c8a45e;font-size:14px}
.ftr_bottomBar{
  max-width:1200px;
  margin:0 auto;
  padding:22px 0 28px;
  text-align:center;
}
.ftr_copy{
  font-size:11px;
  color:#555;
  font-weight:400;
}

.ckBanner_wrap{
  position:fixed;
  bottom:0;left:0;right:0;
  z-index:99999;
  display:none;
}
.ckBanner_box{
  max-width:900px;
  margin:0 auto 20px;
  background:#1a1a1a;
  color:#ccc;
  padding:20px 26px;
  display:flex;
  align-items:center;
  gap:22px;
  flex-wrap:wrap;
  border-radius:12px;
  box-shadow:0 8px 40px rgba(0,0,0,.2);
  border:1px solid #333;
}
.ckBanner_txt{
  flex:1;
  font-size:12.5px;
  line-height:1.6;
  min-width:250px;
  color:#aaa;
  font-weight:400;
}
.ckBanner_txt a{color:#c8a45e;text-decoration:underline}
.ckBanner_btns{
  display:flex;gap:10px;flex-wrap:wrap;
}
.ckBanner_btn{
  border:none;
  padding:10px 20px;
  font-family:'DM Sans',sans-serif;
  font-size:11px;
  font-weight:700;
  letter-spacing:1px;
  text-transform:uppercase;
  cursor:pointer;
  border-radius:6px;
  transition:opacity .15s;
}
.ckBanner_btn:hover{opacity:.85}
.ckBtn_accept{background:#c8a45e;color:#fff}
.ckBtn_reject{background:transparent;color:#aaa;border:1px solid #555}
.ckBtn_settings{background:transparent;color:#777;border:1px solid #444}

.ckSettings_overlay{
  position:fixed;top:0;left:0;right:0;bottom:0;
  background:rgba(0,0,0,.5);
  z-index:100000;
  display:none;
  align-items:center;justify-content:center;
  padding:20px;
}
.ckSettings_overlay.open{display:flex}
.ckSettings_box{
  background:#fff;
  max-width:520px;
  width:100%;
  max-height:90vh;
  overflow-y:auto;
  border-radius:12px;
}
.ckSettings_hdr{
  display:flex;justify-content:space-between;align-items:center;
  padding:20px 24px;
  border-bottom:1px solid #eee;
}
.ckSettings_title{
  font-family:'Playfair Display',serif;
  font-size:14px;font-weight:700;
  letter-spacing:2px;text-transform:uppercase;
  color:#1a1a1a;
}
.ckSettings_close{
  font-size:20px;cursor:pointer;color:#1a1a1a;
}
.ckSettings_body{
  padding:15px 24px;
}
.ckOpt_row{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:15px;
  padding:16px 0;
  border-bottom:1px solid #f0f0f0;
}
.ckOpt_row:last-child{border-bottom:none}
.ckOpt_info{flex:1}
.ckOpt_name{
  font-family:'Playfair Display',serif;
  font-size:14px;
  font-weight:600;
  color:#1a1a1a;
  margin-bottom:4px;
}
.ckOpt_desc{
  font-size:11.5px;
  color:#999;font-weight:400;
  line-height:1.6;
}
.ckOpt_toggle{padding-top:2px}
.ckToggle_label{
  position:relative;
  display:inline-block;
  width:44px;height:24px;
  cursor:pointer;
}
.ckToggle_label input{opacity:0;width:0;height:0}
.ckToggle_slider{
  position:absolute;top:0;left:0;right:0;bottom:0;
  background:#ddd;
  transition:background .2s;
  border-radius:12px;
}
.ckToggle_slider:before{
  content:"";
  position:absolute;
  height:18px;width:18px;
  left:3px;bottom:3px;
  background:#fff;
  transition:transform .2s;
  border-radius:50%;
}
.ckToggle_label input:checked + .ckToggle_slider{background:#1a1a1a}
.ckToggle_label input:checked + .ckToggle_slider:before{transform:translateX(20px)}
.ckToggle_locked{background:#c8a45e;cursor:not-allowed}
.ckToggle_locked:before{transform:translateX(20px)}
.ckSettings_ftr{
  display:flex;gap:10px;
  padding:15px 24px 20px;
  border-top:1px solid #eee;
  flex-wrap:wrap;
}
.ckSettings_ftr .ckBanner_btn{flex:1;text-align:center}

#outilsWrap{
  background:#fff;
  padding:70px 40px 66px;
}
.outils_inner{
  max-width:1200px;
  margin:0 auto;
}
.outils_grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:22px;
}
.outils_card{
  background:#faf8f5;
  border:1px solid rgba(0,0,0,.04);
  border-radius:12px;
  padding:26px 22px;
  text-align:center;
  transition:box-shadow .2s;
}
.outils_card:hover{box-shadow:0 6px 22px rgba(0,0,0,.06)}
.outils_logoWrap{
  width:72px;height:72px;
  margin:0 auto 14px;
  background:#fff;
  border-radius:50%;
  border:1px solid #eee;
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;
}
.outils_logoWrap img{
  width:48px;height:48px;
  object-fit:contain;
}
.outils_brandName{
  font-family:'Playfair Display',serif;
  font-size:16px;
  font-weight:600;
  color:#1a1a1a;
  margin-bottom:8px;
}
.outils_brandTxt{
  font-size:12.5px;
  color:#999;
  line-height:1.7;
  font-weight:400;
}
.outils_note{
  margin-top:28px;
  background:rgba(200,164,94,.06);
  border:1px solid rgba(200,164,94,.15);
  border-radius:8px;
  padding:16px 20px;
  font-size:.8125rem;
  color:#8a6d2f;
  line-height:1.65;
  display:flex;
  gap:10px;
  align-items:flex-start;
}
.outils_note i{
  font-size:16px;
  flex-shrink:0;
  margin-top:1px;
}

#expressWrap{
  background:#f4f0e8;
  padding:72px 40px 66px;
}
.express_inner{
  max-width:1200px;
  margin:0 auto;
}
.express_content{
  display:flex;
  gap:52px;
  align-items:center;
}
.express_txtCol{flex:3;min-width:0}
.express_imgCol{flex:2;min-width:0}
.express_txtCol .sec_headBlock{text-align:left;margin-bottom:20px}
.express_para{
  font-size:14.5px;
  color:#666;
  line-height:1.8;
  margin-bottom:12px;
  font-weight:400;
}
.express_details{
  display:flex;
  flex-direction:column;
  gap:16px;
  margin:24px 0 20px;
}
.express_detailItem{
  display:flex;
  gap:14px;
  align-items:flex-start;
  background:#fff;
  padding:18px 20px;
  border-radius:10px;
  border:1px solid rgba(0,0,0,.04);
}
.express_detailItem > i{
  color:#c8a45e;
  font-size:20px;
  margin-top:2px;
  flex-shrink:0;
}
.express_detailTitle{
  font-family:'Playfair Display',serif;
  font-size:15px;
  font-weight:600;
  color:#1a1a1a;
  margin-bottom:3px;
}
.express_detailTxt{
  font-size:.8125rem;
  color:#999;
  line-height:1.6;
  font-weight:400;
}
.express_note{
  font-size:12px;
  color:#aaa;
  font-style:italic;
  line-height:1.6;
}
.express_photo{
  width:100%;
  border-radius:14px;
  aspect-ratio:3/4;
  object-fit:cover;
}

@media (max-width:1024px){
  .popServices_grid{grid-template-columns:repeat(2,1fr);gap:20px}
  .allSrv_grid{grid-template-columns:repeat(2,1fr)}
  .mat_grid{grid-template-columns:repeat(2,1fr)}
  .ccm_stepsGrid{grid-template-columns:repeat(2,1fr)}
  .pq_grid{grid-template-columns:repeat(2,1fr)}
  .equipe_grid{grid-template-columns:repeat(3,1fr);gap:20px}
  .ftr_topRow{grid-template-columns:1fr 1fr;gap:28px}
  .exp_inner{gap:36px}
  .kustom_inner{gap:36px}
  .ctForm_layout{flex-direction:column}
  .outils_grid{grid-template-columns:repeat(2,1fr)}
  .express_content{gap:36px}
}

@media (max-width:767px){
  #hdrMain{display:none}
  #mobileHdr{display:block}

  #heroWrap{padding:28px 20px 38px}
  .hero_content{flex-direction:column;gap:32px}
  .hero_mainTitle{font-size:36px}
  .hero_subTxt{font-size:14.5px}
  .hero_floatCard{left:auto;right:16px;bottom:18px}
  .hero_bgLayer{display:none}

  .sec_mainHead{font-size:28px}

  #servicesPopWrap{padding:46px 20px 50px}
  .popServices_grid{grid-template-columns:1fr;gap:18px}

  #allServicesWrap{padding:46px 20px 50px}
  .allSrv_grid{grid-template-columns:repeat(2,1fr);gap:14px}

  #materiauxWrap{padding:46px 20px}
  .mat_grid{grid-template-columns:1fr;gap:16px}

  #exempleWrap{padding:48px 20px}
  .ex_item{grid-template-columns:1fr;gap:10px}

  #experienceWrap{padding:46px 20px}
  .exp_inner{flex-direction:column;gap:28px}
  .exp_txtCol .sec_headBlock{text-align:center}
  .exp_statsRow{justify-content:center}

  #commentCaMarche{padding:48px 20px}
  .ccm_stepsGrid{grid-template-columns:1fr;gap:16px}
  .ccm_step{text-align:left;display:flex;flex-wrap:wrap;gap:0 14px;align-items:flex-start;padding:20px 18px}
  .ccm_stepNum{font-size:28px;min-width:42px;margin-bottom:0}
  .ccm_stepIcon{margin-bottom:8px}

  #equipeWrap{padding:48px 20px}
  .equipe_grid{grid-template-columns:1fr;gap:16px}

  #pourquoiWrap{padding:48px 20px}
  .pq_grid{grid-template-columns:1fr;gap:14px}

  #kustomWrap{padding:46px 20px}
  .kustom_inner{flex-direction:column;gap:28px}
  .kustom_txtCol .sec_headBlock{text-align:center}

  #outilsWrap{padding:46px 20px}
  .outils_grid{grid-template-columns:1fr;gap:14px}

  #expressWrap{padding:46px 20px}
  .express_content{flex-direction:column;gap:28px}
  .express_txtCol .sec_headBlock{text-align:center}

  #contactFormWrap{padding:48px 20px}
  .frmRow_2col{flex-direction:column;gap:0}

  #faqWrap{padding:48px 20px}
  .faq_q span:first-child{font-size:14.5px}

  #ftrMain{padding:38px 20px 0}
  .ftr_topRow{grid-template-columns:1fr;gap:24px}

  .ckBanner_box{margin:0 10px 10px;padding:16px 18px;gap:14px}
  .ckBanner_btns{width:100%}
  .ckBanner_btn{flex:1;text-align:center}
}

@media (max-width:480px){
  .hero_mainTitle{font-size:30px}
  .hero_btnRow{flex-direction:column;align-items:flex-start}
  .hero_trustRow{flex-direction:column;gap:10px}
  .allSrv_grid{grid-template-columns:1fr}
  .sec_mainHead{font-size:24px}
  .popSrv_body{padding:18px 16px 22px}
  .popSrv_title{font-size:17px}
  .exp_statsRow{flex-direction:column;align-items:center;gap:14px}
}
.legalPage_wrap{
  max-width:760px;
  margin:0 auto;
  padding:40px 30px 50px;
}
.legalPage_wrap h1{
  font-family:'Playfair Display',serif;
  font-size:22px;
  font-weight:700;
  letter-spacing:3px;
  text-transform:uppercase;
  color:#1a1a1a;
  margin-bottom:28px;
  padding-bottom:15px;
  border-bottom:1px solid #eee;
}
.legalPage_wrap h2{
  font-family:'DM Sans',sans-serif;
  font-size:13px;
  font-weight:700;
  letter-spacing:1.5px;
  text-transform:uppercase;
  color:#1a1a1a;
  margin-top:26px;
  margin-bottom:10px;
}
.legalPage_wrap h3{
  font-size:12px;
  font-weight:400;
  color:#bbb;
  margin-top:30px;
}
.legalPage_wrap p{
  font-size:14px;
  font-weight:400;
  color:#666;
  line-height:1.85;
  margin-bottom:8px;
}

#reviewHeroWrap{
  max-width:1200px;
  margin:0 auto;
  padding:48px 40px 36px;
}
.rvHero_inner{}
.rvHero_statsBar{
  display:flex;
  justify-content:center;
  gap:48px;
  margin-top:10px;
  padding:28px 0;
  border-top:1px solid #eee;
  border-bottom:1px solid #eee;
}
.rvStat_item{text-align:center}
.rvStat_num{
  font-family:'Playfair Display',serif;
  font-size:32px;
  font-weight:700;
  color:#1a1a1a;
  line-height:1.2;
}
.rvStat_small{
  font-size:18px;
  color:#bbb;
  font-weight:400;
}
.rvStat_label{
  font-size:11.5px;
  color:#999;
  font-weight:400;
  letter-spacing:.3px;
  margin-top:2px;
}

#reviewCardsWrap{
  max-width:1200px;
  margin:0 auto;
  padding:40px 40px 50px;
}
.rvCards_grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
}
.rvCard_item{
  background:#fff;
  border:1px solid rgba(0,0,0,.05);
  border-radius:12px;
  padding:26px 24px 22px;
  display:flex;
  flex-direction:column;
  transition:box-shadow .2s;
}
.rvCard_item:hover{box-shadow:0 6px 24px rgba(0,0,0,.06)}
.rvCard_stars{
  display:flex;
  gap:3px;
  margin-bottom:10px;
  color:#c8a45e;
  font-size:14px;
}
.rvCard_service{
  font-family:'JetBrains Mono',monospace;
  font-size:10.5px;
  font-weight:500;
  color:#b08930;
  background:rgba(200,164,94,.1);
  display:inline-block;
  padding:3px 9px;
  border-radius:4px;
  margin-bottom:14px;
  align-self:flex-start;
}
.rvCard_txt{
  font-size:13.5px;
  color:#777;
  line-height:1.75;
  font-weight:400;
  margin-bottom:18px;
  flex:1;
}
.rvCard_author{
  padding-top:14px;
  border-top:1px solid #f0ece4;
}
.rvCard_authorName{
  font-family:'Playfair Display',serif;
  font-size:14px;
  font-weight:600;
  color:#1a1a1a;
}
.rvCard_authorCity{
  font-size:11.5px;
  color:#bbb;
  font-weight:400;
}

#reviewGalleryWrap{
  background:#fff;
  padding:50px 40px 55px;
}
.rvGallery_inner{
  max-width:1200px;
  margin:0 auto;
}
.rvGallery_grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:22px;
}
.rvGallery_item{
  border-radius:12px;
  overflow:hidden;
  aspect-ratio:16/10;
  background:#ebe6dc;
}
.rvGallery_item img{
  width:100%;height:100%;
  object-fit:cover;
  transition:transform .3s;
}
.rvGallery_item:hover img{transform:scale(1.03)}

#reviewCtaWrap{
  max-width:1200px;
  margin:0 auto;
  padding:40px 40px 60px;
}
.rvCta_box{
  text-align:center;
  background:#f4f0e8;
  border-radius:14px;
  padding:48px 40px;
}
.rvCta_title{
  font-family:'Playfair Display',serif;
  font-size:24px;
  font-weight:700;
  color:#1a1a1a;
  margin-bottom:12px;
}
.rvCta_txt{
  font-size:14px;
  color:#888;
  line-height:1.75;
  max-width:520px;
  margin:0 auto 24px;
  font-weight:400;
}
.rvCta_btnRow{
  display:flex;
  justify-content:center;
  gap:16px;
  flex-wrap:wrap;
}

#thankyouPageWrap{
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:40px 20px;
}
.tyPage_inner{
  text-align:center;
  max-width:480px;
}
.tyPage_logoWrap{
  margin-bottom:32px;
}
.tyPage_logoWrap img{
  margin:0 auto;
  border-radius:10px;
}
.tyPage_iconWrap{
  font-size:52px;
  color:#c8a45e;
  margin-bottom:18px;
}
.tyPage_title{
  font-family:'Playfair Display',serif;
  font-size:36px;
  font-weight:700;
  color:#1a1a1a;
  margin-bottom:14px;
}
.tyPage_txt{
  font-size:15px;
  color:#666;
  line-height:1.75;
  font-weight:400;
  margin-bottom:8px;
}
.tyPage_txtSmall{
  font-size:13px;
  color:#999;
}
.tyPage_btn{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-top:28px;
  background:#1a1a1a;
  color:#faf8f5;
  padding:14px 28px;
  font-size:13px;
  font-weight:700;
  letter-spacing:.8px;
  text-transform:uppercase;
  border-radius:8px;
  transition:background .2s;
}
.tyPage_btn:hover{background:#333;opacity:1}
.tyPage_btn i{font-size:16px}

@media (max-width:767px){
  .legalPage_wrap{padding:25px 18px 40px}
  .legalPage_wrap h1{font-size:18px;letter-spacing:2px}

  #reviewHeroWrap{padding:32px 20px 28px}
  .rvHero_statsBar{gap:24px;padding:22px 0}
  .rvStat_num{font-size:26px}

  #reviewCardsWrap{padding:28px 20px 36px}
  .rvCards_grid{grid-template-columns:1fr;gap:16px}

  #reviewGalleryWrap{padding:36px 20px 40px}
  .rvGallery_grid{grid-template-columns:1fr;gap:16px}

  #reviewCtaWrap{padding:28px 20px 40px}
  .rvCta_box{padding:32px 22px}
  .rvCta_title{font-size:20px}

  .tyPage_title{font-size:28px}
  .tyPage_iconWrap{font-size:42px}
}

@media (max-width:480px){
  .rvHero_statsBar{flex-direction:column;gap:16px}
  .rvCta_btnRow{flex-direction:column;align-items:center}
}