.elementor-1969 .elementor-element.elementor-element-33c0c11{--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--overflow:hidden;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:10rem;--padding-bottom:3rem;--padding-left:4rem;--padding-right:4rem;}.elementor-1969 .elementor-element.elementor-element-33c0c11:not(.elementor-motion-effects-element-type-background), .elementor-1969 .elementor-element.elementor-element-33c0c11 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:transparent;background-image:linear-gradient(180deg, #000000 0%, #352F00 100%);}.elementor-1969 .elementor-element.elementor-element-ba6335d{--display:flex;}.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-1969 .elementor-element.elementor-element-f5691c8{--wcf-duration:1000ms;--wcf-delay:0ms;--wcf-ease:ease;z-index:2;}.elementor-1969 .elementor-element.elementor-element-f5691c8 .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:49px;font-weight:600;line-height:56px;color:#FFFFFF;}.elementor-1969 .elementor-element.elementor-element-c045717{--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;--gap:0rem 2rem;--row-gap:0rem;--column-gap:2rem;--overflow:hidden;--padding-top:5rem;--padding-bottom:5rem;--padding-left:4rem;--padding-right:4rem;}.elementor-1969 .elementor-element.elementor-element-c045717:not(.elementor-motion-effects-element-type-background), .elementor-1969 .elementor-element.elementor-element-c045717 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#000000;}.elementor-1969 .elementor-element.elementor-element-35bdaae{--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;--gap:25px 0px;--row-gap:25px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.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-1969 .elementor-element.elementor-element-ebd7fc9{--wcf-duration:1000ms;--wcf-delay:0ms;--wcf-ease:ease;font-family:"Inter", Sans-serif;font-size:18px;font-weight:400;color:#FFFFFF;}:root{--page-title-display:none;}@media(max-width:1200px){.elementor-1969 .elementor-element.elementor-element-ba6335d{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1969 .elementor-element.elementor-element-f5691c8{z-index:2;}.elementor-1969 .elementor-element.elementor-element-c045717{--padding-top:5rem;--padding-bottom:5rem;--padding-left:4rem;--padding-right:4rem;}}@media(min-width:768px){.elementor-1969 .elementor-element.elementor-element-33c0c11{--content-width:1440px;}.elementor-1969 .elementor-element.elementor-element-ba6335d{--width:100%;}.elementor-1969 .elementor-element.elementor-element-c045717{--content-width:1440px;}.elementor-1969 .elementor-element.elementor-element-35bdaae{--width:100%;}}@media(min-width:2400px){.elementor-1969 .elementor-element.elementor-element-33c0c11{--content-width:1440px;--padding-top:08rem;--padding-bottom:3rem;--padding-left:4rem;--padding-right:4rem;}.elementor-1969 .elementor-element.elementor-element-c045717{--content-width:1440px;}.elementor-1969 .elementor-element.elementor-element-35bdaae{--gap:25px 0px;--row-gap:25px;--column-gap:0px;}.elementor-1969 .elementor-element.elementor-element-ebd7fc9{font-size:18px;}}@media(max-width:1366px){.elementor-1969 .elementor-element.elementor-element-33c0c11{--padding-top:7rem;--padding-bottom:2rem;--padding-left:4rem;--padding-right:4rem;}.elementor-1969 .elementor-element.elementor-element-f5691c8{z-index:2;}.elementor-1969 .elementor-element.elementor-element-c045717{--padding-top:5rem;--padding-bottom:0rem;--padding-left:4rem;--padding-right:4rem;}.elementor-1969 .elementor-element.elementor-element-35bdaae{--gap:25px 0px;--row-gap:25px;--column-gap:0px;}}@media(max-width:1024px){.elementor-1969 .elementor-element.elementor-element-33c0c11{--padding-top:6rem;--padding-bottom:2rem;--padding-left:4rem;--padding-right:4rem;}.elementor-1969 .elementor-element.elementor-element-f5691c8 .elementor-heading-title{font-size:35px;line-height:1.4em;}}@media(max-width:880px){.elementor-1969 .elementor-element.elementor-element-33c0c11{--padding-top:7rem;--padding-bottom:2rem;--padding-left:4rem;--padding-right:4rem;}}@media(max-width:767px){.elementor-1969 .elementor-element.elementor-element-33c0c11{--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:06rem;--padding-bottom:2rem;--padding-left:2rem;--padding-right:2rem;}.elementor-1969 .elementor-element.elementor-element-c045717{--flex-direction:column-reverse;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:20px 0px;--row-gap:20px;--column-gap:0px;--padding-top:2rem;--padding-bottom:2rem;--padding-left:2rem;--padding-right:2rem;}.elementor-1969 .elementor-element.elementor-element-35bdaae{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}}/* Start custom CSS for heading, class: .elementor-element-f5691c8 */.accent{
  color: #f6c400; /* giallo */
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-ebd7fc9 */.elementor-1969 .elementor-element.elementor-element-ebd7fc9{

/* unvisited link */
a:link {
  color: white;
  font-weight: bold;
}

/* visited link */
a:visited {
  color: #c3c3c3;
  
}

/* mouse over link */
a:hover {
  color: #c3c3c3;
}

/* selected link */
a:active {
  color: white;
} 
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-c045717 *//* =========================
   HERO TECH (COMPLETO)
   livelli:
   0 = griglia
   1 = quadrati
   5 = contenuto
   ========================= */

/* HERO wrapper */
.hero-tech{
  position: relative;
  isolation: isolate;  /* blocca stacking esterni (frontend+editor) */
  overflow: hidden;
  background:#000;
}

/* GRIGLIA */
.hero-tech::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:0;

  background-image:
    linear-gradient(rgba(160, 0, 255, 0.12) 1px, transparent 1px),
    linear-gradient(90deg, rgba(160, 0, 255, 0.12) 1px, transparent 1px);

  background-size: 40px 40px;
  background-position: -1px -1px;
}

/* CONTENUTO sopra (tutto tranne i widget-quadrato) */
.hero-tech .elementor-widget:not(.hero-square){
  position: relative;
  z-index: 5;
}

/* QUADRATI (sono widget HTML con classi) */
.hero-tech .hero-square{
  position: absolute;
  pointer-events: none;
  z-index: 1;          /* tra griglia e contenuto */
  will-change: transform, opacity;
}

/* =========================
   QUADRATO SINISTRO (outline)
   ========================= */
.hero-tech .hero-square-left{
  /* POSIZIONE DESKTOP (default) */
  left:70%;
  top: 8%;

  width: 120px;
  height: 120px;

  border: 1px solid rgba(229,33,72,0.50);
  background: transparent;

  transform: rotate(-40deg);
  animation: floatLeft 10s ease-in-out infinite;
}

/* =========================
   QUADRATO DESTRO (pieno)
   scende 200px e torna su lentamente, ruotando
   ========================= */
.hero-tech .hero-square-right{
  /* POSIZIONE DESKTOP (default) */
  right: 10%;
  top: 45%; /* usa top per “alzarlo” facilmente */

  width: 160px;
  height: 160px;

  border: 1px solid rgba(229,33,72,0.50);
  background: rgba(229,33,72,0.10);
  box-shadow: 0 0 32px rgba(229,33,72,0.22);

  transform: translateY(0) rotate(10deg);
  transform-origin: center;

  animation: fallReturnSpin 26s cubic-bezier(.45,.05,.2,1) infinite;
}

/* =========================
   ANIMAZIONI
   ========================= */
@keyframes floatLeft{
  0%   { transform: translateY(0) rotate(-40deg); }
  50%  { transform: translateY(-14px) rotate(-34deg); }
  100% { transform: translateY(0) rotate(-40deg); }
}

/* Destra: scende 200px e risale, ruotando lentamente */
@keyframes fallReturnSpin{
  0%   { transform: translateY(0)     rotate(10deg);  }
  50%  { transform: translateY(150px) rotate(160deg); }
  100% { transform: translateY(0)     rotate(310deg); }
}

/* =========================
   RESPONSIVE POSIZIONI
   ========================= */

/* LAPTOP (1025–1199) */
@media (max-width: 1199px) and (min-width: 1025px){
  .hero-tech .hero-square-left{
    left: 70%;
    top: 4%;
    width: 110px;
    height: 110px;
  }
  .hero-tech .hero-square-right{
    right: 9%;
    top:40%;
    width: 140px;
    height: 140px;
  }
}

/* TABLET (<=1024) */
@media (max-width: 1024px){
  .hero-tech .hero-square-left{
    left:70%;
    top: 12%;
    width: 90px;
    height: 90px;
  }
  .hero-tech .hero-square-right{
    right: 7%;
    top: 34%;
    width: 120px;
    height: 120px;
  }
}

/* MOBILE (<=767) */
@media (max-width: 767px){
  .hero-tech::before{
    background-size: 32px 32px;
  }

  .hero-tech .hero-square-left{
     left:70%;
    top: 12%;
    width: 70px;
    height: 70px;
    opacity: .7;
  }

  .hero-tech .hero-square-right{
    right: 7%;
    top:50%;
    width: 90px;
    height: 90px;
    opacity: .7;
  }

  /* opzionale: riduco la “caduta” su mobile se invade troppo */
  @keyframes fallReturnSpin{
    0%   { transform: translateY(0)     rotate(10deg);  }
    50%  { transform: translateY(140px) rotate(160deg); }
    100% { transform: translateY(0)     rotate(310deg); }
  }
}/* End custom CSS */