.elementor-kit-133{--e-global-color-primary:#A855F7;--e-global-color-secondary:#EC4899;--e-global-color-text:#FFFFFF;--e-global-color-accent:#1A0B2E;--e-global-color-2d0c3bf:#0F0F23;--e-global-color-1d8b780:#0A0118;--e-global-color-d4b2d1c:#FFFFFF;--e-global-color-fc2bade:#1A0B2E;--e-global-color-6108e15:#B3B3B3;--e-global-color-0baa0ce:#808080;--e-global-typography-primary-font-family:"Raleway";--e-global-typography-primary-font-size:16px;--e-global-typography-primary-font-weight:400;--e-global-typography-primary-line-height:26px;--e-global-typography-primary-letter-spacing:0.3px;--e-global-typography-secondary-font-family:"Raleway";--e-global-typography-secondary-font-size:14px;--e-global-typography-secondary-font-weight:400;--e-global-typography-secondary-line-height:21px;--e-global-typography-text-font-family:"Raleway";--e-global-typography-text-font-size:80px;--e-global-typography-text-font-weight:900;--e-global-typography-text-line-height:88px;--e-global-typography-text-letter-spacing:-2px;--e-global-typography-accent-font-family:"Raleway";--e-global-typography-accent-font-size:16px;--e-global-typography-accent-font-weight:700;--e-global-typography-accent-line-height:22px;--e-global-typography-82670c6-font-family:"Raleway";--e-global-typography-82670c6-font-size:56px;--e-global-typography-82670c6-font-weight:900;--e-global-typography-82670c6-line-height:67px;--e-global-typography-3823524-font-family:"Raleway";--e-global-typography-3823524-font-size:29px;--e-global-typography-3823524-font-weight:700;--e-global-typography-3823524-line-height:38px;--e-global-typography-a8bfcb3-font-family:"Raleway";--e-global-typography-a8bfcb3-font-size:21px;--e-global-typography-a8bfcb3-font-weight:400;--e-global-typography-a8bfcb3-line-height:36px;--e-global-typography-a8bfcb3-letter-spacing:0.5px;--e-global-typography-81f246a-font-family:"Raleway";--e-global-typography-81f246a-font-size:19px;--e-global-typography-81f246a-font-weight:400;--e-global-typography-81f246a-line-height:32px;--e-global-typography-81f246a-letter-spacing:0.3px;--e-global-typography-256f69d-font-family:"Raleway";--e-global-typography-256f69d-font-size:15px;--e-global-typography-256f69d-font-weight:500;--e-global-typography-256f69d-line-height:21px;--e-global-typography-2de70db-font-family:"Raleway";--e-global-typography-2de70db-font-size:19px;--e-global-typography-2de70db-font-weight:700;--e-global-typography-2de70db-line-height:27px;--e-global-typography-51ebd88-font-family:"Raleway";--e-global-typography-51ebd88-font-size:15px;--e-global-typography-51ebd88-font-weight:400;--e-global-typography-51ebd88-line-height:27px;--e-global-typography-fa73059-font-family:"Raleway";--e-global-typography-fa73059-font-size:14px;--e-global-typography-fa73059-font-weight:400;--e-global-typography-fa73059-line-height:21px;background-color:var( --e-global-color-1d8b780 );}.elementor-kit-133 button,.elementor-kit-133 input[type="button"],.elementor-kit-133 input[type="submit"],.elementor-kit-133 .elementor-button{background-color:transparent;font-family:"Space Grotesk";font-size:16px;font-weight:700;line-height:1.4em;text-shadow:0px 0px 10px rgba(0,0,0,0.3);color:var( --e-global-color-d4b2d1c );background-image:linear-gradient(135deg, var( --e-global-color-primary ) 0%, #f2295b 100%);box-shadow:0px 10px 30px 0px rgba(0,0,0,0.5);border-radius:50px 50px 50px 50px;padding:23px 48px 23px 48px;}.elementor-kit-133 e-page-transition{background-color:#FFBC7D;}.elementor-kit-133 button:hover,.elementor-kit-133 button:focus,.elementor-kit-133 input[type="button"]:hover,.elementor-kit-133 input[type="button"]:focus,.elementor-kit-133 input[type="submit"]:hover,.elementor-kit-133 input[type="submit"]:focus,.elementor-kit-133 .elementor-button:hover,.elementor-kit-133 .elementor-button:focus{box-shadow:0px 15px 40px 0px rgba(0,0,0,0.5);}.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);}@media(max-width:1024px){.elementor-kit-133{--e-global-typography-primary-font-size:15px;--e-global-typography-secondary-font-size:14px;--e-global-typography-secondary-line-height:1.5em;--e-global-typography-text-font-size:50px;--e-global-typography-text-line-height:1.1em;--e-global-typography-text-letter-spacing:-1px;--e-global-typography-accent-font-size:15px;--e-global-typography-accent-line-height:1.4em;--e-global-typography-82670c6-font-size:40px;--e-global-typography-82670c6-line-height:1.2em;--e-global-typography-3823524-font-size:26px;--e-global-typography-3823524-line-height:1.3em;--e-global-typography-a8bfcb3-font-size:19px;--e-global-typography-a8bfcb3-line-height:1.7em;--e-global-typography-81f246a-font-size:18px;--e-global-typography-81f246a-line-height:1.7em;--e-global-typography-256f69d-font-size:15px;--e-global-typography-256f69d-line-height:1.4em;--e-global-typography-2de70db-font-size:18px;--e-global-typography-2de70db-line-height:1.4em;--e-global-typography-51ebd88-font-size:15px;--e-global-typography-51ebd88-line-height:1.8em;--e-global-typography-fa73059-font-size:14px;--e-global-typography-fa73059-line-height:1.5em;}.elementor-kit-133 button,.elementor-kit-133 input[type="button"],.elementor-kit-133 input[type="submit"],.elementor-kit-133 .elementor-button{font-size:15px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-133{--e-global-typography-primary-line-height:1.6em;--e-global-typography-secondary-font-size:13px;--e-global-typography-secondary-line-height:1.5em;--e-global-typography-text-font-size:45px;--e-global-typography-text-line-height:1.1em;--e-global-typography-text-letter-spacing:-1px;--e-global-typography-accent-font-size:15px;--e-global-typography-accent-line-height:1.4em;--e-global-typography-82670c6-font-size:32px;--e-global-typography-82670c6-line-height:1.2em;--e-global-typography-3823524-font-size:24px;--e-global-typography-3823524-line-height:1.3em;--e-global-typography-a8bfcb3-font-size:18px;--e-global-typography-a8bfcb3-line-height:1.7em;--e-global-typography-81f246a-font-size:17px;--e-global-typography-81f246a-line-height:1.7em;--e-global-typography-2de70db-font-size:17px;--e-global-typography-2de70db-line-height:1.4em;--e-global-typography-51ebd88-font-size:14px;--e-global-typography-51ebd88-line-height:1.8em;--e-global-typography-fa73059-font-size:13px;--e-global-typography-fa73059-line-height:1.5em;}.elementor-kit-133 button,.elementor-kit-133 input[type="button"],.elementor-kit-133 input[type="submit"],.elementor-kit-133 .elementor-button{font-size:15px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* ===== IMPORT FONT ===== */
@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@300;400;500;600;700;800;900&display=swap');

/* ===== BODY BACKGROUND ===== */
body {
    font-family: 'Space Grotesk', sans-serif;
    background: #0a0118;
    color: #ffffff;
    overflow-x: hidden;
}

/* Background Gradient Orbs */
body::before {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: 
        radial-gradient(ellipse at top, rgba(168, 85, 247, 0.15), transparent 50%),
        radial-gradient(ellipse at bottom, rgba(236, 72, 153, 0.1), transparent 50%);
    z-index: -2;
    pointer-events: none;
}

/* ===== ANIMATED GRADIENT ORBS ===== */
/* ===== BODY BACKGROUND - PIÙ CUPO ===== */
body {
    font-family: 'Space Grotesk', sans-serif;
    background: #0a0118;
    color: #ffffff;
    overflow-x: hidden;
}

/* Rimuovi il gradient leggero - troppo chiaro */
body::before {
    display: none;
}

/* ===== ANIMATED GRADIENT ORBS - PIÙ SCURE E SFOCATE ===== */
.site-content::before,
.site-content::after,
body::after {
    content: '';
    position: fixed;
    border-radius: 50%;
    filter: blur(150px); /* Più sfocato = più cupo */
    opacity: 0.3; /* Ridotto da 0.4 a 0.3 */
    z-index: -1;
    pointer-events: none;
    animation: float 25s ease-in-out infinite;
    transition: all 0.3s ease;
}

/* Dimensioni BASE per schermi 13" laptop (1024-1439px) */
.site-content::before {
    width: 600px;
    height: 600px;
    background: #a855f7;
    top: -15%;
    left: -10%;
}

.site-content::after {
    width: 500px;
    height: 500px;
    background: #ec4899;
    bottom: -15%;
    right: -10%;
    animation-delay: 7s;
}

body::after {
    width: 400px;
    height: 400px;
    background: #3b82f6;
    top: 50%;
    right: 10%;
    animation-delay: 14s;
}

@keyframes float {
    0%, 100% { transform: translate(0, 0); }
    33% { transform: translate(30px, -30px); }
    66% { transform: translate(-20px, 20px); }
}

/* ===== RESPONSIVE BREAKPOINTS ===== */

/* Large Desktop 1920px+ */
@media (min-width: 1920px) {
    .site-content::before {
        width: 900px;
        height: 900px;
        top: -20%;
        left: -12%;
    }
    .site-content::after {
        width: 750px;
        height: 750px;
        bottom: -20%;
        right: -12%;
    }
    body::after {
        width: 600px;
        height: 600px;
        top: 45%;
        right: 8%;
    }
}

/* Medium-Large Desktop 1440-1919px */
@media (min-width: 1440px) and (max-width: 1919px) {
    .site-content::before {
        width: 750px;
        height: 750px;
        top: -18%;
        left: -11%;
    }
    .site-content::after {
        width: 625px;
        height: 625px;
        bottom: -18%;
        right: -11%;
    }
    body::after {
        width: 500px;
        height: 500px;
        top: 48%;
        right: 9%;
    }
}

/* Tablet Landscape 768-1023px */
@media (min-width: 768px) and (max-width: 1023px) {
    .site-content::before {
        width: 450px;
        height: 450px;
        top: -12%;
        left: -8%;
        filter: blur(120px);
    }
    .site-content::after {
        width: 380px;
        height: 380px;
        bottom: -12%;
        right: -8%;
        filter: blur(120px);
    }
    body::after {
        width: 300px;
        height: 300px;
        top: 50%;
        right: 8%;
        filter: blur(120px);
    }
}

/* Tablet Portrait & Mobile Landscape 481-767px */
@media (min-width: 481px) and (max-width: 767px) {
    .site-content::before {
        width: 350px;
        height: 350px;
        top: -10%;
        left: -15%;
        filter: blur(100px);
        opacity: 0.25;
    }
    .site-content::after {
        width: 300px;
        height: 300px;
        bottom: -10%;
        right: -15%;
        filter: blur(100px);
        opacity: 0.25;
    }
    body::after {
        width: 250px;
        height: 250px;
        top: 50%;
        right: -10%;
        filter: blur(100px);
        opacity: 0.25;
    }
}

/* Mobile Portrait 320-480px */
@media (max-width: 480px) {
    .site-content::before {
        width: 280px;
        height: 280px;
        top: -8%;
        left: -20%;
        filter: blur(90px);
        opacity: 0.2;
    }
    .site-content::after {
        width: 240px;
        height: 240px;
        bottom: -8%;
        right: -20%;
        filter: blur(90px);
        opacity: 0.2;
    }
    body::after {
        width: 200px;
        height: 200px;
        top: 50%;
        right: -15%;
        filter: blur(90px);
        opacity: 0.2;
    }
}

/* Ultra Wide Monitors 2560px+ */
@media (min-width: 2560px) {
    .site-content::before {
        width: 1100px;
        height: 1100px;
        top: -25%;
        left: -15%;
    }
    .site-content::after {
        width: 900px;
        height: 900px;
        bottom: -25%;
        right: -15%;
    }
    body::after {
        width: 750px;
        height: 750px;
        top: 40%;
        right: 5%;
    }
}

/* 4K Screens 3840px+ */
@media (min-width: 3840px) {
    .site-content::before {
        width: 1400px;
        height: 1400px;
        top: -30%;
        left: -18%;
    }
    .site-content::after {
        width: 1200px;
        height: 1200px;
        bottom: -30%;
        right: -18%;
    }
    body::after {
        width: 1000px;
        height: 1000px;
        top: 35%;
        right: 3%;
    }
}
/* ===== NEON TEXT EFFECTS ===== */
.neon-text {
    color: #fff;
    text-shadow: 
        0 0 10px #a855f7,
        0 0 20px #a855f7,
        0 0 40px #a855f7,
        0 0 80px #a855f7;
}

.neon-text-pink {
    color: #fff;
    text-shadow: 
        0 0 10px #ec4899,
        0 0 20px #ec4899,
        0 0 40px #ec4899,
        0 0 80px #ec4899;
}

.neon-text-blu {
    color: #fff;
    text-shadow: 
        0 0 10px #3b82f6,
        0 0 20px #3b82f6,
        0 0 40px #3b82f6,
        0 0 80px #3b82f6;
}

.neon-text-cyan {
    color: #fff;
    text-shadow: 
        0 0 10px #06b6d4,
        0 0 20px #06b6d4,
        0 0 40px #06b6d4,
        0 0 80px #06b6d4;
}

/* ===== FLICKER EFFECT ===== */
.flicker-letter {
    display: inline-block;
    animation: letter-flicker 4s infinite;
}

.flicker-letter:nth-child(2) {
    animation-delay: 0.5s;
}

.flicker-letter:nth-child(3) {
    animation-delay: 1.2s;
}

.flicker-letter-long {
    display: inline-block;
    animation: letter-flicker-long 5s infinite;
}

.flicker-letter-long:nth-child(2) {
    animation-delay: 0.8s;
}

@keyframes letter-flicker {
    0%, 100% { 
        opacity: 1;
        text-shadow: 
            0 0 10px #a855f7,
            0 0 20px #a855f7,
            0 0 40px #a855f7;
    }
    41%, 43% {
        opacity: 0.4;
        text-shadow: 
            0 0 5px #a855f7,
            0 0 10px #a855f7;
    }
    42% {
        opacity: 0.2;
        text-shadow: 0 0 5px #a855f7;
    }
    45%, 47% {
        opacity: 0.6;
        text-shadow: 
            0 0 5px #a855f7,
            0 0 15px #a855f7;
    }
    46% {
        opacity: 1;
        text-shadow: 
            0 0 10px #a855f7,
            0 0 20px #a855f7,
            0 0 40px #a855f7;
    }
}

@keyframes letter-flicker-long {
    0%, 100% { 
        opacity: 1;
        text-shadow: 
            0 0 10px #a855f7,
            0 0 20px #a855f7,
            0 0 40px #a855f7;
    }
    35%, 36% {
        opacity: 0.3;
        text-shadow: 0 0 5px #a855f7;
    }
    37%, 42% {
        opacity: 0;
        text-shadow: none;
    }
    43% {
        opacity: 0.1;
        text-shadow: 0 0 3px #a855f7;
    }
    44% {
        opacity: 0.4;
        text-shadow: 0 0 8px #a855f7;
    }
    45% {
        opacity: 0.7;
        text-shadow: 
            0 0 10px #a855f7,
            0 0 15px #a855f7;
    }
    46% {
        opacity: 1;
        text-shadow: 
            0 0 10px #a855f7,
            0 0 20px #a855f7,
            0 0 40px #a855f7;
    }
}

/* Forza display inline-block */
span.flicker,
span.flicker-long {
    display: inline-block !important;
}

span.flicker {
    animation: letter-flicker 7s infinite !important;
}

span.flicker-long {
    animation: letter-flicker-long 10s infinite !important;
}

/* ===== GLITCH EFFECT ===== */
.glitch {
    position: relative;
    color: #fff;
    letter-spacing: -2px;
}

.glitch::before,
.glitch::after {
    content: attr(data-text);
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.glitch::before {
    color: #ec4899;
    animation: glitch-top 3s infinite;
    text-shadow: 
        -2px 0 #ec4899,
        0 0 10px #ec4899;
    clip-path: polygon(0 0, 100% 0, 100% 50%, 0 50%);
}

.glitch::after {
    color: #3b82f6;
    animation: glitch-bottom 3s infinite;
    text-shadow: 
        2px 0 #3b82f6,
        0 0 10px #3b82f6;
    clip-path: polygon(0 50%, 100% 50%, 100% 100%, 0 100%);
}

@keyframes glitch-top {
    0%, 90% { 
        clip-path: polygon(0 0, 0 0, 0 0, 0 0);
        transform: translateX(0);
    }
    92% { 
        clip-path: polygon(0 0, 100% 0, 100% 50%, 0 50%);
        transform: translateX(-15px);
    }
    94% { 
        clip-path: polygon(0 0, 100% 0, 100% 50%, 0 50%);
        transform: translateX(-20px);
    }
    96% { 
        clip-path: polygon(0 0, 0 0, 0 0, 0 0);
        transform: translateX(0);
    }
}

@keyframes glitch-bottom {
    0%, 88% { 
        clip-path: polygon(0 0, 0 0, 0 0, 0 0);
        transform: translateX(0);
    }
    90% { 
        clip-path: polygon(0 50%, 100% 50%, 100% 100%, 0 100%);
        transform: translateX(15px);
    }
    92% { 
        clip-path: polygon(0 50%, 100% 50%, 100% 100%, 0 100%);
        transform: translateX(20px);
    }
    94% { 
        clip-path: polygon(0 0, 0 0, 0 0, 0 0);
        transform: translateX(0);
    }
}

/* ===== SERVICE/PRICING CARD HOVER EFFECT ===== */
.service-card,
.pricing-card,
.neon-image-box {
    position: relative;
    transition: all 0.4s ease;
}

/* Bordo superiore animato */
.service-card::before,
.pricing-card::before,
.neon-image-box::before {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%) scaleX(0);
    width: 80%;
    height: 3px;
    background: linear-gradient(90deg, #a855f7, #ec4899);
    transition: transform 0.4s ease;
    border-radius: 20px;
    z-index: 1;
}

.service-card:hover::before,
.pricing-card:hover::before,
.neon-image-box:hover::before {
    transform: translateX(-50%) scaleX(1);
}

.service-card:hover,
.pricing-card:hover,
.neon-image-box:hover {
    border-color: #a855f7 !important;
    box-shadow: 0 25px 70px rgba(168, 85, 247, 0.5) !important;
    background: rgba(26, 11, 46, 0.9) !important;
}

/* ===== NEON IMAGE BOX ===== */
.neon-image-box .elementor-image-box-title {
    color: #fff !important;
    text-shadow: 
        0 0 10px #ec4899,
        0 0 20px #ec4899,
        0 0 40px #ec4899,
        0 0 80px #ec4899 !important;
}

.neon-image-box .elementor-image-box-description {
    text-shadow: none !important;
}


/* ===== CTA BOX ALWAYS ACTIVE ===== */
.cta-box {
    position: relative;
    border-color: #a855f7 !important;
    box-shadow: 0 25px 70px rgba(168, 85, 247, 0.5) !important;
    background: rgba(26, 11, 46, 0.9) !important;
    transition: all 0.4s ease;
}

/* Bordo superiore sempre visibile */
.cta-box::before {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 80%;
    height: 3px;
    background: linear-gradient(90deg, #a855f7, #ec4899);
    border-radius: 20px;
    z-index: 1;
}

/* Titolo con neon verde/cyan */
.cta-box h2,
.cta-box h3,
.cta-box .elementor-heading-title,
.cta-box .elementor-widget-heading {
    color: #fff !important;
    text-shadow: 
        0 0 10px #06b6d4,
        0 0 20px #06b6d4,
        0 0 40px #06b6d4,
        0 0 80px #06b6d4 !important;
}

/* Sottotitolo senza neon */
.cta-box .elementor-widget-text-editor p {
    text-shadow: none !important;
}


/* ===== BUTTON EFFECTS ===== */
.btn-neon-border {
    position: relative;
    transition: all 0.3s ease;
}

.btn-neon-border:hover {
    background: rgba(168, 85, 247, 0.15) !important;
    border-color: #ec4899 !important;
    box-shadow: 0 0 30px rgba(168, 85, 247, 0.4) !important;
}

.btn-gradient-shift {
    position: relative;
    background: linear-gradient(135deg, #a855f7, #ec4899) !important;
    transition: all 0.3s ease !important;
    overflow: hidden;
    border-radius: 50px !important;
}

.btn-gradient-shift:hover {
    background: linear-gradient(135deg, #a855f7, #ec4899, #a855f7) !important;
    background-size: 200% 200% !important;
    animation: gradient-shift-bg 2s ease infinite !important;
    transform: translateY(-3px) !important;
    box-shadow: 0 15px 40px rgba(168, 85, 247, 0.6) !important;
}

@keyframes gradient-shift-bg {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}

/* Shimmer effect */
.btn-gradient-shift::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent);
    transition: left 0.5s ease;
    border-radius: 50px;
}

.btn-gradient-shift:hover::before {
    left: 100%;
}

.neon-header .elementor-heading-title {
    color: #fff !important;
    text-shadow: 
        0 0 10px #ec4899,
        0 0 20px #ec4899,
        0 0 40px #ec4899,
        0 0 80px #ec4899 !important;
}/* End custom CSS */