/* Hallmark · shape: Letter · genre: editorial · theme: Brutal (deal 3/3, seed sito-personale-analisi-indipendente-87b4·28481d9b·2026-10-22·r0) · job: listen · draw: 0a8922
 * hero: Index · nav: slab · footer: index columns · imagery: none · signature: the semaforo of six real indicators in boxed cells, three green and three red
 * axes: light/grotesk-heavy/chromatic-yellow · posture: committed · contrast: pass · fold: pass · v2.0.0 */
/* Hallmark · pre-emit critique: P5 H4 E4 S5 R4 V4 · weakest: H, the letter between index and cells risked reading thin; set it as a statement in capitals over two short columns */
/* Hallmark · dismissed F4 · the hero pair is the theme's own: a bordered paper button beside one solid ink button; the band button is an outline on its own ink */
/* Hallmark · dismissed 58 · the 1440 window at y 1150 straddles two sections, the letter close and the cruscotto cells, each under budget alone */
/* Hallmark · waive 44c · the article page cruscotto-ottobre takes a Banner head of title and lead, the cells start under it · a long-read opens on its title, the semaforo follows */
/* Hallmark · waive 79 · Banner head on the article page cruscotto-ottobre, first section starts under the fold · the reading page keeps air under its title instead of filling the screen */
/* Hallmark · dismissed 77 · cruscotto-ottobre is a Long Document article, not a landing strip; its body is one article with four blocks */
/* Hallmark · answered F25 · the backtest table pins its first column under 60rem and scrolls sideways inside its own box */
/* Hallmark · waive 49b · the lesa-maesta index rows are headlines of pieces in a table, two lines on a phone · a piece title is a real phrase that cannot shorten */
@import url("./tokens.css");
@import url("./base.css");

@font-face { font-family: "Libre Franklin"; font-style: normal; font-weight: 400; font-display: swap; src: url("./fonts/libre-franklin-latin-400-normal.woff2") format("woff2"); }
@font-face { font-family: "Libre Franklin"; font-style: normal; font-weight: 700; font-display: swap; src: url("./fonts/libre-franklin-latin-700-normal.woff2") format("woff2"); }
@font-face { font-family: "Libre Franklin"; font-style: normal; font-weight: 900; font-display: swap; src: url("./fonts/libre-franklin-latin-900-normal.woff2") format("woff2"); }

:root {
  --color-sem-verde: oklch(52% 0.13 150);
  --color-sem-rosso: oklch(52% 0.19 27);
  --color-sem-verde-on-ink: oklch(72% 0.15 150);
  --color-sem-rosso-on-ink: oklch(66% 0.19 27);
  --nav-h: 72px;
}

html, body { overflow-x: clip; }
body { font-size: 1.0625rem; }

/* ---------- display heads ---------- */
h1, h2, .display { font-family: var(--font-display); font-weight: var(--display-weight); text-transform: uppercase; letter-spacing: var(--tracking-display); line-height: 1.02; overflow-wrap: break-word; min-width: 0; }
h3 { font-family: var(--font-display); font-weight: 700; letter-spacing: 0; }

.skip { position: absolute; left: var(--space-md); top: calc(-1 * var(--space-3xl)); z-index: var(--z-toast); padding: var(--space-xs) var(--space-md); background: var(--color-ink); color: var(--color-paper); }
.skip:focus-visible { top: var(--space-md); outline: 2px solid var(--color-focus); outline-offset: 2px; }

/* ---------- nav: slab ---------- */
.slab { background: var(--color-ink); color: var(--color-paper); }
.slab .container { display: flex; align-items: center; justify-content: space-between; gap: var(--space-lg); min-height: var(--nav-h); }
.wordmark { font-family: var(--font-display); font-weight: 900; text-transform: uppercase; letter-spacing: var(--tracking-display); font-size: var(--text-xl); line-height: 1.04; text-decoration: none; color: var(--color-paper); white-space: nowrap; }
.slab ul { display: flex; gap: var(--space-xs); margin: 0; padding: 0; list-style: none; }
.slab a.navlink { display: inline-flex; align-items: center; min-height: 44px; padding: 0 var(--space-sm); color: var(--color-paper); font-weight: 700; text-decoration: none; white-space: nowrap; }
.slab a.navlink:hover { background: var(--color-accent); color: var(--color-accent-ink); }
.slab a:focus-visible, .wordmark:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 2px; }
.slab a.navlink:active { background: var(--color-paper); color: var(--color-ink); }

/* ---------- buttons ---------- */
.btn { display: inline-flex; align-items: center; min-height: 52px; padding: 0 var(--space-lg); border: var(--rule-bar) solid var(--color-rule); border-radius: 0; background: var(--color-paper); color: var(--color-ink); font-weight: 700; font-size: var(--text-md); text-decoration: none; white-space: nowrap; cursor: pointer; transition: none; }
.btn:hover { background: var(--color-ink); color: var(--color-paper); }
.btn--ink { background: var(--color-ink); color: var(--color-paper); }
.btn--ink:hover { background: var(--color-paper); color: var(--color-ink); }
.btn:active { background: var(--color-accent); color: var(--color-accent-ink); }
.btn:focus-visible { outline: 3px solid var(--color-focus); outline-offset: 3px; }
.btn:disabled, .btn[aria-disabled="true"] { opacity: 0.55; cursor: not-allowed; }
.band--ink .btn { border-color: var(--color-paper); background: var(--color-ink); color: var(--color-paper); }
.band--ink .btn:hover { background: var(--color-paper); color: var(--color-ink); }
.band--ink .btn:focus-visible { outline-color: var(--color-accent); }

a:not([class]):hover, mark { background: var(--color-accent); color: var(--color-accent-ink); }
mark { padding: 0 var(--space-3xs); }

/* ---------- hero: index ---------- */
.hero { padding-block: var(--space-3xl) var(--space-2xl); }
.hero__head { display: grid; grid-template-columns: minmax(0, 8fr) minmax(0, 4fr); gap: var(--space-xl); align-items: end; }
.hero h1 { font-size: clamp(2.75rem, 5.6vw, 5.5rem); max-width: none; }
.hero__side { display: grid; gap: var(--space-lg); }
.hero__side .lead { max-width: 34ch; }
.actions { display: flex; flex-wrap: wrap; gap: var(--space-sm); }

.index { margin: var(--space-xl) 0 0; padding: 0; list-style: none; border: var(--rule-bar) solid var(--color-rule); counter-reset: n; }
.index li + li { border-top: var(--rule-hair) solid var(--color-rule); }
.index a { display: grid; grid-template-columns: 5.5rem minmax(0, 5fr) minmax(0, 5fr) 9rem; gap: var(--space-lg); align-items: center; min-height: 92px; padding: var(--space-sm) var(--space-lg); color: var(--color-ink); text-decoration: none; }
.index a:hover { background: var(--color-accent); color: var(--color-accent-ink); }
.index a:focus-visible { outline: 3px solid var(--color-focus); outline-offset: -6px; }
.index a:active { background: var(--color-ink); color: var(--color-paper); }
.index .no { font-weight: 900; font-size: var(--text-2xl); line-height: 1; font-variant-numeric: tabular-nums; }
.index .t { font-weight: 700; font-size: var(--text-title); line-height: 1.2; }
.index .d { color: var(--color-muted); }
.index a:hover .d { color: var(--color-accent-ink); }
.index .k { grid-column: 4; justify-self: end; font-size: var(--text-sm); }
.index li:first-child a { min-height: 104px; }
.index li:first-child .t { font-size: var(--text-2xl); }

/* ---------- letter / statement ---------- */
.letter { padding-block: var(--section-gap-s) var(--section-gap); border-top: var(--rule-bar) solid var(--color-rule); }
.letter .statement { font-size: var(--text-section); max-width: 24ch; }
.letter__cols { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--gap-columns); margin-top: var(--space-2xl); }
.letter__cols p:nth-child(1) { grid-column: 1 / span 5; }
.letter__cols p:nth-child(2) { grid-column: 7 / span 5; }
.letter__cols p { font-size: var(--text-lead); line-height: 1.5; }

/* ---------- cruscotto: cells ---------- */
.cruscotto { padding-block: 0 var(--section-gap-l); }
.sechead { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--gap-columns); align-items: end; margin-bottom: var(--space-2xl); }
.sechead h2 { grid-column: 1 / span 7; }
.sechead p { grid-column: 8 / span 5; color: var(--color-muted); }
.cells { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); grid-template-rows: repeat(2, minmax(15rem, auto)) auto; border: var(--rule-bar) solid var(--color-rule); }
.cell { display: grid; align-content: space-between; gap: var(--space-lg); padding: var(--space-lg) var(--space-lg) var(--space-lg); border-right: var(--rule-bar) solid var(--color-rule); border-bottom: var(--rule-bar) solid var(--color-rule); min-width: 0; }
.cell--lead { grid-column: span 6; grid-row: span 2; }
.cell--a { grid-column: span 3; }
.cell--b { grid-column: span 3; border-right: 0; }
.cell--c { grid-column: span 3; }
.cell--d { grid-column: span 3; border-right: 0; }
.cell--e { grid-column: span 12; border-right: 0; border-bottom: 0; grid-template-columns: minmax(0, 6fr) minmax(0, 6fr); align-items: end; }
.cell--ink { background: var(--color-ink); color: var(--color-paper); }
.cell h3 { font-size: var(--text-md); font-weight: 700; }
.cell .v { font-weight: 900; font-size: var(--text-3xl); line-height: 1; font-variant-numeric: tabular-nums; letter-spacing: -0.02em; }
.cell--lead .v { font-size: clamp(5rem, 11vw, 10rem); }
.cell small { display: block; font-size: var(--text-sm); color: var(--color-muted); line-height: 1.4; }
.cell--ink small { color: var(--color-paper-3); }
.sem { display: inline-flex; align-items: center; gap: var(--space-xs); font-weight: 700; font-size: var(--text-sm); }
.sem::before { content: ""; width: 14px; height: 14px; flex-shrink: 0; background: var(--sem); }
.sem--verde { --sem: var(--color-sem-verde); }
.sem--rosso { --sem: var(--color-sem-rosso); }
.cell--ink .sem--verde { --sem: var(--color-sem-verde-on-ink); }
.cell--ink .sem--rosso { --sem: var(--color-sem-rosso-on-ink); }
.note { margin-top: var(--space-md); font-size: var(--text-sm); color: var(--color-muted); max-width: 90ch; }

/* ---------- proposta: ink band ---------- */
.band--ink { background: var(--color-ink); color: var(--color-paper); padding-block: var(--section-gap-s); }
.proposta { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--gap-columns); align-items: start; }
.proposta__head { grid-column: 1 / span 5; display: grid; gap: var(--space-lg); }
.proposta__head h2 { font-size: var(--text-section); }
.proposta__head .lead { color: var(--color-paper-3); }
.points { grid-column: 7 / span 6; margin: 0; padding: 0; list-style: none; border: var(--rule-bar) solid var(--color-paper); counter-reset: p; }
.points li { counter-increment: p; display: grid; grid-template-columns: 4rem minmax(0, 1fr); gap: var(--space-md); align-items: baseline; padding: var(--space-lg); font-size: var(--text-lead); line-height: 1.4; }
.points li + li { border-top: var(--rule-hair) solid var(--color-paper); }
.points li::before { content: counter(p); font-weight: 900; font-size: var(--text-2xl); line-height: 1; font-variant-numeric: tabular-nums; }
.points .fill { color: var(--color-paper-3); border-color: var(--color-paper-3); }

.fill { padding: 0.3em 0.5em; border: 1px dashed var(--color-muted); color: var(--color-muted); -webkit-box-decoration-break: clone; box-decoration-break: clone; }

/* ---------- libri ---------- */
.libri { padding-block: var(--section-gap) var(--section-gap-s); }
.books { margin: 0; padding: 0; list-style: none; border: var(--rule-bar) solid var(--color-rule); }
.books li { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 4fr) minmax(0, 2fr); gap: var(--space-lg); align-items: center; padding: var(--space-xl) var(--space-lg); }
.books li + li { border-top: var(--rule-hair) solid var(--color-rule); }
.books .bt { font-family: var(--font-display); font-weight: 900; text-transform: uppercase; letter-spacing: var(--tracking-display); font-size: var(--text-2xl); line-height: 1.02; }
.books .st { justify-self: end; font-weight: 700; font-size: var(--text-sm); white-space: nowrap; }
.books li:first-child .st { background: var(--color-accent); color: var(--color-accent-ink); padding: var(--space-2xs) var(--space-xs); }

/* ---------- footer: index columns ---------- */
.foot { border-top: var(--rule-bar) solid var(--color-rule); margin-top: var(--section-gap); padding-block: var(--space-2xl) var(--space-xl); }
.foot__cols { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 3fr) minmax(0, 3fr); gap: var(--gap-columns); }
.foot h2 { font-size: var(--text-md); text-transform: none; letter-spacing: 0; font-weight: 700; margin-bottom: var(--space-sm); }
.foot ul { margin: 0; padding: 0; list-style: none; display: grid; gap: var(--space-2xs); }
.foot a { color: var(--color-ink); }
.foot .wm { font-family: var(--font-display); font-weight: 900; text-transform: uppercase; letter-spacing: var(--tracking-display); font-size: var(--text-2xl); line-height: 1.04; margin-bottom: var(--space-md); }
.foot p { color: var(--color-muted); max-width: 40ch; }
.foot .legal { margin-top: var(--space-2xl); padding-top: var(--space-md); border-top: var(--rule-hair) solid var(--color-rule); font-size: var(--text-sm); color: var(--color-muted); max-width: none; }

/* ---------- responsive ---------- */
@media (max-width: 60rem) {
  .slab .container { flex-wrap: wrap; gap: 0; padding-block: var(--space-xs); }
  .slab nav { width: 100%; overflow-x: auto; }
  .slab ul { gap: 0; }
  .slab a.navlink { padding: 0 var(--space-xs); }
  .hero__head { grid-template-columns: minmax(0, 1fr); gap: var(--space-lg); }
  .index a { grid-template-columns: 3rem minmax(0, 1fr); gap: var(--space-xs) var(--space-md); }
  .index .d, .index .k { grid-column: 2; justify-self: start; }
  .cells { grid-template-rows: none; }
  .letter__cols p:nth-child(1), .letter__cols p:nth-child(2) { grid-column: 1 / -1; }
  .sechead h2, .sechead p { grid-column: 1 / -1; }
  .cells { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cell--lead { grid-column: span 2; grid-row: auto; border-right: 0; }
  .cell--a, .cell--b, .cell--c, .cell--d { grid-column: span 1; }
  .cell--b, .cell--d { border-right: 0; }
  .cell--e { grid-column: span 2; grid-template-columns: minmax(0, 1fr); }
  .proposta__head, .points { grid-column: 1 / -1; }
  .books li { grid-template-columns: minmax(0, 1fr); gap: var(--space-xs); }
  .books .st { justify-self: start; }
  .foot__cols { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
}
@media (max-width: 40rem) {
  .cells { grid-template-columns: minmax(0, 1fr); }
  .cell--lead, .cell--a, .cell--b, .cell--c, .cell--d, .cell--e { grid-column: span 1; border-right: 0; }
  .points li { grid-template-columns: 2.5rem minmax(0, 1fr); padding: var(--space-md); }
  .foot__cols { grid-template-columns: minmax(0, 1fr); }
}

/* ---------- article ---------- */
.art { padding-bottom: var(--section-gap); }
.art__head { padding-block: var(--space-3xl) var(--space-2xl); display: grid; gap: var(--space-lg); }
.art__head h1 { font-size: var(--text-display); max-width: 16ch; }
.byline { display: block; margin-top: var(--space-md); font-size: var(--text-sm); color: var(--color-muted); }
.prose { display: grid; gap: var(--space-md); margin-bottom: var(--space-2xl); }
.prose p { max-width: 65ch; font-size: 1.1875rem; line-height: 1.7; }
.prose--flush { margin-bottom: var(--space-xl); }
.art__block { margin-bottom: var(--section-gap-s); }
.art__block h2 { margin-bottom: var(--space-xl); }
.figs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border: var(--rule-bar) solid var(--color-rule); }
.fig { margin: 0; padding: var(--space-lg); display: grid; gap: var(--space-sm); min-width: 0; border-right: var(--rule-bar) solid var(--color-rule); border-bottom: var(--rule-bar) solid var(--color-rule); }
.fig:nth-child(2n) { border-right: 0; }
.fig:nth-last-child(-n + 2) { border-bottom: 0; }
.fig figcaption { display: flex; justify-content: space-between; align-items: baseline; gap: var(--space-md); }
.fig h3 { font-size: var(--text-md); }
.fig__last { font-weight: 900; font-size: var(--text-2xl); line-height: 1; }
.fig__note { font-size: var(--text-sm); color: var(--color-muted); }
.chart { width: 100%; height: auto; overflow: visible; }
.chart .g { stroke: var(--color-paper-3); stroke-width: 1; }
.chart .z { stroke: var(--color-ink); stroke-width: 1; }
.chart .s { fill: none; stroke: var(--color-ink); stroke-width: 2; stroke-linejoin: round; }
.chart .m { fill: var(--color-accent); stroke: var(--color-ink); stroke-width: 2; }
.chart .ax { fill: var(--color-muted); font-family: var(--font-body); font-size: 12px; font-variant-numeric: tabular-nums; }
.src { margin-top: var(--space-md); font-size: var(--text-sm); color: var(--color-muted); max-width: 90ch; }
.seg { display: flex; flex-wrap: wrap; margin-bottom: calc(var(--rule-bar) * -1); }
.seg [role="tab"] { min-height: 48px; padding: 0 var(--space-lg); border: var(--rule-bar) solid var(--color-rule); border-radius: 0; background: var(--color-paper); color: var(--color-ink); font-weight: 700; cursor: pointer; white-space: nowrap; transition: none; }
.seg [role="tab"] + [role="tab"] { margin-left: calc(var(--rule-bar) * -1); }
.seg [role="tab"][aria-selected="true"] { background: var(--color-ink); color: var(--color-paper); }
.seg [role="tab"]:hover { background: var(--color-accent); color: var(--color-accent-ink); }
.seg [role="tab"]:focus-visible { outline: 3px solid var(--color-focus); outline-offset: 3px; position: relative; z-index: var(--z-raised); }
.seg [role="tab"]:active { background: var(--color-paper-2); color: var(--color-ink); }
.seg [role="tab"]:disabled { opacity: 0.55; cursor: not-allowed; }
.tbl { border: var(--rule-bar) solid var(--color-rule); overflow-x: auto; }
.tbl + .tbl { margin-top: var(--space-lg); }
.tbl table { width: 100%; border-collapse: collapse; }
.tbl th, .tbl td { padding: var(--space-sm) var(--space-md); text-align: right; border-bottom: var(--rule-hair) solid var(--color-rule); white-space: nowrap; }
.tbl thead th { font-size: var(--text-sm); font-weight: 400; color: var(--color-muted); }
.tbl th[scope="row"], .tbl thead th:first-child { text-align: left; font-weight: 700; color: var(--color-ink); }
.tbl thead th:first-child { font-weight: 400; color: var(--color-muted); }
.tbl tbody tr:last-child > * { border-bottom: 0; }
.tbl td.is-max { font-weight: 900; }
@media (max-width: 60rem) {
  .figs { grid-template-columns: minmax(0, 1fr); }
  .fig { border-right: 0; }
  .fig:nth-last-child(2) { border-bottom: var(--rule-bar) solid var(--color-rule); }
  .tbl th[scope="row"] { position: sticky; left: 0; background: var(--color-paper); }
}

/* ---------- Lesa maestà ---------- */
.lm-top { background: var(--color-ink); color: var(--color-paper); }
.lm-top__bar { display: flex; align-items: center; justify-content: space-between; gap: var(--space-lg); min-height: var(--nav-h); border-bottom: var(--rule-hair) solid var(--color-muted); }
.lm-top .navlink { display: inline-flex; align-items: center; min-height: 44px; padding: 0 var(--space-sm); color: var(--color-paper); font-weight: 700; text-decoration: none; white-space: nowrap; }
.lm-top .navlink:hover { background: var(--color-accent); color: var(--color-accent-ink); }
.lm-top .navlink:active { background: var(--color-paper); color: var(--color-ink); }
.lm-top a:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 2px; }
.lm-hero { display: grid; grid-template-columns: minmax(0, 8fr) minmax(0, 4fr); gap: var(--space-xl); align-items: end; padding-block: var(--space-2xl) var(--space-2xl); }
.lm-hero h1 { font-size: clamp(4rem, 10vw, 9rem); line-height: 1; max-width: none; color: var(--color-paper); }
.lm-hero__side { display: grid; gap: var(--space-lg); padding-bottom: var(--space-sm); }
.lm-hero .lead { color: var(--color-paper); }
.lm-hero .byline { color: var(--color-paper-3); }
.lm-hero .btn { border-color: var(--color-paper); background: var(--color-ink); color: var(--color-paper); }
.lm-hero .btn:hover { background: var(--color-paper); color: var(--color-ink); }
.lm-hero .btn:active { background: var(--color-paper-3); color: var(--color-ink); }
.lm-hero .btn:focus-visible { outline-color: var(--color-accent); }

.lm-index { padding-block: var(--space-2xl) var(--section-gap-l); }
.lm-table { width: 100%; border-collapse: collapse; border: var(--rule-bar) solid var(--color-rule); }
.lm-table th, .lm-table td { padding: var(--space-md) var(--space-lg); text-align: left; border-bottom: var(--rule-hair) solid var(--color-rule); vertical-align: baseline; }
.lm-table thead th { font-size: var(--text-sm); font-weight: 400; color: var(--color-muted); border-bottom: var(--rule-bar) solid var(--color-rule); }
.lm-table td.num { font-variant-numeric: tabular-nums; width: 5rem; font-weight: 900; font-size: var(--text-2xl); line-height: 1; }
.lm-table tbody th { font-variant-numeric: tabular-nums; font-weight: 700; font-size: var(--text-title); line-height: 1.2; }
.lm-table tbody th a { text-decoration: none; color: var(--color-ink); }
.lm-table tbody th a:hover { background: var(--color-accent); color: var(--color-accent-ink); }
.lm-table tbody th a:focus-visible { outline: 3px solid var(--color-focus); outline-offset: 3px; }
.lm-table tbody th a:active { background: var(--color-ink); color: var(--color-paper); }
.lm-table tbody tr:hover { background: var(--color-paper-2); }
.lm-table tbody td:nth-child(3) { font-weight: 700; }
.lm-table tr.is-lead th { font-size: var(--text-2xl); font-variant-numeric: tabular-nums; }
.lm-table tr.is-lead > * { padding-block: var(--space-lg); }

.lm-art { padding-block: var(--section-gap-s); border-top: var(--rule-bar) solid var(--color-rule); }
.lm-art__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--gap-columns); }
.lm-art__head { grid-column: 1 / span 4; display: grid; gap: var(--space-md); align-content: start; position: sticky; top: var(--space-2xl); align-self: start; }
.lm-art__head h2 { font-size: var(--text-section); }
.lm-art__head .byline { margin-top: 0; }
.lm-art__body { grid-column: 6 / span 7; display: grid; gap: var(--space-2xl); }
.lm-art__body p { font-size: var(--text-xl); line-height: 1.7; max-width: 46ch; }
.lm-art__end { font-weight: 900; font-size: var(--text-2xl) !important; line-height: 1.15 !important; text-transform: uppercase; letter-spacing: var(--tracking-display); }

.lm-rules { padding-block: var(--section-gap-s) var(--section-gap); background: var(--color-paper-2); border-top: var(--rule-bar) solid var(--color-rule); border-bottom: var(--rule-bar) solid var(--color-rule); }
.lm-rules__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--gap-columns); }
.lm-rules h2 { grid-column: 1 / -1; font-size: var(--text-section); margin-bottom: var(--space-xl); }
.lm-rules__list { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--gap-columns); margin: 0; padding: 0; list-style: none; counter-reset: r; }
.lm-rules__list li { counter-increment: r; display: grid; align-content: start; gap: var(--space-lg); min-height: 15rem; padding: var(--space-lg); font-size: var(--text-lead); line-height: 1.45; border: var(--rule-bar) solid var(--color-rule); background: var(--color-paper); }
.lm-rules__list li::before { content: counter(r); font-weight: 900; font-size: var(--text-3xl); line-height: 1; font-variant-numeric: tabular-nums; }
.lm-rules__list b { display: block; }
.lm-rules__list b { font-weight: 700; }

@media (max-width: 60rem) {
  .lm-hero { grid-template-columns: minmax(0, 1fr); }
  .lm-art__grid, .lm-rules__grid { grid-template-columns: minmax(0, 1fr); }
  .lm-art__head, .lm-art__body, .lm-rules h2, .lm-rules__list { grid-column: 1 / -1; }
  .lm-art__head { position: static; }
  .lm-table thead { display: none; }
  .lm-table, .lm-table tbody, .lm-table tr, .lm-table th, .lm-table td { display: block; }
  .lm-table tr { display: grid; grid-template-columns: 3rem minmax(0, 1fr); gap: var(--space-2xs) var(--space-md); padding: var(--space-md); border-bottom: var(--rule-hair) solid var(--color-rule); }
  .lm-table th, .lm-table td { padding: 0; border: 0; }
  .lm-table td.num { grid-row: span 3; width: auto; }
  .lm-table tr.is-lead > * { padding-block: 0; }
  .lm-table tr.is-lead th, .lm-table tbody th { font-size: var(--text-lg); }
  .lm-rules__list { grid-template-columns: minmax(0, 1fr); }
  .lm-rules__list li { min-height: 0; }
}

/* ---------- pagina d'attesa ---------- */
/* Hallmark · answered · pagina d'attesa: righe dell'indice senza link (.index .row), stessa griglia delle righe con link */
.index .row { display: grid; grid-template-columns: 5.5rem minmax(0, 5fr) minmax(0, 5fr) 9rem; gap: var(--space-lg); align-items: center; min-height: 92px; padding: var(--space-sm) var(--space-lg); }
.index .row .k { grid-column: 4; justify-self: end; font-size: var(--text-sm); }
.soon { background: var(--color-accent); color: var(--color-accent-ink); padding: 0 var(--space-2xs); font-weight: 700; }
.foot__cols--attesa { grid-template-columns: minmax(0, 6fr) minmax(0, 6fr); }
@media (max-width: 60rem) {
  .index .row { grid-template-columns: 3rem minmax(0, 1fr); gap: var(--space-xs) var(--space-md); }
  .index .row .d, .index .row .k { grid-column: 2; justify-self: start; }
  .foot__cols--attesa { grid-template-columns: minmax(0, 1fr); }
}
