:root {
  --sfondo: #f6f4ee;
  --scheda: #ffffff;
  --bordo: #d6d0c0;
  --testo: #1c1d1a;
  --secondario: #5a5c52;
  --accento: #8c6d22;
  --scuro: #1a1b19;
  --chiaro-su-scuro: #edeae0;
  color-scheme: light;
}
@media (prefers-color-scheme: dark) {
  :root {
    --sfondo: #1a1b19;
    --scheda: #222420;
    --bordo: #3a3d35;
    --testo: #edeae0;
    --secondario: #a9a99c;
    --accento: #c9a24a;
    color-scheme: dark;
  }
}
* { box-sizing: border-box; }
body {
  margin: 0;
  background: var(--sfondo);
  color: var(--testo);
  font: 18px/1.6 system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
}
a { color: var(--accento); }
.colonna { max-width: 860px; margin: 0 auto; padding: 0 16px; }
.testata { background: var(--scuro); color: var(--chiaro-su-scuro); padding: 12px 0; }
.testata .colonna { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; }
.marchio { display: flex; align-items: center; gap: 10px; color: #c9a24a; font-weight: 700; font-size: 20px; text-decoration: none; }
.marchio img { border-radius: 8px; }
nav { display: flex; flex-wrap: wrap; gap: 4px 14px; font-size: 15px; }
nav a { color: var(--chiaro-su-scuro); text-decoration: none; opacity: 0.85; }
nav a[aria-current] { color: #c9a24a; opacity: 1; font-weight: 600; }
nav a.lingua { border: 1px solid #3a3d35; border-radius: 12px; padding: 0 8px; }
main { padding: 32px 16px 48px; }
.eroe h1 { font-size: clamp(28px, 6vw, 42px); line-height: 1.15; margin: 0 0 12px; color: var(--accento); }
.sotto { font-size: 20px; color: var(--secondario); margin: 0 0 8px; }
.presto { font-weight: 600; }
.griglia { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 14px; margin: 28px 0; }
.scheda { background: var(--scheda); border: 1px solid var(--bordo); border-radius: 14px; padding: 16px; }
.scheda h2 { font-size: 18px; margin: 0 0 6px; }
.scheda p { margin: 0; color: var(--secondario); font-size: 16px; }
.avviso { font-size: 15px; color: var(--secondario); border-left: 3px solid var(--accento); padding-left: 12px; }
.testo h1 { color: var(--accento); font-size: 30px; line-height: 1.2; }
.testo h2 { font-size: 21px; margin-top: 28px; }
.testo table { width: 100%; border-collapse: collapse; font-size: 15px; display: block; overflow-x: auto; }
.testo th, .testo td { border-bottom: 1px solid var(--bordo); padding: 8px; text-align: left; vertical-align: top; }
.piede { border-top: 1px solid var(--bordo); padding: 20px 0; font-size: 14px; color: var(--secondario); }
