.elementor-kit-495{--e-global-color-primary:#111827;--e-global-color-secondary:#034667;--e-global-color-text:#4B5563;--e-global-color-accent:#496b1f;--e-global-typography-primary-font-family:"Public Sans";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Public Sans";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Public Sans";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"IBM Plex Sans";--e-global-typography-accent-font-weight:700;--e-global-typography-accent-line-height:48px;--e-global-typography-76d79d9-font-family:"Public Sans";--e-global-typography-76d79d9-font-size:1rem;--e-global-typography-76d79d9-font-weight:400;--e-global-typography-76d79d9-line-height:1.5em;--e-global-typography-ce2e76e-font-family:"Public Sans";--e-global-typography-ce2e76e-font-size:0.875rem;--e-global-typography-ce2e76e-font-weight:400;--e-global-typography-ce2e76e-line-height:1.429em;color:var( --e-global-color-v4-wec-color-body );font-family:"Public Sans", Sans-serif;font-size:1.0625rem;font-weight:400;line-height:1.65em;}.elementor-kit-495 button,.elementor-kit-495 input[type="button"],.elementor-kit-495 input[type="submit"],.elementor-kit-495 .elementor-button{background-color:var( --e-global-color-v4-wec-color-brand );font-family:"Inter", Sans-serif;font-size:0.875rem;font-weight:700;color:var( --e-global-color-v4-wec-color-neutral-primary );border-radius:8px 8px 8px 8px;padding:0.75rem 1.25rem 0.75rem 1.25rem;}.elementor-kit-495 button:hover,.elementor-kit-495 button:focus,.elementor-kit-495 input[type="button"]:hover,.elementor-kit-495 input[type="button"]:focus,.elementor-kit-495 input[type="submit"]:hover,.elementor-kit-495 input[type="submit"]:focus,.elementor-kit-495 .elementor-button:hover,.elementor-kit-495 .elementor-button:focus{background-color:var( --e-global-color-v4-wec-color-brand-strong );color:var( --e-global-color-v4-wec-color-neutral-primary );}.elementor-kit-495 e-page-transition{background-color:#FFBC7D;}.elementor-kit-495 p{margin-block-end:38px;}.elementor-kit-495 a{color:var( --e-global-color-v4-wec-color-fg-brand );font-family:"Public Sans", Sans-serif;font-size:1.0625rem;font-weight:400;line-height:1.65em;}.elementor-kit-495 a:hover{color:var( --e-global-color-v4-wec-color-fg-brand-strong );}.elementor-kit-495 h1{color:var( --e-global-color-v4-wec-color-heading );font-family:"IBM Plex Sans", Sans-serif;font-size:3.5rem;font-weight:700;line-height:1.1em;letter-spacing:-0.01em;}.elementor-kit-495 h2{color:var( --e-global-color-v4-wec-color-heading );font-family:"IBM Plex Sans", Sans-serif;font-size:2.75rem;font-weight:700;line-height:1.15em;letter-spacing:-0.01em;}.elementor-kit-495 h3{color:#111827;font-family:"IBM Plex Sans", Sans-serif;font-size:1.875rem;font-weight:700;line-height:1.25em;letter-spacing:-0.01em;}.elementor-kit-495 h4{color:var( --e-global-color-v4-wec-color-heading );font-family:"IBM Plex Sans", Sans-serif;font-size:1.5rem;font-weight:700;line-height:1.3em;}.elementor-kit-495 h5{color:var( --e-global-color-v4-wec-color-heading );font-family:"IBM Plex Sans", Sans-serif;font-size:1.25rem;font-weight:700;line-height:1.35em;}.elementor-kit-495 h6{color:var( --e-global-color-v4-wec-color-heading );font-family:"IBM Plex Sans", Sans-serif;font-size:1.0625rem;font-weight:700;line-height:1.4em;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1440px;}.e-con{--container-max-width:1440px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){--kit-widget-spacing:0px;}.elementor-element{--widgets-spacing:0px 0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-kit-495 h1{font-size:2.75rem;}.elementor-kit-495 h2{font-size:2.25rem;}.elementor-kit-495 h3{font-size:1.625rem;}.elementor-kit-495 h4{font-size:1.375rem;}.elementor-kit-495 h5{font-size:1.125rem;}.elementor-kit-495 h6{font-size:1.0625rem;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:860px;}.e-con{--container-max-width:860px;}}@media(max-width:767px){.elementor-kit-495 h1{font-size:2.25rem;}.elementor-kit-495 h2{font-size:1.875rem;}.elementor-kit-495 h3{font-size:1.5rem;}.elementor-kit-495 h4{font-size:1.25rem;}.elementor-kit-495 h5{font-size:1.125rem;}.elementor-kit-495 h6{font-size:1.0625rem;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:680px;}.e-con{--container-max-width:680px;}}:root { --wec-font-sans:Public Sans; --wec-font-display:Space Grotesk; --wec-leading-none:1em; --wec-leading-tight:1.2em; --wec-leading-snug:1.35em; --wec-leading-normal:1.5em; --wec-leading-relaxed:1.7em; --wec-leading-loose:2em; --wec-spacing-ui-xs:16px; --wec-spacing-ui-sm:20px; --wec-spacing-ui-md:24px; --wec-spacing-ui-lg:28px; --wec-spacing-ui-xl:32px; --wec-spacing-ui-2xl:36px; --wec-spacing-ui-none:60px; --wec-font-weight-normal:px; --wec-font-weight-medium:px; --wec-font-weight-semibold:px; --wec-font-weight-bold:px; --wec-text-xs:0.75rem; --wec-text-xs--line-height:1.3333em; --wec-text-sm:0.875rem; --wec-text-sm--line-height:1.4286em; --wec-text-base:1rem; --wec-text-base--line-height:1.5em; --wec-text-lg:1.125rem; --wec-text-lg--line-height:1.5556em; --wec-text-xl:1.25rem; --wec-text-xl--line-height:1.4em; --wec-text-2xl:1.5rem; --wec-text-2xl--line-height:1.3333em; --wec-text-3xl:1.875rem; --wec-text-3xl--line-height:1.2em; --wec-text-4xl:2.25rem; --wec-text-4xl--line-height:1.1111em; --wec-text-5xl:3rem; --wec-text-5xl--line-height:1em; --wec-color-primary-50:#f4f9fb; --wec-color-primary-100:#e0edf4; --wec-color-primary-200:#b7d6e6; --wec-color-primary-300:#84bad5; --wec-color-primary-400:#4c9ac2; --wec-color-primary-500:#1e81b2; --wec-color-primary-600:#0070a8; --wec-color-primary-700:#035c8a; --wec-color-primary-800:#064769; --wec-color-primary-900:#09354f; --wec-color-primary-950:#0b283a; --wec-color-accent-50:#f9fbfa; --wec-color-accent-100:#eff5f1; --wec-color-accent-200:#dbe8df; --wec-color-accent-300:#c1d8c8; --wec-color-accent-400:#a5c6af; --wec-color-accent-500:#8eb79b; --wec-color-accent-600:#7fae8e; --wec-color-accent-700:#688e75; --wec-color-accent-800:#4f6b5a; --wec-color-accent-900:#3b4e44; --wec-color-accent-950:#2c3833; --wec-color-fg-brand-subtle:#b7d6e6; --wec-color-fg-brand:#035c8a; --wec-color-fg-brand-strong:#09354f; --wec-color-brand-softer:#f4f9fb; --wec-color-brand-soft:#e0edf4; --wec-color-brand:#035c8a; --wec-color-brand-medium:#b7d6e6; --wec-color-brand-strong:#064769; --wec-color-brand-subtle:#b7d6e6; --wec-color-brand-light:#0070a8; --wec-color-fg-brand-accent-subtle:#dbe8df; --wec-color-fg-brand-accent:#4f6b5a; --wec-color-fg-brand-accent-strong:#2c3833; --wec-color-brand-accent-softer:#f9fbfa; --wec-color-brand-accent-soft:#eff5f1; --wec-color-brand-accent:#4f6b5a; --wec-color-brand-accent-medium:#dbe8df; --wec-color-brand-accent-strong:#3b4e44; --wec-color-brand-accent-subtle:#dbe8df; --wec-color-brand-accent-light:#7fae8e; --wec-color-body:#4b5563; --wec-color-body-subtle:#6b7280; --wec-color-heading:#111827; --wec-color-default:#e5e7eb; --wec-color-default-medium:#e5e7eb; --wec-color-muted:#f9fafb; --wec-color-light:#f3f4f6; --wec-color-neutral-primary:#ffffff; --wec-color-neutral-primary-soft:#ffffff; --wec-color-neutral-secondary:#f9fafb; --wec-color-neutral-secondary-soft:#f9fafb; --wec-color-neutral-secondary-medium:#f9fafb; --wec-color-neutral-tertiary:#f3f4f6; --wec-color-neutral-tertiary-soft:#f3f4f6; --wec-color-neutral-tertiary-medium:#f3f4f6; --wec-color-neutral-quaternary:#e5e7eb; --wec-color-success:#047857; --wec-color-success-soft:#ecfdf5; --wec-color-success-medium:#d1fae5; --wec-color-success-strong:#065f46; --wec-color-danger:#be123c; --wec-color-danger-soft:#fff1f2; --wec-color-danger-medium:#ffe4e6; --wec-color-danger-strong:#9f1239; --wec-color-warning:#c2410c; --wec-color-warning-soft:#fff7ed; --wec-color-warning-medium:#ffedd5; --wec-color-warning-strong:#9a3412; --wec-spacing-xs:0.25rem; --wec-spacing-sm:0.5rem; --wec-spacing-md:0.75rem; --wec-spacing-lg:1.25rem; --wec-spacing-xl:2rem; --wec-spacing-2xl:3rem; --wec-radius-xs:2px; --wec-radius-sm:4px; --wec-radius-md:6px; --wec-radius-lg:8px; --wec-radius-xl:12px; --wec-radius-2xl:16px; --wec-radius-control:12px; --wec-radius-surface:16px; --wec-topbar-visible:px; --wec-color-surface-header:#ffffff; --wec-color-text-header:#111827; --wec-color-border-header:#e5e7eb; --wec-color-surface-header-megamenu:#f9fafb; --wec-color-surface-header-hover:#f9fafb; --wec-color-text-header-hover:#111827; --wec-color-surface-header-active:#e0edf4; --wec-color-text-header-active:#035c8a; --wec-color-focus-header:#035c8a; --wec-color-surface-footer:#000; --wec-color-text-footer:#ffffff; --wec-color-surface-footer-hover:#035c8a; --wec-color-text-footer-hover:#ffffff; --wec-color-focus-footer:#ffffff; --wec-color-bg-transparent:#FFFFFF00; --wec-leading-8:32px; --wec-leading-5:20px; --wec-leading-4:16px; }
/* Start custom CSS *//* ================================================================
   ITA.O - CSS Custom Elementor
   Generato da rsoft_wec_to_elementor.py il 2026-07-29
   Fonte: wec_themes.css (webExpress Design System)
   RSoft Computer & Communication Consulting
   ================================================================ */

/* ----------------------------------------------------------------
   SHADOW VARIABLES
   Non gestibili come tipo nativo nel Variables Manager Elementor.
   ---------------------------------------------------------------- */
:root {
  --wec-shadow-xs: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --wec-shadow-sm: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
  --wec-shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --wec-shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --wec-shadow-xl: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
  --wec-shadow-card: 0 10px 25px rgb(15 23 42 / 0.08);
  --wec-shadow-overlay: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --wec-shadow-control: 0 1px 2px 0 rgb(0 0 0 / 0.05);
}

/* ----------------------------------------------------------------
   DARK MODE
   Elementor non ha dark mode nativa.
   Attivata dalla classe .dark applicata da webExpress.
   ---------------------------------------------------------------- */
.dark {
  --wec-color-body: #9ca3af;
  --wec-color-body-rgb: 156 163 175;
  --wec-color-body-subtle: #9ca3af;
  --wec-color-heading: #fff;
  --wec-color-brand: #0070a8;
  --wec-color-brand-strong: #035c8a;
  --wec-color-brand-softer: #0b283a;
  --wec-color-brand-soft: #09354f;
  --wec-color-brand-medium: #09354f;
  --wec-color-fg-brand: #1e81b2;
  --wec-color-fg-brand-strong: #4c9ac2;
  --wec-color-brand-accent: #7fae8e;
  --wec-color-brand-accent-strong: #688e75;
  --wec-color-neutral-primary: #030712;
  --wec-color-neutral-secondary-medium: #1f2937;
  --wec-color-neutral-tertiary: #1f2937;
  --wec-color-default: #1f2937;
  --wec-color-default-medium: #374151;
  --wec-color-surface-header: #e5e7eb;
  --wec-color-text-header: #fff;
  --wec-color-surface-footer: #035c8a;
  --wec-color-text-footer: #fff;
  --wec-color-surface-footer-hover: #035c8a;
  --wec-color-text-footer-hover: #fff;
}

/* ----------------------------------------------------------------
   BASE FONT-SIZE - scala rem allineata a Tailwind (1rem = 16px)
   Non gestibile da Elementor UI.
   ---------------------------------------------------------------- */
html { font-size: 16px; }
@media (max-width: 1024px) { html { font-size: 15px; } }
@media (max-width: 767px)  { html { font-size: 15px; } }

/* ----------------------------------------------------------------
   SMOOTH SCROLL + FOCUS WCAG 2.1 AA
   ---------------------------------------------------------------- */
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}

*:focus-visible {
  outline: 1px solid var(--wec-color-brand-accent, #4f6b5a);
  outline-offset: 2px;
  border-radius: var(--wec-radius-sm, 4px);
}

/* ----------------------------------------------------------------
   FIX BADGE + EYEBROW - Elementor impone max-width sui widget
   ---------------------------------------------------------------- */
.wec-badge,
.wec-eyebrow.pill {
  max-width: fit-content !important;
}

/* ----------------------------------------------------------------
   TIPOGRAFIA - Elementor v4 Atomic
   IMPORTANTE: in v4 Atomic i selettori cambiano rispetto a v3.
   Gli elementi usano classi proprie (.e-heading-base, ecc.)
   NON sono dentro .elementor-widget-text-editor.
   ---------------------------------------------------------------- */
/* FIX BUG-006 + BUG-001 Elementor v4 - margin: 0px su tutti gli Atomic Elements
   .elementor .e-heading-base e .elementor .e-paragraph-base
   Workaround: stessa specificita + !important */
.elementor h1.e-heading-base { margin-top: 0 !important;      margin-bottom: 1.5rem !important; }
.elementor h2.e-heading-base { margin-top: 2.5rem !important; margin-bottom: 1rem !important; }
.elementor h3.e-heading-base { margin-top: 2rem !important;   margin-bottom: 0.75rem !important; }
.elementor h4.e-heading-base { margin-top: 1.5rem !important; margin-bottom: 0.5rem !important; }
.elementor h5.e-heading-base,
.elementor h6.e-heading-base { margin-top: 1.25rem !important; margin-bottom: 0.5rem !important; }

.elementor h1.e-heading-base + h2.e-heading-base,
.elementor h2.e-heading-base + h3.e-heading-base { margin-top: 0.5rem !important; }

.elementor .e-paragraph-base { margin-top: 0 !important;/* margin-bottom: 1.25rem !important;*/ }
.elementor .e-paragraph-base:last-child { /*margin-bottom: 0 !important;*/ }

/* ----------------------------------------------------------------
   SPAZIATURA AREE HTML LIBERE - v3 legacy e plugin terzi
   Necessario per widget Text Editor v3, Post Content, blog.
   ---------------------------------------------------------------- */
.elementor-widget-text-editor h1,
.entry-content h1 { margin-top: 0;      margin-bottom: 1.5rem; }
.elementor-widget-text-editor h2,
.entry-content h2 { margin-top: 2.5rem; margin-bottom: 1rem; }
.elementor-widget-text-editor h3,
.entry-content h3 { margin-top: 2rem;   margin-bottom: 0.75rem; }
.elementor-widget-text-editor h4,
.entry-content h4 { margin-top: 1.5rem; margin-bottom: 0.5rem; }
.elementor-widget-text-editor h5,
.elementor-widget-text-editor h6,
.entry-content h5,
.entry-content h6  { margin-top: 1.25rem; margin-bottom: 0.5rem; }
.elementor-widget-text-editor h1 + h2,
.elementor-widget-text-editor h2 + h3,
.entry-content h1 + h2,
.entry-content h2 + h3 { margin-top: 0.5rem; }
.elementor-widget-text-editor p,
.entry-content p { margin-top: 0; margin-bottom: 1.25rem; }
.elementor-widget-text-editor p:last-child,
.entry-content p:last-child { margin-bottom: 0; }
.elementor-widget-text-editor ul,
.elementor-widget-text-editor ol,
.entry-content ul,
.entry-content ol {
  margin-top: 0;
  margin-bottom: 1.25rem;
  padding-left: 1.5em;
}
.elementor-widget-text-editor li,
.entry-content li { margin-bottom: 0.4rem; }
.elementor-widget-text-editor li:last-child,
.entry-content li:last-child { margin-bottom: 0; }
.elementor-widget-text-editor blockquote,
.entry-content blockquote {
  margin: 1.5rem 0;
  padding: 1rem 1.5rem;
  border-left: 3px solid var(--wec-color-brand-accent-light, #7fae8e);
  background: var(--wec-color-brand-accent-softer, #f9fbfa);
  color: var(--wec-color-body, #4b5563);
  font-style: italic;
  border-radius: 0 var(--wec-radius-lg, 8px) var(--wec-radius-lg, 8px) 0;
}
.elementor-widget-text-editor hr,
.entry-content hr {
  margin: 2rem 0;
  border: none;
  border-top: 1px solid var(--wec-color-default, #e5e7eb);
}

.elementor-icon svg > path {
    fill: var(--color-brand) !important;
    stroke: initial !important;
}/* End custom CSS */