/* =====================================================================
   PERSOFT · tema «Sala controllo» (stile A)
   ---------------------------------------------------------------------
   Fondo petrolio scuro, verde acqua del logo come unica luce, argento,
   griglia tecnica, monospace per etichette e dati. Tema unico scuro.

   Prefissi:
     t-   parti del modello di pagina (header, menu, intro, footer…)
     hm-  sezioni della sola home
     c-   COMPONENTI per chi scrive i content.html (elenco qui sotto)
     btn  pulsanti

   =====================================================================
   LIBRERIA COMPONENTI PER content.html
   (HTML puro; i componenti si combinano liberamente tra loro)
   ---------------------------------------------------------------------
   IMPAGINAZIONE
   .c-sezione ............ <section> a tutta larghezza con ritmo verticale; il
                           contenuto resta allineato alla griglia del sito.
                           Ogni figlio diretto riceve lo spazio sopra.
     --scura ............. fondo #081a1f con filetti sopra e sotto
     --sfumata ........... fondo sfumato dall’alto (blocchi in evidenza)
     --contatti .......... fondo con alone petrolio (fasce di contatto)
     --compatta .......... meno spazio verticale
     --attaccata ......... niente spazio sopra (continua la sezione precedente)
   .c-intro .............. testa di sezione: .c-occhiello + <h2> + <p> (lead)
     --affiancata ........ titolo a sinistra, lead a destra (desktop)
   .c-occhiello .......... etichetta mono sopra i titoli; <b> per l’indice
                           in verde acqua (es. <b>01</b> o <b>●</b>)
   .c-titolo ............. titolo grande di sezione (h2); --grande = misura h1
   .c-lead ............... paragrafo introduttivo, più grande e grigio chiaro
   .c-testo .............. testo lungo (titoli, paragrafi, elenchi, tabelle,
                           immagini, citazioni) con stili automatici
   .c-griglia-2/-3/-4 .... griglia a 2/3/4 colonne che si ricompone su mobile
   .c-affiancati ......... due colonne (testo | media); su mobile una sotto l’altra
     --inverti ........... scambia le colonne su desktop
     --alto .............. allinea in alto invece che al centro
   .c-fila ............... fila orizzontale che va a capo (gap 12px)

   BLOCCHI
   .c-scheda ............. pannello/scheda: __testa, __icona, __occhiello,
                           <h3>, <p>, __link (in fondo, mono verde acqua)
     --link .............. tutta la scheda cliccabile (il link è l’<a> nel titolo)
     --evidenza .......... fondo petrolio sfumato
   .c-celle .............. griglia a celle con filetti (<ul><li>), __k = chiave mono
   .c-righe / .c-riga .... elenco a righe numerate: __idx, __titolo, <p>, __azioni
   .c-punti .............. <ol> di punti numerati 01, 02… (h3 + p) con filetti
   .c-passi .............. <ol> di passi numerati in orizzontale con linea
                           di collegamento (h3 + p; __fase = etichetta mono)
   .c-elenco-check ....... <ul> con spunte verde acqua
     --righe ............. con filetti tra le voci
     --2col .............. su due colonne da tablet in su
   .c-dati ............... <dl> chiave/valore a righe (<div><dt><dd>)
     --grande ............ valori grandi (recapiti, numeri)
   .c-cifra .............. dato in evidenza: __num (con <small>), __nota
   .c-nota ............... riquadro con filo verde acqua a sinistra (h3 + p)
     --ambra ............. filo ambra (avvertenze)
   .c-citazione .......... <blockquote> con <p> e <footer> (fonte, in mono)
   .c-tabella ............ <div class="c-tabella"><table>…</table></div>
                           (scorre in orizzontale se stretta)
   .c-tavola ............. <figure> per schermate: __barra (titolo finestra),
                           <img>, <figcaption> mono (uno <span> va a destra)
     --ritaglio .......... immagine ritagliata 16:10 dall’alto a sinistra
   .c-video .............. contenitore 16:9 per <iframe> o <video>
   .c-loghi .............. <figure> con loghi su lastra chiara + <figcaption>
   .c-cta ................ fascia di invito: testo (occhiello, h2, p) + .c-pulsanti
   .c-console ............ pannello scuro «sala controllo»: __barra (con __id e
                           __ora), __corpo, __righe (li: __fonte, div, <time>),
                           __piede
   .c-chat ............... finta chat: __testa, __corpo, __me, __ky, __chi,
                           __stato (con __puntini), __input, __dispositivi

   ETICHETTE, STATI, PULSANTI
   .c-tags ............... contenitore di etichette in fila
   .c-tag ................ etichetta mono; --acc verde acqua; --punto con pallino
   .c-stato .............. stato di maturità con pallino:
     --operativo ......... verde  (Operativo, In uso, Disponibile)
     --sviluppo .......... ambra  (In sviluppo)
     --prototipo ......... grigio (Sperimentale, Prototipo)
   .c-riga-stato ......... riga tratteggiata: .c-stato + testo (--operativo,
                           --prototipo per cambiare colore; ambra di base)
   .c-pulsanti ........... fila di pulsanti
   .btn + .btn-pri ....... pulsante principale verde acqua
   .btn + .btn-sec ....... pulsante secondario con bordo
   .c-link ............... link testuale verde acqua sottolineato (con freccia)
   .c-mono ............... testo mono maiuscolo piccolo (etichette, dati)
   .c-sr ................. testo solo per lettori di schermo

   CONTENUTI LEGACY (pagine non ancora riscritte)
   .page-content > .content-prose hanno gli stessi stili di .c-sezione >
   .c-testo, più: wp-block-*, is-resized, size-large, alignnone,
   has-text-align-center, .portal-box, .button-link, .contact-*,
   .portal-web-*, .data-table.
   ===================================================================== */

:root{
  color-scheme: dark;
  --bg:#061317;
  --bg-2:#081a1f;
  --panel:#0c2229;
  --panel-2:#112c34;
  --panel-3:#163640;
  --petrol:#186070;
  --line:rgba(150,205,210,.11);
  --line-2:rgba(150,205,210,.2);
  --text:#e3ebeb;
  --text-2:#b9c4c6;
  --text-strong:#f2f7f7;
  --silver:#909098;
  --accent:#2ccfb6;
  --accent-hover:#4fe0c9;
  --accent-ink:#03231e;
  --accent-soft:rgba(44,207,182,.12);
  --accent-line:rgba(44,207,182,.38);
  --amber:#e7b04c;
  --amber-soft:rgba(231,176,76,.13);
  --amber-line:rgba(231,176,76,.45);
  --green:#6bd49a;
  --green-soft:rgba(107,212,154,.12);
  --green-line:rgba(107,212,154,.42);
  --grey-soft:rgba(144,144,152,.12);
  --grey-line:rgba(144,144,152,.42);
  --f-display:"Schibsted Grotesk", "Archivo", "Helvetica Neue", Arial, sans-serif;
  --f-body:"Archivo", "Helvetica Neue", Arial, sans-serif;
  --f-mono:"JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;
  --gutter:clamp(16px, 4vw, 40px);
  --max:1320px;
  --prosa:74ch;
  --r:12px;
  --r-sm:10px;
  --hdr-h:68px;
  --spazio-sezione:clamp(64px, 8.5vw, 124px);
  --ico-check:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 8.5l3 3 7-7'/%3E%3C/svg%3E");
}

/* ------------------------------------------------------------------ base */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:88px;background:var(--bg)}
/* body.tema: più specifico degli stili che le utility incorporano (body{…}) */
html body.tema{margin:0;background:var(--bg);color:var(--text);font-family:var(--f-body);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;min-height:100vh;display:flex;flex-direction:column}
body.tema > main{flex:1 0 auto}
:where(img,svg,video,canvas){max-width:100%}
:where(img){display:block;height:auto}
:where(a){color:inherit}
:where(h1,h2,h3,h4,h5,h6){font-family:var(--f-display);font-weight:700;letter-spacing:-.02em;line-height:1.15;margin:0;color:var(--text-strong)}
:where(p,figure,blockquote,dl,dd){margin:0}
:where(ul,ol){margin:0;padding:0;list-style:none}
:where(button){font:inherit;color:inherit}
:where(code,kbd,samp,pre){font-family:var(--f-mono)}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}
::selection{background:rgba(44,207,182,.32);color:#fff}
.c-sr{position:absolute !important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.c-mono{font-family:var(--f-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase}

.t-wrap{width:100%;max-width:var(--max);margin-inline:auto;padding-inline:var(--gutter)}
.t-salta{position:absolute;left:12px;top:-120px;z-index:100;padding:10px 14px;border-radius:8px;background:var(--accent);color:var(--accent-ink);font-weight:600;text-decoration:none}
.t-salta:focus{top:12px}

/* ============================================================ PULSANTI */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 22px;border-radius:8px;border:1px solid transparent;font-family:var(--f-display);font-weight:600;font-size:16px;line-height:1.2;letter-spacing:-.005em;text-decoration:none;cursor:pointer;transition:background-color .2s, border-color .2s, color .2s}
.btn svg{width:16px;height:16px;flex:none;transition:transform .2s}
.btn:hover svg{transform:translateX(3px)}
.btn-pri{background:var(--accent);color:var(--accent-ink)}
.btn-pri:hover{background:var(--accent-hover);color:var(--accent-ink)}
.btn-sec{border-color:var(--line-2);color:var(--text);background:rgba(255,255,255,.02)}
.btn-sec:hover{border-color:var(--accent-line);background:var(--accent-soft);color:#fff}
.c-pulsanti,.c-fila{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.c-link{display:inline-flex;align-items:center;gap:8px;color:var(--accent);font-weight:500;text-decoration:none;border-bottom:1px solid var(--accent-line);padding-bottom:2px;transition:border-color .2s}
.c-link:hover{border-color:var(--accent)}
.c-link svg{width:14px;height:14px;flex:none}

/* ============================================================ HEADER */
.t-mark{flex:none;width:38px;height:38px;border-radius:9px;background:#eef4f4 url(../img/logo-persoft.png) no-repeat;background-size:62.8px;background-position:-12.4px -.95px;box-shadow:0 0 0 1px rgba(255,255,255,.08)}
.t-brand{display:inline-flex;align-items:center;gap:12px;flex:none;text-decoration:none;font-family:var(--f-display);font-weight:800;font-size:19px;letter-spacing:.06em;color:var(--text-strong)}
.t-hdr{position:sticky;top:0;z-index:50;background:rgba(6,19,23,.86);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.t-hdr__in{display:flex;align-items:center;gap:20px;height:var(--hdr-h)}
.t-nav{margin-left:auto}
.t-nav__lista{display:flex;align-items:center;gap:2px}
.t-voce{position:relative}
.t-nav__link{position:relative;display:inline-flex;align-items:center;gap:7px;padding:8px 11px;border:0;border-radius:6px;background:none;font-family:var(--f-body);font-size:15px;font-weight:500;line-height:1.3;color:var(--text-2);text-decoration:none;white-space:nowrap;cursor:pointer;transition:color .15s, background-color .15s}
.t-nav__link:hover,.t-voce.is-open > .t-nav__link{color:#fff;background:rgba(255,255,255,.045)}
.t-nav__link.is-attivo,.t-nav__link--evidenza{color:#fff}
.t-nav__link.is-attivo::after{content:"";position:absolute;left:11px;right:11px;bottom:-17px;height:2px;border-radius:2px;background:var(--accent)}
.t-caret{width:10px;height:10px;opacity:.7;transition:transform .2s}
.t-voce.is-open .t-caret{transform:rotate(180deg)}
.t-badge{display:inline-block;font-family:var(--f-mono);font-size:10px;font-weight:500;line-height:1.4;letter-spacing:.08em;text-transform:uppercase;padding:2px 6px;border-radius:4px;background:var(--accent);color:var(--accent-ink);white-space:nowrap}
.t-voce--diretto{margin-left:6px;padding-left:8px;border-left:1px solid var(--line-2)}
.t-nav__link--diretto{font-family:var(--f-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--silver)}
.t-nav__link--diretto svg{width:12px;height:12px;opacity:.8}
.t-sub{position:absolute;top:calc(100% + 10px);left:-12px;z-index:5;width:560px;padding:10px;border-radius:var(--r);background:#0b2026;border:1px solid var(--line-2);box-shadow:0 30px 60px -20px rgba(0,0,0,.75);display:grid;grid-template-columns:1fr 1fr;gap:2px;visibility:hidden;opacity:0;transform:translateY(-4px);transition:opacity .18s, transform .18s, visibility .18s}
.t-sub::before{content:"";position:absolute;inset:-12px 0 auto;height:12px}
.t-sub--stretta{width:320px;grid-template-columns:1fr}
.t-voce--destra .t-sub{left:auto;right:-12px}
.t-voce--sub:hover > .t-sub,
html:not(.js) .t-voce--sub:focus-within > .t-sub,
.t-voce--sub.is-open > .t-sub{visibility:visible;opacity:1;transform:none;transition:opacity .18s, transform .18s, visibility 0s}
.t-sub__link{display:block;padding:11px 12px;border-radius:8px;text-decoration:none}
.t-sub__link:hover,.t-sub__link:focus-visible{background:var(--accent-soft)}
.t-sub__link b{display:flex;align-items:center;gap:8px;font-family:var(--f-display);font-weight:600;font-size:15px;color:#fff}
.t-sub__link > span{display:block;font-size:13px;color:var(--silver);line-height:1.4;margin-top:2px}
.t-sub__link[aria-current="page"] b{color:var(--accent)}
.t-sub__tutto{grid-column:1 / -1;display:flex;align-items:center;gap:8px;margin-top:6px;padding:12px 12px 6px;border-top:1px solid var(--line);font-family:var(--f-mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);text-decoration:none}
.t-sub__tutto svg{width:13px;height:13px}
.t-sub__tutto:hover{color:var(--accent-hover)}
.t-hdr__cta{min-height:40px;padding:0 16px;font-size:15px;flex:none}

/* menu mobile */
.t-mnav{display:none;margin-left:auto}
.t-mnav > summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:10px;min-height:40px;padding:0 14px;border:1px solid var(--line-2);border-radius:8px;font-family:var(--f-mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--text)}
.t-mnav > summary::-webkit-details-marker{display:none}
.t-mnav > summary i{display:block;width:16px;height:8px;border-block:1.5px solid currentColor;transition:transform .2s}
.t-mnav__chiudi{display:none}
.t-mnav[open] .t-mnav__apri{display:none}
.t-mnav[open] .t-mnav__chiudi{display:inline}
.t-mnav[open] > summary i{height:1.5px;border-bottom:0;background:currentColor;transform:rotate(45deg)}
.t-mpanel{position:absolute;left:0;right:0;top:100%;background:#071a1f;border-bottom:1px solid var(--line-2);padding:8px var(--gutter) 24px;max-height:calc(100dvh - var(--hdr-h));overflow:auto;box-shadow:0 30px 60px -20px rgba(0,0,0,.8)}
.t-mpanel__lista > li{border-bottom:1px solid var(--line)}
.t-mpanel__voce{display:flex;align-items:center;gap:10px;padding:15px 2px;font-family:var(--f-display);font-weight:600;font-size:19px;text-decoration:none;color:#fff}
.t-mpanel__voce[aria-current="page"]{color:var(--accent)}
.t-mpanel__voce--diretto{font-family:var(--f-mono);font-size:13px;font-weight:400;letter-spacing:.1em;text-transform:uppercase;color:var(--text-2)}
.t-mpanel__voce--diretto svg{width:13px;height:13px}
.t-msub{display:grid;grid-template-columns:1fr 1fr;gap:2px 12px;padding:0 0 14px}
.t-msub a{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:14.5px;color:var(--text-2);text-decoration:none;padding:6px 0}
.t-msub a[aria-current="page"]{color:var(--accent)}
.t-mpanel .btn{margin-top:20px;width:100%}

/* ============================================================ INTRO PAGINE INTERNE */
.t-intro{position:relative;overflow:hidden;border-bottom:1px solid var(--line);padding-block:clamp(28px, 4vw, 44px) clamp(48px, 6vw, 84px)}
.t-intro::before,.hm-hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--line) 1px, transparent 1px),linear-gradient(90deg, var(--line) 1px, transparent 1px);background-size:64px 64px;background-position:-1px -1px;-webkit-mask-image:radial-gradient(ellipse 80% 70% at 70% 30%, #000 0%, transparent 75%);mask-image:radial-gradient(ellipse 80% 70% at 70% 30%, #000 0%, transparent 75%);opacity:.55;pointer-events:none}
.t-intro::after{content:"";position:absolute;width:760px;height:760px;right:-240px;top:-420px;background:radial-gradient(closest-side, rgba(24,96,112,.5), rgba(24,96,112,0));pointer-events:none}
.t-intro > .t-wrap{position:relative;z-index:1}
.t-intro .c-occhiello{margin-top:clamp(28px, 4vw, 48px)}
.t-intro__titolo{font-weight:700;font-size:clamp(2.1rem, 1.15rem + 2.8vw, 3.5rem);line-height:1.04;letter-spacing:-.03em;max-width:24ch;text-wrap:balance}
.t-intro__lead{margin-top:22px;color:var(--text-2);font-size:clamp(1.02rem, .95rem + .3vw, 1.18rem);max-width:64ch}
.t-intro .c-pulsanti{margin-top:32px}
.t-intro--compatta{padding-bottom:clamp(36px, 4vw, 56px)}
.t-intro--compatta .t-intro__titolo{font-size:clamp(1.8rem, 1.1rem + 2vw, 2.6rem)}
.t-briciole ol{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font-family:var(--f-mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--silver)}
.t-briciole li{display:inline-flex;align-items:center;gap:10px}
.t-briciole li + li::before{content:"›";color:var(--accent);opacity:.8}
.t-briciole a{color:var(--text-2);text-decoration:none}
.t-briciole a:hover{color:var(--accent)}
.t-briciole [aria-current="page"]{color:var(--text-strong)}
.t-briciole-barra{padding-block:22px 4px}

.t-corpo{display:flow-root}
.t-figlie{border-top:1px solid var(--line)}
.t-corpo:empty + .t-figlie{border-top:0}
.t-modifica{position:relative;z-index:3;display:inline-grid;place-items:center;width:30px;height:30px;border-radius:7px;border:1px solid var(--amber-line);background:var(--amber-soft);color:var(--amber);flex:none}
.t-modifica svg{width:14px;height:14px;fill:currentColor}
.t-modifica:hover{background:rgba(231,176,76,.25)}
.c-scheda > .t-modifica{position:absolute;top:12px;right:12px}

/* pagine d’errore */
.t-errore__codice{font-family:var(--f-mono);font-size:12px;letter-spacing:.12em;color:var(--amber)}

/* pagine strumento (utility con la propria interfaccia chiara) */
.t-app{max-width:var(--max);margin-inline:auto;padding:18px var(--gutter) clamp(48px, 6vw, 80px)}
.t-app__barra{display:flex;align-items:center;gap:10px;padding:10px 14px;border:1px solid var(--line-2);border-bottom:0;border-radius:var(--r) var(--r) 0 0;background:#0b2026;font-family:var(--f-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--silver)}
.t-app__barra i{width:8px;height:8px;border-radius:50%;background:var(--line-2)}
.t-app__barra i:first-child{background:var(--accent)}
.t-app__barra span{margin-left:8px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.t-app__pannello{color-scheme:light;background:#f8fafc;color:#1e293b;border:1px solid var(--line-2);border-radius:0 0 var(--r) var(--r);padding:clamp(10px, 2vw, 22px);overflow-x:auto;font-family:var(--f-body);font-size:16px;line-height:1.5;box-shadow:0 40px 90px -50px rgba(0,0,0,.9)}
.t-app__pannello :where(h1,h2,h3,h4,h5,h6){color:inherit;font-family:inherit;letter-spacing:normal;line-height:inherit}
.t-app__pannello :where(a){color:inherit}

/* ============================================================ FOOTER */
.t-ftr{border-top:1px solid var(--line);padding-block:56px max(32px, env(safe-area-inset-bottom))}
.t-ftr__grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,.8fr);gap:40px}
.t-ftr__testo{color:var(--silver);font-size:15px;max-width:44ch;margin-top:18px}
.t-ftr__titolo{font-family:var(--f-mono);font-size:11px;font-weight:400;letter-spacing:.12em;text-transform:uppercase;color:var(--silver);margin-bottom:14px}
.t-ftr li + li{margin-top:8px}
.t-ftr li a{text-decoration:none;color:var(--text);font-size:15px}
.t-ftr li a:hover{color:var(--accent)}
.t-ftr li small{display:block;font-family:var(--f-mono);font-size:10.5px;letter-spacing:.06em;color:var(--silver);text-transform:uppercase}
.t-ftr li svg{display:inline-block;width:12px;height:12px;margin-left:4px;opacity:.7;vertical-align:-1px}
.t-legal{display:flex;justify-content:space-between;align-items:center;gap:10px 16px;flex-wrap:wrap;margin-top:48px;padding-top:20px;border-top:1px solid var(--line);font-family:var(--f-mono);font-size:11.5px;color:var(--silver);letter-spacing:.04em}
.t-legal__dx{display:flex;gap:10px 20px;flex-wrap:wrap}
.t-riservata{color:var(--silver);text-decoration:none;opacity:.75}
.t-riservata:hover{color:var(--accent);opacity:1}

/* ============================================================ COMPONENTI: impaginazione */
.c-sezione{position:relative;padding-block:var(--spazio-sezione);padding-inline:max(var(--gutter), calc((100% - var(--max)) / 2 + var(--gutter)))}
:where(.c-tavola, .c-loghi){margin-top:0}
.c-sezione > :where(* + *){margin-top:clamp(28px, 3.5vw, 48px)}
.c-sezione--scura{background:var(--bg-2);border-block:1px solid var(--line)}
.c-sezione--sfumata{background:linear-gradient(180deg, var(--bg-2), var(--bg));border-bottom:1px solid var(--line)}
.c-sezione--contatti{background:radial-gradient(ellipse 60% 80% at 0% 100%, rgba(24,96,112,.35), transparent 70%), var(--bg-2);border-top:1px solid var(--line)}
.c-sezione--compatta{padding-block:clamp(40px, 5vw, 72px)}
.c-sezione--attaccata{padding-top:0}

.c-occhiello{display:flex;align-items:center;gap:12px;font-family:var(--f-mono);font-size:12px;line-height:1.5;letter-spacing:.1em;text-transform:uppercase;color:var(--silver);margin-bottom:22px}
.c-occhiello b{color:var(--accent);font-weight:500}
.c-occhiello::after{content:"";flex:0 1 72px;height:1px;background:var(--line-2)}
.c-titolo,.c-intro :where(h1,h2){font-size:clamp(1.85rem, 1.1rem + 2.3vw, 3.05rem);line-height:1.06;letter-spacing:-.025em;text-wrap:balance}
.c-titolo--grande{font-size:clamp(2.35rem, 1.15rem + 3.2vw, 3.7rem);line-height:1.02;letter-spacing:-.032em}
.c-lead,.c-intro > p:not(.c-occhiello),.c-intro > div > p:not(.c-occhiello){color:var(--text-2);font-size:clamp(1.02rem, .95rem + .3vw, 1.15rem);max-width:58ch}
.c-intro{margin-bottom:clamp(40px, 5vw, 64px)}
.c-intro > :where(h1,h2,.c-titolo) + :where(p),.c-intro > div > :where(h1,h2,.c-titolo) + :where(p){margin-top:20px}
.c-intro--affiancata{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px 64px;align-items:end}
.c-intro--affiancata > p:not(.c-occhiello){justify-self:end;margin-top:0}
.c-sezione > .c-intro:last-child{margin-bottom:0}

/* ritmo verticale dei blocchi in colonna (specificità zero: si sovrascrive facilmente) */
:where(.c-lead):where(:not(:first-child)){margin-top:22px}
:where(.c-tags + h1, .c-tags + h2, .c-tags + h3, .c-tags + .c-titolo){margin-top:22px}
:where(.c-pulsanti, .c-riga-stato, .c-elenco-check, .c-dati, .c-punti, .c-nota, .c-citazione, .c-tabella, .c-tavola, .c-video, .c-console, .c-chat, .c-cifra, .c-loghi, .c-griglia-2, .c-griglia-3, .c-griglia-4, .c-cta, .c-celle, .c-righe, .c-passi):where(:not(:first-child)){margin-top:32px}

.c-griglia-2,.c-griglia-3,.c-griglia-4{display:grid;gap:clamp(14px, 1.6vw, 20px);grid-template-columns:repeat(var(--colonne, 2), minmax(0, 1fr))}
.c-griglia-3{--colonne:3}
.c-griglia-4{--colonne:4}
.c-affiancati{display:grid;grid-template-columns:var(--colonne, minmax(0,1.1fr) minmax(0,.9fr));gap:clamp(40px, 6vw, 96px);align-items:center}
.c-affiancati--alto{align-items:start}
.c-affiancati--inverti > :first-child{order:2}

/* ============================================================ COMPONENTI: testo lungo */
.c-testo,.content-prose{color:var(--text-2);font-size:17px;line-height:1.7}
:is(.c-testo,.content-prose) > :where(p,ul,ol,h1,h2,h3,h4,h5,h6,blockquote,pre,dl,hr){max-width:var(--prosa)}
:is(.c-testo,.content-prose) :where(p,ul,ol,dl,pre,blockquote,figure,table,iframe,video,.c-tabella,.wp-block-table){margin-top:0;margin-bottom:1.15em}
:is(.c-testo,.content-prose) > :where(:last-child){margin-bottom:0}
:is(.c-testo,.content-prose) :where(h1,h2,h3,h4,h5,h6){color:var(--text-strong);text-wrap:balance}
:is(.c-testo,.content-prose) h1,:is(.c-testo,.content-prose) h2{font-size:clamp(1.5rem, 1.1rem + 1.2vw, 2.15rem);line-height:1.12;letter-spacing:-.025em;margin:2.1em 0 .7em;padding-top:1em;border-top:1px solid var(--line)}
:is(.c-testo,.content-prose) h3{font-size:clamp(1.22rem, 1.08rem + .5vw, 1.5rem);font-weight:600;letter-spacing:-.018em;margin:1.9em 0 .55em}
:is(.c-testo,.content-prose) h4{font-size:1.1rem;font-weight:600;letter-spacing:-.01em;margin:1.6em 0 .45em;color:#fff}
:is(.c-testo,.content-prose) :is(h5,h6){font-family:var(--f-mono);font-size:12px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--silver);margin:1.6em 0 .5em}
:is(.c-testo,.content-prose) > :is(h1,h2,h3,h4,h5,h6):first-child{margin-top:0;padding-top:0;border-top:0}
:is(.c-testo,.content-prose) :where(strong,b){color:var(--text-strong);font-weight:600}
:is(.c-testo,.content-prose) a:not([class]){color:var(--accent);text-decoration:underline;text-decoration-color:var(--accent-line);text-decoration-thickness:1px;text-underline-offset:3px;overflow-wrap:anywhere}
:is(.c-testo,.content-prose) a:not([class]):hover{text-decoration-color:var(--accent)}
:is(.c-testo,.content-prose) :where(ul,ol){padding-left:1.35em}
:is(.c-testo,.content-prose) :where(ul){list-style:square}
:is(.c-testo,.content-prose) :where(ol){list-style:decimal-leading-zero;padding-left:2.2em}
:is(.c-testo,.content-prose) :where(ul,ol) :where(ul){list-style:"– "}
:is(.c-testo,.content-prose) :where(li)::marker{color:var(--accent);font-family:var(--f-mono);font-size:.82em}
:is(.c-testo,.content-prose) :where(li) + :where(li){margin-top:.45em}
:is(.c-testo,.content-prose) :where(li) > :where(ul,ol){margin-top:.45em;margin-bottom:0}
:is(.c-testo,.content-prose) :where(hr),.wp-block-separator{border:0;height:1px;background:var(--line-2);margin:2.4em 0}
:is(.c-testo,.content-prose) :where(code){font-size:.86em;padding:.12em .42em;border-radius:5px;background:var(--panel-2);border:1px solid var(--line);color:#d6f5ef;overflow-wrap:anywhere}
:is(.c-testo,.content-prose) :where(pre){padding:16px 18px;border-radius:var(--r-sm);background:var(--panel);border:1px solid var(--line-2);overflow-x:auto;font-size:14px;line-height:1.6}
:is(.c-testo,.content-prose) :where(pre) :where(code){padding:0;border:0;background:none}
:is(.c-testo,.content-prose) :where(blockquote){padding:4px 0 4px 22px;border-left:2px solid var(--accent);color:var(--text);font-family:var(--f-display);font-size:1.15em;line-height:1.45}
:is(.c-testo,.content-prose) :where(img){width:auto;max-width:100%;height:auto;max-height:min(84vh, 960px)}
:is(.c-testo,.content-prose) :where(figure){margin:2em 0;max-width:100%}
:is(.c-testo,.content-prose) :where(figure img, img.size-large, img.size-full, img[class*="wp-image-"]){border-radius:var(--r-sm);border:1px solid var(--line-2);background:#fff}
:is(.c-testo,.content-prose) :where(figcaption){margin-top:10px;font-family:var(--f-mono);font-size:11.5px;line-height:1.5;letter-spacing:.05em;text-transform:uppercase;color:var(--silver)}
:is(.c-testo,.content-prose) :where(iframe,video){display:block;width:100%;max-width:880px;height:auto;aspect-ratio:16 / 9;border:1px solid var(--line-2);border-radius:var(--r);background:#000}
:is(.c-testo,.content-prose) :where(table){width:100%;border-collapse:collapse;font-size:15.5px}
:is(.c-testo,.content-prose) :where(th){font-family:var(--f-mono);font-size:11.5px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--silver);text-align:left;padding:12px 14px;border-bottom:1px solid var(--line-2);background:rgba(255,255,255,.02)}
:is(.c-testo,.content-prose) :where(td){padding:12px 14px;border-bottom:1px solid var(--line);color:var(--text);vertical-align:top}
:is(.c-testo,.content-prose) :where(dt){font-family:var(--f-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--silver)}
:is(.c-testo,.content-prose) :where(dd) + :where(dt){margin-top:12px}

/* classi legacy di WordPress */
.wp-block-heading{text-wrap:balance}
.wp-block-image,.wp-block-table{margin-inline:0}
.wp-block-image img,.size-large,.size-full,.is-resized img{max-width:100%;height:auto}
.wp-block-image.is-resized img,.is-resized > img{max-width:min(100%, 960px)}
.alignnone{display:inline-block;margin:0;vertical-align:middle}
.has-text-align-center{text-align:center;margin-inline:auto}
.has-text-align-center img,figure.aligncenter img{margin-inline:auto}
.has-text-align-right{text-align:right}
.wp-block-table,.c-tabella{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--line-2);border-radius:var(--r-sm);background:rgba(255,255,255,.012)}
.wp-block-table table,.c-tabella table{margin:0;min-width:100%}
.wp-block-table tr:last-child td,.c-tabella tr:last-child td{border-bottom:0}
.wp-block-group,.wp-block-group__inner-container{max-width:none}

/* ============================================================ COMPONENTI: blocchi */
.c-scheda{position:relative;display:flex;flex-direction:column;gap:12px;min-width:0;padding:clamp(20px, 2.2vw, 26px);border-radius:var(--r-sm);border:1px solid var(--line);background:rgba(255,255,255,.015);transition:border-color .2s, background-color .2s}
.c-scheda > *{margin:0}
.c-scheda :where(h3,h4){font-size:18.5px;font-weight:600;letter-spacing:-.015em;line-height:1.25}
.c-scheda :where(p){font-size:15.5px;line-height:1.55;color:var(--text-2)}
.c-scheda__testa{display:flex;justify-content:space-between;align-items:center;gap:12px}
.c-scheda__icona{flex:none;width:36px;height:36px;border-radius:8px;display:grid;place-items:center;background:var(--panel-2);color:var(--accent)}
.c-scheda__icona svg{width:18px;height:18px}
.c-scheda__icona img{width:26px;height:26px;object-fit:contain}
.c-scheda__occhiello{font-family:var(--f-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--silver);line-height:1.5}
.c-scheda__link{margin-top:auto;padding-top:4px;display:inline-flex;align-items:center;gap:8px;font-family:var(--f-mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);text-decoration:none}
.c-scheda__link svg{width:13px;height:13px;transition:transform .2s}
.c-scheda--link:hover,.c-scheda--link:focus-within{border-color:var(--accent-line);background:rgba(44,207,182,.035)}
.c-scheda--link:hover .c-scheda__link svg{transform:translateX(3px)}
.c-scheda--link :where(h3,h4) a{text-decoration:none;color:inherit}
.c-scheda--link :where(h3,h4) a::after{content:"";position:absolute;inset:0;border-radius:inherit}
.c-scheda--link :where(h3,h4) a:focus-visible{outline:0}
.c-scheda--link:has(:where(h3,h4) a:focus-visible){outline:2px solid var(--accent);outline-offset:3px}
.c-scheda--evidenza{border-color:var(--line-2);background:linear-gradient(160deg, rgba(24,96,112,.35), rgba(24,96,112,.05) 60%)}
.c-griglia-2 > .c-scheda,.c-griglia-3 > .c-scheda,.c-griglia-4 > .c-scheda{height:100%}

.c-celle{display:grid;grid-template-columns:repeat(var(--colonne, 3), minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}
.c-celle > li,.c-celle > div{padding:26px 26px 28px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.c-celle__k{font-family:var(--f-mono);font-size:11px;color:var(--accent);letter-spacing:.1em;text-transform:uppercase}
.c-celle :where(h3,h4){font-size:18px;font-weight:600;letter-spacing:-.015em;margin-top:12px}
.c-celle :where(p){font-size:15px;color:var(--text-2);margin-top:6px}

.c-righe{border-top:1px solid var(--line-2)}
.c-riga{position:relative;display:grid;grid-template-columns:64px minmax(0,300px) minmax(0,1fr) 168px;gap:16px 32px;align-items:start;padding:28px 0;border-bottom:1px solid var(--line)}
.c-riga::before{content:"";position:absolute;left:0;top:-1px;width:0;height:1px;background:var(--accent);transition:width .35s}
.c-riga:hover::before{width:100%}
.c-riga__idx{font-family:var(--f-mono);font-size:12px;color:var(--silver);padding-top:6px}
.c-riga :where(h3){font-size:clamp(1.3rem, 1.1rem + .6vw, 1.6rem);font-weight:600;letter-spacing:-.02em;line-height:1.15}
.c-riga__titolo .c-tags{margin-top:10px}
.c-riga > p{color:var(--text-2);font-size:16px;max-width:60ch}
.c-riga__azioni{display:flex;flex-direction:column;align-items:flex-end;gap:10px;padding-top:4px}
.c-riga__azioni a:not(.t-modifica){display:inline-flex;align-items:center;gap:8px;font-family:var(--f-mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;color:var(--text);white-space:nowrap}
.c-riga__azioni a:not(.t-modifica) svg{width:14px;height:14px;color:var(--accent);transition:transform .2s}
.c-riga__azioni a:not(.t-modifica):hover{color:var(--accent)}
.c-riga__azioni a:not(.t-modifica):hover svg{transform:translateX(3px)}
.c-riga__azioni a.c-riga__alt{color:var(--silver)}

.c-punti{border-top:1px solid var(--line);counter-reset:c-punti}
.c-punti > li{display:grid;grid-template-columns:56px minmax(0,1fr);gap:4px 16px;padding:20px 0;border-bottom:1px solid var(--line);counter-increment:c-punti}
.c-punti > li::before{content:counter(c-punti, decimal-leading-zero);grid-row:1 / span 3;font-family:var(--f-mono);font-size:12px;color:var(--accent);padding-top:5px}
.c-punti > li > *{grid-column:2}
.c-punti :where(h3,h4){font-size:19px;font-weight:600;letter-spacing:-.015em}
.c-punti :where(p){color:var(--text-2);font-size:16px}
.c-punti .c-tags{margin-top:12px}

.c-passi{display:grid;grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));gap:34px 0;counter-reset:c-passi}
.c-passi > li{position:relative;padding:70px 32px 0 0;counter-increment:c-passi}
.c-passi > li::before{content:counter(c-passi, decimal-leading-zero);position:absolute;left:0;top:0;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;font-family:var(--f-mono);font-size:13px;font-weight:500;color:var(--accent);border:1px solid var(--accent-line);background:var(--bg)}
.c-passi > li::after{content:"";position:absolute;left:58px;right:14px;top:22px;height:1px;background:linear-gradient(90deg, var(--accent-line), var(--line))}
.c-passi > li:last-child::after{background:linear-gradient(90deg, var(--line), transparent)}
.c-passi :where(h3,h4){font-size:22px;font-weight:600;letter-spacing:-.02em}
.c-passi :where(p){color:var(--text-2);margin-top:10px;font-size:16px;max-width:36ch}
.c-passi__fase{display:block;font-family:var(--f-mono);font-size:11px;letter-spacing:.1em;color:var(--silver);text-transform:uppercase;margin-bottom:8px}

.c-elenco-check > li{position:relative;padding-left:28px;color:var(--text);font-size:16px;line-height:1.55}
.c-elenco-check > li + li{margin-top:10px}
.c-elenco-check > li::before{content:"";position:absolute;left:0;top:.2em;width:17px;height:17px;background:var(--accent);-webkit-mask:var(--ico-check) center / contain no-repeat;mask:var(--ico-check) center / contain no-repeat}
.c-elenco-check--righe{border-top:1px solid var(--line)}
.c-elenco-check--righe > li{padding-block:14px;border-bottom:1px solid var(--line);font-size:15.5px}
.c-elenco-check--righe > li + li{margin-top:0}
.c-elenco-check--righe > li::before{top:calc(14px + .2em)}
.c-elenco-check--2col{display:grid;grid-template-columns:1fr 1fr;column-gap:28px}
.c-elenco-check--2col > li + li{margin-top:0}
.c-elenco-check--2col:not(.c-elenco-check--righe){row-gap:10px}

.c-dati{border-top:1px solid var(--line)}
.c-dati > div{display:grid;grid-template-columns:minmax(0,170px) minmax(0,1fr);gap:4px 16px;padding:16px 0;border-bottom:1px solid var(--line);align-items:baseline}
.c-dati dt{font-family:var(--f-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--silver)}
.c-dati dd{margin:0;color:var(--text);font-size:16px}
.c-dati dd a{color:inherit;text-decoration:none}
.c-dati dd a:hover{color:var(--accent)}
.c-dati--grande dd{font-family:var(--f-display);font-size:clamp(1.2rem, 1rem + .7vw, 1.55rem);font-weight:600;letter-spacing:-.01em;color:#fff;overflow-wrap:anywhere}

.c-cifra{border:1px solid var(--line-2);border-radius:14px;padding:clamp(28px, 3vw, 40px);background:linear-gradient(160deg, rgba(24,96,112,.35), rgba(24,96,112,.05) 60%)}
.c-cifra__num{font-family:var(--f-display);font-weight:800;font-size:clamp(3.6rem, 2rem + 6vw, 7.5rem);line-height:.9;letter-spacing:-.05em;color:#fff}
.c-cifra__num small{display:block;font-size:.34em;letter-spacing:-.01em;font-weight:600;color:var(--accent);margin-bottom:8px}
.c-cifra__nota{margin-top:14px;font-family:var(--f-mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-2)}

.c-nota{padding:22px 0 2px 22px;border-left:2px solid var(--accent)}
.c-nota :where(h3,h4){font-size:20px;font-weight:600}
.c-nota :where(p){color:var(--text-2);max-width:58ch}
.c-nota :where(h3,h4) + :where(p),.c-nota :where(p) + :where(p){margin-top:8px}
.c-nota--ambra{border-left-color:var(--amber)}

.c-citazione{padding:6px 0 6px 24px;border-left:2px solid var(--accent);max-width:62ch}
.c-citazione :where(p){font-family:var(--f-display);font-size:clamp(1.2rem, 1.05rem + .6vw, 1.5rem);font-weight:500;line-height:1.4;letter-spacing:-.01em;color:var(--text-strong)}
.c-citazione :where(footer,cite){display:block;margin-top:14px;font-family:var(--f-mono);font-size:11.5px;font-style:normal;letter-spacing:.08em;text-transform:uppercase;color:var(--silver)}

.c-tabella table{width:100%;border-collapse:collapse;font-size:15.5px}
.c-tabella th{font-family:var(--f-mono);font-size:11.5px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--silver);text-align:left;padding:12px 14px;border-bottom:1px solid var(--line-2);background:rgba(255,255,255,.02);white-space:nowrap}
.c-tabella td{padding:12px 14px;border-bottom:1px solid var(--line);color:var(--text);vertical-align:top}
.c-tabella tbody tr:hover td{background:rgba(44,207,182,.03)}

.c-tavola{margin-inline:0;margin-bottom:0;min-width:0}
.c-tavola__barra{display:flex;align-items:center;gap:10px;padding:10px 14px;border:1px solid var(--line-2);border-bottom-color:var(--line);border-radius:var(--r) var(--r) 0 0;background:#0b2026;font-family:var(--f-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--silver)}
.c-tavola__barra::before{content:"";flex:none;width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:16px 0 0 var(--line-2), 32px 0 0 var(--line-2);margin-right:36px}
.c-tavola > img,.c-tavola > a > img,.c-tavola > picture > img{display:block;width:100%;border:1px solid var(--line-2);border-radius:var(--r);background:#fff}
.c-tavola__barra + img,.c-tavola__barra + a > img,.c-tavola__barra + picture > img{border-top:0;border-radius:0 0 var(--r) var(--r)}
.c-tavola--ritaglio img{aspect-ratio:var(--rapporto, 16 / 10);object-fit:cover;object-position:top left;filter:saturate(.92)}
.c-tavola figcaption{display:flex;justify-content:space-between;gap:10px;margin-top:10px;font-family:var(--f-mono);font-size:11px;line-height:1.5;letter-spacing:.06em;text-transform:uppercase;color:var(--silver)}
.c-tavola figcaption span:last-child:not(:first-child){flex:none}

.c-video{position:relative;aspect-ratio:16 / 9;border-radius:var(--r);overflow:hidden;border:1px solid var(--line-2);background:#000}
.c-video > :where(iframe,video){position:absolute;inset:0;width:100%;height:100%;border:0}

.c-loghi{margin-inline:0;margin-bottom:0}
.c-loghi img{width:100%;background:#f4f7f7;border-radius:var(--r);padding:clamp(10px, 2vw, 20px);border:1px solid var(--line-2)}
.c-loghi figcaption{margin-top:12px;font-family:var(--f-mono);font-size:11px;letter-spacing:.05em;color:var(--silver)}

.c-cta{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.4fr) auto;gap:28px 48px;align-items:center;padding:clamp(28px, 4vw, 52px);border-radius:16px;border:1px solid var(--line-2);background:radial-gradient(ellipse 70% 120% at 100% 0%, rgba(24,96,112,.55), transparent 70%), var(--panel)}
.c-cta::before{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--line) 1px, transparent 1px),linear-gradient(90deg, var(--line) 1px, transparent 1px);background-size:48px 48px;-webkit-mask-image:linear-gradient(90deg, transparent 40%, #000);mask-image:linear-gradient(90deg, transparent 40%, #000);opacity:.5;pointer-events:none}
.c-cta > *{position:relative}
.c-cta :where(h2,h3){font-size:clamp(1.6rem, 1.1rem + 1.6vw, 2.4rem);line-height:1.08;letter-spacing:-.025em}
.c-cta :where(h2,h3) + :where(p){margin-top:14px}
.c-cta :where(p:not(.c-occhiello)){color:var(--text-2);max-width:58ch}
.c-cta .c-pulsanti{margin-top:0;justify-content:flex-end}

.c-console{position:relative;border-radius:16px;border:1px solid var(--line-2);background:linear-gradient(180deg, #0f2830 0%, #0a1d23 100%);box-shadow:0 50px 100px -40px rgba(0,0,0,.85), 0 0 0 1px rgba(0,0,0,.4), inset 0 1px 0 rgba(255,255,255,.05);overflow:hidden}
.c-console__barra{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:14px;padding:14px 18px;border-bottom:1px solid var(--line);font-size:14px;color:var(--text-2)}
.c-console__barra::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:linear-gradient(90deg, rgba(44,207,182,.2), var(--accent))}
.c-console__id{display:inline-flex;align-items:center;gap:9px;font-family:var(--f-mono);font-size:12px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:#fff}
.c-console__id::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px var(--accent-soft), 0 0 14px var(--accent)}
.c-console__ora{margin-left:auto;font-family:var(--f-mono);font-size:12px;color:var(--silver)}
.c-console__corpo{padding:18px}
.c-console__corpo > * + *{margin-top:16px}
.c-console__righe{padding:10px 8px 6px}
.c-console__righe > li{display:grid;grid-template-columns:76px minmax(0,1fr) auto;gap:4px 12px;align-items:start;padding:12px 10px}
.c-console__righe > li + li{border-top:1px solid var(--line)}
.c-console__fonte{display:inline-flex;align-items:center;gap:6px;font-family:var(--f-mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);padding-top:3px}
.c-console__fonte svg{width:13px;height:13px}
.c-console__righe b{display:block;font-family:var(--f-display);font-weight:600;font-size:15px;color:#fff;line-height:1.35}
.c-console__righe b + span{display:block;font-size:13.5px;color:var(--text-2);line-height:1.45;margin-top:2px}
.c-console__righe time{font-family:var(--f-mono);font-size:11.5px;color:var(--silver);padding-top:3px}
.c-console__piede{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:14px 18px;border-top:1px solid var(--line);background:rgba(0,0,0,.18);font-size:13.5px;color:var(--text-2)}
.c-console__piede svg{width:14px;height:14px;color:var(--accent)}
.c-console > .c-dati{margin:6px 18px 0;border-top:0}
.c-console > .c-dati > div:last-child{border-bottom:0}

.c-chat{border-radius:16px;border:1px solid var(--line-2);background:#0b2128;overflow:hidden;box-shadow:0 40px 80px -40px rgba(0,0,0,.8)}
.c-chat__testa{display:flex;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid var(--line)}
.c-chat__avatar{flex:none;width:30px;height:30px;border-radius:8px;display:grid;place-items:center;background:var(--accent-soft);border:1px solid var(--accent-line);color:var(--accent)}
.c-chat__avatar svg{width:16px;height:16px}
.c-chat__testa b{display:block;font-family:var(--f-display);font-size:15px;font-weight:600;color:#fff;line-height:1.2}
.c-chat__testa small{font-family:var(--f-mono);font-size:10.5px;color:var(--silver);letter-spacing:.06em;text-transform:uppercase}
.c-chat__testa > .c-stato,.c-chat__testa > .c-tag{margin-left:auto}
.c-chat__corpo{padding:20px 16px;display:flex;flex-direction:column;gap:14px;background-image:radial-gradient(rgba(150,205,210,.07) 1px, transparent 1px);background-size:16px 16px}
.c-chat__me,.c-chat__ky{max-width:88%;font-size:15.5px;line-height:1.5}
.c-chat__me > p,.c-chat__ky > p{padding:12px 14px;border-radius:12px;margin:0}
.c-chat__chi{display:block;font-family:var(--f-mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--silver);margin-bottom:6px}
.c-chat__me{align-self:flex-end;text-align:right}
.c-chat__me > p{background:var(--panel-3);color:#fff;border-bottom-right-radius:4px;text-align:left}
.c-chat__ky > p{background:linear-gradient(180deg, rgba(44,207,182,.1), rgba(44,207,182,.05));border:1px solid var(--accent-line);border-bottom-left-radius:4px;color:#eaf6f4}
.c-chat__ky .c-chat__chi{color:var(--accent)}
.c-chat__ky > * + *{margin-top:8px}
.c-chat__stato{display:flex;align-items:center;gap:8px;font-style:italic;font-size:13.5px;color:var(--silver)}
.c-chat__puntini{display:inline-flex;gap:3px}
.c-chat__puntini::before,.c-chat__puntini::after,.c-chat__puntini i{content:"";width:4px;height:4px;border-radius:50%;background:var(--accent)}
.c-chat__puntini::before{opacity:.55}
.c-chat__puntini i{opacity:.8}
.c-chat__input{display:flex;align-items:center;gap:10px;margin:0 12px 12px;padding:8px 8px 8px 14px;border-radius:10px;border:1px solid var(--line-2);background:#081a1f}
.c-chat__input > span:first-child{flex:1;min-width:0;font-size:14px;color:var(--silver);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.c-chat__onda{flex:none;display:flex;align-items:center;gap:2px;width:44px;height:20px}
.c-chat__onda i{flex:1;border-radius:2px;background:var(--accent);opacity:.85}
.c-chat__mic{flex:none;width:34px;height:34px;border-radius:8px;display:grid;place-items:center;background:var(--accent);color:var(--accent-ink)}
.c-chat__mic svg{width:16px;height:16px}
.c-chat__dispositivi{display:flex;flex-wrap:wrap;gap:8px 16px;padding:12px 16px;border-top:1px solid var(--line);font-family:var(--f-mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--silver)}
.c-chat__dispositivi span{display:inline-flex;align-items:center;gap:6px}
.c-chat__dispositivi svg{width:13px;height:13px}

/* ============================================================ COMPONENTI: etichette e stati */
.c-tags{display:flex;flex-wrap:wrap;gap:6px 8px}
.c-tag,.c-stato{display:inline-flex;align-items:center;gap:7px;font-family:var(--f-mono);font-size:11px;font-weight:400;line-height:1.5;letter-spacing:.08em;text-transform:uppercase;padding:4px 9px;border-radius:5px;border:1px solid var(--line-2);color:var(--text-2);white-space:nowrap;vertical-align:middle}
.c-tag--acc{border-color:var(--accent-line);color:var(--accent);background:var(--accent-soft)}
.c-tag--punto::before,.c-stato::before{content:"";flex:none;width:6px;height:6px;border-radius:50%;background:currentColor}
.c-stato--operativo{border-color:var(--green-line);color:var(--green);background:var(--green-soft)}
.c-stato--sviluppo{border-color:var(--amber-line);color:var(--amber);background:var(--amber-soft)}
.c-stato--prototipo{border-color:var(--grey-line);color:#b4b4bc;background:var(--grey-soft)}
.c-riga-stato{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:14px 16px;border-radius:var(--r-sm);border:1px dashed rgba(231,176,76,.35);background:rgba(231,176,76,.04);font-size:15.5px;color:var(--text-2)}
.c-riga-stato > span:not(.c-stato){flex:1 1 240px}
.c-riga-stato--operativo{border-color:rgba(107,212,154,.35);background:rgba(107,212,154,.04)}
.c-riga-stato--prototipo{border-color:rgba(144,144,152,.4);background:rgba(144,144,152,.05)}

/* ============================================================ HOME */
.hm-hero{position:relative;overflow:hidden;padding-top:clamp(44px, 6vw, 96px)}
.hm-hero::after{content:"";position:absolute;width:900px;height:900px;right:-260px;top:-380px;background:radial-gradient(closest-side, rgba(24,96,112,.55), rgba(24,96,112,0));pointer-events:none}
.hm-hero > .t-wrap{position:relative;z-index:1}
.hm-hero__grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(40px, 5vw, 72px);align-items:center}
.hm-h1{font-size:clamp(2.35rem, 1.15rem + 3.2vw, 3.7rem);line-height:1.02;letter-spacing:-.032em;font-weight:700;text-wrap:balance}
.hm-h1 em{display:block;font-style:normal;color:var(--accent)}
.hm-hero .c-lead{margin-top:26px}
.hm-hero .c-pulsanti{margin-top:34px}
/* la regia (assets/css/regia.css) disegna e dimensiona il proprio riquadro;
   qui solo l’ombra e un riquadro di riserva se regia.css mancasse */
.hm-hero__regia{position:relative;border-radius:14px;box-shadow:0 50px 100px -40px rgba(0,0,0,.85)}
.regia{display:block;width:100%;aspect-ratio:4 / 3.4;min-height:340px;border-radius:14px;border:1px solid var(--line-2);background:radial-gradient(ellipse 55% 60% at 70% 46%, rgba(24,96,112,.34), transparent 70%), linear-gradient(180deg, var(--bg-2), var(--bg));overflow:hidden}
.hm-hero__didascalia{display:flex;justify-content:space-between;gap:12px;margin-top:14px;font-family:var(--f-mono);font-size:11px;letter-spacing:.06em;color:var(--silver)}
.hm-hero__didascalia span:last-child{flex:none;white-space:nowrap}
.hm-strip{position:relative;z-index:1;margin-top:clamp(56px, 7vw, 96px);border-block:1px solid var(--line);background:rgba(6,19,23,.6)}
.hm-strip ul{display:grid;grid-template-columns:repeat(4,1fr)}
.hm-strip li{display:flex;align-items:center;gap:14px;padding:22px 0 22px 24px;font-family:var(--f-display);font-weight:600;font-size:16px;color:#eef4f4}
.hm-strip li:first-child{padding-left:0}
.hm-strip li + li{border-left:1px solid var(--line)}
.hm-strip li span{font-family:var(--f-mono);font-size:11px;font-weight:400;color:var(--silver)}
.hm-strip li:last-child{color:var(--accent)}

.hm-ky{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(40px, 6vw, 96px);align-items:start}
.hm-ky > .c-chat{position:sticky;top:96px;margin-top:0}
.hm-ky__altro{margin-top:36px;padding-top:24px;border-top:1px solid var(--line);color:var(--text-2);font-size:15.5px;max-width:62ch}
.hm-ky__altro .c-link{margin-top:12px}

.hm-shots{display:grid;grid-template-columns:1.25fr 1fr 1.25fr;gap:16px}
.hm-coppia{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}
.hm-coppia .c-tavola{--rapporto:16 / 8}

.hm-util{display:grid;grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));gap:16px}

.hm-about{--colonne:minmax(0,.85fr) minmax(0,1.15fr)}
.hm-partners{--colonne:minmax(0,.7fr) minmax(0,1.3fr);margin-top:clamp(72px, 8vw, 112px);padding-top:clamp(48px, 6vw, 72px);border-top:1px solid var(--line)}
.c-sezione > .hm-partners{margin-top:clamp(72px, 8vw, 112px)}
.hm-ct{--colonne:minmax(0,.95fr) minmax(0,1.05fr)}
.hm-ct .c-console .c-pulsanti{padding:18px;margin:0;border-top:1px solid var(--line)}

/* ============================================================ CONTENUTI LEGACY */
.page-content{position:relative;padding-block:clamp(36px, 5vw, 72px);padding-inline:max(var(--gutter), calc((100% - var(--max)) / 2 + var(--gutter)))}
.page-content + .page-content{padding-top:0}

/* riquadri con stile in linea pensati per fondo chiaro */
.content-prose [style*="background:#f3f7fb"],.content-prose [style*="background: #f3f7fb"],.content-prose [style*="background:#f1f8f7"],.content-prose [style*="background: #f1f8f7"]{background:var(--panel) !important;border-left-color:var(--accent) !important;border-radius:0 8px 8px 0;max-width:var(--prosa)}
.content-prose a[style*="background:#0f4c81"],.content-prose a[style*="background:#166572"],.content-prose a[style*="background: #0f4c81"],.content-prose a[style*="background: #166572"]{background:var(--accent) !important;color:var(--accent-ink) !important;font-family:var(--f-display);min-height:46px;line-height:26px !important}
.content-prose a[style*="background:#0f4c81"]:hover,.content-prose a[style*="background:#166572"]:hover{background:var(--accent-hover) !important}

.portal-box{max-width:var(--prosa);margin:2.4em 0 0;padding:clamp(22px, 3vw, 32px);border-radius:14px;border:1px solid var(--line-2);background:radial-gradient(ellipse 70% 120% at 100% 0%, rgba(24,96,112,.45), transparent 70%), var(--panel)}
.content-prose > .portal-box:first-child{margin-top:0}
.content-prose .portal-box h3{margin-top:0;font-size:clamp(1.3rem, 1.1rem + .7vw, 1.7rem)}
.content-prose .portal-box p:last-child{margin-bottom:0}
.button-link{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 22px;border-radius:8px;background:var(--accent);color:var(--accent-ink) !important;font-family:var(--f-display);font-weight:600;font-size:16px;text-decoration:none !important;transition:background-color .2s}
.button-link:hover{background:var(--accent-hover)}

.contact-intro{font-size:clamp(1.05rem, .98rem + .3vw, 1.18rem);color:var(--text-2);max-width:60ch}
.contact-grid{display:grid;grid-template-columns:repeat(3, minmax(0,1fr));gap:16px;margin:28px 0;max-width:none}
.contact-card{display:flex;flex-direction:column;gap:10px;padding:clamp(20px, 2.4vw, 28px);border-radius:var(--r-sm);border:1px solid var(--line);background:rgba(255,255,255,.015);transition:border-color .2s}
.contact-card:hover{border-color:var(--accent-line)}
.content-prose .contact-card h3{margin:0;padding:0;border:0;font-family:var(--f-mono);font-size:11.5px;font-weight:400;letter-spacing:.1em;text-transform:uppercase;color:var(--silver)}
.contact-main-link{display:inline-flex;align-items:center;gap:10px;font-family:var(--f-display);font-size:clamp(1.2rem, 1rem + .7vw, 1.5rem);font-weight:600;letter-spacing:-.01em;color:#fff;text-decoration:none;overflow-wrap:anywhere}
.contact-main-link:hover{color:var(--accent)}
.contact-whatsapp-icon{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:7px;background:var(--accent-soft);color:var(--accent);flex:none}
.contact-whatsapp-icon svg{width:16px;height:16px;fill:currentColor}
.content-prose .contact-card p{margin:0;font-size:15px;color:var(--text-2)}
.contact-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}

.portal-web-page .portal-web-highlight{padding:4px 0 4px 22px;border-left:2px solid var(--accent);font-family:var(--f-display);font-size:clamp(1.15rem, 1rem + .5vw, 1.4rem);line-height:1.45;color:var(--text-strong)}
.portal-web-kpi,.portal-web-feature-grid{display:grid;gap:16px;margin:28px 0 8px;max-width:none}
.portal-web-kpi{grid-template-columns:repeat(4, minmax(0,1fr))}
.portal-web-feature-grid{grid-template-columns:repeat(2, minmax(0,1fr))}
.portal-web-kpi-card,.portal-web-feature-card{padding:22px;border-radius:var(--r-sm);border:1px solid var(--line);background:rgba(255,255,255,.015)}
.portal-web-kpi-card{border-top:2px solid var(--accent)}
.content-prose .portal-web-kpi-card h3,.content-prose .portal-web-feature-card h3{margin:0 0 6px;font-size:18px;font-weight:600}
.content-prose .portal-web-kpi-card p,.content-prose .portal-web-feature-card p{margin:0;font-size:15px;line-height:1.55;color:var(--text-2)}
.portal-web-gallery{display:grid;grid-template-columns:repeat(3, minmax(0,1fr));gap:16px;margin:28px 0;max-width:none}
.content-prose .portal-web-gallery figure{margin:0}
.content-prose .portal-web-gallery img{width:100%;aspect-ratio:16 / 10;object-fit:cover;object-position:top left}
.content-prose .portal-web-gallery figcaption{text-transform:none;letter-spacing:.01em;font-family:var(--f-body);font-size:14px;color:var(--text-2)}
.portal-web-security-box{max-width:none;padding:clamp(20px, 2.5vw, 28px);border-radius:14px;border:1px solid var(--line-2);background:var(--panel);margin-bottom:1.15em}
.content-prose ul.portal-web-security-list{display:grid;grid-template-columns:1fr 1fr;gap:12px 28px;list-style:none;padding:0;margin:0;max-width:none}
.content-prose .portal-web-security-list li{position:relative;margin:0;padding-left:28px;color:var(--text)}
.content-prose .portal-web-security-list li::before{content:"";position:absolute;left:0;top:.25em;width:17px;height:17px;background:var(--accent);-webkit-mask:var(--ico-check) center / contain no-repeat;mask:var(--ico-check) center / contain no-repeat}

.data-table{width:100%;border-collapse:collapse}
.data-table th{white-space:nowrap}
.data-table td:last-child{font-family:var(--f-mono);font-size:14.5px;white-space:nowrap}

/* ============================================================ RESPONSIVE */
@media (max-width:1180px){
  .t-nav,.t-hdr__cta{display:none}
  .t-mnav{display:block}
  .c-riga{grid-template-columns:48px minmax(0,1fr) 150px}
  .c-riga > p{grid-column:2 / 3}
  .c-riga__azioni{grid-column:3;grid-row:1 / span 2}
}
@media (max-width:1024px){
  .hm-hero__grid,.hm-ky,.c-affiancati,.hm-about,.hm-partners,.hm-ct{grid-template-columns:minmax(0,1fr)}
  .c-affiancati--inverti > :first-child{order:0}
  .c-intro--affiancata{grid-template-columns:minmax(0,1fr)}
  .c-intro--affiancata > p:not(.c-occhiello){justify-self:start}
  .hm-ky > .c-chat{position:relative;top:0}
  .c-griglia-4{--colonne:2}
  .c-griglia-3{--colonne:2}
  .c-celle{--colonne:2}
  .portal-web-kpi{grid-template-columns:repeat(2, minmax(0,1fr))}
  .contact-grid{grid-template-columns:minmax(0,1fr)}
  .hm-strip ul{grid-template-columns:repeat(2,1fr)}
  .hm-strip li:nth-child(3){padding-left:0;border-left:0}
  .hm-strip li:nth-child(n+3){border-top:1px solid var(--line)}
  .t-ftr__grid{grid-template-columns:1fr 1fr}
  .t-ftr__grid > div:first-child{grid-column:1 / -1}
  .c-cta{grid-template-columns:minmax(0,1fr)}
  .c-cta .c-pulsanti{justify-content:flex-start}
}
@media (max-width:820px){
  .c-griglia-2,.c-griglia-3{--colonne:1}
  .portal-web-gallery{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:720px){
  html body.tema{font-size:16px}
  :root{--hdr-h:64px}
  .t-brand{font-size:17px}
  .c-pulsanti .btn{flex:1 1 auto}
  .hm-hero__didascalia{flex-direction:column;gap:4px}
  .hm-strip ul{grid-template-columns:1fr}
  .hm-strip li,.hm-strip li:nth-child(3){padding:15px 0;border-left:0}
  .hm-strip li + li{border-top:1px solid var(--line)}
  .c-punti > li{grid-template-columns:40px minmax(0,1fr);gap:4px 10px}
  .c-riga{grid-template-columns:minmax(0,1fr);gap:12px;padding:24px 0}
  .c-riga > p,.c-riga__azioni{grid-column:auto;grid-row:auto}
  .c-riga__idx{padding-top:0}
  .c-riga__azioni{flex-direction:row;flex-wrap:wrap;align-items:center;gap:20px}
  .hm-shots,.hm-coppia{grid-template-columns:minmax(0,1fr)}
  .c-elenco-check--2col,.content-prose ul.portal-web-security-list{grid-template-columns:minmax(0,1fr)}
  .c-passi{grid-template-columns:minmax(0,1fr)}
  .c-passi > li{padding:0 0 0 64px;min-height:44px}
  .c-passi > li::after{display:none}
  .c-celle{--colonne:1}
  .c-celle > li,.c-celle > div{padding:22px 18px}
  .c-griglia-4{--colonne:1}
  .portal-web-kpi,.portal-web-feature-grid{grid-template-columns:minmax(0,1fr)}
  .c-dati > div{grid-template-columns:minmax(0,1fr)}
  .t-ftr__grid{grid-template-columns:minmax(0,1fr)}
  .t-legal{flex-direction:column;align-items:flex-start}
  .c-console__righe > li{grid-template-columns:minmax(0,1fr) auto}
  .c-console__fonte{grid-column:1;grid-row:1}
  .c-console__righe time{grid-column:2;grid-row:1}
  .c-console__righe > li > div{grid-column:1 / -1}
  .t-intro__titolo{max-width:none}
}
@media (max-width:340px){
  .t-msub{grid-template-columns:minmax(0,1fr)}
}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  /* la regia e la demo di Kyren restano animate (richiesta del titolare) */
  :not([data-regia], [data-regia] *, .kd, .kd *),:not([data-regia], [data-regia] *, .kd, .kd *)::before,:not([data-regia], [data-regia] *, .kd, .kd *)::after{animation:none !important;transition:none !important}
}
@media print{
  .t-hdr,.t-ftr,.t-mnav,.hm-hero__regia{display:none !important}
  html body.tema{background:#fff;color:#000}
}

/* I tag lunghi vanno a capo invece di allargare la pagina su telefono */
.c-tag{white-space:normal;max-width:100%}

/* tag usati come link: niente sottolineatura */
a.c-tag{text-decoration:none}
a.c-tag:hover{border-color:var(--accent-line);color:var(--accent)}

/* Immagini «fotografate» (schermi simulati): niente barra finestra, già impaginate */
.c-foto{margin-inline:0;margin-bottom:0;min-width:0}
.c-foto img{display:block;width:100%;height:auto;border-radius:var(--r);border:1px solid var(--line);background:#081a1f}
.c-foto figcaption{display:flex;justify-content:space-between;gap:10px;margin-top:10px;font-family:var(--f-mono);font-size:11px;line-height:1.5;letter-spacing:.06em;text-transform:uppercase;color:var(--silver)}
:where(.c-foto){margin-top:0}
:where(* + .c-foto){margin-top:32px}
.hm-coppia > .c-foto{margin-top:0}

/* Regia della home cliccabile: apre Kyren al lavoro (demo o video) in una finestra */
a.hm-hero__regia{display:block;color:inherit;text-decoration:none;cursor:pointer;border-radius:14px}
a.hm-hero__regia:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.hm-hero__play{position:absolute;left:50%;top:50%;z-index:3;display:inline-flex;align-items:center;gap:10px;padding:8px 16px 8px 8px;border-radius:999px;background:rgba(6,19,23,.78);border:1px solid var(--accent-line);color:#fff;font-family:var(--f-display);font-weight:600;font-size:15px;white-space:nowrap;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:0 16px 40px -12px rgba(0,0,0,.8);transform:translate(-50%,-50%) scale(.96);opacity:0;transition:opacity .2s, transform .2s;pointer-events:none}
.hm-hero__play-ico{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--accent);color:var(--accent-ink)}
.hm-hero__play-ico svg{width:14px;height:14px;margin-left:2px}
a.hm-hero__regia:hover .hm-hero__play,a.hm-hero__regia:focus-visible .hm-hero__play{opacity:1;transform:translate(-50%,-50%) scale(1)}
@media (hover:none){
  .hm-hero__play{opacity:1;top:auto;bottom:14px;right:14px;left:auto;transform:none;padding:6px 12px 6px 6px;font-size:13px}
  .hm-hero__play-ico{width:26px;height:26px}
}

.t-video{width:min(1320px, 96vw);max-width:none;max-height:96dvh;padding:0;border:1px solid var(--line-2);border-radius:16px;background:var(--bg);color:var(--text);overflow:auto;box-shadow:0 60px 120px -40px rgba(0,0,0,.9)}
.t-video::backdrop{background:rgba(3,10,12,.78);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.t-video__testa{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:14px;padding:12px 14px 12px 20px;background:var(--bg);border-bottom:1px solid var(--line)}
.t-video__titolo{font-family:var(--f-display);font-weight:600;font-size:17px;color:#fff}
.t-video__nota{font-family:var(--f-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--silver)}
.t-video__chiudi{margin-left:auto;display:grid;place-items:center;width:40px;height:40px;border-radius:10px;border:1px solid var(--line-2);background:transparent;color:var(--text);cursor:pointer}
.t-video__chiudi:hover{border-color:var(--accent-line);color:var(--accent)}
.t-video__chiudi svg{width:16px;height:16px}
.t-video__corpo{padding:16px}
.t-video__corpo video{display:block;width:100%;height:auto;border-radius:10px;background:#000}
@media (max-width:600px){
  .t-video{width:100vw;max-height:100dvh;height:100dvh;border-radius:0;border:0}
  .t-video__testa{padding:10px 10px 10px 16px}
  .t-video__nota{display:none}
  .t-video__corpo{padding:10px}
}

/* Barra visibile solo all'amministratore autenticato */
.t-adminbar{display:flex;flex-wrap:wrap;align-items:center;gap:6px 18px;padding:7px max(16px, env(safe-area-inset-left));background:#e7b04c;color:#2a1d00;font-family:var(--f-mono);font-size:12px;letter-spacing:.04em}
.t-adminbar__stato{font-weight:500;text-transform:uppercase;letter-spacing:.1em}
.t-adminbar a{color:#2a1d00;font-weight:500;text-underline-offset:3px}
.t-adminbar a:hover{color:#000}
