/* ========== ORIGAMI BACKGROUND SHAPES ========== */
.origami-bg {
  position: absolute;
  inset: 0;
  pointer-events: none;
  overflow: hidden;
  z-index: 0;
}
.origami-bg > * { position: absolute; }

.origami-shape {
  filter: drop-shadow(0 8px 16px rgba(30, 33, 70, 0.08));
  opacity: 0.85;
}

/* Triangle pliage subtil */
.fold-triangle {
  width: 280px;
  height: 280px;
  background: linear-gradient(60deg, var(--nova-pink) 49.9%, var(--nova-purple) 50%);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  opacity: 0.55;
}

.fold-diamond {
  width: 220px;
  height: 220px;
  background: linear-gradient(135deg, var(--nova-blue) 49.9%, var(--cosmo-blue) 50%);
  clip-path: polygon(50% 0, 100% 50%, 50% 100%, 0 50%);
  opacity: 0.6;
}

.fold-hex {
  width: 240px;
  height: 208px;
  background: linear-gradient(120deg, var(--cyber-purple) 49.9%, var(--nova-pink) 50%);
  clip-path: polygon(25% 0, 75% 0, 100% 50%, 75% 100%, 25% 100%, 0 50%);
  opacity: 0.5;
}

.fold-arrow {
  width: 180px;
  height: 240px;
  background: linear-gradient(160deg, var(--nova-purple) 49.9%, #8e87bf 50%);
  clip-path: polygon(0 0, 100% 50%, 0 100%, 25% 50%);
  opacity: 0.4;
}

/* Section avec fond pastel */
.section--soft {
  background: linear-gradient(180deg, transparent 0%, rgba(255, 255, 255, 0.6) 30%, rgba(255, 255, 255, 0.6) 70%, transparent 100%);
}
.section--pastel-blue {
  background: linear-gradient(180deg, transparent, rgba(213, 236, 244, 0.55), transparent);
}
.section--pastel-pink {
  background: linear-gradient(180deg, transparent, rgba(242, 225, 240, 0.6), transparent);
}
.section--lunar {
  background: var(--lunar-blue-deep);
  color: rgba(255, 255, 255, 0.9);
}
.section--lunar h1, .section--lunar h2, .section--lunar h3 { color: #fff; }
.section--lunar .lead { color: rgba(255, 255, 255, 0.78); }

/* Bandeau dégradé NOVA SUNSET pour CTA */
.sunset-band {
  position: relative;
  padding: clamp(48px, 7vw, 80px) 0;
  background: var(--nova-sunset);
  color: var(--lunar-blue-deep);
  overflow: hidden;
}
.sunset-band::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(115deg, transparent 0%, transparent 32%, rgba(255, 255, 255, 0.18) 33%, transparent 34%),
    linear-gradient(60deg, transparent 0%, transparent 65%, rgba(30, 33, 70, 0.06) 66%, transparent 67%);
  pointer-events: none;
}
.sunset-band h2 { color: var(--lunar-blue-deep); }
.sunset-band .lead { color: rgba(30, 33, 70, 0.8); }

/* Page hero header (page de section) */
.page-hero {
  position: relative;
  padding: clamp(80px, 10vw, 130px) 0 clamp(50px, 6vw, 80px);
  text-align: center;
  overflow: hidden;
}
.page-hero h1 { margin-bottom: 18px; }

/* Décorations origami absolutes utilitaires */
.origami-deco {
  position: absolute;
  z-index: 0;
  pointer-events: none;
}
.origami-deco--top-right { top: 8%; right: 4%; }
.origami-deco--bot-left { bottom: -40px; left: -40px; }
.origami-deco--top-left { top: -30px; left: -30px; }
.origami-deco--mid-right { top: 40%; right: -60px; }

/* Fold lines pour ajouter une arête de pliage subtile sur un bloc */
.has-fold-lines {
  position: relative;
}
.has-fold-lines::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(135deg, transparent 49.5%, rgba(255, 255, 255, 0.5) 50%, transparent 50.5%);
  pointer-events: none;
  mix-blend-mode: overlay;
}
