/* Pages de service : s'ajoute à article.css */
.photo{margin:0 auto;max-width:1000px;padding:0 var(--gutter);transform:translateY(-28px)}
.photo img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:12px;box-shadow:0 18px 40px -20px rgba(20,20,20,.5)}
.photo + article{padding-top:8px}
.feat img{display:block;width:calc(100% + 44px);max-width:none;height:auto;margin:-22px -22px 16px;aspect-ratio:16/10;object-fit:cover;border-radius:10px 10px 0 0}
/* Comparaison avec photos : déborde de la colonne de texte pour des images plus larges */
.feats:has(img){width:min(1100px,calc(100vw - 2*var(--gutter)));margin-left:50%;transform:translateX(-50%);gap:20px}
.feat:has(img){overflow:hidden}
.hero .lead{color:var(--on-ink-muted);font-size:20px;max-width:56ch;margin:18px 0 0}
.hero .btns{margin-top:28px}
.badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.badges span{border:1px solid #3a3634;border-radius:999px;padding:6px 12px;font-size:14px;font-weight:600;color:var(--on-ink)}
.feats{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:24px 0 8px}
.feat{background:#fff;border:1px solid var(--line);border-radius:10px;padding:22px;min-width:0}
.feat h3{margin:0 0 8px}
.feat p{margin:0;font-size:16px;color:var(--muted)}
.steps{list-style:none;padding:0;margin:24px 0;display:grid;grid-template-columns:repeat(4,1fr);gap:14px;counter-reset:s}
.steps.five{grid-template-columns:repeat(5,1fr)}
@media (max-width:860px){.steps.five{grid-template-columns:1fr 1fr 1fr}}
@media (max-width:520px){.steps.five{grid-template-columns:1fr 1fr}}
.steps li{border-top:3px solid var(--ink);padding-top:14px;margin:0;font-size:16px}
.steps li::before{counter-increment:s;content:"0" counter(s);display:block;font:800 36px/1 var(--display);color:var(--red);margin-bottom:6px}
.steps b{display:block;font:700 19px/1.1 var(--display);text-transform:uppercase;margin-bottom:4px}
.vs{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:24px 0}
.vs div{border:1px solid var(--line);border-radius:10px;padding:20px;background:#fff;min-width:0}
.vs .ours{border-color:var(--red);box-shadow:inset 0 0 0 1px var(--red)}
.vs h3{margin:0 0 10px;font-size:20px}
.vs ul{margin:0;padding-left:20px;font-size:16px}
.incl{list-style:none;padding:0;margin:20px 0;display:grid;gap:0;background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.incl li{margin:0;padding:14px 18px 14px 50px;position:relative;border-bottom:1px solid var(--line);font-size:17px}
.incl li:last-child{border-bottom:0}
.incl li::before{content:"✓";position:absolute;left:16px;top:13px;width:22px;height:22px;border-radius:50%;background:var(--red);color:#fff;font-size:13px;font-weight:800;display:grid;place-items:center}
.guar{display:flex;align-items:center;gap:20px;background:var(--ink);color:var(--on-ink);border-radius:10px;padding:22px 24px;margin:28px 0}
.guar .n{font:800 56px/0.9 var(--display);color:#fff;white-space:nowrap}
.guar .n small{display:block;font-size:18px;color:var(--red);letter-spacing:.04em;margin-top:4px}
.guar p{margin:0;color:var(--on-ink-muted);font-size:16px}
.guar b{color:#fff;display:block;font-size:18px;margin-bottom:4px}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 24px}
.chips span{border:1px solid var(--line);background:#fff;border-radius:999px;padding:7px 14px;font-size:15px;font-weight:600}
@media (max-width:700px){.feats,.vs{grid-template-columns:1fr}.steps{grid-template-columns:1fr 1fr}}
