:root {
  --color-white: #fff;
  --time-animation: 0.6s;
}

@keyframes pulse {
  0% {
    transform: translateY(0px);
  }

  50% {
    transform: translateY(25px);
  }

  100% {
    transform: translateY(0px);
  }
}

html {
  scrollbar-width: auto;
}

body {
  margin: 0;
  padding: 0;
  overflow-x: visible;
}

.layout {
  width: 100%;
  height: calc(100vh * 3);
  position: relative;
}

.layout .section-stick {
  margin: auto;

  position: fixed;
  left: 30px;
  bottom: 24%;

  display: flex;
  flex-direction: column;
  row-gap: 30px;
  align-items: center;
  justify-content: flex-start;

  z-index: 1000;
}

.layout .section-stick .stick,
.layout .section-stick .active {
  width: 13px;
  height: 13px;

  border: none;
  border-radius: 9px;
}

.layout .section-stick .stick {
  position: relative;

  background-color: rgba(0, 0, 0, 15%);
  transition: all var(--time-animation) ease-in-out;
}

.layout .section-stick .active {
  position: absolute;

  background-color: #c1aa79;
  box-shadow: 0px 0px 12px 1px #c1aa79;
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
  z-index: 1;
}

.layout section {
  width: 100%;
  height: 100vh;
  top: 0;
  left: 0;
  right: 0;

  display: flex;
  align-items: center;
  justify-content: center;

  text-align: center;
  color: var(--color-white);
  font-size: 80px;
  font-weight: 600;
  transition: all var(--time-animation) ease-in-out;

  z-index: 0;
}

.layout section .home {
  display: flex;
  flex-direction: column;
  row-gap: 45px;
  align-items: center;
}

.layout section .home svg {
  animation: pulse 1.4s linear infinite normal;
}

.layout .s1 {
  background-color: #f4f1eb;
  z-index: 4;
}

.layout .s2 {
  background-color: #f4f1eb;
  z-index: 3;
}

.layout .s3 {
  background-color: #f4f1eb;
  z-index: 2;
}

.layout .s4 {
  background-color: #f4f1eb;
  z-index: 1;
}

.layout .s5 {
  background-color: #f4f1eb;
  z-index: 1;
}

.layout .s6 {
  background-color: #f4f1eb;
  z-index: 1;
}

.layout .s7 {
  background-color: #f4f1eb;
  z-index: 1;
}

.layout .s8 {
  background-color: #f4f1eb;
  z-index: 1;
}

.layout .s9 {
  background-color: #f4f1eb;
  z-index: 1;
}

.layout .s10 {
  background-color: #f4f1eb;
  z-index: 1;
}

.layout .s11 {
  background-color: #f4f1eb;
  z-index: 1;
}

.layout .s12 {
  background-color: #f4f1eb;
  z-index: 1;
}

#author {
  margin: auto;
  position: fixed;
  bottom: 40px;
  left: 40px;

  display: flex;
  column-gap: 10px;
  align-items: center;

  color: var(--color-white);
  font-size: 25px;
  z-index: 10;
}

#author svg {
  font-size: 40px;
}

@font-face {
  font-family: Balloon;
  /* set name */
  src: url(polices/balloon-drop-shadow-d.otf);
  /* url of the font */
}


@font-face {
  font-family: Allrounder;
  /* set name */
  src: url(polices/allrounder-monument-medium.otf);
  /* url of the font */
}

@font-face {
  font-family: Parfumerie;
  /* set name */
  src: url(polices/ParfumerieScriptRegular.otf);
  /* url of the font */
}

@font-face {
  font-family: Blosta;
  /* set name */
  src: url(polices/Blosta-Regular.otf);
  /* url of the font */
}

@font-face {
  font-family: EFCO;
  /* set name */
  src: url(polices/EFCOBrookshireRegular.ttf);
  /* url of the font */
}

@font-face {
  font-family: IconScript;
  /* set name */
  src: url(polices/new-icon-script_fontlot26ec.otf);
  /* url of the font */
}

@font-face {
  font-family: IconScript;
  /* set name */
  src: url(polices/new-icon-script_fontlot26ec.otf);
  /* url of the font */
}

@font-face {
  font-family: TanThe;
  /* set name */
  src: url(polices/TANWHISTLING-Regular.otf);
  /* url of the font */
}

@font-face {
  font-family: Sailor;
  /* set name */
  src: url(polices/sailors-condensed.ttf);
  /* url of the font */
}

@font-face {
  font-family: Inlander;
  /* set name */
  src: url(polices/InlanderTexture.ttf);
  /* url of the font */
}

@font-face {
  font-family: Sloop;
  /* set name */
  src: url(polices/SloopScriptRegular.ttf);
  /* url of the font */
}

@font-face {
  font-family: Armies;
  /* set name */
  src: url(polices/ArmiesdisplayRegular.ttf);
  /* url of the font */
}

@font-face {
  font-family: Bayadera;
  /* set name */
  src: url(polices/Bayadera4F.ttf);
  /* url of the font */
}

.bayadera {
  line-height: 0.2;
  color: #2b2b2b;
  font-family: Bayadera;
  font-size: 170px;
}

.great-vibes-regular {
  font-family: "Great Vibes", cursive;
  font-weight: 400;
  font-style: normal;
}

.armies {
  line-height: 0.2;
  color: #2b2b2b;
  font-family: Armies;
  font-size: 170px;
}

.sloop {
  color: #2b2b2b;
  font-family: Sloop;
  font-size: 130px;
}

.inlander {
  line-height: 0.2;
  color: #2b2b2b;
  font-family: Inlander;
}

.sarabun-regular {
  font-family: "Sarabun", sans-serif;
  font-weight: 400;
  font-style: normal;
  line-height: 0.2;
  color: #2b2b2b;
  font-size: 38px;
}

.sailor {
  line-height: 0.2;
  color: #2b2b2b;
  font-family: Sailor;
  font-size: 100px;
}

.imbue-400 {
  color: #2b2b2b;
  font-family: "Imbue", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 100px;
}

.tanthe {
  color: #2b2b2b;
  font-family: TanThe;
  font-size: 100px;
}

.josefin-sans-400 {
  font-family: "Josefin Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 200;
  font-style: normal;
  letter-spacing: 30px;
}

.special-elite-regular {
  font-family: "Special Elite", system-ui;
  font-weight: 400;
  font-style: normal;
}

.iconscript {
  line-height: 0.2;
  color: #2b2b2b;
  font-family: IconScript;
  font-size: 100px;
}

.efco {
  line-height: 0.2;
  color: #2b2b2b;
  font-family: EFCO;
  font-size: 100px;
}

.blosta {
  line-height: 0.2;
  color: #2b2b2b;
  font-family: Blosta;
  font-size: 100px;
}

.balloon {
  line-height: 0.2;
  color: #2b2b2b;
  font-family: Balloon;
  font-size: 100px;
}

.allrounder {
  color: #2b2b2b;
  font-family: Allrounder;
  font-size: 37px;
}

.parfumerie {
  color: #2b2b2b;
  font-family: Parfumerie;
}

.cormorant-sc-regular {
  color: #2b2b2b;
  font-family: "Cormorant SC", serif;
  font-weight: 400;
  font-style: normal;
}

.signature-content h2 {
  margin: 40px 0;
}

.signature-content p {
  margin: 40px 0;
  color: #313131;
}

/************************************* RESPONSIVE ***************************************/

/* MOBILE */
@media (max-width: 600px) {
  .signature-container {
    gap: 0px;
  }

  .signature-image {
    width: 50%;
  }

  .signature-content h2 {
    font-size: 2.0rem;
    margin-top: 0;
    margin-bottom: 5px;
  }

  .blosta,
  .efco,
  .allrounder,
  .balloon,
  .iconscript,
  .tanthe,
  .josefin-sans-400,
  .imbue-400,
  .sailor,
  .sarabun-regular,
  .bayadera,
  .sloop {
    font-size: 2.5rem;
  }

  .armies {
    font-size: 4.5rem;
  }

  .signature-content p {
    margin: 20px 0;
  }
}

@media screen and (max-width: 576px) {
  body::-webkit-scrollbar {
    width: 0px;
    background: transparent;
    -webkit-appearance: none;
  }

  .layout .section-stick {
    bottom: 25%;
    transform: scale(0.7);
    left: 15px;
  }

  .layout section {
    font-size: 40px;
  }

  #author {
    left: 20px;
    bottom: 20px;
    font-size: 18px;
  }

  #author svg {
    font-size: 30px;
  }
}

.img {
  width: 100%;
  aspect-ratio: 2 / 3;
  object-fit: cover;
  border-radius: 18px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, .2);
}

.signature-image img {
  border-radius: 0;
  box-shadow: none;
}

section {
  padding: 0px;
}

.signature-container {
  margin: 0;
  padding: 0 2%;
}

.fleche {
  position: absolute;

  width: 100px !important;
  height: 100px;

  opacity: 0.9;

  left: 12%;
  top: 51%;
  transform: rotate(125deg);


}

.text-fleche {
  width: 200px;
  position: absolute;
  font-size: 20px;

  left: 10%;
  top: 42%;

}

@keyframes flottement {

  0%,
  100% {
    transform: translateY(0) rotate(125deg);
  }

  50% {
    transform: translateY(-8px) rotate(125deg);
  }
}

@keyframes flottement-text {

  0%,
  100% {
    transform: translateY(0);
  }

  50% {
    transform: translateY(-8px);
  }
}

/* =========================================
   ANIMATION DES CONTENUS DES SECTIONS
   ========================================= */

.signature-image,
.signature-content {
  opacity: 1;
  transition:
    transform 0.6s ease,
    opacity 0.6s ease;
}


/* -----------------------------------------
   SORTIE DE LA SECTION
   ----------------------------------------- */

/* Image → gauche */
.section-exit .signature-image {
  transform: translateX(-120px);
  opacity: 0;
}

/* Texte → droite */
.section-exit .signature-content {
  transform: translateX(120px);
  opacity: 0;
}


/* -----------------------------------------
   ENTRÉE DE LA SECTION SUIVANTE
   ----------------------------------------- */

/* Image arrive depuis la gauche */
.section-enter .signature-image {
  transform: translateX(-120px);
  opacity: 0;
}

/* Texte arrive depuis la droite */
.section-enter .signature-content {
  transform: translateX(120px);
  opacity: 0;
}


/* Position normale */
.signature-image,
.signature-content {
  transform: translateX(0);
}

/* =========================================================
   MOBILE — SCROLL NATIF
========================================================= */

@media (max-width: 1000px) {

    html,
    body {
        height: auto !important;
        min-height: 100%;
        overflow-x: hidden !important;
        overflow-y: auto !important;
    }

    body {
        position: static !important;
    }

    .layout {
        height: auto !important;
        min-height: 0 !important;
        overflow: visible !important;
        transform: none !important;
    }

    .layout > section {
        position: relative !important;
        top: auto !important;
        left: auto !important;

        width: 100% !important;
        height: auto !important;
        min-height: 100svh !important;

        transform: none !important;
    }

    .section-stick {
        display: none !important;
    }
}