/* Polices hébergées localement — remplace le chargement depuis Google Fonts */

@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url('fonts/fraunces-latin-300-normal.woff2') format('woff2');
}
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('fonts/fraunces-latin-400-normal.woff2') format('woff2');
}
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('fonts/fraunces-latin-500-normal.woff2') format('woff2');
}
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('fonts/fraunces-latin-600-normal.woff2') format('woff2');
}
@font-face {
  font-family: 'Fraunces';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url('fonts/fraunces-latin-400-italic.woff2') format('woff2');
}
@font-face {
  font-family: 'Fraunces';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url('fonts/fraunces-latin-500-italic.woff2') format('woff2');
}

@font-face {
  font-family: 'Public Sans';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url('fonts/public-sans-latin-300-normal.woff2') format('woff2');
}
@font-face {
  font-family: 'Public Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('fonts/public-sans-latin-400-normal.woff2') format('woff2');
}
@font-face {
  font-family: 'Public Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('fonts/public-sans-latin-500-normal.woff2') format('woff2');
}
@font-face {
  font-family: 'Public Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('fonts/public-sans-latin-600-normal.woff2') format('woff2');
}

@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('fonts/jetbrains-mono-latin-400-normal.woff2') format('woff2');
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('fonts/jetbrains-mono-latin-500-normal.woff2') format('woff2');
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('fonts/jetbrains-mono-latin-600-normal.woff2') format('woff2');
}
.hero { position: relative; overflow: hidden; }
.hero-content { position: relative; z-index: 2; }   /* ton bloc titre + boutons */

.hero-emblem { position: absolute; pointer-events: none; z-index: 1; }
.hero-emblem img { display: block; width: 100%; height: auto; }

/* ===== 1. Flottant sobre ===== */
.hero-emblem.flottant {
  right: 10%;
  top: 10%;
  width: clamp(400px, 17vw, 260px);
  opacity: .85;
}
.hero-emblem.flottant img {
    filter: brightness(0) invert(84%) sepia(28%) saturate(450%) hue-rotate(358deg) brightness(97%);
  animation: flotte 9s ease-in-out infinite;
}
@keyframes flotte {
  0%, 100% { transform: translateY(0); }
  50%      { transform: translateY(-6px); }
}
  0%, 100% { transform: translateY(0); }
  50%      { transform: translateY(-14px); }


/* ===== 3. Filigrane ===== */
.hero-emblem.filigrane {
  right: 4%;
  top: -8%;
  width: clamp(420px, 45vw, 720px);
  opacity: .16;
}

/* Mobile */
@media (max-width: 900px) {
  .hero-emblem.flottant { display: none; }
  .hero-emblem.filigrane { width: 120vw; right: -40%; top: 0; opacity: .1; }
}
@media (prefers-reduced-motion: reduce) {
  .hero-emblem img { animation: none; }
}