@font-face{font-family:Montserrat;font-weight:400;src:url(fonts/Montserrat-Regular.otf) format("opentype");font-display:swap}
@font-face{font-family:Montserrat;font-weight:500;src:url(fonts/Montserrat-Medium.otf) format("opentype");font-display:swap}
@font-face{font-family:Montserrat;font-weight:800;src:url(fonts/Montserrat-ExtraBold.otf) format("opentype");font-display:swap}
@font-face{font-family:Montserrat;font-weight:900;src:url(fonts/Montserrat-Black.otf) format("opentype");font-display:swap}
:root{--pentola:#3a190a;--crema:#fff4e0;--terra:#9c3d1c;--fuoco:#f23613;--ambra:#ffb242;--ocra:#e2a953;--alloro:#3d6a1a;--grigio:#6c665f}
*{box-sizing:border-box}
body{margin:0;background:var(--crema);color:var(--pentola);font:500 1.0625rem/1.6 Montserrat,system-ui,sans-serif}
.bozza{background:var(--pentola);color:var(--crema);text-align:center;font-size:.8rem;padding:.4rem 1rem;letter-spacing:.05em}
main,header,footer>div{max-width:72rem;margin:0 auto;padding:0 1.25rem}
header{padding-top:1.5rem;padding-bottom:.5rem}
header img{width:min(15rem,70%);height:auto;display:block}
h1,h2{font-weight:900;text-transform:uppercase;letter-spacing:-.01em;line-height:1.05;margin:0 0 .75rem}
h1{font-size:clamp(2.4rem,9vw,4rem);margin-top:1.5rem}
h1 em{font-style:normal;color:var(--fuoco)}
h2{font-size:clamp(1.5rem,5vw,2rem);color:var(--terra)}
.etichetta{font-weight:800;text-transform:uppercase;letter-spacing:.2em;font-size:.8rem;color:var(--grigio);margin:0 0 .5rem}
section{padding:2.25rem 0;border-top:3px solid var(--ocra)}
.intro{border:0;padding-top:.5rem}
p{margin:0 0 1rem}
a{color:var(--terra);font-weight:800}
.serve{background:var(--ambra);border-radius:.75rem;padding:1.5rem 1.5rem 1rem;margin:2.25rem 0;border:3px solid var(--pentola)}
.serve h2{color:var(--pentola)}
.serve ul{list-style:none;margin:0 0 .5rem;padding:0}
.serve li{padding:.55rem 0;border-top:2px solid rgba(58,25,10,.25);font-weight:800}
.serve li:first-child{border-top:0}
.serve li span{display:block;font-weight:500;font-size:.95rem}
.serve .aggiornato{font-size:.85rem;margin:.75rem 0 0}
.orario{display:inline-block;background:var(--terra);color:#fff;padding:.35rem .9rem;border-radius:.4rem;font-weight:800}
form{display:grid;gap:1rem}
label{font-weight:800;font-size:.95rem;display:grid;gap:.3rem}
input,textarea{font:inherit;padding:.7rem .8rem;border:2px solid var(--pentola);border-radius:.4rem;background:#fff;color:var(--pentola);width:100%}
textarea{min-height:9rem;resize:vertical}
input:focus,textarea:focus,button:focus,a:focus{outline:3px solid var(--fuoco);outline-offset:2px}
.check{display:flex;gap:.6rem;align-items:flex-start;font-weight:500;font-size:.9rem}
.check input{width:auto;margin-top:.25rem}
.nascosto{position:absolute;left:-9999px}
button{font:800 1rem Montserrat,sans-serif;text-transform:uppercase;letter-spacing:.08em;background:var(--terra);color:#fff;border:0;border-radius:.4rem;padding:.9rem 1.4rem;cursor:pointer;justify-self:start}
button:hover{background:var(--pentola)}
button:disabled{opacity:.6;cursor:wait}
.esito{font-weight:800;min-height:1.5rem}
.esito.ok{color:var(--alloro)}.esito.no{color:var(--terra)}
.privacy{font-size:.85rem;color:var(--grigio)}
footer{margin-top:2rem;padding-bottom:0;font-size:.85rem;color:var(--grigio)}
footer p{margin:0 0 1rem}
.balzana{height:.9rem;display:flex}.balzana::before,.balzana::after{content:"";flex:1}.balzana::before{background:#fff}.balzana::after{background:#000}


.hero{display:grid;gap:0}
@media(min-width:56rem){
 main,header,footer>div{padding:0 2rem}
 .hero{grid-template-columns:1.15fr 1fr;gap:3rem;align-items:center;padding:1rem 0 2.5rem}
 .hero .serve{margin:0}
 h1{font-size:clamp(3.5rem,6.5vw,6rem)}
 .intro p:not(.etichetta){font-size:1.25rem;max-width:34rem}
 section:not(.intro){display:grid;grid-template-columns:1fr 2fr;gap:3rem;padding:3rem 0}
 section:not(.intro)>h2{grid-column:1;margin:0}
 section:not(.intro)>*:not(h2){grid-column:2}
 section:not(.intro) form{max-width:38rem}
}
@media(min-width:56rem){section:not(.intro)>h2{grid-row:1 / span 6;align-self:start}}
@media(min-width:56rem){section:not(.intro){row-gap:0}}
