/* Geofender — landing temporanea
   Font self-hosted: nessuna richiesta esterna, nessun dato verso terze parti. */

@font-face {
  font-family: "Michroma";
  src: url("../fonts/michroma-latin.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Barlow";
  src: url("../fonts/barlow-500-latin.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

:root {
  --navy: #02255c;
  --bg: #ffffff;
  --muted: rgba(2, 37, 92, .55);
}

*, *::before, *::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; }

body {
  margin: 0;
  min-height: 100svh;
  display: grid;
  place-items: center;
  padding: clamp(1.5rem, 5vw, 3rem);
  background: var(--bg);
  color: var(--navy);
  font-family: "Barlow", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

.stage {
  width: 100%;
  max-width: 640px;
  text-align: center;
}

picture { display: block; }

.logo {
  display: block;
  width: min(72vw, 420px);
  height: auto;
  margin: 0 auto;
}

.title {
  margin: clamp(1.25rem, 4vw, 2.25rem) 0 0;
  font-family: "Michroma", "Segoe UI", system-ui, sans-serif;
  font-weight: 400;
  font-size: clamp(1.1rem, 5.2vw, 2.6rem);
  line-height: 1.15;
  text-transform: uppercase;
  letter-spacing: .18em;
  /* compensa lo spazio di coda generato dal letter-spacing sull'ultima lettera */
  padding-left: .18em;
  color: var(--navy);
  /* Michroma ha un solo peso, piu' leggero del lettering del marchio:
     lo stroke lo ispessisce fino a pareggiare il logo. In em, cosi' scala. */
  -webkit-text-stroke: .022em currentColor;
  paint-order: stroke fill;
}

.rule {
  width: min(60%, 260px);
  margin: clamp(1rem, 3.2vw, 1.75rem) auto;
  border: 0;
  border-top: 2px solid var(--navy);
}

.payoff {
  margin: 0;
  font-weight: 500;
  font-size: clamp(.9rem, 2.6vw, 1.125rem);
  letter-spacing: .01em;
  color: var(--navy);
}

.foot {
  margin-top: clamp(2rem, 7vw, 3.5rem);
  font-size: .8125rem;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--muted);
}

@media (prefers-reduced-motion: no-preference) {
  .stage > * {
    animation: rise .7s cubic-bezier(.22, .61, .36, 1) both;
  }
  .stage > picture { animation-delay: 0s; }
  .title  { animation-delay: .10s; }
  .rule   { animation-delay: .18s; }
  .payoff { animation-delay: .24s; }
  .foot   { animation-delay: .34s; }

  @keyframes rise {
    from { opacity: 0; transform: translateY(12px); }
    to   { opacity: 1; transform: none; }
  }
}
