/* ==========================================================================
   SCA Polish — overlay su identity.css / sca-variant.css
   Caricare DOPO i due fogli esistenti. Nessuna modifica ai file originali.
   Rimuovere il <link> per tornare al look precedente.
   ========================================================================== */

/* ---- 1. Font locali (niente CDN: coerente con "offline-first") ---------- */
@font-face{font-family:"Inter";font-weight:400;font-style:normal;font-display:swap;src:url("../fonts/inter-400.woff2") format("woff2")}
@font-face{font-family:"Inter";font-weight:500;font-style:normal;font-display:swap;src:url("../fonts/inter-500.woff2") format("woff2")}
@font-face{font-family:"Inter";font-weight:600;font-style:normal;font-display:swap;src:url("../fonts/inter-600.woff2") format("woff2")}
@font-face{font-family:"Inter Display";font-weight:700;font-style:normal;font-display:swap;src:url("../fonts/inter-display-700.woff2") format("woff2")}

/* ---- 2. Token aggiuntivi ------------------------------------------------ */
:root{
  --sca-blue:#0e90fe;                       /* blu del marchio (swoosh) */
  --sca-mark-fg:#0f2f58; --sca-mark-accent:var(--sca-blue);
  --sca-mono:ui-monospace,"SF Mono","JetBrains Mono","Roboto Mono",Menlo,Consolas,monospace;
  --sca-display:"Inter Display","Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
  --sca-panel:linear-gradient(165deg,#0f2f58 0%,#0a1d33 55%,#071322 100%);
  --sca-dial:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%22-104 -104 208 208%22 stroke=%22%23000%22 fill=%22none%22 stroke-linecap=%22round%22%3E%3Cline x1=%220%22 y1=%22-86%22 x2=%220%22 y2=%22-99%22 stroke-width=%221.8%22 transform=%22rotate(-135.00)%22/%3E%3Cline x1=%220%22 y1=%22-86%22 x2=%220%22 y2=%22-92%22 stroke-width=%221%22 transform=%22rotate(-128.25)%22/%3E%3Cline x1=%220%22 y1=%22-86%22 x2=%220%22 y2=%22-92%22 stroke-width=%221%22 transform=%22rotate(-121.50)%22/%3E%3Cline x1=%220%22 y1=%22-86%22 x2=%220%22 y2=%22-92%22 stroke-width=%221%22 transform=%22rotate(-114.75)%22/%3E%3Cline x1=%220%22 y1=%22-86%22 x2=%220%22 y2=%22-92%22 stroke-width=%221%22 transform=%22rotate(-108.00)%22/%3E%3Cline x1=%220%22 y1=%22-86%22 x2=%220%22 y2=%22-99%22 stroke-width=%221.8%22 transform=%22rotate(-101.25)%22/%3E%3Cline x1=%220%22 y1=%22-86%22 x2=%220%22 y2=%22-92%22 stroke-width=%221%22 transform=%22rotate(-94.50)%22/%3E%3Cline x1=%220%22 y1=%22-86%22 x2=%220%22 y2=%22-92%22 stroke-width=%221%22 transform=%22rotate(-87.75)%22/%3E%3Cline x1=%220%22 y1=%22-86%22 x2=%220%22 y2=%22-92%22 stroke-width=%221%22 transform=%22rotate(-81.00)%22/%3E%3Cline x1=%220%22 y1=%22-86%22 x2=%220%22 y2=%22-92%22 stroke-width=%221%22 transform=%22rotate(-74.25)%22/%3E%3Cline x1=%220%22 y1=%22-86%22 x2=%220%22 y2=%22-99%22 stroke-width=%221.8%22 transform=%22rotate(-67.50)%22/%3E%3Cline x1=%220%22 y1=%22-86%22 x2=%220%22 y2=%22-92%22 stroke-width=%221%22 transform=%22rotate(-60.75)%22/%3E%3Cline x1=%220%22 y1=%22-86%22 x2=%220%22 y2=%22-92%22 stroke-width=%221%22 transform=%22rotate(-54.00)%22/%3E%3Cline x1=%220%22 y1=%22-86%22 x2=%220%22 y2=%22-92%22 stroke-width=%221%22 transform=%22rotate(-47.25)%22/%3E%3Cline x1=%220%22 y1=%22-86%22 x2=%220%22 y2=%22-92%22 stroke-width=%221%22 transform=%22rotate(-40.50)%22/%3E%3Cline x1=%220%22 y1=%22-86%22 x2=%220%22 y2=%22-99%22 stroke-width=%221.8%22 transform=%22rotate(-33.75)%22/%3E%3Cline x1=%220%22 y1=%22-86%22 x2=%220%22 y2=%22-92%22 stroke-width=%221%22 transform=%22rotate(-27.00)%22/%3E%3Cline x1=%220%22 y1=%22-86%22 x2=%220%22 y2=%22-92%22 stroke-width=%221%22 transform=%22rotate(-20.25)%22/%3E%3Cline x1=%220%22 y1=%22-86%22 x2=%220%22 y2=%22-92%22 stroke-width=%221%22 transform=%22rotate(-13.50)%22/%3E%3Cline x1=%220%22 y1=%22-86%22 x2=%220%22 y2=%22-92%22 stroke-width=%221%22 transform=%22rotate(-6.75)%22/%3E%3Cline x1=%220%22 y1=%22-86%22 x2=%220%22 y2=%22-99%22 stroke-width=%221.8%22 transform=%22rotate(0.00)%22/%3E%3Cline x1=%220%22 y1=%22-86%22 x2=%220%22 y2=%22-92%22 stroke-width=%221%22 transform=%22rotate(6.75)%22/%3E%3Cline x1=%220%22 y1=%22-86%22 x2=%220%22 y2=%22-92%22 stroke-width=%221%22 transform=%22rotate(13.50)%22/%3E%3Cline x1=%220%22 y1=%22-86%22 x2=%220%22 y2=%22-92%22 stroke-width=%221%22 transform=%22rotate(20.25)%22/%3E%3Cline x1=%220%22 y1=%22-86%22 x2=%220%22 y2=%22-92%22 stroke-width=%221%22 transform=%22rotate(27.00)%22/%3E%3Cline x1=%220%22 y1=%22-86%22 x2=%220%22 y2=%22-99%22 stroke-width=%221.8%22 transform=%22rotate(33.75)%22/%3E%3Cline x1=%220%22 y1=%22-86%22 x2=%220%22 y2=%22-92%22 stroke-width=%221%22 transform=%22rotate(40.50)%22/%3E%3Cline x1=%220%22 y1=%22-86%22 x2=%220%22 y2=%22-92%22 stroke-width=%221%22 transform=%22rotate(47.25)%22/%3E%3Cline x1=%220%22 y1=%22-86%22 x2=%220%22 y2=%22-92%22 stroke-width=%221%22 transform=%22rotate(54.00)%22/%3E%3Cline x1=%220%22 y1=%22-86%22 x2=%220%22 y2=%22-92%22 stroke-width=%221%22 transform=%22rotate(60.75)%22/%3E%3Cline x1=%220%22 y1=%22-86%22 x2=%220%22 y2=%22-99%22 stroke-width=%221.8%22 transform=%22rotate(67.50)%22/%3E%3Cline x1=%220%22 y1=%22-86%22 x2=%220%22 y2=%22-92%22 stroke-width=%221%22 transform=%22rotate(74.25)%22/%3E%3Cline x1=%220%22 y1=%22-86%22 x2=%220%22 y2=%22-92%22 stroke-width=%221%22 transform=%22rotate(81.00)%22/%3E%3Cline x1=%220%22 y1=%22-86%22 x2=%220%22 y2=%22-92%22 stroke-width=%221%22 transform=%22rotate(87.75)%22/%3E%3Cline x1=%220%22 y1=%22-86%22 x2=%220%22 y2=%22-92%22 stroke-width=%221%22 transform=%22rotate(94.50)%22/%3E%3Cline x1=%220%22 y1=%22-86%22 x2=%220%22 y2=%22-99%22 stroke-width=%221.8%22 transform=%22rotate(101.25)%22/%3E%3Cline x1=%220%22 y1=%22-86%22 x2=%220%22 y2=%22-92%22 stroke-width=%221%22 transform=%22rotate(108.00)%22/%3E%3Cline x1=%220%22 y1=%22-86%22 x2=%220%22 y2=%22-92%22 stroke-width=%221%22 transform=%22rotate(114.75)%22/%3E%3Cline x1=%220%22 y1=%22-86%22 x2=%220%22 y2=%22-92%22 stroke-width=%221%22 transform=%22rotate(121.50)%22/%3E%3Cline x1=%220%22 y1=%22-86%22 x2=%220%22 y2=%22-92%22 stroke-width=%221%22 transform=%22rotate(128.25)%22/%3E%3Cline x1=%220%22 y1=%22-86%22 x2=%220%22 y2=%22-99%22 stroke-width=%221.8%22 transform=%22rotate(135.00)%22/%3E%3Cpath d=%22M-60.8 60.8A86 86 0 1 1 60.8 60.8%22 stroke-width=%220.8%22/%3E%3Cpath d=%22M-60.8 60.8A70 70 0 1 1 60.8 60.8%22 stroke-width=%220.5%22 stroke-dasharray=%221 4%22/%3E%3C/svg%3E");
  --sca-tick:#62bfff; --sca-ease:cubic-bezier(.2,.7,.2,1);
  --sca-glow:0 0 0 1px #62bfff22,0 30px 60px -24px #0e90fe66;
}
html[data-sca-variant="consultant"]{
  --sca-mark-fg:#edf2fd;
  --sca-panel:linear-gradient(165deg,#0c1d2d 0%,#08131d 60%,#060b11 100%);
}
body{font-feature-settings:"cv05","ss01" 0,"kern";font-variant-numeric:tabular-nums;text-rendering:optimizeLegibility}
.sc-site :is(h1,h2){font-family:var(--sca-display);font-weight:700;letter-spacing:-.032em}
.sc-site h3{font-weight:600;letter-spacing:-.015em}
.sc-site :is(h1,h2,h3,h4){font-weight:inherit}
.sc-site h1{font-weight:700}.sc-site h2{font-weight:700}.sc-site h3{font-weight:600}

/* ---- 3. Etichette "da strumento" (eyebrow, numeri, stato) -------------- */
.sc-eyebrow,.sc-status,.sc-step-number{font-family:var(--sca-mono);font-size:var(--fs-2xs)!important;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.sc-step-number{font-size:var(--fs-2xs);display:inline-flex;align-items:center;gap:var(--sp-2)}
.sc-step-number::after{content:"";width:2.2rem;height:1px;background:currentColor;opacity:.35}

/* ---- 4. Header --------------------------------------------------------- */
.sc-header{background:color-mix(in srgb,var(--sc-paper) 84%,transparent);-webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px);transition:box-shadow .3s var(--sca-ease),border-color .3s}
.sc-header.is-scrolled{box-shadow:0 10px 30px -18px #000a;border-bottom-color:color-mix(in srgb,var(--sc-line) 70%,var(--sc-accent))}
.sc-brand{gap:.8rem}
.sc-site .sc-brand-mark{width:72px;height:auto;aspect-ratio:1145/665;flex-shrink:0;overflow:visible}
.sc-site .sc-footer-brand .sc-brand-mark{width:104px}
.sc-brand>span{display:flex;flex-direction:column;gap:var(--sp-1);font-family:var(--sca-display);font-weight:700;font-size:var(--fs-md);letter-spacing:-.02em;line-height:1}
.sc-brand-sub{font-family:var(--sca-mono)!important;font-size:.625rem!important;font-weight:600!important;letter-spacing:.26em!important;text-transform:uppercase;color:var(--sc-accent)!important}
.sc-desktop-nav a{position:relative;border-radius:8px;transition:color .2s}
.sc-desktop-nav a::after{content:"";position:absolute;left:.75rem;right:.75rem;bottom:.35rem;height:2px;border-radius:2px;background:var(--sc-accent);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--sca-ease)}
.sc-desktop-nav a:hover::after,.sc-desktop-nav a[aria-current]::after{transform:scaleX(1)}
.sc-site .sc-desktop-nav a:hover{text-decoration:none}
.sc-language{border:1px solid var(--sc-line);border-radius:10px;font-family:var(--sca-mono);font-size:var(--fs-2xs)!important;font-weight:600;letter-spacing:.08em;min-width:44px;transition:border-color .2s,background .2s}
.sc-site .sc-language:hover{border-color:var(--sc-accent);background:var(--sc-surface);text-decoration:none}
.sc-theme-switch{background:var(--sc-surface);border-radius:12px;padding:3px}
.sc-theme-switch a{gap:.4rem;border-radius:9px;transition:background .2s,color .2s;font-weight:500}
.sc-theme-switch a::before{content:"";width:14px;height:14px;background:currentColor;-webkit-mask:var(--sca-ic) center/contain no-repeat;mask:var(--sca-ic) center/contain no-repeat}
.sc-theme-switch a[href*="design=sca"]{--sca-ic:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M21 12.8A9 9 0 1 1 11.2 3a7 7 0 0 0 9.8 9.8Z%22/%3E%3C/svg%3E")}
.sc-theme-switch a[href*="design=original"]{--sca-ic:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222%22 stroke-linecap=%22round%22%3E%3Ccircle cx=%2212%22 cy=%2212%22 r=%224%22/%3E%3Cpath d=%22M12 2v2M12 20v2M4.9 4.9l1.4 1.4M17.7 17.7l1.4 1.4M2 12h2M20 12h2M4.9 19.1l1.4-1.4M17.7 6.3l1.4-1.4%22/%3E%3C/svg%3E")}
.sc-theme-switch [aria-current=true]{background:var(--sc-white);box-shadow:0 1px 0 #fff1 inset,0 2px 8px -4px #000a;font-weight:600}
.sc-site .sc-theme-switch a:hover{text-decoration:none;color:var(--sc-ink)}

/* ---- 5. Bottoni e link ------------------------------------------------- */
.sc-site .sc-btn{transition:transform .2s var(--sca-ease),box-shadow .25s,border-color .2s,background .2s}
.sc-site .sc-btn-primary{background:linear-gradient(180deg,var(--sc-action),color-mix(in srgb,var(--sc-action) 88%,#000));box-shadow:0 1px 0 #fff3 inset,0 10px 24px -12px var(--sca-blue)}
.sc-site .sc-btn-primary:hover{transform:translateY(-1px);box-shadow:0 1px 0 #fff3 inset,0 16px 30px -12px var(--sca-blue);text-decoration:none}
.sc-site .sc-btn:active{transform:translateY(0)}
.sc-site .sc-link,.sc-site .sc-feature a,.sc-site .sc-steps a{transition:letter-spacing .25s var(--sca-ease)}
.sc-site .sc-link:hover,.sc-site .sc-feature a:hover,.sc-site .sc-steps a:hover{text-decoration:none;letter-spacing:.012em}
:where(a,button,summary,[tabindex]):focus-visible{outline:2px solid var(--sc-accent);outline-offset:3px;border-radius:6px;box-shadow:0 0 0 5px color-mix(in srgb,var(--sc-accent) 25%,transparent)}

/* ---- 6. Hero: pannello strumentazione ---------------------------------- */
.sc-hero-panel{grid-template-columns:minmax(0,1.12fr) minmax(300px,.88fr);gap:0;padding:0;overflow:hidden;border-radius:28px;box-shadow:var(--sc-shadow)}
.sc-hero-copy{padding:clamp(1.5rem,4vw,3.25rem)}
.sc-hero h1{max-width:13ch;font-size:var(--fs-5xl);line-height:var(--lh-h1)}
.sc-hero-visual{position:relative;isolation:isolate;align-self:stretch;justify-self:stretch;width:auto;margin:0;padding:2.75rem 1.5rem 2rem;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;background:var(--sca-panel);border-left:1px solid var(--sc-line);color:#a5b6c6}
.sc-hero-visual::before{content:"";position:absolute;z-index:-1;inset:8% -2% 8% -2%;background:var(--sca-tick);opacity:.3;-webkit-mask:var(--sca-dial) center/contain no-repeat;mask:var(--sca-dial) center/contain no-repeat}
.sc-hero-visual::after{content:"";position:absolute;z-index:-1;left:50%;top:48%;width:70%;aspect-ratio:1;translate:-50% -50%;background:radial-gradient(closest-side,#0e90fe55,transparent);filter:blur(10px)}
.sc-hero-visual .sc-image-link{width:min(100%,262px);border:7px solid #1b2f40;border-radius:30px;box-shadow:0 40px 70px -28px #000c,0 0 0 1px #ffffff14 inset,var(--sca-glow);transition:transform .5s var(--sca-ease)}
.sc-hero-visual .sc-image-link:hover{transform:translateY(-4px) rotate(-.6deg)}
.sc-hero-visual figcaption{color:#a5b6c6;font-family:var(--sca-mono);font-size:var(--fs-2xs);letter-spacing:.1em;text-transform:uppercase}
.sc-hero-visual figcaption span{opacity:.7}
.sc-site .sca-gauge{position:absolute;left:-2%;top:8%;width:104%;height:84%;z-index:-1;pointer-events:none;overflow:visible}
.sca-gauge path{fill:none;stroke:var(--sca-blue);stroke-width:2.2;stroke-linecap:round;stroke-dasharray:var(--len);stroke-dashoffset:var(--len);animation:sca-sweep 1.6s .25s var(--sca-ease) forwards}
@keyframes sca-sweep{to{stroke-dashoffset:calc(var(--len)*.34)}}
.hero-benefit svg{color:var(--sc-accent)}
.sc-bridge{padding-top:2rem}

/* ---- 7. Funzioni ------------------------------------------------------- */
.sc-feature{position:relative;transition:border-color .3s}
.sc-feature::before{content:"";position:absolute;left:0;right:100%;top:-2px;height:2px;background:var(--sc-accent);transition:right .5s var(--sca-ease)}
.sc-feature:hover::before{right:0}
.sc-feature-more>div{align-items:center;gap:var(--sp-3);font-weight:600;font-size:var(--fs-sm)}
.sc-feature-more svg{box-sizing:content-box;width:20px;height:20px;padding:10px;border-radius:12px;background:color-mix(in srgb,var(--sc-accent) 12%,transparent);border:1px solid color-mix(in srgb,var(--sc-accent) 28%,transparent)}
.sc-feature-more small{font-weight:400;font-size:var(--fs-sm)}

/* ---- 8. Demo interattiva ---------------------------------------------- */
.sc-explorer-panel{border-radius:28px;box-shadow:var(--sc-shadow)}
.sc-explorer-copy{align-self:center}
.sc-tabs{flex-direction:column;gap:.5rem;counter-reset:scatab}
.sc-tabs button{display:flex;align-items:center;gap:.9rem;width:100%;text-align:left;padding:.75rem 1rem;border-radius:14px;font-weight:600;transition:background .2s,border-color .2s,transform .2s var(--sca-ease)}
.sc-tabs button::before{content:none}
.sc-tabs button:hover{border-color:var(--sc-accent);transform:translateX(2px)}
.sc-tabs button[aria-selected=true]{box-shadow:0 10px 24px -14px var(--sca-blue)}
.sc-tabs button[aria-selected=true]::before{opacity:1}
.sc-phone{border:7px solid #1b2f40;border-radius:32px;box-shadow:0 40px 70px -30px #000b,0 0 0 1px #ffffff12 inset}
.sc-explorer-figure figcaption{font-family:var(--sca-mono);font-size:var(--fs-2xs);letter-spacing:.04em}
.legacy-sample-badge{font-family:var(--sca-mono)!important;letter-spacing:.08em;text-transform:uppercase;font-size:9px!important;background:#0e90fe!important;color:#04121f!important}
.legacy-hotspot{box-shadow:0 6px 18px -6px #000a;transition:transform .2s var(--sca-ease),background .2s}
.legacy-hotspot:hover{transform:translateX(-2px)}

/* ---- 9. Visione ------------------------------------------------------- */
.sc-vision{background:linear-gradient(180deg,var(--sc-dark),color-mix(in srgb,var(--sc-dark) 70%,var(--sc-paper)))}
.sc-site blockquote{font-family:var(--sca-display);font-weight:600;border-left-width:4px;border-image:linear-gradient(180deg,var(--sca-blue),transparent) 1}
.sc-pillars{counter-reset:scap}
.sc-pillar{transition:border-color .3s}
.sc-pillar:hover{border-top-color:var(--sc-accent)}
.sc-pillar h3::before{counter-increment:scap;content:counter(scap,decimal-leading-zero);display:block;margin-bottom:.6rem;font-family:var(--sca-mono);font-size:var(--fs-2xs);font-weight:600;letter-spacing:.12em;color:var(--sc-accent)}

/* Diagramma "due tempi" (snippet opzionale: snippets/vision-lifecycle-*.html) */
.sca-lifecycle{margin-block:2.5rem;padding:1.5rem clamp(1rem,3vw,2rem);border:1px solid var(--sc-line);border-radius:20px;background:var(--sc-white)}
.sca-lifecycle figcaption{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1.25rem;font-family:var(--sca-mono);font-size:var(--fs-2xs);letter-spacing:.1em;text-transform:uppercase;color:var(--sc-muted)}
.sca-lc-row{display:grid;grid-template-columns:minmax(7.5rem,11rem) 1fr;gap:1rem;align-items:center;padding-block:.55rem}
.sca-lc-label{font-size:var(--fs-sm);font-weight:600;color:var(--sc-ink)}
.sca-lc-track{position:relative;height:14px;border-radius:99px;background:color-mix(in srgb,var(--sc-line) 50%,transparent)}
.sca-lc-bar{position:absolute;left:0;top:0;bottom:0;border-radius:99px;width:var(--w);background:var(--sc-muted);transform-origin:left;animation:sca-grow 1.1s var(--sca-ease) both}
.sca-lc-bar.is-ext{left:var(--from);width:calc(var(--w) - var(--from));background:linear-gradient(90deg,var(--sca-blue),var(--sc-accent))}
.sca-lc-bar.is-base{background:color-mix(in srgb,var(--sc-muted) 80%,transparent)}
.sca-lc-note{margin-top:var(--sp-4);font-size:var(--fs-sm)}
@keyframes sca-grow{from{transform:scaleX(0)}}
@media(max-width:560px){.sca-lc-row{grid-template-columns:1fr;gap:.4rem}}

/* ---- 10. FAQ ---------------------------------------------------------- */
.sc-site details:not(.sc-menu)>summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;list-style:none;border-radius:10px;transition:color .2s,background .2s;padding-inline:.5rem}
.sc-site details:not(.sc-menu)>summary::-webkit-details-marker{display:none}
.sc-site details:not(.sc-menu)>summary::after{content:"";flex:none;width:18px;height:18px;background:var(--sc-accent);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222%22 stroke-linecap=%22round%22%3E%3Cpath d=%22M12 5v14M5 12h14%22/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222%22 stroke-linecap=%22round%22%3E%3Cpath d=%22M12 5v14M5 12h14%22/%3E%3C/svg%3E") center/contain no-repeat;transition:transform .35s var(--sca-ease)}
.sc-site details:not(.sc-menu)[open]>summary::after{transform:rotate(135deg)}
.sc-site details:not(.sc-menu)>summary:hover{color:var(--sc-accent)}
.sc-site details:not(.sc-menu)[open]{border-top-color:var(--sc-accent)}
.sc-site details:not(.sc-menu)>p{padding-inline:.5rem;animation:sca-fade .35s var(--sca-ease)}
@keyframes sca-fade{from{opacity:0;translate:0 -4px}}

/* ---- 11. CTA finale e footer ------------------------------------------ */
.sc-final-panel{position:relative;overflow:hidden;isolation:isolate;border-radius:28px;background:var(--sca-panel);border-color:color-mix(in srgb,var(--sca-blue) 30%,var(--sc-line));padding:clamp(1.75rem,4vw,3rem)}
.sc-final-panel::before{content:"";position:absolute;z-index:-1;right:-6%;top:-70%;width:420px;aspect-ratio:1;background:var(--sca-tick);opacity:.22;-webkit-mask:var(--sca-dial) center/contain no-repeat;mask:var(--sca-dial) center/contain no-repeat}
.sc-final-panel :is(h2){color:#eaf2f8}.sc-final-panel p{color:#a5b6c6}
.sc-footer{background:linear-gradient(180deg,var(--sc-paper),color-mix(in srgb,var(--sc-paper) 92%,var(--sc-accent)))}
.sc-footer nav a{color:var(--sc-muted);transition:color .2s}.sc-footer nav a:hover{color:var(--sc-accent);text-decoration:none}
.sc-footer-bottom{font-family:var(--sca-mono);letter-spacing:.04em}

/* ---- 12. Comparsa allo scroll (aggiunta da sca-polish.js) -------------- */
.sca-reveal{opacity:0;translate:0 14px;transition:opacity .7s var(--sca-ease),translate .7s var(--sca-ease)}
.sca-reveal.is-in{opacity:1;translate:0 0}

/* ---- 13. Responsive --------------------------------------------------- */
@media(max-width:1080px){.sc-hero-panel{grid-template-columns:minmax(0,1fr) 270px}.sc-hero-visual{padding-inline:1rem}.sc-hero-visual .sc-image-link{width:min(100%,220px)}}
@media(max-width:760px){
  .sc-hero-panel{grid-template-columns:1fr}
  .sc-hero-visual{border-left:0;border-top:1px solid var(--sc-line);padding-block:2.25rem 1.5rem}
  .sc-hero-visual .sc-image-link{width:min(72%,250px)}
  .sc-site .sc-brand-mark{width:60px}
  .sc-tabs{flex-direction:row;flex-wrap:wrap}.sc-tabs button{width:auto}.sc-tabs button::before{display:none}
}
@media(prefers-reduced-motion:reduce){.sca-reveal{opacity:1;translate:none}.sca-gauge path{animation:none;stroke-dashoffset:calc(var(--len)*.34)}}

/* ==========================================================================
   v2 — AGGIUNTE (tutto ciò che segue è nuovo rispetto alla v1)
   ========================================================================== */

/* ---- 14. PAGINE LEGACY: guida, adattatori, galleria, supporto, privacy -----
   Stesso linguaggio della home: token SCA al posto dei colori Tailwind,
   header/footer/pannelli coerenti, contrasti AA. Nessuna modifica all'HTML
   (eccetto gli snippet opzionali legacy-header-brand.html e il © del footer).
   Il prefisso "html:root body:not(.sc-site)" batte il ponte di sca-variant.css. */
html:root body:not(.sc-site){
  --sca-tint:color-mix(in srgb,var(--sc-accent) 12%,transparent);
  --sca-tint-line:color-mix(in srgb,var(--sc-accent) 30%,transparent);
  --sca-on-panel:#c9d8e6;
  --sca-accent-ink:color-mix(in srgb,var(--sc-accent) 88%,#000); /* testo accent su tinte chiare: ≥ 4.5:1 */
}
html:root[data-sca-variant="consultant"] body:not(.sc-site){--sca-accent-ink:var(--sc-accent)}
html:root body:not(.sc-site) .font-display{font-family:var(--sca-display);letter-spacing:-.028em}

/* marchio nelle pagine legacy: il loro markup ha viewBox="100 125 1145 665" sull'<svg>
   e lo sprite v1 ha già lo stesso viewBox sul <symbol>; il doppio viewBox spostava il
   marchio di ~6px in alto/sinistra. Questa riga lo ricentra; se togli il viewBox
   dall'<svg> (vedi README) il selettore non combacia più e non fa nulla. */
.sc-brand-mark[viewBox="100 125 1145 665"] use{transform:translate(100px,125px)}

/* header: stessa altezza, vetro e marchio della home */
html:root body:not(.sc-site) .glass-nav{background:color-mix(in srgb,var(--sc-paper) 95%,transparent);-webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid var(--sc-line);transition:box-shadow .3s var(--sca-ease)}
html:root body:not(.sc-site) .glass-nav.is-scrolled{box-shadow:0 10px 30px -18px #000a}
html:root body:not(.sc-site) .glass-nav>div{padding-block:.5rem}
html:root body:not(.sc-site) .sc-logo-holder{width:72px;height:42px;background:transparent!important;box-shadow:none!important;border:0;padding:0}
html:root body:not(.sc-site) .sc-logo-holder .sc-brand-mark{display:block;width:100%;height:100%;overflow:visible}
html:root body:not(.sc-site) .glass-nav a:has(>.sc-logo-holder){gap:var(--sp-3)}
html:root body:not(.sc-site) .glass-nav a:has(>.sc-logo-holder)>span:not(.sc-logo-holder){display:flex;flex-direction:column;gap:var(--sp-1);font-family:var(--sca-display);font-weight:700;font-size:var(--fs-md);letter-spacing:-.02em;line-height:1;color:var(--sc-ink)}
@media(max-width:700px){
  html:root body:not(.sc-site) .sc-logo-holder{width:60px;height:35px}
  html:root body:not(.sc-site) .glass-nav a:has(>.sc-logo-holder)>span:not(.sc-logo-holder){display:none}
}
html:root body:not(.sc-site) .glass-nav .rounded-full.bg-slate-100{background:transparent;border:1px solid var(--sc-line);border-radius:var(--r-xs);padding:2px;font-family:var(--sca-mono);font-size:var(--fs-2xs);letter-spacing:.08em}
html:root body:not(.sc-site) .glass-nav .rounded-full.bg-slate-100 a{color:var(--sc-muted)}
html:root body:not(.sc-site) .glass-nav .rounded-full.bg-slate-100 span{background:var(--sc-surface);color:var(--sca-accent-ink);border-radius:8px;box-shadow:none}
/* BUG in identity.css: ".sc-site [hidden], .hidden{display:none!important}" — la virgola fa valere
   .hidden su TUTTE le pagine, e annulla le varianti responsive di Tailwind ("hidden sm:flex").
   Effetto: il selettore EN/IT non compariva mai in guida, supporto, privacy (e nelle 5 pagine EN).
   Correzione vera: in identity.css scrivi ".sc-site [hidden], .sc-site .hidden". Questa è la rete di sicurezza: */
@media(min-width:640px){html:root body:not(.sc-site) .hidden.sm\:flex{display:flex!important}html:root body:not(.sc-site) .hidden.sm\:block{display:block!important}html:root body:not(.sc-site) .hidden.sm\:inline-flex{display:inline-flex!important}html:root body:not(.sc-site) .hidden.sm\:grid{display:grid!important}}
@media(min-width:768px){html:root body:not(.sc-site) .hidden.md\:flex{display:flex!important}html:root body:not(.sc-site) .hidden.md\:block{display:block!important}html:root body:not(.sc-site) .hidden.md\:inline-flex{display:inline-flex!important}html:root body:not(.sc-site) .hidden.md\:grid{display:grid!important}}
@media(min-width:1024px){html:root body:not(.sc-site) .hidden.lg\:flex{display:flex!important}html:root body:not(.sc-site) .hidden.lg\:block{display:block!important}html:root body:not(.sc-site) .hidden.lg\:inline-flex{display:inline-flex!important}html:root body:not(.sc-site) .hidden.lg\:grid{display:grid!important}}

/* hero: pannello strumentazione navy con quadrante, come la home */
html:root body:not(.sc-site) > section.bg-gradient-to-br{position:relative;isolation:isolate;overflow:hidden;background:var(--sca-panel);border-bottom:1px solid var(--sc-line);color:#eaf2f8}
html:root body:not(.sc-site) > section.bg-gradient-to-br::before{content:"";position:absolute;z-index:-1;right:-4%;top:-55%;width:560px;max-width:70%;aspect-ratio:1;background:var(--sca-tick);opacity:.2;-webkit-mask:var(--sca-dial) center/contain no-repeat;mask:var(--sca-dial) center/contain no-repeat}
html:root body:not(.sc-site) > section.bg-gradient-to-br h1{color:#eaf2f8}
html:root body:not(.sc-site) > section.bg-gradient-to-br p{color:var(--sca-on-panel)}
html:root body:not(.sc-site) > section.bg-gradient-to-br + main{padding-top:2.5rem}

/* pannello CTA di fine pagina */
html:root body:not(.sc-site) main section.bg-gradient-to-br:is(.rounded-3xl,.rounded-2xl){position:relative;isolation:isolate;overflow:hidden;background:var(--sca-panel);border:1px solid color-mix(in srgb,var(--sca-blue) 30%,var(--sc-line));border-radius:28px;color:#eaf2f8}
html:root body:not(.sc-site) main section.bg-gradient-to-br:is(.rounded-3xl,.rounded-2xl)::before{content:"";position:absolute;z-index:-1;right:-6%;top:-70%;width:420px;aspect-ratio:1;background:var(--sca-tick);opacity:.2;-webkit-mask:var(--sca-dial) center/contain no-repeat;mask:var(--sca-dial) center/contain no-repeat}
html:root body:not(.sc-site) main section.bg-gradient-to-br:is(.rounded-3xl,.rounded-2xl) h2{color:#eaf2f8}
html:root body:not(.sc-site) main section.bg-gradient-to-br:is(.rounded-3xl,.rounded-2xl) p{color:var(--sca-on-panel)}
html:root body:not(.sc-site) main section.bg-gradient-to-br:is(.rounded-3xl,.rounded-2xl) a.bg-white{background:#fff;color:#0f2f58}
html:root body:not(.sc-site) main section.bg-gradient-to-br:is(.rounded-3xl,.rounded-2xl) a[class*="bg-white/"]{background:transparent;border:1px solid #ffffff59;color:#fff}
html:root body:not(.sc-site) main section.bg-gradient-to-br:is(.rounded-3xl,.rounded-2xl) a[class*="bg-white/"]:hover{background:#ffffff1f}
html:root body:not(.sc-site) main section.bg-gradient-to-br:is(.rounded-3xl,.rounded-2xl) a:is(.bg-emerald-500,.bg-brand-500){background:transparent;border:1px solid #ffffff59;color:#fff}
html:root body:not(.sc-site) main section.bg-gradient-to-br:is(.rounded-3xl,.rounded-2xl) a:is(.bg-emerald-500,.bg-brand-500):hover{background:#ffffff1f}
html:root body:not(.sc-site) main section.bg-gradient-to-br:is(.rounded-3xl,.rounded-2xl) a:is(.bg-black,.bg-slate-900){border:1px solid #ffffff33}

/* card: raggio, bordo e token come la home */
html:root body:not(.sc-site) main :is(section,div).rounded-2xl.shadow-sm{background-color:var(--sc-white);border:1px solid var(--sc-line);border-radius:22px;box-shadow:none}
html:root body:not(.sc-site) :is(.border-slate-100,.border-slate-200,.border-gray-200,.border-brand-100,.border-brand-200,.border-emerald-100,.border-emerald-200){border-color:var(--sc-line)}

/* palette: i colori "decorativi" Tailwind diventano il blu SCA */
html:root body:not(.sc-site) :is(.text-brand-500,.text-brand-600,.text-brand-700,.text-brand-800,.text-blue-600,.text-blue-700,.text-emerald-600,.text-emerald-700,.text-violet-600){color:var(--sca-accent-ink)}
html:root body:not(.sc-site) a:is(.text-brand-600,.text-brand-700,.text-emerald-600):hover{text-decoration:underline}
html:root body:not(.sc-site) :is(.bg-brand-500,.bg-brand-600,.bg-brand-700,.bg-blue-600,.bg-emerald-500,.bg-emerald-600,.bg-purple-600){background-color:var(--sc-action)}
html:root body:not(.sc-site) :is(.hover\:bg-brand-700:hover,.hover\:bg-brand-400:hover){background-color:color-mix(in srgb,var(--sc-action) 88%,#000)}
html:root body:not(.sc-site) :is(.bg-brand-50,.bg-brand-100,.bg-blue-100,.bg-emerald-50,.bg-emerald-100,.bg-violet-100,.bg-purple-100,.bg-orange-100){background-color:var(--sca-tint)}
html:root body:not(.sc-site) :is(.group:hover .group-hover\:bg-brand-200,.group:hover .group-hover\:bg-emerald-200){background-color:color-mix(in srgb,var(--sc-accent) 20%,transparent)}
html:root body:not(.sc-site) div.bg-gradient-to-br{background-image:none;background-color:var(--sc-action)}

/* tessere-icona: una sola famiglia (prima: blu, verde, arancio, viola) */
html:root body:not(.sc-site) :is(.w-10,.w-12,.w-14):is(.bg-green-100,.bg-orange-100,.bg-purple-100,.bg-violet-100,.bg-emerald-100,.bg-brand-100,.bg-blue-100){background-color:var(--sca-tint);border:1px solid var(--sca-tint-line)}
html:root body:not(.sc-site) :is(.w-10,.w-12,.w-14):is(.bg-green-100,.bg-orange-100,.bg-purple-100,.bg-violet-100,.bg-emerald-100,.bg-brand-100,.bg-blue-100) svg{color:var(--sc-accent)}
html:root body:not(.sc-site) :is(.w-10,.w-12,.w-14):is(.bg-purple-600,.bg-brand-600,.bg-brand-700,.bg-emerald-600,.bg-blue-600){background-color:var(--sc-action);box-shadow:0 10px 22px -12px var(--sca-blue)}
html:root body:not(.sc-site) .step-number{background:var(--sc-action);color:#fff;font-family:var(--sca-mono);font-weight:600;box-shadow:0 8px 18px -10px var(--sca-blue)}

/* semantici (OK / attenzione / errore): stessi significati, contrasto AA */
html:root:not([data-sca-variant="consultant"]) body:not(.sc-site) :is(.text-green-600,.text-green-700,.text-green-800){color:#15803d}
html:root:not([data-sca-variant="consultant"]) body:not(.sc-site) .text-yellow-600{color:#a16207}
html:root:not([data-sca-variant="consultant"]) body:not(.sc-site) :is(.text-red-600,.text-red-700,.text-red-800){color:#b91c1c}
html:root:not([data-sca-variant="consultant"]) body:not(.sc-site) .bg-green-100.text-green-800{background-color:#dcfce7;color:#166534}
html:root[data-sca-variant="consultant"] body:not(.sc-site) :is(.text-green-600,.text-green-700,.text-green-800){color:#5fe0a0}
html:root[data-sca-variant="consultant"] body:not(.sc-site) .text-yellow-600{color:#f2c94c}
html:root[data-sca-variant="consultant"] body:not(.sc-site) :is(.text-red-600,.text-red-700,.text-red-800){color:#ff9aa5}
html:root[data-sca-variant="consultant"] body:not(.sc-site) .bg-green-100.text-green-800{background-color:#0c2a23;color:#7be0ad}
html:root[data-sca-variant="consultant"] body:not(.sc-site) .bg-green-100:not(.text-green-800){background-color:var(--sca-tint)}

/* galleria: le sezioni con 1-2 schermate restano centrate sotto il titolo
   (prima: griglia a 3 colonne con 1-2 card appoggiate a sinistra) */
html:root body:not(.sc-site) main section[id]>.grid.grid-cols-2.md\:grid-cols-3{display:flex;flex-wrap:wrap;justify-content:center}
html:root body:not(.sc-site) main section[id]>.grid.grid-cols-2.md\:grid-cols-3>*{flex:0 0 calc((100% - 1.5rem)/2);min-width:0}
@media(min-width:768px){html:root body:not(.sc-site) main section[id]>.grid.grid-cols-2.md\:grid-cols-3>*{flex-basis:calc((100% - 3rem)/3)}}

/* indirizzi e-mail nel testo: mai spezzati a metà (staff@smartcontrol-/4me.com) */
html:root body:not(.sc-site) p a[href^="mailto:"]{white-space:nowrap}

/* link-card (supporto): niente scroll orizzontale a 320px (l'indirizzo e-mail non andava a capo) */
html:root body:not(.sc-site) main a.flex.items-center{min-width:0}
html:root body:not(.sc-site) main a.flex.items-center>*:not(:first-child){min-width:0;overflow-wrap:anywhere}

/* footer: stessa pelle del footer della home (era una lastra slate-900) */
html:root body:not(.sc-site) footer.bg-slate-900{background:linear-gradient(180deg,var(--sc-paper),color-mix(in srgb,var(--sc-paper) 92%,var(--sc-accent)));border-top:1px solid var(--sc-line);color:var(--sc-muted)}
html:root body:not(.sc-site) footer.bg-slate-900 a{color:var(--sc-muted);transition:color .2s}
html:root body:not(.sc-site) footer.bg-slate-900 a:hover{color:var(--sc-accent)}
html:root body:not(.sc-site) footer.bg-slate-900 a.font-semibold{color:var(--sc-ink)}
html:root body:not(.sc-site) footer .sc-logo-holder{width:96px;height:56px}

/* ---- 15. RIFINITURE HOME / EDITORIALI --------------------------------------- */
.sc-hero-visual figcaption{color:#c3d2e0}
.sc-hero-visual figcaption span{opacity:.88}
.sca-lc-row{grid-template-columns:minmax(9rem,15rem) 1fr}
.sca-lc-label{line-height:1.25;text-wrap:balance}
.sca-lifecycle figcaption{row-gap:.35rem}
@media(max-width:560px){.sca-lc-row{grid-template-columns:1fr;gap:.4rem}}
.sc-site p+details:not(.sc-menu){margin-top:1.25rem}
html{scroll-padding-top:5.5rem}

/* etichette dell'esploratore: più piccole e allineate al bordo destro,
   così coprono icone e vuoti invece dei valori dello screenshot
   (il pulsante è alto 28px ma l'area di tocco resta ≥44px grazie al ::before) */
.sc-phone .legacy-hotspot{min-height:28px;padding:3px 10px 3px 8px;gap:4px;right:5px;line-height:1;font-size:var(--fs-2xs)!important}
.sc-phone .legacy-hotspot::before{content:"";position:absolute;inset:-8px -4px}

/* frecce → ↗ ←: avvolte da sca-polish.js (aria-hidden) e con micro-movimento */
.sca-arrow,.sca-arrow-back{display:inline-block;transition:transform .25s var(--sca-ease)}
.sca-arrow{margin-inline-start:.3em}
.sca-arrow-back{margin-inline-end:.3em}
:is(a,button):hover .sca-arrow{transform:translateX(3px)}
:is(a,button):hover .sca-arrow-back{transform:translateX(-3px)}
@media(prefers-reduced-motion:reduce){.sca-arrow,.sca-arrow-back{transition:none}:is(a,button):hover :is(.sca-arrow,.sca-arrow-back){transform:none}}

/* "Vai al contenuto" per le pagine legacy (aggiunto da sca-polish.js) */
.sca-skip{position:fixed;left:.75rem;top:.75rem;z-index:1000;transform:translateY(-220%);background:var(--sc-action,#086ebf);color:#fff;padding:var(--sp-3) var(--sp-4);border-radius:var(--r-sm);font:600 var(--fs-sm)/1.5 var(--sca-display,inherit);text-decoration:none;box-shadow:0 10px 30px -10px #000a;transition:transform .2s var(--sca-ease)}
.sca-skip:focus-visible{transform:none;outline:2px solid #fff;outline-offset:2px}
main:focus{outline:none}

/* galleria: scheda attiva della barra sticky (la imposta sca-polish.js) */
html:root body:not(.sc-site) nav.sticky a[aria-current="true"]{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.55rem}

/* ==========================================================================
   v3 — SISTEMA DI PROPORZIONI (tutto ciò che segue è nuovo rispetto alla v2)
   Un'unica scala per tipografia, spaziature, raggi e interlinee, valida per
   home, pagine editoriali e pagine legacy. I valori frazionari sparsi
   (11,2 · 11,5 · 13,1 · 13,6 · 14,4 · 15,2 · 17 · 19,2 · 38,2 px…) sono ricondotti
   a un numero ristretto di gradini. Modifica i token qui sotto, non le regole.
   ========================================================================== */
:root{
  /* Tipografia — gradini piccoli 12·14·16·18·20, poi rapporto 1,25 (terza maggiore): 25·31·39·49·61 */
  --fs-2xs:.75rem;                                   /* 12  etichette in maiuscolo, didascalie */
  --fs-sm:.875rem;                                   /* 14  testo secondario */
  --fs-base:1rem;                                    /* 16  corpo */
  --fs-md:1.125rem;                                  /* 18  testo introduttivo (mobile) */
  --fs-lg:1.25rem;                                   /* 20  introduttivo, titoli h3 */
  --fs-xl:1.5625rem;                                 /* 25  */
  --fs-2xl:clamp(1.5625rem,1.25rem + 1vw,1.953rem);  /* 25 → 31 */
  --fs-3xl:clamp(1.5625rem,.95rem + 2.4vw,2.441rem); /* 25 → 39  titoli h2 */
  --fs-4xl:clamp(1.953rem,.8rem + 3.6vw,3.052rem);   /* 31 → 49  h1 delle pagine legacy */
  --fs-5xl:clamp(2.441rem,.8rem + 4.8vw,3.815rem);   /* 39 → 61  h1 della home */
  /* Interlinee (multipli di 2 px a 16 px) e tracking */
  --lh-caps:1.5; --lh-sm:1.571; --lh-body:1.625; --lh-lead:1.5; --lh-h3:1.3; --lh-h2:1.15; --lh-h1:1.05;
  --tr-display:-.02em; --tr-title:-.01em; --tr-caps:.12em;
  /* Spaziature — griglia da 4 px: 4 · 8 · 12 · 16 · 24 · 32 · 48 · 64 · 96 */
  --sp-1:.25rem; --sp-2:.5rem; --sp-3:.75rem; --sp-4:1rem; --sp-5:1.5rem; --sp-6:2rem; --sp-7:3rem; --sp-8:4rem; --sp-9:6rem;
  /* Raggi — ogni elemento annidato ha raggio minore del contenitore (24 → 16 → 12 → 8) */
  --r-xs:.5rem; --r-sm:.75rem; --r-md:1rem; --r-lg:1.5rem; --r-xl:2rem;
  --sc-radius:1.5rem;
}

/* ---- Home e pagine editoriali (body.sc-site) ---- */
html:root body.sc-site :is(.sc-eyebrow,.sc-step-number,a.sc-language,figcaption,figcaption span,.sca-lc-tag){font-size:var(--fs-2xs);line-height:var(--lh-caps)}
html:root body.sc-site :is(.sc-eyebrow){letter-spacing:var(--tr-caps)}
html:root body.sc-site :is(p.sc-small,a.sc-enlarge,.hero-benefit,summary.sc-menu,small,.sca-lc-row span,.sca-lc-label,div.sc-meta){font-size:var(--fs-sm);line-height:var(--lh-sm)}
html:root body.sc-site :is(.sc-btn,.sc-bridge,.sc-pillar p,.sc-purchase p,a.sc-link,.sc-feature a,.sc-explorer-copy p,.sc-feature p){font-size:var(--fs-base);line-height:var(--lh-body)}
html:root body.sc-site :is(.sc-feature h3,.sc-pillar h3,.sc-purchase h3,.sc-people-grid h3,section h3){font-size:var(--fs-lg);line-height:var(--lh-h3);letter-spacing:var(--tr-title)}
html:root body.sc-site :is(.sc-wrap,.sc-explorer-copy,.sc-editorial-split,.sc-section) h2{font-size:var(--fs-3xl);line-height:var(--lh-h2);letter-spacing:var(--tr-display)}
html:root body.sc-site .sc-hero-copy h1{font-size:var(--fs-5xl);line-height:var(--lh-h1);letter-spacing:var(--tr-display)}
html:root body.sc-site blockquote{font-size:var(--fs-2xl);line-height:1.35;letter-spacing:var(--tr-title)}
html:root body.sc-site :is(.sc-lead,.sc-hero-copy>p:not(.sc-eyebrow):not(.sc-small)){font-size:var(--fs-md);line-height:1.6}
/* spazi interni: tutto su griglia da 4 px (prima 4,5 · 6,4 · 9,6 · 12,8 · 14,4) */
html:root body.sc-site .sc-desktop-nav{gap:var(--sp-2)}
html:root body.sc-site .sc-brand{gap:var(--sp-3)}
html:root body.sc-site :is(.sc-step-number,.hero-benefit-row){gap:var(--sp-2) var(--sp-4)}
html:root body.sc-site button:not(.legacy-hotspot){gap:var(--sp-3)}
/* raggi */
html:root body.sc-site :is(a.sc-language,.sc-theme-switch a){border-radius:var(--r-xs)}
html:root body.sc-site .sc-theme-switch{border-radius:var(--r-sm)}
html:root body.sc-site :is(.sc-btn,button:not(.legacy-hotspot)){border-radius:var(--r-sm)}
html:root body.sc-site :is(.sc-hero-panel,.sc-final-panel){border-radius:var(--r-xl)}
html:root body.sc-site .sc-image-link{border-radius:var(--r-lg)}

/* ---- Pagine legacy (Tailwind): le classi text-* e rounded-* seguono la stessa scala ---- */
html:root body:not(.sc-site) :is(.text-xs){font-size:var(--fs-2xs);line-height:var(--lh-caps)}
html:root body:not(.sc-site) :is(.text-sm){font-size:var(--fs-sm);line-height:var(--lh-sm)}
html:root body:not(.sc-site) :is(.text-base){font-size:var(--fs-base);line-height:var(--lh-body)}
html:root body:not(.sc-site) :is(.text-lg){font-size:var(--fs-md);line-height:1.55}
html:root body:not(.sc-site) :is(.text-xl,.sm\:text-xl,.md\:text-xl){font-size:var(--fs-lg);line-height:var(--lh-lead)}
html:root body:not(.sc-site) :is(.text-2xl,.sm\:text-2xl,.md\:text-2xl){font-size:var(--fs-xl);line-height:1.3;letter-spacing:var(--tr-title)}
html:root body:not(.sc-site) :is(.text-3xl,.sm\:text-3xl,.md\:text-3xl){font-size:var(--fs-2xl);line-height:1.2;letter-spacing:var(--tr-title)}
html:root body:not(.sc-site) :is(.text-4xl,.sm\:text-4xl,.md\:text-4xl,.lg\:text-4xl){font-size:var(--fs-3xl);line-height:var(--lh-h2);letter-spacing:var(--tr-display)}
html:root body:not(.sc-site) :is(.text-5xl,.sm\:text-5xl,.md\:text-5xl,.lg\:text-5xl){font-size:var(--fs-4xl);line-height:1.1;letter-spacing:var(--tr-display)}
html:root body:not(.sc-site) :is(.text-6xl,.md\:text-6xl,.lg\:text-6xl){font-size:var(--fs-5xl);line-height:var(--lh-h1);letter-spacing:var(--tr-display)}
html:root body:not(.sc-site) main p:not([class*="leading-"]):not([class*="text-"]){line-height:var(--lh-body)}
html:root body:not(.sc-site) :is(.rounded-lg){border-radius:var(--r-xs)}
html:root body:not(.sc-site) :is(.rounded-xl){border-radius:var(--r-sm)}
html:root body:not(.sc-site) main :is(section,div).rounded-2xl.shadow-sm{border-radius:var(--r-lg)}
html:root body:not(.sc-site) main :is(section,div).rounded-3xl{border-radius:var(--r-xl)}
/* icone-tile: 40 / 48 / 56 px, raggio ≈ 25 % del lato (12 · 12 · 16) */
html:root body:not(.sc-site) :is(.w-10,.w-12):is(.rounded-xl,.rounded-2xl,.rounded-lg){border-radius:var(--r-sm)}
html:root body:not(.sc-site) .w-14:is(.rounded-xl,.rounded-2xl,.rounded-lg,.rounded-3xl){border-radius:var(--r-md)}

/* ---- Gerarchia coerente nelle pagine legacy: un solo h1 e un solo h2, qualunque classe abbia scelto la pagina ---- */
html:root body:not(.sc-site) main h1{font-size:var(--fs-4xl);line-height:1.1;letter-spacing:var(--tr-display)}
html:root body:not(.sc-site) main h2{font-size:var(--fs-2xl);line-height:1.2;letter-spacing:var(--tr-title)}
html:root body:not(.sc-site) .glass-nav a{font-size:var(--fs-sm)}
html:root body:not(.sc-site) .glass-nav a:has(>.sc-logo-holder)>span:not(.sc-logo-holder){font-size:var(--fs-md)}

/* ---- Rete di sicurezza: dove identity.css lascia font-size ereditato o in rem sparsi (corpo 17 px, footer 13,6 px…) ---- */
html:root body.sc-site{font-size:var(--fs-base)}
html:root :is(.sc-eyebrow,.sc-status,.sc-step-number,.sc-language,figcaption,figcaption span,.legacy-hotspot,.glass-nav .rounded-full.bg-slate-100){font-size:var(--fs-2xs)!important}
html:root body.sc-site .sc-brand>span{font-size:var(--fs-md)}
html:root body.sc-site :is(.sc-feature-more>div,.sca-lc-note,.sc-footer-brand p,.sc-footer nav a,.sc-footer nav button,.sc-image-dialog p,.sc-consent p,.sc-menu summary,.sc-menu a){font-size:var(--fs-sm)}

/* ---- Righe ben spezzate: niente parole orfane nei paragrafi, titoli bilanciati (ignorato dai browser che non lo supportano) ---- */
html:root :is(main p,main li,.sc-site p){text-wrap:pretty}
html:root :is(h1,h2,h3,blockquote){text-wrap:balance}

/* ---- Struttura: header, due sole larghezze di contenuto, respiro simmetrico dell'hero ----
   Larghezza testo 768 px (48rem) · larghezza ampia 1200 px (75rem): rapporto 1,5625 = 1,25².
   Header 72 px (4,5rem) in tutte le pagine; hero = header + 64 px sopra, 64 px sotto. */
:root{--w-prose:48rem;--w-wide:75rem;--gutter:clamp(1rem,.4rem + 2.4vw,2rem);--sca-hdr:4.5rem}
html:root body.sc-site .sc-wrap{width:min(var(--w-wide),100% - 2*var(--gutter))}
html:root body.sc-site .sc-header>.sc-wrap{min-height:var(--sca-hdr);height:auto}
html:root body:not(.sc-site) .glass-nav{height:var(--sca-hdr)}
html:root body:not(.sc-site) .glass-nav>div{max-width:var(--w-wide);height:100%}
html:root body:not(.sc-site) main .max-w-4xl{max-width:var(--w-prose)}
html:root body:not(.sc-site) main :is(.max-w-6xl,.max-w-7xl){max-width:var(--w-wide)}
html:root body:not(.sc-site) > section.bg-gradient-to-br{padding-top:calc(var(--sca-hdr) + var(--sp-8));padding-bottom:var(--sp-8)}
html:root body:not(.sc-site) > section.bg-gradient-to-br + main{padding-top:var(--sp-7)}
html:root body:not(.sc-site) .glass-nav + main{padding-top:calc(var(--sca-hdr) + var(--sp-7))}
html:root{scroll-padding-top:calc(var(--sca-hdr) + var(--sp-4))}

/* ---- Controlli: altezze su griglia da 4 px — 48 (azione primaria) · 44 (header, lingua: area di tocco minima) ---- */
html:root :is(.sc-btn,body:not(.sc-site) main a.inline-flex[class*="px-6"],body:not(.sc-site) section a.inline-flex[class*="px-6"]){min-height:3rem;padding-block:calc(var(--sp-3) - 1px);padding-inline:var(--sp-5);line-height:1.5;border-radius:var(--r-sm)}

/* ---- Ultimi valori fuori griglia ---- */
html:root body.sc-site :is(.sc-header-tools,.sc-theme-switch a,.hero-benefit){gap:var(--sp-2)}
html:root body.sc-site :is(.sc-explorer-panel,.sc-vision){border-radius:var(--r-xl)}
html:root body.sc-site .sca-lifecycle{border-radius:var(--r-lg)}
html:root body.sc-site summary{border-radius:var(--r-sm)}
html:root body:not(.sc-site) .glass-nav .rounded-full.bg-slate-100 a{border-radius:calc(var(--r-xs) - 2px)}

html:root body.sc-site :is(.sc-consent,.sc-image-dialog,.sc-footer) :is(button,a){font-size:var(--fs-sm)}

/* ---- Pagina guida: "Prima di iniziare" a 3 colonne dentro la colonna testo da 768 px → icona sopra, testo sotto (come le feature della home) ---- */
html:root body:not(.sc-site) main.max-w-4xl .grid.md\:grid-cols-3{column-gap:var(--sp-4)}
@media(min-width:768px){html:root body:not(.sc-site) main.max-w-4xl .grid.md\:grid-cols-3>div{flex-direction:column;align-items:flex-start;gap:var(--sp-3)}}

/* ---- Galleria: barra a schede sotto l'header (72 px) e sulla stessa colonna del contenuto ---- */
html:root body:not(.sc-site) nav.sticky{top:var(--sca-hdr)}
html:root body:not(.sc-site) nav.sticky>div{max-width:calc(var(--w-wide) + 2*var(--gutter));padding-inline:var(--gutter)}
html:root:has(nav.sticky){scroll-padding-top:calc(var(--sca-hdr) + 4.5rem)}

/* Compact controls keep navigation and language reachable on small devices. */
@media(max-width:760px){.sc-brand>span{display:none}}
@media(max-width:560px){
 html:root body :is(.sc-header,.glass-nav) .sc-theme-switch a{font-size:0;gap:0;min-width:36px;min-height:44px;padding-inline:.4rem}
 html:root body :is(.sc-header,.glass-nav) .sc-theme-switch a::before{width:16px;height:16px}
 html:root body:not(.sc-site) .glass-nav .hidden.sm\:flex{display:flex!important}
 html:root body:not(.sc-site) .glass-nav nav{gap:.4rem}
 html:root body:not(.sc-site) .glass-nav .rounded-full.bg-slate-100 :is(a,span){padding:.4rem;font-size:var(--fs-2xs);min-height:36px;display:flex;align-items:center;justify-content:center}
 html:root body:not(.sc-site) .glass-nav nav>a{padding:.4rem;font-size:var(--fs-2xs);min-height:44px;display:flex;align-items:center}
}
