/* ============================================================
   reFrame · foglio di stile delle pagine legali
   Stessi font e stessi colori della pagina principale, ma
   impaginazione da documento: una colonna, righe lunghe il giusto.
   ============================================================ */
:root{
  --osso:#F4F2ED; --osso2:#EAE7E0;
  --inch:#14130F; --corpo:#39352E; --muto:#6B665D;
  --acc:#8B6B3D;
  --bordo:rgba(20,19,15,.13); --bordoscuro:rgba(244,242,237,.16);
  --suinch:#A9A499;
  --eo:cubic-bezier(.23,1,.32,1);
  --titolo:"Boska","Iowan Old Style",Palatino,Georgia,serif;
  --sans:"Switzer",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;
  --marchio:"Gambetta","Iowan Old Style",Palatino,Georgia,serif;
  --etich:"General Sans",-apple-system,BlinkMacSystemFont,Arial,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{background:var(--inch);scroll-behavior:smooth}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{background:var(--osso);color:var(--inch);font-family:var(--sans);
  font-size:17px;line-height:1.68;letter-spacing:-.006em;-webkit-font-smoothing:antialiased}
a{color:inherit}
:focus-visible{outline:2px solid var(--acc);outline-offset:3px;border-radius:2px}
.wrap{max-width:820px;margin:0 auto;padding-inline:clamp(20px,5vw,40px)}

/* ---------- testata ---------- */
header{position:sticky;top:0;z-index:20;padding:13px 0;
  background:rgba(244,242,237,.86);backdrop-filter:blur(18px) saturate(160%);
  border-bottom:1px solid var(--bordo)}
@media(prefers-reduced-transparency:reduce){header{background:var(--osso);backdrop-filter:none}}
.bar{display:flex;align-items:center;gap:18px;justify-content:space-between}
.logo{font-family:var(--marchio);font-size:24px;letter-spacing:-.02em;line-height:1;
  text-decoration:none;white-space:nowrap}
.logo i{font-style:italic;color:var(--acc)}
.logo sup{font-size:.4em;top:-.8em;position:relative;color:var(--muto)}
.torna{font-size:13.5px;color:var(--muto);text-decoration:none;display:inline-flex;
  align-items:center;gap:8px;transition:color .2s ease}
.torna svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:1.8;
  stroke-linecap:round;stroke-linejoin:round;transition:transform .3s var(--eo)}
@media(hover:hover) and (pointer:fine){
  .torna:hover{color:var(--inch)}
  .torna:hover svg{transform:translateX(-3px)}
}

/* ---------- testo ---------- */
main{padding:clamp(44px,7vw,84px) 0 clamp(60px,8vw,110px)}
.etichetta{font-family:var(--etich);font-size:11.5px;font-weight:600;letter-spacing:.2em;
  text-transform:uppercase;color:var(--acc);display:flex;align-items:center;gap:9px}
.etichetta::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--acc);flex:0 0 6px}
h1{font-family:var(--titolo);font-weight:600;font-size:clamp(2.1rem,5.4vw,3.4rem);
  line-height:1.02;letter-spacing:-.035em;margin:15px 0 0;text-wrap:balance}
.aggiornato{margin-top:16px;font-size:14px;color:var(--muto)}
.occhiello{margin-top:clamp(26px,3.4vw,38px);padding:clamp(20px,2.6vw,28px);
  background:var(--osso2);border-radius:8px;border:1px solid var(--bordo);
  font-size:16px;line-height:1.62;color:var(--corpo)}
.occhiello b{color:var(--inch);font-weight:600}
h2{font-family:var(--titolo);font-weight:600;font-size:clamp(1.34rem,3vw,1.85rem);
  line-height:1.12;letter-spacing:-.03em;
  margin:clamp(38px,4.6vw,60px) 0 0;padding-top:clamp(24px,3vw,32px);
  border-top:1px solid var(--bordo);text-wrap:balance}
h2.primo{border-top:0;padding-top:0}
h3{font-size:1.04rem;font-weight:600;letter-spacing:-.015em;margin:26px 0 0}
p{margin-top:14px;color:var(--corpo)}
ul,ol{margin:14px 0 0;padding-left:22px;color:var(--corpo)}
li{margin-top:9px}
li::marker{color:var(--acc)}
b,strong{color:var(--inch);font-weight:600}
main a{color:var(--inch);text-decoration:underline;text-underline-offset:3px;
  text-decoration-color:var(--acc)}
.tab{width:100%;border-collapse:collapse;margin-top:20px;font-size:14.5px}
.tab th,.tab td{text-align:left;padding:13px 14px;border-bottom:1px solid var(--bordo);
  vertical-align:top;color:var(--corpo)}
.tab th{font-family:var(--etich);font-size:11px;font-weight:600;letter-spacing:.14em;
  text-transform:uppercase;color:var(--muto);border-bottom-color:rgba(20,19,15,.26)}
.tab td:first-child{color:var(--inch);font-weight:500}
@media(max-width:640px){
  .tab,.tab tbody,.tab tr,.tab td{display:block;width:100%}
  .tab thead{display:none}
  .tab tr{border-bottom:1px solid var(--bordo);padding:14px 0}
  .tab td{border:0;padding:2px 0}
  .tab td:first-child{font-weight:600;margin-bottom:4px}
}
/* i pezzi che Lorenzo deve ancora riempire restano evidenti finché ci sono */
.dacompletare{background:rgba(139,107,61,.16);border-bottom:2px solid var(--acc);
  padding:1px 5px;font-weight:600;color:var(--inch)}

/* ---------- piede ---------- */
footer{background:var(--inch);color:var(--suinch);font-size:13.5px;padding:34px 0 30px}
.piede{display:flex;flex-wrap:wrap;gap:14px 26px;justify-content:space-between;align-items:center}
footer a{color:#CFC9BE;text-decoration:none}
footer nav{display:flex;flex-wrap:wrap;gap:20px}
@media(hover:hover) and (pointer:fine){footer a:hover{color:var(--osso)}}
