:root{--ink:#16324F;--paper:#FAF9F6;--bollo:#1F7A6D;--scad:#F2C94C;--line:#DAD5CB;--muted:#5E6B78;--white:#fff}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Public Sans",system-ui,sans-serif;font-size:17px;line-height:1.65}
a{color:var(--bollo);text-decoration:none}a:hover{text-decoration:underline}
.mono{font-family:"Spline Sans Mono",monospace}.wrap{max-width:1080px;margin:0 auto;padding:0 22px}
header.site{background:var(--ink);color:var(--white);padding:26px 0 0}
.brand a{display:inline-block}.brand .logo{display:block;filter:drop-shadow(0 2px 6px rgba(0,0,0,.35))}
.brand .wordmark{font-family:"Archivo",sans-serif;font-weight:900;font-size:30px;color:var(--white)}
.tagline{color:#B9C6D2;font-size:14px;margin-top:6px}
nav.cats{display:flex;gap:2px;margin-top:20px;flex-wrap:wrap}
nav.cats a{background:rgba(255,255,255,.08);color:var(--white);padding:9px 16px;font-size:13.5px;font-weight:600;border-radius:6px 6px 0 0}
nav.cats a:hover,nav.cats a.on{background:var(--paper);color:var(--ink);text-decoration:none}
.scadenzario{background:var(--white);border-bottom:1px solid var(--line)}
.scadenzario .wrap{display:flex;align-items:center;overflow-x:auto;padding-top:10px;padding-bottom:10px}
.scadenzario .lbl{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);white-space:nowrap;margin-right:14px}
.mese{font-family:"Spline Sans Mono",monospace;font-size:12px;font-weight:600;color:var(--muted);padding:4px 9px;border-left:1px solid var(--line);white-space:nowrap}
.mese.now{background:var(--scad);color:var(--ink);border-radius:4px;border-color:transparent}
main{padding:36px 0 60px}
.hero h1{font-family:"Archivo",sans-serif;font-weight:800;font-size:clamp(28px,4.5vw,44px);line-height:1.12;margin:0 0 10px;max-width:19ch}
.hero p{color:var(--muted);max-width:60ch;margin:0 0 34px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:22px}
.catcard{background:var(--white);border:1px solid var(--line);border-radius:10px;padding:20px 22px;position:relative}
.timbro{position:absolute;top:-13px;left:18px;background:var(--bollo);color:var(--white);font-family:"Spline Sans Mono",monospace;font-size:10.5px;font-weight:600;letter-spacing:.12em;padding:4px 10px;border-radius:99px;text-transform:uppercase}
.catcard h2{font-family:"Archivo",sans-serif;font-weight:700;font-size:20px;margin:8px 0 6px}
.catcard .focus{font-size:14px;color:var(--muted);margin:0 0 14px}
.catcard ul{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.catcard li{border-bottom:1px solid var(--line)}
.catcard li a{display:block;padding:9px 0;color:var(--ink);font-size:14.5px;font-weight:600;line-height:1.4}
h1.cat{font-family:"Archivo",sans-serif;font-weight:800;font-size:32px;margin:0 0 4px}
.catfocus{color:var(--muted);margin:0 0 28px}
.list article{background:var(--white);border:1px solid var(--line);border-radius:8px;padding:14px 18px;margin-bottom:12px;display:flex;gap:16px;align-items:center}
.list img{width:92px;height:64px;object-fit:cover;border-radius:6px;flex:none}
.list .dt{font-family:"Spline Sans Mono",monospace;font-size:12px;color:var(--muted);white-space:nowrap}
.list h3{margin:2px 0 0;font-size:16.5px;line-height:1.4}.list h3 a{color:var(--ink)}
.art{max-width:760px}
.art .meta{font-family:"Spline Sans Mono",monospace;font-size:12px;color:var(--muted);margin-bottom:10px;display:flex;gap:16px;flex-wrap:wrap}
.art .meta .cat-tag{color:var(--bollo);font-weight:600}
.art h1{font-family:"Archivo",sans-serif;font-weight:800;font-size:clamp(26px,3.6vw,38px);line-height:1.15;margin:0 0 14px}
.art .desc{font-size:19px;color:var(--muted);line-height:1.55;margin-bottom:22px;border-left:3px solid var(--scad);padding-left:16px}
.art .heroimg{width:100%;border-radius:10px;margin:0 0 24px}
.art .body h2{font-family:"Archivo",sans-serif;font-weight:700;font-size:24px;margin:34px 0 10px}
.art .body h3{font-family:"Archivo",sans-serif;font-weight:700;font-size:19px;margin:26px 0 8px}
.art .body table{border-collapse:collapse;width:100%;margin:16px 0;background:var(--white);font-size:15px}
.art .body th{background:var(--ink);color:var(--white);text-align:left;padding:8px 12px;font-size:13px}
.art .body td{border:1px solid var(--line);padding:8px 12px}
.related{margin-top:44px;border-top:2px solid var(--ink);padding-top:18px}
.related h2{font-family:"Archivo",sans-serif;font-size:18px;margin:0 0 12px}
footer{background:var(--ink);color:#B9C6D2;font-size:13px;padding:26px 0;margin-top:20px}
footer a{color:#B9C6D2}