/* Direzione A — «Quotidiano economico»: carta, inchiostro, un solo accento (ossido), titoli serif, filetti al posto delle card.
   Sempre chiaro (il dark del tema base non scatta): i selettori :root:root:root vincono sulle regole dark di style.css. */
:root:root:root{
  --bg:#F4EFE6; --surface:#FBF8F2; --fg:#1B1A17; --muted:#6B655B; --line:#D9D2C5; --strong:#1B1A17;
  --accent:#8B1E2D;
  --node:#FBF8F2; --node-stroke:#1B1A17; --chip:#ffffff;
  --c-hardware:#B5443A; --c-investment:#2F5F8F; --c-services:#2E7D6F; --c-vc:#A6761D; --c-acquisition:#6E3A6E;
  --pos:#2E6B3F; --neg:#A63A2A; --focus:#8B1E2D; --bubble:#1B1A17; --bubble-fg:#F4EFE6;
  --display:"Fraunces", Georgia, "Times New Roman", serif;
  --body:"Source Serif 4", Georgia, serif;
  --ui:"Libre Franklin", "Helvetica Neue", Arial, sans-serif;
  --mono:"Libre Franklin", "Helvetica Neue", Arial, sans-serif;
  color-scheme:light;
}
body{font-family:var(--body);font-size:17px;line-height:1.55}
.wrap{max-width:1120px;gap:32px}
h1{font-family:var(--display);font-weight:600;font-size:clamp(34px,4.5vw,56px);line-height:1.05;letter-spacing:0;font-variation-settings:"SOFT" 0,"WONK" 0}
h2{font-family:var(--display);font-weight:600;letter-spacing:0;font-size:24px}
.kicker{font-family:var(--ui);font-size:12px;font-weight:700;letter-spacing:.12em;color:var(--accent);margin:0 0 8px}
.note{font-style:italic;color:var(--muted);font-size:15px;margin:10px 0 0;max-width:70ch}
.sub,.lead{font-size:18px;color:#3a362f}
/* interfaccia in sans, numeri tabulari senza monospazio */
.top,.nav a,.btn,.chip,.seg button,.segl,#q,.lbl,.kpi span,.tag,.st,.crumbs,.meta,.time output,.deal .d,.deal .who,.deal .src,.dlist .d,.board,.facts dt,.sitefoot,.hint,.clock,.bubble,.flows span,.stats .lbl,.chips-links a,.pairs,.filters summary{font-family:var(--ui)}
.mono,.kpi b,.stats .card b,.flows b,.amt,.v,.deal .amt,.dlist .mono,.pairs .mono,.timeline .mono,.keynums b,.clock .s,.bubble .a,.time output,.loop .big{font-family:var(--ui)!important;font-variant-numeric:tabular-nums;font-weight:500}
.kpi b{font-size:26px;font-weight:700}
/* niente pillole, niente card: filetti */
.chip,.btn,.nav a,.seg,.seg button,#q,.tag,.st,.chips-links a,.segl,.graph .zoom button{border-radius:2px}
.card,.graph,aside.panel,.facts,.keynums div,.stats .card,.flows div,.loop{border-radius:0;border:0;border-top:1px solid var(--line);background:transparent;padding:16px 0;box-shadow:none}
section.card>h2:first-child,.card>h2:first-child{border-top:2px solid var(--strong);padding-top:10px;margin-top:-17px}
.graph{background:var(--surface);border-top:2px solid var(--strong);padding:0}
aside.panel{border-top:2px solid var(--strong);padding:12px 0 0}
.top{border-bottom:2px solid var(--strong)}
.brand{font-family:var(--display);font-weight:600;font-size:22px}
.nav a{color:var(--fg)}
.nav a[aria-current="page"]{background:transparent;color:var(--accent);box-shadow:inset 0 -2px 0 var(--accent)}
.btn{background:var(--fg);color:var(--bg);border-color:var(--fg)}
.btn.ghost{background:transparent;color:var(--fg)}
.seg{border-color:var(--line);background:transparent}
.seg button[aria-pressed="true"],.segl[aria-pressed="true"]{background:transparent;color:var(--accent);box-shadow:inset 0 -2px 0 var(--accent);font-weight:700}
.chip{background:transparent}
.chip[aria-pressed="false"]{opacity:.45}
/* etichette di tipo: testo scuro + puntino colorato (contrasto) */
.tag{color:var(--fg)!important;border:0;padding:0;gap:6px;text-transform:none;letter-spacing:0;font-size:13px}
.tag::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor;display:inline-block;color:inherit}
.deal .tag::before{background:var(--muted)}
.st{background:transparent;padding:0;font-style:italic}
/* controlli più leggeri */
.controls{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.filters summary{cursor:pointer;font-size:14px;font-weight:500;padding:6px 0}
.filters[open] summary{margin-bottom:8px}
.filters .chips{margin-bottom:8px}
/* mappa: archi in grigio inchiostro, i 3 loop più forti in accento, nodi carta con bordo inchiostro */
.link{stroke:#8F887B!important;stroke-opacity:.5}
.link.lp{stroke:var(--accent)!important;stroke-opacity:.95}
.dim .link.on{stroke-opacity:1}
.node .cap{fill:var(--surface);stroke:var(--fg);stroke-width:1}
.node text{font-family:var(--ui);fill:var(--fg);stroke:var(--surface)}
.node text.val{font-family:var(--ui)}
.clock .m{font-family:var(--display);font-weight:600}
.bubble{border-radius:2px}
/* home: blocchi editoriali */
.keynums{gap:0;border-top:2px solid var(--strong)}
.keynums div{border-top:0;border-right:1px solid var(--line);padding:12px 14px}
.keynums div:last-child{border-right:0}
.keynums b{font-size:17px;font-weight:700}
.seo-grid{gap:0 32px}
.faq details{border-top:1px solid var(--line)}
.faq summary{font-family:var(--display);font-weight:600;font-size:18px}
/* loop come elenco */
.loops{display:block}
.loop{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:8px 32px;align-items:start;padding:20px 0}
.loop svg{grid-column:2;grid-row:1/span 4}
.loop .chain{font-family:var(--display);font-size:20px}
.loop .btn{background:transparent;color:var(--accent);border:0;padding:0;justify-content:flex-start}
.lsum,.lname{font-family:"Libre Franklin",sans-serif}
/* tabella aziende */
.board .r{border-top:1px solid var(--line)}
.board .head{border-top:2px solid var(--strong)}
.board .r .v{font-family:var(--ui)}
.logo{border-radius:50%}
/* pagine deal */
.facts{border-top:2px solid var(--strong);padding:14px 0;grid-template-columns:max-content minmax(0,1fr)}
.dealpage h1{font-size:clamp(28px,3.8vw,44px)}
.sitefoot{border-top:2px solid var(--strong);font-size:13px}
@media (pointer:coarse){.chip,.seg button,.nav a,.btn,.segl{min-height:44px;display:inline-flex;align-items:center}}
@media (max-width:980px){.loop{grid-template-columns:minmax(0,1fr)}.loop svg{grid-column:1;grid-row:auto}}
.dim .link.on{stroke:var(--accent)!important;stroke-opacity:1}
.dim .node.on .cap{stroke:var(--accent);stroke-width:2.5}
