/* ==========================================================================
   NOVAPARADIS — PAGE D'ACCUEIL
   ========================================================================== */

/* --------------------------------------------------------------------------
   HERO
-------------------------------------------------------------------------- */
.np-hero{
  position:relative;
  min-height:min(82vh, 680px);
  display:flex;
  align-items:center;
  overflow:hidden;
  border-bottom:1px solid var(--np-border);
}

.np-hero__bg{
  position:absolute;
  inset:0;
  background:
    radial-gradient(ellipse 60% 50% at 22% 22%, rgba(201,162,39,.10), transparent 60%),
    radial-gradient(ellipse 50% 50% at 80% 72%, rgba(139,92,246,.08), transparent 60%),
    var(--np-bg);
  z-index:0;
}
.np-hero__bg::before{
  content:'';
  position:absolute;
  inset:0;
  background-image:
    radial-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
    linear-gradient(rgba(255,255,255,.02) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.02) 1px, transparent 1px);
  background-size:8px 8px, 58px 58px, 58px 58px;
  mask-image:radial-gradient(ellipse 80% 70% at 50% 42%, black, transparent 76%);
  -webkit-mask-image:radial-gradient(ellipse 80% 70% at 50% 42%, black, transparent 76%);
  animation:npGridDrift 34s linear infinite;
}
@keyframes npGridDrift{
  from{ background-position:0 0, 0 0, 0 0; }
  to{ background-position:8px 8px, 58px 58px, 58px 58px; }
}

.np-hero__inner{
  position:relative;
  z-index:1;
  text-align:center;
  padding:80px 24px;
}

.np-hero__label{
  display:inline-block;
  padding:7px 20px;
  border:1px solid rgba(201,162,39,.35);
  border-radius:40px;
  background:rgba(201,162,39,.06);
  color:var(--np-accent);
  font-size:.7rem;
  letter-spacing:3.4px;
  text-transform:uppercase;
  font-weight:600;
  margin-bottom:26px;
  animation:npFadeUp .8s var(--np-ease) backwards;
}

.np-hero__title{
  font-size:clamp(2.1rem, 6vw, 4rem);
  line-height:1.12;
  margin-bottom:22px;
  background:linear-gradient(180deg, var(--np-text) 35%, rgba(233,233,242,.62));
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  animation:npFadeUp .8s var(--np-ease) .1s backwards;
}

.np-hero__text{
  color:var(--np-text-muted);
  font-size:1.05rem;
  line-height:1.8;
  max-width:520px;
  margin:0 auto 38px;
  animation:npFadeUp .8s var(--np-ease) .2s backwards;
}

.np-hero__actions{
  display:flex;
  gap:14px;
  justify-content:center;
  flex-wrap:wrap;
  animation:npFadeUp .8s var(--np-ease) .3s backwards;
}


/* --------------------------------------------------------------------------
   ARGUMENTS
-------------------------------------------------------------------------- */
.np-advantages{
  border-top:1px solid var(--np-border);
  border-bottom:1px solid var(--np-border);
  background:var(--np-bg-soft);
}
.np-advantages__grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:20px;
}
@media (max-width:900px){ .np-advantages__grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:520px){ .np-advantages__grid{ grid-template-columns:1fr; } }

.np-advantage{
  text-align:center;
  padding:22px 16px;
}
.np-advantage__icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:52px; height:52px;
  margin-bottom:14px;
  border:1px solid var(--np-border);
  border-radius:50%;
  color:var(--np-accent);
  transition:border-color var(--np-speed) var(--np-ease),
             box-shadow var(--np-speed) var(--np-ease),
             transform var(--np-speed) var(--np-ease);
}
.np-advantage:hover .np-advantage__icon{
  border-color:var(--np-accent);
  box-shadow:0 0 22px var(--np-accent-glow);
  transform:translateY(-3px);
}
.np-advantage h3{
  font-size:1rem;
  margin-bottom:6px;
}
.np-advantage p{
  color:var(--np-text-dim);
  font-size:.86rem;
  line-height:1.6;
  margin:0;
}


/* --------------------------------------------------------------------------
   LA MARQUE
-------------------------------------------------------------------------- */
.np-brand{
  position:relative;
  padding:92px 0;
  overflow:hidden;
  border-top:1px solid var(--np-border);
  background:
    radial-gradient(ellipse 55% 70% at 50% 0%, rgba(201,162,39,.06), transparent 68%),
    var(--np-bg);
}

.np-brand__inner{
  text-align:center;
  position:relative;
  z-index:2;
}

.np-brand h2{
  font-size:clamp(1.7rem, 3.8vw, 2.5rem);
  margin-bottom:24px;
}

.np-brand p{
  color:var(--np-text-muted);
  font-size:1rem;
  line-height:1.9;
  max-width:600px;
  margin:0 auto 1.4em;
}

.np-brand__actions{
  display:flex;
  gap:14px;
  justify-content:center;
  flex-wrap:wrap;
  margin-top:34px;
}

@media (max-width:600px){
  .np-brand{ padding:64px 0; }
  .np-hero__inner{ padding:60px 20px; }
  .np-hero{ min-height:auto; }
}
/* Mots-clés mis en valeur dans la section marque */
.np-brand p strong{
  color:var(--np-warm-soft);
  font-weight:600;
}
