.about .wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px;align-items:center}
.about-photo{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:center 30%;border-radius:var(--rayon);background:var(--rose-deep)}
.about .script{display:block;margin-bottom:10px}
.about p{margin-bottom:1em;max-width:54ch}
@media(max-width:860px){.about .wrap{grid-template-columns:1fr}.about-photo{order:2}}
.services{background:var(--rose)}
.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:28px;margin-top:40px}
.card{background:var(--creme);border-radius:var(--rayon);padding:40px 34px}
.card h3{font-size:2rem;margin-bottom:12px}
.card ul{list-style:none;margin:18px 0 26px}
.card li{padding-left:28px;position:relative;margin:8px 0;font-size:.95rem}
.card li::before{content:"✓";position:absolute;left:0;color:var(--bordeaux)}
.card .prix{display:flex;justify-content:space-between;align-items:baseline;border-top:1px dotted var(--bordeaux);padding-top:18px;font-weight:500}
.card .prix strong{font-family:var(--f-titre);font-size:2rem;color:var(--bordeaux);font-weight:500}
.process .steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:36px;margin-top:40px}
.step i{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--bordeaux);color:#fff;font-style:normal;margin-bottom:16px}
.step h3{font-size:1.4rem;margin-bottom:6px}
.reviews blockquote{font-family:var(--f-titre);font-size:1.5rem;color:var(--bordeaux);line-height:1.4}
.reviews cite{display:block;margin-top:18px;font-style:normal;font-size:.9rem}
.zone .wrap{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.zone-map{aspect-ratio:1;border-radius:50%;width:100%;max-width:380px;background:var(--rose);display:grid;place-content:center;text-align:center;color:var(--bordeaux);font-family:var(--f-titre);font-size:1.8rem;margin:auto;box-shadow:inset 0 0 0 10px var(--creme),inset 0 0 0 11px var(--rose-deep)}
.zone-map span{display:block;font-family:var(--f-texte);font-size:.9rem;color:var(--encre)}
@media(max-width:860px){.zone .wrap{grid-template-columns:1fr}}
.tl{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:12px 0;border-top:1px dotted var(--bordeaux)}
.tl:first-of-type{margin-top:6px}
.tl span{font-size:.95rem}
.tl small{display:block;font-size:.78rem;opacity:.65}
.tl b{font:500 1.6rem var(--f-titre);color:var(--bordeaux);white-space:nowrap}
.supp{margin-top:28px;text-align:center;color:var(--bordeaux);font-family:var(--f-titre);font-size:1.2rem}
.supp small{font-family:var(--f-texte);font-size:.78rem;color:var(--encre);opacity:.75}
.zone .wrap.zone-wrap{display:block}
.cabinets{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px;margin-top:32px}
.lieu{background:var(--rose);border-radius:var(--rayon);padding:30px 28px}
.lieu-jour{display:inline-block;background:var(--bordeaux);color:#fff;font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;padding:5px 14px;border-radius:999px;margin-bottom:14px}
.lieu h3{font-size:1.7rem;margin-bottom:10px}
.lieu-adr{font-size:.95rem;margin-bottom:10px}
.lieu-h{font-size:.85rem;opacity:.75;margin-bottom:14px}
.lieu-lien{color:var(--bordeaux);font-weight:500;font-size:.9rem;text-decoration:underline}
.domicile{display:flex;align-items:center;gap:28px;margin-top:24px;padding:22px 28px;border:1.5px dashed var(--rose-deep);border-radius:var(--rayon)}
.domicile h3{font-size:1.5rem;margin-bottom:6px}
.domicile p{font-size:.9rem;max-width:56ch}
.domicile small{display:block;margin-top:6px;font-size:.78rem;opacity:.7}
.zone-map.mini{width:110px;max-width:110px;flex:none;margin:0;font-size:1.05rem;box-shadow:inset 0 0 0 5px var(--creme),inset 0 0 0 6px var(--rose-deep)}
.zone-map.mini span{font-size:.7rem}
@media(max-width:560px){.domicile{flex-direction:column;text-align:center}}
.avis-track{display:grid}
.avis{grid-area:1/1;margin:0;opacity:0;visibility:hidden;transition:opacity .5s ease,visibility .5s}
.avis.on{opacity:1;visibility:visible}
.avis-nav{display:flex;justify-content:center;align-items:center;gap:18px;margin-top:100px}
.avis-nav button:hover{transform:scale(1.08)}
.avis-dots{display:flex;gap:8px}
@media(prefers-reduced-motion:reduce){.avis{transition:none}}
.reviews{background:var(--bleu);overflow:hidden}
.postit{position:relative;max-width:640px;margin:0 auto;rotate:-1.2deg;filter:drop-shadow(0 12px 16px rgba(120,20,30,.22))}
.postit-paper{background-color:#fbf1e6;text-align:center;border-radius:4px;padding:clamp(36px,5vw,58px) clamp(26px,5vw,60px);
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .55 0 0 0 0 .4 0 0 0 0 .3 0 0 0 .12 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}
.tape{position:absolute;z-index:2;width:116px;height:34px;
  clip-path:polygon(0 0,100% 0,98% 25%,100% 50%,98% 75%,100% 100%,0 100%,2% 75%,0 50%,2% 25%)}
.tape-top{top:-17px;left:50%;margin-left:-58px;rotate:-3deg;
  background:linear-gradient(180deg,rgba(255,255,255,.28),rgba(255,255,255,0)),rgba(222,203,168,.8)}
.avis-nav button{width:42px;height:42px;border-radius:50%;border:0;background:var(--creme);color:var(--bordeaux);font-size:1.4rem;line-height:1;cursor:pointer;box-shadow:0 4px 10px rgba(120,20,30,.15);transition:transform .2s}
.avis-nav button:hover{transform:scale(1.08)}
.avis-dots button{width:10px;height:10px;padding:0;box-shadow:none;background:rgba(255,246,241,.5)}
.avis-dots button.on{background:var(--creme);transform:scale(1.25)}