/* Impaginazione da monografia: tavole grandi, una o due per riga, didascalie piccole, titoli in didone. */
:root{
  --paper:#f4f4f1;
  --ink:#111111;
  --muted:#6a6a68;
  --line:#d8d7d2;
  --band:#e8e7e2;
  --accent:#d1381d;
  --display:"Bodoni Moda","Didot","Bodoni 72",Georgia,serif;
  --body:"Instrument Sans","Helvetica Neue",Arial,sans-serif;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){--paper:#0f0f10;--ink:#f1f0ec;--muted:#9c9b97;--line:#2b2b2d;--band:#1a1a1c;--accent:#ee6a52;color-scheme:dark}
}
:root[data-theme="dark"]{--paper:#0f0f10;--ink:#f1f0ec;--muted:#9c9b97;--line:#2b2b2d;--band:#1a1a1c;--accent:#ee6a52;color-scheme:dark}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:1.0625rem;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-underline-offset:.2em}
a:hover{color:var(--accent)}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
h1,h2,h3{font-family:var(--display);font-weight:500;margin:0;line-height:.95;letter-spacing:-.025em;text-wrap:balance}
p{margin:0 0 1em}
.wrap{width:min(1240px,100% - 2.5rem);margin-inline:auto}
.small{font-size:.74rem;letter-spacing:.16em;text-transform:uppercase}

/* testata */
.mast{display:flex;flex-wrap:wrap;gap:.6rem 2rem;align-items:center;justify-content:space-between;padding:1.1rem 0;border-bottom:1px solid var(--ink)}
.brand{text-decoration:none;font-weight:600}
.nav{display:flex;flex-wrap:wrap;gap:.3rem 1.8rem}
.nav a{text-decoration:none}
.nav a[aria-current="page"]{color:var(--accent)}

/* copertina */
.cover-spread{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(1.5rem,4vw,4rem);align-items:end;padding:clamp(1.5rem,4vw,3rem) 0 clamp(3rem,7vw,6rem)}
.title-big{grid-column:1/-1;font-size:clamp(2.6rem,11.4vw,10.6rem);line-height:.86;letter-spacing:-.04em;white-space:nowrap;font-weight:500;margin-bottom:clamp(1rem,3vw,2.5rem)}
.title-big em{font-style:italic;color:var(--accent)}
.lede-col p.lede{font-family:var(--display);font-size:clamp(1.5rem,2.6vw,2.2rem);line-height:1.12;letter-spacing:-.015em;max-width:18ch;margin-bottom:2rem}
.toc{list-style:none;margin:0;padding:0;border-top:1px solid var(--ink)}
.toc li{border-bottom:1px solid var(--line)}
.toc a{display:flex;justify-content:space-between;gap:1rem;padding:.8rem 0;text-decoration:none}
.toc a span:first-child{color:var(--muted);font-variant-numeric:tabular-nums}
.lead-fig{margin:0;justify-self:end;width:min(100%,calc(70vh*var(--ar)))}
.lead-fig img{width:100%}

/* tavole */
.fig{margin:0}
.fig .work{display:block;width:100%;padding:0;border:0;background:none;cursor:zoom-in}
.fig img{width:100%;height:auto}
.fig figcaption{display:flex;justify-content:space-between;gap:1rem;margin-top:.7rem;color:var(--muted)}
.fig figcaption b{font-weight:500;color:var(--ink);font-variant-numeric:tabular-nums}
/* griglia: celle tutte uguali, quadri appoggiati sulla stessa linea di base */
.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.5rem,3vw,2.5rem) clamp(1rem,2.5vw,2rem);margin-bottom:clamp(2.5rem,6vw,5rem)}
.fig .frame{display:flex;align-items:flex-end;justify-content:center;aspect-ratio:4/5;padding:7% 7% 7%;background:var(--band)}
.fig .frame img{width:auto;height:auto;max-width:100%;max-height:100%;box-shadow:0 14px 28px -16px rgba(0,0,0,.45)}
.fig .work:hover .frame img{transform:translateY(-3px)}
.fig .frame img{transition:transform .3s ease}

/* serie */
.part{padding:clamp(3rem,7vw,6rem) 0 0;border-top:1px solid var(--ink)}
.part + .part{margin-top:clamp(2rem,5vw,4rem)}
.part-head{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:2rem;align-items:end;margin-bottom:clamp(2rem,5vw,4rem)}
.part-head .num{display:block;color:var(--accent);margin-bottom:1rem;font-variant-numeric:tabular-nums}
.part-head h2{font-size:clamp(3rem,9.5vw,8.5rem);letter-spacing:-.045em;line-height:.85}
.part-head .txt p{color:var(--muted);margin-bottom:.6rem}
.part-head .txt .tech{font-size:.9rem}
details{font-size:.92rem;color:var(--muted)}
summary{cursor:pointer;color:var(--ink);width:max-content;max-width:100%}
details ul{margin:.6rem 0 0;padding:0;list-style:none}
details li{padding:.18rem 0;border-top:1px solid var(--line)}
.intro-sec{padding:clamp(2rem,5vw,4rem) 0 clamp(3rem,6vw,5rem);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:2rem}
.intro-sec h2{font-size:clamp(2.2rem,4vw,3.4rem)}
.intro-sec p{font-family:var(--display);font-size:clamp(1.3rem,2.2vw,1.8rem);line-height:1.2;letter-spacing:-.01em;max-width:34ch}

/* chi sono */
.about{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(2rem,6vw,6rem);align-items:start;padding:clamp(3rem,7vw,6rem) 0}
.about h2{font-size:clamp(3rem,8vw,7rem);letter-spacing:-.04em;line-height:.85;grid-column:1/-1}
.about .stmt p{font-family:var(--display);font-size:clamp(1.5rem,2.8vw,2.3rem);line-height:1.15;letter-spacing:-.015em;margin-bottom:.7em}
.facts{list-style:none;margin:2rem 0 0;padding:0;font-size:.98rem}
.facts li{padding:.7rem 0;border-top:1px solid var(--line)}
.facts li:last-child{border-bottom:1px solid var(--line)}

/* libro (sulla home) */
.backcover{background:var(--band);color:var(--ink)}
.backcover .in{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:clamp(2rem,6vw,6rem);align-items:center;padding:clamp(3rem,7vw,6rem) 0}
.backcover h2{font-size:clamp(2.8rem,7vw,6rem);letter-spacing:-.04em;line-height:.88;margin-bottom:1.25rem}
.backcover p{max-width:46ch;color:var(--muted)}
.bookimg{margin:0;max-width:340px;box-shadow:0 24px 40px -20px rgba(0,0,0,.5)}
.btn{display:inline-block;padding:.85rem 1.6rem;border:1px solid var(--ink);text-decoration:none;font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;font-weight:500;background:transparent;color:var(--ink)}
.btn:hover{background:var(--ink);color:var(--paper)}
.btn[aria-disabled="true"]{opacity:.55;pointer-events:none}

/* contatti */
.contact{padding:clamp(3rem,7vw,6rem) 0}
.contact h2{font-size:clamp(3rem,8vw,7rem);letter-spacing:-.04em;line-height:.85;margin-bottom:2rem}
.mail{font-family:var(--display);font-size:clamp(1.6rem,5vw,4rem);letter-spacing:-.03em;text-decoration:none;display:inline-block;margin-bottom:2rem;line-height:1}
.links{list-style:none;margin:0;padding:0;max-width:34rem}
.links li{display:flex;justify-content:space-between;gap:1rem;padding:.8rem 0;border-top:1px solid var(--line)}
.links li:last-child{border-bottom:1px solid var(--line)}
.links span{color:var(--muted)}
footer{border-top:1px solid var(--ink);padding:1.5rem 0 3rem;font-size:.85rem;color:var(--muted)}

/* pagina del libro */
.book-hero{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(2rem,6vw,5rem);align-items:center;padding:clamp(2rem,5vw,4rem) 0 clamp(3rem,7vw,6rem)}
.book-hero .bookimg{max-width:420px;width:100%}
.book-hero h1{font-size:clamp(3.4rem,9vw,8rem);letter-spacing:-.045em;line-height:.85}
.state{display:inline-block;margin-bottom:1.5rem;padding:.3rem .7rem;border:1px solid var(--accent);color:var(--accent)}
.book-hero .sub{font-family:var(--display);font-size:clamp(1.5rem,2.6vw,2.1rem);line-height:1.12;margin:1.5rem 0 .75rem;max-width:22ch}
.book-hero .by{color:var(--muted);margin-bottom:1.75rem}
.two{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,5rem);padding:clamp(3rem,6vw,5rem) 0;border-top:1px solid var(--ink)}
.state{color:var(--accent)}
.two h2{font-size:clamp(2.4rem,5vw,4rem);margin-bottom:1.5rem}
.blurb{font-size:1.1rem;max-width:56ch}
.blurb.big p:first-child{font-family:var(--display);font-size:clamp(1.4rem,2.4vw,1.9rem);line-height:1.18;letter-spacing:-.01em}
.specs{margin:0;display:grid;grid-template-columns:auto 1fr}
.specs dt,.specs dd{margin:0;padding:.65rem 0;border-top:1px solid var(--line)}
.specs dt{color:var(--muted);padding-right:2rem}
.inside{list-style:none;margin:0;padding:0}
.inside li{padding:.8rem 0;border-top:1px solid var(--line)}
.inside li:last-child{border-bottom:1px solid var(--line)}

/* lightbox */
dialog{border:0;padding:0;background:transparent;max-width:100vw;max-height:100vh;width:100vw;height:100vh;color:#fff}
dialog::backdrop{background:rgba(8,8,9,.95)}
.lb{display:grid;grid-template-rows:1fr auto;height:100%;padding:1rem}
.lb figure{margin:0;display:grid;place-items:center;min-height:0}
.lb img{max-height:calc(100vh - 7rem);max-width:100%;width:auto;object-fit:contain}
.lb-bar{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding-top:.75rem;font-size:.9rem}
.lb-count{opacity:.7;margin-left:.75rem;font-variant-numeric:tabular-nums}
.lb button{background:none;border:1px solid #fff8;color:#fff;padding:.5rem 1rem;cursor:pointer;font:inherit}
.lb button:hover{background:#fff;color:#111}

@media (max-width:1000px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:820px){
  .cover-spread,.about,.backcover .in,.book-hero,.two,.part-head,.intro-sec{grid-template-columns:1fr}
  .lead-fig{justify-self:start;width:100%}
  .grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* prima schermata: un quadro a tutta altezza */
.hero-full{position:relative;min-height:calc(100svh - 58px);background:var(--band);display:grid;grid-template-rows:auto 1fr auto;padding:clamp(1rem,2.5vw,2rem) clamp(1.25rem,3vw,2.5rem)}
.hero-text h1{font-size:clamp(1.8rem,3.4vw,3rem);letter-spacing:-.02em}
.hero-text p{margin:.35rem 0 0;color:var(--muted);font-size:.95rem}
.hero-stage{display:grid;place-items:center;min-height:0;padding:1rem 0}
.hero-stage .hs{grid-area:1/1;max-height:calc(100svh - 58px - 12rem);width:auto;height:auto;max-width:100%;opacity:0;transition:opacity .6s ease;box-shadow:0 24px 50px -24px rgba(0,0,0,.55)}
.hero-stage .hs.on{opacity:1}
.hero-foot{display:flex;justify-content:space-between;align-items:center;gap:1rem}
.hero-ctl{display:flex;align-items:center;gap:1.25rem}
.hero-ctl button{background:none;border:1px solid var(--ink);color:var(--ink);width:2.4rem;height:2.4rem;cursor:pointer;font:inherit;font-size:1rem}
.hero-ctl button:hover{background:var(--ink);color:var(--paper)}
.hero-ctl a{text-decoration:none;margin-left:.5rem}
@media (max-width:820px){.hero-stage .hs{max-height:62svh}}
@media (prefers-reduced-motion:reduce){.hero-stage .hs{transition:none}}

/* ===== Layout B: il muro ===== */
:root{--wall:#e6e0d5;--wallink:#4a443c}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--wall:#2a2824;--wallink:#cfc8ba}}
.wallhero{background:var(--wall);padding:clamp(1.5rem,4vw,3rem) 0 clamp(1.5rem,3vw,2.5rem)}
.wh-top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem 2rem;margin-bottom:clamp(1.5rem,4vw,3rem)}
.wh-top h1{font-size:clamp(2.4rem,6vw,5rem);letter-spacing:-.03em}
.wh-top p{margin:0;color:var(--wallink)}
.wh-foot{display:flex;justify-content:space-between;gap:1rem;margin-top:clamp(1.5rem,4vw,3rem);color:var(--wallink)}
.wh-foot span{font-family:var(--display);font-style:italic;font-size:1.1rem;letter-spacing:0;text-transform:none}
.wall-row{--h:clamp(220px,30vw,400px);display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:clamp(1.2rem,3vw,2.5rem);margin-bottom:clamp(2.5rem,6vw,5rem)}
.hero-row{--h:clamp(200px,32vw,440px);margin-bottom:0}
.wall-row .fig{flex:0 0 auto;width:calc(var(--h) * var(--ar))}
.wall-row .fig:nth-child(3n+2){width:calc(var(--h) * 1.2 * var(--ar))}
.wall-row .fig img,.wall-row .fig .work img{width:100%;height:auto;box-shadow:0 1px 2px rgba(0,0,0,.18),0 16px 30px -12px rgba(0,0,0,.35);transition:transform .3s ease}
.wall-row .fig .work:hover img{transform:translateY(-3px)}
#opere .wall-row{background:var(--wall);padding:clamp(1.5rem,4vw,3rem) clamp(1rem,3vw,2.5rem)}
#opere .fig figcaption{color:var(--wallink)}
.hero-row .fig{margin:0}
@media (max-width:820px){.wall-row .fig,.wall-row .fig:nth-child(3n+2){width:min(100%,calc(70vw * var(--ar) * 1.2));max-width:100%}.hero-row .fig{width:min(46%,calc(60vh * var(--ar)))}}
@media (min-width:821px){.hero-row{flex-wrap:nowrap;--h:clamp(200px,25.5vw,340px)}}
/* leggibilità testi */
:root{--muted:#4a4844}
.part-head .txt p{color:var(--ink);font-size:1.1rem;line-height:1.5}
.part-head .txt .tech{font-size:1rem;color:var(--muted)}
.about .stmt p{color:var(--ink)}
.ig-more{margin-top:1rem}
.ig-more a,.ig-end a{font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;font-family:var(--body);border-bottom:1px solid var(--ink);text-decoration:none;padding-bottom:.15em}
.ig-end{text-align:center;margin:0 0 clamp(3rem,6vw,5rem)}
/* libro: spettacoli e foto */
.shows{list-style:none;margin:0;padding:0;border-top:1px solid var(--ink)}
.shows li{display:grid;grid-template-columns:minmax(0,1fr);gap:.15rem;padding:.9rem 0;border-bottom:1px solid var(--line)}
.shows .t{font-family:var(--display);font-size:1.35rem;line-height:1.15;font-style:italic}
.shows .m{color:var(--muted);font-size:.95rem}
.shows a,.more a{font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;border-bottom:1px solid currentColor;width:max-content;padding-bottom:.1em;margin-top:.2rem}
.more{margin-top:1.2rem}
.gal-sec{padding:clamp(2rem,5vw,4rem) 0}
.gal-sec h2{font-size:clamp(2rem,4vw,3rem);margin-bottom:1.5rem}
.gal{--h:clamp(160px,22vw,300px);background:var(--wall);padding:clamp(1.2rem,3vw,2.5rem)}
.shows .lk{display:flex;flex-wrap:wrap;gap:.4rem 1.2rem;margin-top:.35rem}
.shows .lk a{margin-top:0}
.shows a.vid{border:1px solid var(--ink);border-bottom:1px solid var(--ink);padding:.35em .8em;color:var(--ink)}
.shows a.vid:hover{background:var(--ink);color:var(--paper)}
.gal{columns:3 260px;column-gap:clamp(1rem,2.5vw,2rem);background:var(--wall);padding:clamp(1.2rem,3vw,2.5rem);margin-top:1.5rem}
.gfig{margin:0 0 clamp(1rem,2.5vw,2rem);break-inside:avoid}
.gfig .work{display:block;width:100%;padding:0;border:0;background:none;cursor:zoom-in}
.gfig img{width:100%;height:auto;box-shadow:0 1px 2px rgba(0,0,0,.18),0 16px 30px -12px rgba(0,0,0,.35)}
.gfig figcaption{margin-top:.6rem;color:var(--wallink);letter-spacing:.08em}
.cast .t{font-style:normal;font-size:1.2rem}
/* Chi sono: testo più leggibile */
.about .stmt p{font-family:var(--body);font-size:clamp(1.1rem,1.5vw,1.3rem);line-height:1.65;letter-spacing:0;margin-bottom:1em;max-width:36em}
.about .stmt p:first-child{font-family:var(--display);font-size:clamp(1.8rem,3.2vw,2.6rem);line-height:1.12;letter-spacing:-.015em;margin-bottom:.8em}
.about .stmt p:last-child{font-family:var(--display);font-style:italic;font-size:clamp(1.4rem,2.2vw,1.8rem)}
.facts{font-size:1.05rem;line-height:1.55}
.about-book{margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid var(--ink)}
.about-book h3{font-size:1.8rem;margin-bottom:.8rem}
.about-book p{font-size:1.1rem;line-height:1.65;max-width:36em}
/* interlinea dei titoli grandi: evita che le righe si tocchino quando vanno a capo */
h1,h2,h3{line-height:1.08}
.part-head h2,.about h2,.backcover h2,.contact h2,.book-hero h1{line-height:1.06;padding-bottom:.04em}
.book-hero h1{margin-bottom:.3rem}
@media (max-width:820px){.book-hero h1,.backcover h2{line-height:1.1}}
/* titolo di serie: non deve invadere la colonna di testo accanto */
.part-head h2{font-size:clamp(3rem,7.8vw,8.5rem);min-width:0;overflow-wrap:anywhere}
.part-head{align-items:end}
@media (min-width:821px) and (max-width:1100px){.part-head{grid-template-columns:1fr}}
