.elementor-5858 .elementor-element.elementor-element-6de61e9{--display:flex;--background-transition:0.3s;}.elementor-5858 .elementor-element.elementor-element-37a73b5{--display:flex;--gap:0px 0px;--background-transition:0.3s;--padding-top:45px;--padding-bottom:50px;--padding-left:50px;--padding-right:50px;}.elementor-5858 .elementor-element.elementor-element-37a73b5:not(.elementor-motion-effects-element-type-background), .elementor-5858 .elementor-element.elementor-element-37a73b5 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#091722;}.elementor-5858 .elementor-element.elementor-element-37a73b5, .elementor-5858 .elementor-element.elementor-element-37a73b5::before{--border-transition:0.3s;}.elementor-5858 .elementor-element.elementor-element-a2c7cd1{text-align:center;}.elementor-5858 .elementor-element.elementor-element-a2c7cd1 .elementor-heading-title{color:var( --e-global-color-a2a9c34 );}.elementor-5858 .elementor-element.elementor-element-c9848eb .elementor-repeater-item-3a345e1.clients_item img:not(.lazyload),
		             .elementor-5858 .elementor-element.elementor-element-c9848eb .elementor-repeater-item-3a345e1.clients_item img.lazyloaded{width:200px;}.elementor-5858 .elementor-element.elementor-element-c9848eb.link_on-wrapper .elementor-repeater-item-3a345e1.clients_item .mask_image{-webkit-mask-size:200px;}.elementor-5858 .elementor-element.elementor-element-c9848eb .elementor-repeater-item-8d6e83f.clients_item img:not(.lazyload),
		             .elementor-5858 .elementor-element.elementor-element-c9848eb .elementor-repeater-item-8d6e83f.clients_item img.lazyloaded{width:450px;}.elementor-5858 .elementor-element.elementor-element-c9848eb.link_on-wrapper .elementor-repeater-item-8d6e83f.clients_item .mask_image{-webkit-mask-size:450px;}.elementor-5858 .elementor-element.elementor-element-c9848eb .elementor-repeater-item-d5f55ac.clients_item img:not(.lazyload),
		             .elementor-5858 .elementor-element.elementor-element-c9848eb .elementor-repeater-item-d5f55ac.clients_item img.lazyloaded{width:177px;}.elementor-5858 .elementor-element.elementor-element-c9848eb.link_on-wrapper .elementor-repeater-item-d5f55ac.clients_item .mask_image{-webkit-mask-size:177px;}.elementor-5858 .elementor-element.elementor-element-c9848eb .elementor-repeater-item-1b33ca8.clients_item img:not(.lazyload),
		             .elementor-5858 .elementor-element.elementor-element-c9848eb .elementor-repeater-item-1b33ca8.clients_item img.lazyloaded{width:337px;}.elementor-5858 .elementor-element.elementor-element-c9848eb.link_on-wrapper .elementor-repeater-item-1b33ca8.clients_item .mask_image{-webkit-mask-size:337px;}.elementor-5858 .elementor-element.elementor-element-c9848eb .elementor-repeater-item-b458a4f.clients_item img:not(.lazyload),
		             .elementor-5858 .elementor-element.elementor-element-c9848eb .elementor-repeater-item-b458a4f.clients_item img.lazyloaded{width:236px;}.elementor-5858 .elementor-element.elementor-element-c9848eb.link_on-wrapper .elementor-repeater-item-b458a4f.clients_item .mask_image{-webkit-mask-size:236px;}.elementor-5858 .elementor-element.elementor-element-c9848eb .elementor-repeater-item-41af7bd.clients_item img:not(.lazyload),
		             .elementor-5858 .elementor-element.elementor-element-c9848eb .elementor-repeater-item-41af7bd.clients_item img.lazyloaded{width:364px;}.elementor-5858 .elementor-element.elementor-element-c9848eb.link_on-wrapper .elementor-repeater-item-41af7bd.clients_item .mask_image{-webkit-mask-size:364px;}.elementor-5858 .elementor-element.elementor-element-c9848eb .elementor-repeater-item-15fe052.clients_item img:not(.lazyload),
		             .elementor-5858 .elementor-element.elementor-element-c9848eb .elementor-repeater-item-15fe052.clients_item img.lazyloaded{width:135px;}.elementor-5858 .elementor-element.elementor-element-c9848eb.link_on-wrapper .elementor-repeater-item-15fe052.clients_item .mask_image{-webkit-mask-size:135px;}.elementor-5858 .elementor-element.elementor-element-c9848eb.link_on-image .clients_image{justify-content:center;-webkit-mask-position-x:center;align-items:center;-webkit-mask-position-y:center;}.elementor-5858 .elementor-element.elementor-element-c9848eb.link_on-wrapper .image_wrapper{justify-content:center;-webkit-mask-position-x:center;align-items:center;-webkit-mask-position-y:center;}.elementor-5858 .elementor-element.elementor-element-c9848eb .wgl-clients .swiper-wrapper{align-items:center;-webkit-mask-position-y:center;}.elementor-5858 .elementor-element.elementor-element-c9848eb .swiper-wrapper{align-items:center;}.elementor-5858 .elementor-element.elementor-element-c9848eb .swiper-vertical,
                         .elementor-5858 .elementor-element.elementor-element-c9848eb .animation-direction-vertical{cursor:ns-resize;}.elementor-5858 .elementor-element.elementor-element-c9848eb .swiper-horizontal,
                         .elementor-5858 .elementor-element.elementor-element-c9848eb .animation-direction-horizontal{cursor:w-resize;}.elementor-5858 .elementor-element.elementor-element-c9848eb .clients_item{--gap:30px;}.elementor-5858 .elementor-element.elementor-element-c9848eb .clients_image{min-height:120px;transition:0.4s;}.elementor-5858 .elementor-element.elementor-element-c9848eb .image_wrapper.mask_image{background-color:#FFFFFF;}.elementor-5858 .elementor-element.elementor-element-c9848eb .image_wrapper.mask_image img{visibility:hidden !important;}.elementor-5858 .elementor-element.elementor-element-6bad9e8{--spacer-size:62px;}.elementor-5858 .elementor-element.elementor-element-2dc6f71 .dblh__title-wrapper{font-size:28px;}.elementor-5858 .elementor-element.elementor-element-2dc6f71 .dblh__title{display:inline;}.elementor-5858 .elementor-element.elementor-element-2dc6f71 .dblh__title-1{color:var( --e-global-color-accent );}.elementor-5858 .elementor-element.elementor-element-2dc6f71 .wgl-double-heading .dblh__subtitle::before{border-radius:0px 4px 4px 0px;}.elementor-5858 .elementor-element.elementor-element-2dc6f71 .wgl-double-heading .dblh__subtitle::after{border-radius:4px 0px 0px 4px;}.elementor-5858 .elementor-element.elementor-element-2dc6f71 .wgl-double-heading .dblh__subtitle::before,
                     .elementor-5858 .elementor-element.elementor-element-2dc6f71 .wgl-double-heading .dblh__subtitle::after{width:12px;height:8px;}.elementor-5858 .elementor-element.elementor-element-157e28a{--spacer-size:10px;}.elementor-5858 .elementor-element.elementor-element-97e74ed input[type="text"]:focus,
                     .elementor-5858 .elementor-element.elementor-element-97e74ed input[type="url"]:focus,
                     .elementor-5858 .elementor-element.elementor-element-97e74ed input[type="search"]:focus,
                     .elementor-5858 .elementor-element.elementor-element-97e74ed input[type="email"]:focus,
                     .elementor-5858 .elementor-element.elementor-element-97e74ed input[type="password"]:focus,
                     .elementor-5858 .elementor-element.elementor-element-97e74ed input[type="tel"]:focus,
                     .elementor-5858 .elementor-element.elementor-element-97e74ed input[type="time"]:focus,
                     .elementor-5858 .elementor-element.elementor-element-97e74ed input[type="number"]:focus,
                     .elementor-5858 .elementor-element.elementor-element-97e74ed input[type="date"]:focus,
                     .elementor-5858 .elementor-element.elementor-element-97e74ed select:focus,
                     .elementor-5858 .elementor-element.elementor-element-97e74ed textarea:focus{color:var( --e-global-color-141e80a );}.elementor-5858 .elementor-element.elementor-element-97e74ed .wpcf7-submit{margin:5px 0px 0px 0px;}.elementor-5858 .elementor-element.elementor-element-97e74ed .wgl-button.has-animated-bg .wpcf7-submit{margin:0;}.elementor-5858 .elementor-element.elementor-element-97e74ed .wgl-button-cf7 .wpcf7-submit{margin:0;}.elementor-5858 .elementor-element.elementor-element-97e74ed .wgl-button.has-animated-bg{margin:5px 0px 0px 0px;}.elementor-5858 .elementor-element.elementor-element-97e74ed .wgl-button-cf7{margin:5px 0px 0px 0px;}.elementor-5858 .elementor-element.elementor-element-153271f{--display:flex;--background-transition:0.3s;}.elementor-5858 .elementor-element.elementor-element-9a8c866{--spacer-size:50px;}.elementor-5858 .elementor-element.elementor-element-aa3f6a4{text-align:center;}.elementor-5858 .elementor-element.elementor-element-aa3f6a4 .elementor-heading-title{color:var( --e-global-color-141e80a );}.elementor-5858 .elementor-element.elementor-element-00dae7d{--grid-template-columns:repeat(0, auto);--grid-column-gap:5px;--grid-row-gap:0px;}.elementor-5858 .elementor-element.elementor-element-00dae7d .elementor-widget-container{text-align:center;}.elementor-5858 .elementor-element.elementor-element-83825da{--spacer-size:50px;}body.elementor-page-5858 #main.site-main{z-index:0;}@media(max-width:1200px){.elementor-5858 .elementor-element.elementor-element-37a73b5{--padding-top:30px;--padding-bottom:30px;--padding-left:30px;--padding-right:30px;}.elementor-5858 .elementor-element.elementor-element-6bad9e8{--spacer-size:30px;}.elementor-5858 .elementor-element.elementor-element-2dc6f71 .dblh__title-wrapper{font-size:28px;}}@media(max-width:767px){.elementor-5858 .elementor-element.elementor-element-2dc6f71 .dblh__title-wrapper{font-size:24px;}}/* Start custom CSS for html, class: .elementor-element-1bf245f *//* ============================================================
   5senses.it — Custom CSS per Elementor
   Da incollare in: Elementor > Sito > CSS Personalizzato
   OPPURE: Aspetto > Personalizza > CSS Aggiuntivo
   ============================================================
   Tutti gli stili sono isolati sotto il namespace .ss5
   per evitare conflitti con WordPress/Elementor
   ============================================================ */

/* ---------- GOOGLE FONTS (già caricate via HTML, ma le ridefiniamo qui) ---------- */
@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;600;700;800&family=Manrope:wght@400;500;600;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:wght,FILL@100..700,0..1&display=swap');

/* ---------- CSS CUSTOM PROPERTIES (Design Tokens) ---------- */
.ss5 {
  /* Colori */
  --ss5-on-primary-fixed: #000e5f;
  --ss5-background: #f7f9ff;
  --ss5-tertiary: #414d59;
  --ss5-primary-fixed: #dfe0ff;
  --ss5-inverse-primary: #bbc3ff;
  --ss5-on-background: #0f1d28;
  --ss5-tertiary-fixed-dim: #bcc8d6;
  --ss5-on-secondary-container: #005370;
  --ss5-on-surface-variant: #454652;
  --ss5-outline-variant: #c6c5d4;
  --ss5-primary-container: #4e5cb7;
  --ss5-on-secondary-fixed: #001e2c;
  --ss5-surface-container-high: #dceafa;
  --ss5-secondary: #006688;
  --ss5-surface-container-low: #ecf4ff;
  --ss5-on-tertiary-container: #d6e2f1;
  --ss5-surface-container-highest: #d6e4f4;
  --ss5-outline: #767683;
  --ss5-surface-variant: #d6e4f4;
  --ss5-tertiary-fixed: #d8e4f2;
  --ss5-secondary-fixed-dim: #77d1ff;
  --ss5-primary-fixed-dim: #bbc3ff;
  --ss5-tertiary-container: #596571;
  --ss5-error-container: #ffdad6;
  --ss5-surface-dim: #cddceb;
  --ss5-surface-tint: #4856b1;
  --ss5-surface-bright: #f7f9ff;
  --ss5-surface-container: #e2efff;
  --ss5-surface-container-lowest: #ffffff;
  --ss5-on-primary-container: #dddfff;
  --ss5-on-tertiary-fixed-variant: #3c4854;
  --ss5-inverse-surface: #24323e;
  --ss5-secondary-fixed: #c2e8ff;
  --ss5-on-tertiary-fixed: #111d27;
  --ss5-on-primary-fixed-variant: #2f3d98;
  --ss5-on-secondary-fixed-variant: #004d68;
  --ss5-primary: #35439d;
  --ss5-on-error: #ffffff;
  --ss5-on-primary: #ffffff;
  --ss5-on-secondary: #ffffff;
  --ss5-surface: #f7f9ff;
  --ss5-error: #ba1a1a;
  --ss5-on-tertiary: #ffffff;
  --ss5-on-surface: #0f1d28;
  --ss5-on-error-container: #93000a;
  --ss5-inverse-on-surface: #e7f2ff;
  --ss5-secondary-container: #5dcafd;

  /* Typography */
  --ss5-font-headline: 'Plus Jakarta Sans', sans-serif;
  --ss5-font-body: 'Manrope', sans-serif;

  /* Spacing / radius */
  --ss5-radius-sm: 1rem;
  --ss5-radius-md: 2rem;
  --ss5-radius-lg: 3rem;
  --ss5-radius-full: 9999px;
}

/* ---------- RESET SCOPED ---------- */
.ss5 *, .ss5 *::before, .ss5 *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

.ss5 {
  font-family: var(--ss5-font-body);
  color: var(--ss5-on-surface);
  background-color: var(--ss5-surface);
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}

.ss5 ::selection {
  background: var(--ss5-primary-fixed);
  color: var(--ss5-on-primary-fixed);
}

/* ---------- MATERIAL SYMBOLS ---------- */
.ss5 .material-symbols-outlined {
  font-family: 'Material Symbols Outlined';
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  display: inline-block;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  -webkit-font-feature-settings: 'liga';
  font-feature-settings: 'liga';
  -webkit-font-smoothing: antialiased;
  font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
}

/* ---------- UTILITY CLASSI ---------- */
.ss5 .ss5-glass-card {
  background: rgba(255, 255, 255, 0.4);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
}

.ss5 .ss5-breathing-pulse {
  position: relative;
}
.ss5 .ss5-breathing-pulse::before {
  content: '';
  position: absolute;
  inset: -10px;
  background: rgba(53, 67, 157, 0.1);
  border-radius: 50%;
  z-index: -1;
  animation: ss5-pulse 4s ease-in-out infinite;
}

@keyframes ss5-pulse {
  0%, 100% { transform: scale(1); opacity: 0.1; }
  50%       { transform: scale(1.5); opacity: 0.3; }
}

/* ---------- NAVBAR ---------- */
.ss5 .ss5-nav {
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 9999; /* alto per stare sopra Elementor */
  background: rgba(255, 255, 255, 0.6);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  box-shadow: 0 20px 40px rgba(15, 29, 40, 0.04);
}
.ss5 .ss5-nav-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-width: 80rem;
  margin: 0 auto;
  padding: 0 2rem;
  height: 5rem;
}
.ss5 .ss5-logo {
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: -0.05em;
  color: var(--ss5-primary);
  text-decoration: none;
}
.ss5 .ss5-nav-links {
  display: none;
  gap: 2rem;
  list-style: none;
}
.ss5 .ss5-nav-links a {
  font-family: var(--ss5-font-headline);
  font-weight: 600;
  font-size: 0.875rem;
  letter-spacing: -0.02em;
  text-decoration: none;
  color: rgba(15, 29, 40, 0.7);
  transition: color 0.3s;
}
.ss5 .ss5-nav-links a:hover,
.ss5 .ss5-nav-links a.active {
  color: var(--ss5-primary);
}
.ss5 .ss5-nav-links a.active {
  border-bottom: 2px solid var(--ss5-primary);
  padding-bottom: 4px;
}
.ss5 .ss5-nav-actions {
  display: flex;
  align-items: center;
  gap: 1.5rem;
}
.ss5 .ss5-btn-icon {
  background: none;
  border: none;
  cursor: pointer;
  color: var(--ss5-primary);
  font-size: 1.5rem;
  transition: transform 0.15s;
  display: flex;
  align-items: center;
  padding: 0;
}
.ss5 .ss5-btn-icon:active { transform: scale(0.9); }

/* Hamburger mobile */
.ss5 .ss5-hamburger {
  display: flex;
  flex-direction: column;
  gap: 5px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 4px;
}
.ss5 .ss5-hamburger span {
  display: block;
  width: 22px;
  height: 2px;
  background: var(--ss5-primary);
  border-radius: 2px;
  transition: all 0.3s;
}
.ss5 .ss5-hamburger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.ss5 .ss5-hamburger.open span:nth-child(2) { opacity: 0; }
.ss5 .ss5-hamburger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* Menu mobile overlay */
.ss5 .ss5-mobile-menu {
  display: none;
  flex-direction: column;
  background: rgba(255, 255, 255, 0.97);
  padding: 1.5rem 2rem;
  border-top: 1px solid rgba(53, 67, 157, 0.1);
}
.ss5 .ss5-mobile-menu.open { display: flex; }
.ss5 .ss5-mobile-menu a {
  font-family: var(--ss5-font-headline);
  font-weight: 600;
  font-size: 1rem;
  color: var(--ss5-on-surface);
  text-decoration: none;
  padding: 0.75rem 0;
  border-bottom: 1px solid rgba(53, 67, 157, 0.08);
}
.ss5 .ss5-mobile-menu a:last-child { border-bottom: none; }

/* ---------- BUTTONS ---------- */
.ss5 .ss5-btn-primary {
  background: var(--ss5-primary);
  color: white;
  border: none;
  padding: 1rem 2.5rem;
  border-radius: var(--ss5-radius-full);
  font-family: var(--ss5-font-body);
  font-weight: 700;
  font-size: 1rem;
  cursor: pointer;
  transition: box-shadow 0.3s, transform 0.15s;
  display: inline-block;
  text-decoration: none;
  line-height: 1;
}
.ss5 .ss5-btn-primary:hover {
  box-shadow: 0 20px 40px rgba(53, 67, 157, 0.3);
  color: white;
  text-decoration: none;
}
.ss5 .ss5-btn-primary:active { transform: scale(0.95); }

.ss5 .ss5-btn-ghost {
  background: rgba(255, 255, 255, 0.4);
  backdrop-filter: blur(24px);
  color: var(--ss5-primary);
  border: 1px solid rgba(53, 67, 157, 0.1);
  padding: 1rem 2.5rem;
  border-radius: var(--ss5-radius-full);
  font-family: var(--ss5-font-body);
  font-weight: 700;
  font-size: 1rem;
  cursor: pointer;
  transition: background 0.3s, transform 0.15s;
  display: inline-block;
  text-decoration: none;
  line-height: 1;
}
.ss5 .ss5-btn-ghost:hover {
  background: white;
  color: var(--ss5-primary);
  text-decoration: none;
}

.ss5 .ss5-btn-nav {
  background: linear-gradient(135deg, var(--ss5-primary), var(--ss5-primary-container));
  color: white;
  border: none;
  padding: 0.75rem 2rem;
  border-radius: var(--ss5-radius-full);
  font-family: var(--ss5-font-body);
  font-weight: 600;
  font-size: 0.875rem;
  letter-spacing: -0.02em;
  cursor: pointer;
  transition: all 0.3s;
  text-decoration: none;
  display: inline-block;
  white-space: nowrap;
}
/* Su mobile il bottone si riduce */
@media (max-width: 480px) {
  .ss5 .ss5-btn-nav {
    padding: 0.5rem 1rem;
    font-size: 0.75rem;
  }
}
.ss5 .ss5-btn-nav:hover {
  box-shadow: 0 8px 20px rgba(53, 67, 157, 0.2);
  color: white;
  text-decoration: none;
}

/* ---------- LAYOUT CONTENITORE ---------- */
.ss5 .ss5-main { padding-top: 5rem; }

.ss5 .ss5-container {
  max-width: 80rem;
  margin: 0 auto;
  padding: 0 2rem;
}

/* ---------- HERO ---------- */
.ss5 .ss5-hero {
  position: relative;
  min-height: 870px;
  display: flex;
  align-items: center;
  overflow: hidden;
  padding: 4rem 2rem;
}
.ss5 .ss5-hero-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 3rem;
  align-items: center;
  width: 100%;
  max-width: 80rem;
  margin: 0 auto;
}
.ss5 .ss5-hero-badge {
  display: inline-block;
  padding: 0.375rem 1rem;
  border-radius: var(--ss5-radius-full);
  background: var(--ss5-secondary-fixed);
  color: var(--ss5-on-secondary-fixed);
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin-bottom: 1.5rem;
}
.ss5 .ss5-hero-title {
  font-family: var(--ss5-font-headline);
  font-size: clamp(2.5rem, 6vw, 4.5rem);
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: -0.02em;
  margin-bottom: 2rem;
  color: var(--ss5-on-surface);
}
.ss5 .ss5-hero-title em {
  color: var(--ss5-primary);
  font-style: italic;
  font-weight: 500;
}
.ss5 .ss5-hero-desc {
  font-size: 1.125rem;
  color: var(--ss5-on-surface-variant);
  max-width: 32rem;
  margin-bottom: 2.5rem;
  line-height: 1.75;
}
.ss5 .ss5-hero-cta {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}
.ss5 .ss5-hero-img-wrapper {
  position: relative;
}
.ss5 .ss5-hero-img-wrapper::before {
  content: '';
  position: absolute;
  inset: -1rem;
  background: linear-gradient(135deg, var(--ss5-primary-fixed), var(--ss5-secondary-fixed));
  border-radius: var(--ss5-radius-md);
  filter: blur(3rem);
  opacity: 0.3;
  transition: opacity 0.5s;
}
.ss5 .ss5-hero-img-wrapper:hover::before { opacity: 0.5; }
.ss5 .ss5-hero-img {
  position: relative;
  border-radius: var(--ss5-radius-md);
  box-shadow: 0 25px 60px rgba(0,0,0,0.15);
  width: 100%;
  height: 400px;
  object-fit: cover;
  z-index: 1;
  transition: transform 0.7s;
}
@media (min-width: 1024px) {
  .ss5 .ss5-hero-img { height: 600px; }
}
.ss5 .ss5-hero-img-wrapper:hover .ss5-hero-img { transform: scale(1.02); }

.ss5 .ss5-hero-quote {
  position: absolute;
  bottom: 2rem;
  left: -2rem;
  background: rgba(255, 255, 255, 0.4);
  backdrop-filter: blur(24px);
  padding: 1.5rem;
  border-radius: var(--ss5-radius-sm);
  box-shadow: 0 8px 32px rgba(0,0,0,0.12);
  border: 1px solid rgba(255,255,255,0.2);
  max-width: 20rem;
  z-index: 2;
}
.ss5 .ss5-hero-quote-header {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 0.5rem;
}
.ss5 .ss5-hero-quote-header .material-symbols-outlined {
  color: var(--ss5-primary);
  font-variation-settings: 'FILL' 1, 'wght' 400, 'GRAD' 0, 'opsz' 24;
}
.ss5 .ss5-hero-quote-header span:last-child {
  font-weight: 700;
  color: var(--ss5-primary);
}
.ss5 .ss5-hero-quote p {
  font-size: 0.875rem;
  color: var(--ss5-on-surface-variant);
  font-style: italic;
}

/* ---------- VALUE PROPOSITION ---------- */
.ss5 .ss5-value {
  padding: 6rem 2rem;
  background: var(--ss5-surface-container-low);
}
.ss5 .ss5-value-inner {
  max-width: 64rem;
  margin: 0 auto;
  text-align: center;
}
.ss5 .ss5-section-title {
  font-family: var(--ss5-font-headline);
  font-size: clamp(1.75rem, 4vw, 3rem);
  font-weight: 700;
  margin-bottom: 2rem;
  color: var(--ss5-on-surface);
  letter-spacing: -0.02em;
  line-height: 1.2;
}
.ss5 .ss5-section-desc {
  font-size: 1.25rem;
  color: var(--ss5-on-surface-variant);
  line-height: 1.75;
  margin-bottom: 3rem;
  max-width: 48rem;
  margin-left: auto;
  margin-right: auto;
}
.ss5 .ss5-section-desc strong {
  color: var(--ss5-primary);
  font-weight: 700;
}
.ss5 .ss5-stats-grid {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 1.5rem;
}
.ss5 .ss5-stat-card {
  padding: 2rem;
  border-radius: var(--ss5-radius-sm);
  background: var(--ss5-surface-container-lowest);
}
.ss5 .ss5-stat-number {
  font-size: 2.25rem;
  font-weight: 800;
  color: var(--ss5-primary);
  margin-bottom: 0.5rem;
}
.ss5 .ss5-stat-label {
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--ss5-outline);
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

/* ---------- BENTO SOLUTIONS ---------- */
.ss5 .ss5-solutions {
  padding: 6rem 2rem;
}
.ss5 .ss5-solutions-inner { max-width: 80rem; margin: 0 auto; }
.ss5 .ss5-solutions-header {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-bottom: 4rem;
}
.ss5 .ss5-section-eyebrow {
  color: var(--ss5-primary);
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  font-size: 0.875rem;
}
.ss5 .ss5-solutions-header p {
  color: var(--ss5-on-surface-variant);
  max-width: 22rem;
}

/* Bento Grid */
.ss5 .ss5-bento {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
}
.ss5 .ss5-bento-cell {
  border-radius: var(--ss5-radius-sm);
  overflow: hidden;
  cursor: pointer;
  transition: transform 0.3s;
}
.ss5 .ss5-bento-cell:hover { transform: translateY(-4px); }

/* Sight - grande */
.ss5 .ss5-bento-sight {
  position: relative;
  min-height: 320px;
  background: var(--ss5-surface-container-highest);
}
.ss5 .ss5-bento-sight img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.5;
  transition: transform 0.7s;
}
.ss5 .ss5-bento-sight:hover img { transform: scale(1.05); }
.ss5 .ss5-bento-sight-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(15,29,40,0.8), transparent);
}
.ss5 .ss5-bento-sight-content {
  position: absolute;
  bottom: 0;
  padding: 2.5rem;
  color: white;
}
.ss5 .ss5-bento-sight-content .material-symbols-outlined {
  font-size: 2.25rem;
  display: block;
  margin-bottom: 1rem;
  font-variation-settings: 'FILL' 1, 'wght' 400, 'GRAD' 0, 'opsz' 24;
}
.ss5 .ss5-bento-sight-content h3 {
  font-family: var(--ss5-font-headline);
  font-size: 1.75rem;
  font-weight: 700;
  margin-bottom: 0.5rem;
  color: white;
}
.ss5 .ss5-bento-sight-content p { opacity: 0.8; max-width: 28rem; color: white; }

/* Sound */
.ss5 .ss5-bento-sound {
  background: var(--ss5-primary-container);
  padding: 2.5rem;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-height: 220px;
  color: white;
  position: relative;
  overflow: hidden;
}
/* Icona decorativa in trasparenza — nascosta quando c'è immagine */
.ss5 .ss5-bento-sound-bg {
  display: none;
}
.ss5 .ss5-bento-sound .material-symbols-outlined.icon-main {
  font-size: 2.25rem;
  margin-bottom: 1rem;
  display: block;
  font-variation-settings: 'FILL' 1, 'wght' 400, 'GRAD' 0, 'opsz' 24;
}
.ss5 .ss5-bento-sound h3 {
  font-family: var(--ss5-font-headline);
  font-size: 1.5rem;
  font-weight: 700;
  margin-bottom: 0.5rem;
  color: white;
}
.ss5 .ss5-bento-sound p { opacity: 0.8; }

/* Touch */
.ss5 .ss5-bento-touch {
  background: var(--ss5-surface-container);
  padding: 2.5rem;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-height: 220px;
  border: 2px solid transparent;
  transition: border-color 0.3s;
}
.ss5 .ss5-bento-touch:hover { border-color: rgba(78, 92, 183, 0.2); }
.ss5 .ss5-bento-touch .material-symbols-outlined {
  font-size: 2.25rem;
  color: var(--ss5-primary);
  margin-bottom: 1rem;
  display: block;
  font-variation-settings: 'FILL' 1, 'wght' 400, 'GRAD' 0, 'opsz' 24;
}
.ss5 .ss5-bento-touch h3 {
  font-family: var(--ss5-font-headline);
  font-size: 1.5rem;
  font-weight: 700;
  margin-bottom: 0.5rem;
}
.ss5 .ss5-bento-touch p { color: var(--ss5-on-surface-variant); }

/* Smell & Taste */
.ss5 .ss5-bento-sub-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
}
@media (min-width: 640px) {
  .ss5 .ss5-bento-sub-grid {
    grid-template-columns: 1fr 1fr;
  }
}
.ss5 .ss5-bento-sub {
  background: var(--ss5-surface-container-low);
  padding: 2rem;
  border-radius: var(--ss5-radius-sm);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  cursor: pointer;
  transition: transform 0.3s;
}
.ss5 .ss5-bento-sub:hover { transform: translateY(-4px); }
.ss5 .ss5-bento-sub .material-symbols-outlined {
  font-size: 1.75rem;
  color: var(--ss5-primary);
  margin-bottom: 1rem;
  display: block;
  font-variation-settings: 'FILL' 1, 'wght' 400, 'GRAD' 0, 'opsz' 24;
}
.ss5 .ss5-bento-sub h3 {
  font-family: var(--ss5-font-headline);
  font-size: 1.125rem;
  font-weight: 700;
  margin-bottom: 0.25rem;
}
.ss5 .ss5-bento-sub p { font-size: 0.875rem; color: var(--ss5-on-surface-variant); }

/* ---------- TRIAGE SECTION ---------- */
.ss5 .ss5-triage {
  padding: 6rem 2rem;
  background: rgba(53, 67, 157, 0.03);
  position: relative;
  overflow: hidden;
}
.ss5 .ss5-triage-blob-1 {
  position: absolute;
  top: 0; right: 0;
  width: 24rem; height: 24rem;
  background: var(--ss5-secondary-fixed);
  opacity: 0.1;
  border-radius: 50%;
  filter: blur(7.5rem);
  transform: translate(33%, -33%);
  pointer-events: none;
}
.ss5 .ss5-triage-blob-2 {
  position: absolute;
  bottom: 0; left: 0;
  width: 24rem; height: 24rem;
  background: var(--ss5-primary-fixed);
  opacity: 0.1;
  border-radius: 50%;
  filter: blur(7.5rem);
  transform: translate(-33%, 33%);
  pointer-events: none;
}
.ss5 .ss5-triage-card {
  background: rgba(255, 255, 255, 0.4);
  backdrop-filter: blur(24px);
  padding: 3rem 2rem;
  border-radius: var(--ss5-radius-md);
  box-shadow: 0 25px 60px rgba(0,0,0,0.1);
  border: 1px solid rgba(255,255,255,0.4);
  max-width: 56rem;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}
.ss5 .ss5-triage-header {
  text-align: center;
  margin-bottom: 3rem;
}
.ss5 .ss5-triage-header h2 {
  font-family: var(--ss5-font-headline);
  font-size: clamp(1.75rem, 4vw, 2.5rem);
  font-weight: 700;
  margin-bottom: 1rem;
}
.ss5 .ss5-triage-header p { color: var(--ss5-on-surface-variant); }
.ss5 .ss5-triage-label {
  display: block;
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--ss5-primary);
  text-transform: uppercase;
  letter-spacing: 0.15em;
  margin-bottom: 1.5rem;
}
.ss5 .ss5-triage-options {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
  margin-bottom: 2.5rem;
}
.ss5 .ss5-triage-option {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  padding: 1.5rem 1rem;
  border-radius: var(--ss5-radius-sm);
  background: var(--ss5-surface-container-lowest);
  border: 2px solid transparent;
  color: var(--ss5-on-surface-variant);
  cursor: pointer;
  transition: all 0.3s;
  font-family: var(--ss5-font-body);
  font-size: inherit;
}
.ss5 .ss5-triage-option:hover,
.ss5 .ss5-triage-option.selected {
  border-color: var(--ss5-primary);
  color: var(--ss5-primary);
}
.ss5 .ss5-triage-option .material-symbols-outlined {
  font-size: 1.75rem;
  transition: transform 0.3s;
}
.ss5 .ss5-triage-option:hover .material-symbols-outlined { transform: scale(1.1); }
.ss5 .ss5-triage-option strong { font-weight: 700; font-size: 0.9375rem; }

.ss5 .ss5-triage-footer {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid rgba(53, 67, 157, 0.1);
}
.ss5 .ss5-triage-footer p { font-size: 0.875rem; color: var(--ss5-on-surface-variant); font-style: italic; }
.ss5 .ss5-triage-footer .ss5-btn-primary { width: 100%; text-align: center; }

/* ---------- CLINICIANS ---------- */
.ss5 .ss5-clinicians {
  padding: 6rem 2rem;
  background: rgba(255,255,255,0.3);
  position: relative;
  overflow: hidden;
}
.ss5 .ss5-clinicians-bg {
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  width: 50rem; height: 50rem;
  background: rgba(53, 67, 157, 0.05);
  border-radius: 50%;
  filter: blur(7.5rem);
  pointer-events: none;
}
.ss5 .ss5-clinicians-inner { max-width: 80rem; margin: 0 auto; position: relative; z-index: 1; }
.ss5 .ss5-clinicians-header {
  text-align: center;
  margin-bottom: 5rem;
}
.ss5 .ss5-clinicians-header h2 {
  font-family: var(--ss5-font-headline);
  font-size: clamp(1.75rem, 4vw, 3rem);
  font-weight: 800;
  letter-spacing: -0.02em;
  margin-bottom: 1.5rem;
}
.ss5 .ss5-clinicians-header p {
  font-size: 1.25rem;
  color: var(--ss5-on-surface-variant);
  max-width: 40rem;
  margin: 0 auto;
  line-height: 1.75;
}
.ss5 .ss5-cards-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
}
.ss5 .ss5-feature-card {
  background: rgba(255, 255, 255, 0.4);
  backdrop-filter: blur(24px);
  padding: 2.5rem;
  border-radius: var(--ss5-radius-sm);
  border: 1px solid rgba(255,255,255,0.4);
  transition: border-color 0.5s, transform 0.3s;
}
.ss5 .ss5-feature-card:hover {
  border-color: rgba(78, 92, 183, 0.2);
  transform: translateY(-4px);
}
.ss5 .ss5-feature-icon {
  width: 3.5rem; height: 3.5rem;
  background: rgba(53, 67, 157, 0.1);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 2rem;
  transition: transform 0.5s;
}
.ss5 .ss5-feature-card:hover .ss5-feature-icon { transform: scale(1.1); }
.ss5 .ss5-feature-icon .material-symbols-outlined { color: var(--ss5-primary); font-size: 1.75rem; }
.ss5 .ss5-feature-card h3 {
  font-family: var(--ss5-font-headline);
  font-size: 1.5rem;
  font-weight: 700;
  margin-bottom: 1rem;
}
.ss5 .ss5-feature-card p { color: var(--ss5-on-surface-variant); line-height: 1.75; }

/* ---------- PRICING ---------- */
.ss5 .ss5-pricing { padding: 6rem 2rem; }
.ss5 .ss5-pricing-inner { max-width: 80rem; margin: 0 auto; }
.ss5 .ss5-pricing-header {
  text-align: center;
  margin-bottom: 5rem;
}
.ss5 .ss5-pricing-header h2 {
  font-family: var(--ss5-font-headline);
  font-size: clamp(1.75rem, 4vw, 3rem);
  font-weight: 700;
  margin-bottom: 1.5rem;
  letter-spacing: -0.02em;
}
.ss5 .ss5-pricing-header p {
  color: var(--ss5-on-surface-variant);
  max-width: 40rem;
  margin: 0 auto;
}
.ss5 .ss5-pricing-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
  margin-bottom: 5rem;
}
.ss5 .ss5-plan {
  padding: 2.5rem;
  border-radius: var(--ss5-radius-sm);
  transition: transform 0.3s;
}
.ss5 .ss5-plan:hover { transform: translateY(-8px); }
.ss5 .ss5-plan-default { background: var(--ss5-surface-container-lowest); }
.ss5 .ss5-plan-featured {
  background: var(--ss5-primary-container);
  color: white;
  box-shadow: 0 25px 60px rgba(53, 67, 157, 0.3);
  position: relative;
  overflow: hidden;
}
.ss5 .ss5-plan-badge {
  position: absolute;
  top: 0; right: 0;
  background: rgba(255,255,255,0.2);
  padding: 0.5rem 1.5rem;
  border-radius: 0 var(--ss5-radius-sm) 0 var(--ss5-radius-sm);
  font-weight: 700;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: -0.02em;
}
.ss5 .ss5-plan-name { font-size: 1.125rem; font-weight: 700; margin-bottom: 0.5rem; }
.ss5 .ss5-plan-featured .ss5-plan-name { opacity: 0.9; }
.ss5 .ss5-plan-price {
  display: flex;
  align-items: baseline;
  gap: 0.25rem;
  margin-bottom: 1.5rem;
}
.ss5 .ss5-plan-amount { font-size: 2.25rem; font-weight: 800; color: var(--ss5-on-surface); }
.ss5 .ss5-plan-featured .ss5-plan-amount { color: white; }
.ss5 .ss5-plan-period { font-size: 0.875rem; color: var(--ss5-on-surface-variant); }
.ss5 .ss5-plan-featured .ss5-plan-period { opacity: 0.7; color: white; }
.ss5 .ss5-plan-features {
  list-style: none;
  margin-bottom: 2.5rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.ss5 .ss5-plan-feature {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  color: var(--ss5-on-surface-variant);
}
.ss5 .ss5-plan-featured .ss5-plan-feature { color: rgba(255,255,255,0.9); opacity: 0.9; }
.ss5 .ss5-plan-feature .material-symbols-outlined { color: var(--ss5-primary); font-size: 1.125rem; }
.ss5 .ss5-plan-featured .ss5-plan-feature .material-symbols-outlined { color: white; }

.ss5 .ss5-plan-btn {
  width: 100%;
  padding: 1rem;
  border-radius: var(--ss5-radius-full);
  font-family: var(--ss5-font-body);
  font-size: 1rem;
  cursor: pointer;
  transition: all 0.3s;
  text-align: center;
  display: block;
  font-weight: 700;
}
.ss5 .ss5-plan-btn-outline {
  background: none;
  border: 2px solid var(--ss5-primary-container);
  color: var(--ss5-primary);
}
.ss5 .ss5-plan-btn-outline:hover { background: rgba(78, 92, 183, 0.05); }
.ss5 .ss5-plan-btn-white {
  background: white;
  border: none;
  color: var(--ss5-primary);
  font-weight: 800;
  box-shadow: 0 8px 20px rgba(0,0,0,0.15);
}
.ss5 .ss5-plan-btn-white:hover { background: var(--ss5-surface-container-low); }

/* Compliance badges */
.ss5 .ss5-compliance {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 2rem 3rem;
  opacity: 0.5;
  filter: grayscale(1);
}
.ss5 .ss5-compliance-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-weight: 700;
  font-size: 0.9375rem;
}
.ss5 .ss5-compliance-item .material-symbols-outlined { font-size: 1.25rem; }

/* ---------- FOOTER ---------- */
.ss5 .ss5-footer {
  background: var(--ss5-surface-container-low);
  padding: 3rem 2rem;
  margin-top: 6rem;
}
.ss5 .ss5-footer-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
  max-width: 80rem;
  margin: 0 auto;
}
.ss5 .ss5-footer-brand { grid-column: 1 / -1; }
.ss5 .ss5-footer-logo {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--ss5-primary);
  margin-bottom: 1rem;
  display: block;
}
.ss5 .ss5-footer-tagline {
  font-size: 0.875rem;
  line-height: 1.6;
  color: rgba(15, 29, 40, 0.6);
}
.ss5 .ss5-footer-col h4 {
  font-weight: 700;
  color: var(--ss5-primary);
  margin-bottom: 1rem;
}
.ss5 .ss5-footer-col nav {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.ss5 .ss5-footer-col a {
  font-size: 0.875rem;
  color: rgba(15, 29, 40, 0.6);
  text-decoration: none;
  transition: color 0.2s;
}
.ss5 .ss5-footer-col a:hover {
  color: var(--ss5-primary);
  text-decoration: underline;
  text-underline-offset: 4px;
  text-decoration-thickness: 2px;
}
.ss5 .ss5-footer-copy {
  max-width: 80rem;
  margin: 3rem auto 0;
  padding-top: 2rem;
  border-top: 1px solid rgba(53, 67, 157, 0.1);
  text-align: center;
  font-size: 0.875rem;
  color: rgba(15, 29, 40, 0.6);
}

/* ---------- RESPONSIVE BREAKPOINTS ---------- */
@media (min-width: 640px) {
  .ss5 .ss5-triage-footer {
    flex-direction: row;
    justify-content: space-between;
  }
  .ss5 .ss5-triage-footer .ss5-btn-primary { width: auto; }
  .ss5 .ss5-footer-grid {
    grid-template-columns: 1fr 1fr 1fr;
  }
  .ss5 .ss5-footer-brand { grid-column: auto; }
}

@media (min-width: 768px) {
  .ss5 .ss5-stats-grid { grid-template-columns: repeat(3, 1fr); }
  .ss5 .ss5-cards-grid { grid-template-columns: repeat(3, 1fr); }
  .ss5 .ss5-pricing-grid { grid-template-columns: repeat(3, 1fr); }
  .ss5 .ss5-plan-featured { margin-top: -2rem; margin-bottom: -2rem; }
  .ss5 .ss5-solutions-header {
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-end;
  }
  .ss5 .ss5-footer-grid { grid-template-columns: 2fr 1fr 1fr 1fr; }
  .ss5 .ss5-footer-brand { grid-column: auto; }
}

@media (min-width: 1024px) {
  .ss5 .ss5-nav-links { display: flex; }
  .ss5 .ss5-hamburger { display: none; }
  .ss5 .ss5-hero-grid { grid-template-columns: 1fr 1fr; }
  .ss5 .ss5-hero { padding: 0 2rem; }
  .ss5 .ss5-bento {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    grid-template-rows: auto auto;
    height: 800px;
  }
  .ss5 .ss5-bento-sight { grid-column: span 8; min-height: unset; }
  .ss5 .ss5-bento-sound { grid-column: span 4; min-height: unset; }
  .ss5 .ss5-bento-touch { grid-column: span 4; min-height: unset; }
  .ss5 .ss5-bento-sub-grid { grid-column: span 8; height: 100%; }
  .ss5 .ss5-bento-sub { height: 100%; }
  .ss5 .ss5-triage-card { padding: 4rem; }
}

/* ============================================================
   AGGIORNAMENTO — Sezioni nuove (testi da 5senses.it/soluzioni-health-care-2/)
   ============================================================ */

/* ---------- SFIDE — stat cards con icona + titolo ---------- */
.ss5 .ss5-stats-grid--text .ss5-stat-card {
  text-align: left;
  padding: 2rem;
}
.ss5 .ss5-stat-icon {
  width: 3rem;
  height: 3rem;
  background: rgba(53, 67, 157, 0.08);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1rem;
}
.ss5 .ss5-stat-icon .material-symbols-outlined {
  color: var(--ss5-primary);
  font-size: 1.5rem;
}
.ss5 .ss5-stat-title {
  font-family: var(--ss5-font-headline);
  font-weight: 700;
  font-size: 1.0625rem;
  color: var(--ss5-on-surface);
  margin-bottom: 0.5rem;
  line-height: 1.3;
}

/* ---------- CASE STUDY — result badge ---------- */
.ss5 .ss5-case-result {
  display: flex;
  align-items: flex-start;
  gap: 0.625rem;
  margin-top: 1.25rem;
  padding: 0.875rem 1rem;
  background: rgba(53, 67, 157, 0.06);
  border-radius: 0.75rem;
  font-size: 0.875rem;
  color: var(--ss5-on-surface);
  line-height: 1.5;
}
.ss5 .ss5-case-result .material-symbols-outlined {
  color: var(--ss5-primary);
  font-size: 1.125rem;
  flex-shrink: 0;
  margin-top: 1px;
  font-variation-settings: 'FILL' 1, 'wght' 400, 'GRAD' 0, 'opsz' 24;
}

/* ---------- COME FUNZIONA — steps ---------- */
.ss5 .ss5-steps {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.ss5 .ss5-step {
  display: flex;
  gap: 1.5rem;
  align-items: flex-start;
}
.ss5 .ss5-step-number {
  font-family: var(--ss5-font-headline);
  font-size: 2rem;
  font-weight: 800;
  color: var(--ss5-primary);
  opacity: 0.25;
  min-width: 3rem;
  line-height: 1;
  padding-top: 4px;
}
.ss5 .ss5-step-content {
  flex: 1;
  padding-bottom: 1.5rem;
}
.ss5 .ss5-step-content .material-symbols-outlined {
  font-size: 1.75rem;
  color: var(--ss5-primary);
  display: block;
  margin-bottom: 0.75rem;
  font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
}
.ss5 .ss5-step-content h3 {
  font-family: var(--ss5-font-headline);
  font-size: 1.25rem;
  font-weight: 700;
  margin-bottom: 0.5rem;
  color: var(--ss5-on-surface);
}
.ss5 .ss5-step-content p {
  color: var(--ss5-on-surface-variant);
  line-height: 1.65;
  font-size: 0.9375rem;
}
.ss5 .ss5-step-divider {
  width: 2px;
  height: 2rem;
  background: linear-gradient(to bottom, rgba(53,67,157,0.2), rgba(53,67,157,0.05));
  margin-left: 1.4rem;
  margin-bottom: 0;
  border-radius: 2px;
}

/* ---------- LOGHI CLIENTI ---------- */
.ss5 .ss5-loghi {
  padding: 5rem 2rem;
  background: var(--ss5-surface-container-lowest);
}
.ss5 .ss5-loghi-inner {
  max-width: 64rem;
  margin: 0 auto;
}
.ss5 .ss5-loghi-grid {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 2rem 3rem;
  filter: grayscale(1);
  opacity: 0.55;
  transition: opacity 0.3s;
}
.ss5 .ss5-loghi-grid:hover { opacity: 0.75; }
.ss5 .ss5-loghi-grid img {
  height: 40px;
  width: auto;
  max-width: 140px;
  object-fit: contain;
}

/* ---------- HERO PLACEHOLDER (quando immagine non disponibile) ---------- */
.ss5 .ss5-hero-img-placeholder {
  width: 100%;
  height: 400px;
  border-radius: var(--ss5-radius-md);
  background: linear-gradient(135deg, #dce4f4 0%, #a8bcd8 50%, #c2d8f0 100%);
  position: relative;
  z-index: 1;
}
@media (min-width: 1024px) {
  .ss5 .ss5-hero-img-placeholder { height: 520px; }
}

/* ---------- FORM CONTATTI ---------- */
.ss5 .ss5-form-wrapper {
  max-width: 52rem;
  margin: 0 auto;
  padding: 2.5rem 2rem;
  border-radius: var(--ss5-radius-md);
  border: 1px solid rgba(255,255,255,0.5);
  box-shadow: 0 20px 60px rgba(53,67,157,0.08);
}
@media (min-width: 768px) {
  .ss5 .ss5-form-wrapper { padding: 3rem 3.5rem; }
}

.ss5 .ss5-form-row {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.25rem;
  margin-bottom: 1.25rem;
}
@media (min-width: 640px) {
  .ss5 .ss5-form-row { grid-template-columns: 1fr 1fr; }
}

.ss5 .ss5-form-group {
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
  margin-bottom: 0;
}
.ss5 .ss5-form-group:not(.ss5-form-row .ss5-form-group) {
  margin-bottom: 1.25rem;
}

.ss5 .ss5-form-group label {
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--ss5-on-surface-variant);
  letter-spacing: 0.01em;
}
.ss5 .ss5-form-group input,
.ss5 .ss5-form-group select {
  background: var(--ss5-surface-container-lowest);
  border: 1.5px solid var(--ss5-outline-variant);
  border-radius: 0.625rem;
  padding: 0.75rem 1rem;
  font-family: var(--ss5-font-body);
  font-size: 0.9375rem;
  color: var(--ss5-on-surface);
  transition: border-color 0.2s, box-shadow 0.2s;
  width: 100%;
  -webkit-appearance: none;
  appearance: none;
}
.ss5 .ss5-form-group input:focus,
.ss5 .ss5-form-group select:focus {
  outline: none;
  border-color: var(--ss5-primary);
  box-shadow: 0 0 0 3px rgba(53,67,157,0.1);
}
.ss5 .ss5-form-group input::placeholder { color: rgba(69,70,82,0.45); }
.ss5 .ss5-form-group select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23767683' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 1rem center;
  padding-right: 2.5rem;
  cursor: pointer;
}

.ss5 .ss5-form-check {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  margin-bottom: 0.5rem;
}
.ss5 .ss5-form-check input[type="checkbox"] {
  width: 1.125rem;
  height: 1.125rem;
  min-width: 1.125rem;
  border: 1.5px solid var(--ss5-outline-variant);
  border-radius: 4px;
  accent-color: var(--ss5-primary);
  cursor: pointer;
  margin-top: 2px;
}
.ss5 .ss5-form-check label {
  font-size: 0.8125rem;
  color: var(--ss5-on-surface-variant);
  line-height: 1.5;
  cursor: pointer;
}
.ss5 .ss5-form-check label a {
  color: var(--ss5-primary);
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* Success message */
.ss5 .ss5-form-success {
  text-align: center;
  padding: 3rem 1rem;
}
.ss5 .ss5-form-success .material-symbols-outlined {
  font-size: 3.5rem;
  color: var(--ss5-primary);
  display: block;
  margin-bottom: 1rem;
  font-variation-settings: 'FILL' 1, 'wght' 400, 'GRAD' 0, 'opsz' 24;
}
.ss5 .ss5-form-success h3 {
  font-family: var(--ss5-font-headline);
  font-size: 1.5rem;
  font-weight: 700;
  margin-bottom: 0.75rem;
}
.ss5 .ss5-form-success p { color: var(--ss5-on-surface-variant); }

/* ---------- FOOTER SOCIAL ---------- */
.ss5 .ss5-footer-social {
  display: flex;
  gap: 1rem;
  margin-top: 1.25rem;
}
.ss5 .ss5-footer-social a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 50%;
  background: rgba(53,67,157,0.08);
  color: var(--ss5-primary);
  transition: background 0.2s, transform 0.2s;
  text-decoration: none;
}
.ss5 .ss5-footer-social a:hover {
  background: rgba(53,67,157,0.15);
  transform: translateY(-2px);
}
.ss5 .ss5-footer-social a .material-symbols-outlined { font-size: 1.1rem; }

/* ============================================================
   CAROSELLO LOGHI INFINITO
   CSS-only infinite marquee — nessun JS richiesto
   ============================================================ */

/* Rimuove la vecchia griglia statica (non viene più usata) */
.ss5 .ss5-loghi-grid { display: none; }

/* Contenitore con maschere fade ai lati */
.ss5 .ss5-marquee {
  overflow: hidden;
  position: relative;
  width: 100%;
  /* Fade sui bordi sinistro e destro */
  -webkit-mask-image: linear-gradient(
    to right,
    transparent 0%,
    black 8%,
    black 92%,
    transparent 100%
  );
  mask-image: linear-gradient(
    to right,
    transparent 0%,
    black 8%,
    black 92%,
    transparent 100%
  );
}

/* Striscia che scorre — contiene originale + duplicato */
.ss5 .ss5-marquee-track {
  display: flex;
  align-items: center;
  gap: 0;
  width: max-content;
  animation: ss5-marquee 28s linear infinite;
  will-change: transform;
}

/* Pausa al passaggio del mouse (UX: permette di leggere i loghi) */
.ss5 .ss5-marquee:hover .ss5-marquee-track {
  animation-play-state: paused;
}

/* Rispetta la preferenza "riduce movimento" */
@media (prefers-reduced-motion: reduce) {
  .ss5 .ss5-marquee-track {
    animation: none;
  }
  .ss5 .ss5-marquee-track { flex-wrap: wrap; justify-content: center; }
  .ss5 .ss5-marquee [aria-hidden="true"] { display: none; }
}

/* Singolo item del carosello */
.ss5 .ss5-marquee-item {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 3rem;
  flex-shrink: 0;
}

.ss5 .ss5-marquee-item img {
  height: 40px;
  width: auto;
  max-width: 140px;
  object-fit: contain;
  filter: grayscale(1);
  opacity: 0.5;
  transition: filter 0.3s, opacity 0.3s, transform 0.3s;
  display: block;
}

.ss5 .ss5-marquee-item img:hover {
  filter: grayscale(0);
  opacity: 1;
  transform: scale(1.08);
}

/* Keyframe: trasla di esattamente metà della larghezza totale
   (metà = set originale, l'altra metà = duplicato) */
@keyframes ss5-marquee {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

/* ============================================================
   CONTACT FORM 7 — Override stilistico
   Adatta l'output di CF7 alla grafica del sito ss5
   Tutti i selettori sono scoped sotto .ss5-cf7-wrapper
   ============================================================ */

/* Rimuove il margin di default che CF7 aggiunge al wrapper */
.ss5 .ss5-cf7-wrapper .wpcf7 {
  margin: 0;
  padding: 0;
}

/* Nasconde il div di status vuoto prima dell'invio */
.ss5 .ss5-cf7-wrapper .wpcf7-response-output {
  display: none;
}
.ss5 .ss5-cf7-wrapper .wpcf7-response-output:not(:empty) {
  display: block;
  margin: 1.5rem 0 0;
  padding: 1rem 1.25rem;
  border-radius: 0.75rem;
  font-size: 0.9rem;
  border: none;
}
/* Messaggio di successo */
.ss5 .ss5-cf7-wrapper .wpcf7-response-output.wpcf7-mail-sent-ok {
  background: rgba(53, 67, 157, 0.07);
  color: var(--ss5-primary);
}
/* Messaggio di errore */
.ss5 .ss5-cf7-wrapper .wpcf7-response-output.wpcf7-validation-errors,
.ss5 .ss5-cf7-wrapper .wpcf7-response-output.wpcf7-mail-sent-ng {
  background: rgba(186, 26, 26, 0.07);
  color: var(--ss5-error);
}

/* Label */
.ss5 .ss5-cf7-wrapper .wpcf7-form label {
  display: block;
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--ss5-on-surface-variant);
  margin-bottom: 0.375rem;
  letter-spacing: 0.01em;
}

/* Input, textarea, select */
.ss5 .ss5-cf7-wrapper .wpcf7-form input[type="text"],
.ss5 .ss5-cf7-wrapper .wpcf7-form input[type="email"],
.ss5 .ss5-cf7-wrapper .wpcf7-form input[type="tel"],
.ss5 .ss5-cf7-wrapper .wpcf7-form input[type="number"],
.ss5 .ss5-cf7-wrapper .wpcf7-form input[type="url"],
.ss5 .ss5-cf7-wrapper .wpcf7-form textarea,
.ss5 .ss5-cf7-wrapper .wpcf7-form select {
  width: 100%;
  background: var(--ss5-surface-container-lowest);
  border: 1.5px solid var(--ss5-outline-variant);
  border-radius: 0.625rem;
  padding: 0.75rem 1rem;
  font-family: var(--ss5-font-body);
  font-size: 0.9375rem;
  color: var(--ss5-on-surface);
  transition: border-color 0.2s, box-shadow 0.2s;
  -webkit-appearance: none;
  appearance: none;
  box-shadow: none;
  outline: none;
  margin-bottom: 0;
}

.ss5 .ss5-cf7-wrapper .wpcf7-form input:focus,
.ss5 .ss5-cf7-wrapper .wpcf7-form textarea:focus,
.ss5 .ss5-cf7-wrapper .wpcf7-form select:focus {
  border-color: var(--ss5-primary);
  box-shadow: 0 0 0 3px rgba(53, 67, 157, 0.1);
  outline: none;
}

/* Select: freccia custom */
.ss5 .ss5-cf7-wrapper .wpcf7-form select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23767683' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 1rem center;
  padding-right: 2.5rem;
  cursor: pointer;
}

/* Textarea */
.ss5 .ss5-cf7-wrapper .wpcf7-form textarea {
  resize: vertical;
  min-height: 120px;
}

/* Spaziatura tra i campi */
.ss5 .ss5-cf7-wrapper .wpcf7-form p,
.ss5 .ss5-cf7-wrapper .wpcf7-form .wpcf7-form-control-wrap {
  display: block;
  margin-bottom: 1.25rem;
}
.ss5 .ss5-cf7-wrapper .wpcf7-form p:last-of-type {
  margin-bottom: 0;
}

/* Checkbox e radio */
.ss5 .ss5-cf7-wrapper .wpcf7-form input[type="checkbox"],
.ss5 .ss5-cf7-wrapper .wpcf7-form input[type="radio"] {
  width: 1.125rem;
  height: 1.125rem;
  min-width: 1.125rem;
  border: 1.5px solid var(--ss5-outline-variant);
  border-radius: 4px;
  accent-color: var(--ss5-primary);
  cursor: pointer;
  margin-right: 0.5rem;
  vertical-align: middle;
}
.ss5 .ss5-cf7-wrapper .wpcf7-form .wpcf7-list-item {
  display: inline-flex;
  align-items: center;
  margin-right: 1rem;
  font-size: 0.875rem;
  color: var(--ss5-on-surface-variant);
}
.ss5 .ss5-cf7-wrapper .wpcf7-form .wpcf7-list-item label {
  margin-bottom: 0;
  font-weight: 400;
  cursor: pointer;
}

/* Errore campo singolo */
.ss5 .ss5-cf7-wrapper .wpcf7-not-valid {
  border-color: var(--ss5-error) !important;
  box-shadow: 0 0 0 3px rgba(186, 26, 26, 0.1) !important;
}
.ss5 .ss5-cf7-wrapper .wpcf7-not-valid-tip {
  display: block;
  font-size: 0.75rem;
  color: var(--ss5-error);
  margin-top: 0.3rem;
}

/* Pulsante submit */
.ss5 .ss5-cf7-wrapper .wpcf7-form input[type="submit"],
.ss5 .ss5-cf7-wrapper .wpcf7-form button[type="submit"] {
  background: var(--ss5-primary);
  color: white;
  border: none;
  padding: 1rem 2.5rem;
  border-radius: var(--ss5-radius-full);
  font-family: var(--ss5-font-body);
  font-weight: 700;
  font-size: 1rem;
  cursor: pointer;
  transition: box-shadow 0.3s, transform 0.15s, opacity 0.2s;
  width: 100%;
  margin-top: 0.5rem;
  letter-spacing: 0.01em;
  -webkit-appearance: none;
  appearance: none;
}
.ss5 .ss5-cf7-wrapper .wpcf7-form input[type="submit"]:hover,
.ss5 .ss5-cf7-wrapper .wpcf7-form button[type="submit"]:hover {
  box-shadow: 0 12px 30px rgba(53, 67, 157, 0.3);
}
.ss5 .ss5-cf7-wrapper .wpcf7-form input[type="submit"]:active,
.ss5 .ss5-cf7-wrapper .wpcf7-form button[type="submit"]:active {
  transform: scale(0.97);
}

/* Spinner di caricamento durante l'invio */
.ss5 .ss5-cf7-wrapper .wpcf7-spinner {
  display: inline-block;
  margin-left: 0.5rem;
  vertical-align: middle;
}

/* ============================================================
   BENTO SUB — variante con immagine di sfondo
   ============================================================ */

.ss5 .ss5-bento-sub--img {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: relative;
  overflow: hidden;
}

/* Overlay scuro per leggibilità del testo sull'immagine */
.ss5 .ss5-bento-sub-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to top,
    rgba(15, 29, 40, 0.75) 0%,
    rgba(15, 29, 40, 0.35) 60%,
    transparent 100%
  );
  border-radius: inherit;
  z-index: 0;
}

/* Testo e icona in bianco sopra l'overlay */
.ss5 .ss5-bento-sub--img .material-symbols-outlined.ss5-bento-sub-icon--light,
.ss5 .ss5-bento-sub--img h3.ss5-bento-sub-title--light,
.ss5 .ss5-bento-sub--img p.ss5-bento-sub-text--light {
  position: relative;
  z-index: 1;
  color: white;
}

.ss5 .ss5-bento-sub--img p.ss5-bento-sub-text--light {
  opacity: 0.85;
}

/* Zoom immagine al hover */
.ss5 .ss5-bento-sub--img:hover {
  background-size: 110%;
  transition: background-size 0.7s ease;
}

/* ============================================================
   BENTO — immagini di sfondo Sound Design e Aroma Design
   ============================================================ */

/* Sound Design con immagine */
.ss5 .ss5-bento-sound--img {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: relative;
}
.ss5 .ss5-bento-sound-img-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to top,
    rgba(10, 15, 30, 0.90) 0%,
    rgba(10, 15, 30, 0.65) 55%,
    rgba(10, 15, 30, 0.25) 100%
  );
  z-index: 0;
  border-radius: inherit;
}
/* Tutti gli elementi figli del sound box sopra l'overlay */
.ss5 .ss5-bento-sound--img .ss5-bento-sound-bg,
.ss5 .ss5-bento-sound--img .icon-main,
.ss5 .ss5-bento-sound--img h3,
.ss5 .ss5-bento-sound--img p {
  position: relative;
  z-index: 1;
}
/* Zoom al hover */
.ss5 .ss5-bento-sound--img {
  transition: background-size 0.7s ease;
}
.ss5 .ss5-bento-sound--img:hover {
  background-size: 110%;
}

/* Aroma Design con immagine */
.ss5 .ss5-bento-touch--img {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: relative;
  border: 2px solid transparent !important;
}
.ss5 .ss5-bento-touch-img-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to top,
    rgba(15, 29, 40, 0.75) 0%,
    rgba(15, 29, 40, 0.35) 60%,
    transparent 100%
  );
  z-index: 0;
  border-radius: inherit;
}
.ss5 .ss5-bento-touch--img {
  transition: background-size 0.7s ease;
}
.ss5 .ss5-bento-touch--img:hover {
  background-size: 110%;
}

/* Fix titolo "Comunicazione Audio-Video Integrata" su mobile */
@media (max-width: 639px) {
  .ss5 .ss5-bento-sub h3 {
    font-size: 0.9375rem;
  }
}

/* Fix line-height titolo bento-sub su mobile */
@media (max-width: 639px) {
  .ss5 .ss5-bento-sub h3 {
    line-height: 1.2;
  }
}/* End custom CSS */