.elementor-kit-6{--e-global-color-primary:#6EC1E4;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;background-color:#F5F1E8;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:760px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:640px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* Generated residuals. Native geometry/colors/spacing are in the JSON. */

/* Il container classico non espone backdrop-filter; i filtri CSS nativi agiscono sul contenuto. */
.pv-site-nav-v8 { backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); }

/* I pesi intermedi non sono opzioni valide nel select Font Weight dei font di sistema. */
.elementor .pv-weight-850 :is(.elementor-heading-title,.elementor-button,.elementor-button-text), .elementor .pv-weight-850.elementor-widget-text-editor { font-weight: 850; }

/* I pesi intermedi non sono opzioni valide nel select Font Weight dei font di sistema. */
.elementor .pv-weight-780 :is(.elementor-heading-title,.elementor-button,.elementor-button-text), .elementor .pv-weight-780.elementor-widget-text-editor { font-weight: 780; }

/* Due gradienti radiali sovrapposti, con centro e raggio percentuali distinti: non rappresentabili dal singolo gradiente nativo. */
.pv-site-footer-v8 { background-image: radial-gradient(circle at 15% 0%, rgba(111, 143, 114, 0.28), rgba(0, 0, 0, 0) 34%), radial-gradient(circle at 86% 22%, rgba(201, 121, 61, 0.16), rgba(0, 0, 0, 0) 30%), none; }

/* Il controllo gradiente del target supporta due colori; la sorgente ne usa tre. */
.pv-home-hero-v5::before { background-image: linear-gradient(90deg, rgba(0, 23, 50, 0.94), rgba(0, 39, 83, 0.72) 48%, rgba(0, 39, 83, 0.22)); pointer-events: none; }

/* I pesi intermedi non sono opzioni valide nel select Font Weight dei font di sistema. */
.elementor .pv-weight-750 :is(.elementor-heading-title,.elementor-button,.elementor-button-text), .elementor .pv-weight-750.elementor-widget-text-editor { font-weight: 750; }

/* Il container classico non espone backdrop-filter; i filtri CSS nativi agiscono sul contenuto. */
.pv-hero-workflow { backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); }

/* I pesi intermedi non sono opzioni valide nel select Font Weight dei font di sistema. */
.elementor .pv-weight-760 :is(.elementor-heading-title,.elementor-button,.elementor-button-text), .elementor .pv-weight-760.elementor-widget-text-editor { font-weight: 760; }

/* Il container classico non espone backdrop-filter; i filtri CSS nativi agiscono sul contenuto. */
.pv-authority-badge { backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); }

/* Il controllo gradiente del target supporta due colori; la sorgente ne usa tre. */
.pv-home-final-cta::before { background-image: linear-gradient(90deg, rgba(6, 26, 35, 0.9), rgba(6, 26, 35, 0.55), rgba(6, 26, 35, 0.18)); pointer-events: none; }

/* Hand-audited residuals. build-pilot.py concatenates this with generated
 * residuals to produce the SINGLE deployable file custom.css.
 * Geometry, regular backgrounds, border, radii, shadows, typography sizes,
 * spacing, responsive layout and card/button hover transforms live in JSON.
 */

/* FONT control quotes one family and cannot express the original fallback list.
 * Do not load Inter/Manrope: the source does not load them either. */
.elementor .pv-native,
.elementor .pv-native .elementor-heading-title,
.elementor .pv-native .elementor-button,
.elementor .pv-native .elementor-button-text,
.elementor .pv-native .e-n-menu-title-text {
  font-family: Inter, Manrope, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

/* Text Editor's Paragraph Spacing=0 handles bottom margins natively. Its editor
 * wraps content in p; no native control removes a theme-provided TOP margin. */
.pv-copy p { margin-top: 0; }

/* Original header prohibits wrapping. Native typography has no white-space control. */
.pv-brand-text,
.pv-site-header-v8 .pv-cta .elementor-button { white-space: nowrap; }

/* Original .page clips overflowing descendants. Separate Theme Builder locations
 * cannot share a native wrapping container. This .elementor-kit-6 is scoped to the pilot. */
html:has(.pv-site-header-v8), body:has(.pv-site-header-v8) { overflow-x: clip; }

/* Two perpendicular 1px gradients plus a fading mask are not native backgrounds.
 * The top pattern's size/position/z-index are native Container controls. */
.pv-top-pattern {
  background-image: linear-gradient(90deg, rgba(18,59,74,.045) 1px, transparent 1px), linear-gradient(rgba(18,59,74,.045) 1px, transparent 1px);
  background-size: 48px 48px;
  mask-image: linear-gradient(to bottom, #000, transparent);
  pointer-events: none;
}
.pv-hero-grid-pattern {
  background-image: linear-gradient(90deg, rgba(255,255,255,.055) 1px, transparent 1px), linear-gradient(rgba(255,255,255,.055) 1px, transparent 1px);
  background-size: 54px 54px;
  mask-image: linear-gradient(90deg, black, transparent 72%);
  pointer-events: none;
}
.pv-footer-grid-pattern {
  background-image: linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px), linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px);
  background-size: 54px 54px;
  mask-image: linear-gradient(to bottom, black, transparent 74%);
  pointer-events: none;
}
.pv-section-rule {
  background-image: linear-gradient(90deg, transparent, rgba(18,59,74,.10), transparent);
  pointer-events: none;
}

/* The native Menu exposes item colors/spacing but not this individual item
 * translate or a detached, scaling underline at bottom:-8px. */
.pv-nav-links-v8 .e-n-menu-title {
  position: relative;
  transition: transform .22s ease;
}
.pv-nav-links-v8 .e-n-menu-title:hover { transform: translateY(-1px); }
.pv-nav-links-v8 .e-n-menu-title::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: -8px;
  height: 2px;
  border-radius: 999px;
  background: #6F8F72;
  transform: scaleX(0);
  transform-origin: center;
  transition: transform .22s ease;
  pointer-events: none;
}
.pv-nav-links-v8 .e-n-menu-title:hover::after,
.pv-nav-links-v8 .e-n-menu-title.e-current::after { transform: scaleX(1); }

/* Original body's load fade and perpetual workflow animation are not equivalent
 * to Elementor's viewport-triggered entrance or scroll motion effects. */
body:has(.pv-site-header-v8) { animation: pv-page-fade .45s ease both; }
.pv-hero-workflow { animation: pv-float-panel 6s ease-in-out infinite; }
@keyframes pv-page-fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes pv-float-panel {
  0%, 100% { transform: translateY(8px); }
  50% { transform: translateY(-2px); }
}

/* Native Form controls retain field font/colors/border/radius. They do not expose
 * free field height, padding, focus shadow/translate, or a no-submit-button mode. */
.pv-decorative-search-field .elementor-field-type-submit { display: none; }
.pv-decorative-search-field .elementor-field-group .elementor-field {
  height: 58px;
  padding: 0 14px 0 44px;
  outline: none;
  transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease, background .28s ease, color .28s ease, opacity .28s ease, filter .28s ease;
}
.pv-decorative-search-field .elementor-field-group .elementor-field:focus {
  border-color: #6F8F72;
  box-shadow: 0 0 0 4px rgba(111,143,114,.15);
  transform: translateY(-1px);
}
/* Chrome probe of the actual source: placeholder rgb(117,117,117), opacity 1.
 * Elementor inherits text color and dims placeholders; neither matches the source. */
.pv-decorative-search-field .elementor-field-group .elementor-field::placeholder { color: rgb(117,117,117); opacity: 1; }

/* Preserve the source's reduced-motion behavior, scoped to pilot elements.
 * Native transform controls use custom properties; resetting those avoids
 * overriding the normal hover properties with !important. */
@media (prefers-reduced-motion: reduce) {
  body:has(.pv-site-header-v8), .pv-native {
    animation-duration: .01ms;
    animation-iteration-count: 1;
  }
  .pv-native, .pv-native::before, .pv-native::after,
  .pv-native .elementor-button, .pv-native > .elementor-widget-container,
  .pv-nav-links-v8 .e-n-menu-title, .pv-nav-links-v8 .e-n-menu-title::after,
  .pv-decorative-search-field .elementor-field {
    transition-duration: .01ms;
  }
}/* End custom CSS */