	@font-face {
	  font-family: brocFont;
	  src: url(../assets/fonts/broc.ttf);
	  font-weight: bold;
	}
  
    :root {
      --main-green: #A7E456;
      --main-black: #161816;
      --cta-yellow: #fff12b;
      --cta-orange: #ffad34;
      --cta-green: #85da0a;
    }
    html, body {
      margin: 0;
      padding: 0;
      font-family: 'Montserrat', Arial, sans-serif;
      background: var(--main-green);
      color: var(--main-black);
      min-height: 100vh;
      scroll-behavior: smooth;
    }
    h1, h2, h3 {
      /* font-family: 'Montserrat', Arial, sans-serif; */
	  /* font-family: 'Bebas Neue', cursive; */
	  font-family: 'brocFont', cursive;
      font-weight: 900;
      text-transform: uppercase;
      letter-spacing: 2px;
      margin: 0 0 0.3em 0;
      color: var(--main-black);
    }
    h1 { font-size: 2.5em; }
    h2 { font-size: 2em; margin-top: 0.5em; }
    h3 { font-size: 1.4em; }

    /* Hero */
    .hero {
      display: flex;
      align-items: center;
      justify-content: space-between;
      background: var(--main-green);
      padding: 2em 5vw 1em 5vw;
      position: relative;
    }
    .hero-illustration {
      max-width: 40%;
      width: 45vw;
      min-width: 250px;
      margin-left: 0.5em;
      /* box-shadow: 0 8px 36px rgba(0,0,0,0.13); */
      border-radius: 2em 2em 2em 2em;
      background: rgba(255,255,255,0.11);
    }
    .hero-content {
      flex: 1 1 0;
      text-align: left;
      max-width: 50%;
    }
    .hero-logo {
      max-width: 605px;
      /* width: 45vw; */
      display: block;
      margin-bottom: 1em;
      /* filter: drop-shadow(2px 2px 0 #a9cf1a); */
    }
    .cta-main {
      background: var(--cta-orange);
      color: var(--main-black);
      border: none;
      font-weight: bold;
      font-size: 1.4em;
      border-radius: 1em;
      padding: 1em 2em;
      margin-top: 1em;
      margin-bottom: 1em;
      display: inline-flex;
      align-items: center;
      cursor: pointer;
      box-shadow: 0 3px 0 #e58e00, 0 10px 24px rgba(0,0,0,0.09);
      transition: transform 0.1s, background 0.2s;
      gap: 0.6em;
    }
    .cta-main:hover { 
      background: var(--cta-yellow); 
      transform: scale(1.04) rotate(-2deg);
    }
    .cta-main img {
      width: 2em; height: 2em;
      margin-right: 0.5em;
      vertical-align: middle;
    }

    /* Starburst nouveauté */
    .starburst {
      background: var(--cta-yellow);
      color: var(--main-black);
      padding: 2em 1.5em;
      border-radius: 2em;
      margin: 3em auto 2em auto;
      width: 95%;
      box-shadow: 0 8px 32px #0002;
      text-align: center;
      position: relative;
      border: 5px dashed #86a100;
    }
    .starburst .picto {
      width: 60px; height: 60px;
      vertical-align: middle;
      margin: 0 0.3em 0 0;
      display: inline-block;
    }
    .starburst h2 {
      font-size: 2.1em;
      color: #000;
      margin-bottom: 0.2em;
    }
    .starburst p {
      font-size: 2.2em;
      margin: 0.5em 0 0 0;
      font-weight: bold;
    }

    /* Section modulaire */
    .grid-section {
      display: flex;
      flex-wrap: wrap;
      gap: 2em;
      justify-content: center;
      margin: 2.5em 0;
    }
    .info-block {
      flex: 1 1 280px;
      min-width: 260px;
      background: #fffbe6;
      border-radius: 1.3em;
      box-shadow: 0 6px 18px #0002;
      /* display: flex; */
      align-items: center;
      gap: 1.2em;
      padding: 1.4em 1.3em;
      margin: 0.5em;
      font-size: 1.11em;
      font-weight: 600;
      border: 2.5px solid #a9cf1a;
      transition: box-shadow 0.2s;
	  max-width: 25%;
    }
    .info-block:hover { box-shadow: 0 12px 40px #0004; }
    .info-block .picto {
		/*
      width: 56px; height: 56px; min-width: 56px;
      flex-shrink: 0;
      filter: drop-shadow(0 3px 2px #ecec52b3);
      margin-right: 0.5em;
	  */
	  max-height: 300px;
	  margin-bottom: 18px;
	  text-align: center;
    }
	.info-block .picto img {
		/*
      width: 56px; height: 56px; min-width: 56px;
      flex-shrink: 0;
      filter: drop-shadow(0 3px 2px #ecec52b3);
      margin-right: 0.5em;
	  */
	  max-height: 300px;
    }
	.info-block h3 {
		font-size: 1.30em;
		text-align: center;
	}

    /* Compte à rebours */
    .countdown-section {
      margin: 2em auto;
      text-align: center;
    }
    .countdown-box {
      background: #fffbe6;
      display: inline-flex;
      align-items: center;
      border-radius: 1em;
      padding: 1em 2em;
      gap: 2.1em;
      font-size: 1.4em;
      border: 2px solid #a9cf1a;
      box-shadow: 0 3px 16px #0001;
      font-family: 'Montserrat', Arial, sans-serif;
      margin: 0 auto;
    }
    .countdown-item {
      display: flex; flex-direction: column; align-items: center;
    }
    .countdown-item span {
      font-size: 2.5em;
      font-weight: 900;
      color: var(--main-black);
      letter-spacing: 0.03em;
      margin-bottom: 0.2em;
    }

    /* Boutons téléchargeables */
    .cta-row {
      display: flex;
      justify-content: center;
      gap: 2em;
      margin: 2em 0;
      flex-wrap: wrap;
    }
    .cta-download {
      background: #fff;
      color: var(--main-black);
      border: 2px solid #a9cf1a;
      border-radius: 1em;
      font-weight: 700;
      font-size: 1.15em;
      padding: 1em 1.6em;
      margin: 0.6em 0;
      display: flex;
      align-items: center;
      gap: 0.7em;
      cursor: pointer;
      box-shadow: 0 3px 10px #0001;
      transition: background 0.2s, transform 0.1s;
      text-decoration: none;
    }
    .cta-download img {
      width: 2em; height: 2em;
      margin-right: 0.5em;
      filter: drop-shadow(0 2px 1px #ecec52b3);
    }
    .cta-download:hover {
      background: var(--cta-green);
      color: var(--main-black);
      transform: scale(1.06);
    }

    /* Comité / Contact */
    .comite-section {
      background: #fffbe6;
      border-radius: 1.1em;
      margin: 2em auto 2em auto;
      max-width: 670px;
      box-shadow: 0 2px 18px #0001;
      border: 2px solid #a9cf1a;
      text-align: center;
      padding: 1.4em 2em;
      font-size: 1.07em;
    }
    .comite-list {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      gap: 1.5em;
      margin-top: 1em;
    }
    .comite-person {
      display: flex;
      align-items: center;
      gap: 0.8em;
      margin: 0.4em 0;
    }
    .comite-person img {
      width: 2em; height: 2em;
      margin-right: 0.4em;
    }
    .comite-title {
      font-weight: bold;
    }
    .comite-email {
      margin-top: 1em;
      font-weight: bold;
      color: #1d1d1d;
      font-size: 1.1em;
    }

    /* Bloc associatif, services, fun facts */
    .aspi-support, .extra-info {
      background: #fffbe6;
      border-radius: 1em;
      border: 2px dashed #a9cf1a;
      padding: 1em 2em;
      margin: 1.7em auto;
      max-width: 560px;
      text-align: center;
      font-size: 1.1em;
      font-weight: 700;
      display: flex;
      align-items: center;
      gap: 1.1em;
      justify-content: center;
    }
    .aspi-support img, .extra-info img {
      width: 2.3em; height: 2.3em;
      margin-right: 0.7em;
      flex-shrink: 0;
    }

   
	@font-face {
  font-family: brocFont;
  src: url(assets/fonts/broc.ttf);
  font-weight: bold;
}

:root {
  --main-green: #A7E456;
  --main-black: #161816;
  --cta-yellow: #fff12b;
  --cta-orange: #ffad34;
  --cta-green: #85da0a;
}

html, body {
  margin: 0;
  padding: 0;
  font-family: 'Montserrat', Arial, sans-serif;
  background: var(--main-green);
  color: var(--main-black);
  min-height: 100vh;
  scroll-behavior: smooth;
  word-break: break-word;
}

h1, h2, h3 {
  font-family: 'brocFont', cursive;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 2px;
  margin: 0 0 0.3em 0;
  color: var(--main-black);
}
h1 { font-size: 2.5em; }
h2 { font-size: 2em; margin-top: 0.5em; }
h3 { font-size: 1.6em; }

/* HERO */
.hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: var(--main-green);
  padding: 2em 5vw 1em 5vw;
  position: relative;
}
.hero-illustration {
  max-width: 40%;
  width: 45vw;
  min-width: 250px;
  margin-left: 0.5em;
  border-radius: 2em 2em 2em 2em;
  background: rgba(255,255,255,0.11);
}
.hero-content {
  flex: 1 1 0;
  text-align: left;
  max-width: 50%;
}
.hero-logo {
  max-width: 530px;
  width: 45vw;
  display: block;
  margin-bottom: 1em;
}

/* CTA principal */
.cta-main {
  background: var(--cta-orange);
  width: 605px;
  color: var(--main-black);
  border: none;
  font-weight: bold;
  font-size: 1.4em;
  border-radius: 1em;
  padding: 0.5em 1em;
  margin-top: 1em;
  margin-bottom: 1em;
  display: inline-flex;
  align-items: center;
  cursor: pointer;
  box-shadow: 0 3px 0 #e58e00, 0 10px 24px rgba(0,0,0,0.09);
  transition: transform 0.1s, background 0.2s;
  gap: 0.6em;
}
.cta-main:hover { 
  background: var(--cta-yellow); 
  transform: scale(1.04) rotate(-2deg);
}
.cta-main img {
  width: 2em; height: 2em;
  margin-right: 0.5em;
  vertical-align: middle;
}

/* Starburst nouveauté */
.starburst {
  background: var(--cta-yellow);
  color: var(--main-black);
  padding: 2em 1.5em;
  border-radius: 2em;
  margin: 3em auto 2em auto;
  width: 95%;
  box-shadow: 0 8px 32px #0002;
  text-align: center;
  position: relative;
  border: 5px dashed #86a100;
}
.starburst .picto {
  width: 60px; height: 60px;
  vertical-align: middle;
  margin: 0 0.3em 0 0;
  display: inline-block;
}
.starburst h2 {
  font-size: 2.1em;
  color: #000;
  margin-bottom: 0.2em;
}
.starburst p {
  font-size: 2.2em;
  margin: 0.5em 0 0 0;
  font-weight: bold;
}

/* Section modulaire */
.grid-section {
  display: flex;
  flex-wrap: wrap;
  gap: 2em;
  justify-content: center;
  margin: 2.5em 0;
}
.info-block {
  flex: 1 1 280px;
  min-width: 260px;
  background: #fffbe6;
  border-radius: 1.3em;
  box-shadow: 0 6px 18px #0002;
  align-items: center;
  gap: 1.2em;
  padding: 1.4em 1.3em;
  margin: 0.5em;
  font-size: 1.11em;
  font-weight: 600;
  border: 2.5px solid #a9cf1a;
  transition: box-shadow 0.2s;
  /* Responsive max-width sera défini par media queries */
}
.info-block:hover { box-shadow: 0 12px 40px #0004; }
.info-block .picto {
  max-height: 300px;
  margin-bottom: 18px;
  text-align: center;
}
.info-block .picto img {
  max-height: 300px;
}
.info-block h3 {
  font-size: 1.30em;
}

/* Compte à rebours */
.countdown-section {
  margin: 2em auto;
  text-align: center;
}
.countdown-box {
  background: #fffbe6;
  display: inline-flex;
  align-items: center;
  border-radius: 1em;
  padding: 1em 2em;
  gap: 2.1em;
  font-size: 1.4em;
  border: 2px solid #a9cf1a;
  box-shadow: 0 3px 16px #0001;
  font-family: 'Montserrat', Arial, sans-serif;
  margin: 0 auto;
}
.countdown-item {
  display: flex; flex-direction: column; align-items: center;
}
.countdown-item span {
  font-size: 2.5em;
  font-weight: 900;
  color: var(--main-black);
  letter-spacing: 0.03em;
  margin-bottom: 0.2em;
}

/* Boutons téléchargeables */
.cta-row {
  display: flex;
  justify-content: center;
  gap: 2em;
  margin: 2em 0;
  flex-wrap: wrap;
}
.cta-download {
  background: #fff;
  color: var(--main-black);
  border: 2px solid #a9cf1a;
  border-radius: 1em;
  font-weight: 700;
  font-size: 1.15em;
  padding: 1em 1.6em;
  margin: 0.6em 0;
  display: flex;
  align-items: center;
  gap: 0.7em;
  cursor: pointer;
  box-shadow: 0 3px 10px #0001;
  transition: background 0.2s, transform 0.1s;
  text-decoration: none;
}
.cta-download img {
  width: 2em; height: 2em;
  margin-right: 0.5em;
  filter: drop-shadow(0 2px 1px #ecec52b3);
}
.cta-download:hover {
  background: var(--cta-green);
  color: var(--main-black);
  transform: scale(1.06);
}

/* Comité / Contact */
.comite-section {
  background: #fffbe6;
  border-radius: 1.1em;
  margin: 2em auto 2em auto;
  max-width: 670px;
  box-shadow: 0 2px 18px #0001;
  border: 2px solid #a9cf1a;
  text-align: center;
  padding: 1.4em 2em;
  font-size: 1.07em;
}
.comite-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1.5em;
  margin-top: 1em;
}
.comite-person {
  display: flex;
  align-items: center;
  gap: 0.8em;
  /* margin: 0.4em 0; */
}
.comite-person img {
  width: 2em; height: 2em;
 /* margin-right: 0.4em; */
}
.comite-title {
  font-weight: bold;
}
.comite-email {
  margin-top: 1em;
  font-weight: bold;
  color: #1d1d1d;
  font-size: 1.1em;
}

/* Bloc associatif, services, fun facts */
.aspi-support, .extra-info {
  background: #fffbe6;
  border-radius: 1em;
  border: 2px dashed #a9cf1a;
  padding: 1em 2em;
  margin: 1.7em auto;
  max-width: 560px;
  text-align: center;
  font-size: 1.1em;
  font-weight: 700;
  display: flex;
  align-items: center;
  gap: 1.1em;
  justify-content: center;
}
.aspi-support img, .extra-info img {
  width: 2.3em; height: 2.3em;
  margin-right: 0.7em;
  flex-shrink: 0;
}

/* Images fluides */
img, svg {
  max-width: 100%;
  height: auto;
  display: inline-block;
}