/* Aggiunte del sito di consulenza AI al design system (ds.css).
   Colori e caratteri di F3 Management: fondo nero, grigi, un solo accento blu (#2f5bff), Geist.
   I temi di sezione restano quattro, ridefiniti qui sul nero; ds.css li legge senza modifiche. */

:root{color-scheme:dark;--f3-blu:#2f5bff;--f3-blu-alto:#7b98ff;--f3-fg:#ededed;--f3-grigio:#a1a1a1;--f3-grigio-2:#707070;--f3-riga:rgba(255,255,255,.08);--f3-riga-2:rgba(255,255,255,.13)}
:root,.theme-light{
  --bg:#000; --fg:var(--f3-fg); --fg-muted:var(--f3-grigio);
  --line:var(--f3-riga); --surface:#0a0a0a; --surface-2:#111;
  --hl-bg:var(--f3-blu); --hl-fg:#fff;
  --accent:var(--f3-blu); --accent-fg:#fff; --accent-hover:#4a70ff;
  --grid-line:rgba(255,255,255,.045); --dot:var(--f3-blu); --dot-halo:47,91,255;
  --label:var(--f3-grigio);
}
.theme-map{--bg:#0a0a0a; --surface:#111; --surface-2:#161616; --grid-line:rgba(255,255,255,.05)}
.theme-dark{--bg:#050505; --surface:#0d0d0d; --surface-2:#141414; --line:var(--f3-riga); --label:var(--f3-blu-alto); --grid-line:rgba(255,255,255,.05)}
.theme-yellow{
  --bg:var(--f3-blu); --fg:#fff; --fg-muted:rgba(255,255,255,.82);
  --line:rgba(255,255,255,.28); --surface:#0a0a0a; --surface-2:rgba(255,255,255,.12);
  --hl-bg:#000; --hl-fg:#fff;
  --accent:#000; --accent-fg:#fff; --accent-hover:#111;
  --grid-line:rgba(255,255,255,.12); --dot:#fff; --dot-halo:255,255,255; --label:#fff;
}
section.theme-light+section.theme-light,section.theme-map,section.theme-dark{border-top:1px solid var(--f3-riga)}

/* Titoli: Geist 700 stretto, come su F3 */
h1,h2,h3,h4,.display{font-weight:700}
.display{letter-spacing:-.055em;line-height:1.06}
h1,h2{letter-spacing:-.045em;line-height:1.1}
.hl{padding:.02em .14em}

/* Componenti di ds.css pensati per lo sfondo chiaro */
::selection{background:var(--f3-blu);color:#fff}
.badge{background:rgba(47,91,255,.16);color:var(--f3-blu-alto)}
.theme-light .ai-answer__q,.ai-answer__q{background:#161616}
.ai-answer{box-shadow:0 0 0 1px var(--f3-riga),0 40px 80px -40px rgba(47,91,255,.35)}
.input,.select,.textarea{background:#111;color:var(--f3-fg);border-color:var(--f3-riga-2)}
.input::placeholder,.textarea::placeholder{color:var(--f3-grigio-2)}
.input:focus,.select:focus,.textarea:focus{border-color:var(--f3-blu-alto);box-shadow:0 0 0 3px rgba(47,91,255,.35)}
.check input{accent-color:var(--f3-blu)}
.faq details[open] summary::after{background:var(--f3-blu);border-color:var(--f3-blu);color:#fff}
.btn--secondary{border-color:var(--f3-riga-2)}
.btn--secondary:hover{background:var(--fg);color:#000;border-color:var(--fg)}
.theme-yellow .btn--secondary:hover{color:var(--f3-blu)}
.site-header{background:rgba(0,0,0,.72);border-bottom-color:var(--f3-riga)}
.site-header .site-nav a[aria-current="page"],.site-header .site-nav a:hover{color:#fff}
.site-menu-btn{background:#0a0a0a;border-color:var(--f3-riga-2)}
@media (max-width:900px){.site-nav{background:#000}}
.skip-link{background:#fff;color:#000}
.chip{border-color:var(--f3-riga-2)}

/* Marchio testuale: nome in Geist + blocco blu su «AI» */
.marchio{display:inline-flex;align-items:center;gap:var(--s-2);text-decoration:none;font:700 1.1rem/1 var(--f-display);letter-spacing:-.03em;color:var(--fg);white-space:nowrap}
.marchio__ai{display:inline-block;padding:.14em .3em;background:var(--f3-blu);color:#fff;border-radius:4px;font-family:var(--f-mono);font-size:.82em;letter-spacing:0}
.theme-yellow .marchio__ai{background:#000;color:#fff}
@media (max-width:420px){.marchio{font-size:1rem}}

/* Hero: la scheda d'esempio a destra */
.hero .dot{right:3%;bottom:9%}
@media (max-width:980px){.hero .dot{display:none}}
.esempio{display:grid;gap:var(--s-3)}
.esempio__riga{display:flex;gap:var(--s-3);align-items:flex-start;padding:var(--s-3) var(--s-4);border:var(--border) solid var(--line);border-radius:var(--radius-card);background:var(--surface)}
.esempio__riga strong{display:block}
.esempio__riga span{color:var(--fg-muted);font-size:var(--t-small)}
.esempio__n{flex:none;width:28px;height:28px;border-radius:var(--radius-badge);background:rgba(47,91,255,.16);color:var(--f3-blu-alto);display:grid;place-items:center;font:500 .8rem/1 var(--f-mono)}

/* Card con etichetta in testa e testo che riempie */
.card h3{font-size:var(--t-h4);letter-spacing:var(--ls-h4);line-height:var(--lh-h4)}
.card .list{margin-top:var(--s-2)}

/* Chi sono */
.chi{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:var(--s-8);align-items:center}
.chi__foto{width:100%;max-width:360px;border-radius:50%;justify-self:center}
.chi__testo{display:grid;gap:var(--s-4)}
.chi__testo p{color:var(--fg-muted);max-width:60ch}
.chi__testo p strong{color:var(--fg)}
@media (max-width:860px){.chi{grid-template-columns:1fr;gap:var(--s-6)}.chi__foto{max-width:240px}}

/* Citazione portante */
.chi__testo .citazione{font:700 var(--t-h3)/var(--lh-h3) var(--f-display);letter-spacing:var(--ls-h3);max-width:28ch;color:var(--fg)}

/* Contatti: modulo e recapiti */
.contatti{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:var(--s-8);align-items:start}
.contatti__form{--fg:var(--f3-fg);--fg-muted:var(--f3-grigio);--line:var(--f3-riga);--label:var(--f3-grigio);background:#000;color:var(--f3-fg);border:1px solid rgba(255,255,255,.18);border-radius:var(--radius-pannello);padding:var(--s-6);display:grid;gap:var(--s-4);box-shadow:0 40px 80px -40px rgba(0,0,0,.6)}
.contatti__form .label--dot::before{background:var(--f3-blu)}
.contatti__form .btn--dark{background:var(--f3-blu);color:#fff}
.contatti__form .btn--dark:hover{background:#4a70ff}
.contatti__form .check{color:var(--f3-grigio)}
.contatti__form .check a{color:#fff}
.contatti__righe{display:grid;gap:var(--s-5)}
.contatti__righe a{font-weight:600}
.contatti__righe .label{color:var(--fg)}
.esito{font-weight:600;font-size:var(--t-small)}
.esito[data-tipo="ok"]{color:var(--c-success)}
.esito[data-tipo="errore"]{color:var(--c-error)}
.due-campi{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-4)}
@media (max-width:860px){.contatti{grid-template-columns:1fr;gap:var(--s-7)}}
@media (max-width:560px){.due-campi{grid-template-columns:1fr}.contatti__form{padding:var(--s-5)}}

/* Lavori: elenco dettagliato */
.lavori{display:grid;gap:var(--s-5)}
.lavoro{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:var(--s-6);padding-block:var(--s-6);border-top:var(--border) solid var(--line)}
.lavoro h3{font-size:var(--t-h4);letter-spacing:var(--ls-h4);line-height:var(--lh-h4)}
.lavoro__testo{display:grid;gap:var(--s-3)}
.lavoro__testo p{color:var(--fg-muted);max-width:62ch}
.lavoro__testo p strong{color:var(--fg)}
.lavoro .chips{display:flex;flex-wrap:wrap;gap:var(--s-2)}
@media (max-width:760px){.lavoro{grid-template-columns:1fr;gap:var(--s-3)}}

/* Piè di pagina compatto (tre colonne invece di cinque) */
.site-footer__top--tre{grid-template-columns:minmax(0,1.6fr) repeat(2,minmax(0,1fr))}
@media (max-width:900px){.site-footer__top--tre{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.site-footer__top--tre{grid-template-columns:1fr}}
.site-footer .marchio{color:var(--fg)}
.site-footer address{font-style:normal;color:var(--fg-muted);line-height:1.7}

/* Nessuno scroll orizzontale su telefono, anche con titoli lunghi */
html,body{overflow-x:clip}
.display,h1,h2{overflow-wrap:break-word}
