/* ============================================================
   neuroTactic — CSS Page Accueil
============================================================ */

/* Hero */
.nt-hero {
  min-height: 100vh;
  display: flex; align-items: center;
  position: relative; overflow: hidden;
  padding-top: 72px; /* hauteur header */
}
.nt-hero__inner { position: relative; z-index: 1; }
.nt-hero__title {
  font-size: clamp(42px, 6vw, 80px);
  font-weight: 700; line-height: 1.06;
  letter-spacing: -.025em; margin: 20px 0 24px;
}
.nt-hero__sub {
  font-size: clamp(16px, 2vw, 19px);
  color: var(--nt-grey-300); max-width: 540px; line-height: 1.75;
  margin-bottom: 40px;
}
.nt-hero__cta { display: flex; gap: 16px; flex-wrap: wrap; }

/* Problème / Solution */
.nt-pb-sol {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 48px; align-items: center;
}
.nt-pb-sol__arrow {
  font-size: 48px; color: var(--nt-azur); opacity: 0.4;
  text-align: center;
}
@media (max-width: 768px) {
  .nt-pb-sol { grid-template-columns: 1fr; }
  .nt-pb-sol__arrow { display: none; }
}

/* Stats */
.nt-stats-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}
@media (max-width: 900px) { .nt-stats-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px) { .nt-stats-grid { grid-template-columns: 1fr; } }

/* Process */
.nt-process-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}
@media (max-width: 768px) { .nt-process-grid { grid-template-columns: 1fr; } }

/* Services */
.nt-svc-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}
@media (max-width: 768px) { .nt-svc-grid { grid-template-columns: 1fr; } }

/* Blog */
.nt-blog-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
@media (max-width: 900px) { .nt-blog-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 580px) { .nt-blog-grid { grid-template-columns: 1fr; } }

/* Image placeholder */
.nt-article__img-placeholder {
  width: 100%; height: 100%;
  display: flex; align-items: center; justify-content: center;
  font-size: 48px; background: var(--nt-dark-3);
  color: rgba(255,255,255,0.2);
}

/* CTA final */
.nt-cta-final {
  position: relative; overflow: hidden;
  background: var(--nt-dark-1);
  border-top: var(--nt-border); border-bottom: var(--nt-border);
}
.nt-cta-final__inner {
  display: flex; flex-direction: column; align-items: center;
  position: relative; z-index: 1;
}

/* Animation hero — JS initialise les éléments à 0 */
#hero-eyebrow,
.nt-hero__line1,
.nt-hero__line2,
#hero-sub,
#hero-cta > * {
  will-change: transform, opacity;
}
