/* Pages services et réalisations — onglets + galerie photo unique (grille 3 colonnes, 2 sous 700 px) + visionneuse. */
.sv-page{--sv-ease:cubic-bezier(.2,.8,.2,1);background:var(--fond)}
.sv-hero{position:relative;display:grid;min-height:clamp(300px,44vw,510px);place-items:end start;overflow:hidden;background:#17291c;color:#fff}
.sv-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.86);transform:scale(1.03)}
.sv-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,27,10,.88),rgba(7,27,10,.42) 58%,rgba(7,27,10,.14))}
.sv-hero-in{position:relative;z-index:1;width:min(1180px,100%);margin-inline:auto;padding:72px 24px}
.sv-hero p{margin:0 0 12px;font-weight:700;color:#8ee49b;letter-spacing:.08em;text-transform:uppercase}
.sv-hero h1{max-width:900px;margin:0;font-size:clamp(42px,7vw,82px);line-height:.98;color:#fff}
.sv-main{width:min(1180px,100%);margin-inline:auto;padding:clamp(48px,7vw,88px) 24px 96px}
.sv-tabs{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 42px;padding:0;list-style:none}
.sv-tabs a{display:inline-flex;align-items:center;min-height:44px;padding:10px 17px;border:1px solid var(--bord);border-radius:999px;background:var(--carte);color:var(--titre);font-weight:700;text-decoration:none;transition:transform .2s,background .2s,border-color .2s}
.sv-tabs a:hover{transform:translateY(-2px);border-color:var(--accent)}
.sv-tabs a[aria-current=page]{background:var(--accent);border-color:var(--accent);color:var(--sur-accent)}
.sv-tabs a:focus-visible,.sv-control:focus-visible,.sv-photo:focus-visible{outline:3px solid var(--accent-fonce);outline-offset:3px}
.sv-photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.sv-photo{display:block;position:relative;overflow:hidden;aspect-ratio:1/1;padding:0;border:1px solid var(--bord);border-radius:20px;background:#dce5de;box-shadow:0 14px 36px -28px rgba(7,27,10,.55);cursor:zoom-in}
.sv-photo img{display:block;width:100%;height:100%;object-fit:cover}
.sv-control{position:absolute;z-index:2;top:50%;display:grid;width:44px;height:44px;padding:0;place-items:center;transform:translateY(-50%);border:0;border-radius:50%;background:rgba(255,255,255,.94);color:#122a18;font-size:25px;box-shadow:0 6px 20px rgba(0,0,0,.22);cursor:pointer}
.sv-control:hover{background:var(--accent);color:var(--sur-accent)}
.sv-lightbox[hidden]{display:none}.sv-lightbox{position:fixed;z-index:10000;inset:0;display:grid;grid-template-columns:56px minmax(0,1fr) 56px;align-items:center;padding:24px;background:rgba(2,9,4,.94)}
.sv-lightbox figure{display:grid;place-items:center;margin:0;min-width:0;height:calc(100vh - 48px)}.sv-lightbox img{max-width:100%;max-height:100%;object-fit:contain}.sv-lightbox .sv-control{position:static;transform:none}.sv-lightbox .sv-lb-close{position:absolute;top:18px;right:18px;transform:none}
@media(max-width:700px){.sv-hero{min-height:330px}.sv-hero-in{padding:54px 18px}.sv-main{padding:42px 16px 72px}.sv-tabs{flex-wrap:nowrap;overflow-x:auto;margin-inline:-16px;padding:2px 16px 10px;scrollbar-width:none}.sv-tabs::-webkit-scrollbar{display:none}.sv-tabs li{flex:none}.sv-tabs a{white-space:nowrap}.sv-photos{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.sv-photo{border-radius:14px}.sv-control{width:42px;height:42px}.sv-lightbox{grid-template-columns:44px minmax(0,1fr) 44px;padding:12px}.sv-lightbox figure{height:calc(100vh - 24px)}}
@media(prefers-reduced-motion:reduce){.sv-tabs a,.sv-hero img{transition:none!important;transform:none}}

/* Passe commune — bandeau d'appel en bas des pages services (modèle : bas de a-propos). */
/* Visionneuse : une photo en hauteur débordait (max-height:100% non résolu dans la grille) → bornes en unités de fenêtre (14/10) */
.sv-lightbox img{width:auto!important;height:auto!important;max-width:100%;max-height:calc(100vh - 48px);max-height:calc(100dvh - 48px);object-fit:contain}
@media(max-width:700px){.sv-lightbox img{max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px)}}
