:root{
  --paper:#f4ede5;
  --card:#ffffff;
  --band:#fff8ec;
  --ink:#141414;
  --muted:#6b6257;
  --btn:#cf2900;
  --amber:#ffb200;
  --rule:#e3d7c8;
  --wide:1300px;
  --text:760px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);
  font:400 18px/1.65 Barlow,Helvetica,Arial,sans-serif}
a{color:var(--btn)}
h1,h2,h3{margin:0 0 .5em;font-weight:800;line-height:1.16;letter-spacing:-.015em}
h1{font-size:34px}
h2{font-size:23px;margin-top:1.5em}
h3{font-size:19px;margin-top:1.3em}
p,li{margin:0 0 1.05em}
ul,ol{padding-left:22px}
li{margin-bottom:.5em}
.wrap{max-width:var(--wide);margin:0 auto;padding:0 22px}
.col{max-width:var(--text);margin:0 auto;padding:0 22px}
.masthead{border-bottom:1px solid var(--rule)}
.masthead .wrap{display:flex;align-items:baseline;gap:14px;padding-top:20px;padding-bottom:20px}
.wordmark{font-family:"Open Sans",Barlow,sans-serif;font-weight:800;font-size:23px;
  letter-spacing:-.02em;color:var(--ink);text-decoration:none}
.wordmark span{color:var(--btn)}
.masthead small{color:var(--muted);font-size:13px}
main{padding:44px 0 66px}
.updated{color:var(--muted);font-size:15px;padding-bottom:18px;
  border-bottom:3px solid var(--btn);margin-bottom:30px}
table{border-collapse:collapse;width:100%;font-size:15.5px;margin:0 0 1.1em;background:var(--card)}
th,td{border:1px solid var(--rule);padding:8px 11px;text-align:left;vertical-align:top}
th{background:var(--band);font-weight:600}
.box{border:1px solid var(--rule);background:var(--card);border-radius:6px;padding:18px 20px;margin-bottom:1.1em}
.box p:last-child{margin-bottom:0}
footer{background:var(--ink);color:#cfc6bb;padding:46px 0 34px;font-size:15px}
footer h3{color:#fff;font-size:16px;margin:0 0 .5em}
footer p{margin-bottom:.9em}
footer a{color:#fff}
.footcontact{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 44px;
  margin-bottom:30px;max-width:640px}
.footcontact h3{grid-column:1/-1}
.footcontact .addr{margin:0;line-height:1.6}
.footnav{border-top:1px solid #3a332c;padding-top:22px;display:flex;flex-wrap:wrap;gap:9px 22px}
.fineprint{border-top:1px solid #3a332c;margin-top:22px;padding-top:20px;font-size:13.5px;color:#a89d90}
#cc{position:fixed;left:0;right:0;bottom:0;z-index:50;background:var(--card);
  border-top:3px solid var(--btn);padding:20px 0}
#cc .wrap{display:grid;grid-template-columns:1fr auto;gap:26px;align-items:center}
#cc p{margin:0;font-size:15px}
/* Garante: accettazione e rifiuto devono avere identico peso visivo. */
.cc-btns{display:flex;gap:11px}
.cc-btns button{font:800 15px Barlow,sans-serif;padding:13px 26px;border-radius:8px;
  cursor:pointer;border:2px solid var(--btn);background:var(--card);color:var(--btn);min-width:132px}
@media(max-width:820px){
  body{font-size:17px}
  h1{font-size:27px}
  h2{font-size:21px}
  .footcontact{grid-template-columns:1fr;gap:14px}
  #cc .wrap{grid-template-columns:1fr;gap:15px}
  .cc-btns button{flex:1}
  main{padding:30px 0 46px}
  table{font-size:14.5px}
  th,td{padding:7px 9px}
}
