@font-face{font-family:'Bricolage Grotesque';font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/assets/fonts/bricolage-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:'Bricolage Grotesque';font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/assets/fonts/bricolage-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'Bricolage Grotesque';font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/assets/fonts/bricolage-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:'Bricolage Grotesque';font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/assets/fonts/bricolage-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'Bricolage Grotesque';font-style:normal;font-weight:800;font-stretch:100%;font-display:swap;src:url(/assets/fonts/bricolage-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:'Bricolage Grotesque';font-style:normal;font-weight:800;font-stretch:100%;font-display:swap;src:url(/assets/fonts/bricolage-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'Figtree';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/figtree-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:'Figtree';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/figtree-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'Figtree';font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/figtree-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:'Figtree';font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/figtree-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'Figtree';font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/figtree-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:'Figtree';font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/figtree-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'Figtree';font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/figtree-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:'Figtree';font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/figtree-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}/* Layout:façade elevation — a strong left-aligned hero with the quote form beside it,then services as a "nuancier" grid,a symptom→solution diagnostic table,the chantier process and FAQ. Single light theme taken from the logo. */:root{--paper:#F6F4F0;--chalk:#ECE7DD;--ink:#0B0D0E;--muted:#57534C;--line:#D9D2C4;--blue:#4D70FD;--blue-deep:#2E49D6;--white:#FFFFFF;--display:"Bricolage Grotesque","Arial Black",system-ui,sans-serif;--body:"Figtree","Segoe UI",system-ui,sans-serif;--r:14px;--wrap:1180px;color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none !important;animation:none !important}}body{background:var(--paper);color:var(--ink);font-family:var(--body);font-size:17px;line-height:1.6;padding-bottom:72px}@media (min-width:860px){body{padding-bottom:0}}body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:10;background:var(--paper)}.wrap{max-width:var(--wrap);margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}h1,h2,h3{font-family:var(--display);line-height:1.05;text-wrap:balance;margin:0;letter-spacing:-0.02em}h2{font-size:clamp(2rem,4.4vw,3.2rem);font-weight:800}h3{font-size:1.3rem;font-weight:700;letter-spacing:-0.01em}p{margin:0}a{color:inherit}.eyebrow{font-size:0.8rem;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:var(--blue-deep)}.lead{font-size:1.15rem;color:var(--muted);max-width:58ch}:focus-visible{outline:3px solid var(--blue);outline-offset:3px;border-radius:6px}.btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--body);font-weight:700;font-size:1.05rem;text-decoration:none;border-radius:999px;padding:14px 24px;border:2px solid var(--ink);cursor:pointer;transition:transform .15s ease,background .15s ease;white-space:nowrap}.btn:hover{transform:translateY(-2px)}.btn-call{background:var(--blue);border-color:var(--blue);color:var(--white)}.btn-call:hover{background:var(--blue-deep);border-color:var(--blue-deep)}.btn-ghost{background:transparent;color:var(--ink)}.btn-ghost:hover{background:var(--ink);color:var(--paper)}.btn svg{width:20px;height:20px;flex:none}.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:color-mix(in srgb,var(--paper) 92%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:10px}.top img{height:56px;width:auto;display:block}@media (min-width:980px){.top img{height:64px}}.top .wrap{flex-wrap:wrap}.top .wrap>a:first-child{margin-right:auto}.nav{display:none;order:3;flex-basis:100%;font-weight:600;font-size:1rem;max-height:calc(100vh - 90px);overflow-y:auto}.top.open .nav{display:block}.nav ul{list-style:none;margin:0;padding:0}.nav a{text-decoration:none;display:block}.nav a:hover{color:var(--blue-deep)}.menu>li>a{padding:12px 0;border-top:1px solid var(--line);font-size:1.05rem}.sub{padding:0 0 10px 14px}.sub a{padding:7px 0;font-weight:500;color:var(--muted)}.menu-btn{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border:2px solid var(--ink);border-radius:12px;background:transparent;color:var(--ink);cursor:pointer}.menu-btn svg{width:22px;height:22px}@media (min-width:980px){.top .wrap{flex-wrap:nowrap}.menu-btn{display:none}.nav{display:block;order:0;flex-basis:auto;max-height:none;overflow:visible}.menu{display:flex;gap:24px;align-items:center}.menu>li>a{padding:8px 0;border-top:0;font-size:0.98rem;white-space:nowrap}.has-sub{position:relative}.has-sub>a::after{content:"";display:inline-block;width:7px;height:7px;margin-left:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-3px) rotate(45deg)}.sub{display:none;position:absolute;top:100%;left:-14px;z-index:30;min-width:270px;padding:10px;background:var(--white);border:2px solid var(--ink);border-radius:14px;box-shadow:6px 6px 0 var(--ink)}.has-sub:hover .sub,.has-sub:focus-within .sub{display:block}.sub a{padding:8px 12px;border-radius:8px;color:var(--ink)}.sub a:hover{background:var(--chalk);color:var(--ink)}}.top .btn{padding:10px 18px;font-size:0.98rem}.top .btn .long{display:none}@media (min-width:560px){.top .btn .long{display:inline}.top .btn .short{display:none}}@media (min-width:980px) and (max-width:1239px){.menu{gap:18px}.menu>li>a{font-size:0.93rem}.top .btn .long{display:none}.top .btn .short{display:inline}}.hero .wrap{display:grid;gap:40px;padding-block:48px 64px;align-items:start}@media (min-width:960px){.hero .wrap{grid-template-columns:1.15fr 0.85fr;gap:56px;padding-block:72px 88px}}.hero-copy{display:grid;gap:24px;min-width:0}.hero h1{font-size:clamp(2.5rem,6.2vw,4.6rem);font-weight:800}.hero h1 em{font-style:normal;color:var(--blue)}.cta-row{display:flex;flex-wrap:wrap;gap:12px}.proof{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:10px 22px;font-weight:600;font-size:0.96rem}.proof li{display:flex;align-items:center;gap:8px}.proof li::before{content:"";width:18px;height:18px;flex:none;border-radius:50%;background:var(--blue) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 10.5l3 3 7-7' fill='none' stroke='white' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/14px no-repeat}.phone-big{font-family:var(--display);font-weight:800;font-size:clamp(1.6rem,3.4vw,2.2rem);letter-spacing:-0.01em;text-decoration:none;user-select:all}/* Haut de l'accueil avec photo de façade en fond */
.hero-photo { position: relative; isolation: isolate; background: var(--ink); color: var(--white); }
.hero-fond { position: absolute; inset: 0; z-index: -2; }
.hero-fond img { width: 100%; height: 100%; object-fit: cover; object-position: center 60%; display: block; }
.hero-photo::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(11,13,14,.86) 0%, rgba(11,13,14,.7) 45%, rgba(11,13,14,.35) 100%); }
/* Sur mobile, le titre et les boutons restent posés sur la photo ; le formulaire suit, sur fond sombre.
   L'image est la même que celle chargée par la balise <picture>,elle n'est donc téléchargée qu'une fois. */ @media (max-width:959px){.hero-fond,.hero-photo::before{display:none}.hero-photo .wrap,.hero.page.hero-photo .wrap{padding-top:0}.hero-photo .hero-copy{margin-inline:calc(-1 * max(16px,env(safe-area-inset-left,0px))) calc(-1 * max(16px,env(safe-area-inset-right,0px)));padding:48px max(16px,env(safe-area-inset-right,0px)) 36px max(16px,env(safe-area-inset-left,0px));background:linear-gradient(180deg,rgba(11,13,14,.55) 0%,rgba(11,13,14,.72) 60%,rgba(11,13,14,.92) 100%),var(--fond-mobile,url(/images/accueil-pavillon-mobile.webp)) center 40% / cover}}.hero-photo .eyebrow{color:#C5D0FF}.hero-photo h1 em{color:#93A8FF}.hero-photo .lead{color:rgba(255,255,255,.9)}.hero-photo .proof li{color:var(--white)}.hero-photo .btn-ghost{color:var(--white);border-color:var(--white)}.hero-photo .btn-ghost:hover{background:var(--white);color:var(--ink)}.hero-photo .phone-big{color:var(--white)}.hero-photo .quote{color:var(--ink)}.quote{background:var(--white);border:2px solid var(--ink);border-radius:22px;padding:28px;display:grid;gap:16px;box-shadow:8px 8px 0 var(--ink);min-width:0}.quote h2{font-size:1.7rem}.quote .sub{color:var(--muted);font-size:0.95rem}.field{display:grid;gap:6px}.field label{font-weight:600;font-size:0.92rem}.field input,.field select,.field textarea{font:inherit;font-size:1rem;padding:12px 14px;border:1.5px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink);width:100%}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px color-mix(in srgb,var(--blue) 25%,transparent)}.two{display:grid;gap:14px;grid-template-columns:1fr}@media (min-width:480px){.two{grid-template-columns:1fr 1fr}}.quote .btn{justify-content:center;width:100%}.quote .fine{font-size:0.82rem;color:var(--muted);text-align:center}.quote-done{background:var(--chalk);border-radius:10px;padding:14px;font-weight:600}section.band{padding-block:80px}.sec-head{display:grid;gap:14px;margin-bottom:44px;max-width:760px}.services{background:var(--white);border-block:1px solid var(--line)}.grid-svc{display:grid;gap:18px;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr))}.svc{position:relative;display:grid;grid-template-rows:auto auto 1fr auto auto;gap:10px;padding:0 0 22px;border:1.5px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--paper);transition:border-color .15s ease,transform .15s ease}.svc:hover{border-color:var(--ink);transform:translateY(-3px)}.svc:focus-within{border-color:var(--blue)}.svc h3 a{text-decoration:none}.svc h3 a::after{content:"";position:absolute;inset:0}.svc h3 a:focus-visible{outline:none}.svc .more{padding-inline:20px;font-weight:700;font-size:0.92rem;color:var(--blue-deep)}.svc:hover .more{text-decoration:underline}.svc .swatch{height:84px;position:relative;overflow:hidden}.svc .swatch svg{position:absolute;inset:0;width:100%;height:100%;display:block}.svc .swatch span{position:absolute;z-index:1;left:14px;top:10px;font-size:0.72rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;background:var(--white);padding:3px 8px;border-radius:999px}.svc h3,.svc p,.svc .for{padding-inline:20px}.svc p{color:var(--muted);font-size:0.97rem}.svc .for{font-size:0.85rem;font-weight:600}.svc .for b{color:var(--blue-deep)}.sw-ravalement{background:repeating-linear-gradient(90deg,#E9E1D2 0 46px,#DED4C1 46px 48px)}.sw-nettoyage{background:linear-gradient(90deg,#6E6A60 0 45%,#EFE9DD 45%)}.sw-peinture{background:repeating-linear-gradient(90deg,transparent 0 16px,rgba(255,255,255,.75) 16px 18px),linear-gradient(90deg,#F4EEDF,#EBD9AE,#E2B97A,#CF8C5C,#B4654E,#9C6B78,#7D7FA6,#6A93B3,#7DA79A,#A9BC84,#D6CF9A,#EDE8DC,#C9C3B8,#8E8A84)}.sw-hydrofuge{background:linear-gradient(180deg,#D8CEBB,#CBBFA8)}.sw-ite{background:#EFE8DA}.sw-capillaire{background:#E8E0D0}.sw-joints{background-color:#F3EEE4;background-image:linear-gradient(#C9B993 0 0),linear-gradient(#C9B993 0 0);background-size:100% 4px,4px 100%;background-image:linear-gradient(transparent 0 32px,#F3EEE4 32px 36px,transparent 36px),linear-gradient(90deg,#C7B48C 0 56px,#F3EEE4 56px 60px);background-size:100% 36px,60px 36px}.sw-chaux{background:radial-gradient(ellipse at 30% 30%,#FBF8F1,#E8DDC8 70%)}/* Exemples d'interventions */
.gallery { display: grid; gap: 12px; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: minmax(180px, 26vw); }
@media (min-width: 900px) { .gallery { grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-rows: 250px; } }
.real { position: relative; margin: 0; border-radius: var(--r); overflow: hidden; background: var(--chalk); min-width: 0; }
.real:first-child { grid-column: span 2; grid-row: span 2; }
.real picture { display: contents; }
.real img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s ease; }
.real:hover img { transform: scale(1.03); }
.real figcaption { position: absolute; inset: auto 0 0 0; padding: 40px 16px 14px; background: linear-gradient(transparent, rgba(10,10,10,.78)); color: #FFFFFF; font-size: 0.86rem; line-height: 1.35; }
.real figcaption b { display: block; font-size: 0.98rem; }
@media (max-width: 899px) { .real:not(:first-child) figcaption span { display: none; } }
.ex-cta { margin-top: 24px; display: flex; flex-wrap: wrap; gap: 14px; align-items: center; font-weight: 600; }

/* Anti-spam : champ invisible pour les visiteurs */
.hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

/* Consentement */
.consent { display: grid; grid-template-columns: auto 1fr; gap: 10px; align-items: start; font-size: 0.88rem; line-height: 1.45; }
.consent input { width: 20px; height: 20px; margin: 1px 0 0; accent-color: var(--blue); }
.consent.err label { color: #B3261E; }

/* Diagnostic table */
.diag-wrap { overflow-x: auto; border: 2px solid var(--ink); border-radius: var(--r); background: var(--white); }
table.diag { width: 100%; border-collapse: collapse; min-width: 620px; }
.diag th, .diag td { text-align: left; padding: 16px 20px; border-bottom: 1px solid var(--line); vertical-align: top; }
.diag thead th { font-size: 0.78rem; letter-spacing: 0.12em; text-transform: uppercase; background: var(--ink); color: var(--paper); border-bottom: 0; }
.diag tbody tr:last-child td { border-bottom: 0; }
.diag td:first-child { font-weight: 700; width: 34%; }
.diag td:last-child { color: var(--blue-deep); font-weight: 600; }
.diag td:last-child a { text-underline-offset: 3px; }
.prix-lien { margin-top: 16px; color: var(--muted); }
.prix-lien a { color: var(--blue-deep); font-weight: 600; text-underline-offset: 3px; }
.tarifs td:last-child { white-space: nowrap; }
.tarifs.large td:first-child { width: 18%; }
.tarifs.large td:last-child { white-space: normal; }
/* Sur mobile, chaque ligne de tarif devient une carte : le prix reste visible sans défilement horizontal. */
@media (max-width: 700px) {
  table.diag.tarifs { min-width: 0; }
  .tarifs thead { display: none; }
  .tarifs tr { display: grid; gap: 4px; padding: 14px 18px; border-bottom: 1px solid var(--line); }
  .tarifs tbody tr:last-child { border-bottom: 0; }
  .tarifs td { display: block; padding: 0; border: 0; width: auto !important; }
  .tarifs td:not(:first-child):not(:last-child) { color: var(--muted); font-size: 0.92rem; }
  .tarifs td:last-child { white-space: normal; font-size: 1.05rem; }
  .tarifs td[data-label]::before { content: attr(data-label) " : "; font-weight: 600; color: var(--muted); font-size: 0.9rem; }
}
.diag-note { margin-top: 20px; display: flex; flex-wrap: wrap; gap: 14px; align-items: center; font-weight: 600; }

/* Process */
.process { background: var(--chalk); }
.steps { list-style: none; margin: 0; padding: 0; display: grid; gap: 18px; grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr)); counter-reset: s; }
.steps li { counter-increment: s; display: grid; gap: 10px; align-content: start; padding-top: 18px; border-top: 3px solid var(--ink); }
.steps li::before { content: counter(s); font-family: var(--display); font-weight: 800; font-size: 2.6rem; line-height: 1; color: var(--blue); }
.steps p { color: var(--muted); font-size: 0.96rem; }

/* Commitments */
.commit { display: grid; gap: 40px; }
@media (min-width: 900px) { .commit { grid-template-columns: 0.9fr 1.1fr; align-items: center; } }
.wall { aspect-ratio: 4 / 3; max-width: 100%; border: 2px solid var(--ink); border-radius: var(--r); display: grid; grid-template-columns: 1.3fr 2.4fr 0.4fr 0.5fr 0.3fr; overflow: hidden; background: var(--white); }
.wall div { position: relative; }
.wall div span { position: absolute; left: 50%; bottom: 12px; transform: translateX(-50%) rotate(-90deg); transform-origin: center; white-space: nowrap; font-size: 0.7rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; translate: 0 -60px; }
.l1 { background: repeating-linear-gradient(0deg, #B7A688 0 28px, #E9E1D2 28px 31px); }
.l2 { background: repeating-linear-gradient(45deg, #F4F4F0 0 6px, #E6E6E0 6px 8px); }
.l3 { background: #CFC7B7; }
.l4 { background: #EFE8DA; }
.l5 { background: var(--blue); }
.l5 span { color: var(--white); }
.wall-cap { margin-top: 10px; font-size: 0.85rem; color: var(--muted); }
.checks { list-style: none; margin: 0; padding: 0; display: grid; gap: 18px; }
.checks li { display: grid; gap: 4px; padding-left: 34px; position: relative; }
.checks li::before { content: ""; position: absolute; left: 0; top: 3px; width: 22px; height: 22px; border-radius: 6px; background: var(--ink) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 10.5l3 3 7-7' fill='none' stroke='white' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/16px no-repeat; }
.checks b { font-size: 1.05rem; }
.checks span { color: var(--muted); }

/* Zone */
.zone-map { display: grid; gap: 18px; grid-template-columns: repeat(auto-fill, minmax(min(100%, 330px), 1fr)); }
.dep { border: 1.5px solid var(--line); border-radius: var(--r); background: var(--white); padding: 22px; display: grid; gap: 12px; align-content: start; min-width: 0; }
.dep-head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.dep-num { font-family: var(--display); font-weight: 800; font-size: 1.6rem; color: var(--blue); font-variant-numeric: tabular-nums; }
.dep .bati { font-size: 0.9rem; color: var(--muted); }
.dep .bati b { color: var(--ink); }
.cities { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.cities a { display: inline-block; text-decoration: none; font-size: 0.9rem; font-weight: 600; padding: 5px 12px; border-radius: 999px; background: var(--chalk); }
.cities a:hover { background: var(--ink); color: var(--paper); }
.dep h3 a { text-decoration: none; }
.dep h3 a:hover { color: var(--blue-deep); }
.dep-all { font-weight: 700; font-size: 0.92rem; color: var(--blue-deep); text-underline-offset: 3px; }
.zone-foot { margin-top: 24px; color: var(--muted); max-width: 70ch; }

/* FAQ */
.faq { display: grid; gap: 12px; max-width: 860px; }
.faq details { border: 1.5px solid var(--line); border-radius: var(--r); background: var(--white); padding: 0 22px; }
.faq summary { cursor: pointer; font-weight: 700; font-size: 1.07rem; padding-block: 18px; list-style: none; display: flex; justify-content: space-between; gap: 16px; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; font-family: var(--display); font-size: 1.5rem; line-height: 1; color: var(--blue); }
.faq details[open] summary::after { content: "–"; }
.faq details p { padding-bottom: 20px; color: var(--muted); max-width: 68ch; }

/* Final CTA */
.final { background: var(--blue); color: var(--white); }
.final .wrap { padding-block: 72px; display: grid; gap: 26px; }
.final h2 { max-width: 18ch; }
.final p { font-size: 1.15rem; max-width: 52ch; }
.final .phone-big { color: var(--white); font-size: clamp(2.2rem, 7vw, 4.4rem); }
.final .btn-white { background: var(--white); color: var(--ink); border-color: var(--white); }
.final .btn-line { background: transparent; color: var(--white); border-color: var(--white); }

/* Footer */
footer { background: var(--ink); color: #CFCAC0; font-size: 0.94rem; }
footer .wrap { padding-block: 48px; display: grid; gap: 32px; grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr)); }
@media (min-width: 1100px) { footer .wrap { grid-template-columns: 1.4fr 1fr 1fr 1.1fr 1.1fr; } }
footer h3 { color: var(--white); font-size: 1rem; margin-bottom: 10px; }
footer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
footer a { text-decoration: none; }
footer a:hover { color: var(--white); }
.legal { border-top: 1px solid #2A2A2A; }
.legal .wrap { padding-block: 18px; display: block; font-size: 0.82rem; }
.legal a { text-decoration: underline; text-underline-offset: 2px; }
.legal-page h1 { font-size: clamp(2rem, 5vw, 3rem); }
.legal-page h2 { margin-top: 18px; font-size: 1.35rem; }

/* Mobile action bar */
.mbar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 30; display: grid; grid-template-columns: 1.3fr 1fr; gap: 8px; padding: 10px max(12px, env(safe-area-inset-right, 0px)) calc(10px + env(safe-area-inset-bottom, 0px)) max(12px, env(safe-area-inset-left, 0px)); background: var(--ink); }
.mbar a { justify-content: center; padding: 12px 10px; font-size: 0.98rem; }
.mbar .btn-ghost { color: var(--white); border-color: var(--white); }
@media (min-width: 860px) { .mbar { display: none; } }

/* ===== Pages intérieures (prestations, départements, villes) ===== */
.crumbs { font-size: 0.88rem; color: var(--muted); }
.crumbs .wrap { padding-block: 16px 0; }
.crumbs ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.crumbs li + li::before { content: "›"; margin-right: 6px; color: var(--line); }
.crumbs a { text-decoration: none; }
.crumbs a:hover { color: var(--blue-deep); text-decoration: underline; }
.hero.page .wrap { padding-block: 32px 64px; }
@media (min-width: 960px) { .hero.page .wrap { padding-block: 48px 80px; } }
.hero.page h1 { font-size: clamp(2.2rem, 5.2vw, 3.8rem); }
.prose { display: grid; gap: 18px; max-width: 68ch; min-width: 0; }
.prose p, .prose li { color: var(--muted); }
.prose p b, .prose li b { color: var(--ink); }
.prose h3 { margin-top: 10px; }
.prose ul { margin: 0; padding-left: 1.2em; display: grid; gap: 8px; }
.prose a { color: var(--blue-deep); font-weight: 600; text-underline-offset: 3px; }
.split { display: grid; gap: 40px; }
@media (min-width: 960px) { .split { grid-template-columns: 1.2fr 0.8fr; gap: 64px; align-items: start; } }
.note { border: 2px solid var(--ink); border-radius: var(--r); background: var(--white); padding: 24px; display: grid; gap: 12px; align-content: start; min-width: 0; }
.note h3 { font-size: 1.15rem; }
.note p { color: var(--muted); font-size: 0.97rem; }
.note .btn { justify-content: center; }
.gal-mini { display: grid; gap: 12px; grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr)); }
.gal-mini .real { aspect-ratio: 4 / 3; max-width: 100%; }
.gal-mini .real:first-child { grid-column: auto; grid-row: auto; }
.gal-mini .real figcaption span { display: inline; }
.links { display: grid; gap: 12px; grid-template-columns: repeat(auto-fill, minmax(min(100%, 240px), 1fr)); }
.links a { display: grid; gap: 4px; text-decoration: none; padding: 16px 18px; border: 1.5px solid var(--line); border-radius: var(--r); background: var(--white); transition: border-color .15s ease; }
.links a:hover { border-color: var(--ink); }
.links a b { font-size: 1.02rem; }
.links a span { color: var(--muted); font-size: 0.9rem; }
.cities.plain span { display: inline-block; font-size: 0.9rem; font-weight: 600; padding: 5px 12px; border-radius: 999px; background: var(--chalk); }

/* Mosaïque de réalisations qui défile (accueil) */
.carrousel { min-width: 0; }
.car-piste { list-style: none; margin: 0; padding: 0; display: flex; overflow-x: auto; column-gap: 32px; scroll-snap-type: x mandatory; scroll-behavior: smooth; overscroll-behavior-x: contain; scrollbar-width: none; }
.car-piste::-webkit-scrollbar { display: none; }
.car-piste:focus-visible { outline: 3px solid var(--blue); outline-offset: 4px; }
.car-page { flex: 0 0 100%; min-width: 0; scroll-snap-align: start; scroll-snap-stop: always; }
.car-bas { display: flex; align-items: center; justify-content: center; gap: 18px; margin-top: 16px; }
.car-compteur { font-weight: 700; min-width: 4ch; text-align: center; font-variant-numeric: tabular-nums; }
.car-btn { width: 46px; height: 46px; border-radius: 50%; border: 2px solid var(--ink); background: var(--white); color: var(--ink); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; }
.car-btn svg { width: 20px; height: 20px; }
.car-btn:disabled { opacity: .3; cursor: default; }
.car-btn:not(:disabled):hover { background: var(--ink); color: var(--white); }

/* Signature du dirigeant (page Qui sommes-nous) */
.signature { display: flex; align-items: center; gap: 14px; }
.signature img { width: 72px; height: 72px; border-radius: 50%; object-fit: cover; border: 2px solid var(--ink); flex: none; }
.signature p { margin: 0; }

/* Réseaux sociaux (pied de page) */
.reseaux { display: flex; gap: 10px; margin-top: 16px; }
.reseaux a { width: 40px; height: 40px; border-radius: 50%; border: 1.5px solid #4A4A4A; display: inline-flex; align-items: center; justify-content: center; color: #CFCAC0; }
.reseaux a:hover { color: var(--white); border-color: var(--white); }
.reseaux svg { width: 19px; height: 19px; }

/* Guides : mise en page d'article (auteur,sommaire,colonne de lecture) */ .art-tete{padding-block:40px 28px;display:grid;gap:18px;max-width:calc(820px + 32px);margin-inline:0 auto}@media (min-width:1100px){.art-tete{margin-left:max(0px,calc((100% - var(--wrap)) / 2))}}.art-tete .eyebrow{text-decoration:none}.art-tete h1{font-size:clamp(2.1rem,5vw,3.4rem);font-weight:800}.art-tete .lead{color:var(--muted);font-size:1.15rem;max-width:62ch;margin:0}.art-signe{display:flex;align-items:center;gap:12px}.art-signe img{width:44px;height:44px;border-radius:50%;object-fit:cover;border:1.5px solid var(--ink);display:block}.art-signe p{margin:0;font-size:0.95rem;line-height:1.45}.art-signe a{color:var(--ink);text-decoration:none}.art-signe span{color:var(--muted)}.art-couv img{width:100%;height:clamp(220px,38vw,440px);object-fit:cover;border-radius:var(--r);display:block}.art-grille{display:grid;gap:32px;padding-block:36px 72px}@media (min-width:1000px){.art-grille{grid-template-columns:minmax(0,1fr) 300px;gap:64px;align-items:start}.art-cote{grid-column:2;grid-row:1;position:sticky;top:96px}.art-corps{grid-column:1;grid-row:1}}.art-corps{max-width:760px;gap:20px}.art-corps h2{font-size:clamp(1.6rem,3.2vw,2.1rem);margin-top:28px;scroll-margin-top:90px}.art-corps h2:first-child{margin-top:0}.art-corps .faq{max-width:none}.art-note{font-size:0.93rem}.art-etapes{margin:0;padding-left:1.4em;display:grid;gap:14px}.art-etapes li::marker{font-family:var(--display);font-weight:800;color:var(--blue)}.art-etapes h3{font-size:1.08rem;display:inline}.art-etapes p{margin:4px 0 0}.art-photo{margin:8px 0;display:grid;gap:8px}.art-photo img{width:100%;max-height:460px;object-fit:cover;border-radius:var(--r);display:block}.art-photo figcaption{font-size:0.88rem;color:var(--muted)}.art-pro{border-left:4px solid var(--blue);background:var(--white);border-radius:0 var(--r) var(--r) 0;padding:20px 24px;display:grid;gap:8px}.art-pro p{margin:0}.art-pro-titre,.art-sommaire-titre,.art-devis-titre,.art-auteur-nom{font-family:var(--display);font-weight:700;color:var(--ink) !important;font-size:1.1rem}.art-auteur{display:flex;gap:18px;align-items:flex-start;border-top:2px solid var(--ink);padding-top:24px;margin-top:16px}.art-auteur img{width:72px;height:72px;border-radius:50%;object-fit:cover;border:2px solid var(--ink);display:block;flex:none}.art-auteur p{margin:0 0 6px}.art-cote{display:grid;gap:20px;min-width:0}.art-sommaire{border:1.5px solid var(--line);border-radius:var(--r);background:var(--white);padding:18px 20px}.art-sommaire p{margin:0 0 10px}.art-sommaire ol{margin:0;padding-left:1.2em;display:grid;gap:8px;font-size:0.93rem;line-height:1.35}.art-sommaire a{color:var(--ink);text-decoration:none}.art-sommaire a:hover{color:var(--blue-deep);text-decoration:underline}.art-devis{border:2px solid var(--ink);border-radius:var(--r);background:var(--white);padding:20px;display:grid;gap:10px}.art-devis p{margin:0;color:var(--muted);font-size:0.95rem}.art-devis .btn{justify-content:center}@media (max-width:999px){.art-devis{display:none}}.art-fin-titre{font-family:var(--display);font-weight:800;font-size:clamp(1.8rem,3.6vw,2.6rem);line-height:1.05;color:var(--ink) !important;margin:0}@media (min-width:701px){.art-corps table.diag{table-layout:fixed;min-width:0}.art-corps .diag th,.art-corps .diag td{padding:14px 16px;overflow-wrap:break-word}.art-corps .diag td:first-child{width:auto}.art-corps .tarifs td:last-child{white-space:normal}.art-corps .diag th:first-child:nth-last-child(2){width:42%}.art-corps .diag th:first-child:nth-last-child(3){width:28%}.art-corps .diag th:first-child:nth-last-child(n+4){width:22%}}.art-auteur picture,.art-signe picture{flex:none;display:block}.art-auteur img{aspect-ratio:1}.art-signe img{aspect-ratio:1}.blog-tete{padding-bottom:8px}.blog-rubriques{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}.blog-rubriques a{border:1.5px solid var(--ink);border-radius:999px;padding:6px 14px;font-weight:600;font-size:0.92rem;color:var(--ink);text-decoration:none;background:var(--white)}.blog-rubriques a:hover{background:var(--ink);color:var(--paper)}.blog-rubrique{font-size:clamp(1.7rem,3.4vw,2.4rem);margin-bottom:24px;scroll-margin-top:90px}.blog-grille{display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr))}.blog-carte{display:grid;gap:8px;align-content:start;color:var(--ink);text-decoration:none;background:var(--white);border:1.5px solid var(--line);border-radius:var(--r);overflow:hidden;padding-bottom:18px;transition:border-color .15s,transform .15s}.blog-carte:hover{border-color:var(--ink);transform:translateY(-2px)}.blog-carte img{width:100%;aspect-ratio:16 / 10;height:auto;object-fit:cover;display:block}.blog-carte .blog-meta,.blog-carte h3,.blog-carte p{margin:0 18px}.blog-meta{font-size:0.78rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--blue-deep);font-weight:700;margin-top:8px !important}.blog-carte h3{font-size:1.12rem;line-height:1.2}.blog-carte p{color:var(--muted);font-size:0.93rem}.art-photo img[src*="avant-apres-"],.art-photo img[src*="pendant-apres-"]{max-height:none;object-fit:contain}.rea-brouillon{background:#FFF3CD;border:1.5px solid #E0B44A;border-radius:10px;padding:8px 14px;font-weight:600;font-size:0.92rem;margin:0}.rea-fiche{display:flex;flex-wrap:wrap;gap:10px 28px;margin:4px 0 0}.rea-fiche div{display:grid;gap:2px}.rea-fiche dt{font-size:0.78rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--muted);font-weight:700}.rea-fiche dd{margin:0;font-weight:600}.rea-fiche a{color:var(--blue-deep)}.rea-photos{display:grid;gap:16px}.rea-duo{display:grid;gap:16px}@media (min-width:700px){.rea-duo{grid-template-columns:1fr 1fr}}.rea-photo{margin:0;position:relative;display:grid;gap:6px}.rea-photo img{width:100%;height:clamp(280px,42vw,560px);object-fit:cover;border-radius:var(--r);display:block}.rea-une .rea-photo img{height:clamp(260px,40vw,520px)}.rea-photo figcaption{font-size:0.88rem;color:var(--muted)}.rea-tag{position:absolute;top:14px;left:14px;z-index:1;background:var(--ink);color:#fff;font-weight:800;font-size:0.82rem;letter-spacing:0.1em;text-transform:uppercase;padding:6px 14px;border-radius:999px}.rea-tag.apres{background:var(--blue)}.blog-carte img{object-position:center 30%}