/* =========================================================================
   Accueil (/) — styles propres à la page. Aucun nouveau composant partagé :
   uniquement la mise en page des blocs de l'accueil (galerie Concepts, villes, prix, questions).
   Règles : aucun arrondi, aucune ombre, citron rare, mouvement horizontal sans fondu ni zoom.
   ========================================================================= */

/* ---------- Métiers : ligne 05 sous les cartes ---------- */
.home-suivi { margin-top: clamp(28px, 1rem + 1.5vw, 40px); }

/* ---------- Concepts (nuit) : galerie 2fr / 1fr / 1fr, cadres de 420 px + légende ---------- */
.home-concepts { padding-top: clamp(40px, 1.5rem + 3vw, 80px); }
.home-gallery { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: var(--g); align-items: start; }
.home-gallery__item { min-width: 0; }
.home-gallery__item > .frame { height: 420px; aspect-ratio: auto; }
.home-gallery__text { margin-top: 16px; max-width: 34em; font-size: var(--fs-small); line-height: 1.45; color: var(--cendre); }

/* Cellule ALBA : trois écrans du concept (captures réelles de la maquette), sans faux téléphone */
.home-alba .frame__cut { background: var(--encre-relevee); }
.home-alba__screens {
  position: absolute; inset: 0; display: flex; justify-content: center; align-items: flex-start; gap: clamp(12px, 1.4vw, 22px);
  padding: 28px 20px 0;
}
.home-alba__screen {
  position: relative; flex: none; height: calc(100% - 96px); aspect-ratio: 1170 / 2532; overflow: hidden;
  background: var(--papier); box-shadow: 0 0 0 1px var(--filet-encre);
}
.home-alba__screen--up { margin-top: -12px; }
.home-alba__screen > picture, .home-alba__screen > img { position: absolute; inset: 0; width: 100%; height: 100%; }
.home-alba__screen img { width: 100%; height: 100%; object-fit: cover; object-position: var(--pos, 50% 0%); }

.home-concepts__foot {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px 32px;
  margin-top: clamp(28px, 1rem + 1.5vw, 44px); padding-top: 22px; border-top: 1px solid var(--filet-encre);
}
.home-concepts__note { font-size: 0.9375rem; color: var(--cendre); }

@media (max-width: 1100px) {
  .home-gallery { grid-template-columns: 1fr 1fr; }
  .home-gallery__item--wide { grid-column: 1 / -1; }
  .home-gallery__item > .frame { height: 340px; }
  .home-gallery__item--wide > .frame { height: 420px; }
}
@media (max-width: 600px) {
  .home-gallery { grid-template-columns: 1fr; row-gap: 32px; }
  .home-gallery__item > .frame { height: 260px; }
  .home-gallery__item--wide > .frame { height: 400px; }
  .home-alba__screens { padding: 22px 14px 0; gap: 10px; }
  .home-alba__screen { height: calc(100% - 92px); }
  .home-concepts__foot { flex-direction: column; align-items: flex-start; }
}

/* ---------- Méthode : filet de séparation avec Concepts (deux sections encre qui se suivent) ---------- */
.home-concepts + .hscroll .hscroll__stage > .wrap:first-child { padding-top: 0; }

/* ---------- Villes (nuit) : texte à gauche, carte réelle à droite ---------- */
.home-villes { border-top: 1px solid var(--filet-encre); }
.home-villes__grid {
  display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 40px clamp(32px, 4vw, 72px); align-items: center;
}
.home-villes__text .h2 { margin-top: 16px; max-width: 11em; }
.home-villes__lead { margin-top: 22px; max-width: 32em; font-size: var(--fs-body); line-height: 1.5; color: var(--cendre); }
.home-villes__list { margin-top: 28px; }
.home-villes__list > li { display: grid; grid-template-columns: 8.5rem minmax(0, 1fr); gap: 4px 16px; align-items: baseline; font-weight: 600; }
.home-villes__list .ruled__k { margin: 0; color: var(--cendre); }
.home-villes__map { justify-self: center; width: 100%; max-width: 640px; }
@media (max-width: 900px) {
  .home-villes__grid { grid-template-columns: 1fr; }
  .home-villes__map { justify-self: start; }
}
@media (max-width: 600px) {
  .home-villes__list > li { grid-template-columns: 1fr; }
}

/* ---------- Formules (aperçu) : sur devis + une seule offre chiffrée ---------- */
.home-prices .price-card { min-height: 100%; }
.home-prices .price-card__name { margin-top: -4px; }
.home-prices__link { margin-top: auto; align-self: flex-start; }
.home-prices__note { margin-top: 22px; max-width: 64em; }

/* ---------- Questions + Nos règles ---------- */
.home-questions__title { margin-top: 16px; }
.home-questions__faq { margin-top: clamp(24px, 1rem + 1.2vw, 40px); }
@media (max-width: 899px) {
  .home-questions .rules { margin-top: 16px; }
}
