.elementor-141 .elementor-element.elementor-element-32d3d20{--display:flex;}.elementor-141 .elementor-element.elementor-element-32d3d20:not(.elementor-motion-effects-element-type-background), .elementor-141 .elementor-element.elementor-element-32d3d20 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-widget-animated-headline .elementor-headline-dynamic-wrapper path{stroke:var( --e-global-color-accent );}.elementor-widget-animated-headline .elementor-headline-plain-text{color:var( --e-global-color-secondary );}.elementor-widget-animated-headline .elementor-headline{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-animated-headline{--dynamic-text-color:var( --e-global-color-secondary );}.elementor-widget-animated-headline .elementor-headline-dynamic-text{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-141 .elementor-element.elementor-element-476d303{--iteration-count:infinite;--typing-selected-bg-color:#FFFFFF00;}.elementor-141 .elementor-element.elementor-element-476d303 .elementor-headline{text-align:center;font-family:"Montserrat", Sans-serif;font-weight:600;}.elementor-141 .elementor-element.elementor-element-476d303 .elementor-headline-plain-text{color:#54595F;}.elementor-141 .elementor-element.elementor-element-476d303 .elementor-headline-dynamic-text{font-family:"Montserrat", Sans-serif;font-weight:600;}.elementor-141 .elementor-element.elementor-element-476d303 .elementor-headline .elementor-headline-dynamic-wrapper{-webkit-text-stroke-color:#000;stroke:#000;}.elementor-141 .elementor-element.elementor-element-919aede{--iteration-count:infinite;width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;--typing-selected-bg-color:#FFFFFF00;}.elementor-141 .elementor-element.elementor-element-919aede.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-141 .elementor-element.elementor-element-919aede .elementor-headline{text-align:center;font-family:"Montserrat", Sans-serif;font-weight:600;}.elementor-141 .elementor-element.elementor-element-919aede .elementor-headline-plain-text{color:#54595F;}.elementor-141 .elementor-element.elementor-element-919aede .elementor-headline-dynamic-text{font-family:"Montserrat", Sans-serif;font-weight:600;}.elementor-141 .elementor-element.elementor-element-919aede .elementor-headline .elementor-headline-dynamic-wrapper{-webkit-text-stroke-color:#000;stroke:#000;}.elementor-141 .elementor-element.elementor-element-84004a7{--iteration-count:infinite;width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;--dynamic-text-color:#BD7400;--typing-selected-bg-color:#FFFFFF00;}.elementor-141 .elementor-element.elementor-element-84004a7.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-141 .elementor-element.elementor-element-84004a7 .elementor-headline{text-align:center;font-family:"Montserrat", Sans-serif;font-weight:600;}.elementor-141 .elementor-element.elementor-element-84004a7 .elementor-headline-plain-text{color:#8D5700;}.elementor-141 .elementor-element.elementor-element-84004a7 .elementor-headline-dynamic-text{font-family:"Montserrat", Sans-serif;font-weight:600;}.elementor-141 .elementor-element.elementor-element-84004a7 .elementor-headline .elementor-headline-dynamic-wrapper{-webkit-text-stroke-color:#000;stroke:#000;}.elementor-141 .elementor-element.elementor-element-61ce75a{--display:flex;}.elementor-141 .elementor-element.elementor-element-61ce75a:not(.elementor-motion-effects-element-type-background), .elementor-141 .elementor-element.elementor-element-61ce75a > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-141 .elementor-element.elementor-element-07e5252{--iteration-count:infinite;--typing-selected-bg-color:#FFFFFF00;}.elementor-141 .elementor-element.elementor-element-07e5252 .elementor-headline{text-align:center;font-family:"Montserrat", Sans-serif;font-weight:600;}.elementor-141 .elementor-element.elementor-element-07e5252 .elementor-headline-plain-text{color:#54595F;}.elementor-141 .elementor-element.elementor-element-07e5252 .elementor-headline-dynamic-text{font-family:"Montserrat", Sans-serif;font-weight:600;}.elementor-141 .elementor-element.elementor-element-07e5252 .elementor-headline .elementor-headline-dynamic-wrapper{-webkit-text-stroke-color:#000;stroke:#000;}.elementor-141 .elementor-element.elementor-element-b80f515{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-141 .elementor-element.elementor-element-11e5a21{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-141 .elementor-element.elementor-element-11e5a21:not(.elementor-motion-effects-element-type-background), .elementor-141 .elementor-element.elementor-element-11e5a21 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}:root{--page-title-display:none;}/* Start custom CSS for animated-headline, class: .elementor-element-476d303 *//* Gradiente su testo statico + dinamico dell'Headline */
.elementor-141 .elementor-element.elementor-element-476d303 .elementor-headline-plain-text,
.elementor-141 .elementor-element.elementor-element-476d303 .elementor-headline-dynamic-text {
    background: linear-gradient(90deg, #ff7e5f, #feb47b, #ff7e5f);
    background-size: 300% 100%;          /* più ampio = animazione visibile */
    background-position: 0% 50%;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;                   /* fallback */
    display: inline-block;                /* importante per il clip su testo */
    animation: gradientAnimation 6s linear infinite;
}

/* Cursore del typing (opzionale) */
.elementor-141 .elementor-element.elementor-element-476d303 .typed-cursor {
    color: #ff7e5f;                       /* oppure #feb47b, oppure nascondi */
    /* opacity: .6;                        // se vuoi più discreto */
    /* display: none;                      // se vuoi nasconderlo */
}

/* Animazione del gradiente */
@keyframes gradientAnimation {
    0%   { background-position: 0% 50%; }
    100% { background-position: 100% 50%; }
}

/* Accessibilità: se l’utente preferisce meno animazioni, fermiamo il loop */
@media (prefers-reduced-motion: reduce) {
    .elementor-141 .elementor-element.elementor-element-476d303 .elementor-headline-plain-text,
    .elementor-141 .elementor-element.elementor-element-476d303 .elementor-headline-dynamic-text {
        animation: none;
        background-position: 50% 50%;
    }
}/* End custom CSS */
/* Start custom CSS for animated-headline, class: .elementor-element-919aede *//* Imposta il contenitore dell'headline */
.elementor-141 .elementor-element.elementor-element-919aede{
  /* lunghezza massima della parola in caratteri */
  --chars: 14;
  display: inline-block;
  /* larghezza fissa per evitare spostamenti quando la width cambia */
  width: calc(var(--chars) * 1ch);
  text-align: left;         /* il caret parte sempre a sinistra */
}

/* Applica SOLO alla parte dinamica */
.elementor-141 .elementor-element.elementor-element-919aede .elementor-headline-dynamic-text{
  display: inline-block;
  white-space: nowrap;
  overflow: hidden;

  /* gradiente */
  background: linear-gradient(90deg, #ff7e5f, #feb47b, #ff7e5f);
  background-size: 300% 100%;
  background-position: 0% 50%;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;

  /* cursore che NON modifica la width (niente border-right) */
  box-shadow: inset -2px 0 0 0 #ff7e5f;

  /* animazioni */
  width: 0ch;
  animation:
    typing 6s steps(var(--chars), end) infinite,
    blink 1s steps(1, end) infinite,
    gradientAnimation 6s linear infinite;
}

/* Keyframes: scrive (0→40%), pausa (40→60%), cancella (60→100%) */
@keyframes typing{
  0%   { width: 0ch; }
  40%  { width: calc(var(--chars) * 1ch); }
  60%  { width: calc(var(--chars) * 1ch); }
  100% { width: 0ch; }
}

/* Lampeggio del “cursore” vi*

.elementor-141 .elementor-element.elementor-element-919aede {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100px; /* Adjust height as needed */
    overflow: hidden;
}

.elementor-headline-letters {
    font-size: 48px; /* Adjust font size as needed */
    font-weight: bold;
    white-space: nowrap;
    overflow: hidden;
    border-right: 2px solid transparent; /* Cursor */
    animation: typing 4s steps(10, end), blink-caret 0.75s step-end infinite;
    background: linear-gradient(90deg, #06beb6, #48b1bf);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

@keyframes typing {
    0% { width: 0; }
    10% { width: 100%; }
    20% { width: 100%; }
    30% { width: 0; }
    40% { width: 0; }
    100% { width: 0; }
}

@keyframes blink-caret {
    0%, 100% { border-color: transparent; }
    50% { border-color: rgba(255, 255, 255, 1); }
}

/* Add specific animations for each word */
@keyframes word1 {
    0%, 10% { width: 0; }
    20%, 30% { width: 100%; }
    40% { width: 0; }
}

@keyframes word2 {
    0%, 40% { width: 0; }
    50%, 60% { width: 100%; }
    70% { width: 0; }
}

@keyframes word3 {
    0%, 70% { width: 0; }
    80%, 90% { width: 100%; }
    100% { width: 0; }
}

/* Apply the animations to the words */
.elementor-headline-text-active {
    animation: word1 4s steps(10, end) infinite, blink-caret 0.75s step-end infinite;
}

.elementor-headline-text-inactive {
    animation: word2 4s steps(10, end) infinite, blink-caret 0.75s step-end infinite;
}

.elementor-headline-text-inactive:nth-child(2) {
    animation: word3 4s steps(10, end) infinite, blink-caret 0.75s step-end infinite;
}/* End custom CSS */
/* Start custom CSS for animated-headline, class: .elementor-element-84004a7 *//* Gradiente su testo statico + dinamico dell'Headline */
.elementor-141 .elementor-element.elementor-element-84004a7 .elementor-headline-plain-text,
.elementor-141 .elementor-element.elementor-element-84004a7 .elementor-headline-dynamic-text {
    background: linear-gradient(90deg, #ff7e5f, #feb47b, #ff7e5f);
    background-size: 300% 100%;          /* più ampio = animazione visibile */
    background-position: 0% 50%;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;                   /* fallback */
    display: inline-block;                /* importante per il clip su testo */
    animation: gradientAnimation 6s linear infinite;
}

/* Cursore del typing (opzionale) */
.elementor-141 .elementor-element.elementor-element-84004a7 .typed-cursor {
    color: #ff7e5f;                       /* oppure #feb47b, oppure nascondi */
    /* opacity: .6;                        // se vuoi più discreto */
    /* display: none;                      // se vuoi nasconderlo */
}

/* Animazione del gradiente */
@keyframes gradientAnimation {
    0%   { background-position: 0% 50%; }
    100% { background-position: 100% 50%; }
}

/* Accessibilità: se l’utente preferisce meno animazioni, fermiamo il loop */
@media (prefers-reduced-motion: reduce) {
    .elementor-141 .elementor-element.elementor-element-84004a7 .elementor-headline-plain-text,
    .elementor-141 .elementor-element.elementor-element-84004a7 .elementor-headline-dynamic-text {
        animation: none;
        background-position: 50% 50%;
    }
}/* End custom CSS */
/* Start custom CSS for animated-headline, class: .elementor-element-07e5252 *//* Gradiente su testo statico + dinamico dell'Headline */
.elementor-141 .elementor-element.elementor-element-07e5252 .elementor-headline-plain-text,
.elementor-141 .elementor-element.elementor-element-07e5252 .elementor-headline-dynamic-text {
    background: linear-gradient(90deg, #ff7e5f, #feb47b, #ff7e5f);
    background-size: 300% 100%;          /* più ampio = animazione visibile */
    background-position: 0% 50%;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;                   /* fallback */
    display: inline-block;                /* importante per il clip su testo */
    animation: gradientAnimation 6s linear infinite;
}

/* Cursore del typing (opzionale) */
.elementor-141 .elementor-element.elementor-element-07e5252 .typed-cursor {
    color: #ff7e5f;                       /* oppure #feb47b, oppure nascondi */
    /* opacity: .6;                        // se vuoi più discreto */
    /* display: none;                      // se vuoi nasconderlo */
}

/* Animazione del gradiente */
@keyframes gradientAnimation {
    0%   { background-position: 0% 50%; }
    100% { background-position: 100% 50%; }
}

/* Accessibilità: se l’utente preferisce meno animazioni, fermiamo il loop */
@media (prefers-reduced-motion: reduce) {
    .elementor-141 .elementor-element.elementor-element-07e5252 .elementor-headline-plain-text,
    .elementor-141 .elementor-element.elementor-element-07e5252 .elementor-headline-dynamic-text {
        animation: none;
        background-position: 50% 50%;
    }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-0bffb41 *//* Contenitore riga */
.marquee{
  position: relative;
  overflow: hidden;
  width: 100%;
  white-space: nowrap;
  will-change: transform;
  /* altezza/padding a gusto */
}

/* Traccia che scorre (duplicata per loop fluido) */
.marquee .track{
  display: inline-block;
  padding-left: 2rem;            /* distanza tra ripetizioni */
  animation: scroll-ltr 18s linear infinite;
}
.marquee.rtl .track{
  animation: scroll-rtl 18s linear infinite;
}

/* Tipografia */
.marquee span{
  display: inline-block;
  margin-right: 3rem;            /* spazio fra frasi */
  font-weight: 700;
  font-size: clamp(18px, 2.2vw, 34px);
}

/* Gradient opzionale sul testo */
.marquee span{
  background: linear-gradient(90deg,#06beb6,#48b1bf,#06beb6);
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent;
}

/* Animazioni */
@keyframes scroll-ltr{
  0%{ transform: translateX(0); }
  100%{ transform: translateX(-50%); }
}
@keyframes scroll-rtl{
  0%{ transform: translateX(-50%); }
  100%{ transform: translateX(0); }
}

/* riduci animazioni se richiesto */
@media (prefers-reduced-motion: reduce){
  .marquee .track{ animation: none; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-b932d23 *//* Contenitore riga */
.marquee{
  position: relative;
  overflow: hidden;
  width: 100%;
  white-space: nowrap;
  will-change: transform;
  /* altezza/padding a gusto */
}

/* Traccia che scorre (duplicata per loop fluido) */
.marquee .track{
  display: inline-block;
  padding-left: 2rem;            /* distanza tra ripetizioni */
  animation: scroll-ltr 18s linear infinite;
}
.marquee.rtl .track{
  animation: scroll-rtl 18s linear infinite;
}

/* Tipografia */
.marquee span{
  display: inline-block;
  margin-right: 3rem;            /* spazio fra frasi */
  font-weight: 700;
  font-size: clamp(18px, 2.2vw, 34px);
}

/* Gradient opzionale sul testo */
.marquee span{
  background: linear-gradient(90deg,#06beb6,#48b1bf,#06beb6);
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent;
}

/* Animazioni */
@keyframes scroll-ltr{
  0%{ transform: translateX(0); }
  100%{ transform: translateX(-50%); }
}
@keyframes scroll-rtl{
  0%{ transform: translateX(-50%); }
  100%{ transform: translateX(0); }
}

/* riduci animazioni se richiesto */
@media (prefers-reduced-motion: reduce){
  .marquee .track{ animation: none; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-4ec6925 *//* Contenitore riga */
.marquee{
  position: relative;
  overflow: hidden;
  width: 100%;
  white-space: nowrap;
  will-change: transform;
  /* altezza/padding a gusto */
}

/* Traccia che scorre (duplicata per loop fluido) */
.marquee .track{
  display: inline-block;
  padding-left: 2rem;            /* distanza tra ripetizioni */
  animation: scroll-ltr 18s linear infinite;
}
.marquee.rtl .track{
  animation: scroll-rtl 18s linear infinite;
}

/* Tipografia */
.marquee span{
  display: inline-block;
  margin-right: 3rem;            /* spazio fra frasi */
  font-weight: 700;
  font-size: clamp(18px, 2.2vw, 34px);
}

/* Gradient opzionale sul testo */
.marquee span{
  background: linear-gradient(90deg,#06beb6,#48b1bf,#06beb6);
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent;
}

/* Animazioni */
@keyframes scroll-ltr{
  0%{ transform: translateX(0); }
  100%{ transform: translateX(-50%); }
}
@keyframes scroll-rtl{
  0%{ transform: translateX(-50%); }
  100%{ transform: translateX(0); }
}

/* riduci animazioni se richiesto */
@media (prefers-reduced-motion: reduce){
  .marquee .track{ animation: none; }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-11e5a21 *//* Contenitore riga */
.marquee {
  position: relative;
  overflow: hidden;
  width: 100%;
  white-space: nowrap;
  will-change: transform;
}

/* Traccia che scorre */
.marquee .track {
  display: inline-block;
  padding-left: 2rem;
  animation: scroll-ltr 18s linear infinite;
}

/* Testo */
.marquee span {
  display: inline-block;
  margin-right: 3rem;
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 45px;
  color: #d3d3d3; /* grigio chiaro */
}

/* Animazione da dx verso sx */
@keyframes scroll-ltr {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

/* Riduci animazioni se richiesto dal sistema */
@media (prefers-reduced-motion: reduce) {
  .marquee .track { animation: none; }
}/* End custom CSS */