/* ============================================================
   Base layer: le regole che valgono su ogni pagina.
   Nei sorgenti attuali sono ripetute in tutte e trentasette.
   ============================================================ */

*{margin:0;padding:0;box-sizing:border-box}
/* L'azzeramento qui sopra pesa zero, e Astra scrive «ul{margin:0 0 1.5em 3em}» e
   «p{margin-bottom:1.75em}» con selettori di elemento, che pesano di piu': nel
   pie' di pagina le liste rientravano di 56px e ogni paragrafo prendeva 26px
   sotto. Nelle pagine di prima non c'era Astra e l'azzeramento bastava. Qui si
   ripete con «body» davanti, che vale piu' del solo elemento: le regole del
   tema con una classe (.storia p, .hero .sub) continuano a vincere su questo. */
body p,body ul,body ol,body li,body dl,body dd,body figure,body blockquote,body pre,
body h1,body h2,body h3,body h4,body h5,body h6{margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--fondo);color:var(--sage);font-family:'Nunito Sans',system-ui,sans-serif;
     font-size:1.1688rem;line-height:1.68;-webkit-font-smoothing:antialiased;
     /* le foto dell'apertura sono ruotate e sporgono: senza questo il
        telefono si porta dietro una striscia vuota di lato */
     overflow-x:hidden}
h1,h2,h3{font-family:'Poppins',sans-serif;color:var(--crema);letter-spacing:-.02em;line-height:1.12}
img{max-width:100%;display:block}
a{color:var(--crema)}
:focus-visible{outline:3px solid var(--verde);outline-offset:3px;border-radius:4px}

/* Astra mette padding e margini suoi attorno al contenuto: qui non servono,
   le pagine dell'Atlante gestiscono la loro spaziatura da sole. */
.site-main{margin:0;padding:0}
.ast-container{max-width:none;padding:0}
