:root{
  --ink:#101014; --panel:#17171d; --line:rgba(227,205,158,.22);
  --line-soft:rgba(255,255,255,.09); --gold:#C9A86A; --gold-hi:#E3CD9E;
  --text:#EFECE4; --muted:rgba(239,236,228,.62);
}
*{box-sizing:border-box}
body{
  margin:0; background:var(--ink); color:var(--text);
  font-family:'Archivo',system-ui,sans-serif; font-weight:300;
  font-size:16px; line-height:1.75; -webkit-font-smoothing:antialiased;
}
a{color:var(--gold-hi)}
h1,h2,h3{font-family:'Cormorant Garamond',Georgia,serif; font-weight:500; line-height:1.12; margin:0}
em{font-style:italic; color:var(--gold-hi)}

/* testata */
.testata{max-width:1080px; margin:0 auto; padding:22px 24px; display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap}
.marchio{display:flex; align-items:center; gap:12px; text-decoration:none; color:var(--text)}
.sigillo{width:30px; height:30px; border:1px solid var(--gold); border-radius:50%; display:inline-grid; place-items:center; color:var(--gold); font-size:13px}
.nome{font-family:'Cormorant Garamond',Georgia,serif; font-size:19px}
.testata nav{display:flex; gap:22px; align-items:center; flex-wrap:wrap}
.testata nav a{font-size:13px; letter-spacing:.06em; text-decoration:none; color:var(--muted)}
.testata nav a:hover{color:var(--text)}
.cta-nav{border:1px solid var(--gold); padding:8px 16px; color:var(--gold-hi) !important}

/* hero */
.hero{max-width:820px; margin:0 auto; padding:84px 24px 72px; text-align:center}
.occhiello{font-family:'Cormorant Garamond',Georgia,serif; font-style:italic; color:var(--gold); font-size:19px; margin:0 0 14px}
.hero h1{font-size:clamp(40px,7vw,64px)}
.sottotitolo{max-width:560px; margin:26px auto 34px; color:var(--muted); font-size:17.5px}
.cta{display:inline-block; background:var(--gold); color:#141310; text-decoration:none; padding:14px 34px; font-weight:500; letter-spacing:.04em; border:none; font-size:15px; cursor:pointer; font-family:inherit}
.cta:hover{background:var(--gold-hi)}
.micro{margin-top:20px; font-size:12.5px; color:var(--muted); letter-spacing:.04em}

/* blocchi */
.blocco{max-width:1080px; margin:0 auto; padding:72px 24px}
.blocco.scuro{max-width:none; background:var(--panel); border-top:1px solid var(--line-soft); border-bottom:1px solid var(--line-soft)}
.blocco.scuro > *{max-width:1032px; margin-left:auto; margin-right:auto}
.kicker{font-family:'Cormorant Garamond',Georgia,serif; font-style:italic; color:var(--gold); font-size:18px; margin:0 0 8px}
.blocco h2{font-size:clamp(28px,4vw,38px); margin-bottom:22px}
.oro{color:var(--gold-hi)}
.due-col{display:grid; grid-template-columns:1fr 1fr; gap:36px}
.due-col p{margin:0; color:var(--muted)}

/* carte */
.griglia-2{display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:28px}
.griglia-3{display:grid; grid-template-columns:1fr 1fr 1fr; gap:16px; margin-top:28px}
.carta{border:1px solid var(--line-soft); background:rgba(255,255,255,.02); padding:26px 24px}
.carta h3{font-size:23px; color:var(--gold-hi)}
.carta .tag{font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--gold); margin:6px 0 10px}
.carta p{color:var(--muted); font-size:14.5px; margin:10px 0 0}

/* metodo */
ol.metodo{margin:26px 0 0; padding-left:22px; max-width:640px}
ol.metodo li{margin:14px 0; color:var(--muted)}
ol.metodo b{color:var(--text); font-weight:500}
.nota-metodo{margin-top:26px; font-size:13px; color:var(--muted); border-left:2px solid var(--gold); padding-left:14px; max-width:560px}

/* form */
.intro-form{color:var(--muted); margin:0 0 30px}
.form{max-width:620px}
.campo{margin-bottom:18px}
.riga{display:grid; grid-template-columns:1fr 1fr; gap:16px}
label{display:block; font-size:13px; letter-spacing:.05em; color:var(--muted); margin-bottom:7px}
input[type=text],input[type=email],input[type=url],select,textarea{
  width:100%; background:var(--panel); border:1px solid var(--line-soft);
  color:var(--text); padding:12px 14px; font-family:inherit; font-size:15px;
}
input:focus,select:focus,textarea:focus{outline:2px solid var(--gold); outline-offset:0; border-color:var(--gold)}
textarea{resize:vertical}
.consenso{display:flex; gap:10px; align-items:flex-start; font-size:13px; color:var(--muted); margin:22px 0 26px; letter-spacing:0; line-height:1.6}
.consenso input{margin-top:3px}
.nascosto{display:none}

/* footer */
footer{border-top:1px solid var(--line); margin-top:40px}
.footer-griglia{max-width:1080px; margin:0 auto; padding:56px 24px 30px; display:grid; grid-template-columns:1.4fr 1fr 0.6fr; gap:36px; font-size:14px; color:var(--muted)}
.marchio-footer{display:flex; align-items:center; gap:10px; font-family:'Cormorant Garamond',Georgia,serif; font-size:19px; color:var(--text); margin:0}
.claim{font-family:'Cormorant Garamond',Georgia,serif; font-style:italic; color:var(--muted); margin-top:14px; font-size:16px}
.footer-tit{color:var(--gold); font-size:12px; letter-spacing:.14em; text-transform:uppercase; margin:0 0 12px}
.footer-griglia p{margin:0; line-height:1.8}
.footer-basso{max-width:1080px; margin:0 auto; padding:0 24px 40px; font-size:12px; color:rgba(239,236,228,.35)}

/* pagine legali */
.legale{max-width:760px; margin:0 auto; padding:56px 24px 96px}
.legale h1{font-size:clamp(30px,5vw,42px); margin-bottom:8px}
.legale h2{font-size:22px; margin:36px 0 10px}
.legale p, .legale li{color:var(--muted); font-size:15px}
.avviso-bozza{border:1px solid var(--gold); background:rgba(201,168,106,.08); padding:14px 18px; font-size:13.5px; color:var(--gold-hi); margin:22px 0}

@media (max-width:760px){
  .due-col,.griglia-2,.griglia-3,.riga,.footer-griglia{grid-template-columns:1fr}
  .hero{padding-top:56px}
  .blocco{padding:52px 24px}
}
