*{margin:0;padding:0;box-sizing:border-box;}
:root{
  --rosso:#8B1A1A;
  --rosso-vivo:#c0392b;
  --nero:#0a0a0a;
  --testo:#e8e2d9;
  --testo-soft:#a09585;
  --bianco:#f5f0eb;
}
body{
  background:var(--nero);
  color:var(--testo);
  font-family:'Montserrat',sans-serif;
  font-weight:300;
  min-height:100vh;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:3rem 1.5rem;
  position:relative;
  overflow:hidden;
}
/* Background lava */
.bg{position:fixed;inset:0;background-image:url('../assets/lava.webp');background-size:cover;background-position:center;opacity:0.10;z-index:0;}
/* Vignette overlay */
.bg::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at center, transparent 30%, rgba(10,10,10,0.85) 100%);}

.content{position:relative;z-index:1;width:100%;max-width:560px;margin:0 auto;}

/* Logo */
.logo{margin-bottom:3.5rem;}
.logo img{height:72px;opacity:0.95;}

/* Etichetta */
.eyebrow{
  font-size:10px;
  letter-spacing:0.35em;
  text-transform:uppercase;
  color:var(--rosso-vivo);
  margin-bottom:1.25rem;
  display:block;
}

/* Titolo */
h1{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(3rem,7vw,5.5rem);
  font-weight:300;
  line-height:1.05;
  margin-bottom:1.5rem;
  color:var(--bianco);
}
h1 em{
  color:var(--rosso-vivo);
  font-style:italic;
}

/* Sottotitolo */
.subtitle{
  font-size:14px;
  color:var(--testo-soft);
  line-height:1.9;
  margin-bottom:3rem;
}

/* Divisore */
.divider{
  width:40px;
  height:1px;
  background:var(--rosso);
  margin:0 auto 3rem;
  opacity:0.5;
}

/* Benefit cards */
.benefits{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1px;
  background:rgba(139,26,26,0.15);
  border:1px solid rgba(139,26,26,0.15);
  margin-bottom:3rem;
}
.benefit{
  background:rgba(10,10,10,0.6);
  padding:1.75rem 1rem;
  transition:background 0.3s;
}
.benefit:hover{background:rgba(139,26,26,0.08);}
.benefit-icon{width:26px;height:26px;object-fit:contain;margin:0 auto 0.85rem;display:block;}
.benefit-title{
  font-size:10px;
  letter-spacing:0.15em;
  text-transform:uppercase;
  color:var(--rosso-vivo);
  margin-bottom:0.5rem;
}
.benefit-text{font-size:11.5px;color:var(--testo-soft);line-height:1.65;}

/* Form */
.form-wrap{margin-bottom:1.25rem;}
.form-row{display:flex;gap:0;}
.form-row input[type="email"]{
  flex:1;
  background:rgba(255,255,255,0.04);
  border:1px solid rgba(255,255,255,0.12);
  border-right:none;
  color:var(--testo);
  padding:14px 18px;
  font-family:'Montserrat',sans-serif;
  font-size:13px;
  outline:none;
  transition:border-color 0.2s;
}
.form-row input[type="email"]:focus{border-color:rgba(139,26,26,0.6);}
.form-row input::placeholder{color:var(--testo-soft);}
.form-row button{
  background:var(--rosso-vivo);
  color:#fff;
  border:none;
  padding:14px 26px;
  font-family:'Montserrat',sans-serif;
  font-size:10px;
  letter-spacing:0.18em;
  text-transform:uppercase;
  cursor:pointer;
  transition:background 0.2s;
  white-space:nowrap;
}
.form-row button:hover{background:#a93226;}
.form-row button:disabled{opacity:0.6;cursor:not-allowed;}

/* Success message */
.success-msg{
  font-family:'Cormorant Garamond',serif;
  font-size:1.6rem;
  font-weight:300;
  font-style:italic;
  color:var(--rosso-vivo);
  padding:1.5rem 0;
}

.disclaimer{font-size:11px;color:var(--testo-soft);opacity:0.55;margin-bottom:3rem;line-height:1.6;}

/* Back link */
.back{
  font-size:11px;
  color:var(--testo-soft);
  text-decoration:none;
  letter-spacing:0.12em;
  text-transform:uppercase;
  border-bottom:1px solid rgba(255,255,255,0.15);
  padding-bottom:2px;
  transition:color 0.2s,border-color 0.2s;
}
.back:hover{color:var(--bianco);border-color:rgba(255,255,255,0.4);}

@media(max-width:600px){
  .benefits{grid-template-columns:1fr;}
  .form-row{flex-direction:column;}
  .form-row input[type="email"]{border-right:1px solid rgba(255,255,255,0.12);border-bottom:none;}
}

/* Ingresso morbido */
.content{animation:nlFadeUp 1s cubic-bezier(0.16,1,0.3,1) both;}
@keyframes nlFadeUp{from{opacity:0;transform:translateY(24px);}to{opacity:1;transform:translateY(0);}}

/* Messaggio di errore */
.error-msg{font-size:12px;color:#c0392b;padding:0.75rem 0;}

@media (prefers-reduced-motion: reduce){
  .content{animation:none;}
}


@media (max-width: 360px) {
  h1 { font-size: 2.6rem; }
  .logo img { height: 56px; }
  body { padding: 2rem 1rem; }
}

@media print {
  #lv-cookie { display: none !important; }
}
