/* pagine legali: stessa lingua del sito — titolo fermo a sinistra, testo numerato a destra */
:root { --rose: #8C4A4A; --egg: #EAE6D5; --line: rgba(140,74,74,.22); --serif: 'Fraunces', 'Times New Roman', serif; --pad: clamp(22px, 6vw, 110px); --ease: cubic-bezier(.23, 1, .32, 1); }
* { box-sizing: border-box; margin: 0; padding: 0; }
body { font: 400 15px/1.75 'Montserrat', system-ui, sans-serif; color: var(--rose); background: var(--egg); -webkit-text-size-adjust: 100%; }
a { color: inherit; text-underline-offset: 3px; }
:focus-visible { outline: 1px solid currentColor; outline-offset: 5px; }
.label { font-size: 10px; letter-spacing: .44em; text-transform: uppercase; font-weight: 500; }
.bar { display: flex; justify-content: space-between; padding: calc(22px + env(safe-area-inset-top)) var(--pad) 0; }
.bar a { text-decoration: none; position: relative; padding: 6px 0; }
.bar a::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 1px; background: currentColor; transform: scaleX(0); transform-origin: right; transition: transform .6s var(--ease); }
.bar a:hover::after, .bar a:focus-visible::after { transform: scaleX(1); transform-origin: left; }
.wrap { display: grid; grid-template-columns: 5fr 7fr; gap: 0 6vw; padding: 12vh var(--pad) 14vh; }
aside { position: sticky; top: 14vh; align-self: start; }
h1 { font: 300 clamp(44px, 6.4vw, 110px)/.95 var(--serif); letter-spacing: -.035em; margin: 3vh 0 3vh; }
.upd { font-size: 12px; opacity: .7; }
article { counter-reset: s; max-width: 720px; }
article > h2 { counter-increment: s; position: relative; font: 300 clamp(24px, 2.4vw, 34px)/1.15 var(--serif); letter-spacing: -.015em; margin: 0 0 14px; padding-top: 5vh; border-top: 1px solid var(--line); }
article > h2::before { content: counter(s, decimal-leading-zero); display: block; font: 500 10px/1 'Montserrat', sans-serif; letter-spacing: .44em; margin-bottom: 14px; }
article > h2 ~ h2 { margin-top: 6vh; }
article p, article ul, article table { margin-bottom: 14px; } article ul { padding-left: 1.2em; } article li { margin-bottom: 6px; }
table { border-collapse: collapse; width: 100%; font-size: 13px; line-height: 1.55; }
td, th { border-top: 1px solid var(--line); padding: 12px 14px 12px 0; text-align: left; vertical-align: top; } th { font: 500 10px/1.4 'Montserrat', sans-serif; letter-spacing: .3em; text-transform: uppercase; opacity: .7; }
code { font-size: .92em; }
mark { background: rgba(173,189,108,.45); color: inherit; padding: 0 4px; }
button { font: inherit; color: inherit; background: none; border: 0; border-bottom: 1px solid currentColor; cursor: pointer; padding: 0 0 2px; }
footer { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 10px 30px; padding: 22px var(--pad) 28px; border-top: 1px solid var(--line); }
footer a, footer span { opacity: .65; text-decoration: none; } footer a:hover { opacity: 1; }
@media (max-width: 800px) { .wrap { grid-template-columns: 1fr; padding-top: 8vh; } aside { position: static; margin-bottom: 6vh; } }
