/* Base: tipografia, layout generale, testata, piè di pagina */
*{box-sizing:border-box}
[hidden]{display:none!important}
body{background:var(--paper);color:var(--ink);font-family:var(--body);font-size:17px;line-height:1.6}
.wrap{max-width:1180px;margin:0 auto;padding-inline:20px}
button,input{font:inherit;color:inherit}
a{color:var(--rubric)}
:focus-visible{outline:2px solid var(--rubric);outline-offset:2px}
.label{font-family:var(--ui);font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);font-weight:600}
.c-inf{--c:var(--inf);--cs:var(--inf-soft)} .c-pur{--c:var(--pur);--cs:var(--pur-soft)} .c-par{--c:var(--par);--cs:var(--par-soft)}

/* Testata */
header.top{border-bottom:1px solid var(--rule);background:var(--paper)}
.top .wrap{display:flex;align-items:center;gap:8px 18px;flex-wrap:wrap;padding-block:12px}
.brand{font-family:var(--display);font-size:22px;margin-right:auto;background:none;border:0;padding:0;cursor:pointer}
.brand b{color:var(--rubric);font-weight:400}
.nav{display:flex;gap:2px;font-family:var(--ui);font-size:14.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;flex-wrap:wrap}
.nav button{background:none;border:0;border-bottom:2px solid transparent;padding:6px 9px;cursor:pointer;color:var(--ink-2)}
.nav button[aria-current="page"]{color:var(--ink);border-bottom-color:var(--rubric)}
.nav button:hover{color:var(--ink)}
.level{display:flex;align-items:center;gap:0;font-family:var(--ui);font-size:13.5px;font-weight:600}
.level .label{margin-right:8px}
.level button{background:none;border:1px solid var(--rule);padding:4px 9px;cursor:pointer;color:var(--ink-2)}
.level button + button{border-left:0}
.level button[aria-pressed="true"]{background:var(--ink);color:var(--paper);border-color:var(--ink)}

/* Piè di pagina */
footer.site{border-top:1px solid var(--rule);background:var(--paper-2);margin-top:20px}
footer.site .wrap{padding-block:26px 34px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px 30px;font-size:15px}
footer.site h4{font-family:var(--ui);font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);margin:0 0 8px}
footer.site ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}
footer.site a{color:var(--ink);text-decoration:none}footer.site a:hover{color:var(--rubric)}
footer.site .copy{grid-column:1/-1;font-family:var(--ui);font-size:13px;color:var(--ink-2);border-top:1px solid var(--rule);padding-top:12px}
@media (max-width:900px){footer.site .wrap{grid-template-columns:repeat(2,minmax(0,1fr))}}
