/* Pages services et zones d'intervention — complète base.css et theme.css */

.page { padding-top: clamp(28px, 4vw, 48px); }

.page-crumbs { margin-bottom: 28px; font-size: .9rem; color: var(--c-muted); }
.page-crumbs a { color: var(--c-accent-hover); }

.page-hero { display: grid; gap: 32px; align-items: center; margin-bottom: clamp(40px, 6vw, 64px); }
@media (min-width: 960px) { .page-hero { grid-template-columns: 1.1fr 1fr; } }
.page-hero__text { margin-bottom: 0; }
.page-hero__text h1 { margin-top: 0; }
.page-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 26px; }
@media (max-width: 600px) { .page-hero__actions .btn { width: 100%; } }
.page-hero__media { margin: 0; position: relative; }
.page-hero__media img { width: 100%; height: auto; display: block; }
.page-hero__media::after {
  content: ""; position: absolute; left: 16px; right: -12px; bottom: -12px; height: 12px;
  background: var(--stripes); z-index: -1;
}
.page-hero__media--tall { max-width: 420px; justify-self: center; }

.page-blocks { display: grid; gap: 24px; }
@media (min-width: 860px) { .page-blocks { grid-template-columns: 1fr 1fr; } }
.page-block { padding: clamp(22px, 3.5vw, 32px); background: var(--c-surface); border-top: 4px solid var(--c-accent); }
.page-block--wide { grid-column: 1 / -1; }
.page-block__title { margin: 0 0 12px; font-size: clamp(1.3rem, 2.2vw, 1.6rem); }
.page-block p { margin: 0 0 12px; }
.page-block p:last-child { margin-bottom: 0; }
.page-block a { color: var(--c-accent-hover); }
.page-muted { color: var(--c-muted); font-size: .95rem; }

.page-list { margin: 0; padding: 0; list-style: none; display: grid; gap: 8px; }
.page-list li { position: relative; padding-left: 22px; }
.page-list li::before { content: ""; position: absolute; left: 0; top: .55em; width: 10px; height: 10px; background: var(--c-accent); }

.page-services { margin: 0; padding: 0; list-style: none; display: grid; gap: 12px; }
@media (min-width: 700px) { .page-services { grid-template-columns: 1fr 1fr; } }
.page-services a {
  display: block; height: 100%; padding: 16px 18px; text-decoration: none;
  background: var(--c-alt); border: 1px solid var(--c-border); color: var(--c-text);
  transition: border-color .2s, background-color .2s;
}
.page-services a:hover { border-color: var(--c-accent); background: #161b26; }
.page-services strong { display: block; margin-bottom: 4px; font: 700 1.15rem/1.2 var(--font-head); text-transform: uppercase; color: var(--c-head); }
.page-services span { color: var(--c-muted); font-size: .95rem; }

.page-gallery { display: grid; gap: 16px; margin-top: 24px; }
@media (min-width: 700px) { .page-gallery { grid-template-columns: 1fr 1fr; } }
.page-gallery figure { margin: 0; }
.page-gallery img { width: 100%; height: 100%; max-height: 360px; object-fit: cover; display: block; }

.page-links { display: grid; gap: 28px; margin-top: clamp(40px, 6vw, 64px); }
@media (min-width: 760px) { .page-links { grid-template-columns: 1fr 1fr; } }
.page-links__title { margin: 0 0 14px; font-size: 1.3rem; }
.page-links__list { margin: 0; padding: 0; list-style: none; display: flex; flex-wrap: wrap; gap: 10px; }
.page-links__list a {
  display: inline-flex; align-items: center; gap: 6px; padding: 9px 14px; text-decoration: none;
  border: 1px solid var(--c-border); color: var(--c-head);
  font: 700 .95rem/1 var(--font-head); text-transform: uppercase; letter-spacing: .06em;
  transition: border-color .2s, color .2s;
}
.page-links__list a:hover { border-color: var(--c-accent); color: var(--c-accent-hover); }
.page-links__list .icon { font-size: .9em; }
