/* Sous-pages SEO (projets, villes, services). S'appuie sur style.css.
   Aucun contenu n'est masqué en attente de JavaScript : tout est lisible par Google. */

.sub .head{position:sticky}
.page{min-height:60vh}
.page__hero{padding-block:clamp(3rem,8vh,6rem) clamp(2.5rem,5vw,4rem)}
.page__title{
  font-family:var(--f-display);font-weight:300;line-height:.98;letter-spacing:-.02em;
  font-size:clamp(2.6rem,8vw,6.5rem);max-width:16ch;
}
.page__lede{margin-top:1.4rem;max-width:58ch;color:var(--paper-dim);font-size:clamp(1rem,1.4vw,1.2rem)}
.page__actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2rem}

.crumbs{margin-bottom:clamp(1.5rem,3vw,2.5rem)}
.crumbs ol{display:flex;flex-wrap:wrap;gap:.4rem;font-family:var(--f-mono);font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.crumbs li:not(:last-child)::after{content:"/";margin-left:.4rem;color:var(--line-2)}
.crumbs a{color:var(--paper-dim);transition:color .3s}
.crumbs a:hover{color:var(--brass)}

.sec__title--sm{font-size:clamp(1.8rem,4vw,3rem);margin-bottom:1.6rem}

.gal{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--gap)}
.gal__item{margin:0;overflow:hidden;background:var(--ink-3)}
.gal__item img{width:100%;height:100%;object-fit:cover}
.gal__item--full{grid-column:span 12}
.gal__item--half{grid-column:span 6}
.gal__item--third{grid-column:span 4}
.gal__item--off{grid-column:3 / span 8}

.prose{padding-block:clamp(3.5rem,8vw,6rem);max-width:calc(820px + var(--pad) * 2);margin-inline:0}
.prose p{color:var(--paper-dim);font-size:clamp(1rem,1.2vw,1.1rem);line-height:1.75;margin-top:1.1rem;max-width:68ch}
.prose__links{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:2rem!important}
.prose__links a{
  font-family:var(--f-mono);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;
  border:1px solid var(--line-2);border-radius:999px;padding:.6em 1.1em;color:var(--paper);transition:background .3s,color .3s;
}
.prose__links a:hover{background:var(--paper);color:var(--ink)}

.page__more{padding-block:clamp(2.5rem,6vw,4.5rem);border-top:1px solid var(--line)}
.rel{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:clamp(1.5rem,3vw,2.5rem) var(--gap)}
.rel__card{display:flex;flex-direction:column}
.rel__media{display:block;aspect-ratio:4/3;overflow:hidden;background:var(--ink-3);margin-bottom:1rem}
.rel__media img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);transition:filter .8s var(--ease),transform 1.2s var(--ease)}
.rel__card:hover .rel__media img{filter:grayscale(0);transform:scale(1.05)}
.rel__meta{font-family:var(--f-mono);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);display:flex;gap:.7rem;border-bottom:1px solid var(--line);padding-bottom:.6rem;margin-bottom:.7rem}
.rel__meta i{font-style:normal;color:var(--brass)}
.rel__title{font-family:var(--f-display);font-size:clamp(1.4rem,2.2vw,1.9rem);line-height:1.1}

.page__next{padding-block:clamp(2.5rem,6vw,4rem)}
.page__next a{display:flex;flex-direction:column;gap:.5rem;border-top:1px solid var(--line-2);padding-top:1.5rem;transition:padding-left .5s var(--ease)}
.page__next a:hover{padding-left:1rem}
.page__next span{font-family:var(--f-mono);font-size:.64rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.page__next b{font-family:var(--f-display);font-weight:300;font-size:clamp(1.8rem,5vw,3.4rem);line-height:1}
.page__next a:hover b{color:var(--brass)}

.svc{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--gap)}
.svc a{display:flex;flex-direction:column;gap:.6rem;border-top:1px solid var(--line-2);padding-top:1.2rem;transition:padding-left .4s var(--ease)}
.svc a:hover{padding-left:.5rem}
.svc b{font-family:var(--f-display);font-weight:400;font-size:1.5rem}
.svc span{color:var(--paper-dim);font-size:.95rem}
.svc-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:1rem;margin-top:2.2rem}
.svc-steps li{border-top:1px solid var(--line-2);padding-top:.9rem;font-family:var(--f-display);font-size:1.2rem;display:flex;flex-direction:column;gap:.3rem}
.svc-steps i{font-style:normal;font-family:var(--f-mono);font-size:.64rem;letter-spacing:.2em;color:var(--brass)}

.faq{padding-block:clamp(3rem,7vw,5rem);border-top:1px solid var(--line)}
.faq__item{border-bottom:1px solid var(--line);max-width:900px}
.faq__item summary{cursor:pointer;list-style:none;padding:1.2rem 2.5rem 1.2rem 0;position:relative;font-family:var(--f-display);font-size:clamp(1.2rem,2vw,1.5rem)}
.faq__item summary::-webkit-details-marker{display:none}
.faq__item summary::after{content:"+";position:absolute;right:0;top:1.1rem;font-family:var(--f-mono);color:var(--brass);transition:transform .3s}
.faq__item[open] summary::after{transform:rotate(45deg)}
.faq__item p{color:var(--paper-dim);padding-bottom:1.3rem;max-width:70ch}

.band{position:relative;padding-block:clamp(4.5rem,11vh,8rem);border-top:1px solid var(--line);
  background:radial-gradient(90% 70% at 50% 0%,rgba(var(--brass-rgb),.12),transparent 62%),linear-gradient(180deg,var(--ink-3),var(--ink))}
.band__title{font-family:var(--f-display);font-weight:300;line-height:.98;letter-spacing:-.02em;font-size:clamp(2.4rem,7vw,6rem)}
.band__lede{margin-top:1.3rem;max-width:52ch;color:var(--paper-dim)}
.band__lede strong{color:var(--paper);font-weight:400}
.band__actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2rem}

.foot__lab{font-family:var(--f-mono);font-size:.6rem;letter-spacing:.22em;text-transform:uppercase;color:var(--brass);font-weight:400;margin-bottom:.3rem}
.foot__bar a{color:inherit}

/* sur les sous-pages, le curseur natif reste visible */
.sub,.sub *{cursor:auto}
.sub a,.sub button,.sub summary{cursor:pointer}

@media (max-width:1100px){
  .sub .head__cta{display:inline-flex}
}
@media (max-width:860px){
  .gal{grid-template-columns:1fr;gap:1rem}
  .gal__item--full,.gal__item--half,.gal__item--third,.gal__item--off{grid-column:1 / -1}
  .sub .head{gap:1rem}
  .sub .head__full{display:none}
}
