/* SwitchMind style overrides */
  :root {
    --tj-ff-body: 'Satoshi', sans-serif !important;
    --tj-ff-heading: 'Satoshi', sans-serif !important;
  }
  body, h1, h2, h3, h4, h5, h6, .sec-title, .slider-title, .mainmenu ul > li > a, .sub-title, button, input, textarea, select {
    font-family: 'Satoshi', sans-serif !important;
  }
  /* Menu: MAIUSCOLO + spacing ampio */
  .mainmenu ul { column-gap: 50px !important; }
  .mainmenu ul > li > a {
    text-transform: uppercase !important;
    letter-spacing: 0.14em !important;
    font-size: 12.5px !important;
    font-weight: 700 !important;
  }
  /* Su schermi medi riduco un po' */
  /* Laptop 1500-1699: menu compatto in una riga (nowrap forzato, altezza header invariata) */
  @media (max-width: 1699px) {
    .mainmenu ul { column-gap: 32px !important; flex-wrap: nowrap !important; }
    .header-wrapper { flex-wrap: nowrap !important; }
  }
  /* Hamburger menu: voci in MAIUSCOLO + più grandi */
  .hamburger-area .mean-nav ul li a {
    text-transform: uppercase !important;
    letter-spacing: 0.12em !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    padding: 14px 0 !important;
  }
  @media (max-width: 575px) {
    .hamburger-area .mean-nav ul li a {
      font-size: 16px !important;
      padding: 12px 0 !important;
    }
  }

  .brand-logo { display: block; width: 180px !important; height: auto !important; max-height: 46px; }
  .brand-logo-light { color: #efe8e5; }
  .brand-logo-dark { color: #0c054b; }
  .site_logo, .site_logo a.logo { display: inline-block; min-width: 190px; max-width: none !important; width: auto !important; }
  .site_logo a.logo { text-decoration: none; }
  .site_logo a.logo img { width: auto !important; max-width: none !important; height: 44px !important; display: block; }
  /* Footer: contenitori logo abbastanza larghi da non deformare il PNG (aspect 4.9:1) */
  .footer-logo, .subscribe-logo { max-width: 240px !important; }
  .footer-logo img, .subscribe-logo img { width: auto !important; max-width: none !important; height: 44px !important; display: block; }

  
  /* Hero 100vh esatta — kill di ogni padding/margin extra */
  body, html { padding: 0 !important; margin: 0 !important; }
  #smooth-wrapper, #smooth-content { padding-top: 0 !important; padding-left: 0 !important; padding-right: 0 !important; margin: 0 !important; }
  #smooth-content { padding-bottom: 40px !important; }
  html, body, #smooth-wrapper { background-color: #ecf0f0 !important; }
  .site-main { padding: 0 !important; margin: 0 !important; }
  .top-space-15, .top-space-65, .top-space-25 { display: none !important; padding: 0 !important; }
  .tj-slider-section { margin: 15px !important; margin-bottom: 15px !important; border-radius: 16px !important; height: calc(100vh - 30px) !important; max-height: calc(100vh - 30px) !important; min-height: calc(100vh - 30px) !important; overflow: hidden !important; }
  .tj-slider-item { height: 100% !important; max-height: 100% !important; min-height: 100% !important; padding: 0 !important; display: flex !important; align-items: center !important; }
  .tj-slider-item .slider-wrapper { padding: 0 !important; }
  /* Hero: no overlay + testi in blu */
  .tj-slider-item { background-color: transparent !important; }
  .tj-slider-item::after { display: none !important; content: none !important; background: none !important; }
  .tj-slider-item .slider-content .slider-title { color: #0c054b !important; letter-spacing: -3.5px !important; font-weight: 700 !important; }
  .tj-slider-item .slider-content .slider-title span { color: #0091ff !important; display: block; }
  .tj-slider-item .slider-content { max-width: 780px !important; }
  .tj-slider-item .slider-content .slider-desc { color: #0c054b !important; max-width: min(720px, 50vw) !important; }
  .tj-slider-item .slider-content .slider-desc strong { font-weight: 700; color: #0c054b; }
  /* Fix label bottoni tagliata: dà respiro verticale al box che nasconde l'animazione */
  .tj-primary-btn .btn-text { line-height: 1.35 !important; padding-block: 2px; }
  .tj-primary-btn .btn-text span { line-height: 1.35 !important; }
  /* Hero buttons: gruppo con secondo bottone ghost */
  .hero-btn-group { display: inline-flex !important; flex-wrap: wrap; gap: 12px; align-items: center; }
  .tj-primary-btn.tj-ghost-btn { background-color: transparent !important; border: 3px solid #0c054b !important; }
  .tj-primary-btn.tj-ghost-btn .btn-text { color: #0c054b !important; }
  .tj-primary-btn.tj-ghost-btn .btn-icon { background-color: #0091ff !important; }
  .tj-primary-btn.tj-ghost-btn:hover { background-color: transparent !important; }
  .tj-primary-btn.tj-ghost-btn:hover .btn-text { color: #0c054b !important; }
  /* Immagine software 95% in basso a destra */
  .hero-software { position: absolute; right: 0; bottom: 0; width: 97%; height: 97%; object-fit: contain; object-position: right bottom; z-index: 2; pointer-events: none; }
  /* Animazioni d'ingresso Hero */
  @keyframes heroFadeUp { from { opacity: 0; transform: translate3d(0, 40px, 0); } to { opacity: 1; transform: translate3d(0, 0, 0); } }
  @keyframes heroFadeIn { from { opacity: 0; } to { opacity: 1; } }
  @keyframes heroSoftwareIn { from { opacity: 0; transform: translate3d(0, 60px, 0); } to { opacity: 1; transform: translate3d(0, 0, 0); } }
  .tj-slider-item .slider-content .slider-title,
  .tj-slider-item .slider-content .slider-desc,
  .tj-slider-item .slider-content .slider-btn { opacity: 0; animation: heroFadeUp .9s cubic-bezier(.22, 1, .36, 1) forwards; will-change: opacity, transform; }
  .tj-slider-item .slider-content .slider-title { animation-delay: .15s; }
  .tj-slider-item .slider-content .slider-desc { animation-delay: .45s; }
  .tj-slider-item .slider-content .slider-btn { animation-delay: .7s; }
  .tj-slider-item .hero-software { opacity: 0; animation: heroSoftwareIn 1.1s cubic-bezier(.22, 1, .36, 1) .35s forwards; will-change: opacity, transform; }
  .tj-slider-item .slider-bg-image { animation: heroFadeIn 1s ease-out both; }
  @media (prefers-reduced-motion: reduce) {
    .tj-slider-item .slider-content .slider-title,
    .tj-slider-item .slider-content .slider-desc,
    .tj-slider-item .slider-content .slider-btn,
    .tj-slider-item .hero-software,
    .tj-slider-item .slider-bg-image { animation: none !important; opacity: 1 !important; transform: none !important; }
  }
  /* Hero mobile: item e section crescono in altezza; il container mantiene 100vh-30px con contenuto
     centrato (parte alta identica all'originale); l'immagine sta dentro l'item, quindi coperta dallo sfondo blu. */
  @media (max-width: 767px) {
    .tj-slider-section {
      height: auto !important;
      max-height: none !important;
      min-height: calc(100vh - 30px) !important;
    }
    .tj-slider-item {
      height: auto !important;
      max-height: none !important;
      min-height: calc(100vh - 30px) !important;
      flex-direction: column !important;
      align-items: stretch !important;
      justify-content: flex-start !important;
    }
    /* Container in flusso naturale, con padding-top per stare sotto l'header. Niente spazio vuoto sotto ai bottoni. */
    .tj-slider-item .container {
      order: 1;
      flex: 0 0 auto;
      min-height: 0 !important;
      padding-top: 120px !important;
      padding-bottom: 0 !important;
      display: block !important;
    }
    /* Picture wrapper: flex-item dopo il container, con margine sopra */
    .tj-slider-item > picture {
      order: 2;
      display: block !important;
      margin: 24px 0 0 !important;
      width: 100% !important;
      max-width: 100% !important;
      line-height: 0;
    }
    /* Immagine software: sia dentro <picture> che come <img> diretto */
    .tj-slider-item .hero-software {
      order: 2;
      position: static !important;
      display: block !important;
      margin: 0 !important;
      width: 100% !important;
      max-width: 100% !important;
      height: auto !important;
      max-height: none !important;
      object-fit: contain !important;
      object-position: bottom right !important;
      right: auto !important;
      bottom: auto !important;
      top: auto !important;
      left: auto !important;
    }
    /* Bottoni Hero: stack verticale, larghi come il container */
    .slider-btn.hero-btn-group {
      display: flex !important;
      flex-direction: column !important;
      align-items: stretch !important;
      width: 100%;
      max-width: none;
      gap: 12px;
    }
    .slider-btn.hero-btn-group .tj-primary-btn {
      width: 100%;
      justify-content: space-between;
      padding: 5px 5px 5px 22px;
    }
  }
  /* Modelli Compatibili */
  .models-title { font-family: 'Satoshi', sans-serif !important; padding-top: 16px; padding-bottom: 16px; }
  .models-title .models-dark { color: #0c054b; }
  .models-title .models-blue { color: #0091ff; }
  .model-name { font-family: 'Satoshi', sans-serif !important; font-weight: 900; color: #0c054b; font-size: 28px; letter-spacing: -0.4px; line-height: 1; transition: color .25s ease-in-out; display: inline-block; }
  .client-logo { cursor: pointer; transition: background-color .25s ease-in-out; }
  .client-logo:hover .model-name { color: #0091ff; }
  @media (max-width: 767px) { .model-name { font-size: 22px; } }
  /* Distanza tra carosello modelli e sezione process */
  .tj-working-process { margin-top: 80px; margin-bottom: 15px; background-color: transparent !important; overflow: hidden; position: relative; }
  .tj-working-process::before { content: ""; position: absolute; inset: 0; background-color: rgba(0, 145, 255, 0.06); z-index: -2; border-radius: inherit; pointer-events: none; }
  @media (max-width: 767px) { .tj-working-process { margin-top: 50px; } }
  /* Pricing: stessa base di "Il problema" + margine sopra/sotto a 15px */
  .tj-pricing-section { position: relative; overflow: hidden; margin: 0 15px 15px; border-radius: 16px; background-color: rgba(0, 145, 255, 0.06) !important; }
  /* Simulatore Token — layout designer edition, UI kit del template */
  .tj-simulator-section { position: relative; overflow: hidden; margin: 0 15px 15px; border-radius: 16px; background-color: rgba(0, 145, 255, 0.06) !important; }
  .tj-simulator-section .bg-shape-1 img, .tj-simulator-section .bg-shape-2 img { opacity: 0.35; }
  .sim-label { color: #0091ff !important; background-color: #ffffff !important; border: 0 !important; padding: 7px 10px !important; }
  .sim-title span { color: #0091ff !important; }
  .sim-heading { max-width: 900px !important; margin-left: auto; margin-right: auto; }
  .sim-desc { max-width: 780px !important; margin: 18px auto 0; color: #364e52; font-size: 16px; line-height: 1.6; }
  /* Layout 5/7: controls più stretti, results dominanti */
  .sim-body { display: grid; grid-template-columns: 5fr 7fr; gap: 24px; align-items: stretch; margin-top: 50px; }
  @media (max-width: 1199px) { .sim-body { grid-template-columns: 1fr; gap: 20px; margin-top: 32px; } }
  /* Card contenitori: stesso stile di .pricing-box */
  .sim-controls, .sim-results { background-color: var(--tj-color-common-white); border-radius: 12px; padding: 40px 32px; display: flex; flex-direction: column; gap: 28px; }
  @media (max-width: 575px) { .sim-controls, .sim-results { padding: 30px 22px; gap: 22px; } }
  .sim-panel-head { display: flex; flex-direction: column; gap: 4px; }
  .sim-panel-title { font-family: var(--tj-ff-heading); font-weight: var(--tj-fw-sbold); font-size: 22px; color: var(--tj-color-heading-primary); margin: 0; letter-spacing: -0.3px; }
  .sim-panel-sub { margin: 0; font-size: 14px; color: var(--tj-color-text-body); }
  /* Presets */
  .sim-presets { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
  .sim-preset { display: flex; flex-direction: column; gap: 4px; align-items: center; padding: 14px 8px; background: #ffffff; border: 1px solid rgba(12, 5, 75, 0.08); border-radius: 12px; cursor: pointer; transition: border-color .2s ease, background-color .2s ease, transform .2s ease; }
  .sim-preset:hover { border-color: #0091ff; transform: translateY(-2px); }
  .sim-preset.is-active { background-color: rgba(0, 145, 255, 0.08); border-color: #0091ff; }
  .sim-preset-name { font-family: var(--tj-ff-heading); font-weight: var(--tj-fw-sbold); font-size: 14px; color: var(--tj-color-heading-primary); line-height: 1; }
  .sim-preset.is-active .sim-preset-name { color: #0091ff; }
  .sim-preset-meta { font-size: 11px; color: var(--tj-color-text-body); text-transform: uppercase; letter-spacing: 0.06em; }
  /* Divider */
  .sim-divider { height: 1px; background: rgba(12, 5, 75, 0.06); }
  /* Live pulse */
  .sim-pulse { background: linear-gradient(135deg, rgba(0, 145, 255, 0.06), rgba(12, 5, 75, 0.03)); border: 1px solid rgba(0, 145, 255, 0.12); border-radius: 12px; padding: 20px; display: flex; flex-direction: column; gap: 14px; }
  .sim-pulse-head { display: flex; align-items: center; gap: 10px; }
  .sim-pulse-dot { width: 8px; height: 8px; border-radius: 50%; background: #0091ff; box-shadow: 0 0 0 0 rgba(0, 145, 255, 0.5); animation: simPulse 2s infinite; }
  @keyframes simPulse {
    0% { box-shadow: 0 0 0 0 rgba(0, 145, 255, 0.5); }
    70% { box-shadow: 0 0 0 8px rgba(0, 145, 255, 0); }
    100% { box-shadow: 0 0 0 0 rgba(0, 145, 255, 0); }
  }
  .sim-pulse-label { font-size: 12px; font-weight: var(--tj-fw-sbold); text-transform: uppercase; letter-spacing: 0.08em; color: var(--tj-color-heading-primary); }
  .sim-pulse-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
  .sim-pulse-stat { display: flex; flex-direction: column; gap: 2px; }
  .sim-pulse-num { font-family: var(--tj-ff-heading); font-weight: var(--tj-fw-sbold); font-size: 26px; color: #0091ff; letter-spacing: -0.3px; font-variant-numeric: tabular-nums; line-height: 1; }
  .sim-pulse-lbl { font-size: 11px; color: var(--tj-color-text-body); text-transform: uppercase; letter-spacing: 0.06em; }
  .sim-pulse-text { margin: 0; font-size: 12.5px; color: var(--tj-color-text-body); font-style: italic; }
  .sim-field { display: flex; flex-direction: column; gap: 12px; }
  .sim-label-row { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
  .sim-field-label { font-family: var(--tj-ff-heading); font-weight: var(--tj-fw-sbold); color: var(--tj-color-heading-primary); font-size: 15px; }
  .sim-chip { display: inline-flex; align-items: center; justify-content: center; min-width: 56px; height: 32px; padding: 0 12px; border-radius: 999px; background: rgba(0, 145, 255, 0.12); color: #0091ff; font-family: var(--tj-ff-heading); font-weight: var(--tj-fw-sbold); font-size: 15px; font-variant-numeric: tabular-nums; }
  /* Slider */
  .sim-range { -webkit-appearance: none; appearance: none; width: 100%; height: 4px; background: rgba(12, 5, 75, 0.10); border-radius: 999px; outline: none; margin: 2px 0; }
  .sim-range::-webkit-slider-thumb { -webkit-appearance: none; appearance: none; width: 20px; height: 20px; border-radius: 50%; background: #0091ff; border: 3px solid #ffffff; box-shadow: 0 0 0 1px rgba(0, 145, 255, 0.35); cursor: pointer; transition: transform .15s ease; }
  .sim-range::-webkit-slider-thumb:hover { transform: scale(1.08); }
  .sim-range::-moz-range-thumb { width: 20px; height: 20px; border-radius: 50%; background: #0091ff; border: 3px solid #ffffff; box-shadow: 0 0 0 1px rgba(0, 145, 255, 0.35); cursor: pointer; }
  .sim-scale { display: flex; justify-content: space-between; font-size: 12px; color: var(--tj-color-text-body); font-variant-numeric: tabular-nums; }
  /* Segmented — 3 pills con title + sub */
  .sim-segmented { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; padding: 5px; border: 1px solid rgba(12, 5, 75, 0.08); border-radius: 14px; }
  .sim-seg { display: flex; flex-direction: column; gap: 2px; align-items: center; justify-content: center; border: 0; background: transparent; padding: 10px 6px; border-radius: 10px; cursor: pointer; transition: background-color .2s ease, color .2s ease; }
  .sim-seg-title { font-family: var(--tj-ff-heading); font-weight: var(--tj-fw-sbold); font-size: 14px; color: var(--tj-color-heading-primary); line-height: 1.1; }
  .sim-seg-sub { font-size: 11px; color: var(--tj-color-text-body); line-height: 1.2; }
  .sim-seg:hover .sim-seg-title { color: #0091ff; }
  .sim-seg.is-active { background: #0091ff; }
  .sim-seg.is-active .sim-seg-title, .sim-seg.is-active .sim-seg-sub { color: #ffffff; }
  /* HERO — shock panel dark navy */
  .sim-hero { background-color: var(--tj-color-heading-primary); border-radius: 12px; padding: 32px; display: flex; flex-direction: column; gap: 10px; position: relative; overflow: hidden; }
  .sim-hero::after { content: ""; position: absolute; right: -30px; top: -30px; width: 180px; height: 180px; border-radius: 50%; background: radial-gradient(circle, rgba(0, 145, 255, 0.35) 0%, rgba(0, 145, 255, 0) 70%); pointer-events: none; }
  .sim-hero-kicker { font-size: 13px; font-weight: var(--tj-fw-sbold); text-transform: uppercase; letter-spacing: 0.08em; color: rgba(255,255,255,0.7); position: relative; z-index: 1; }
  .sim-hero-num { font-family: var(--tj-ff-heading); font-weight: var(--tj-fw-sbold); font-size: 72px; line-height: 1; color: #ffffff; letter-spacing: -2px; font-variant-numeric: tabular-nums; position: relative; z-index: 1; }
  .sim-hero-num .sim-hero-eur { font-size: 22px; font-weight: var(--tj-fw-regular); color: rgba(255,255,255,0.7); letter-spacing: 0; margin-left: 6px; }
  @media (max-width: 767px) { .sim-hero-num { font-size: 52px; letter-spacing: -1.5px; } .sim-hero-num .sim-hero-eur { font-size: 18px; } }
  .sim-hero-meta { list-style: none; margin: 12px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 24px 32px; position: relative; z-index: 1; }
  .sim-hero-meta li { display: flex; flex-direction: column; gap: 2px; }
  .sim-hero-metric { font-family: var(--tj-ff-heading); font-weight: var(--tj-fw-sbold); font-size: 20px; color: #ffffff; font-variant-numeric: tabular-nums; line-height: 1; }
  .sim-hero-metric-lbl { font-size: 12px; color: rgba(255,255,255,0.6); text-transform: uppercase; letter-spacing: 0.06em; }
  /* BARS */
  .sim-bars { display: flex; flex-direction: column; gap: 18px; }
  .sim-bar-row { display: flex; flex-direction: column; gap: 8px; }
  .sim-bar-head { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
  .sim-bar-name { font-family: var(--tj-ff-heading); font-weight: var(--tj-fw-sbold); font-size: 14px; color: var(--tj-color-heading-primary); }
  .sim-bar-val { font-family: var(--tj-ff-heading); font-weight: var(--tj-fw-sbold); font-size: 15px; color: var(--tj-color-heading-primary); font-variant-numeric: tabular-nums; }
  .sim-bar-val b { font-size: 20px; }
  .sim-bar-track { width: 100%; height: 14px; background: rgba(12, 5, 75, 0.06); border-radius: 999px; overflow: hidden; }
  .sim-bar-fill { height: 100%; width: 0%; border-radius: 999px; transition: width .6s cubic-bezier(.22, 1, .36, 1); }
  .sim-bar-fill-neu { background: linear-gradient(90deg, rgba(12, 5, 75, 0.45), rgba(12, 5, 75, 0.75)); }
  .sim-bar-fill-pri { background: linear-gradient(90deg, #0091ff, #00b6ff); }
  /* DELTA badge */
  .sim-delta { display: flex; align-items: center; gap: 16px; background-color: rgba(0, 145, 255, 0.10); border-radius: 12px; padding: 18px 22px; }
  .sim-delta-badge { flex: 0 0 auto; width: 66px; height: 66px; border-radius: 50%; background: #0091ff; color: #ffffff; display: flex; flex-direction: column; align-items: center; justify-content: center; box-shadow: 0 8px 24px rgba(0, 145, 255, 0.25); }
  .sim-delta-arrow { font-size: 14px; line-height: 1; font-weight: 900; }
  .sim-delta-pct { font-family: var(--tj-ff-heading); font-weight: var(--tj-fw-sbold); font-size: 20px; line-height: 1; font-variant-numeric: tabular-nums; }
  .sim-delta-text { display: flex; flex-direction: column; gap: 2px; }
  .sim-delta-label { font-size: 12.5px; font-weight: var(--tj-fw-sbold); text-transform: uppercase; letter-spacing: 0.08em; color: #0091ff; }
  .sim-delta-val { font-family: var(--tj-ff-heading); font-weight: var(--tj-fw-sbold); font-size: 32px; line-height: 1; color: var(--tj-color-heading-primary); letter-spacing: -0.5px; font-variant-numeric: tabular-nums; }
  .sim-delta-val .sim-eur { font-size: 15px; font-weight: var(--tj-fw-regular); color: var(--tj-color-text-body); letter-spacing: 0; margin-left: 4px; }
  /* KPI STRIP nel pannello destro */
  .sim-kpis { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
  @media (max-width: 575px) { .sim-kpis { grid-template-columns: 1fr; } }
  .sim-kpi { background: rgba(0, 145, 255, 0.06); border: 1px solid rgba(0, 145, 255, 0.12); border-radius: 12px; padding: 16px 18px; display: flex; flex-direction: column; gap: 4px; }
  .sim-kpi-label { font-size: 11px; font-weight: var(--tj-fw-sbold); text-transform: uppercase; letter-spacing: 0.08em; color: var(--tj-color-text-body); }
  .sim-kpi-val { font-family: var(--tj-ff-heading); font-weight: var(--tj-fw-sbold); font-size: 24px; line-height: 1; color: var(--tj-color-heading-primary); letter-spacing: -0.3px; font-variant-numeric: tabular-nums; }
  .sim-kpi-suffix { font-size: 13px; font-weight: var(--tj-fw-regular); color: var(--tj-color-text-body); margin-left: 2px; }
  .sim-kpi-sub { font-size: 12px; color: var(--tj-color-text-body); }
  /* ACTIONS — bottoni tema, larghi come la card, colonna singola su mobile */
  .sim-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 4px; }
  @media (max-width: 767px) { .sim-actions { grid-template-columns: 1fr; } }
  .sim-actions .tj-primary-btn { display: flex; width: 100%; justify-content: space-between; }
  /* HOW WE CALCULATE — no outer card, 4 tiles allo stile "La piattaforma" */
  .sim-how { margin-top: 60px; }
  @media (max-width: 767px) { .sim-how { margin-top: 40px; } }
  .sim-how-head { text-align: center; max-width: 720px; margin: 0 auto 40px; }
  .sim-how-title { font-family: var(--tj-ff-heading); font-weight: var(--tj-fw-sbold); font-size: 40px; line-height: 1.15; color: var(--tj-color-heading-primary); letter-spacing: -0.5px; margin: 0 0 12px; }
  .sim-how-title span { color: #0091ff; }
  @media (max-width: 767px) { .sim-how-title { font-size: 28px; } }
  .sim-how-sub { margin: 0; color: #364e52; font-size: 16px; line-height: 1.6; }
  .sim-how-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
  @media (max-width: 991px) { .sim-how-grid { grid-template-columns: repeat(2, 1fr); gap: 16px; } }
  @media (max-width: 575px) { .sim-how-grid { grid-template-columns: 1fr; } }
  /* Card = stesso stile di .choose-box.style-2 della sezione "La piattaforma" */
  .sim-how-card { display: flex; flex-direction: column; height: 100%; padding: 60px 28px 40px; background-color: var(--tj-color-common-white); border-radius: 10px; text-align: left; }
  /* Icona Lottie: stesso trattamento di .platform-icon nella sezione "La piattaforma" */
  .sim-how-icon { display: flex; align-items: center; justify-content: center; width: 84px; height: 84px; max-width: 84px; background: transparent; border: none; color: #0091ff; transform: translateY(-36px); margin: 0 0 0 0 !important; }
  .sim-how-icon .lottie-holder { width: 84px; height: 84px; }
  .sim-how-icon .lottie-holder svg path, .sim-how-icon .lottie-holder svg line, .sim-how-icon .lottie-holder svg polyline, .sim-how-icon .lottie-holder svg rect, .sim-how-icon .lottie-holder svg circle, .sim-how-icon .lottie-holder svg ellipse { stroke: #0091ff !important; }
  .sim-how-name { font-family: var(--tj-ff-heading); font-weight: var(--tj-fw-sbold); font-size: 20px; color: var(--tj-color-heading-primary); margin: 0 0 20px; letter-spacing: -0.2px; line-height: 1.2; }
  .sim-how-body { margin: 0; font-size: 14px; line-height: 1.6; color: var(--tj-color-text-body); }
  @media (max-width: 991px) { .sim-how-card { padding: 50px 24px 32px; } }
  /* Footer: 15px orizzontali (bg body visibile) */
  .tj-footer-section { margin: 0 15px !important; }
  /* Pattern in blu scuro sopra lo sfondo azzurro chiaro */
  .tj-working-process .bg-shape-1, .tj-working-process .bg-shape-2 { mix-blend-mode: normal !important; z-index: -1 !important; opacity: 1 !important; }
  .tj-working-process .bg-shape-1 img, .tj-working-process .bg-shape-2 img { filter: brightness(0) saturate(100%) invert(9%) sepia(94%) saturate(3037%) hue-rotate(238deg) brightness(85%) contrast(105%); opacity: .38; }
  /* Sezione "Il problema" — allargo la descrizione */
  .problem-heading-wrap .heading-wrap-content .desc { max-width: 620px !important; }
  @media (max-width: 991px) { .problem-heading-wrap .heading-wrap-content .desc { max-width: 100% !important; } }
  /* Label "Perché SwitchMind" — sfondo azzurro 20% + testo azzurro */
  .solutions-label { background-color: rgba(0, 145, 255, 0.20) !important; color: #0091ff !important; border-color: transparent !important; }
  .solutions-title span { color: #0091ff !important; }
  /* Descrizione "Perché SwitchMind" — stesso colore delle desc delle card servizio */
  .solutions-desc { color: #a9b8b8 !important; }
  /* Rimuovo il bordo tratteggiato dalle service card style-2 */
  .service-item.style-2 { border: none !important; }
  /* Label "La piattaforma" — stessa forma di "Il problema" */
  .platform-label { color: #0091ff !important; background-color: #ffffff !important; border: 0 !important; padding: 7px 10px !important; }
  .platform-title span { color: #0091ff !important; }
  .usecases-title span { color: #0091ff !important; }
  /* Casi d'uso: titolo + freccia centrati, titolo grande, spostati verso il basso */
  .tj-project-section-2 .project-item .project-content { padding: 60px 20px 40px !important; text-align: center; }
  .tj-project-section-2 .project-item .project-text { justify-content: center !important; gap: 18px; margin-top: 40px !important; }
  .tj-project-section-2 .project-item .title { max-width: none !important; width: auto !important; font-size: 52px !important; line-height: 1.1 !important; }
  @media (max-width: 991px) { .tj-project-section-2 .project-item .title { font-size: 40px !important; } }
  @media (max-width: 767px) { .tj-project-section-2 .project-item .title { font-size: 30px !important; } .tj-project-section-2 .project-item .project-text { margin-top: 20px !important; } }
  /* Il tema limita .tj-choose-section .sec-heading a 550px — lo allargo per il mio heading */
  .tj-choose-section .sec-heading.platform-heading { max-width: 1000px !important; }
  .platform-title { max-width: 100% !important; font-size: 46px !important; line-height: 1.15 !important; }
  @media (max-width: 991px) { .platform-title { font-size: 34px !important; } }
  .platform-desc { max-width: 900px !important; width: 100%; margin: 18px auto 0; text-align: center; color: #364e52; font-size: 16px; line-height: 1.6; }
  @media (max-width: 991px) { .platform-desc { font-size: 15px; } }
  /* Icone Lottie thin (inline JSON, funziona anche da file://) */
  .platform-icon { display: flex; align-items: center; justify-content: center; width: 84px; height: 84px; max-width: 84px !important; background: transparent !important; border: none !important; color: #0091ff; transform: translateY(-36px); margin-bottom: 0 !important; }
  .tj-choose-section .choose-box.style-2 { padding-top: 60px !important; }
  .lottie-holder { width: 84px; height: 84px; }
  .lottie-holder svg path, .lottie-holder svg line, .lottie-holder svg polyline, .lottie-holder svg rect, .lottie-holder svg circle, .lottie-holder svg ellipse { stroke: #0091ff !important; }
  /* Disabilito completamente l'hover sulle 3 card della sezione "La piattaforma" */
  .tj-choose-section .choose-box.style-2,
  .tj-choose-section .choose-box.style-2:hover { background-color: var(--tj-color-common-white) !important; transition: none !important; }
  .tj-choose-section .choose-box.style-2:hover .choose-icon.platform-icon { animation: none !important; -webkit-animation: none !important; color: #0091ff !important; }
  .tj-choose-section .choose-box.style-2:hover .title,
  .tj-choose-section .choose-box.style-2:hover .desc,
  .tj-choose-section .choose-box.style-2:hover .btn-text { color: inherit !important; }
  .tj-choose-section .choose-box.style-2:hover .btn-icon { background-color: inherit !important; }
  /* H2 in Satoshi Bold */
  h2, .sec-title { font-family: 'Satoshi', sans-serif !important; font-weight: 700 !important; }
  .problem-heading-wrap .sec-title span { color: #0091ff !important; }
  /* Footer: 4 colonne distribuite in modo uniforme.
     Il tema aveva padding asimmetrici (115px col-2, 120px col-3, 0 sede) — li normalizzo. */
  .tj-footer-section .footer-widget.footer-col-2,
  .tj-footer-section .footer-widget.footer-col-3,
  .tj-footer-section .footer-widget.widget-contact {
    padding-inline-start: 60px !important;
    -webkit-padding-start: 60px !important;
  }
  @media (max-width: 1199px) {
    .tj-footer-section .footer-widget.footer-col-2,
    .tj-footer-section .footer-widget.footer-col-3,
    .tj-footer-section .footer-widget.widget-contact {
      padding-inline-start: 40px !important;
      -webkit-padding-start: 40px !important;
    }
  }
  @media (max-width: 991px) {
    .tj-footer-section .footer-widget.footer-col-2,
    .tj-footer-section .footer-widget.footer-col-3,
    .tj-footer-section .footer-widget.widget-contact {
      padding-inline-start: 0 !important;
      -webkit-padding-start: 0 !important;
    }
  }
  /* Mobile: footer tutto centrato */
  @media (max-width: 767px) {
    .tj-footer-section .footer-widget { text-align: center !important; }
    .tj-footer-section .footer-logo { max-width: 100% !important; display: flex; justify-content: center; }
    .tj-footer-section .footer-logo img { margin: 0 auto; }
    .tj-footer-section .footer-widget .footer-text { text-align: center; }
    .tj-footer-section .footer-widget ul { padding: 0; }
    .tj-footer-section .footer-widget ul li { text-align: center; }
    /* Sede: centro anche il blocco contact-info (era max-width: 230px allineato a sinistra) */
    .tj-footer-section .footer-widget .footer-contact-info { max-width: 100% !important; text-align: center; }
    .tj-footer-section .footer-widget .contact-item { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 4px; }
    .tj-footer-section .footer-widget .contact-item a,
    .tj-footer-section .footer-widget .contact-item span { justify-content: center; text-align: center; }
    .tj-copyright-area-2 .copyright-content-area { flex-direction: column; align-items: center; gap: 18px; text-align: center; }
    .tj-copyright-area-2 .social-links ul,
    .tj-copyright-area-2 .copyright-menu ul { justify-content: center; }
  }
  /* Footer: angoli inferiori sempre arrotondati (annullo l'override mobile del tema) */
  .tj-footer-section { border-radius: 12px !important; margin-bottom: 15px !important; }
  @media (max-width: 767px) {
    .tj-footer-section { border-radius: 12px !important; margin-bottom: 15px !important; }
  }
  /* Marquee: dimensioni più grandi in mobile */
  @media (max-width: 767px) {
    .footer-marquee .marquee-item .marquee-text { font-size: 84px !important; -webkit-text-stroke: 2px var(--tj-color-common-white) !important; }
    .footer-marquee .marquee-item .marquee-img { height: 62px !important; }
    .footer-marquee .marquee-item { gap: 22px !important; -webkit-padding-end: 22px !important; padding-inline-end: 22px !important; }
  }
  @media (max-width: 480px) {
    .footer-marquee .marquee-item .marquee-text { font-size: 68px !important; }
    .footer-marquee .marquee-item .marquee-img { height: 50px !important; }
  }
  /* Footer: brand col allineata alle altre — testo che occupa la larghezza della colonna */
  .tj-footer-section .footer-widget .footer-text { max-width: 100% !important; }
  .tj-footer-section .footer-widget .footer-text p { margin-top: 20px !important; margin-bottom: 0 !important; }
  /* Footer: riduco il padding-top (era 195px per la newsletter overlap, ora rimossa) */
  .tj-footer-section { padding-top: 70px !important; }
  @media (max-width: 1199px) { .tj-footer-section { padding-top: 60px !important; } }
  @media (max-width: 767px) { .tj-footer-section { padding-top: 50px !important; } }
  .tj-footer-section .footer-main-area { padding: 40px 0 70px 0 !important; }
  @media (max-width: 767px) { .tj-footer-section .footer-main-area { padding: 30px 0 50px 0 !important; } }
  /* Navbar: blu scuro con opacità leggerissima + voci menu blu scuro */
  .header-area.header-2.header-absolute .header-wrapper { background-color: rgba(0, 145, 255, 0.04) !important; backdrop-filter: blur(10px); }
  .header-area.header-2.header-absolute .mainmenu > ul > li > a,
  .header-area.header-2.header-sticky .mainmenu > ul > li > a { color: #0c054b !important; }
  .header-area.header-2.header-absolute .mainmenu > ul > li:hover > a,
  .header-area.header-2.header-sticky .mainmenu > ul > li:hover > a { color: #0091ff !important; }

/* Support for ACF WYSIWYG rich text inside descriptions */
.desc p:last-child,
.footer-desc p:last-child,
.contact-info-text p:last-child,
.sim-how-body p:last-child {
  margin-bottom: 0;
}
.desc p,
.footer-desc p,
.contact-info-text p,
.sim-how-body p {
  color: inherit;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}
