/* ====================================================
   FINBLOCK - ASSET TOKENIZATION PLATFORM
   Core Stylesheet - Versione 8.0
   
   Stylesheet completamente ottimizzato con:
   - Correzioni allineamento sezione Platform
   - Layout completo per la sezione Solution
   - Dimensione corretta immagine VANTURA
   - Ottimizzazione mobile completa riprogettata
==================================================== */

/* ----------------------------------------------------
   FOUNDATION & RESET
---------------------------------------------------- */

/* --- Base Reset --- */
*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

:focus {
  outline: none;
}

:focus-visible {
  outline: 2px solid #0b396e;
  outline-offset: 2px;
}

/* --- Design System: Core Variables --- */
:root {
  /* Color System */
  --color-base-white: #ffffff;
  --color-base-black: #000000;
  
  /* FinBlock Blue - Primary Color */
  --color-primary-50: #e5eaf1;
  --color-primary-100: #c1ccd9;
  --color-primary-200: #9babc0;
  --color-primary-300: #7489a6;
  --color-primary-400: #567192;
  --color-primary-500: #375a7f;
  --color-primary-600: #0b396e; /* Main color */
  --color-primary-700: #092f5a;
  --color-primary-800: #072546;
  --color-primary-900: #051c32;
  
  /* Neutrals */
  --color-neutral-50: #f9fafb;
  --color-neutral-100: #f2f4f7;
  --color-neutral-200: #e4e7ec;
  --color-neutral-300: #d0d5dd;
  --color-neutral-400: #9aa2b1;
  --color-neutral-500: #667085;
  --color-neutral-600: #4d5871;
  --color-neutral-700: #384256;
  --color-neutral-800: #1d2939;
  --color-neutral-900: #101323;
  
  /* Applied Colors */
  --color-surface-primary: var(--color-base-white);
  --color-surface-secondary: var(--color-neutral-50);
  --color-surface-tertiary: var(--color-neutral-100);
  --color-surface-brand: var(--color-primary-600);
  --color-surface-dark: var(--color-neutral-900);
  
  --color-text-primary: var(--color-neutral-900);
  --color-text-secondary: var(--color-neutral-700);
  --color-text-tertiary: var(--color-neutral-500);
  --color-text-disabled: var(--color-neutral-400);
  --color-text-inverse: var(--color-base-white);
  --color-text-brand: var(--color-primary-700);
  
  --color-border-subtle: var(--color-neutral-200);
  --color-border-moderate: var(--color-neutral-300);
  --color-border-intense: var(--color-neutral-400);
  --color-border-brand: var(--color-primary-600);
  
  /* Typography Scale */
  --font-size-2xs: 0.625rem;   /* 10px */
  --font-size-xs: 0.75rem;     /* 12px */
  --font-size-sm: 0.875rem;    /* 14px */
  --font-size-base: 1rem;      /* 16px */
  --font-size-md: 1.125rem;    /* 18px */
  --font-size-lg: 1.25rem;     /* 20px */
  --font-size-xl: 1.5rem;      /* 24px */
  --font-size-2xl: 2rem;       /* 32px */
  --font-size-3xl: 2.5rem;     /* 40px */
  --font-size-4xl: 3rem;       /* 48px */
  --font-size-5xl: 3.5rem;     /* 56px */
  
  /* Font Weight */
  --font-weight-regular: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  
  /* Line Heights */
  --line-height-tight: 1.1;
  --line-height-normal: 1.5;
  --line-height-relaxed: 1.75;
  
  /* Spacing System */
  --space-1: 0.25rem;    /* 4px */
  --space-2: 0.5rem;     /* 8px */
  --space-3: 0.75rem;    /* 12px */
  --space-4: 1rem;       /* 16px */
  --space-5: 1.25rem;    /* 20px */
  --space-6: 1.5rem;     /* 24px */
  --space-8: 2rem;       /* 32px */
  --space-10: 2.5rem;    /* 40px */
  --space-12: 3rem;      /* 48px */
  --space-16: 4rem;      /* 64px */
  --space-20: 5rem;      /* 80px */
  --space-24: 6rem;      /* 96px */
  --space-32: 8rem;      /* 128px */
  
  /* Layout Values */
  --header-height: 4.5rem;       /* 72px */
  --mobile-nav-height: 3.5rem;   /* 56px */
  --max-width-content: 73.75rem; /* 1180px */
  --max-width-narrow: 48rem;     /* 768px */
  
  /* Border Radius */
  --radius-sm: 0.25rem;   /* 4px */
  --radius-md: 0.375rem;  /* 6px */
  --radius-lg: 0.5rem;    /* 8px */
  --radius-xl: 0.75rem;   /* 12px */
  --radius-2xl: 1rem;     /* 16px */
  --radius-full: 9999px;
  
  /* Shadow System */
  --shadow-xs: 0px 1px 2px rgba(16, 24, 40, 0.05);
  --shadow-sm: 0px 2px 4px rgba(16, 24, 40, 0.06);
  --shadow-md: 0px 4px 8px rgba(16, 24, 40, 0.08);
  --shadow-lg: 0px 8px 16px rgba(16, 24, 40, 0.08);
  --shadow-xl: 0px 20px 24px rgba(16, 24, 40, 0.08);
  --shadow-2xl: 0px 24px 48px rgba(16, 24, 40, 0.12);
  
  /* Z-index Scale */
  --z-negative: -1;
  --z-default: 0;
  --z-10: 10;
  --z-20: 20;
  --z-30: 30;
  --z-40: 40;
  --z-50: 50;
  --z-dropdown: 100;
  --z-header: 200;
  --z-mobile-nav: 210;
  --z-overlay: 300;
  --z-modal: 400;
  --z-toast: 500;
  --z-tooltip: 600;
  --z-preloader: 999;
  
  /* Transitions */
  --transition-fast: 150ms ease;
  --transition-base: 250ms ease;
  --transition-slow: 400ms ease;
  --transition-bounce: 300ms cubic-bezier(0.34, 1.56, 0.64, 1);
  
  /* Animation durations */
  --animation-duration-short: 400ms;
  --animation-duration-medium: 600ms;
  --animation-duration-long: 1000ms;
}

/* --- Base Elements --- */
html {
  font-size: 16px;
  scroll-behavior: smooth;
}

body {
  font-family: 'Outfit', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-normal);
  color: var(--color-text-primary);
  background-color: var(--color-surface-primary);
  min-height: 100vh;
  overflow-x: hidden;
  position: relative;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

svg {
  display: inline-block;
  vertical-align: middle;
  fill: currentColor;
}

/* --- Responsive Utilities --- */
.desktop-only {
  display: none !important;
}

.mobile-only {
  display: block !important;
}

@media (min-width: 992px) {
  .desktop-only {
    display: block !important;
  }
  
  .mobile-only {
    display: none !important;
  }
}

/* ----------------------------------------------------
   PRELOADER - RIVISTO CON ANIMAZIONE MIGLIORE
---------------------------------------------------- */
.preloader {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--color-base-white);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: var(--z-preloader);
  opacity: 1;
  visibility: visible;
  transition: opacity 0.4s ease, visibility 0.4s ease;
}

.preloader.loaded {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.preloader__content {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.preloader__logo {
  width: 120px;
  height: auto;
  z-index: 2;
  animation: pulse 2s infinite ease-in-out;
}

.preloader__spinner {
  position: absolute;
  width: 150px;
  height: 150px;
  border: 3px solid rgba(11, 57, 110, 0.05);
  border-radius: 50%;
  border-top-color: var(--color-primary-600);
  animation: spin 0.8s linear infinite;
}

@keyframes pulse {
  0% { 
    transform: scale(1); 
    opacity: 1;
  }
  50% { 
    transform: scale(1.05); 
    opacity: 0.8;
  }
  100% { 
    transform: scale(1); 
    opacity: 1;
  }
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

/* ----------------------------------------------------
   ANIMATIONS - OTTIMIZZATE CON TIMING PRECISI
---------------------------------------------------- */
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translate3d(0, 30px, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@keyframes fadeInDown {
  from {
    opacity: 0;
    transform: translate3d(0, -30px, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@keyframes slideInRight {
  from {
    opacity: 0;
    transform: translate3d(40px, 0, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@keyframes slideInLeft {
  from {
    opacity: 0;
    transform: translate3d(-40px, 0, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@keyframes zoomIn {
  from {
    opacity: 0;
    transform: scale3d(0.9, 0.9, 0.9);
  }
  to {
    opacity: 1;
    transform: scale3d(1, 1, 1);
  }
}

@keyframes zoomOut {
  from {
    opacity: 0;
    transform: scale3d(1.1, 1.1, 1.1);
  }
  to {
    opacity: 1;
    transform: scale3d(1, 1, 1);
  }
}

@keyframes bounce {
  0%, 20%, 53%, 80%, 100% {
    transform: translate3d(0, 0, 0);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  40% {
    transform: translate3d(0, -20px, 0);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
  }
  60% {
    transform: translate3d(0, -10px, 0);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
  }
}

@keyframes rotate {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

@keyframes scalePulse {
  0% {
    transform: scale3d(1, 1, 1);
  }
  50% {
    transform: scale3d(1.05, 1.05, 1.05);
  }
  100% {
    transform: scale3d(1, 1, 1);
  }
}

@keyframes float {
  0% {
    transform: translate3d(0, 0, 0);
  }
  50% {
    transform: translate3d(0, -10px, 0);
  }
  100% {
    transform: translate3d(0, 0, 0);
  }
}

/* Animation Classes con timing migliorato */
.animate-fade-in {
  animation: fadeIn 0.6s cubic-bezier(0.39, 0.575, 0.565, 1) forwards;
  will-change: opacity;
}

.animate-fade-in-up {
  animation: fadeInUp 0.7s cubic-bezier(0.19, 1, 0.22, 1) forwards;
  will-change: opacity, transform;
}

.animate-fade-in-down {
  animation: fadeInDown 0.7s cubic-bezier(0.19, 1, 0.22, 1) forwards;
  will-change: opacity, transform;
}

.animate-slide-in-right {
  animation: slideInRight 0.7s cubic-bezier(0.19, 1, 0.22, 1) forwards;
  will-change: opacity, transform;
}

.animate-slide-in-left {
  animation: slideInLeft 0.7s cubic-bezier(0.19, 1, 0.22, 1) forwards;
  will-change: opacity, transform;
}

.animate-zoom-in {
  animation: zoomIn 0.7s cubic-bezier(0.19, 1, 0.22, 1) forwards;
  will-change: opacity, transform;
}

.animate-zoom-out {
  animation: zoomOut 0.7s cubic-bezier(0.19, 1, 0.22, 1) forwards;
  will-change: opacity, transform;
}

.animate-bounce {
  animation: bounce 2s cubic-bezier(0.215, 0.61, 0.355, 1) infinite;
  will-change: transform;
  transform-origin: center bottom;
}

.animate-rotate {
  animation: rotate 15s linear infinite;
  will-change: transform;
}

.animate-scale-pulse {
  animation: scalePulse 3s ease-in-out infinite;
  will-change: transform;
}

.animate-float {
  animation: float 4s ease-in-out infinite;
  will-change: transform;
}

/* Delay Classes */
.delay-100 { animation-delay: 100ms !important; }
.delay-200 { animation-delay: 200ms !important; }
.delay-300 { animation-delay: 300ms !important; }
.delay-400 { animation-delay: 400ms !important; }
.delay-500 { animation-delay: 500ms !important; }
.delay-600 { animation-delay: 600ms !important; }
.delay-700 { animation-delay: 700ms !important; }
.delay-800 { animation-delay: 800ms !important; }
.delay-900 { animation-delay: 900ms !important; }
.delay-1000 { animation-delay: 1000ms !important; }

/* Stato base delle animazioni - Ottimizzato */
.anim-item {
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.7s cubic-bezier(0.19, 1, 0.22, 1), 
              transform 0.7s cubic-bezier(0.19, 1, 0.22, 1),
              visibility 0.7s cubic-bezier(0.19, 1, 0.22, 1);
  will-change: opacity, transform, visibility;
}

.anim-item.fade-up {
  transform: translateY(30px);
}

.anim-item.fade-down {
  transform: translateY(-30px);
}

.anim-item.fade-left {
  transform: translateX(-40px);
}

.anim-item.fade-right {
  transform: translateX(40px);
}

.anim-item.zoom-in {
  transform: scale(0.9);
}

.anim-item.zoom-out {
  transform: scale(1.1);
}

/* Stati animati - Transizione migliorata */
.anim-item.animated {
  opacity: 1;
  visibility: visible;
  transform: translate(0, 0) scale(1);
}

/* ----------------------------------------------------
   LAYOUT
---------------------------------------------------- */
.container {
  width: 90%;
  max-width: var(--max-width-content);
  margin: 0 auto;
  position: relative;
}

.section {
  padding: var(--space-12) 0;
  position: relative;
  overflow: hidden;
}

/* ----------------------------------------------------
   TYPOGRAPHY
---------------------------------------------------- */
h1, h2, h3, h4, h5, h6 {
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-tight);
  color: var(--color-text-primary);
  margin-bottom: var(--space-4);
}

h1 {
  font-size: var(--font-size-3xl);
  letter-spacing: -0.02em;
}

h2 {
  font-size: var(--font-size-2xl);
  letter-spacing: -0.01em;
}

h3 {
  font-size: var(--font-size-xl);
}

h4 {
  font-size: var(--font-size-lg);
}

h5 {
  font-size: var(--font-size-md);
}

h6 {
  font-size: var(--font-size-base);
}

p {
  margin-bottom: var(--space-4);
  color: var(--color-text-secondary);
}

a {
  color: var(--color-primary-600);
  text-decoration: none;
  transition: color var(--transition-fast);
}

a:hover {
  color: var(--color-primary-700);
}

.text-link {
  position: relative;
  color: var(--color-primary-600);
  text-decoration: none;
  font-weight: var(--font-weight-medium);
}

.text-link::after {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: var(--color-primary-600);
  transform: scaleX(0);
  transform-origin: right;
  transition: transform var(--transition-base);
}

.text-link:hover::after {
  transform: scaleX(1);
  transform-origin: left;
}

/* Section Text Components */
.section__header {
  max-width: 800px;
  margin: 0 auto var(--space-8);
  text-align: center;
}

.section__title {
  font-size: var(--font-size-2xl);
  margin-bottom: var(--space-4);
  letter-spacing: -0.02em;
}

.section__subtitle {
  font-size: var(--font-size-md);
  color: var(--color-text-secondary);
  max-width: 720px;
  margin: 0 auto;
}

.tag {
  display: inline-flex;
  align-items: center;
  padding: var(--space-1) var(--space-3);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-medium);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  border-radius: var(--radius-full);
  margin-bottom: var(--space-4);
  width: auto;
}

.tag--primary {
  background-color: var(--color-primary-50);
  color: var(--color-primary-700);
}

.tag--neutral {
  background-color: var(--color-neutral-100);
  color: var(--color-neutral-700);
}

/* Corretto dimensione tag nella sezione contatti */
.tag--contact {
  display: inline-flex;
  width: auto;
  max-width: max-content;
}

/* ----------------------------------------------------
   HEADER & NAVIGATION - COMPLETAMENTE RIVISTO
---------------------------------------------------- */
.header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: var(--header-height);
  background-color: rgba(255, 255, 255, 0.98);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border-bottom: 1px solid var(--color-border-subtle);
  z-index: var(--z-header);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.header.scrolled {
  box-shadow: var(--shadow-sm);
}

.header.hidden {
  transform: translateY(-100%);
}

.header__container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 100%;
  padding: var(--space-2) 0;
}

.header__logo {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  color: var(--color-text-primary);
}

.header__logo:hover {
  color: var(--color-text-primary);
}

.header__logo-img {
  height: 32px;
  width: auto;
}

.header__logo-text {
  font-size: var(--font-size-md);
  font-weight: var(--font-weight-semibold);
}

.header__nav {
  display: none;
}

.header__nav-list {
  display: flex;
  gap: var(--space-4);
  list-style: none;
  justify-content: center;
}

.header__nav-item {
  position: relative;
}

.header__nav-link {
  display: flex;
  align-items: center;
  height: calc(var(--header-height) - var(--space-4));
  padding: var(--space-2) var(--space-1);
  color: var(--color-text-secondary);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-medium);
  position: relative;
  transition: color var(--transition-base);
}

.header__nav-link::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 2px;
  background-color: var(--color-primary-600);
  transition: width 0.3s ease;
}

.header__nav-link:hover,
.header__nav-link.active {
  color: var(--color-primary-600);
}

.header__nav-link:hover::after,
.header__nav-link.active::after {
  width: 100%;
}

.header__actions {
  display: flex;
  align-items: center;
  gap: var(--space-4);
}

.header__contact-btn {
  display: none;
}

.header__menu-toggle {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  background-color: var(--color-neutral-50);
  border: none;
  border-radius: var(--radius-full);
  cursor: pointer;
  padding: 0;
  position: relative;
  z-index: var(--z-20);
  transition: background-color 0.3s ease;
}

.header__menu-toggle:hover {
  background-color: var(--color-neutral-100);
}

.header__menu-icon {
  position: relative;
  display: block;
  width: 20px;
  height: 2px;
  background-color: var(--color-text-primary);
  transition: background-color var(--transition-fast);
}

.header__menu-icon::before,
.header__menu-icon::after {
  content: '';
  position: absolute;
  width: 20px;
  height: 2px;
  background-color: var(--color-text-primary);
  transition: transform var(--transition-base);
  left: 0;
}

.header__menu-icon::before {
  top: -6px;
}

.header__menu-icon::after {
  bottom: -6px;
}

.header__menu-toggle[aria-expanded="true"] .header__menu-icon {
  background-color: transparent;
}

.header__menu-toggle[aria-expanded="true"] .header__menu-icon::before {
  transform: translateY(6px) rotate(45deg);
}

.header__menu-toggle[aria-expanded="true"] .header__menu-icon::after {
  transform: translateY(-6px) rotate(-45deg);
}

@media (min-width: 992px) {
  .header__nav {
    display: block;
  }
  
  .header__contact-btn {
    display: flex;
  }
  
  .header__menu-toggle {
    display: none;
  }
}

/* ----------------------------------------------------
   MOBILE MENU - COMPLETAMENTE RIPROGETTATO
---------------------------------------------------- */
.mobile-menu {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  max-width: 380px;
  height: 100%;
  background-color: var(--color-surface-primary);
  z-index: var(--z-dropdown);
  box-shadow: -10px 0 30px rgba(0, 0, 0, 0.15);
  transform: translateX(100%);
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), visibility 0.4s;
  visibility: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

.mobile-menu.open {
  transform: translateX(0);
  visibility: visible;
}

.mobile-menu__container {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  padding: var(--space-5) var(--space-4) var(--space-12);
}

.mobile-menu__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: var(--space-2);
  margin-bottom: var(--space-6);
}

.mobile-menu__logo {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  color: var(--color-text-primary);
  text-decoration: none;
}

.mobile-menu__logo-img {
  height: 28px;
  width: auto;
}

.mobile-menu__logo-text {
  font-size: var(--font-size-md);
  font-weight: var(--font-weight-semibold);
}

.mobile-menu__close {
  width: 44px;
  height: 44px;
  background-color: var(--color-neutral-50);
  border: none;
  color: var(--color-text-secondary);
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-full);
  cursor: pointer;
  transition: all var(--transition-fast);
}

.mobile-menu__close:hover,
.mobile-menu__close:focus {
  background-color: var(--color-neutral-100);
  color: var(--color-text-primary);
}

.mobile-menu__sections {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 300px;
}

.mobile-menu__nav {
  margin-bottom: var(--space-8);
}

.mobile-menu__list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.mobile-menu__item {
  margin-bottom: var(--space-4);
  transform: translateX(40px);
  opacity: 0;
  transition: transform 0.5s ease, opacity 0.5s ease;
}

.mobile-menu.open .mobile-menu__item {
  transform: translateX(0);
  opacity: 1;
  transition-delay: calc(0.1s * var(--item-index, 0));
}

.mobile-menu__link {
  display: flex;
  align-items: center;
  font-size: var(--font-size-xl);
  font-weight: var(--font-weight-medium);
  color: var(--color-text-primary);
  padding: var(--space-3) var(--space-2);
  transition: all var(--transition-base);
  position: relative;
  border-radius: var(--radius-md);
}

.mobile-menu__link::after {
  content: '';
  position: absolute;
  bottom: 8px;
  left: var(--space-2);
  width: 0;
  height: 2px;
  background-color: var(--color-primary-600);
  transition: width 0.3s ease;
}

.mobile-menu__link:hover,
.mobile-menu__link:focus,
.mobile-menu__link.active {
  color: var(--color-primary-600);
  background-color: var(--color-primary-50);
  transform: translateX(var(--space-2));
}

.mobile-menu__link:hover::after,
.mobile-menu__link:focus::after,
.mobile-menu__link.active::after {
  width: 30px;
}

/* Migliorata la sezione contatti mobile */
.mobile-menu__contact {
  margin-bottom: var(--space-8);
  background: linear-gradient(to right bottom, var(--color-primary-50), var(--color-neutral-50));
  padding: var(--space-5);
  border-radius: var(--radius-lg);
  border: 1px solid var(--color-border-subtle);
  opacity: 0;
  transition: opacity 0.8s ease;
}

.mobile-menu.open .mobile-menu__contact {
  animation: fadeIn 0.8s forwards 0.4s;
}

.mobile-menu__contact-item {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  margin-bottom: var(--space-4);
  position: relative;
  padding-left: var(--space-1);
}

.mobile-menu__contact-item:last-child {
  margin-bottom: 0;
}

.mobile-menu__contact-item svg {
  color: var(--color-primary-600);
  flex-shrink: 0;
}

.mobile-menu__contact-item a {
  color: var(--color-text-secondary);
  transition: all var(--transition-base);
  font-size: var(--font-size-base);
  position: relative;
}

.mobile-menu__contact-item a::after {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 0;
  height: 1px;
  background-color: var(--color-primary-600);
  transition: width 0.3s ease;
}

.mobile-menu__contact-item a:hover,
.mobile-menu__contact-item a:focus {
  color: var(--color-primary-600);
}

.mobile-menu__contact-item a:hover::after,
.mobile-menu__contact-item a:focus::after {
  width: 100%;
}

.mobile-menu__footer {
  margin-top: auto;
  opacity: 0;
  transition: opacity 0.8s ease;
}

.mobile-menu.open .mobile-menu__footer {
  animation: fadeIn 0.8s forwards 0.5s;
}

.mobile-menu__socials {
  display: flex;
  gap: var(--space-3);
  justify-content: center;
}

.mobile-menu__social-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: var(--radius-full);
  color: var(--color-text-secondary);
  background-color: var(--color-neutral-100);
  transition: all var(--transition-base);
}

.mobile-menu__social-link:hover,
.mobile-menu__social-link:focus {
  background-color: var(--color-primary-50);
  color: var(--color-primary-600);
  transform: translateY(-4px);
}

/* Barra di navigazione inferiore completamente rinnovata */
.mobile-nav {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  height: var(--mobile-nav-height);
  background-color: rgba(255, 255, 255, 0.98);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow: 0 -4px 15px rgba(0, 0, 0, 0.06);
  border-top: 1px solid var(--color-border-subtle);
  z-index: var(--z-mobile-nav);
  display: none;
}

.mobile-nav__list {
  display: flex;
  list-style: none;
  padding: 0;
  margin: 0;
  height: 100%;
  max-width: 400px;
  margin: 0 auto;
}

.mobile-nav__item {
  flex: 1;
  display: flex;
}

.mobile-nav__link {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  font-size: var(--font-size-xs);
  color: var(--color-text-tertiary);
  height: 100%;
  width: 100%;
  padding: var(--space-1) 0;
  transition: color var(--transition-fast);
  text-decoration: none;
  position: relative;
}

.mobile-nav__link::after {
  content: '';
  position: absolute;
  bottom: 6px;
  left: 50%;
  width: 0;
  height: 3px;
  border-radius: var(--radius-full);
  background-color: var(--color-primary-600);
  transform: translateX(-50%);
  transition: width 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.mobile-nav__link--active {
  color: var(--color-primary-600);
  font-weight: var(--font-weight-medium);
}

.mobile-nav__link--active::after {
  width: 20px;
}

.mobile-nav__icon {
  width: 24px;
  height: 24px;
  margin-bottom: var(--space-1);
  transition: transform 0.3s ease;
}

.mobile-nav__link:hover .mobile-nav__icon,
.mobile-nav__link:focus .mobile-nav__icon,
.mobile-nav__link--active .mobile-nav__icon {
  transform: translateY(-2px);
}

/* Mobile Floating Action Button (FAB) - Ottimizzato */
.mobile-fab {
  position: fixed;
  right: var(--space-4);
  bottom: calc(var(--mobile-nav-height) + var(--space-4));
  width: 56px;
  height: 56px;
  border-radius: var(--radius-full);
  background-color: var(--color-primary-600);
  color: var(--color-text-inverse);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: var(--shadow-lg);
  z-index: var(--z-mobile-fab);
  transform: scale(0) rotate(-90deg);
  transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  border: none;
  cursor: pointer;
}

.mobile-fab::before {
  content: '';
  position: absolute;
  top: -5px;
  left: -5px;
  right: -5px;
  bottom: -5px;
  border-radius: var(--radius-full);
  background-color: var(--color-primary-400);
  opacity: 0;
  z-index: -1;
  transition: opacity 1.5s ease;
  animation: scalePulse 2s infinite ease-in-out;
}

.mobile-fab.visible {
  transform: scale(1) rotate(0);
}

.mobile-fab.visible::before {
  opacity: 0.3;
}

.mobile-fab:hover,
.mobile-fab:focus {
  background-color: var(--color-primary-700);
  transform: scale(1.05) rotate(0);
}

@media (max-width: 991px) {
  .mobile-nav,
  .mobile-fab {
    display: flex;
  }
  
  /* Add padding to bottom of main content to account for mobile nav */
  .main {
    padding-bottom: var(--mobile-nav-height);
  }
}

/* ----------------------------------------------------
   BUTTONS & LINKS
---------------------------------------------------- */
.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-3) var(--space-5);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-medium);
  border-radius: var(--radius-lg);
  border: none;
  cursor: pointer;
  transition: all var(--transition-base);
  text-decoration: none;
  line-height: 1.5;
  position: relative;
  overflow: hidden;
}

.button--primary {
  background-color: var(--color-primary-600);
  color: var(--color-text-inverse);
}

.button--primary:hover {
  background-color: var(--color-primary-700);
  color: var(--color-text-inverse);
  box-shadow: var(--shadow-md);
  transform: translateY(-2px);
}

.button--outline {
  background-color: transparent;
  color: var(--color-text-primary);
  border: 1px solid var(--color-border-moderate);
}

.button--outline:hover {
  border-color: var(--color-border-intense);
  color: var(--color-text-primary);
  box-shadow: var(--shadow-sm);
  transform: translateY(-2px);
}

.button--text {
  background-color: transparent;
  color: var(--color-text-primary);
  padding: var(--space-2) var(--space-3);
}

.button--text:hover {
  background-color: var(--color-neutral-100);
  color: var(--color-text-primary);
}

.button--sm {
  padding: var(--space-2) var(--space-4);
  font-size: var(--font-size-xs);
}

.button--full {
  width: 100%;
}

/* ----------------------------------------------------
   HERO SECTION - OTTIMIZZATO
---------------------------------------------------- */
.hero {
  padding: calc(var(--header-height) + var(--space-16)) 0 var(--space-16);
  overflow: hidden;
  position: relative;
}

.hero::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 70%;
  background: linear-gradient(180deg, rgba(11, 57, 110, 0.03) 0%, rgba(255, 255, 255, 0) 100%);
  z-index: -1;
}

.hero__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-8);
  margin-bottom: var(--space-16);
}

.hero__title {
  font-size: calc(var(--font-size-4xl) * 1.2);
  line-height: 1.1;
  margin-bottom: var(--space-6);
  letter-spacing: -0.03em;
}

.hero__subtitle {
  font-size: var(--font-size-lg);
  color: var(--color-text-secondary);
  margin-bottom: var(--space-8);
  max-width: 36rem;
}

.hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-4);
  margin-bottom: var(--space-10);
}

.hero__visual {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 400px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.hero__visual-container {
  width: 100%;
  height: 100%;
  position: relative;
}

.hero__visual-img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -52%);
  width: 90%;
  height: 90%;
  display: flex;
  align-items: center;
  justify-content: center;
  perspective: 1000px;
}

/* Logo Visualizer - Animazione più elegante */
.logo-visualizer {
  width: 100%;
  height: 100%;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}

.logo-visualizer__model {
  width: 320px;
  height: 320px;
  background-color: rgba(229, 234, 241, 0.7);
  border-radius: var(--radius-2xl);
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: var(--shadow-lg);
  animation: float 6s ease-in-out infinite;
}

.logo-visualizer__image {
  width: 200px;
  height: auto;
  filter: drop-shadow(0 10px 15px rgba(11, 57, 110, 0.2));
  animation: pulse 3s infinite ease-in-out alternate;
}

/* Stats Bar */
.stats-bar {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: var(--space-6);
  background-color: var(--color-surface-primary);
  border-radius: var(--radius-xl);
  padding: var(--space-8);
  box-shadow: var(--shadow-lg);
  border: 1px solid var(--color-border-subtle);
  position: relative;
  opacity: 1;
  transform: translateY(0);
}

.stat-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  transform: translateY(0);
  opacity: 1;
}

.stat-item__value {
  font-size: var(--font-size-2xl);
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-primary);
  margin-bottom: var(--space-2);
}

.stat-item__label {
  font-size: var(--font-size-sm);
  color: var(--color-text-tertiary);
}

/* Token stats per eventuale uso futuro */
.token-visualizer__stats {
  display: none;
}

@media (min-width: 992px) {
  .hero__grid {
    grid-template-columns: 1.2fr 0.8fr;
    gap: var(--space-16);
  }
  
  .hero__title {
    font-size: var(--font-size-5xl);
  }
  
  .stats-bar {
    grid-template-columns: repeat(4, 1fr);
  }
}

/* ----------------------------------------------------
   PLATFORM SECTION - COMPLETAMENTE RIVISITATA
---------------------------------------------------- */
.platform {
  padding: var(--space-12) 0;
  background-color: var(--color-surface-secondary);
  overflow: hidden;
}

.platform__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-12);
  align-items: stretch; /* Allineamento verticale migliorato */
}

.platform__image-container {
  position: relative;
  border-radius: var(--radius-xl);
  overflow: hidden;
  box-shadow: var(--shadow-lg);
  height: 100%;
  min-height: 500px;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 1;
  transform: translateX(0);
  transition: transform 0.8s cubic-bezier(0.19, 1, 0.22, 1), opacity 0.8s cubic-bezier(0.19, 1, 0.22, 1);
}

.platform__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.platform__image-effect {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, 
    rgba(11, 57, 110, 0.1),
    rgba(11, 57, 110, 0.05));
  pointer-events: none;
}

.platform__content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
  min-height: 500px;
}

.feature-list {
  display: flex;
  flex-direction: column;
  gap: var(--space-8);
  height: 100%;
  justify-content: space-evenly;
}

.feature-item {
  display: flex;
  gap: var(--space-4);
  opacity: 1;
  transform: translateX(0);
  transition: transform 0.8s cubic-bezier(0.19, 1, 0.22, 1), opacity 0.8s cubic-bezier(0.19, 1, 0.22, 1);
}

.feature-item__icon {
  flex-shrink: 0;
  width: 48px;
  height: 48px;
  border-radius: var(--radius-lg);
  background-color: var(--color-primary-50);
  color: var(--color-primary-600);
  display: flex;
  align-items: center;
  justify-content: center;
}

.feature-item__content {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.feature-item__title {
  font-size: var(--font-size-lg);
  margin-bottom: var(--space-2);
  font-weight: var(--font-weight-semibold);
}

.feature-item__description {
  color: var(--color-text-secondary);
  font-size: var(--font-size-base);
  line-height: var(--line-height-relaxed);
}

/* Mobile Accordion - Redesigned */
.mobile-accordion {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: var(--space-4);
}

.accordion-item {
  border-radius: var(--radius-lg);
  background-color: var(--color-surface-primary);
  box-shadow: var(--shadow-sm);
  border: 1px solid var(--color-border-subtle);
  margin-bottom: var(--space-4);
  overflow: hidden;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.accordion-item:hover,
.accordion-item.active {
  transform: translateY(-2px);
  box-shadow: var(--shadow-md);
}

.accordion-header {
  display: flex;
  align-items: center;
  padding: var(--space-4) var(--space-3);
  cursor: pointer;
  gap: var(--space-3);
}

.accordion-title {
  flex: 1;
  margin: 0;
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-medium);
}

.accordion-toggle {
  transition: transform var(--transition-base);
}

.accordion-item.active .accordion-toggle {
  transform: rotate(180deg);
}

.accordion-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease, padding 0.4s ease;
  padding: 0 var(--space-4);
  padding-left: calc(48px + var(--space-4));
  line-height: var(--line-height-relaxed);
}

.accordion-item.active .accordion-content {
  max-height: 300px;
  padding-bottom: var(--space-4);
}

@media (min-width: 992px) {
  .platform__grid {
    grid-template-columns: 1fr 1fr;
    gap: var(--space-16);
    align-items: center;
  }
  
  .platform__image-container,
  .platform__content {
    min-height: 600px; /* Altezza aumentata per equivalenza */
    height: 100%;
  }
  
  .platform__content {
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  
  .feature-list {
    height: 100%;
    justify-content: space-between;
  }
}

/* ----------------------------------------------------
   SOLUTION SECTION (TABS) - COMPLETAMENTE RINNOVATA
---------------------------------------------------- */
.solution {
  padding: var(--space-16) 0 var(--space-16);
  position: relative;
  overflow: visible;
}

.solution::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 30%;
  background: linear-gradient(180deg, var(--color-neutral-100) 0%, rgba(255, 255, 255, 0) 100%);
  z-index: -1;
  opacity: 0.7;
}

.tabs__header {
  display: flex;
  justify-content: center;
  margin-bottom: var(--space-8);
  gap: var(--space-8);
  position: relative;
}

.tabs__header::after {
  content: '';
  position: absolute;
  bottom: -1px;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  max-width: 500px;
  height: 1px;
  background-color: var(--color-border-subtle);
}

.tabs__button {
  padding: var(--space-3) var(--space-6);
  min-width: 160px;
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-medium);
  color: var(--color-text-secondary);
  background-color: transparent;
  border: none;
  border-bottom: 2px solid transparent;
  cursor: pointer;
  transition: all var(--transition-base);
  position: relative;
  z-index: 1;
}

.tabs__button--active {
  color: var(--color-primary-700);
  border-bottom-color: var(--color-primary-600);
  font-weight: var(--font-weight-semibold);
}

.tabs__button:hover:not(.tabs__button--active) {
  color: var(--color-text-primary);
  border-bottom-color: var(--color-border-moderate);
}

.tabs__content {
  position: relative;
  min-height: 600px;
}

.tabs__panel {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
}

.tabs__panel.tabs__panel--active {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* Challenge Tab Layout */
.solution__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-12);
  align-items: center;
  min-height: 560px;
}

.solution__grid--challenge {
  grid-template-columns: 1fr;
}

.solution__title {
  font-size: var(--font-size-2xl);
  margin-bottom: var(--space-8);
  color: var(--color-base-black);
}

.solution__title--challenge {
  text-align: left;
}

.solution__title--centered {
  text-align: center;
  margin-bottom: var(--space-10);
  font-size: var(--font-size-2xl);
  color: var(--color-base-black);
}

.solution__visual {
  position: relative;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.solution__graphic {
  border-radius: var(--radius-xl);
  overflow: hidden;
  box-shadow: var(--shadow-lg);
  height: 100%;
  width: 100%;
  position: relative;
}

.solution__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Problem Item Styling - Ridotte altezze per visualizzazione migliore */
.problem-points {
  display: flex;
  flex-direction: column;
  gap: var(--space-6);
}

.problem-item {
  display: flex;
  gap: var(--space-5);
  position: relative;
  background: var(--color-surface-primary);
  border-radius: var(--radius-lg);
  padding: var(--space-4);
  box-shadow: var(--shadow-sm);
  border: 1px solid var(--color-border-subtle);
  transition: transform var(--transition-base), box-shadow var(--transition-base);
}

.problem-item:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-md);
}

.problem-item__number {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  border-radius: var(--radius-full);
  background-color: var(--color-primary-50);
  color: var(--color-primary-700);
  font-weight: var(--font-weight-semibold);
  font-size: var(--font-size-xl);
  flex-shrink: 0;
}

.problem-item__content {
  flex: 1;
}

.problem-item__title {
  font-size: var(--font-size-lg);
  margin-bottom: var(--space-2);
  color: var(--color-primary-700);
  font-weight: var(--font-weight-semibold);
}

.problem-item__description {
  color: var(--color-text-secondary);
  font-size: var(--font-size-base);
  line-height: var(--line-height-relaxed);
}

/* Solution Tab - COMPLETAMENTE RIVISTO CON LOGO AL CENTRO E POSIZIONAMENTI CORRETTI */
.solution-centered-layout {
  position: relative;
  padding: var(--space-8) 0;
  min-height: 800px; /* Aumentato per migliore spaziatura */
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center; /* Centrato verticalmente */
}

/* Centered logo with improved styling */
.solution-center-logo {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 200px;
  height: 200px;
  background-color: var(--color-primary-50);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: var(--shadow-lg);
  z-index: 5;
  animation: scalePulse 5s ease-in-out infinite;
}

.solution-center-logo::before {
  content: '';
  position: absolute;
  top: -20px;
  left: -20px;
  right: -20px;
  bottom: -20px;
  border: 2px dashed var(--color-primary-400);
  border-radius: 50%;
  opacity: 0.3;
  animation: rotate 60s linear infinite;
}

.solution-center-logo__img {
  width: 130px;
  height: auto;
}

/* Connecting lines for desktop view */
.solution-center-connector {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 60%;
  height: 1px;
  background-color: var(--color-border-subtle);
  transform-origin: center;
  z-index: 1;
}

.solution-center-connector--diagonal1 {
  transform: translate(-50%, -50%) rotate(45deg);
}

.solution-center-connector--diagonal2 {
  transform: translate(-50%, -50%) rotate(-45deg);
}

.solution-center-connector--horizontal {
  transform: translate(-50%, -50%) rotate(0deg);
}

.solution-center-connector--vertical {
  transform: translate(-50%, -50%) rotate(90deg);
}

/* Container for the four points */
.solution-points-container {
  position: relative;
  width: 100%;
  height: 100%;
}

/* Styling for each point with precise positioning */
.solution-point {
  position: absolute;
  width: 320px;
  max-width: calc(45% - 50px);
  background-color: var(--color-surface-primary);
  border-radius: var(--radius-xl);
  padding: var(--space-5);
  box-shadow: var(--shadow-md);
  border: 1px solid var(--color-border-subtle);
  transition: transform var(--transition-base), box-shadow var(--transition-base);
  z-index: 2;
}

.solution-point:hover {
  transform: translateY(-5px);
  box-shadow: var(--shadow-lg);
}

/* Precise positioning for the four corner points */
.solution-point--top-left {
  top: 150px;
  left: 30px;
}

.solution-point--top-right {
  top: 150px;
  right: 30px;
}

.solution-point--bottom-left {
  bottom: 150px;
  left: 30px;
}

.solution-point--bottom-right {
  bottom: 150px;
  right: 30px;
}

.solution-point__number {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: var(--radius-full);
  background-color: var(--color-primary-600);
  color: var(--color-text-inverse);
  font-weight: var(--font-weight-medium);
  font-size: var(--font-size-base);
  margin-bottom: var(--space-3);
}

.solution-point__title {
  font-size: var(--font-size-md);
  margin-bottom: var(--space-2);
  color: var(--color-primary-700);
  font-weight: var(--font-weight-semibold);
}

.solution-point__description {
  font-size: var(--font-size-sm);
  color: var(--color-text-secondary);
  line-height: var(--line-height-normal);
}

@media (min-width: 992px) {
  .solution__grid {
    grid-template-columns: 1fr 1fr;
    gap: var(--space-16);
  }
  
  .solution__grid--challenge {
    grid-template-columns: 1fr 1fr;
  }
  
  .solution-centered-layout {
    min-height: 750px;
  }
}

/* ----------------------------------------------------
   MARKET SECTION - RINNOVATO CON ANIMAZIONI OTTIMIZZATE
---------------------------------------------------- */
.market {
  padding: var(--space-12) 0;
  background-color: var(--color-surface-secondary);
}

.market-insights {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-8);
  max-height: 600px;
  overflow: hidden;
}

.market-chart {
  background-color: var(--color-surface-primary);
  border-radius: var(--radius-xl);
  padding: var(--space-6);
  box-shadow: var(--shadow-md);
  border: 1px solid var(--color-border-subtle);
  height: 100%;
  max-height: 600px;
  display: flex;
  flex-direction: column;
  opacity: 1;
  transform: translateY(0);
  transition: transform 0.8s cubic-bezier(0.19, 1, 0.22, 1), opacity 0.8s cubic-bezier(0.19, 1, 0.22, 1);
}

.market-chart__container {
  width: 100%;
  flex-grow: 1;
  min-height: 0;
}

.market-metrics {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-6);
  height: 100%;
  max-height: 600px;
  overflow-y: auto;
  padding-right: var(--space-2);
}

.metric-card {
  background-color: var(--color-surface-primary);
  border-radius: var(--radius-lg);
  padding: var(--space-4);
  box-shadow: var(--shadow-md);
  border: 1px solid var(--color-border-subtle);
  transition: transform var(--transition-base), box-shadow var(--transition-base);
  height: auto;
  
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-areas: 
    "icon value"
    "icon title"
    "description description";
  gap: var(--space-2);
  align-items: start;
  
  opacity: 1;
  transform: translateX(0);
  transition: transform 0.8s cubic-bezier(0.19, 1, 0.22, 1), opacity 0.8s cubic-bezier(0.19, 1, 0.22, 1);
}

.metric-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-lg);
}

.metric-card__icon {
  grid-area: icon;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  border-radius: var(--radius-lg);
  background-color: var(--color-primary-50);
  color: var(--color-primary-600);
  margin-right: var(--space-3);
  flex-shrink: 0;
}

.metric-card__value {
  grid-area: value;
  font-size: var(--font-size-3xl);
  font-weight: var(--font-weight-semibold);
  color: var(--color-primary-600);
  margin-bottom: var(--space-1);
}

.metric-card__title {
  grid-area: title;
  font-size: var(--font-size-md);
  margin-bottom: var(--space-2);
  font-weight: var(--font-weight-medium);
}

.metric-card__description {
  grid-area: description;
  font-size: var(--font-size-base);
  color: var(--color-text-secondary);
  line-height: var(--line-height-relaxed);
  padding-top: var(--space-2);
}

@media (min-width: 992px) {
  .market-insights {
    grid-template-columns: 1.3fr 1fr;
    gap: var(--space-8);
  }
}

/* ----------------------------------------------------
   BENEFITS SECTION - RINNOVATO
---------------------------------------------------- */
.benefits {
  padding: var(--space-12) 0;
}

/* Comparison Table - Migliorata */
.comparison-table {
  max-width: 100%;
  overflow-x: auto;
  margin-bottom: var(--space-12);
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow-lg);
  border: 1px solid var(--color-border-subtle);
  opacity: 1;
  transform: translateY(0);
  transition: transform 0.8s cubic-bezier(0.19, 1, 0.22, 1), opacity 0.8s cubic-bezier(0.19, 1, 0.22, 1);
}

.comparison-table__header {
  display: grid;
  grid-template-columns: 1.5fr 1fr 1fr;
  background-color: var(--color-primary-600);
  color: var(--color-text-inverse);
}

.comparison-table__row {
  display: grid;
  grid-template-columns: 1.5fr 1fr 1fr;
  border-bottom: 1px solid var(--color-border-subtle);
  opacity: 1;
}

.comparison-table__row:last-child {
  border-bottom: none;
}

.comparison-table__cell {
  padding: var(--space-4);
  display: flex;
  align-items: center;
}

.comparison-table__cell--feature {
  font-weight: var(--font-weight-medium);
  background-color: var(--color-neutral-50);
  border-right: 1px solid var(--color-border-subtle);
}

.comparison-table__cell--finblock {
  background-color: var(--color-primary-50);
  color: var(--color-primary-600);
  font-weight: var(--font-weight-medium);
  border-right: 1px solid var(--color-border-subtle);
}

.comparison-table__cell--traditional {
  color: var(--color-text-secondary);
}

.comparison-table__header .comparison-table__cell {
  font-weight: var(--font-weight-semibold);
  padding: var(--space-4);
}

.comparison-table__header .comparison-table__cell--feature,
.comparison-table__header .comparison-table__cell--finblock,
.comparison-table__header .comparison-table__cell--traditional {
  background-color: var(--color-primary-600);
  color: var(--color-text-inverse);
  border-right: 1px solid rgba(255, 255, 255, 0.2);
}

.comparison-table__header .comparison-table__cell:last-child {
  border-right: none;
}

/* Stakeholder Cards - Versione migliorata */
.stakeholders {
  padding: var(--space-6) 0;
}

.stakeholder-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: var(--space-6);
}

.stakeholder-card {
  background-color: var(--color-surface-primary);
  border-radius: var(--radius-xl);
  padding: var(--space-6);
  box-shadow: var(--shadow-md);
  border: 1px solid var(--color-border-subtle);
  transition: transform var(--transition-base), box-shadow var(--transition-base);
  height: 100%;
  opacity: 1;
  transform: translateY(0);
  transition: transform 0.8s cubic-bezier(0.19, 1, 0.22, 1), opacity 0.8s cubic-bezier(0.19, 1, 0.22, 1);
}

.stakeholder-card:hover {
  transform: translateY(-8px);
  box-shadow: var(--shadow-lg);
}

.stakeholder-card__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  border-radius: var(--radius-lg);
  background-color: var(--color-primary-50);
  color: var(--color-primary-600);
  margin-bottom: var(--space-4);
}

.stakeholder-card__title {
  font-size: var(--font-size-xl);
  margin-bottom: var(--space-3);
  color: var(--color-primary-700);
}

.stakeholder-card__description {
  font-size: var(--font-size-base);
  color: var(--color-text-secondary);
  margin-bottom: var(--space-4);
}

.stakeholder-card__benefits {
  list-style: none;
  margin-top: var(--space-4);
}

.stakeholder-card__benefits li {
  position: relative;
  padding-left: var(--space-5);
  margin-bottom: var(--space-2);
  color: var(--color-text-secondary);
  font-size: var(--font-size-sm);
}

.stakeholder-card__benefits li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.7em;
  width: 6px;
  height: 6px;
  border-radius: var(--radius-full);
  background-color: var(--color-primary-500);
}

/* ----------------------------------------------------
   TEAM SECTION - RINNOVATO
---------------------------------------------------- */
.team {
  padding: var(--space-12) 0;
  background-color: var(--color-surface-secondary);
}

.team-members {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: var(--space-8);
  margin-bottom: var(--space-12);
}

.team-member {
  background-color: var(--color-surface-primary);
  border-radius: var(--radius-xl);
  padding: var(--space-8);
  box-shadow: var(--shadow-md);
  border: 1px solid var(--color-border-subtle);
  text-align: center;
  transition: transform var(--transition-base), box-shadow var(--transition-base);
  height: 100%;
  opacity: 1;
  transform: translateY(0);
  transition: transform 0.8s cubic-bezier(0.19, 1, 0.22, 1), opacity 0.8s cubic-bezier(0.19, 1, 0.22, 1);
}

.team-member:hover {
  transform: translateY(-8px);
  box-shadow: var(--shadow-lg);
}

.team-member__photo {
  width: 180px;
  height: 180px;
  border-radius: var(--radius-full);
  overflow: hidden;
  margin: 0 auto var(--space-6);
  position: relative;
  border: 4px solid var(--color-primary-50);
}

.team-member__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform var(--transition-base);
}

.team-member:hover .team-member__img {
  transform: scale(1.05);
}

.team-member__name {
  font-size: var(--font-size-xl);
  margin-bottom: var(--space-2);
  color: var(--color-base-black);
}

.team-member__role {
  font-size: var(--font-size-sm);
  color: var(--color-primary-600);
  font-weight: var(--font-weight-medium);
  margin-bottom: var(--space-4);
}

.team-member__bio {
  font-size: var(--font-size-sm);
  color: var(--color-text-secondary);
  margin-bottom: var(--space-6);
}

.team-member__socials {
  display: flex;
  justify-content: center;
  gap: var(--space-3);
}

.team-member__social-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: var(--radius-full);
  color: var(--color-text-secondary);
  background-color: var(--color-neutral-100);
  transition: background-color var(--transition-base), color var(--transition-base), transform var(--transition-base);
}

.team-member__social-link:hover {
  background-color: var(--color-primary-50);
  color: var(--color-primary-600);
  transform: translateY(-3px);
}

/* Partnership - VANTURA - Dimensione immagine corretta */
.partnership {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-8);
  background-color: var(--color-surface-primary);
  border-radius: var(--radius-xl);
  padding: var(--space-8);
  box-shadow: var(--shadow-md);
  border: 1px solid var(--color-border-subtle);
  opacity: 1;
  transform: translateY(0);
  transition: transform 0.8s cubic-bezier(0.19, 1, 0.22, 1), opacity 0.8s cubic-bezier(0.19, 1, 0.22, 1);
}

.partnership__title {
  font-size: var(--font-size-xl);
  margin-bottom: var(--space-4);
  color: var(--color-primary-700);
}

.partnership__description {
  color: var(--color-text-secondary);
  margin-bottom: var(--space-4);
}

.partnership__visual {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-4);
  background-color: var(--color-neutral-50);
  border-radius: var(--radius-lg);
  overflow: hidden;
}

.partnership__image {
  max-width: 300px; /* Dimensione aumentata */
  margin: 0 auto;
  display: block;
  object-fit: contain;
  filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.1));
  transition: transform 0.5s ease, filter 0.5s ease;
}

.partnership__visual:hover .partnership__image {
  transform: scale(1.03);
  filter: drop-shadow(0 8px 16px rgba(0, 0, 0, 0.15));
}

@media (min-width: 992px) {
  .partnership {
    grid-template-columns: 1.5fr 1fr;
    gap: var(--space-8);
    align-items: center;
  }
}

/* ----------------------------------------------------
   CONTACT SECTION - RINNOVATO
---------------------------------------------------- */
.contact {
  padding: var(--space-12) 0;
}

.contact__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-8);
}

/* MODIFICATO: Contenuto allineato verticalmente con il form */
.contact__content {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  opacity: 1;
  transform: translateX(0);
  transition: transform 0.8s cubic-bezier(0.19, 1, 0.22, 1), opacity 0.8s cubic-bezier(0.19, 1, 0.22, 1);
}

.contact__title {
  font-size: var(--font-size-2xl);
  margin-bottom: var(--space-4);
  margin-top: 0;
  color: var(--color-primary-700);
}

.contact__subtitle {
  font-size: var(--font-size-md);
  color: var(--color-text-secondary);
  margin-bottom: var(--space-8);
}

.contact__info {
  display: flex;
  flex-direction: column;
  gap: var(--space-6);
  margin-bottom: var(--space-8);
}

.contact-method {
  display: flex;
  align-items: flex-start;
  gap: var(--space-4);
}

.contact-method__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: var(--radius-lg);
  background-color: var(--color-primary-50);
  color: var(--color-primary-600);
  flex-shrink: 0;
}

.contact-method__icon svg {
  width: 24px;
  height: 24px;
}

.contact-method__title {
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-medium);
  margin-bottom: var(--space-1);
}

.contact-method__value {
  font-size: var(--font-size-md);
  color: var(--color-text-primary);
  transition: color var(--transition-base);
}

.contact-method__value:hover {
  color: var(--color-primary-600);
}

.contact__socials {
  display: flex;
  gap: var(--space-4);
}

.social-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: var(--radius-full);
  color: var(--color-text-secondary);
  background-color: var(--color-neutral-100);
  transition: background-color var(--transition-base), color var(--transition-base), transform var(--transition-base);
}

.social-link:hover {
  background-color: var(--color-primary-50);
  color: var(--color-primary-600);
  transform: translateY(-3px);
}

/* Contact Form */
.contact__form-container {
  background-color: var(--color-surface-primary);
  border-radius: var(--radius-xl);
  padding: var(--space-8);
  box-shadow: var(--shadow-lg);
  border: 1px solid var(--color-border-subtle);
  opacity: 1;
  transform: translateX(0);
  transition: transform 0.8s cubic-bezier(0.19, 1, 0.22, 1), opacity 0.8s cubic-bezier(0.19, 1, 0.22, 1);
}

.contact-form {
  width: 100%;
}

.form-feedback {
  min-height: 2.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: var(--space-6);
  padding: var(--space-3);
  border-radius: var(--radius-md);
  font-size: var(--font-size-sm);
}

.form-feedback.success {
  background-color: rgba(0, 200, 83, 0.1);
  color: #00c853;
}

.form-feedback.error {
  background-color: rgba(255, 75, 85, 0.1);
  color: #ff4b55;
}

.form-group {
  margin-bottom: var(--space-6);
  opacity: 1;
  transform: translateY(0);
  transition: transform 0.8s cubic-bezier(0.19, 1, 0.22, 1), opacity 0.8s cubic-bezier(0.19, 1, 0.22, 1);
}

.form-label {
  display: block;
  font-size: var(--font-size-sm);
  color: var(--color-text-secondary);
  margin-bottom: var(--space-2);
}

.form-control {
  width: 100%;
  height: 48px;
  padding: var(--space-3) var(--space-4);
  border: 1px solid var(--color-border-moderate);
  border-radius: var(--radius-md);
  font-size: var(--font-size-base);
  color: var(--color-text-primary);
  background-color: var(--color-neutral-50);
  transition: border-color var(--transition-base), box-shadow var(--transition-base);
  font-family: inherit;
}

.form-control:focus {
  border-color: var(--color-primary-400);
  box-shadow: 0 0 0 3px rgba(11, 57, 110, 0.15);
}

textarea.form-control {
  height: auto;
  resize: vertical;
  min-height: 120px;
}

.form-group--checkbox {
  display: flex;
  align-items: flex-start;
  gap: var(--space-3);
}

.form-checkbox {
  appearance: none;
  -webkit-appearance: none;
  width: 20px;
  height: 20px;
  border: 1px solid var(--color-border-moderate);
  border-radius: var(--radius-sm);
  background-color: var(--color-neutral-50);
  position: relative;
  cursor: pointer;
  flex-shrink: 0;
  margin-top: 2px;
}

.form-checkbox:checked {
  background-color: var(--color-primary-600);
  border-color: var(--color-primary-600);
}

.form-checkbox:checked::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 12px;
  height: 12px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

.form-checkbox-label {
  font-size: var(--font-size-sm);
  color: var(--color-text-secondary);
}

.form-control.invalid {
  border-color: #ff4b55;
}

.button[type="submit"] {
  opacity: 1;
  transform: translateY(0);
  transition: transform 0.8s cubic-bezier(0.19, 1, 0.22, 1), opacity 0.8s cubic-bezier(0.19, 1, 0.22, 1);
}

@media (min-width: 992px) {
  .contact__grid {
    grid-template-columns: 1fr 1.2fr;
    gap: var(--space-16);
  }
}

/* ----------------------------------------------------
   FOOTER - RINNOVATO
---------------------------------------------------- */
.footer {
  padding: var(--space-12) 0 var(--space-6);
  background-color: var(--color-surface-primary);
  border-top: 1px solid var(--color-border-subtle);
  color: var(--color-text-primary);
}

.footer__top {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-8);
  margin-bottom: var(--space-8);
  padding-bottom: var(--space-8);
  border-bottom: 1px solid var(--color-border-subtle);
}

.footer__brand {
  max-width: 300px;
}

.footer__logo {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  color: var(--color-text-primary);
  margin-bottom: var(--space-4);
}

.footer__logo-img {
  height: 28px;
  width: auto;
}

.footer__logo-text {
  font-size: var(--font-size-md);
  font-weight: var(--font-weight-semibold);
}

.footer__tagline {
  font-size: var(--font-size-sm);
  color: var(--color-text-secondary);
  margin-bottom: var(--space-6);
}

.footer__socials {
  display: flex;
  gap: var(--space-3);
}

.footer__social-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: var(--radius-full);
  color: var(--color-text-secondary);
  background-color: var(--color-neutral-100);
  transition: background-color var(--transition-base), color var(--transition-base), transform var(--transition-base);
}

.footer__social-link:hover {
  background-color: var(--color-primary-50);
  color: var(--color-primary-600);
  transform: translateY(-3px);
}

.footer__nav {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: var(--space-8);
}

.footer__nav-title {
  font-size: var(--font-size-sm);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: var(--space-4);
  color: var(--color-text-primary);
  font-weight: var(--font-weight-semibold);
}

.footer__nav-list {
  list-style: none;
}

.footer__nav-item {
  margin-bottom: var(--space-3);
}

.footer__nav-link {
  color: var(--color-text-secondary);
  font-size: var(--font-size-sm);
  transition: color var(--transition-base), transform var(--transition-base);
  display: inline-block;
}

.footer__nav-link:hover {
  color: var(--color-primary-600);
  transform: translateX(3px);
}

.footer__bottom {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-4);
}

.footer__copy {
  font-size: var(--font-size-xs);
  color: var(--color-text-tertiary);
}

@media (min-width: 992px) {
  .footer__top {
    grid-template-columns: 1fr 1fr;
    gap: var(--space-12);
  }
  
  .footer__bottom {
    flex-direction: row;
    justify-content: space-between;
  }
}

/* ----------------------------------------------------
   COOKIE CONSENT - RINNOVATO
---------------------------------------------------- */
.cookie-consent {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  padding: var(--space-4);
  background-color: var(--color-surface-primary);
  border-top: 1px solid var(--color-border-subtle);
  box-shadow: var(--shadow-lg);
  z-index: var(--z-modal);
  transform: translateY(100%);
  transition: transform var(--transition-base);
}

.cookie-consent.open {
  transform: translateY(0);
}

.cookie-consent__container {
  max-width: var(--max-width-content);
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.cookie-consent__title {
  font-size: var(--font-size-md);
  margin-bottom: var(--space-2);
  color: var(--color-primary-700);
}

.cookie-consent__text {
  font-size: var(--font-size-sm);
  color: var(--color-text-secondary);
  margin-bottom: 0;
}

.cookie-consent__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
}

@media (min-width: 768px) {
  .cookie-consent__container {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
  }
  
  .cookie-consent__content {
    flex: 1;
  }
}

/* ----------------------------------------------------
   MOBILE OPTIMIZATION - COMPREHENSIVE REDESIGN
   Complete overhaul for elegant and fluid mobile experience
---------------------------------------------------- */

/* Base Mobile Adjustments (Tablets & Smaller) */
@media (max-width: 991px) {
  :root {
    /* Refined spacing for mobile */
    --space-32: 6rem;     /* Reduced from 8rem */
    --space-24: 4.5rem;   /* Reduced from 6rem */
    --space-20: 4rem;     /* Reduced from 5rem */
    --space-16: 3rem;     /* Reduced from 4rem */
    --space-12: 2.5rem;   /* Reduced from 3rem */
    --space-8: 1.75rem;   /* Reduced from 2rem */
    
    /* Adjusted heights for mobile */
    --header-height: 64px;
    --mobile-nav-height: 60px; /* Increased for better touch targets */
  }
  
  /* Core layout adjustments */
  .container {
    width: 92%;
    max-width: 100%;
    padding: 0;
  }
  
  .section {
    padding: var(--space-8) 0;
    overflow: hidden;
  }
  
  .section__header {
    max-width: 100%;
    margin-bottom: var(--space-6);
  }
  
  .section__title {
    font-size: var(--font-size-xl);
    margin-bottom: var(--space-3);
  }
  
  .section__subtitle {
    font-size: var(--font-size-base);
    max-width: 100%;
  }
  
  /* Typography adjustments for mobile */
  h1 {
    font-size: var(--font-size-3xl);
  }
  
  h2 {
    font-size: var(--font-size-2xl);
  }
  
  h3 {
    font-size: var(--font-size-xl);
  }
  
  /* Header & Navigation - Refined mobile experience */
  .header {
    height: var(--header-height);
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
  }
  
  .header__container {
    padding: var(--space-2) 0;
  }
  
  .header__logo-img {
    height: 28px;
  }
  
  .header__logo-text {
    font-size: var(--font-size-base);
  }
  
  /* Enhanced Mobile Menu with smooth animations */
  .mobile-menu {
    width: 100%;
    max-width: 380px;
    right: 0;
    box-shadow: -10px 0 30px rgba(0, 0, 0, 0.1);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }
  
  .mobile-menu__container {
    min-height: 100%;
    padding: var(--space-5) var(--space-4) var(--space-10);
  }
  
  .mobile-menu__header {
    margin-bottom: var(--space-4);
  }
  
  .mobile-menu__logo-img {
    height: 28px;
  }
  
  .mobile-menu__nav {
    margin-bottom: var(--space-6);
  }
  
  .mobile-menu__link {
    font-size: var(--font-size-lg);
    padding: var(--space-3) var(--space-2);
    transition: all 0.3s ease;
    border-radius: var(--radius-md);
  }
  
  .mobile-menu__link:hover,
  .mobile-menu__link:focus,
  .mobile-menu__link.active {
    background-color: var(--color-primary-50);
    color: var(--color-primary-600);
    transform: translateX(var(--space-2));
  }
  
  .mobile-menu__contact {
    margin-bottom: var(--space-6);
    background: linear-gradient(to right bottom, var(--color-primary-50), var(--color-neutral-50));
    padding: var(--space-5);
    border-radius: var(--radius-xl);
    border: 1px solid var(--color-border-subtle);
  }
  
  .mobile-menu__contact-item {
    margin-bottom: var(--space-3);
  }
  
  .mobile-menu__contact-item:last-child {
    margin-bottom: 0;
  }
  
  .mobile-menu__social-link {
    width: 48px;
    height: 48px;
  }
  
  /* Refined Bottom Navigation */
  .mobile-nav {
    height: var(--mobile-nav-height);
    display: flex;
    align-items: center;
    justify-content: space-around;
    background-color: rgba(255, 255, 255, 0.98);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-top: 1px solid var(--color-border-subtle);
    box-shadow: 0 -4px 15px rgba(0, 0, 0, 0.06);
  }
  
  .mobile-nav__list {
    display: flex;
    width: 100%;
    max-width: 400px;
    margin: 0 auto;
  }
  
  .mobile-nav__link {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    font-size: var(--font-size-xs);
    color: var(--color-text-tertiary);
    padding: var(--space-1) 0;
    position: relative;
  }
  
  .mobile-nav__link--active {
    color: var(--color-primary-600);
  }
  
  .mobile-nav__link::after {
    content: '';
    position: absolute;
    bottom: 2px;
    width: 0;
    height: 3px;
    border-radius: var(--radius-full);
    background-color: var(--color-primary-600);
    transition: width 0.3s ease;
  }
  
  .mobile-nav__link--active::after {
    width: 20px;
  }
  
  .mobile-nav__icon {
    width: 24px;
    height: 24px;
    margin-bottom: var(--space-1);
    transition: transform 0.3s ease;
  }
  
  /* Hero Section Mobile Optimization */
  .hero {
    padding-top: calc(var(--header-height) + var(--space-6));
    padding-bottom: var(--space-8);
    text-align: center;
  }
  
  .hero__grid {
    display: flex;
    flex-direction: column;
    gap: var(--space-6);
    margin-bottom: var(--space-8);
  }
  
  .hero__content {
    order: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  
  .hero__title {
    font-size: calc(var(--font-size-2xl) * 1.1);
    line-height: 1.2;
    margin-bottom: var(--space-4);
  }
  
  .hero__subtitle {
    font-size: var(--font-size-md);
    max-width: 540px;
    margin: 0 auto var(--space-6);
  }
  
  .hero__actions {
    display: flex;
    gap: var(--space-3);
    margin-bottom: var(--space-6);
    flex-wrap: wrap;
    justify-content: center;
  }
  
  .hero__visual {
    order: 2;
    min-height: 320px;
  }
  
  .logo-visualizer__model {
    width: 250px;
    height: 250px;
  }
  
  .logo-visualizer__image {
    width: 160px;
  }
  
  /* Stats bar optimization */
  .stats-bar {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--space-4);
    padding: var(--space-5);
    border-radius: var(--radius-lg);
  }
  
  .stat-item {
    text-align: center;
  }
  
  .stat-item__value {
    font-size: var(--font-size-xl);
  }
  
  .stat-item__label {
    font-size: var(--font-size-xs);
  }
  
  /* Platform section optimization */
  .platform__grid {
    display: flex;
    flex-direction: column;
    gap: var(--space-8);
  }
  
  .platform__image-container {
    height: 350px;
    order: 1;
    max-height: 350px;
    border-radius: var(--radius-lg);
  }
  
  .platform__content {
    order: 2;
    height: auto;
    min-height: auto;
  }
  
  .mobile-accordion {
    gap: var(--space-4);
  }
  
  .accordion-item {
    border-radius: var(--radius-xl);
    margin-bottom: var(--space-4);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
  }
  
  .accordion-header {
    padding: var(--space-4) var(--space-3);
  }
  
  .accordion-content {
    padding-left: calc(48px + var(--space-3));
    padding-right: var(--space-3);
  }
  
  /* Solution section optimization */
  .tabs__header {
    gap: var(--space-4);
    margin-bottom: var(--space-6);
  }
  
  .tabs__button {
    min-width: 120px;
    padding: var(--space-3) var(--space-3);
    font-size: var(--font-size-sm);
  }
  
  /* Problem tab optimization */
  .problem-item {
    flex-direction: row;
    align-items: flex-start;
    padding: var(--space-4);
    gap: var(--space-4);
    margin-bottom: var(--space-4);
  }
  
  .problem-item__number {
    width: 44px;
    height: 44px;
    font-size: var(--font-size-md);
  }
  
  .problem-item__title {
    font-size: var(--font-size-md);
    margin-bottom: var(--space-2);
  }
  
  .problem-item__description {
    font-size: var(--font-size-sm);
  }
  
  /* Solution tab redesign for mobile */
  .solution-centered-layout {
    min-height: auto;
    padding: var(--space-4) 0;
  }
  
  .solution-center-logo {
    position: relative;
    top: auto;
    left: auto;
    transform: none;
    margin: 0 auto var(--space-6);
    width: 120px;
    height: 120px;
  }
  
  .solution-center-logo__img {
    width: 80px;
  }
  
  
  .solution-point {
    position: relative;
    width: 100%;
    max-width: 100%;
    top: auto;
    left: auto;
    right: auto;
    bottom: auto;
    margin-bottom: var(--space-4);
  }
  
  /* Market section optimization */
  .market-insights {
    display: flex;
    flex-direction: column;
    gap: var(--space-6);
    max-height: none;
  }
  
  .market-chart {
    padding: var(--space-4);
    height: 300px;
    max-height: 300px;
    border-radius: var(--radius-lg);
  }
  
  .market-chart__container {
    min-height: 0;
  }
  
  .market-metrics {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-4);
    max-height: none;
  }
  
  .metric-card {
    padding: var(--space-4);
    border-radius: var(--radius-lg);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    display: grid;
    grid-template-columns: auto 1fr;
    grid-template-areas: 
      "icon value"
      "icon title"
      "description description";
    gap: var(--space-2) var(--space-4);
    align-items: center;
  }
  
  .metric-card:hover {
    transform: translateY(-4px);
  }
  
  .metric-card__icon {
    grid-area: icon;
    width: 56px;
    height: 56px;
  }
  
  .metric-card__value {
    grid-area: value;
    font-size: var(--font-size-2xl);
    margin-bottom: 0;
  }
  
  .metric-card__title {
    grid-area: title;
    font-size: var(--font-size-base);
    margin-bottom: 0;
  }
  
  .metric-card__description {
    grid-area: description;
    font-size: var(--font-size-sm);
    padding-top: var(--space-3);
  }
  
  /* Benefits section optimization */
  .comparison-table {
    border-radius: var(--radius-lg);
    font-size: var(--font-size-xs);
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    margin-bottom: var(--space-8);
  }
  
  .comparison-table__cell {
    padding: var(--space-3);
  }
  
  .stakeholder-cards {
    display: flex;
    flex-direction: column;
    gap: var(--space-5);
  }
  
  .stakeholder-card {
    padding: var(--space-5);
    border-radius: var(--radius-lg);
  }
  
  .stakeholder-card__icon {
    width: 48px;
    height: 48px;
  }
  
  .stakeholder-card__title {
    font-size: var(--font-size-lg);
  }
  
  /* Team section optimization */
  .team-members {
    display: flex;
    flex-direction: column;
    gap: var(--space-8);
  }
  
  .team-member {
    padding: var(--space-6);
    border-radius: var(--radius-lg);
  }
  
  .team-member__photo {
    width: 150px;
    height: 150px;
  }
  
  .partnership__image {
    max-width: 340px;
    max-height: 130px;
  }
  
  /* Contact section optimization */
  .contact__grid {
    display: flex;
    flex-direction: column;
    gap: var(--space-8);
  }
  
  .contact__content {
    text-align: center;
  }
  
  .contact__subtitle {
    margin: 0 auto var(--space-6);
  }
  
  .contact__info {
    align-items: center;
  }
  
  .contact__socials {
    justify-content: center;
  }
  
  .contact__form-container {
    padding: var(--space-6);
    border-radius: var(--radius-lg);
  }
  
  .form-control {
    height: 50px;
    font-size: var(--font-size-base);
    background-color: var(--color-neutral-50);
    border-color: transparent;
    border-radius: var(--radius-lg);
    transition: all 0.3s ease;
  }
  
  .form-control:focus {
    background-color: var(--color-base-white);
    border-color: var(--color-primary-600);
    box-shadow: 0 0 0 3px rgba(11, 57, 110, 0.15);
  }
  
  textarea.form-control {
    min-height: 120px;
  }
  
  /* Footer optimization */
  .footer {
    padding-bottom: calc(var(--mobile-nav-height) + var(--space-6));
  }
  
  .footer__top {
    grid-template-columns: 1fr;
    text-align: center;
    gap: var(--space-6);
  }
  
  .footer__brand {
    margin: 0 auto var(--space-4);
    max-width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  
  .footer__logo {
    justify-content: center;
    margin-bottom: var(--space-3);
  }
  
  .footer__socials {
    justify-content: center;
  }
  
  .footer__nav {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--space-6);
  }
  
  .cookie-consent {
    padding-bottom: calc(var(--space-4) + var(--mobile-nav-height));
  }
}

/* Small Mobile Devices (<768px) */
@media (max-width: 767px) {
  :root {
    --header-height: 56px;
    --space-24: 3.5rem;
    --space-16: 2rem;
    --space-12: 1.75rem;
    --space-8: 1.25rem;
    --space-6: 1rem;
  }
  
  .container {
    width: 94%;
  }
  
  /* Header small mobile */
  .header__logo-img {
    height: 24px;
  }
  
  /* Hero section small mobile */
  .hero {
    padding-top: calc(var(--header-height) + var(--space-4));
    padding-bottom: var(--space-6);
  }
  
  .hero__title {
    font-size: var(--font-size-xl);
    margin-bottom: var(--space-3);
  }
  
  .hero__subtitle {
    font-size: var(--font-size-base);
    margin-bottom: var(--space-4);
  }
  
  .hero__actions {
    flex-direction: column;
    width: 100%;
    max-width: 280px;
  }
  
  .hero__actions .button {
    width: 100%;
  }
  
  .hero__visual {
    min-height: 220px;
  }
  
  .logo-visualizer__model {
    width: 200px;
    height: 200px;
  }
  
  .logo-visualizer__image {
    width: 130px;
  }
  
  /* Stats bar small mobile - 1 column vertical layout */
  .stats-bar {
    grid-template-columns: 1fr;
    padding: var(--space-4);
  }
  
  .stat-item {
    display: grid;
    grid-template-columns: auto 1fr;
    text-align: left;
    gap: var(--space-3);
    align-items: center;
  }
  
  .stat-item__value {
    font-size: var(--font-size-lg);
    grid-column: 1;
    margin: 0;
  }
  
  .stat-item__label {
    grid-column: 2;
    font-size: var(--font-size-xs);
  }
  
  /* Platform section small mobile */
  .platform__image-container {
    height: 250px;
  }
  
  .accordion-header {
    padding: var(--space-3);
  }
  
  /* Solution section small mobile */
  .tabs__header {
    gap: var(--space-3);
  }
  
  .tabs__button {
    min-width: 100px;
    padding: var(--space-2) var(--space-2);
    font-size: var(--font-size-xs);
  }
  
  /* Problem points in vertical layout */
  .problem-item {
    flex-direction: column;
    align-items: flex-start;
    padding: var(--space-3);
    gap: var(--space-2);
  }
  
  .problem-item__number {
    width: 36px;
    height: 36px;
    font-size: var(--font-size-sm);
    margin-bottom: var(--space-2);
  }
  
  /* Market section small mobile */
  .market-chart {
    height: 250px;
  }
  
  .metric-card {
    grid-template-areas: 
      "icon value"
      "icon title"
      "description description";
    gap: var(--space-2);
    padding: var(--space-3);
  }
  
  .metric-card__icon {
    width: 48px;
    height: 48px;
  }
  
  .metric-card__value {
    font-size: var(--font-size-xl);
  }
  
  /* Team section small mobile */
  .team-member {
    padding: var(--space-4);
  }
  
  .team-member__photo {
    width: 120px;
    height: 120px;
    margin-bottom: var(--space-4);
  }
  
  .team-member__name {
    font-size: var(--font-size-lg);
  }
  
  .partnership__image {
    max-width: 280px;
    max-height: 110px;
  }
  
  /* Contact form small mobile */
  .contact__form-container {
    padding: var(--space-4);
  }
  
  .form-control {
    height: 46px;
  }
}

/* Extra Small Mobile (<576px) */
@media (max-width: 575px) {
  :root {
    --header-height: 52px;
    --space-16: 1.75rem;
    --space-12: 1.5rem;
    --space-8: 1rem;
    --space-6: 0.875rem;
    --space-4: 0.75rem;
  }
  
  .container {
    width: 96%;
  }
  
  /* Header adjustments for tiny screens */
  .header__logo-img {
    height: 22px;
  }
  
  .header__logo-text {
    font-size: var(--font-size-sm);
  }
  
  /* Hero section extra small */
  .hero__title {
    font-size: var(--font-size-lg);
    line-height: 1.3;
  }
  
  .hero__subtitle {
    font-size: var(--font-size-sm);
  }
  
  .hero__visual {
    min-height: 180px;
  }
  
  .logo-visualizer__model {
    width: 180px;
    height: 180px;
  }
  
  .logo-visualizer__image {
    width: 110px;
  }
  
  /* Platform section extra small */
  .platform__image-container {
    height: 200px;
  }
  
  /* Solution points extra small */
  .solution-center-logo {
    width: 100px;
    height: 100px;
    margin-bottom: var(--space-4);
  }
  
  .solution-center-logo__img {
    width: 60px;
  }
  
  .solution-point {
    padding: var(--space-3);
  }
  
  .solution-point__title {
    font-size: var(--font-size-sm);
  }
  
  .solution-point__description {
    font-size: var(--font-size-xs);
  }
  
  /* Market section extra small */
  .market-chart {
    height: 200px;
    padding: var(--space-3);
  }
  
  /* Benefits section extra small */
  .comparison-table__cell {
    padding: var(--space-2);
    font-size: var(--font-size-2xs);
  }
  
  /* Team section extra small */
  .team-member__photo {
    width: 100px;
    height: 100px;
  }
  
  /* Mobile navigation extra small */
  .mobile-nav__link {
    font-size: var(--font-size-2xs);
  }
  
  .mobile-nav__icon {
    width: 20px;
    height: 20px;
    margin-bottom: var(--space-1);
  }
}

/* ----------------------------------------------------
   UTILITY CLASSES
---------------------------------------------------- */
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}

/* ----------------------------------------------------
   REDUCED MOTION
---------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
  
  .logo-visualizer__model,
  .solution-center-logo,
  .solution-center-logo::before {
    animation: none !important;
  }
  
  .button:hover,
  .stakeholder-card:hover,
  .metric-card:hover,
  .team-member:hover,
  .social-link:hover,
  .team-member__social-link:hover,
  .footer__social-link:hover,
  .mobile-menu__social-link:hover {
    transform: none !important;
  }
}

/* ----------------------------------------------------
   PRINT STYLES
---------------------------------------------------- */
@media print {
  body {
    background-color: white;
    color: black;
  }
  
  .header,
  .mobile-menu,
  .mobile-nav,
  .mobile-fab,
  .cookie-consent,
  .preloader {
    display: none !important;
  }
  
  .container {
    width: 100%;
    max-width: 100%;
  }
  
  a {
    color: black;
    text-decoration: underline;
  }
  
  .section {
    page-break-inside: avoid;
    padding: 1cm 0;
  }
  
  .hero {
    padding-top: 0;
  }
  
  .hero__visual {
    display: none;
  }
  
  .hero__grid,
  .solution__grid,
  .platform__grid,
  .contact__grid {
    grid-template-columns: 1fr !important;
  }
}


/* SOLUZIONE FINALE - CERCHIO AL CENTRO, RAMI CORRETTI */

/* Centro dell'intero layout */
.solution-centered-layout {
  position: relative;
  width: 100%;
  height: 540px;
  margin: 0 auto;
  max-width: 1080px;
  overflow: visible;
}

/* Cerchio mantenuto esattamente dov'è ora */
.solution-center-logo {
  position: absolute;
  left: 0;
  right: 0; 
  top: 0;
  bottom: 0;
  margin: auto;
  width: 150px;
  height: 150px;
  background-color: #f3f6fb;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10;
  border: 2px dashed #d6dce8;
  transform: translate(-3px, -3px);
}

.solution-center-logo__img {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 85px;
  height: auto;
}

/* RAMI RIPOSIZIONATI DOVE ERANO PRIMA */
.solution-center-connector {
  position: absolute;
  top: 50%; /* Riportato al 50% invece del valore fisso */
  left: 50%; /* Riportato al 50% invece del valore fisso */
  height: 1px;
  background-color: #d6dce8;
  z-index: 1;
  transform-origin: center;
}

.solution-center-connector--diagonal1 {
  width: 720px;
  transform: translate(-50%, -50%) rotate(45deg);
}

.solution-center-connector--diagonal2 {
  width: 720px;
  transform: translate(-50%, -50%) rotate(-45deg);
}

.solution-center-connector--horizontal {
  width: 720px;
  transform: translate(-50%, -50%) rotate(0deg);
}

.solution-center-connector--vertical {
  width: 540px;
  transform: translate(-50%, -50%) rotate(90deg);
}

/* Box posizionati fissamente agli angoli */
.solution-points-container {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.solution-point {
  position: absolute;
  width: 270px;
  background-color: #ffffff;
  border-radius: 12px;
  padding: 22px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
  border: 1px solid #e4e7ec;
  z-index: 5;
}

.solution-point--top-left {
  top: 18px;
  left: 18px;
}

.solution-point--top-right {
  top: 18px;
  right: 18px;
}

.solution-point--bottom-left {
  bottom: 18px;
  left: 18px;
}

.solution-point--bottom-right {
  bottom: 18px;
  right: 18px;
}

/* Versione mobile ottimizzata */
@media (max-width: 991px) {
  .solution-centered-layout {
    height: auto;
    padding: 27px 0;
  }
  
  .solution-center-logo {
    position: relative;
    transform: none;
    margin: 27px auto;
    top: auto;
    left: auto;
    right: auto;
    bottom: auto;
  }
  
  .solution-center-connector {
    display: none;
  }
  
  .solution-point {
    position: relative;
    width: 100%;
    margin: 18px auto;
    top: auto;
    left: auto;
    right: auto;
    bottom: auto;
  }
}

/* ====================================================
   FINBLOCK - SISTEMA ANIMAZIONI OTTIMIZZATO
   Animazioni minimali, fluide e performanti
==================================================== */

/* ----------------------------------------------------
   ANIMAZIONI BASE - STATI INIZIALI
---------------------------------------------------- */

/* Elementi che devono essere animati - stato nascosto iniziale */
.animate-on-scroll {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94),
              transform 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  will-change: opacity, transform;
}

.animate-on-scroll.fade-left {
  transform: translateX(-40px);
}

.animate-on-scroll.fade-right {
  transform: translateX(40px);
}

.animate-on-scroll.fade-up {
  transform: translateY(40px);
}

.animate-on-scroll.fade-down {
  transform: translateY(-40px);
}

.animate-on-scroll.scale-up {
  transform: scale(0.95) translateY(20px);
}

.animate-on-scroll.scale-down {
  transform: scale(1.05) translateY(20px);
}

/* Stato animato - visibile */
.animate-on-scroll.is-visible {
  opacity: 1;
  transform: translateY(0) translateX(0) scale(1);
}

/* ----------------------------------------------------
   ANIMAZIONI HERO SECTION
---------------------------------------------------- */

.hero__content > * {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94),
              transform 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.hero__visual {
  opacity: 0;
  transform: translateY(40px) scale(0.95);
  transition: opacity 1s cubic-bezier(0.25, 0.46, 0.45, 0.94),
              transform 1s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.stats-bar {
  opacity: 0;
  transform: translateY(50px);
  transition: opacity 0.9s cubic-bezier(0.25, 0.46, 0.45, 0.94),
              transform 0.9s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.stat-item {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94),
              transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

/* Stati attivi hero */
.hero.is-loaded .hero__content > * {
  opacity: 1;
  transform: translateY(0);
}

.hero.is-loaded .hero__visual {
  opacity: 1;
  transform: translateY(0) scale(1);
}

.hero.is-loaded .stats-bar {
  opacity: 1;
  transform: translateY(0);
}

.hero.is-loaded .stat-item {
  opacity: 1;
  transform: translateY(0);
}

/* ----------------------------------------------------
   ANIMAZIONI SEZIONI SPECIFICHE
---------------------------------------------------- */

/* Platform Section */
.platform__image-container {
  opacity: 0;
  transform: translateX(-50px) scale(0.98);
  transition: opacity 0.9s cubic-bezier(0.25, 0.46, 0.45, 0.94),
              transform 0.9s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.feature-item,
.accordion-item {
  opacity: 0;
  transform: translateX(40px);
  transition: opacity 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94),
              transform 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

/* Solution Section */
.tabs__header {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94),
              transform 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.problem-item {
  opacity: 0;
  transform: translateX(-40px);
  transition: opacity 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94),
              transform 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.solution-center-logo {
  opacity: 0;
  transform: scale(0.8) translateY(30px);
  transition: opacity 1s cubic-bezier(0.25, 0.46, 0.45, 0.94),
              transform 1s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.solution-point {
  opacity: 0;
  transform: translateY(40px) scale(0.95);
  transition: opacity 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94),
              transform 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.solution-center-connector {
  opacity: 1;
  transform: scaleX();
  transition: opacity 0.6s ease,
              transform 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transform-origin: center;
}

/* Market Section */
.market-chart {
  opacity: 0;
  transform: translateY(40px) scale(0.98);
  transition: opacity 0.9s cubic-bezier(0.25, 0.46, 0.45, 0.94),
              transform 0.9s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.metric-card {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94),
              transform 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

/* Benefits Section */
.comparison-table {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94),
              transform 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.stakeholder-card {
  opacity: 0;
  transform: translateY(40px) scale(0.98);
  transition: opacity 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94),
              transform 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

/* Team Section */
.team-member {
  opacity: 0;
  transform: translateY(50px) scale(0.95);
  transition: opacity 0.9s cubic-bezier(0.25, 0.46, 0.45, 0.94),
              transform 0.9s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.partnership {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94),
              transform 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

/* Contact Section */
.contact__content,
.contact__form-container {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94),
              transform 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.form-group {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94),
              transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

/* ----------------------------------------------------
   STATI ATTIVI - QUANDO ELEMENTI SONO VISIBILI
---------------------------------------------------- */

/* Platform */
.platform.is-visible .platform__image-container {
  opacity: 1;
  transform: translateX(0) scale(1);
}

.platform.is-visible .feature-item,
.platform.is-visible .accordion-item {
  opacity: 1;
  transform: translateX(0);
}

/* Solution */
.solution.is-visible .tabs__header {
  opacity: 1;
  transform: translateY(0);
}

.solution.is-visible .problem-item {
  opacity: 1;
  transform: translateX(0);
}

.solution.is-visible .solution-center-logo {
  opacity: 1;
  transform: scale(1) translateY(0);
}

.solution.is-visible .solution-point {
  opacity: 1;
  transform: translateY(0) scale(1);
}

.solution.is-visible .solution-center-connector {
  opacity: 1;
  transform: scaleX(1);
}

/* Market */
.market.is-visible .market-chart {
  opacity: 1;
  transform: translateY(0) scale(1);
}

.market.is-visible .metric-card {
  opacity: 1;
  transform: translateY(0);
}

/* Benefits */
.benefits.is-visible .comparison-table {
  opacity: 1;
  transform: translateY(0);
}

.benefits.is-visible .stakeholder-card {
  opacity: 1;
  transform: translateY(0) scale(1);
}

/* Team */
.team.is-visible .team-member {
  opacity: 1;
  transform: translateY(0) scale(1);
}

.team.is-visible .partnership {
  opacity: 1;
  transform: translateY(0);
}

/* Contact */
.contact.is-visible .contact__content,
.contact.is-visible .contact__form-container {
  opacity: 1;
  transform: translateY(0);
}

.contact.is-visible .form-group {
  opacity: 1;
  transform: translateY(0);
}

/* ----------------------------------------------------
   ANIMAZIONI CONTATORI NUMERICI
---------------------------------------------------- */

.counter-animate {
  display: inline-block;
}

.counter-animate .digit {
  display: inline-block;
  transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

/* ----------------------------------------------------
   MICRO-ANIMAZIONI E HOVER EFFECTS
---------------------------------------------------- */

.animate-on-scroll.is-visible:hover {
  transform: translateY(-3px);
}

.metric-card.is-visible:hover,
.stakeholder-card.is-visible:hover,
.team-member.is-visible:hover {
  transform: translateY(-8px) scale(1.02);
}

/* ----------------------------------------------------
   ANIMAZIONI DELAYED (SCAGLIONATE)
---------------------------------------------------- */

.animate-delayed-1 { transition-delay: 0.1s !important; }
.animate-delayed-2 { transition-delay: 0.2s !important; }
.animate-delayed-3 { transition-delay: 0.3s !important; }
.animate-delayed-4 { transition-delay: 0.4s !important; }
.animate-delayed-5 { transition-delay: 0.5s !important; }
.animate-delayed-6 { transition-delay: 0.6s !important; }

/* ----------------------------------------------------
   OTTIMIZZAZIONI PRESTAZIONI
---------------------------------------------------- */

.animate-on-scroll,
.hero__content > *,
.hero__visual,
.stats-bar,
.stat-item,
.platform__image-container,
.feature-item,
.accordion-item,
.tabs__header,
.problem-item,
.solution-center-logo,
.solution-point,
.solution-center-connector,
.market-chart,
.metric-card,
.comparison-table,
.stakeholder-card,
.team-member,
.partnership,
.contact__content,
.contact__form-container,
.form-group {
  backface-visibility: hidden;
  perspective: 1000px;
}

/* ----------------------------------------------------
   RIDUZIONE MOVIMENTO PER ACCESSIBILITÀ
---------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {
  .animate-on-scroll,
  .hero__content > *,
  .hero__visual,
  .stats-bar,
  .stat-item,
  .platform__image-container,
  .feature-item,
  .accordion-item,
  .tabs__header,
  .problem-item,
  .solution-center-logo,
  .solution-point,
  .solution-center-connector,
  .market-chart,
  .metric-card,
  .comparison-table,
  .stakeholder-card,
  .team-member,
  .partnership,
  .contact__content,
  .contact__form-container,
  .form-group {
    transition-duration: 0.2s !important;
    transform: none !important;
  }
  
  .animate-on-scroll.is-visible,
  .hero.is-loaded .hero__content > *,
  .hero.is-loaded .hero__visual,
  .hero.is-loaded .stats-bar,
  .hero.is-loaded .stat-item {
    opacity: 1 !important;
    transform: none !important;
  }
}

/* ----------------------------------------------------
   RESPONSIVE ANIMATIONS
---------------------------------------------------- */

@media (max-width: 768px) {
  /* Riduci intensità animazioni su mobile */
  .animate-on-scroll {
    transform: translateY(20px);
  }
  
  .animate-on-scroll.fade-left,
  .animate-on-scroll.fade-right {
    transform: translateX(0) translateY(20px);
  }
  
  .platform__image-container {
    transform: translateY(30px);
  }
  
  .feature-item,
  .accordion-item {
    transform: translateY(20px);
  }
}

/* FinBlock - Mobile Styles
   Implementazione mobile ottimizzata e semplificata
   
   Questa stylesheet si concentra esclusivamente sul rendere
   l'esperienza mobile intuitiva, elegante e performante
*/

/* ====================================================
   FONDAMENTI MOBILE
==================================================== */

/* Base mobile */
@media (max-width: 991px) {
  :root {
    /* Variabili dimensioni e spazi ottimizzati per mobile */
    --space-32: 6rem;   /* 96px */
    --space-24: 4rem;   /* 64px */
    --space-16: 3rem;   /* 48px */
    --space-12: 2.5rem; /* 40px */
    --space-8: 1.5rem;  /* 24px */
    --space-6: 1.125rem;/* 18px */
    --space-4: 1rem;    /* 16px */
    
    /* Dimensioni più grandi per gli elementi touch */
    --header-height: 64px;
    --mobile-nav-height: 56px;
  }
  
  /* Core layout adjustments */
  .container {
    width: 90%;
    max-width: 100%;
    padding: 0;
  }
  
  /* Migliore spacing per mobile */
  .section {
    padding: var(--space-12) 0;
  }
  
  .section__header {
    max-width: 100%;
    margin-bottom: var(--space-6);
  }
  
  .section__title {
    font-size: var(--font-size-xl);
    margin-bottom: var(--space-3);
  }
  
  .section__subtitle {
    font-size: var(--font-size-base);
  }
  
  /* Ridimensiona font per maggiore leggibilità */
  h1 {
    font-size: var(--font-size-2xl);
    line-height: 1.2;
  }
  
  h2 {
    font-size: var(--font-size-xl);
    line-height: 1.3;
  }
}

/* ====================================================
   HEADER & NAVIGAZIONE MOBILE
==================================================== */

@media (max-width: 991px) {
  /* Header fisso con ombra leggera */
  .header {
    height: var(--header-height);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
    position: fixed;
    top: 0;
    width: 100%;
    z-index: var(--z-header);
  }
  
  .header__container {
    padding: 0;
  }
  
  .header__logo-img {
    height: 28px;
  }
  
  .header__logo-text {
    font-size: var(--font-size-base);
  }
  
  /* Pulsante hamburger */
  .header__menu-toggle {
    width: 42px;
    height: 42px;
    background-color: transparent;
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
  }
  
  /* Menu mobile a schermo intero */
  .mobile-menu {
    position: fixed;
    inset: 0;
    background-color: var(--color-surface-primary);
    z-index: var(--z-overlay);
    display: flex;
    flex-direction: column;
    padding: var(--space-6) 0;
    transform: translateY(-100%);
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
    overflow-y: auto;
  }
  
  .mobile-menu.open {
    transform: translateY(0);
  }
  
  .mobile-menu__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 var(--space-4);
    margin-bottom: var(--space-6);
  }
  
  .mobile-menu__close {
    width: 40px;
    height: 40px;
    background-color: var(--color-neutral-100);
    border: none;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
  }
  
  /* Lista navigazione mobile semplificata */
  .mobile-menu__list {
    list-style: none;
    padding: 0;
    margin: 0;
  }
  
  .mobile-menu__item {
    border-bottom: 1px solid var(--color-neutral-100);
  }
  
  .mobile-menu__link {
    display: block;
    padding: var(--space-4) var(--space-6);
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-medium);
    color: var(--color-text-primary);
    text-decoration: none;
  }
  
  .mobile-menu__link.active {
    color: var(--color-primary-600);
    background-color: var(--color-primary-50);
  }
  
  /* Informazioni contatto */
  .mobile-menu__contact {
    margin: var(--space-6) var(--space-6);
    padding: var(--space-4);
    background-color: var(--color-neutral-50);
    border-radius: var(--radius-lg);
  }
  
  .mobile-menu__contact-item {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    margin-bottom: var(--space-3);
  }
  
  .mobile-menu__contact-item svg {
    color: var(--color-primary-600);
  }
  
  /* Social icons */
  .mobile-menu__socials {
    display: flex;
    justify-content: center;
    gap: var(--space-3);
    margin: var(--space-6) 0;
  }
  
  .mobile-menu__social-link {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background-color: var(--color-neutral-100);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--color-text-secondary);
  }
  
  /* Bottom navigation */
  .mobile-nav {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    height: var(--mobile-nav-height);
    background-color: var(--color-surface-primary);
    box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.05);
    border-top: 1px solid var(--color-border-subtle);
    z-index: var(--z-mobile-nav);
    display: flex;
  }
  
  .mobile-nav__list {
    display: flex;
    width: 100%;
    list-style: none;
    margin: 0;
    padding: 0;
  }
  
  .mobile-nav__item {
    flex: 1;
  }
  
  .mobile-nav__link {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    padding: var(--space-1) 0;
    color: var(--color-text-tertiary);
    text-decoration: none;
    font-size: var(--font-size-xs);
  }
  
  .mobile-nav__icon {
    margin-bottom: 4px;
    width: 20px;
    height: 20px;
  }
  
  .mobile-nav__link--active {
    color: var(--color-primary-600);
  }
  
  /* Aggiungi padding al bottom di main per mobile nav */
  .main {
    padding-bottom: var(--mobile-nav-height);
    padding-top: var(--header-height);
  }
}

/* ====================================================
   HERO SECTION MOBILE
==================================================== */

@media (max-width: 991px) {
  .hero {
    padding-top: var(--space-4);
    text-align: center;
  }
  
  .hero__grid {
    display: flex;
    flex-direction: column;
    gap: var(--space-6);
  }
  
  .hero__content {
    order: 1;
  }
  
  .hero__title {
    font-size: var(--font-size-2xl);
    margin-bottom: var(--space-4);
  }
  
  .hero__subtitle {
    font-size: var(--font-size-base);
    margin-bottom: var(--space-6);
  }
  
  .hero__actions {
    display: flex;
    gap: var(--space-3);
    justify-content: center;
    margin-bottom: var(--space-6);
  }
  
  .hero__visual {
    order: 2;
    min-height: 280px;
  }
  
  /* Logo visualizer ridimensionato */
  .logo-visualizer__model {
    width: 220px;
    height: 220px;
  }
  
  .logo-visualizer__image {
    width: 140px;
  }
  
  /* Stats bar semplificata */
  .stats-bar {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--space-4);
    padding: var(--space-4);
    margin-bottom: var(--space-8);
  }
  
  .stat-item {
    padding: var(--space-2);
  }
  
  .stat-item__value {
    font-size: var(--font-size-xl);
  }
  
  .stat-item__label {
    font-size: var(--font-size-xs);
  }
}

/* ====================================================
   PLATFORM SECTION MOBILE
==================================================== */

@media (max-width: 991px) {
  .platform__grid {
    display: flex;
    flex-direction: column;
    gap: var(--space-6);
  }
  
  .platform__image-container {
    height: 300px;
    max-height: 40vh;
    order: 1;
  }
  
  .platform__content {
    order: 2;
  }
  
  /* Mobile accordion semplificato */
  .accordion-item {
    margin-bottom: var(--space-3);
    border: 1px solid var(--color-border-subtle);
    border-radius: var(--radius-lg);
    overflow: hidden;
  }
  
  .accordion-header {
    padding: var(--space-3);
    background-color: var(--color-surface-primary);
    display: flex;
    align-items: center;
    cursor: pointer;
  }
  
  .accordion-title {
    font-size: var(--font-size-md);
    margin: 0 0 0 var(--space-3);
    flex: 1;
  }
  
  .accordion-content {
    padding: 0 var(--space-3) var(--space-3) var(--space-3);
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease;
  }
  
  .accordion-item.active .accordion-content {
    max-height: 300px;
  }
}

/* ====================================================
   SOLUTION SECTION MOBILE
==================================================== */

@media (max-width: 991px) {
  /* Tabs semplificate */
  .tabs__header {
    margin-bottom: var(--space-4);
  }
  
  .tabs__button {
    padding: var(--space-2) var(--space-4);
    font-size: var(--font-size-sm);
    min-width: auto;
  }
  
  /* Tab problem */
  .problem-item {
    padding: var(--space-3);
    margin-bottom: var(--space-3);
    display: flex;
    flex-direction: column;
  }
  
  .problem-item__number {
    width: 40px;
    height: 40px;
    font-size: var(--font-size-md);
    margin-bottom: var(--space-2);
  }
  
  .problem-item__title {
    font-size: var(--font-size-md);
  }
  
  /* Tab solution */
  .solution-centered-layout {
    padding: var(--space-4) 0;
    min-height: auto;
  }
  
  .solution-center-logo {
    margin: 0 auto var(--space-6);
    position: relative;
    width: 120px;
    height: 120px;
    transform: none;
    top: auto;
    left: auto;
  }
  
  .solution-center-logo__img {
    width: 80px;
  }
  
  .solution-center-connector {
    display: none;
  }
  
  .solution-point {
    position: relative;
    width: 100%;
    max-width: 100%;
    margin-bottom: var(--space-4);
    top: auto;
    left: auto;
    right: auto;
    bottom: auto;
    transform: none;
  }
}

/* ====================================================
   MARKET SECTION MOBILE
==================================================== */

@media (max-width: 991px) {
  .market-insights {
    display: flex;
    flex-direction: column;
    gap: var(--space-6);
  }
  
  .market-chart {
    height: 260px;
    padding: var(--space-3);
  }
  
  .metric-card {
    display: flex;
    flex-direction: column;
    padding: var(--space-4);
  }
  
  .metric-card__icon {
    margin-bottom: var(--space-3);
  }
  
  .metric-card__value {
    font-size: var(--font-size-2xl);
    margin-bottom: var(--space-1);
  }
}

/* ====================================================
   BENEFITS SECTION MOBILE
==================================================== */

@media (max-width: 991px) {
  /* Tabella comparativa ottimizzata */
  .comparison-table {
    font-size: var(--font-size-sm);
    margin-bottom: var(--space-6);
  }
  
  .comparison-table__cell {
    padding: var(--space-2);
  }
  
  /* Stakeholder cards */
  .stakeholder-cards {
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
  }
  
  .stakeholder-card {
    padding: var(--space-4);
  }
  
  .stakeholder-card__icon {
    margin-bottom: var(--space-3);
  }
}

/* ====================================================
   TEAM SECTION MOBILE
==================================================== */

@media (max-width: 991px) {
  .team-members {
    display: flex;
    flex-direction: column;
    gap: var(--space-6);
  }
  
  .team-member {
    padding: var(--space-4);
  }
  
  .team-member__photo {
    width: 140px;
    height: 140px;
    margin: 0 auto var(--space-4);
  }
  
  /* Partnership */
  .partnership {
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
  }
  
  .partnership__image {
    max-width: 240px;
    margin: 0 auto;
  }
}

/* ====================================================
   CONTACT SECTION MOBILE
==================================================== */

@media (max-width: 991px) {
  .contact__grid {
    display: flex;
    flex-direction: column;
    gap: var(--space-6);
  }
  
  .contact__title {
    font-size: var(--font-size-xl);
  }
  
  .contact__form-container {
    padding: var(--space-4);
  }
  
  .form-group {
    margin-bottom: var(--space-4);
  }
  
  .form-control {
    height: 48px;
  }
  
  textarea.form-control {
    min-height: 120px;
  }
}

/* ====================================================
   FOOTER MOBILE
==================================================== */

@media (max-width: 991px) {
  .footer {
    padding-bottom: calc(var(--mobile-nav-height) + var(--space-4));
  }
  
  .footer__top {
    display: flex;
    flex-direction: column;
    gap: var(--space-6);
    text-align: center;
  }
  
  .footer__brand {
    margin: 0 auto;
  }
  
  .footer__logo {
    justify-content: center;
  }
  
  .footer__socials {
    justify-content: center;
  }
  
  .footer__nav {
    grid-template-columns: repeat(2, 1fr);
  }
  
  .footer__bottom {
    text-align: center;
  }
}

/* ====================================================
   COOKIE CONSENT MOBILE
==================================================== */

@media (max-width: 991px) {
  .cookie-consent {
    padding-bottom: calc(var(--mobile-nav-height) + var(--space-2));
  }
  
  .cookie-consent__container {
    flex-direction: column;
  }
  
  .cookie-consent__actions {
    margin-top: var(--space-2);
    display: flex;
    justify-content: space-between;
  }
}

/* ====================================================
   EXTRA SMALL SCREENS
==================================================== */

@media (max-width: 575px) {
  :root {
    --space-8: 1.25rem;  /* 20px */
    --space-6: 1rem;     /* 16px */
    --space-4: 0.75rem;  /* 12px */
  }
  
  .hero__title {
    font-size: var(--font-size-xl);
  }
  
  .hero__subtitle {
    font-size: var(--font-size-sm);
  }
  
  .hero__actions {
    flex-direction: column;
    gap: var(--space-2);
  }
  
  .stats-bar {
    grid-template-columns: 1fr;
  }
  
  .logo-visualizer__model {
    width: 180px;
    height: 180px;
  }
  
  .logo-visualizer__image {
    width: 110px;
  }
  
  .comparison-table {
    font-size: var(--font-size-xs);
  }
  
  .team-member__photo {
    width: 120px;
    height: 120px;
  }
  
  .footer__nav {
    grid-template-columns: 1fr;
    gap: var(--space-4);
  }
}

/* ====================================================
   FINBLOCK - MOBILE OPTIMIZATION MASTER STYLESHEET
   Version 9.0 - Complete Mobile Experience Overhaul
   
   Implementazione mobile meticolosa con attenzione a:
   - Fluidità delle transizioni
   - Ottimizzazione touch targets
   - Performance e velocità
   - Esperienza utente intuitiva
==================================================== */

/* ====================================================
   MOBILE FOUNDATION - BASE OPTIMIZATION
==================================================== */

/* Previeni zoom indesiderato su iOS */
@media (max-width: 991px) {
  input[type="text"],
  input[type="email"],
  input[type="tel"],
  input[type="password"],
  textarea,
  select {
    font-size: 16px !important; /* Previene zoom automatico iOS */
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
  }
}

/* Safe area handling per dispositivi con notch */
@supports (padding: env(safe-area-inset-top)) {
  .header {
    padding-top: env(safe-area-inset-top);
  }
  
  .mobile-nav {
    padding-bottom: env(safe-area-inset-bottom);
  }
  
  .mobile-menu {
    padding-top: env(safe-area-inset-top);
    padding-bottom: env(safe-area-inset-bottom);
  }
}

/* ====================================================
   MOBILE TYPOGRAPHY OPTIMIZATION
==================================================== */

@media (max-width: 991px) {
  :root {
    /* Ottimizzazione dimensioni font per leggibilità mobile */
    --font-size-2xs: 0.625rem;   /* 10px */
    --font-size-xs: 0.6875rem;   /* 11px */
    --font-size-sm: 0.8125rem;   /* 13px */
    --font-size-base: 0.9375rem; /* 15px */
    --font-size-md: 1.0625rem;   /* 17px */
    --font-size-lg: 1.1875rem;   /* 19px */
    --font-size-xl: 1.375rem;    /* 22px */
    --font-size-2xl: 1.75rem;    /* 28px */
    --font-size-3xl: 2.125rem;   /* 34px */
    --font-size-4xl: 2.5rem;     /* 40px */
    --font-size-5xl: 2.875rem;   /* 46px */
    
    /* Spacing ottimizzato per mobile */
    --space-1: 0.25rem;    /* 4px */
    --space-2: 0.375rem;   /* 6px */
    --space-3: 0.625rem;   /* 10px */
    --space-4: 0.875rem;   /* 14px */
    --space-5: 1.125rem;   /* 18px */
    --space-6: 1.375rem;   /* 22px */
    --space-8: 1.75rem;    /* 28px */
    --space-10: 2.25rem;   /* 36px */
    --space-12: 2.75rem;   /* 44px */
    --space-16: 3.5rem;    /* 56px */
    --space-20: 4.5rem;    /* 72px */
    --space-24: 5.5rem;    /* 88px */
    
    /* Heights ottimizzate */
    --header-height: 3.75rem;     /* 60px */
    --mobile-nav-height: 3.5rem;  /* 56px */
  }
  
  /* Typography scaling fluido */
  h1 {
    font-size: clamp(1.75rem, 5vw, 2.5rem);
    line-height: 1.15;
    letter-spacing: -0.03em;
  }
  
  h2 {
    font-size: clamp(1.5rem, 4vw, 2rem);
    line-height: 1.2;
    letter-spacing: -0.02em;
  }
  
  h3 {
    font-size: clamp(1.25rem, 3.5vw, 1.5rem);
    line-height: 1.25;
  }
  
  p {
    font-size: var(--font-size-base);
    line-height: 1.65;
  }
}

/* ====================================================
   HEADER MOBILE REFINEMENT
==================================================== */

@media (max-width: 991px) {
  .header {
    height: var(--header-height);
    padding: 0;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    background-color: rgba(255, 255, 255, 0.95);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1),
                box-shadow 0.3s ease;
  }
  
  .header__container {
    height: 100%;
    padding: 0 var(--space-4);
    align-items: center;
  }
  
  .header__logo {
    gap: var(--space-2);
  }
  
  .header__logo-img {
    height: 26px;
    width: auto;
  }
  
  .header__logo-text {
    font-size: var(--font-size-md);
    font-weight: var(--font-weight-semibold);
    display: none; /* Nascondi su mobile molto piccoli */
  }
  
  @media (min-width: 375px) {
    .header__logo-text {
      display: block;
    }
  }
  
  /* Menu toggle button ottimizzato */
  .header__menu-toggle {
    width: 44px;
    height: 44px;
    background-color: transparent;
    border: 2px solid var(--color-neutral-200);
    border-radius: var(--radius-lg);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    -webkit-tap-highlight-color: transparent;
  }
  
  .header__menu-toggle:active {
    transform: scale(0.95);
    background-color: var(--color-neutral-50);
  }
  
  .header__menu-icon,
  .header__menu-icon::before,
  .header__menu-icon::after {
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  }
}

/* ====================================================
   MOBILE MENU ENHANCED
==================================================== */

@media (max-width: 991px) {
  .mobile-menu {
    position: fixed;
    inset: 0;
    background-color: var(--color-surface-primary);
    z-index: var(--z-overlay);
    transform: translateY(-100%);
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    will-change: transform;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
  }
  
  .mobile-menu.open {
    transform: translateY(0);
  }
  
  /* Overlay effect quando menu è aperto */
  .mobile-menu::before {
    content: '';
    position: fixed;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.3);
    opacity: 0;
    transition: opacity 0.4s ease;
    pointer-events: none;
    z-index: -1;
  }
  
  .mobile-menu.open::before {
    opacity: 1;
  }
  
  .mobile-menu__container {
    min-height: 100vh;
    padding: var(--space-6) var(--space-5) calc(var(--space-8) + env(safe-area-inset-bottom));
    display: flex;
    flex-direction: column;
  }
  
  .mobile-menu__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: var(--space-8);
    padding: 0 var(--space-2);
  }
  
  .mobile-menu__close {
    width: 44px;
    height: 44px;
    background-color: var(--color-neutral-50);
    border: 2px solid var(--color-neutral-200);
    border-radius: var(--radius-full);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    -webkit-tap-highlight-color: transparent;
  }
  
  .mobile-menu__close:active {
    transform: scale(0.95);
    background-color: var(--color-neutral-100);
  }
  
  /* Navigation links ottimizzati */
  .mobile-menu__list {
    list-style: none;
    padding: 0;
    margin: 0;
  }
  
  .mobile-menu__item {
    margin-bottom: var(--space-2);
    opacity: 0;
    transform: translateX(-20px);
    animation: slideInFromLeft 0.5s ease forwards;
    animation-delay: calc(var(--item-index, 0) * 0.05s);
  }
  
  @keyframes slideInFromLeft {
    to {
      opacity: 1;
      transform: translateX(0);
    }
  }
  
  .mobile-menu__link {
    display: flex;
    align-items: center;
    padding: var(--space-4) var(--space-5);
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-medium);
    color: var(--color-text-primary);
    background-color: transparent;
    border-radius: var(--radius-lg);
    transition: all 0.3s ease;
    -webkit-tap-highlight-color: transparent;
    position: relative;
    overflow: hidden;
  }
  
  .mobile-menu__link::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 3px;
    height: 0;
    background-color: var(--color-primary-600);
    transition: height 0.3s ease;
  }
  
  .mobile-menu__link:active {
    transform: scale(0.98);
  }
  
  .mobile-menu__link.active,
  .mobile-menu__link:hover {
    background-color: var(--color-primary-50);
    color: var(--color-primary-600);
  }
  
  .mobile-menu__link.active::before {
    height: 70%;
  }
  
  /* Contact section migliorata */
  .mobile-menu__contact {
    margin: var(--space-8) 0;
    padding: var(--space-5);
    background: linear-gradient(135deg, var(--color-primary-50) 0%, var(--color-neutral-50) 100%);
    border-radius: var(--radius-xl);
    border: 1px solid var(--color-border-subtle);
    position: relative;
    overflow: hidden;
  }
  
  .mobile-menu__contact::before {
    content: '';
    position: absolute;
    top: -50%;
    right: -50%;
    width: 200%;
    height: 200%;
    background: radial-gradient(circle, rgba(11, 57, 110, 0.05) 0%, transparent 70%);
    animation: pulse 4s ease-in-out infinite;
  }
  
  @keyframes pulse {
    0%, 100% { transform: scale(1); opacity: 0.5; }
    50% { transform: scale(1.1); opacity: 0.3; }
  }
  
  .mobile-menu__contact-item {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    margin-bottom: var(--space-4);
    position: relative;
    z-index: 1;
  }
  
  .mobile-menu__contact-item:last-child {
    margin-bottom: 0;
  }
  
  .mobile-menu__contact-item svg {
    color: var(--color-primary-600);
    width: 20px;
    height: 20px;
  }
  
  .mobile-menu__contact-item a {
    color: var(--color-text-secondary);
    font-size: var(--font-size-base);
    transition: color 0.3s ease;
    -webkit-tap-highlight-color: transparent;
  }
  
  .mobile-menu__contact-item a:active {
    color: var(--color-primary-600);
  }
  
  /* Social links ottimizzati */
  .mobile-menu__socials {
    display: flex;
    justify-content: center;
    gap: var(--space-3);
    margin-top: auto;
    padding-top: var(--space-6);
  }
  
  .mobile-menu__social-link {
    width: 48px;
    height: 48px;
    background-color: var(--color-neutral-100);
    border-radius: var(--radius-full);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--color-text-secondary);
    transition: all 0.3s ease;
    -webkit-tap-highlight-color: transparent;
  }
  
  .mobile-menu__social-link:active {
    transform: scale(0.9);
    background-color: var(--color-primary-50);
    color: var(--color-primary-600);
  }
}

/* ====================================================
   MOBILE BOTTOM NAVIGATION ENHANCED
==================================================== */

@media (max-width: 991px) {
  .mobile-nav {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    height: var(--mobile-nav-height);
    background-color: rgba(255, 255, 255, 0.98);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-top: 1px solid var(--color-border-subtle);
    box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.05);
    z-index: var(--z-mobile-nav);
    display: flex;
    padding: 0 env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);
  }
  
  .mobile-nav__list {
    display: flex;
    width: 100%;
    list-style: none;
    margin: 0;
    padding: 0;
    justify-content: space-around;
  }
  
  .mobile-nav__item {
    flex: 1;
    max-width: 80px;
  }
  
  .mobile-nav__link {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    padding: var(--space-2) 0;
    color: var(--color-text-tertiary);
    font-size: var(--font-size-2xs);
    font-weight: var(--font-weight-medium);
    text-decoration: none;
    position: relative;
    -webkit-tap-highlight-color: transparent;
    transition: color 0.3s ease;
  }
  
  .mobile-nav__link::before {
    content: '';
    position: absolute;
    top: 6px;
    left: 50%;
    transform: translateX(-50%) scale(0);
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background-color: var(--color-primary-600);
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  }
  
  .mobile-nav__link--active {
    color: var(--color-primary-600);
  }
  
  .mobile-nav__link--active::before {
    transform: translateX(-50%) scale(1);
  }
  
  .mobile-nav__icon {
    width: 22px;
    height: 22px;
    margin-bottom: var(--space-1);
    transition: transform 0.3s ease;
  }
  
  .mobile-nav__link:active .mobile-nav__icon {
    transform: scale(0.9);
  }
  
  .mobile-nav__link--active .mobile-nav__icon {
    transform: translateY(-2px);
  }
  
  .mobile-nav__link span {
    line-height: 1;
  }
}

/* ====================================================
   HERO SECTION MOBILE PERFECTION
==================================================== */

@media (max-width: 991px) {
  .hero {
    padding: calc(var(--header-height) + var(--space-6)) 0 var(--space-8);
    min-height: calc(100vh - var(--mobile-nav-height));
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  
  .hero__grid {
    display: flex;
    flex-direction: column;
    gap: var(--space-8);
    margin-bottom: var(--space-8);
  }
  
  .hero__content {
    order: 1;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  
  .hero .tag {
    font-size: var(--font-size-xs);
    padding: var(--space-1) var(--space-3);
    margin-bottom: var(--space-4);
  }
  
  .hero__title {
    font-size: clamp(1.875rem, 6vw, 2.5rem);
    line-height: 1.15;
    margin-bottom: var(--space-4);
    max-width: 100%;
  }
  
  .hero__subtitle {
    font-size: var(--font-size-base);
    line-height: 1.6;
    color: var(--color-text-secondary);
    margin-bottom: var(--space-6);
    max-width: 90%;
  }
  
  .hero__actions {
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
    width: 100%;
    max-width: 280px;
    margin-bottom: var(--space-8);
  }
  
  .hero__actions .button {
    width: 100%;
    padding: var(--space-4) var(--space-5);
    font-size: var(--font-size-base);
    min-height: 50px;
  }
  
  /* Hero visual ottimizzato */
  .hero__visual {
    order: 2;
    min-height: 280px;
    max-height: 35vh;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  
  .hero__visual-container {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  
  .logo-visualizer {
    transform: scale(0.85);
  }
  
  .logo-visualizer__model {
    width: 220px;
    height: 220px;
    background: linear-gradient(135deg, rgba(229, 234, 241, 0.9) 0%, rgba(229, 234, 241, 0.7) 100%);
  }
  
  .logo-visualizer__image {
    width: 140px;
  }
  
  /* Stats bar mobile perfezionato */
  .stats-bar {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--space-3);
    padding: var(--space-5);
    border-radius: var(--radius-xl);
    background-color: var(--color-surface-primary);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    margin: 0 auto;
    max-width: 500px;
  }
  
  .stat-item {
    padding: var(--space-3);
    text-align: center;
    border-radius: var(--radius-lg);
    background-color: var(--color-neutral-50);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
  }
  
  .stat-item:active {
    transform: scale(0.98);
  }
  
  .stat-item__value {
    font-size: var(--font-size-xl);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary-600);
    margin-bottom: var(--space-1);
  }
  
  .stat-item__label {
    font-size: var(--font-size-2xs);
    color: var(--color-text-tertiary);
    line-height: 1.3;
  }
}

/* ====================================================
   PLATFORM SECTION MOBILE PERFECTION
==================================================== */

@media (max-width: 991px) {
  .platform {
    padding: var(--space-12) 0;
  }
  
  .platform__grid {
    display: flex;
    flex-direction: column;
    gap: var(--space-8);
  }
  
  .platform__image-container {
    height: 280px;
    max-height: 40vh;
    border-radius: var(--radius-xl);
    overflow: hidden;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12);
  }
  
  .platform__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
  }
  
  .platform__content {
    order: 2;
  }
  
  /* Mobile accordion perfezionato */
  .mobile-accordion {
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
  }
  
  .accordion-item {
    background-color: var(--color-surface-primary);
    border: 1px solid var(--color-border-subtle);
    border-radius: var(--radius-xl);
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
    transition: all 0.3s ease;
  }
  
  .accordion-item.active {
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
    border-color: var(--color-primary-200);
  }
  
  .accordion-header {
    display: flex;
    align-items: center;
    padding: var(--space-4);
    cursor: pointer;
    background-color: transparent;
    transition: background-color 0.3s ease;
    -webkit-tap-highlight-color: transparent;
  }
  
  .accordion-item.active .accordion-header {
    background-color: var(--color-primary-50);
  }
  
  .feature-item__icon {
    width: 42px;
    height: 42px;
    background-color: var(--color-primary-50);
    color: var(--color-primary-600);
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--radius-lg);
    flex-shrink: 0;
    transition: transform 0.3s ease;
  }
  
  .accordion-item.active .feature-item__icon {
    transform: scale(1.1);
    background-color: var(--color-primary-100);
  }
  
  .accordion-title {
    flex: 1;
    margin: 0 var(--space-3);
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-semibold);
    color: var(--color-text-primary);
  }
  
  .accordion-toggle {
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.3s ease;
  }
  
  .accordion-item.active .accordion-toggle {
    transform: rotate(180deg);
  }
  
  .accordion-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    padding: 0 var(--space-4);
  }
  
  .accordion-item.active .accordion-content {
    max-height: 300px;
    padding-bottom: var(--space-4);
  }
  
  .accordion-content p {
    font-size: var(--font-size-sm);
    line-height: 1.6;
    color: var(--color-text-secondary);
    margin-top: var(--space-2);
  }
}

/* ====================================================
   SOLUTION SECTION MOBILE PERFECTION
==================================================== */

@media (max-width: 991px) {
  .solution {
    padding: var(--space-12) 0;
  }
  
  /* Tabs mobile ottimizzati */
  .tabs__header {
    display: flex;
    gap: var(--space-3);
    margin-bottom: var(--space-6);
    padding: 0 var(--space-2);
    position: relative;
    justify-content: center;
  }
  
  .tabs__header::after {
    display: none; /* Rimuovi linea su mobile */
  }
  
  .tabs__button {
    flex: 1;
    max-width: 150px;
    padding: var(--space-3) var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    background-color: var(--color-neutral-50);
    border: 1px solid var(--color-border-subtle);
    border-radius: var(--radius-lg);
    color: var(--color-text-secondary);
    transition: all 0.3s ease;
    -webkit-tap-highlight-color: transparent;
  }
  
  .tabs__button:active {
    transform: scale(0.98);
  }
  
  .tabs__button--active {
    background-color: var(--color-primary-600);
    color: var(--color-text-inverse);
    border-color: var(--color-primary-600);
    box-shadow: 0 4px 12px rgba(11, 57, 110, 0.25);
  }
  
  /* Tab content */
  .tabs__content {
    min-height: auto;
  }
  
  /* Problem tab mobile */
  .solution__grid--challenge {
    display: flex;
    flex-direction: column;
    gap: var(--space-6);
  }
  
  .solution__title {
    font-size: var(--font-size-xl);
    text-align: center;
    margin-bottom: var(--space-6);
  }
  
  .problem-points {
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
  }
  
  .problem-item {
    display: flex;
    flex-direction: column;
    background-color: var(--color-surface-primary);
    border: 1px solid var(--color-border-subtle);
    border-radius: var(--radius-xl);
    padding: var(--space-5);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
    transition: all 0.3s ease;
  }
  
  .problem-item:active {
    transform: scale(0.98);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  }
  
  .problem-item__number {
    width: 40px;
    height: 40px;
    background-color: var(--color-primary-50);
    color: var(--color-primary-700);
    border-radius: var(--radius-full);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: var(--font-size-md);
    font-weight: var(--font-weight-semibold);
    margin-bottom: var(--space-3);
  }
  
  .problem-item__title {
    font-size: var(--font-size-md);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary-700);
    margin-bottom: var(--space-2);
  }
  
  .problem-item__description {
    font-size: var(--font-size-sm);
    line-height: 1.6;
    color: var(--color-text-secondary);
  }
  
  .solution__visual {
    order: -1; /* Porta immagine sopra su mobile */
    height: 250px;
    border-radius: var(--radius-xl);
    overflow: hidden;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12);
  }
  
  /* Solution tab mobile */
  .solution-centered-layout {
    padding: var(--space-4) 0;
    min-height: auto;
  }
  
  .solution__title--centered {
    font-size: var(--font-size-xl);
    text-align: center;
    margin-bottom: var(--space-6);
  }
  
  .solution-center-logo {
    position: relative;
    width: 100px;
    height: 100px;
    margin: 0 auto var(--space-6);
    background: linear-gradient(135deg, var(--color-primary-50) 0%, var(--color-primary-100) 100%);
    box-shadow: 0 8px 24px rgba(11, 57, 110, 0.15);
    transform: none;
    top: auto;
    left: auto;
  }
  
  .solution-center-logo::before {
    display: none; /* Rimuovi animazione complessa su mobile */
  }
  
  .solution-center-logo__img {
    width: 60px;
  }
  
  .solution-center-connector {
    display: none; /* Nascondi connettori su mobile */
  }
  
  .solution-points-container {
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
  }
  
  .solution-point {
    position: relative;
    width: 100%;
    max-width: 100%;
    background-color: var(--color-surface-primary);
    border: 1px solid var(--color-border-subtle);
    border-radius: var(--radius-xl);
    padding: var(--space-5);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
    transition: all 0.3s ease;
    top: auto;
    left: auto;
    right: auto;
    bottom: auto;
    transform: none;
  }
  
  .solution-point:active {
    transform: scale(0.98);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  }
  
  .solution-point__number {
    width: 36px;
    height: 36px;
    background-color: var(--color-primary-600);
    color: var(--color-text-inverse);
    font-size: var(--font-size-sm);
    margin-bottom: var(--space-3);
  }
  
  .solution-point__title {
    font-size: var(--font-size-base);
    margin-bottom: var(--space-2);
  }
  
  .solution-point__description {
    font-size: var(--font-size-sm);
    line-height: 1.6;
  }
}

/* ====================================================
   MARKET SECTION MOBILE PERFECTION
==================================================== */

@media (max-width: 991px) {
  .market {
    padding: var(--space-12) 0;
  }
  
  .market-insights {
    display: flex;
    flex-direction: column;
    gap: var(--space-6);
  }
  
  /* Chart container mobile */
  .market-chart {
    height: 260px;
    padding: var(--space-4);
    border-radius: var(--radius-xl);
    background-color: var(--color-surface-primary);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
  }
  
  .market-chart__container {
    height: 100%;
    position: relative;
  }
  
  /* Metric cards mobile */
  .market-metrics {
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
  }
  
  .metric-card {
    background-color: var(--color-surface-primary);
    border-radius: var(--radius-xl);
    padding: var(--space-5);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
    border: 1px solid var(--color-border-subtle);
    transition: all 0.3s ease;
    
    display: grid;
    grid-template-columns: auto 1fr;
    grid-template-areas: 
      "icon value"
      "icon title"
      "description description";
    gap: var(--space-2) var(--space-4);
    align-items: center;
  }
  
  .metric-card:active {
    transform: scale(0.98);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  }
  
  .metric-card__icon {
    grid-area: icon;
    width: 56px;
    height: 56px;
    background-color: var(--color-primary-50);
    color: var(--color-primary-600);
    border-radius: var(--radius-lg);
    display: flex;
    align-items: center;
    justify-content: center;
  }
  
  .metric-card__value {
    grid-area: value;
    font-size: var(--font-size-2xl);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary-600);
    line-height: 1;
  }
  
  .metric-card__title {
    grid-area: title;
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-medium);
    color: var(--color-text-primary);
  }
  
  .metric-card__description {
    grid-area: description;
    font-size: var(--font-size-sm);
    line-height: 1.6;
    color: var(--color-text-secondary);
    padding-top: var(--space-3);
  }
}

/* ====================================================
   BENEFITS SECTION MOBILE PERFECTION
==================================================== */

@media (max-width: 991px) {
  .benefits {
    padding: var(--space-12) 0;
  }
  
  /* Comparison table mobile */
  .comparison-table {
    border-radius: var(--radius-xl);
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    margin-bottom: var(--space-8);
  }
  
  .comparison-table__header,
  .comparison-table__row {
    display: grid;
    grid-template-columns: 1.2fr 0.9fr 0.9fr;
    font-size: var(--font-size-2xs);
  }
  
  .comparison-table__cell {
    padding: var(--space-3);
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
  }
  
  .comparison-table__cell--feature {
    justify-content: flex-start;
    text-align: left;
    font-weight: var(--font-weight-medium);
    font-size: var(--font-size-xs);
  }
  
  /* Stakeholder cards mobile */
  .stakeholder-cards {
    display: flex;
    flex-direction: column;
    gap: var(--space-5);
  }
  
  .stakeholder-card {
    background-color: var(--color-surface-primary);
    border-radius: var(--radius-xl);
    padding: var(--space-6);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    border: 1px solid var(--color-border-subtle);
    transition: all 0.3s ease;
  }
  
  .stakeholder-card:active {
    transform: scale(0.98);
    box-shadow: 0 6px 24px rgba(0, 0, 0, 0.12);
  }
  
  .stakeholder-card__icon {
    width: 48px;
    height: 48px;
    background-color: var(--color-primary-50);
    color: var(--color-primary-600);
    border-radius: var(--radius-lg);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: var(--space-4);
  }
  
  .stakeholder-card__title {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary-700);
    margin-bottom: var(--space-3);
  }
  
  .stakeholder-card__description {
    font-size: var(--font-size-base);
    line-height: 1.6;
    color: var(--color-text-secondary);
    margin-bottom: var(--space-4);
  }
  
  .stakeholder-card__benefits {
    list-style: none;
    padding: 0;
  }
  
  .stakeholder-card__benefits li {
    position: relative;
    padding-left: var(--space-5);
    margin-bottom: var(--space-2);
    font-size: var(--font-size-sm);
    line-height: 1.5;
    color: var(--color-text-secondary);
  }
  
  .stakeholder-card__benefits li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0.6em;
    width: 6px;
    height: 6px;
    background-color: var(--color-primary-500);
    border-radius: 50%;
  }
}

/* ====================================================
   TEAM SECTION MOBILE PERFECTION
==================================================== */

@media (max-width: 991px) {
  .team {
    padding: var(--space-12) 0;
  }
  
  .team-members {
    display: flex;
    flex-direction: column;
    gap: var(--space-6);
    margin-bottom: var(--space-8);
  }
  
  .team-member {
    background-color: var(--color-surface-primary);
    border-radius: var(--radius-xl);
    padding: var(--space-6);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    border: 1px solid var(--color-border-subtle);
    text-align: center;
    transition: all 0.3s ease;
  }
  
  .team-member:active {
    transform: scale(0.98);
    box-shadow: 0 6px 24px rgba(0, 0, 0, 0.12);
  }
  
  .team-member__photo {
    width: 140px;
    height: 140px;
    border-radius: 50%;
    overflow: hidden;
    margin: 0 auto var(--space-5);
    border: 4px solid var(--color-primary-50);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  }
  
  .team-member__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  
  .team-member__name {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-semibold);
    color: var(--color-text-primary);
    margin-bottom: var(--space-2);
  }
  
  .team-member__role {
    font-size: var(--font-size-sm);
    color: var(--color-primary-600);
    font-weight: var(--font-weight-medium);
    margin-bottom: var(--space-4);
    line-height: 1.4;
  }
  
  .team-member__bio {
    font-size: var(--font-size-sm);
    line-height: 1.6;
    color: var(--color-text-secondary);
    margin-bottom: var(--space-5);
  }
  
  .team-member__socials {
    display: flex;
    justify-content: center;
    gap: var(--space-3);
  }
  
  .team-member__social-link {
    width: 40px;
    height: 40px;
    background-color: var(--color-neutral-100);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--color-text-secondary);
    transition: all 0.3s ease;
  }
  
  .team-member__social-link:active {
    transform: scale(0.9);
    background-color: var(--color-primary-50);
    color: var(--color-primary-600);
  }
  
  /* Partnership mobile */
  .partnership {
    display: flex;
    flex-direction: column;
    gap: var(--space-6);
    background-color: var(--color-surface-primary);
    border-radius: var(--radius-xl);
    padding: var(--space-6);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    border: 1px solid var(--color-border-subtle);
  }
  
  .partnership .tag {
    font-size: var(--font-size-xs);
    margin-bottom: var(--space-3);
  }
  
  .partnership__title {
    font-size: var(--font-size-lg);
    margin-bottom: var(--space-3);
  }
  
  .partnership__description {
    font-size: var(--font-size-sm);
    line-height: 1.6;
    color: var(--color-text-secondary);
  }
  
  .partnership__visual {
    padding: var(--space-4);
    background-color: var(--color-neutral-50);
    border-radius: var(--radius-lg);
    display: flex;
    align-items: center;
    justify-content: center;
  }
  
  .partnership__image {
    max-width: 240px;
    height: auto;
    filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.1));
  }
}

/* ====================================================
   CONTACT SECTION MOBILE PERFECTION
==================================================== */

@media (max-width: 991px) {
  .contact {
    padding: var(--space-12) 0 calc(var(--space-12) + var(--mobile-nav-height));
  }
  
  .contact__grid {
    display: flex;
    flex-direction: column;
    gap: var(--space-8);
  }
  
  .contact__content {
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  
  .contact .tag {
    font-size: var(--font-size-xs);
    margin-bottom: var(--space-3);
  }
  
  .contact__title {
    font-size: var(--font-size-xl);
    margin-bottom: var(--space-3);
  }
  
  .contact__subtitle {
    font-size: var(--font-size-base);
    line-height: 1.6;
    color: var(--color-text-secondary);
    margin-bottom: var(--space-6);
    max-width: 90%;
  }
  
  .contact__info {
    display: flex;
    flex-direction: column;
    gap: var(--space-5);
    margin-bottom: var(--space-6);
    width: 100%;
    max-width: 300px;
  }
  
  .contact-method {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    padding: var(--space-4);
    background-color: var(--color-neutral-50);
    border-radius: var(--radius-lg);
    transition: all 0.3s ease;
  }
  
  .contact-method:active {
    transform: scale(0.98);
    background-color: var(--color-primary-50);
  }
  
  .contact-method__icon {
    width: 44px;
    height: 44px;
    background-color: var(--color-primary-50);
    color: var(--color-primary-600);
    border-radius: var(--radius-lg);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
  }
  
  .contact-method__content {
    text-align: left;
  }
  
  .contact-method__title {
    font-size: var(--font-size-xs);
    color: var(--color-text-tertiary);
    margin-bottom: var(--space-1);
  }
  
  .contact-method__value {
    font-size: var(--font-size-base);
    color: var(--color-text-primary);
    font-weight: var(--font-weight-medium);
  }
  
  .contact__socials {
    display: flex;
    justify-content: center;
    gap: var(--space-3);
  }
  
  .social-link {
    width: 44px;
    height: 44px;
    background-color: var(--color-neutral-100);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--color-text-secondary);
    transition: all 0.3s ease;
  }
  
  .social-link:active {
    transform: scale(0.9);
    background-color: var(--color-primary-50);
    color: var(--color-primary-600);
  }
  
  /* Form container mobile */
  .contact__form-container {
    background-color: var(--color-surface-primary);
    border-radius: var(--radius-xl);
    padding: var(--space-6);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    border: 1px solid var(--color-border-subtle);
  }
  
  .form-feedback {
    min-height: 40px;
    margin-bottom: var(--space-5);
    padding: var(--space-3);
    border-radius: var(--radius-lg);
    font-size: var(--font-size-sm);
    display: flex;
    align-items: center;
    justify-content: center;
  }
  
  .form-group {
    margin-bottom: var(--space-5);
  }
  
  .form-label {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    color: var(--color-text-secondary);
    margin-bottom: var(--space-2);
  }
  
  .form-control {
    width: 100%;
    height: 48px;
    padding: var(--space-3) var(--space-4);
    border: 1px solid var(--color-border-moderate);
    border-radius: var(--radius-lg);
    font-size: 16px; /* Previene zoom iOS */
    background-color: var(--color-neutral-50);
    color: var(--color-text-primary);
    transition: all 0.3s ease;
    -webkit-appearance: none;
  }
  
  .form-control:focus {
    border-color: var(--color-primary-400);
    background-color: var(--color-surface-primary);
    box-shadow: 0 0 0 3px rgba(11, 57, 110, 0.15);
  }
  
  textarea.form-control {
    min-height: 120px;
    resize: vertical;
    font-family: inherit;
  }
  
  .form-group--checkbox {
    display: flex;
    align-items: flex-start;
    gap: var(--space-3);
  }
  
  .form-checkbox {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    margin-top: 2px;
    accent-color: var(--color-primary-600);
  }
  
  .form-checkbox-label {
    font-size: var(--font-size-xs);
    line-height: 1.5;
    color: var(--color-text-secondary);
  }
  
  .button[type="submit"] {
    width: 100%;
    min-height: 50px;
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-semibold);
  }
}

/* ====================================================
   FOOTER MOBILE PERFECTION
==================================================== */

/*  ============================================================
    FINBLOCK – MOBILE EXPERIENCE 10.1
    (override definitivo - schermi ≤ 991 px)
    - desktop intatto
    - barra inferiore rimossa
    - menu hamburger full-screen rivisto
    - layout, spaziature, animazioni safe-fallback
============================================================  */

@media (max-width: 991px) {

  /* ---------- baseline mobile ---------- */
  html { font-size:16px; scroll-behavior:smooth; }
  body {
    overflow-x:hidden;
    scroll-padding-top:var(--header-height);
    scroll-snap-type:y proximity;
  }
  #mobile-nav, .mobile-nav { display:none!important; } /* barra bottom off */
  .main { padding-top:var(--header-height); padding-bottom:0!important; }

  /* ---------- header ---------- */
  .header{
    position:fixed;top:0;left:0;width:100%;
    height:var(--header-height);z-index:var(--z-header);
    background:rgba(255,255,255,.95);
    backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
    border-bottom:1px solid var(--color-border-subtle);
    box-shadow:0 2px 8px rgba(0,0,0,.06);
  }
  .header__container{padding:0 var(--space-2);}
  .header__nav, .header__contact-btn{display:none!important;}

  /* hamburger */
  .header__menu-toggle{
    display:flex;align-items:center;justify-content:center;
    width:44px;height:44px;background:none;border:none;
    border-radius:var(--radius-full);cursor:pointer;
    -webkit-tap-highlight-color:transparent;
  }
  .header__menu-icon,
  .header__menu-icon::before,
  .header__menu-icon::after{
    width:20px;height:2px;background:var(--color-text-primary);
    border-radius:1px;transition:.3s;
  }
  .header__menu-icon{position:relative;}
  .header__menu-icon::before,
  .header__menu-icon::after{content:'';position:absolute;left:0;}
  .header__menu-icon::before{top:-6px;}
  .header__menu-icon::after{bottom:-6px;}
  .header__menu-toggle[aria-expanded="true"] .header__menu-icon{
    background:transparent;
  }
  .header__menu-toggle[aria-expanded="true"] .header__menu-icon::before{
    transform:translateY(6px) rotate(45deg);
  }
  .header__menu-toggle[aria-expanded="true"] .header__menu-icon::after{
    transform:translateY(-6px) rotate(-45deg);
  }

  /* ---------- full-screen mobile menu ---------- */
  .mobile-menu{
    position:fixed;inset:0;z-index:var(--z-overlay);
    display:flex;flex-direction:column;
    background:var(--color-surface-primary);
    transform:translateY(-100%);opacity:0;visibility:hidden;
    transition:transform .45s cubic-bezier(.16,1,.3,1),opacity .45s ease;
    padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);
    overflow-y:auto;-webkit-overflow-scrolling:touch;
  }
  .mobile-menu.open{transform:none;opacity:1;visibility:visible;}

  .mobile-menu__header{
    display:flex;justify-content:space-between;align-items:center;
    padding:var(--space-5) var(--space-6);
  }
  .mobile-menu__logo-img{height:28px;}
  .mobile-menu__close{
    width:44px;height:44px;background:var(--color-neutral-100);
    border:none;border-radius:50%;display:flex;align-items:center;justify-content:center;
  }
  .mobile-menu__nav{flex:1;padding:0 var(--space-6);}
  .mobile-menu__list{list-style:none;margin:0;padding:0;}
  .mobile-menu__item{opacity:0;transform:translateX(40px);}
  .mobile-menu.open .mobile-menu__item{
    animation:menuSlide .5s forwards;
  }
  @keyframes menuSlide{to{opacity:1;transform:none;}}
  .mobile-menu__link{
    display:block;padding:var(--space-4) 0;
    font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);
    color:var(--color-text-primary);text-decoration:none;position:relative;
  }
  .mobile-menu__link::after{
    content:'';position:absolute;bottom:4px;left:0;width:0;height:2px;
    background:var(--color-primary-600);transition:width .3s;
  }
  .mobile-menu__link:hover,
  .mobile-menu__link:focus{color:var(--color-primary-600);}
  .mobile-menu__link:hover::after{width:32px;}

  .mobile-menu__contact{
    margin:var(--space-6) var(--space-6);
    padding:var(--space-5);border-radius:var(--radius-xl);
    background:var(--color-neutral-50);border:1px solid var(--color-border-subtle);
  }
  .mobile-menu__contact-item{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);}
  .mobile-menu__contact-item svg{color:var(--color-primary-600);}
  .mobile-menu__footer{padding:var(--space-4) 0;}
  .mobile-menu__socials{display:flex;justify-content:center;gap:var(--space-4);}
  .mobile-menu__social-link{
    width:44px;height:44px;border-radius:50%;background:var(--color-neutral-100);
    display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary);
  }

  /* ---------- hero ---------- */
  .hero{padding-top:var(--space-10);text-align:center;}
  .hero__grid{display:flex;flex-direction:column;gap:var(--space-8);}
  .hero__title{font-size:clamp(2.2rem,7vw,2.8rem);}
  .hero__subtitle{font-size:var(--font-size-base);line-height:1.6;}
  .hero__actions{flex-wrap:wrap;justify-content:center;gap:var(--space-4);}
  .hero__actions .button{flex:1 1 140px;}
  .hero__visual{margin:auto;max-width:260px;}
  .logo-visualizer__model{width:240px;height:240px;}
  .stats-bar{
    display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4);
    margin-top:var(--space-8);padding:var(--space-4);
  }
  .stat-item__value{font-size:var(--font-size-lg);}

  /* ---------- sections generic ---------- */
  .section{scroll-snap-align:start;padding:var(--space-12) 0;}
  /* nessuna opacity 0 di default: contenuto SEMPRE visibile */
  [data-animate]{transition:transform .7s ease,opacity .7s ease;}
  [data-animate].in-view{opacity:1!important;transform:none!important;}

  /* ---------- piattaforma ---------- */
  .platform__grid{display:flex;flex-direction:column;gap:var(--space-8);}
  .platform__image-container{order:1;height:300px;border-radius:var(--radius-xl);overflow:hidden;}
  .platform__content{order:2;}

  /* accordion */
  .accordion-item{margin-bottom:var(--space-4);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);}
  .accordion-header{display:flex;align-items:center;padding:var(--space-4);cursor:pointer;background:var(--color-surface-primary);}
  .accordion-title{font-size:var(--font-size-md);margin-left:var(--space-3);}
  .accordion-toggle{margin-left:auto;transition:transform .3s;}
  .accordion-item.open .accordion-toggle{transform:rotate(180deg);}
  .accordion-content{max-height:0;overflow:hidden;transition:max-height .35s ease;padding:0 var(--space-4);}
  .accordion-item.open .accordion-content{padding:var(--space-4);max-height:220px;}

  /* ---------- soluzione ---------- */
  .tabs__header{display:flex;overflow-x:auto;gap:var(--space-3);
                scroll-snap-type:x mandatory;padding:0 var(--space-4);margin-bottom:var(--space-6);}
  .tabs__button{flex:0 0 auto;scroll-snap-align:center;
                font-size:var(--font-size-sm);padding:var(--space-3) var(--space-4);
                background:var(--color-neutral-50);border:1px solid var(--color-border-subtle);
                border-radius:var(--radius-lg);}
  .tabs__button--active{background:var(--color-primary-600);color:var(--color-text-inverse);border-color:var(--color-primary-600);}

  .solution-centered-layout{padding:var(--space-6) 0;}
  .solution-center-logo{width:110px;height:110px;border-radius:50%;
                        margin:0 auto var(--space-6);display:flex;align-items:center;justify-content:center;
                        background:linear-gradient(135deg,var(--color-primary-50),var(--color-primary-100));}
  .solution-center-logo__img{width:64px;}
  .solution-points-container{display:flex;flex-direction:column;gap:var(--space-4);}
  .solution-point{background:var(--color-surface-primary);border:1px solid var(--color-border-subtle);
                  border-radius:var(--radius-xl);padding:var(--space-5);box-shadow:0 2px 8px rgba(0,0,0,.05);}

  /* ---------- mercato, benefits, team, contatti (solo essenziale) ---------- */
  .market-insights,.team-members,.stakeholder-cards{display:flex;flex-direction:column;gap:var(--space-6);}
  .metric-card,.stakeholder-card,.team-member,.contact__form-container{
      border:1px solid var(--color-border-subtle);border-radius:var(--radius-xl);
      padding:var(--space-6);box-shadow:0 2px 8px rgba(0,0,0,.05);
  }
  .team-member__photo{width:140px;height:140px;border-radius:50%;overflow:hidden;margin:0 auto var(--space-5);}
  .contact__form-container{padding:var(--space-4);}
  .form-control{height:48px;}textarea.form-control{min-height:120px;}

}
/* --------------  END MOBILE OVERRIDE  -------------- */

/*
 * FinBlock - Ottimizzazione Mobile
 * Tutte le modifiche riguardano SOLO la vista mobile (max-width: 991px)
 * La vista desktop rimane intatta
 */

/* ====================================================
   OTTIMIZZAZIONI MOBILE - MEDIA QUERY PRINCIPALE
==================================================== */
@media (max-width: 991px) {
  /* ---------- HEADER MOBILE ---------- */
  .header__container {
    align-items: center; /* Allinea verticalmente il logo e l'hamburger */
  }
  
  .header__logo {
    transform: translateY(2px); /* Abbassa leggermente il logo */
  }
  
  .header__menu-toggle {
    background-color: transparent; /* Rimuove lo sfondo crema */
  }
  
  .header__menu-icon,
  .header__menu-icon::before,
  .header__menu-icon::after {
    background-color: white; /* Cambia colore hamburger a bianco puro */
  }
  
  /* ---------- MOBILE MENU ---------- */
  .mobile-menu__link {
    text-decoration: none; /* Rimuove underline */
    transition: background-color 0.3s ease; /* Effetto hover semplice */
  }
  
  .mobile-menu__link::after {
    display: none; /* Rimuove underline effect */
  }
  
  .mobile-menu__link:hover,
  .mobile-menu__link:focus {
    background-color: rgba(11, 57, 110, 0.1); /* Effetto bottone semplice */
    transform: none; /* Rimuove trasformazione */
  }
  
  /* ---------- HERO SECTION MOBILE ---------- */
  .hero__title {
    text-align: center; /* Titolo centrato */
  }
  
  .hero__subtitle {
    text-align: center; /* Sottotitolo centrato */
    margin-bottom: 1.5rem; /* Spazio sotto sottotitolo */
  }
  
  .hero__actions {
    display: flex;
    flex-direction: row; /* Allinea orizzontalmente */
    justify-content: center; /* Centra i bottoni */
    gap: 1rem; /* Spazio tra i bottoni */
  }
  
  .hero__actions .button {
    font-size: 0.875rem; /* Riduce dimensione font */
    padding: 0.75rem 1.25rem; /* Riduce padding */
  }
  
  /* Logo in background */
  .hero__visual {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    opacity: 0.15; /* Trasparenza per sfondo */
  }
  
  .logo-visualizer {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
  }
  
  .logo-visualizer__model {
    width: 100%;
    max-width: 280px;
    height: auto;
    aspect-ratio: 1/1;
    margin: 0 auto;
  }
  
  /* Stats Bar sotto i pulsanti */
  .stats-bar {
    margin-top: 2.5rem; /* Spazio sopra stats */
    padding: 1rem;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.75rem;
  }
  
  .stat-item {
    flex: 0 0 calc(50% - 0.75rem); /* 2 per riga */
    text-align: center;
  }
  
  /* ---------- PLATFORM SECTION MOBILE ---------- */
  .platform__image-container {
    width: 100%;
    margin-top: 1.5rem;
  }
  
  /* Carousel per feature items */
  .mobile-accordion {
    position: relative;
    width: 100%;
    overflow: hidden;
  }
  
  /* Nascondi dropdown esistente */
  .accordion-header .accordion-toggle {
    display: none;
  }
  
  .accordion-content {
    max-height: none !important;
    padding: 1rem !important;
    opacity: 1 !important;
    visibility: visible !important;
  }
  
  /* Swiper container per feature items */
  .platform-carousel {
    width: 100%;
    overflow: hidden;
    position: relative;
  }
  
  .platform-carousel .swiper-wrapper {
    display: flex;
    transition: transform 0.3s ease;
  }
  
  .platform-carousel .accordion-item {
    flex: 0 0 100%;
    width: 100%;
    box-sizing: border-box;
    margin-right: 16px;
    border-radius: var(--radius-lg);
    transition: transform 0.3s ease;
  }
  
  .platform-carousel .swiper-pagination {
    position: relative;
    bottom: 0;
    margin-top: 1rem;
  }
  
  .platform-carousel .swiper-pagination-bullet {
    width: 8px;
    height: 8px;
    background-color: rgba(11, 57, 110, 0.2);
    opacity: 1;
  }
  
  .platform-carousel .swiper-pagination-bullet-active {
    background-color: var(--color-primary-600);
  }
  
  /* ---------- SOLUTION SECTION MOBILE ---------- */
  .tabs__button {
    flex: 1;
    min-height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  
  /* Stessa altezza e larghezza per i pulsanti */
  .tabs__header .tabs__button {
    min-width: 140px;
    height: 44px;
  }
  
  /* Carousel per problem items */
  .problem-carousel {
    width: 100%;
    overflow: hidden;
    position: relative;
    padding-bottom: 2rem;
  }
  
  .problem-carousel .swiper-wrapper {
    display: flex;
  }
  
  .problem-carousel .problem-item {
    flex: 0 0 100%;
    width: 100%;
    box-sizing: border-box;
  }
  
  .problem-carousel .swiper-pagination {
    position: absolute;
    bottom: 0;
    width: 100%;
    text-align: center;
  }
  
  /* Stile soluzione - FinBlock logo piccolo e centrato */
  .solution-center-logo {
    position: relative;
    top: auto;
    left: auto;
    transform: none;
    width: 100px;
    height: 100px;
    margin: 0 auto 2rem;
  }
  
  .solution-center-logo__img {
    width: 60px;
  }
  
  /* Nascondi connettori su mobile */
  .solution-center-connector {
    display: none;
  }
  
  /* Carousel per solution points */
  .solution-carousel {
    width: 100%;
    overflow: hidden;
    position: relative;
    padding-bottom: 2rem;
  }
  
  .solution-carousel .swiper-wrapper {
    display: flex;
  }
  
  .solution-carousel .solution-point {
    position: relative;
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;
    flex: 0 0 100%;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    margin-right: 16px;
  }
  
  /* ---------- MARKET SECTION MOBILE ---------- */
  /* Disattiva click sui valori del grafico */
  .market-chart canvas {
    pointer-events: none;
  }
  
  /* ---------- BENEFITS SECTION MOBILE ---------- */
  /* Carousel per stakeholder cards */
  .stakeholder-carousel {
    width: 100%;
    overflow: hidden;
    position: relative;
    padding-bottom: 2rem;
  }
  
  .stakeholder-carousel .swiper-wrapper {
    display: flex;
  }
  
  .stakeholder-carousel .stakeholder-card {
    flex: 0 0 100%;
    width: 100%;
    box-sizing: border-box;
    margin-right: 16px;
  }
  
  /* ---------- TEAM SECTION MOBILE ---------- */
  /* Carousel per team members */
  .team-carousel {
    width: 100%;
    overflow: hidden;
    position: relative;
    padding-bottom: 2rem;
  }
  
  .team-carousel .swiper-wrapper {
    display: flex;
  }
  
  .team-carousel .team-member {
    flex: 0 0 100%;
    width: 100%;
    box-sizing: border-box;
    margin-right: 16px;
  }
  
  /* ---------- PARTNERSHIP SECTION MOBILE ---------- */
  .partnership__title,
  .partnership .tag {
    text-align: center; /* Centra il titolo e tag */
  }
  
  /* Logo Vantura cliccabile */
  .partnership__visual {
    position: relative;
    cursor: pointer;
    transition: transform 0.3s ease;
  }
  
  .partnership__visual:hover,
  .partnership__visual:active {
    transform: scale(1.03);
  }
  
  /* Modal per informazioni Vantura */
  .vantura-modal {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.7);
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
  }
  
  .vantura-modal.open {
    opacity: 1;
    visibility: visible;
  }
  
  .vantura-modal__content {
    background-color: white;
    border-radius: var(--radius-lg);
    padding: 1.5rem;
    max-width: 90%;
    max-height: 80vh;
    overflow-y: auto;
    transform: translateY(20px);
    transition: transform 0.3s ease;
  }
  
  .vantura-modal.open .vantura-modal__content {
    transform: translateY(0);
  }
  
  .vantura-modal__close {
    position: absolute;
    top: 1rem;
    right: 1rem;
    width: 32px;
    height: 32px;
    background: rgba(255, 255, 255, 0.2);
    border: none;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: white;
  }
  
  /* ---------- CONTACT SECTION MOBILE ---------- */
  /* Email e telefono affiancati */
  .contact__info {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1rem;
  }
  
  .contact-method {
    flex: 0 0 calc(50% - 0.5rem);
  }
  
  /* Fix checkbox privacy policy */
  .form-group--checkbox {
    display: flex;
    align-items: flex-start;
    margin-top: 1rem;
  }
  
  .form-checkbox {
    margin-top: 0.25rem; /* Abbassa checkbox */
  }
  
  /* ---------- FOOTER MOBILE ---------- */
  /* Categorie affiancate */
  .footer__nav {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  
  .footer__nav-col {
    flex: 0 0 calc(50% - 1rem);
  }
  
  /* ---------- COOKIE BANNER MOBILE ---------- */
  .cookie-consent__actions {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    gap: 1rem;
    margin-top: 1rem;
  }
}

/* ====================================================
   JAVASCRIPT PER CAROUSEL MOBILE
==================================================== */
/* Questo codice JS verrà aggiunto separatamente */

/* ====================================================
   OTTIMIZZAZIONE PER TELEFONI MOLTO PICCOLI
==================================================== */
@media (max-width: 374px) {
  .hero__actions {
    flex-direction: column;
    align-items: center;
  }
  
  .hero__actions .button {
    width: 100%;
  }
  
  .contact-method {
    flex: 0 0 100%;
  }
  
  .stat-item {
    flex: 0 0 100%;
  }
}

/*
 * FinBlock - Ottimizzazione Mobile
 * Tutte le modifiche riguardano SOLO la vista mobile (max-width: 991px)
 * La vista desktop rimane intatta
 */

/* ====================================================
   OTTIMIZZAZIONI MOBILE - MEDIA QUERY PRINCIPALE
==================================================== */
@media (max-width: 991px) {
  /* ---------- HEADER MOBILE ---------- */
  .header__container {
    align-items: center; /* Allinea verticalmente il logo e l'hamburger */
  }
  
  .header__logo {
    transform: translateY(2px); /* Abbassa leggermente il logo */
  }
  
  .header__menu-toggle {
    background-color: transparent; /* Rimuove lo sfondo crema */
  }
  
  .header__menu-icon,
  .header__menu-icon::before,
  .header__menu-icon::after {
    background-color: #000; /* Hamburger nero quando chiuso */
  }
  
  /* Hamburger bianco quando menu è aperto */
  .header__menu-toggle[aria-expanded="true"] .header__menu-icon::before,
  .header__menu-toggle[aria-expanded="true"] .header__menu-icon::after {
    background-color: #fff; /* Bianco puro quando aperto */
  }
  
  /* ---------- MOBILE MENU ---------- */
  .mobile-menu__link {
    text-decoration: none; /* Rimuove underline */
    transition: background-color 0.3s ease; /* Effetto hover semplice */
  }
  
  .mobile-menu__link::after {
    display: none; /* Rimuove underline effect */
  }
  
  .mobile-menu__link:hover,
  .mobile-menu__link:focus,
  .mobile-menu__link:active {
    background-color: rgba(11, 57, 110, 0.1); /* Effetto bottone semplice */
    transform: none; /* Rimuove trasformazione */
  }
  
  /* Colore bianco puro per elementi all'interno del menu mobile */
  .mobile-menu__close svg,
  .mobile-menu__link,
  .mobile-menu__contact-item svg,
  .mobile-menu__contact-item a {
    color: #fff; /* Bianco puro invece del crema */
  }
  
  /* ---------- HERO SECTION MOBILE ---------- */
  .hero__title {
    text-align: center; /* Titolo centrato */
  }
  
  .hero__subtitle {
    text-align: center; /* Sottotitolo centrato */
    margin-bottom: 1.5rem; /* Spazio sotto sottotitolo */
  }
  
  .hero__actions {
    display: flex;
    flex-direction: row; /* Allinea orizzontalmente */
    justify-content: center; /* Centra i bottoni */
    gap: 1rem; /* Spazio tra i bottoni */
  }
  
  .hero__actions .button {
    font-size: 0.875rem; /* Riduce dimensione font */
    padding: 0.75rem 1.25rem; /* Riduce padding */
  }
  
  /* Logo in background */
  .hero__visual {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    opacity: 0.15; /* Trasparenza per sfondo */
  }
  
  .logo-visualizer {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
  }
  
  .logo-visualizer__model {
    width: 100%;
    max-width: 280px;
    height: auto;
    aspect-ratio: 1/1;
    margin: 0 auto;
  }
  
  /* Stats Bar sotto i pulsanti */
  .stats-bar {
    margin-top: 2.5rem; /* Spazio sopra stats */
    padding: 1rem;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.75rem;
  }
  
  .stat-item {
    flex: 0 0 calc(50% - 0.75rem); /* 2 per riga */
    text-align: center;
  }
  
  /* ---------- PLATFORM SECTION MOBILE ---------- */
  .platform__image-container {
    width: 100%;
    margin-top: 1.5rem;
  }
  
  /* Carousel per feature items */
  .mobile-accordion {
    position: relative;
    width: 100%;
    overflow: hidden;
  }
  
  /* Nascondi dropdown esistente */
  .accordion-header .accordion-toggle {
    display: none;
  }
  
  .accordion-content {
    max-height: none !important;
    padding: 1rem !important;
    opacity: 1 !important;
    visibility: visible !important;
  }
  
  /* Swiper container per feature items */
  .platform-carousel {
    width: 100%;
    overflow: hidden;
    position: relative;
  }
  
  .platform-carousel .swiper-wrapper {
    display: flex;
    transition: transform 0.3s ease;
  }
  
  .platform-carousel .accordion-item {
    flex: 0 0 100%;
    width: 100%;
    box-sizing: border-box;
    margin-right: 16px;
    border-radius: var(--radius-lg);
    transition: transform 0.3s ease;
  }
  
  .platform-carousel .swiper-pagination {
    position: relative;
    bottom: 0;
    margin-top: 1rem;
  }
  
  .platform-carousel .swiper-pagination-bullet {
    width: 8px;
    height: 8px;
    background-color: rgba(11, 57, 110, 0.2);
    opacity: 1;
  }
  
  .platform-carousel .swiper-pagination-bullet-active {
    background-color: var(--color-primary-600);
  }
  
  /* ---------- SOLUTION SECTION MOBILE ---------- */
  .tabs__button {
    flex: 1;
    min-height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  
  /* Stessa altezza e larghezza per i pulsanti */
  .tabs__header .tabs__button {
    min-width: 140px;
    height: 44px;
  }
  
  /* Carousel per problem items */
  .problem-carousel {
    width: 100%;
    overflow: hidden;
    position: relative;
    padding-bottom: 2rem;
  }
  
  .problem-carousel .swiper-wrapper {
    display: flex;
  }
  
  .problem-carousel .problem-item {
    flex: 0 0 100%;
    width: 100%;
    box-sizing: border-box;
  }
  
  .problem-carousel .swiper-pagination {
    position: absolute;
    bottom: 0;
    width: 100%;
    text-align: center;
  }
  
  /* Stile soluzione - FinBlock logo piccolo e centrato */
  .solution-center-logo {
    position: relative;
    top: auto;
    left: auto;
    transform: none;
    width: 100px;
    height: 100px;
    margin: 0 auto 2rem;
  }
  
  .solution-center-logo__img {
    width: 60px;
  }
  
  /* Nascondi connettori su mobile */
  .solution-center-connector {
    display: none;
  }
  
  /* Carousel per solution points */
  .solution-carousel {
    width: 100%;
    overflow: hidden;
    position: relative;
    padding-bottom: 2rem;
  }
  
  .solution-carousel .swiper-wrapper {
    display: flex;
  }
  
  .solution-carousel .solution-point {
    position: relative;
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;
    flex: 0 0 100%;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    margin-right: 16px;
  }
  
  /* ---------- MARKET SECTION MOBILE ---------- */
  /* Disattiva click sui valori del grafico */
  .market-chart canvas {
    pointer-events: none;
  }
  
  /* ---------- BENEFITS SECTION MOBILE ---------- */
  /* Carousel per stakeholder cards */
  .stakeholder-carousel {
    width: 100%;
    overflow: hidden;
    position: relative;
    padding-bottom: 2rem;
  }
  
  .stakeholder-carousel .swiper-wrapper {
    display: flex;
  }
  
  .stakeholder-carousel .stakeholder-card {
    flex: 0 0 100%;
    width: 100%;
    box-sizing: border-box;
    margin-right: 16px;
  }
  
  /* ---------- TEAM SECTION MOBILE ---------- */
  /* Carousel per team members */
  .team-carousel {
    width: 100%;
    overflow: hidden;
    position: relative;
    padding-bottom: 2rem;
  }
  
  .team-carousel .swiper-wrapper {
    display: flex;
  }
  
  .team-carousel .team-member {
    flex: 0 0 100%;
    width: 100%;
    box-sizing: border-box;
    margin-right: 16px;
  }
  
  /* ---------- PARTNERSHIP SECTION MOBILE ---------- */
  .partnership__title,
  .partnership .tag {
    text-align: center; /* Centra il titolo e tag */
  }
  
  /* Logo Vantura cliccabile */
  .partnership__visual {
    position: relative;
    cursor: pointer;
    transition: transform 0.3s ease;
  }
  
  .partnership__visual:hover,
  .partnership__visual:active {
    transform: scale(1.03);
  }
  
  /* Modal per informazioni Vantura */
  .vantura-modal {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.7);
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
  }
  
  .vantura-modal.open {
    opacity: 1;
    visibility: visible;
  }
  
  .vantura-modal__content {
    background-color: white;
    border-radius: var(--radius-lg);
    padding: 1.5rem;
    max-width: 90%;
    max-height: 80vh;
    overflow-y: auto;
    transform: translateY(20px);
    transition: transform 0.3s ease;
  }
  
  .vantura-modal.open .vantura-modal__content {
    transform: translateY(0);
  }
  
  .vantura-modal__close {
    position: absolute;
    top: 1rem;
    right: 1rem;
    width: 32px;
    height: 32px;
    background: rgba(255, 255, 255, 0.2);
    border: none;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: white;
  }
  
  /* ---------- CONTACT SECTION MOBILE ---------- */
  /* Email e telefono affiancati */
  .contact__info {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1rem;
  }
  
  .contact-method {
    flex: 0 0 calc(50% - 0.5rem);
  }
  
  /* Fix checkbox privacy policy */
  .form-group--checkbox {
    display: flex;
    align-items: flex-start;
    margin-top: 1rem;
  }
  
  .form-checkbox {
    margin-top: 0.25rem; /* Abbassa checkbox */
  }
  
  /* ---------- FOOTER MOBILE ---------- */
  /* Categorie affiancate */
  .footer__nav {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  
  .footer__nav-col {
    flex: 0 0 calc(50% - 1rem);
  }
  
  /* ---------- COOKIE BANNER MOBILE ---------- */
  .cookie-consent__actions {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    gap: 1rem;
    margin-top: 1rem;
  }
}

/* ====================================================
   JAVASCRIPT PER CAROUSEL MOBILE
==================================================== */
/* Questo codice JS verrà aggiunto separatamente */

/* ====================================================
   OTTIMIZZAZIONE PER TELEFONI MOLTO PICCOLI
==================================================== */
@media (max-width: 374px) {
  .hero__actions {
    flex-direction: column;
    align-items: center;
  }
  
  .hero__actions .button {
    width: 100%;
  }
  
  .contact-method {
    flex: 0 0 100%;
  }
  
  .stat-item {
    flex: 0 0 100%;
  }
}

    /* ============================================================
       FINBLOCK - OTTIMIZZAZIONE MOBILE DEFINITIVA
       Implementato con approccio "Mobile First" che non rompe il desktop
       Tutte le modifiche si applicano SOLO sotto i 991px
    ============================================================ */
    
    /* Assicuriamo che il desktop rimanga intatto quando si ridimensiona */
    @media (min-width: 992px) {
      .mobile-menu {
        display: none !important;
      }
      
      .desktop-only {
        display: block !important;
      }
      
      .mobile-only {
        display: none !important;
      }
    }
    
    @media (max-width: 991px) {
      /* ========== CORREZIONI GLOBALI ========== */
      body {
        overflow-x: hidden;
      }
      
      /* ========== HEADER MIGLIORATO ========== */
      .header__container {
        padding: 0.4rem 0; /* Sposta leggermente verso il basso */
      }
      
      .header__logo {
        transform: translateY(2px); /* Sposta il logo verso il basso */
      }
      
      /* ========== MENU MOBILE MIGLIORATO ========== */
      .mobile-menu {
        background-color: #ffffff !important; /* Sfondo bianco puro */
      }
      
      .mobile-menu__link {
        color: #000000 !important; /* Testo nero */
        font-weight: 500;
      }
      
      .mobile-menu__contact {
        display: none !important; /* Rimuovi contatti */
      }
      
      .mobile-menu__socials {
        display: none !important; /* Rimuovi social */
      }
      
      /* ========== HERO SECTION OTTIMIZZATA ========== */
      /* Logo come sfondo della hero section */
      .hero {
        position: relative;
        overflow: hidden;
        z-index: 1;
      }
      
      .hero__visual {
        position: absolute !important;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        z-index: -1;
        opacity: 0.3 !important; /* 70% di trasparenza */
        display: flex;
        align-items: center;
        justify-content: center;
      }
      
      .logo-visualizer {
        transform: none !important;
      }
      
      .logo-visualizer__model {
        width: 100% !important;
        max-width: 320px !important;
        height: 320px !important;
        margin: 0 auto !important;
      }
      
      .hero__content {
        position: relative;
        z-index: 2;
        padding: 2rem 0;
      }
      
      /* ========== OTTIMIZZAZIONE CAROUSEL ========== */
      /* Fix colore pallini per tutti i carousel */
      .swiper-pagination-bullet {
        width: 8px !important;
        height: 8px !important;
        background-color: rgba(11, 57, 110, 0.3) !important;
        opacity: 1 !important;
      }
      
      .swiper-pagination-bullet-active {
        background-color: #0b396e !important; /* Blu principale del sito */
      }
      
      /* ========== SEZIONE PLATFORM ========== */
      .platform__image-container {
        height: 300px !important;
        background-position: center;
        background-size: cover;
        background-repeat: no-repeat;
        opacity: 0.3 !important; /* 70% di trasparenza */
      }
      
      .platform__content {
        position: relative;
        z-index: 2;
      }
      
      /* ========== SEZIONE CONTATTI ========== */
      .contact__info {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
        gap: 1rem !important;
      }
      
      .contact-method {
        flex: 0 0 calc(50% - 1rem) !important;
        max-width: calc(50% - 1rem) !important;
      }
      
      /* ========== SEZIONE VANTURA ========== */
      .partnership {
        text-align: center !important;
        padding: 2rem !important;
      }
      
      .partnership__content {
        display: none !important; /* Nascondi contenuto esteso */
      }
      
      .partnership .tag {
        margin: 0 auto 0.5rem !important;
        display: block !important;
      }
      
      .partnership__title {
        font-size: 1.25rem !important;
        margin-bottom: 1.5rem !important;
        color: var(--color-primary-700) !important;
      }
      
      .partnership__visual {
        cursor: pointer !important;
        transition: transform 0.3s ease !important;
        background-color: white !important;
        padding: 2rem !important;
        border-radius: 1rem !important;
        box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08) !important;
      }
      
      .partnership__image {
        max-width: 240px !important;
        margin: 0 auto !important;
      }
      
      /* ========== MODAL VANTURA ========== */
      .vantura-modal {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 1000;
        background-color: rgba(0, 0, 0, 0.7);
        display: flex;
        align-items: center;
        justify-content: center;
        opacity: 0;
        visibility: hidden;
        transition: opacity 0.3s ease, visibility 0.3s ease;
      }
      
      .vantura-modal.open {
        opacity: 1;
        visibility: visible;
      }
      
      .vantura-modal__content {
        background-color: white;
        border-radius: 1rem;
        padding: 2rem;
        width: 90%;
        max-width: 500px;
        max-height: 80vh;
        overflow-y: auto;
        position: relative;
      }
      
      .vantura-modal__close {
        position: absolute;
        top: 1rem;
        right: 1rem;
        width: 36px;
        height: 36px;
        background-color: var(--color-neutral-100);
        border: none;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
        color: var(--color-text-primary);
      }
      
      /* ========== BANNER COOKIES ========== */
      .cookie-consent {
        padding: 1rem !important;
      }
      
      .cookie-consent__container {
        flex-direction: column !important;
      }
      
      .cookie-consent__actions {
        display: flex !important;
        justify-content: flex-start !important;
        gap: 1rem !important;
        margin-top: 1rem !important;
      }
      
      /* ========== CORREZIONI SPECIFICHE ========== */
      /* Fix problema layout rotto dopo ridimensionamento */
      .solution-center-logo {
        position: relative !important;
        top: auto !important;
        left: auto !important;
        transform: none !important;
        margin: 0 auto 2rem !important;
      }
      
      .solution-center-connector {
        display: none !important;
      }
      
      .solution-point {
        position: relative !important;
        top: auto !important;
        left: auto !important;
        right: auto !important;
        bottom: auto !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-bottom: 1rem !important;
      }
      
      /* Fix specifico per carousel */
      .mobile-accordion {
        overflow: visible !important;
      }
      
      .accordion-content {
        max-height: none !important;
        padding: 1rem !important;
        opacity: 1 !important;
        visibility: visible !important;
      }
    }
    
    /* Media query per dispositivi molto piccoli */
    @media (max-width: 374px) {
      .contact-method {
        flex: 0 0 100% !important;
        max-width: 100% !important;
      }
    }

        /* ============================================================
       FINBLOCK - CORREZIONI DEFINITIVE MOBILE
       Risolve tutti i problemi specifici segnalati
    ============================================================ */
    
    /* Mantiene intatta la vista desktop */
    @media (min-width: 992px) {
      .mobile-menu {
        display: none !important;
      }
    }
    
    @media (max-width: 991px) {
      /* ========== 1. CORREZIONE MENU MOBILE - SFONDO BIANCO PURO ========== */
      .mobile-menu {
        background-color: #FFFFFF !important; /* Bianco puro */
      }
      
      .mobile-menu * {
        color: #000000 !important; /* Testo nero per contrasto */
      }
      
      .mobile-menu__link:hover,
      .mobile-menu__link:focus,
      .mobile-menu__link.active {
        background-color: rgba(11, 57, 110, 0.1) !important; /* Sfondo hover blu chiaro */
        color: #0b396e !important; /* Colore testo hover blu scuro */
      }
      
      /* Rimuovi gradiente grigio */
      .mobile-menu::before {
        display: none !important;
      }
      
      /* ========== 2. CORREZIONE SEZIONE VANTURA ========== */
      .partnership {
        position: relative !important;
        text-align: center !important;
        padding: 2rem !important;
      }
      
      /* Nasconde i testi esistenti */
      .partnership__content p,
      .partnership__description {
        display: none !important;
      }
      
      /* Mostra solo titolo principale e tag */
      .partnership .tag {
        display: inline-block !important;
        margin: 0 auto 0.5rem !important;
        text-align: center !important;
      }
      
      .partnership__title {
        display: block !important;
        font-size: 1.25rem !important;
        margin-bottom: 1.5rem !important;
        color: var(--color-primary-700) !important;
        text-align: center !important;
      }
      
      /* Styling del contenitore dell'immagine */
      .partnership__visual {
        cursor: pointer !important;
        transition: transform 0.3s ease !important;
        background-color: white !important;
        padding: 2rem !important;
        border-radius: 1rem !important;
        box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08) !important;
        margin-top: 1rem !important;
      }
      
      .partnership__image {
        max-width: 240px !important;
        margin: 0 auto !important;
      }
      
      /* ========== 3. CORREZIONE LA SFIDA - IMMAGINE BACKGROUND ========== */
      .tabs__panel[data-tab-panel="problem"] {
        position: relative !important;
      }
      
      .solution__grid--challenge {
        position: relative !important;
        z-index: 2 !important;
      }
      
      /* Immagine di sfondo */
      .solution__graphic--problem,
      .solution__image {
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
        width: 100% !important;
        height: 100% !important;
        opacity: 0.15 !important; /* 85% trasparenza */
        object-fit: cover !important;
        z-index: 1 !important;
      }
      
      .solution__visual {
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
        width: 100% !important;
        height: 100% !important;
        z-index: 1 !important;
      }
      
      /* Mostra correttamente il carousel */
      .problem-carousel,
      .problem-carousel .swiper-wrapper,
      .problem-carousel .problem-item {
        position: relative !important;
        z-index: 10 !important;
      }
      
      .problem-item {
        background-color: rgba(255, 255, 255, 0.7) !important; /* Sfondo semi-trasparente */
        backdrop-filter: blur(5px) !important;
        -webkit-backdrop-filter: blur(5px) !important;
      }
      
      /* ========== 4. CORREZIONE LA SOLUZIONE - IMMAGINE BACKGROUND ========== */
      .tabs__panel[data-tab-panel="solution"] {
        position: relative !important;
      }
      
      .solution-center-logo {
        position: relative !important;
        z-index: 10 !important;
        background-color: rgba(255, 255, 255, 0.9) !important;
        backdrop-filter: blur(10px) !important;
        -webkit-backdrop-filter: blur(10px) !important;
      }
      
      .solution-carousel,
      .solution-carousel .swiper-wrapper,
      .solution-carousel .solution-point {
        position: relative !important;
        z-index: 10 !important;
      }
      
      .solution-point {
        background-color: rgba(255, 255, 255, 0.85) !important;
        backdrop-filter: blur(8px) !important;
        -webkit-backdrop-filter: blur(8px) !important;
      }
      
      /* Aggiungi sfondo immagine a La Soluzione */
      .tabs__panel[data-tab-panel="solution"]::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-image: url('retail.png'); /* Usa l'immagine della piattaforma */
        background-position: center;
        background-size: cover;
        opacity: 0.1;
        z-index: 1;
      }
      
      /* Sfondo colore per le tabs */
      .tabs__button {
        background-color: #f2f4f7 !important;
        color: #384256 !important;
      }
      
      .tabs__button--active {
        background-color: #0b396e !important;
        color: white !important;
      }
      
      /* ========== 5. FIX CAROUSEL - PALLINI UNIFORMI ========== */
      .swiper-pagination-bullet {
        width: 8px !important;
        height: 8px !important;
        background-color: rgba(11, 57, 110, 0.3) !important;
        opacity: 1 !important;
      }
      
      .swiper-pagination-bullet-active {
        background-color: #0b396e !important; /* Blu principale del sito */
      }
      
      /* ========== 6. CORREZIONI GLOBALI ========== */
      /* Hero section - immagine come background */
      .hero {
        position: relative !important;
        overflow: hidden !important;
      }
      
      .hero__visual {
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
        width: 100% !important;
        height: 100% !important;
        z-index: 0 !important;
        opacity: 0.2 !important; /* 80% trasparenza */
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
      }
      
      .hero__content {
        position: relative !important;
        z-index: 2 !important;
      }
      
      .logo-visualizer__model {
        width: 100% !important;
        max-width: 320px !important;
        height: 320px !important;
        margin: 0 auto !important;
      }
      
      /* Platform section - immagine come background */
      .platform {
        position: relative !important;
      }
      
      .platform__image-container {
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
        width: 100% !important;
        height: 100% !important;
        z-index: 0 !important;
        opacity: 0.15 !important; /* 85% trasparenza */
      }
      
      .platform__content,
      .section__header {
        position: relative !important;
        z-index: 2 !important;
      }
      
      /* Sezione contatti - email e telefono affiancati */
      .contact__info {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
        gap: 1rem !important;
      }
      
      .contact-method {
        flex: 0 0 calc(50% - 1rem) !important;
        max-width: calc(50% - 1rem) !important;
      }
      
      /* Fix per dispositivi molto piccoli */
      @media (max-width: 374px) {
        .contact-method {
          flex: 0 0 100% !important;
          max-width: 100% !important;
        }
      }
    }

     /* ============================================================
       FINBLOCK - SOLUZIONE DEFINITIVA MOBILE
       Risolve tutti i problemi con approccio avanzato
    ============================================================ */
    
    /* ==================== RESET COMPLETO MOBILE ==================== */
    /* Questa è la chiave per risolvere il problema del ripristino desktop */
    @media (min-width: 992px) {
      /* RIPRISTINO SPECIFICO DELLA VISTA DESKTOP */
      .solution-center-logo {
        position: absolute !important;
        top: 50% !important;
        left: 50% !important;
        transform: translate(-50%, -50%) !important;
        margin: 0 !important;
      }
      
      .solution-center-connector {
        display: block !important;
      }
      
      .solution-point {
        position: absolute !important;
        width: 320px !important;
        max-width: calc(45% - 50px) !important;
      }
      
      .solution-point--top-left {
        top: 18px !important;
        left: 18px !important;
      }
      
      .solution-point--top-right {
        top: 18px !important;
        right: 18px !important;
      }
      
      .solution-point--bottom-left {
        bottom: 18px !important;
        left: 18px !important;
      }
      
      .solution-point--bottom-right {
        bottom: 18px !important;
        right: 18px !important;
      }
      
      /* Ripristina correttamente le posizioni delle immagini */
      .platform__image-container,
      .solution__visual,
      .hero__visual {
        position: relative !important;
        opacity: 1 !important;
      }
      
      /* Nascondi elementi mobile */
      .mobile-menu,
      .mobile-nav,
      .mobile-style-fixes {
        display: none !important;
      }
      
      /* Ripristina sezione Vantura */
      .partnership__content {
        display: block !important;
      }
      
      .partnership__description {
        display: block !important;
      }
      
      /* Ripristina visualizzazione contatti */
      .contact__info {
        display: flex !important;
        flex-direction: column !important;
      }
      
      /* Ripristina tutti gli elementi nascosti */
      [class*="desktop-reset"] {
        display: block !important;
        position: relative !important;
        opacity: 1 !important;
        transform: none !important;
      }
    }
    
    /* ==================== STILI MOBILE DEFINITIVI ==================== */
    @media (max-width: 991px) {
      /* Classe di supporto per reset desktop */
      .mobile-style-fixes {
        display: block;
      }
      
      /* ========== 1. MENU MOBILE - BIANCO ========== */
      .mobile-menu {
        background-color: #FFFFFF !important;
        overflow-y: auto;
      }
      
      .mobile-menu * {
        color: #000000 !important;
      }
      
      .mobile-menu__link {
        font-weight: 500 !important;
      }
      
      .mobile-menu__link:hover,
      .mobile-menu__link:focus,
      .mobile-menu__link.active {
        background-color: rgba(11, 57, 110, 0.1) !important;
        color: #0b396e !important;
      }
      
      /* ========== 2. LOGO POSIZIONE CORRETTA ========== */
      .logo-visualizer {
        position: relative !important;
        top: auto !important;
        left: auto !important;
        transform: none !important;
        width: 100% !important;
        height: 100% !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
      }
      
      /* ========== 3. SEZIONE CONTATTI SISTEMATA ========== */
      /* Contenitore principale */
      .contact__info {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 12px !important;
        width: 100% !important;
        margin-bottom: 24px !important;
      }
      
      /* Ogni metodo di contatto */
      .contact-method {
        width: 100% !important;
        max-width: 100% !important;
        flex: 1 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        background-color: #f9fafb !important;
        border-radius: 12px !important;
        padding: 16px !important;
        box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04) !important;
      }
      
      .contact-method__icon {
        margin-bottom: 8px !important;
      }
      
      .contact-method__content {
        text-align: center !important;
      }
      
      .contact-method__title {
        font-size: 12px !important;
        margin-bottom: 4px !important;
      }
      
      .contact-method__value {
        font-size: 14px !important;
        font-weight: 600 !important;
      }
      
      /* Dispositivi piccoli */
      @media (max-width: 374px) {
        .contact__info {
          grid-template-columns: 1fr !important;
        }
      }
      
      /* ========== 4. RIPROGETTAZIONE COMPLETA PRIMA SEZIONE ========== */
      .platform {
        position: relative !important;
        padding: 40px 0 !important;
        overflow: hidden !important;
      }
      
      /* Sfondo con gradiente */
      .platform::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: linear-gradient(135deg, rgba(11, 57, 110, 0.05) 0%, rgba(255, 255, 255, 0) 100%);
        z-index: -1;
      }
      
      /* Immagine come sfondo */
      .platform__image-container {
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
        width: 100% !important;
        height: 100% !important;
        opacity: 0.08 !important;
        z-index: -1 !important;
      }
      
      /* Header sezione */
      .platform .section__header {
        text-align: center !important;
        margin-bottom: 40px !important;
        position: relative !important;
        z-index: 2 !important;
      }
      
      .platform .section__title {
        font-size: 24px !important;
        margin-bottom: 12px !important;
        color: #0b396e !important;
        position: relative !important;
        display: inline-block !important;
      }
      
      .platform .section__title::after {
        content: "";
        position: absolute;
        bottom: -6px;
        left: 50%;
        transform: translateX(-50%);
        width: 60px;
        height: 3px;
        background-color: #0b396e;
        border-radius: 3px;
      }
      
      .platform .section__subtitle {
        font-size: 16px !important;
        line-height: 1.6 !important;
        color: #384256 !important;
        max-width: 90% !important;
        margin: 0 auto !important;
      }
      
      /* Nuovo sistema di card per feature */
      .platform__content {
        padding: 0 16px !important;
      }
      
      .feature-list {
        display: flex !important;
        flex-direction: column !important;
        gap: 24px !important;
      }
      
      .feature-item {
        background-color: rgba(255, 255, 255, 0.9) !important;
        border-radius: 16px !important;
        box-shadow: 0 8px 24px rgba(11, 57, 110, 0.08) !important;
        padding: 24px !important;
        transition: transform 0.3s ease, box-shadow 0.3s ease !important;
        border-left: 4px solid #0b396e !important;
        position: relative !important;
        overflow: hidden !important;
      }
      
      .feature-item::before {
        content: "";
        position: absolute;
        top: 0;
        right: 0;
        width: 100px;
        height: 100px;
        background: radial-gradient(circle, rgba(11, 57, 110, 0.05) 0%, rgba(255, 255, 255, 0) 70%);
        z-index: 0;
      }
      
      .feature-item__icon {
        width: 56px !important;
        height: 56px !important;
        background-color: #f2f4f7 !important;
        color: #0b396e !important;
        border-radius: 12px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        margin-bottom: 16px !important;
        position: relative !important;
        z-index: 1 !important;
        transition: transform 0.3s ease !important;
      }
      
      .feature-item__title {
        font-size: 18px !important;
        font-weight: 600 !important;
        margin-bottom: 12px !important;
        color: #0b396e !important;
        position: relative !important;
        z-index: 1 !important;
      }
      
      .feature-item__description {
        font-size: 15px !important;
        line-height: 1.6 !important;
        color: #384256 !important;
        position: relative !important;
        z-index: 1 !important;
      }
      
      /* Swiper carousel per feature */
      .platform-carousel {
        width: 100% !important;
        overflow: visible !important;
      }
      
      .platform-carousel .swiper-slide {
        opacity: 0.7 !important;
        transform: scale(0.9) !important;
        transition: opacity 0.3s ease, transform 0.3s ease !important;
      }
      
      .platform-carousel .swiper-slide-active {
        opacity: 1 !important;
        transform: scale(1) !important;
      }
      
      .platform-carousel .swiper-pagination {
        bottom: -30px !important;
      }
      
      /* ========== 5. RIPROGETTAZIONE COMPLETA LA SFIDA ========== */
      .solution {
        position: relative !important;
        padding: 40px 0 !important;
      }
      
      /* Immagine di sfondo con overlay */
      .tabs__panel[data-tab-panel="problem"] {
        position: relative !important;
        z-index: 1 !important;
        padding-top: 20px !important;
      }
      
      .tabs__panel[data-tab-panel="problem"]::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-image: url('problema.png');
        background-size: cover;
        background-position: center;
        opacity: 0.07;
        z-index: -1;
      }
      
      /* Titolo con enfasi */
      .solution__title--challenge {
        font-size: 22px !important;
        font-weight: 700 !important;
        text-align: center !important;
        margin-bottom: 30px !important;
        color: #0b396e !important;
        position: relative !important;
        padding-bottom: 15px !important;
      }
      
      .solution__title--challenge::after {
        content: "";
        position: absolute;
        bottom: 0;
        left: 50%;
        transform: translateX(-50%);
        width: 50px;
        height: 3px;
        background-color: #0b396e;
        border-radius: 3px;
      }
      
      /* Carousel problema */
      .problem-points {
        margin-top: 30px !important;
      }
      
      .problem-item {
        background-color: rgba(255, 255, 255, 0.95) !important;
        border-radius: 16px !important;
        box-shadow: 0 8px 24px rgba(11, 57, 110, 0.08) !important;
        padding: 24px !important;
        margin-bottom: 20px !important;
        border-top: 4px solid #0b396e !important;
        position: relative !important;
        overflow: hidden !important;
      }
      
      .problem-item__number {
        width: 48px !important;
        height: 48px !important;
        background: linear-gradient(135deg, #0b396e 0%, #375a7f 100%) !important;
        color: white !important;
        border-radius: 50% !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        font-size: 20px !important;
        font-weight: 700 !important;
        margin-bottom: 16px !important;
        box-shadow: 0 4px 12px rgba(11, 57, 110, 0.2) !important;
      }
      
      .problem-item__title {
        font-size: 18px !important;
        font-weight: 600 !important;
        margin-bottom: 12px !important;
        color: #0b396e !important;
      }
      
      .problem-item__description {
        font-size: 15px !important;
        line-height: 1.6 !important;
        color: #384256 !important;
      }
      
      /* Carousel problema con effetto 3D */
      .problem-carousel {
        width: 100% !important;
        padding: 10px 0 40px !important;
        overflow: visible !important;
      }
      
      .problem-carousel .swiper-slide {
        opacity: 0.7 !important;
        transform: scale(0.9) translateY(20px) !important;
        transition: all 0.3s ease !important;
      }
      
      .problem-carousel .swiper-slide-active {
        opacity: 1 !important;
        transform: scale(1) translateY(0) !important;
      }
      
      /* ========== 6. RIPROGETTAZIONE COMPLETA LA SOLUZIONE ========== */
      /* Tabs di navigazione */
      .tabs__header {
        display: flex !important;
        justify-content: center !important;
        gap: 12px !important;
        margin-bottom: 30px !important;
        position: relative !important;
        z-index: 10 !important;
      }
      
      .tabs__button {
        padding: 12px 24px !important;
        background-color: #f2f4f7 !important;
        color: #384256 !important;
        border: none !important;
        border-radius: 30px !important;
        font-weight: 500 !important;
        font-size: 14px !important;
        transition: all 0.3s ease !important;
        box-shadow: 0 2px 6px rgba(11, 57, 110, 0.1) !important;
        min-width: 120px !important;
      }
      
      .tabs__button--active {
        background-color: #0b396e !important;
        color: white !important;
        box-shadow: 0 4px 12px rgba(11, 57, 110, 0.2) !important;
      }
      
      /* Panel soluzione */
      .tabs__panel[data-tab-panel="solution"] {
        position: relative !important;
        z-index: 1 !important;
      }
      
      .tabs__panel[data-tab-panel="solution"]::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: linear-gradient(135deg, rgba(11, 57, 110, 0.03) 0%, rgba(255, 255, 255, 0) 100%);
        z-index: -1;
      }
      
      /* Titolo soluzione */
      .solution__title--centered {
        font-size: 22px !important;
        font-weight: 700 !important;
        text-align: center !important;
        margin-bottom: 30px !important;
        color: #0b396e !important;
        position: relative !important;
        padding-bottom: 15px !important;
      }
      
      .solution__title--centered::after {
        content: "";
        position: absolute;
        bottom: 0;
        left: 50%;
        transform: translateX(-50%);
        width: 50px;
        height: 3px;
        background-color: #0b396e;
        border-radius: 3px;
      }
      
      /* Logo centrale riprogettato */
      .solution-centered-layout {
        position: relative !important;
        padding: 30px 0 !important;
      }
      
      .solution-center-logo {
        width: 120px !important;
        height: 120px !important;
        background: linear-gradient(135deg, #f2f4f7 0%, #e5eaf1 100%) !important;
        border: 3px solid #0b396e !important;
        border-radius: 50% !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        margin: 0 auto 40px !important;
        position: relative !important;
        box-shadow: 0 10px 30px rgba(11, 57, 110, 0.15) !important;
        z-index: 2 !important;
      }
      
      .solution-center-logo::before {
        content: "";
        position: absolute;
        top: -10px;
        left: -10px;
        right: -10px;
        bottom: -10px;
        border: 2px dashed rgba(11, 57, 110, 0.2);
        border-radius: 50%;
        animation: rotate 30s linear infinite;
      }
      
      .solution-center-logo__img {
        width: 70px !important;
        height: auto !important;
      }
      
      @keyframes rotate {
        0% { transform: rotate(0deg); }
        100% { transform: rotate(360deg); }
      }
      
      /* Punti soluzione riprogettati */
      .solution-points-container {
        position: relative !important;
        margin-top: 20px !important;
      }
      
      .solution-point {
        background-color: white !important;
        border-radius: 16px !important;
        box-shadow: 0 8px 24px rgba(11, 57, 110, 0.08) !important;
        padding: 24px !important;
        margin-bottom: 20px !important;
        position: relative !important;
        overflow: hidden !important;
        border-left: 4px solid #0b396e !important;
      }
      
      .solution-point::before {
        content: "";
        position: absolute;
        top: 0;
        right: 0;
        width: 100px;
        height: 100px;
        background: radial-gradient(circle, rgba(11, 57, 110, 0.05) 0%, rgba(255, 255, 255, 0) 70%);
        z-index: 0;
      }
      
      .solution-point__number {
        width: 40px !important;
        height: 40px !important;
        background: linear-gradient(135deg, #0b396e 0%, #375a7f 100%) !important;
        color: white !important;
        border-radius: 50% !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        font-size: 18px !important;
        font-weight: 700 !important;
        margin-bottom: 16px !important;
        box-shadow: 0 4px 12px rgba(11, 57, 110, 0.2) !important;
      }
      
      .solution-point__title {
        font-size: 18px !important;
        font-weight: 600 !important;
        margin-bottom: 12px !important;
        color: #0b396e !important;
        position: relative !important;
        z-index: 1 !important;
      }
      
      .solution-point__description {
        font-size: 15px !important;
        line-height: 1.6 !important;
        color: #384256 !important;
        position: relative !important;
        z-index: 1 !important;
      }
      
      /* Carousel soluzione con effetto 3D */
      .solution-carousel {
        width: 100% !important;
        padding: 10px 0 40px !important;
        overflow: visible !important;
      }
      
      .solution-carousel .swiper-slide {
        opacity: 0.7 !important;
        transform: scale(0.9) translateY(20px) !important;
        transition: all 0.3s ease !important;
      }
      
      .solution-carousel .swiper-slide-active {
        opacity: 1 !important;
        transform: scale(1) translateY(0) !important;
      }
      
      /* ========== 7. SEZIONE VANTURA RIPROGETTATA ========== */
      .partnership {
        background-color: white !important;
        border-radius: 20px !important;
        box-shadow: 0 10px 30px rgba(11, 57, 110, 0.08) !important;
        padding: 30px !important;
        margin: 30px 0 !important;
        position: relative !important;
        overflow: hidden !important;
        border: 1px solid #e5eaf1 !important;
      }
      
      /* Sfondo con pattern */
      .partnership::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-image: radial-gradient(circle at 10% 90%, rgba(11, 57, 110, 0.03) 0%, transparent 30%),
                          radial-gradient(circle at 90% 10%, rgba(11, 57, 110, 0.03) 0%, transparent 30%);
        z-index: 0;
      }
      
      /* Tag "Sinergie Strategiche" */
      .partnership .tag {
        background-color: #f2f4f7 !important;
        color: #0b396e !important;
        font-size: 12px !important;
        font-weight: 600 !important;
        padding: 6px 14px !important;
        border-radius: 20px !important;
        display: inline-block !important;
        margin-bottom: 16px !important;
        position: relative !important;
        z-index: 1 !important;
      }
      
      /* Titolo "Collaborazione con VANTURA" */
      .partnership__title {
        font-size: 20px !important;
        font-weight: 700 !important;
        color: #0b396e !important;
        margin-bottom: 24px !important;
        text-align: center !important;
        position: relative !important;
        z-index: 1 !important;
      }
      
      /* Contenuto nascosto */
      .partnership__content {
        display: none !important;
      }
      
      /* Box logo VANTURA */
      .partnership__visual {
        background-color: white !important;
        border-radius: 16px !important;
        box-shadow: 0 8px 24px rgba(11, 57, 110, 0.08) !important;
        padding: 30px !important;
        margin: 0 auto !important;
        max-width: 280px !important;
        position: relative !important;
        z-index: 1 !important;
        cursor: pointer !important;
        transition: transform 0.3s ease, box-shadow 0.3s ease !important;
        border: 1px solid #e5eaf1 !important;
      }
      
      .partnership__visual:hover,
      .partnership__visual:focus {
        transform: translateY(-5px) !important;
        box-shadow: 0 15px 30px rgba(11, 57, 110, 0.12) !important;
      }
      
      .partnership__visual::after {
        content: "Clicca per saperne di più";
        position: absolute;
        bottom: 10px;
        left: 0;
        width: 100%;
        text-align: center;
        font-size: 12px;
        color: #667085;
      }
      
      .partnership__image {
        max-width: 220px !important;
        margin: 0 auto 20px !important;
        display: block !important;
      }
      
      /* Modal VANTURA */
      .vantura-modal {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.7);
        z-index: 1000;
        display: flex;
        align-items: center;
        justify-content: center;
        opacity: 0;
        visibility: hidden;
        transition: opacity 0.3s ease, visibility 0.3s ease;
      }
      
      .vantura-modal.open {
        opacity: 1;
        visibility: visible;
      }
      
      .vantura-modal__content {
        background-color: white;
        border-radius: 20px;
        padding: 30px;
        width: 90%;
        max-width: 500px;
        max-height: 80vh;
        overflow-y: auto;
        position: relative;
        transform: translateY(30px);
        transition: transform 0.3s ease;
        box-shadow: 0 20px 40px rgba(0, 0, 0, 0.2);
      }
      
      .vantura-modal.open .vantura-modal__content {
        transform: translateY(0);
      }
      
      .vantura-modal__content h3 {
        font-size: 22px;
        color: #0b396e;
        margin-bottom: 16px;
        padding-bottom: 12px;
        border-bottom: 2px solid #e5eaf1;
      }
      
      .vantura-modal__content p {
        font-size: 15px;
        line-height: 1.6;
        margin-bottom: 16px;
        color: #384256;
      }
      
      .vantura-modal__close {
        position: absolute;
        top: 15px;
        right: 15px;
        width: 36px;
        height: 36px;
        background-color: #f2f4f7;
        border: none;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
        color: #384256;
        font-size: 20px;
        transition: background-color 0.3s ease;
      }
      
      .vantura-modal__close:hover,
      .vantura-modal__close:focus {
        background-color: #e5eaf1;
      }
      
      /* ========== 8. UNIFORMARE TUTTI I CAROUSEL ========== */
      .swiper-pagination-bullet {
        width: 8px !important;
        height: 8px !important;
        background-color: rgba(11, 57, 110, 0.3) !important;
        opacity: 1 !important;
        margin: 0 4px !important;
        transition: all 0.3s ease !important;
      }
      
      .swiper-pagination-bullet-active {
        background-color: #0b396e !important;
        transform: scale(1.3) !important;
      }
      
      /* ========== 9. ANIMAZIONI DEL GRAFICO ========== */
      /* Fissaggio animazioni grafico */
      .market-chart {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
        box-shadow: 0 8px 24px rgba(11, 57, 110, 0.08) !important;
        border-radius: 16px !important;
        padding: 20px !important;
        background-color: white !important;
        height: 280px !important;
      }
      
      .market-chart canvas {
        width: 100% !important;
        height: 100% !important;
      }
      
      .metric-card {
        opacity: 1 !important;
        transform: none !important;
        transition: transform 0.3s ease, box-shadow 0.3s ease !important;
        box-shadow: 0 8px 24px rgba(11, 57, 110, 0.08) !important;
        border-radius: 16px !important;
        padding: 20px !important;
        background-color: white !important;
        display: flex !important;
        flex-direction: column !important;
        border-left: 4px solid #0b396e !important;
      }
      
      .metric-card:hover {
        transform: translateY(-5px) !important;
        box-shadow: 0 15px 30px rgba(11, 57, 110, 0.12) !important;
      }
      
      .metric-card__icon {
        width: 56px !important;
        height: 56px !important;
        background-color: #f2f4f7 !important;
        color: #0b396e !important;
        border-radius: 12px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        margin-bottom: 16px !important;
      }
      
      .metric-card__value {
        font-size: 26px !important;
        font-weight: 700 !important;
        color: #0b396e !important;
        margin-bottom: 8px !important;
      }
      
      .metric-card__title {
        font-size: 16px !important;
        font-weight: 600 !important;
        color: #384256 !important;
        margin-bottom: 12px !important;
      }
      
      .metric-card__description {
        font-size: 14px !important;
        line-height: 1.6 !important;
        color: #667085 !important;
      }
    }

    /* ============================================================
   FINBLOCK - OTTIMIZZAZIONE MOBILE DEFINITIVA
   Correzione di tutti i problemi specifici richiesti
============================================================ */

/* ==================== OTTIMIZZAZIONI MOBILE ==================== */
@media (max-width: 991px) {
  /* 1. Logo FinBlock più a destra nella hero section */
  .hero .logo-visualizer {
      transform: translateX(30px);
  }
  
  /* 2. Titolo "Democratizzare l'Investimento in Asset Premium" nero */
  .platform .section__title,
  .solution .section__title {
      color: #000000 !important;
      font-weight: 600 !important;
  }
  
  /* 3. Rimozione della righetta sotto il titolo */
  .platform .section__title::after,
  .solution .section__title::after {
      display: none !important;
  }
  
  /* 4. Avvicinamento opportuno delle card */
  .feature-list, 
  .mobile-accordion {
      gap: 12px !important;
  }
  
  /* 5. La sfida - Rimozione immagine di sfondo */
  .tabs__panel[data-tab-panel="problem"]::before,
  .solution__graphic--problem,
  .solution__visual {
      display: none !important;
      opacity: 0 !important;
  }
  
  /* 6. La sfida - Card impilate verticalmente */
  .problem-points {
      display: flex !important;
      flex-direction: column !important;
      gap: 16px !important;
  }
  
  .problem-item {
      width: 100% !important;
      margin-bottom: 0 !important;
  }
  
  /* 7. La soluzione - Versione mobile più attraente */
  .solution-centered-layout {
      min-height: auto !important;
      padding: 30px 0 !important;
  }
  
  /* Logo centrale più grande e attraente */
  .solution-center-logo {
      position: relative !important;
      top: auto !important;
      left: auto !important;
      transform: none !important;
      margin: 0 auto 30px !important;
      width: 130px !important;
      height: 130px !important;
      box-shadow: 0 10px 30px rgba(11, 57, 110, 0.15) !important;
      border: 3px solid rgba(11, 57, 110, 0.1) !important;
      background: linear-gradient(135deg, #f3f6fb 0%, #e5eaf1 100%) !important;
      display: flex !important;
      align-items: center !important;
      justify-content: center !important;
  }
  
  .solution-center-logo__img {
      width: 80px !important;
  }
  
  /* Rimozione connettori */
  .solution-center-connector {
      display: none !important;
  }
  
  /* Card soluzione disposte verticalmente */
  .solution-points-container {
      position: static !important;
      display: flex !important;
      flex-direction: column !important;
      gap: 20px !important;
      width: 100% !important;
  }
  
  .solution-point {
      position: static !important;
      width: 100% !important;
      max-width: 100% !important;
      margin-bottom: 0 !important;
      box-shadow: 0 8px 24px rgba(11, 57, 110, 0.08) !important;
      border: 1px solid #e5eaf1 !important;
      border-left: 4px solid #0b396e !important;
      transition: transform 0.3s ease, box-shadow 0.3s ease !important;
  }
  
  .solution-point:active {
      transform: translateY(-3px) !important;
      box-shadow: 0 12px 30px rgba(11, 57, 110, 0.12) !important;
  }
  
  /* 8. Vantura - Titolo nero e consistenza con il resto del sito */
  .partnership__title {
      color: #000000 !important;
      font-weight: 600 !important;
      text-align: center !important;
  }
  
  .partnership {
      text-align: center !important;
  }
  
  .partnership__description {
      text-align: center !important;
      margin-bottom: 20px !important;
  }
  
  /* Styling modal Vantura */
  .vantura-modal__content {
      background-color: white !important;
      border-radius: 16px !important;
      padding: 30px !important;
  }
  
  .vantura-modal__content h3 {
      color: #000000 !important;
      font-size: 22px !important;
      font-weight: 600 !important;
      margin-bottom: 16px !important;
      text-align: center !important;
  }
  
  .vantura-modal__content p {
      color: #384256 !important;
      font-size: 16px !important;
      line-height: 1.6 !important;
      margin-bottom: 16px !important;
      text-align: center !important;
  }
  
  .vantura-modal__content img {
      display: block !important;
      margin: 20px auto !important;
      max-width: 240px !important;
  }
  
  .vantura-modal__close {
      background-color: #f2f4f7 !important;
      color: #384256 !important;
  }
}

/* ==================== RIPRISTINO VISTA DESKTOP ==================== */
@media (min-width: 992px) {
  /* Ripristino hero section */
  .hero .logo-visualizer {
      transform: none !important;
  }
  
  /* Ripristino completo layout solution */
  .solution-centered-layout {
      min-height: 540px !important;
  }
  
  .solution-center-logo {
      position: absolute !important;
      top: 50% !important;
      left: 50% !important;
      transform: translate(-50%, -50%) !important;
      margin: 0 !important;
      width: 150px !important;
      height: 150px !important;
      border: none !important;
      box-shadow: none !important;
      background: #f3f6fb !important;
  }
  
  .solution-center-connector {
      display: block !important;
  }
  
  .solution-points-container {
      position: absolute !important;
      top: 0 !important;
      left: 0 !important;
      width: 100% !important;
      height: 100% !important;
  }
  
  .solution-point {
      position: absolute !important;
      width: 270px !important;
      max-width: calc(45% - 50px) !important;
      border-left: none !important;
  }
  
  .solution-point--top-left {
      top: 18px !important;
      left: 18px !important;
  }
  
  .solution-point--top-right {
      top: 18px !important;
      right: 18px !important;
  }
  
  .solution-point--bottom-left {
      bottom: 18px !important;
      left: 18px !important;
  }
  
  .solution-point--bottom-right {
      bottom: 18px !important;
      right: 18px !important;
  }
  
  /* Ripristino sezione Vantura */
  .partnership {
      text-align: left !important;
  }
  
  .partnership__title,
  .partnership__description {
      text-align: left !important;
  }
  
  /* Ripristino immagini e visuali */
  .solution__graphic--problem,
  .solution__visual {
      display: block !important;
      opacity: 1 !important;
  }
}

/* ============================================================
   FINBLOCK - OTTIMIZZAZIONE MOBILE RIVISTA
   Correzione completa di tutti i problemi specifici richiesti
============================================================ */

/* ==================== OTTIMIZZAZIONI MOBILE ==================== */
@media (max-width: 991px) {
    /* 1. Logo FinBlock molto più a destra nella hero section */
    .hero .logo-visualizer {
        transform: translateX(130px) !important;
    }
    
    /* 2. Rimozione trattino sotto le sezioni attive nel menu mobile */
    .mobile-menu__link::after,
    .mobile-menu__link.active::after,
    .mobile-nav__link::after,
    .mobile-nav__link--active::after {
        display: none !important;
    }
    
    /* Evidenziazione sezione attiva senza trattino */
    .mobile-menu__link.active,
    .mobile-nav__link--active {
        color: var(--color-primary-600) !important;
        background-color: var(--color-primary-50) !important;
        font-weight: 600 !important;
    }
    
    /* 3. Titoli in nero e spaziatura ottimizzata */
    .platform .section__title,
    .solution .section__title {
        color: #000000 !important;
        font-weight: 600 !important;
        margin-bottom: 1rem !important;
    }
    
    /* Rimozione della righetta sotto il titolo */
    .platform .section__title::after,
    .solution .section__title::after {
        display: none !important;
    }
    
    /* 4. Riduzione dello spazio tra le sezioni */
    .section {
        padding: 40px 0 !important;
    }
    
    /* 5. Avvicinamento opportuno delle card */
    .feature-list, 
    .mobile-accordion {
        gap: 12px !important;
    }
    
    /* ==================== LA SFIDA - RIPROGETTAZIONE COMPLETA ==================== */
    /* Risolve il problema del carousel mal funzionante */
    
    /* Nasconde il carousel problematico */
    .problem-carousel, 
    .problem-carousel .swiper-wrapper,
    .problem-carousel .swiper-pagination {
        display: none !important;
    }
    
    /* Rimuove immagine di sfondo */
    .tabs__panel[data-tab-panel="problem"]::before,
    .solution__graphic--problem,
    .solution__visual {
        display: none !important;
        opacity: 0 !important;
    }
    
    /* Riprogettazione completa della sezione "La sfida" */
    .solution__title--challenge {
        font-size: 1.5rem !important;
        text-align: center !important;
        margin-bottom: 1.5rem !important;
        color: #000000 !important;
    }
    
    /* Contenitore flessibile per i punti problema */
    .problem-points {
        display: flex !important;
        flex-direction: column !important;
        gap: 16px !important;
        margin: 0 auto !important;
        max-width: 100% !important;
    }
    
    /* Riprogettazione delle card */
    .problem-item {
        position: relative !important;
        width: 100% !important;
        background-color: white !important;
        border-radius: 12px !important;
        padding: 1.25rem !important;
        box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08) !important;
        border-left: 4px solid var(--color-primary-600) !important;
        margin-bottom: 0 !important;
        transition: transform 0.3s ease, box-shadow 0.3s ease !important;
    }
    
    .problem-item:active {
        transform: translateY(-3px) !important;
        box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12) !important;
    }
    
    /* Stilizzazione numero */
    .problem-item__number {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 40px !important;
        height: 40px !important;
        background-color: var(--color-primary-600) !important;
        color: white !important;
        border-radius: 50% !important;
        font-weight: 600 !important;
        font-size: 18px !important;
        margin-bottom: 1rem !important;
    }
    
    /* Stilizzazione titolo */
    .problem-item__title {
        font-size: 1.125rem !important;
        font-weight: 600 !important;
        color: #000000 !important;
        margin-bottom: 0.75rem !important;
    }
    
    /* Stilizzazione descrizione */
    .problem-item__description {
        font-size: 0.875rem !important;
        line-height: 1.6 !important;
        color: #384256 !important;
    }
    
    /* ==================== LA SOLUZIONE - APPROCCIO ALTERNATIVO ==================== */
    
    /* Titolo principale */
    .solution__title--centered {
        font-size: 1.5rem !important;
        text-align: center !important;
        margin-bottom: 1.5rem !important;
        color: #000000 !important;
    }
    
    /* Approccio alternativo: design stile "processo" */
    .solution-centered-layout {
        min-height: auto !important;
        padding: 0 !important;
        position: relative !important;
    }
    
    /* Rimuovi completamente il logo centrale e i connettori */
    .solution-center-logo,
    .solution-center-connector {
        display: none !important;
    }
    
    /* Contenitore punti riprogettato come timeline verticale */
    .solution-points-container {
        position: relative !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 2.5rem !important;
        padding: 1rem 0 !important;
        margin: 0 auto !important;
        max-width: 100% !important;
    }
    
    /* Linea di timeline */
    .solution-points-container::before {
        content: "";
        position: absolute;
        top: 0;
        bottom: 0;
        left: 20px;
        width: 2px;
        background-color: var(--color-primary-50);
        z-index: 1;
    }
    
    /* Riprogettazione dei punti come eventi timeline */
    .solution-point {
        position: relative !important;
        width: calc(100% - 50px) !important;
        max-width: 100% !important;
        margin-left: 50px !important;
        padding: 1.25rem !important;
        background-color: white !important;
        border-radius: 12px !important;
        box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08) !important;
        z-index: 2 !important;
        transition: transform 0.3s ease, box-shadow 0.3s ease !important;
    }
    
    .solution-point:active {
        transform: translateY(-3px) !important;
        box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12) !important;
    }
    
    /* Cerchio collegamento timeline */
    .solution-point::before {
        content: "";
        position: absolute;
        left: -40px;
        top: 20px;
        width: 20px;
        height: 20px;
        background-color: var(--color-primary-600);
        border: 4px solid white;
        border-radius: 50%;
        box-shadow: 0 0 0 2px var(--color-primary-100);
        z-index: 3;
    }
    
    /* Stilizzazione numero */
    .solution-point__number {
        position: absolute !important;
        left: -40px !important;
        top: 20px !important;
        width: 20px !important;
        height: 20px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        color: white !important;
        font-weight: 600 !important;
        font-size: 11px !important;
        z-index: 4 !important;
    }
    
    /* Stilizzazione titolo */
    .solution-point__title {
        font-size: 1.125rem !important;
        font-weight: 600 !important;
        color: #000000 !important;
        margin-bottom: 0.75rem !important;
    }
    
    /* Stilizzazione descrizione */
    .solution-point__description {
        font-size: 0.875rem !important;
        line-height: 1.6 !important;
        color: #384256 !important;
    }
    
    /* ==================== SEZIONE VANTURA - APPROCCIO ALTERNATIVO ==================== */
    
    /* Riprogettazione completa come "card speciale" */
    .partnership {
        background: linear-gradient(135deg, rgba(11, 57, 110, 0.05) 0%, rgba(255, 255, 255, 0) 100%) !important;
        border-radius: 16px !important;
        border: 1px solid var(--color-border-subtle) !important;
        padding: 1.5rem !important;
        margin: 2rem 0 !important;
        position: relative !important;
        overflow: hidden !important;
    }
    
    /* Nastro decorativo nell'angolo */
    .partnership::before {
        content: "PARTNER";
        position: absolute;
        top: 15px;
        right: -35px;
        background-color: var(--color-primary-600);
        color: white;
        font-size: 10px;
        font-weight: 600;
        padding: 3px 40px;
        transform: rotate(45deg);
        letter-spacing: 1px;
    }
    
    /* Nasconde la tag esistente */
    .partnership .tag {
        display: none !important;
    }
    
    /* Titolo */
    .partnership__title {
        color: #000000 !important;
        font-weight: 600 !important;
        font-size: 1.25rem !important;
        text-align: center !important;
        margin-bottom: 1rem !important;
        padding-top: 1rem !important;
    }
    
    /* Nasconde la descrizione lunga */
    .partnership__description {
        display: none !important;
    }
    
    /* Aggiunge descrizione breve e attraente */
    .partnership__title::after {
        content: "Scopri la nostra collaborazione strategica con VANTURA nel mondo dell'arte e della cultura";
        display: block;
        font-size: 14px;
        font-weight: normal;
        color: #384256;
        margin-top: 0.5rem;
        line-height: 1.5;
    }
    
    /* Container immagine più attraente */
    .partnership__visual {
        background-color: white !important;
        border-radius: 12px !important;
        padding: 1.5rem 1.5rem 2rem !important;
        box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08) !important;
        text-align: center !important;
        position: relative !important;
        margin-top: 1rem !important;
        cursor: pointer !important;
        transition: transform 0.3s ease, box-shadow 0.3s ease !important;
    }
    
    .partnership__visual:active {
        transform: translateY(-5px) !important;
        box-shadow: 0 12px 25px rgba(0, 0, 0, 0.12) !important;
    }
    
    /* Aggiunge "call to action" sotto l'immagine */
    .partnership__visual::after {
        content: "Tocca per saperne di più";
        position: absolute;
        bottom: 10px;
        left: 0;
        width: 100%;
        text-align: center;
        font-size: 12px;
        color: var(--color-primary-600);
        font-weight: 500;
    }
    
    /* Immagine logo */
    .partnership__image {
        max-width: 220px !important;
        margin: 0 auto !important;
    }
    
    /* Styling Modal Vantura */
    .vantura-modal__content {
        background-color: white !important;
        border-radius: 16px !important;
        padding: 2rem !important;
        text-align: center !important;
    }
    
    .vantura-modal__content h3 {
        color: #000000 !important;
        font-size: 1.5rem !important;
        margin-bottom: 1rem !important;
        font-weight: 600 !important;
    }
    
    .vantura-modal__content p {
        color: #384256 !important;
        font-size: 0.9375rem !important;
        line-height: 1.6 !important;
        margin-bottom: 1rem !important;
    }
    
    .vantura-modal__content img {
        max-width: 200px !important;
        margin: 1.5rem auto !important;
    }
    
    .vantura-modal__close {
        top: 0.75rem !important;
        right: 0.75rem !important;
        background-color: rgba(242, 244, 247, 0.8) !important;
    }
}

/* ==================== RIPRISTINO VISTA DESKTOP ==================== */
@media (min-width: 992px) {
    /* Ripristino hero section */
    .hero .logo-visualizer {
        transform: none !important;
    }
    
    /* Ripristino completo layout solution */
    .solution-centered-layout {
        min-height: 540px !important;
        position: relative !important;
    }
    
    /* Ripristina il logo centrale */
    .solution-center-logo {
        display: block !important;
        position: absolute !important;
        top: 50% !important;
        left: 50% !important;
        transform: translate(-50%, -50%) !important;
        margin: 0 !important;
        width: 150px !important;
        height: 150px !important;
        border: none !important;
        box-shadow: none !important;
        background: #f3f6fb !important;
    }
    
    /* Ripristina i connettori */
    .solution-center-connector {
        display: block !important;
    }
    
    /* Ripristina il layout dei punti soluzione */
    .solution-points-container {
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
        width: 100% !important;
        height: 100% !important;
    }
    
    /* Rimuovi la linea verticale timeline */
    .solution-points-container::before {
        display: none !important;
    }
    
    /* Ripristina i punti soluzione nelle loro posizioni originali */
    .solution-point {
        position: absolute !important;
        width: 270px !important;
        max-width: calc(45% - 50px) !important;
        margin-left: 0 !important;
        border-left: none !important;
        padding: 1.25rem !important;
    }
    
    /* Rimuovi cerchio timeline */
    .solution-point::before {
        display: none !important;
    }
    
    /* Ripristina numeri punti soluzione */
    .solution-point__number {
        position: static !important;
        display: flex !important;
        width: 40px !important;
        height: 40px !important;
        background-color: var(--color-primary-600) !important;
        margin-bottom: 0.75rem !important;
        font-size: 18px !important;
    }
    
    /* Ripristina posizionamento punti agli angoli */
    .solution-point--top-left {
        top: 18px !important;
        left: 18px !important;
    }
    
    .solution-point--top-right {
        top: 18px !important;
        right: 18px !important;
    }
    
    .solution-point--bottom-left {
        bottom: 18px !important;
        left: 18px !important;
    }
    
    .solution-point--bottom-right {
        bottom: 18px !important;
        right: 18px !important;
    }
    
    /* Ripristino sezione Vantura */
    .partnership {
        background: none !important;
        text-align: left !important;
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        padding: var(--space-8) !important;
    }
    
    /* Rimuovi il nastro decorativo */
    .partnership::before {
        display: none !important;
    }
    
    /* Ripristina tag e titolo */
    .partnership .tag {
        display: inline-flex !important;
    }
    
    .partnership__title {
        text-align: left !important;
    }
    
    /* Rimuovi la descrizione breve aggiunta dopo il titolo */
    .partnership__title::after {
        display: none !important;
    }
    
    /* Ripristina descrizione originale */
    .partnership__description {
        display: block !important;
        text-align: left !important;
    }
    
    /* Ripristina visual */
    .partnership__visual {
        box-shadow: none !important;
        padding: var(--space-4) !important;
    }
    
    /* Rimuovi testo "Tocca per saperne di più" */
    .partnership__visual::after {
        display: none !important;
    }
    
    /* Ripristina immagini e visuali */
    .solution__graphic--problem,
    .solution__visual {
        display: block !important;
        opacity: 1 !important;
    }
}

/* ============================================================
   FINBLOCK - HOTFIX URGENTE
   Risoluzione immediata dei problemi critici
============================================================ */

/* ==================== VISTA MOBILE ==================== */
@media (max-width: 991px) {
  /* 1. Rimozione completa di TUTTE le righette nei menu nav */
  .mobile-menu__link::after,
  .mobile-menu__link.active::after,
  .mobile-menu__nav-link::after,
  .mobile-menu__nav-link--active::after,
  .mobile-nav__link::after,
  .mobile-nav__link--active::after,
  .header__nav-link::after,
  .header__nav-link--active::after,
  .header__nav-link.active::after {
      display: none !important;
  }
  
  /* Rimuove anche border-bottom che potrebbero creare righette */
  .mobile-menu__link,
  .mobile-menu__link.active,
  .mobile-nav__link,
  .mobile-nav__link--active,
  .header__nav-link,
  .header__nav-link.active {
      border-bottom: none !important;
  }
  
  /* Logo FinBlock nella hero più a destra */
  .hero .logo-visualizer {
      transform: translateX(60px) !important;
  }
  
  /* ===== LA SFIDA - SISTEMAZIONE EMERGENZIALE ===== */
  
  /* Forza la visibilità di tutti gli elementi */
  .tabs__panel[data-tab-panel="problem"],
  .solution__title--challenge,
  .problem-points,
  .problem-item,
  .problem-item__number,
  .problem-item__title,
  .problem-item__description {
      display: block !important;
      visibility: visible !important;
      opacity: 1 !important;
  }
  
  /* Rimuove completamente il carousel problematico */
  .problem-carousel, 
  .problem-carousel .swiper-wrapper,
  .problem-carousel .swiper-pagination {
      display: none !important;
  }
  
  /* Applica layout verticale semplice e diretto */
  .problem-points {
      display: flex !important;
      flex-direction: column !important;
      gap: 16px !important;
      margin: 20px 0 !important;
      width: 100% !important;
  }
  
  .problem-item {
      width: 100% !important;
      padding: 20px !important;
      background-color: white !important;
      border-radius: 12px !important;
      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1) !important;
      margin-bottom: 0 !important;
      position: relative !important;
  }
  
  /* ===== LA SOLUZIONE - SISTEMAZIONE EMERGENZIALE ===== */
  
  /* Rimuove completamente il carousel problematico */
  .solution-carousel, 
  .solution-carousel .swiper-wrapper,
  .solution-carousel .swiper-pagination {
      display: none !important;
  }
  
  /* Forza la visibilità di tutti gli elementi */
  .tabs__panel[data-tab-panel="solution"],
  .solution__title--centered,
  .solution-centered-layout,
  .solution-points-container,
  .solution-point,
  .solution-point__number,
  .solution-point__title,
  .solution-point__description {
      display: block !important;
      visibility: visible !important;
      opacity: 1 !important;
  }
  
  /* Sistema il layout del contenitore centrale */
  .solution-centered-layout {
      padding: 20px 0 !important;
      min-height: auto !important;
  }
  
  /* Nasconde temporaneamente il logo centrale e i connettori */
  .solution-center-logo,
  .solution-center-connector {
      display: none !important;
  }
  
  /* Applica layout verticale semplice */
  .solution-points-container {
      display: flex !important;
      flex-direction: column !important;
      gap: 16px !important;
      margin: 20px 0 !important;
      width: 100% !important;
  }
  
  /* Posizionamento corretto dei punti */
  .solution-point {
      position: static !important;
      width: 100% !important;
      max-width: 100% !important;
      padding: 20px !important;
      background-color: white !important;
      border-radius: 12px !important;
      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1) !important;
      margin: 0 !important;
  }
  
  /* Ripristina visibilità del numero */
  .solution-point__number {
      display: inline-flex !important;
      align-items: center !important;
      justify-content: center !important;
      width: 36px !important;
      height: 36px !important;
      margin-bottom: 12px !important;
  }
}

/* ==================== RIPRISTINO VISTA DESKTOP ==================== */
@media (min-width: 992px) {
  /* RIPRISTINO COMPLETO DELLA SEZIONE SOLUZIONE */
  
  /* Layout centrale */
  .solution-centered-layout {
      position: relative !important;
      width: 100% !important;
      height: 540px !important;
      margin: 0 auto !important;
      max-width: 1080px !important;
      overflow: visible !important;
      min-height: 540px !important;
  }
  
  /* Logo centrale */
  .solution-center-logo {
      display: block !important;
      position: absolute !important;
      left: 0 !important;
      right: 0 !important; 
      top: 0 !important;
      bottom: 0 !important;
      margin: auto !important;
      width: 150px !important;
      height: 150px !important;
      background-color: #f3f6fb !important;
      border-radius: 50% !important;
      display: flex !important;
      align-items: center !important;
      justify-content: center !important;
      z-index: 10 !important;
      border: 2px dashed #d6dce8 !important;
      transform: translate(-3px, -3px) !important;
  }
  
  .solution-center-logo__img {
      position: absolute !important;
      left: 0 !important;
      right: 0 !important;
      top: 0 !important;
      bottom: 0 !important;
      margin: auto !important;
      width: 85px !important;
      height: auto !important;
  }
  
  /* Connettori */
  .solution-center-connector {
      display: block !important;
      position: absolute !important;
      top: 50% !important;
      left: 50% !important;
      height: 1px !important;
      background-color: #d6dce8 !important;
      z-index: 1 !important;
      transform-origin: center !important;
  }
  
  .solution-center-connector--diagonal1 {
      width: 720px !important;
      transform: translate(-50%, -50%) rotate(45deg) !important;
  }
  
  .solution-center-connector--diagonal2 {
      width: 720px !important;
      transform: translate(-50%, -50%) rotate(-45deg) !important;
  }
  
  .solution-center-connector--horizontal {
      width: 720px !important;
      transform: translate(-50%, -50%) rotate(0deg) !important;
  }
  
  .solution-center-connector--vertical {
      width: 540px !important;
      transform: translate(-50%, -50%) rotate(90deg) !important;
  }
  
  /* Contenitore punti */
  .solution-points-container {
      position: absolute !important;
      top: 0 !important;
      left: 0 !important;
      width: 100% !important;
      height: 100% !important;
  }
  
  /* Punti ai quattro angoli */
  .solution-point {
      position: absolute !important;
      width: 270px !important;
      background-color: #ffffff !important;
      border-radius: 12px !important;
      padding: 22px !important;
      box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05) !important;
      border: 1px solid #e4e7ec !important;
      z-index: 5 !important;
  }
  
  .solution-point--top-left {
      top: 18px !important;
      left: 18px !important;
  }
  
  .solution-point--top-right {
      top: 18px !important;
      right: 18px !important;
  }
  
  .solution-point--bottom-left {
      bottom: 18px !important;
      left: 18px !important;
  }
  
  .solution-point--bottom-right {
      bottom: 18px !important;
      right: 18px !important;
  }
}

/* ============================================================
   FINBLOCK - SOLUZIONE DESKTOP PERFETTA
   CSS per garantire precisione millimetrica nella sezione soluzione
============================================================ */

@media (min-width: 992px) {
  /* Layout principale - dimensioni precise */
  .solution-centered-layout {
    position: relative !important;
    width: 100% !important;
    height: 540px !important;
    margin: 0 auto !important;
    max-width: 1080px !important;
    overflow: visible !important;
  }

  /* Logo centrale perfettamente posizionato */
  .solution-center-logo {
    position: absolute !important;
    left: 0 !important;
    right: 0 !important; 
    top: 0 !important;
    bottom: 0 !important;
    margin: auto !important;
    width: 150px !important;
    height: 150px !important;
    background-color: #f3f6fb !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    z-index: 10 !important;
    border: 2px dashed #d6dce8 !important;
    transform: translate(-3px, -3px) !important;
  }

  .solution-center-logo__img {
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    top: 0 !important;
    bottom: 0 !important;
    margin: auto !important;
    width: 85px !important;
    height: auto !important;
  }

  /* Connettori con dimensioni precise */
  .solution-center-connector {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    height: 1px !important;
    background-color: #d6dce8 !important;
    z-index: 1 !important;
    transform-origin: center !important;
  }

  .solution-center-connector--diagonal1 {
    width: 720px !important;
    transform: translate(-50%, -50%) rotate(45deg) !important;
  }

  .solution-center-connector--diagonal2 {
    width: 720px !important;
    transform: translate(-50%, -50%) rotate(-45deg) !important;
  }

  .solution-center-connector--horizontal {
    width: 720px !important;
    transform: translate(-50%, -50%) rotate(0deg) !important;
  }

  .solution-center-connector--vertical {
    width: 540px !important;
    transform: translate(-50%, -50%) rotate(90deg) !important;
  }

  /* Posizionamento preciso dei punti soluzione */
  .solution-points-container {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
  }

  .solution-point {
    position: absolute !important;
    width: 270px !important;
    background-color: #ffffff !important;
    border-radius: 12px !important;
    padding: 22px !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05) !important;
    border: 1px solid #e4e7ec !important;
    z-index: 5 !important;
  }

  .solution-point--top-left {
    top: 18px !important;
    left: 18px !important;
  }

  .solution-point--top-right {
    top: 18px !important;
    right: 18px !important;
  }

  .solution-point--bottom-left {
    bottom: 18px !important;
    left: 18px !important;
  }

  .solution-point--bottom-right {
    bottom: 18px !important;
    right: 18px !important;
  }
  
  /* Assicura che lo z-index sia corretto per tutti gli elementi */
  .solution-point__number,
  .solution-point__title,
  .solution-point__description {
    position: relative !important;
    z-index: 6 !important;
  }
}

/* ============================================================
   FINBLOCK - CORREZIONE MOBILE PER SEZIONI PROBLEMA E SOLUZIONE
   Risolve i bug di visualizzazione in vista mobile
============================================================ */

@media (max-width: 991px) {
  /* ===== CORREZIONI GENERALI ===== */
  
  /* Assicura che tutte le sezioni siano visibili */
  .section,
  .tabs__panel,
  .tabs__panel--active,
  .solution-centered-layout,
  .solution-points-container,
  .problem-points {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
  
  /* ===== CORREZIONE PROBLEMA ===== */
  
  /* Rimuove completamente il carousel problematico */
  .problem-carousel, 
  .problem-carousel .swiper-wrapper,
  .problem-carousel .swiper-pagination,
  .problem-carousel .swiper-slide {
    display: none !important;
  }
  
  /* Ripristina il layout verticale normale */
  .problem-points {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
    margin: 20px 0 !important;
    width: 100% !important;
  }
  
  /* Assicura che ogni elemento problema sia visibile */
  .problem-item {
    display: block !important;
    width: 100% !important;
    position: relative !important;
    opacity: 1 !important;
    visibility: visible !important;
    padding: 20px !important;
    background-color: white !important;
    border-radius: 12px !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1) !important;
    margin-bottom: 16px !important;
    transform: none !important;
  }
  
  .problem-item:last-child {
    margin-bottom: 0 !important;
  }
  
  /* Corregge il layout e la visualizzazione degli elementi interni */
  .problem-item__number,
  .problem-item__title,
  .problem-item__description {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
  }
  
  .problem-item__number {
    width: 40px !important;
    height: 40px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-bottom: 12px !important;
    background-color: var(--color-primary-600) !important;
    color: white !important;
    border-radius: 50% !important;
  }
  
  /* ===== CORREZIONE SOLUZIONE ===== */
  
  /* Rimuove completamente il carousel problematico */
  .solution-carousel, 
  .solution-carousel .swiper-wrapper,
  .solution-carousel .swiper-pagination,
  .solution-carousel .swiper-slide {
    display: none !important;
  }
  
  /* Layout di base */
  .solution-centered-layout {
    position: relative !important;
    padding: 20px 0 !important;
    min-height: auto !important;
  }
  
  /* Ripristina il logo centrale (opzionale) */
  .solution-center-logo {
    position: relative !important;
    width: 120px !important;
    height: 120px !important;
    margin: 0 auto 30px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background-color: #f3f6fb !important;
    border-radius: 50% !important;
    z-index: 1 !important;
  }
  
  .solution-center-logo__img {
    width: 70px !important;
  }
  
  /* Rimuove connettori se visibili */
  .solution-center-connector {
    display: none !important;
  }
  
  /* Assicura che il contenitore dei punti soluzione sia visibile */
  .solution-points-container {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
    margin: 30px 0 !important;
    width: 100% !important;
  }
  
  /* Assicura che ogni punto soluzione sia visibile */
  .solution-point {
    display: block !important;
    position: static !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 20px !important;
    background-color: white !important;
    border-radius: 12px !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1) !important;
    margin-bottom: 16px !important;
    transform: none !important;
    z-index: 1 !important;
    opacity: 1 !important;
    visibility: visible !important;
  }
  
  .solution-point:last-child {
    margin-bottom: 0 !important;
  }
  
  /* Corregge il layout e la visualizzazione degli elementi interni */
  .solution-point__number,
  .solution-point__title,
  .solution-point__description {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
  }
  
  .solution-point__number {
    width: 40px !important;
    height: 40px !important;
    background-color: var(--color-primary-600) !important;
    color: white !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-bottom: 12px !important;
  }
}

@media (max-width: 991px) {
  /* Ridisegno completo della partnership card */
  .partnership {
    background: linear-gradient(135deg, rgba(11, 57, 110, 0.05) 0%, rgba(255, 255, 255, 0) 100%) !important;
    border-radius: 16px !important;
    border: 1px solid var(--color-border-subtle) !important;
    padding: 1.5rem !important;
    margin: 2rem 0 !important;
    position: relative !important;
    overflow: hidden !important;
    text-align: center !important;
  }
  
  /* Nastro decorativo nell'angolo */
  .partnership::before {
    content: "PARTNER";
    position: absolute;
    top: 15px;
    right: -35px;
    background-color: var(--color-primary-600);
    color: white;
    font-size: 10px;
    font-weight: 600;
    padding: 3px 40px;
    transform: rotate(45deg);
    letter-spacing: 1px;
    z-index: 1;
  }
  
  /* Nasconde la tag esistente */
  .partnership .tag {
    display: none !important;
  }
  
  /* Titolo */
  .partnership__title {
    color: #000000 !important;
    font-weight: 600 !important;
    font-size: 1.25rem !important;
    text-align: center !important;
    margin-bottom: 1rem !important;
    padding-top: 1rem !important;
  }
  
  /* Nasconde la descrizione lunga */
  .partnership__description {
    display: none !important;
  }
  
  /* Aggiunge descrizione breve e attraente */
  .partnership__title::after {
    content: "Scopri la nostra collaborazione strategica con VANTURA nel mondo dell'arte e della cultura";
    display: block;
    font-size: 14px;
    font-weight: normal;
    color: #384256;
    margin-top: 0.5rem;
    line-height: 1.5;
  }
  
  /* Container immagine più attraente */
  .partnership__visual {
    background-color: white !important;
    border-radius: 12px !important;
    padding: 1.5rem 1.5rem 2rem !important;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08) !important;
    text-align: center !important;
    position: relative !important;
    margin-top: 1rem !important;
    cursor: pointer !important;
    transition: transform 0.3s ease, box-shadow 0.3s ease !important;
  }
  
  .partnership__visual:active {
    transform: translateY(-5px) !important;
    box-shadow: 0 12px 25px rgba(0, 0, 0, 0.12) !important;
  }
  
  /* Aggiunge "call to action" sotto l'immagine */
  .partnership__visual::after {
    content: "Tocca per saperne di più";
    position: absolute;
    bottom: 10px;
    left: 0;
    width: 100%;
    text-align: center;
    font-size: 12px;
    color: var(--color-primary-600);
    font-weight: 500;
  }
  
  /* Immagine logo */
  .partnership__image {
    max-width: 220px !important;
    margin: 0 auto !important;
  }
  
  /* Modal Vantura */
  .vantura-modal {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.8);
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
  }
  
  .vantura-modal.open {
    opacity: 1;
    visibility: visible;
  }
  
  .vantura-modal__content {
    background-color: white;
    border-radius: 16px;
    padding: 2rem;
    width: 90%;
    max-width: 500px;
    max-height: 85vh;
    overflow-y: auto;
    position: relative;
    transform: translateY(30px);
    transition: transform 0.3s ease;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.2);
  }
  
  .vantura-modal.open .vantura-modal__content {
    transform: translateY(0);
  }
  
  .vantura-modal__content h3 {
    font-size: 1.5rem;
    color: #000000;
    margin-bottom: 1rem;
    text-align: center;
    font-weight: 600;
  }
  
  .vantura-modal__content p {
    font-size: 0.9375rem;
    line-height: 1.6;
    color: #384256;
    margin-bottom: 1rem;
    text-align: center;
  }
  
  .vantura-modal__content img {
    max-width: 200px;
    height: auto;
    margin: 1.5rem auto;
    display: block;
  }
  
  .vantura-modal__close {
    position: absolute;
    top: 15px;
    right: 15px;
    width: 36px;
    height: 36px;
    background-color: #f2f4f7;
    border: none;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: 18px;
    color: #384256;
    transition: background-color 0.3s ease;
  }
  
  .vantura-modal__close:active {
    background-color: #e4e7ec;
  }
}

/* ============================================================
   FINBLOCK - CORREZIONE SOVRAPPOSIZIONE SEZIONE LA SOLUZIONE
   Risolve il problema di sovrapposizione degli elementi nella vista desktop
============================================================ */

@media (min-width: 992px) {
  /* Contenitore principale con dimensioni corrette e posizione relativa */
  .solution-centered-layout {
    position: relative !important;
    width: 100% !important;
    height: 540px !important;
    margin: 0 auto !important;
    max-width: 1080px !important;
    overflow: visible !important;
  }

  /* Logo centrale - dimensioni e posizione precise */
  .solution-center-logo {
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    transform: translate(-50%, -50%) !important;
    width: 150px !important;
    height: 150px !important;
    background-color: #f3f6fb !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    z-index: 10 !important;
    border: 2px dashed #d6dce8 !important;
    margin: 0 !important; /* Rimuove tutti i margini */
  }

  .solution-center-logo__img {
    width: 85px !important;
    height: auto !important;
    position: relative !important;
    z-index: 11 !important;
  }

  /* Contenitore dei punti - deve coprire l'intera area */
  .solution-points-container {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    z-index: 5 !important;
  }

  /* Stile base per tutti i punti */
  .solution-point {
    position: absolute !important;
    width: 270px !important;
    max-width: 270px !important;
    background-color: #ffffff !important;
    border-radius: 12px !important;
    padding: 22px !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05) !important;
    border: 1px solid #e4e7ec !important;
    z-index: 6 !important;
    overflow: visible !important;
  }

  /* Posizionamento preciso di ciascun punto */
  .solution-point--top-left {
    top: 20px !important;
    left: 20px !important;
  }

  .solution-point--top-right {
    top: 20px !important;
    right: 20px !important;
  }

  .solution-point--bottom-left {
    bottom: 20px !important;
    left: 20px !important;
  }

  .solution-point--bottom-right {
    bottom: 20px !important;
    right: 20px !important;
  }

  /* Assicura che i contenuti dei punti siano sopra le linee */
  .solution-point__number,
  .solution-point__title,
  .solution-point__description {
    position: relative !important;
    z-index: 7 !important;
  }

  /* Linee di connessione al centro - sotto i punti ma sopra lo sfondo */
  .solution-center-connector {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    height: 1px !important;
    background-color: #d6dce8 !important;
    z-index: 4 !important; /* Z-index inferiore ai punti */
    transform-origin: center !important;
  }

  /* Imposta dimensioni e rotazione precise per ciascun connettore */
  .solution-center-connector--diagonal1 {
    width: 720px !important;
    transform: translate(-50%, -50%) rotate(45deg) !important;
  }

  .solution-center-connector--diagonal2 {
    width: 720px !important;
    transform: translate(-50%, -50%) rotate(-45deg) !important;
  }

  .solution-center-connector--horizontal {
    width: 720px !important;
    transform: translate(-50%, -50%) rotate(0deg) !important;
  }

  .solution-center-connector--vertical {
    width: 540px !important;
    transform: translate(-50%, -50%) rotate(90deg) !important;
  }
  
  /* Fix per impedire sovrapposizioni indesiderate */
  .tabs__panel[data-tab-panel="solution"] {
    position: relative !important;
    z-index: 1 !important;
    overflow: visible !important;
  }
  
  /* Impedisce a eventuali altri elementi di sovrapporsi */
  .solution__title--centered {
    position: relative !important;
    z-index: 5 !important;
  }
  
  /* Aggiungi un background leggermente visibile attorno al logo per migliorare la visibilità */
  .solution-center-logo::after {
    content: "" !important;
    position: absolute !important;
    top: -10px !important;
    left: -10px !important;
    right: -10px !important;
    bottom: -10px !important;
    background-color: rgba(255, 255, 255, 0.6) !important;
    border-radius: 50% !important;
    z-index: 9 !important;
  }
}

/* ============================================================
   FINBLOCK - CORREZIONE LAYOUT HOMEPAGE
   Risolve i problemi di visualizzazione nella homepage
============================================================ */

/* Sistemazione spazi e allineamento generale */
.section {
  padding: 4rem 0 !important;
  position: relative !important;
  overflow: visible !important;
  clear: both !important;
}

/* Miglioramento area visione */
.platform .section__header {
  max-width: 800px !important;
  margin: 0 auto 3rem !important;
  text-align: center !important;
}

.section__title {
  font-size: 2.5rem !important;
  line-height: 1.2 !important;
  margin-bottom: 1.5rem !important;
  color: #000000 !important;
  font-weight: 600 !important;
}

.section__subtitle {
  font-size: 1.25rem !important;
  line-height: 1.6 !important;
  color: #384256 !important;
  max-width: 80% !important;
  margin: 0 auto !important;
}

/* Fix della parte tabs La Sfida/La Soluzione */
.tabs {
  width: 100% !important;
  max-width: 1080px !important;
  margin: 0 auto !important;
  position: relative !important;
  z-index: 1 !important;
}

.tabs__header {
  display: flex !important;
  justify-content: center !important;
  margin-bottom: 3rem !important;
  position: relative !important;
  z-index: 2 !important;
}

.tabs__button {
  min-width: 180px !important;
  padding: 1rem 2rem !important;
  font-size: 1.125rem !important;
  font-weight: 500 !important;
  border-radius: 50px !important;
  background-color: #f2f4f7 !important;
  color: #384256 !important;
  border: none !important;
  transition: all 0.3s ease !important;
  margin: 0 0.5rem !important;
  text-align: center !important;
}

.tabs__button--active {
  background-color: #0b396e !important;
  color: white !important;
  box-shadow: 0 4px 15px rgba(11, 57, 110, 0.2) !important;
}

/* Fix della parte problema */
.tabs__panel[data-tab-panel="problem"] {
  opacity: 1 !important;
  visibility: visible !important;
  display: block !important;
  position: relative !important;
  z-index: 1 !important;
}

.solution__title--challenge {
  font-size: 2rem !important;
  margin-bottom: 2rem !important;
  text-align: center !important;
  color: #000000 !important;
  font-weight: 600 !important;
}

.solution__grid--challenge {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 2rem !important;
}

.problem-points {
  display: flex !important;
  flex-direction: column !important;
  gap: 1.5rem !important;
  width: 100% !important;
}

.problem-item {
  background-color: white !important;
  border-radius: 1rem !important;
  padding: 1.5rem !important;
  box-shadow: 0 5px 20px rgba(0, 0, 0, 0.08) !important;
  display: flex !important;
  align-items: flex-start !important;
  gap: 1.25rem !important;
  border-left: 4px solid #0b396e !important;
}

.problem-item__number {
  width: 42px !important;
  height: 42px !important;
  background-color: #0b396e !important;
  color: white !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-weight: 600 !important;
  flex-shrink: 0 !important;
}

.problem-item__content {
  flex: 1 !important;
}

.problem-item__title {
  font-size: 1.25rem !important;
  margin-bottom: 0.75rem !important;
  color: #0b396e !important;
  font-weight: 600 !important;
}

.problem-item__description {
  font-size: 1rem !important;
  line-height: 1.6 !important;
  color: #384256 !important;
}

/* Fix layout responsive generale */
@media (min-width: 992px) {
  .solution__grid--challenge {
    grid-template-columns: 1fr 1fr !important;
    align-items: center !important;
  }
  
  .problem-points {
    padding: 0 2rem !important;
  }
}

@media (max-width: 991px) {
  .section__title {
    font-size: 1.75rem !important;
  }
  
  .section__subtitle {
    font-size: 1rem !important;
    max-width: 95% !important;
  }
  
  .tabs__button {
    min-width: 140px !important;
    padding: 0.75rem 1rem !important;
    font-size: 1rem !important;
  }
  
  .problem-item {
    flex-direction: column !important;
  }
  
  .problem-item__number {
    margin-bottom: 1rem !important;
  }
}

/* ============================================================
   FINBLOCK - CORREZIONI FINALI
   Risolve:
   1. Centratura logo FinBlock da mobile
   2. Layout sezione "La Soluzione" da PC
   3. Sezioni "Il Problema" e "La Soluzione" da mobile
============================================================ */

/* ==================== 1. CENTRATURA LOGO MOBILE ==================== */
@media (max-width: 991px) {
  /* Centratura perfetta del logo nella hero section */
  .hero__visual {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    z-index: 0 !important;
    opacity: 0.2 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  
  .logo-visualizer {
    position: relative !important;
    transform: none !important; /* Rimuove translateX precedente */
    margin: 0 auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  
  .logo-visualizer__model {
    position: relative !important;
    left: 0 !important;
    transform: none !important;
    margin: 0 auto !important;
  }
  
  .logo-visualizer__image {
    position: relative !important;
    left: 0 !important;
    transform: none !important;
    margin: 0 auto !important;
    display: block !important;
  }
}

/* ==================== 2. FIX SEZIONE "LA SOLUZIONE" DA PC ==================== */
@media (min-width: 992px) {
  /* Contenitore principale con layout corretto */
  .solution-centered-layout {
    position: relative !important;
    width: 100% !important;
    height: 600px !important; /* Aumentato per dare più spazio */
    margin: 0 auto !important;
    max-width: 1200px !important; /* Aumentato per evitare sovrapposizioni */
    overflow: visible !important;
    padding: 40px 20px !important;
  }

  /* Logo centrale perfettamente centrato */
  .solution-center-logo {
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    transform: translate(-50%, -50%) !important;
    width: 160px !important;
    height: 160px !important;
    background-color: #f3f6fb !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    z-index: 10 !important;
    border: 3px solid #e5eaf1 !important;
    box-shadow: 0 8px 24px rgba(11, 57, 110, 0.1) !important;
  }

  .solution-center-logo__img {
    width: 90px !important;
    height: auto !important;
    position: relative !important;
    z-index: 11 !important;
  }

  /* Contenitore dei punti con spazio adeguato */
  .solution-points-container {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    z-index: 5 !important;
  }

  /* Punti con dimensioni ottimizzate e posizionamento preciso */
  .solution-point {
    position: absolute !important;
    width: 280px !important; /* Leggermente più larghi */
    max-width: calc(45% - 80px) !important; /* Più spazio dal centro */
    background-color: #ffffff !important;
    border-radius: 16px !important;
    padding: 24px !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08) !important;
    border: 1px solid #e4e7ec !important;
    z-index: 6 !important;
    transition: transform 0.3s ease, box-shadow 0.3s ease !important;
  }

  .solution-point:hover {
    transform: translateY(-5px) !important;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12) !important;
  }

  /* Posizionamento preciso con più margine */
  .solution-point--top-left {
    top: 30px !important;
    left: 30px !important;
  }

  .solution-point--top-right {
    top: 30px !important;
    right: 30px !important;
  }

  .solution-point--bottom-left {
    bottom: 30px !important;
    left: 30px !important;
  }

  .solution-point--bottom-right {
    bottom: 30px !important;
    right: 30px !important;
  }

  /* Connettori ridimensionati per evitare sovrapposizioni */
  .solution-center-connector {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    height: 1px !important;
    background-color: #d6dce8 !important;
    z-index: 4 !important;
    transform-origin: center !important;
  }

  .solution-center-connector--diagonal1,
  .solution-center-connector--diagonal2 {
    width: 650px !important; /* Ridotto da 720px */
  }

  .solution-center-connector--horizontal {
    width: 650px !important; /* Ridotto da 720px */
  }

  .solution-center-connector--vertical {
    width: 500px !important; /* Ridotto da 540px */
  }
}

/* ==================== 3. FIX SEZIONI MOBILE "IL PROBLEMA" E "LA SOLUZIONE" ==================== */
@media (max-width: 991px) {
  /* Tab attivi sempre visibili */
  .tabs__panel {
    display: none !important;
  }
  
  .tabs__panel--active {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  /* === SEZIONE "IL PROBLEMA" MOBILE === */
  .solution__title--challenge {
    font-size: 1.75rem !important;
    text-align: center !important;
    margin-bottom: 2rem !important;
    color: #000000 !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
  }

  /* Rimuove completamente immagini di sfondo */
  .solution__visual,
  .solution__graphic {
    display: none !important;
  }

  /* Layout verticale pulito per i problemi */
  .problem-points {
    display: flex !important;
    flex-direction: column !important;
    gap: 20px !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
  }

  .problem-item {
    display: block !important;
    width: 100% !important;
    position: relative !important;
    opacity: 1 !important;
    visibility: visible !important;
    padding: 24px !important;
    background-color: white !important;
    border-radius: 16px !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08) !important;
    margin-bottom: 0 !important;
    transform: none !important;
    border-left: 4px solid var(--color-primary-600) !important;
  }

  .problem-item__number {
    width: 44px !important;
    height: 44px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-bottom: 16px !important;
    background-color: var(--color-primary-600) !important;
    color: white !important;
    border-radius: 50% !important;
    font-weight: 600 !important;
    font-size: 18px !important;
  }

  .problem-item__title {
    font-size: 1.125rem !important;
    font-weight: 600 !important;
    margin-bottom: 12px !important;
    color: #000000 !important;
    line-height: 1.4 !important;
  }

  .problem-item__description {
    font-size: 0.9375rem !important;
    line-height: 1.6 !important;
    color: #384256 !important;
  }

  /* === SEZIONE "LA SOLUZIONE" MOBILE === */
  .solution__title--centered {
    font-size: 1.75rem !important;
    text-align: center !important;
    margin-bottom: 2rem !important;
    color: #000000 !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
  }

  /* Layout semplificato senza logo centrale */
  .solution-centered-layout {
    position: relative !important;
    padding: 0 !important;
    min-height: auto !important;
  }

  /* Nasconde logo centrale e connettori */
  .solution-center-logo,
  .solution-center-connector {
    display: none !important;
  }

  /* Layout verticale per i punti soluzione */
  .solution-points-container {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 20px !important;
    margin: 0 !important;
    width: 100% !important;
  }

  .solution-point {
    display: block !important;
    position: static !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 24px !important;
    background-color: white !important;
    border-radius: 16px !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08) !important;
    margin-bottom: 0 !important;
    transform: none !important;
    z-index: 1 !important;
    opacity: 1 !important;
    visibility: visible !important;
    border-left: 4px solid var(--color-primary-600) !important;
  }

  .solution-point__number {
    width: 44px !important;
    height: 44px !important;
    background-color: var(--color-primary-600) !important;
    color: white !important;
    border-radius: 50% !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-bottom: 16px !important;
    font-weight: 600 !important;
    font-size: 18px !important;
  }

  .solution-point__title {
    font-size: 1.125rem !important;
    font-weight: 600 !important;
    margin-bottom: 12px !important;
    color: #000000 !important;
    line-height: 1.4 !important;
  }

  .solution-point__description {
    font-size: 0.9375rem !important;
    line-height: 1.6 !important;
    color: #384256 !important;
  }

  /* Tabs sempre centrati e ben visibili */
  .tabs__header {
    display: flex !important;
    justify-content: center !important;
    gap: 12px !important;
    margin-bottom: 2rem !important;
    padding: 0 !important;
  }

  .tabs__button {
    flex: 1 !important;
    max-width: 160px !important;
    padding: 12px 20px !important;
    font-size: 0.9375rem !important;
    font-weight: 500 !important;
    border-radius: 30px !important;
    background-color: #f2f4f7 !important;
    color: #384256 !important;
    border: none !important;
    transition: all 0.3s ease !important;
    text-align: center !important;
  }

  .tabs__button--active {
    background-color: #0b396e !important;
    color: white !important;
    box-shadow: 0 4px 12px rgba(11, 57, 110, 0.2) !important;
  }
}

/* ==================== CORREZIONI AGGIUNTIVE GLOBALI ==================== */

/* Assicura che tutti gli elementi siano sempre visibili */
.tabs__panel--active *,
.problem-points *,
.solution-points-container * {
  opacity: 1 !important;
  visibility: visible !important;
}

/* Rimuove animazioni che potrebbero causare problemi */
@media (max-width: 991px) {
  .problem-item,
  .solution-point,
  .tabs__panel {
    animation: none !important;
    transition: transform 0.3s ease, box-shadow 0.3s ease !important;
  }
}

/* Fix per scroll orizzontale indesiderato */
@media (max-width: 991px) {
  .solution,
  .tabs,
  .tabs__content {
    overflow-x: hidden !important;
  }
}

/* ----------------------------------------------------
   FIX "LA SOLUZIONE" SECTION PER DESKTOP (≥992px)
---------------------------------------------------- */
@media (min-width: 992px) {
  /* Allarga il contenitore e aumenta il padding verticale */
  .solution-centered-layout {
    height: 600px;
    padding: 40px 0;
  }

  /* Centra con precisione il logo */
  .solution-center-logo {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    margin: 0;
  }

  /* Rende visibili i connettori */
  .solution-center-connector {
    display: block;
  }

  /* Posiziona i punti sui quattro angoli */
  .solution-points-container {
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
  }
}

/* ----------------------------------------------------
   FIX "LA SFIDA" E "LA SOLUZIONE" PER MOBILE (<992px)
   + RIMUOVI LOGO HERO BACKGROUND SU MOBILE
---------------------------------------------------- */
@media (max-width: 991px) {
  /* 1) Rimuovi il logo FinBlock come sfondo della hero */
  .hero__visual {
    display: none !important;
    opacity: 0 !important;
  }

  /* 2) "La Sfida": rimuovi qualsiasi background/image */
  .tabs__panel[data-tab-panel="problem"]::before,
  .solution__visual,
  .tabs__panel[data-tab-panel="problem"] .solution__graphic {
    display: none !important;
    opacity: 0 !important;
  }
  /* disponi i problem-item in colonna */
  .problem-points {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
    margin: 0 1rem !important;
  }

  /* 3) "La Soluzione": nascondi logo e connettori */
  .tabs__panel[data-tab-panel="solution"] .solution-center-logo,
  .tabs__panel[data-tab-panel="solution"] .solution-center-connector {
    display: none !important;
    opacity: 0 !important;
  }
  /* disponi soluzione-point in colonna */
  .solution-points-container {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
    margin: 0 1rem !important;
  }
}

/* ----------------------------------------------------
   1) DESKTOP: Correzione layout "La Soluzione" (≥992px)
---------------------------------------------------- */
@media (min-width: 992px) {
  .solution-centered-layout {
    position: relative !important;
    width: 100% !important;
    height: 600px !important;
    margin: 0 auto !important;
    padding: 40px 0 !important;
    overflow: visible !important;
  }
  .solution-center-logo {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    margin: 0 !important;
  }
  .solution-center-connector {
    display: block !important;
  }
  .solution-points-container {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
  }
}

/* ----------------------------------------------------
   2) MOBILE: rimuovi logo hero e sistema "La Sfida" e "La Soluzione" (<992px)
---------------------------------------------------- */
@media (max-width: 991px) {
  /* Hero: nascondi visual di background */
  .hero__visual,
  .logo-visualizer,
  .logo-visualizer__model {
    display: none !important;
    opacity: 0 !important;
  }

  /* "La Sfida": rimuovi background, impila i card verticalmente */
  .tabs__panel[data-tab-panel="problem"]::before,
  .solution__graphic--problem,
  .solution__visual {
    display: none !important;
    opacity: 0 !important;
  }
  .solution__grid--challenge .problem-points {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
    margin: 0 1rem !important;
  }

  /* "La Soluzione": rimuovi logo centrale e connettori, impila i punti verticalmente */
  .tabs__panel[data-tab-panel="solution"] .solution-center-logo,
  .tabs__panel[data-tab-panel="solution"] .solution-center-connector {
    display: none !important;
    opacity: 0 !important;
  }
  .solution-points-container {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
    margin: 0 1rem !important;
  }
}
@media screen and (max-width: 768px) {
  .mobile-hidden {
      display: none !important;
  }
}

@media screen and (max-width: 768px) {
  .section__header {
      margin-bottom: 1.5rem !important;
  }

  .feature-item {
      margin-bottom: 1.5rem !important;
  }

  .feature-item + .feature-item {
      margin-top: 0 !important;
  }

  .feature-list {
      gap: 1.5rem !important; /* Se usi Flex o Grid */
  }

  .section__title,
  .section__subtitle {
      margin-bottom: 0.75rem !important;
  }
}

@media screen and (max-width: 768px) {
  .feature-item {
    margin-bottom: 1rem !important; /* Riduci da valori troppo alti tipo 3rem */
  }

  .feature-list {
    gap: 1rem !important; /* Se usi Flex/Grid */
  }
}

@media screen and (max-width: 768px) {
  .section__header {
    margin-bottom: 1rem !important; /* riduci lo spazio sotto il titolo */
  }

  .feature-item {
    margin-bottom: 0.75rem !important; /* ancora più vicino tra le card */
  }

  .feature-item__title {
    margin-bottom: 0.25rem !important; /* riduci spazio interno se serve */
  }

  .feature-item__description {
    margin-top: 0 !important;
  }

  .feature-list {
    gap: 0.75rem !important; /* se usi flex o grid con gap */
  }
}

@media (max-width: 991px) {
  .header__logo-img {
    display: none !important;
  }
}

@media (max-width: 991px) {
  .platform__image.platform__image--main {
    display: none !important;
  }
}