
:root{--a:#1a1d19;--a2:#22261f;--paper:#faf8f4;--paper2:#f8f5f0;--gold:#e6a817;--gold2:#ffd05a;--ink:#292b27;--muted:#73766d;--line:rgba(37,40,35,.12)
  --display-serif: Georgia, "Times New Roman", serif;
}
*{box-sizing:border-box}html{scroll-behavior:auto}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}a{text-decoration:none;color:inherit}img{display:block;max-width:100%}.svg-sprite{position:absolute;width:0;height:0;overflow:hidden}
header{position:fixed;top:0;left:0;z-index:50;width:100%;height:92px;padding:0 4.5vw;display:grid;grid-template-columns:170px 1fr auto;align-items:center;gap:26px;color:white;background:transparent;transition:.25s}
header.scrolled{height:92px;background:rgba(24,26,23,.86);backdrop-filter:blur(12px)}
.nav-logo{opacity:0;pointer-events:none;transition:.25s}.scrolled .nav-logo{opacity:1;pointer-events:auto}.nav-logo img{width:126px;max-height:72px;object-fit:contain}
.desktop-nav{display:flex;justify-content:center;gap:30px}.desktop-nav a{font-size:13px;color:rgba(255,255,255,.74);position:relative}.desktop-nav a.active{color:var(--gold2)}.desktop-nav a.active:after{content:"";position:absolute;left:0;right:0;bottom:-9px;height:2px;background:var(--gold2)}
.contact-pill{border:1px solid rgba(255,255,255,.28);border-radius:99px;padding:11px 17px;font-size:11px}#burger{display:none;background:none;border:0}#burger span{display:block;width:24px;height:1px;background:#fff;margin:5px}#mobileNav{display:none}
.hero{position:relative;min-height:100dvh;min-height:100svh;overflow:hidden;color:white;background:#111}.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,10,8,.42),rgba(8,10,8,.10) 55%,rgba(8,10,8,.02)),linear-gradient(0deg,rgba(8,10,8,.12),transparent)}
.hero-copy{position:absolute;left:6vw;bottom:18vh;width:min(760px,80vw)}.hero-logo{width:clamp(420px,38vw,620px);margin-bottom:20px;filter:drop-shadow(0 12px 28px rgba(0,0,0,.28))}.hero-copy>p{font-size:14px;letter-spacing:.04em;margin:0 0 14px}.hero h1{font:400 clamp(54px,6.7vw,98px)/.92 Georgia,serif;margin:0}.hero h1 span,.hero h1 em{display:block}.hero h1 em{margin-left:clamp(48px,6vw,100px);color:#ffd05a}.hero-buttons{display:flex;align-items:center;gap:22px;margin-top:28px}.hero-buttons a:last-child{font-size:12px}.gold-btn{display:inline-flex;border:0;border-radius:99px;background:var(--gold);color:#171914;padding:13px 20px;font-weight:700;font-size:12px;cursor:pointer}
section{padding:72px 5.2vw}.section-light{background:var(--paper)}.section-dark{background:var(--a);color:#f5efe5}.heading{max-width:900px;margin-bottom:38px}.heading>span,.craft-copy>span,.zone-copy>span,.reviews-intro>span,.contact-brand span{display:block;margin-bottom:10px;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#b77b08}.heading h2,.craft-copy h2,.zone-copy h2,.reviews-intro h2,.contact-brand h2{font:400 clamp(40px,4.4vw,62px)/1 Georgia,serif;margin:0 0 17px}.heading p{max-width:750px;font-size:13px;line-height:1.68;color:var(--muted)}.dark-heading>span,.contact-brand span,.zone-copy>span{color:#f0b72d}
.pict{width:54px;height:54px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;color:#d9980a;flex:0 0 auto}
.service-main{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.service-card{padding:28px 24px 26px 0;border-right:1px solid var(--line)}.service-card+article{padding-left:24px}.service-card:last-child{border-right:0}.service-card h3,.service-mini h3,.reason-card h3{font-size:14px;margin:14px 0 7px}.service-card p,.service-mini p,.reason-card p{font-size:11.2px;line-height:1.55;color:var(--muted);margin:0}

/* Voir toutes les interventions : + fermé / − ouvert */
details[open] > summary .service-toggle-sign{
  font-size:0;
}
details[open] > summary .service-toggle-sign::after{
  content:"−";
  font-size:20px;
  line-height:1;
}

details{margin-top:22px}summary{cursor:pointer;list-style:none;font-size:12px;font-weight:700;padding:12px 0}summary b{color:var(--gold);font-size:20px}.service-more{display:grid;grid-template-columns:repeat(3,1fr);gap:0 32px;border-top:1px solid var(--line)}.service-mini{display:grid;grid-template-columns:38px 1fr;gap:13px;padding:17px 0;border-bottom:1px solid var(--line)}.service-mini .pict{width:34px;height:34px}.service-mini h3{font-size:12px;margin:0 0 4px}.service-mini p{font-size:9.5px}
.reason-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0 34px}.reason-card{padding:20px 0 26px;position:relative}.reason-card:before{content:"";display:block;width:68px;height:1px;background:rgba(228,186,97,.18);margin-bottom:17px}.reason-card .pict{width:42px;height:42px;color:#efb52c}.reason-card h3{color:#f5efe5}.reason-card p{color:#aaa9a2;font-size:9.7px}
.craft{display:grid;grid-template-columns:330px 1fr;gap:60px;align-items:center}.craft-copy p{font-size:12px;line-height:1.72;color:var(--muted)}.craft-images{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.craft-images figure{margin:0}.craft-images img{width:100%;height:300px;object-fit:cover}.craft-images figcaption{padding-top:10px}.craft-images b{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.06em}.craft-images span{display:block;font-size:10.8px;line-height:1.4;color:var(--muted);margin-top:4px}
.zone{position:relative;min-height:390px;padding:0;overflow:hidden;color:#fff}.zone>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 34%;filter:saturate(1.02) brightness(.96)}.zone-mask{position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,20,17,.67),rgba(18,20,17,.40) 34%,rgba(18,20,17,.12) 68%,rgba(18,20,17,.02))}.zone-copy{position:relative;z-index:2;width:min(620px,52vw);min-height:390px;padding:56px 5.2vw;display:flex;flex-direction:column;justify-content:center}.zone-copy .lead{font-size:14.5px;line-height:1.65;color:#f0eadf;margin:0 0 10px}.zone-copy p:last-child{font-size:12px;line-height:1.6;color:#d4d0c7}
.reviews{display:grid;grid-template-columns:320px 1fr;gap:70px;align-items:center;background:radial-gradient(circle at 20% 20%,rgba(110,90,55,.025) 0 1px,transparent 1.5px),#f9f6f1;background-size:14px 14px}.score{border-top:1px solid var(--line);padding-top:14px;margin:18px 0 15px}.score b{font:400 38px Georgia,serif}.score i{font-style:normal;color:#e4a20e;margin-left:9px}.score small{display:block;margin-top:4px;font-size:9px;color:var(--muted)}.reviews-intro>a{font-size:11px;color:#71603d}.review-box{padding-left:48px}.review-box blockquote{font:400 clamp(20px,2.15vw,31px)/1.4 Georgia,serif;color:#3a382f;margin:0;min-height:190px}.review-bottom{border-top:1px solid var(--line);padding-top:14px;display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:16px}.review-bottom b{font-size:11px}.review-bottom span{font-size:9px;color:var(--muted)}.review-bottom button{width:35px;height:35px;border-radius:50%;border:1px solid rgba(40,42,37,.2);background:transparent;cursor:pointer}
.contact{display:grid;grid-template-columns:minmax(330px,.88fr) minmax(500px,1.2fr);gap:7vw;align-items:center}.contact-brand>img{width:min(100%,440px);margin-bottom:28px}.contact-brand a{display:block;font-size:13px;color:#d8d0c2;margin:8px 0}.contact form{width:100%;max-width:720px;margin-left:auto}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid label,.consent{font-size:9px;color:#bdb6aa}.wide{grid-column:1/-1}input,textarea{width:100%;margin-top:6px;padding:12px 0;background:transparent;border:0;border-bottom:1px solid rgba(255,255,255,.24);color:#fff;outline:none}
.field-control{position:relative;display:block}.field-control input{padding-right:30px}.field-control textarea{padding-right:34px}.field-valid{position:absolute;right:4px;top:50%;transform:translateY(-35%);font-size:16px;font-weight:700;color:#efa51a;opacity:0;pointer-events:none}.field-valid-textarea{top:18px;transform:none}.field-control input:valid:not(:placeholder-shown)+.field-valid,.field-control textarea:valid:not(:placeholder-shown)+.field-valid{opacity:1}.form-trap{display:none!important}textarea{border:1px solid rgba(255,255,255,.22);padding:12px}.consent{display:flex;gap:8px;align-items:flex-start;margin:16px 0;line-height:1.45}.consent input{width:auto;margin:2px 0 0}#formStatus{font-size:10px;color:#ded3bf}
footer{display:flex;justify-content:space-between;padding:16px 5.2vw;background:#11130f;color:#8d9088;font-size:9px}
/* V1202 — ajustements ciblés */

/* Accueil : logo un peu plus bas, identité juste au-dessus des boutons */
.hero-copy{
  bottom:16.2vh;
}
.hero-logo{
  margin-bottom:16px;
}
.hero-copy .hero-kicker{
  margin:20px 0 0;
  font-size:13px;
  letter-spacing:.045em;
  color:#f2eadc;
}
.hero-buttons{
  margin-top:16px;
}

/* Savoir-faire : section plus compacte sans supprimer de texte */
.craft{
  padding-top:58px;
  padding-bottom:58px;
  grid-template-columns:340px 1fr;
  gap:52px;
}
.craft-copy h2{
  font-size:clamp(32px,3.25vw,46px);
  line-height:1.03;
  margin-bottom:14px;
}
.craft-copy p{
  font-size:11px;
  line-height:1.58;
  max-width:330px;
}
.craft-images img{
  height:270px;
}

/* Avis : papier légèrement plus texturé mais toujours clair */
.reviews{
  background:
    radial-gradient(circle at 14% 18%,rgba(108,82,43,.045) 0 1px,transparent 1.45px),
    radial-gradient(circle at 73% 63%,rgba(108,82,43,.032) 0 1px,transparent 1.5px),
    radial-gradient(circle at 42% 82%,rgba(108,82,43,.022) 0 1.2px,transparent 1.7px),
    linear-gradient(115deg,rgba(255,255,255,.18),rgba(132,105,63,.025) 42%,rgba(255,255,255,.10)),
    #f5efe6;
  background-size:13px 13px,19px 19px,23px 23px,100% 100%,100% 100%;
}
.review-box{
  touch-action:pan-y;
  user-select:none;
}

/* Contact : titre, grand logo centré, coordonnées dessous */
.contact-brand{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
}
.contact-heading{
  width:100%;
  margin-bottom:20px;}
.contact-heading h2{
  margin-bottom:0;
}
.contact-brand>img{
  width:min(100%,400px);
  margin:0 auto 22px;
}
.contact-details{
  width:100%;
}
.contact-details a{
  display:block;
  font-size:13px;
  color:#d8d0c2;
  margin:7px 0;
}


/* =========================================================
   V1203 — RESPONSIVE CONSOLIDÉ
   Une seule couche pour largeur + hauteur de viewport.
   ========================================================= */

html, body{
  width:100%;
  max-width:100%;
  overflow-x:hidden;
}

main, section, header, footer{
  width:100%;
  max-width:100%;
}

section{
  padding-left:clamp(20px,5.2vw,78px);
  padding-right:clamp(20px,5.2vw,78px);
}

/* ---------- TABLETTE / PETIT ÉCRAN ---------- */


.zone-copy .zone-indent{
  text-indent:1.15em;
}

.zone-highlight{
  color:var(--gold2);
  font-weight:700;
}

.hero-inline-stats{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  margin-top:7px;
  color:inherit;
  font-size:10px;
  line-height:1.2;
  letter-spacing:.08em;
  text-transform:uppercase;
  opacity:.88;
}
.hero-inline-stats i{
  width:3px;
  height:3px;
  flex:0 0 3px;
  border-radius:50%;
  background:currentColor;
  opacity:.65;
}

.hero-proof{
  position:absolute;
  left:50%;
  bottom:3.6vh;
  transform:translateX(-50%);
  width:min(920px,90vw);
}
.hero-proof-bottom{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  width:100%;
}
.hero-proof-item{
  min-width:0;
  text-align:center;
  padding:4px 28px;
  border-left:1px solid rgba(255,255,255,.22);
}
.hero-proof-item:first-child{
  border-left:0;
}
.hero-proof-item b{
  display:block;
  font:400 17px Georgia,"Times New Roman",serif;
  line-height:1.15;
  color:#fff;
}
.hero-proof-item span{
  display:block;
  margin-top:4px;
  font-size:8.8px;
  line-height:1.2;
  text-transform:uppercase;
  letter-spacing:.10em;
  color:#ddd6c9;
}

@media (max-width: 1000px){
  header{
    grid-template-columns:1fr auto;
    padding-left:24px;
    padding-right:24px;
  }

  .desktop-nav,
  .contact-pill{
    display:none;
  }

  #burger{
    display:block;
    justify-self:end;
  }

  #mobileNav{
    position:fixed;
    z-index:45;
    top:92px;
    right:0;
    width:min(340px,88vw);
    max-height:calc(100dvh - 92px);
    overflow-y:auto;
    padding:18px 24px 24px;
    background:rgba(25,27,24,.985);
    display:none;
    flex-direction:column;
  }

  #mobileNav.open{display:flex}

  #mobileNav a{
    padding:13px 0;
    color:#eee7da;
    border-bottom:1px solid rgba(255,255,255,.08);
    font-size:12px;
  }

  .service-main{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .service-card:nth-child(3){
    padding-left:0;
    border-right:1px solid var(--line);
  }

  .service-card:nth-child(4){
    border-right:0;
  }


  .service-card:nth-child(2){
    border-right:0;
  }

  .service-card:nth-child(n+3){
    border-top:1px solid var(--line);
  }

  .service-more{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .reason-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .craft{
  }

  .craft-copy{
    max-width:680px;
  }

  .reviews{
    grid-template-columns:1fr;
    gap:30px;
  }

  .review-box{
    border-top:1px solid var(--line);
    padding-left:0;
    padding-top:26px;
  }

  .contact{
    grid-template-columns:1fr 1fr;
    gap:5vw;
  }
}

/* ---------- SMARTPHONE PORTRAIT / ÉCRAN ÉTROIT ---------- */
@media (max-width: 680px){


  section{
    padding-top:clamp(44px,7dvh,58px);
    padding-bottom:clamp(44px,7dvh,58px);
    padding-left:20px;
    padding-right:20px;
  }

  .heading{
    margin-bottom:28px;
  }

  .heading h2,
  .craft-copy h2,
  .reviews-intro h2,
  .contact-brand h2,
  .zone-copy h2{
    font-size:clamp(34px,10.5vw,44px);
    line-height:1.02;
  }

  .heading p{
    font-size:12px;
    line-height:1.58;
  }

  .service-main,
  .service-more,
  .reason-grid,
  .craft-images,
  .contact{
    grid-template-columns:1fr;
  }

  .service-card{
    border-right:0 !important;
    border-top:1px solid var(--line);
    padding:20px 0 !important;
    display:grid;
    grid-template-columns:54px 1fr;
    gap:15px;
    align-items:start;
  }

  .service-card:first-child{
    border-top:0;
  }

  .service-card .pict{
    margin:0;
  }

  .service-card h3{
    margin:3px 0 7px;
  }

  .service-mini{
    grid-template-columns:38px 1fr;
    gap:12px;
  }

  .reason-card{
    display:grid;
    grid-template-columns:46px 1fr;
    gap:14px;
    align-items:start;
    padding:18px 0 20px;
  }

  .reason-card:before{
    display:none;
  }

  .reason-card .pict{
    margin-top:1px;
  }

  .reason-card h3{
    margin:2px 0 5px;
  }

  .craft{
    padding-top:clamp(42px,6dvh,52px);
    padding-bottom:clamp(42px,6dvh,52px);
    gap:26px;
  }

  .craft-copy p{
    max-width:none;
    font-size:10.5px;
    line-height:1.52;
  }

  .craft-images{
    gap:16px;
  }

  .craft-images img{
    width:100%;
    height:min(56vw,245px);
    min-height:185px;
    object-fit:cover;
  }

  .zone{
    min-height:clamp(340px,62dvh,470px);
    padding:0;
  }

  .zone>img{
    object-position:center 34%;
  }

  .zone-mask{
    background:linear-gradient(90deg,rgba(18,20,17,.80),rgba(18,20,17,.46) 66%,rgba(18,20,17,.18));
  }

  .zone-copy{
    width:100%;
    min-height:inherit;
    padding:clamp(40px,7dvh,58px) 20px;
  }

  .zone-copy .lead{
    font-size:13.5px;
    line-height:1.55;
  }

  .zone-copy p:last-child{
    font-size:11.5px;
  }

  .reviews{
    gap:24px;
  }

  .review-box{
    padding-top:22px;
  }

  .review-box blockquote{
    min-height:0;
    font-size:clamp(18px,5.7vw,24px);
    line-height:1.42;
  }

  .review-bottom{
    margin-top:22px;
    grid-template-columns:1fr auto;
    gap:10px 14px;
  }

  .review-bottom>span{
    grid-column:1;
    grid-row:2;
  }

  .review-bottom>div{
    grid-column:2;
    grid-row:1 / span 2;
  }

  .contact{
    gap:36px;
  }

  .contact-brand{
    align-items:center;
    text-align:center;
  }

  .contact-brand>img{
    width:min(84vw,320px);
  }

  .contact form{
    max-width:none;
    margin:0;
  }

  .form-grid{
    grid-template-columns:1fr;
    gap:14px;
  }

  .wide{
    grid-column:auto;
  }

  footer{
    flex-direction:column;
    gap:7px;
    padding:14px 20px;
    line-height:1.4;
  }
}

/* ---------- SMARTPHONE BAS / PETITE HAUTEUR ---------- */
@media (max-width: 680px) and (max-height: 720px){


  section{
    padding-top:38px;
    padding-bottom:38px;
  }

  .craft-images img{
    height:190px;
  }

  .zone{
    min-height:320px;
  }
}


/* =========================================================
   V1204 — pictogrammes, formulaire, portrait et paysage
   ========================================================= */

/* Les pictogrammes principaux gardent une empreinte constante.
   Les pictogrammes des services secondaires restent volontairement plus petits. */
.service-card .pict{
  width:54px;
  height:54px;
}
.service-mini .pict{
  width:34px;
  height:34px;
}

/* Le logo de navigation ne change jamais de proportions au scroll. */
.nav-logo{
  display:flex;
  align-items:center;
  height:100%;
  overflow:visible;
  transition:opacity .22s ease;
  transform:none !important;
}
.nav-logo img{
  width:126px;
  height:auto;
  max-height:72px;
  object-fit:contain;
  flex:none;
  transform:none !important;
  transition:none !important;
}

/* Portrait smartphone : garder "notre priorité." sur une seule ligne. */
@media (max-width:680px) and (orientation:portrait){
  /* Nom/Prénom restent côte à côte ; Code postal/Ville aussi. */
  .form-grid{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:14px 12px;
  }

  .form-grid .wide{
    grid-column:1 / -1;
  }

  .form-grid input,
  .form-grid textarea{
    min-width:0;
  }
}

/* Très petits téléphones : on conserve les paires sur la même ligne
   tout en réduisant légèrement la typographie des libellés. */
@media (max-width:380px) and (orientation:portrait){
  .form-grid{
    gap:12px 9px;
  }

  .form-grid label{
    font-size:8px;
  }
}


/* V1206 — actions de contact cliquables */
.contact-actions{
  width:min(100%,430px);
  margin:0 auto;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:9px 12px;
  text-align:left;
}

.contact-action{
  min-width:0;
  display:flex !important;
  align-items:center;
  gap:11px;
  margin:0 !important;
  padding:10px 11px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:10px;
  color:#e5ddcf !important;
}

.contact-action:hover{
  border-color:rgba(255,208,90,.42);
  background:rgba(255,255,255,.035);
  transform:translateY(-1px);
}

.contact-pict{
  width:31px;
  height:31px;
  flex:0 0 31px;
  fill:none;
  stroke:var(--gold2);
  stroke-width:1.55;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.contact-action span{
  min-width:0;
  display:block;
}

.contact-action small{
  display:block;
  margin-bottom:3px;
  color:#aaa598;
  font-size:7.5px;
  line-height:1;
  letter-spacing:.11em;
  text-transform:uppercase;
}

.contact-action strong{
  display:block;
  overflow-wrap:anywhere;
  color:#f0e8da;
  font-size:10.5px;
  line-height:1.25;
  font-weight:500;
}

@media(max-width:680px){
  .contact-actions{
    width:100%;
    max-width:390px;
    grid-template-columns:1fr 1fr;
    gap:8px;
  }

  .contact-action{
    padding:9px;
    gap:9px;
  }

  .contact-pict{
    width:28px;
    height:28px;
    flex-basis:28px;
  }

  .contact-action strong{
    font-size:9.5px;
  }
}

@media(max-width:380px){
  .contact-actions{
    grid-template-columns:1fr;
  }
}


/* =========================================================
   V1207 — finition plus lumineuse, mise en page inchangée
   ========================================================= */

/* Jaune plus solaire et vivant, moins ocre. */
:root{
  --gold:#f0b323;
  --gold2:#ffd85a;
}

/* Accent principal de l'accueil. */
.hero h1 em{
  color:#ffd75a;
  text-shadow:0 2px 18px rgba(255,190,40,.16);
}

/* Les accents jaunes du site gagnent légèrement en lumière sans modifier
   les surfaces anthracite / ivoire ni la composition. */
.heading>span,
.craft-copy>span,
.reviews-intro>span,
.zone-copy>span,
.contact-heading>span{
  color:#e8aa1c;
}

.contact-heading>span,
.zone-copy>span{
  color:#f3bd35;
}

.pict,
.reason-card .pict,
.service-card .pict,
.service-mini .pict,
.contact-pict{
  stroke:#e8aa1c;
}

.why .pict,
.contact-pict{
  stroke:#f3bd35;
}
/* Boutons : doré plus lumineux mais toujours professionnel. */
.gold-btn{
  background:linear-gradient(135deg,#ffd45a,#edaa18);
  color:#211d14;
}
.gold-btn:hover{
  background:linear-gradient(135deg,#ffdc70,#f2b526);
}


/* =========================================================
   V1210 — Accueil : "Le goût du travail bien fait."
   ========================================================= */
:root{
  --gold:#efa51a;
  --gold2:#ffc342;
}

.hero-copy{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}

.hero-logo{
  margin-bottom:clamp(12px,1.8vh,20px);
}

.hero h1{
  margin:0;
  max-width:min(760px,78vw);
  letter-spacing:-.035em;
}

.hero h1 span,
.hero h1 em{
  display:block;
}

.hero h1 span{
  color:#f4eee4;
}

.hero h1 em{
  margin-left:clamp(28px,4vw,62px);
  color:#ffc13a;
  font-style:italic;
  white-space:nowrap;
  text-shadow:0 2px 18px rgba(239,157,17,.16);
}

.hero-copy .hero-kicker{
  margin-top:clamp(15px,2.1vh,22px);
  color:rgba(246,239,228,.88);
}

.hero-buttons{
  margin-top:clamp(13px,1.8vh,18px);
}

.gold-btn{
  background:linear-gradient(135deg,#ffc84a,#e99a12);
}
.gold-btn:hover{
  background:linear-gradient(135deg,#ffd361,#f0a91c);
}

/* Accents : jaune-orangé, chaleureux mais sans basculer vers l'orange. */
.heading>span,
.craft-copy>span,
.reviews-intro>span,
.zone-copy>span,
.contact-heading>span{
  color:#dfa019;
}

.contact-heading>span,
.zone-copy>span{
  color:#f0ad27;
}

.pict,
.reason-card .pict,
.service-card .pict,
.service-mini .pict,
.contact-pict{
  stroke:#e4a01a;
}

.why .pict,
.contact-pict{
  stroke:#efad27;
}
/* =========================================================
   V1212 — règles remplacées : accroches / avis / savoir-faire
   ========================================================= */

/* Signature graphique commune : seconde partie jaune-orangé. */
.section-statement em,
.contact-heading h2 em{
  color:#efa51a !important;
  font-style:italic;
}

.section-statement em{
  display:block;
  margin-left:clamp(18px,2.2vw,34px);
}

/* Engagement sur fond sombre : même logique, sans autre traitement. */
.why .section-statement{
  color:#f1eadf;}


/* Ombre interne haute des trois photos Savoir-faire */
.craft-photo{position:relative;overflow:hidden}
.craft-photo::after{
  content:"";position:absolute;left:0;right:0;top:0;height:28px;
  pointer-events:none;
  background:linear-gradient(to bottom,rgba(20,18,14,.16),rgba(20,18,14,0));
}
.craft-photo figcaption{position:relative;z-index:1}


/* Savoir-faire : signature jaune-orangé discrète sous le titre des photos */
.craft-photo figcaption b::after{
  content:"";
  display:block;
  width:36px;
  height:2px;
  margin-top:7px;
  border-radius:2px;
  background:#efa51a;
}

/* ---------- Savoir-faire ----------
   L'introduction occupe maintenant toute la largeur au-dessus des photos. */
.craft{
  display:block;
  padding-top:58px;
  padding-bottom:58px;
}

.craft-copy{
  width:100%;
  max-width:none;
  margin:0 0 34px;
}

.craft-copy .section-statement{
  max-width:900px;
}

.craft-copy p{
  max-width:820px;
  margin-top:18px;
  font-size:13px;
  line-height:1.62;
}

.craft-images{
  width:100%;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}

.craft-images img{
  width:100%;
  height:292px;
  object-fit:cover;
}

/* ---------- Avis ----------
   Titre sur une ligne ; introduction compacte, avis prioritaire. */
.reviews{
  grid-template-columns:minmax(285px,.72fr) minmax(0,1.65fr);
  column-gap:clamp(30px,4vw,58px);
}

.reviews-intro{
  max-width:none;
}

.reviews-statement{
  font-size:clamp(30px,3vw,44px) !important;
  letter-spacing:-.035em;
}

.reviews-statement span{
  display:inline;
}

.reviews-statement em{
  display:block !important;
  margin-left:clamp(24px,2.8vw,42px) !important;
}

.review-box{
  width:100%;
  max-width:none;
  justify-self:stretch;
}

/* Contact : "Parlons-en." suit la même signature. */
.contact-heading h2 em{
  display:block;
}

/* Tablette : savoir-faire reste en 3 images tant que la largeur le permet. */
@media(max-width:1000px){
  .reviews{
    grid-template-columns:1fr;
    gap:24px;
  }

  .craft-copy p{
    max-width:760px;
  }
}

/* Smartphone : intro Savoir-faire au-dessus, puis photos verticales. */
@media(max-width:680px){
  .section-statement em{
    margin-left:clamp(12px,4vw,20px);
  }

  .craft{
    padding-top:clamp(42px,6dvh,52px);
    padding-bottom:clamp(42px,6dvh,52px);
  }

  .craft-copy{
    margin-bottom:26px;
  }

  .craft-copy p{
    max-width:none;
    font-size:12px;
    line-height:1.58;
  }

  .craft-images{
    grid-template-columns:1fr;
    gap:16px;
  }

  .craft-images img{
    height:min(61vw,265px);
    min-height:200px;
  }

  .reviews-statement{
    font-size:clamp(29px,9vw,39px) !important;
  }

  .reviews-statement em{
    margin-left:clamp(18px,5vw,26px) !important;
  }
}

/* Petit écran : le titre Avis reste sur une ligne en réduisant juste ce qu'il faut. */
@media(max-width:390px){
  .reviews-statement{
    font-size:clamp(27px,8.4vw,33px) !important;
  }
}

/* Paysage smartphone : 3 photos côte à côte, intro toujours au-dessus. */
@media(max-height:560px) and (orientation:landscape){
  .craft-images{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  .craft-images img{
    height:180px;
    min-height:0;
  }
}


#accueil h1,
#services .section-statement,
#pourquoi .section-statement,
#savoir-faire .section-statement,
#zone h2,
#avis .section-statement,
#contact h2 {
}

/* Typographie unique des grandes accroches */
#accueil h1,
#services h2,
#pourquoi h2,
#savoir-faire h2,
#zone h2,
#avis h2,
#contact h2 {
  font-family: Georgia, "Times New Roman", serif !important;
}


@media (max-width:700px){


}



.reviews-count{
  display:inline-block;
  font-size:14px;
  line-height:1.2;
  font-weight:700;
}
@media (max-width:700px){
  .review-box{
    padding-left:0;
  }
}

@media (min-width:701px){
  #avis .review-box{
    position:relative;
    padding-left:clamp(22px,3vw,46px);
  }
  #avis .review-box::before{
    content:"";
    position:absolute;
    left:0;
    top:12%;
    height:76%;
    width:1px;
    background:rgba(83,68,49,.24);
  }
}


@media (max-width:680px) and (orientation:portrait){
  #services .heading h2{
    font-size:clamp(28px,8.3vw,36px);
    line-height:1.02;
  }

  #pourquoi .heading h2{
    font-size:clamp(27px,8vw,35px);
    line-height:1.02;
  }

  #savoir-faire .craft-copy h2{
    font-size:clamp(24px,7.1vw,32px);
    line-height:1.04;
  }
}


.hero-logo{
  height:auto;
  object-fit:contain;
}


/* Accueil ordinateur : identité légèrement réduite */
@media (min-width:1001px){
  .hero-logo{width:clamp(350px,31vw,510px)}
  .hero h1{font-size:clamp(50px,6vw,88px)}
}

/* Navigation smartphone */
@media (max-width:1000px){
  /* La barre d'onglets disparaît totalement sur smartphone. */
  header,
  header.scrolled{
    height:0;
    min-height:0;
    padding:0;
    background:transparent;
    backdrop-filter:none;
    box-shadow:none;
    border:0;
  }

  header .nav-logo,
  header .desktop-nav,
  header .contact-pill{
    display:none !important;
  }

  #burger{
    display:block !important;
    position:fixed;
    top:14px;
    right:18px;
    z-index:70;
    width:42px;
    height:34px;
    margin:0;
    padding:7px 8px;
    border:0;
    background:transparent;
    color:#fff;
  }

  #burger span{
    display:block;
    width:24px;
    height:1px;
    margin:5px;
    background:currentColor;

  }

  /* Couleur selon le fond de la section traversée. */
  body.mobile-menu-light #burger{ color:#fff; }
  body.mobile-menu-dark #burger{ color:#171914; }


  #mobileNav{
    top:0;
    right:0;
    padding-top:58px;
    max-height:100dvh;
  }
}




@media (max-width:1000px){
  body.mobile-menu-open #burger{
    color:#fff !important;
  }
}


/* =========================================================
   ACCUEIL SMARTPHONE PORTRAIT — RECONSTRUIT DE ZÉRO
   Aucun ancien positionnement mobile du hero n'est réutilisé.
   ========================================================= */
@media (max-width:680px) and (orientation:portrait){

  #accueil.hero{
    height:99svh;
    min-height:0;
    padding:0;
  }

  #accueil .hero-bg{
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center center;
  }

  #accueil .hero-copy{
    position:absolute;
    inset:0 18px clamp(100px,13svh,122px);
    width:auto;
    padding:clamp(82px,10.5svh,102px) 0 0;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
  }

  #accueil .hero-logo{
    display:block;
    width:min(54vw,235px);
    height:auto !important;
    max-height:none;
    margin:0 auto;
    object-fit:contain;
    aspect-ratio:auto;
  }

  #accueil h1{
    width:100%;
    max-width:520px;
    margin:clamp(28px,4.2svh,38px) auto 0;
    font-size:clamp(34px,10.3vw,48px);
    line-height:.96;
    letter-spacing:-.035em;
    text-align:center;
  }

  #accueil h1 span,
  #accueil h1 em{
    display:block;
  }

  #accueil h1 em{
    margin-left:0;
    white-space:nowrap;
  }

  #accueil .hero-kicker{
    width:100%;
    margin:12px auto 0;
    font-size:clamp(9px,2.65vw,10.8px);
    line-height:1.35;
    letter-spacing:.035em;
    text-align:center;
  }

  #accueil .hero-inline-stats{
    width:100%;
    margin:8px auto 0;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    font-size:clamp(7.4px,2.05vw,8.4px);
    line-height:1.2;
    letter-spacing:.055em;
    white-space:nowrap;
  }

  #accueil .hero-buttons{
    width:100%;
    margin:clamp(28px,4.4svh,38px) auto 0;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:11px;
  }

  #accueil .hero-buttons a{
    margin:0 auto;
    text-align:center;
  }

  #accueil .hero-buttons .gold-btn{
    padding:12px 18px;
  }

  #accueil .hero-proof{
    left:50%;
    right:auto;
    bottom:clamp(14px,2.2svh,20px);
    transform:translateX(-50%);
    width:96vw;
  }

  #accueil .hero-proof-bottom{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  #accueil .hero-proof-item{
    padding:3px 5px;
  }

  #accueil .hero-proof-item b{
    font-size:clamp(10px,2.8vw,11.5px);
  }

  #accueil .hero-proof-item span{
    margin-top:3px;
    font-size:clamp(6.6px,1.85vw,7.4px);
    letter-spacing:.065em;
  }
}

/* Petites hauteurs : uniquement une réduction proportionnelle,
   sans changer de système de positionnement. */
@media (max-width:680px) and (orientation:portrait) and (max-height:700px){
  #accueil.hero{
    height:99svh;
    min-height:590px;
  }

  #accueil .hero-copy{
    bottom:92px;
    padding-top:54px;
  }

  #accueil .hero-logo{
    width:min(46vw,195px);
  }

  #accueil h1{
    margin-top:22px;
    font-size:clamp(31px,9.7vw,42px);
  }

  #accueil .hero-buttons{
    margin-top:22px;
    gap:8px;
  }
}

@media (orientation:landscape) and (max-height:600px) and (max-width:1000px){
  .hero{
    min-height:100dvh;
  }

  .hero-copy{
    left:5vw;
    right:auto;
    width:min(66vw,650px);
    top:clamp(16px,4dvh,28px);
    bottom:auto;
  }

  .hero-logo{
    width:min(26vw,225px);
    height:auto !important;
    max-height:none;
    object-fit:contain;
    aspect-ratio:auto;
    margin-bottom:4px;
  }

  .hero h1{
    max-width:58vw;
    font-size:clamp(24px,4.2vw,36px);
    line-height:.93;
  }

  .hero h1 em{
    margin-left:clamp(12px,2.2vw,18px);
    white-space:nowrap;
  }

  .hero-copy .hero-kicker{
    margin-top:4px;
    font-size:9px;
    line-height:1.18;
  }
.hero-buttons{
    flex-direction:row;
    align-items:center;
    gap:8px;
    margin-top:4px;
  }

  .hero-buttons a,
  .hero-buttons .gold-btn{
    font-size:9px;
    padding:6px 10px;
  }

  .hero-proof{
    font-size:8.5px;
  }

  .hero-proof strong{
    font-size:9.5px;
  }

  .hero-proof small{
    font-size:7px;
  }
}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
}

/* Logo : proportions naturelles garanties sur tout le site */
.nav-logo img,
.hero-logo,
.contact-brand > img{
  height:auto !important;
  object-fit:contain !important;
  aspect-ratio:auto !important;
}

/* Séparateurs discrets — uniquement les quatre services principaux */
@media (min-width:1001px){
  #services .service-main > .service-card{
    position:relative;
  }

  #services .service-main > .service-card:not(:first-child)::before{
    content:"";
    position:absolute;
    left:0;
    top:50%;
    width:1px;
    height:42%;
    max-height:82px;
    transform:translateY(-50%);
    background:rgba(223,160,25,.62);
  }
}

@media (min-width:681px) and (max-width:1000px){
  #services .service-main > .service-card{
    position:relative;
  }

  #services .service-main > .service-card:nth-child(even)::before{
    content:"";
    position:absolute;
    left:0;
    top:50%;
    width:1px;
    height:40%;
    max-height:76px;
    transform:translateY(-50%);
    background:rgba(223,160,25,.62);
  }
}

@media (max-width:680px){
  #services .service-main > .service-card::before{
    content:none;
  }
}

/* V1259 — protection invisible du formulaire */
.form-trap{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}


/* Pages légales */
footer a{color:inherit;text-decoration:none}
footer a:hover{text-decoration:underline}
.consent a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.legal-page{margin:0;background:#faf8f4;color:#24231f;font-family:Arial,Helvetica,sans-serif}
.legal-header{min-height:92px;padding:16px clamp(20px,5vw,72px);display:flex;align-items:center;justify-content:space-between;background:#20211e;border-bottom:1px solid rgba(255,255,255,.08)}
.legal-header img{display:block;width:150px;height:auto;filter:none}
.legal-back{color:#f3efe7;text-decoration:none;font-size:14px}
.legal-main{width:min(900px,calc(100% - 40px));margin:0 auto;padding:70px 0 80px}
.legal-kicker{text-transform:uppercase;letter-spacing:.16em;font-size:12px;font-weight:700;color:#b77910;margin:0 0 14px}
.legal-main h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(42px,6vw,72px);line-height:.98;font-weight:400;margin:0 0 50px;color:#24231f}
.legal-main h1 em{font-style:normal;color:#d99a1a}
.legal-main section{padding:27px 0;border-top:1px solid rgba(36,35,31,.13)}
.legal-main h2{font-family:Georgia,"Times New Roman",serif;font-size:25px;font-weight:400;margin:0 0 13px}
.legal-main p{font-size:15px;line-height:1.72;margin:0 0 12px;max-width:780px}
.legal-main a{color:#8b5c0c;text-underline-offset:3px}
.legal-footer{display:flex;justify-content:space-between;gap:20px;padding:22px clamp(20px,5vw,72px);background:#20211e;color:#d8d4cc;font-size:12px}
@media(max-width:680px){.legal-header{min-height:74px;padding:12px 18px}.legal-header img{width:112px}.legal-main{width:calc(100% - 36px);padding:46px 0 58px}.legal-main h1{margin-bottom:36px}.legal-main section{padding:23px 0}.legal-footer{flex-direction:column;padding:20px 18px}}
