/* Pagina d'ingresso — token Calicchia Design (tokens.css). Tema scuro: traduzione dichiarata. */
:root {
  --bg: #FAFAF7; --line: #E6E4DC; --line-strong: #C9C5B7;
  --ink: #111111; --ink-muted: #5C5C58; --ink-subtle: #8C8C86; --accent: #F57F44;
  --font-display: 'Funnel Display', ui-sans-serif, system-ui, sans-serif;
  --font-sans: 'Funnel Sans', ui-sans-serif, system-ui, sans-serif;
  --font-mono: ui-monospace, 'SFMono-Regular', Menlo, Consolas, monospace;
  --ease: cubic-bezier(0.16, 1, 0.3, 1);
}
@media (prefers-color-scheme: dark) {
  :root { --bg: #111111; --line: #2D2D2C; --line-strong: #4A4A48; --ink: #FAFAF7; --ink-muted: #A8A8A6; --ink-subtle: #7A7A78; }
}
* { box-sizing: border-box; }
html { background: var(--bg); }
body { margin: 0; color: var(--ink); font-family: var(--font-sans); font-size: 1rem; line-height: 1.5; }
main { max-width: 1040px; margin: 0 auto; padding: clamp(32px, 8vh, 96px) 24px 48px; min-height: 100vh; display: flex; flex-direction: column; }
.etichetta { font-family: var(--font-mono); font-size: 0.75rem; letter-spacing: 0.15em; text-transform: uppercase; color: var(--ink-muted); margin: 0; }
h1 { font-family: var(--font-display); font-weight: 600; font-size: clamp(3rem, 6vw + 0.75rem, 7rem); line-height: 0.95; letter-spacing: -0.02em; margin: 16px 0 24px; }
.sommario { font-size: 1.25rem; max-width: 34ch; margin: 0 0 clamp(40px, 8vh, 88px); color: var(--ink-muted); }
nav { border-top: 1px solid var(--ink); }
.voce {
  display: grid; grid-template-columns: 3.5rem 1fr auto 2rem; gap: 16px; align-items: baseline;
  padding: 28px 0; border-bottom: 1px solid var(--line); color: var(--ink); text-decoration: none;
}
.voce .n { font-family: var(--font-mono); font-size: 0.75rem; color: var(--ink-subtle); }
.voce .corpo { display: grid; gap: 6px; }
.voce .titolo { font-family: var(--font-display); font-weight: 600; font-size: clamp(1.5rem, 1.6vw + 0.6rem, 2.25rem); line-height: 1.1; }
.voce .testo { color: var(--ink-muted); max-width: 52ch; }
.voce .stato { font-family: var(--font-mono); font-size: 0.75rem; letter-spacing: 0.15em; text-transform: uppercase; color: var(--ink-muted); white-space: nowrap; }
.voce .freccia { font-size: 1.5rem; line-height: 1; text-align: right; transition: transform 320ms var(--ease); }
.voce:hover .freccia, .voce:focus-visible .freccia { transform: translateX(6px); }
.voce:hover .titolo, .voce:focus-visible .titolo { text-decoration: underline; text-decoration-color: var(--accent); text-decoration-thickness: 2px; text-underline-offset: 6px; }
.voce:focus-visible { outline: 2px solid var(--ink); outline-offset: 4px; }
footer { margin-top: auto; padding-top: 40px; }
#rete::before { content: ''; display: inline-block; width: 7px; height: 7px; margin-right: 10px; background: var(--line-strong); }
:root[data-rete="interna"] #rete::before { background: var(--accent); }
#rete:empty::before { display: none; }
@media (max-width: 640px) {
  .voce { grid-template-columns: 2.2rem 1fr 1.5rem; padding: 22px 0; }
  .voce .stato { grid-column: 2; grid-row: 2; }
  .voce .freccia { grid-column: 3; grid-row: 1; }
}
@media (prefers-reduced-motion: reduce) { .voce .freccia { transition: none; } }
