/* ============================================================================
   LANDING — « Architecture Nectar, énergie DOPR » (DS §05).

   Assemblée uniquement avec la bibliothèque : `.carte`, `.chip`, `.btn`,
   `.liste-coches`, `.etape`, `.accordeon`, `.carte-tarif`, `.carte-temoin`.
   Ce fichier ne contient que la **mise en page** — aucun composant nouveau,
   aucun hexadécimal.
   ========================================================================== */

/* La landing sort du padding de la coquille : elle a sa propre respiration. */
.land {
  margin: calc(-1 * var(--ds-sp-4));
}

.land__nav {
  position: sticky;
  top: 0;
  z-index: 5;
  display: flex;
  align-items: center;
  gap: var(--ds-sp-4);
  padding: calc(var(--ds-safe-top) + var(--ds-sp-3)) var(--ds-sp-4) var(--ds-sp-3);
  background: color-mix(in srgb, var(--ds-bg) 90%, transparent);
  backdrop-filter: blur(8px);
  border-bottom: 1px solid var(--ds-border);
}
.land__marque {
  font: 800 var(--ds-fs-lg) var(--ds-font-display);
  letter-spacing: -0.02em;
}
.land__nav nav {
  display: none;
  gap: var(--ds-sp-4);
}
.land__nav nav a {
  text-decoration: none;
  color: var(--ds-text-2);
  font-weight: 600;
  font-size: var(--ds-fs-sm);
}
.land__nav .btn {
  margin-left: auto;
}
@media (min-width: 640px) {
  .land__nav nav {
    display: flex;
  }
}

.land__section {
  padding: var(--ds-sp-7) var(--ds-sp-4);
  max-width: 960px;
  margin: 0 auto;
}
.land__eyebrow {
  font: 700 var(--ds-fs-xs) var(--ds-font-mono);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ds-accent-texte);
}
.land__h2 {
  font: 800 clamp(1.7rem, 5vw, 2.4rem) / 1.12 var(--ds-font-display);
  letter-spacing: -0.02em;
  margin: var(--ds-sp-2) 0 var(--ds-sp-3);
}
.land__texte {
  color: var(--ds-text-2);
  max-width: 56ch;
}

.hero {
  text-align: center;
  padding-top: var(--ds-sp-8);
}
.hero h1 {
  font: 800 clamp(2.6rem, 9vw, 4.6rem) / 1.02 var(--ds-font-display);
  letter-spacing: -0.03em;
  margin: var(--ds-sp-4) 0;
}
.hero h1 em {
  font-style: normal;
  color: var(--ds-accent-texte);
}
.hero__sous {
  color: var(--ds-text-2);
  font-size: var(--ds-fs-lg);
  max-width: 44ch;
  margin: 0 auto var(--ds-sp-5);
}
.hero__cta {
  display: flex;
  gap: var(--ds-sp-3);
  justify-content: center;
  flex-wrap: wrap;
}
.hero__micro {
  display: flex;
  gap: var(--ds-sp-3);
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  margin-top: var(--ds-sp-4);
  font-size: var(--ds-fs-xs);
  color: var(--ds-text-3);
}
.hero__micro span {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.hero__micro .ico {
  width: 14px;
  height: 14px;
}

.bento {
  display: grid;
  gap: var(--ds-sp-4);
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  margin-top: var(--ds-sp-6);
  text-align: left;
  align-items: stretch;
}
.bento .carte {
  display: grid;
  gap: var(--ds-sp-3);
  align-content: center;
  justify-items: center;
}
.bento__compteur .compteur-reps__nombre {
  font-size: 4.2rem;
}

.avant-apres,
.grille-2 {
  display: grid;
  gap: var(--ds-sp-4);
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  margin-top: var(--ds-sp-5);
}
.grille-3 {
  display: grid;
  gap: var(--ds-sp-4);
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  margin-top: var(--ds-sp-5);
}
.grille-etapes {
  display: grid;
  gap: var(--ds-sp-5);
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  margin-top: var(--ds-sp-5);
}

.simulateur {
  display: grid;
  gap: var(--ds-sp-5);
  margin-top: var(--ds-sp-5);
}
.simulateur__sorties {
  display: grid;
  gap: var(--ds-sp-4);
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
}

.land__final {
  text-align: center;
}
.land__final .hero__cta {
  margin-top: var(--ds-sp-5);
}
.land__footer {
  border-top: 1px solid var(--ds-border);
  padding: var(--ds-sp-5) var(--ds-sp-4) calc(var(--ds-sp-6) + var(--ds-safe-bottom));
  text-align: center;
  color: var(--ds-text-3);
  font-size: var(--ds-fs-xs);
}

/* Bandeau « navigateur intégré TikTok » — la caméra y est bridée. */
.webview {
  display: none;
  align-items: center;
  gap: var(--ds-sp-3);
  padding: var(--ds-sp-3) var(--ds-sp-4);
  background: var(--ds-energy-soft);
  color: var(--ds-energy);
  font-size: var(--ds-fs-sm);
  font-weight: 600;
}
.webview[data-actif="true"] {
  display: flex;
}
.webview .btn {
  margin-left: auto;
  flex: none;
}
