/* Regole comuni a tutte le pagine (23/09/2026). Il resto del CSS è ancora inline pagina per pagina. */

/* Footer: i puntini tra i link legali non sono più cliccabili e ogni link ha il suo stato al passaggio */
.footer-legal{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px 24px}
.footer-legal a{position:relative;color:rgba(255,255,255,.6)!important}
.footer-legal a:hover,.footer-legal a:focus-visible{color:#fff!important;text-decoration:underline;text-underline-offset:3px}
.footer-legal a+a::before{content:'\00B7'!important;position:absolute;left:-14px;top:0;pointer-events:none;color:rgba(255,255,255,.3)}

/* Torna su */
.to-top{position:fixed;right:24px;bottom:24px;z-index:95;width:48px;height:48px;border-radius:50%;border:1px solid rgba(13,27,62,.16);background:#fff;color:#0D1B3E;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px rgba(6,14,34,.24);cursor:pointer;opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity .25s,transform .25s,background .2s}
.to-top.is-on{opacity:1;transform:none;pointer-events:auto}
.to-top:hover{background:#3B6FE8;border-color:#3B6FE8;color:#fff}
.to-top:focus-visible{outline:2px solid #3B6FE8;outline-offset:3px}
.to-top svg{width:20px;height:20px}
@media(max-width:640px){.to-top{right:14px;bottom:14px;width:44px;height:44px}}
@media(prefers-reduced-motion:reduce){.to-top{transition:none}}

/* Prestazioni (23/09/2026)
   - le entrate animate usano solo opacità e spostamento: lo sfocato (filter:blur) costava molto sui telefoni
   - le macchie di luce degli hero restano ferme: prima si muovevano all'infinito con uno sfocato da 90-100px
   - su telefono niente vetro sfocato dietro al menu: ridisegnarlo a ogni scorrimento rallentava la pagina */
@keyframes heroLine{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@keyframes fadeUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.reveal,.reveal-scale,.reveal-right,.reveal.visible,.reveal-scale.visible,.reveal-right.visible{filter:none!important}
.blob,.cta-blob,.blob-1,.blob-2,.blob-3,.cta-blob-1,.cta-blob-2{animation:none!important}
@media(max-width:900px){
  .nav.scrolled,.nav-float,.nav-float.is-scrolled,.nf-cta,.nav-float.is-scrolled .nf-cta{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
  .nav.scrolled,.nav-float.is-scrolled{background:rgba(255,255,255,.98)!important}
  .reveal,.reveal-scale,.reveal-right{transition-duration:.45s!important}
}
@media(prefers-reduced-motion:reduce){
  .reveal,.reveal-scale,.reveal-right{opacity:1!important;transform:none!important;transition:none!important}
  .tech-track,.fixed-cta-ring{animation:none!important}
}
/* Su telefono il titolo e il testo dell'apertura compaiono subito, senza entrata animata:
   il titolo è il primo contenuto che si vede e aspettare l'animazione rallentava la pagina */
@media(max-width:900px){
  .hero h1,.hero-sub,.hero-eyebrow,.hero-ctas,.page-hero h1,.page-hero-sub,.cs-hero h1,.cs-hero-lead,.cs-hero-meta,
  .ty-content h1,.ty-content p,.ty-actions,.error-inner h1,.error-sub,.error-cta,.error-cards{animation:none!important;opacity:1!important;transform:none!important}
}

/* Telefono: dati aziendali nel footer più leggibili, link legali su due colonne senza puntini,
   spazio in fondo perché i bottoni «Cookie» e «Torna su» non coprano i link; briciole di pane su una riga */
@media(max-width:900px){
  .footer-info{font-size:.8125rem!important;color:rgba(255,255,255,.75)!important;line-height:1.75!important}
  .footer-bottom{padding-bottom:92px!important}
  .footer-legal{display:grid!important;grid-template-columns:1fr 1fr;gap:12px 20px;text-align:center;width:100%}
  .footer-legal a+a::before{display:none!important}
}
@media(max-width:640px){
  .breadcrumb ol{flex-wrap:nowrap}
  .breadcrumb li{white-space:nowrap}
  .breadcrumb ol:has(li:nth-child(5)) .breadcrumb-current,.breadcrumb ol:has(li:nth-child(5)) li.breadcrumb-sep:nth-last-child(2){display:none}
}

/* Livelli di lettura su tutto il sito (23/09/2026)
   1. titolo di sezione  2. frase guida: scura, più grande, in grassetto, su una riga sua
   3. testo di dettaglio: più scuro del grigio di prima. Il grigio chiaro resta solo per etichette e note. */
.hn-lista-testa p{font-size:1.25rem;line-height:1.6;color:var(--text-body)}
.hn-lista-testa p strong,.ed-guida{display:block;margin-bottom:8px;color:var(--text);font-family:var(--font-display);font-weight:700;font-size:1.375rem;line-height:1.35;letter-spacing:-.01em;text-wrap:balance}
.hn-elenco h3,.sv-cosa-voce h3{font-size:1.25rem}
.hn-elenco p,.sv-cosa-voce p{color:var(--text-body);font-size:1rem}
.sv-risposta{font-size:1rem;color:var(--text)}
.c-desc,.ocs-item p{color:var(--text-body)}
.cs-hero-lead{color:rgba(255,255,255,.78)}
.cta-final .cta-desc strong{display:block;color:#fff;font-weight:600;margin-bottom:4px}
.ed-text .ed-guida{margin-bottom:10px}
@media(max-width:640px){.hn-lista-testa p{font-size:1.0625rem}.hn-lista-testa p strong,.ed-guida{font-size:1.1875rem}}
/* Contrasto: il © nel piede era troppo chiaro sul blu */
.footer-bottom>span{color:rgba(255,255,255,.6)}
