/* ============================================
   COPSOS — Depth & World System
   Abstract · editorial · cinematic
   Not a cave. Not a tunnel. A coherent space.
   ============================================ */

/* —— Layer primitives —— */
.page-home .depth-bg,
.page-home .depth-atmosphere,
.page-home .depth-media,
.page-home .depth-content,
.page-home .depth-foreground {
  position: relative;
}

.page-home .depth-bg { z-index: var(--z-background); }
.page-home .depth-atmosphere {
  z-index: var(--z-atmosphere);
  pointer-events: none;
}
.page-home .depth-media { z-index: var(--z-media); }
.page-home .depth-content { z-index: var(--z-content); }
.page-home .depth-foreground,
.page-home .depth-decor {
  z-index: var(--z-decor);
  pointer-events: none;
}

/* —— Atmosphere presets —— */
.atmosphere--quiet::before,
.atmosphere--tension::before,
.atmosphere--live::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: var(--z-atmosphere);
  pointer-events: none;
}

.atmosphere--quiet::before {
  background:
    radial-gradient(ellipse 70% 45% at 50% 0%, rgba(255, 255, 255, 0.02), transparent 55%);
  opacity: 0.7;
}

.atmosphere--tension::before {
  background:
    radial-gradient(ellipse 55% 40% at 18% 30%, var(--red-falloff), transparent 60%),
    radial-gradient(ellipse 50% 35% at 80% 70%, rgba(0, 0, 0, 0.35), transparent 55%);
  opacity: 0.85;
}

.atmosphere--live::before {
  background:
    radial-gradient(ellipse 60% 50% at 70% 40%, rgba(94, 9, 12, 0.28), transparent 58%),
    radial-gradient(ellipse 40% 30% at 25% 75%, var(--red-glow), transparent 50%);
  opacity: calc(0.55 + var(--energy-glow, 0.3) * 0.35);
}

/* —— Red depth helpers —— */
.red-core {
  background: var(--red-core);
  box-shadow:
    0 0 0 1px rgba(255, 43, 43, 0.35),
    0 0 12px rgba(255, 43, 43, 0.35);
}

.red-glow {
  box-shadow:
    0 0 24px var(--red-glow),
    0 0 48px var(--red-falloff);
}

.red-falloff {
  background: var(--red-falloff);
}

/* —— WORLD JOURNEY —— */

/* HERO = SURFACE — dense, closed, mineral */
.page-home .hero[data-world="surface"] {
  --energy-red: 0.28;
  isolation: isolate;
}

.page-home .hero[data-world="surface"] .hero__layer--matter {
  filter: contrast(1.08) brightness(0.92);
}

/* Texture forte uniquement en mode placeholder — pas au-dessus du média CMS */
.page-home .hero[data-world="surface"]:not([data-hero-mode="image"]):not([data-hero-mode="video"]) .hero__layer--texture {
  opacity: 0.85;
}

.page-home .hero[data-world="surface"] .hero__stage {
  z-index: var(--z-content);
}

/* ARTIST = DISCOVERY — layout/typography owned by pages/home/artist.css only */

/* LIVE = ENERGY — compact trio (layout owned by live.css) */
.page-home #experience-live[data-world="energy"] {
  padding-block: 2rem;
  background:
    radial-gradient(ellipse 55% 45% at 78% 35%, rgba(94, 9, 12, calc(0.12 + var(--energy-red) * 0.12)), transparent 58%),
    linear-gradient(180deg, #09090b 0%, #0c0809 55%, #070707 100%);
  border-block: 0;
  box-shadow: none;
}

.page-home #experience-live[data-world="energy"] .live-home-grid__frame {
  box-shadow:
    0 0 0 1px rgba(255, 43, 43, 0.06),
    0 12px 28px rgba(0, 0, 0, 0.4);
}

.page-home #experience-live[data-world="energy"] .live-home-grid__veil {
  background:
    linear-gradient(to top, rgba(5, 5, 5, 0.4) 0%, transparent 50%),
    radial-gradient(ellipse at 50% 100%, rgba(94, 9, 12, 0.08), transparent 55%);
}

/* LIVE EXIT → breath / music cool-down */
.page-home .media-breath[data-world="release"],
.page-home #music[data-world="control"] {
  --energy-red: 0.18;
  --energy-glow: 0.06;
  --energy-motion: 0.75;
}

.page-home .media-breath[data-world="release"] {
  background: var(--surface-void);
  box-shadow: inset 0 40px 60px rgba(0, 0, 0, 0.55);
}

.page-home .media-breath[data-world="release"] .media-breath__frame {
  max-height: min(48vh, 28rem);
  opacity: 0.92;
  filter: brightness(0.9) contrast(0.98);
}

/* MUSIC = CONTROLLED ENERGY */
.page-home #music[data-world="control"] {
  padding-block: clamp(4.5rem, 12vw, 8rem);
  background:
    radial-gradient(ellipse 50% 40% at 20% 30%, var(--blue-falloff), transparent 55%),
    linear-gradient(180deg, var(--surface-void) 0%, var(--surface-obsidian) 100%);
  border-block: 0;
}

.page-home #music[data-world="control"] .music-feature__art {
  box-shadow:
    0 18px 40px rgba(0, 0, 0, 0.45),
    0 0 0 1px rgba(247, 247, 247, 0.06);
  transform: translateZ(0);
}

.page-home #music[data-world="control"] .music-feature__art::before {
  box-shadow: 0 0 16px var(--red-falloff);
}

/* SHOWS = REAL WORLD — clearer information */
.page-home #shows[data-world="reality"] {
  padding-block: clamp(3.75rem, 10vw, 6.5rem);
  background:
    linear-gradient(180deg, var(--surface-elevated) 0%, var(--surface-basalt) 100%);
  border-block: 0;
}

.page-home #shows[data-world="reality"] .section-header__text {
  color: var(--color-titanium);
}

.page-home #shows[data-world="reality"] .show-row__title {
  letter-spacing: -0.015em;
}

/* GALLERY = MEMORY — compact featured trio */
.page-home #gallery[data-world="memory"] {
  padding-block: clamp(2.25rem, 4.5vw, 3.5rem);
  background:
    radial-gradient(ellipse 45% 35% at 80% 20%, var(--blue-falloff), transparent 50%),
    linear-gradient(180deg, var(--surface-breath) 0%, var(--surface-void) 100%);
  border-block: 0;
}

.page-home #gallery[data-world="memory"] .gallery-home-grid__frame {
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.24);
}

/* PRESS = PROFESSIONAL LAYER — clarity */
.page-home #press[data-world="professional"] {
  padding-block: clamp(3.5rem, 9vw, 6rem);
  background: var(--surface-professional);
  border-block: 0;
  box-shadow: none;
}

.page-home #press[data-world="professional"]::before {
  opacity: 0.15;
}

.page-home #press[data-world="professional"] .section-header__title {
  letter-spacing: -0.02em;
  max-width: 16ch;
}

/* BOOKING = EXIT — return to surface with understanding */
.page-home .booking-cta[data-world="exit"] {
  padding-block: clamp(6rem, 16vw, 11rem);
  background:
    radial-gradient(ellipse 42% 55% at 12% 48%, rgba(94, 9, 12, 0.22), transparent 58%),
    linear-gradient(180deg, #080808 0%, var(--surface-void) 45%, #050505 100%);
  box-shadow: inset 0 80px 100px rgba(0, 0, 0, 0.25);
}

.page-home .booking-cta[data-world="exit"] .booking-cta__fracture {
  opacity: 0.65;
  filter: drop-shadow(0 10px 20px rgba(94, 9, 12, 0.25));
}

/* —— Edge treatments (not all hard horizontal rules) —— */
.page-home #experience-live[data-world="energy"],
.page-home #music[data-world="control"],
.page-home #gallery[data-world="memory"] {
  border-block: 0;
}

.page-home #experience-live[data-world="energy"] {
  margin-top: clamp(-1rem, -2vw, 0);
}

.page-home #music[data-world="control"] {
  margin-top: 0;
}

/* —— Typographic depth (selective) —— */
.page-home #music[data-world="control"] .copsos-mark,
.page-home #gallery[data-world="memory"] .copsos-mark {
  z-index: var(--z-decor);
  mix-blend-mode: soft-light;
}

.page-home #music[data-world="control"] .copsos-mark {
  color: transparent;
  -webkit-text-stroke: 1px rgba(59, 130, 246, 0.08);
}

/* —— Subtle parallax targets —— */
.page-home [data-depth-parallax] {
  will-change: transform;
  transform: translate3d(0, calc(var(--parallax-y, 0) * 1px), 0);
  transition: transform 80ms linear;
}

@media (prefers-reduced-motion: reduce) {
  .page-home [data-depth-parallax] {
    transform: none !important;
    transition: none;
  }

  .atmosphere--quiet::before,
  .atmosphere--tension::before,
  .atmosphere--live::before {
    opacity: 0.35;
  }
}

/* —— Mobile depth: fewer layers —— */
@media (max-width: 767px) {
  .atmosphere--quiet::before,
  .atmosphere--tension::before,
  .atmosphere--live::before {
    opacity: 0.35;
  }

  .page-home [data-depth-parallax] {
    transform: none !important;
  }

  .page-home #gallery[data-world="memory"] {
    padding-block: clamp(2rem, 5vw, 3rem);
  }

  .page-home .booking-cta[data-world="exit"] {
    padding-block: clamp(4.5rem, 16vw, 7rem);
  }

  .page-home #music[data-world="control"] .copsos-mark,
  .page-home #gallery[data-world="memory"] .copsos-mark {
    display: none;
  }
}
