:root {
  --scene-h: 265vh;
  --content-max: 1100px;
  --bg: #0b1220;
}

* {
  box-sizing: border-box
}

html,
body {
  height: 100%
}

body {
  margin: 0;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, "Helvetica Neue", Arial, "Noto Sans", "Apple Color Emoji", "Segoe UI Emoji";
  background: var(--bg);
  color: #e9edf3;
  line-height: 1.55;
}

/* SECTION PARALLAXE */
.scene {
  position: relative;
  overflow: visible;
  background: #09101b;
  isolation: isolate;
  display: block;
}

.layer {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  pointer-events: none;
  will-change: transform;
  transform: translate3d(0, 0, 0);
}

.layer>img {
  width: 100%;
  height: auto;
  object-fit: contain;
  object-position: center top;
  image-rendering: auto;
  filter: none;
}

.section1-image {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
  object-position: top center;
}

/* Contenu de la Section 1 */
.section1-content {
  position: absolute;
  top: 65%;
  left: 70%;
  transform: translate(-50%, -50%);
  z-index: 5;
  text-align: center;
  pointer-events: auto;
  width: 90%;
  max-width: 40%;
}

.section1-title {
  font-size: clamp(2rem, 4vw, 4rem);
  font-weight: 700;
  color: #e9edf3;
  margin: 0 0 1rem 0;
  text-shadow: 0 4px 12px rgba(0, 0, 0, 0.7);
  letter-spacing: 0.5px;
}

.section1-text {
  transform: translate(0px, 175px);
  font-size: 24px;
  color: #121213;
  margin: 0;
  line-height: 1.6;
  opacity: 0.95;
}

.section1-frame {
  position: absolute;
  top: 100%;
  left: 50%;
  width: 110%;
  height: auto;
  max-width: 160%;
  transform: translate(-50%, -50%);
  pointer-events: none;
  /* filter: drop-shadow(0 8px 24px rgba(0, 0, 0, .6)); */
}

.small_logo_colored {
    position: absolute;
    transform: translate(10px, 10px);
    width: 18%;
    height: auto;
    top: 10%;
    left: 57%;                
}

/* Contenu par-dessus si besoin */
.hero-content {
  position: absolute;
  inset: 0;
  z-index: 10;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 1.5rem;
  padding-top: clamp(2rem, 7vh, 7rem);
  text-align: center;
  pointer-events: none;
  will-change: transform;
  transform: translate3d(0, 0, 0);
}

.logo {
  max-width: clamp(200px, 25vw, 300px);
  height: auto;
  filter: drop-shadow(0 8px 24px rgba(0, 0, 0, .6));
  margin: 0;
}

@media (min-width: 480px) and (max-width: 890px) {
    .logo {
        max-width: clamp(150px, 40vw, 250px);
    }
    }

.coming-soon {
  margin: -25px;
  font-size: clamp(1.5rem, 3vw, 2.5rem);
  font-weight: 600;
  letter-spacing: 0.5px;
  text-shadow: 0 16px 48px rgba(0, 0, 0, .55);
}

.subtitle {
  margin: 1rem;
  opacity: .9;
  max-width: 72ch;
  text-shadow: 0 16px 48px rgba(0, 0, 0, .55);
}

/* Section 2 - sans parallaxe */
.section2-container {
  position: relative;
  width: 100%;
  background: var(--bg);
  margin-top: -1px;
  padding-top: 0;
}

.section2-image {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
  margin-top: 0;
}

/* Sections de contenu pour scroller */
section.content {
  padding: 6rem 1.25rem;
  background: linear-gradient(#0b1220, #0f1a2c);
}

.content .wrap {
  max-width: var(--content-max);
  margin: 0 auto;
}

/* Accessibilité : si l'utilisateur préfère moins d'animations */
@media (prefers-reduced-motion: reduce) {
  .layer {
    transform: none !important;
  }
}

.scroll-down-button {
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    margin: 0.25rem 0 0;
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: auto;
}

.scroll-button {
    width: 25%;
    height: auto;
    object-fit: contain;
}