:root, html.dark{--color-bg:#0a0a0c;--color-surface:#121215;--color-border:rgba(255,255,255,0.08);--color-border-strong:rgba(255,255,255,0.16);--color-text-main:#ededf0;--color-text-muted:#9a98a3;--color-text-dim:#82808a;--primary:#E8611C;--primary-hover:#ff7a37;--primary-rgb:232, 97, 28;--color-on-accent:#0a0a0c;--color-danger:#ef4444}
html:not(.dark){--color-bg:#f5f3ee;--color-surface:#ffffff;--color-border:rgba(27,26,24,0.11);--color-border-strong:rgba(27,26,24,0.18);--color-text-main:#1b1a18;--color-text-muted:#5b574e;--color-text-dim:#706b62;--primary:#b04a13;--primary-hover:#a34410;--primary-rgb:176, 74, 19;--color-on-accent:#ffffff;--color-danger:#b91c1c}
:root{--ease-out:cubic-bezier(0.22, 1, 0.36, 1)}
:root, html.dark{--ombra-panel:0 1px 2px rgba(0,0,0,0.22), 0 8px 24px rgba(0,0,0,0.18);--color-success-tenue:rgba(34,197,94,0.1);--color-success-bordo:rgba(34,197,94,0.25);--color-danger-tenue:rgba(239,68,68,0.1);--color-danger-bordo:rgba(239,68,68,0.25);--ombra-oggetto:0 1px 2px rgba(0,0,0,0.3), 0 18px 40px -16px rgba(0,0,0,0.5);--spunta-segno:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%230a0a0c' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 8.5l3.2 3L13 4.5'/%3E%3C/svg%3E")}
html:not(.dark){--ombra-panel:0 1px 2px rgba(27,26,24,0.04), 0 8px 24px rgba(27,26,24,0.05);--color-success-tenue:rgba(4,118,53,0.1);--color-success-bordo:rgba(4,118,53,0.25);--color-danger-tenue:rgba(185,28,28,0.1);--color-danger-bordo:rgba(185,28,28,0.25);--ombra-oggetto:0 1px 2px rgba(27,26,24,0.12), 0 18px 40px -16px rgba(27,26,24,0.35);--spunta-segno:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23ffffff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 8.5l3.2 3L13 4.5'/%3E%3C/svg%3E")}
:root{--durata-rapida:150ms;--curva-uscita:var(--ease-out);--sollevo-scala:1.015;--premuta-scala:0.985;--premuta-entrata:150ms;--premuta-curva-entrata:cubic-bezier(0.22, 1, 0.36, 1);--premuta-rilascio:280ms;--premuta-curva-rilascio:cubic-bezier(0.34, 1.45, 0.5, 1);--transizione-colori:color 400ms cubic-bezier(0.16, 1, 0.3, 1), background-color 400ms cubic-bezier(0.16, 1, 0.3, 1), border-color 400ms cubic-bezier(0.16, 1, 0.3, 1), text-decoration-color 400ms cubic-bezier(0.16, 1, 0.3, 1), fill 400ms cubic-bezier(0.16, 1, 0.3, 1), stroke 400ms cubic-bezier(0.16, 1, 0.3, 1);--transizione-colori-accesa:color 200ms cubic-bezier(0.22, 1, 0.36, 1), background-color 200ms cubic-bezier(0.22, 1, 0.36, 1), border-color 200ms cubic-bezier(0.22, 1, 0.36, 1), text-decoration-color 200ms cubic-bezier(0.22, 1, 0.36, 1), fill 200ms cubic-bezier(0.22, 1, 0.36, 1), stroke 200ms cubic-bezier(0.22, 1, 0.36, 1);--luce-accesa-durata:200ms;--luce-accesa-curva:cubic-bezier(0.22, 1, 0.36, 1);--luce-spenta-durata:400ms;--luce-spenta-curva:cubic-bezier(0.16, 1, 0.3, 1);--barra-durata:500ms;--barra-curva:cubic-bezier(0.16, 1, 0.3, 1);--raggio-md:9px;--raggio-lg:12px;--raggio-xl:14px;--focus-colore:var(--color-text-main);--focus-spessore:2px;--focus-distanza:2px;--focus-distanza-pagina:3px;--barra-scorrimento:5px;--barra-scorrimento-raggio:2px;--selezione-alpha:0.22;--marchio-arancio:#E8611C;--carta-arancio:#E8611C;--carta-arancio-testo:#0a0a0c;--carta-arancio-trama:url("/materia/carta-pressata.webp");--carta-arancio-fusione:soft-light;--carta-arancio-opacita:0.58;--lastra-raggio:16px;--capitolo-filo:3px;--linguetta-raggio:12px;--linguetta-margine:max(0.16em, 0.45rem) max(0.32em, 0.8rem) max(0.2em, 0.55rem);--linguetta-respiro:2.5rem;--targhetta-margine:0.2rem 0.55rem;--targhetta-raggio:5px;--collegamento-spessore:1px;--collegamento-distanza:0.3em;--pagina-larghezza:1440px;--margine-stretto:1.5rem;--margine-largo:3rem;--spazio-sezione:clamp(4.5rem, 8vw, 7.5rem);--passo-1:0.25rem;--passo-2:0.5rem;--passo-3:0.75rem;--passo-4:1rem;--passo-5:1.25rem;--passo-6:1.5rem;--aria-2:clamp(1.5rem, 3vw, 2.5rem);--aria-3:clamp(2rem, 4vw, 3rem);--aria-4:clamp(2.5rem, 4.5vw, 3.5rem);--riga-breve:32ch;--riga-stretta:40ch;--riga-media:46ch;--riga-larga:60ch;--riga-titolo-larga:20ch;--colonna-oggetto-largo:24rem;--colonna-stretta:32rem;--livello-barra:50;--livello-salta:60;--peso-medio:500;--peso-forte:600;--bersaglio-tocco:44px;--carattere:'Inter Variable', Inter, system-ui, sans-serif;--carattere-cifre:'JetBrains Mono', ui-monospace, monospace;--interlinea-di-serie:1.5;--filo-spessore:1px;--filo-marcato:2px;--bordo:1px solid var(--color-border);--bordo-forte:1px solid var(--color-border-strong);--velo-arancio:color-mix(in srgb, var(--primary) 7%, var(--color-surface));--filo-arancio:color-mix(in srgb, var(--primary) 32%, var(--color-border));--griglia-spazio:2rem;--griglia-capitolo:minmax(0, calc((100% - 11 * var(--griglia-spazio)) * 5 / 12 + 4 * var(--griglia-spazio))) minmax(0, 1fr);--griglia-guida:minmax(0, calc((100% - 11 * var(--griglia-spazio)) * 4 / 12 + 3 * var(--griglia-spazio))) minmax(0, 1fr);--lockup-marchio:26px;--lockup-marchio-piccolo:22px;--lockup-nome:1.25rem;--lockup-nome-piccolo:1.125rem;--barra-margine:1.25rem;--barra-margine-stretto:0.75rem;--barra-velo:color-mix(in srgb, var(--color-bg) 96%, transparent);--barra-sfocatura:none;--ancora:6rem;--barra-capsula-margine:0.375rem;--barra-capsula-raggio:18px;--barra-capsula-respiro:1rem;--barra-capsula-arrivo:1.015;--scorrimento-costante:140ms;--scorrimento-dove:(hover: hover) and (pointer: fine);--scorre-intervallo:cover 0% cover 30vh;--scorre-intervallo-linguetta:cover 8vh cover 30vh;--scorre-curva:cubic-bezier(0, 0, 1, 1);--scorre-schermo-grigio:1;--campo-fondo:var(--color-surface);--campo-filo:var(--color-text-dim);--campo-filo-sopra:var(--color-text-muted);--campo-filo-attivo:var(--primary);--campo-filo-errore:var(--color-danger);--campo-raggio:0.625rem;--campo-margine:0.8rem 1rem;--spunta-lato:1.25rem;--spunta-raggio:0.3rem;--spunta-pieno:var(--primary);--t-base:15px;--t-base-lh:21px;--t-md:17px;--t-md-lh:23px;--track-body:-0.011em;--track-heading:-0.021em;--testo-varianti:'cv01', 'cv03', 'cv04', 'ss03', 'tnum' 0;--ed-ingresso:clamp(2.5rem, 4.75vw, 4.25rem);--ed-ingresso-interlinea:1.05;--ed-ingresso-crenatura:-0.015em;--ed-ingresso-peso:500;--ed-linguetta:clamp(1.6rem, 2.8vw, 2.5rem);--ed-linguetta-interlinea:1.1;--ed-linguetta-crenatura:-0.01em;--ed-linguetta-peso:400;--ed-tesi:clamp(1.375rem, 2vw, 1.75rem);--ed-tesi-interlinea:1.2;--ed-tesi-crenatura:-0.015em;--ed-tesi-peso:400;--ed-pezzo:clamp(1.375rem, 1.7vw, 1.5rem);--ed-pezzo-interlinea:1.15;--ed-pezzo-crenatura:-0.015em;--ed-pezzo-peso:400;--ed-corpo:1.0625rem;--ed-corpo-interlinea:1.6;--ed-nota:0.875rem;--ed-nota-interlinea:1.5;--ed-minuta:0.8125rem;--ed-minuta-interlinea:1.4}
@media (min-width: 1024px) and (hover: hover) and (pointer: fine){:root{--barra-velo:color-mix(in srgb, var(--color-bg) 85%, transparent);--barra-sfocatura:saturate(180%) blur(24px)}}
@media (min-width: 768px) and (min-resolution: 2dppx), (min-width: 768px) and (-webkit-min-device-pixel-ratio: 2){:root{--carta-arancio-trama:url("/materia/carta-pressata-1254.webp")}}
@font-face { font-family: 'Inter Variable'; font-style: normal; font-display: swap; font-weight: 100 900; src: url('/assets/inter.woff2') format('woff2-variations'); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
*, ::before, ::after{box-sizing: border-box; border: 0 solid var(--color-border);}
html{line-height: var(--interlinea-di-serie); -webkit-text-size-adjust: 100%; font-family: var(--carattere); -webkit-tap-highlight-color: transparent; caret-color: var(--color-text-main);}
html.dark{color-scheme: dark;}
html:not(.dark){color-scheme: light;}
body{margin: 0; line-height: inherit; background-color: var(--color-bg); color: var(--color-text-main); font-family: var(--carattere); font-optical-sizing: auto; overflow-x: hidden; -webkit-font-smoothing: antialiased; font-feature-settings: "tnum" 0;}
h1, h2, h3, h4, h5, h6{font-size: inherit; font-weight: inherit;}
a{color: inherit; text-decoration: inherit;}
b, strong{font-weight: bolder;}
code, kbd, samp, pre{font-family: var(--carattere-cifre); font-size: 1em;}
small{font-size: 80%;}
sub, sup{font-size: 75%; line-height: 0; position: relative; vertical-align: baseline;}
sub{bottom: -0.25em;}
sup{top: -0.5em;}
hr{height: 0; color: inherit; border-top-width: var(--filo-spessore);}
table{text-indent: 0; border-color: inherit; border-collapse: collapse;}
button, input, optgroup, select, textarea{font: inherit; font-feature-settings: inherit; font-variation-settings: inherit; letter-spacing: inherit; color: inherit; margin: 0; padding: 0;}
button, select{text-transform: none;}
button, input:where([type='button'], [type='reset'], [type='submit']){-webkit-appearance: button; background-color: transparent; background-image: none;}
::-webkit-inner-spin-button, ::-webkit-outer-spin-button{height: auto;}
::-webkit-search-decoration{-webkit-appearance: none;}
summary{display: list-item;}
blockquote, dl, dd, h1, h2, h3, h4, h5, h6, hr, figure, p, pre{margin: 0;}
fieldset{margin: 0; padding: 0;}
legend{padding: 0;}
ol, ul, menu{list-style: none; margin: 0; padding: 0;}
dialog{padding: 0;}
textarea{resize: vertical;}
input::placeholder, textarea::placeholder{opacity: 1; color: var(--color-text-muted);}
button, [role='button']{cursor: pointer;}
:disabled{cursor: default;}
img, svg, video, canvas, audio, iframe, embed, object{display: block; vertical-align: middle;}
img, video{max-width: 100%; height: auto;}
[hidden]:where(:not([hidden='until-found'])){display: none;}
@media (prefers-reduced-motion: no-preference){html{scroll-behavior: smooth;}}
html[data-scorrimento]{scroll-behavior: auto;}
html[data-scorrimento='in-corsa'] iframe{pointer-events: none;}
::-webkit-scrollbar{width: var(--barra-scorrimento);}
::-webkit-scrollbar-track{background: var(--color-bg);}
::-webkit-scrollbar-thumb{background: var(--color-border-strong); border-radius: var(--barra-scorrimento-raggio);}
::-webkit-scrollbar-thumb:hover{background: var(--color-text-dim);}
::selection{background: rgba(var(--primary-rgb), var(--selezione-alpha)); color: var(--color-text-main);}
:root{--scorre-filo: none; --scorre-linguetta: none; --scorre-schermo: none; --scorre-tratto: none; --scorre-tratto-giu: none; --scorre-nodo: none;}
@supports (animation-timeline: view()){@media (prefers-reduced-motion: no-preference){:root{--scorre-filo: sc-traccia auto var(--scorre-curva) both; --scorre-linguetta: sc-scende auto var(--scorre-curva) both; --scorre-schermo: sc-accende auto var(--scorre-curva) both; --scorre-tratto: sc-traccia auto var(--scorre-curva) both; --scorre-tratto-giu: sc-cala auto var(--scorre-curva) both; --scorre-nodo: sc-nodo auto var(--scorre-curva) both;}}}
@keyframes sc-traccia{from { transform-origin: left center; scale: 0 1; } to { transform-origin: left center; scale: 1 1; }}
@keyframes sc-cala{from { transform-origin: center top; scale: 1 0; } to { transform-origin: center top; scale: 1 1; }}
@keyframes sc-scende{from { translate: 0 -100%; clip-path: inset(100% 0 0 0); } to { translate: 0 0; clip-path: inset(0); }}
@keyframes sc-accende{from { filter: grayscale(var(--scorre-schermo-grigio)); } to { filter: grayscale(0); }}
@keyframes sc-nodo{from { border-color: var(--color-border); color: var(--color-text-dim); }}
:focus-visible{outline: var(--focus-spessore) solid var(--focus-colore); outline-offset: var(--focus-distanza-pagina);}
:where(a, button, summary, input, textarea, select){transition: var(--transizione-colori);}
:where(a, button, summary, input, textarea, select):is(:hover, :focus-visible){transition: var(--transizione-colori-accesa);}
html[data-fermo] :is(a, button, summary, input, textarea, select){pointer-events: none;}
html[data-fermo] *, html[data-fermo] *::before, html[data-fermo] *::after{transition: none !important;}
@media (prefers-reduced-motion: reduce){:where(a, button, summary, input, textarea, select), :where(a, button, summary, input, textarea, select):is(:hover, :focus-visible){transition: none;}}
:root { --margine: var(--margine-stretto); }
@media (min-width: 768px) { :root { --margine: var(--margine-largo); } }

html { scroll-padding-top: calc(env(safe-area-inset-top, 0px) + var(--ancora)); }
body {
  font-feature-settings: var(--testo-varianti);
  font-size: var(--ed-corpo);
  line-height: var(--ed-corpo-interlinea);
  letter-spacing: var(--track-body);
  padding-bottom: env(safe-area-inset-bottom, 0px);
}
h1, h2, h3, h4 { text-wrap: balance; letter-spacing: var(--track-heading); }
p, li { text-wrap: pretty; }
[hidden] { display: none !important; }

.testo a, .nota a, .piede a, .messaggio a, .consenso a {
  color: var(--color-text-main);
  text-decoration: underline;
  text-decoration-thickness: var(--collegamento-spessore);
  text-decoration-color: var(--color-text-dim);
  text-underline-offset: var(--collegamento-distanza);
}
.testo a:hover, .nota a:hover, .piede a:hover, .messaggio a:hover, .consenso a:hover { text-decoration-color: var(--color-text-main); }

.salta {
  position: fixed;
  top: calc(env(safe-area-inset-top, 0px) + var(--passo-3));
  left: var(--passo-3);
  z-index: var(--livello-salta);
  padding: var(--passo-3) var(--passo-5);
  border-radius: var(--raggio-md);
  background: var(--color-text-main);
  color: var(--color-bg);
  font-size: var(--ed-nota);
  font-weight: var(--peso-medio);
  text-decoration: none;
  transform: translateY(calc(-100% - var(--passo-4) - env(safe-area-inset-top, 0px)));
}
.salta:focus { transform: none; }

.barra {
  position: sticky;
  top: 0;
  z-index: var(--livello-barra);
  padding-top: calc(env(safe-area-inset-top, 0px) + var(--barra-margine));
  padding-bottom: var(--barra-margine);
  transition: padding-block var(--barra-durata) var(--barra-curva);
}
.barra[data-scorre] { padding-top: calc(env(safe-area-inset-top, 0px) + var(--barra-margine-stretto)); padding-bottom: var(--barra-margine-stretto); }
.barra__interno {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--passo-4);
  width: calc(100% - 2 * var(--margine));
  max-width: calc(var(--pagina-larghezza) - 2 * var(--margine));
  margin-inline: auto;
}
.barra__interno::before {
  content: '';
  position: absolute;
  z-index: -1;
  top: calc(-1 * var(--barra-capsula-margine));
  bottom: calc(-1 * var(--barra-capsula-margine));
  left: calc(-1 * var(--barra-capsula-respiro));
  right: calc(-1 * var(--barra-capsula-margine));
  border: var(--bordo);
  border-radius: var(--barra-capsula-raggio);
  background: var(--barra-velo);
  -webkit-backdrop-filter: var(--barra-sfocatura);
  backdrop-filter: var(--barra-sfocatura);
  box-shadow: var(--ombra-panel);
  opacity: 0;
  scale: var(--barra-capsula-arrivo);
  visibility: hidden;
  transition: opacity var(--barra-durata) var(--barra-curva), scale var(--barra-durata) var(--barra-curva), visibility 0s linear var(--barra-durata);
}
.barra[data-scorre] .barra__interno::before {
  opacity: 1;
  scale: none;
  visibility: visible;
  transition: opacity var(--barra-durata) var(--barra-curva), scale var(--barra-durata) var(--barra-curva);
}
.firma { display: inline-flex; align-items: center; gap: var(--passo-3); color: var(--color-text-main); text-decoration: none; }
.firma:hover { color: var(--color-text-main); }
.firma__segno { width: var(--lockup-marchio); height: var(--lockup-marchio); flex: none; }
.firma__nome { font-size: var(--lockup-nome); font-weight: var(--peso-forte); letter-spacing: var(--track-heading); }
.barra[data-scorre] .firma__segno { width: var(--lockup-marchio-piccolo); height: var(--lockup-marchio-piccolo); }
.barra[data-scorre] .firma__nome { font-size: var(--lockup-nome-piccolo); }
.arca-punto { fill: var(--marchio-arancio); }

.bottone {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--passo-2);
  padding: var(--passo-3) var(--passo-6);
  min-height: var(--bersaglio-tocco);
  border: var(--filo-spessore) solid var(--primary);
  border-radius: var(--raggio-lg);
  background: var(--primary);
  color: var(--color-on-accent);
  font: inherit;
  font-size: var(--t-base);
  line-height: var(--t-base-lh);
  font-weight: var(--peso-medio);
  letter-spacing: 0;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  transition:
    transform var(--premuta-rilascio) var(--premuta-curva-rilascio),
    color var(--luce-spenta-durata) var(--luce-spenta-curva),
    background-color var(--luce-spenta-durata) var(--luce-spenta-curva),
    border-color var(--luce-spenta-durata) var(--luce-spenta-curva);
}
.bottone:hover, .bottone:focus-visible {
  background: var(--primary-hover);
  border-color: var(--primary-hover);
  color: var(--color-on-accent);
  transform: scale(var(--sollevo-scala));
  transition:
    transform var(--premuta-rilascio) var(--premuta-curva-rilascio),
    color var(--luce-accesa-durata) var(--luce-accesa-curva),
    background-color var(--luce-accesa-durata) var(--luce-accesa-curva),
    border-color var(--luce-accesa-durata) var(--luce-accesa-curva);
}
.bottone:active { transform: scale(var(--premuta-scala)); transition-duration: var(--premuta-entrata); transition-timing-function: var(--premuta-curva-entrata); }
.bottone:disabled { cursor: progress; background: var(--color-text-dim); border-color: var(--color-text-dim); transform: none; }
.bottone--barra { padding: var(--passo-2) var(--passo-4); min-height: 0; }

.pagina {
  width: calc(100% - 2 * var(--margine));
  max-width: calc(var(--pagina-larghezza) - 2 * var(--margine));
  margin-inline: auto;
  display: grid;
  gap: var(--spazio-sezione);
  padding-block: var(--aria-4) var(--spazio-sezione);
}
.pagina > * { min-width: 0; }
.pagina--testo { gap: var(--aria-4); }

.apertura { display: grid; gap: var(--aria-4); align-items: center; }
.apertura__testo { display: grid; gap: var(--passo-5); justify-items: start; }
.targhetta {
  display: inline-block;
  padding: var(--targhetta-margine);
  border: var(--bordo-forte);
  border-radius: var(--targhetta-raggio);
  color: var(--color-text-main);
  font-size: var(--ed-minuta);
  line-height: var(--ed-minuta-interlinea);
  font-weight: var(--peso-medio);
}
h1 { font-size: var(--ed-ingresso); line-height: var(--ed-ingresso-interlinea); letter-spacing: var(--ed-ingresso-crenatura); font-weight: var(--ed-ingresso-peso); max-width: var(--riga-titolo-larga); }
.tesi { font-size: var(--ed-tesi); line-height: var(--ed-tesi-interlinea); letter-spacing: var(--ed-tesi-crenatura); font-weight: var(--ed-tesi-peso); max-width: var(--riga-stretta); }
.sottile { color: var(--color-text-muted); max-width: var(--riga-media); }
.azioni { display: flex; flex-wrap: wrap; align-items: center; gap: var(--passo-3) var(--passo-6); margin-top: var(--passo-2); }
.azioni .bottone { width: 100%; max-width: var(--colonna-oggetto-largo); }

.carta {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background-color: var(--carta-arancio);
  color: var(--carta-arancio-testo);
}
.carta::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background: var(--carta-arancio-trama) center / cover;
  mix-blend-mode: var(--carta-arancio-fusione);
  opacity: var(--carta-arancio-opacita);
}
.carta > * { position: relative; z-index: 1; }
.scatola {
  display: grid;
  place-items: center;
  aspect-ratio: 1 / 1;
  width: 100%;
  max-width: var(--colonna-stretta);
  justify-self: center;
  border-radius: var(--lastra-raggio);
  box-shadow: var(--ombra-oggetto);
}
.scatola svg { width: 50%; height: auto; }
.carta .arca-punto { fill: currentColor; }

.capitolo { display: grid; gap: var(--aria-3); }
.capitolo::before {
  content: '';
  display: block;
  height: var(--capitolo-filo);
  background: var(--marchio-arancio);
  animation: var(--scorre-filo);
  animation-timeline: view();
  animation-range: var(--scorre-intervallo);
}
.linguetta {
  width: fit-content;
  max-width: calc(100% - var(--linguetta-respiro));
  margin-top: calc(-1 * var(--aria-3));
  border-radius: 0 0 var(--linguetta-raggio) var(--linguetta-raggio);
  animation: var(--scorre-linguetta);
  animation-timeline: view();
  animation-range: var(--scorre-intervallo-linguetta);
}
.linguetta > h2 { margin: 0; padding: var(--linguetta-margine); font-size: var(--ed-linguetta); line-height: var(--ed-linguetta-interlinea); letter-spacing: var(--ed-linguetta-crenatura); font-weight: var(--ed-linguetta-peso); }
.capitolo__corpo { display: grid; gap: var(--aria-3); }
.guida { font-size: var(--ed-tesi); line-height: var(--ed-tesi-interlinea); letter-spacing: var(--ed-tesi-crenatura); font-weight: var(--ed-tesi-peso); max-width: var(--riga-breve); }
.testo { display: grid; gap: var(--passo-5); align-content: start; }
.testo p, .testo li { max-width: var(--riga-media); }
.testo p { color: var(--color-text-muted); }
.testo strong, .testo p b { color: var(--color-text-main); font-weight: var(--peso-forte); }
.testo h3 { font-size: var(--ed-pezzo); line-height: var(--ed-pezzo-interlinea); letter-spacing: var(--ed-pezzo-crenatura); font-weight: var(--ed-pezzo-peso); margin-top: var(--passo-3); }
.testo h3:first-child { margin-top: 0; }
.elenco { display: grid; gap: var(--passo-3); list-style: none; padding: 0; }
.elenco li { color: var(--color-text-muted); padding-left: var(--passo-5); position: relative; }
.elenco li::before { content: ''; position: absolute; left: 0; top: var(--passo-3); width: var(--passo-2); height: var(--passo-2); border-radius: 50%; background: var(--color-text-dim); }
.elenco li b { color: var(--color-text-main); font-weight: var(--peso-forte); }
.nota {
  max-width: var(--riga-media);
  padding: var(--passo-4) var(--passo-5);
  border: var(--bordo);
  border-radius: var(--raggio-xl);
  background: var(--color-surface);
  color: var(--color-text-muted);
  font-size: var(--ed-nota);
  line-height: var(--ed-nota-interlinea);
}
.nota b { display: block; color: var(--color-text-main); font-weight: var(--peso-forte); margin-bottom: var(--passo-1); }
.nota--fatto { background: var(--velo-arancio); border-color: var(--filo-arancio); }
.nota--bozza { background: var(--velo-arancio); border-color: var(--filo-arancio); color: var(--color-text-main); font-size: var(--ed-corpo); line-height: var(--ed-corpo-interlinea); max-width: var(--riga-larga); }

@media (min-width: 1024px) {
  .apertura { grid-template-columns: var(--griglia-capitolo); column-gap: var(--griglia-spazio); }
  .capitolo__corpo { grid-template-columns: var(--griglia-guida); column-gap: var(--griglia-spazio); }
}

.modulo { display: grid; gap: var(--passo-5); max-width: var(--colonna-oggetto-largo); }
.campo { display: grid; gap: var(--passo-2); }
.campo label { font-weight: var(--peso-forte); font-size: var(--t-base); }
input[type="email"] {
  width: 100%;
  font: inherit;
  font-size: var(--ed-corpo);
  line-height: var(--ed-corpo-interlinea);
  color: var(--color-text-main);
  background: var(--campo-fondo);
  border: var(--filo-spessore) solid var(--campo-filo);
  border-radius: var(--campo-raggio);
  padding: var(--campo-margine);
}
input[type="email"]:hover { border-color: var(--campo-filo-sopra); }
input[type="email"]:focus-visible { border-color: var(--campo-filo-attivo); outline-offset: var(--focus-distanza); }
input[type="email"][aria-invalid="true"]:not(:focus-visible) { border-color: var(--campo-filo-errore); }
.consenso { display: grid; grid-template-columns: var(--spunta-lato) minmax(0, 1fr); gap: var(--passo-4); align-items: start; font-size: var(--t-base); cursor: pointer; }
.consenso input {
  appearance: none;
  -webkit-appearance: none;
  width: var(--spunta-lato);
  height: var(--spunta-lato);
  margin: var(--passo-1) 0 0;
  border: var(--filo-spessore) solid var(--campo-filo);
  border-radius: var(--spunta-raggio);
  background: var(--campo-fondo) center / var(--passo-3) no-repeat;
  cursor: pointer;
}
.consenso input:hover { border-color: var(--color-text-main); }
.consenso input:checked { border-color: var(--spunta-pieno); background-color: var(--spunta-pieno); background-image: var(--spunta-segno); }
.esca { position: absolute; left: -100vw; width: var(--filo-spessore); height: var(--filo-spessore); overflow: hidden; }
.modulo .bottone { width: 100%; }
.messaggio { display: none; padding: var(--passo-4) var(--passo-5); border: var(--bordo); border-radius: var(--raggio-xl); font-size: var(--t-base); }
.messaggio:target, .messaggio.visibile { display: block; }
.messaggio--ok { background: var(--color-success-tenue); border-color: var(--color-success-bordo); }
.messaggio--errore { background: var(--color-danger-tenue); border-color: var(--color-danger-bordo); }
.piccolo { font-size: var(--ed-nota); line-height: var(--ed-nota-interlinea); color: var(--color-text-muted); max-width: var(--riga-media); }

.scritto { display: grid; gap: var(--passo-5); max-width: var(--riga-larga); }
.scritto h2 { font-size: var(--ed-pezzo); line-height: var(--ed-pezzo-interlinea); letter-spacing: var(--ed-pezzo-crenatura); font-weight: var(--ed-pezzo-peso); margin-top: var(--passo-6); }
.scritto h3 { font-size: var(--t-md); line-height: var(--t-md-lh); font-weight: var(--peso-forte); margin-top: var(--passo-3); }
.scritto p, .scritto li { color: var(--color-text-muted); max-width: var(--riga-larga); }
.scritto p b, .scritto li b, .scritto strong { color: var(--color-text-main); font-weight: var(--peso-forte); }
.scritto ul { display: grid; gap: var(--passo-3); padding-left: var(--passo-5); list-style: disc; }
.scritto a { color: var(--color-text-main); text-decoration: underline; text-decoration-thickness: var(--collegamento-spessore); text-decoration-color: var(--color-text-dim); text-underline-offset: var(--collegamento-distanza); }
.scritto a:hover { text-decoration-color: var(--color-text-main); }
.scritto .data { font-size: var(--ed-nota); color: var(--color-text-dim); }
.scritto dl { display: grid; gap: var(--passo-3); }
.scritto dt { color: var(--color-text-main); font-weight: var(--peso-forte); }
.scritto dd { color: var(--color-text-muted); }
.domande { display: grid; gap: var(--passo-2); }
details { background: var(--color-surface); border: var(--bordo); border-radius: var(--raggio-xl); }
summary { list-style: none; cursor: pointer; padding: var(--passo-4); display: grid; grid-template-columns: minmax(0, 1fr) var(--passo-6); gap: var(--passo-3); align-items: center; font-weight: var(--peso-medio); font-size: var(--t-md); line-height: var(--t-md-lh); }
summary::-webkit-details-marker { display: none; }
summary::before, summary::after { content: ''; grid-area: 1 / 2; justify-self: center; background: var(--primary); transition: transform var(--durata-rapida) var(--curva-uscita); }
summary::before { width: var(--passo-3); height: var(--filo-marcato); }
summary::after { width: var(--filo-marcato); height: var(--passo-3); }
details[open] summary::after { transform: scaleY(0); }
.risposta { padding: 0 var(--passo-4) var(--passo-4); display: grid; gap: var(--passo-3); }
.risposta p { color: var(--color-text-muted); max-width: var(--riga-larga); }

.piede { border-top: var(--bordo); }
.piede__interno {
  width: calc(100% - 2 * var(--margine));
  max-width: calc(var(--pagina-larghezza) - 2 * var(--margine));
  margin-inline: auto;
  padding-block: var(--aria-2);
  display: grid;
  gap: var(--passo-4);
  color: var(--color-text-muted);
  font-size: var(--ed-nota);
  line-height: var(--ed-nota-interlinea);
}
.piede nav { display: flex; flex-wrap: wrap; gap: var(--passo-2) var(--passo-6); }
.piede nav a { color: var(--color-text-main); text-decoration: none; }
.piede nav a:hover { text-decoration: underline; text-decoration-thickness: var(--collegamento-spessore); text-underline-offset: var(--collegamento-distanza); }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition: none !important; animation: none !important; }
}
