/* Regole comuni. Vietati per scelta: rotate, skew, 3D, filter blur, backdrop-filter, ritagli poligonali, mix-blend, canvas. */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:84px;scroll-behavior:smooth;text-rendering:optimizeLegibility}
html.locked{overflow:hidden}
body{margin:0;overflow-wrap:break-word;font-kerning:normal;font-feature-settings:"liga","kern","onum"}
img{max-width:100%;height:auto;display:block}
figure,blockquote{margin:0}
p{margin:0 0 1em}
ol,ul{margin:0;padding:0;list-style:none}
h1,h2,h3{margin:0;font-weight:400}
a{color:inherit}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
:focus-visible{outline:2px solid currentColor;outline-offset:3px}
[hidden]{display:none!important}
.st{display:block;text-transform:lowercase}
.st::first-letter{text-transform:uppercase}
.c-links a+a{margin-left:26px}
a.lb{display:block;cursor:zoom-in}
.pt0{padding-top:0}

/* menu */
.menu-btn{display:none;width:44px;height:44px;font-size:1.5rem;line-height:1}
@media (max-width:900px){
 .menu-btn{display:block}
 .js .site-nav{display:none}
 .js .site-nav.open{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 0}
}

/* lightbox: solo comparsa, nessuna trasformazione */
.lbx{position:fixed;inset:0;z-index:100;background:#0d0b09;color:#f4efe5;font-family:Georgia,'Times New Roman',serif}
.lbx-stage{position:absolute;inset:20px 80px 72px;display:flex;align-items:center;justify-content:center}
.lbx-stage img{max-width:100%;max-height:100%;cursor:zoom-in;box-shadow:0 0 0 1px #fff2}
.lbx-stage.is-zoom{overflow:auto;display:block;cursor:zoom-out}
.lbx-stage.is-zoom img{max-width:none;max-height:none;margin:auto;cursor:zoom-out}
.lbx-stage.is-frame iframe{width:min(100%,calc((100vh - 110px)*16/9));aspect-ratio:16/9;border:0;background:#000}
.lbx-stage.is-pdf iframe{width:min(100%,920px);height:100%;border:0;background:#fff}
.lbx-foot{position:absolute;left:80px;right:80px;bottom:20px;display:flex;justify-content:space-between;gap:24px;align-items:baseline}
.lbx-cap{margin:0;font-size:1rem;line-height:1.35}
.lbx-n{font-size:.85rem;opacity:.75;white-space:nowrap}
.lbx-btn{width:46px;height:46px;border:1px solid #fff5;color:#fff;font-size:1.5rem;line-height:1;background:#0d0b09}
.lbx-btn:hover{background:#fff;color:#111}
.lbx .lbx-btn{position:absolute}
.lbx-close{right:18px;top:18px}
.lbx-prev{left:18px;top:calc(50% - 23px)}
.lbx-next{right:18px;top:calc(50% - 23px)}
.lbx.single .lbx-prev,.lbx.single .lbx-next{display:none}
@media (max-width:720px){
 .lbx-stage{inset:72px 10px 84px}
 .lbx-prev,.lbx-next{top:auto;bottom:16px}
 .lbx-prev{left:10px}.lbx-next{right:10px}
 .lbx-foot{left:66px;right:66px;bottom:12px;flex-direction:column;gap:2px;align-items:center;text-align:center}
}

/* torna su: unica transizione del sito, una dissolvenza di comparsa */
.totop{position:fixed;right:clamp(14px,2vw,26px);bottom:clamp(14px,2vw,26px);z-index:50;width:48px;height:48px;display:grid;place-items:center;border-radius:50%;background:var(--top-bg,#1a1a1a);color:var(--top-fg,#fff);border:1px solid var(--top-line,#ffffff40);box-shadow:0 8px 22px -8px #0008;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s}
.totop.on{opacity:1;visibility:visible}
.totop:hover{background:var(--top-fg,#fff);color:var(--top-bg,#1a1a1a)}
.totop svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* video */
.vcard{position:relative;display:block;cursor:pointer}
.vcard img{width:100%;aspect-ratio:16/9;object-fit:cover}
.vplay{position:absolute;left:50%;top:50%;width:64px;height:64px;margin:-32px;border-radius:50%;background:#0009;border:1px solid #fff}
.vplay::after{content:'';position:absolute;left:25px;top:20px;border-left:18px solid #fff;border-block:12px solid transparent}
.vcard:hover .vplay{background:#000c}

/* lettore */
.js .rd{display:none}
.js .rd.open{display:block;position:fixed;inset:0;z-index:95;overflow-y:auto;background:var(--read-bg);color:var(--read-ink)}
.rd .lbx-btn{position:fixed;right:22px;top:18px;z-index:3;background:var(--read-bg);color:var(--read-ink);border-color:var(--read-line)}
.rd .lbx-btn:hover{background:var(--read-ink);color:var(--read-bg)}
.rd-in{max-width:37rem;margin:0 auto;padding:clamp(64px,10vh,110px) 22px 110px}
.rd-title{font:var(--rd-title);margin:0 0 .5em}
.rd-sub{font-style:italic;opacity:.8;margin:0 0 .3em}
.rd-body{margin-top:40px;font:var(--rd-body)}
.rd-body p{margin:0 0 1.1em}
.rd-refs{margin-top:32px;padding-top:16px;border-top:1px solid var(--read-line);font-size:.98rem}
.ref{color:var(--accent);text-decoration:none;font-size:.78em;vertical-align:.25em;line-height:0;padding:0 2px}
.nref{color:var(--accent);text-decoration:none}
.notes{margin-top:46px;padding-top:18px;border-top:1px solid var(--read-line);font-size:.96rem;line-height:1.5}
.notes li{padding:8px 0}
.note-pop{position:absolute;z-index:4;width:min(420px,calc(100vw - 24px));max-height:320px;overflow:auto;padding:16px 18px;background:var(--read-ink);color:var(--read-bg);font-size:.96rem;line-height:1.48}
.note-pop a{color:inherit}
