#site-header .header-inner{height:84px!important;min-height:84px!important}
#site-header{background:rgba(2,11,24,.94)!important;box-shadow:0 10px 35px rgba(2,11,24,.2)!important;backdrop-filter:blur(15px)}
#site-header .brand,#site-header .brand strong,#site-header .primary-nav a{color:#fff!important}
#site-header .brand{display:flex!important;align-items:center!important;gap:12px!important;max-width:370px}
#site-header .brand .brand-logo,#site-header .brand img{display:block!important;flex:0 0 52px!important;width:52px!important;min-width:52px!important;max-width:52px!important;height:52px!important;min-height:52px!important;max-height:52px!important;margin:0!important;padding:0!important;object-fit:cover!important;border-radius:50%!important}
.elementor-page .site-header img{box-sizing:border-box}
.elementor-page-content,.elementor-page-content>.elementor{width:100%;max-width:none;margin:0;padding:0}
.lmao-live-ticker{overflow:hidden!important}.lmao-live-ticker .elementor-widget-text-editor{width:max-content;min-width:200%;animation:lmaoElementorTicker 32s linear infinite}.lmao-live-ticker .elementor-widget-container{white-space:nowrap}@keyframes lmaoElementorTicker{to{transform:translateX(-50%)}}
.lmao-service-row>.e-con{transition:transform .45s cubic-bezier(.2,.7,.2,1),box-shadow .45s ease}.lmao-service-row>.e-con:hover{transform:translateY(-12px);box-shadow:0 28px 60px rgba(6,26,56,.16)}.lmao-service-row img{aspect-ratio:1.28;object-fit:cover}
.lmao-diagonal-cards{padding:55px 30px 70px!important;overflow:visible!important}.lmao-diagonal-cards .elementor-widget-image{position:relative;overflow:hidden;border-radius:24px;box-shadow:0 25px 55px rgba(0,0,0,.35);transition:transform .55s cubic-bezier(.2,.7,.2,1),z-index .2s}.lmao-diagonal-cards .elementor-widget-image:nth-child(1){transform:rotate(-6deg) translateY(20px)}.lmao-diagonal-cards .elementor-widget-image:nth-child(2){transform:rotate(4deg) translateY(-18px)}.lmao-diagonal-cards .elementor-widget-image:nth-child(3){transform:rotate(-3deg) translateY(25px)}.lmao-diagonal-cards .elementor-widget-image:nth-child(4){transform:rotate(6deg) translateY(-12px)}.lmao-diagonal-cards .elementor-widget-image:nth-child(5){transform:rotate(-5deg) translateY(24px)}.lmao-diagonal-cards .elementor-widget-image:hover{z-index:5;transform:rotate(0) translateY(-14px) scale(1.035)}.lmao-diagonal-cards img{width:100%;aspect-ratio:1/1;object-fit:cover}.lmao-diagonal-cards figcaption{padding:12px 10px;color:#fff;font-family:Poppins,sans-serif;font-size:15px;font-weight:700;text-align:left}
.lmao-glass-box{box-shadow:0 35px 90px rgba(0,0,0,.36);backdrop-filter:blur(9px)}.lmao-orbit-button .elementor-button{position:relative;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease}.lmao-orbit-button .elementor-button:hover{transform:translateY(-4px);box-shadow:0 22px 50px rgba(8,110,218,.45)}.lmao-about-image img{aspect-ratio:4/5;object-fit:cover;object-position:center 24%;border-radius:180px 180px 24px 24px;box-shadow:0 28px 70px rgba(2,11,24,.18)}
@media(max-width:767px){.lmao-diagonal-cards{display:grid!important;padding:25px 0!important}.lmao-diagonal-cards .elementor-widget-image{width:100%!important;transform:none!important}.lmao-live-ticker .elementor-widget-text-editor{animation-duration:22s}}@media(prefers-reduced-motion:reduce){.lmao-live-ticker .elementor-widget-text-editor{animation:none}.lmao-diagonal-cards .elementor-widget-image{transform:none!important}.elementor-element{animation-duration:.01ms!important}}

/* Menu desktop: ingresso e linea blu al passaggio */
@media(min-width:901px){
  #site-header .primary-nav li{opacity:0;animation:lmaoMenuIn .55s ease forwards}
  #site-header .primary-nav li:nth-child(1){animation-delay:.12s}#site-header .primary-nav li:nth-child(2){animation-delay:.2s}#site-header .primary-nav li:nth-child(3){animation-delay:.28s}#site-header .primary-nav li:nth-child(4){animation-delay:.36s}#site-header .primary-nav li:nth-child(5){animation-delay:.44s}
  #site-header .primary-nav a{position:relative;display:block;padding:10px 0;transition:color .25s ease,transform .25s ease}
  #site-header .primary-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:3px;height:2px;background:linear-gradient(90deg,#086eda,#00eeff);box-shadow:0 0 12px rgba(0,238,255,.7);transition:right .3s cubic-bezier(.2,.7,.2,1)}
  #site-header .primary-nav a:hover,#site-header .primary-nav .current-menu-item>a{color:#fff;transform:translateY(-2px)}
  #site-header .primary-nav a:hover:after,#site-header .primary-nav .current-menu-item>a:after{right:0}
}
@keyframes lmaoMenuIn{from{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:none}}

body.elementor-editor-active .elementor-invisible{visibility:visible!important;opacity:1!important}
.lmao-motion-visible{visibility:visible!important;opacity:1!important;animation:lmaoSafeReveal .72s cubic-bezier(.2,.7,.2,1) both}
@keyframes lmaoSafeReveal{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}

/* Tre portfolio orizzontali importati dal JSON */
.lmao-portfolio-section{overflow:hidden!important}
.lmao-portfolio-section>.e-con-inner,.lmao-portfolio-section{gap:28px}
.lmao-portfolio-slider{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto!important;overflow-y:visible!important;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:36px 20px 52px!important;overscroll-behavior-inline:contain;scrollbar-width:thin;scrollbar-color:#00eeff rgba(255,255,255,.13)}
.lmao-portfolio-slider::-webkit-scrollbar{height:7px}.lmao-portfolio-slider::-webkit-scrollbar-track{background:rgba(255,255,255,.12);border-radius:99px}.lmao-portfolio-slider::-webkit-scrollbar-thumb{background:linear-gradient(90deg,#086eda,#00eeff);border-radius:99px}
.lmao-portfolio-slider>.elementor-widget-image{flex:0 0 min(440px,82vw)!important;width:min(440px,82vw)!important;scroll-snap-align:center;overflow:hidden;border-radius:24px;background:#061a38;box-shadow:0 25px 55px rgba(0,0,0,.3);transition:transform .45s cubic-bezier(.2,.7,.2,1),box-shadow .45s ease}
.lmao-portfolio-slider>.elementor-widget-image:nth-child(1){transform:rotate(-3deg) translateY(9px)}.lmao-portfolio-slider>.elementor-widget-image:nth-child(2){transform:rotate(2.5deg) translateY(-8px)}.lmao-portfolio-slider>.elementor-widget-image:nth-child(3){transform:rotate(-2deg) translateY(8px)}
.lmao-portfolio-slider>.elementor-widget-image:hover{z-index:4;transform:rotate(0) translateY(-10px) scale(1.025);box-shadow:0 32px 70px rgba(0,0,0,.42)}
.lmao-portfolio-slider img{width:100%!important;aspect-ratio:1/1!important;object-fit:cover!important}.lmao-portfolio-slider figcaption{padding:13px 16px 16px;color:#fff;font-family:Poppins,sans-serif;font-size:15px;font-weight:700;text-align:left}

/* Recensioni sotto la sezione Su di noi */
.lmao-reviews-row{align-items:stretch!important}.lmao-reviews-row>.e-con{flex:1 1 0;min-height:390px;border:1px solid rgba(6,26,56,.1);box-shadow:0 15px 45px rgba(6,26,56,.07);transition:transform .4s cubic-bezier(.2,.7,.2,1),box-shadow .4s ease}.lmao-reviews-row>.e-con:hover{transform:translateY(-10px);box-shadow:0 25px 65px rgba(6,26,56,.14)}.lmao-review-card .elementor-widget-heading{margin-top:auto;padding-top:24px;border-top:1px solid rgba(6,26,56,.12)}
@media(max-width:900px){.lmao-reviews-row{flex-direction:column!important}.lmao-reviews-row>.e-con{min-height:0}.lmao-portfolio-slider>.elementor-widget-image{flex-basis:min(400px,84vw)!important;width:min(400px,84vw)!important}}

/* Responsive completo: tablet */
@media(max-width:1024px){
  .elementor-page-content{overflow-x:hidden}
  #site-header .header-inner{padding-inline:18px}
  .lmao-service-row{flex-direction:column!important}.lmao-service-row>.e-con{width:100%!important}
  .lmao-portfolio-slider{margin-inline:-20px;padding-inline:28px!important}
  .lmao-reviews-row{flex-direction:column!important}.lmao-reviews-row>.e-con{width:100%!important;min-height:0!important}
  .lmao-about-image{width:min(100%,520px)!important;margin-inline:auto}
}

/* Responsive completo: smartphone */
@media(max-width:767px){
  html{scroll-padding-top:74px}
  #site-header .header-inner{height:74px!important;min-height:74px!important;padding-inline:14px;gap:10px}
  #site-header .brand{max-width:calc(100% - 58px);gap:9px!important}
  #site-header .brand .brand-logo,#site-header .brand img{flex-basis:44px!important;width:44px!important;min-width:44px!important;max-width:44px!important;height:44px!important;min-height:44px!important;max-height:44px!important}
  #site-header .brand strong{font-size:.78rem!important;line-height:1.1}#site-header .brand small{display:none}
  #site-header .menu-toggle{flex:0 0 44px;margin-left:auto}
  #site-header .primary-nav{top:74px!important;inset-inline:0!important;max-height:calc(100vh - 74px);overflow-y:auto;padding:20px 18px!important}
  #site-header .primary-nav ul{gap:0!important}#site-header .primary-nav li{width:100%}#site-header .primary-nav a{display:block;padding:15px 4px;border-bottom:1px solid rgba(255,255,255,.13);font-size:.9rem!important}
  .elementor-widget-heading h1{overflow-wrap:anywhere}
  .lmao-glass-box{width:100%!important;max-width:none!important}
  .lmao-live-ticker{margin-inline:0!important}.lmao-json-ticker-item{font-size:10px!important;letter-spacing:1.2px!important}
  .lmao-service-row>.e-con{border-radius:18px!important}.lmao-service-row img{aspect-ratio:1.35!important}
  .lmao-portfolio-section{width:100%!important}
  .lmao-portfolio-slider{width:calc(100% + 30px)!important;margin-inline:-15px!important;padding:24px 15px 42px!important;gap:16px!important;scroll-padding-inline:15px}
  .lmao-portfolio-slider>.elementor-widget-image{flex:0 0 84vw!important;width:84vw!important;max-width:360px!important;transform:none!important;border-radius:18px}
  .lmao-portfolio-slider>.elementor-widget-image:hover{transform:translateY(-6px)!important}
  .lmao-portfolio-slider figcaption{font-size:13px;padding:10px 12px 13px}
  .lmao-about-image img{width:100%!important;max-height:560px;border-radius:120px 120px 20px 20px}
  .lmao-reviews-row{gap:16px!important}.lmao-review-card{padding:27px 22px!important;border-radius:18px!important}.lmao-review-card p{font-size:15px!important;line-height:1.65!important}
  .lmao-reviews-row>.e-con:hover{transform:none}
  .lmao-orbit-button .elementor-button{width:100%;max-width:340px;min-height:50px}
}

/* Pagina Lavori: portfolio grandi e verticali su smartphone e preview mobile Elementor. */
@media(max-width:880px){
  html body .lmao-work-section .lmao-work-track,
  html body .lmao-work-track{
    display:flex!important;
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:18px 0 34px!important;
    flex-direction:column!important;
    flex-wrap:nowrap!important;
    gap:28px!important;
    overflow:visible!important;
    scroll-snap-type:none!important;
  }

  html body .lmao-work-track>*,
  html body .lmao-work-track>.lmao-work-card,
  html body .lmao-work-track>.elementor-widget-image,
  html body .lmao-work-track>.elementor-widget-image-carousel,
  html body .lmao-work-track>.e-con{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    flex:0 0 auto!important;
    align-self:stretch!important;
    transform:none!important;
    scroll-snap-align:none!important;
  }

  html body .lmao-work-track>.lmao-work-card,
  html body .lmao-work-track>:has(.lmao-work-category){
    aspect-ratio:1/1!important;
    border-radius:20px!important;
  }

  /* Copre righe con widget diretti e card Elementor anche quando sono annidate. */
  html body .lmao-work-section .e-con:has(>.elementor-widget-image-carousel~.elementor-widget-image-carousel),
  html body .lmao-work-section .e-con:has(>.elementor-widget-image~.elementor-widget-image),
  html body .lmao-work-section .e-con:has(>.e-con .elementor-widget-image-carousel),
  html body .lmao-work-section .e-con:has(>.e-con .elementor-widget-image){
    flex-direction:column!important;
    align-items:stretch!important;
    gap:28px!important;
  }

  html body .lmao-work-section .e-con:has(>.elementor-widget-image-carousel~.elementor-widget-image-carousel)>.elementor-widget-image-carousel,
  html body .lmao-work-section .e-con:has(>.elementor-widget-image~.elementor-widget-image)>.elementor-widget-image,
  html body .lmao-work-section .e-con:has(>.e-con .elementor-widget-image-carousel)>.e-con,
  html body .lmao-work-section .e-con:has(>.e-con .elementor-widget-image)>.e-con{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    flex:0 0 auto!important;
  }

  html body .lmao-work-section .elementor-widget-image-carousel,
  html body .lmao-work-section .elementor-widget-image{
    width:100%!important;
    max-width:none!important;
  }

  html body .lmao-work-card>.elementor-widget-image-carousel,
  html body .lmao-work-card>.elementor-widget-image-carousel>.elementor-widget-container,
  html body .lmao-work-card>.elementor-widget-image-carousel .elementor-image-carousel-wrapper,
  html body .lmao-work-card>.elementor-widget-image-carousel .swiper{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
  }

  html body .lmao-work-section .elementor-widget-image-carousel>.elementor-widget-container,
  html body .lmao-work-section .elementor-widget-image-carousel .elementor-image-carousel-wrapper,
  html body .lmao-work-section .elementor-widget-image-carousel .swiper{
    width:100%!important;
    max-width:none!important;
  }

  html body .lmao-work-section .elementor-widget-image-carousel figure,
  html body .lmao-work-section .elementor-widget-image figure{
    width:100%!important;
    margin:0!important;
  }

  html body .lmao-work-section .elementor-widget-image-carousel img.swiper-slide-image,
  html body .lmao-work-section .elementor-widget-image img{
    display:block!important;
    width:100%!important;
    max-width:none!important;
    aspect-ratio:1/1!important;
    object-fit:cover!important;
    object-position:center!important;
    border-radius:20px!important;
  }

  html body .lmao-work-toolbar,
  html body .lmao-work-progress{
    display:none!important;
  }
}

/* Menu mobile animato: supporta sia l'header PHP sia il template header Elementor Free. */
@media(max-width:900px){
  #site-header .menu-toggle{
    position:relative!important;
    display:block!important;
    overflow:hidden;
  }

  #site-header .menu-toggle span:not(.screen-reader-text){
    position:absolute;
    left:50%;
    display:block;
    width:20px;
    height:2px;
    margin:0!important;
    background:#fff;
    border-radius:99px;
    transform:translateX(-50%);
    transform-origin:center;
    transition:top .28s ease,transform .28s ease,opacity .2s ease;
  }

  #site-header .menu-toggle span:nth-child(1){top:14px}
  #site-header .menu-toggle span:nth-child(2){top:20px}
  #site-header .menu-toggle span:nth-child(3){top:26px}
  #site-header .menu-toggle[aria-expanded="true"] span:nth-child(1){top:20px;transform:translateX(-50%) rotate(45deg)}
  #site-header .menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0;transform:translateX(-50%) scaleX(0)}
  #site-header .menu-toggle[aria-expanded="true"] span:nth-child(3){top:20px;transform:translateX(-50%) rotate(-45deg)}

  #site-header .primary-nav{
    display:block!important;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(-18px);
    transform-origin:top center;
    clip-path:inset(0 0 100% 0);
    transition:opacity .28s ease,transform .32s cubic-bezier(.2,.7,.2,1),clip-path .32s cubic-bezier(.2,.7,.2,1),visibility 0s linear .32s;
  }

  #site-header .primary-nav.open{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translateY(0);
    clip-path:inset(0 0 0 0);
    transition-delay:0s;
  }

  #site-header .primary-nav ul{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:center!important;
    gap:0!important;
  }

  #site-header .primary-nav li{width:100%;text-align:center}
  #site-header .primary-nav a{
    display:flex!important;
    width:100%;
    min-height:54px;
    align-items:center;
    justify-content:center;
    padding:13px 12px!important;
    text-align:center;
    font-size:1rem!important;
    letter-spacing:.055em;
  }

  .lmao-mobile-menu-v17 details{position:relative}
  .lmao-mobile-menu-v17 summary{
    position:relative;
    overflow:hidden;
    font-size:0!important;
  }

  .lmao-mobile-menu-v17 summary:before,
  .lmao-mobile-menu-v17 summary:after{
    position:absolute;
    top:50%;
    left:50%;
    width:20px;
    height:2px;
    content:"";
    background:#fff;
    border-radius:99px;
    transform-origin:center;
    transition:transform .28s ease,box-shadow .28s ease,opacity .2s ease;
  }

  .lmao-mobile-menu-v17 summary:before{
    transform:translate(-50%,-7px);
    box-shadow:0 7px 0 #fff,0 14px 0 #fff;
  }

  .lmao-mobile-menu-v17 summary:after{
    opacity:0;
    transform:translate(-50%,-50%) rotate(-45deg);
  }

  .lmao-mobile-menu-v17 details[open] summary:before{
    transform:translate(-50%,-50%) rotate(45deg);
    box-shadow:none;
  }

  .lmao-mobile-menu-v17 details[open] summary:after{
    opacity:1;
    transform:translate(-50%,-50%) rotate(-45deg);
  }

  .lmao-mobile-menu-v17 details>nav{
    display:grid!important;
    width:min(340px,calc(100vw - 30px));
    min-width:0!important;
    padding:14px 18px!important;
    justify-items:stretch;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(-18px);
    transform-origin:top right;
    clip-path:inset(0 0 100% 0 round 16px);
    transition:opacity .28s ease,transform .32s cubic-bezier(.2,.7,.2,1),clip-path .32s cubic-bezier(.2,.7,.2,1),visibility 0s linear .32s;
  }

  .lmao-mobile-menu-v17 details[open]>nav{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translateY(0);
    clip-path:inset(0 0 0 0 round 16px);
    transition-delay:0s;
  }

  .lmao-mobile-menu-v17 nav a{
    display:flex!important;
    width:100%;
    min-height:52px;
    align-items:center;
    justify-content:center;
    padding:12px 10px!important;
    text-align:center!important;
    font-size:.96rem!important;
    line-height:1.2;
    letter-spacing:.055em;
    border-bottom:1px solid rgba(255,255,255,.1);
  }

  .lmao-mobile-menu-v17 nav a:last-child{border-bottom:0}
}

@media(prefers-reduced-motion:reduce){
  #site-header .menu-toggle span:not(.screen-reader-text),
  #site-header .primary-nav,
  .lmao-mobile-menu-v17 summary:before,
  .lmao-mobile-menu-v17 summary:after,
  .lmao-mobile-menu-v17 details>nav{transition-duration:.01ms!important}
}
