:root{
  --bg:#05060f; --panel:#0c0e1d; --panel2:#12152b; --ink:#e9e9f1; --muted:#a8a6c4;
  --gold:#ffce4d; --link:#5cc6ff; --link-h:#fff35c; --visited:#c9a3ff;
  --bevlt:#565c8f; --bevdk:#080912; --line:#2a2d52; --rule:#1b1e3a;
  --mono:"Courier New",Courier,monospace;
  --serif:"Times New Roman",Times,Georgia,serif;
}
*{box-sizing:border-box}
body{
  margin:0; color:var(--ink); font-family:var(--serif); font-size:18px; line-height:1.6;
  background-color:var(--bg);
  background-image:
    radial-gradient(1.5px 1.5px at 24px 32px, rgba(255,255,255,.20), transparent),
    radial-gradient(1px 1px at 92px 128px, rgba(255,255,255,.14), transparent),
    radial-gradient(1px 1px at 156px 64px, rgba(170,190,255,.16), transparent),
    radial-gradient(1.5px 1.5px at 200px 180px, rgba(255,255,255,.10), transparent),
    radial-gradient(1px 1px at 60px 200px, rgba(255,255,255,.12), transparent);
  background-size:240px 240px; background-repeat:repeat;
}
a{color:var(--link); text-decoration:underline}
a:visited{color:var(--visited)}
a:hover{color:var(--link-h)}
a:active{color:#ff5555}
img{max-width:100%; height:auto}
h1,h2,h3{font-family:var(--serif); font-weight:bold; line-height:1.15}
.wrap{max-width:1180px; margin:0 auto; padding:0 22px}
.col{max-width:780px; margin:0 auto; padding:0 22px}

/* ---------- intestazione ---------- */
header.site{border-bottom:3px ridge var(--bevlt); background:linear-gradient(#0d1024,#06070f)}
.bar{max-width:1180px; margin:0 auto; padding:16px 20px; text-align:center}
.brand{display:inline-block; text-decoration:none}
.brand b{font-size:27px; font-weight:bold; color:var(--gold); letter-spacing:.02em; text-shadow:2px 2px 0 #000}
.brand .sub{display:block; font-family:var(--mono); font-size:11px; letter-spacing:.34em;
  text-transform:uppercase; color:var(--muted); margin-top:4px}
.bar nav{margin-top:11px; font-family:var(--mono); font-size:13px; display:flex; flex-wrap:wrap;
  justify-content:center; gap:3px 6px}
.bar nav a{color:var(--link); white-space:nowrap}
.bar nav a::before{content:"[ "; color:var(--bevlt)}
.bar nav a::after{content:" ]"; color:var(--bevlt)}
.menutgl{display:none!important}

/* ---------- lingue ---------- */
.langbar{border-bottom:1px solid var(--line); background:#06070f}
.langbar .in{max-width:1180px; margin:0 auto; padding:8px 20px; text-align:center;
  font-family:var(--mono); font-size:12.5px; line-height:2}
.langbar a{margin:0 5px; white-space:nowrap}
.langbar a.cur{color:var(--gold); text-decoration:none; font-weight:bold}

/* ---------- titolo pagina ---------- */
.phead{padding:34px 0 18px; text-align:center; border-bottom:1px dashed var(--line)}
.eyebrow{font-family:var(--mono); font-size:12px; letter-spacing:.28em; text-transform:uppercase;
  color:var(--muted); margin:0 0 10px}
.phead h1{font-size:clamp(30px,5.4vw,50px); margin:.1em 0 .25em; color:var(--gold);
  text-shadow:2px 2px 0 #000}
.phead .lede{color:var(--muted); font-size:18px; max-width:64ch; margin:6px auto 0; font-style:italic}

/* ---------- corpo ---------- */
.body{padding:34px 0 6px}
.body p{margin:0 0 1.2em}
.body h2{font-size:25px; color:var(--gold); margin:1.7em 0 .4em; border-bottom:1px solid var(--line);
  padding-bottom:5px}
.body h3{font-size:19px; color:var(--link); margin:1.5em 0 .3em}
.body .small{font-size:15px; color:var(--muted)}
blockquote{margin:1.5em 0; padding:.3em 18px; border-left:4px ridge var(--bevlt);
  color:#d6d3ee; font-style:italic; background:var(--panel)}
.figure{margin:1.7em auto; max-width:580px; border:4px ridge var(--bevlt); background:#000; padding:7px}
.figure figcaption{font-family:var(--mono); font-size:12px; color:var(--muted); text-align:center;
  margin-top:7px; letter-spacing:.04em}
hr.rule{border:0; border-top:3px groove var(--bevlt); margin:36px 0}

/* schede / opzioni biografiche */
.card{background:var(--panel); border:3px ridge var(--bevlt); padding:22px 24px; margin:22px 0}
.card .k{font-family:var(--mono); font-size:12px; letter-spacing:.18em; text-transform:uppercase;
  color:var(--gold); margin:0 0 10px}

/* indice menu (hub) — stile tabella d'epoca */
.index{list-style:none; margin:0; padding:0; border:3px ridge var(--bevlt); background:var(--panel)}
.index li{border-bottom:1px solid var(--line)}
.index li:nth-child(even){background:rgba(255,255,255,.025)}
.index li:last-child{border-bottom:0}
.index a{display:grid; grid-template-columns:230px 1fr; gap:20px; padding:13px 16px;
  align-items:baseline; color:var(--ink); text-decoration:none}
.index a:hover{background:var(--panel2)}
.index .t{font-weight:bold; color:var(--gold); font-size:19px}
.index a:hover .t{color:var(--link-h)}
.index .d{color:var(--muted); font-size:15px; line-height:1.5}

/* ---------- gallerie responsive ---------- */
.gal{display:grid; grid-template-columns:repeat(auto-fill,minmax(180px,1fr)); gap:12px; margin:28px 0}
.gal a{display:block; background:#000; border:3px ridge var(--bevlt); overflow:hidden; text-decoration:none}
.gal img{width:100%; aspect-ratio:1/1; object-fit:cover}
.gal .cap{padding:8px 10px; font-family:var(--mono); font-size:12px; color:var(--muted)}

/* griglia anni / eventi (indice foto) */
.years{display:grid; grid-template-columns:repeat(auto-fill,minmax(76px,1fr)); gap:8px; margin:22px 0}
.years a{display:block; text-align:center; padding:11px 4px; background:var(--panel2);
  border:2px outset var(--bevlt); font-family:var(--mono); font-size:14px; color:var(--link);
  text-decoration:none}
.years a:hover{background:var(--panel); color:var(--link-h)}
.years a:active{border-style:inset}
.events{display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:16px; margin:26px 0}
.event{background:var(--panel); border:3px ridge var(--bevlt); padding:16px 18px}
.event h3{margin:0 0 6px; font-size:17px; color:var(--gold)}
.event p{margin:0 0 12px; font-size:14px; color:var(--muted); line-height:1.5}
.event .links{display:flex; gap:6px 14px; flex-wrap:wrap; font-family:var(--mono); font-size:12px}

/* card libri */
.books{display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:16px; margin:26px 0}
.book{background:var(--panel); border:3px ridge var(--bevlt); padding:18px 20px}
.book h3{margin:0 0 8px; font-size:18px; color:var(--gold)}
.book p{margin:0; font-size:14px; color:var(--muted); line-height:1.5}

/* ---------- pie' di pagina ---------- */
footer.site{margin-top:54px; border-top:3px ridge var(--bevlt); background:#06070f; text-align:center}
footer.site .in{max-width:1180px; margin:0 auto; padding:30px 20px 44px}
.fnav{display:flex; flex-wrap:wrap; gap:5px 16px; justify-content:center; font-family:var(--mono);
  font-size:12px; color:var(--muted); padding-bottom:18px}
.fnav a{color:var(--link)}
.exhibit{display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:7px;
  margin:14px 0 6px}
.badge90{display:inline-block; font-family:var(--mono); font-size:11px; color:var(--muted);
  background:var(--panel2); border:2px outset var(--bevlt); padding:3px 8px}
.counter{font-family:var(--mono); font-size:13px; letter-spacing:3px; color:#5dff9a; background:#000;
  border:2px inset var(--bevlt); padding:3px 8px}
.fmeta{display:flex; flex-direction:column; gap:6px; margin-top:14px; font-family:var(--mono);
  font-size:12px; color:var(--muted)}
.fmeta .cc{color:var(--gold)}

/* RTL */
[dir="rtl"] body{font-family:"Times New Roman",Tahoma,"Segoe UI",serif}
[dir="rtl"] blockquote{border-left:0; border-right:4px ridge var(--bevlt); padding:.3em 18px}

/* ---------- mobile ---------- */
@media(max-width:760px){
  body{font-size:17px}
  .brand b{font-size:22px}
  .index a{grid-template-columns:1fr; gap:4px; padding:13px 12px}
  .index .t{font-size:18px}
  .phead{padding:26px 0 16px}
  .gal{grid-template-columns:repeat(auto-fill,minmax(132px,1fr)); gap:9px}
  .years{grid-template-columns:repeat(auto-fill,minmax(62px,1fr))}
}
@media print{header.site,.langbar,footer.site{display:none}}
