/* Pagine semplici del sito (404, privacy, note legali): stesso stile del brand, nessuna dipendenza esterna */
:root { --bg: #0a0b0d; --ink: #ece8e1; --ink-2: #c3c5ca; --ink-3: #9a9ca3; --line: rgba(236, 232, 225, .14); --quota: #ff5b1f; --luce: #c45cff; --cura: #2fe3c0; }
* { box-sizing: border-box; margin: 0; padding: 0; }
html { color-scheme: dark; -webkit-text-size-adjust: 100%; }
body { min-height: 100vh; min-height: 100dvh; background: radial-gradient(120% 80% at 50% -10%, #131418 0%, #0a0b0d 55%, #070809 100%) fixed, var(--bg);
  color: var(--ink); font-family: Archivo, system-ui, sans-serif; -webkit-font-smoothing: antialiased; line-height: 1.6; }
a { color: var(--ink); text-underline-offset: 3px; }
:focus-visible { outline: 2px solid var(--luce); outline-offset: 3px; border-radius: 6px; }
.salta { position: absolute; left: 12px; top: -60px; padding: 10px 14px; border-radius: 12px; background: var(--ink); color: var(--bg); font-weight: 650; text-decoration: none; z-index: 10; }
.salta:focus { top: 12px; }
.capo { display: flex; align-items: center; justify-content: space-between; gap: 16px; max-width: 760px; margin: 0 auto; padding: 22px 16px; }
.marchio { display: inline-flex; align-items: center; gap: 10px; color: var(--ink); text-decoration: none; font-weight: 700; }
.marchio svg { width: 26px; height: 25px; }
.capo nav { display: flex; gap: 8px; flex-wrap: wrap; }
.pill { display: inline-flex; align-items: center; gap: 6px; padding: 8px 14px; border-radius: 999px; border: 1px solid var(--line); color: var(--ink); text-decoration: none; font-size: 14px; font-weight: 600; background: rgba(255, 255, 255, .03); }
.pill:hover { background: rgba(255, 255, 255, .08); }
main { max-width: 760px; margin: 0 auto; padding: 20px 16px 80px; }
.k { font: 500 11px "JetBrains Mono", monospace; letter-spacing: .16em; text-transform: uppercase; color: var(--ink-3); }
h1 { font-weight: 800; font-stretch: 112%; font-size: clamp(36px, 8vw, 60px); line-height: 1; letter-spacing: -.02em; margin: 12px 0 16px; }
h1 em, h2 em { font-family: "Instrument Serif", serif; font-weight: 400; color: var(--luce); }
h2 { font-weight: 800; font-stretch: 108%; font-size: 24px; line-height: 1.15; margin: 40px 0 10px; }
h3 { font-weight: 700; font-size: 17px; margin: 22px 0 6px; }
p, li { color: var(--ink-2); font-size: 16.5px; }
p { margin: 8px 0; } ul { margin: 8px 0 8px 22px; } li { margin: 4px 0; } b, strong { color: var(--ink); font-weight: 650; }
.breve { margin-top: 18px; padding: 18px 20px; border: 1px solid var(--line); border-radius: 18px; background: rgba(255, 255, 255, .03); }
.agg { margin-top: 6px; color: var(--ink-3); font-size: 14px; }
table { width: 100%; border-collapse: collapse; margin: 12px 0; font-size: 15px; }
th, td { text-align: left; padding: 10px 8px; border-bottom: 1px solid var(--line); vertical-align: top; color: var(--ink-2); }
th { color: var(--ink); font-weight: 650; }
.piede { max-width: 760px; margin: 0 auto; padding: 24px 16px 40px; border-top: 1px solid var(--line); display: flex; flex-wrap: wrap; gap: 8px 18px; color: var(--ink-3); font-size: 14px; }
.piede a { color: var(--ink-2); }
/* 404 */
.vie { display: grid; gap: 10px; margin-top: 28px; }
.vie a { display: flex; align-items: center; gap: 14px; padding: 16px 18px; border: 1px solid var(--line); border-radius: 18px; text-decoration: none; background: rgba(255, 255, 255, .03); }
.vie a:hover, .vie a:focus-visible { background: rgba(255, 255, 255, .07); border-color: rgba(236, 232, 225, .3); }
.vie i { width: 10px; height: 10px; border-radius: 50%; background: var(--c, var(--ink)); flex: none; }
.vie b { font-size: 16px; } .vie span { color: var(--ink-2); font-size: 14px; margin-left: auto; text-align: right; }
@media (max-width: 520px) { .vie span { display: none; } .capo { flex-direction: column; align-items: flex-start; } }
@media (prefers-reduced-motion: reduce) { * { transition: none !important; animation: none !important; } }
