/* =========================================================
   THE BOTTEGA DIGITALE — site.css
   Estende tbd.css per navigazione e pagine interne.
   Regole: solo token (nessun colore scritto a mano nei componenti),
   testo in rem/step, ogni animazione ha il suo equivalente fermo
   (vedi "MOTION — fallback" in fondo).
   Indice:
     01 Token aggiuntivi
     02 Header · navigazione desktop
     03 Mega menu
     04 Menu mobile
     05 Hero pagine interne · breadcrumb · CTA
     06 Layout editoriale (split, prose, statement, flow)
     07 Componenti (cells, rows, steps, xlinks, hub)
     08 FAQ
     09 Insights (liste, articolo, indice, autore)
     10 Team
     11 Case study · placeholder · media
     12 Form
     13 Footer
     14 404
     15 Accessibilità — contrasto, testo grande
     16 Motion — fallback
     17 Responsive
   ========================================================= */

/* ---------- 01 TOKEN AGGIUNTIVI ---------- */
:root{
  /* testo su fondi scuri (.hero, .band.dark, .band.deep, footer) */
  --on-dark:#FFFFFF;
  --on-dark-soft:rgba(255,255,255,.76);
  --on-dark-line:rgba(156,215,236,.2);
  --on-dark-accent:var(--blue-200);
  --header-h:84px;
  --nav-bp:1100px;
}
[data-theme="light"]{ --error:#B3261E; --ok:#0B6B3A; }
/* AA: #007EA4 su #FBFBFC = 4.49:1 e su #F1F3F7 = 4.18:1 (sotto soglia per testo piccolo).
   Per il testo accento si usa il blu delle CTA in hover (#0E7291: 5.3:1 / 4.9:1).
   Il colore identitario resta invariato per CTA, linee e superfici. */
[data-theme="light"]:not([data-a11y-contrast]){ --accent-text:#0E7291; }
[data-theme="dark"] { --error:#FFB4AB; --ok:#8FE3B4; }
[data-a11y-contrast]{
  --on-dark:var(--a11y-band-fg-strong);
  --on-dark-soft:var(--a11y-band-fg);
  --on-dark-line:var(--sep);
  --on-dark-accent:var(--deep-accent);
}
[data-a11y-contrast="high"]{ --error:#FFB4AB; --ok:#B8F5CF; }
[data-a11y-contrast="light"]{ --error:#8C1D18; --ok:#0B5A31; --on-dark-accent:#02405C; }

/* =========================================================
   02 HEADER — logo · tema · CTA · pulsante Menu (hamburger)
   ========================================================= */
header .nav.wrap{position:static}
.nav{gap:clamp(14px,2vw,32px)}

/* header con menu aperto: superficie piena, niente blur (i pannelli fixed restano ancorati al viewport) */
header.menu-open{
  background:var(--bg-primary);border-bottom-color:var(--header-border);
  -webkit-backdrop-filter:none;backdrop-filter:none;transform:none;
}
[data-theme="light"] header.menu-open .logo-default{opacity:0}
[data-theme="light"] header.menu-open .logo-sticky{opacity:1}
header.menu-open .theme-toggle{color:var(--text-primary);border-color:var(--border)}
[data-a11y-contrast="light"] header.menu-open .logo-default{filter:none}

/* pulsante Menu — unico accesso alla navigazione, desktop e mobile */
.menu-toggle{
  display:inline-flex;align-items:center;gap:12px;min-height:44px;min-width:44px;padding:10px 18px 10px 16px;
  border-radius:100px;border:1px solid rgba(255,255,255,.22);color:var(--on-dark);
  transition:border-color var(--motion-normal) var(--ease),color var(--motion-normal) var(--ease),background var(--motion-normal) var(--ease);
}
.menu-toggle:hover{border-color:rgba(255,255,255,.55)}
header.solid .menu-toggle,header.menu-open .menu-toggle{color:var(--text-primary);border-color:var(--border)}
header.solid .menu-toggle:hover,header.menu-open .menu-toggle:hover{border-color:var(--accent-text)}
.mt-lines{position:relative;width:20px;height:10px;display:block}
.mt-lines i{position:absolute;left:0;width:100%;height:1.5px;background:currentColor;
  transition:transform var(--motion-normal) var(--ease),top var(--motion-normal) var(--ease),width var(--motion-normal) var(--ease)}
.mt-lines i:nth-child(1){top:0}.mt-lines i:nth-child(2){top:8.5px;width:65%}
.menu-toggle:hover .mt-lines i:nth-child(2){width:100%}
.menu-toggle[aria-expanded="true"] .mt-lines i:nth-child(1){top:4.25px;transform:rotate(45deg)}
.menu-toggle[aria-expanded="true"] .mt-lines i:nth-child(2){top:4.25px;width:100%;transform:rotate(-45deg)}
.mt-label{font-size:.62rem;font-weight:700;letter-spacing:.28em;text-transform:uppercase;line-height:1;min-width:5.6em;text-align:left}

/* =========================================================
   03 MEGA MENU A TUTTO SCHERMO — l'hamburger "esplode"
   Apertura: il pannello si srotola dall'alto (clip-path),
   le colonne entrano in sequenza, le linee si disegnano.
   ========================================================= */
.mega{
  position:fixed;inset:0;z-index:-1;
  background:var(--bg-primary);color:var(--text-primary);
  overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;
  padding:calc(var(--header-h) + clamp(20px,4vh,56px)) 0 clamp(28px,4vh,48px);
  clip-path:inset(0 0 100% 0);
  transition:clip-path 700ms var(--ease-premium);
}
.mega.open{clip-path:inset(0 0 0 0)}
.mega-inner{
  display:grid;grid-template-columns:minmax(0,3.4fr) minmax(240px,1.1fr);gap:clamp(32px,4vw,80px);
  min-height:100%;align-content:start;
}
.mega-cols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(22px,2.6vw,48px)}
.mega-col{position:relative;padding-top:24px}
.mega-col::before{content:"";position:absolute;top:0;left:0;width:100%;height:1px;background:var(--border);
  transform:scaleX(0);transform-origin:0 50%;transition:transform 900ms var(--ease-premium)}
.mega.open .mega-col::before{transform:scaleX(1)}
.mega-n{display:block;font-size:var(--step--1);font-weight:600;letter-spacing:.1em;color:var(--accent-text);margin-bottom:16px}
.mega-area{display:inline-flex;align-items:baseline;gap:.3em;font-size:clamp(1.3rem,.5rem + 1.2vw,2.1rem);font-weight:800;letter-spacing:-.035em;line-height:1;min-height:44px}
.mega-area .arrow{font-size:.55em;font-weight:300;color:var(--accent-text);opacity:0;transform:translateX(-8px);
  transition:opacity var(--motion-fast) var(--ease),transform var(--motion-fast) var(--ease)}
.mega-area:hover .arrow,.mega-area:focus-visible .arrow,.mega-area[aria-current="page"] .arrow{opacity:1;transform:none}
.mega-line{margin-top:10px;font-size:var(--step--1);line-height:1.45;color:var(--text-secondary);max-width:26ch;min-height:4.35em}
.mega-links{list-style:none;margin-top:22px;display:flex;flex-direction:column}
.mega-links a{
  display:grid;grid-template-rows:auto 0fr;padding:10px 0;min-height:44px;align-content:center;
  transition:grid-template-rows var(--motion-normal) var(--ease);
}
.ml-name{font-size:clamp(1.05rem,.9rem + .35vw,1.3rem);font-weight:400;letter-spacing:-.02em;line-height:1.15;color:var(--text-secondary);
  transition:color var(--motion-fast) var(--ease)}
.ml-hint{overflow:hidden;font-size:var(--step--1);line-height:1.4;color:var(--accent-text);
  opacity:0;transform:translateY(-4px);
  transition:opacity var(--motion-normal) var(--ease),transform var(--motion-normal) var(--ease)}
.mega-links a:hover,.mega-links a:focus-visible,.mega-links a[aria-current="page"]{grid-template-rows:auto 1fr}
.mega-links a:hover .ml-name,.mega-links a:focus-visible .ml-name,.mega-links a[aria-current="page"] .ml-name{color:var(--text-primary)}
.mega-links a[aria-current="page"] .ml-name{font-weight:600}
.mega-links a:hover .ml-hint,.mega-links a:focus-visible .ml-hint,.mega-links a[aria-current="page"] .ml-hint{opacity:1;transform:none;padding-top:4px}
@media (hover:hover){.mega-links:hover a:not(:hover) .ml-name{color:var(--text-secondary);opacity:.7}}

.mega-side{display:flex;flex-direction:column;gap:clamp(32px,5vh,56px);padding-left:clamp(24px,3vw,56px);border-left:1px solid var(--border)}
.mega-primary{list-style:none;display:flex;flex-direction:column}
.mega-primary a{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:46px;padding:4px 0;
  font-size:clamp(1.1rem,.8rem + .6vw,1.5rem);font-weight:700;letter-spacing:-.02em;border-bottom:1px solid var(--border);
  transition:color var(--motion-fast) var(--ease),padding-left var(--motion-normal) var(--ease)}
.mega-primary a::after{content:"→";font-weight:300;color:var(--accent-text);opacity:0;transform:translateX(-8px);
  transition:opacity var(--motion-fast) var(--ease),transform var(--motion-fast) var(--ease)}
.mega-primary a:hover,.mega-primary a:focus-visible{color:var(--heading-accent);padding-left:8px}
.mega-primary a:hover::after,.mega-primary a:focus-visible::after,.mega-primary a[aria-current="page"]::after{opacity:1;transform:none}
.mega-primary a[aria-current="page"]{color:var(--heading-accent)}
.mega-edit{display:flex;flex-direction:column;gap:16px}
.mega-edit-title{font-size:var(--step-1);font-weight:300;line-height:1.2;letter-spacing:-.02em;max-width:20ch}
.mega-edit-links{list-style:none;display:flex;flex-direction:column;gap:4px}
.mega-foot{grid-column:1/-1;border-top:1px solid var(--border);padding-top:22px;
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 32px}
.mega-contact{display:flex;flex-wrap:wrap;gap:8px 28px;font-size:var(--step--1);color:var(--text-secondary)}
.mega-contact a{min-height:44px;display:inline-flex;align-items:center;transition:color var(--motion-fast) var(--ease)}
.mega-contact a:hover{color:var(--accent-text)}
.mega-contact span{min-height:44px;display:inline-flex;align-items:center}

/* ingresso in sequenza dopo lo srotolamento */
.mega .mega-col,.mega .mega-side,.mega .mega-foot{opacity:0;transform:translateY(24px);
  transition:opacity var(--motion-slow) var(--ease-premium),transform var(--motion-slow) var(--ease-premium)}
.mega.open .mega-col,.mega.open .mega-side,.mega.open .mega-foot{opacity:1;transform:none}
.mega.open .mega-col:nth-child(1){transition-delay:.18s}
.mega.open .mega-col:nth-child(2){transition-delay:.24s}
.mega.open .mega-col:nth-child(3){transition-delay:.30s}
.mega.open .mega-col:nth-child(4){transition-delay:.36s}
.mega.open .mega-col::before{transition-delay:.2s}
.mega.open .mega-side{transition-delay:.42s}
.mega.open .mega-foot{transition-delay:.5s}
/* chiusura rapida e senza ritardi */
.mega:not(.open){transition-duration:420ms}
.mega:not(.open) .mega-col,.mega:not(.open) .mega-side,.mega:not(.open) .mega-foot{transition-duration:200ms;transition-delay:0s}
@media (max-width:1279px){
  .mega-inner{grid-template-columns:1fr}
  .mega-side{padding-left:0;border-left:0;flex-direction:row;flex-wrap:wrap;align-items:flex-start}
  .mega-side>*{flex:1 1 280px}
}

/* link testuale con freccia — riusato ovunque */
.text-link{display:inline-flex;align-items:center;gap:.45em;min-height:44px;font-weight:600;color:var(--accent-text);
  text-decoration:underline;text-decoration-color:transparent;text-underline-offset:.22em;text-decoration-thickness:1px;
  transition:text-decoration-color var(--motion-fast) var(--ease),gap var(--motion-fast) var(--ease)}
.text-link:hover{text-decoration-color:currentColor;gap:.7em}
.hero .text-link,.band.dark .text-link,.band.deep .text-link,footer .text-link{color:var(--on-dark-accent)}

/* =========================================================
   04 MENU MOBILE — full-screen, verticale, pollice-friendly
   ========================================================= */
.mnav{
  position:fixed;inset:0;z-index:-1;background:var(--bg-primary);color:var(--text-primary);
  overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;
  padding:calc(var(--header-h) + 24px) 0 110px;
  opacity:0;transition:opacity var(--motion-normal) var(--ease);
}
.mnav.open{opacity:1}
.mnav-inner{display:flex;flex-direction:column;gap:30px}
.mnav-label{margin-bottom:-10px}
.mnav-areas,.mnav-links,.mnav-sub{list-style:none}
.mnav-areas{border-top:1px solid var(--border)}
.mnav-area{border-bottom:1px solid var(--border)}
.mnav-acc{width:100%;display:grid;grid-template-columns:40px 1fr 24px;align-items:center;gap:8px;
  padding:18px 0;min-height:64px;text-align:left}
.mnav-n{font-size:var(--step--1);font-weight:600;letter-spacing:.1em;color:var(--accent-text)}
.mnav-name{font-size:var(--step-2);font-weight:800;letter-spacing:-.03em;line-height:1}
.mnav-plus{position:relative;width:16px;height:16px;justify-self:end}
.mnav-plus::before,.mnav-plus::after{content:"";position:absolute;left:0;top:50%;width:100%;height:1.5px;background:currentColor;
  transition:transform var(--motion-normal) var(--ease)}
.mnav-plus::after{transform:rotate(90deg)}
.mnav-acc[aria-expanded="true"] .mnav-plus::after{transform:rotate(0)}
.mnav-sub{padding:0 0 18px 48px;opacity:0;transform:translateY(-6px);
  transition:opacity var(--motion-normal) var(--ease),transform var(--motion-normal) var(--ease)}
.mnav-sub.open{opacity:1;transform:none}
.mnav-sub a{display:flex;align-items:center;min-height:44px;font-size:var(--step-0);color:var(--text-secondary)}
.mnav-sub a[aria-current="page"],.mnav-links a[aria-current="page"]{color:var(--accent-text);font-weight:700}
.mnav-links{display:flex;flex-direction:column}
.mnav-links a{display:flex;align-items:center;min-height:52px;font-size:var(--step-1);font-weight:600;letter-spacing:-.02em;border-bottom:1px solid var(--border)}
.mnav-foot{display:flex;flex-direction:column;align-items:flex-start;gap:16px}
.mnav-mail{color:var(--text-secondary);font-size:var(--step--1);min-height:44px;display:flex;align-items:center}
body.nav-lock{overflow:hidden}

/* =========================================================
   05 HERO PAGINE INTERNE · BREADCRUMB · CTA
   ========================================================= */
.hero{color:var(--on-dark)}
.hero--page .eyebrow{color:var(--on-dark-accent)}
.nav-cta{white-space:nowrap}
/* fondo .deep (Day): il blu identitario richiede testo secondario più pieno per restare AA */
[data-theme="light"]:not([data-a11y-contrast]) .band.deep{--on-dark-soft:rgba(255,255,255,.92);--on-dark-line:rgba(255,255,255,.32);--on-dark-accent:#FFFFFF}
.start .sub strong{color:var(--on-dark);font-weight:700}
.hero.hero--page .hero-sub{color:var(--on-dark-soft)}
.hero.hero--m h1{font-size:var(--step-3);max-width:22ch;line-height:1.08}
.hero h1 .line:nth-child(4)>span{transition-delay:.51s}
.crumbs{margin-bottom:clamp(20px,3vh,32px);opacity:0;transition:opacity var(--motion-reveal) .1s var(--ease)}
.loaded .crumbs{opacity:1}
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:6px 0;font-size:var(--step--1);color:var(--on-dark-soft)}
.crumbs li{display:inline-flex;align-items:center}
.crumbs li+li::before{content:"/";margin:0 .7em;opacity:.6}
.crumbs a{text-decoration:underline;text-decoration-color:transparent;text-underline-offset:.2em;transition:text-decoration-color var(--motion-fast) var(--ease)}
.crumbs a:hover{text-decoration-color:currentColor;color:var(--on-dark)}
.crumbs [aria-current]{color:var(--on-dark)}
.hero-ctas{margin-top:clamp(30px,5vh,48px);display:flex;flex-wrap:wrap;gap:14px;
  opacity:0;transform:translateY(16px);transition:opacity var(--motion-reveal) .9s var(--ease),transform var(--motion-reveal) .9s var(--ease)}
.loaded .hero-ctas{opacity:1;transform:none}
.btn-ghost{display:inline-flex;align-items:center;gap:9px;padding:13px 22px;min-height:44px;border-radius:100px;
  border:1px solid currentColor;color:var(--on-dark);font-weight:600;font-size:var(--step--1);
  transition:background var(--motion-normal) var(--ease),color var(--motion-normal) var(--ease)}
.btn-ghost .arrow{transition:transform var(--motion-normal) var(--ease)}
.btn-ghost:hover .arrow{transform:translate(4px)}
.band:not(.dark):not(.deep) .btn-ghost{color:var(--text-primary)}
.hero .cta-btn{font-size:var(--step--1)}

/* Home: link interni aggiunti senza toccare il copy */
.signal .home-link{margin-top:22px;font-size:var(--step-0);font-weight:400}
.verb h3 a{display:inline-block}
.verb h3 a::after{content:"";position:absolute;inset:0}

/* CTA di chiusura (#start) senza lead: il bottone resta a ritmo */
.start h2+.big-cta{margin-top:40px}
.start h2.h-m{font-size:var(--step-3);max-width:20ch;line-height:1.04}
.start .sub{margin-top:22px;font-size:var(--step-1);font-weight:300;color:var(--on-dark-soft);max-width:34ch}

/* =========================================================
   06 LAYOUT EDITORIALE
   ========================================================= */
.band--s{padding:clamp(64px,10vh,128px) 0}
.band.alt{background:var(--bg-secondary)}
.band+.band:not(.dark):not(.deep):not(.alt){border-top:1px solid var(--border)}
.band.dark,.band.deep{color:var(--on-dark)}

.sec-h{font-size:var(--step-3);font-weight:800;letter-spacing:-.03em;line-height:1.04;max-width:20ch}
.sec-h .accent,.statement .accent{color:var(--heading-accent)}
.band.dark .sec-h .accent,.band.deep .sec-h .accent,.band.dark .statement .accent,.band.deep .statement .accent{color:var(--on-dark-accent)}
.sec-h+.prose,.sec-h+.cells,.sec-h+.rows,.sec-h+.steps{margin-top:clamp(32px,6vh,64px)}
.eyebrow+.sec-h{margin-top:22px}

.split{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(36px,6vw,110px);align-items:start}
.split-head{position:sticky;top:120px}
.split-head h2{font-size:var(--step-3);font-weight:800;letter-spacing:-.03em;line-height:1.04}
.split-head .eyebrow+h2{margin-top:22px}
.split-head p{margin-top:22px;color:var(--text-secondary);font-size:var(--step-1);font-weight:300;line-height:1.35;max-width:30ch}
.band.dark .split-head p,.band.deep .split-head p{color:var(--on-dark-soft)}

/* testo lungo */
.prose{max-width:64ch;color:var(--text-secondary)}
.prose>*+*{margin-top:1.05em}
.prose p{line-height:1.65}
.prose strong,.prose b{color:var(--text-primary);font-weight:700}
.prose h3{font-size:var(--step-1);font-weight:700;letter-spacing:-.02em;line-height:1.2;color:var(--text-primary);margin-top:1.8em}
.prose h3+p,.prose h3+ul{margin-top:.6em}
.prose ul,.prose ol{list-style:none;display:flex;flex-direction:column;gap:.5em}
.prose ul>li{position:relative;padding-left:1.6em;line-height:1.55}
.prose ul>li::before{content:"";position:absolute;left:0;top:.8em;width:.9em;height:1px;background:var(--accent)}
.prose ol{counter-reset:ol}
.prose ol>li{position:relative;padding-left:2.4em;counter-increment:ol;line-height:1.55}
.prose ol>li::before{content:counter(ol,decimal-leading-zero);position:absolute;left:0;top:.05em;font-size:.85em;font-weight:700;color:var(--accent-text);letter-spacing:.06em}
.prose a:not(.text-link):not(.cta-btn){color:var(--accent-text);text-decoration:underline;text-underline-offset:.18em;text-decoration-thickness:1px}
.prose .kicker{font-size:var(--step-1);font-weight:600;line-height:1.3;letter-spacing:-.02em;color:var(--text-primary)}
.prose .kicker strong{color:var(--heading-accent)}
.prose .text-link{margin-top:1.2em}
.band.dark .prose,.band.deep .prose{color:var(--on-dark-soft)}
.band.dark .prose strong,.band.deep .prose strong,.band.dark .prose h3,.band.deep .prose h3,.band.dark .prose .kicker,.band.deep .prose .kicker{color:var(--on-dark)}
.band.dark .prose .kicker strong,.band.deep .prose .kicker strong{color:var(--on-dark-accent)}
.band.dark .prose ul>li::before,.band.deep .prose ul>li::before{background:var(--on-dark-accent)}
.band.dark .prose ol>li::before,.band.deep .prose ol>li::before{color:var(--on-dark-accent)}

/* frase manifesto / punto di vista */
.statement{font-size:var(--step-3);font-weight:300;line-height:1.08;letter-spacing:-.03em;max-width:20ch}
.statement b,.statement strong{font-weight:800}
.statement-sub{margin-top:clamp(26px,4vh,40px);max-width:52ch;font-size:var(--step-1);font-weight:300;line-height:1.4;color:var(--text-secondary)}
.band.dark .statement-sub,.band.deep .statement-sub{color:var(--on-dark-soft)}
.statement-sub+.statement-sub{margin-top:16px}

/* percorso "domanda → sistema AI → risposta" */
.flow{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;font-size:var(--step-1);font-weight:600;letter-spacing:-.02em;color:var(--text-primary)}
.flow span{display:inline-flex;align-items:center;gap:14px}
.flow span+span::before,.flow li+li::before{content:"→";font-weight:300;color:var(--accent-text)}
ul.flow,ol.flow{list-style:none}
.flow li{display:inline-flex;align-items:center;gap:14px}
.flow-label{display:block;font-size:var(--step--1);font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--text-secondary);margin-bottom:12px}
.flows{display:flex;flex-direction:column;gap:clamp(28px,4vh,42px);padding:clamp(28px,4vw,48px);border:1px solid var(--border);background:var(--surface)}

.band.dark .flows,.band.deep .flows{background:transparent;border-color:var(--on-dark-line)}
.band.dark .flow,.band.deep .flow{color:var(--on-dark)}
.band.dark .flow li+li::before,.band.deep .flow li+li::before,.band.dark .flow span+span::before,.band.deep .flow span+span::before{color:var(--on-dark-accent)}
.band.dark .flow-label,.band.deep .flow-label{color:var(--on-dark-soft)}
.prose .lede{font-size:var(--step-1);font-weight:300;line-height:1.45;color:var(--text-primary)}
.band.dark .prose .lede,.band.deep .prose .lede{color:var(--on-dark)}

/* elenco chiave → descrizione */
.kv{list-style:none;border-top:1px solid var(--border)}
.kv li{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:20px;padding:22px 0;border-bottom:1px solid var(--border);align-items:baseline}
.kv .k{font-size:var(--step-1);font-weight:800;letter-spacing:-.02em;line-height:1.15;color:var(--text-primary)}
.kv .v{color:var(--text-secondary);line-height:1.5}
.band.dark .kv,.band.dark .kv li,.band.deep .kv,.band.deep .kv li{border-color:var(--on-dark-line)}
.band.dark .kv .k,.band.deep .kv .k{color:var(--on-dark)}
.band.dark .kv .v,.band.deep .kv .v{color:var(--on-dark-soft)}

/* quattro segnali grandi (chi sei · cosa fai · …) */
.signals{list-style:none;display:flex;flex-direction:column;gap:6px}
.signals li{font-size:var(--step-2);font-weight:800;letter-spacing:-.03em;line-height:1.08}
.signals li:nth-child(even){color:var(--heading-accent)}
.band.dark .signals li:nth-child(even),.band.deep .signals li:nth-child(even){color:var(--on-dark-accent)}

/* elenco di domande-prompt */
.prompts{list-style:none;display:flex;flex-direction:column;gap:12px}
.band.dark .prompts li,.band.deep .prompts li{color:var(--on-dark);border-left-color:var(--on-dark-accent)}
.prompts li{font-size:var(--step-1);font-weight:300;line-height:1.3;letter-spacing:-.015em;color:var(--text-primary);
  padding:16px 0 16px 22px;border-left:2px solid var(--accent)}

/* =========================================================
   07 COMPONENTI
   ========================================================= */
/* cells — griglia di voci h3 + testo (stesso linguaggio di .pgrid) */
.cells{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--border);border:1px solid var(--border)}
.cells.c2{grid-template-columns:repeat(2,minmax(0,1fr))}
.cells.c4{grid-template-columns:repeat(4,minmax(0,1fr))}
.cells .cell{background:var(--cell-bg);padding:clamp(26px,3.4vw,46px);display:flex;flex-direction:column;gap:14px;min-height:200px;
  transition:background var(--motion-normal) var(--ease)}
.cells .cell:hover{background:var(--cell-hover)}
.cells .idx{font-size:var(--step--1);font-weight:600;letter-spacing:.1em;color:var(--accent-text)}
.cells h3{font-size:var(--step-1);font-weight:700;letter-spacing:-.02em;line-height:1.15;padding-top:16px;position:relative}
.cells h3::before{content:"";position:absolute;top:0;left:0;width:44px;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:0 50%;
  transition:transform var(--motion-slow) var(--ease) .2s}
.cells .cell.in h3::before{transform:scaleX(1)}
.cells p{color:var(--text-secondary);line-height:1.55}
.cells h2{font-size:var(--step-1);font-weight:700;letter-spacing:-.02em;line-height:1.15;padding-top:16px;position:relative}
.cells h2::before{content:"";position:absolute;top:0;left:0;width:44px;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:0 50%;transition:transform var(--motion-slow) var(--ease) .2s}
.cells .cell.in h2::before{transform:scaleX(1)}
.cells .big{font-size:var(--step-2);font-weight:800;letter-spacing:-.03em;line-height:1}
.band.dark .cells,.band.deep .cells{background:var(--on-dark-line);border-color:var(--on-dark-line)}
.band.dark .cells .cell,.band.deep .cells .cell{background:var(--band-dark)}
.band.deep .cells .cell{background:var(--band-deep)}
.band.dark .cells p,.band.deep .cells p{color:var(--on-dark-soft)}
.band.dark .cells .idx,.band.deep .cells .idx{color:var(--on-dark-accent)}

/* rows — elenco numerato editoriale (n · titolo · contenuto) */
.rows{list-style:none;border-top:1px solid var(--border)}
.rows>li{position:relative;display:grid;grid-template-columns:90px minmax(0,1fr);gap:clamp(14px,2vw,24px);padding:clamp(30px,5vh,52px) 0}
.rows>li::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:var(--border);
  transform:scaleX(0);transform-origin:0 50%;transition:transform 1.2s var(--ease) .2s}
.rows>li.in::after{transform:scaleX(1)}
.rows .n{font-size:var(--step--1);font-weight:600;letter-spacing:.1em;color:var(--accent-text);padding-top:.5em}
.row-t{font-size:var(--step-2);font-weight:700;letter-spacing:-.025em;line-height:1.1;color:var(--text-primary);max-width:24ch}
.band.dark .row-t,.band.deep .row-t{color:var(--on-dark)}
.rows .prose{margin-top:16px}
.rows .text-link{margin-top:10px}
.band.dark .rows,.band.deep .rows{border-color:var(--on-dark-line)}
.band.dark .rows>li::after,.band.deep .rows>li::after{background:var(--on-dark-line)}
.band.dark .rows .n,.band.deep .rows .n{color:var(--on-dark-accent)}
.band.dark .rows .row-t,.band.deep .rows .row-t{color:var(--on-dark)}

/* steps — metodo orizzontale */
.steps{list-style:none;display:grid;grid-template-columns:repeat(var(--cols,5),minmax(0,1fr));gap:clamp(18px,2.4vw,36px)}
.steps li{position:relative;padding-top:26px}
.steps li::before{content:"";position:absolute;top:0;left:0;width:100%;height:1px;background:var(--on-dark-line);
  transform:scaleX(0);transform-origin:0 50%;transition:transform 1s var(--ease) var(--d,0s)}
.steps li.in::before{transform:scaleX(1)}
.steps li:nth-child(2){--d:.12s}.steps li:nth-child(3){--d:.24s}.steps li:nth-child(4){--d:.36s}.steps li:nth-child(5){--d:.48s}.steps li:nth-child(6){--d:.6s}
.steps .n{display:block;font-size:var(--step--1);font-weight:600;letter-spacing:.1em;color:var(--on-dark-accent);margin-bottom:14px}
.steps h3{font-size:var(--step-1);font-weight:700;letter-spacing:-.02em;line-height:1.15}
.steps p{margin-top:10px;color:var(--on-dark-soft);line-height:1.5;font-size:var(--step-0)}
.band:not(.dark):not(.deep) .steps li::before{background:var(--border)}
.band:not(.dark):not(.deep) .steps .n{color:var(--accent-text)}
.band:not(.dark):not(.deep) .steps p{color:var(--text-secondary)}

/* trio Human / Search / AI-readable */
.readable{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--on-dark-line)}
.readable li{padding:clamp(26px,4vh,40px) clamp(18px,2vw,30px) 0 0}
.readable li+li{padding-left:clamp(18px,2vw,30px);border-left:1px solid var(--on-dark-line)}
.readable h3{font-size:var(--step-2);font-weight:800;letter-spacing:-.03em;line-height:1}
.readable h3 span{display:block;color:var(--on-dark-accent);font-weight:300}
.readable p{margin-top:16px;color:var(--on-dark-soft);line-height:1.5;max-width:30ch}
.band:not(.dark):not(.deep) .readable,.band:not(.dark):not(.deep) .readable li+li{border-color:var(--border)}
.band:not(.dark):not(.deep) .readable h3 span{color:var(--heading-accent)}
.band:not(.dark):not(.deep) .readable p{color:var(--text-secondary)}
.motto{font-size:var(--step-2);font-weight:800;letter-spacing:-.03em;line-height:1.1}
.motto span{display:block}
.motto span:nth-child(2){color:var(--heading-accent)}
.band.dark .motto span:nth-child(2),.band.deep .motto span:nth-child(2){color:var(--on-dark-accent)}

/* xlinks — "si collega a" (internal linking contestuale) */
.xl-title{font-size:var(--step-3);font-weight:800;letter-spacing:-.03em;line-height:1.04;margin-top:22px;max-width:20ch}
.xl-intro{margin-top:22px;max-width:52ch;font-size:var(--step-1);font-weight:300;color:var(--on-dark-soft)}
.xlinks{list-style:none;margin-top:clamp(36px,6vh,64px);border-top:1px solid var(--on-dark-line)}
.xlinks a{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) 30px;gap:20px;align-items:baseline;
  padding:clamp(20px,3vh,30px) 0;border-bottom:1px solid var(--on-dark-line);
  transition:padding-left var(--motion-normal) var(--ease)}
.xl-name{font-size:var(--step-2);font-weight:800;letter-spacing:-.03em;line-height:1.05}
.xl-desc{color:var(--on-dark-soft);line-height:1.5}
.xl-arrow{font-size:var(--step-1);font-weight:300;color:var(--on-dark-accent);opacity:.5;transform:translateX(-8px);
  transition:opacity var(--motion-normal) var(--ease),transform var(--motion-normal) var(--ease)}
@media (hover:hover){
  .xlinks a:hover{padding-left:clamp(8px,1.6vw,24px)}
  .xlinks a:hover .xl-name{color:var(--on-dark-accent)}
  .xlinks a:hover .xl-arrow{opacity:1;transform:none}
  .xlinks:hover a:not(:hover) .xl-name{opacity:.55}
}
.xlinks a:focus-visible .xl-arrow{opacity:1;transform:none}
.xlinks .xl-static{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) 30px;gap:20px;align-items:baseline;
  padding:clamp(20px,3vh,30px) 0;border-bottom:1px solid var(--on-dark-line)}

/* chip di collegamento compatte (link interni elencati nel Content Pack) */
.related-links{display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin-top:22px}
.related-links a{display:inline-flex;align-items:center;min-height:44px;padding:10px 18px;border:1px solid var(--border);border-radius:100px;
  font-size:var(--step--1);font-weight:600;transition:border-color var(--motion-fast) var(--ease),color var(--motion-fast) var(--ease)}
.related-links a:hover{border-color:var(--accent-text);color:var(--accent-text)}
.band.dark .related-links a,.band.deep .related-links a{border-color:var(--on-dark-line)}
.band.dark .related-links a:hover,.band.deep .related-links a:hover{border-color:var(--on-dark-accent);color:var(--on-dark-accent)}

/* hub — servizi come grandi voci editoriali (estende .verbs della home) */
.hub-list{list-style:none;border-top:1px solid var(--on-dark-line)}
.hub-item{display:grid;grid-template-columns:90px minmax(0,1fr) minmax(0,1fr);gap:clamp(16px,3vw,48px);align-items:start;
  padding:clamp(30px,5vh,56px) 0;border-bottom:1px solid var(--on-dark-line)}
.hub-item .n{font-size:var(--step--1);font-weight:600;letter-spacing:.1em;color:var(--on-dark-accent);padding-top:.8em}
.hub-item h2,.hub-item h3{font-size:var(--step-3);font-weight:800;letter-spacing:-.035em;line-height:1}
.hub-item h2 a,.hub-item h3 a{transition:color var(--motion-normal) var(--ease)}
.hub-item h2 a:hover,.hub-item h3 a:hover{color:var(--on-dark-accent)}
.hub-item .hub-sub{margin-top:12px;font-size:var(--step-1);font-weight:300;line-height:1.3;color:var(--on-dark-soft);max-width:26ch}
.hub-item .hub-tags+h2,.hub-item .hub-tags+h3{margin-top:14px}
.hub-item .hub-tags a{text-decoration:underline;text-decoration-color:transparent;text-underline-offset:.2em;transition:text-decoration-color var(--motion-fast) var(--ease)}
.hub-item .hub-tags a:hover{text-decoration-color:currentColor}
.hub-item .hub-tags{margin-top:16px;font-size:var(--step--1);letter-spacing:.03em;color:var(--on-dark-soft)}
.hub-item .prose{color:var(--on-dark-soft)}
.band:not(.dark):not(.deep) .hub-list,.band:not(.dark):not(.deep) .hub-item{border-color:var(--border)}
.band:not(.dark):not(.deep) .hub-item .n{color:var(--accent-text)}
.band:not(.dark):not(.deep) .hub-item h2 a:hover,.band:not(.dark):not(.deep) .hub-item h3 a:hover{color:var(--heading-accent)}
.band:not(.dark):not(.deep) .hub-item .hub-sub,.band:not(.dark):not(.deep) .hub-item .hub-tags,.band:not(.dark):not(.deep) .hub-item .prose{color:var(--text-secondary)}

/* =========================================================
   08 FAQ — <details> nativi
   ========================================================= */
.faq-list{border-top:1px solid var(--border)}
.faq-item{border-bottom:1px solid var(--border)}
.faq-item summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:24px;
  padding:clamp(20px,3vh,28px) 0;cursor:pointer;min-height:64px}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary h3{font-size:var(--step-1);font-weight:600;letter-spacing:-.02em;line-height:1.25;transition:color var(--motion-fast) var(--ease)}
.faq-item summary:hover h3{color:var(--heading-accent)}
.faq-icon{flex:none;position:relative;width:18px;height:18px}
.faq-icon::before,.faq-icon::after{content:"";position:absolute;left:0;top:50%;width:100%;height:1.5px;background:var(--accent-text);
  transition:transform var(--motion-normal) var(--ease)}
.faq-icon::after{transform:rotate(90deg)}
.faq-item[open] .faq-icon::after{transform:rotate(0)}
.faq-a{padding:0 0 clamp(22px,3vh,30px);max-width:62ch;color:var(--text-secondary);line-height:1.65}
.faq-item[open] .faq-a{animation:faqIn var(--motion-normal) var(--ease)}
@keyframes faqIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}

/* =========================================================
   09 INSIGHTS
   ========================================================= */
.related-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:clamp(30px,5vh,56px)}
.related-head h2{font-size:var(--step-3);font-weight:800;letter-spacing:-.03em;line-height:1.04;margin-top:22px;max-width:none}
.post-list{list-style:none;border-top:1px solid var(--border)}
.post a{position:relative;display:grid;grid-template-columns:minmax(150px,.7fr) minmax(0,1.6fr) minmax(0,1.3fr) 30px;gap:clamp(16px,2.4vw,36px);align-items:baseline;
  padding:clamp(24px,4vh,40px) 0;border-bottom:1px solid var(--border);transition:padding-left var(--motion-normal) var(--ease)}
.post-meta{display:flex;flex-direction:column;gap:6px;font-size:var(--step--1);color:var(--text-secondary)}
.post-cat{font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-text);font-size:.78rem}
.post-title{font-size:var(--step-1);font-weight:700;letter-spacing:-.02em;line-height:1.2;transition:color var(--motion-normal) var(--ease)}
.post-excerpt{color:var(--text-secondary);line-height:1.5;font-size:var(--step-0)}
.post-arrow{color:var(--accent-text);font-size:var(--step-1);opacity:.4;transform:translateX(-8px);transition:opacity var(--motion-normal) var(--ease),transform var(--motion-normal) var(--ease)}
@media (hover:hover){
  .post a:hover{padding-left:clamp(8px,1.4vw,20px)}
  .post a:hover .post-title{color:var(--heading-accent)}
  .post a:hover .post-arrow{opacity:1;transform:none}
}
.post a:focus-visible .post-arrow{opacity:1;transform:none}

.cat-nav{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--border);border:1px solid var(--border)}
.cat-nav a{display:flex;flex-direction:column;gap:12px;height:100%;padding:clamp(24px,3vw,40px);background:var(--cell-bg);transition:background var(--motion-normal) var(--ease)}
.cat-nav a:hover{background:var(--cell-hover)}
.cat-nav .cat-name{font-size:var(--step-1);font-weight:800;letter-spacing:-.02em}
.cat-nav .cat-line{color:var(--text-secondary);line-height:1.5;font-size:var(--step--1)}
.cat-nav .cat-count{margin-top:auto;font-size:var(--step--1);font-weight:600;color:var(--accent-text)}
.cat-nav a[aria-current="page"]{background:var(--cell-hover);box-shadow:inset 0 -2px 0 var(--accent-text)}

.upcoming-list{list-style:none;border-top:1px solid var(--border)}
.upcoming-list li{display:flex;flex-wrap:wrap;gap:6px 18px;align-items:baseline;padding:18px 0;border-bottom:1px solid var(--border);color:var(--text-secondary);font-size:var(--step-1);font-weight:300;letter-spacing:-.015em}
.upcoming-list .post-cat{font-size:.72rem}
.empty-note{color:var(--text-secondary);font-size:var(--step-1);font-weight:300;max-width:40ch}

/* articolo */
.article-meta{margin-top:clamp(26px,4vh,40px);display:flex;flex-wrap:wrap;gap:10px 28px;font-size:var(--step--1);color:var(--on-dark-soft);
  opacity:0;transition:opacity var(--motion-reveal) .8s var(--ease)}
.loaded .article-meta{opacity:1}
.article-meta dt{font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:.7rem;color:var(--on-dark-accent)}
.article-meta dd{margin-top:4px;color:var(--on-dark)}
.article-meta div{min-width:0}
.article-layout{display:grid;grid-template-columns:minmax(200px,3fr) minmax(0,8fr);gap:clamp(36px,6vw,100px);align-items:start}
.toc{position:sticky;top:120px;font-size:var(--step--1)}
.toc p{font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--accent-text);font-size:.72rem;margin-bottom:14px}
.toc ol{list-style:none;border-left:1px solid var(--border)}
.toc a{display:block;padding:8px 0 8px 16px;margin-left:-1px;border-left:2px solid transparent;color:var(--text-secondary);line-height:1.35;
  transition:color var(--motion-fast) var(--ease),border-color var(--motion-fast) var(--ease)}
.toc a:hover,.toc a.active{color:var(--text-primary);border-left-color:var(--accent-text)}
.article-body,.article-main>*{max-width:70ch}
.article-body>h2{font-size:var(--step-2);font-weight:800;letter-spacing:-.025em;line-height:1.1;color:var(--text-primary);margin-top:2.2em;scroll-margin-top:110px}
.article-body>h2:first-child{margin-top:0}
.article-body>h3{scroll-margin-top:110px}
.article-body .lede{font-size:var(--step-1);font-weight:300;line-height:1.45;color:var(--text-primary)}
.article-body .q{font-size:var(--step-1);font-weight:600;letter-spacing:-.02em;color:var(--heading-accent);line-height:1.3}
.defbox{margin:2em 0;padding:clamp(22px,3vw,34px);border-left:3px solid var(--accent);background:var(--bg-secondary)}
.defbox .eyebrow{margin-bottom:12px}
.defbox p{color:var(--text-primary)}
.article-cta{margin-top:3em;padding:clamp(26px,4vw,44px);border:1px solid var(--border);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px}
.article-cta p{font-size:var(--step-1);font-weight:600;letter-spacing:-.02em;color:var(--text-primary);max-width:30ch;line-height:1.25}
.author-box{margin-top:3em;padding-top:28px;border-top:1px solid var(--border);display:grid;grid-template-columns:64px 1fr;gap:18px;align-items:center}
.author-box .avatar{width:64px;height:64px;border-radius:50%;background:var(--bg-secondary);border:1px dashed var(--border);display:flex;align-items:center;justify-content:center;font-size:.6rem;color:var(--text-secondary);text-align:center;overflow:hidden}
.author-box .avatar img{width:100%;height:100%;object-fit:cover;filter:grayscale(1)}
.author-box .a-name{font-weight:700;color:var(--text-primary)}
.author-box .a-role{font-size:var(--step--1);color:var(--text-secondary)}

/* =========================================================
   10 TEAM — layout editoriale, non griglia corporate
   ========================================================= */
.team{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(28px,6vw,120px);row-gap:clamp(56px,9vh,110px)}
.team>li:nth-child(even){margin-top:clamp(0px,12vh,160px)}
.team>li:nth-child(even):nth-last-child(1){margin-top:0}
.member{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(18px,2.4vw,34px);align-items:end}
.team-portrait{position:relative;aspect-ratio:4/5;overflow:hidden;background:var(--bg-secondary)}
.team-portrait img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.04);
  transition:filter var(--motion-slow) var(--ease),transform var(--motion-slow) var(--ease)}
[data-theme="dark"] .team-portrait img{filter:grayscale(1) brightness(.9) contrast(1.08)}
@media (hover:hover){.member:hover .team-portrait img{filter:grayscale(.15);transform:scale(1.02)}}
.team-portrait .image-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:16px;text-align:center;
  border:1px dashed var(--border);font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--text-secondary);
  background:repeating-linear-gradient(135deg,transparent 0 14px,var(--border) 14px 15px)}
.member-n{display:block;font-size:var(--step--1);font-weight:600;letter-spacing:.1em;color:var(--accent-text);margin-bottom:12px}
.member h3{font-size:var(--step-2);font-weight:800;letter-spacing:-.03em;line-height:1}
.member .role{margin-top:10px;font-size:var(--step--1);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-text)}
.member .area{margin-top:12px;color:var(--text-secondary);line-height:1.5}
.member .bio{margin-top:14px}

/* =========================================================
   11 CASE STUDY · PLACEHOLDER · MEDIA
   ========================================================= */
/* segnaposto visibile: dati mancanti che NON vanno inventati */
.ph-flag{display:inline-block;padding:6px 12px;border:1px dashed currentColor;border-radius:6px;
  font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;line-height:1.4;color:var(--text-secondary);background:var(--bg-secondary)}
.band.dark .ph-flag,.band.deep .ph-flag,.hero .ph-flag,footer .ph-flag{color:var(--on-dark-soft);background:transparent}
.media-ph{position:relative;width:100%;padding-top:var(--ratio,62.5%);border:1px dashed var(--border);
  background:repeating-linear-gradient(135deg,transparent 0 18px,var(--border) 18px 19px),var(--bg-secondary)}
.media-ph span{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:20px;text-align:center;
  font-size:.75rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--text-secondary)}
.band.dark .media-ph,.band.deep .media-ph{border-color:var(--on-dark-line);background:repeating-linear-gradient(135deg,transparent 0 18px,var(--on-dark-line) 18px 19px)}
.band.dark .media-ph span,.band.deep .media-ph span{color:var(--on-dark-soft)}
.media-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,2vw,28px)}
.figure-cap{margin-top:12px;font-size:var(--step--1);color:var(--text-secondary)}
.cs-template{list-style:none;border-top:1px solid var(--border)}
.cs-template li{display:grid;grid-template-columns:minmax(140px,.6fr) minmax(0,1.4fr);gap:20px;padding:20px 0;border-bottom:1px solid var(--border);align-items:baseline}
.cs-template h3{font-size:var(--step-0);font-weight:700}

/* =========================================================
   12 FORM — editoriale, accessibile
   ========================================================= */
.form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,3vw,40px) clamp(20px,3vw,44px)}
.field{display:flex;flex-direction:column;gap:10px;min-width:0}
.field.full{grid-column:1/-1}
.field label,.field legend{font-size:var(--step--1);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-primary)}
.field .req{color:var(--accent-text)}
.field input,.field select,.field textarea{
  width:100%;font:inherit;font-size:var(--step-1);font-weight:300;letter-spacing:-.01em;color:var(--text-primary);
  background:transparent;border:0;border-bottom:1.5px solid var(--border);border-radius:0;padding:12px 0;min-height:52px;
  transition:border-color var(--motion-fast) var(--ease)}
.field textarea{min-height:160px;resize:vertical;line-height:1.5}
.field select{appearance:none;-webkit-appearance:none;cursor:pointer;padding-right:36px;
  background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);
  background-position:calc(100% - 14px) 55%,calc(100% - 8px) 55%;background-size:6px 6px;background-repeat:no-repeat}
.field select option{color:#0B1220;background:#fff}
.field input:hover,.field select:hover,.field textarea:hover{border-bottom-color:var(--text-secondary)}
.field input:focus,.field select:focus,.field textarea:focus{border-bottom-color:var(--accent-text);outline:none}
.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{outline:2px solid var(--focus-ring);outline-offset:4px}
.field .hint{font-size:var(--step--1);color:var(--text-secondary)}
.field .err{font-size:var(--step--1);font-weight:600;color:var(--error)}
.field .err:empty{display:none}
.field [aria-invalid="true"]{border-bottom-color:var(--error)}
.check{display:grid;grid-template-columns:24px 1fr;gap:14px;align-items:start;font-size:var(--step-0);color:var(--text-secondary);line-height:1.5}
.check input{width:22px;height:22px;margin-top:2px;accent-color:var(--navy-900);cursor:pointer}
.check a{color:var(--accent-text);text-decoration:underline;text-underline-offset:.18em}
.form-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:20px}
.form-actions .cta-btn{font-size:var(--step-0);padding:18px 32px}
.form-status{grid-column:1/-1;padding:20px 24px;border-left:3px solid var(--accent);background:var(--bg-secondary);color:var(--text-primary)}
.form-status.is-error{border-left-color:var(--error)}
.form-status:empty{display:none}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.contact-list{list-style:none;border-top:1px solid var(--border)}
.contact-list li{display:grid;grid-template-columns:minmax(110px,.5fr) 1fr;gap:16px;padding:18px 0;border-bottom:1px solid var(--border);align-items:baseline}
.contact-list .k{font-size:var(--step--1);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-secondary)}
.contact-list a{color:var(--text-primary);font-weight:600}
.contact-list a:hover{color:var(--accent-text)}

/* =========================================================
   13 FOOTER — mappa sintetica
   ========================================================= */
.site-foot{padding:clamp(70px,10vh,110px) 0 36px;color:var(--on-dark)}
.foot-top{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,2.9fr);gap:clamp(40px,6vw,100px)}
.foot-logo{display:inline-block}
.foot-logo img{width:220px;height:auto}
.foot-claim{margin-top:22px;color:var(--on-dark-accent);font-weight:600;font-size:var(--step--1)}
.foot-def{margin-top:10px;color:var(--on-dark-soft);font-size:var(--step--1);line-height:1.6}
.foot-map{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(20px,3vw,40px)}
.foot-h{font-size:.72rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--on-dark-accent);margin-bottom:14px}
.foot-col ul{list-style:none;display:flex;flex-direction:column}
.foot-col a,.foot-col span{display:inline-flex;align-items:center;min-height:36px;color:var(--on-dark-soft);font-size:var(--step--1);
  overflow-wrap:anywhere;transition:color var(--motion-fast) var(--ease)}
.foot-col a:hover{color:var(--on-dark)}
.foot-bottom{margin-top:clamp(50px,8vh,80px);padding-top:22px;border-top:1px solid var(--on-dark-line);
  display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 24px;font-size:var(--step--1);color:var(--on-dark-soft)}
.foot-legal{display:flex;gap:22px}
.foot-legal a{min-height:44px;display:inline-flex;align-items:center}
.foot-legal a:hover{color:var(--on-dark)}

/* =========================================================
   14 404
   ========================================================= */
.nf-links{list-style:none;margin-top:clamp(36px,6vh,56px);display:flex;flex-wrap:wrap;gap:12px}
.nf-links a{display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:12px 22px;border:1px solid var(--on-dark-line);border-radius:100px;
  color:var(--on-dark);font-weight:600;transition:border-color var(--motion-fast) var(--ease),color var(--motion-fast) var(--ease)}
.nf-links a:hover{border-color:var(--on-dark-accent);color:var(--on-dark-accent)}

/* =========================================================
   15 ACCESSIBILITÀ — integrazione col pannello
   ========================================================= */
/* light contrast: header trasparente su hero chiaro → testi scuri */
[data-a11y-contrast="light"] .nav-link,[data-a11y-contrast="light"] .menu-toggle{color:#0B0F14;border-color:rgba(11,15,20,.45)}
[data-a11y-contrast="light"] .btn-ghost{color:#0B0F14}
[data-a11y-contrast="high"] .mega,[data-a11y-contrast="high"] .mnav{border-color:#fff}
[data-a11y-contrast="high"] .cells .cell{outline:1px solid rgba(255,255,255,.7);outline-offset:-1px}
[data-a11y-contrast="high"] .ph-flag,[data-a11y-contrast="high"] .media-ph span{color:#fff}
[data-a11y-contrast="high"] .ml-hint{color:#BFEAFF}
[data-a11y-spacing] .prose li,[data-a11y-spacing] .faq-a,[data-a11y-spacing] .cells p,[data-a11y-spacing] .post-excerpt{line-height:var(--a11y-lh);letter-spacing:var(--a11y-ls);word-spacing:var(--a11y-ws)}
[data-a11y-font="readable"] .prose,[data-a11y-font="readable"] .article-body{max-width:65ch}
/* testo grande: si libera spazio nell'header */
@media (max-width:1499px){
  [data-a11y-text="140"] .nav-cta{display:none}
}

/* =========================================================
   16 MOTION — fallback (OS reduce + pannello Ridotte/Ferme)
   ========================================================= */
@media (prefers-reduced-motion:reduce){
  .mega,.mega .mega-col,.mega .mega-side,.mega .mega-foot,.mega-col::before,.mnav,.mnav-sub,.ml-hint,.crumbs,.hero-ctas,.article-meta{transition:none;transform:none}
  .crumbs,.hero-ctas,.article-meta{opacity:1}
  .mega-links a{transition:none}
  .rows>li::after,.steps li::before,.cells h3::before,.cells h2::before{transform:scaleX(1);transition:none}
  .faq-item[open] .faq-a{animation:none}
}
[data-a11y-motion] .mega,[data-a11y-motion] .mega .mega-col,[data-a11y-motion] .mega .mega-side,[data-a11y-motion] .mega .mega-foot,[data-a11y-motion] .mega-col::before,
[data-a11y-motion] .mnav,[data-a11y-motion] .mnav-sub,[data-a11y-motion] .ml-hint,[data-a11y-motion] .mega-links a{transition:none;transform:none}
[data-a11y-motion] .crumbs,[data-a11y-motion] .hero-ctas,[data-a11y-motion] .article-meta{opacity:1;transform:none;transition:none}
[data-a11y-motion] .rows>li::after,[data-a11y-motion] .steps li::before,[data-a11y-motion] .cells h3::before,[data-a11y-motion] .cells h2::before{transform:scaleX(1);transition:none}
[data-a11y-motion] .faq-item[open] .faq-a{animation:none}

/* =========================================================
   17 RESPONSIVE
   ========================================================= */
@media (max-width:1599px){
  .brand-logos,.brand-logos img{width:210px}
}
@media (max-width:899px){
  .nav-cta{display:none}
}
@media (max-width:1099px){
  .cells,.cells.c4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cat-nav{grid-template-columns:repeat(2,minmax(0,1fr))}
  .foot-top{grid-template-columns:1fr}
  .post a{grid-template-columns:minmax(0,1fr) 30px}
  .post-meta{grid-column:1/-1;flex-direction:row;gap:14px;flex-wrap:wrap}
  .post-excerpt{grid-column:1/2}
  .post-title{grid-column:1/2}
  .post-arrow{grid-column:2;grid-row:2}
}
@media (max-width:900px){
  .split,.article-layout{grid-template-columns:1fr}
  .split-head,.toc{position:static}
  .toc{display:none}
  .team{grid-template-columns:1fr}
  .team>li:nth-child(even){margin-top:0}
  .hub-item{grid-template-columns:56px minmax(0,1fr)}
  .hub-item>:nth-child(3){grid-column:2}
  .xlinks a,.xlinks .xl-static{grid-template-columns:minmax(0,1fr) 30px}
  .xl-desc{grid-column:1}
  .xl-arrow{grid-column:2;grid-row:1}
  .readable{grid-template-columns:1fr}
  .readable li+li{padding-left:0;border-left:0;border-top:1px solid var(--on-dark-line)}
  .band:not(.dark):not(.deep) .readable li+li{border-top-color:var(--border)}
  .readable li{padding-bottom:26px}
  .foot-map{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:640px){
  :root{--header-h:72px}
  .brand-logos,.brand-logos img{width:150px}
  .cells,.cells.c2,.cells.c4,.steps,.cat-nav,.media-pair{grid-template-columns:1fr}
  .cells .cell{min-height:auto}
  .rows>li{grid-template-columns:44px minmax(0,1fr)}
  .member{grid-template-columns:1fr}
  .member .team-portrait{max-width:340px}
  .form{grid-template-columns:1fr}
  .contact-list li,.cs-template li,.kv li{grid-template-columns:1fr;gap:6px}
  .mt-label{display:none}
  .menu-toggle{padding:10px 13px}
  .hero.hero--m h1{font-size:clamp(2rem,1.4rem + 4vw,3rem)}
  .hero.hero--page h1{max-width:none}
  .flows{padding:22px}
  .article-cta{flex-direction:column;align-items:flex-start}
}
@media (max-width:380px){
  .brand-logos,.brand-logos img{width:132px}
  .theme-toggle{padding:10px}
  .nav-right{gap:8px}
}

/* contrasto Chiaro: la riga accento dell'hero (blu chiaro) va scurita come gli altri accenti */
[data-a11y-contrast="light"] .hero h1 .accent{color:#02405C}

/* parole lunghe e testo ingrandito (140%) a 320px: nessun contenuto tagliato */
/* nessuna sillabazione automatica: le parole vanno a capo intere (si spezzano solo se non entrano nella riga) */
main h1,main h2,main h3,.statement,.xl-name,.mnav-name,.hub-item h2,.post-title{overflow-wrap:break-word;-webkit-hyphens:manual;hyphens:manual}
/* righe a maschera dei titoli hero: spazio per le discendenti (g, p, q) senza cambiare l'interlinea */
.hero h1 .line{padding-bottom:.12em;margin-bottom:-.12em}
.split>*,.start .grid>*,.related-head>*,.hub-item>*,.member>*,.foot-top>*{min-width:0}
@media (max-width:640px){
  .verb{flex-wrap:wrap}
  .verb .disc{text-align:left}
}

/* movimento ridotto: il mega menu appare subito, senza srotolarsi */
@media (prefers-reduced-motion:reduce){
  .mega{clip-path:none}
  .mega .mega-col,.mega .mega-side,.mega .mega-foot{opacity:1}
  .mega-col::before{transform:scaleX(1)}
}
[data-a11y-motion] .mega{clip-path:none}
[data-a11y-motion] .mega .mega-col,[data-a11y-motion] .mega .mega-side,[data-a11y-motion] .mega .mega-foot{opacity:1}
[data-a11y-motion] .mega-col::before{transform:scaleX(1)}
[data-a11y-contrast="light"] .menu-toggle{color:#0B0F14;border-color:rgba(11,15,20,.45)}
@media (max-width:1099px){ .mega{display:none!important} }

/* Preloader: il logo mantiene le proporzioni originali (696×354) */
.loader-mark img{width:50px;height:auto;aspect-ratio:696/354;object-fit:contain}

/* Figure con immagine reale (diagrammi proprietari) */
.figure{margin:0}
.figure-img{display:block;width:100%;height:auto;border-radius:14px;border:1px solid var(--border);background:#fff}
.band.dark .figure-img,.band.deep .figure-img{border-color:var(--on-dark-line)}

/* Checklist numerata a due colonne (es. SEO Audit) */
.checklist{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(24px,3vw,48px);margin-top:28px;counter-reset:none}
.checklist li{display:flex;align-items:baseline;gap:14px;padding:16px 0;border-top:1px solid var(--border);font-size:var(--step-0);line-height:1.35}
.checklist .ck-n{flex:0 0 auto;font-size:.78rem;font-weight:700;letter-spacing:.12em;color:var(--accent-text);font-variant-numeric:tabular-nums}
.checklist .ck-t{min-width:0}
.band.dark .checklist li,.band.deep .checklist li{border-color:var(--on-dark-line);color:var(--on-dark)}
.band.dark .checklist .ck-n,.band.deep .checklist .ck-n{color:var(--on-dark-accent)}
.prose .checklist li::before{content:none}
.prose .kicker--rule{margin-top:clamp(36px,5vh,56px);padding-top:clamp(28px,4vh,40px);border-top:1px solid var(--border)}
.band.dark .prose .kicker--rule,.band.deep .prose .kicker--rule{border-color:var(--on-dark-line)}
@media (max-width:640px){.checklist{grid-template-columns:1fr}}
.prose .checklist{display:grid;gap:0 clamp(24px,3vw,48px)}
.checklist li:nth-last-child(-n+2){border-bottom:1px solid var(--border)}
.band.dark .checklist li:nth-last-child(-n+2),.band.deep .checklist li:nth-last-child(-n+2){border-bottom-color:var(--on-dark-line)}
@media (max-width:640px){.checklist li:nth-last-child(2){border-bottom:0}}
.prose .checklist{padding:0;margin-left:0}
.prose .checklist li{padding-left:0}
.prose .kicker--rule{border-top:0;padding-top:0}

/* Termini da non spezzare a fine riga (es. e-commerce) */
.nobr{white-space:nowrap}
/* Variante a tre colonne per voci brevi */
@media (min-width:1100px){
  .checklist--3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .checklist--3 li:nth-last-child(-n+2){border-bottom:0}
  .checklist--3 li:nth-last-child(-n+3){border-bottom:1px solid var(--border)}
  .band.dark .checklist--3 li:nth-last-child(-n+3),.band.deep .checklist--3 li:nth-last-child(-n+3){border-bottom-color:var(--on-dark-line)}
}
.checklist--3 .ck-t{font-weight:600}

/* Tiles: elenco di voci brevi a riquadri (es. integrazioni) */
.prose .tiles{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:28px;padding:0}
.prose .tiles li{position:relative;display:flex;align-items:flex-end;min-height:96px;padding:16px 16px 14px;border:1px solid var(--border);border-radius:12px;background:var(--surface,transparent);font-weight:600;line-height:1.25;transition:border-color .3s,transform .3s}
.prose .tiles li::before{content:"";position:absolute;left:16px;top:16px;width:8px;height:8px;border-radius:50%;background:var(--accent)}
.prose .tiles li:hover{border-color:var(--accent);transform:translateY(-2px)}
.band.dark .prose .tiles li,.band.deep .prose .tiles li{border-color:var(--on-dark-line);color:var(--on-dark)}
.band.dark .prose .tiles li::before,.band.deep .prose .tiles li::before{background:var(--on-dark-accent)}
.prose .note{margin-top:24px;padding-left:16px;border-left:2px solid var(--accent);font-size:var(--step--1);color:var(--text-secondary);line-height:1.5;max-width:52ch}
.band.dark .prose .note,.band.deep .prose .note{color:var(--on-dark-soft);border-color:var(--on-dark-accent)}
@media (max-width:900px){.prose .tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (prefers-reduced-motion:reduce){.prose .tiles li{transition:none}.prose .tiles li:hover{transform:none}}
[data-a11y-motion] .prose .tiles li{transition:none}
[data-a11y-motion] .prose .tiles li:hover{transform:none}

/* Chips: voci brevi in pillole (es. elenchi dentro le righe numerate) */
.prose .chips{list-style:none;display:flex;flex-direction:row;flex-wrap:wrap;align-items:flex-start;gap:10px;margin:18px 0 6px;padding:0}
.prose .chips li{padding:9px 16px;border:1px solid var(--border);border-radius:999px;font-size:var(--step--1);font-weight:600;line-height:1.3}
.prose .chips li::before{content:none}
.band.dark .prose .chips li,.band.deep .prose .chips li{border-color:var(--on-dark-line);color:var(--on-dark);background:rgba(255,255,255,.04)}

/* Nolist: elenco di esclusioni ("quando NON...") */
.prose .nolist{list-style:none;display:flex;flex-direction:column;gap:0;margin-top:24px;padding:0}
.prose .nolist li{display:flex;align-items:center;gap:18px;padding:20px 0;border-top:1px solid var(--border);font-size:var(--step-1);font-weight:600;letter-spacing:-.01em;line-height:1.3;color:var(--text-primary)}
.prose .nolist li:last-child{border-bottom:1px solid var(--border)}
.prose .nolist li::before{content:none}
.nolist .nl-x{flex:0 0 auto;width:28px;height:28px;fill:none;stroke:var(--accent-text);stroke-width:1.5;stroke-linecap:round}
.band.dark .prose .nolist li,.band.deep .prose .nolist li{border-color:var(--on-dark-line);color:var(--on-dark)}
.band.dark .nolist .nl-x,.band.deep .nolist .nl-x{stroke:var(--on-dark-accent)}
.nolist .nl-q{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:1.5px solid var(--accent-text);border-radius:50%;font-size:.85rem;font-weight:700;color:var(--accent-text);line-height:1}
.band.dark .nolist .nl-q,.band.deep .nolist .nl-q{border-color:var(--on-dark-accent);color:var(--on-dark-accent)}

/* Titoli nelle colonne: la dimensione si adatta alla larghezza, così le parole lunghe non vanno a capo a metà */
.split-head{container-type:inline-size}
.split-head h2{font-size:min(var(--step-3),11.5cqi)}
main h1,main h2,main h3{overflow-wrap:normal;word-break:normal}
.hub-item>div{container-type:inline-size}
.hub-item h2,.hub-item h3{font-size:min(var(--step-3),13cqi)}

/* Linelist: frasi in righe con freccia (sostituisce l'elenco a trattini) */
.prose .linelist{list-style:none;display:flex;flex-direction:column;gap:0;margin-top:20px;padding:0}
.prose .linelist li{display:flex;align-items:flex-start;gap:14px;padding:14px 0;border-top:1px solid var(--border);line-height:1.45}
.prose .linelist li:last-child{border-bottom:1px solid var(--border)}
.prose .linelist li::before{content:none}
.linelist .ll-i,.nolist .nl-a{flex:0 0 auto;width:18px;height:18px;margin-top:.2em;fill:none;stroke:var(--accent-text);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.nolist .nl-a{width:24px;height:24px;margin-top:0}
.band.dark .prose .linelist li,.band.deep .prose .linelist li{border-color:var(--on-dark-line)}
.band.dark .linelist .ll-i,.band.deep .linelist .ll-i,.band.dark .nolist .nl-a,.band.deep .nolist .nl-a{stroke:var(--on-dark-accent)}

/* Elenchi standard (articoli e testi lunghi): pallino accento al posto del trattino */
.prose ul:not([class])>li,.article-body ul>li{padding-left:1.4em}
.prose ul:not([class])>li::before,.article-body ul>li::before{width:6px;height:6px;border-radius:50%;top:.62em;left:.2em}
.prose .tiles li{padding-top:40px}
.prose .chips--lg li{font-size:var(--step-0);padding:11px 18px}
.prose .chips--lg li:first-letter{text-transform:uppercase}
.prose .tiles{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
.band.dark .prose .tiles li,.band.deep .prose .tiles li{background:rgba(255,255,255,.05)}
.prose .tiles{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (min-width:1100px){.prose .tiles:has(>li:nth-child(8):last-child),.prose .tiles:has(>li:nth-child(4):last-child){grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:900px){.prose .tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Senza icone: punto accento al posto di ✕ / → (richiesta TBD) */
.li-dot{flex:0 0 auto;width:8px;height:8px;margin-top:.55em;border-radius:50%;background:var(--accent)}
.prose .nolist li .li-dot{width:10px;height:10px;margin-top:.5em}
.prose .nolist li{align-items:flex-start}
.band.dark .li-dot,.band.deep .li-dot{background:var(--on-dark-accent)}

/* Qcards: domande guida in riquadri (es. Posizionamento) */
.qcards{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0;padding:0}
.qcards li{display:flex;flex-direction:column;justify-content:space-between;gap:28px;min-height:150px;padding:22px 24px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}
.qcards li:last-child:nth-child(odd){grid-column:1/-1;min-height:120px}
.qcards .qc-n{font-size:.78rem;font-weight:700;letter-spacing:.14em;color:var(--accent-text);font-variant-numeric:tabular-nums}
.qcards .qc-t{font-size:var(--step-1);font-weight:700;letter-spacing:-.02em;line-height:1.2;color:var(--text-primary)}
.band.dark .qcards li,.band.deep .qcards li{border-color:var(--on-dark-line);background:rgba(255,255,255,.05)}
.band.dark .qcards .qc-n,.band.deep .qcards .qc-n{color:var(--on-dark-accent)}
.band.dark .qcards .qc-t,.band.deep .qcards .qc-t{color:var(--on-dark)}
@media (max-width:640px){.qcards{grid-template-columns:1fr}.qcards li{min-height:0}}
.prose .qcards{display:grid;gap:14px}
.prose .qcards li{padding-left:24px}
.prose .qcards li::before{content:none}

/* Cells v2 (pagine interne): riquadri separati, numero grande, niente linee doppie */
.cells{gap:14px;background:none;border:0}
.cells .cell{position:relative;border:1px solid var(--border);border-radius:16px;background:var(--surface);gap:12px;min-height:0;
  padding:clamp(24px,3vw,40px);transition:border-color var(--motion-normal) var(--ease),transform var(--motion-normal) var(--ease),background var(--motion-normal) var(--ease)}
.cells .cell:hover{background:var(--surface);border-color:var(--accent);transform:translateY(-3px)}
.cells .idx{font-size:clamp(2rem,3.2vw,2.8rem);font-weight:800;letter-spacing:-.04em;line-height:1;color:var(--accent);opacity:.35;margin-bottom:8px}
.cells h3,.cells h2{padding-top:0}
.cells h3::before,.cells h2::before{content:none}
.cells .cell>p:first-of-type{margin-top:2px}
.band.dark .cells,.band.deep .cells{background:none}
.band.dark .cells .cell,.band.deep .cells .cell{background:rgba(255,255,255,.04);border-color:var(--on-dark-line)}
.band.dark .cells .cell:hover,.band.deep .cells .cell:hover{background:rgba(255,255,255,.07);border-color:var(--on-dark-accent)}
.band.dark .cells .idx,.band.deep .cells .idx{color:var(--on-dark-accent);opacity:.6}
@media (prefers-reduced-motion:reduce){.cells .cell{transition:none}.cells .cell:hover{transform:none}}
[data-a11y-motion] .cells .cell{transition:none}
[data-a11y-motion] .cells .cell:hover{transform:none}
[data-a11y-contrast] .cells .idx{opacity:1}
.member .bio p{color:var(--text-secondary);line-height:1.55;font-size:var(--step-0)}
.band.dark .member .bio p,.band.deep .member .bio p{color:var(--on-dark-soft)}

/* Team v2: card verticali (foto sopra, testo sotto) — descrizioni più lunghe */
.team{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:clamp(24px,3vw,48px);row-gap:clamp(48px,7vh,88px)}
.team>li:nth-child(even){margin-top:0}
.team>li:nth-child(3n+2){margin-top:clamp(0px,6vh,72px)}
.member{grid-template-columns:1fr;align-items:start;gap:22px}
.member .team-portrait{max-width:none}
.member h3{font-size:var(--step-2)}
.member .role{letter-spacing:.12em;line-height:1.4}
@media (max-width:1100px){.team{grid-template-columns:repeat(2,minmax(0,1fr))}.team>li:nth-child(3n+2){margin-top:0}.team>li:nth-child(even){margin-top:clamp(0px,6vh,72px)}}
@media (max-width:640px){.team{grid-template-columns:1fr}.team>li:nth-child(even){margin-top:0}.member .team-portrait{max-width:420px}}

/* Team v3: griglia regolare e professionale — foto, nome, ruolo; profilo apribile */
.team{grid-template-columns:repeat(4,minmax(0,1fr));column-gap:clamp(20px,2.4vw,36px);row-gap:clamp(40px,6vh,64px);align-items:start}
.team>li:nth-child(n){margin-top:0}
.member{display:flex;flex-direction:column;gap:18px}
.member .team-portrait{border-radius:14px;max-width:none}
.member-body{border-top:1px solid var(--border);padding-top:16px}
.member h3{font-size:var(--step-1);font-weight:700;letter-spacing:-.02em;line-height:1.1}
.member .role{margin-top:8px;font-size:.78rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;line-height:1.45;color:var(--accent-text)}
.member-more{margin-top:14px}
.member-more summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:10px;min-height:44px;font-size:var(--step--1);font-weight:600;color:var(--text-primary)}
.member-more summary::-webkit-details-marker{display:none}
.member-more .mm-ico{position:relative;width:12px;height:12px}
.member-more .mm-ico::before,.member-more .mm-ico::after{content:"";position:absolute;left:0;top:50%;width:12px;height:1.5px;background:var(--accent);transition:transform var(--motion-fast) var(--ease)}
.member-more .mm-ico::after{transform:rotate(90deg)}
.member-more[open] .mm-ico::after{transform:rotate(0)}
.member-more p{margin-top:6px;color:var(--text-secondary);line-height:1.55;font-size:var(--step--1)}
.member-more summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
@media (max-width:1100px){.team{grid-template-columns:repeat(3,minmax(0,1fr))}.team>li:nth-child(n){margin-top:0}}
@media (max-width:760px){.team{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:420px){.team{grid-template-columns:1fr}.member .team-portrait{max-width:none}}
.team-portrait:has(.image-placeholder){border:1px dashed var(--border);background:var(--bg-secondary)}

/* Team v4: 2 colonne, foto accanto al testo, righe allineate */
.team{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(32px,5vw,96px);row-gap:clamp(40px,6vh,72px)}
.team>li:nth-child(n){margin-top:0}
.member{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(20px,2.4vw,36px);align-items:start}
.member-body{border-top:1px solid var(--border);padding-top:18px}
.member h3{font-size:var(--step-2);font-weight:800;letter-spacing:-.03em;line-height:1}
.member .role{margin-top:10px}
.member-bio{margin-top:14px;color:var(--text-secondary);line-height:1.55;font-size:var(--step--1)}
@media (max-width:1100px){.team{grid-template-columns:1fr;max-width:760px}}
@media (max-width:560px){.member{grid-template-columns:1fr}.member .team-portrait{max-width:380px}}
.member-mail{display:inline-flex;align-items:center;min-height:44px;margin-top:6px;font-size:var(--step--1);font-weight:600;color:var(--accent-text);text-decoration:underline;text-decoration-color:transparent;text-underline-offset:4px;transition:text-decoration-color var(--motion-fast) var(--ease);overflow-wrap:anywhere}
.member-mail:hover,.member-mail:focus-visible{text-decoration-color:currentColor}
.member-mail{gap:10px}
.member-mail .mm-env{flex:0 0 auto;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.member-mail span{text-decoration:inherit}
.member-mail{font-weight:400;letter-spacing:.005em}
.member-mail .mm-env{stroke-width:1.3}

/* Social: icone (menu, mega menu, footer) */
.social{list-style:none;display:flex;flex-wrap:wrap;gap:10px;margin:0;padding:0}
.social a{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--on-dark-line);border-radius:50%;color:var(--on-dark);
  transition:background var(--motion-fast) var(--ease),border-color var(--motion-fast) var(--ease),color var(--motion-fast) var(--ease)}
.social a:hover,.social a:focus-visible{background:var(--on-dark-accent);border-color:var(--on-dark-accent);color:var(--band-deep)}
.social .soc-i{width:18px;height:18px;fill:currentColor}
.social .soc-l{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.social--foot{margin-top:18px}
.social--mnav{margin-top:18px}
.mega-foot{flex-wrap:wrap;gap:20px}
.social a{border-color:var(--border);color:var(--text-primary)}
.social a:hover,.social a:focus-visible{background:var(--accent);border-color:var(--accent);color:#fff}
footer .social a{border-color:var(--on-dark-line);color:var(--on-dark)}
footer .social a:hover,footer .social a:focus-visible{background:var(--on-dark-accent);border-color:var(--on-dark-accent);color:var(--band-deep)}
footer .foot-col ul.social,.mega-foot ul.social,.mnav-foot ul.social{display:flex;flex-direction:row;gap:10px}
footer .foot-col ul.social li{margin:0}

/* WhatsApp flottante (in basso a destra; accessibilità resta a sinistra) */
.wa-fab{position:fixed;right:18px;bottom:18px;z-index:140;display:inline-flex;align-items:center;gap:10px;height:52px;padding:0 18px 0 14px;border-radius:999px;
  background:#25D366;color:#0B3D24;font-weight:700;font-size:var(--step--1);box-shadow:0 8px 24px rgba(0,0,0,.18);
  transition:transform var(--motion-fast) var(--ease),box-shadow var(--motion-fast) var(--ease)}
.wa-fab svg{width:24px;height:24px;fill:currentColor;flex:0 0 auto}
.wa-fab:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(0,0,0,.24)}
.wa-fab:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
body.nav-lock .wa-fab{opacity:0;pointer-events:none}
@media (max-width:640px){.wa-fab{width:52px;padding:0;justify-content:center}.wa-fab .wa-label{display:none}}
@media print{.wa-fab{display:none}}
[data-a11y-motion] .wa-fab{transition:none}
/* WhatsApp: testo e icona bianchi; verde scurito per contrasto AA (5:1) */
.wa-fab{background:#15803D;color:#fff}
.wa-fab:hover{background:#166534}

/* ===== Articolo editoriale v2 (Insights): elementi aggiuntivi ===== */
.hero-sub--abstract{max-width:62ch;font-style:normal}
.article-body .answer{font-size:var(--step-1);line-height:1.45;color:var(--text-primary);padding-left:18px;border-left:3px solid var(--accent)}
.article-body .answer strong{color:var(--heading-accent)}
.article-body .check{padding:14px 18px;background:var(--bg-secondary);border-radius:10px;color:var(--text-primary)}
.article-body .check strong{color:var(--accent-text)}
.article-body .aside-link{font-size:var(--step--1);color:var(--text-secondary)}
.article-body a:not(.cta-btn){color:var(--accent-text);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.article-body a:not(.cta-btn):hover{text-decoration-thickness:2px}
.article-body code{font-size:.92em;padding:.1em .4em;border-radius:4px;background:var(--bg-secondary)}
.article-body .def strong{color:var(--text-primary)}
/* definizioni */
.article-body .defs{display:grid;gap:0;border-top:1px solid var(--border)}
.article-body .defs>div{display:grid;grid-template-columns:minmax(0,13em) minmax(0,1fr);gap:8px 24px;padding:14px 0;border-bottom:1px solid var(--border)}
.article-body .defs dt{font-weight:700;color:var(--text-primary)}
.article-body .defs dd{margin:0;line-height:1.6}
.article-body .defs--grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;border-top:0}
.article-body .defs--grid>div{grid-template-columns:1fr;border:1px solid var(--border);border-radius:12px;padding:16px 18px}
.article-body .defs--grid dt{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-text)}
/* confronto */
.article-body .compare{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.article-body .compare-item{margin:0;padding:18px 20px;border-radius:12px;border:1px solid var(--border)}
.article-body .compare-item figcaption{font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--text-secondary);margin-bottom:10px}
.article-body .compare-item blockquote{margin:0}
.article-body .compare-item p{color:var(--text-primary);line-height:1.5}
.article-body .compare-item.is-weak p{color:var(--text-secondary);text-decoration:line-through;text-decoration-color:color-mix(in srgb,currentColor 35%,transparent)}
.article-body .compare-item.is-strong{border-color:var(--accent);background:var(--bg-secondary)}
.article-body .compare-item.is-strong figcaption{color:var(--accent-text)}
/* tabella */
.article-body .table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:12px}
.article-body .table-wrap:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.article-body table{width:100%;border-collapse:collapse;font-size:var(--step--1);min-width:420px}
.article-body caption{text-align:left;padding:14px 18px 6px;font-weight:700;color:var(--text-primary)}
.article-body th,.article-body td{text-align:left;padding:12px 18px;border-top:1px solid var(--border);vertical-align:top;line-height:1.5}
.article-body thead th{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-text);border-top:0}
.article-body tbody th{color:var(--text-primary);font-weight:600;width:38%}
/* due liste affiancate */
.article-body .split-lists{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.article-body .split-lists>div{padding:18px 20px;border:1px solid var(--border);border-radius:12px}
.article-body .split-lists h3{margin-top:0}
.article-body .split-lists>div>*+*{margin-top:.8em}
/* osservatorio */
.article-body .observatory{margin-top:2.6em;padding:clamp(24px,4vw,44px);border-radius:16px;background:var(--band-deep);color:var(--on-dark-soft)}
.article-body .observatory>*+*{margin-top:1em}
.article-body .observatory .obs-label{display:block;font-size:.72rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--on-dark-accent)}
.article-body .observatory h2{font-size:var(--step-2);font-weight:800;letter-spacing:-.025em;line-height:1.1;color:var(--on-dark);margin-top:.5em;scroll-margin-top:110px}
.article-body .observatory .obs-q{font-size:var(--step-1);font-weight:600;line-height:1.35;color:var(--on-dark);letter-spacing:-.015em}
.article-body .observatory .obs-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.article-body .observatory .obs-list>div{padding:16px 18px;border:1px solid var(--on-dark-line);border-radius:12px}
.article-body .observatory .obs-list>div:last-child:nth-child(odd){grid-column:1/-1}
.article-body .observatory dt{font-weight:700;color:var(--on-dark)}
.article-body .observatory dd{margin:6px 0 0;line-height:1.55}
/* fonti */
.article-sources{margin-top:3em;padding-top:24px;border-top:1px solid var(--border)}
.article-sources h2{font-size:.78rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--accent-text)}
.article-sources ol{margin-top:14px;padding-left:1.2em;display:grid;gap:8px;font-size:var(--step--1);color:var(--text-secondary)}
.article-sources a{color:var(--text-primary);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
/* CTA box */
.article-cta--box{display:block;border:0;border-radius:18px;background:var(--band-dark);color:var(--on-dark-soft);padding:clamp(28px,4.5vw,52px)}
.article-cta--box h2{font-size:var(--step-2);font-weight:800;letter-spacing:-.025em;line-height:1.1;color:var(--on-dark);max-width:22ch}
.article-cta--box .cta-text{margin-top:14px;font-size:var(--step-0);font-weight:400;color:var(--on-dark-soft);max-width:52ch;line-height:1.55;letter-spacing:0}
.article-cta--box .cta-btn{margin-top:24px}
.article-cta--box .cta-contact{margin-top:18px;font-size:var(--step--1);font-weight:400;max-width:none;color:var(--on-dark-soft);letter-spacing:0}
.article-cta--box .cta-contact a{color:var(--on-dark);text-decoration:underline;text-underline-offset:3px}
.author-box .avatar--org{border-style:solid;background:#fff}
.author-box .avatar--org img{filter:none;object-fit:contain;padding:10px}
@media (max-width:640px){
  .article-body .defs>div{grid-template-columns:1fr}
  .article-body .defs--grid,.article-body .compare,.article-body .split-lists,.article-body .observatory .obs-list{grid-template-columns:1fr}
}
/* Insights: articolo in evidenza */
.feature{margin-top:clamp(24px,4vh,40px);padding:clamp(28px,5vw,64px);border-radius:20px;background:var(--band-deep);color:var(--on-dark-soft);display:grid;gap:18px;position:relative;overflow:hidden}
.feature::after{content:"";position:absolute;right:-12%;top:-30%;width:46%;aspect-ratio:1;border-radius:50%;border:1px solid var(--on-dark-line);pointer-events:none}
.feature-meta{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:.78rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--on-dark-soft)}
.feature-meta .post-cat{color:var(--on-dark-accent)}
.feature-title{font-size:clamp(2rem,4.6vw,4rem);font-weight:800;letter-spacing:-.035em;line-height:1.02;color:var(--on-dark);max-width:18ch;position:relative;z-index:1}
.feature-title a{color:inherit;background:linear-gradient(currentColor,currentColor) 0 100%/0 2px no-repeat;transition:background-size var(--motion-normal) var(--ease)}
.feature-title a:hover,.feature-title a:focus-visible{background-size:100% 2px}
.feature-title a::before{content:"";position:absolute;inset:0}
.feature{isolation:isolate}
.feature-abstract{max-width:62ch;font-size:var(--step-1);font-weight:300;line-height:1.45;color:var(--on-dark-soft);position:relative;z-index:1}
.feature .text-link{color:var(--on-dark-accent);position:relative;z-index:1;pointer-events:none}
.feature-title a:focus-visible{outline:2px solid var(--on-dark-accent);outline-offset:4px}
[data-theme="light"]:not([data-a11y-contrast]) .observatory,[data-theme="light"]:not([data-a11y-contrast]) .feature,[data-theme="light"]:not([data-a11y-contrast]) .article-cta--box{--on-dark-soft:rgba(255,255,255,.92);--on-dark-line:rgba(255,255,255,.32);--on-dark-accent:#FFFFFF}
.article-body .observatory p,.article-body .observatory dd{color:var(--on-dark-soft)}
.article-body .observatory .obs-q{color:var(--on-dark)}
.feature-meta,.feature-meta span{color:var(--on-dark)}
[data-theme="light"]:not([data-a11y-contrast]) .article-body .observatory p,[data-theme="light"]:not([data-a11y-contrast]) .article-body .observatory dd,[data-theme="light"]:not([data-a11y-contrast]) .feature-abstract{color:#fff}
.article-main,.article-body{min-width:0}
@media (max-width:1100px){.article-layout{grid-template-columns:minmax(0,1fr)}}
@media (max-width:640px){.article-body table{min-width:0}.article-body th,.article-body td{padding:10px 12px}}

/* ===== Revisione mobile 29/10/2026 ===== */
/* aree di tocco ≥ 44px (WCAG 2.5.5 / linee guida iOS-Android) */
.crumbs a{display:inline-flex;align-items:center;min-height:44px}
.crumbs ol{gap:0}
.foot-col a{min-height:44px}
.contact-list a{display:inline-flex;align-items:center;min-height:44px}
.feature-meta .post-cat{display:inline-flex;align-items:center;min-height:44px;margin:-12px 0}
/* testo minimo 12px per etichette maiuscole */
.foot-h,.post-cat,.upcoming-list .post-cat,.article-meta dt,.ph-flag,.article-body thead th,.article-body .compare-item figcaption,.article-body .observatory .obs-label,.article-sources h2,.member .role,.toc p,.feature-meta{font-size:max(.75rem,12px)}
@media (max-width:640px){
  .crumbs{margin-bottom:12px}
  .article-meta{gap:14px 22px}
  .article-cta--box .cta-btn{width:100%;justify-content:center}
  .feature{padding:24px 20px;border-radius:16px}
  .feature::after{display:none}
  .article-body .observatory{padding:22px 18px;border-radius:14px;margin-left:-4px;margin-right:-4px}
  .wa-fab{right:14px;bottom:14px}
  .a11y-fab{left:14px;bottom:14px}
}
.hero--page{overflow:hidden}
html{overflow-x:clip}
.article-body .q{color:var(--accent-text)}

/* ===== Contatti v2 ===== */
.pc-intro{margin-top:clamp(40px,7vh,72px);font-size:var(--step-1);font-weight:300;color:var(--text-primary)}
.pcards{list-style:none;margin:20px 0 0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.pcards li{display:flex;flex-direction:column;justify-content:space-between;gap:36px;min-height:170px;padding:22px 20px;border:1px solid var(--border);border-radius:16px;background:var(--surface);
  transition:border-color var(--motion-normal) var(--ease),transform var(--motion-normal) var(--ease)}
.pcards li:hover{border-color:var(--accent);transform:translateY(-3px)}
.pcards .pc-n{font-size:clamp(1.8rem,2.6vw,2.4rem);font-weight:800;letter-spacing:-.04em;line-height:1;color:var(--accent);opacity:.35}
.pcards .pc-t{font-size:var(--step-1);font-weight:700;letter-spacing:-.02em;line-height:1.2;color:var(--text-primary)}
.pc-foot{margin-top:clamp(28px,5vh,44px);display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:12px 32px;padding-top:24px;border-top:1px solid var(--border)}
.pc-foot p{color:var(--text-secondary);font-size:var(--step-0)}
.pc-foot .kicker{font-size:var(--step-1);font-weight:600;letter-spacing:-.02em;color:var(--heading-accent)}
.pc-foot .kicker strong{color:inherit}
@media (max-width:1100px){.pcards{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:640px){.pcards{grid-template-columns:1fr 1fr}.pcards li{min-height:130px;gap:20px;padding:18px 16px}.pcards li:last-child{grid-column:1/-1}.pcards .pc-t{font-size:var(--step-0)}}
@media (prefers-reduced-motion:reduce){.pcards li{transition:none}.pcards li:hover{transform:none}}
[data-a11y-motion] .pcards li:hover{transform:none}

.contact-section .split{align-items:start}
.contact-card{position:sticky;top:110px;padding:clamp(24px,3vw,36px);border-radius:18px;background:var(--band-dark);color:var(--on-dark-soft)}
.contact-card .eyebrow{color:var(--on-dark-accent)}
.contact-card h2{margin-top:14px;font-size:var(--step-2);font-weight:800;letter-spacing:-.03em;line-height:1.05;color:var(--on-dark)}
.contact-card .contact-list{margin-top:22px;border-top:1px solid var(--on-dark-line)}
.contact-card .contact-list li{grid-template-columns:96px minmax(0,1fr);padding:12px 0;border-bottom:1px solid var(--on-dark-line);align-items:center}
.contact-card .contact-list .k{color:var(--on-dark-accent);font-size:max(.75rem,12px)}
.contact-card .contact-list a,.contact-card .contact-list span{color:var(--on-dark);overflow-wrap:anywhere}
.contact-card .contact-list a:hover{color:var(--on-dark-accent)}
.contact-card .cc-cal{margin-top:24px;background:#fff;color:var(--navy-900)}
.contact-card .social{margin-top:22px}
.contact-card .social a{border-color:var(--on-dark-line);color:var(--on-dark)}
.contact-card .social a:hover,.contact-card .social a:focus-visible{background:var(--on-dark-accent);border-color:var(--on-dark-accent);color:var(--band-deep)}
[data-theme="light"]:not([data-a11y-contrast]) .contact-card{--on-dark-soft:rgba(255,255,255,.92);--on-dark-line:rgba(255,255,255,.28)}

.form-panel{padding:clamp(24px,4vw,48px);border-radius:20px;background:var(--surface);border:1px solid var(--border);box-shadow:0 30px 60px -40px rgba(4,30,44,.35)}
.form-panel .form{gap:22px 20px}
.form-panel .field{gap:8px}
.form-panel .field label{font-size:max(.75rem,12px);letter-spacing:.12em;color:var(--text-secondary)}
.form-panel .field input,.form-panel .field select,.form-panel .field textarea{border:1px solid var(--border);border-radius:12px;padding:14px 16px;background:var(--bg-primary);font-size:16px;min-height:52px;transition:border-color var(--motion-fast) var(--ease),box-shadow var(--motion-fast) var(--ease)}
.form-panel .field select{padding-right:42px;background-position:calc(100% - 22px) 52%,calc(100% - 16px) 52%}
.form-panel .field input:hover,.form-panel .field select:hover,.form-panel .field textarea:hover{border-color:var(--text-secondary)}
.form-panel .field input:focus,.form-panel .field select:focus,.form-panel .field textarea:focus{border-color:var(--accent-text);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent)}
.form-panel .field [aria-invalid="true"]{border-color:var(--error)}
.form-panel .field textarea{min-height:170px}
.form-panel .check{padding:16px 18px;border-radius:12px;background:var(--bg-secondary);font-size:var(--step--1)}
.form-panel .form-actions{justify-content:space-between;padding-top:6px}
.form-panel .form-actions .hint{color:var(--text-secondary);font-size:var(--step--1)}
.form-panel .form-status{border-radius:12px;margin-bottom:22px}
.form-after{margin-top:28px;padding-top:22px;border-top:1px solid var(--border)}
.form-after p{margin-top:8px;color:var(--text-primary);line-height:1.5}
@media (max-width:1100px){.contact-card{position:static}}
@media (max-width:640px){.form-panel{padding:20px 16px;border-radius:16px;margin:0 -4px}.form-panel .form-actions .cta-btn{width:100%;justify-content:center}}
.form-panel .field label.check{text-transform:none;letter-spacing:0;font-weight:400;font-size:var(--step--1);color:var(--text-secondary);line-height:1.5}
.form-panel .field label.check a{text-transform:none}
.pcards .pc-n{color:var(--accent-text);opacity:.7}
@media (max-width:420px){
  .contact-card .contact-list li{grid-template-columns:1fr;gap:2px;padding:12px 0}
  .contact-card .contact-list a,.contact-card .contact-list span{overflow-wrap:normal}
}
