.elementor-24 .elementor-element.elementor-element-25696a0{--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-24 .elementor-element.elementor-element-dd426ef{--display:flex;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-24 .elementor-element.elementor-element-1516dcd .elementor-button{background-color:#000000;font-family:"Exo 2", Sans-serif;font-weight:500;border-style:none;border-radius:26px 26px 26px 26px;}.elementor-24 .elementor-element.elementor-element-1516dcd.elementor-element{--align-self:center;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-24 .elementor-element.elementor-element-62af458 img{opacity:1;}.elementor-24 .elementor-element.elementor-element-77e3550{--display:grid;--e-con-grid-template-columns:repeat(2, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-24 .elementor-element.elementor-element-9d091f5{--display:flex;--align-items:flex-end;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-24 .elementor-element.elementor-element-3a60b6e .elementor-button{background-color:#FFFFFF;font-family:"integral", Sans-serif;font-size:15px;font-weight:400;fill:#000000;color:#000000;border-radius:10px 10px 10px 10px;}.elementor-24 .elementor-element.elementor-element-3a60b6e.elementor-element{--align-self:flex-end;}.elementor-24 .elementor-element.elementor-element-8b9ac13{--display:flex;--align-items:flex-start;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-24 .elementor-element.elementor-element-84dddc4 .elementor-button{background-color:#000000;font-family:"integral", Sans-serif;font-size:15px;font-weight:400;border-style:solid;border-width:1px 1px 1px 1px;border-color:#FFFFFF;border-radius:10px 10px 10px 10px;}.elementor-24 .elementor-element.elementor-element-84dddc4 .elementor-button:hover, .elementor-24 .elementor-element.elementor-element-84dddc4 .elementor-button:focus{background-color:#FFFFFF;color:#000000;}.elementor-24 .elementor-element.elementor-element-84dddc4 .elementor-button:hover svg, .elementor-24 .elementor-element.elementor-element-84dddc4 .elementor-button:focus svg{fill:#000000;}.elementor-24 .elementor-element.elementor-element-66d4d38{--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-24 .elementor-element.elementor-element-6091d3d{--spacer-size:50px;}.elementor-24 .elementor-element.elementor-element-05437e4{--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-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-24 .elementor-element.elementor-element-1743769{text-align:center;font-family:"Moderat", Sans-serif;font-size:15px;font-weight:400;color:#FFFFFF;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-24 .elementor-element.elementor-element-68bc1d7 > .elementor-widget-container{margin:-48px 0px 0px 0px;}.elementor-24 .elementor-element.elementor-element-68bc1d7{text-align:center;}.elementor-24 .elementor-element.elementor-element-a9fd2c8{--display:grid;--e-con-grid-template-columns:repeat(1, 1fr);--gap:0px 0px;--row-gap:0px;--column-gap:0px;--grid-auto-flow:row;--justify-items:center;--align-items:center;}.elementor-24 .elementor-element.elementor-element-005d8b6{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-24 .elementor-element.elementor-element-c38a86a{--display:flex;--min-height:0px;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:flex-start;--align-items:center;}.elementor-24 .elementor-element.elementor-element-d948f0a{text-align:center;}.elementor-24 .elementor-element.elementor-element-d948f0a .elementor-heading-title{font-family:"integral", Sans-serif;font-weight:400;}.elementor-24 .elementor-element.elementor-element-e1d1f7f{--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;--justify-content:center;}.elementor-24 .elementor-element.elementor-element-68f38d5.elementor-element{--align-self:center;}.elementor-24 .elementor-element.elementor-element-b810852.elementor-element{--align-self:center;}.elementor-widget-lottie{--caption-color:var( --e-global-color-text );}.elementor-widget-lottie .e-lottie__caption{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-24 .elementor-element.elementor-element-28c8d15{--lottie-container-width:100%;}.elementor-24 .elementor-element.elementor-element-403d462{--display:flex;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-24 .elementor-element.elementor-element-f46562f > .elementor-widget-container{padding:15px 0px 0px 0px;}.elementor-24 .elementor-element.elementor-element-f46562f{text-align:center;}.elementor-24 .elementor-element.elementor-element-f46562f .elementor-heading-title{font-family:"integral", Sans-serif;font-weight:400;}.elementor-24 .elementor-element.elementor-element-109e174{--display:flex;--min-height:0px;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-24 .elementor-element.elementor-element-26df398{text-align:left;}.elementor-24 .elementor-element.elementor-element-95e8ce8{width:var( --container-widget-width, 612px );max-width:612px;--container-widget-width:612px;--container-widget-flex-grow:0;--lottie-container-width:73%;}.elementor-24 .elementor-element.elementor-element-95e8ce8 > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-24 .elementor-element.elementor-element-e9a575d > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-24 .elementor-element.elementor-element-7dc799e{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-24 .elementor-element.elementor-element-a9e7689{--display:flex;--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-24 .elementor-element.elementor-element-6e5aeb6 > .elementor-widget-container{padding:10px 0px 0px 0px;}.elementor-24 .elementor-element.elementor-element-6e5aeb6 .elementor-widget-container{--e-transform-origin-x:center;--e-transform-origin-y:center;}.elementor-24 .elementor-element.elementor-element-6e5aeb6{text-align:center;}.elementor-24 .elementor-element.elementor-element-6e5aeb6 .elementor-heading-title{font-family:"integral", Sans-serif;font-weight:400;}.elementor-24 .elementor-element.elementor-element-bdac89c .elementor-widget-container{--e-transform-origin-x:center;--e-transform-origin-y:center;}.elementor-24 .elementor-element.elementor-element-bdac89c{--lottie-container-width:53%;}.elementor-24 .elementor-element.elementor-element-78ff0b2{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;}.elementor-24 .elementor-element.elementor-element-24a40bd{--display:flex;--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-24 .elementor-element.elementor-element-27af849 .elementor-widget-container{--e-transform-origin-x:center;--e-transform-origin-y:center;}.elementor-24 .elementor-element.elementor-element-27af849{--lottie-container-width:80%;}.elementor-24 .elementor-element.elementor-element-496a21b.elementor-element{--align-self:center;}.elementor-24 .elementor-element.elementor-element-761b045.elementor-element{--align-self:center;}.elementor-24 .elementor-element.elementor-element-8623313{--spacer-size:86px;}.elementor-24 .elementor-element.elementor-element-0bbe5e9{--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-24 .elementor-element.elementor-element-f306665{--display:flex;}.elementor-24 .elementor-element.elementor-element-af08e31{text-align:center;}.elementor-24 .elementor-element.elementor-element-8e3bafa{--display:grid;--min-height:0px;--e-con-grid-template-columns:repeat(4, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-24 .elementor-element.elementor-element-2c36ca1{--display:flex;}.elementor-24 .elementor-element.elementor-element-2c36ca1.e-con{--align-self:center;}.elementor-24 .elementor-element.elementor-element-4e5f13d{--display:flex;}.elementor-24 .elementor-element.elementor-element-305510a{text-align:center;}.elementor-24 .elementor-element.elementor-element-305510a .elementor-heading-title{font-family:"integral", Sans-serif;font-weight:600;}.elementor-24 .elementor-element.elementor-element-6c6a06e{--display:flex;}.elementor-24 .elementor-element.elementor-element-6c6a06e.e-con{--align-self:center;}.elementor-24 .elementor-element.elementor-element-1596829{--display:flex;}.elementor-24 .elementor-element.elementor-element-5767968{text-align:center;}.elementor-24 .elementor-element.elementor-element-5767968 .elementor-heading-title{font-family:"integral", Sans-serif;font-weight:600;}.elementor-24 .elementor-element.elementor-element-6bc5a47{--display:flex;}.elementor-24 .elementor-element.elementor-element-2765888{--display:flex;}.elementor-24 .elementor-element.elementor-element-9c4fcb6{text-align:center;}.elementor-24 .elementor-element.elementor-element-9c4fcb6 .elementor-heading-title{font-family:"integral", Sans-serif;font-weight:600;}.elementor-24 .elementor-element.elementor-element-23bfb93{--display:flex;}.elementor-24 .elementor-element.elementor-element-39866b7{--display:flex;}.elementor-24 .elementor-element.elementor-element-bf9cae4{text-align:center;}.elementor-24 .elementor-element.elementor-element-bf9cae4 .elementor-heading-title{font-family:"integral", Sans-serif;font-weight:600;}.elementor-24 .elementor-element.elementor-element-427d771{--display:flex;}.elementor-24 .elementor-element.elementor-element-427d771:not(.elementor-motion-effects-element-type-background), .elementor-24 .elementor-element.elementor-element-427d771 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-24 .elementor-element.elementor-element-70322ad{--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-24 .elementor-element.elementor-element-a832422{--e-image-carousel-slides-to-show:5;}.elementor-24 .elementor-element.elementor-element-b0c7117{--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-24 .elementor-element.elementor-element-5fddb67{--display:grid;--e-con-grid-template-columns:repeat(2, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;--border-radius:32px 32px 32px 32px;}.elementor-24 .elementor-element.elementor-element-5fddb67:not(.elementor-motion-effects-element-type-background), .elementor-24 .elementor-element.elementor-element-5fddb67 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#090A0F00;}.elementor-24 .elementor-element.elementor-element-5e34e1a{--display:flex;--justify-content:center;}.elementor-24 .elementor-element.elementor-element-47d6dc7 img{border-radius:32px 32px 32px 32px;box-shadow:0px 0px 10px 0px rgba(0,0,0,0.5);}.elementor-24 .elementor-element.elementor-element-57f90bf{--display:flex;}.elementor-24 .elementor-element.elementor-element-3d5e57b{text-align:center;font-family:"Moderat", Sans-serif;font-weight:400;color:#FFFFFF;}.elementor-24 .elementor-element.elementor-element-f4c55a8{text-align:center;}.elementor-24 .elementor-element.elementor-element-f4c55a8 .elementor-heading-title{color:#FFFFFF;}.elementor-24 .elementor-element.elementor-element-de290d0{font-family:"Moderat", Sans-serif;font-weight:400;color:#FFFFFF;}.elementor-24 .elementor-element.elementor-element-b943404 .elementor-button{background-color:#FFFFFF;font-family:"integral", Sans-serif;font-size:13px;font-weight:500;fill:#000000;color:#000000;border-radius:10px 10px 10px 10px;}body.elementor-page-24:not(.elementor-motion-effects-element-type-background), body.elementor-page-24 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#000000;}:root{--page-title-display:none;}@media(min-width:768px){.elementor-24 .elementor-element.elementor-element-c38a86a{--width:58%;}.elementor-24 .elementor-element.elementor-element-e1d1f7f{--width:100%;}.elementor-24 .elementor-element.elementor-element-403d462{--width:100%;}.elementor-24 .elementor-element.elementor-element-a9e7689{--width:55%;}.elementor-24 .elementor-element.elementor-element-24a40bd{--width:44%;}}@media(max-width:1024px){.elementor-24 .elementor-element.elementor-element-77e3550{--grid-auto-flow:row;}.elementor-24 .elementor-element.elementor-element-a9fd2c8{--grid-auto-flow:row;}.elementor-24 .elementor-element.elementor-element-8e3bafa{--grid-auto-flow:row;}.elementor-24 .elementor-element.elementor-element-5fddb67{--grid-auto-flow:row;}}@media(max-width:767px){.elementor-24 .elementor-element.elementor-element-77e3550{--e-con-grid-template-columns:repeat(2, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-24 .elementor-element.elementor-element-3a60b6e .elementor-button{font-size:15px;border-radius:10px 10px 10px 10px;}.elementor-24 .elementor-element.elementor-element-8b9ac13.e-con{--align-self:center;}.elementor-24 .elementor-element.elementor-element-84dddc4 .elementor-button{font-size:15px;border-radius:10px 10px 10px 10px;}.elementor-24 .elementor-element.elementor-element-6091d3d{--spacer-size:0px;}.elementor-24 .elementor-element.elementor-element-a9fd2c8{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:10px;--padding-right:10px;}.elementor-24 .elementor-element.elementor-element-109e174{--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;--flex-wrap:nowrap;}.elementor-24 .elementor-element.elementor-element-26df398{text-align:center;}.elementor-24 .elementor-element.elementor-element-e9a575d > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-24 .elementor-element.elementor-element-e9a575d{text-align:center;}.elementor-24 .elementor-element.elementor-element-78ff0b2{--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;--justify-content:center;--flex-wrap:nowrap;}.elementor-24 .elementor-element.elementor-element-8623313{--spacer-size:46px;}.elementor-24 .elementor-element.elementor-element-f306665{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-24 .elementor-element.elementor-element-8e3bafa{--e-con-grid-template-columns:repeat(2, 1fr);--gap:8px 8px;--row-gap:8px;--column-gap:8px;--grid-auto-flow:row;--padding-top:0px;--padding-bottom:0px;--padding-left:5px;--padding-right:5px;}.elementor-24 .elementor-element.elementor-element-305510a{text-align:center;}.elementor-24 .elementor-element.elementor-element-305510a .elementor-heading-title{font-size:14px;}.elementor-24 .elementor-element.elementor-element-5767968{text-align:center;}.elementor-24 .elementor-element.elementor-element-5767968 .elementor-heading-title{font-size:14px;}.elementor-24 .elementor-element.elementor-element-9c4fcb6{text-align:center;}.elementor-24 .elementor-element.elementor-element-9c4fcb6 .elementor-heading-title{font-size:14px;}.elementor-24 .elementor-element.elementor-element-bf9cae4{text-align:center;}.elementor-24 .elementor-element.elementor-element-bf9cae4 .elementor-heading-title{font-size:14px;}.elementor-24 .elementor-element.elementor-element-5fddb67{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-24 .elementor-element.elementor-element-f4c55a8 > .elementor-widget-container{margin:-26px 0px 0px 0px;}.elementor-24 .elementor-element.elementor-element-de290d0{text-align:center;}}/* Start custom CSS for button, class: .elementor-element-1516dcd *//* 1. Stili base per il button */
.status-button {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: transparent;          
  color: #fff;                      
  border: 1px solid #fff;      
  border-radius: 999px;
  font-size: 0.9rem;
  padding: 5px 5px 5px 15px;
  overflow: visible;  
}

/* 2. Pseudo-elemento ::before per il dot verde */
.status-button::before {
  content: "";
  position: absolute;
  left: 18px;                     
  top: 50%;
  transform: translateY(-50%);
  width: 0.7em;
  height: 0.7em;
  background: #4caf50;
  border-radius: 50%;
  box-shadow:
    0 0 0 rgba(76,175,80,0.7),
    0 0 4px rgba(76,175,80,0.5),
    0 0 8px rgba(76,175,80,0.3);
  animation: pulse 1.5s infinite;
  z-index: 1;
}

/* 3. Keyframes per l’effetto glow */
@keyframes pulse {
  0%,100% {
    box-shadow:
      0 0 0 rgba(76,175,80,0.7),
      0 0 4px rgba(76,175,80,0.5),
      0 0 8px rgba(76,175,80,0.3);
  }
  50% {
    box-shadow:
      0 0 6px rgba(76,175,80,0.8),
      0 0 12px rgba(76,175,80,0.6),
      0 0 16px rgba(76,175,80,0.4);
  }
}

/* Assicuriamoci che il button non sia full‑width */
.status-button.elementor-button {
  width: auto !important;
  max-width: none !important;
  display: inline-flex;  /* perché vogliamo anche il dot dentro */
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-3a60b6e *//* Stile del bottone */
.highlight-button {
  display: inline-block;
  padding: 15px 30px; /* Spazio interno del bottone */
  background-color: #1a73e8; /* Colore di sfondo principale */
  color: white; /* Colore del testo */
  font-size: 18px;
  text-transform: uppercase; /* Testo maiuscolo */
  text-decoration: none; /* Rimuove la sottolineatura */
  font-family: 'Integral', sans-serif; /* Font scelto */
  border: 2px solid #1a73e8; /* Bordo solido dello stesso colore dello sfondo */
  border-radius: 5px; /* Angoli leggermente arrotondati */
  box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1); /* Aggiunge un'ombra leggera */
  transition: all 0.3s ease; /* Transizione fluida */
  cursor: pointer; /* Cambia il cursore quando si passa sopra */
}

/* Effetto hover per mettere in risalto il bottone */
.highlight-button:hover {
  background-color: #ff6347; /* Cambia il colore di sfondo al passaggio del mouse */
  color: #fff; /* Mantiene il colore del testo bianco */
  border-color: #ff6347; /* Cambia il colore del bordo per abbinarlo allo sfondo */
  box-shadow: 0px 6px 8px rgba(0, 0, 0, 0.2); /* Ombra più marcata per effetto di profondità */
  transform: scale(1.05); /* Ingrandisce leggermente il bottone */
}

/* Effetto attivo quando si clicca */
.highlight-button:active {
  transform: scale(0.98); /* Rimpicciolisce leggermente il bottone quando viene cliccato */
  box-shadow: 0px 3px 5px rgba(0, 0, 0, 0.2); /* Riduce l'ombra per un effetto di pressione */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-25696a0 *//* wrapper del hero */
.hero-wrap{
  position: relative;
  overflow: visible;
}

/* contenuto testuale centrato */
.hero-content{
  position: relative;
  z-index: 2;
  max-width: 1200px;           /* adatta al tuo layout */
  margin: 0 auto;
  text-align: center;          /* come ora */
}

/* immagine a destra, fuori dal flusso */
.hero-photo{
  position: absolute;
  top: 50%;
  right: max(2vw, 16px);
  transform: translateY(-50%);
  width: clamp(240px, 28vw, 420px);   /* scala in base allo schermo */
  z-index: 1;                         /* sta dietro al testo */
  pointer-events: none;               /* non “interferisce” coi clic */
  filter: drop-shadow(0 20px 40px rgba(0,0,0,.35));
  overflow: hidden;
}

@media (min-width: 1024px){
  /* stessa larghezza della foto */
  .hero-content{ padding-right: clamp(240px, 28vw, 420px); }
  /* ...ma recuperiamo una parte per sovrapporre il titolo */
  .hero-title{ 
    position:relative;
    z-index:3;                           /* titolo sopra tutto */
    margin-right: calc(clamp(16px, 5vw, 72px) * -1);
  }
}

/* opzionale: leggero fade sul bordo sinistro della foto per leggibilità */
@media (min-width: 1024px){
  .hero-photo{
    -webkit-mask-image: linear-gradient(90deg, rgba(0,0,0,0.0) 0, rgba(0,0,0,1) 14%);
            mask-image: linear-gradient(90deg, rgba(0,0,0,0.0) 0, rgba(0,0,0,1) 14%);
  }
  /* un filo di ombra al testo aiuta sui fondi chiari */
  .hero-title *{ text-shadow: 0 2px 8px rgba(0,0,0,.35); }
}

/* tablet/mobile: niente sovrapposizione, foto sotto */
@media (max-width: 1023px){
  .hero-photo{
    position:static;
    transform:none;
    display:block;
    margin:24px auto 0;
    width:min(78vw,520px);
  }
  .hero-content{ padding-right:0; }
  .hero-title{ margin-right:0; text-shadow:none; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-b176735 *//* Regole generali per centrare il contenuto e prevenire overflow */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box; /* Assicura che padding e bordi siano inclusi nelle dimensioni */
}

body, html {
  width: 100%;
  overflow-x: hidden; /* Previene lo scorrimento orizzontale */
}

/* Contenitore principale */
.container {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: 100vw; /* Assicura che il contenitore non superi mai la larghezza dello schermo */
  padding: 20px; /* Spazio interno per evitare che il contenuto tocchi i bordi */
  text-align: center; /* Centra il testo */
}

/* Centra tutto il contenuto */
.container > * {
  max-width: 100%; /* Impedisce al contenuto di fuoriuscire */
  margin-bottom: 20px; /* Spazio tra gli elementi */
  word-wrap: break-word; /* Impedisce al testo di andare oltre i bordi */
}

/* Regole per schermi piccoli */
@media (max-width: 768px) {
  .container {
    padding: 10px; /* Riduce il padding su schermi più piccoli */
  }

  /* Riduce la dimensione dei font e degli elementi su mobile */
  .container > * {
    font-size: 16px; /* Dimensione del testo adattata per dispositivi mobili */
  }

  .square-button {
    font-size: 14px; /* Riduce la dimensione del font del bottone su schermi piccoli */
    padding: 10px 20px; /* Riduce il padding del bottone */
  }

  /* Riduci le immagini su schermi piccoli */
  img {
    max-width: 100%;
    height: auto; /* Mantiene la proporzione corretta delle immagini */
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-66d4d38 *//* Wrapper per il testo scorrevole */
.scrolling-text-wrapper {
  width: 100vw;
  overflow: hidden; /* Nasconde il contenuto che esce dai bordi */
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  box-sizing: border-box; /* Include padding e bordo nel calcolo della larghezza */
}

/* Linea bianca sopra e sotto il testo */
.scrolling-text-wrapper::before,
.scrolling-text-wrapper::after {
  content: "";
  display: block;
  width: 100%;
  height: 2px;
  background-color: white;
  margin: 20px 0;
}

/* Testo scorrevole */
.scrolling-text {
  display: flex;
  white-space: nowrap;
  animation: scroll 30s linear infinite; /* Scorrimento continuo */
  justify-content: flex-start; /* Il contenuto scorre da sinistra */
  align-items: center;
}

/* Aggiunge una duplicazione del contenuto per ottenere un loop continuo */
.scrolling-text::after {
  content: attr(data-text) attr(data-text); /* Duplica il testo per un loop continuo */
  display: inline-block;
}

/* Elementi del testo */
.scroll-item {
  padding: 0 30px;
  color: white !important;
  text-decoration: none !important;
  text-transform: uppercase;
  font-family: 'Integral', sans-serif;
  font-size: 3vw;
  transition: transform 0.3s ease-in-out;
}

.scroll-item:hover {
  transform: scale(1.2);
  color: white !important;
  text-decoration: none !important;
}

/* Bottone squadrato */
.square-button {
  display: inline-block;
  padding: 15px 30px;
  background-color: #1a73e8;
  color: white;
  text-decoration: none;
  font-size: 18px;
  text-transform: uppercase;
  font-family: 'Integral', sans-serif;
  border: 2px solid white;
  border-radius: 0;
  transition: background-color 0.3s ease, transform 0.3s ease;
  text-align: center;
  margin: 0 auto;
  max-width: 100%;
  box-sizing: border-box;
}

.square-button:hover {
  background-color: #ff6347;
  transform: scale(1.05);
}

/* Media Queries per dispositivi mobili */
@media (max-width: 768px) {
  .scroll-item {
    font-size: 5vw;
  }

  .square-button {
    font-size: 16px;
    padding: 10px 20px;
  }
}

/* Animazione per lo scorrimento continuo */
@keyframes scroll {
  0% {
    transform: translateX(0); /* Partenza */
  }
  100% {
    transform: translateX(-100%); /* Scorre verso sinistra */
  }
}/* End custom CSS */
/* Start custom CSS for lottie, class: .elementor-element-28c8d15 */.lottie-anim-1 {
    overflow: hidden;
    max-height: 335px;
    object-fit: contain;
    margin-top: -54px;
}

@media (max-width: 769px){
    .lottie-anim-1 {
    margin-top: -50px;
    height: 240px;
    }
}

@media (max-width: 1023px){
    .lottie-anim-1 {
    margin-top: -70px;
    height: 280px;
    }
}/* End custom CSS */
/* Start custom CSS for lottie, class: .elementor-element-95e8ce8 */.lottie-anim {
    overflow: hidden;
    max-height: 335px;
    object-fit: contain;
    margin-top: -54px;
}

@media (max-width: 769px){
    .lottie-anim {
    margin-top: -30px;
    height: 200px;
    }
}

@media (max-width: 1023px){
    .lottie-anim {
    margin-top: -30px;
    height: 190px;
    }
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-2a1344f *//* Titolo: mostriamo due parole via pseudo-elementi, niente variabili */
.morph50 {
  position: relative;
  display: inline-block;
  color: transparent; /* nasconde il testo reale */
}

/* parole sovrapposte */
.morph50::before,
.morph50::after{
  position: absolute; inset: 0;
  white-space: nowrap;
  pointer-events: none;
  font: inherit; line-height: inherit;

  /* morph morbido: togli queste 3 linee per switch secco */
  transition: opacity .25s ease, transform .25s ease, filter .25s ease;
}

/* prima e dopo */
.morph50::before { content: "visitatori in"; opacity: 1; transform: translateY(0);    filter: blur(0); }
.morph50::after  { content: "clienti";    opacity: 0; transform: translateY(20%); filter: blur(2px); }

/* quando supera il 50% del viewport: mostra "clienti" */
.morph50.is-clienti::before { opacity: 0; transform: translateY(-20%); filter: blur(2px); }
.morph50.is-clienti::after  { opacity: 1; transform: translateY(0);    filter: blur(0); }/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-0ebffb0 *//* Titolo: mostriamo due parole via pseudo-elementi, niente variabili */
.morph50 {
  position: relative;
  display: inline-block;
  color: transparent; /* nasconde il testo reale */
}

/* parole sovrapposte */
.morph50::before,
.morph50::after{
  position: absolute; inset: 0;
  white-space: nowrap;
  pointer-events: none;
  font: inherit; line-height: inherit;

  /* morph morbido: togli queste 3 linee per switch secco */
  transition: opacity .25s ease, transform .25s ease, filter .25s ease;
}

/* prima e dopo */
.morph50::before { content: "visitatori in"; opacity: 1; transform: translateY(0);    filter: blur(0); }
.morph50::after  { content: "clienti";    opacity: 0; transform: translateY(20%); filter: blur(2px); }

/* quando supera il 50% del viewport: mostra "clienti" */
.morph50.is-clienti::before { opacity: 0; transform: translateY(-20%); filter: blur(2px); }
.morph50.is-clienti::after  { opacity: 1; transform: translateY(0);    filter: blur(0); }/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-78ff0b2 */@media(max-width:769px){
    .vis-in-cl-box {
        gap:3px;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-a9e7689 *//* === CARD (Elementor Container) === */
#trasformo-card{
  position:relative;
  overflow:hidden;          /* ritaglia dentro gli angoli arrotondati */
  border-radius:40px;       /* usa il tuo raggio */
  isolation:isolate;
}

/* Contenuto sopra al glow */
#trasformo-card .e-con-inner{ position:relative; z-index:2; }

/* GLOW: pseudo-elemento della container (nessun overlay richiesto) */
#trasformo-card::before{
  content:"";
  position:absolute;
  width:60vw; height:60vw;          /* grande e morbido */
  right:-18vw; bottom:-30vw;        /* spostalo dove ti piace */
  border-radius:50%;
  background: radial-gradient(closest-side, #193681, transparent 70%); /* navy */
  filter: blur(80px);
  opacity:.35;
  pointer-events:none;
  z-index:1;                         /* sotto i testi */
  transform: translateZ(0);
  animation: convFloat 14s ease-in-out infinite;
}

@keyframes convFloat{
  0%,100%{ transform:translateZ(0) translate(0,0) scale(1); }
  50%{ transform:translateZ(0) translate(8px,-12px) scale(1.02); }
}/* End custom CSS */
/* Start custom CSS for lottie, class: .elementor-element-27af849 */.lottie-crop-lr {
    overflow: hidden;
    max-width: 335px;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-24a40bd *//* === CARD (Elementor Container) === */
#trasformo-card{
  position:relative;
  overflow:hidden;          /* ritaglia dentro gli angoli arrotondati */
  border-radius:40px;       /* usa il tuo raggio */
  isolation:isolate;
}

/* Contenuto sopra al glow */
#trasformo-card .e-con-inner{ position:relative; z-index:2; }

/* GLOW: pseudo-elemento della container (nessun overlay richiesto) */
#trasformo-card::before{
  content:"";
  position:absolute;
  width:60vw; height:60vw;          /* grande e morbido */
  right:-18vw; bottom:-30vw;        /* spostalo dove ti piace */
  border-radius:50%;
  background: radial-gradient(closest-side, #193681, transparent 70%); /* navy */
  filter: blur(80px);
  opacity:.35;
  pointer-events:none;
  z-index:1;                         /* sotto i testi */
  transform: translateZ(0);
  animation: convFloat 14s ease-in-out infinite;
}

@keyframes convFloat{
  0%,100%{ transform:translateZ(0) translate(0,0) scale(1); }
  50%{ transform:translateZ(0) translate(8px,-12px) scale(1.02); }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-a9fd2c8 */.container-morph {
    background-color: rgb(11,13,18);
    border-radius: 24px;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-8e3bafa */.container-services {
  background: rgb(13,15,18);
  transition: all 0.3s ease;
  border-radius: 24px;
}

.container-services:hover {
  background: rgb(25,28,32);
  box-shadow: 0 0 15px rgba(255,255,255,0.15);
  transform: scale(1.05);
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-9a9cae9 */.mobile-folder-title{
    display: flex;
    justify-content: center;
    color: #fff;
    margin-bottom: 50px;
    font-size: larger;
}

/* sezione/cartellina */
.folder-section{
  display:grid;
  place-items:center;
  overflow:visible;
  min-height: 80vh;
}


/* contenitore cartella */
.folder{
  position:relative;
  width:100%;
  max-width:1100px;
  min-height: 560px;
  perspective:1600px;
  transform-style:preserve-3d;
}

/* coperchio */
.lid{
  display: none;
  position:absolute;
  top:0; left:0; right:0;
  height:100%;
  background:linear-gradient(#f2f2f2,#d9d9d9);
  border-radius:24px 24px 10px 10px;
  transform-origin: bottom center;
  transition:transform .6s ease; /* solo per fallback, l’animazione vera è in GSAP */
  z-index:7;
  backface-visibility:hidden;
  overflow:visible;
}

.lid .tab{
  position:absolute;
  left:22px; top:-35px;
  width:110px; height:36px;
  border-radius:10px 10px 0 0;
  background:#f2f2f2;
}

/* viewport dei documenti (ritaglia i fogli) */
.content{
  position:absolute;
  top:   50px;
  right: 1px;
  bottom: 0;
  left:  1px;
  overflow:hidden;        /* IMPORTANTE: “ferma” i fogli alla base */
  z-index:6;
}

/* wrapper interno che scorrerà (lo crea JS se non c’è) */
.content-inner{
  position:relative;
  width:100%; height:100%;
  will-change:transform;
}

/* fogli: assoluti, centrati, stackati */
.doc{
  position:absolute;
  display: flex;
  flex-direction: row;
  left:80%;
  background: #fff;
  border:1px solid #e7e9f1;
  border-radius:35px;
  padding:20px 22px;
  color:#0b0c10;
  box-shadow:0 10px 26px rgba(0,0,0,.12);
  will-change:transform, opacity;
  width: 90%;
  gap: 10px;
}

.doc img {
    border: 1px solid #ccc;
    border-radius: 35px;
}

.site-info {
    width: 100%;
    text-align: center;
    color: #000;
}

.tags-container {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 10px;
}

.site-tag {
    border: 1px solid #ccc;
    border-radius: 10px;
    width: fit-content;
    padding: 0 10px;
    font-family: 'Moderat';
}

.folder-title {
    margin-top: 20px;
    font-size: larger;
    display: flex;
    justify-content: center;
}


@media (max-width:767px) {
    .mobile-folder-title {
        display: flex;
        text-align: center;
        color: #fff;
    }
    
    .lid {
        display: none !important;
    }
    
    .folder {
        min-height: 1050px;
    }

    .folder-title {
        font-size: medium;
        text-align:center;
    }
    
    .doc {
        width:90%;
        flex-direction: column-reverse;
        padding: 20px;
        border-radius: 20px;
    }
    
    .doc img {
        width: 100%;
        border-radius: 20px;
    }
    
    .site-info {
        display:flex;
        flex-direction: column;
        gap: 10px;

    }
}/* End custom CSS */
/* Start custom CSS *//* Regole generali per centrare il contenuto e prevenire overflow */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box; /* Assicura che padding e bordi siano inclusi nelle dimensioni */
}

body, html {
  width: 100%;
  overflow-x: hidden; /* Previene lo scorrimento orizzontale */
}

/* Contenitore principale */
.container {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: 100vw; /* Assicura che il contenitore non superi mai la larghezza dello schermo */
  padding: 20px; /* Spazio interno per evitare che il contenuto tocchi i bordi */
  text-align: center; /* Centra il testo */
}

/* Centra tutto il contenuto */
.container > * {
  max-width: 100%; /* Impedisce al contenuto di fuoriuscire */
  margin-bottom: 20px; /* Spazio tra gli elementi */
  word-wrap: break-word; /* Impedisce al testo di andare oltre i bordi */
}

/* Regole per schermi piccoli */
@media (max-width: 768px) {
  .container {
    padding: 10px; /* Riduce il padding su schermi più piccoli */
  }

  /* Riduce la dimensione dei font e degli elementi su mobile */
  .container > * {
    font-size: 16px; /* Dimensione del testo adattata per dispositivi mobili */
  }

  .square-button {
    font-size: 14px; /* Riduce la dimensione del font del bottone su schermi piccoli */
    padding: 10px 20px; /* Riduce il padding del bottone */
  }

  /* Riduci le immagini su schermi piccoli */
  img {
    max-width: 100%;
    height: auto; /* Mantiene la proporzione corretta delle immagini */
  }
}/* End custom CSS */