/* D2A Dev — page d'attente (mêmes couleurs et polices que d2a.mc) */

@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(../fonts/montserrat.woff2) format('woff2');
}
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(../fonts/opensans.woff2) format('woff2');
}

:root {
  --red: #dd3333;
  --text: #3e3e3e;
  --muted: #878787;
}

*, *::before, *::after { box-sizing: border-box; }
html, body { height: 100%; }
body {
  margin: 0;
  display: flex; flex-direction: column;
  min-height: 100vh; min-height: 100dvh;
  background: #fff;
  color: var(--text);
  font: 400 14px/26px Montserrat, sans-serif;
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; display: block; }
a { color: var(--red); text-decoration: none; transition: color .2s; }
h1, p { margin: 0; }

/* ---------- Bandeau du logo ---------- */
.top {
  flex: none; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center;
  padding: 22px 30px; background: #fff;
}
.logo { grid-column: 2; }
.lang {
  justify-self: end; display: flex; align-items: center; gap: 6px;
  color: #d33333; font: 700 12px/20px Montserrat, sans-serif;
  letter-spacing: 1px; text-transform: uppercase;
}
.lang svg { width: 16px; height: 11px; flex: none; }
.lang:hover, .lang:focus-visible { color: var(--title, #161616); }
.logo img { width: 160px; transition: transform .4s cubic-bezier(.34, 1.56, .64, 1), filter .4s; }
.logo:hover img, .logo:focus-visible img {
  transform: scale(1.06);
  filter: drop-shadow(0 4px 10px rgba(221, 51, 51, .25));
}

/* ---------- Visuel principal ---------- */
.hero {
  flex: 1 0 auto;
  display: grid; place-items: center;
  padding: 60px 16px;
  background: #222 center / cover no-repeat;
  background-image: linear-gradient(rgba(0, 0, 0, .55), rgba(0, 0, 0, .55)), url(../img/hero.jpg);
  background-image: linear-gradient(rgba(0, 0, 0, .55), rgba(0, 0, 0, .55)),
    image-set(url(../img/hero.webp) type("image/webp"), url(../img/hero.jpg) type("image/jpeg"));
  color: #fff;
  text-align: center;
  text-shadow: 1px 1px 2px rgba(0, 0, 0, .4);
}
.hero-content { max-width: 760px; }
.hero-content > * { animation: rise .8s both; }
.hero-content > :nth-child(2) { animation-delay: .15s; }
.hero-content > :nth-child(3) { animation-delay: .3s; }
.hero-content > :nth-child(4) { animation-delay: .45s; }
.hero-content > :nth-child(5) { animation-delay: .55s; }
.hero-content > :nth-child(6) { animation-delay: .7s; }
.hero-content > :nth-child(7) { animation-delay: .85s; }
@keyframes rise { from { opacity: 0; transform: translateY(20px); } }

.kicker {
  font: 700 14px/20px "Open Sans", sans-serif;
  letter-spacing: 4px; text-transform: uppercase;
  margin-bottom: 14px;
}
h1 {
  font: 600 34px/44px Montserrat, sans-serif;
  letter-spacing: 1px; text-transform: uppercase;
}
.sep { width: 115px; height: 1px; margin: 22px auto 24px; background: var(--red); }
.lead { font-size: 15px; line-height: 26px; }
.soon {
  margin-top: 34px;
  font: 700 18px/26px "Open Sans", sans-serif;
  letter-spacing: 2px; text-transform: uppercase;
}

.btn {
  display: inline-block; margin-top: 26px; padding: 0 30px;
  border: 1px solid var(--red);
  background: #fff; color: var(--red);
  font: 700 13px/52px Montserrat, sans-serif;
  letter-spacing: 1px; text-transform: uppercase;
  text-shadow: none;
  transition: background .25s, color .25s;
}
.btn:hover, .btn:focus-visible { background: var(--red); color: #fff; }

/* ---------- Pied de page ---------- */
.foot { flex: none; padding: 18px 16px; text-align: center; font-size: 12px; line-height: 20px; color: var(--muted); }

@media (max-width: 1000px) {
  .hero {
    background-image: linear-gradient(rgba(0, 0, 0, .55), rgba(0, 0, 0, .55)), url(../img/hero-960.jpg);
    background-image: linear-gradient(rgba(0, 0, 0, .55), rgba(0, 0, 0, .55)),
      image-set(url(../img/hero-960.webp) type("image/webp"), url(../img/hero-960.jpg) type("image/jpeg"));
  }
}
@media (max-width: 600px) {
  .top { padding: 18px 16px; }
  .logo img { width: 130px; }
  .lang { font-size: 11px; }
  h1 { font-size: 24px; line-height: 32px; }
  .lead br { display: none; }
  .soon { font-size: 14px; letter-spacing: 1px; }
  .btn { padding: 0 18px; font-size: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .hero-content > * { animation: none; }
}
