/*
   LSD design system — Laboratorio di Sociologia Democratica
   Portato da lsd-laboratorio-v23.html. Tutte le classi hanno prefisso .lsd-
   per convivere con Elementor / Essential Addons.
   Le variabili CSS sono su :root e utilizzabili anche dentro widget Elementor
   (es. color: var(--magenta)).
*/


  :root {
    --bg: #0d0c0a;
    --paper: #f1ead6;
    --paper-2: #e8dfc6;
    --paper-3: #ddd3b6;
    --ink: #1a1714;
    --ink-soft: #2c2722;
    --ink-dim: #6e6a60;
    --ink-faint: #b3ac9c;
    --yellow: #e8b81a;
    --yellow-soft: #f4d875;
    --magenta: #c2316a;
    --blue: #1f3a96;
    --rule: #1a1714;
    --grid-line: rgba(26, 23, 20, 0.05);
    --col: 8.3333%;
  }
  * { box-sizing: border-box; margin: 0; padding: 0; }
  html, body { background: var(--paper); overflow-x: hidden; }
  body {
    color: var(--ink);
    font-family: 'Archivo', sans-serif;
    font-size: 16px;
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
  }
  body::before {
    content: "";
    position: fixed; inset: 0; z-index: 0; pointer-events: none;
    background-image: linear-gradient(to right,
      var(--grid-line) 0, var(--grid-line) 1px,
      transparent 1px, transparent var(--col));
    background-size: var(--col) 100%;
  }
  body::after {
    content: "";
    position: fixed; inset: 0; z-index: 1; pointer-events: none;
    opacity: 0.4;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.1  0 0 0 0 0.08  0 0 0 0 0.05  0 0 0 0.18 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
    mix-blend-mode: multiply;
  }
  .lsd-layer { position: relative; z-index: 3; }
  a { color: inherit; }

  /* focus visibile per navigazione da tastiera */
  :focus-visible { outline: 3px solid var(--blue); outline-offset: 3px; }
  .lsd-masthead :focus-visible, .lsd-bacheca :focus-visible, .lsd-manifesto :focus-visible { outline-color: var(--yellow); }

  /* etichetta-sezione: marker che precede ogni sezione */
  .lsd-section-marker {
    font-family: 'JetBrains Mono', monospace;
    font-size: 10px;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--ink-dim);
  }

  /* ========================================================
     [1] TOP STRIP
     ======================================================== */
  .lsd-strip {
    border-bottom: 2px solid var(--ink);
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    font-family: 'JetBrains Mono', monospace;
    font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase;
    background: var(--paper);
  }
  .lsd-strip > div {
    padding: 12px 16px;
    border-right: 1px solid var(--ink);
    overflow: hidden; white-space: nowrap; text-overflow: ellipsis;
  }
  .lsd-strip > div:last-child { border-right: none; }
  .lsd-strip .lsd-a { grid-column: span 5; font-weight: 600; }
  .lsd-strip .lsd-b { grid-column: span 3; text-align: center; }
  .lsd-strip .lsd-b a { color: var(--magenta); text-decoration: none; border-bottom: 1px solid var(--magenta); padding-bottom: 1px; }
  .lsd-strip .lsd-b a:hover { color: var(--ink); border-color: var(--ink); }
  .lsd-strip .lsd-c { grid-column: span 4; color: var(--ink-dim); text-align: right; }

  /* ========================================================
     [2] MASTHEAD
     ======================================================== */
  .lsd-masthead {
    position: relative;
    border-bottom: 2px solid var(--ink);
    overflow: hidden;
    background: #C2316A;
    background: linear-gradient(60deg, rgb(194, 49, 106) 63%, rgb(232, 184, 26) 63%);
    color: var(--paper);
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    min-height: clamp(280px, 38vw, 460px);
  }
  .lsd-masthead .lsd-mast-sigla-wrap {
    grid-column: 1 / span 8;
    padding: 36px 16px 30px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 28px;
    position: relative;
    z-index: 2;
  }
  .lsd-mast-sigla {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    color: var(--paper);
    text-transform: uppercase;
    font-family: 'Archivo Black', sans-serif;
    font-size: clamp(40px, 6.4vw, 92px);
    line-height: 0.92;
    letter-spacing: -0.045em;
  }
  .lsd-mast-sigla .lsd-ms-l1,
  .lsd-mast-sigla .lsd-ms-l2,
  .lsd-mast-sigla .lsd-ms-l3 { display: block; white-space: nowrap; }
  .lsd-mast-sigla .lsd-ms-l2 { padding-left: 0.35em; }
  .lsd-mast-sigla .lsd-ms-l3 { padding-left: 0.7em; }
  .lsd-mast-sigla .lsd-y { color: var(--yellow-soft); }

  .lsd-mast-claim {
    font-family: 'Archivo', sans-serif;
    font-weight: 500;
    font-style: italic;
    font-size: clamp(16px, 1.5vw, 22px);
    line-height: 1.3;
    letter-spacing: -0.005em;
    color: var(--paper);
    max-width: 38ch;
    padding-top: 16px;
    border-top: 1px solid var(--paper);
  }
  .lsd-mast-claim .lsd-y { color: var(--yellow-soft); font-style: normal; font-weight: 600; }

  .lsd-masthead .lsd-mast-side {
    grid-column: 9 / span 4;
    padding: 30px 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    z-index: 2;
  }
  .lsd-mast-glyph {
    width: 100%;
    max-width: 280px;
    opacity: 1;
    border: 2px solid var(--ink);
    box-shadow: 6px 6px 0 rgba(26, 23, 20, 0.5);
    background: var(--paper);
    transform: rotate(-1.5deg);
    transform-origin: center center;
  }
  .lsd-mast-glyph img { width: 100%; height: auto; display: block; }

  /* ========================================================
     [3] PERCHÉ ESISTIAMO
     Sfondo: paper (default), distinto dal masthead magenta
     ======================================================== */
  .lsd-why {
    border-bottom: 2px solid var(--ink);
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    background: var(--paper);
  }
  .lsd-why .lsd-why-label {
    grid-column: 1 / span 4;
    border-right: 2px solid var(--ink);
    padding: 30px 24px;
    background: var(--yellow);
    color: var(--ink);
    display: flex;
    flex-direction: column;
    gap: 14px;
  }
  .lsd-why-label .lsd-section-marker { color: var(--ink-soft); }
  .lsd-why-label h2 {
    font-family: 'Archivo Black', sans-serif;
    font-size: clamp(28px, 3.2vw, 44px);
    line-height: 0.95;
    letter-spacing: -0.03em;
    text-transform: uppercase;
  }
  .lsd-why .lsd-why-body {
    grid-column: 5 / span 8;
    padding: 56px 40px;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  .lsd-why-quote {
    font-family: 'Archivo', sans-serif;
    font-weight: 500;
    font-style: italic;
    font-size: clamp(22px, 2.4vw, 32px);
    line-height: 1.28;
    letter-spacing: -0.012em;
    max-width: 38ch;
    color: var(--ink);
  }
  .lsd-why-quote cite {
    display: block;
    margin-top: 22px;
    font-family: 'JetBrains Mono', monospace;
    font-style: normal;
    font-size: 11px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--magenta);
  }
  .lsd-why-quote cite i { font-style: italic; text-transform: none; letter-spacing: 0.06em; }

  /* ========================================================
     [3b] MANIFESTO — fondo blu, testo paper
     ======================================================== */
  .lsd-manifesto {
    border-bottom: 2px solid var(--ink);
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    background: var(--blue);
    color: var(--paper);
  }
  .lsd-manifesto .lsd-man-label {
    grid-column: 1 / span 4;
    border-right: 2px solid var(--paper);
    padding: 36px 24px;
    display: flex;
    flex-direction: column;
    gap: 14px;
    align-self: start;
    position: sticky;
    top: 0;
  }
  .lsd-man-label .lsd-section-marker { color: var(--yellow); }
  .lsd-man-label h2 {
    font-family: 'Archivo Black', sans-serif;
    font-size: clamp(36px, 4.4vw, 60px);
    line-height: 0.95;
    letter-spacing: -0.035em;
    text-transform: uppercase;
    color: var(--paper);
  }
  .lsd-manifesto .lsd-man-body {
    grid-column: 5 / span 8;
    padding: 44px 36px 50px;
    display: flex;
    flex-direction: column;
    gap: 22px;
    max-width: 60ch;
  }
  .lsd-man-body p {
    font-family: 'Archivo', sans-serif;
    font-weight: 400;
    font-size: clamp(16px, 1.35vw, 19px);
    line-height: 1.55;
    color: var(--paper);
  }
  .lsd-man-body p.lsd-man-lead {
    font-weight: 500;
    font-size: clamp(20px, 1.9vw, 26px);
    line-height: 1.35;
    letter-spacing: -0.01em;
    margin-bottom: 8px;
    border-bottom: 1px solid rgba(241, 234, 214, 0.28);
    padding-bottom: 22px;
  }
  .lsd-man-body em {
    font-style: italic;
    font-weight: 600;
    color: var(--ink);
    background: var(--yellow);
    padding: 0 6px;
  }
  .lsd-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 10px 18px;
    border: 2px solid var(--ink);
    background: var(--ink);
    color: var(--paper);
    font-family: 'JetBrains Mono', monospace;
    font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase;
    text-decoration: none;
    transition: background 0.12s, color 0.12s;
  }
  .lsd-btn:hover { background: var(--magenta); border-color: var(--magenta); }
  .lsd-btn.lsd-outline { background: transparent; color: var(--ink); }
  .lsd-btn.lsd-outline:hover { background: var(--ink); color: var(--paper); }

  /* ========================================================
     [4] BACHECA — fondo paper-2 chiaro, label blu
     ======================================================== */
  .lsd-bacheca {
    border-bottom: 2px solid var(--ink);
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    background: var(--paper-2);
    color: var(--ink);
  }
  .lsd-bacheca .lsd-b-head {
    grid-column: 1 / span 4;
    border-right: 2px solid var(--ink);
    padding: 36px 24px 28px;
    align-self: stretch;
    display: flex;
    flex-direction: column;
    gap: 16px;
    background: var(--paper-3);
    color: var(--ink);
  }
  .lsd-b-head .lsd-section-marker { color: var(--ink-dim); }
  .lsd-b-head h2 {
    font-family: 'Archivo Black', sans-serif;
    font-size: clamp(36px, 4.4vw, 60px);
    line-height: 0.95; letter-spacing: -0.035em;
    text-transform: uppercase;
    color: var(--ink);
  }
  .lsd-b-head h2 .lsd-y { color: var(--magenta); }
  .lsd-b-head p {
    font-family: 'Archivo', sans-serif;
    font-weight: 400;
    font-size: 14px;
    line-height: 1.55;
    color: var(--ink-soft);
    max-width: 32ch;
  }
  .lsd-b-head .lsd-b-meta {
    margin-top: auto;
    font-family: 'JetBrains Mono', monospace;
    font-size: 10px;
    letter-spacing: 0.12em;
    color: var(--ink-dim);
    text-transform: uppercase;
    border-top: 1px solid var(--ink);
    padding-top: 14px;
  }

  .lsd-bacheca .lsd-b-list {
    grid-column: 5 / span 8;
    display: grid;
    grid-template-columns: 1fr;
  }
  .lsd-work {
    display: grid;
    grid-template-columns: 110px 1fr auto;
    gap: 28px;
    padding: 24px 28px 26px;
    border-bottom: 1px solid var(--ink);
    align-items: start;
    text-decoration: none;
    color: var(--ink);
    transition: background 0.12s;
    position: relative;
  }
  .lsd-work:last-child { border-bottom: none; }
  .lsd-work:hover { background: var(--paper-3); }
  .lsd-work .lsd-w-status {
    font-family: 'JetBrains Mono', monospace;
    font-size: 10px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    padding: 4px 10px;
    border: 1px solid currentColor;
    align-self: start;
    line-height: 1.2;
    text-align: center;
    white-space: nowrap;
  }
  .lsd-w-status.lsd-in-corso { color: var(--magenta); }
  .lsd-w-status.lsd-in-lettura { color: var(--paper); background: var(--blue); border-color: var(--blue); }
  .lsd-w-status.lsd-aperto { color: var(--ink); background: var(--yellow); border-color: var(--yellow); }
  .lsd-w-status.lsd-bozza { color: var(--ink-dim); }
  .lsd-work .lsd-w-body { display: flex; flex-direction: column; gap: 6px; }
  .lsd-work .lsd-w-kind {
    font-family: 'JetBrains Mono', monospace;
    font-size: 11px;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--paper);
    background: var(--ink);
    font-weight: 700;
    padding: 5px 11px;
    border: 1.5px solid var(--ink);
    align-self: flex-start;
    line-height: 1.2;
    margin-bottom: 6px;
  }
  .lsd-work .lsd-w-title {
    font-family: 'Archivo Black', sans-serif;
    font-weight: normal;
    font-size: clamp(20px, 2vw, 26px);
    line-height: 1.05;
    letter-spacing: -0.02em;
    color: var(--ink);
  }
  .lsd-work .lsd-w-people {
    font-family: 'Archivo', sans-serif;
    font-weight: 500;
    font-size: 13px;
    color: var(--ink-soft);
    margin-top: 4px;
  }
  .lsd-work .lsd-w-people em {
    font-style: italic;
    color: var(--ink-dim);
    font-weight: 400;
  }
  .lsd-work .lsd-w-arrow {
    font-family: 'JetBrains Mono', monospace;
    font-size: 16px;
    color: var(--ink-dim);
    align-self: center;
    transition: transform 0.15s, color 0.15s;
  }
  .lsd-work:hover .lsd-w-arrow { color: var(--magenta); transform: translateX(4px); }
  
  
    /* ========================================================
     [5] TICKER
     ======================================================== */
  .lsd-ticker-bar {
    border-bottom: 2px solid var(--ink);
    overflow: hidden; white-space: nowrap;
    font-family: 'Archivo Black', sans-serif;
    font-size: clamp(20px, 4.2vw, 20px);
    text-transform: uppercase;
    letter-spacing: -0.02em;
    padding: 0px 0;
    background: var(--blue);
    color: var(--paper);
  }
  .lsd-ticker { display: inline-block; animation: tick 64s linear infinite; padding-left: 100%; }
  .lsd-ticker > span { padding: 0 28px; }
  .lsd-ticker > span.lsd-inv { -webkit-text-stroke: 2px var(--paper); color: transparent; }
  .lsd-ticker > span.lsd-alt { color: var(--yellow); }
  @keyframes tick { 0% { transform: translateX(0); } 100% { transform: translateX(-100%); } }
  @media (prefers-reduced-motion: reduce) {
    .lsd-ticker { animation: none; padding-left: 0; }
  }

  /* ========================================================
     [5] MATERIALI — sfondo paper-2, una sola colonna
     ======================================================== */
  .lsd-materials {
    border-bottom: 2px solid var(--ink);
    background: var(--paper-2);
  }
  .lsd-mat-head {
    border-bottom: 2px solid var(--ink);
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    padding: 28px 16px 26px;
    align-items: end;
    gap: 16px;
  }
  .lsd-mat-head .lsd-mat-label {
    grid-column: 1 / span 7;
  }
  .lsd-mat-head .lsd-mat-label .lsd-section-marker { display: block; margin-bottom: 8px; color: var(--magenta); }
  .lsd-mat-head h2 {
    font-family: 'Archivo Black', sans-serif;
    font-size: clamp(36px, 4.6vw, 64px);
    line-height: 0.95; letter-spacing: -0.035em;
    text-transform: uppercase;
  }
  .lsd-mat-head h2 .lsd-m { color: var(--magenta); }
  .lsd-mat-head .lsd-mat-sub {
    grid-column: 8 / span 5;
    font-family: 'Archivo', sans-serif;
    font-size: 14px;
    line-height: 1.45;
    color: var(--ink-soft);
    max-width: 36ch;
    margin-left: auto;
    text-align: right;
  }

  /* card a una colonna sola */
  .lsd-mat-list {
    display: grid;
    grid-template-columns: 1fr;
  }
  .lsd-card {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: 24px;
    padding: 28px 24px 30px;
    border-bottom: 1px solid var(--ink);
    text-decoration: none;
    color: var(--ink);
    align-items: start;
    transition: background 0.12s;
  }
  .lsd-card:last-child { border-bottom: none; }
  .lsd-card:hover { background: var(--paper-3); }

  .lsd-card .lsd-card-meta-col {
    grid-column: 1 / span 3;
    display: flex;
    flex-direction: column;
    gap: 12px;
  }
  .lsd-card .lsd-card-tag {
    font-family: 'JetBrains Mono', monospace;
    font-size: 10px; letter-spacing: 0.18em; text-transform: uppercase;
    padding: 4px 10px;
    align-self: flex-start;
    border: 1px solid var(--ink);
  }
  .lsd-card-tag.lsd-articolo { background: var(--magenta); color: var(--paper); border-color: var(--magenta); }
  .lsd-card-tag.lsd-podcast { background: var(--blue); color: var(--paper); border-color: var(--blue); }
  .lsd-card-tag.lsd-dati { background: var(--yellow); color: var(--ink); border-color: var(--ink); }
  .lsd-card-tag.lsd-etnografia { background: var(--paper); color: var(--ink); border-color: var(--ink); }

  .lsd-card .lsd-card-author {
    font-family: 'Archivo', sans-serif;
    font-weight: 600;
    font-size: 14px;
    color: var(--ink);
  }
  .lsd-card .lsd-card-meta {
    font-family: 'JetBrains Mono', monospace;
    font-size: 11px;
    letter-spacing: 0.1em;
    color: var(--ink-dim);
    text-transform: uppercase;
  }

  .lsd-card .lsd-card-body {
    grid-column: 4 / span 8;
  }
  .lsd-card h4 {
    font-family: 'Archivo Black', sans-serif;
    font-weight: normal;
    font-size: clamp(24px, 2.6vw, 36px);
    line-height: 1.05;
    letter-spacing: -0.025em;
    color: var(--ink);
    margin-bottom: 12px;
    max-width: 28ch;
  }
  .lsd-card .lsd-card-excerpt {
    font-family: 'Archivo', sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 1.5;
    color: var(--ink-soft);
    max-width: 60ch;
  }
  .lsd-card .lsd-card-arrow {
    grid-column: 12 / span 1;
    text-align: right;
    font-family: 'JetBrains Mono', monospace;
    font-size: 18px;
    color: var(--ink-dim);
    transition: transform 0.15s, color 0.15s;
    align-self: center;
  }
  .lsd-card:hover .lsd-card-arrow { color: var(--magenta); transform: translateX(4px); }

  /* ========================================================
     [6] CHI SIAMO — sfondo paper di nuovo
     ======================================================== */
  .lsd-who {
    border-bottom: 2px solid var(--ink);
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    background: var(--paper);
  }
  .lsd-who .lsd-who-head {
    grid-column: 1 / span 4;
    border-right: 2px solid var(--ink);
    padding: 36px 24px 30px;
    background: var(--blue);
    color: var(--paper);
    display: flex;
    flex-direction: column;
    gap: 14px;
  }
  .lsd-who-head .lsd-section-marker { color: var(--yellow); }
  .lsd-who-head h3 {
    font-family: 'Archivo Black', sans-serif;
    font-size: clamp(28px, 3.2vw, 42px);
    line-height: 0.98; letter-spacing: -0.03em;
    text-transform: uppercase;
  }
  .lsd-who-head h3 .lsd-y { color: var(--yellow); }
  .lsd-who-head p {
    font-family: 'Archivo', sans-serif;
    font-size: 14px;
    line-height: 1.5;
    max-width: 32ch;
  }
  .lsd-btn-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: 'JetBrains Mono', monospace;
    font-size: 11px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--paper);
    text-decoration: none;
    border-bottom: 1px solid var(--paper);
    padding-bottom: 3px;
    transition: gap 0.15s;
    align-self: flex-start;
    margin-top: 4px;
  }
  .lsd-btn-link:hover { gap: 14px; }

  .lsd-who .lsd-who-list {
    grid-column: 5 / span 8;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
  .lsd-who-list a {
    padding: 14px 22px;
    border-bottom: 1px solid var(--ink);
    border-right: 1px solid var(--ink);
    text-decoration: none;
    color: var(--ink);
    transition: background 0.12s, color 0.12s;
    font-family: 'Archivo', sans-serif;
  }
  .lsd-who-list a:hover { background: var(--magenta); color: var(--paper); }
  .lsd-who-list a:nth-child(2n) { border-right: none; }
  .lsd-who-list a:nth-last-child(-n+2) { border-bottom: none; }
  .lsd-who-list a strong {
    display: block;
    font-weight: 700;
    font-size: 16px;
    letter-spacing: -0.005em;
    margin-bottom: 2px;
  }
  .lsd-who-list a span {
    font-family: 'JetBrains Mono', monospace;
    font-size: 10px;
    letter-spacing: 0.08em;
    color: var(--ink-dim);
    text-transform: uppercase;
  }
  .lsd-who-list a:hover span { color: var(--paper); }

  /* ========================================================
     [6b] CITAZIONI — sfondo magenta, citazione random
     ======================================================== */
  .lsd-quotes {
    border-bottom: 2px solid var(--ink);
    background: var(--magenta);
    color: var(--paper);
    display: grid;
    grid-template-columns: repeat(12, 1fr);
  }
  .lsd-quotes .lsd-q-label {
    grid-column: 1 / span 4;
    border-right: 2px solid var(--paper);
    padding: 30px 24px;
    display: flex;
    flex-direction: column;
    gap: 14px;
  }
  .lsd-q-label .lsd-section-marker { color: var(--yellow); }
  .lsd-q-label h3 {
    font-family: 'Archivo Black', sans-serif;
    font-size: clamp(28px, 3.2vw, 44px);
    line-height: 0.98; letter-spacing: -0.03em;
    text-transform: uppercase;
    color: var(--paper);
  }
  .lsd-q-stage {
    grid-column: 5 / span 8;
    padding: 44px 36px 38px;
    display: flex;
    flex-direction: column;
    gap: 22px;
    margin: 0;
  }
  .lsd-q-text {
    font-family: 'Archivo', sans-serif;
    font-weight: 500;
    font-style: italic;
    font-size: clamp(22px, 2.6vw, 36px);
    line-height: 1.25;
    letter-spacing: -0.015em;
    color: var(--paper);
    max-width: 28ch;
    margin: 0;
  }
  .lsd-q-attr {
    display: flex;
    flex-direction: column;
    gap: 4px;
    font-style: normal;
  }
  .lsd-q-attr strong {
    font-family: 'Archivo Black', sans-serif;
    font-weight: normal;
    font-size: 16px;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    color: var(--paper);
  }
  .lsd-q-attr span {
    font-family: 'JetBrains Mono', monospace;
    font-size: 11px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--yellow);
  }
  .lsd-q-shuffle {
    align-self: flex-start;
    margin-top: 8px;
    padding: 11px 18px;
    border: 2px solid var(--ink);
    background: var(--yellow);
    color: var(--ink);
    font-family: 'JetBrains Mono', monospace;
    font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase;
    cursor: pointer;
    transition: background 0.12s, color 0.12s;
  }
  .lsd-q-shuffle:hover { background: var(--ink); color: var(--yellow); border-color: var(--ink); }

  /* ========================================================
     [7] SEZIONI — sfondo nero
     ======================================================== */
  .lsd-destinations {
    border-bottom: 2px solid var(--ink);
    background: var(--ink);
  }
  .lsd-dest-head {
    color: var(--paper);
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    padding: 22px 16px;
    align-items: baseline;
    gap: 16px;
    border-bottom: 1px solid rgba(241, 234, 214, 0.3);
  }
  .lsd-dest-head .lsd-dest-label {
    grid-column: 1 / span 7;
  }
  .lsd-dest-head .lsd-section-marker { display: block; margin-bottom: 8px; color: var(--yellow); }
  .lsd-dest-head h3 {
    font-family: 'Archivo Black', sans-serif;
    font-size: clamp(28px, 3.4vw, 44px);
    line-height: 1; letter-spacing: -0.03em;
    text-transform: uppercase;
  }
  .lsd-dest-head .meta {
    grid-column: 8 / span 5;
    font-family: 'JetBrains Mono', monospace;
    font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase;
    text-align: right;
    opacity: 0.7;
    align-self: end;
  }
  .lsd-dest-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
  }
  .lsd-dest {
    padding: 22px 18px 24px;
    border-right: 1px solid rgba(241, 234, 214, 0.25);
    border-bottom: 1px solid rgba(241, 234, 214, 0.25);
    text-decoration: none;
    color: var(--paper);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 130px;
    transition: background 0.12s, color 0.12s;
  }
  .lsd-dest:nth-child(4n) { border-right: none; }
  .lsd-dest:nth-last-child(-n+4) { border-bottom: none; }
  .lsd-dest:nth-child(3n+1):hover { background: var(--magenta); }
  .lsd-dest:nth-child(3n+2):hover { background: var(--yellow); color: var(--ink); }
  .lsd-dest:nth-child(3n):hover    { background: var(--blue); }
  .lsd-dest .lsd-dest-num {
    font-family: 'JetBrains Mono', monospace;
    font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase;
    color: var(--ink-faint);
  }
  .lsd-dest:hover .lsd-dest-num { color: inherit; opacity: 0.85; }
  .lsd-dest .lsd-dest-name {
    font-family: 'Archivo Black', sans-serif;
    font-size: clamp(22px, 2.2vw, 28px);
    line-height: 0.98; letter-spacing: -0.02em;
    text-transform: uppercase;
    margin-top: 8px;
  }
  .lsd-dest .lsd-dest-sub {
    font-family: 'Archivo', sans-serif;
    font-weight: 400;
    font-size: 12px;
    line-height: 1.4;
    color: var(--ink-faint);
    margin-top: 8px;
    max-width: 26ch;
  }
  .lsd-dest:hover .lsd-dest-sub { color: inherit; opacity: 0.9; }
  .lsd-dest .lsd-dest-arrow {
    font-family: 'JetBrains Mono', monospace;
    font-size: 16px;
    align-self: flex-end;
    margin-top: 10px;
    color: var(--ink-faint);
  }
  .lsd-dest:hover .lsd-dest-arrow { color: inherit; opacity: 0.85; }

  /* ========================================================
     [8] COLOFONE
     ======================================================== */
  .lsd-diag-echo {
    height: 14px;
    background: linear-gradient(60deg, rgb(194, 49, 106) 63%, rgb(232, 184, 26) 63%);
    border-bottom: 2px solid var(--ink);
  }
  .lsd-colophon {
    background: var(--paper-2);
    color: var(--ink);
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    font-family: 'JetBrains Mono', monospace;
    font-size: 10px; letter-spacing: 0.12em; text-transform: uppercase;
  }
  .lsd-colophon > div {
    padding: 22px 18px;
    border-right: 1px solid var(--ink);
  }
  .lsd-colophon > div:last-child { border-right: none; }
  .lsd-colophon .lsd-col-name { grid-column: span 5; }
  .lsd-colophon .lsd-col-name strong { color: var(--magenta); font-weight: 700; }
  .lsd-colophon .lsd-col-claim { grid-column: span 4; text-align: center; color: var(--ink-soft); }
  .lsd-colophon .lsd-col-claim a { color: var(--magenta); text-decoration: underline; text-underline-offset: 3px; }
  .lsd-colophon .lsd-col-mail { grid-column: span 3; text-align: right; }
  .lsd-colophon .lsd-col-mail a { color: var(--ink); text-decoration: underline; text-underline-offset: 3px; }
  .lsd-colophon .lsd-col-note {
    grid-column: 1 / -1;
    border-top: 1px solid var(--ink);
    text-align: center;
    color: var(--ink-dim);
    font-size: 9px;
  }

  /* MENU */

  /* MOBILE */
  @media (max-width: 900px) {
    .lsd-strip { grid-template-columns: 1fr; }
    .lsd-strip > div { border-right: none; border-bottom: 1px solid var(--ink); grid-column: 1 / -1; text-align: left !important; }
    .lsd-masthead { grid-template-columns: 1fr; }
    .lsd-masthead .lsd-mast-sigla-wrap, .lsd-masthead .lsd-mast-side { grid-column: 1 / -1; }
    .lsd-masthead .lsd-mast-side { padding: 20px 24px 28px; }
    .lsd-mast-glyph { max-width: 160px; }
    .lsd-why { grid-template-columns: 1fr; }
    .lsd-why .lsd-why-label, .lsd-why .lsd-why-body { grid-column: 1 / -1; border-right: none; }
    .lsd-why .lsd-why-label { border-bottom: 2px solid var(--ink); }
    .lsd-manifesto { grid-template-columns: 1fr; }
    .lsd-manifesto .lsd-man-label, .lsd-manifesto .lsd-man-body { grid-column: 1 / -1; border-right: none; position: static; }
    .lsd-manifesto .lsd-man-label { border-bottom: 2px solid var(--paper); }
    .lsd-quotes { grid-template-columns: 1fr; }
    .lsd-quotes .lsd-q-label, .lsd-quotes .lsd-q-stage { grid-column: 1 / -1; border-right: none; }
    .lsd-quotes .lsd-q-label { border-bottom: 2px solid var(--paper); }
    .lsd-bacheca { grid-template-columns: 1fr; }
    .lsd-bacheca .lsd-b-head, .lsd-bacheca .lsd-b-list { grid-column: 1 / -1; border-right: none; position: static; }
    .lsd-bacheca .lsd-b-head { border-bottom: 2px solid var(--ink); }
    .lsd-work { grid-template-columns: 1fr; gap: 12px; }
    .lsd-work .lsd-w-arrow { display: none; }
    .lsd-mat-head { grid-template-columns: 1fr; }
    .lsd-mat-head .lsd-mat-label, .lsd-mat-head .lsd-mat-sub { grid-column: 1 / -1; text-align: left; margin-left: 0; }
    .lsd-card { grid-template-columns: 1fr; gap: 14px; padding: 22px 18px 24px; }
    .lsd-card .lsd-card-meta-col, .lsd-card .lsd-card-body, .lsd-card .lsd-card-arrow { grid-column: 1 / -1; }
    .lsd-card .lsd-card-meta-col { flex-direction: row; align-items: center; gap: 16px; flex-wrap: wrap; }
    .lsd-card .lsd-card-arrow { display: none; }
    .lsd-who { grid-template-columns: 1fr; }
    .lsd-who .lsd-who-head, .lsd-who .lsd-who-list { grid-column: 1 / -1; border-right: none; border-bottom: 2px solid var(--ink); }
    .lsd-who .lsd-who-list { grid-template-columns: 1fr; }
    .lsd-who-list a { border-right: none !important; }
    .lsd-dest-head { grid-template-columns: 1fr; }
    .lsd-dest-head .lsd-dest-label, .lsd-dest-head .meta { grid-column: 1 / -1; text-align: left; }
    .lsd-dest-grid { grid-template-columns: repeat(2, 1fr); }
    .lsd-dest:nth-child(4n) { border-right: 1px solid rgba(241, 234, 214, 0.25); }
    .lsd-dest:nth-child(2n) { border-right: none; }
    .lsd-diag-echo {
    height: 14px;
    background: linear-gradient(60deg, rgb(194, 49, 106) 63%, rgb(232, 184, 26) 63%);
    border-bottom: 2px solid var(--ink);
  }
  .lsd-colophon { grid-template-columns: 1fr; }
    .lsd-colophon > div { grid-column: 1 / -1; text-align: left !important; border-right: none; border-bottom: 1px solid var(--ink); }
  }

/* ========================================================
   [WP] Articoli, pagine, paginazione — layout del tema
   ======================================================== */
.lsd-article {
  border-bottom: 2px solid var(--ink);
  background: var(--paper);
  max-width: 100%;
}
.lsd-article-head {
  border-bottom: 2px solid var(--ink);
  padding: 40px 24px 32px;
  background: var(--yellow);
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.lsd-article-head h1 {
  font-family: 'Archivo Black', sans-serif;
  font-size: clamp(32px, 4.4vw, 60px);
  line-height: 0.98;
  letter-spacing: -0.03em;
  text-transform: uppercase;
  color: var(--ink);
}
.lsd-article-body {
  padding: 48px 24px 64px;
  max-width: 68ch;
  margin: 0 auto;
  font-family: 'Archivo', sans-serif;
  font-size: 17px;
  line-height: 1.6;
  color: var(--ink);
}
.lsd-article-body h2, .lsd-article-body h3 {
  font-family: 'Archivo Black', sans-serif;
  letter-spacing: -0.02em;
  text-transform: uppercase;
  margin: 1.6em 0 0.6em;
  line-height: 1.05;
}
.lsd-article-body p { margin: 0 0 1.1em; }
.lsd-article-body a { color: var(--magenta); text-decoration: underline; text-underline-offset: 3px; }
.lsd-article-body em {
  font-style: italic; font-weight: 600;
  color: var(--ink); background: var(--yellow); padding: 0 6px;
}
.lsd-article-body blockquote {
  border-left: 4px solid var(--magenta);
  padding: 6px 0 6px 20px;
  font-style: italic;
  color: var(--ink-soft);
  margin: 1.4em 0;
}
.lsd-pagination {
  padding: 20px 24px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 12px; letter-spacing: 0.12em; text-transform: uppercase;
  border-bottom: 2px solid var(--ink);
  background: var(--paper-2);
}
.lsd-pagination .page-numbers {
  display: inline-block;
  padding: 6px 12px;
  border: 1px solid var(--ink);
  margin-right: 6px;
  text-decoration: none;
  color: var(--ink);
}
.lsd-pagination .page-numbers.current { background: var(--ink); color: var(--paper); }
.lsd-pagination .page-numbers:hover { background: var(--magenta); color: var(--paper); border-color: var(--magenta); }
