/* Blog — Martini Francesco. Solo token del brand; sostituisce pages.css per blog ed articoli. */
:root{--read-max:calc(var(--space-14) * 4.5)} /* 45rem ≈ 720px */
.crumbs{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-2);margin:0 0 var(--space-5);font-size:var(--fs-caption);line-height:var(--lh-caption);color:var(--text-muted)}
.crumbs a{color:var(--text-secondary);text-decoration:none}@media (hover:hover) and (pointer:fine){.crumbs a:hover{color:var(--accent)}}
.blog-hero,.article-hero{padding:var(--section-s) 0 var(--space-10)}
.blog-hero h1,.article-hero h1{font-size:var(--fs-h1);line-height:var(--lh-h1);font-weight:var(--fw-h1);max-width:20ch;margin:var(--space-4) auto}
.blog-hero .eyebrow{margin-inline:auto}
.blog-index{padding-top:var(--space-0)}
.blog-filter{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-7)}
.blog-filter__list{display:flex;flex-wrap:wrap;gap:var(--space-2);list-style:none;margin:0;padding:0}
.blog-filter .chip{background:var(--surface);cursor:pointer;font:inherit;font-size:var(--fs-small);font-weight:var(--fw-link);gap:var(--space-2);align-items:center}
.blog-filter .chip.is-active{background:var(--accent);border-color:var(--accent);color:var(--text-on-accent)}
.blog-filter__n{font-size:var(--fs-caption);opacity:.7}
.blog-filter__stato{margin:0;font-size:var(--fs-small);color:var(--text-muted)}
.blog-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--grid-gap);list-style:none;margin:0;padding:0}
.blog-list__item{display:flex;min-width:0}.blog-list__item[hidden]{display:none}
.blog-list .post{position:relative;width:100%;height:100%}
.blog-list .post__media{aspect-ratio:16/10}
.blog-list .post__title{min-height:calc(var(--lh-h4) * 2)}
.blog-list .post__excerpt{min-height:calc(var(--lh-small) * 2)}
@media (max-width:63.9375rem){.blog-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:47.9375rem){.blog-list{grid-template-columns:1fr}.blog-filter{flex-direction:column;align-items:flex-start}.blog-filter__list{flex-wrap:nowrap;overflow-x:auto;max-width:100%;padding-bottom:var(--space-2)}.blog-filter .chip{white-space:nowrap}}
/* Articolo */
.article__col{max-width:calc(var(--read-max) + 2 * var(--container-pad))}
.article-hero{text-align:center}
.article-hero .lead{margin:0 auto var(--space-5)}
.article__cat{margin:0}
.article__meta{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-2) var(--space-4);margin:0;font-size:var(--fs-small);color:var(--text-muted)}
.article__meta>*+*::before{content:"·";margin-right:var(--space-4)}
.article__cover{margin:0 auto var(--space-10);max-width:calc(var(--container-max) - var(--space-12))}
.article__cover img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:var(--radius-md);border:var(--btn-border-width) solid var(--border)}
.prose{font-size:var(--fs-body);line-height:var(--lh-body);color:var(--text-secondary)}
.prose>*{margin:0 0 var(--space-5)}
.prose h2{margin:var(--space-10) 0 var(--space-4);font-size:var(--fs-h3);line-height:var(--lh-h3);font-weight:var(--fw-h3);color:var(--text-primary)}
.prose h3{margin:var(--space-7) 0 var(--space-3);font-size:var(--fs-h4);line-height:var(--lh-h4);font-weight:var(--fw-h4);color:var(--text-primary)}
.prose strong{font-weight:var(--fw-link);color:var(--text-primary)}
.prose a{color:var(--accent);text-decoration:underline;text-underline-offset:.2em}@media (hover:hover) and (pointer:fine){.prose a:hover{color:var(--accent-hover)}}
.prose ul,.prose ol{padding-left:var(--space-6)}.prose li{margin-bottom:var(--space-2)}.prose li::marker{color:var(--accent)}
.prose blockquote{margin:var(--space-7) 0;padding:var(--space-4) var(--space-6);border-left:var(--space-1) solid var(--accent);border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:var(--accent-soft);color:var(--text-primary);font-size:var(--fs-lead);line-height:var(--lh-lead)}
.prose figure{margin:var(--space-7) 0}.prose img{display:block;max-width:100%;height:auto;border-radius:var(--radius-sm);border:var(--btn-border-width) solid var(--border)}
.prose figcaption{margin-top:var(--space-2);font-size:var(--fs-caption);color:var(--text-muted);text-align:center}
.prose code{padding:0 var(--space-1);border-radius:var(--radius-sm);background:var(--surface-alt);font-size:.9em}
.prose table{width:100%;border-collapse:collapse;font-size:var(--fs-small)}.prose th,.prose td{padding:var(--space-2) var(--space-3);border-bottom:var(--btn-border-width) solid var(--border);text-align:left}
.article-cta{margin:var(--space-10) 0 var(--section-s);padding:var(--space-8);border-radius:var(--radius-md);background:linear-gradient(180deg,var(--indaco-50),var(--surface));border:var(--btn-border-width) solid var(--indaco-200);text-align:center}
.article-cta h2{margin:0 0 var(--space-3);font-size:var(--fs-h3);line-height:var(--lh-h3)}
.article-cta p{margin:0 auto var(--space-6);color:var(--text-secondary);max-width:50ch}
.article-cta .actions{justify-content:center}
.blog-list--rel{margin-top:0}
@media (max-width:47.9375rem){.article-cta{padding:var(--space-6)}.sec-row{flex-direction:column;align-items:flex-start}}
.article,.blog-index{background:var(--surface)}
.article__col,.prose{min-width:0}.prose{overflow-wrap:anywhere}
