/* ==========================================================================
   linkedin-nuova.css — pagina /linkedin (LinkedIn Scraping), pubblicata il 18/10/2026.
   Direzione artistica «La rete»: notte blu profonda e indaco. Il blu di LinkedIn
   reinterpretato col viola del brand (nessun logo LinkedIn); nodi e archi di
   una rete di relazioni: aziende → ruoli → decision maker. Ciano per ciò che si
   accende, verde per i dati arrivati, viola per le persone.
   Menu e footer sono quelli del sito (partials): qui se ne adatta l'aspetto.
   Animazioni su transform/opacity. Movimento ridotto: tutto fermo e già visibile.
   «Ferma le animazioni» (html.rt-still) ferma il ciclo dell'eroe e le pulsazioni.
   ========================================================================== */

:root {
  --rt-bg: #050820;
  --rt-bg-2: #070B28;
  --rt-bg-3: #0B1034;
  --rt-panel: rgba(13, 19, 56, .74);
  --rt-panel-2: rgba(17, 24, 68, .92);
  --rt-line: rgba(138, 156, 255, .14);
  --rt-line-2: rgba(138, 156, 255, .24);
  --rt-ink: #EEF1FF;
  --rt-ink-2: #D3D9F7;
  --rt-muted: #AAB3DA;
  --rt-faint: #8F98C6;
  --rt-blue: #4C7DFF;
  --rt-blue-t: #93B2FF;
  --rt-indigo: #5D5CFF;
  --rt-violet: #7C4DFF;
  --rt-violet-t: #BBA6FF;
  --rt-cyan: #00E5FF;
  --rt-cyan-t: #6CF1FF;
  --rt-green: #00E676;
  --rt-green-t: #62F2AB;
  --rt-amber: #FFC857;
  --rt-ease: cubic-bezier(.2, .8, .2, 1);
  --rt-spring: cubic-bezier(.34, 1.56, .64, 1);
  --rt-font: 'Inter', -apple-system, BlinkMacSystemFont, 'SF Pro Display', 'Segoe UI', system-ui, sans-serif;
  --rt-nav: 64px;
  --rt-pad: 32px;
  --rt-sec: 100px;
  --rt-grad: linear-gradient(100deg, #93B2FF 0%, #A58DFF 46%, #6CF1FF 100%);
  --rt-btn-grad: linear-gradient(110deg, #2F55F0 0%, #4A47F2 50%, #6A35EE 100%);
}

/* ---------- Base ---------- */
body.rt-page { background: var(--rt-bg); color: var(--rt-ink); font-family: var(--rt-font); -webkit-font-smoothing: antialiased; }
.rt-page main {
  display: block; position: relative; font-size: 17px; line-height: 1.65; overflow-x: clip;
  font-feature-settings: "cv11" 1, "ss01" 1;
  background:
    radial-gradient(rgba(150, 168, 255, .07) 1px, transparent 1.4px) 0 0 / 30px 30px,
    var(--rt-bg);
}
.rt-page main:focus { outline: none; }
.rt-page main ul, .rt-page main ol { list-style: none; margin: 0; padding: 0; }
.rt-page main img { display: block; max-width: 100%; height: auto; }
.rt-page main picture { display: block; }
.rt-page main p { margin: 0; }
.rt-page main h2, .rt-page main h3 { margin: 0; }
.rt-page main figure { margin: 0; }
.rt-page [id] { scroll-margin-top: 88px; }
.rt-ic { width: 18px; height: 18px; flex: none; }
.rt-sprite { position: absolute; width: 0; height: 0; overflow: hidden; }
.rt-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.rt-wrap { max-width: 1240px; margin: 0 auto; padding: 0 var(--rt-pad); position: relative; }
.rt-page main a:not([class]) {
  color: var(--rt-blue-t); font-weight: 600; text-decoration: underline; text-decoration-color: rgba(147, 178, 255, .4);
  text-underline-offset: 3px; transition: text-decoration-color .2s, color .2s;
}
.rt-page main a:not([class]):hover { color: #B8CCFF; text-decoration-color: currentColor; }
.rt-page main :focus-visible, .rt-skip:focus-visible { outline: 3px solid var(--rt-cyan); outline-offset: 3px; border-radius: 6px; }
.rt-skip {
  position: fixed; left: 16px; top: -64px; z-index: 1100; padding: 10px 16px; border-radius: 12px;
  background: var(--rt-cyan); color: #04121A; font: 700 14px/20px var(--rt-font); text-decoration: none; transition: top .2s;
}
.rt-skip:focus { top: 12px; }
.rt-demo { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 600; letter-spacing: .04em; color: var(--rt-faint); white-space: nowrap; }
.rt-demo::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--rt-amber); }

/* ---------- Menu e footer del sito su questa pagina ---------- */
.rt-page #nav { background: rgba(5, 8, 32, .55); border-bottom-color: transparent; -webkit-backdrop-filter: saturate(160%) blur(18px); backdrop-filter: saturate(160%) blur(18px); transition: background .3s, box-shadow .3s; }
.rt-page #nav.rt-scrolled { background: rgba(5, 8, 32, .88); box-shadow: 0 1px 0 var(--rt-line), 0 18px 40px -24px rgba(0, 0, 0, .8); }
.rt-page .nav-mega a[href="/linkedin"] { background: rgba(76, 125, 255, .12); border-radius: 10px; }
.rt-page .nav-mega a[href="/linkedin"] strong { color: var(--rt-blue-t); }
/* Da tastiera la tendina resta visibile mentre il fuoco è sulle sue voci (con :focus-within restava
   aperta dopo un clic o un tocco, e Esc non la chiudeva). Apertura e chiusura: mobile-nav.js (19/10). */
.rt-page .nav-dropdown:has(.nav-dropdown-menu a:focus-visible) .nav-dropdown-menu { opacity: 1; visibility: visible; transform: translateX(-50%) translateY(0); }
.rt-page #nav a:focus-visible, .rt-page #nav button:focus-visible, .rt-page .nav-mobile-overlay a:focus-visible { outline: 3px solid var(--rt-cyan); outline-offset: 2px; border-radius: 8px; }
.rt-page .nav-cta { box-shadow: 0 8px 22px -12px rgba(0, 229, 255, .7); }
.rt-page footer { background: #04061A; border-top-color: var(--rt-line); }

/* ---------- Bottoni ---------- */
.rt-cta-row { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.rt-btn {
  position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  min-height: 52px; padding: 0 24px; border-radius: 999px; overflow: hidden;
  font: 650 16px/1 var(--rt-font); letter-spacing: -.01em; text-decoration: none; white-space: nowrap; cursor: pointer;
  transition: transform .25s var(--rt-ease), box-shadow .25s, background .25s, border-color .25s, color .25s;
}
.rt-btn-primary { background: var(--rt-btn-grad); color: #fff; box-shadow: 0 12px 32px -14px rgba(84, 92, 255, .95), inset 0 1px 0 rgba(255, 255, 255, .22), inset 0 -2px 0 rgba(0, 0, 0, .16); }
.rt-btn-primary:hover { transform: translateY(-2px); box-shadow: 0 18px 40px -14px rgba(96, 104, 255, 1), inset 0 1px 0 rgba(255, 255, 255, .26), inset 0 -2px 0 rgba(0, 0, 0, .16); }
.rt-btn-ghost { color: var(--rt-ink); border: 1px solid var(--rt-line-2); background: rgba(255, 255, 255, .025); }
.rt-btn-ghost:hover { border-color: rgba(147, 178, 255, .6); background: rgba(76, 125, 255, .09); transform: translateY(-2px); }
.rt-btn-ghost .rt-ic { transition: transform .25s var(--rt-ease); }
.rt-btn-ghost:hover .rt-ic { transform: translateX(3px); }
.rt-btn-ghost[href^="#"]:hover .rt-ic { transform: translateY(3px); }
.rt-btn-s { min-height: 46px; font-size: 15px; width: 100%; }
.rt-shine { position: absolute; inset: 0; background: linear-gradient(105deg, transparent 35%, rgba(255, 255, 255, .38) 50%, transparent 65%); transform: translateX(-120%); pointer-events: none; }
.rt-btn-primary:hover .rt-shine { transform: translateX(120%); transition: transform .8s var(--rt-ease); }
.rt-page main .rt-btn:focus-visible { outline: 3px solid #fff; outline-offset: 3px; border-radius: 999px; }
.rt-link { display: inline-flex; align-items: center; gap: 8px; color: var(--rt-blue-t); font-weight: 650; text-decoration: none; }
.rt-link .rt-ic { transition: transform .25s var(--rt-ease); }
.rt-link:hover { color: #B8CCFF; }
.rt-link:hover .rt-ic { transform: translateX(4px); }

/* ---------- Titoli comuni ---------- */
.rt-sec { padding: var(--rt-sec) 0; position: relative; }
.rt-head { max-width: 820px; margin-bottom: 56px; }
.rt-head-c { margin-left: auto; margin-right: auto; text-align: center; }
.rt-eyebrow { display: inline-flex; align-items: center; gap: 10px; margin-bottom: 18px !important; color: var(--rt-muted); font-size: 13px; font-weight: 650; letter-spacing: .12em; text-transform: uppercase; }
.rt-eyebrow .rt-ic { width: 20px; height: 20px; color: var(--rt-cyan); }
.rt-eyebrow span { color: var(--rt-blue-t); font-variant-numeric: tabular-nums; letter-spacing: .06em; }
.rt-h2 { font-size: clamp(32px, 4vw, 52px); line-height: 1.07; font-weight: 800; letter-spacing: -.035em; color: var(--rt-ink); text-wrap: balance; }
.rt-sub { margin-top: 18px !important; font-size: 18px; line-height: 1.62; color: var(--rt-muted); text-wrap: pretty; }
.rt-sub strong { color: var(--rt-ink-2); font-weight: 650; }
.rt-head-c .rt-sub { margin-left: auto; margin-right: auto; max-width: 700px; }

/* ---------- Comparsa ---------- */
.js [data-rv] { opacity: 0; transform: translateY(24px); transition: opacity .8s var(--rt-ease), transform .9s var(--rt-ease); transition-delay: calc(var(--i, 0) * 90ms); }
.js [data-rv].is-in { opacity: 1; transform: none; }

/* ==========================================================================
   HERO · LA RETE
   ========================================================================== */
.rt-hero { position: relative; padding: calc(var(--rt-nav) + 44px) 0 56px; overflow: hidden; }
.rt-sky { position: absolute; inset: 0; pointer-events: none; }
.rt-sky i { position: absolute; border-radius: 50%; filter: blur(10px); }
.rt-sky-a { width: 900px; height: 700px; right: -220px; top: -160px; background: radial-gradient(closest-side, rgba(76, 95, 255, .30), rgba(76, 95, 255, 0)); }
.rt-sky-b { width: 760px; height: 600px; left: -260px; top: 180px; background: radial-gradient(closest-side, rgba(124, 77, 255, .20), rgba(124, 77, 255, 0)); }
.rt-hero::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 120px; background: linear-gradient(transparent, var(--rt-bg)); pointer-events: none; }
.rt-hero-in { display: grid; grid-template-columns: minmax(0, .86fr) minmax(0, 1.14fr); grid-template-areas: "text net" "motion net"; column-gap: 48px; align-items: center; z-index: 1; }
.rt-hero-text { grid-area: text; padding-bottom: 8px; }
.rt-crumbs ol { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 22px !important; font-size: 13.5px; color: var(--rt-faint); }
.rt-crumbs li + li::before { content: "/"; margin-right: 8px; color: rgba(143, 152, 198, .6); }
.rt-crumbs a { color: var(--rt-ink-2); text-decoration: none; }
.rt-crumbs a:hover { color: #fff; text-decoration: underline; }
.rt-h1 { margin: 0; font-weight: 800; letter-spacing: -.045em; color: var(--rt-ink); }
.rt-h1-k { display: inline-flex; align-items: center; gap: 10px; margin-bottom: 20px; padding: 8px 14px 8px 12px; border-radius: 999px; border: 1px solid rgba(147, 178, 255, .34); background: rgba(76, 125, 255, .10); color: var(--rt-blue-t); font-size: 15px; font-weight: 650; letter-spacing: -.005em; }
.rt-h1-k .rt-ic { color: var(--rt-cyan); }
.rt-ln { display: block; font-size: clamp(42px, 4.5vw, 66px); line-height: 1.02; padding-bottom: .04em; }
.rt-grad { background: var(--rt-grad); -webkit-background-clip: text; background-clip: text; color: transparent; }
.rt-lead { margin-top: 22px !important; max-width: 34em; font-size: 18px; line-height: 1.62; color: var(--rt-muted); text-wrap: pretty; }
.rt-hero-text .rt-cta-row { margin-top: 30px; }
.rt-hero-meta { display: flex; flex-wrap: wrap; gap: 8px 22px; margin-top: 22px !important; font-size: 14px; color: var(--rt-faint); }
.rt-hero-meta li { display: inline-flex; align-items: center; gap: 8px; }
.rt-hero-meta li::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--rt-blue); box-shadow: 0 0 0 3px rgba(76, 125, 255, .18); }
.rt-hero-meta strong { color: var(--rt-ink-2); font-weight: 650; }

/* Ingresso dell'eroe (breve: non ritarda il primo disegno utile) */
.js .rt-in-1, .js .rt-in-2, .js .rt-in-3, .js .rt-in-4, .js .rt-in-5, .js .rt-in-stage { animation: rt-up .75s var(--rt-ease) both; }
.js .rt-in-2 { animation-delay: .06s; }
.js .rt-in-3 { animation-delay: .12s; }
.js .rt-in-4 { animation-delay: .18s; }
.js .rt-in-5 { animation-delay: .24s; }
.js .rt-in-stage { animation: rt-stage .9s var(--rt-ease) .1s both; }
@keyframes rt-up { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }
@keyframes rt-stage { from { opacity: 0; transform: translateY(20px) scale(.985); } to { opacity: 1; transform: none; } }

/* «Ferma le animazioni» */
.rt-motion { grid-area: motion; justify-self: start; align-self: start; margin-top: 26px; display: inline-flex; align-items: center; gap: 10px; min-height: 40px; padding: 0 14px; border-radius: 999px; cursor: pointer;
  background: rgba(255, 255, 255, .03); border: 1px solid var(--rt-line-2); color: var(--rt-muted); font: 600 13.5px var(--rt-font); transition: border-color .2s, color .2s, background .2s; }
.rt-motion:hover { color: var(--rt-ink); border-color: rgba(147, 178, 255, .6); }
.rt-motion:focus-visible { outline: 3px solid var(--rt-cyan); outline-offset: 3px; }
.rt-motion-ic { position: relative; width: 12px; height: 12px; }
.rt-motion-ic::before, .rt-motion-ic::after { content: ""; position: absolute; top: 0; width: 4px; height: 12px; border-radius: 1px; background: currentColor; }
.rt-motion-ic::before { left: 1px; }
.rt-motion-ic::after { right: 1px; }
.rt-still .rt-motion-ic::before { left: 2px; width: 0; height: 0; border-radius: 0; background: none; border-left: 10px solid currentColor; border-top: 6px solid transparent; border-bottom: 6px solid transparent; }
.rt-still .rt-motion-ic::after { display: none; }
.rt-motion:not(.is-ready) { visibility: hidden; }

/* ---------- Il pannello della rete ---------- */
.rt-net {
  grid-area: net; position: relative; border-radius: 22px; padding: 14px 14px 12px;
  background: linear-gradient(180deg, rgba(20, 28, 82, .78), rgba(10, 15, 48, .86));
  border: 1px solid var(--rt-line-2);
  box-shadow: 0 40px 90px -40px rgba(0, 0, 0, .9), 0 0 0 1px rgba(255, 255, 255, .02) inset, 0 1px 0 rgba(255, 255, 255, .06) inset;
}
.rt-net::before { content: ""; position: absolute; inset: -1px; border-radius: inherit; padding: 1px; background: linear-gradient(140deg, rgba(108, 241, 255, .45), rgba(124, 77, 255, .05) 40%, rgba(76, 125, 255, .35)); -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude; pointer-events: none; }

.rt-net-bar { display: flex; align-items: center; gap: 10px; min-height: 44px; padding: 6px 8px 6px 6px; border-radius: 14px; background: rgba(5, 8, 32, .62); border: 1px solid var(--rt-line); font-size: 13px; }
.rt-net-mode { display: inline-flex; align-items: center; gap: 7px; height: 30px; padding: 0 11px 0 9px; border-radius: 9px; background: rgba(76, 125, 255, .18); color: var(--rt-blue-t); font-weight: 700; flex: none; }
.rt-net-mode .rt-ic { width: 15px; height: 15px; }
.rt-net-mode b { font-weight: 700; color: #DCE6FF; }
.rt-net-q { display: flex; align-items: center; gap: 6px; min-width: 0; overflow: hidden; flex: 1; white-space: nowrap; }
.rt-net-q i { font-style: normal; display: inline-flex; align-items: center; height: 26px; padding: 0 10px; border-radius: 8px; border: 1px solid var(--rt-line-2); color: var(--rt-ink-2); background: rgba(255, 255, 255, .03); font-weight: 550; flex: none; }
.rt-net-q i.is-q { color: #fff; border-color: rgba(108, 241, 255, .35); background: rgba(0, 229, 255, .06); max-width: 100%; overflow: hidden; text-overflow: ellipsis; display: inline-block; line-height: 24px; flex: 0 1 auto; }
.js .rt-net-q i.is-new { animation: rt-chip .45s var(--rt-spring) both; animation-delay: var(--d, 0ms); }
@keyframes rt-chip { from { opacity: 0; transform: translateY(6px) scale(.9); } to { opacity: 1; transform: none; } }
.rt-net-est { flex: none; display: inline-flex; align-items: center; height: 28px; padding: 0 10px; border-radius: 8px; color: #FFB680; background: rgba(255, 140, 60, .1); border: 1px solid rgba(255, 150, 80, .28); font-weight: 700; font-variant-numeric: tabular-nums; }

/* Palco: tre colonne di nodi, archi in SVG disegnati dallo script */
.rt-stage { position: relative; display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, .82fr) minmax(0, 1.1fr); gap: 0 40px; padding: 16px 6px 14px; }
.rt-edges { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; pointer-events: none; }
.rt-edges path { fill: none; stroke: rgba(147, 168, 255, .32); stroke-width: 1.4; transition: opacity .5s var(--rt-ease), stroke .5s; }
.rt-edges path.is-hot { stroke: rgba(108, 241, 255, .75); stroke-width: 1.8; }
.js .rt-edges path:not(.is-on) { opacity: 0; }
.rt-edges .rt-pulse { fill: #9CF6FF; }
.rt-edges .rt-pulse-h { fill: rgba(0, 229, 255, .22); }
.rt-col { position: relative; z-index: 1; min-width: 0; }
.rt-colh { display: flex; align-items: baseline; gap: 7px; margin-bottom: 10px !important; font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--rt-faint); white-space: nowrap; }
.rt-colh span { color: var(--rt-blue-t); letter-spacing: .04em; }
.rt-col ol { display: grid; gap: 9px; }
.rt-col[data-col="r"] ol, .rt-col[data-col="p"] ol { padding-top: 18px; gap: 16px; }
.rt-node {
  position: relative; display: flex; align-items: center; gap: 9px; min-height: 44px; padding: 6px 10px 6px 6px; border-radius: 12px;
  background: rgba(14, 21, 64, .92); border: 1px solid var(--rt-line-2); color: var(--rt-ink);
  transition: opacity .45s var(--rt-ease), transform .55s var(--rt-spring), border-color .35s, box-shadow .35s, background .35s;
}
.rt-av { flex: none; display: grid; place-items: center; width: 30px; height: 30px; border-radius: 9px; font-size: 11px; font-weight: 800; letter-spacing: .02em; color: #fff;
  background: linear-gradient(140deg, #2F55F0, #5733E0); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25); }
.rt-pe .rt-av { border-radius: 50%; background: linear-gradient(140deg, #6A3DF0, #3557E8); }
.rt-nt { display: grid; min-width: 0; line-height: 1.25; }
.rt-nt b { font-size: 12.5px; font-weight: 650; overflow: hidden; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-height: 1.22; }
.rt-nt small { font-size: 11px; color: var(--rt-faint); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rt-ro { min-height: 38px; padding: 6px 12px; justify-content: flex-start; background: rgba(40, 28, 96, .55); border-color: rgba(187, 166, 255, .26); }
.rt-ro b { font-size: 12.5px; font-weight: 650; color: #E6DEFF; line-height: 1.22; }
.rt-dot { flex: none; width: 8px; height: 8px; border-radius: 50%; background: var(--rt-violet-t); box-shadow: 0 0 0 3px rgba(124, 77, 255, .22); }
.rt-node.is-lit { border-color: rgba(108, 241, 255, .5); box-shadow: 0 0 0 1px rgba(108, 241, 255, .14), 0 10px 26px -14px rgba(0, 229, 255, .7); }
.rt-node.is-dim { opacity: .42; }
.rt-node.is-pick { border-color: rgba(108, 241, 255, .9); background: rgba(10, 44, 78, .95); box-shadow: 0 0 0 3px rgba(0, 229, 255, .16), 0 16px 34px -14px rgba(0, 229, 255, .85); }
.rt-node.is-pick .rt-av { color: #04121A; background: linear-gradient(140deg, #5CF0FF, #9DBBFF); }
.rt-node.is-pick::after { content: ""; position: absolute; inset: -6px; border-radius: 16px; border: 1px solid rgba(108, 241, 255, .45); animation: rt-ring 1.8s var(--rt-ease) infinite; pointer-events: none; }
@keyframes rt-ring { 0% { opacity: .9; transform: scale(.96); } 100% { opacity: 0; transform: scale(1.08); } }
.rt-node > * { transition: opacity .35s var(--rt-ease) .06s; }
@keyframes rt-pop { from { transform: scale(.9); } to { transform: none; } }
@media (prefers-reduced-motion: no-preference) {
  /* Prima di accendersi i nodi sono «posti vuoti» tratteggiati della rete */
  .js:not(.rt-still) .rt-node:not(.is-on) { background: transparent; border-style: dashed; border-color: rgba(138, 156, 255, .17); box-shadow: none; }
  .js:not(.rt-still) .rt-node:not(.is-on) > * { opacity: 0; }
  .js:not(.rt-still) .rt-node.is-on { animation: rt-pop .55s var(--rt-spring) both; }
}

/* Scheda profilo che si compila */
.rt-card { position: relative; margin-top: 2px; padding: 14px 16px 12px; border-radius: 16px; background: var(--rt-panel-2); border: 1px solid var(--rt-line-2); box-shadow: 0 24px 50px -30px rgba(0, 0, 0, .9); }
.rt-card-head { display: flex; align-items: center; gap: 12px; }
.rt-card-av { flex: none; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; font-size: 13px; font-weight: 800; color: #04121A; background: linear-gradient(140deg, #5CF0FF, #9DBBFF 60%, #BBA6FF); box-shadow: 0 0 0 3px rgba(0, 229, 255, .14); }
.rt-card-id { display: grid; min-width: 0; line-height: 1.3; flex: 1; }
.rt-card-id b { font-size: 15.5px; font-weight: 700; letter-spacing: -.01em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rt-card-id span { font-size: 13px; color: var(--rt-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rt-card-state { flex: none; display: inline-flex; align-items: center; gap: 7px; height: 26px; padding: 0 10px; border-radius: 999px; font-size: 12px; font-weight: 650; color: var(--rt-green-t); background: rgba(0, 230, 118, .1); border: 1px solid rgba(0, 230, 118, .26); }
.rt-card-state i { width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.rt-card-state em { font-style: normal; }
.rt-card-state.is-busy { color: var(--rt-cyan-t); background: rgba(0, 229, 255, .08); border-color: rgba(0, 229, 255, .26); }
.rt-card-state.is-busy i { animation: rt-blink 1s steps(2, start) infinite; }
@keyframes rt-blink { to { opacity: .2; } }
.rt-card-f { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 18px; margin: 12px 0 0; }
.rt-card-f > div { position: relative; display: grid; gap: 2px; min-width: 0; padding: 7px 10px; border-radius: 10px; background: rgba(5, 8, 32, .45); border: 1px solid var(--rt-line); }
.rt-card-f > div:nth-child(3) { grid-column: 1 / -1; }
.rt-card-f dt { display: flex; align-items: center; gap: 6px; font-size: 10.5px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--rt-faint); }
.rt-card-f dt .rt-ic { width: 13px; height: 13px; }
.rt-card-f dd { margin: 0; font-size: 13.5px; font-weight: 550; color: var(--rt-ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; transition: opacity .4s var(--rt-ease), transform .5s var(--rt-ease); }
.rt-card-f dd.is-na { color: var(--rt-faint); font-weight: 500; font-style: italic; }
.rt-card-f > div::after { content: ""; position: absolute; left: 10px; bottom: 10px; width: 46%; height: 8px; border-radius: 4px; background: rgba(147, 168, 255, .14); opacity: 0; transition: opacity .3s; }
.rt-card-f > div[data-k="2"].is-fill { border-color: rgba(0, 230, 118, .3); }
.rt-card-head > *, .rt-card-foot > * { transition: opacity .4s var(--rt-ease), transform .5s var(--rt-ease); }
@media (prefers-reduced-motion: no-preference) {
  .js:not(.rt-still) .rt-card-f > div:not(.is-fill) dd { opacity: 0; transform: translateX(-6px); }
  .js:not(.rt-still) .rt-card-f > div:not(.is-fill)::after { opacity: 1; }
  .js:not(.rt-still) .rt-card:not(.is-head) .rt-card-id, .js:not(.rt-still) .rt-card:not(.is-head) .rt-card-av { opacity: .25; }
  .js:not(.rt-still) .rt-card:not(.is-head) .rt-card-state { opacity: 0; }
}
.rt-card-foot { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 12px; flex-wrap: wrap; }
.rt-card-cost { display: inline-flex; align-items: center; gap: 7px; font-size: 12.5px; color: var(--rt-muted); }
.rt-card-cost .rt-ic { width: 15px; height: 15px; color: var(--rt-amber); }
.rt-card-cost b { color: var(--rt-ink); }
.rt-card-btn { display: inline-flex; align-items: center; gap: 8px; height: 32px; padding: 0 13px; border-radius: 9px; font-size: 12.5px; font-weight: 700; color: #fff; background: #1F7A47; border: 1px solid rgba(98, 242, 171, .4); transition: background .35s, border-color .35s, transform .3s var(--rt-spring); }
.rt-card-btn .rt-ic { width: 15px; height: 15px; }
.rt-card-btn em { font-style: normal; }
.rt-card-btn.is-wait { background: rgba(255, 255, 255, .04); border-color: var(--rt-line-2); color: var(--rt-muted); }
.rt-card-btn.is-press { transform: scale(.94); }

.rt-net-cap { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 16px; padding: 10px 4px 0; font-size: 12.5px; color: var(--rt-faint); }
.rt-net-status { display: inline-flex; align-items: center; gap: 8px; color: var(--rt-ink-2); font-weight: 600; min-width: 0; }
.rt-net-status em { font-style: normal; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rt-live { flex: none; width: 8px; height: 8px; border-radius: 50%; background: var(--rt-green); box-shadow: 0 0 0 3px rgba(0, 230, 118, .18); }
.rt-net-credits { font-variant-numeric: tabular-nums; }
.rt-net-credits b { color: var(--rt-ink); font-weight: 700; }
.rt-net-demo { margin-left: auto; display: inline-flex; align-items: center; gap: 6px; font-weight: 600; letter-spacing: .03em; }
.rt-net-demo::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--rt-amber); }

/* ==========================================================================
   STRISCIA DEI NUMERI
   ========================================================================== */
.rt-facts { position: relative; padding: 8px 0 24px; }
.rt-facts-in { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; border-top: 1px solid var(--rt-line); border-bottom: 1px solid var(--rt-line); }
.rt-facts-in li { position: relative; display: grid; gap: 6px; align-content: start; padding: 28px 26px 30px; }
.rt-facts-in li + li { border-left: 1px solid var(--rt-line); }
.rt-facts-in li::before { content: ""; position: absolute; top: -5px; left: 26px; width: 9px; height: 9px; border-radius: 50%; background: var(--rt-bg); border: 2px solid var(--rt-blue); }
.rt-facts-in b { font-size: 46px; line-height: 1; font-weight: 800; letter-spacing: -.04em; background: var(--rt-grad); -webkit-background-clip: text; background-clip: text; color: transparent; font-variant-numeric: tabular-nums; }
.rt-facts-in b small { font-size: 28px; }
.rt-facts-in span { font-size: 14.5px; line-height: 1.45; color: var(--rt-muted); max-width: 22em; }

/* ==========================================================================
   01 · COSA CERCHI · SIMULATORE
   ========================================================================== */
.rt-composer { display: grid; grid-template-columns: minmax(0, 1.28fr) minmax(0, .72fr); gap: 20px; align-items: stretch; }
.rt-comp-main, .rt-comp-out { border-radius: 22px; background: var(--rt-panel); border: 1px solid var(--rt-line-2); box-shadow: 0 30px 70px -40px rgba(0, 0, 0, .85); }
.rt-comp-main { padding: 10px 24px 26px; }
.rt-tabs { display: flex; gap: 4px; padding: 4px; margin: 6px 0 22px; width: max-content; max-width: 100%; border-radius: 14px; background: rgba(5, 8, 32, .6); border: 1px solid var(--rt-line); }
.rt-tab { display: inline-flex; align-items: center; gap: 8px; min-height: 42px; padding: 0 18px; border-radius: 10px; border: 0; background: transparent; color: var(--rt-muted); font: 650 15px var(--rt-font); cursor: pointer; transition: background .25s, color .25s; }
.rt-tab:hover { color: var(--rt-ink); }
.rt-tab[aria-selected="true"] { background: linear-gradient(110deg, rgba(47, 85, 240, .9), rgba(106, 53, 238, .9)); color: #fff; box-shadow: 0 8px 20px -10px rgba(84, 92, 255, .9); }
.rt-tab:focus-visible { outline: 3px solid var(--rt-cyan); outline-offset: 2px; }
.rt-form { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 16px 14px; }
.rt-field { display: grid; gap: 7px; grid-column: span 2; min-width: 0; }
.rt-f-wide { grid-column: span 3; }
.rt-f-full { grid-column: 1 / -1; }
#formPr .rt-f-full:first-child { grid-column: span 4; }
#formPr .rt-f-max { grid-column: span 2; }
.rt-field label { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; font-size: 13px; font-weight: 650; color: var(--rt-ink-2); }
.rt-field label small { font-size: 12px; font-weight: 500; color: var(--rt-faint); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rt-field input, .rt-field select {
  width: 100%; min-height: 48px; padding: 0 14px; border-radius: 12px; border: 1px solid var(--rt-line-2); background: rgba(5, 8, 32, .7);
  color: var(--rt-ink); font: 500 15.5px var(--rt-font); transition: border-color .2s, box-shadow .2s; -webkit-appearance: none; appearance: none;
}
.rt-field select { padding-right: 38px; cursor: pointer; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M2 4.5l4 3.5 4-3.5' fill='none' stroke='%23AAB3DA' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 14px center; }
.rt-field select option { background: #0B1034; color: var(--rt-ink); }
.rt-field input::placeholder { color: #7E87B5; }
.rt-field input:hover, .rt-field select:hover { border-color: rgba(147, 178, 255, .42); }
.rt-page main .rt-field input:focus-visible, .rt-page main .rt-field select:focus-visible { outline: none; border-color: var(--rt-cyan); box-shadow: 0 0 0 3px rgba(0, 229, 255, .22); }
.rt-field input[type=number] { font-variant-numeric: tabular-nums; -moz-appearance: textfield; }
.rt-field input[type=number]::-webkit-inner-spin-button { opacity: .5; }
.rt-examples p { font-size: 13px; font-weight: 650; color: var(--rt-ink-2); margin-bottom: 9px !important; }
.rt-examples ul { display: flex; flex-wrap: wrap; gap: 8px; }
.rt-ex { min-height: 38px; padding: 0 14px; border-radius: 999px; border: 1px solid var(--rt-line-2); background: rgba(255, 255, 255, .03); color: var(--rt-ink-2); font: 550 14px var(--rt-font); cursor: pointer; transition: border-color .2s, background .2s, color .2s, transform .2s var(--rt-ease); }
.rt-ex:hover { border-color: rgba(108, 241, 255, .5); background: rgba(0, 229, 255, .06); color: #fff; transform: translateY(-1px); }
.rt-ex:focus-visible { outline: 3px solid var(--rt-cyan); outline-offset: 2px; }

.rt-comp-out { position: relative; display: flex; flex-direction: column; padding: 24px 24px 20px; overflow: hidden; background: linear-gradient(170deg, rgba(30, 36, 110, .82), rgba(12, 17, 54, .92)); }
.rt-comp-out::before { content: ""; position: absolute; width: 320px; height: 320px; right: -120px; top: -140px; border-radius: 50%; background: radial-gradient(closest-side, rgba(0, 229, 255, .16), transparent); pointer-events: none; }
.rt-out-k { display: inline-flex; align-items: center; gap: 8px; font-size: 12.5px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--rt-cyan-t); }
.rt-out-k .rt-ic { width: 16px; height: 16px; }
.rt-out-q { margin-top: 12px !important; font-size: 17px; line-height: 1.5; font-weight: 600; color: var(--rt-ink); min-height: 3em; text-wrap: pretty; }
.rt-out-warn { margin-top: 10px !important; padding: 9px 12px; border-radius: 10px; font-size: 13.5px; line-height: 1.45; color: #FFD58A; background: rgba(255, 200, 87, .08); border: 1px solid rgba(255, 200, 87, .25); }
.rt-out-warn[hidden] { display: none; }
.rt-out-n { display: flex; align-items: baseline; flex-wrap: wrap; gap: 6px 10px; margin-top: 18px; }
.rt-out-n b { font-size: 54px; line-height: 1; font-weight: 800; letter-spacing: -.04em; color: #fff; font-variant-numeric: tabular-nums; }
.rt-out-n span { font-size: 17px; font-weight: 650; color: var(--rt-ink-2); }
.rt-out-n em { font-style: normal; margin-left: auto; padding: 4px 10px; border-radius: 8px; font-size: 15px; font-weight: 700; color: var(--rt-green-t); background: rgba(0, 230, 118, .1); font-variant-numeric: tabular-nums; }
.rt-out-how { margin-top: 8px !important; font-size: 14px; line-height: 1.5; color: var(--rt-muted); }
.rt-out-notes { display: grid; gap: 10px; margin-top: 18px !important; padding-top: 16px; border-top: 1px solid var(--rt-line); }
.rt-out-notes li { display: grid; grid-template-columns: 18px minmax(0, 1fr); gap: 10px; font-size: 13.5px; line-height: 1.5; color: var(--rt-muted); }
.rt-out-notes .rt-ic { margin-top: 2px; width: 17px; height: 17px; color: var(--rt-blue-t); }
.rt-out-notes b { color: var(--rt-ink); }
.rt-out-notes li.is-plan-m .rt-ic { color: var(--rt-violet-t); }
.rt-out-foot { margin-top: auto !important; padding-top: 16px; font-size: 12px; color: var(--rt-faint); }

/* Settori */
.rt-sectors { margin-top: 28px; padding: 28px 26px 26px; border-radius: 22px; border: 1px solid var(--rt-line); background: rgba(9, 13, 44, .55); }
.rt-sectors-head { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px 32px; align-items: end; margin-bottom: 20px; }
.rt-sectors-head h3 { font-size: 22px; font-weight: 750; letter-spacing: -.02em; color: var(--rt-ink); }
.rt-sectors-head p { grid-column: 1; font-size: 15px; line-height: 1.55; color: var(--rt-muted); max-width: 46em; }
.rt-sectors-tools { grid-column: 2; grid-row: 1 / span 2; display: grid; gap: 8px; justify-items: end; }
.rt-sectors-find { position: relative; display: block; width: 300px; }
.rt-sectors-find .rt-ic { position: absolute; left: 13px; top: 50%; transform: translateY(-50%); width: 16px; height: 16px; color: var(--rt-faint); pointer-events: none; }
.rt-sectors-find input { width: 100%; min-height: 44px; padding: 0 14px 0 38px; border-radius: 12px; border: 1px solid var(--rt-line-2); background: rgba(5, 8, 32, .7); color: var(--rt-ink); font: 500 15px var(--rt-font); }
.rt-sectors-find input::placeholder { color: #7E87B5; }
.rt-page main .rt-sectors-find input:focus-visible { outline: none; border-color: var(--rt-cyan); box-shadow: 0 0 0 3px rgba(0, 229, 255, .22); }
.rt-sectors-count { font-size: 12.5px; color: var(--rt-faint); font-variant-numeric: tabular-nums; }
.rt-sector-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 8px; }
.rt-sector-list.is-collapsed li:nth-child(n+25) { display: none; }
.rt-sector-list li[hidden] { display: none !important; }
.rt-sector { display: grid; gap: 1px; width: 100%; min-height: 54px; padding: 8px 12px; border-radius: 12px; border: 1px solid var(--rt-line); background: rgba(255, 255, 255, .02); text-align: left; cursor: pointer; color: var(--rt-ink-2); font-family: var(--rt-font); transition: border-color .2s, background .2s, transform .2s var(--rt-ease); }
.rt-sector span { font-size: 14px; font-weight: 600; line-height: 1.3; }
.rt-sector small { font-size: 11.5px; line-height: 1.3; color: var(--rt-faint); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rt-sector:hover { border-color: rgba(147, 178, 255, .45); background: rgba(76, 125, 255, .08); transform: translateY(-1px); }
.rt-sector.is-picked { border-color: rgba(108, 241, 255, .6); background: rgba(0, 229, 255, .07); }
.rt-sector:focus-visible { outline: 3px solid var(--rt-cyan); outline-offset: 2px; }
.rt-sector-none { margin-top: 12px !important; font-size: 15px; color: var(--rt-muted); }
.rt-more { display: none; margin: 18px auto 0; align-items: center; gap: 8px; min-height: 44px; padding: 0 18px; border-radius: 999px; border: 1px solid var(--rt-line-2); background: rgba(255, 255, 255, .03); color: var(--rt-ink); font: 650 14.5px var(--rt-font); cursor: pointer; transition: border-color .2s, background .2s; }
.js .rt-more { display: flex; }
.rt-more[hidden] { display: none !important; }
.rt-more:hover { border-color: rgba(147, 178, 255, .6); background: rgba(76, 125, 255, .08); }
.rt-more .rt-ic { transition: transform .3s var(--rt-ease); }
.rt-more[aria-expanded="true"] .rt-ic { transform: rotate(180deg); }
.rt-more:focus-visible { outline: 3px solid var(--rt-cyan); outline-offset: 2px; }

/* ==========================================================================
   02 · I DATI
   ========================================================================== */
.rt-sheets { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.rt-sheet { position: relative; padding: 24px 24px 22px; border-radius: 22px; background: var(--rt-panel); border: 1px solid var(--rt-line-2); overflow: hidden; }
.rt-sheet::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 2px; background: linear-gradient(90deg, var(--rt-blue), var(--rt-violet), transparent); }
.rt-sheet-p::before { background: linear-gradient(90deg, var(--rt-violet), var(--rt-cyan), transparent); }
.rt-sheet-h { display: flex; align-items: center; gap: 14px; margin-bottom: 18px; }
.rt-sheet-ic { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 13px; background: rgba(76, 125, 255, .14); color: var(--rt-blue-t); border: 1px solid rgba(147, 178, 255, .25); }
.rt-sheet-p .rt-sheet-ic { background: rgba(124, 77, 255, .14); color: var(--rt-violet-t); border-color: rgba(187, 166, 255, .26); }
.rt-sheet-ic .rt-ic { width: 22px; height: 22px; }
.rt-sheet-h h3 { font-size: 21px; font-weight: 750; letter-spacing: -.02em; }
.rt-sheet-h p { font-size: 14px; color: var(--rt-faint); }
.rt-rows { display: grid; gap: 0; }
.rt-rows li { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 11px 4px; border-bottom: 1px dashed rgba(138, 156, 255, .14); font-size: 15.5px; color: var(--rt-ink-2); }
.rt-rows li:last-child { border-bottom: 0; }
.rt-rows em { flex: none; font-style: normal; font-size: 12px; font-weight: 700; letter-spacing: .03em; padding: 3px 9px; border-radius: 999px; color: var(--rt-blue-t); background: rgba(76, 125, 255, .12); }
.rt-sheet-p .rt-rows em { color: var(--rt-violet-t); background: rgba(124, 77, 255, .14); }
.rt-rows li.is-plus em { color: var(--rt-green-t); background: rgba(0, 230, 118, .1); }
.rt-sheet-p .rt-rows li.is-plus em { color: var(--rt-violet-t); background: rgba(124, 77, 255, .14); }
.rt-rows li.is-plus::before { content: ""; position: absolute; inset: 3px -8px; border-radius: 10px; background: linear-gradient(90deg, rgba(0, 230, 118, .1), rgba(0, 230, 118, 0)); transform-origin: left; transform: scaleX(0); transition: transform .9s var(--rt-ease); transition-delay: calc(.5s + var(--k, 0) * .2s); z-index: -1; }
.rt-sheet-p .rt-rows li.is-plus::before { background: linear-gradient(90deg, rgba(124, 77, 255, .14), rgba(124, 77, 255, 0)); }
.rt-sheet.is-in .rt-rows li.is-plus::before, html:not(.js) .rt-rows li.is-plus::before { transform: none; }
.rt-rows li { z-index: 0; }
.rt-sheet-f { margin-top: 16px !important; padding-top: 14px; border-top: 1px solid var(--rt-line); font-size: 14.5px; line-height: 1.55; color: var(--rt-muted); }

.rt-shot { margin-top: 28px !important; }
.rt-shot-frame { position: relative; border-radius: 18px; overflow: hidden; border: 1px solid var(--rt-line-2); background: #0B0F1C; box-shadow: 0 40px 90px -46px rgba(0, 0, 0, .95), 0 0 0 6px rgba(76, 125, 255, .05); }
.rt-shot-frame img { width: 100%; }
.rt-shot figcaption { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 6px 16px; margin-top: 12px; font-size: 14px; color: var(--rt-faint); }

/* ==========================================================================
   03 · ARRICCHIMENTO
   ========================================================================== */
.rt-enrich { background: linear-gradient(180deg, transparent, rgba(30, 24, 90, .22) 30%, rgba(30, 24, 90, .22) 70%, transparent); }
.rt-enrich-in { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .92fr); gap: 64px; align-items: center; }
.rt-ticks { display: grid; gap: 12px; margin-top: 26px !important; }
.rt-ticks li { display: grid; grid-template-columns: 22px minmax(0, 1fr); gap: 12px; font-size: 16px; line-height: 1.55; color: var(--rt-muted); }
.rt-ticks .rt-ic { margin-top: 3px; width: 20px; height: 20px; color: var(--rt-green-t); }
.rt-ticks strong { color: var(--rt-ink); }
.rt-aside-link { margin-top: 28px; padding: 18px 20px; border-radius: 16px; background: rgba(76, 125, 255, .08); border: 1px solid rgba(147, 178, 255, .24); }
.rt-aside-link p { font-size: 15.5px; line-height: 1.55; color: var(--rt-muted); margin-bottom: 10px !important; }
.rt-aside-link strong { color: var(--rt-ink); }

.rt-enrich-demo { position: relative; }
.rt-ed-card { position: relative; padding: 22px; border-radius: 22px; background: var(--rt-panel-2); border: 1px solid var(--rt-line-2); box-shadow: 0 40px 80px -40px rgba(0, 0, 0, .9); overflow: hidden; }
.rt-ed-card::after { content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; box-shadow: inset 0 0 0 1px rgba(0, 230, 118, 0); transition: box-shadow .8s; }
.rt-enrich-demo.is-run .rt-ed-card::after { box-shadow: inset 0 0 0 1px rgba(0, 230, 118, .35); transition-delay: 1.6s; }
.rt-ed-top { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; }
.rt-av-lg { width: 46px; height: 46px; border-radius: 13px; font-size: 14px; }
.rt-ed-top div { display: grid; min-width: 0; flex: 1; line-height: 1.35; }
.rt-ed-top b { font-size: 17px; font-weight: 700; }
.rt-ed-top div span { font-size: 13.5px; color: var(--rt-faint); }
.rt-ed-chip { flex: none; display: inline-flex; align-items: center; gap: 7px; height: 32px; padding: 0 12px; border-radius: 9px; font-size: 13px; font-weight: 700; color: #fff; background: #9C4614; border: 1px solid rgba(255, 170, 100, .4); transition: transform .3s var(--rt-spring), opacity .4s; }
.rt-ed-chip .rt-ic { width: 15px; height: 15px; }
.rt-enrich-demo.is-run .rt-ed-chip { animation: rt-press .5s var(--rt-ease) .2s both; }
@keyframes rt-press { 40% { transform: scale(.92); } 100% { transform: none; opacity: .55; } }
.rt-ed-f { display: grid; gap: 8px; }
.rt-ed-f li { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 48px; padding: 0 14px; border-radius: 12px; background: rgba(5, 8, 32, .5); border: 1px solid var(--rt-line); transition: border-color .5s; transition-delay: calc(.6s + var(--k) * .22s); }
.rt-ed-f li > span { display: inline-flex; align-items: center; gap: 9px; font-size: 14px; color: var(--rt-muted); }
.rt-ed-f li > span .rt-ic { width: 16px; height: 16px; color: var(--rt-faint); }
.rt-ed-f b { position: relative; display: grid; justify-items: end; font-size: 15px; font-weight: 600; min-width: 0; }
.rt-ed-f b i { grid-area: 1 / 1; font-style: normal; white-space: nowrap; transition: opacity .45s var(--rt-ease), transform .55s var(--rt-ease); transition-delay: calc(.6s + var(--k) * .22s); }
.rt-ed-was { color: var(--rt-faint); }
.rt-ed-now { color: var(--rt-green-t); }
.js .rt-ed-now { opacity: 0; transform: translateY(8px); }
.rt-enrich-demo.is-run .rt-ed-was { opacity: 0; transform: translateY(-8px); }
.rt-enrich-demo.is-run .rt-ed-now { opacity: 1; transform: none; }
.rt-enrich-demo.is-run .rt-ed-f li { border-color: rgba(0, 230, 118, .28); }
html:not(.js) .rt-ed-was { display: none; }
.rt-ed-bar { height: 4px; margin-top: 16px; border-radius: 2px; background: rgba(147, 168, 255, .14); overflow: hidden; }
.rt-ed-bar i { display: block; height: 100%; background: linear-gradient(90deg, var(--rt-blue), var(--rt-green)); transform-origin: left; transform: scaleX(0); transition: transform 1.3s var(--rt-ease) .5s; }
html:not(.js) .rt-ed-bar i, .rt-enrich-demo.is-run .rt-ed-bar i { transform: none; }
.rt-ed-done { display: inline-flex; align-items: center; gap: 7px; margin-top: 12px !important; font-size: 13.5px; font-weight: 650; color: var(--rt-green-t); transition: opacity .5s 1.8s, transform .5s var(--rt-ease) 1.8s; }
.rt-ed-done .rt-ic { width: 16px; height: 16px; }
.js .rt-enrich-demo:not(.is-run) .rt-ed-done { opacity: 0; transform: translateY(6px); }
.rt-enrich-demo figcaption { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 6px 14px; margin-top: 12px; font-size: 14px; color: var(--rt-faint); }

/* ==========================================================================
   04 · CRM
   ========================================================================== */
.rt-path { position: relative; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; margin-bottom: 36px !important; }
.rt-path::before { content: ""; position: absolute; left: 24px; right: 24px; top: 24px; height: 1px; background: linear-gradient(90deg, rgba(76, 125, 255, .6), rgba(124, 77, 255, .6), rgba(0, 229, 255, .6)); }
.rt-step { position: relative; padding: 0 6px 0 0; }
.rt-step-n { position: relative; display: grid; place-items: center; width: 48px; height: 48px; margin-bottom: 18px; border-radius: 50%; background: var(--rt-bg-3); border: 1px solid rgba(147, 178, 255, .45); color: #fff; font-weight: 800; font-size: 17px; box-shadow: 0 0 0 6px var(--rt-bg), 0 10px 26px -12px rgba(76, 125, 255, .9); }
.rt-step:last-child .rt-step-n { border-color: rgba(108, 241, 255, .6); }
.rt-step h3 { font-size: 19px; font-weight: 750; letter-spacing: -.015em; margin-bottom: 8px !important; }
.rt-step p { font-size: 15.5px; line-height: 1.58; color: var(--rt-muted); }
.rt-crm-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 22px; }
.rt-shot-crm { margin-top: 0 !important; }
.rt-next { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.rt-next-a { height: 100%; display: grid; grid-template-columns: 44px minmax(0, 1fr) 18px; gap: 14px; align-items: start; padding: 18px 16px; border-radius: 16px; background: var(--rt-panel); border: 1px solid var(--rt-line-2); color: var(--rt-ink); text-decoration: none; transition: border-color .25s, transform .25s var(--rt-ease), background .25s; }
.rt-next-a:hover { border-color: rgba(147, 178, 255, .55); background: rgba(24, 32, 92, .8); transform: translateY(-3px); }
.rt-next-ic { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 12px; background: rgba(76, 125, 255, .14); color: var(--rt-blue-t); }
.rt-next-t { display: grid; gap: 3px; min-width: 0; }
.rt-next-t b { font-size: 16px; font-weight: 700; }
.rt-next-t small { font-size: 13.5px; line-height: 1.45; color: var(--rt-muted); }
.rt-next-go { margin-top: 13px; color: var(--rt-faint); transition: transform .25s var(--rt-ease), color .25s; }
.rt-next-a:hover .rt-next-go { color: var(--rt-cyan); transform: translateX(3px); }
.rt-page main .rt-next-a:focus-visible { outline: 3px solid var(--rt-cyan); outline-offset: 3px; border-radius: 16px; }

/* ==========================================================================
   05 · COSTI
   ========================================================================== */
.rt-tiles { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.rt-tile { position: relative; display: grid; align-content: start; gap: 6px; padding: 22px 22px 20px; border-radius: 20px; background: var(--rt-panel); border: 1px solid var(--rt-line-2); overflow: hidden; }
.rt-tile-hi { background: linear-gradient(165deg, rgba(47, 56, 160, .55), rgba(16, 22, 66, .9)); border-color: rgba(147, 178, 255, .4); }
.rt-tile-k { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 650; color: var(--rt-ink-2); }
.rt-tile-k .rt-ic { width: 17px; height: 17px; color: var(--rt-blue-t); }
.rt-tile-n { margin-top: 8px !important; font-size: 17px; font-weight: 650; color: var(--rt-muted); }
.rt-tile-n b { font-size: 50px; line-height: 1; font-weight: 800; letter-spacing: -.04em; color: #fff; margin-right: 4px; font-variant-numeric: tabular-nums; }
.rt-tile-e { font-size: 14.5px; color: var(--rt-green-t); font-weight: 600; }
.rt-tile-p { margin-top: 10px !important; padding-top: 12px; border-top: 1px solid var(--rt-line); font-size: 13px; color: var(--rt-faint); }

.rt-proof { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 36px; align-items: center; margin-top: 22px; padding: 28px; border-radius: 22px; border: 1px solid var(--rt-line); background: rgba(9, 13, 44, .55); }
.rt-proof-txt h3 { font-size: 23px; font-weight: 750; letter-spacing: -.02em; margin-bottom: 10px !important; }
.rt-proof-txt p { font-size: 16px; line-height: 1.6; color: var(--rt-muted); }
.rt-proof-pics { display: grid; gap: 10px; justify-items: start; }
.rt-proof-pics figure { display: grid; gap: 7px; width: 100%; }
.rt-proof-pics figcaption { font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--rt-faint); }
.rt-proof-pics img { border-radius: 12px; border: 1px solid var(--rt-line-2); background: #0B0F1C; }
.rt-proof-pics figure:first-child img { width: min(100%, 632px); }
.rt-proof-pics figure:nth-of-type(2) img { width: min(100%, 402px); }
@media (max-width: 640px) {
  .rt-proof-pics figure:first-child img { width: min(100%, 258px); }
  .rt-proof-pics figure:nth-of-type(2) img { width: min(100%, 145px); }
}
.rt-proof-arrow { display: grid; place-items: center; width: 30px; height: 30px; margin-left: 40px; border-radius: 50%; color: var(--rt-cyan); background: rgba(0, 229, 255, .08); border: 1px solid rgba(0, 229, 255, .25); }
.rt-proof-arrow .rt-ic { width: 16px; height: 16px; }

.rt-rules { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 22px !important; }
.rt-rules li { display: grid; grid-template-columns: 22px minmax(0, 1fr); gap: 12px; padding: 18px; border-radius: 16px; border: 1px solid var(--rt-line); font-size: 15px; line-height: 1.55; color: var(--rt-muted); }
.rt-rules .rt-ic { margin-top: 2px; width: 19px; height: 19px; color: var(--rt-blue-t); }
.rt-rules strong { color: var(--rt-ink); }

.rt-plans { margin-top: 64px; }
.rt-plans-t { font-size: 26px; font-weight: 800; letter-spacing: -.025em; text-align: center; margin-bottom: 24px !important; }
.rt-plan-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; align-items: stretch; }
.rt-plan { position: relative; display: flex; flex-direction: column; padding: 26px 24px 24px; border-radius: 22px; background: var(--rt-panel); border: 1px solid var(--rt-line-2); }
.rt-plan-hi { background: linear-gradient(170deg, rgba(47, 56, 160, .6), rgba(14, 19, 60, .94)); border-color: rgba(147, 178, 255, .5); box-shadow: 0 30px 70px -36px rgba(76, 95, 255, .7); }
.rt-plan-badge { position: absolute; top: -13px; left: 24px; padding: 5px 12px; border-radius: 999px; font-size: 12px; font-weight: 750; letter-spacing: .02em; color: #04121A; background: var(--rt-cyan); }
.rt-plan-n { font-size: 19px; font-weight: 750; }
.rt-plan-p { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 10px; margin-top: 10px !important; }
.rt-plan-p b { font-size: 44px; line-height: 1; font-weight: 800; letter-spacing: -.04em; font-variant-numeric: tabular-nums; }
.rt-plan-p span { font-size: 14px; color: var(--rt-muted); }
.rt-plan-y { margin-top: 6px !important; font-size: 14px; color: var(--rt-green-t); font-weight: 600; }
.rt-plan-f { display: grid; gap: 10px; margin: 20px 0 24px !important; padding-top: 18px; border-top: 1px solid var(--rt-line); }
.rt-plan-f li { display: grid; grid-template-columns: 18px minmax(0, 1fr); gap: 10px; font-size: 15px; line-height: 1.45; color: var(--rt-ink-2); }
.rt-plan-f li .rt-ic { margin-top: 1px; width: 18px; height: 18px; color: var(--rt-green-t); }
.rt-plan-f li.n { color: var(--rt-faint); }
.rt-plan-f li.n .rt-ic { color: var(--rt-faint); }
.rt-plan .rt-btn { margin-top: auto; }
.rt-page main .rt-plans-foot { margin: 22px auto 0; text-align: center; font-size: 15.5px; line-height: 1.6; color: var(--rt-muted); max-width: 820px; }
.rt-plans-foot strong { color: var(--rt-ink); }

/* ==========================================================================
   06 · SALES NAVIGATOR
   ========================================================================== */
.rt-vs-table { border-radius: 22px; border: 1px solid var(--rt-line-2); background: var(--rt-panel); overflow: hidden; }
.rt-vs-table table { width: 100%; border-collapse: collapse; }
.rt-vs-table th, .rt-vs-table td { padding: 18px 22px; text-align: left; vertical-align: top; font-size: 15.5px; line-height: 1.55; border-bottom: 1px solid var(--rt-line); }
.rt-vs-table thead th { font-size: 14px; font-weight: 750; letter-spacing: .02em; color: var(--rt-ink-2); background: rgba(5, 8, 32, .4); }
.rt-vs-table thead th.rt-vs-ms { color: #fff; }
.rt-vs-table tbody th { width: 19%; font-size: 14.5px; font-weight: 700; color: var(--rt-ink); }
.rt-vs-table td { color: var(--rt-muted); width: 40.5%; }
.rt-vs-table .rt-vs-ms { background: rgba(76, 95, 255, .1); color: var(--rt-ink-2); box-shadow: inset 1px 0 0 rgba(147, 178, 255, .2); }
.rt-vs-table thead .rt-vs-ms { background: linear-gradient(90deg, rgba(47, 85, 240, .32), rgba(106, 53, 238, .3)); }
.rt-vs-table tbody tr:last-child th, .rt-vs-table tbody tr:last-child td { border-bottom: 0; }
.rt-vs-note { padding: 18px 22px; font-size: 14.5px; line-height: 1.6; color: var(--rt-faint); border-top: 1px solid var(--rt-line); background: rgba(5, 8, 32, .3); }

/* ==========================================================================
   07 · USO RESPONSABILE
   ========================================================================== */
.rt-law-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.rt-law-col { padding: 26px 24px; border-radius: 22px; border: 1px solid var(--rt-line-2); background: var(--rt-panel); }
.rt-law-ic { display: grid; place-items: center; width: 46px; height: 46px; margin-bottom: 16px; border-radius: 13px; background: rgba(124, 77, 255, .14); color: var(--rt-violet-t); border: 1px solid rgba(187, 166, 255, .24); }
.rt-law-ic .rt-ic { width: 22px; height: 22px; }
.rt-law-col h3 { font-size: 20px; font-weight: 750; letter-spacing: -.015em; margin-bottom: 14px !important; }
.rt-law-col ul { display: grid; gap: 12px; }
.rt-law-col li { position: relative; padding-left: 18px; font-size: 15.5px; line-height: 1.58; color: var(--rt-muted); }
.rt-law-col li::before { content: ""; position: absolute; left: 0; top: .62em; width: 7px; height: 7px; border-radius: 50%; border: 1.5px solid var(--rt-violet-t); }
.rt-law-note { margin-top: 22px !important; font-size: 15px; line-height: 1.6; color: var(--rt-faint); }

/* ==========================================================================
   08 · FAQ
   ========================================================================== */
.rt-faq-in { display: grid; grid-template-columns: minmax(0, .78fr) minmax(0, 1.22fr); gap: 56px; align-items: start; }
.rt-faq-in .rt-head { position: sticky; top: 104px; margin-bottom: 0; }
.rt-qas { display: grid; gap: 10px; }
.rt-qa { border-radius: 16px; border: 1px solid var(--rt-line-2); background: var(--rt-panel); transition: border-color .25s, background .25s; }
.rt-qa[open] { border-color: rgba(147, 178, 255, .45); background: rgba(18, 26, 76, .85); }
.rt-qa summary { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 18px 20px; cursor: pointer; list-style: none; border-radius: 16px; }
.rt-qa summary::-webkit-details-marker { display: none; }
.rt-qa summary h3 { font-size: 17px; line-height: 1.4; font-weight: 650; color: var(--rt-ink); }
.rt-qa summary:focus-visible { outline: 3px solid var(--rt-cyan); outline-offset: 2px; }
.rt-qa-ic { position: relative; flex: none; width: 28px; height: 28px; border-radius: 50%; border: 1px solid var(--rt-line-2); }
.rt-qa-ic::before, .rt-qa-ic::after { content: ""; position: absolute; left: 50%; top: 50%; width: 11px; height: 1.8px; border-radius: 1px; background: var(--rt-blue-t); transform: translate(-50%, -50%); transition: transform .3s var(--rt-ease); }
.rt-qa-ic::after { transform: translate(-50%, -50%) rotate(90deg); }
.rt-qa[open] .rt-qa-ic::after { transform: translate(-50%, -50%) rotate(0deg); }
.rt-qa-a { padding: 0 20px 20px; }
.rt-qa-a p { font-size: 16px; line-height: 1.68; color: var(--rt-muted); max-width: 46em; }
.rt-qa[open] .rt-qa-a { animation: rt-up .4s var(--rt-ease); }

/* ==========================================================================
   CTA FINALE
   ========================================================================== */
.rt-final { position: relative; padding: 130px 0 140px; text-align: center; overflow: hidden; }
.rt-final::before { content: ""; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(closest-side, rgba(76, 95, 255, .32), transparent) 50% 55% / 1100px 620px no-repeat; }
.rt-final-net { position: absolute; inset: 0; pointer-events: none;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1200' height='520' viewBox='0 0 1200 520'%3E%3Cg fill='none' stroke='%238A9CFF' stroke-opacity='.22' stroke-width='1'%3E%3Cpath d='M90 120L260 210 420 90 600 230 780 110 950 220 1110 130M260 210L330 380 600 230 860 400 950 220M420 90L600 230M90 120L150 340 330 380 520 450 600 230M860 400L1060 360 1110 130M520 450L700 470 860 400'/%3E%3C/g%3E%3Cg fill='%2393B2FF' fill-opacity='.55'%3E%3Ccircle cx='90' cy='120' r='4'/%3E%3Ccircle cx='260' cy='210' r='5'/%3E%3Ccircle cx='420' cy='90' r='4'/%3E%3Ccircle cx='780' cy='110' r='4'/%3E%3Ccircle cx='950' cy='220' r='5'/%3E%3Ccircle cx='1110' cy='130' r='4'/%3E%3Ccircle cx='330' cy='380' r='4'/%3E%3Ccircle cx='860' cy='400' r='5'/%3E%3Ccircle cx='150' cy='340' r='3'/%3E%3Ccircle cx='520' cy='450' r='4'/%3E%3Ccircle cx='1060' cy='360' r='3'/%3E%3Ccircle cx='700' cy='470' r='3'/%3E%3C/g%3E%3Ccircle cx='600' cy='230' r='7' fill='%236CF1FF'/%3E%3Ccircle cx='600' cy='230' r='16' fill='none' stroke='%236CF1FF' stroke-opacity='.4'/%3E%3C/svg%3E") 50% 50% / min(1200px, 120%) auto no-repeat;
  -webkit-mask-image: radial-gradient(ellipse 38% 46% at 50% 50%, transparent 55%, #000 100%); mask-image: radial-gradient(ellipse 38% 46% at 50% 50%, transparent 55%, #000 100%); }
.rt-final-in { max-width: 820px; }
.rt-final-in > p:not(.rt-final-links) { margin-top: 20px !important; font-size: 19px; line-height: 1.6; color: var(--rt-muted); }
.rt-cta-c { justify-content: center; margin-top: 32px; }
.rt-final-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 18px; margin-top: 40px !important; font-size: 14.5px; color: var(--rt-faint); }
.rt-final-links span { width: 100%; font-weight: 650; color: var(--rt-muted); }
.rt-page main .rt-final-links a { color: var(--rt-ink-2); font-weight: 550; text-decoration: none; border-bottom: 1px solid rgba(147, 178, 255, .3); }
.rt-page main .rt-final-links a:hover { color: #fff; border-bottom-color: currentColor; }
.rt-tm { max-width: 1240px; margin: 0 auto !important; padding: 0 var(--rt-pad) 40px; font-size: 12.5px; line-height: 1.5; color: var(--rt-faint); text-align: center; }

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width: 1180px) {
  .rt-hero-in { column-gap: 40px; }
  .rt-stage { gap: 0 22px; }
  .rt-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rt-facts-in { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rt-facts-in li:nth-child(3) { border-left: 0; }
  .rt-facts-in li:nth-child(n+3) { border-top: 1px solid var(--rt-line); }
  .rt-facts-in li:nth-child(n+3)::before { display: none; }
}
@media (max-width: 1024px) {
  :root { --rt-sec: 92px; }
  .rt-hero { padding-top: calc(var(--rt-nav) + 34px); }
  .rt-hero-in { grid-template-columns: minmax(0, 1fr); grid-template-areas: "text" "net" "motion"; row-gap: 0; }
  .rt-hero-text { max-width: 720px; padding-bottom: 36px; }
  .rt-ln { font-size: clamp(42px, 7.4vw, 66px); }
  .rt-motion { margin-top: 18px; }
  .rt-composer { grid-template-columns: minmax(0, 1fr); }
  .rt-sheets { grid-template-columns: minmax(0, 1fr); }
  .rt-enrich-in { grid-template-columns: minmax(0, 1fr); gap: 40px; }
  .rt-enrich-demo { max-width: 620px; }
  .rt-path { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 34px; }
  .rt-path::before { display: none; }
  .rt-next { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rt-proof { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .rt-rules { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .rt-page main .rt-plan-grid { grid-template-columns: minmax(0, 1fr); max-width: 560px; margin: 0 auto; gap: 26px; }
  .rt-law-grid { grid-template-columns: minmax(0, 1fr); }
  .rt-faq-in { grid-template-columns: minmax(0, 1fr); gap: 36px; }
  .rt-faq-in .rt-head { position: static; }
  .rt-sectors-head { grid-template-columns: minmax(0, 1fr); }
  .rt-sectors-tools { grid-column: 1; grid-row: auto; justify-items: start; grid-auto-flow: column; align-items: center; gap: 14px; }
}
@media (max-width: 720px) {
  :root { --rt-pad: 20px; --rt-sec: 76px; }
  .rt-page main { font-size: 16px; }
  .rt-head { margin-bottom: 36px; }
  .rt-h2 { font-size: clamp(29px, 7.6vw, 38px); }
  .rt-sub { font-size: 16.5px; }
  .rt-hero { padding-top: calc(var(--rt-nav) + 22px); padding-bottom: 40px; }
  .rt-h1-k { font-size: 13.5px; margin-bottom: 16px; }
  .rt-ln { font-size: clamp(38px, 11vw, 52px); }
  .rt-lead { font-size: 16.5px; margin-top: 18px !important; }
  .rt-hero-text .rt-cta-row { margin-top: 24px; }
  .rt-hero-text .rt-btn { flex: 1 1 100%; }
  .rt-hero-text { padding-bottom: 28px; }
  .rt-net { padding: 10px 10px 10px; border-radius: 18px; }
  .rt-net-bar { flex-wrap: wrap; gap: 8px; }
  .rt-net-q { order: 3; flex-basis: 100%; }
  .rt-net-est { margin-left: 0; }
  /* Rete in verticale: righe invece di colonne */
  .rt-stage { grid-template-columns: minmax(0, 1fr); gap: 22px; padding: 14px 2px 10px; }
  .rt-col ol, .rt-col[data-col="r"] ol, .rt-col[data-col="p"] ol { padding-top: 0; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
  .rt-col[data-col="a"] ol { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rt-colh { width: max-content; margin-bottom: 8px !important; padding: 2px 8px; border-radius: 6px; background: #121A4E; }
  .rt-node { min-height: 40px; gap: 7px; padding: 5px 8px 5px 5px; }
  .rt-av { width: 26px; height: 26px; font-size: 10px; border-radius: 8px; }
  .rt-nt b, .rt-ro b { font-size: 12px; }
  .rt-nt small { display: none; }
  .rt-ro { padding: 5px 8px; gap: 7px; justify-content: center; text-align: center; }
  .rt-ro b { white-space: normal; line-height: 1.2; }
  .rt-dot { display: none; }
  .rt-pe { flex-direction: column; align-items: center; text-align: center; gap: 4px; padding: 7px 4px; }
  .rt-pe .rt-nt b { white-space: normal; line-height: 1.2; }
  .rt-card { padding: 12px 12px 10px; }
  .rt-card-f { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
  .rt-card-f > div { padding: 6px 9px; }
  .rt-card-f > div[data-k="0"], .rt-card-f > div[data-k="2"], .rt-card-f > div[data-k="4"] { grid-column: 1 / -1; }
  .rt-card-f > div[data-k="1"] { order: 1; }
  .rt-card-f > div[data-k="3"] { order: 2; }
  .rt-card-f > div[data-k="2"] { order: 3; }
  .rt-card-f > div[data-k="4"] { order: 4; }
  .rt-card-f dd { font-size: 13px; }
  .rt-card-head { flex-wrap: wrap; }
  .rt-net-cap { gap: 4px 12px; }
  .rt-net-demo { margin-left: 0; width: 100%; }
  .rt-facts-in li { padding: 22px 16px 24px; }
  .rt-facts-in li::before { left: 16px; }
  .rt-facts-in b { font-size: 38px; }
  .rt-facts-in span { font-size: 13.5px; }
  .rt-comp-main { padding: 8px 16px 20px; }
  .rt-comp-out { padding: 20px 18px 18px; }
  .rt-tabs { width: 100%; }
  .rt-tab { flex: 1; justify-content: center; padding: 0 12px; }
  .rt-form { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 12px; }
  .rt-field, .rt-f-wide, #formPr .rt-f-full:first-child { grid-column: 1 / -1; }
  #formAz .rt-field:nth-child(3), #formAz .rt-field:nth-child(4) { grid-column: span 1; }
  #formAz .rt-f-max, #formPr .rt-f-max { grid-column: 1 / -1; }
  .rt-out-n b { font-size: 46px; }
  .rt-sectors { padding: 22px 16px 20px; }
  .rt-sectors-tools { grid-auto-flow: row; width: 100%; }
  .rt-sectors-find { width: 100%; }
  .rt-sector-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rt-sector-list.is-collapsed li:nth-child(n+13) { display: none; }
  .rt-sector small { white-space: normal; }
  .rt-sheet { padding: 20px 16px 18px; }
  .rt-ed-card { padding: 16px; }
  .rt-ed-top { flex-wrap: wrap; }
  .rt-ed-top div { flex: 1 1 calc(100% - 62px); }
  .rt-ed-chip { order: 3; margin-left: 58px; }
  .rt-ed-f li { padding: 0 12px; }
  .rt-rows li { font-size: 15px; }
  .rt-path { grid-template-columns: minmax(0, 1fr); row-gap: 22px; }
  .rt-step { display: grid; grid-template-columns: 48px minmax(0, 1fr); column-gap: 16px; }
  .rt-step-n { grid-row: 1 / span 2; margin-bottom: 0; }
  .rt-next { grid-template-columns: minmax(0, 1fr); }
  .rt-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .rt-tile { padding: 16px 14px 14px; }
  .rt-tile-k { font-size: 13px; align-items: flex-start; }
  .rt-tile-k .rt-ic { margin-top: 1px; }
  .rt-tile-n { font-size: 15px; }
  .rt-tile-n b { font-size: 38px; }
  .rt-tile-e { font-size: 13px; }
  .rt-tile-p { font-size: 12.5px; }
  .rt-proof { padding: 20px 16px; }
  .rt-proof-arrow { margin-left: 20px; }
  .rt-plans { margin-top: 52px; }
  .rt-vs-table thead { display: none; }
  .rt-vs-table table, .rt-vs-table tbody, .rt-vs-table tr, .rt-vs-table th, .rt-vs-table td { display: block; width: auto; }
  .rt-vs-table tbody tr { padding: 16px 16px 14px; border-bottom: 1px solid var(--rt-line); }
  .rt-vs-table tbody tr:last-child { border-bottom: 0; }
  .rt-vs-table tbody th { padding: 0 0 10px; border: 0; font-size: 16px; width: auto; }
  .rt-vs-table td { width: auto; }
  .rt-vs-table td { padding: 10px 12px; border: 0; border-radius: 10px; font-size: 15px; }
  .rt-vs-table td + td { margin-top: 8px; }
  .rt-vs-table td::before { content: attr(data-l); display: block; margin-bottom: 2px; font-size: 11.5px; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; color: var(--rt-faint); }
  .rt-vs-table td.rt-vs-ms::before { color: var(--rt-blue-t); }
  .rt-vs-table td:not(.rt-vs-ms) { background: rgba(5, 8, 32, .35); }
  .rt-vs-note { padding: 16px; }
  .rt-law-col { padding: 22px 18px; }
  .rt-qa summary { padding: 16px; }
  .rt-qa summary h3 { font-size: 16px; }
  .rt-qa-a { padding: 0 16px 18px; }
  .rt-final { padding: 96px 0 104px; }
  .rt-final-in > p:not(.rt-final-links) { font-size: 17px; }
  .rt-final-in .rt-btn { flex: 1 1 100%; }
  .rt-page footer { padding-bottom: 104px; }
}
@media (max-width: 380px) {
  :root { --rt-pad: 16px; }
  .rt-sector { padding: 8px 10px; }
  .rt-sector span { font-size: 13.5px; }
  .rt-col[data-col="a"] .rt-nt b { font-size: 11.5px; }
}
@media (max-width: 340px) {
  .rt-sector-list { grid-template-columns: minmax(0, 1fr); }
  .rt-tiles { grid-template-columns: minmax(0, 1fr); }
}
/* La bolla della chat (in basso a destra, 92 px) non copre il pannello della rete */
@media (min-width: 1025px) {
  .rt-page main .rt-net { margin-right: max(0px, calc(104px - max(0px, (100vw - 1240px) / 2) - var(--rt-pad))); }
}
/* Tablet: lo stato della scheda va sotto il nome, lontano dalla bolla della chat */
@media (max-width: 1024px) {
  .rt-card-head { flex-wrap: wrap; }
  .rt-card-state { order: 3; margin-left: 52px; }
}
/* Schermi bassi (portatili 1280×720, zoom): l'eroe resta nel primo schermo */
@media (min-width: 1025px) and (max-height: 820px) {
  .rt-hero { padding-top: calc(var(--rt-nav) + 26px); padding-bottom: 40px; }
  .rt-crumbs ol { margin-bottom: 14px !important; }
  .rt-h1-k { margin-bottom: 14px; }
  .rt-ln { font-size: clamp(40px, 4.2vw, 58px); }
  .rt-lead { margin-top: 16px !important; font-size: 17px; }
  .rt-hero-text .rt-cta-row { margin-top: 22px; }
  .rt-col ol { gap: 7px; }
  .rt-col[data-col="r"] ol, .rt-col[data-col="p"] ol { gap: 12px; padding-top: 14px; }
  .rt-node { min-height: 40px; }
  .rt-stage { padding-top: 12px; padding-bottom: 10px; }
  .rt-card-f > div { padding: 5px 10px; }
}

/* ==========================================================================
   MOVIMENTO RIDOTTO: tutto fermo, tutto visibile
   ========================================================================== */
@media (prefers-reduced-motion: reduce) {
  .rt-page *, .rt-page *::before, .rt-page *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  .js [data-rv] { opacity: 1 !important; transform: none !important; }
  .rt-rows li.is-plus::before { transform: none; }
  .js .rt-ed-now { opacity: 1; transform: none; }
  .rt-ed-was { display: none; }
  .rt-ed-bar i { transform: none; }
  .js .rt-enrich-demo:not(.is-run) .rt-ed-done { opacity: 1; transform: none; }
  .rt-motion { display: none; }
}
.rt-still .rt-node.is-pick::after, .rt-still .rt-card-state.is-busy i, .rt-still .rt-node { animation: none; }

/* Come nelle altre pagine nuove: «Supporto italiano 24h» (uffici lun-ven 9-18) e «Conforme GDPR» (promessa assoluta) nascosti qui; da togliere dal partial del footer. */
.rt-page .trust-badge.gdpr, .rt-page .trust-badge.uptime { display: none; }

/* Ancore della pagina precedente (/linkedin#companies, #industries, #enrich, #import, #comparison, #cta-section):
   style.css dà a #cta-section padding 160px, min-height 100vh e sfondo: qui si azzerano.
   Niente display:none, altrimenti il browser non scorre all'ancora. */
.ms-ancora, #cta-section.ms-ancora {
  display: block !important; position: static !important;
  width: auto !important; height: 0 !important; min-height: 0 !important;
  padding: 0 !important; margin: 0 !important; border: 0 !important;
  background: none !important; overflow: hidden; pointer-events: none;
  scroll-margin-top: 88px;
}

/* Bolla della chat (comune): ferma con «Ferma le animazioni» e con il movimento ridotto, come nelle altre bozze. */
.rt-still .msc-bubble { animation: none !important; }
@media (prefers-reduced-motion: reduce) { .rt-page .msc-bubble { animation: none !important; } }

/* ==========================================================================
   CRITICA 18/10
   ========================================================================== */
/* Tablet e telefono: lo stato «Profilo letto» va davvero sotto il nome (prima restava
   sulla stessa riga, troncava il nome a 375 px e a 768 px finiva sotto la bolla della chat) */
@media (max-width: 1024px) {
  .rt-card-id { flex: 1 1 calc(100% - 52px); }
  .rt-card-state { margin-top: 8px; }
}
/* Telefono: i filtri della ricerca nell'eroe vanno a capo (prima «11-50 dipendenti»
   veniva tagliato); due righe riservate da subito, così il cambio di scena non sposta nulla */
@media (max-width: 720px) {
  .rt-net-q { flex-wrap: wrap; white-space: normal; align-content: flex-start; min-height: 58px; }
}

/* La rete lungo la pagina: filo verticale, nodi e rami verso i titoli (linkedin-nuova.js) */
.rt-spine { position: absolute; width: 2px; margin-left: -1px; pointer-events: none; z-index: 0;
  background: linear-gradient(to bottom, rgba(138, 156, 255, 0), rgba(138, 156, 255, .2) 3%, rgba(138, 156, 255, .2) 97%, rgba(138, 156, 255, 0)); }
.rt-spine-fill { position: absolute; inset: 0; transform-origin: 50% 0; transform: scaleY(0); will-change: transform;
  background: linear-gradient(to bottom, var(--rt-cyan), var(--rt-blue) 45%, var(--rt-violet)); opacity: .8; }
.rt-spine-n { position: absolute; left: 50%; width: 13px; height: 13px; margin: -6.5px 0 0 -6.5px; border-radius: 50%;
  background: var(--rt-bg); border: 2px solid rgba(138, 156, 255, .42); }
.rt-spine-n::after { content: ""; position: absolute; inset: -2px; border-radius: 50%; background: var(--rt-cyan);
  box-shadow: 0 0 0 5px rgba(0, 229, 255, .12), 0 0 18px rgba(0, 229, 255, .55); opacity: 0; transform: scale(.4);
  transition: opacity .45s var(--rt-ease), transform .55s var(--rt-spring, var(--rt-ease)); }
.rt-spine-n.is-on::after { opacity: 1; transform: scale(1); }
.rt-spine-b { position: absolute; left: 8px; height: 1px; margin-top: -.5px; transform-origin: 0 50%; transform: scaleX(0);
  background: linear-gradient(90deg, rgba(0, 229, 255, .7), rgba(0, 229, 255, .05)); transition: transform .6s var(--rt-ease) .1s; }
.rt-spine-b.is-on { transform: scaleX(1); }
@media (prefers-reduced-motion: reduce) {
  .rt-spine-n::after, .rt-spine-b { transition: none !important; }
}

/* ==========================================================================
   TABLET (19/10): iPad orizzontale 1024, iPad Pro 12,9 verticale, iPad in verticale, tocco
   ========================================================================== */
/* 901-1024 px: le composizioni a due e tre colonne del desktop ci stanno. Prima tutto andava in
   una colonna larga 960 px: modulo e stima uno sotto l'altro, piani impilati in una colonna di
   560 px con 200 px vuoti per lato, tre riquadri GDPR larghi tutto lo schermo con mezza riga di testo. */
@media (min-width: 901px) and (max-width: 1024px) {
  .rt-composer { grid-template-columns: minmax(0, 1.22fr) minmax(0, .78fr); }
  .rt-enrich-in { grid-template-columns: minmax(0, 1fr) minmax(0, .95fr); gap: 36px; }
  .rt-enrich-demo { max-width: none; }
  .rt-page main .rt-plan-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: none; gap: 14px; }
  .rt-plan { padding: 22px 18px 20px; }
  .rt-law-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
}
/* 721-1024 px: le due schede (azienda e profilo) affiancate come sul desktop; prima erano larghe
   fino a 960 px, con l'etichetta a sinistra e il tipo di dato a 800 px di distanza */
@media (min-width: 721px) and (max-width: 1024px) {
  .rt-sheets { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
  .rt-sheet { padding: 20px 18px 18px; }
  .rt-rows li { font-size: 15px; gap: 10px; }
  /* il filtro dei settori sta sotto il titolo: più largo, così il testo d'esempio non viene tagliato */
  .rt-sectors-find { width: 380px; }
}
/* Tocco: il nome inglese del settore va a capo invece di essere troncato con «…»
   (al tocco non c'è modo di leggerlo intero) */
@media (pointer: coarse) {
  .rt-sector small { white-space: normal; overflow: visible; }
}
/* Tocco: aree di almeno 44 px (prima 16-42 px), senza spostare l'impaginazione */
@media (pointer: coarse) {
  .rt-crumbs a, .rt-page main .rt-final-links a { position: relative; }
  .rt-crumbs a::after, .rt-page main .rt-final-links a::after { content: ""; position: absolute; inset: -12px -6px; }
  .rt-final-links { row-gap: 16px; }
  .rt-motion { min-height: 44px; }
  .rt-tab { min-height: 44px; }
  .rt-ex { min-height: 44px; }
  .rt-link { min-height: 44px; }
}
/* Tocco senza mouse: niente stati «hover» che restano appiccicati dopo il tocco */
@media (hover: none) {
  .rt-btn-primary:hover, .rt-btn-ghost:hover, .rt-ex:hover, .rt-sector:hover, .rt-next-a:hover { transform: none; }
  .rt-btn-primary:hover { box-shadow: 0 12px 32px -14px rgba(84, 92, 255, .95), inset 0 1px 0 rgba(255, 255, 255, .22), inset 0 -2px 0 rgba(0, 0, 0, .16); }
  .rt-btn-ghost:hover { border-color: var(--rt-line-2); background: rgba(255, 255, 255, .025); }
  .rt-btn-ghost:hover .rt-ic, .rt-btn-ghost[href^="#"]:hover .rt-ic, .rt-link:hover .rt-ic, .rt-next-a:hover .rt-next-go { transform: none; }
  .rt-btn-primary:hover .rt-shine { transform: translateX(-120%); transition: none; }
  .rt-ex:hover { border-color: var(--rt-line-2); background: rgba(255, 255, 255, .03); color: var(--rt-ink-2); }
  .rt-sector:hover:not(.is-picked) { border-color: var(--rt-line); background: rgba(255, 255, 255, .02); }
  .rt-btn:active, .rt-ex:active { transform: scale(.98); }
}
