
@font-face{font-family:"Inter";font-weight:900;font-display:swap;src:url(/assets/fonts/Inter_28pt-Black.ttf)}
@font-face{font-family:"Inter";font-weight:700;font-display:swap;src:url(/assets/fonts/Inter_28pt-Bold.ttf)}
@font-face{font-family:"Inter";font-weight:500;font-display:swap;src:url(/assets/fonts/Inter_28pt-Medium.ttf)}
:root{
  --rouge:#C8102E; --velours:#7A0A12; --brosse:#F48D9B; --creme:#F6EFE6; --encre:#2B1216;
  --mur:#850B16; --sol:#B81F2D; --trait:#e4d8cb;
  --g:clamp(20px,4vw,64px);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font:500 18px/1.55 "Inter",system-ui,sans-serif;color:var(--encre);background:var(--creme);-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:inherit}
.titre{font-weight:900;letter-spacing:-.04em;line-height:.95;margin:0}
.sur{font-weight:700;font-size:14px;letter-spacing:.16em;text-transform:uppercase;margin:0 0 18px}
.rouge{color:var(--rouge)}

/* Bouton WhatsApp : crème sur rouge, rouge sur crème */
.wa{display:inline-flex;align-items:center;gap:12px;white-space:nowrap;padding:18px 28px;border-radius:999px;font:700 18px/1 "Inter";text-decoration:none;
  background:var(--creme);color:var(--rouge);box-shadow:0 10px 30px rgba(43,18,22,.25);transition:transform .2s,box-shadow .2s}
.wa:hover{transform:translateY(-2px);box-shadow:0 16px 40px rgba(43,18,22,.32)}
.wa svg{width:24px;height:24px;flex:0 0 auto}
.wa.plein{background:var(--rouge);color:var(--creme)}

/* En-tête */
header{position:fixed;inset:0 0 auto;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:22px var(--g);transition:background .3s,padding .3s}
header.plein{background:rgba(122,10,18,.96);padding-top:14px;padding-bottom:14px;backdrop-filter:blur(8px)}
header .logo img{height:28px;width:auto}
header nav{display:flex;align-items:center;gap:34px}
header nav a.lien{color:var(--creme);text-decoration:none;font-weight:700;font-size:15px;opacity:.85}
header nav a.lien:hover{opacity:1}
header .wa{padding:12px 20px;font-size:15px;box-shadow:none}
header .wa svg{width:20px;height:20px}

/* Héros */
.heros{position:relative;min-height:100svh;display:flex;align-items:center;color:var(--creme);overflow:hidden;background:var(--mur)}
.heros picture img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:72% 60%}
.heros .contenu{position:relative;padding:140px var(--g) 90px;max-width:820px}
.heros h1{font-size:clamp(52px,7.6vw,128px)}
.heros .chapo{font-size:clamp(19px,1.6vw,23px);max-width:500px;margin:30px 0 40px;opacity:.95}
.heros .actions{display:flex;flex-wrap:wrap;align-items:center;gap:26px}
.heros .second{color:var(--creme);font-weight:700;text-decoration:none;border-bottom:2px solid rgba(246,239,230,.4);padding-bottom:3px}
.puces-heros{display:flex;flex-wrap:wrap;gap:10px 26px;margin-top:36px;font-weight:700;font-size:15px;opacity:.9}
.puces-heros span::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--brosse);margin-right:10px;vertical-align:2px}

/* Prestations */
.prestations{padding:110px var(--g)}
.prestations .tete{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;flex-wrap:wrap}
.prestations h2{font-size:clamp(40px,5vw,80px);color:var(--rouge);max-width:760px}
.prestations .tete p{max-width:420px;margin:0}
.services{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:54px}
.service{display:flex;flex-direction:column;background:#fff;border:2px solid #eadfd3;border-radius:24px;padding:30px 28px 28px;text-decoration:none;transition:border-color .2s,transform .2s}
.service:hover{border-color:var(--rouge);transform:translateY(-3px)}
.service .ic{width:64px;height:64px;border-radius:18px;background:var(--rouge);display:grid;place-items:center;margin-bottom:30px}
.service .ic svg{width:36px;height:36px;stroke:var(--creme)}
.service h3{margin:0 0 8px;font:900 30px/1.05 "Inter";letter-spacing:-.03em}
.service p{margin:0 0 26px;flex:1}
.service .prix-ligne{font-weight:700;color:var(--encre);margin-bottom:6px}
.service .aller{font:700 16px/1 "Inter";color:var(--rouge)}

/* Grille des prix canapé */
.tarifs{margin-top:22px;background:var(--rouge);color:var(--creme);border-radius:24px;padding:34px 34px 30px}
.tarifs-tete{display:flex;justify-content:space-between;align-items:baseline;gap:20px 40px;flex-wrap:wrap}
.tarifs h3{margin:0;font:900 30px/1.05 "Inter";letter-spacing:-.03em}
.tarifs-tete p{margin:0;font-size:15px;opacity:.85;max-width:520px}
.grille{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:26px}
.case{background:rgba(246,239,230,.12);border:1.5px solid rgba(246,239,230,.25);border-radius:16px;padding:18px 18px 16px}
.case span{display:block;font:700 14px/1 "Inter";letter-spacing:.04em;opacity:.8;margin-bottom:10px}
.case b{font:900 30px/1 "Inter";letter-spacing:-.03em}

/* Conversation et étapes */
.conversation{background:var(--velours);color:var(--creme);padding:120px var(--g);display:grid;grid-template-columns:420px 1fr;gap:clamp(40px,7vw,120px);align-items:center}
.tel{width:100%;max-width:400px;aspect-ratio:9/18.5;border-radius:54px;background:#120607;padding:14px;box-shadow:0 40px 90px rgba(0,0,0,.45);justify-self:center}
.ecran{height:100%;border-radius:42px;background:#efe6dc;overflow:hidden;display:flex;flex-direction:column;color:var(--encre)}
.ecran .haut{background:var(--rouge);color:var(--creme);padding:44px 20px 16px;display:flex;align-items:center;gap:12px}
.ecran .haut img{width:40px;height:40px;border-radius:50%;background:var(--rouge);border:2px solid rgba(246,239,230,.5);padding:6px}
.ecran .haut b{display:block;font-size:16px}.ecran .haut small{font-size:12px;opacity:.8}
.fil{flex:1;padding:18px 14px;display:flex;flex-direction:column;gap:10px;font-size:14.5px;line-height:1.4}
.bulle{max-width:82%;padding:10px 13px;border-radius:16px;background:#fff;box-shadow:0 1px 1px rgba(0,0,0,.08)}
.bulle.moi{align-self:flex-end;background:#f9d9dd;border-bottom-right-radius:4px}
.bulle.eux{border-bottom-left-radius:4px}
.bulle img{border-radius:10px;margin-bottom:6px;width:100%;aspect-ratio:3/2;object-fit:cover}
.bulle .h{display:block;text-align:right;font-size:11px;opacity:.5;margin-top:4px}
.prix-ex{display:inline-block;padding:1px 8px;border:1.5px dashed var(--rouge);border-radius:6px;color:var(--rouge);font-weight:700}
.etapes h2{font-size:clamp(40px,4.6vw,76px)}
.etapes ol{list-style:none;padding:0;margin:44px 0;display:grid;gap:28px}
.etapes li{display:grid;grid-template-columns:86px 1fr;gap:20px;align-items:start}
.etapes .n{font:900 64px/0.9 "Inter";letter-spacing:-.05em;color:var(--brosse)}
.etapes h3{margin:4px 0 6px;font:900 28px/1.1 "Inter";letter-spacing:-.02em}
.etapes p{margin:0;opacity:.85}

/* La promesse balayée : les mots passent du rouge brossé au crème, comme la buse sur le velours */
.promesse{background:linear-gradient(var(--mur),var(--sol));padding:clamp(90px,12vw,190px) var(--g);overflow:hidden}
.promesse p{margin:0;font:900 clamp(56px,11vw,190px)/.92 "Inter";letter-spacing:-.05em;
  background:linear-gradient(90deg,var(--creme) 0 calc(var(--p,0)*100%),#D9505F calc(var(--p,0)*100% + 4%) 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent}

/* La méthode */
.methode{display:grid;grid-template-columns:1fr 1fr;min-height:760px}
.methode .photo{background:url(/assets/img/methode.jpg) 50% 50%/cover}
.methode .texte{padding:110px var(--g)}
.methode h2{font-size:clamp(40px,4.6vw,76px);color:var(--rouge)}
.methode > .texte > p{max-width:540px;margin:24px 0 0}
.methode ol{list-style:none;padding:0;margin:40px 0 0;counter-reset:m}
.methode li{counter-increment:m;display:grid;grid-template-columns:52px 1fr;align-items:baseline;padding:16px 0;border-top:2px solid var(--trait);font:900 22px/1.25 "Inter";letter-spacing:-.015em}
.methode li:last-child{border-bottom:2px solid var(--trait)}
.methode li::before{content:counter(m,decimal-leading-zero);font:700 15px/1 "Inter";color:var(--rouge);letter-spacing:.04em}

/* Engagements */
.engagements{padding:110px var(--g);background:#fff}
.engagements h2{font-size:clamp(40px,4.6vw,76px);max-width:920px}
.cartes{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:56px}
.carte{background:var(--creme);border-radius:24px;padding:36px 32px 40px}
.carte .ic{width:56px;height:56px;border-radius:16px;background:var(--rouge);display:grid;place-items:center;margin-bottom:26px}
.carte .ic svg{width:28px;height:28px;stroke:var(--creme)}
.carte h3{margin:0 0 10px;font:900 28px/1.1 "Inter";letter-spacing:-.02em}
.carte p{margin:0}

/* Précautions et préparation */
.conseils{padding:110px var(--g);display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,100px)}
.conseils h2{font-size:clamp(34px,3.6vw,56px);color:var(--rouge);margin-bottom:30px}
.conseils ul{list-style:none;padding:0;margin:0}
.conseils li{position:relative;padding:16px 0 16px 34px;border-top:2px solid var(--trait)}
.conseils li:last-child{border-bottom:2px solid var(--trait)}
.conseils li::before{content:"";position:absolute;left:4px;top:25px;width:12px;height:12px;border-radius:50%;background:var(--rouge)}
.conseils b{font-weight:900}
.sechage{margin-top:30px;padding:24px 26px;border-radius:20px;background:#fff}
.sechage b{display:block;font:900 22px/1.2 "Inter";margin-bottom:6px}

/* Questions */
.questions{padding:110px var(--g);background:#fff;display:grid;grid-template-columns:1fr 1.3fr;gap:60px}
.questions h2{font-size:clamp(40px,4.6vw,76px);color:var(--rouge)}
details{border-top:2px solid var(--trait);padding:26px 0}
details:last-child{border-bottom:2px solid var(--trait)}
summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px;font:900 26px/1.2 "Inter";letter-spacing:-.02em}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";color:var(--rouge);font-size:34px;line-height:.8}
details[open] summary::after{content:"–"}
details p{margin:16px 0 0;max-width:620px}

/* Dernier appel */
.final{position:relative;color:var(--creme);text-align:center;padding:160px var(--g);background:url(/assets/img/studio-vide.jpg) center/cover;overflow:hidden}
.final h2{font-size:clamp(48px,7vw,120px)}
.final p{margin:26px auto 44px;max-width:560px;font-size:20px;opacity:.95}

footer{background:var(--encre);color:var(--creme);padding:60px var(--g) 110px;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:30px}
footer img{height:30px;width:auto}
footer nav{display:flex;gap:26px;font-weight:700;font-size:15px}
footer nav a{text-decoration:none;opacity:.8}
footer small{display:block;opacity:.55;margin-top:14px;font-size:13px}

/* Barre WhatsApp collée en bas, mobile */
.barre{display:none}

/* Éléments de l'offre : cachés tant que l'offre n'est pas renseignée (voir OFFRE plus bas) */
[data-offre]:empty,[data-offre-bloc][hidden]{display:none}

/* Apparition */
.js .monte{opacity:0;transform:translateY(26px);transition:opacity .8s ease,transform .8s ease}
.js .monte.vu{opacity:1;transform:none}
/* Mode capture (#capture) : hauteur d'écran figée pour les aperçus pleine page */
@media (min-width:901px){.capture .heros{min-height:var(--vh,900px)}}
.capture header{position:absolute}
.capture .barre{display:none}
.capture.js .monte{opacity:1;transform:none;transition:none}
@media (prefers-reduced-motion:reduce){.js .monte{opacity:1;transform:none;transition:none}.promesse p{--p:1!important}}

@media (max-width:1100px){.services{grid-template-columns:1fr 1fr}}
@media (max-width:900px){
  body{font-size:17px}
  header nav a.lien{display:none}
  header .wa{display:none}
  .heros{flex-direction:column;align-items:stretch;min-height:0}
  .heros picture{order:2}
  .heros picture img{position:relative;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;object-position:50% 55%}
  .heros .contenu{padding:112px 22px 18px}
  .heros .chapo{margin:22px 0 28px}
  .puces-heros{margin-top:26px}
  .heros .actions .wa{width:100%;justify-content:center}
  .conversation,.methode,.questions,.conseils{grid-template-columns:minmax(0,1fr)}
  .services{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
  .service{padding:22px 18px 20px;border-radius:20px}
  .service .ic{width:50px;height:50px;border-radius:14px;margin-bottom:20px}
  .service .ic svg{width:28px;height:28px}
  .service h3{font-size:21px}
  .service p{font-size:15px;margin-bottom:18px}
  .tarifs{padding:26px 20px 22px;border-radius:20px}
  .tarifs h3{font-size:24px}
  .grille{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .case b{font-size:24px}
  .conversation{gap:56px}
  .tel{max-width:330px}
  .methode .photo{min-height:380px;order:2}
  .methode li{font-size:19px}
  .cartes{grid-template-columns:1fr}
  .final .wa{width:100%;justify-content:center;padding:17px 14px;font-size:16px}
  .barre{display:flex;position:fixed;left:12px;right:12px;bottom:12px;z-index:30;transform:translateY(160%);transition:transform .35s ease}
  .barre.on{transform:none}
  .barre .wa{width:100%;justify-content:center;padding:17px 20px}
  footer{padding-bottom:120px}
}

/* ===== Site complet (V04) ===== */
/* En-tête : menu déroulant Prestations, menu mobile */
.page-int header{background:rgba(122,10,18,.97)}
header .menu{position:relative}
header .menu > button{all:unset;cursor:pointer;color:var(--creme);font-weight:700;font-size:15px;opacity:.85}
header .menu > button::after{content:" ▾";font-size:12px}
header .menu .deroule{position:absolute;top:calc(100% + 14px);left:-18px;min-width:300px;background:var(--creme);border-radius:18px;padding:10px;box-shadow:0 20px 50px rgba(43,18,22,.25);display:none}
header .menu:hover .deroule,header .menu:focus-within .deroule{display:block}
header .menu .deroule::before{content:"";position:absolute;top:-16px;left:0;right:0;height:16px}
header .menu .deroule a{display:block;padding:12px 14px;border-radius:12px;color:var(--encre);text-decoration:none;font-weight:700;font-size:15px}
header .menu .deroule a:hover{background:#fff;color:var(--rouge)}
.burger{display:none;all:unset;cursor:pointer;width:44px;height:44px;display:none;place-items:center;border-radius:12px;color:var(--creme)}
.burger svg{width:28px;height:28px}
.tiroir{display:none}
nav a.actif{opacity:1!important;text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:2px}

/* Haut des pages intérieures */
.ph{background:linear-gradient(var(--mur),var(--sol));color:var(--creme);padding:130px var(--g) 80px;display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(30px,5vw,80px);align-items:center}
.ph.seul{grid-template-columns:1fr}
.ariane{font:700 14px/1.4 "Inter";opacity:.75;margin:0 0 22px}
.ariane a{text-decoration:none}
.ph h1{font-size:clamp(44px,5.6vw,92px)}
.ph .chapo{font-size:clamp(18px,1.5vw,22px);max-width:560px;margin:24px 0 32px;opacity:.95}
.ph .ligne-prix{margin-top:22px;font-weight:700;font-size:16px;opacity:.9}
.ph .photo-ph{border-radius:24px;overflow:hidden;box-shadow:0 30px 70px rgba(0,0,0,.35)}
.ph .photo-ph img{width:100%;aspect-ratio:3/2;object-fit:cover}
.legende{margin:10px 0 0;font:700 13px/1.3 "Inter";letter-spacing:.04em;opacity:.65}

/* Sections génériques */
.bloc{padding:100px var(--g)}
.bloc.blanc{background:#fff}
.bloc.velours{background:var(--velours);color:var(--creme)}
.bloc h2.titre{font-size:clamp(36px,4.4vw,70px)}
.bloc .intro{max-width:640px;margin:22px 0 0}
.deux{display:grid;grid-template-columns:1fr 1fr;gap:clamp(36px,6vw,100px)}
.deux.centre{align-items:center}

/* Avant / après */
.aa{margin:0;position:relative;aspect-ratio:3/2;overflow:hidden;border-radius:22px;--x:50%;user-select:none;background:#ddd}
.aa img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.aa-avant{position:absolute;inset:0;clip-path:inset(0 calc(100% - var(--x)) 0 0)}
.aa-trait{position:absolute;top:0;bottom:0;left:var(--x);width:3px;background:var(--creme);transform:translateX(-50%);pointer-events:none}
.aa-trait::after{content:"⟷";position:absolute;top:50%;left:50%;width:52px;height:52px;transform:translate(-50%,-50%);border-radius:50%;background:var(--creme);color:var(--rouge);display:grid;place-items:center;font:900 22px/1 "Inter";box-shadow:0 6px 20px rgba(0,0,0,.3)}
.aa-et{position:absolute;top:16px;padding:7px 13px;border-radius:999px;background:rgba(43,18,22,.72);color:var(--creme);font:700 13px/1 "Inter";letter-spacing:.06em;text-transform:uppercase;pointer-events:none}
.aa-g{left:16px}.aa-d{right:16px}
.aa input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize;touch-action:pan-y}
.aa-grille{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:46px}
.aa-grille.n1{grid-template-columns:minmax(0,980px)}
.aa-grille.n2{grid-template-columns:1fr 1fr}
.aa-grille h3{margin:16px 0 0;font:900 22px/1.2 "Inter";letter-spacing:-.02em}

/* Cartes prestations avec photo */
.service.photo{padding:0;overflow:hidden}
.service.photo img{width:100%;aspect-ratio:3/2;object-fit:cover}
.service.photo .corps{padding:24px 24px 24px;display:flex;flex-direction:column;flex:1}
.service .liens{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:auto}
.service .liens span{font:700 15px/1 "Inter"}
.service .details{color:var(--encre);opacity:.7}

/* Listes d'étapes et de conseils */
.etapes-m{list-style:none;padding:0;margin:34px 0 0;counter-reset:m}
.etapes-m li{counter-increment:m;display:grid;grid-template-columns:52px 1fr;align-items:baseline;padding:16px 0;border-top:2px solid var(--trait);font:900 21px/1.3 "Inter";letter-spacing:-.015em}
.etapes-m li:last-child{border-bottom:2px solid var(--trait)}
.etapes-m li::before{content:counter(m,decimal-leading-zero);font:700 15px/1 "Inter";color:var(--rouge);letter-spacing:.04em}
.puces-l{list-style:none;padding:0;margin:26px 0 0}
.puces-l li{position:relative;padding:15px 0 15px 32px;border-top:2px solid var(--trait)}
.puces-l li:last-child{border-bottom:2px solid var(--trait)}
.puces-l li::before{content:"";position:absolute;left:4px;top:24px;width:12px;height:12px;border-radius:50%;background:var(--rouge)}
.velours .puces-l li,.velours .etapes-m li{border-color:rgba(246,239,230,.2)}
.velours .puces-l li::before{background:var(--brosse)}
.encart{margin-top:28px;padding:24px 26px;border-radius:20px;background:#fff}
.encart b{display:block;font:900 22px/1.2 "Inter";margin-bottom:6px}

/* Calculateur tapis */
.calc{margin-top:22px;display:flex;align-items:center;gap:18px;flex-wrap:wrap;background:rgba(246,239,230,.12);border:1.5px solid rgba(246,239,230,.25);border-radius:16px;padding:18px 20px}
.calc label{font-weight:700}
.calc input{width:110px;padding:12px 14px;border-radius:12px;border:0;font:900 22px/1 "Inter";color:var(--encre)}
.calc output{font:900 30px/1 "Inter";letter-spacing:-.03em}
.calc small{display:block;width:100%;opacity:.8;font-size:14px}

/* Villes */
.cantons{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}
.cantons span{padding:10px 16px;border-radius:999px;background:rgba(246,239,230,.14);border:1.5px solid rgba(246,239,230,.25);font-weight:700;font-size:15px}
.villes{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:36px}
.villes a{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;border-radius:16px;background:#fff;border:2px solid #eadfd3;text-decoration:none;font:900 19px/1.2 "Inter";letter-spacing:-.01em;transition:border-color .2s}
.villes a:hover{border-color:var(--rouge)}
.villes a span{font:700 13px/1 "Inter";color:var(--rouge)}
.grand-chiffre{font:900 clamp(90px,14vw,220px)/.85 "Inter";letter-spacing:-.06em}

/* Conseils */
.articles{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:46px}
.article-c{display:flex;flex-direction:column;background:#fff;border:2px solid #eadfd3;border-radius:22px;overflow:hidden;text-decoration:none;transition:border-color .2s,transform .2s}
.article-c:hover{border-color:var(--rouge);transform:translateY(-3px)}
.article-c img,.article-c .vignette{width:100%;aspect-ratio:3/2;object-fit:cover}
.article-c .vignette{background:var(--rouge);color:var(--creme);display:grid;place-items:center;font:900 64px/1 "Inter";letter-spacing:-.03em}
.article-c .corps{padding:22px 24px 26px;display:flex;flex-direction:column;flex:1}
.article-c h3{margin:0 0 10px;font:900 23px/1.15 "Inter";letter-spacing:-.02em}
.article-c p{margin:0 0 18px;font-size:16px;opacity:.85;flex:1}
.article-c .meta{font:700 13px/1 "Inter";opacity:.55}
.prose{max-width:760px;margin:0 auto;padding:80px var(--g) 40px}
.prose .couv{border-radius:22px;overflow:hidden;margin:0 0 10px}
.prose .couv img{width:100%;aspect-ratio:3/2;object-fit:cover}
.prose h2{font:900 clamp(26px,2.6vw,36px)/1.15 "Inter";letter-spacing:-.02em;margin:46px 0 12px;color:var(--rouge)}
.prose p,.prose li{font-size:19px;line-height:1.65}
.prose ul{padding-left:22px}
.prose li{margin:8px 0}
.prose .chapeau{font-size:22px;line-height:1.55;font-weight:500}
.prose .meta{font:700 14px/1 "Inter";opacity:.55;margin-top:18px}
.codes{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:26px 0}
.codes div{background:var(--rouge);color:var(--creme);border-radius:18px;padding:20px 18px}
.codes b{display:block;font:900 42px/1 "Inter";margin-bottom:10px}
.codes span{font-size:15px;line-height:1.4}

/* Contact */
.contact-cartes{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:46px}
.contact-cartes .carte a{font-weight:900;color:var(--rouge);text-decoration:none;font-size:22px}

@media (max-width:1100px){.villes{grid-template-columns:repeat(3,1fr)}.aa-grille,.articles{grid-template-columns:1fr 1fr}}
@media (max-width:900px){
  header nav{display:none}
  .burger{display:grid}
  .tiroir{position:fixed;inset:0;z-index:40;background:var(--velours);color:var(--creme);padding:96px 24px 40px;overflow:auto;display:none}
  .tiroir.ouvert{display:block}
  .tiroir a{display:block;padding:16px 0;border-bottom:1.5px solid rgba(246,239,230,.18);font:900 26px/1.15 "Inter";letter-spacing:-.02em;text-decoration:none}
  .tiroir a.sous{font:700 18px/1.2 "Inter";padding:13px 0 13px 18px;opacity:.9}
  .tiroir .wa{margin-top:28px;width:100%;justify-content:center;border:0}
  .tiroir .fermer{all:unset;cursor:pointer;position:absolute;top:22px;right:22px;width:44px;height:44px;display:grid;place-items:center;font-size:34px;line-height:1}
  .ph{grid-template-columns:minmax(0,1fr);padding:104px 22px 56px}
  .ph .wa{width:100%;justify-content:center}
  .bloc{padding:72px 22px}
  .deux,.aa-grille,.aa-grille.n1,.aa-grille.n2,.articles,.contact-cartes{grid-template-columns:minmax(0,1fr)}
  .villes{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .villes a{padding:15px 14px;font-size:16px}
  .codes{grid-template-columns:1fr 1fr}
  .prose{padding:56px 22px 20px}
  .prose p,.prose li{font-size:17.5px}
  .prose .wa,.contact-cartes ~ * .wa,.bloc .deux .wa{width:100%;justify-content:center;font-size:16px;padding:17px 14px}
  .service.photo .corps{padding:18px 16px 18px}
}

footer.pied{align-items:flex-start}
footer.pied small{line-height:1.6}
footer.pied small a{color:inherit}
footer.pied .cols{display:flex;gap:56px;flex-wrap:wrap}
footer.pied .cols nav{display:flex;flex-direction:column;gap:10px}
footer.pied .cols b{font:900 15px/1 "Inter";opacity:.55;margin-bottom:6px;letter-spacing:.06em;text-transform:uppercase}
footer.pied .mesure{flex-basis:100%;margin:10px 0 0;font-size:13px;line-height:1.55;opacity:.55;max-width:820px}
footer.pied .mesure a{color:inherit}
.prose code{font-size:.9em;background:rgba(122,10,18,.08);padding:1px 6px;border-radius:6px}
.final{margin:0}
