/* Migliora la leggibilità del menu e gestisce l'area riservata. */
@font-face{font-family:"Great Vibes Local";src:url("../fonts/great-vibes-latin-400-normal.woff2") format("woff2");font-style:normal;font-weight:400;font-display:block}
.header{background:#071b3df2;border-bottom:2px solid #ff3145}
.header .logo{color:#fff}
.nav{gap:22px}
.nav a{opacity:1;color:#fff;padding:9px 5px}
.nav a:hover,.nav a.active{color:#ff8792}
.nav .contact{color:#fff;background:#ff3145;border-color:#ff3145}
.hero h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(56px,7.2vw,96px);font-weight:400;font-style:normal;font-synthesis:none;line-height:1.02;letter-spacing:-.055em;color:#39ff14;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;text-shadow:none}
.hero h1 em{font-family:inherit;font-weight:400;font-style:italic;color:#ff003c;text-shadow:none}
.inner-hero h1.script-green-title{font-family:Georgia,"Times New Roman",serif;font-size:clamp(58px,7.5vw,102px);font-weight:400;font-style:normal;font-synthesis:none;line-height:1.05;letter-spacing:-.05em;color:#39ff14;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;text-shadow:none}
.method .step{margin:0 -18px;padding:23px 18px;border-radius:5px;transition:background-color .2s ease,transform .2s ease}
.method .step:hover,.method .step:focus-visible{background:rgba(255,255,255,.075);transform:translateX(6px);outline:none}
.method .step h3::after{content:"  →";color:#ff3145}
.reserved-index{min-height:100vh;padding:145px 0 90px;background:#f7f2e8}
.reserved-index h1{margin:0 0 18px;color:#071b3d;font-size:clamp(44px,7vw,76px)}
.reserved-index .lead{color:#4d596c}
.reserved-links{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:42px}
.reserved-links a{padding:22px 24px;background:#fff;color:#071b3d;border:2px solid #d4dbe5;border-left:7px solid #ff3145;font-size:18px;font-weight:800;transition:.2s}
.reserved-links a:hover{color:#fff;background:#163d70;border-color:#163d70;transform:translateY(-2px)}
.reserved-only{margin:0;min-height:100vh;display:grid;place-items:center;background:#071b3d;color:#00ff72}
.reserved-only h1{margin:0;padding:30px;text-align:center;font-family:"Great Vibes Local",cursive;font-size:clamp(60px,8vw,104px);font-weight:400;font-style:normal;font-synthesis:none;line-height:1.15;letter-spacing:0;color:#00ff72;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;text-shadow:none}
@media(max-width:850px){.reserved-links{grid-template-columns:1fr}}

/* Cambio colore continuo applicato soltanto alla linea sottile
   sotto i pulsanti del menu e al piccolo trattino decorativo. */
@keyframes ciclo-colore-linea-menu {
  0%, 100% { border-bottom-color: #ff1744; }
  25%      { border-bottom-color: #19e65c; }
  50%      { border-bottom-color: #ffe600; }
  75%      { border-bottom-color: #1687ff; }
}

@keyframes ciclo-colore-trattino {
  0%, 100% { background-color: #ff1744; }
  25%      { background-color: #19e65c; }
  50%      { background-color: #ffe600; }
  75%      { background-color: #1687ff; }
}

.header {
  animation: ciclo-colore-linea-menu 4s linear infinite;
}

.kicker:before,
.group > h2:before {
  animation: ciclo-colore-trattino 4s linear infinite;
}
