@import url("https://use.typekit.net/ann1alz.css");

:root {
  /* General variables */
  --zoa-black: #000000;
  --zoa-nearBlack: #1D1D1B;
  --zoa-white: #FFFFFF;
  --zoa-lightGray: #F2F2F2;
  --zoa-gray: #5D5D5D;
  --zoa-green: #00ED33;
  --zoa-yellow: #FFFA3D;
  --zoa-orange: #FF4E17;
  --zoa-red: #FF1C1C;
  --zoa-brown: #36210D;

  --typography-family-body: "articulat-cf", Arial, sans-serif;
  --typography-family-headline: "articulat-cf", Arial, sans-serif;

  --typography-size-headline-s: 1.4rem;
  --typography-size-headline-m: 1.6rem;
  --typography-size-headline-l: 2rem;
  --typography-size-headline-xl: 3.2rem;
  --typography-size-body-xxs: 1rem;
  --typography-size-body-xs: 1.1rem;
  --typography-size-body-s: 1.4rem;
  --typography-size-body-m: 1.6rem;
  --typography-size-body-l: 1.8rem;
  --typography-size-body-xl: 1.8rem;

  --typography-line-height-headline-s: 1.42;
  --typography-line-height-headline-m: 1.37;
  --typography-line-height-headline-l: 1.4;
  --typography-line-height-headline-xl: 1.25;
  --typography-line-height-body-xs: 1.54;
  --typography-line-height-body-s: 1.42;
  --typography-line-height-body-m: 1.42;
  --typography-line-height-body-l: 1.5;
  --typography-line-height-body-xl: 1.38;

  --typography-paragraph-spacing-body-xs: 16px;
  --typography-paragraph-spacing-body-s: 20px;
  --typography-paragraph-spacing-body-m: 20px;
  --typography-paragraph-spacing-body-l: 24px;
  --typography-paragraph-spacing-body-xl: 24px;

  --typography-weight-black: 900;
  --typography-weight-heavy: 800;
  --typography-weight-bold: 700;
  --typography-weight-medium: 500;
  --typography-weight-regular: 400;

  --space-xxs: 4px;
  --space-xs: 8px;
  --space-s: 12px;
  --space-m: 16px;
  --space-ml: 20px;
  --space-l: 24px;
  --space-xl: 32px;
  --space-xxl: 40px;
  --space-3xl: 48px;
  --space-huge: 56px;
  --space-x-huge: 64px;

  --bubble-gutters: 16px;
}

@media screen and (min-width: 640px) {
  :root {
    --bubble-gutters: 26px;
  }
}

:root {
  /* Light theme variables */
  color-scheme: light;
  --text-primary: var(--zoa-black);
  --text-primary-reverse: var(--zoa-white);
  --text-secondary: var(--zoa-black);
  --text-active: var(--zoa-black);
  --text-inactive: var(--zoa-gray);
  --text-hover: var(--zoa-black);
  --text-disabled: var(--zoa-gray);
  --stroke-primary: 1px solid var(--zoa-black);
  --stroke-secondary: 1px solid var(--zoa-black);
  --stroke-tertiary: 1px solid var(--zoa-gray);
  --stroke-button: 1px solid var(--zoa-black);
  --background-default: var(--zoa-white);
  --background-pressed: var(--greyscale-050);
  --background-active: var(--greyscale-100);
  --background-secondary: var(--greyscale-100);
  --background-layer: var(--greyscale-950-transluscent);
  --button-bg: var(--zoa-yellow);
  --button-text: var(--zoa-black);
  --button-bg-hover: var(--zoa-green);
  --button-text-hover: var(--zoa-black);
  --button-bg-active: var(--zoa-lightGray);
  --button-text-inactive: var(--zoa-gray);
  --filter-for-text-primary: invert(8%) sepia(19%) saturate(3197%) hue-rotate(157deg) brightness(100%) contrast(99%);
  --filter-for-text-secondary: brightness(0) saturate(100%) invert(38%) sepia(24%) saturate(435%) hue-rotate(152deg) brightness(92%) contrast(86%);
}

/* Comportement de défilement fluide */
html {
  scroll-behavior: smooth;
}

/* Initialisation et police par défaut */
html, body {
  font-size: 62.5%;
}

body {
  margin: 0;
  font-family: var(--typography-family-body);
  font-size: var(--typography-size-body-m);
  background: var(--background-default);
  color: var(--text-primary);
  line-height: var(--typography-line-height-body-m);
}

strong {
  font-weight: var(--typography-weight-bold);
}

/* Reset de base */
*, *::before, *::after {
  box-sizing: border-box;
}

h1, h2, h3, h4, p {
  margin: 0;
}

section img, video {
  max-width: 100%;
  display: block;
}

a {
  text-decoration: underline;
  color: inherit;
}
a:hover, footer a {
  text-decoration: none;
}
footer a:hover {
  text-decoration: underline;
}

/* Classe utilitaire pour les conteneurs de section */
.container {
  max-width: 840px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 20px;
  padding-right: 20px;
}

.header {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
}

h1, h2, .surtitle {
  font-family: var(--typography-family-headline);
  font-size: var(--typography-size-headline-xl);
  font-weight: var(--typography-weight-bold);
  line-height: var(--typography-line-height-headline-xl);
}

.surtitle {
  font-weight: var(--typography-weight-black);
}

p {
  font-size: var(--typography-size-body-m);
  line-height: var(--typography-line-height-body-m);
  text-align: start;
}

section {
  font-size: var(--typography-size-body-m);
  color: var(--text-primary);
}

.logo {
  display: block;
  text-indent: -9999px;
  overflow: hidden;
  background: url('img/logo-zoa.svg') no-repeat center;
  background-size: contain;
  width: 120px;
  aspect-ratio: 8 / 3;
}

.logo.white {
  filter: invert(1);
}

.bubble {
  border-radius: 26px;
  background-color: var(--zoa-white);
  color: var(--zoa-black);
}

.bubble.yellow {
  background-color: var(--zoa-yellow);
  aspect-ratio: 1 / 1;
}

.bubble .text-content {
  display: flex;
  padding: var(--bubble-gutters);
  flex-direction: column;
  justify-content: center;
  align-items: start;
  gap: 10px;
  align-self: stretch;
}

.button {
  background-color: var(--button-bg);
  color: var(--button-text);
  padding: var(--space-s) var(--space-m);
  border-radius: 70px;
  font-size: var(--typography-size-body-m);
  font-weight: var(--typography-weight-medium);
  transition: all 0.3s ease;
  border: var(--stroke-button);
  text-decoration: none;
}

.button.big {
  border-radius: 26px;
  width: 130px;
  height: 130px;
  text-indent: -9999px;
  overflow: hidden;
  background-position: center;
  background-size: 58px auto;
  background-repeat: no-repeat;
}

.button:hover, .button:active {
  background-color: var(--button-bg-hover);
  color: var(--button-text-hover);
  border: var(--stroke-button);
}

.button.inactive {
  background-color: var(--button-bg-inactive);
  color: var(--button-text-inactive);
  border: var(--stroke-tertiary);
}

.padded-section, footer {
  padding: var(--space-xxl) 0;
}

.padded-section .container, .footer-content {
  display: flex;
  flex-direction: column;
  gap: 30px;
}

/* ========== Section 1: Vidéo hero ========== */
.hero {
  position: relative;
  height: auto;
  aspect-ratio: 9 / 16;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: var(--text-primary-reverse);
  background-color: var(--zoa-brown);
  text-align: center;
  overflow: hidden;
}

.hero-video-container {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

#bg-video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.save-data #bg-video {
  display: none;
}
.save-data .hero {
  background: url(img/poster-916.png) no-repeat center var(--zoa-brown);
  background-size: cover;
}

.hero .content {
  position: absolute;
  z-index: 10;
  bottom: 34px;
}

.hero .button {
  display: flex;
  align-items: center;
  gap: 10px;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
  font-weight: var(--typography-weight-bold);
}

.hero .button i {
  display: inline-block;
  width: 18px;
  height: 18px;
  text-indent: -9999px;
  background: url(img/icon-down.svg) no-repeat center;
}

.hero #transcript {
  position: absolute;
  left: 0;
  top: 0;
  z-index: -2;
}

/* ========== Section 2: Réseaux sociaux ========== */
.section2 {
  background-color: var(--zoa-white);
  text-align: center;
}

.section2 .links-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 30px;
  list-style: none;
  padding: 0;
  margin: 0;
}

.section2 .links-container li {
  display: inherit;
}

.facebook {
  background-image: url('img/logo-facebook.svg');
}

.instagram {
  background-image: url('img/logo-instagram.svg');
}

.tiktok {
  background-image: url('img/logo-tiktok.svg');
}

.whatsapp {
  background-image: url('img/logo-whatsapp.svg');
}

.youtube {
  background-image: url('img/logo-youtube.svg');
}

/* ========== Section 3: Slogan et présentation =========== */
.section3 {
  background: url(img/slash-yellow.svg) center no-repeat, var(--zoa-orange);
  background-size: cover;
}

.section3 .container {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.section3 .logo {
  width: 222px;
  margin: 0 20px 0 0;
}

/* ========== Section 4: Ambition =========== */
.section4 {
  background: url(img/slash-white.svg) center no-repeat, var(--zoa-yellow);
  background-size: cover;
}

.section4 .bubble {
  display: flex;
  flex-wrap: wrap;
}

.section4 picture {
  width: 50%;
}
.section4 picture:first-child {
  width: 100%;
}
.section4 picture:first-child img {
  border-radius: 26px 26px 0 0;
}
.section4 picture:nth-child(2) img {
  border-radius: 0 0 0 26px;
}
.section4 picture:last-child img {
  border-radius: 0 0 26px 0;
}

.section4 .text-content {
  display: flex;
  flex-direction: column;
  gap: 30px;
}

/* ========== Section 5: Vidéo Verticale =========== */
.section5 {
  background-color: var(--zoa-red);
  display: flex;
  justify-content: center;
}

.section5 .container {
  max-width: 24rem;
}

.section5 .video-wrapper {
  aspect-ratio: 9 / 16;
  border-radius: 0.5rem;
  overflow: hidden;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
}

.section5 .video-wrapper video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* ========== Section 6: Equipe =========== */
.section6 {
  background: url(img/slash-yellow.svg) -523.449px -350.07px / 291.694% 160.78% no-repeat, var(--zoa-green);
  text-align: center;
}

.section6 picture, .section6 source, .section6 img {
  width: 100%;
  border-radius: 26px 26px 0 0;
}

.section6 h2 {
  font-weight: var(--typography-weight-black);
}

/* ========== Section 7: Footer =========== */
footer {
  background-color: var(--zoa-black);
  color: var(--text-primary-reverse);
}

footer .footer-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  text-align: center;
}

footer .logo {
  width: 120px;
}

footer nav {
  width: 100%;
  border-top: 1px solid var(--zoa-white);
  border-bottom: 1px solid var(--zoa-white);
}

footer nav ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-l);
  list-style-type:  none;
  padding: 0 var(--space-l);

}

footer nav ul li {
  display: inherit;
}

footer nav a:hover {
  color: var(--zoa-white);
  transition: color 0.3s ease;
}

/* ========== MEDIA QUERIES pour le responsive ========== */
@media (min-width: 640px) {
  .hero {
    height: 100vh;
    aspect-ratio: unset;
  }
  .save-data .hero {
    background: url(img/poster-169.png) no-repeat center;
    background-size: cover;
  }
  .section6 {
    background: url(img/slash-yellow.svg) -320px -453.47px / 100% 201.708% no-repeat, var(--zoa-green);
    text-align: center;
  }
}

.accessibility .text-content {
  display: block;
  gap: 0;
}

.accessibility p {
  margin-bottom: var(--space-m);
}

.accessibility h2 {
  margin-top: var(--space-l);
  margin-bottom: var(--space-m);
}

.accessibility h3 {
  margin-top: var(--space-ml);
  margin-bottom: var(--space-s);
}

.accessibility h4 {
  margin-top: var(--space-m);
  margin-bottom: var(--space-xs);
}
