@font-face{font-family:"Archivo";font-style:normal;font-weight:100 900;font-stretch:62% 125%;font-display:swap;src:url(fonts/archivo-var.woff2) format("woff2")}
/* MBF Constructions — identité "chantier" */
:root{
  --beton:#d6cab6;
  --beton-clair:#efe8dc;
  --beton-pale:#fbf9f5;
  --anthracite:#1e2833;
  --anthracite-2:#3a4756;
  --gris:#66717d;
  --signal:#f5b700;
  --signal-fonce:#c98f00;
  --blanc:#ffffff;
  --trait:2px solid var(--anthracite);
  --max:1180px;
  --display:"Archivo","Arial Narrow",sans-serif;
  --text:"Archivo",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .30 0 0 0 0 .24 0 0 0 0 .16 0 0 0 .20 0'/%3E%3C/filter%3E%3Crect width='240' height='240' filter='url(%23n)'/%3E%3C/svg%3E");
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--text);color:var(--anthracite);background:var(--beton-pale);line-height:1.65;font-size:17px}
img,svg{max-width:100%;display:block}
a{color:var(--anthracite);text-decoration-thickness:2px;text-underline-offset:3px;text-decoration-color:var(--signal)}
a:hover{text-decoration-color:var(--anthracite)}
:focus-visible{outline:3px solid var(--signal);outline-offset:3px}
h1,h2,h3{font-family:var(--display);font-weight:800;font-stretch:75%;line-height:1;letter-spacing:-.01em;margin:0 0 .5em;text-transform:none}
h2{font-size:clamp(2.2rem,4.4vw,3.4rem)}
h3{font-size:1.6rem;font-weight:700}
p{margin:0 0 1em}
.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}
.skip{position:absolute;left:-999px;top:0;background:var(--anthracite);color:#fff;padding:10px 14px;z-index:100}
.skip:focus{left:10px}
.beton{background-color:var(--beton);background-image:var(--grain)}
.beton-clair{background-color:var(--beton-clair);background-image:var(--grain)}

/* En-tête */
header.site{position:sticky;top:0;z-index:50;background:#fff;color:var(--anthracite);border-bottom:4px solid var(--signal);box-shadow:0 6px 18px -14px rgba(0,0,0,.4)}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;min-height:82px;gap:20px}
.logo img{height:64px;width:auto}
.logo{display:flex;align-items:center;gap:12px;text-decoration:none;color:#fff}
.logo-mark{width:44px;height:44px;flex:none}
.logo-text{font-family:var(--display);font-weight:800;font-stretch:75%;font-size:1.7rem;line-height:.9;letter-spacing:.02em}
.logo-text small{display:block;font-family:var(--text);font-weight:600;font-size:.72rem;letter-spacing:.08em;color:var(--beton);margin-top:4px}
nav.main ul{list-style:none;margin:0;padding:0;display:flex;gap:2px;align-items:center}
nav.main a{display:block;padding:10px 13px;text-decoration:none;color:var(--anthracite);font-weight:600;font-size:.95rem}
nav.main a:hover,nav.main a[aria-current="page"]{color:var(--signal-fonce)}
nav.main .has-sub{position:relative}
nav.main .sub{position:absolute;top:100%;left:0;min-width:270px;background:#fff;box-shadow:0 14px 30px -16px rgba(0,0,0,.45);border-top:4px solid var(--signal);padding:8px 0;display:none;flex-direction:column}
nav.main .sub a{padding:9px 18px}
nav.main .has-sub:hover .sub,nav.main .has-sub:focus-within .sub{display:flex}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--signal);color:var(--anthracite)!important;text-decoration:none;font-family:var(--text);font-weight:800;padding:15px 24px;border:2px solid var(--anthracite);cursor:pointer;font-size:1rem;box-shadow:4px 4px 0 var(--anthracite);transition:transform .12s,box-shadow .12s}
.btn:hover{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--anthracite)}
.btn:active{transform:translate(4px,4px);box-shadow:none}
.btn.sec{background:var(--blanc)}
header .btn{padding:10px 16px;box-shadow:3px 3px 0 var(--anthracite);border-color:var(--anthracite);margin-left:10px}

.menu-toggle{display:none;background:none;color:var(--anthracite);border:2px solid var(--anthracite);padding:8px 14px;font:inherit;font-weight:700;cursor:pointer}

/* Panneau de chantier (accueil) */
.mur{padding:64px 0 88px;position:relative}
.mur::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 119px,rgba(30,40,51,.10) 119px 121px),repeating-linear-gradient(90deg,transparent 0 239px,rgba(30,40,51,.07) 239px 241px);pointer-events:none}
.panneau{position:relative;max-width:980px;margin:0 auto;background:var(--blanc);border:6px solid var(--anthracite);box-shadow:0 26px 40px -22px rgba(0,0,0,.55)}
.panneau .vis{position:absolute;width:14px;height:14px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#d9dadc,#7d8288 70%);border:1px solid #555}
.panneau .vis::after{content:"";position:absolute;left:3px;right:3px;top:6px;height:1.5px;background:#4a4e53;transform:rotate(35deg)}
.vis.tl{top:10px;left:10px}.vis.tr{top:10px;right:10px}.vis.bl{bottom:10px;left:10px}.vis.br{bottom:10px;right:10px}
.panneau-tete{background:var(--anthracite);color:#fff;padding:34px 44px 30px}
.panneau-tete .titre{margin:0;color:#fff}
.panneau-tete .l1{display:block;font-size:clamp(2.8rem,7vw,5.2rem);line-height:.9;color:var(--signal)}
.panneau-tete .l2{display:block;font-size:clamp(1.5rem,3.2vw,2.3rem);font-weight:700;line-height:1.05;margin-top:12px}
.panneau-corps{padding:10px 44px 6px}
.panneau dl{margin:0;display:grid;grid-template-columns:230px 1fr}
.panneau dt,.panneau dd{margin:0;padding:13px 0;border-bottom:1.5px solid #d7d5cf}
.panneau dt{font-size:.92rem;color:var(--gris);font-weight:600;padding-right:18px}
.panneau dd{font-weight:700;font-size:1.05rem}
.panneau dl > :nth-last-child(-n+2){border-bottom:0}
.panneau-pied{display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;padding:22px 44px 32px;border-top:6px solid var(--anthracite);background:var(--beton-pale)}
.panneau-pied p{margin:0;font-weight:600;max-width:46ch}

/* Sections */
section.bloc{padding:92px 0}
section.sombre{background:var(--anthracite);color:#dcdad5}
section.sombre h2,section.sombre h3{color:#fff}
section.sombre a{color:#fff}
.intro{max-width:700px;margin-bottom:44px}
.intro p{font-size:1.1rem;color:var(--anthracite-2)}
section.sombre .intro p{color:#bdbab3}

/* Lots (prestations) */
.lots{border-top:var(--trait)}
.lot{display:grid;grid-template-columns:110px minmax(0,1.1fr) minmax(0,1.6fr) auto;gap:28px;align-items:center;padding:28px 0;border-bottom:var(--trait);text-decoration:none;color:inherit}
.lot .num{font-family:var(--display);font-stretch:75%;font-weight:800;font-size:1rem;color:var(--gris)}
.lot .num b{display:block;font-size:2.6rem;color:var(--anthracite);line-height:1}
.lot h3{margin:0;font-size:2rem}
.lot p{margin:0;color:var(--anthracite-2)}
.lot .voir{font-weight:800;white-space:nowrap;border-bottom:3px solid var(--signal);padding-bottom:2px}
a.lot:hover{background:var(--blanc)}
a.lot:hover .voir{border-color:var(--anthracite)}

/* Gérant */
.gerant{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:64px;align-items:start}
.engagements{list-style:none;margin:0;padding:0;border:var(--trait);background:var(--blanc)}
.engagements li{display:grid;grid-template-columns:44px 1fr;gap:14px;padding:18px 22px;border-bottom:1.5px solid #d7d5cf}
.engagements li:last-child{border-bottom:0}
.engagements .ok{width:30px;height:30px;background:var(--signal);border:2px solid var(--anthracite);display:grid;place-items:center}
.engagements b{display:block;font-size:1.05rem}
.engagements span{color:var(--anthracite-2);font-size:.95rem}
.signature{margin-top:26px;padding-top:18px;border-top:var(--trait);font-weight:700}
.signature small{display:block;font-weight:400;color:var(--gris)}

/* Méthode : ligne de cote */
.cote{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:0;list-style:none;margin:56px 0 0;padding:0}
.cote::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--signal)}
.cote li{position:relative;padding:34px 22px 0 0}
.cote li::before{content:"";position:absolute;top:-14px;left:0;width:2px;height:30px;background:var(--signal)}
.cote li:last-child::after{content:"";position:absolute;top:-14px;right:0;width:2px;height:30px;background:var(--signal)}
.cote .etape{font-family:var(--display);font-stretch:75%;font-size:1rem;font-weight:700;color:var(--signal);display:block;margin-bottom:6px}
.cote h3{font-size:1.9rem;margin-bottom:10px}
.cote p{color:#bdbab3;margin:0}
.cote-legende{display:flex;justify-content:space-between;font-family:var(--display);font-stretch:75%;font-weight:700;color:var(--signal);font-size:1.05rem}

/* Panneaux de direction (zones) */
.directions{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;list-style:none;margin:0;padding:0}
.directions a{display:flex;justify-content:space-between;align-items:center;gap:16px;background:var(--blanc);border:3px solid var(--anthracite);padding:14px 20px;text-decoration:none;color:var(--anthracite);font-family:var(--display);font-weight:800;font-stretch:75%;font-size:1.7rem;line-height:1.05}
.directions a::after{content:"";flex:none;width:0;height:0;border-top:12px solid transparent;border-bottom:12px solid transparent;border-left:16px solid var(--anthracite);margin-left:auto}
.directions .km{font-family:var(--text);font-size:1rem;font-weight:700;color:var(--gris);white-space:nowrap}
.directions a:hover{background:var(--signal)}
.directions a:hover .km{color:var(--anthracite)}
.directions .depuis{grid-column:1/-1;background:var(--anthracite);color:#fff;border:3px solid var(--anthracite);padding:14px 20px;font-family:var(--display);font-weight:800;font-stretch:75%;font-size:1.7rem}
.directions .depuis small{font-family:var(--text);font-weight:600;font-size:.95rem;color:var(--signal);margin-left:10px}

/* Cartouche (pages intérieures) */
.plan{padding:56px 0 64px;background-color:var(--beton-clair);background-image:linear-gradient(rgba(30,40,51,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(30,40,51,.07) 1px,transparent 1px);background-size:28px 28px;border-bottom:var(--trait)}
.plan h1{font-size:clamp(2.4rem,5vw,4rem);max-width:22ch}
.plan .lead{font-size:1.15rem;max-width:60ch;color:var(--anthracite-2)}
.plan-grille{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:48px;align-items:end}
.cartouche{background:var(--blanc);border:var(--trait);font-size:.9rem}
.cartouche div{display:grid;grid-template-columns:110px 1fr;border-bottom:1.5px solid var(--anthracite)}
.cartouche div:last-child{border-bottom:0}
.cartouche span{padding:9px 12px;border-right:1.5px solid var(--anthracite);color:var(--gris);font-weight:600}
.cartouche b{padding:9px 12px}
.crumbs{font-size:.9rem;margin-bottom:22px}
.crumbs ol{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px}
.crumbs li+li::before{content:"/";margin-right:8px;color:var(--gris)}
.crumbs a{color:var(--anthracite-2)}
.content{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:64px;padding-top:68px;padding-bottom:80px}
.prose{max-width:70ch}
.prose h2{font-size:clamp(1.9rem,3.2vw,2.5rem);margin-top:1.5em}
.prose h2:first-child{margin-top:0}
.prose ul,.prose ol{padding-left:1.2em}
.prose li{margin-bottom:.45em}
.prose ul li::marker{color:var(--signal-fonce)}
.prose ol li::marker{font-weight:800}
.villes{display:flex;flex-wrap:wrap;gap:10px;list-style:none;padding:0!important;margin:0 0 2em}
.villes a{display:inline-block;padding:8px 14px;border:2px solid var(--anthracite);background:var(--blanc);text-decoration:none;font-weight:700;font-size:.95rem}
.villes a:hover{background:var(--signal)}
aside.side{position:relative}
.side-box{position:sticky;top:100px;background:var(--anthracite);color:#dcdad5;padding:28px;border-top:6px solid var(--signal)}
.side-box h3{color:#fff;font-size:2rem}
.side-box p{color:#bdbab3;font-size:.98rem}
.side-box .btn{width:100%;box-shadow:4px 4px 0 #000}
.side-box ul{list-style:none;padding:0;margin:22px 0 0;border-top:1px solid #3d4a59}
.side-box li{border-bottom:1px solid #3d4a59}
.side-box li a{display:block;padding:10px 0;color:#fff;text-decoration:none;font-size:.95rem}
.side-box li a:hover{color:var(--signal)}

/* FAQ */
.faq details{border-bottom:var(--trait)}
.faq details:first-of-type{border-top:var(--trait)}
.faq summary{cursor:pointer;font-weight:700;font-size:1.08rem;padding:20px 0;list-style:none;display:flex;justify-content:space-between;gap:16px;align-items:center}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";flex:none;width:22px;height:22px;background:linear-gradient(var(--anthracite),var(--anthracite)) center/14px 3px no-repeat,linear-gradient(var(--anthracite),var(--anthracite)) center/3px 14px no-repeat,var(--signal);border:2px solid var(--anthracite)}
.faq details[open] summary::after{background:linear-gradient(var(--anthracite),var(--anthracite)) center/14px 3px no-repeat,var(--signal)}
.faq details p{color:var(--anthracite-2);padding:0 40px 22px 0;margin:0}

/* Bandeau devis */
.bandeau{padding:72px 0;background:var(--signal);border-top:var(--trait);border-bottom:var(--trait)}
.bandeau .btn{background:var(--anthracite);color:#fff!important;border-color:var(--anthracite);box-shadow:4px 4px 0 #fff}
.bandeau .btn:hover{box-shadow:2px 2px 0 #fff}
.bandeau .wrap{display:flex;justify-content:space-between;align-items:center;gap:28px;flex-wrap:wrap}
.bandeau h2{margin:0 0 8px;font-size:clamp(2.2rem,4.6vw,3.6rem)}
.bandeau p{margin:0;font-weight:600;font-size:1.08rem}

/* Formulaire */
form.quote{display:grid;grid-template-columns:1fr 1fr;gap:18px;background:var(--blanc);border:var(--trait);padding:32px}
form.quote .full{grid-column:1/-1}
form.quote label{display:block;font-weight:700;font-size:.93rem;margin-bottom:6px}
form.quote input,form.quote select,form.quote textarea{width:100%;font:inherit;padding:13px 14px;border:2px solid #b9b6af;background:var(--beton-pale);color:var(--anthracite);border-radius:0}
form.quote input:focus,form.quote select:focus,form.quote textarea:focus{outline:none;border-color:var(--anthracite);background:#fff;box-shadow:4px 4px 0 var(--signal)}
form.quote textarea{min-height:150px;resize:vertical}
.form-note{font-size:.85rem;color:var(--gris);margin-left:12px}
.form-msg{display:none;background:#fff6d6;border:2px solid var(--anthracite);padding:14px 16px;font-weight:600}
.hp{position:absolute;left:-9999px}

/* Pied de page */
footer.site{background:#151c24;color:#a9a7a1;padding:68px 0 28px;font-size:.95rem;border-top:6px solid var(--signal)}
footer.site .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:36px}
footer.site h3{color:#fff;font-size:1.4rem;margin-bottom:14px}
footer.site ul{list-style:none;padding:0;margin:0}
footer.site li{margin-bottom:8px}
footer.site a{color:#e2e0db;text-decoration:none}
footer.site a:hover{color:var(--signal)}
footer.site .legal{border-top:1px solid #2a3542;margin-top:44px;padding-top:22px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:.85rem}

/* Responsive */
@media (max-width:1020px){
  .lot{grid-template-columns:90px 1fr;gap:10px 22px}
  .lot p,.lot .voir{grid-column:2}
  .gerant,.plan-grille,.content{grid-template-columns:1fr}
  .cartouche{max-width:420px}
  .side-box{position:static}
  .cote{grid-template-columns:repeat(2,1fr);row-gap:40px}
  .cote::before{display:none}
  .cote li{border-top:2px solid var(--signal)}
  .cote li::before,.cote li:last-child::after{display:none}
  .cote-legende{display:none}
  footer.site .cols{grid-template-columns:1fr 1fr}
}
@media (max-width:860px){
  .menu-toggle{display:block}
  nav.main{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:4px solid var(--signal)}
  nav.main.open{display:block}
  nav.main ul{flex-direction:column;align-items:stretch;padding:10px 24px 22px}
  nav.main .sub{position:static;display:flex;border:0;padding:0 0 0 14px}
  header .btn{margin:10px 0 0}
}
@media (max-width:640px){
  body{font-size:16px}
  .mur{padding:28px 0 48px}
  .panneau{border-width:4px}
  .panneau-tete,.panneau-corps,.panneau-pied{padding-left:22px;padding-right:22px}
  .panneau dl{grid-template-columns:1fr}
  .panneau dt{border-bottom:0;padding-bottom:0}
  .panneau dd{padding-top:2px}
  .directions{grid-template-columns:1fr}
  .cote{grid-template-columns:1fr}
  form.quote{grid-template-columns:1fr;padding:20px}
  section.bloc{padding:64px 0}
  footer.site .cols{grid-template-columns:1fr}
  .lot{grid-template-columns:1fr}
  .lot p,.lot .voir{grid-column:1}
}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto;transition:none!important}}

/* Photo d'accueil (quand Mario fournit la photo) */
.mur.photo{background-size:cover;background-position:center}
.mur.photo::before{background:linear-gradient(180deg,rgba(30,40,51,.35),rgba(30,40,51,.55))}
.mur .panneau{z-index:1}
section.blanc{background:var(--blanc)}

/* Réalisations */
.galerie{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:260px;gap:16px;list-style:none;margin:0;padding:0}
.galerie li{position:relative;border:var(--trait);background:var(--beton-clair);overflow:hidden}

.galerie img{width:100%;height:100%;object-fit:cover}
.galerie .legende{position:absolute;left:0;bottom:0;background:var(--anthracite);color:#fff;padding:8px 12px;font-weight:700;font-size:.9rem;max-width:100%}
.galerie .legende small{display:block;font-weight:400;color:var(--signal);font-size:.8rem}
.galerie .attente{position:absolute;inset:0;display:grid;place-items:center;background:repeating-linear-gradient(45deg,transparent 0 10px,rgba(30,40,51,.12) 10px 12px)}
.galerie .attente svg{width:44px;height:44px;opacity:.55}
@media (max-width:860px){.galerie{grid-template-columns:repeat(2,1fr);grid-auto-rows:170px}}
@media (max-width:520px){.galerie{grid-template-columns:1fr}.galerie li:first-child{grid-column:auto;grid-row:span 1}}

/* Pose du panneau (seule animation du site) */
@keyframes pose{from{opacity:0;transform:translateY(-22px) rotate(-.6deg)}to{opacity:1;transform:none}}
@keyframes visser{from{transform:rotate(-200deg)}to{transform:none}}
.panneau dd a.verif{display:inline-block;margin-left:10px;font-size:.85rem;font-weight:600;color:var(--gris)}

/* Portrait du gérant */
.portrait{margin:0 0 22px;position:relative;border:var(--trait);background:var(--beton-clair);aspect-ratio:4/3;overflow:hidden}
.portrait img{width:100%;height:100%;object-fit:cover}
.portrait figcaption{position:absolute;left:0;bottom:0;background:var(--anthracite);color:#fff;padding:8px 12px;font-weight:700;font-size:.9rem}
.portrait .attente{position:absolute;inset:0;display:grid;place-items:center;background:repeating-linear-gradient(45deg,transparent 0 10px,rgba(30,40,51,.12) 10px 12px)}
.portrait .attente svg{width:48px;height:48px;opacity:.5}

/* Barre d'action mobile */
.barre-mobile{display:none}
@media (max-width:860px){
  .barre-mobile{display:grid;grid-template-columns:1fr 1fr;position:fixed;left:0;right:0;bottom:0;z-index:60;border-top:3px solid var(--anthracite)}
  .barre-mobile.un{grid-template-columns:1fr}
  .barre-mobile a{display:flex;align-items:center;justify-content:center;gap:8px;padding:15px 10px;font-weight:800;text-decoration:none;background:var(--signal);color:var(--anthracite)}
  .barre-mobile a.appel{background:var(--anthracite);color:#fff}
  body{padding-bottom:58px}
}
@media (prefers-reduced-motion:reduce){.panneau,.panneau .vis{animation:none}}

/* Accueil */
.accueil{position:relative;background-color:var(--anthracite);background-image:var(--grain);color:#e6e2da;padding:96px 0 104px;border-bottom:6px solid var(--signal);background-size:auto;overflow:hidden}
.accueil::after{content:"";position:absolute;right:-60px;bottom:-60px;width:520px;height:340px;background:repeating-linear-gradient(0deg,transparent 0 46px,rgba(245,183,0,.16) 46px 50px),repeating-linear-gradient(90deg,transparent 0 96px,rgba(245,183,0,.16) 96px 100px);transform:rotate(-8deg);pointer-events:none}
.accueil.photo{background-size:cover;background-position:center}
.accueil.photo::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(30,40,51,.92) 0%,rgba(30,40,51,.75) 55%,rgba(30,40,51,.35) 100%)}
.accueil.photo::after{display:none}
.accueil .wrap{position:relative;z-index:1}
.accueil h1{color:#fff;margin:0 0 26px}
.accueil h1 .l1{display:block;font-size:clamp(2.6rem,6vw,5.2rem);line-height:.95;color:var(--signal);max-width:14em}
.accueil h1 .l2{display:block;max-width:26em;font-size:clamp(1.3rem,2.4vw,1.85rem);font-weight:600;font-stretch:90%;line-height:1.05;margin-top:16px}
.accueil .lead{font-size:1.18rem;max-width:56ch;color:#d3cfc6}
.accueil .cta{display:flex;flex-wrap:wrap;gap:16px;margin-top:30px}
.accueil .btn{box-shadow:4px 4px 0 #000}
.garanties{list-style:none;display:flex;flex-wrap:wrap;gap:12px 28px;margin:38px 0 0;padding:0}
.garanties li{display:flex;align-items:center;gap:10px;font-weight:700;color:#fff}
.garanties li::before{content:"";width:18px;height:18px;flex:none;background:var(--signal) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8.5 6.5 12 13 4.5' fill='none' stroke='%231e2833' stroke-width='2.6'/%3E%3C/svg%3E") center/12px no-repeat}
@media (max-width:640px){.accueil{padding:56px 0 64px}.accueil::after{display:none}}

@media (max-width:640px){.logo img{height:46px}header.site .wrap{min-height:68px}}

.galerie .legende{font-size:1rem;padding:10px 16px;font-family:var(--display);font-stretch:75%;font-weight:800;text-transform:uppercase;font-style:italic;color:var(--signal);letter-spacing:.02em}
.note-photo{margin-top:12px;font-size:.85rem;color:var(--gris)}
.photo-svc{margin:0 0 2em;border:var(--trait);position:relative}
.photo-svc img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.photo-svc figcaption{position:absolute;right:0;bottom:0;background:rgba(30,40,51,.85);color:#e6e2da;font-size:.75rem;padding:4px 10px}
@media (max-width:860px){.galerie{grid-template-columns:repeat(2,1fr);grid-auto-rows:200px}}
/* Nos réalisations : photos et vidéos verticales */
.galerie.reals{grid-auto-rows:auto}
.galerie.reals li{aspect-ratio:3/4}
.galerie.reals video{width:100%;height:100%;object-fit:cover;display:block;background:var(--anthracite)}
.galerie.reals li.video .legende{bottom:auto;top:0}
@media (max-width:860px){.galerie.reals{grid-template-columns:repeat(2,1fr);grid-auto-rows:auto}}
@media (max-width:520px){.galerie.reals{grid-template-columns:1fr}}
.galerie.reals{grid-template-columns:repeat(4,1fr)}
@media (max-width:860px){.galerie.reals{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.galerie.reals{grid-template-columns:repeat(2,1fr);gap:10px}.galerie.reals .legende{font-size:.8rem;padding:6px 9px}.galerie.reals .legende small{font-size:.68rem}}
.galerie.reals{grid-template-columns:repeat(3,1fr)}
@media (max-width:860px){.galerie.reals{grid-template-columns:repeat(2,1fr)}}
.galerie.reals li.large{grid-column:span 2;aspect-ratio:auto}
.galerie.reals{grid-auto-flow:dense}
html{scroll-behavior:smooth}
#realisations{scroll-margin-top:90px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.villes.simple{gap:8px;margin-bottom:1.6em}
.villes.simple li{padding:6px 12px;border:1px solid rgba(30,40,51,.35);background:var(--beton-pale);font-size:.92rem;font-weight:600}
.prose h3+.villes.simple{margin-top:.6em}
/* Photos/vidéos réelles en tête des pages prestations */
.photo-svc.portrait{max-width:440px}
.photo-svc.portrait img{aspect-ratio:3/4}
.photo-svc.video{max-width:440px;background:var(--anthracite)}
.photo-svc.video video{width:100%;aspect-ratio:3/4;object-fit:cover;display:block}
.photo-svc figcaption{position:static;background:var(--anthracite);color:#e6e2da;font-size:.8rem;padding:6px 12px}
/* Accueil avec photo */
.accueil.photo{background-position:70% 60%}
/* Conseils */
.lots.conseils .lot h3{font-size:1.25rem}
.meta-article{margin-top:14px;font-size:.9rem;color:var(--gris)}
.encart{border:var(--trait);border-left:6px solid var(--signal);background:var(--beton-pale);padding:16px 20px;margin:2.2em 0}
.encart p{margin:0}
.lots.conseils{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;border:0}
.lots.conseils .lot{display:flex;flex-direction:column;gap:10px;grid-template-columns:none;border:var(--trait);padding:24px 26px;background:#fff}
.lots.conseils .lot h3{margin:0;font-size:1.45rem;line-height:1.1}
.lots.conseils .lot p{margin:0;flex:1}
.lots.conseils .lot .voir{align-self:flex-start}
@media (max-width:760px){.lots.conseils{grid-template-columns:1fr}}
.lots.conseils .lot h3{text-align:left;align-self:stretch}
