/* Stile comune degli articoli; i singoli schemi e box restano nei CSS originali. */
body.article-page { --blu:#0B1F3A; --bianco:#FFFFFF; --ghiaccio:#F5F7FA; --arancio:#E8440A; --ardesia:#6B7A8D; --bordo:#D8DDE5; margin:0; padding:64px 0 0; font-family:'Inter',sans-serif; font-size:.95rem; line-height:1.65; background:var(--bianco); color:var(--blu); }
.article-page > .site-header { position:fixed; top:0; left:0; right:0; height:64px; z-index:100; display:flex; flex-direction:row; align-items:center; justify-content:space-between; gap:.75rem; padding:0 2rem; margin:0; max-width:none; width:100%; border:0; border-bottom:1px solid var(--bordo); border-radius:0; background:var(--bianco); box-shadow:none; }
.article-page > .site-header .logo { font-family:'Playfair Display',serif; font-size:1.45rem; font-weight:700; line-height:1.6; color:var(--blu); letter-spacing:-.02em; text-decoration:none; }
.article-page > .site-header .logo span { color:var(--arancio); }
.article-page .page-index { width:225px; padding:2rem 1.25rem; background:var(--ghiaccio); color:var(--blu); }
.article-page .page-index-nav { position:static; display:flex; flex-direction:column; width:100%; height:auto; margin:0; padding:0; border:0; gap:.35rem; background:none; box-shadow:none; }
.article-page .page-index-nav a { margin:0; font-family:'Inter',sans-serif; font-size:.875rem; line-height:1.6; text-decoration:none; }
.article-page > .article-main { margin:0 225px 0 0; padding:0; max-width:none; width:auto; display:block; }
.article-page .article-heading { position:static; display:block; width:100%; max-width:none; min-height:0; margin:0; padding:2rem 1.5rem; background:var(--blu); color:var(--bianco); border:0; border-radius:0; text-align:left; box-shadow:none; }
.article-page .article-heading > *,
.article-page .article-heading .container,
.article-page .article-heading .hero-inner,
.article-page .article-heading .articolo-hero-inner { max-width:860px; margin-left:auto; margin-right:auto; }
.article-page .article-heading .container,
.article-page .article-heading .hero-inner,
.article-page .article-heading .articolo-hero-inner { width:100%; padding:0; }
.article-page .article-heading h1 { font-family:'Playfair Display',serif; font-size:clamp(1.75rem,3vw,2.65rem); font-weight:700; line-height:1.2; color:var(--bianco); margin-top:.65rem; margin-bottom:1rem; overflow-wrap:anywhere; }
.article-page .article-heading p { font-size:.95rem; line-height:1.6; color:rgba(255,255,255,.85); }
.article-page .article-heading .breadcrumb { font-size:.8rem; color:rgba(255,255,255,.75); }
.article-page .article-heading .breadcrumb a { color:inherit; }
.article-page .article-content { width:100%; max-width:860px; margin:0 auto; padding:1.75rem 1.5rem; min-width:0; }
.article-page .article-content .article-content { padding-left:0; padding-right:0; }
.article-page .article-main p,
.article-page .article-main li { font-size:.95rem; line-height:1.65; }
.article-page .article-main h2 { font-family:'Playfair Display',serif; font-size:1.55rem; line-height:1.3; }
.article-page .article-main h3 { font-size:1.15rem; line-height:1.4; }
.article-page .article-main a { overflow-wrap:anywhere; }
.article-page .article-main [id] { scroll-margin-top:84px; }
.article-page .article-main nav { position:static; display:block; height:auto; background:none; border:0; padding:0; }
.article-page .article-main nav a { text-transform:none; margin-left:0; }
.article-page .article-main > .box-analisi { padding:2rem 1.5rem; }
.article-page .article-main > .box-analisi > * { max-width:860px; margin-left:auto; margin-right:auto; }
.article-page .article-table-scroll { max-width:100%; overflow-x:auto; margin:1rem 0; }
.article-page .article-table-scroll table { width:100%; min-width:600px; margin:0; }
.article-page .article-main svg,
.article-page .article-main img { max-width:100%; height:auto; }
.article-page .article-related-nav { max-width:860px; margin:.5rem auto; padding:0 1.5rem; font-size:.8rem; }
.article-page .article-endnote { max-width:860px; margin:1rem auto; padding:1rem 1.5rem; border-top:1px solid var(--bordo); color:var(--ardesia); }
.article-page .article-endnote p { font-size:.8rem; line-height:1.6; margin-bottom:.5rem; }
.article-page > .site-footer { width:auto; max-width:none; margin:0 225px 0 0; background:#070F1E; padding:2rem 1.5rem; border:0; border-radius:0; text-align:center; font-family:'Inter',sans-serif; }
.article-page > .site-footer .footer-links { display:flex; justify-content:center; flex-wrap:wrap; gap:.6rem 1.25rem; margin:0 0 1rem; font-size:.85rem; line-height:1.5; color:rgba(255,255,255,.85); }
.article-page > .site-footer .footer-links a { color:inherit; font-size:inherit; text-decoration:none; }
.article-page > .site-footer .footer-links a:hover { text-decoration:underline; text-underline-offset:3px; }
.article-page > .site-footer p { margin:0; font-family:'IBM Plex Mono',monospace; font-size:.7rem; line-height:1.6; letter-spacing:.06em; color:rgba(255,255,255,.65); }
@media(max-width:1150px) {
 .article-page > .article-main,.article-page > .site-footer { margin-right:0; }
 .article-page .page-index { position:static; width:100%; padding:.75rem 1.25rem; }
}
@media(max-width:600px) {
 .article-page > .site-header { padding:0 1rem; }
 .article-page > .site-header .logo { font-size:1.25rem; }
 .article-page .article-heading,.article-page .article-content { padding:1.5rem 1.25rem; }
 .article-page .article-main h2 { font-size:1.35rem; }
}

.article-page .article-diagram-scroll { max-width:100%; overflow-x:auto; margin:1rem 0; }
.article-page .article-diagram-scroll svg { display:block; }
.article-page .article-heading .meta,
.article-page .article-heading .article-meta,
.article-page .article-heading .data,
.article-page .article-heading .hero-date,
.article-page .article-heading .hero-meta-info,
.article-page .article-heading .articolo-meta-bar { color:rgba(255,255,255,.75); }

.article-page .article-main a.article-case-cta { display:inline-block; padding:.8rem 1.25rem; border:1px solid transparent; border-radius:2px; background:var(--arancio); color:var(--bianco); font-family:'Inter',sans-serif; font-size:.95rem; font-weight:600; line-height:1.5; letter-spacing:normal; text-transform:none; text-decoration:none; box-shadow:none; }
.article-page .article-main a.article-case-cta:hover { background:#c93a07; }

/* Strumenti: conservazione dei controlli e dei pannelli originali. */
.wizard-page .article-main .wizard-container,
.wizard-page .article-main #wizardContainer { width:100%; max-width:860px; margin:0 auto; padding:1.75rem 1.5rem; }
.wizard-page .article-main .opzione,
.wizard-page .article-main .opzione-btn,
.wizard-page .article-main .option-btn,
.wizard-page .article-main .opt { white-space:normal; overflow-wrap:anywhere; }
.wizard-page .article-main input,
.wizard-page .article-main select { max-width:100%; }

/* Un solo invito centrale, pertinente al contenuto letto. */
.article-page .case-invitation { max-width:860px; margin:2rem auto; padding:1.75rem; background:#0B1F3A; color:#FFFFFF; border-left:4px solid #E8440A; }
.article-page .case-invitation h2 { margin:0 0 .75rem; color:#FFFFFF; font-family:'Playfair Display',serif; font-size:1.5rem; line-height:1.35; }
.article-page .case-invitation p { margin:0 0 1.25rem; color:rgba(255,255,255,.85); font:400 .95rem/1.65 'Inter',sans-serif; }
.article-page .case-invitation a.btn-primario { display:inline-block; padding:.85rem 1.25rem; background:#E8440A; color:#FFFFFF; border:0; border-radius:2px; font:600 .95rem/1.4 'Inter',sans-serif; text-decoration:none; }
.article-page .case-invitation a.btn-primario:hover { background:#cb3908; }
@media(max-width:600px) { .article-page .case-invitation { margin:1.5rem 1rem; padding:1.25rem; } .article-page .case-invitation h2 { font-size:1.3rem; } }

.article-page .editorial-source-note { max-width:860px; margin:1rem auto; padding:0 1rem; font-size:.8rem; line-height:1.6; color:#52647b; }
.article-page .editorial-source-note a { text-decoration:underline; }
