/* ============================================================
   STAR Fire Investigation — layout articoli e hub approfondimenti
   Estende assets/star.css: usa gli stessi token, non li ridefinisce.
   Caricato solo dalle pagine /approfondimenti/ e dagli articoli.
   ============================================================ */

/* ---------------- testata articolo ---------------- */
.art-head{position:relative;padding:calc(var(--head-tall) + 20px) var(--pad) 64px;
  background:var(--ink);overflow:hidden}
.art-head::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(110% 80% at 8% 0%,rgba(240,91,43,.13),transparent 62%)}
.art-head > *{position:relative;z-index:1}
.art-head .briciole{font:500 .64rem/1.7 var(--f-mono);letter-spacing:.16em;
  text-transform:uppercase;color:var(--on-ink-mute);margin:0 0 30px}
.art-head .briciole a{color:var(--on-ink-mute);border-bottom:1px solid transparent}
.art-head .briciole a:hover{color:var(--oro);border-bottom-color:var(--oro)}
.art-head h1{font-size:clamp(2.1rem,4.6vw,3.7rem);line-height:1.04;
  letter-spacing:-.038em;max-width:26ch;color:var(--on-ink)}
.art-head .lead{margin-top:26px;max-width:62ch;font-size:clamp(1.04rem,1.4vw,1.2rem)}

/* riga di attribuzione: firma, data, tempo di lettura */
.art-meta{display:flex;flex-wrap:wrap;gap:10px 26px;margin-top:36px;
  padding-top:22px;border-top:1px solid var(--line-d);
  font:500 .68rem/1.6 var(--f-mono);letter-spacing:.11em;text-transform:uppercase;
  color:var(--on-ink-mute)}
.art-meta b{color:var(--on-ink);font-weight:500}

/* ---------------- corpo ---------------- */
.art-corpo{background:var(--paper);color:var(--on-paper);
  padding:clamp(56px,7vw,92px) var(--pad) clamp(64px,8vw,104px)}
.art-corpo .wrap{max-width:74ch;margin:0 auto}

.art-corpo h2{font-size:clamp(1.6rem,2.7vw,2.25rem);line-height:1.14;
  letter-spacing:-.032em;margin:64px 0 20px;scroll-margin-top:calc(var(--headh) + 22px)}
.art-corpo h2:first-child{margin-top:0}
.art-corpo h3{font-size:clamp(1.16rem,1.7vw,1.4rem);line-height:1.22;
  letter-spacing:-.022em;margin:40px 0 14px}
.art-corpo p{font-size:1.03rem;line-height:1.76;margin:0 0 20px;color:#25292B}
.art-corpo p.attacco{font-size:1.12rem;line-height:1.7;color:var(--on-paper)}
.art-corpo strong{font-weight:600;color:var(--on-paper)}
.art-corpo em{font-family:var(--f-serif);font-style:italic;color:var(--ember-d)}

.art-corpo a:not(.btn){color:var(--ember-d);border-bottom:1px solid rgba(196,64,15,.36);
  transition:border-color .2s ease,background .2s ease}
.art-corpo a:not(.btn):hover{border-bottom-color:var(--ember-d);background:rgba(240,91,43,.08)}

.art-corpo ul,.art-corpo ol{margin:0 0 22px;padding-left:0;list-style:none}
.art-corpo ol{counter-reset:art}
.art-corpo li{position:relative;padding-left:26px;font-size:1.01rem;line-height:1.72;
  margin-bottom:11px;color:#25292B}
.art-corpo ul li::before{content:"";position:absolute;left:2px;top:.72em;
  width:9px;height:1px;background:var(--ember)}
.art-corpo ol li{counter-increment:art}
.art-corpo ol li::before{content:counter(art,decimal-leading-zero);position:absolute;left:0;top:.16em;
  font:500 .72rem/1 var(--f-mono);color:var(--ember)}

/* citazione / principio */
.art-corpo blockquote{margin:38px 0;padding:4px 0 4px 26px;
  border-left:2px solid var(--ember);font-family:var(--f-serif);font-style:italic;
  font-size:1.24rem;line-height:1.5;color:var(--on-paper)}
.art-corpo blockquote p{font:inherit;color:inherit;margin:0}

/* box tecnico e avvertenza */
.art-box{margin:34px 0;padding:26px 28px;background:var(--paper-2);
  border-left:2px solid var(--cyan)}
.art-box > .t{font:500 .66rem/1 var(--f-mono);text-transform:uppercase;
  letter-spacing:.2em;color:var(--on-paper-mute);margin:0 0 14px}
.art-box p:last-child,.art-box ul:last-child,.art-box li:last-child{margin-bottom:0}
.art-box.brace{border-left-color:var(--ember)}
.art-box.oro{border-left-color:var(--oro)}

/* tabella dati */
.art-corpo .tab{margin:34px 0;overflow-x:auto}
.art-corpo table{width:100%;border-collapse:collapse;font-size:.94rem}
.art-corpo th,.art-corpo td{text-align:left;padding:13px 14px;
  border-bottom:1px solid var(--line-l);vertical-align:top;line-height:1.6}
.art-corpo th{font:500 .66rem/1.4 var(--f-mono);text-transform:uppercase;
  letter-spacing:.14em;color:var(--on-paper-mute);border-bottom-color:var(--line-l2)}
.art-corpo td.num{font-family:var(--f-mono);white-space:nowrap}

/* ---------------- indice ---------------- */
.art-indice{margin:0 0 54px;padding:26px 28px;border:1px solid var(--line-l);
  background:rgba(255,255,255,.42)}
.art-indice .t{font:500 .66rem/1 var(--f-mono);text-transform:uppercase;
  letter-spacing:.2em;color:var(--on-paper-mute);margin:0 0 16px}
.art-indice ol{margin:0;padding:0;list-style:none;counter-reset:idx;
  display:grid;gap:9px}
.art-indice li{counter-increment:idx;padding-left:32px;margin:0;font-size:.97rem;line-height:1.5}
.art-indice li::before{content:counter(idx,decimal-leading-zero);position:absolute;left:0;top:.2em;
  font:500 .7rem/1 var(--f-mono);color:var(--ember)}
.art-indice a{color:var(--on-paper);border-bottom:1px solid transparent}
.art-indice a:hover{border-bottom-color:var(--ember);background:transparent}

/* ---------------- immagini ---------------- */
/* Regola 08: la prima immagine è a tutta larghezza (elemento LCP), le successive
   in float alternato. Hover trattenuto — la Guida §9 chiede controllo, non spettacolo. */
.fig-lead,.fig-float{margin:0}
.fig-lead img,.fig-float img{display:block;width:100%;height:auto;
  border:1px solid var(--line-l);background:var(--paper-2);
  transition:transform .45s cubic-bezier(.2,.7,.3,1),box-shadow .45s ease,border-color .3s ease}
.fig-lead figcaption,.fig-float figcaption{margin-top:11px;
  font:400 .82rem/1.6 var(--f-body);color:var(--on-paper-mute);
  padding-left:13px;border-left:1px solid var(--ember)}

.fig-lead{margin:0 0 46px}
.fig-lead img{aspect-ratio:3/2;object-fit:cover}

.fig-float{width:min(46%,340px);margin:10px 0 26px}
.fig-float.sx{float:left;margin-right:34px;clear:left}
.fig-float.dx{float:right;margin-left:34px;clear:right}
.fig-float img{aspect-ratio:1/1;object-fit:cover}

.fig-lead:hover img{transform:translateY(-3px);border-color:var(--line-l2);
  box-shadow:0 18px 44px rgba(240,91,43,.20)}
.fig-float.sx:hover img{transform:translateY(-3px) rotate(-.5deg) scale(1.012);
  box-shadow:0 16px 38px rgba(240,91,43,.22)}
.fig-float.dx:hover img{transform:translateY(-3px) rotate(.5deg) scale(1.012);
  box-shadow:0 16px 38px rgba(98,215,229,.26)}

.art-corpo h2{clear:both}

@media(max-width:720px){
  .fig-float{width:100%;max-width:none;float:none!important;
    margin:26px 0!important;clear:both}
  .fig-float img{aspect-ratio:3/2}
}
@media(prefers-reduced-motion:reduce){
  .fig-lead img,.fig-float img{transition:none}
  .fig-lead:hover img,.fig-float.sx:hover img,.fig-float.dx:hover img{transform:none}
}

/* ---------------- FAQ (riusa .faq di star.css, qui solo il contenitore) ---------------- */
.art-faq{background:var(--paper-2);color:var(--on-paper);
  padding:clamp(60px,8vw,96px) var(--pad)}
.art-faq .wrap{max-width:84ch;margin:0 auto}
.art-faq h2{font-size:clamp(1.7rem,3.2vw,2.6rem);line-height:1.08;letter-spacing:-.035em}
.art-faq .faq:first-of-type{margin-top:44px}

/* ---------------- correlati ---------------- */
.art-correlati{background:var(--ink-2);color:var(--on-ink);
  padding:clamp(58px,7vw,90px) var(--pad)}
.art-correlati h2{font-size:clamp(1.5rem,2.6vw,2.1rem);letter-spacing:-.03em;line-height:1.1}
.corr-griglia{display:grid;grid-template-columns:repeat(auto-fit,minmax(258px,1fr));
  gap:18px;margin-top:40px}
.corr-card{display:block;padding:24px 24px 26px;border:1px solid var(--line-d);
  background:rgba(255,255,255,.028);
  transition:border-color .25s ease,background .25s ease,transform .25s ease}
.corr-card:hover{border-color:var(--ember);background:rgba(240,91,43,.07);transform:translateY(-3px)}
.corr-card .k{font:500 .62rem/1 var(--f-mono);letter-spacing:.2em;text-transform:uppercase;
  color:var(--ember);display:block;margin-bottom:13px}
.corr-card h3{font-size:1.04rem;line-height:1.28;letter-spacing:-.02em;color:var(--on-ink)}
.corr-card p{margin-top:11px;font-size:.9rem;line-height:1.62;color:var(--on-ink-mute)}

/* ---------------- CTA di coda (doppia: legale / privato-impresa) ---------------- */
/* Regola 04: si informa prima, si offre in coda. Nessuna promessa di esito. */
.art-cta{padding:clamp(62px,8vw,100px) var(--pad);background:var(--ink);color:var(--on-ink);
  border-top:1px solid var(--line-d)}
.art-cta h2{font-size:clamp(1.7rem,3.4vw,2.7rem);line-height:1.06;letter-spacing:-.038em;
  max-width:24ch}
.art-cta .lead{margin-top:22px;max-width:58ch}
.cta-doppia{display:grid;grid-template-columns:repeat(auto-fit,minmax(272px,1fr));
  gap:16px;margin-top:42px}
.cta-doppia > div{padding:26px 26px 28px;border:1px solid var(--line-d)}
.cta-doppia .t{font:500 .64rem/1 var(--f-mono);letter-spacing:.2em;text-transform:uppercase;
  color:var(--cyan);margin:0 0 13px}
.cta-doppia p{font-size:.95rem;line-height:1.68;color:var(--on-ink-mute);margin:0 0 20px}
.art-cta .disclaimer{margin-top:34px;font-size:.82rem;line-height:1.7;
  color:var(--on-ink-mute);max-width:70ch;padding-top:22px;border-top:1px solid var(--line-d)}

/* ---------------- hub approfondimenti ---------------- */
.hub-gruppo{padding:clamp(56px,7vw,92px) var(--pad)}
.hub-testa{display:grid;grid-template-columns:minmax(180px,var(--sx,270px)) 1fr;
  gap:clamp(24px,4vw,64px);align-items:start;
  padding-bottom:34px;border-bottom:1px solid var(--line-l)}
.hub-testa .idx{font:500 .66rem/1.6 var(--f-mono);letter-spacing:.2em;text-transform:uppercase;
  color:var(--on-paper-mute);margin:0}
.hub-testa h2{font-size:clamp(1.6rem,3vw,2.4rem);line-height:1.06;letter-spacing:-.035em}
.hub-testa p{margin-top:16px;font-size:1.01rem;line-height:1.72;
  color:var(--on-paper-mute);max-width:60ch}
@media(max-width:820px){.hub-testa{grid-template-columns:1fr}}

.hub-griglia{display:grid;grid-template-columns:repeat(auto-fill,minmax(288px,1fr));
  gap:26px;margin-top:40px}
.card-art{display:flex;flex-direction:column;background:rgba(255,255,255,.5);
  border:1px solid var(--line-l);
  transition:border-color .25s ease,transform .25s ease,box-shadow .3s ease}
.card-art:hover{border-color:var(--ember);transform:translateY(-4px);
  box-shadow:0 16px 40px rgba(16,20,22,.14)}
.card-art .miniatura{overflow:hidden;background:var(--paper-3)}
.card-art .miniatura img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;
  transition:transform .5s cubic-bezier(.2,.7,.3,1)}
.card-art:hover .miniatura img{transform:scale(1.035)}
.card-art .testo{padding:22px 22px 24px;display:flex;flex-direction:column;flex:1}
.card-art .k{font:500 .6rem/1 var(--f-mono);letter-spacing:.2em;text-transform:uppercase;
  color:var(--ember-d);margin-bottom:12px}
.card-art h3{font-size:1.08rem;line-height:1.26;letter-spacing:-.022em;color:var(--on-paper)}
.card-art p{margin-top:12px;font-size:.92rem;line-height:1.65;color:var(--on-paper-mute);flex:1}
.card-art .piede{margin-top:18px;padding-top:14px;border-top:1px solid var(--line-l);
  display:flex;justify-content:space-between;gap:12px;align-items:center;
  font:500 .63rem/1 var(--f-mono);letter-spacing:.13em;text-transform:uppercase;
  color:var(--on-paper-mute)}
.card-art .piede .vai{color:var(--ember-d)}
@media(prefers-reduced-motion:reduce){
  .card-art,.card-art .miniatura img,.corr-card{transition:none}
  .card-art:hover{transform:none}.card-art:hover .miniatura img{transform:none}
  .corr-card:hover{transform:none}
}

/* ---------------- stampa ---------------- */
@media print{
  .art-head{padding:0 0 18px;background:#fff;color:#000}
  .art-head h1,.art-head .lead,.art-meta,.art-meta b{color:#000}
  .art-corpo,.art-faq,.art-correlati,.art-cta{background:#fff;color:#000;padding:0}
  .art-correlati,.art-cta,.art-indice{display:none}
  .fig-float{float:none;width:100%;margin:14px 0}
  .art-corpo .wrap,.art-faq .wrap{max-width:none}
  .fig-lead,.fig-float,.art-box,table{break-inside:avoid}
}
