/* Pages service — châssis de l’accueil (site.css), sans carte ni formulaire. */

/* site.css stylise tout `nav` comme la barre du site : le fil d’ariane s’en défait. */
nav.fil-service { position:static; min-height:0; padding:0; display:block; background:var(--clear); border:0; margin-bottom:34px; font:400 12px/1.6 var(--sans); letter-spacing:.06em; color:var(--ink-soft); }
.fil-service a { text-decoration:underline; text-underline-offset:4px; }
.fil-service a:hover { color:var(--accent-ink); }
.fil-service span[aria-hidden] { margin-inline:6px; }
.fil-service [aria-current] { color:var(--ink); }

.service-tete { padding-top:40px; }
.service-tete h1 { font-size:clamp(43px,4.8vw,76px); line-height:1.04; letter-spacing:-.045em; margin-bottom:26px; max-width:14ch; }
.service-chapo { max-width:60ch; font-size:20px; color:var(--ink-soft); margin-bottom:32px; }

.service-corps { max-width:900px; }
.service-corps>p { max-width:65ch; margin-bottom:22px; color:var(--ink-soft); }
.service-corps>p:first-child { color:var(--ink); }
.service-corps code { font:400 .9em var(--mono); }

/* Liste à puces : le répertoire des prestations de l’accueil, deux colonnes et compteurs. */
.service-corps ul { list-style:none; display:grid; grid-template-columns:1fr 1fr; gap:0 64px; margin-top:34px; counter-reset:entry; }
.service-corps ul li { position:relative; padding:26px 0 30px 48px; border-top:1px solid var(--ink); counter-increment:entry; color:var(--ink-soft); font-size:17px; }
.service-corps ul li::before { content:counter(entry,decimal-leading-zero); position:absolute; left:0; top:30px; font:400 12px var(--sans); color:var(--ink-soft); }
.service-corps ul li strong { display:block; font-weight:400; font-size:24px; line-height:1.2; color:var(--ink); margin-bottom:10px; }

/* Liste numérotée : les étapes, en légende à filets. */
.service-corps ol { list-style:none; border-top:1px solid var(--ink); margin-top:34px; counter-reset:etape; }
.service-corps ol li { display:grid; grid-template-columns:52px 1fr; column-gap:30px; padding:24px 0; border-bottom:1px solid var(--rule); counter-increment:etape; color:var(--ink-soft); font-size:17px; max-width:none; }
.service-corps ol li::before { content:counter(etape,lower-greek); grid-row:1 / 3; font:italic 36px/1 var(--serif); color:var(--ink); }
.service-corps ol li strong { font-weight:400; font-size:24px; color:var(--ink); }

.service-faq .faq-list { max-width:900px; }

.service-atlas { list-style:none; border-top:1px solid var(--ink); max-width:900px; }
.service-atlas li { display:flex; justify-content:space-between; align-items:baseline; gap:8px 24px; flex-wrap:wrap; padding:14px 0; border-bottom:1px solid var(--rule); }
.service-atlas a { display:flex; align-items:center; min-height:44px; font-size:22px; text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:.2em; }
.service-atlas a:hover { color:var(--accent-ink); }
.service-atlas span { font:400 11px/1.6 var(--sans); letter-spacing:.12em; text-transform:uppercase; color:var(--ink-soft); }

.service-contact { display:flex; align-items:center; justify-content:space-between; gap:20px 40px; flex-wrap:wrap; margin-top:56px; padding-top:28px; border-top:1px solid var(--ink); max-width:900px; }
.service-contact p { font-size:25px; letter-spacing:-.02em; }

@media(max-width:768px) {
 .service-tete { padding-top:28px; }
 .service-tete h1 { font-size:clamp(40px,10vw,64px); }
 .service-chapo { font-size:18px; }
 .service-corps ul { column-gap:28px; }
 .service-corps ol li { grid-template-columns:38px 1fr; column-gap:18px; }
}
@media(max-width:480px) {
 .service-corps ul { grid-template-columns:1fr; }
 .service-contact p { font-size:21px; }
}
