/* ==========================================================================
   Funziona — personalizzazioni migrate dal Code Injection di Ghost.
   Caricato dopo screen.css (vedi default.hbs), quindi vince sul tema base.
   Round 1: porting fedele all'aspetto attuale. La pulizia (togliere le regole
   ormai ridondanti coi toggle del tema) arriva in un secondo giro.
   ========================================================================== */

/* --- da Code Injection: Site Header --------------------------------------- */

:root{
  --paper:#fdfbf5; --ink:#2b2723; --ink-soft:#4a443d; --rosso:#e85b67;
  --display:'Shantell Sans','Comic Sans MS',cursive;
  --serif:'EB Garamond',Georgia,serif;
  --mono:'JetBrains Mono',ui-monospace,monospace;
  /* Scala tipografica (root del tema al 62.5% → 1rem = 10px). Pescare il ruolo, non i px.
     display=titoli/pulsanti · serif=corpo/lettura/citazioni · mono=occhielli/etichette/meta */
  --fs-hero: clamp(3.6rem, 6vw, 5.6rem);  /* titolo di testata pagina (display) */
  --fs-title: 2.3rem;                     /* titoli di sezione/scheda/riga (display) */
  --fs-lead: 2.2rem;                      /* sottotitolo, occhiello lungo (serif italic) */
  --fs-body: 2.2rem;                      /* corpo di lettura e landing (serif) */
  --fs-body-sm: 1.9rem;                   /* ganci, testi secondari (serif) */
  --fs-meta: 1.3rem;                      /* occhielli maiuscoletto, badge, hint (mono) */
  --rough:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg'><filter id='r' x='-20%25' y='-20%25' width='140%25' height='140%25'><feTurbulence type='fractalNoise' baseFrequency='0.018 0.026' numOctaves='2' seed='7' result='n'/><feDisplacementMap in='SourceGraphic' in2='n' scale='7' xChannelSelector='R' yChannelSelector='G'/></filter></svg>#r");
}

/* --- Funziona da piccolo: ingresso editoriale alla collana ---------------- */
.fdp-page{
  --fdp-rule: rgba(43,39,35,.22);
  --rosso:#e85b67;
  --rosa:#f3a9bc;
  --salvia:#b7d3a0;
  --salvia-tenue:#dcead0;
  --celeste:#a9d9e6;
  --celeste-tenue:#dcf0f5;
  --giallo:#f2d256;
  --pesca:#f3c29b;
  --acqua:#6fbeb3;
  color: var(--ink);
  font-family: var(--serif);
  font-size: 1.9rem;
  line-height: 1.5;
}
.fdp-page *{ box-sizing: border-box; }
.fdp-page img{ display:block; max-width:100%; }
.fdp-page figure,.fdp-page p,.fdp-page h1,.fdp-page h2{ margin-top:0; }
.fdp-shell{ width:min(100%,118rem); margin-inline:auto; padding-inline:6rem; }
.fdp-label{
  margin-bottom:1.8rem;
  color:var(--rosso);
  font:500 1.3rem/1.2 var(--display) !important;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.fdp-link{
  display:inline-block;
  padding-bottom:.3rem;
  border-bottom:2px solid var(--rosso);
  color:var(--rosso);
  font:500 1.7rem var(--display) !important;
  text-decoration:none;
}
.fdp-link:hover{ opacity:.68; }
.fdp-hero{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(32rem,.75fr);
  gap:8rem;
  align-items:center;
  padding-block:8rem 10rem;
  overflow:clip;
}
.fdp-hero-copy{ padding-top:2rem; }
.fdp-hero h1{
  max-width:8ch;
  margin:0 0 2.8rem;
  font:500 clamp(7rem,8.8vw,10.4rem)/.9 var(--display) !important;
  letter-spacing:-.04em;
}
.fdp-hero-lead{
  max-width:39ch;
  margin:0 0 3.2rem;
  color:var(--ink-soft);
  font:400 2.35rem/1.42 var(--serif) !important;
}
.fdp-start-link{ font-size:1.8rem !important; }
.fdp-cover-stage{ position:relative; min-height:58rem; display:grid; place-items:center; }
.fdp-cover-stage::before{
  content:"";
  position:absolute;
  z-index:-1;
  width:86%;
  height:78%;
  border-radius:49% 51% 44% 56%/55% 45% 57% 43%;
  background:var(--salvia-tenue);
  transform:rotate(-3deg);
}
.fdp-cover{
  position:absolute;
  top:50%;
  left:50%;
  width:64rem;
  max-width:none !important;
  filter:none;
  transform:translate(-50%,-50%);
}
.fdp-cover-stage figcaption{
  position:absolute;
  right:-1rem;
  bottom:4rem;
  max-width:13ch;
  color:var(--rosso);
  font:500 1.5rem/1.25 var(--display) !important;
  transform:rotate(3deg);
}
.fdp-world{ padding-block:11rem 12rem; border-top:1px solid var(--fdp-rule); }
.fdp-world-grid{
  display:grid;
  grid-template-columns:minmax(30rem,.9fr) minmax(0,1.1fr);
  gap:9rem;
  align-items:center;
}
.fdp-world-art{ overflow:clip; }
.fdp-world-art img{ width:100%; mix-blend-mode:multiply; transform:scale(1.5); }
.fdp-world-art figcaption{
  max-width:26ch;
  margin:1.4rem auto 0;
  color:var(--ink-soft);
  font:italic 1.55rem/1.4 var(--serif) !important;
  text-align:center;
}
.fdp-world h2{
  max-width:8ch;
  margin:.4rem 0 2.6rem;
  font:500 clamp(5.8rem,7vw,8rem)/.96 var(--display) !important;
}
.fdp-word-mark{ position:relative; z-index:0; display:inline-block; isolation:isolate; }
.fdp-word-mark::before{
  content:"";
  position:absolute;
  z-index:-1;
  left:-.08em;
  right:-.11em;
  bottom:.04em;
  height:.48em;
  border-radius:48% 52% 45% 55%/55% 48% 52% 45%;
  background:rgba(183,211,160,.82);
  transform:rotate(-2deg);
}
.fdp-world-intro{
  max-width:40ch;
  margin-bottom:3.6rem;
  color:var(--ink-soft);
  font:400 2.2rem/1.5 var(--serif) !important;
}
.fdp-people{ margin:0; padding:0; border-top:1px solid var(--fdp-rule); list-style:none; }
.fdp-people li{
  display:grid;
  grid-template-columns:10rem 1fr;
  gap:2rem;
  padding:2rem 0;
  border-bottom:1px solid var(--fdp-rule);
}
.fdp-people span{ color:var(--rosso); font:500 1.8rem var(--display) !important; }
.fdp-people p{ margin:0; color:var(--ink-soft); font:400 1.8rem/1.5 var(--serif) !important; }
.fdp-begin{
  padding-block:10rem;
  background:var(--celeste-tenue);
  clip-path:polygon(0 2%,9% 0,20% 1.6%,33% .3%,47% 1.7%,61% .4%,75% 1.7%,88% .2%,100% 1.6%,100% 98%,88% 100%,74% 98.4%,60% 99.6%,45% 98%,31% 100%,15% 98.3%,0 100%);
}
.fdp-begin-grid{
  display:grid;
  grid-template-columns:minmax(32rem,.9fr) minmax(0,1.1fr);
  gap:8rem;
  align-items:center;
}
.fdp-begin-art img{ width:100%; mix-blend-mode:multiply; }
.fdp-begin-copy h2{
  max-width:10ch;
  margin:.4rem 0 2.2rem;
  font:500 clamp(5.2rem,6vw,7rem)/.97 var(--display) !important;
}
.fdp-begin-copy>p:not(.fdp-label){
  max-width:42ch;
  margin-bottom:2.6rem;
  color:var(--ink-soft);
  font:400 2.15rem/1.5 var(--serif) !important;
}
.fdp-path{ padding-block:11rem 13rem; }
.fdp-path-head{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8rem;
  align-items:end;
  margin-bottom:5rem;
}
.fdp-path-head h2{
  max-width:9ch;
  margin:.4rem 0 0;
  font:500 clamp(5.7rem,7vw,8rem)/.96 var(--display) !important;
}
.fdp-path-head>p{
  max-width:39ch;
  margin:0 0 .7rem;
  color:var(--ink-soft);
  font:400 2.15rem/1.5 var(--serif) !important;
}
.fdp-chapters{ counter-reset:chapter; margin:0; padding:0; border-top:1px solid var(--fdp-rule); list-style:none; }
.fdp-chapter{ counter-increment:chapter; border-bottom:1px solid var(--fdp-rule); }
.fdp-chapter-link{
  display:grid;
  grid-template-columns:8rem minmax(0,1fr) auto;
  gap:2.6rem;
  align-items:center;
  padding:2.8rem 1rem;
  color:var(--ink);
  text-decoration:none;
}
.fdp-chapter-link:hover .fdp-chapter-title{
  text-decoration:underline;
  text-decoration-color:var(--rosso);
  text-underline-offset:.5rem;
}
.fdp-chapter-number{
  position:relative;
  display:grid;
  place-items:center;
  width:6rem;
  height:5.2rem;
  isolation:isolate;
  font:500 2rem var(--display) !important;
}
.fdp-chapter-number::before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  border-radius:48% 52% 61% 39%/56% 45% 55% 44%;
  background:var(--chapter-color,var(--rosa));
  transform:rotate(var(--chapter-rotation,-5deg));
  mix-blend-mode:multiply;
}
.fdp-chapter-number::after{ content:counter(chapter,decimal-leading-zero); }
.fdp-chapter:nth-child(6n+2){ --chapter-color:var(--celeste); --chapter-rotation:4deg; }
.fdp-chapter:nth-child(6n+3){ --chapter-color:var(--salvia); --chapter-rotation:-3deg; }
.fdp-chapter:nth-child(6n+4){ --chapter-color:var(--pesca); --chapter-rotation:5deg; }
.fdp-chapter:nth-child(6n+5){ --chapter-color:var(--giallo); --chapter-rotation:-5deg; }
.fdp-chapter:nth-child(6n){ --chapter-color:var(--acqua); --chapter-rotation:3deg; }
.fdp-chapter-body{ min-width:0; }
.fdp-start-tag{
  display:block;
  margin-bottom:.7rem;
  color:var(--rosso);
  font:500 1.2rem var(--display) !important;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.fdp-chapter-title{
  display:block;
  margin-bottom:.45rem;
  overflow-wrap:anywhere;
  font:500 clamp(2.5rem,2.7vw,3.2rem)/1.1 var(--display) !important;
}
.fdp-chapter-excerpt{
  display:block;
  max-width:66ch;
  color:var(--ink-soft);
  font:400 1.75rem/1.45 var(--serif) !important;
}
.fdp-chapter-tail{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  min-width:8rem;
  color:var(--rosso);
  font:500 1.6rem var(--display) !important;
}
.fdp-lock{ display:inline-flex; align-items:center; gap:.6rem; color:var(--ink-soft); font-size:1.35rem; }
.fdp-lock svg{ width:1.5rem; height:1.5rem; }
.fdp-chapter.is-locked .fdp-chapter-link{ color:rgba(43,39,35,.68); }
.fdp-chapter.is-locked .fdp-chapter-number::before{ filter:saturate(.35); opacity:.72; }
.fdp-chapter.is-locked .fdp-chapter-excerpt{ color:rgba(74,68,61,.78); }
.fdp-load-status{ margin:3rem 0 0; color:var(--ink-soft); font:italic 1.7rem var(--serif) !important; }

@media (max-width:800px){
  .fdp-shell{ padding-inline:2.6rem; }
  .fdp-hero{ display:flex; flex-direction:column; gap:2rem; padding-block:5.5rem 7.5rem; }
  .fdp-hero-copy{ padding:0; }
  .fdp-hero h1{ font-size:clamp(5.7rem,18vw,7.5rem) !important; }
  .fdp-hero-lead{ font-size:2.05rem !important; }
  .fdp-cover-stage{ width:100%; min-height:42rem; }
  .fdp-cover{ width:46rem; }
  .fdp-cover-stage::before{ width:29rem; height:35rem; }
  .fdp-cover-stage figcaption{ right:1rem; bottom:2rem; }
  .fdp-world{ padding-block:8rem 9rem; }
  .fdp-world-grid,.fdp-begin-grid,.fdp-path-head{ grid-template-columns:1fr; gap:4rem; }
  .fdp-world-copy,.fdp-begin-copy{ order:-1; }
  .fdp-world h2,.fdp-path-head h2{ font-size:5.4rem !important; }
  .fdp-world-intro,.fdp-path-head>p{ font-size:2rem !important; }
  .fdp-world-art{ max-width:52rem; margin:auto; }
  .fdp-people li{ grid-template-columns:8rem 1fr; gap:1.4rem; }
  .fdp-begin{ padding-block:8rem; }
  .fdp-begin-grid{ gap:3rem; }
  .fdp-begin-copy h2{ font-size:5rem !important; }
  .fdp-begin-art{ max-width:48rem; margin:auto; }
  .fdp-path{ padding-block:8rem 10rem; }
  .fdp-path-head{ margin-bottom:4rem; }
  .fdp-chapter-link{ grid-template-columns:5.4rem minmax(0,1fr); gap:1.5rem; padding:2.4rem 0; }
  .fdp-chapter-number{ width:5rem; height:4.6rem; font-size:1.8rem !important; }
  .fdp-chapter-title{ font-size:2.5rem !important; line-height:1.13 !important; }
  .fdp-chapter-excerpt{ font-size:1.65rem !important; }
  .fdp-chapter-tail{ grid-column:2; justify-content:flex-start; min-width:0; }
}

@media (max-width:380px){
  .fdp-shell{ padding-inline:2rem; }
  .fdp-hero h1{ font-size:5.2rem !important; }
  .fdp-chapter-link{ grid-template-columns:4.7rem minmax(0,1fr); gap:1.2rem; }
  .fdp-chapter-number{ width:4.4rem; }
  .fdp-people li{ grid-template-columns:1fr; gap:.5rem; }
}

body, .gh-content, .gh-article{ background:var(--paper); color:var(--ink); font-family:var(--serif); }
.gh-head{ background:var(--paper); }
h1,h2,h3,h4,h5,h6,
.gh-article-title,.gh-card-title,.gh-head-logo,
.gh-navigation a,.kg-header-card-heading{
  font-family:var(--display) !important; font-weight:600; letter-spacing:-0.01em;
}

p,li,.gh-article-excerpt,.gh-card-excerpt{ font-family:var(--serif); }
blockquote{ font-family:var(--serif); font-style:italic; }
a{ color:var(--rosso); }
.gh-btn,.kg-btn,.gh-form button,button[type=submit]{
  background:var(--rosso) !important; border-color:var(--rosso) !important;
  color:var(--paper) !important; border-radius:16px; font-family:var(--display);
}

hr{ height:3px; border:0; background:var(--ink); border-radius:2px; filter:var(--rough); }
.gh-content img,.kg-image,.gh-card-image img,.kg-gallery-image img{ mix-blend-mode:multiply; }
.gh-card,.kg-bookmark-container{ box-shadow:none; }

html,body{ overflow-x:clip; }

.fnz-hero,.fnz-books,.fnz-stories,.fnz-afor,
.kg-signup-card{
  grid-column: wide-start / wide-end;
}

.gh-head-menu{ margin-left:auto; }

.gh-footer a[href*="ghost.org"]{ display:none; }

/* via iscrizione footer ridondante */
.gh-footer-signup{ display: none; }

/* menu a destra */
.gh-navigation-menu{ justify-content: flex-end; }

/* via "Realizzato con Ghost" */
.gh-footer-copyright{ display: none; }

/* nasconde il titolo "Home" solo in homepage */
.home-template .gh-article-title{ display:none; }

/* dimensione font nelle pagine */
.gh-content p, .gh-content li{ font-size: var(--fs-body); line-height: 1.6; }

/* Tag primario in cima al racconto: etichetta in mono, come "LA COLLANA" nell'indice */
.gh-article-tag{
  font-family: var(--mono) !important;
  font-size: var(--fs-meta); font-weight: 500; letter-spacing: .16em; text-transform: uppercase;
  color: var(--rosso); text-decoration: none;
}
.gh-article-tag:hover{ text-decoration: underline; text-underline-offset: 3px; }

/* Feature image: tetto d'altezza, disegno intero e centrato (illustrazioni verticali) */
.gh-article-image img{
  width:auto;
  max-width:100%;
  max-height:460px;
  margin-left:auto;
  margin-right:auto;
  display:block;
}

/* font caricato in locale */
@font-face{
  font-family:"Shantell Sans";
  font-style:normal;
  font-weight:300 800;
  font-display:swap;
  src:url(https://gilbertocavallina.com/content/files/2026/07/shantell-sans-roman.woff2) format("woff2");
  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;
}

/* Nasconde il byline (autore, data, tempo di lettura) sulle storie: registro da libro, non da blog */
.gh-article-meta{display:none;}

/* Nasconde il Condividi in cima all'articolo: la condivisione andra' nel blocco di chiusura a fine storia */
.gh-meta-share{display:none;}

.fnz-stories .ph{ background: transparent !important; }
.fnz-stories img{ width: 100% !important; }

.fnz-hero img{ width:100%; }

/* Testata: riga disegnata a mano (filtro rough del design system), leggera.
   L'elemento testata reale e' .gh-navigation-inner (contenitore 1320), non .gh-head.
   RIMOSSA su richiesta di Gilberto (2026-07-09): la linea sotto il menu.
   Per rimetterla, riattiva la regola ::after qui sotto (togli i marcatori di commento). */
.gh-navigation-inner{ position:relative; }
/* .gh-navigation-inner::after{
  content:""; position:absolute; left:0; right:0; bottom:0;
  height:2px; background:var(--ink); border-radius:2px;
  filter:var(--rough); opacity:.85;
} */

/* --- da Code Injection: Site Footer --------------------------------------- */

/* Footer allineato al design di Funziona */
.gh-footer-logo{
  font-family: var(--display, 'Shantell Sans', cursive) !important;
  font-weight: 700 !important;
  font-size: 22px !important;
  color: var(--rosso, #e85b67) !important;
}
.gh-footer-menu a{
  font-family: var(--display, 'Shantell Sans', cursive) !important;
  color: var(--ink-soft, #4a443d) !important;
}
.gh-footer-copyright{
  display: block !important;
  text-align: right !important;
  font-family: var(--display, 'Shantell Sans', cursive) !important;
  color: var(--ink-soft, #4a443d) !important;
}

/* --- Navigazione tra racconti della stessa raccolta (post.hbs) ------------- */

.fnz-post-nav{ margin: 4rem 0 7.2rem; }
.fnz-post-nav-inner{
  display: flex;
  justify-content: space-between;
  gap: 2.5rem;
  padding-top: 2.5rem;
  border-top: 1px solid rgba(43,39,35,.18);
}
.fnz-post-nav-item{ max-width: 48%; }
.fnz-post-nav-next{ margin-left: auto; text-align: right; }
.fnz-post-nav a{ display: block; text-decoration: none; color: var(--ink); }
.fnz-post-nav a:hover .fnz-post-nav-title{ color: var(--rosso); }
.fnz-post-nav-label{
  display: block;
  font-family: var(--display);
  font-size: 1.5rem;
  color: var(--rosso);
  margin-bottom: .5rem;
}
.fnz-post-nav-title{
  display: block;
  font-family: var(--display);
  font-size: 2rem;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: -0.01em;
  color: var(--ink);
}

@media (max-width: 600px){
  .fnz-post-nav-inner{ flex-direction: column; gap: 1.5rem; }
  .fnz-post-nav-item{ max-width: 100%; }
  .fnz-post-nav-next{ text-align: left; }
  .fnz-post-nav{ margin-bottom: 5.6rem; }
}

/* --- Font brand caricati qui: sul tema base il serif/mono non erano dichiarati,
       quindi il serif ripiegava su Georgia. Woff2 gia' nel tema (assets/fonts). --- */
@font-face{
  font-family:"EB Garamond"; font-style:normal; font-weight:400 700; font-display:swap;
  src:url("../fonts/eb-garamond-roman.woff2") format("woff2");
}
@font-face{
  font-family:"EB Garamond"; font-style:italic; font-weight:400 700; font-display:swap;
  src:url("../fonts/eb-garamond-italic.woff2") format("woff2");
}
@font-face{
  font-family:"JetBrains Mono"; font-style:normal; font-weight:400 700; font-display:swap;
  src:url("../fonts/jetbrains-mono-roman.woff2") format("woff2");
}

/* --- Indice-lettore di una collana (custom-collana.hbs) -------------------- */

.fnz-collana{
  max-width: 720px;
  margin: 0 auto;
  padding: 1rem 24px 5rem;
  /* macchie del design system, per la rotazione dei numeri */
  --m1:#f3a9bc; --m2:#a9d9e6; --m3:#b7d3a0; --m4:#f3c29b; --m5:#f2d256; --m6:#6fbeb3;
  --mono: 'JetBrains Mono', ui-monospace, monospace;
}

/* testata: immagine centrata, testo a sinistra (come nel mockup) */
.fnz-collana-hero{ text-align: left; padding: 1.5rem 0 .5rem; }
.fnz-collana-art{ text-align: center; }
.fnz-collana-art img{
  max-width: min(100%, 420px);
  height: auto;
  margin: 0 auto 1.6rem;
  display: block;
  mix-blend-mode: multiply;
}
.fnz-collana-kicker{
  font-family: var(--mono);
  font-size: var(--fs-meta); letter-spacing: .2em; text-transform: uppercase;
  color: var(--rosso); margin: 0 0 .8rem;
}
.fnz-collana-title{
  font-family: var(--display) !important; font-weight: 700;
  font-size: var(--fs-hero); line-height: 1.03; letter-spacing: -.01em; margin: 0 0 1rem;
}
.fnz-collana-sub{
  font-family: var(--serif); font-style: italic; font-size: var(--fs-lead); line-height: 1.45;
  color: var(--ink-soft); max-width: 46ch; margin: 0 0 .4rem;
}
.fnz-collana-intro{ font-family: var(--serif); font-size: var(--fs-body-sm); line-height: 1.55; color: var(--ink-soft); max-width: 52ch; margin: .4rem 0 0; }
.fnz-collana-intro p{ margin: .6rem 0 0; }

.fnz-toc{
  list-style: none; margin: 2.4rem 0 0; padding: 0; counter-reset: chap;
  border-top: 1px solid rgba(43,39,35,.14);
}
.fnz-toc-item{ counter-increment: chap; border-bottom: 1px solid rgba(43,39,35,.14); }

.fnz-row{
  display: grid; grid-template-columns: 66px 1fr auto; align-items: center; gap: 20px;
  padding: 1.7rem 8px 1.7rem 2px;
  text-decoration: none; color: var(--ink); position: relative; transition: background .12s;
}
.fnz-row:hover{ background: rgba(232,91,103,.05); }

.fnz-blob{
  position: relative; width: 56px; height: 56px; justify-self: center;
  display: flex; align-items: center; justify-content: center;
}
.fnz-blob::before{
  content: ""; position: absolute; inset: 0; background: var(--macchia, var(--m1));
  border-radius: 47% 53% 62% 38% / 55% 46% 54% 45%;
  transform: rotate(-6deg); mix-blend-mode: multiply;
}
.fnz-n{
  position: relative; font-family: var(--display); font-weight: 700;
  font-size: 2.4rem; line-height: 1; color: var(--ink);
}
.fnz-n::before{ content: counter(chap, decimal-leading-zero); }

/* rotazione delle macchie sui numeri */
.fnz-toc-item:nth-child(6n+1) .fnz-blob{ --macchia: var(--m1); }
.fnz-toc-item:nth-child(6n+2) .fnz-blob{ --macchia: var(--m2); }
.fnz-toc-item:nth-child(6n+3) .fnz-blob{ --macchia: var(--m3); }
.fnz-toc-item:nth-child(6n+4) .fnz-blob{ --macchia: var(--m4); }
.fnz-toc-item:nth-child(6n+5) .fnz-blob{ --macchia: var(--m5); }
.fnz-toc-item:nth-child(6n)   .fnz-blob{ --macchia: var(--m6); }
.fnz-toc-item:nth-child(even) .fnz-blob::before{ transform: rotate(5deg); }

.fnz-row-title{
  display: block; font-family: var(--display) !important; font-weight: 600;
  font-size: var(--fs-title); line-height: 1.14; letter-spacing: -.005em; margin: 0 0 .35rem;
}
.fnz-row:hover .fnz-row-title{
  text-decoration: underline; text-decoration-color: var(--rosso); text-underline-offset: 4px;
}
.fnz-row-gancio{
  display: block; font-family: var(--serif); font-size: var(--fs-body-sm); line-height: 1.5; color: var(--ink-soft); max-width: 60ch;
}
.fnz-start-tag{
  display: block; font-family: var(--mono); font-size: var(--fs-meta);
  letter-spacing: .14em; text-transform: uppercase; color: var(--rosso); margin-bottom: .5rem;
}
.fnz-row-tail{ white-space: nowrap; }
.fnz-arrow{ color: var(--rosso); font-size: 2.2rem; font-family: var(--display); }
.fnz-badge{
  display: inline-flex; align-items: center; gap: .4rem;
  font-family: var(--mono); font-size: var(--fs-meta); letter-spacing: .1em;
  text-transform: uppercase; color: var(--ink-soft);
}
.fnz-badge svg{ width: 15px; height: 15px; }

/* riga "comincia da qui" */
.fnz-toc-item.is-start .fnz-row{ background: rgba(232,91,103,.06); }
.fnz-toc-item.is-start .fnz-row::before{
  content: ""; position: absolute; left: 0; top: 8px; bottom: 8px; width: 3px;
  background: var(--rosso); border-radius: 3px;
}

/* riga riservata (visitatore senza accesso) */
.fnz-toc-item.is-locked .fnz-row{ color: rgba(43,39,35,.62); }
.fnz-toc-item.is-locked .fnz-row-title{ color: rgba(43,39,35,.62); }
.fnz-toc-item.is-locked .fnz-blob::before{ filter: saturate(.35); opacity: .7; }

@media (max-width: 600px){
  .fnz-row{ grid-template-columns: 56px 1fr; gap: 16px; }
  .fnz-row-tail{ grid-column: 2; margin-top: .3rem; }
  .fnz-blob{ width: 48px; height: 48px; }
}

/* --- Blocco di chiusura a fine racconto (partials/fnz-close.hbs) ----------- */

.fnz-close{ max-width: 720px; margin: 7.2rem auto 0; }
.fnz-close-cta{ position: relative; isolation: isolate; padding-left: 3.6rem; }
.fnz-close-cta::before{
  content: ""; position: absolute; z-index: -1; left: -.8rem; top: -1.2rem;
  width: 5.4rem; height: 5.4rem; background: #f3a9bc;
  border-radius: 47% 53% 45% 55% / 55% 47% 53% 45%;
  transform: rotate(-8deg); opacity: .82;
}
.fnz-close-title{
  font-family: var(--display) !important; font-weight: 600;
  font-size: clamp(2.8rem, 5vw, 3.6rem); line-height: 1.08; letter-spacing: -.015em;
  color: var(--ink); margin: 0 0 1.1rem;
}
.fnz-close-body{
  font-family: var(--serif); font-size: 2rem; line-height: 1.45;
  color: var(--ink-soft); max-width: 50ch; margin: 0 0 2rem;
}
.fnz-close-form{ max-width: 52rem; }
.fnz-close-form-row{ display: flex; gap: 1rem; width: min(100%, 48rem); }
.fnz-close-form-row input{
  min-width: 0; flex: 1; padding: 1.2rem .2rem;
  border: 0; border-bottom: 2px solid var(--ink); border-radius: 0;
  background: transparent; font-family: var(--serif); font-size: 1.8rem; color: var(--ink);
}
.fnz-close-form-row input::placeholder{ color: rgba(43,39,35,.5); }
.fnz-close-form-row button{
  padding: 1.1rem 2.4rem; border: 0;
  border-radius: 47% 53% 44% 56% / 56% 44% 56% 44%;
  background: var(--rosso); color: var(--paper);
  font-family: var(--display); font-size: 1.7rem; font-weight: 600; cursor: pointer;
}
.fnz-close-form-row button:disabled{ opacity: .45; cursor: not-allowed; }
.fnz-close-consent{
  display: flex; align-items: flex-start; gap: .9rem;
  margin-top: 1.4rem; font-family: var(--serif); font-size: 1.3rem;
  line-height: 1.35; color: var(--ink-soft); cursor: pointer;
}
.fnz-close-consent input{ flex: none; margin: .25rem 0 0; accent-color: var(--rosso); }
.fnz-close-consent a{ color: inherit; text-underline-offset: 2px; }
.fnz-close-message{ display: none; margin: 1rem 0 0; font-family: var(--serif); font-size: 1.5rem; }
.fnz-close-message-error{ color: var(--rosso); }
.fnz-close-form.success .fnz-close-message[data-members-success],
.fnz-close-form.error .fnz-close-message[data-members-error]{ display: block; }
.fnz-sr-only{
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}

.fnz-close-share{
  display: flex; flex-wrap: wrap; align-items: baseline; gap: .8rem 1.4rem;
  margin-top: 2.7rem;
}
.fnz-close-share-copy{
  flex-basis: 100%; font-family: var(--serif); font-size: 1.65rem;
  line-height: 1.4; color: var(--ink-soft); margin: 0;
}
.fnz-share{
  font-family: var(--display); font-size: 1.5rem; font-weight: 600;
  color: var(--rosso); background: none; border: 0; padding: 0 0 .2rem; cursor: pointer;
  border-bottom: 1px solid var(--rosso); line-height: 1.3;
}
.fnz-share:hover{ opacity: .72; }
.fnz-share-status{ font-family: var(--mono); font-size: 1.1rem; color: var(--ink-soft); }

@media (max-width: 600px){
  .fnz-close{ margin-top: 5.6rem; }
  .fnz-close-cta{ padding-left: 2rem; }
  .fnz-close-cta::before{ left: -1rem; top: -.8rem; width: 4.3rem; height: 4.3rem; }
  .fnz-close-body{ font-size: 1.85rem; }
  .fnz-close-form-row{ display: grid; }
  .fnz-close-form-row button{ justify-self: start; }
  .fnz-close-share{ margin-top: 2.5rem; }
}

/* ===================================================================
   PAGINA LA POSTA v3 — relazione, avvisi e materiali, 2026-07-12
   Namespace lp-; nessun contenuto riservato promesso come paywall.
   =================================================================== */
.lp-page{ --lp-cream:#f7f2e6; --lp-pink:#f3a9bc; --lp-blue:#a9d9e6; --lp-green:#b7d3a0; --lp-yellow:#f2d256; overflow:hidden; background:var(--paper); color:var(--ink); }
.lp-page figure{ margin:0; }
.lp-page h1,.lp-page h2,.lp-page h3{ margin:0; font-family:var(--display) !important; font-weight:500 !important; color:var(--ink); }
.lp-label{ margin:0 0 1.8rem; font-family:var(--display); font-size:1.2rem; letter-spacing:.18em; text-transform:uppercase; color:var(--rosso); }
.lp-text-link{ display:inline-flex; align-items:center; gap:.8rem; padding-bottom:.3rem; border-bottom:2px solid var(--rosso); font-family:var(--display); font-size:1.65rem; font-weight:600; line-height:1.3; color:var(--rosso); text-decoration:none; }
.lp-text-link:hover{ opacity:.72; }

.lp-hero{ display:grid; grid-template-columns:minmax(0,1.05fr) minmax(34rem,.95fr); align-items:center; gap:6rem; max-width:118rem; min-height:68rem; margin:0 auto; padding:8rem 4rem 10rem; }
.lp-hero__copy{ position:relative; z-index:2; }
.lp-hero h1{ max-width:9ch; font-size:clamp(6.8rem,8.2vw,10rem); line-height:.94; letter-spacing:-.04em; }
.lp-hero h1 span{ display:inline; margin:0 -.06em; padding:0 .06em; border-radius:49% 51% 43% 57%/58% 44% 56% 42%; background:linear-gradient(to bottom,transparent 59%,rgba(242,210,86,.76) 59%,rgba(242,210,86,.76) 91%,transparent 91%); -webkit-box-decoration-break:clone; box-decoration-break:clone; }
.lp-lead{ max-width:38ch; margin:2.8rem 0 0; font-family:var(--serif); font-size:2.5rem; font-style:italic; line-height:1.38; color:var(--ink); }
.lp-intro{ max-width:47ch; margin:2rem 0 0; font-family:var(--serif); font-size:2rem; line-height:1.55; color:var(--ink-soft); }
.lp-hero__actions{ display:flex; flex-wrap:wrap; align-items:center; gap:2.2rem; margin-top:3.4rem; }
.lp-button{ display:inline-flex; align-items:center; gap:1rem; padding:1.35rem 2.3rem; border-radius:100px; background:var(--rosso); font-family:var(--display); font-size:1.7rem; font-weight:600; color:#fff !important; text-decoration:none; }
.lp-button:hover{ transform:translateY(-1px); }
.lp-hero__art{ position:relative; display:grid; place-items:center; min-height:48rem; isolation:isolate; }
.lp-hero__blob{ position:absolute; z-index:-1; width:90%; aspect-ratio:1; border-radius:46% 54% 58% 42%/55% 46% 54% 45%; background:rgba(169,217,230,.64); transform:rotate(-5deg); filter:var(--rough); }
.lp-hero__art img{ width:min(120%,58rem); max-width:none; transform:rotate(2deg); }

.lp-inside{ display:grid; grid-template-columns:.78fr 1.22fr; gap:10rem; max-width:118rem; margin:0 auto; padding:12rem 4rem 13rem; border-top:1px solid rgba(43,39,35,.22); }
.lp-inside__head{ position:sticky; top:10rem; align-self:start; }
.lp-inside__head h2{ max-width:8ch; font-size:clamp(5rem,6vw,7.4rem); line-height:1; letter-spacing:-.025em; }
.lp-reasons{ display:grid; gap:0; }
.lp-reason{ display:grid; grid-template-columns:6rem 1fr; gap:2.6rem; padding:1rem 0 5.4rem; }
.lp-reason + .lp-reason{ padding-top:5.4rem; border-top:1px solid rgba(43,39,35,.18); }
.lp-reason__mark{ display:block; width:5.2rem; height:5.2rem; margin-top:.2rem; border-radius:47% 53% 62% 38%/55% 46% 54% 45%; background:var(--lp-pink); transform:rotate(-6deg); filter:var(--rough); }
.lp-reason--reply .lp-reason__mark{ background:var(--lp-blue); transform:rotate(7deg); }
.lp-reason--gift .lp-reason__mark{ background:var(--lp-green); transform:rotate(-3deg); }
.lp-reason h3{ font-size:2.8rem; line-height:1.2; }
.lp-reason p{ max-width:46ch; margin:1.2rem 0 0; font-family:var(--serif); font-size:2.1rem; line-height:1.5; color:var(--ink-soft); }

.lp-open{ position:relative; isolation:isolate; max-width:96rem; margin:0 auto 13rem; padding:7.5rem 8rem; text-align:center; }
.lp-open::before{ content:""; position:absolute; z-index:-1; inset:0; border-radius:48% 52% 45% 55%/55% 44% 56% 45%; background:var(--lp-cream); transform:rotate(-1deg); }
.lp-open__small{ margin:0 0 1.4rem; font-family:var(--display); font-size:1.2rem; letter-spacing:.18em; text-transform:uppercase; color:var(--rosso); }
.lp-open__big{ max-width:23ch; margin:0 auto !important; font-family:var(--display) !important; font-size:clamp(3.6rem,5vw,5.5rem) !important; font-weight:500; line-height:1.08 !important; color:var(--ink) !important; }
.lp-open > p:last-child{ max-width:54ch; margin:2.4rem auto 0; font-family:var(--serif); font-size:2.05rem; line-height:1.5; color:var(--ink-soft); }

.lp-signup{ display:grid; grid-template-columns:.9fr 1.1fr; align-items:start; gap:9rem; max-width:118rem; margin:0 auto; padding:11rem 4rem 13rem; border-top:1px solid rgba(43,39,35,.22); }
.lp-signup h2{ max-width:9ch; font-size:clamp(4.8rem,6vw,7rem); line-height:1; letter-spacing:-.025em; }
.lp-signup__copy > p:last-child{ max-width:40ch; margin:2rem 0 0; font-family:var(--serif); font-size:2.05rem; line-height:1.5; color:var(--ink-soft); }
.lp-form{ margin-top:1rem; }
.lp-form__row{ display:flex; gap:1.2rem; align-items:stretch; }
.lp-form__row input{ min-width:0; flex:1; padding:1.35rem 1.7rem; border:1.5px solid var(--ink); border-radius:0; background:transparent; font-family:var(--serif); font-size:1.85rem; color:var(--ink); }
.lp-form__row input::placeholder{ color:rgba(43,39,35,.48); }
.lp-form__row button{ display:inline-flex; align-items:center; justify-content:center; padding:1.3rem 2.5rem; border:0; border-radius:0; background:var(--rosso); font-family:var(--display); font-size:1.7rem; font-weight:600; color:#fff; cursor:pointer; }
.lp-form__row button:disabled{ cursor:not-allowed; opacity:.38; }
.lp-consent{ display:grid; grid-template-columns:auto 1fr; gap:1rem; align-items:start; margin-top:1.8rem; font-family:var(--serif); font-size:1.55rem; line-height:1.4; color:var(--ink-soft); cursor:pointer; }
.lp-consent input{ width:1.7rem; height:1.7rem; margin:.2rem 0 0; accent-color:var(--rosso); }
.lp-consent a{ color:inherit; text-decoration:underline; }
.lp-hint,.lp-message{ margin:1.4rem 0 0; font-family:var(--mono); font-size:1.2rem; line-height:1.45; color:var(--ink-soft); }
.lp-message{ display:none; color:var(--ink); }
.lp-message--error{ color:var(--rosso); }
.lp-form.success [data-members-success],.lp-form.error [data-members-error]{ display:block; }
.lp-form.success .lp-hint{ display:none; }
.lp-sr-only{ position:absolute !important; width:1px !important; height:1px !important; padding:0 !important; margin:-1px !important; overflow:hidden !important; clip:rect(0,0,0,0) !important; white-space:nowrap !important; border:0 !important; }

@media (max-width:900px){
  .lp-hero{ grid-template-columns:1fr .8fr; gap:2rem; }
  .lp-inside{ gap:5rem; }
  .lp-signup{ gap:5rem; }
}
@media (max-width:700px){
  .lp-hero{ grid-template-columns:1fr; min-height:0; padding:6rem 24px 9rem; }
  .lp-hero h1{ max-width:8ch; font-size:clamp(5.6rem,17vw,7.4rem); }
  .lp-lead{ font-size:2.25rem; }
  .lp-intro{ font-size:1.9rem; }
  .lp-hero__art{ order:-1; min-height:30rem; margin:0 -8%; }
  .lp-hero__art img{ width:min(112%,42rem); }
  .lp-hero__blob{ width:min(82%,32rem); }
  .lp-inside{ grid-template-columns:1fr; gap:6rem; padding:9rem 24px 10rem; }
  .lp-inside__head{ position:static; }
  .lp-inside__head h2{ font-size:clamp(4.8rem,14vw,6.4rem); }
  .lp-reason{ grid-template-columns:4.8rem 1fr; gap:1.8rem; padding-bottom:4rem; }
  .lp-reason + .lp-reason{ padding-top:4rem; }
  .lp-reason__mark{ width:4.4rem; height:4.4rem; }
  .lp-reason h3{ font-size:2.45rem; }
  .lp-reason p{ font-size:1.9rem; }
  .lp-open{ margin:0 18px 10rem; padding:6.5rem 2.8rem; }
  .lp-open__big{ font-size:clamp(3.4rem,10vw,4.6rem) !important; }
  .lp-open > p:last-child{ font-size:1.9rem; }
  .lp-signup{ grid-template-columns:1fr; gap:4.5rem; padding:9rem 24px 10rem; }
  .lp-signup h2{ font-size:clamp(4.5rem,13vw,6rem); }
  .lp-form__row{ flex-direction:column; }
  .lp-form__row button{ align-self:flex-start; }
}

/* --- Pagina "Libri" (custom-libri.hbs) ------------------------------------ */

.lb{
  /* macchie del design system (dorsi/thumb) */
  --s1:#f3a9bc; --s2:#a9d9e6; --s3:#b7d3a0; --s4:#f3c29b; --s5:#f2d256;
  --cream:#f7f2e6; --pure:#ffffff; --line:rgba(43,39,35,.14);
}
.lb-inner{ max-width: 1120px; margin: 0 auto; padding: 2rem 24px 6rem; }

/* intestazione pagina */
.lb-head{ max-width: 60ch; padding: 1.5rem 0 .5rem; }
.lb-kicker{ font-family: var(--mono); font-size: var(--fs-meta); letter-spacing: .2em; text-transform: uppercase; color: var(--rosso); margin: 0 0 1.4rem; }
.lb-title{ font-family: var(--display) !important; font-weight: 700; font-size: var(--fs-hero); line-height: 1.03; letter-spacing: -.01em; margin: 0 0 1rem; }
.lb-sub{ font-family: var(--serif); font-style: italic; font-size: var(--fs-lead); line-height: 1.45; color: var(--ink-soft); margin: 0; max-width: 46ch; }

/* sezione + etichetta */
.lb-sec{ margin-top: 4.6rem; }
.lb-seclabel{ display: flex; align-items: center; gap: 1.4rem; font-family: var(--mono); font-size: var(--fs-meta); letter-spacing: .18em; text-transform: uppercase; color: var(--ink-soft); margin: 0 0 2.4rem; }
.lb-seclabel::after{ content: ""; height: 1px; flex: 1; background: rgba(43,39,35,.55); opacity: .35; }

/* In evidenza */
.lb-ev{ display: grid; grid-template-columns: 1.15fr .85fr; background: var(--pure); border: 1px solid var(--line); border-radius: 20px; box-shadow: 0 18px 50px rgba(43,39,35,.09); overflow: hidden; }
.lb-ev-left{ padding: 5.2rem clamp(2.8rem,4vw,5.6rem); }
.lb-ev-tag{ font-family: var(--mono); font-size: var(--fs-meta); letter-spacing: .16em; text-transform: uppercase; color: var(--rosso); margin: 0 0 1.8rem; }
.lb-ev-title{ font-family: var(--display) !important; font-weight: 700; font-size: clamp(3.4rem,4.4vw,5rem); line-height: 1.03; letter-spacing: -.02em; margin: 0 0 1.8rem; }
.lb-ev-body{ font-family: var(--serif); font-size: var(--fs-body); line-height: 1.5; color: var(--ink); margin: 0 0 1.4rem; max-width: 42ch; }
.lb-ev-body em{ color: var(--ink-soft); }

/* recensioni Amazon (stelle + citazioni) */
.lb-revs{ margin: 2.4rem 0 2.8rem; display: flex; flex-direction: column; gap: 1.2rem; }
.lb-revlab{ margin: 0; }
.lb-stars{ color: #e0a72e; font-size: 1.5rem; letter-spacing: 1px; }
.lb-quote{ margin: 0; font-family: var(--serif); font-style: italic; font-size: var(--fs-body-sm); line-height: 1.4; color: var(--ink); border-left: 2px solid #f6ccce; padding-left: 1.4rem; max-width: 42ch; }

/* CTA rossa a pillola (bespoke, come .fnz-close-btn) */
.lb-cta{ display: inline-flex; align-items: center; gap: .9rem; font-family: var(--display) !important; font-weight: 600; font-size: 1.6rem; color: var(--paper) !important; background: var(--rosso); padding: 1.2rem 2.2rem; border-radius: 100px; text-decoration: none; box-shadow: 0 6px 0 rgba(43,39,35,.14); transition: transform .12s, box-shadow .12s; }
.lb-cta:hover{ transform: translateY(2px); box-shadow: 0 4px 0 rgba(43,39,35,.14); }

/* pannello "il libro parla dalla pagina" */
.lb-ev-right{ position: relative; background: var(--cream); display: flex; align-items: center; justify-content: center; padding: 4rem; min-height: 34rem; }
.lb-talk{ font-family: var(--display); font-weight: 700; text-align: center; line-height: 1.15; color: var(--ink); }
.lb-talk-1{ display: block; font-size: 2.2rem; transform: rotate(-2deg); }
.lb-talk-2{ display: block; font-size: 4rem; margin: 1rem 0; }
.lb-talk-3{ display: block; font-size: 1.7rem; font-weight: 600; color: var(--ink-soft); font-style: italic; transform: rotate(1.5deg); }
.lb-wink{ position: relative; display: inline-block; }
.lb-wink::before{ content: ""; position: absolute; inset: -.06em -.2em -.16em -.14em; background: var(--s5); border-radius: 47% 53% 45% 55% / 60% 47% 53% 40%; transform: translate(-3px,3px) rotate(-1.4deg); z-index: -1; opacity: .9; filter: var(--rough); }
.lb-dots{ position: absolute; bottom: 2.6rem; left: 50%; transform: translateX(-50%); font-family: var(--display); font-weight: 700; font-size: 2.6rem; color: var(--rosso); letter-spacing: .2em; }

/* banner-serie Trepunti: un solo ingresso, dorsi = vetrina */
.lb-serie{ display: block; background: var(--pure); border: 1px solid var(--line); border-radius: 18px; overflow: hidden; text-decoration: none; color: var(--ink); transition: transform .12s, box-shadow .12s; }
.lb-serie:hover{ transform: translateY(-3px); box-shadow: 0 14px 30px rgba(43,39,35,.12); }
.lb-serie:hover .lb-serie-cta{ text-decoration: underline; text-decoration-color: var(--rosso); text-underline-offset: 4px; }
.lb-serie-head{ padding: 3rem clamp(2.4rem,4vw,4.4rem) .8rem; display: flex; justify-content: space-between; align-items: flex-end; gap: 1.8rem; flex-wrap: wrap; }
.lb-serie-title{ font-family: var(--display) !important; font-weight: 700; font-size: var(--fs-title); line-height: 1.05; letter-spacing: -.01em; margin: 0 0 .6rem; }
.lb-serie-sub{ font-family: var(--serif); font-style: italic; font-size: var(--fs-body-sm); line-height: 1.4; color: var(--ink-soft); margin: 0; max-width: 52ch; }
.lb-serie-pill{ font-family: var(--mono); font-size: var(--fs-meta); letter-spacing: .12em; text-transform: uppercase; color: var(--ink-soft); white-space: nowrap; border: 1px solid var(--line); border-radius: 100px; padding: .7rem 1.4rem; }
.lb-spines{ display: grid; grid-template-columns: repeat(5,1fr); gap: 1.2rem; padding: 2.4rem clamp(2.4rem,4vw,4.4rem) 2.6rem; align-items: end; }
.lb-spine{ display: flex; align-items: flex-end; justify-content: center; }
.lb-spine img{ max-width: 100%; height: auto; object-fit: contain; mix-blend-mode: normal; }
.lb-serie-cta{ display: block; padding: 0 clamp(2.4rem,4vw,4.4rem) 3rem; font-family: var(--display) !important; font-weight: 600; font-size: 1.6rem; color: var(--rosso); }

/* macchie di sfondo (dorsi + thumb) */
.lb-s1{ background: var(--s1); } .lb-s2{ background: var(--s2); } .lb-s3{ background: var(--s3); } .lb-s4{ background: var(--s4); } .lb-s5{ background: var(--s5); }

/* card libri singoli */
.lb-grid{ display: grid; grid-template-columns: repeat(2,1fr); gap: 2.2rem; margin-top: 2.2rem; }
.lb-card{ display: flex; flex-direction: column; background: var(--pure); border: 1px solid var(--line); border-radius: 14px; overflow: hidden; text-decoration: none; color: var(--ink); transition: transform .12s, box-shadow .12s; }
.lb-card:hover{ transform: translateY(-3px); box-shadow: 0 14px 30px rgba(43,39,35,.12); }
.lb-thumb{ aspect-ratio: 4/3; position: relative; display: flex; align-items: center; justify-content: center; padding: 2rem; overflow: hidden; }
.lb-bookimg{ max-height: 100%; max-width: 70%; width: auto; object-fit: contain; mix-blend-mode: normal; }
.lb-badge{ position: absolute; top: 1.2rem; left: 1.2rem; font-family: var(--display); font-weight: 700; font-size: var(--fs-meta); color: rgba(43,39,35,.62); background: rgba(255,255,255,.62); border-radius: 100px; padding: .4rem 1.1rem; }
.lb-cbody{ padding: 2rem 2.2rem 2.4rem; display: flex; flex-direction: column; flex: 1; }
.lb-ctag{ font-family: var(--mono); font-size: var(--fs-meta); letter-spacing: .12em; text-transform: uppercase; color: var(--rosso); margin: 0 0 .8rem; }
.lb-ctitle{ font-family: var(--display) !important; font-weight: 600; font-size: var(--fs-title); line-height: 1.12; letter-spacing: -.005em; margin: 0 0 .8rem; }
.lb-cdesc{ font-family: var(--serif); font-size: var(--fs-body-sm); line-height: 1.5; color: var(--ink-soft); margin: 0 0 1.6rem; max-width: 44ch; }
.lb-cfoot{ margin-top: auto; display: flex; align-items: center; gap: 1.4rem; }
.lb-clink{ font-family: var(--display) !important; font-weight: 600; font-size: 1.5rem; color: var(--rosso); }
.lb-cnote{ font-family: var(--mono); font-size: var(--fs-meta); letter-spacing: .06em; color: var(--ink-soft); }

@media (max-width: 760px){
  .lb-ev{ grid-template-columns: 1fr; }
  .lb-ev-right{ min-height: 24rem; }
}
@media (max-width: 640px){
  .lb-spines{ grid-template-columns: repeat(3,1fr); }
  .lb-grid{ grid-template-columns: 1fr; }
}

/* --- Pagina serie "Trepunti" (custom-trepunti.hbs) ----------------------- */

.tp{
  --rosa:#f3a9bc; --celeste:#a9d9e6; --salvia:#b7d3a0; --giallo:#f2d256; --pesca:#f3c29b;
  --pure:#ffffff; --cream:#f7f2e6; --line:rgba(43,39,35,.14);
}
.tp-inner{ max-width: 1120px; margin: 0 auto; padding: 2rem 24px 6rem; }

.tp-crumb{ font-family: var(--mono); font-size: var(--fs-meta); letter-spacing: .14em; text-transform: uppercase; color: var(--ink-soft); margin: .5rem 0 0; }
.tp-crumb a{ color: var(--rosso); text-decoration: none; }

/* testata: il gancio dei tre punti */
.tp-hero{ display: grid; grid-template-columns: 1.05fr .95fr; gap: 4rem; align-items: center; padding: 2.4rem 0 .8rem; }
.tp-kicker{ font-family: var(--mono); font-size: var(--fs-meta); letter-spacing: .22em; text-transform: uppercase; color: var(--rosso); margin: 0 0 1.6rem; }
.tp-title{ font-family: var(--display) !important; font-weight: 700; font-size: var(--fs-hero); line-height: 1.02; letter-spacing: -.02em; margin: 0 0 2rem; }
.tp-lead{ font-family: var(--serif); font-size: var(--fs-body); line-height: 1.55; color: var(--ink); margin: 0 0 1.6rem; max-width: 46ch; }
.tp-lead em{ font-style: italic; color: var(--ink-soft); }
.tp-puntini{ font-family: var(--display); font-weight: 700; color: var(--rosso); letter-spacing: .12em; }
.tp-hero-img img{ margin: 0 auto; }

/* epigrafe / citazione in evidenza */
.tp-epi{ margin: 4.4rem auto .8rem; max-width: 62rem; text-align: center; padding: 0 2rem; }
.tp-epi::before{ content: ""; display: block; width: 3.4rem; height: 3px; background: var(--rosso); border-radius: 2px; margin: 0 auto 2.4rem; filter: var(--rough); }
.tp-epi blockquote{ margin: 0; border: 0; padding: 0; font-family: var(--display) !important; font-weight: 700; font-size: clamp(2.6rem,3.4vw,3.4rem); line-height: 1.18; letter-spacing: -.01em; color: var(--ink); }
.tp-epi figcaption{ margin-top: 1.8rem; font-family: var(--mono); font-size: var(--fs-meta); letter-spacing: .14em; text-transform: uppercase; color: var(--ink-soft); }

/* sezione + etichetta */
.tp-sec{ margin-top: 5.2rem; }
.tp-seclabel{ display: flex; align-items: center; gap: 1.4rem; font-family: var(--mono); font-size: var(--fs-meta); letter-spacing: .18em; text-transform: uppercase; color: var(--ink-soft); margin: 0 0 1rem; }
.tp-seclabel::after{ content: ""; height: 1px; flex: 1; background: rgba(43,39,35,.55); opacity: .35; }
.tp-secintro{ font-family: var(--serif); font-style: italic; font-size: var(--fs-body-sm); color: var(--ink-soft); margin: 0 0 3rem; }

/* ordine di lettura: i 5 volumi come scala di giorni */
.tp-order{ display: flex; flex-direction: column; gap: 1.6rem; }
.tp-vol{ display: grid; grid-template-columns: 9.6rem 1fr auto; gap: 2.4rem; align-items: center; background: var(--pure); border: 1px solid var(--line); border-radius: 16px; padding: 1.8rem 2.4rem 1.8rem 1.8rem; text-decoration: none; color: var(--ink); transition: transform .12s, box-shadow .12s; }
.tp-vol:hover{ transform: translateY(-3px); box-shadow: 0 14px 30px rgba(43,39,35,.12); }
.tp-vol:hover .tp-vol-link{ text-decoration: underline; text-decoration-color: var(--rosso); text-underline-offset: 4px; }
.tp-vol-cover img{ max-height: 13.2rem; width: auto; margin: 0; filter: drop-shadow(0 10px 18px rgba(43,39,35,.16)); }
.tp-vol-body{ min-width: 0; }
.tp-vol-day{ display: inline-flex; align-items: center; gap: .9rem; font-family: var(--mono); font-size: var(--fs-meta); letter-spacing: .14em; text-transform: uppercase; color: var(--ink-soft); margin: 0 0 .8rem; }
.tp-vol-dot{ width: 2.2rem; height: 2.2rem; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-family: var(--display); font-weight: 700; font-size: 1.2rem; color: var(--ink); }
.tp-vol-title{ font-family: var(--display) !important; font-weight: 600; font-size: var(--fs-title); line-height: 1.1; letter-spacing: -.005em; margin: 0 0 .6rem; }
.tp-vol-teaser{ font-family: var(--serif); font-size: var(--fs-body-sm); line-height: 1.45; color: var(--ink-soft); margin: 0; max-width: 52ch; }
.tp-vol-link{ font-family: var(--display) !important; font-weight: 600; font-size: 1.5rem; color: var(--rosso); white-space: nowrap; }
.tp-d1{ background: var(--rosa); } .tp-d2{ background: var(--celeste); } .tp-d3{ background: var(--salvia); } .tp-d4{ background: var(--pesca); } .tp-d5{ background: var(--giallo); }

/* cosa ti aspetta: il mondo della città */
.tp-world{ display: grid; grid-template-columns: 1.2fr .8fr; gap: 3.4rem; align-items: start; background: var(--pure); border: 1px solid var(--line); border-radius: 18px; padding: 4rem clamp(2.8rem,4vw,5.2rem); box-shadow: 0 18px 50px rgba(43,39,35,.08); }
.tp-world p{ font-family: var(--serif); font-size: var(--fs-body); line-height: 1.55; margin: 0 0 1.6rem; max-width: 48ch; }
.tp-world p:last-child{ margin-bottom: 0; }
.tp-hi{ background: var(--giallo); border-radius: 47% 53% 45% 55% / 60% 47% 53% 40%; padding: .02em .28em; filter: var(--rough); }
.tp-meetlab{ font-family: var(--mono); font-size: var(--fs-meta); letter-spacing: .14em; text-transform: uppercase; color: var(--ink-soft); margin: 0 0 1.6rem; }
.tp-meet{ list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 1.4rem; }
.tp-meet li{ display: flex; gap: 1.2rem; align-items: baseline; font-family: var(--serif); font-size: var(--fs-body-sm); color: var(--ink); }
.tp-meet .tp-who{ font-family: var(--display); font-weight: 600; color: var(--ink); }
.tp-meet .tp-bull{ color: var(--rosso); font-family: var(--display); font-weight: 700; }

/* cosa dicono i lettori: bacheca pastello, tono informale */
.tp-reviews{ display: grid; grid-template-columns: repeat(auto-fit,minmax(23.8rem,1fr)); gap: 2.2rem; }
.tp-rev{ position: relative; border: 0; border-radius: 22px 26px 20px 28px; padding: 2.6rem 2.6rem 2.2rem; transition: transform .14s; }
.tp-rev:nth-child(odd){ transform: rotate(-.8deg); }
.tp-rev:nth-child(even){ transform: rotate(.8deg); }
.tp-rev:hover{ transform: rotate(0) translateY(-3px); }
.tp-r1{ background: var(--rosa); } .tp-r2{ background: var(--celeste); } .tp-r3{ background: var(--salvia); } .tp-r4{ background: var(--giallo); }
.tp-rev::before{ content: "\201C"; position: absolute; top: 1rem; right: 2rem; font-family: var(--display); font-weight: 700; font-size: 5.8rem; line-height: 1; color: rgba(43,39,35,.13); }
.tp-rev-stars{ color: var(--ink); opacity: .85; font-size: 1.5rem; letter-spacing: 1px; margin: 0 0 1.2rem; }
.tp-rev-q{ font-family: var(--serif); font-style: italic; font-size: var(--fs-body-sm); line-height: 1.4; color: var(--ink); margin: 0 0 1.4rem; position: relative; z-index: 1; }
.tp-rev-src{ font-family: var(--mono); font-size: var(--fs-meta); letter-spacing: .06em; text-transform: uppercase; color: var(--ink-soft); }

/* chiusura chiara */
.tp-close{ margin-top: 4rem; background: var(--cream); border: 1px solid var(--line); border-radius: 18px; padding: 4.6rem clamp(2.8rem,4vw,5.6rem); text-align: center; }
.tp-close h2{ font-family: var(--display) !important; font-weight: 700; font-size: clamp(2.8rem,3.6vw,3.8rem); line-height: 1.08; margin: 0 0 1.4rem; color: var(--ink); }
.tp-close p{ font-family: var(--serif); font-style: italic; font-size: var(--fs-body); color: var(--ink-soft); margin: 0 auto 2.6rem; max-width: 60rem; }
.tp-cta{ display: inline-flex; align-items: center; gap: .9rem; background: var(--rosso); color: #fff !important; font-family: var(--display) !important; font-weight: 600; font-size: 1.7rem; padding: 1.4rem 2.6rem; border-radius: 100px; text-decoration: none; transition: filter .12s; }
.tp-cta:hover{ filter: brightness(.94); }
.tp-close .tp-soft{ display: block; margin-top: 2.2rem; font-family: var(--serif); font-size: 1.6rem; color: var(--ink-soft); }
.tp-close .tp-soft a{ color: var(--rosso); text-decoration: underline; text-decoration-color: #f6ccce; text-underline-offset: 3px; }

@media (max-width: 820px){
  .tp-hero{ grid-template-columns: 1fr; gap: 2rem; }
  .tp-hero-img{ order: -1; max-width: 42rem; margin: 0 auto; }
  .tp-world{ grid-template-columns: 1fr; gap: 2.4rem; }
}
@media (max-width: 640px){
  .tp-vol{ grid-template-columns: 7.2rem 1fr; grid-template-areas: "cover body" "link link"; row-gap: 1.2rem; }
  .tp-vol-cover{ grid-area: cover; } .tp-vol-body{ grid-area: body; } .tp-vol-link{ grid-area: link; justify-self: start; }
  .tp-vol-cover img{ max-height: 10rem; }
}

/* --- HOME (custom-home.hbs) ----------------------------------------------- */

.hm{
  --rosa:#f3a9bc; --salvia:#b7d3a0; --celeste:#a9d9e6; --giallo:#f2d256; --pesca:#f3c29b;
  --cream:#f7f2e6; --pure:#ffffff; --line:rgba(43,39,35,.14);
}
.hm-inner{ max-width: 1120px; margin: 0 auto; padding: 2rem 24px 6rem; }
.hm-go{ font-family: var(--display) !important; font-weight: 600; font-size: 1.5rem; color: var(--rosso); }

/* hero */
.hm-hero{ display: grid; grid-template-columns: 1.05fr .95fr; gap: 5.2rem; align-items: center; padding: 5rem 0 4rem; }
.hm-kicker{ font-family: var(--mono); font-size: var(--fs-meta); letter-spacing: .22em; text-transform: uppercase; color: var(--rosso); margin: 0 0 1.8rem; }
.hm-h1{ font-family: var(--display) !important; font-weight: 700; font-size: clamp(4.4rem, 6vw, 6.8rem); line-height: 1; letter-spacing: -.02em; margin: 0 0 2rem; }
.hm-sub{ font-family: var(--serif); font-size: var(--fs-body); line-height: 1.5; color: var(--ink-soft); max-width: 38ch; margin: 0; }

.hm-book{ display: flex; flex-direction: column; background: var(--pure); border: 1px solid var(--line); border-radius: 18px; box-shadow: 0 18px 50px rgba(43,39,35,.09); overflow: hidden; text-decoration: none; color: var(--ink); }
.hm-book-top{ background: var(--salvia); aspect-ratio: 16/10; position: relative; display: block; }
.hm-book-top img{ position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; mix-blend-mode: multiply; }
.hm-book-b{ padding: 2.2rem 2.4rem 2.4rem; display: flex; flex-direction: column; }
.hm-book-tag{ font-family: var(--mono); font-size: var(--fs-meta); letter-spacing: .14em; text-transform: uppercase; color: var(--rosso); margin: 0 0 .8rem; }
.hm-book-t{ font-family: var(--display) !important; font-weight: 700; font-size: 2.6rem; line-height: 1.05; margin: 0 0 .8rem; }
.hm-book-g{ font-family: var(--serif); font-size: var(--fs-body-sm); line-height: 1.45; color: var(--ink-soft); margin: 0 0 1.6rem; }
.hm-book-g + .hm-go{ align-self: flex-start; }

/* sezioni */
.hm-sec{ padding: 4.8rem 0 0; }
.hm-sechead{ display: flex; align-items: center; gap: 1.4rem; margin: 0 0 2.4rem; }
.hm-seclabel{ font-family: var(--mono); font-size: var(--fs-meta); letter-spacing: .18em; text-transform: uppercase; color: var(--ink-soft); white-space: nowrap; }
.hm-line{ height: 1px; flex: 1; background: rgba(43,39,35,.55); opacity: .35; }
.hm-seemore{ font-family: var(--display) !important; font-weight: 600; font-size: 1.5rem; color: var(--rosso); white-space: nowrap; }

/* Chiacchierone highlight */
.hm-hl{ display: grid; grid-template-columns: 1.25fr .75fr; background: var(--pure); border: 1px solid var(--line); border-radius: 18px; overflow: hidden; text-decoration: none; color: var(--ink); }
.hm-hl-l{ padding: 3.4rem clamp(2.6rem,3vw,4rem); display: flex; flex-direction: column; align-items: flex-start; }
.hm-hl-tag{ font-family: var(--mono); font-size: var(--fs-meta); letter-spacing: .14em; text-transform: uppercase; color: var(--rosso); margin: 0 0 1.2rem; }
.hm-hl-t{ font-family: var(--display) !important; font-weight: 700; font-size: 3.2rem; line-height: 1.04; margin: 0 0 1.2rem; }
.hm-hl-d{ font-family: var(--serif); font-size: 1.8rem; line-height: 1.45; color: var(--ink); margin: 0 0 1.8rem; max-width: 44ch; }
.hm-hl-r{ background: var(--cream); display: flex; align-items: center; justify-content: center; padding: 2.8rem; text-align: center; }
.hm-talk{ font-family: var(--display); font-weight: 700; color: var(--ink); line-height: 1.15; }
.hm-talk-1{ display: block; font-size: 1.9rem; transform: rotate(-2deg); }
.hm-talk-2{ display: block; font-size: 3.4rem; margin: .8rem 0; }
.hm-talk-3{ display: block; font-size: 1.5rem; font-weight: 600; font-style: italic; color: var(--ink-soft); transform: rotate(1.3deg); }
.hm-wink{ position: relative; display: inline-block; }
.hm-wink::before{ content: ""; position: absolute; inset: -.06em -.2em -.16em -.14em; background: var(--giallo); border-radius: 47% 53% 45% 55% / 60% 47% 53% 40%; transform: translate(-3px,3px) rotate(-1.4deg); z-index: -1; opacity: .9; filter: var(--rough); }

/* Il mondo di Funziona: tessere con copertine */
.hm-world{ margin-top: 2.2rem; background: var(--cream); border: 1px solid var(--line); border-radius: 18px; padding: 2.8rem clamp(2.4rem,3vw,3.6rem) 3.4rem; }
.hm-wh{ display: flex; justify-content: space-between; align-items: baseline; gap: 1.4rem; flex-wrap: wrap; margin-bottom: 2rem; }
.hm-wh-h{ font-family: var(--display) !important; font-weight: 700; font-size: var(--fs-title); margin: 0; }
.hm-wh-s{ font-family: var(--serif); font-style: italic; font-size: var(--fs-body-sm); color: var(--ink-soft); margin: 0; }
.hm-wtiles{ display: grid; grid-template-columns: repeat(3,1fr); gap: 2.6rem; }
.hm-wtile{ display: flex; flex-direction: column; text-decoration: none; color: var(--ink); transition: transform .12s; text-align: center; }
.hm-wtile:hover{ transform: translateY(-5px); }
.hm-cover{ margin-bottom: 1.6rem; display: flex; justify-content: center; align-items: flex-end; }
.hm-cover img{ width: 70%; height: auto; display: block; mix-blend-mode: normal; }
.hm-wtag{ font-family: var(--mono); font-size: var(--fs-meta); letter-spacing: .12em; text-transform: uppercase; color: var(--rosso); margin: 0 0 .5rem; }
.hm-nm{ font-family: var(--display) !important; font-weight: 600; font-size: 1.8rem; line-height: 1.1; margin: 0 0 .4rem; }
.hm-ds{ font-family: var(--serif); font-size: 1.45rem; line-height: 1.4; color: var(--ink-soft); margin: 0; }

/* Da leggere ora */
.hm-stories{ display: grid; grid-template-columns: 1fr 1fr; gap: 2.2rem; }
.hm-story{ display: flex; gap: 1.8rem; background: var(--pure); border: 1px solid var(--line); border-radius: 14px; padding: 2rem 2.2rem; text-decoration: none; color: var(--ink); transition: transform .12s, box-shadow .12s; }
.hm-story:hover{ transform: translateY(-3px); box-shadow: 0 14px 30px rgba(43,39,35,.12); }
.hm-blob{ flex: 0 0 52px; height: 52px; border-radius: 47% 53% 62% 38% / 55% 46% 54% 45%; transform: rotate(-6deg); mix-blend-mode: multiply; display: flex; align-items: center; justify-content: center; }
.hm-blob span{ transform: rotate(6deg); font-family: var(--display); font-weight: 700; font-size: 2rem; color: var(--ink); }
.hm-b1{ background: var(--rosa); } .hm-b2{ background: var(--salvia); }
.hm-story-body{ display: flex; flex-direction: column; min-width: 0; }
.hm-story-tag{ font-family: var(--mono); font-size: var(--fs-meta); letter-spacing: .12em; text-transform: uppercase; color: var(--rosso); margin: 0 0 .6rem; }
.hm-story-t{ font-family: var(--display) !important; font-weight: 600; font-size: 2rem; line-height: 1.12; margin: 0 0 .6rem; }
.hm-story-g{ font-family: var(--serif); font-size: 1.55rem; line-height: 1.45; color: var(--ink-soft); margin: 0; }

/* La posta */
.hm-posta{ margin-top: 4.8rem; background: var(--pure); border: 1px solid var(--line); border-radius: 18px; padding: 4rem clamp(2.8rem,4vw,5.2rem); display: grid; grid-template-columns: 1.1fr .9fr; gap: 4.4rem; align-items: center; }
.hm-posta-h{ font-family: var(--display) !important; font-weight: 700; font-size: 2.6rem; margin: 0 0 .8rem; }
.hm-posta-p{ font-family: var(--serif); font-size: 1.8rem; line-height: 1.5; color: var(--ink-soft); max-width: 48ch; margin: 0 0 2.2rem; }
.hm-form{ display: flex; gap: 1rem; max-width: 440px; }
.hm-input{ flex: 1; font-family: var(--serif); font-size: 1.7rem; padding: 1.3rem 1.6rem; border: 2px solid var(--ink); border-radius: 14px; background: var(--paper); color: var(--ink); }
.hm-input::placeholder{ color: rgba(43,39,35,.4); }
.hm-btn{ font-family: var(--display) !important; font-weight: 700; font-size: 1.7rem; background: var(--rosso) !important; color: var(--paper) !important; border: 0 !important; border-radius: 14px; padding: 1.3rem 2.6rem; cursor: pointer; white-space: nowrap; }
.hm-btn:disabled{ opacity: .45; cursor: not-allowed; }
.hm-consent{ display: flex; gap: .9rem; align-items: flex-start; margin: 1.4rem 0 0; font-family: var(--mono); font-size: 1.15rem; line-height: 1.55; color: var(--ink-soft); max-width: 50ch; }
.hm-consent input{ margin-top: 2px; flex: 0 0 auto; accent-color: var(--rosso); }
.hm-consent a{ color: var(--rosso); }
.hm-hint{ font-family: var(--mono); font-size: var(--fs-meta); color: var(--ink-soft); margin: 1rem 0 0; }
.hm-msg{ display: none; font-family: var(--serif); font-size: 1.6rem; margin: 1rem 0 0; }
.hm-ok{ color: var(--ink); } .hm-err{ color: var(--rosso); }
.hm-form.success ~ .hm-ok{ display: block; }
.hm-form.error ~ .hm-err{ display: block; }
.hm-form.success ~ .hm-consent, .hm-form.success ~ .hm-hint{ display: none; }
.hm-posta-art img{ width: 100%; height: auto; mix-blend-mode: multiply; }

/* aforisma */
.hm-afor{ text-align: center; padding: 6rem 2rem 0; }
.hm-afor blockquote{ font-family: var(--serif); font-style: italic; font-size: clamp(2.8rem,4vw,3.6rem); line-height: 1.25; max-width: 24ch; margin: 0 auto; border: 0; padding: 0; color: var(--ink); }
.hm-macchia{ position: relative; display: inline-block; }
.hm-macchia::before{ content: ""; position: absolute; inset: -.06em -.16em -.18em -.12em; background: var(--giallo); border-radius: 47% 53% 45% 55% / 60% 47% 53% 40%; transform: translate(-4px,4px) rotate(-1.4deg); z-index: -1; opacity: .9; filter: var(--rough); }
.hm-afor .hm-sign{ font-family: var(--display); color: var(--rosso); font-weight: 600; font-size: 1.8rem; margin: 1.8rem 0 0; }

@media (max-width: 760px){
  .hm-hero{ grid-template-columns: 1fr; gap: 2.8rem; padding: 3rem 0 2rem; }
  .hm-book{ order: -1; }
  .hm-hl{ grid-template-columns: 1fr; }
  .hm-hl-r{ min-height: 20rem; }
  .hm-posta{ grid-template-columns: 1fr; gap: 2.4rem; }
  .hm-posta-art{ max-width: 60%; margin: 0 auto; }
}
@media (max-width: 640px){
  .hm-wtiles{ grid-template-columns: 1fr; }
  .hm-stories{ grid-template-columns: 1fr; }
}

/* --- Pagina "Racconti" (custom-racconti.hbs) ------------------------------ */

.rc{
  max-width: 1120px; margin: 0 auto; padding: 2rem 24px 6rem;
  --rosa:#f3a9bc; --salvia:#b7d3a0; --celeste:#a9d9e6; --giallo:#f2d256; --pesca:#f3c29b; --acqua:#6fbeb3;
  --line:rgba(43,39,35,.14); --line-strong:rgba(43,39,35,.55);
}

.rc-head{ padding: 1.5rem 0 .5rem; max-width: 60ch; }
.rc-kicker{ font-family: var(--mono); font-size: var(--fs-meta); letter-spacing: .22em; text-transform: uppercase; color: var(--rosso); margin: 0 0 1.4rem; }
.rc-title{ font-family: var(--display) !important; font-weight: 700; font-size: var(--fs-hero); line-height: 1.02; letter-spacing: -.02em; margin: 0 0 1.4rem; }
.rc-sub{ font-family: var(--serif); font-style: italic; font-size: var(--fs-lead); line-height: 1.45; color: var(--ink-soft); margin: 0; max-width: 46ch; }

.rc-group{ padding: 4.6rem 0 0; }
.rc-grouphead{ display: flex; align-items: center; gap: 1.4rem; margin: 0 0 .6rem; }
.rc-grouplabel{ font-family: var(--mono); font-size: var(--fs-meta); letter-spacing: .18em; text-transform: uppercase; color: var(--ink-soft); }
.rc-grouphead::after{ content: ""; height: 1px; flex: 1; background: var(--line-strong); opacity: .35; }
.rc-groupsub{ font-family: var(--serif); font-style: italic; font-size: var(--fs-body-sm); line-height: 1.5; color: var(--ink-soft); margin: 0 0 2.2rem; max-width: 56ch; }

/* card storia (assaggio Funziona da piccolo / Cuoco Zero popolato) */
.rc-stories{ display: grid; grid-template-columns: 1fr 1fr; gap: 2.2rem; }
.rc-story{ display: flex; gap: 1.8rem; background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 2rem 2.2rem; text-decoration: none; color: var(--ink); transition: transform .12s, box-shadow .12s; }
.rc-story:hover{ transform: translateY(-3px); box-shadow: 0 14px 30px rgba(43,39,35,.12); }
.rc-blob{ flex: 0 0 5.2rem; height: 5.2rem; border-radius: 47% 53% 62% 38% / 55% 46% 54% 45%; transform: rotate(-6deg); mix-blend-mode: multiply; background: var(--rosa); }
.rc-stories .rc-story:nth-child(3n+1) .rc-blob{ background: var(--rosa); }
.rc-stories .rc-story:nth-child(3n+2) .rc-blob{ background: var(--salvia); }
.rc-stories .rc-story:nth-child(3n) .rc-blob{ background: var(--celeste); }
.rc-story-body{ display: flex; flex-direction: column; min-width: 0; }
.rc-story-t{ font-family: var(--display) !important; font-weight: 600; font-size: 2rem; line-height: 1.12; margin: 0 0 .6rem; }
.rc-story-g{ font-family: var(--serif); font-size: 1.55rem; line-height: 1.45; color: var(--ink-soft); margin: 0; }
.rc-story.is-locked .rc-story-t{ color: rgba(43,39,35,.62); }
.rc-story.is-locked .rc-blob{ filter: saturate(.35); opacity: .7; }

.rc-collana-cta{ display: inline-flex; align-items: center; gap: .9rem; margin-top: 2.2rem; font-family: var(--display) !important; font-weight: 600; font-size: 1.6rem; color: var(--rosso); text-decoration: none; }
.rc-collana-cta:hover{ text-decoration: underline; text-decoration-color: var(--rosso); text-underline-offset: 4px; }

/* placeholder "in arrivo" (Cuoco Zero senza post) */
.rc-soon{ display: grid; grid-template-columns: .6fr 1.4fr; background: #fff; border: 1px dashed var(--line-strong); border-radius: 16px; overflow: hidden; opacity: .92; }
.rc-soon-art{ background: #f7f2e6; display: flex; align-items: center; justify-content: center; padding: 2.6rem; filter: saturate(.5); }
.rc-soon-art img{ max-width: 70%; height: auto; mix-blend-mode: multiply; }
.rc-soon-body{ padding: 2.6rem 3rem; display: flex; flex-direction: column; justify-content: center; }
.rc-soon-pill{ display: inline-flex; align-items: center; gap: .6rem; align-self: flex-start; font-family: var(--mono); font-size: var(--fs-meta); letter-spacing: .12em; text-transform: uppercase; color: var(--ink-soft); border: 1px dashed var(--line-strong); border-radius: 100px; padding: .5rem 1.3rem; margin: 0 0 1.2rem; }
.rc-soon-t{ font-family: var(--display) !important; font-weight: 700; font-size: 2.4rem; margin: 0 0 .8rem; color: rgba(43,39,35,.85); }
.rc-soon-g{ font-family: var(--serif); font-size: 1.6rem; line-height: 1.45; color: var(--ink-soft); margin: 0; max-width: 48ch; }

/* righe "Altre storie" (niente numerazione: non è ordine di lettura) */
.rc-rows{ list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--line); }
.rc-row-item{ border-bottom: 1px solid var(--line); }
.rc-row{ display: grid; grid-template-columns: 44px 1fr auto; align-items: center; gap: 1.8rem; padding: 2rem .6rem; text-decoration: none; color: var(--ink); transition: background .12s; }
.rc-row:hover{ background: rgba(232,91,103,.05); }
.rc-dot{ width: 1.4rem; height: 1.4rem; border-radius: 50%; justify-self: center; mix-blend-mode: multiply; background: var(--rosa); }
.rc-row-item:nth-child(6n+1) .rc-dot{ background: var(--rosa); }
.rc-row-item:nth-child(6n+2) .rc-dot{ background: var(--celeste); }
.rc-row-item:nth-child(6n+3) .rc-dot{ background: var(--salvia); }
.rc-row-item:nth-child(6n+4) .rc-dot{ background: var(--pesca); }
.rc-row-item:nth-child(6n+5) .rc-dot{ background: var(--giallo); }
.rc-row-item:nth-child(6n) .rc-dot{ background: var(--acqua); }
.rc-row-title{ display: block; font-family: var(--display) !important; font-weight: 600; font-size: 1.9rem; line-height: 1.15; margin: 0 0 .4rem; }
.rc-row:hover .rc-row-title{ text-decoration: underline; text-decoration-color: var(--rosso); text-underline-offset: 4px; }
.rc-row-gancio{ display: block; font-family: var(--serif); font-size: 1.55rem; line-height: 1.4; color: var(--ink-soft); max-width: 60ch; }
.rc-row-tail{ white-space: nowrap; }
.rc-arrow{ color: var(--rosso); font-size: 2rem; font-family: var(--display); }
.rc-badge{ display: inline-flex; align-items: center; gap: .4rem; font-family: var(--mono); font-size: var(--fs-meta); letter-spacing: .08em; text-transform: uppercase; color: var(--ink-soft); }
.rc-badge svg{ width: 15px; height: 15px; }
.rc-row-item.is-locked .rc-row-title{ color: rgba(43,39,35,.62); }
.rc-row-item.is-locked .rc-row-gancio{ color: rgba(43,39,35,.5); }
.rc-row-item.is-locked .rc-dot{ filter: saturate(.35); opacity: .7; }

@media (max-width: 640px){
  .rc-stories{ grid-template-columns: 1fr; }
  .rc-soon{ grid-template-columns: 1fr; }
}
@media (max-width: 600px){
  .rc-row{ grid-template-columns: 32px 1fr; }
  .rc-row-tail{ grid-column: 2; margin-top: .3rem; }
}

/* --- Scheda "Il libro chiacchierone" (custom-chiacchierone.hbs) ------------ */
/* Libro a sé: trattamento bespoke, bianco e aria, la voce che parla dalla
   pagina. NON i blocchi pastello dei Funziona. Colore solo dalle 5 bande della
   copertina (--b1..--b5), usate come micro-motivo. */
.ch{
  --b1:#d5202a; --b2:#3b3ba0; --b3:#c4168d; --b4:#e8531f; --b5:#f5a01f;
  --pure:#ffffff; --cream:#f7f2e6; --line:rgba(43,39,35,.14);
  --line-strong:rgba(43,39,35,.55); --ink-faint:#8b8378; --rosso-tenue:#f6ccce;
  background: var(--paper);
}
.ch-inner{ max-width: 104rem; margin: 0 auto; padding: 1rem 24px 4rem; }

.ch-crumb{ font-family: var(--mono); font-size: var(--fs-meta); letter-spacing: .14em; text-transform: uppercase; color: var(--ink-soft); margin: 2.6rem 0 0; }
.ch-crumb a{ color: var(--rosso); }

/* --- Hero (da Claude Design): trattamento tipografico, molto bianco --- */
.ch-hero{ position: relative; }
.ch-hero__whisper{ position: absolute; top: .6rem; right: 4rem; max-width: 23rem; margin: 0; text-align: right; font-family: var(--serif); font-style: italic; font-size: 1.5rem; line-height: 1.4; color: var(--ink-soft); }
.ch-hero__inner{ max-width: 82rem; margin: 0 auto; padding: 19rem 3.2rem 0; text-align: center; }
.ch-hero__eyebrow{ margin: 0 0 4rem; font-family: var(--display) !important; font-size: 1.4rem; letter-spacing: .22em; text-transform: uppercase; color: var(--ink-soft); }
.ch-hero__title{ margin: 0; font-family: var(--display) !important; font-weight: 700; font-size: clamp(4.4rem, 11vw, 8.8rem); line-height: .98; letter-spacing: -.02em; }
.ch-hero__sub{ margin: 3.6rem 0 0; font-family: var(--serif); font-style: italic; font-size: 3rem; color: var(--ink-soft); }
.ch-hero__traits{ list-style: none; margin: 5.2rem 0 0; padding: 0; display: flex; justify-content: center; flex-wrap: wrap; gap: 2.6rem; font-family: var(--display) !important; font-size: 1.5rem; color: var(--ink); }
.ch-hero__traits li{ position: relative; font-family: var(--display); }
.ch-hero__traits li + li::before{ content: "·"; position: absolute; left: -1.5rem; color: var(--rosso); }
.ch-hero__cta{ display: inline-block; margin-top: 5.6rem; font-family: var(--display) !important; font-size: 1.8rem; padding: 1.5rem 3rem; background: var(--rosso); color: #fff !important; border-radius: 999px; text-decoration: none; }
.ch-hero__cta:hover{ opacity: .9; }
.ch-hero__bridge{ max-width: 64rem; margin: 0 auto; padding: 7rem 3.2rem 0; text-align: center; font-family: var(--serif); font-style: italic; font-size: 2rem; color: var(--ink-soft); }
/* il sampler segue subito la riga di raccordo: gap ridotto (introduce la card) */
.ch-hero + .ch-sec{ margin-top: 4.5rem; }
@media (max-width: 640px){
  .ch-hero__inner{ padding-top: 9rem; }
  .ch-hero__whisper{ position: static; max-width: none; text-align: center; margin: 2rem auto 0; }
}
.ch-cta{ display: inline-flex; align-items: center; gap: .9rem; font-family: var(--display) !important; font-weight: 600; font-size: 1.7rem; color: var(--paper) !important; background: var(--rosso); padding: 1.4rem 2.8rem; border-radius: 100px; text-decoration: none; box-shadow: 0 6px 0 rgba(43,39,35,.14); transition: transform .12s, box-shadow .12s; }
.ch-cta:hover{ transform: translateY(2px); box-shadow: 0 4px 0 rgba(43,39,35,.14); }

/* --- Etichetta di sezione --- */
.ch-sec{ margin-top: 9.2rem; }
.ch-seclabel{ display: flex; align-items: center; gap: 1.4rem; font-family: var(--mono); font-size: var(--fs-meta); letter-spacing: .18em; text-transform: uppercase; color: var(--ink-soft); margin: 0 0 2.2rem; }
.ch-seclabel::after{ content: ""; height: 1px; flex: 1; background: var(--line-strong); opacity: .3; }
.ch-secintro{ font-family: var(--serif); font-style: italic; font-size: var(--fs-lead); color: var(--ink-soft); margin: 0 0 3.4rem; }

/* --- Assaggio sfogliabile: la pagina bianca, una riga per foglio --- */
.ch-taste{ max-width: 38.4rem; margin: 0 auto; }
.ch-page{ position: relative; background: var(--pure); border: 1px solid var(--line); border-radius: 6px; box-shadow: 0 24px 60px rgba(43,39,35,.10), 0 2px 0 var(--cream); aspect-ratio: 13 / 20; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 5rem 4.4rem; cursor: pointer; overflow: hidden; }
.ch-page::after{ content: ""; position: absolute; left: 0; top: 8%; bottom: 8%; width: 1px; background: var(--line); opacity: .5; }
.ch-page-line{ font-family: var(--serif); font-size: clamp(2.1rem, 3.2vw, 2.6rem); line-height: 1.5; color: var(--ink); text-align: center; margin: 0; max-width: 26ch; transition: opacity .18s ease; }
.ch-page-num{ position: absolute; bottom: 2.4rem; left: 0; right: 0; text-align: center; font-family: var(--serif); font-size: 1.5rem; color: var(--ink-faint); }
.ch-page-hint{ position: absolute; top: 1.8rem; right: 2rem; font-family: var(--mono); font-size: 1rem; letter-spacing: .12em; text-transform: uppercase; color: var(--ink-faint); opacity: .7; }
.ch-taste-bar{ display: flex; align-items: center; justify-content: space-between; margin: 2.2rem .2rem 0; }
.ch-dots{ display: inline-flex; gap: .7rem; }
.ch-dots i{ width: .8rem; height: .8rem; border-radius: 50%; background: var(--line); transition: background .15s, transform .15s; }
.ch-dots i.on{ transform: scale(1.25); }
.ch-dots i.on:nth-child(6n+1){ background: var(--b1); }
.ch-dots i.on:nth-child(6n+2){ background: var(--b2); }
.ch-dots i.on:nth-child(6n+3){ background: var(--b3); }
.ch-dots i.on:nth-child(6n+4){ background: var(--b4); }
.ch-dots i.on:nth-child(6n+5){ background: var(--b5); }
.ch-dots i.on:nth-child(6n+6){ background: var(--ink); }
.ch-turn{ font-family: var(--display) !important; font-weight: 600; font-size: 1.6rem; color: var(--rosso); background: none; border: 0; cursor: pointer; padding: .6rem .2rem; }
.ch-turn:hover{ text-decoration: underline; text-underline-offset: 4px; }

/* --- L'oggetto: copertina + gag 1-2-4-3 --- */
.ch-obj{ display: grid; grid-template-columns: .85fr 1.15fr; gap: 5.2rem; align-items: center; }
.ch-obj-cover img{ margin: 0 auto; border-radius: 4px; mix-blend-mode: normal; }
.ch-obj-body p{ font-family: var(--serif); font-size: var(--fs-body); line-height: 1.6; margin: 0 0 1.8rem; max-width: 46ch; }
.ch-obj-body p:last-child{ margin-bottom: 0; }
.ch-hi{ font-family: var(--display) !important; font-weight: 700; }
.ch-nums{ display: inline-flex; gap: .8rem; margin: .2rem 0 .4rem; }
.ch-nums b{ font-family: var(--display) !important; font-weight: 700; font-size: 1.9rem; width: 3.4rem; height: 3.4rem; border-radius: 8px; display: inline-flex; align-items: center; justify-content: center; color: #fff; }
.ch-nums b:nth-child(1){ background: var(--b2); }
.ch-nums b:nth-child(2){ background: var(--b3); }
.ch-nums b:nth-child(3){ background: var(--b4); }
.ch-nums b:nth-child(4){ background: var(--b5); }
.ch-objquote{ font-family: var(--serif); font-style: italic; font-size: var(--fs-lead); color: var(--ink-soft); border-left: 3px solid var(--rosso); padding-left: 1.8rem; margin: 2.4rem 0 0; }

/* --- Mettiamo le cose in chiaro: anti-pitch onesto --- */
.ch-clear{ max-width: 72rem; margin: 0 auto; text-align: center; }
.ch-clear blockquote{ font-family: var(--display) !important; font-style: normal; font-weight: 700; font-size: clamp(2.6rem, 4vw, 3.8rem); line-height: 1.18; letter-spacing: -.01em; margin: 0; color: var(--ink); }
.ch-clear .src{ font-family: var(--mono); font-size: var(--fs-meta); letter-spacing: .14em; text-transform: uppercase; color: var(--ink-faint); margin: 2.2rem 0 0; }
.ch-gives{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 4.6rem 6.6rem; text-align: left; max-width: 92rem; margin: 6rem auto 0; }
.ch-give .k{ font-family: var(--mono); font-size: var(--fs-meta); letter-spacing: .12em; text-transform: uppercase; margin: 0 0 1.5rem; }
.ch-give h3{ font-family: var(--display) !important; font-weight: 600; font-size: 2rem; margin: 0 0 1.5rem; }
.ch-give p{ font-family: var(--serif); font-size: var(--fs-body-sm); line-height: 1.62; color: var(--ink-soft); margin: 0; max-width: 30ch; }
.ch-give:nth-child(1) .k{ color: var(--b1); }
.ch-give:nth-child(2) .k{ color: var(--b3); }
.ch-give:nth-child(3) .k{ color: var(--b4); }

/* --- Cosa dicono: recensioni verbatim, sobrie --- */
.ch-says{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 4rem; margin-top: .8rem; }
.ch-say{ margin: 0; }
.ch-say .stars{ color: var(--b5); font-size: 1.5rem; letter-spacing: 2px; margin: 0 0 1.2rem; }
.ch-say blockquote{ font-family: var(--serif); font-style: italic; font-size: 2rem; line-height: 1.42; color: var(--ink); margin: 0 0 1.4rem; border: 0; padding: 0; }
.ch-say .who{ font-family: var(--mono); font-size: var(--fs-meta); letter-spacing: .08em; text-transform: uppercase; color: var(--ink-faint); }

/* --- Chiusura: l'anello --- */
.ch-close{ margin-top: 2.6rem; text-align: center; padding: 6.4rem 0 2rem; }
.ch-tickwrap{ margin: 0 0 2.6rem; }
.ch-ticks{ display: inline-flex; gap: .5rem; align-items: center; }
.ch-ticks i{ display: block; width: .7rem; height: 2.2rem; border-radius: 2px; }
.ch-ticks i:nth-child(1){ background: var(--b1); }
.ch-ticks i:nth-child(2){ background: var(--b2); }
.ch-ticks i:nth-child(3){ background: var(--b3); }
.ch-ticks i:nth-child(4){ background: var(--b4); }
.ch-ticks i:nth-child(5){ background: var(--b5); }
.ch-close h2{ font-family: var(--display) !important; font-weight: 700; font-size: clamp(2.8rem, 3.6vw, 4rem); line-height: 1.1; margin: 0 0 1.6rem; }
.ch-close p{ font-family: var(--serif); font-style: italic; font-size: var(--fs-lead); color: var(--ink-soft); margin: 0 auto 3rem; max-width: 60rem; }
.ch-close .ch-soft{ display: block; margin-top: 2.4rem; font-family: var(--serif); font-size: 1.6rem; color: var(--ink-soft); }
.ch-close .ch-soft a{ color: var(--rosso); text-decoration: underline; text-decoration-color: var(--rosso-tenue); text-underline-offset: 3px; }

@media (max-width: 820px){
  .ch-obj{ grid-template-columns: 1fr; gap: 3rem; }
  .ch-obj-cover{ max-width: 30rem; margin: 0 auto; }
  .ch-gives{ grid-template-columns: 1fr; gap: 3.8rem; }
  .ch-says{ grid-template-columns: 1fr; gap: 3rem; }
}
@media (max-width: 640px){
  .ch-hero{ padding: 4.8rem 0 2rem; }
}

/* ===================================================================
   CHROME SITE-WIDE (da Claude Design) — menu + footer, 2026-07-08.
   Menu: restyle delle classi Source; markup e logica del partial
   invariati (navigazione admin, stato membro Portal, ricerca, burger).
   Footer: partial riscritto (components/footer.hbs) con classi .ch-foot.
   =================================================================== */

/* --- MENU --- */
.gh-navigation{ box-shadow: none; border: 0; background: var(--paper); }
.gh-navigation-inner{ max-width: 108rem; margin: 0 auto; padding: 3.4rem 3.2rem 0; align-items: center; gap: 2.6rem; }
.gh-navigation-logo{ font-family: var(--display) !important; font-weight: 700; font-size: 1.9rem; letter-spacing: -.01em; color: var(--ink); text-transform: none; }
.gh-navigation-menu{ justify-content: flex-end; }
.gh-navigation-menu .nav{ display: flex; align-items: center; gap: 2.6rem; margin: 0; padding: 0; list-style: none; }
.gh-navigation-menu .nav li{ margin: 0; }
.gh-navigation-menu .nav a{ font-family: var(--display) !important; font-weight: 400 !important; font-size: 1.5rem; color: var(--ink-soft); letter-spacing: 0; text-transform: none; }
.gh-navigation-menu .nav a:hover{ opacity: .72; }
.gh-navigation-actions{ display: flex; align-items: center; gap: 2rem; }
.gh-navigation-members{ display: flex; align-items: center; gap: 2rem; }
/* filetto verticale prima di Accedi/Iscriviti */
.gh-navigation-members::before{ content: ""; width: 1px; height: 1.8rem; background: var(--ink-soft); opacity: .4; }
.gh-navigation-members a[data-portal="signin"]{ font-family: var(--display) !important; font-weight: 400; font-size: 1.5rem; color: var(--ink-soft); text-decoration: none; }
.gh-navigation-members a[data-portal="signin"]:hover{ opacity: .72; }
.gh-navigation-members .gh-button{ background: var(--ink) !important; color: var(--paper) !important; border: 0 !important; border-radius: 999px !important; padding: .8rem 1.8rem !important; font-family: var(--display) !important; font-weight: 600; font-size: 1.5rem; box-shadow: none !important; min-height: 0 !important; }
.gh-navigation-members .gh-button:hover{ opacity: .9; }

/* --- FOOTER (components/footer.hbs riscritto) --- */
.gh-footer.ch-foot{ border-top: 2px solid rgba(43,39,35,.12); background: var(--paper); margin: 0; padding: 0; }
.ch-foot__inner{ max-width: 108rem; margin: 0 auto; padding: 6.4rem 3.2rem; display: flex; justify-content: space-between; align-items: flex-start; gap: 4rem; flex-wrap: wrap; }
.ch-foot__name{ margin: 0 0 1rem; font-family: var(--display) !important; font-weight: 700; font-size: 2.2rem; color: var(--ink); }
.ch-foot__tag{ margin: 0; max-width: 34rem; font-family: var(--serif); font-style: italic; font-size: 1.7rem; color: var(--ink-soft); }
.ch-foot__links{ display: flex; flex-direction: column; gap: 1rem; font-family: var(--display) !important; font-size: 1.5rem; }
.ch-foot__links a{ color: var(--ink-soft); text-decoration: none; }
.ch-foot__links a:hover{ opacity: .72; }

@media (max-width: 640px){
  .ch-foot__inner{ padding: 4.8rem 24px; flex-direction: column; gap: 2.8rem; }
}

/* ===================================================================
   HOMEPAGE v24 — percorso illustrato, 2026-07-11
   Namespace nh- per non interferire con le altre pagine del tema.
   =================================================================== */

.nh-home{
  --nh-red: var(--rosso);
  --nh-paper: var(--paper);
  --nh-cream: var(--cream);
  --nh-ink: var(--ink);
  --nh-soft: var(--ink-soft);
  overflow: hidden;
  background: var(--nh-paper);
  color: var(--nh-ink);
}
.nh-home figure{ margin: 0; }
.nh-home h1,.nh-home h2,.nh-home h3{ font-family: var(--display) !important; color: var(--nh-ink); }
.nh-home h1{ font-size: clamp(5.5rem,7vw,8.8rem); line-height: .98; letter-spacing: -.03em; margin: 0; }
.nh-home h2{ font-size: clamp(5rem,7vw,8.4rem); line-height: .97; letter-spacing: -.025em; margin: 0; }
.nh-home h3{ font-size: clamp(3.8rem,5vw,6rem); line-height: 1.02; margin: 0; }
.nh-label{ margin: 0 0 1.8rem; font-family: var(--display); font-size: 1.2rem; letter-spacing: .18em; text-transform: uppercase; color: var(--nh-red); }
.nh-link{ display: inline-flex; gap: 1rem; align-items: center; padding-bottom: .4rem; border-bottom: 2px solid var(--nh-red); font-family: var(--display); font-size: 1.7rem; font-weight: 600; color: var(--nh-red); text-decoration: none; }
.nh-link:hover{ opacity: .72; }
.nh-sr-only{ position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.nh-mark{ display: inline; margin: 0 -.08em; padding: 0 .08em; border-radius: 48% 52% 39% 61%/58% 43% 57% 42%; background: linear-gradient(to bottom,transparent 58%,rgba(242,210,86,.76) 58%,rgba(242,210,86,.76) 91%,transparent 91%); -webkit-box-decoration-break: clone; box-decoration-break: clone; }
.nh-mark::before{ display: none; }

/* Hero */
.nh-hero{ display: grid; grid-template-columns: minmax(0,1.08fr) minmax(30rem,.92fr); align-items: center; gap: 1.8rem; max-width: 118rem; min-height: 70rem; margin: 0 auto; padding: 6.8rem 4rem 11.8rem; }
.nh-hero__copy{ position: relative; z-index: 2; padding-left: 3.4rem; }
.nh-hero__copy h1{ max-width: 10ch; }
.nh-hero__copy::before{ content: ""; position: absolute; left: 0; top: .3rem; width: 1.2rem; height: 78%; border-left: 3px solid var(--nh-red); border-top: 3px solid var(--nh-red); border-bottom: 3px solid var(--nh-red); transform: rotate(-1deg); opacity: .88; }
.nh-lead{ max-width: 36ch; margin: 3rem 0; font-family: var(--serif); font-size: 2.2rem; line-height: 1.43; color: var(--nh-soft); }
.nh-hero__art{ position: relative; display: grid; place-items: center; min-height: 52rem; margin: 0 -7% 0 -12% !important; overflow: visible; isolation: isolate; }
.nh-hero__art img{ position: relative; z-index: 1; display: block; width: 103%; max-width: none; transform: rotate(1.5deg); -webkit-mask-image: radial-gradient(ellipse 57% 57% at 50% 52%,#000 48%,rgba(0,0,0,.68) 72%,transparent 100%); mask-image: radial-gradient(ellipse 57% 57% at 50% 52%,#000 48%,rgba(0,0,0,.68) 72%,transparent 100%); }
.nh-hero__stain{ position: absolute; z-index: 0; top: 9%; right: -7%; width: 86%; aspect-ratio: 1; background: var(--salvia); opacity: .3; border-radius: 58% 42% 63% 37%/45% 59% 41% 55%; transform: rotate(4deg); }

/* Storia in evidenza */
.nh-feature{ display: grid; grid-template-columns: .8fr 1.2fr; grid-template-rows: auto 1fr; column-gap: 5.5rem; max-width: 118rem; margin: 0 auto; padding: 12rem 4rem 15rem; border-top: 1px solid rgba(43,39,35,.25); }
.nh-feature__heading{ position: relative; z-index: 2; grid-column: 1; grid-row: 1; }
.nh-feature__heading h2{ font-size: clamp(5.6rem,7.6vw,9.6rem); }
.nh-note{ display: block; margin: 2.4rem 0 0; font-family: var(--serif); font-size: 1.7rem; font-style: italic; color: var(--nh-soft); transform: rotate(-2deg); }
.nh-feature__art{ grid-column: 2; grid-row: 1/3; align-self: center; }
.nh-feature__art img{ position: relative; z-index: 1; display: block; width: 100%; }
.nh-feature__copy{ grid-column: 1; grid-row: 2; align-self: start; padding-top: 3.8rem; }
.nh-feature__copy p{ margin: 0 0 2.6rem; font-family: var(--serif); font-size: 2.1rem; line-height: 1.47; color: var(--nh-soft); }

/* Percorso libri */
.nh-books{ position: relative; max-width: 118rem; margin: 0 auto; padding: 13rem 4rem 17rem; border-top: 1px solid rgba(43,39,35,.25); }
.nh-books__heading{ position: relative; z-index: 2; max-width: 72rem; margin: 0 auto 12rem; text-align: center; }
.nh-books__heading>p:last-child{ margin: 2.4rem 0 0; font-family: var(--serif); font-size: 2.1rem; font-style: italic; color: var(--nh-soft); }
.nh-thread{ position: absolute; z-index: 0; top: 30rem; left: 7%; width: 86%; height: calc(100% - 41rem); overflow: visible; color: var(--nh-red); opacity: .55; pointer-events: none; }
.nh-thread path{ fill: none; stroke: currentColor; stroke-width: 5; stroke-linecap: round; vector-effect: non-scaling-stroke; }
.nh-book{ position: relative; z-index: 1; display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 11rem; min-height: 50rem; margin-bottom: 8rem; }
.nh-book:last-of-type{ margin-bottom: 0; }
.nh-book__copy{ max-width: 44rem; }
.nh-book--two .nh-book__copy{ justify-self: end; }
.nh-book__copy>p:not(.nh-label){ margin: 2.3rem 0; font-family: var(--serif); font-size: 2rem; line-height: 1.48; color: var(--nh-soft); }
.nh-book__copy>a{ font-family: var(--display); font-size: 1.7rem; font-weight: 600; color: var(--nh-red); text-decoration: none; }
.nh-book__cover{ position: relative; display: grid; place-items: center; min-height: 39rem; }
.nh-book__cover::before{ content: ""; position: absolute; z-index: 0; width: 74%; height: 72%; border-radius: 55% 45% 61% 39%/47% 58% 42% 53%; opacity: .42; transform: rotate(-5deg); }
.nh-book__cover--pink::before{ background: var(--rosa); }
.nh-book__cover--yellow::before{ background: var(--giallo); transform: rotate(-2deg); }
.nh-book__cover--trepunti::before{ display: none; }
.nh-book__cover img{ position: relative; z-index: 1; display: block; width: auto; max-width: 100%; max-height: 38rem; filter: drop-shadow(0 18px 26px rgba(43,39,35,.14)); }
.nh-book--one .nh-book__cover img{ filter: drop-shadow(0 2.8rem 2.4rem rgba(43,39,35,.16)) drop-shadow(0 .5rem .4rem rgba(43,39,35,.10)); }
.nh-book--three .nh-book__cover img{ max-width: 150%; max-height: 57rem; }
.nh-book__cover--trepunti img{ max-width: 115%; max-height: 42rem; filter: none; mix-blend-mode: normal; }

/* Libro chiacchierone */
.nh-talking{ position: relative; display: grid; grid-template-columns: .82fr 1.18fr; align-items: center; gap: 8rem; max-width: 118rem; margin: 0 auto; padding: 13rem 4rem 15rem; }
.nh-talking__colors{ position: absolute; top: 0; left: 4rem; right: 4rem; display: grid; grid-template-columns: repeat(5,1fr); height: 1.2rem; overflow: hidden; }
.nh-talking__colors i:nth-child(1){ background: #d6323f; }.nh-talking__colors i:nth-child(2){ background: #374ba8; }.nh-talking__colors i:nth-child(3){ background: #c12b87; }.nh-talking__colors i:nth-child(4){ background: #e05831; }.nh-talking__colors i:nth-child(5){ background: #f0a72f; }
.nh-talking__cover{ max-width: 36rem; margin: auto !important; }
.nh-talking__cover img{ display: block; width: 100%; }
.nh-talking__copy>p:not(.nh-label):not(.nh-whisper){ max-width: 42ch; margin: 2.5rem 0; font-family: var(--serif); font-size: 2.1rem; line-height: 1.48; color: var(--nh-soft); }
.nh-whisper{ margin: 2.6rem 0; font-family: var(--display); font-size: 1.8rem; font-style: italic; color: var(--nh-red); transform: rotate(-2deg); }

/* Newsletter */
.nh-post{ display: grid; grid-template-columns: 1.05fr .95fr; align-items: center; gap: 3.8rem; padding: 11rem max(4rem,calc((100% - 110rem)/2)); background: var(--nh-cream); clip-path: polygon(0 4%,8% 2%,16% 4.5%,25% 1.5%,34% 4%,43% 2%,52% 4.5%,61% 1.5%,70% 4%,79% 2%,88% 4.5%,100% 1.5%,100% 100%,0 100%); }
.nh-post__copy{ padding-left: 4rem; }
.nh-post__copy h2{ font-size: clamp(4.8rem,6.5vw,7.6rem); }
.nh-post__copy>p:not(.nh-label){ max-width: 42ch; margin: 2.6rem 0; font-family: var(--serif); font-size: 2.1rem; line-height: 1.45; color: var(--nh-soft); }
.nh-form{ max-width: 51rem; margin-top: 2.8rem; }
.nh-form__row{ display: flex; gap: 1.2rem; }
.nh-form__row input{ min-width: 0; flex: 1; padding: 1.2rem .2rem; border: 0; border-bottom: 2px solid var(--nh-ink); border-radius: 0; background: transparent; font-family: var(--serif); font-size: 1.8rem; color: var(--nh-ink); }
.nh-form button{ padding: 1.2rem 2.2rem; border: 0; border-radius: 47% 53% 44% 56%/56% 44% 56% 44%; background: var(--nh-red); font-family: var(--display); font-weight: 600; color: var(--nh-paper); cursor: pointer; }
.nh-form button:disabled{ opacity: .45; cursor: not-allowed; }
.nh-consent{ display: flex; align-items: flex-start; gap: .9rem; margin-top: 1.6rem; font-family: var(--serif); font-size: 1.3rem; line-height: 1.35; color: var(--nh-soft); cursor: pointer; }
.nh-consent input{ flex: 0 0 auto; width: 1.5rem; height: 1.5rem; margin: .1rem 0 0; accent-color: var(--nh-red); }
.nh-consent a{ color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.nh-hint{ margin: 1rem 0 0; font-family: var(--serif); font-size: 1.4rem; color: var(--nh-soft); }
.nh-message{ display: none; margin: 1rem 0 0; font-family: var(--serif); font-size: 1.5rem; }
.nh-message--error{ color: var(--nh-red); }
.nh-form.success .nh-message[data-members-success],.nh-form.error .nh-message[data-members-error]{ display: block; }
.nh-post__art img{ display: block; width: 90%; max-height: 43rem; margin: auto; object-fit: contain; }

/* Chiusura */
.nh-quote{ padding: 13rem 2rem; border: 0; text-align: center; }
.nh-quote p{ max-width: 24ch; margin: 0 auto; font-family: var(--serif); font-size: clamp(2.8rem,4vw,4rem); font-style: italic; line-height: 1.3; color: var(--nh-ink); }
.nh-quote p span{ display: inline; margin: 0 -.08em; padding: 0 .08em; border-radius: 48% 52% 39% 61%/58% 43% 57% 42%; background: linear-gradient(to bottom,transparent 58%,rgba(242,210,86,.76) 58%,rgba(242,210,86,.76) 91%,transparent 91%); -webkit-box-decoration-break: clone; box-decoration-break: clone; }
.nh-quote p span::before{ display: none; }
.nh-quote footer{ margin-top: 2.4rem; font-family: var(--display); font-size: 1.8rem; color: var(--nh-red); }

@media (max-width: 760px){
  .nh-book{ gap: 5.5rem; }
}
@media (max-width: 620px){
  .nh-home h1{ font-size: clamp(5rem,14vw,6.8rem); }
  .nh-hero{ grid-template-columns: 1fr; gap: 1rem; min-height: 0; padding: 5.6rem 24px 8.2rem; }
  .nh-hero__copy{ order: 1; padding-left: 2.2rem; }
  .nh-hero__copy::before{ height: 72%; }
  .nh-hero__art{ order: 2; min-height: 35rem; margin: 1rem -18% 0 -12% !important; }
  .nh-lead{ font-size: 2rem; }
  .nh-feature{ grid-template-columns: 1fr; grid-template-rows: auto auto auto; gap: 2.8rem; padding: 8.8rem 24px 11rem; }
  .nh-feature__heading{ grid-column: 1; grid-row: 1; }
  .nh-feature__heading h2{ font-size: clamp(5.5rem,16vw,7.8rem); }
  .nh-feature__art{ grid-column: 1; grid-row: 2; margin: 0 -8% !important; }
  .nh-feature__copy{ grid-column: 1; grid-row: 3; padding-top: 0; }
  .nh-books{ padding: 9.5rem 24px 12rem; }
  .nh-books__heading{ margin-bottom: 7rem; }
  .nh-books__heading h2{ font-size: clamp(5rem,15vw,7rem); }
  .nh-thread{ display: none; }
  .nh-books::before{ content: ""; position: absolute; top: 31rem; bottom: 10rem; left: 22px; width: 3px; border-radius: 50%; background: var(--nh-red); opacity: .35; }
  .nh-book{ grid-template-columns: 1fr; gap: 2.8rem; min-height: 0; margin: 0 0 11rem; padding-left: 2.2rem; }
  .nh-book__copy{ order: 1; }
  .nh-book__cover{ order: 2; min-height: 30rem; }
  .nh-book--two .nh-book__copy{ justify-self: start; }
  .nh-book__copy h3{ font-size: clamp(3.8rem,11vw,5rem); }
  .nh-book__cover img{ max-height: 33rem; }
  .nh-book--three .nh-book__cover img{ max-width: 150%; max-height: 49.5rem; }
  .nh-talking{ grid-template-columns: 1fr; gap: 3.8rem; padding: 11rem 24px 12rem; }
  .nh-talking__colors{ right: 24px; left: 24px; height: 1rem; }
  .nh-talking__cover{ max-width: 24rem; }
  .nh-talking__copy h2{ font-size: clamp(5rem,14vw,7rem); }
  .nh-post{ grid-template-columns: 1fr; gap: 1rem; padding: 8.8rem 24px 6.2rem; clip-path: polygon(0 2%,14% 0,28% 2.5%,43% .5%,58% 2.5%,73% 0,87% 2.5%,100% .5%,100% 100%,0 100%); }
  .nh-post__copy{ padding-left: 0; }
  .nh-post__art{ max-width: 39rem; margin: auto !important; }
  .nh-form__row{ flex-direction: column; align-items: stretch; }
  .nh-form button{ align-self: flex-start; }
  .nh-quote{ padding: 9rem 24px; }
}
@media (max-width: 420px){
  .nh-home h1{ font-size: 4.8rem; }
  .nh-label{ font-size: 1.1rem; }
  .nh-post__copy h2{ font-size: 4.7rem; }
}

/* Titoli site-wide: peso editoriale più leggero e coerente con la homepage. */
h1,h2,h3,h4,h5,h6,
.gh-article-title,.gh-card-title,.kg-header-card-heading,
.lp-title,
.lb-title,.lb-ev-title,.lb-serie-title,.lb-ctitle,
.tp-title,.tp-vol-title,.tp-close h2,
.hm-h1,.hm-book-t,.hm-hl-t,.hm-wh-h,.hm-nm,.hm-story-t,.hm-posta-h,
.rc-title,.rc-story-t,.rc-soon-t,.rc-row-title,
.ch-hero__title,.ch-give h3,.ch-close h2,
.nh-home h1,.nh-home h2,.nh-home h3{
  font-weight: 500 !important;
}

/* ===================================================================
   PAGINA LIBRI v2 — libreria editoriale, 2026-07-11
   Namespace nl- per isolare il layout dal tema Source.
   =================================================================== */
.nl-page{ overflow: hidden; background: var(--paper); color: var(--ink); }
.nl-page figure,.nl-page blockquote{ margin: 0; }
.nl-page h1,.nl-page h2,.nl-page h3{ margin: 0; font-family: var(--display) !important; font-weight: 500 !important; color: var(--ink); }
.nl-label{ margin: 0 0 1.8rem; font-family: var(--display); font-size: 1.2rem; letter-spacing: .18em; text-transform: uppercase; color: var(--rosso); }
.nl-link{ display: inline-flex; align-items: center; gap: 1rem; padding-bottom: .35rem; border-bottom: 2px solid var(--rosso); font-family: var(--display); font-size: 1.7rem; font-weight: 600; line-height: 1.3; color: var(--rosso); text-decoration: none; }
.nl-page a:hover .nl-link,.nl-link:hover{ opacity: .72; }

/* Hero */
.nl-hero{ display: grid; grid-template-columns: minmax(0,1.05fr) minmax(34rem,.95fr); align-items: center; gap: 6rem; max-width: 118rem; min-height: 68rem; margin: 0 auto; padding: 8rem 4rem 9rem; }
.nl-hero h1{ max-width: 8ch; font-size: clamp(6.8rem,8vw,10rem); line-height: .93; letter-spacing: -.035em; }
.nl-mark{ display: inline; margin: 0 -.07em; padding: 0 .07em; border-radius: 49% 51% 46% 54%/58% 44% 56% 42%; background: linear-gradient(to bottom,transparent 57%,rgba(242,210,86,.72) 57%,rgba(242,210,86,.72) 91%,transparent 91%); -webkit-box-decoration-break: clone; box-decoration-break: clone; }
.nl-lead{ max-width: 41ch; margin: 2.6rem 0 0; font-family: var(--serif); font-size: 2.35rem; line-height: 1.4; color: var(--ink-soft); }
.nl-library{ position: relative; height: 48rem; }
.nl-library::after{ content: ""; position: absolute; right: 0; bottom: 3.8rem; left: 0; height: 1px; background: var(--ink); transform: rotate(-1deg); }
.nl-library__book{ position: absolute; bottom: 4rem; }
.nl-library__book--talking{ z-index: 2; left: -8%; width: 58%; }
.nl-library__book--small{ z-index: 3; left: 31%; width: 42%; transform: rotate(2deg); filter: drop-shadow(0 2rem 1.5rem rgba(43,39,35,.16)); }
.nl-library__book--zero{ z-index: 1; right: -7%; width: 52%; transform: rotate(7deg); filter: drop-shadow(0 2rem 1.5rem rgba(43,39,35,.16)); }

/* Libro in evidenza */
.nl-talking{ display: grid; grid-template-columns: .85fr 1.15fr; align-items: center; gap: 10rem; max-width: 118rem; margin: 0 auto; padding: 12rem 4rem 13rem; border-top: 1px solid rgba(43,39,35,.23); }
.nl-talking__visual{ position: relative; display: grid; place-items: center; min-height: 62rem; isolation: isolate; }
.nl-talking__visual::before{ content: ""; position: absolute; z-index: -1; inset: 8% 4% 6%; border-radius: 48% 52% 45% 55%/56% 44% 58% 42%; background: #f9dce4; transform: rotate(-3deg); }
.nl-talking__visual img{ width: 92%; }
.nl-voice{ position: absolute; font-family: var(--display); font-size: 1.7rem; line-height: 1.25; color: var(--rosso); }
.nl-voice--one{ top: 10%; right: -3%; transform: rotate(4deg); }
.nl-voice--two{ bottom: 12%; left: -1%; transform: rotate(-5deg); }
.nl-talking__copy h2{ max-width: none; font-size: clamp(5.6rem,7vw,8.2rem); line-height: .95; letter-spacing: -.025em; }
.nl-nowrap{ white-space: nowrap; }
.nl-talking__copy>p:not(.nl-label){ max-width: 40ch; margin: 2.2rem 0 0; font-family: var(--serif); font-size: 2.2rem; line-height: 1.48; color: var(--ink-soft); }
.nl-talking__copy blockquote{ max-width: 35ch; margin: 3.2rem 0; padding-left: 2.2rem; border-left: 3px solid var(--rosso); font-family: var(--serif); font-size: 2rem; font-style: italic; line-height: 1.45; color: var(--ink); }

/* Mondo di Funziona */
.nl-world{ max-width: 118rem; margin: 0 auto; padding: 12rem 4rem 14rem; border-top: 1px solid rgba(43,39,35,.23); }
.nl-world__head{ display: grid; grid-template-columns: 1fr 1fr; align-items: end; gap: 8rem; margin-bottom: 9rem; }
.nl-world__head h2{ max-width: 8ch; font-size: clamp(5.7rem,7.4vw,8.6rem); line-height: .96; }
.nl-world__head>p{ max-width: 42ch; margin: 0 0 .8rem; font-family: var(--serif); font-size: 2.25rem; line-height: 1.48; color: var(--ink-soft); }
.nl-trepunti{ display: grid; grid-template-columns: 1fr 1.05fr; align-items: center; gap: 8rem; padding: 7rem 7rem 7.5rem; background: var(--pesca); color: var(--ink); text-decoration: none; clip-path: polygon(0 2%,10% 0,21% 2%,34% .5%,47% 2%,60% .5%,73% 2%,87% .5%,100% 2%,100% 98%,86% 100%,72% 98%,58% 99.5%,44% 98%,29% 100%,14% 98%,0 100%); }
.nl-trepunti h3{ max-width: 10ch; font-size: clamp(4.5rem,5.5vw,6.5rem); line-height: .98; }
.nl-trepunti__copy>p:not(.nl-label){ max-width: 37ch; margin: 2rem 0 2.6rem; font-family: var(--serif); font-size: 2.1rem; line-height: 1.48; color: #4f463f; }
.nl-trepunti__art img{ max-width: 115%; max-height: 53rem; margin: auto; }
.nl-singles{ display: grid; grid-template-columns: 1fr 1fr; gap: 10rem; margin-top: 12rem; }
.nl-book{ display: grid; grid-template-rows: 48rem auto; color: var(--ink); text-decoration: none; }
.nl-book__stage{ position: relative; display: grid; place-items: center; isolation: isolate; }
.nl-book__stage::before{ content: ""; position: absolute; z-index: -1; width: 82%; height: 76%; border-radius: 47% 53% 54% 46%/56% 44% 58% 42%; transform: rotate(-3deg); }
.nl-book__stage--sage::before{ background: #dcead0; }
.nl-book__stage--yellow::before{ background: #f8dcaa; transform: rotate(3deg); }
.nl-book__stage img{ max-width: 86%; max-height: 44rem; filter: drop-shadow(0 2.5rem 1.8rem rgba(43,39,35,.18)) drop-shadow(0 .5rem .35rem rgba(43,39,35,.12)); }
.nl-book__stage .nl-book__zero{ max-width: 105%; max-height: 48rem; }
.nl-book__copy h3{ font-size: 4.1rem; line-height: 1.02; }
.nl-book__copy>p:not(.nl-label){ max-width: 39ch; margin: 1.4rem 0 2rem; font-family: var(--serif); font-size: 2rem; line-height: 1.48; color: var(--ink-soft); }

@media (max-width: 800px){
  .nl-hero{ grid-template-columns: 1fr; gap: 1rem; min-height: 0; padding: 6.5rem 24px 8rem; }
  .nl-hero h1{ font-size: clamp(5.8rem,19vw,8rem); }
  .nl-lead{ font-size: 2.1rem; }
  .nl-library{ height: 34rem; margin-top: 3rem; }
  .nl-library__book--talking{ left: -8%; width: 55%; }
  .nl-library__book--small{ width: 43%; }
  .nl-library__book--zero{ right: -5%; width: 49%; }
  .nl-talking{ grid-template-columns: 1fr; gap: 3rem; padding: 8rem 24px 9rem; }
  .nl-talking__copy{ order: -1; }
  .nl-talking__copy h2,.nl-world__head h2{ font-size: 5.5rem; }
  .nl-talking__visual{ min-height: 46rem; }
  .nl-talking__visual img{ width: 86%; }
  .nl-voice{ font-size: 1.4rem; }
  .nl-world{ padding: 8.5rem 24px 9.5rem; }
  .nl-world__head{ grid-template-columns: 1fr; gap: 2.5rem; margin-bottom: 5rem; }
  .nl-trepunti{ grid-template-columns: 1fr; gap: 3.5rem; padding: 6.5rem 3rem; }
  .nl-trepunti h3{ font-size: 4.7rem; }
  .nl-trepunti__art img{ max-height: 36rem; }
  .nl-singles{ grid-template-columns: 1fr; gap: 8rem; margin-top: 8rem; }
  .nl-book{ grid-template-rows: 34rem auto; }
  .nl-book__stage img{ max-height: 33rem; }
  .nl-book__stage .nl-book__zero{ max-height: 36rem; }
  .nl-book__copy h3{ font-size: 3.7rem; }
}
@media (prefers-reduced-motion: reduce){ .nl-page *{ scroll-behavior: auto !important; } }

/* --- RACCONTI — hub editoriale (custom-racconti.hbs) -------------------- */
.nr-page{
  --nr-paper: #fdfbf5;
  --nr-ink: #2b2723;
  --nr-soft: #5f574f;
  --nr-red: #e85b67;
  --nr-yellow: #f2d256;
  --nr-sage-soft: #dcead0;
  color: var(--nr-ink);
  background: var(--nr-paper);
}
.nr-page figure{ margin: 0; }
.nr-page h1,.nr-page h2{ margin: 0; font-family: var(--display) !important; font-weight: 500 !important; color: var(--nr-ink); }
.nr-shell{ width: min(100%,118rem); margin-right: auto; margin-left: auto; padding-right: 6rem; padding-left: 6rem; }
.nr-label{ margin: 0 0 1.8rem; font-family: var(--display); font-size: 1.3rem; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; color: var(--nr-red); }
.nr-link{ display: inline-block; padding-bottom: .3rem; border-bottom: 2px solid var(--nr-red); font-family: var(--display); font-size: 1.7rem; font-weight: 500; color: var(--nr-red); text-decoration: none; }
.nr-link:hover{ opacity: .68; }

.nr-hero{ display: grid; grid-template-columns: minmax(0,1.2fr) minmax(28rem,.8fr); align-items: center; gap: 7rem; padding-top: 10rem; padding-bottom: 11rem; }
.nr-hero h1{ max-width: 9ch; font-size: clamp(7rem,9vw,11rem); line-height: .92; letter-spacing: -.035em; }
.nr-hero h1 span{ position: relative; z-index: 0; display: inline-block; isolation: isolate; }
.nr-hero h1 span::before{ content: ""; position: absolute; z-index: -1; right: -.06em; bottom: .03em; left: -.1em; height: .42em; border-radius: 49% 51% 46% 54%/58% 44% 56% 42%; background: rgba(242,210,86,.72); transform: rotate(-1deg); }
.nr-hero__copy>p:last-child{ max-width: 48ch; margin: 2.5rem 0 0; font-family: var(--serif); font-size: 2.5rem; line-height: 1.36; color: var(--nr-soft); }
.nr-hero__art{ align-self: center; }
.nr-hero__art img{ display: block; width: 100%; transform: rotate(1deg); }

.nr-start{ display: grid; grid-template-columns: 1.02fr .98fr; align-items: center; gap: 8rem; padding-top: 11rem; padding-bottom: 13rem; border-top: 1px solid rgba(43,39,35,.24); }
.nr-start__art img{ display: block; width: 100%; mix-blend-mode: multiply; }
.nr-start__copy h2{ max-width: 8ch; font-size: clamp(5.2rem,6.8vw,8.4rem); line-height: .96; letter-spacing: -.025em; }
.nr-start__copy>p:not(.nr-label):not(.nr-note){ max-width: 38ch; margin: 2.4rem 0 2.6rem; font-family: var(--serif); font-size: 2.3rem; line-height: 1.45; color: var(--nr-soft); }
.nr-note{ margin: 3rem 0 0; font-family: var(--serif); font-size: 1.8rem; font-style: italic; color: var(--nr-soft); }

.nr-world{ padding-top: 12rem; padding-bottom: 14rem; border-top: 1px solid rgba(43,39,35,.24); }
.nr-world__head{ display: grid; grid-template-columns: 1fr 1fr; align-items: end; gap: 8rem; margin-bottom: 8rem; }
.nr-world__head h2{ max-width: 9ch; font-size: clamp(5.4rem,7.3vw,8.6rem); line-height: .98; }
.nr-world__head>p{ max-width: 42ch; margin: 0 0 .8rem; font-family: var(--serif); font-size: 2.2rem; line-height: 1.45; color: var(--nr-soft); }
.nr-world__body{ display: grid; grid-template-columns: minmax(26rem,.8fr) minmax(0,1.2fr); align-items: start; gap: 9rem; }
.nr-world__cover{ position: sticky; top: 3rem; }
.nr-world__cover img{ display: block; max-width: 100%; max-height: 47rem; margin: auto; filter: drop-shadow(0 2.8rem 2.4rem rgba(43,39,35,.16)) drop-shadow(0 .5rem .4rem rgba(43,39,35,.1)); }
.nr-chapters{ list-style: none; margin: 0; padding: 0; border-top: 1px solid rgba(43,39,35,.24); }
.nr-chapters li{ border-bottom: 1px solid rgba(43,39,35,.24); }
.nr-chapter{ display: grid; grid-template-columns: 5rem 1fr auto; align-items: start; gap: 2rem; padding: 3.1rem .5rem; color: var(--nr-ink); text-decoration: none; }
.nr-chapter__number{ font-family: var(--display); font-size: 1.5rem; font-weight: 500; color: var(--nr-red); }
.nr-chapter__body{ display: block; }
.nr-chapter__title{ display: block; margin-bottom: .6rem; font-family: var(--display); font-size: 2.7rem; font-weight: 500; line-height: 1.1; }
.nr-chapter__excerpt{ display: block; max-width: 48ch; font-family: var(--serif); font-size: 1.8rem; line-height: 1.45; color: var(--nr-soft); }
.nr-chapter__tail{ font-family: var(--display); font-size: 2.3rem; font-weight: 500; color: var(--nr-red); }
.nr-chapter:hover .nr-chapter__title{ text-decoration: underline; text-decoration-color: var(--nr-red); text-underline-offset: 4px; }
.nr-chapter.is-locked{ opacity: .58; }
.nr-world__link{ margin-top: 3rem; }

.nr-elsewhere{ padding-top: 12rem; padding-bottom: 14rem; border-top: 1px solid rgba(43,39,35,.24); }
.nr-elsewhere__head{ display: grid; grid-template-columns: 1fr 1fr; gap: 8rem; margin-bottom: 7rem; }
.nr-elsewhere__head h2{ max-width: 11ch; font-size: clamp(5rem,6.8vw,8rem); line-height: .98; }
.nr-elsewhere__head>p{ max-width: 41ch; margin: 1rem 0 0; font-family: var(--serif); font-size: 2.2rem; line-height: 1.45; color: var(--nr-soft); }
.nr-stories{ display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: 8rem; }
.nr-story{ position: relative; display: block; padding: 3.8rem 0 4rem; border-top: 1px solid rgba(43,39,35,.24); color: var(--nr-ink); text-decoration: none; }
.nr-story:nth-last-child(-n+2){ border-bottom: 1px solid rgba(43,39,35,.24); }
.nr-story::before{ content: ""; position: absolute; z-index: 0; top: 4.2rem; left: -1.3rem; width: 5.4rem; height: 2.1rem; border-radius: 49% 51% 43% 57%; background: var(--nr-yellow); opacity: .5; transform: rotate(-3deg); }
.nr-story>*{ position: relative; z-index: 1; }
.nr-story__kind{ display: block; font-family: var(--display); font-size: 1.2rem; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; color: var(--nr-soft); }
.nr-story__title{ display: block; margin: 1.2rem 0 1rem; font-family: var(--display); font-size: 3.4rem; font-weight: 500; line-height: 1.05; }
.nr-story__excerpt{ display: block; max-width: 44ch; font-family: var(--serif); font-size: 1.8rem; line-height: 1.45; color: var(--nr-soft); }
.nr-story__go{ display: block; margin-top: 1.8rem; font-family: var(--display); font-size: 1.5rem; font-weight: 500; color: var(--nr-red); }
.nr-story.is-locked{ opacity: .58; }

.nr-future{ display: grid; grid-template-columns: 1fr .9fr; align-items: center; gap: 8rem; margin-bottom: 12rem; padding: 10rem 8rem; background: var(--nr-sage-soft); clip-path: polygon(0 3%,8% 1%,17% 3.5%,27% 1.5%,39% 3%,50% 1%,61% 3.5%,73% 1.5%,85% 3%,100% 1%,100% 97%,89% 99%,77% 97%,63% 99%,49% 97%,34% 99%,18% 97%,0 99%); }
.nr-future h2{ font-size: clamp(4.2rem,5.5vw,6.6rem); line-height: 1; }
.nr-future__copy>p:not(.nr-label){ max-width: 39ch; margin: 2rem 0 2.5rem; font-family: var(--serif); font-size: 2.1rem; line-height: 1.45; color: var(--nr-soft); }
.nr-link--quiet{ cursor: default; }
.nr-future__art img{ display: block; max-width: 150%; max-height: 52.5rem; margin: -5rem -25% -5rem -12%; filter: drop-shadow(0 2.4rem 2rem rgba(43,39,35,.16)) drop-shadow(0 .5rem .4rem rgba(43,39,35,.1)); }
.nr-zero-list{ display: grid; gap: 1.2rem; margin-top: 2.5rem; }
.nr-zero-list a{ font-family: var(--display); font-size: 1.8rem; font-weight: 500; color: var(--nr-red); text-decoration: none; }

@media (max-width:800px){
  .nr-shell{ padding-right: 2.6rem; padding-left: 2.6rem; }
  .nr-hero{ display: block; padding-top: 6.5rem; padding-bottom: 8.5rem; }
  .nr-hero h1{ font-size: clamp(5.8rem,20vw,8rem); }
  .nr-hero__copy>p:last-child{ font-size: 2.15rem; }
  .nr-hero__art{ max-width: 34rem; margin: 4rem auto 0 !important; }
  .nr-start{ grid-template-columns: 1fr; gap: 3.5rem; padding-top: 8rem; padding-bottom: 9rem; }
  .nr-start__copy{ order: -1; }
  .nr-start__copy h2{ font-size: 5.6rem; }
  .nr-world{ padding-top: 8.5rem; padding-bottom: 9.5rem; }
  .nr-world__head{ grid-template-columns: 1fr; gap: 2.5rem; margin-bottom: 5rem; }
  .nr-world__head h2,.nr-elsewhere__head h2{ font-size: 5.4rem; }
  .nr-world__body{ grid-template-columns: 1fr; gap: 4rem; }
  .nr-world__cover{ position: relative; top: 0; }
  .nr-world__cover img{ max-height: 33rem; }
  .nr-chapter{ grid-template-columns: 3.2rem 1fr auto; gap: 1.2rem; padding: 2.5rem 0; }
  .nr-chapter__title{ font-size: 2.35rem; }
  .nr-chapter__excerpt{ font-size: 1.65rem; }
  .nr-elsewhere{ padding-top: 8.5rem; padding-bottom: 9.5rem; }
  .nr-elsewhere__head{ grid-template-columns: 1fr; gap: 2rem; margin-bottom: 5rem; }
  .nr-elsewhere__head>p{ font-size: 2rem; }
  .nr-stories{ grid-template-columns: 1fr; }
  .nr-story{ padding: 3rem 0; }
  .nr-story:nth-last-child(-n+2){ border-bottom: 0; }
  .nr-story:last-child{ border-bottom: 1px solid rgba(43,39,35,.24); }
  .nr-story__title{ font-size: 3rem; }
  .nr-future{ grid-template-columns: 1fr; gap: 3rem; margin-bottom: 8rem; padding: 8rem 3rem; }
  .nr-future__copy{ order: -1; }
  .nr-future__art img{ max-width: 150%; max-height: 37.5rem; margin: -3rem -25% -3rem -12%; }
}

/* ========================================================================== 
   PAGINA AUTORE — identità e metodo, 2026-07-13
   ========================================================================== */
.au-page{
  --au-rule: rgba(43,39,35,.22);
  --au-soft: #4a443d;
  --au-pink: #f3a9bc;
  --au-sage: #b7d3a0;
  --au-blue: #a9d9e6;
  --au-yellow: #f2d256;
  overflow: hidden;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--serif);
}
.au-page *{ box-sizing: border-box; }
.au-page figure,.au-page blockquote{ margin: 0; }
.au-page h1,.au-page h2,.au-page h3{
  margin: 0;
  color: var(--ink);
  font-family: var(--display) !important;
  font-weight: 500 !important;
}
.au-shell{ width: min(100%,118rem); margin-right: auto; margin-left: auto; padding-right: 6rem; padding-left: 6rem; }
.au-label{
  margin: 0 0 1.8rem;
  color: var(--rosso);
  font-family: var(--display);
  font-size: 1.3rem;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.au-link{
  display: inline-block;
  padding-bottom: .3rem;
  border-bottom: 2px solid var(--rosso);
  color: var(--rosso);
  font-family: var(--display);
  font-size: 1.7rem;
  font-weight: 500;
  text-decoration: none;
}
.au-link:hover{ opacity: .72; }

.au-hero{
  display: grid;
  grid-template-columns: minmax(0,1.05fr) minmax(36rem,.95fr);
  align-items: center;
  gap: 5rem;
  padding-top: 8rem;
  padding-bottom: 10rem;
}
.au-hero h1{
  max-width: 11ch;
  margin-bottom: 3rem;
  font-size: clamp(6.2rem,7.2vw,9rem) !important;
  line-height: .94 !important;
  letter-spacing: -.035em;
}
.au-hero__mark{ position: relative; z-index: 0; display: inline-block; isolation: isolate; }
.au-hero__mark::before{
  content: "";
  position: absolute;
  z-index: -1;
  right: -.06em;
  bottom: .02em;
  left: -.08em;
  height: .43em;
  border-radius: 49% 51% 46% 54%/58% 44% 56% 42%;
  background: rgba(242,210,86,.68);
  transform: rotate(-1.5deg);
}
.au-lead{
  max-width: 34ch;
  margin: 0;
  color: var(--au-soft);
  font-family: var(--serif);
  font-size: 2.55rem;
  line-height: 1.36;
}
.au-facts{
  display: flex;
  gap: 2.3rem;
  margin: 3.2rem 0 0;
  color: var(--au-soft);
  font-family: var(--display);
  font-size: 1.4rem;
  letter-spacing: .08em;
}
.au-facts span+span::before{ content: "·"; margin-right: 2.3rem; color: var(--rosso); }
.au-hero__art{ height: 54rem; overflow: hidden; }
.au-hero__art img{ display: block; width: 100%; height: 100%; object-fit: cover; transform: scale(1.18); }

.au-method{
  display: grid;
  grid-template-columns: .72fr 1.28fr;
  gap: 10rem;
  padding-top: 12rem;
  padding-bottom: 13rem;
  border-top: 1px solid var(--au-rule);
}
.au-method h2{ max-width: 8ch; font-size: clamp(5rem,6.8vw,8rem) !important; line-height: .98 !important; }
.au-method__copy p{ max-width: 45ch; margin: 0 0 2.2rem; color: var(--au-soft); font-size: 2.2rem; line-height: 1.5; }
.au-method__copy p:last-child{ margin-bottom: 0; }

.au-formula{
  padding: 8rem 6rem;
  text-align: center;
}
.au-formula blockquote{
  position: relative;
  isolation: isolate;
  max-width: 34ch;
  margin: auto;
  font-family: var(--serif);
  font-size: clamp(3.1rem,4.2vw,4.8rem);
  font-style: italic;
  line-height: 1.22;
}
.au-formula blockquote::before{
  content: "";
  position: absolute;
  z-index: -1;
  top: 50%;
  right: 15%;
  left: 16%;
  height: .92em;
  border-radius: 49% 51% 46% 54%/58% 44% 56% 42%;
  background: rgba(242,210,86,.52);
  transform: translateY(-40%) rotate(-1deg);
}

.au-range{ padding-top: 12rem; padding-bottom: 14rem; }
.au-range__head{ display: grid; grid-template-columns: 1fr 1fr; align-items: end; gap: 8rem; margin-bottom: 8rem; }
.au-range__head h2{ max-width: 10ch; font-size: clamp(5rem,6.8vw,8rem) !important; line-height: .98 !important; }
.au-range__head>p{ max-width: 42ch; margin: 0 0 .8rem; color: var(--au-soft); font-size: 2.2rem; line-height: 1.5; }
.au-range__list{ border-top: 1px solid var(--au-rule); }
.au-range__row{
  display: grid;
  grid-template-columns: 5rem minmax(22rem,.7fr) minmax(0,1.3fr);
  align-items: start;
  gap: 3rem;
  padding: 3.2rem .5rem;
  border-bottom: 1px solid var(--au-rule);
}
.au-range__mark{ width: 3.4rem; height: 2.1rem; margin-top: .4rem; border-radius: 49% 51% 46% 54%; transform: rotate(-4deg); }
.au-range__row--pink .au-range__mark{ background: var(--au-pink); }
.au-range__row--sage .au-range__mark{ background: var(--au-sage); }
.au-range__row--blue .au-range__mark{ background: var(--au-blue); }
.au-range__row--yellow .au-range__mark{ background: var(--au-yellow); }
.au-range__row h3{ font-size: 2.7rem !important; line-height: 1.12 !important; }
.au-range__row p{ max-width: 46ch; margin: 0; color: var(--au-soft); font-size: 1.9rem; line-height: 1.5; }

.au-work{ border-top: 1px solid var(--au-rule); border-bottom: 1px solid var(--au-rule); }
.au-work__inner{ display: grid; grid-template-columns: 1fr 1fr; gap: 10rem; padding-top: 11rem; padding-bottom: 12rem; }
.au-work article{ position: relative; }
.au-work article+article::before{ content: ""; position: absolute; top: 0; bottom: 0; left: -5rem; border-left: 1px solid var(--au-rule); }
.au-work h2{ margin-bottom: 2.2rem; font-size: clamp(4.2rem,5vw,6rem) !important; line-height: 1 !important; }
.au-work article>p:last-child{ max-width: 40ch; margin: 0; color: var(--au-soft); font-size: 2.05rem; line-height: 1.5; }

.au-contact{ display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 6rem; padding-top: 11rem; padding-bottom: 12rem; }
.au-contact h2{ max-width: 13ch; margin-bottom: 2rem; font-size: clamp(5rem,6.5vw,7.6rem) !important; line-height: .98 !important; }
.au-contact div>p:last-child{ max-width: 42ch; margin: 0; color: var(--au-soft); font-size: 2.1rem; line-height: 1.5; }
.au-contact .au-link{ margin-bottom: 1rem; font-size: 1.9rem; }

@media (max-width:800px){
  .au-shell{ padding-right: 2.6rem; padding-left: 2.6rem; }
  .au-hero{ display: block; padding-top: 6.5rem; padding-bottom: 8rem; }
  .au-hero h1{ max-width: 10ch; font-size: clamp(5.6rem,17vw,7.8rem) !important; }
  .au-lead{ font-size: 2.15rem; }
  .au-facts{ display: block; }
  .au-facts span{ display: block; margin-top: .6rem; }
  .au-facts span+span::before{ display: none; }
  .au-hero__art{ height: 34rem; margin-top: 3rem; }
  .au-hero__art img{ transform: scale(1.15); }
  .au-method{ grid-template-columns: 1fr; gap: 3.5rem; padding-top: 8rem; padding-bottom: 9rem; }
  .au-method h2,.au-range__head h2{ font-size: 5.4rem !important; }
  .au-formula{ padding: 6rem 2.6rem; }
  .au-range{ padding-top: 8.5rem; padding-bottom: 9.5rem; }
  .au-range__head{ grid-template-columns: 1fr; gap: 2.5rem; margin-bottom: 5rem; }
  .au-range__row{ grid-template-columns: 3rem 1fr; gap: 1.2rem 1.6rem; }
  .au-range__row p{ grid-column: 2; }
  .au-range__row h3{ font-size: 2.4rem !important; }
  .au-work__inner{ grid-template-columns: 1fr; gap: 6rem; padding-top: 8rem; padding-bottom: 9rem; }
  .au-work article+article::before{ top: -3rem; right: 0; bottom: auto; left: 0; border-top: 1px solid var(--au-rule); border-left: 0; }
  .au-work h2{ font-size: 4.5rem !important; }
  .au-contact{ grid-template-columns: 1fr; gap: 3.5rem; padding-top: 8rem; padding-bottom: 9rem; }
  .au-contact h2{ font-size: 5.2rem !important; }
}

@media (prefers-reduced-motion:reduce){ .au-page *{ scroll-behavior: auto !important; } }

/* ===================================================================
   CUOCO ZERO — scheda del personaggio e del libro (custom-cuoco-zero.hbs)
   Namespace cz- per isolare il layout dal tema Source.
   =================================================================== */
.cz-page{
  --cz-orange:#ff590d;
  --cz-rust:#c93b00;
  --giallo:#f2d256;
  --giallo-tenue:#f9ecb4;
  --salvia-tenue:#dcead0;
  overflow:hidden;
  background:var(--paper);
  color:var(--ink);
}
.cz-page figure,.cz-page blockquote{ margin:0; }
.cz-page h1,.cz-page h2,.cz-page h3{ margin:0; font-family:var(--display) !important; font-weight:500 !important; color:var(--ink); }
.cz-shell{ width:min(100%,118rem); margin-right:auto; margin-left:auto; padding-right:4rem; padding-left:4rem; }
.cz-label{ margin:0 0 1.8rem; font-family:var(--display); font-size:1.2rem; font-weight:500; letter-spacing:.18em; text-transform:uppercase; color:var(--rosso); }
.cz-text-link{ display:inline-flex; align-items:center; gap:1rem; padding-bottom:.35rem; border-bottom:2px solid var(--rosso); font-family:var(--display); font-size:1.7rem; font-weight:600; line-height:1.3; color:var(--rosso); text-decoration:none; }
.cz-text-link:hover{ opacity:.7; }
/* Hero */
.cz-hero{ display:grid; grid-template-columns:minmax(0,1.08fr) minmax(38rem,.92fr); align-items:center; gap:6.8rem; min-height:70rem; padding-top:6.2rem; padding-bottom:9.2rem; }
.cz-hero h1{ max-width:9ch; font-size:clamp(6.8rem,8.2vw,10.4rem) !important; line-height:.9 !important; letter-spacing:-.045em; }
.cz-zero{ position:relative; z-index:0; display:inline-block; isolation:isolate; }
.cz-zero::after{ content:""; position:absolute; z-index:-1; right:-.08em; bottom:.02em; left:-.08em; height:.42em; border-radius:54% 46% 58% 42%; background:var(--giallo); transform:rotate(-2deg); }
.cz-lead{ max-width:41ch; margin:2.8rem 0 3rem; font-family:var(--serif); font-size:2.5rem; line-height:1.42; color:var(--ink-soft); }
.cz-button{ display:inline-flex; align-items:center; justify-content:center; min-height:4.8rem; padding:1.2rem 2.2rem; border:2px solid var(--ink); border-radius:46% 54% 48% 52%/56% 44% 56% 44%; background:var(--ink); font-family:var(--display); font-size:1.6rem; font-weight:600; line-height:1; color:var(--paper) !important; text-decoration:none; transform:rotate(-1deg); }
.cz-button:hover{ border-color:var(--rosso); background:var(--rosso); }
.cz-hero-art{ position:relative; min-height:56rem; isolation:isolate; }
.cz-hero-art::before{ content:""; position:absolute; z-index:-2; inset:8% -3% 7% 3%; border-radius:48% 52% 44% 56%/56% 44% 58% 42%; background:var(--giallo-tenue); transform:rotate(3deg); }
.cz-hero-art::after{ content:""; position:absolute; z-index:-1; top:8%; right:1%; width:12rem; height:12rem; border:3px solid var(--rosso); border-radius:50%; box-shadow:-4rem 9rem 0 -3.6rem var(--rosso),-11.5rem 2.2rem 0 -4.8rem var(--rosso); opacity:.75; }
.cz-hero-art img{ position:absolute; right:-14%; bottom:-4%; display:block; width:118%; max-width:none; filter:drop-shadow(0 2.8rem 1.8rem rgba(43,39,35,.18)); }
.cz-hero-note{ position:absolute; top:13%; left:-2%; width:16rem; margin:0; font-family:var(--display); font-size:1.7rem; font-weight:500; line-height:1.25; color:var(--rosso); transform:rotate(-5deg); }

/* Citazione */
.cz-quote{ position:relative; padding-top:11.2rem; padding-bottom:12.2rem; border-top:1px solid rgba(43,39,35,.22); text-align:center; }
.cz-quote blockquote{ max-width:76rem; margin:0 auto; border:0; padding:0; font-family:var(--serif); font-size:clamp(3.8rem,5vw,6.2rem); font-style:italic; line-height:1.12; }
.cz-quote span{ position:relative; z-index:0; white-space:nowrap; isolation:isolate; }
.cz-quote span::before{ content:""; position:absolute; z-index:-1; right:.03em; bottom:-.02em; left:-.16em; height:.7em; border-radius:48% 52% 44% 56%/56% 45% 55% 44%; background:rgba(242,210,86,.72); transform:rotate(-1.5deg) skewX(-3deg); }
.cz-quote footer{ margin-top:2.4rem; font-family:var(--display); font-size:1.6rem; font-weight:500; line-height:1.3; color:var(--rosso); }

/* Storie del volume */
.cz-stories{ padding-top:11.2rem; padding-bottom:13.8rem; border-top:1px solid rgba(43,39,35,.22); }
.cz-stories-head{ display:grid; grid-template-columns:1fr 1fr; align-items:end; gap:8rem; margin-bottom:7.6rem; }
.cz-stories h2{ max-width:8ch; font-size:clamp(5.8rem,7vw,8.6rem) !important; line-height:.95 !important; letter-spacing:-.035em; }
.cz-stories-head>p{ max-width:40ch; margin:0 0 .8rem; font-family:var(--serif); font-size:2.3rem; line-height:1.45; color:var(--ink-soft); }
.cz-feature{ display:grid; grid-template-columns:minmax(0,1.3fr) minmax(30rem,.7fr); align-items:center; gap:5.4rem; margin-bottom:11rem; padding:3.6rem; background:var(--cz-orange); clip-path:polygon(0 2%,12% 0,25% 2%,38% .5%,51% 2%,65% .5%,78% 2%,89% .5%,100% 2%,100% 98%,86% 100%,72% 98%,58% 99.5%,44% 98%,29% 100%,14% 98%,0 100%); }
.cz-feature-art{ overflow:hidden; border:4px solid var(--ink); background:var(--cz-rust); transform:rotate(-1deg); }
.cz-feature-art img{ display:block; width:100%; aspect-ratio:2/1; object-fit:cover; }
.cz-feature-copy{ padding:2.8rem 2.8rem 2.8rem 0; }
.cz-feature-copy .cz-label{ color:var(--paper); }
.cz-feature-copy h3{ font-size:clamp(4.2rem,4.5vw,5.9rem) !important; line-height:.98 !important; }
.cz-feature-copy>p:not(.cz-label){ max-width:31ch; margin:2rem 0 0; font-family:var(--serif); font-size:2.1rem; line-height:1.42; }
.cz-second{ display:grid; grid-template-columns:minmax(32rem,.85fr) minmax(0,1.15fr); align-items:center; gap:8.2rem; }
.cz-second-art{ position:relative; isolation:isolate; }
.cz-second-art::before{ content:""; position:absolute; z-index:-1; inset:8% -7% -5% 5%; border-radius:47% 53% 54% 46%/56% 44% 58% 42%; background:var(--salvia-tenue); transform:rotate(-3deg); }
.cz-second-art img{ display:block; width:100%; border:4px solid var(--ink); transform:rotate(1.5deg); }
.cz-second-copy h3{ max-width:11ch; font-size:clamp(4.6rem,5vw,6.7rem) !important; line-height:.98 !important; }
.cz-second-copy>p:not(.cz-label){ max-width:37ch; margin:2.2rem 0 0; font-family:var(--serif); font-size:2.2rem; line-height:1.46; color:var(--ink-soft); }
.cz-dialogue{ max-width:59rem; margin:3.4rem 0 0; padding:2.4rem 2.7rem; border:3px solid var(--ink) !important; background:#fff; font-family:var(--display); font-size:2rem; font-style:normal; line-height:1.25; color:var(--ink); transform:rotate(-1deg); }

/* Libro */
.cz-book{ background:var(--giallo-tenue); clip-path:polygon(0 3%,10% 1%,20% 3%,31% .5%,42% 3%,54% 1%,66% 3%,77% .5%,89% 3%,100% 1%,100% 100%,0 100%); }
.cz-book-inner{ display:grid; grid-template-columns:.85fr 1.15fr; align-items:center; gap:9rem; min-height:68rem; padding-top:11rem; padding-bottom:11rem; }
.cz-book-art{ position:relative; min-height:48rem; }
.cz-book-art img{ position:absolute; bottom:-8%; left:-15%; display:block; width:120%; max-width:none; filter:drop-shadow(0 3rem 2rem rgba(43,39,35,.18)); }
.cz-book-copy h2{ max-width:9ch; font-size:clamp(5.4rem,6vw,7.8rem) !important; line-height:.96 !important; }
.cz-book-copy>p:not(.cz-label){ max-width:38ch; margin:2.4rem 0 3rem; font-family:var(--serif); font-size:2.3rem; line-height:1.45; color:var(--ink-soft); }

/* Chiusura */
.cz-close{ padding-top:11.2rem; padding-bottom:12.2rem; text-align:center; }
.cz-close h2{ font-size:clamp(4.8rem,6vw,7.6rem) !important; line-height:.98 !important; }
.cz-close>p:not(.cz-label){ margin:2.2rem auto 2.8rem; font-family:var(--serif); font-size:2.2rem; line-height:1.45; color:var(--ink-soft); }

@media (max-width:820px){
  .cz-shell{ padding-right:2.4rem; padding-left:2.4rem; }
  .cz-hero{ grid-template-columns:1fr; gap:2rem; min-height:0; padding-top:5.4rem; padding-bottom:7.8rem; }
  .cz-hero h1{ font-size:clamp(6rem,18vw,8.6rem) !important; }
  .cz-lead{ font-size:2.2rem; }
  .cz-hero-art{ min-height:43rem; }
  .cz-hero-art img{ right:-8%; width:110%; }
  .cz-hero-note{ left:5%; }
  .cz-quote{ padding-top:8.2rem; padding-bottom:9.2rem; }
  .cz-quote blockquote{ font-size:clamp(3.6rem,10vw,5.2rem); }
  .cz-quote span{ white-space:normal; }
  .cz-stories{ padding-top:8.2rem; padding-bottom:9.6rem; }
  .cz-stories-head{ grid-template-columns:1fr; gap:2.8rem; margin-bottom:5.4rem; }
  .cz-stories h2{ font-size:5.8rem !important; }
  .cz-feature{ grid-template-columns:1fr; gap:1.6rem; margin-bottom:8.6rem; padding:2.4rem 2.4rem 5rem; }
  .cz-feature-copy{ padding:1.8rem .4rem 0; }
  .cz-second{ grid-template-columns:1fr; gap:5.4rem; }
  .cz-second-art{ max-width:52rem; }
  .cz-dialogue{ font-size:1.8rem; }
  .cz-book-inner{ grid-template-columns:1fr; gap:2.4rem; min-height:0; padding-top:9rem; padding-bottom:9rem; }
  .cz-book-art{ min-height:39rem; }
  .cz-book-art img{ bottom:0; left:0; width:100%; }
  .cz-book-copy{ order:-1; }
}
@media (max-width:480px){
  .cz-hero-art{ min-height:34rem; }
  .cz-hero-note{ top:5%; width:13rem; font-size:1.4rem; }
  .cz-feature{ margin-right:-.8rem; margin-left:-.8rem; padding-right:1.6rem; padding-left:1.6rem; }
  .cz-feature-copy h3,.cz-second-copy h3{ font-size:4.3rem !important; }
  .cz-second-art::before{ inset:5% -2% -3% 2%; }
  .cz-book-art{ min-height:31.5rem; }
}
@media (prefers-reduced-motion:reduce){ .cz-page *{ scroll-behavior:auto !important; } }
