/*------------------------------------------------------------------
[Master Stylesheet]

Project:  Aivio
-------------------------------------------------------------------*/
/*------------------------------------------------------------------
[Table of contents]

1. Body
2. Header  / .header
3. Banner  /.banner-con
4. Services  /.our-services-con
5. Work  /.our-work-con
6. Projects  /.our-projects-con
7. Pricing  /.pricing-plans-con
8. Testimonial  /.testimonial-con
9. Faq  /.faq-con
10. Build  /.build-con
11. Footer  /.footer-con
*/
/*------------------------------------------------------------------
# [Color Codes]

 #   --e-global-color-primary: #ffffff;
 #   --e-global-color-secondary: #b8c4d6;
 #   --e-global-color-accent: #00a1ff;
 #   --e-global-color-text: #b8c4d6;
 #   --e-global-color-white: #ffffff;
 #   --e-global-color-black: #000000;
 #   --e-global-color-strong-violet: #0088d6;
 #   --e-global-color-bright-violet: #00a1ff;
 #   --e-global-color-very-dark-violet: #05070d;
 #   --e-global-color-very-dark-black-mostly-violet: #070b14;
 #   --e-global-color-purple-family: #0d1424;
 #   --e-global-color-purple-family2: #111a2e;

*/
/*------------------------------------------------------------------
# [Typography]
 
Body copy: "Urbanist", sans-serif;
Heading: "Urbanist", sans-serif;
*/

@import url('https://fonts.googleapis.com/css2?family=Urbanist:ital,wght@0,100..900;1,100..900&display=swap');

body {
    font-family: "Urbanist", sans-serif;
    /* overflow: hidden; */
}

:root {
    --e-global-color-primary: #ffffff;
    --e-global-color-secondary: #b8c4d6;
    --e-global-color-accent: #00a1ff;
    --e-global-color-text: #b8c4d6;
    --e-global-color-white: #ffffff;
    --e-global-color-black: #000000;
    --e-global-color-strong-violet: #0088d6;
    --e-global-color-bright-violet: #00a1ff;
    --e-global-color-very-dark-violet: #05070d;
    --e-global-color-very-dark-black-mostly-violet: #070b14;
    --e-global-color-purple-family: #0d1424;
    --e-global-color-purple-family2: #111a2e;
    --e-global-color-star-yellow: #fbc729;
    --e-global-color-pure-red: #ff0000;
}

figure {
    margin-bottom: 0;
}

h1 {
    font-size: 120px;
    line-height: 112px;
    font-weight: 500;
    color: var(--e-global-color-white);
    margin-bottom: 46px;
    letter-spacing: 1.2px;
}

h2 {
    font-size: 62px;
    line-height: 74px;
    font-weight: 500;
    color: var(--e-global-color-secondary);
    letter-spacing: 0.4px;
}

h2 span {
    color: var(--e-global-color-white);
}

h3 {
    font-size: 36px;
    line-height: 40px;
    font-weight: 500;
    color: var(--e-global-color-secondary);
}

h4 {
    font-size: 24px;
    line-height: 30px;
    font-weight: 500;
    color: var(--e-global-color-secondary);
}

h5 {
    font-size: 20px;
    line-height: 24px;
    font-weight: 500;
    color: var(--e-global-color-secondary);
}

h6 {
    font-size: 18px;
    line-height: 24px;
    font-weight: 500;
    color: var(--e-global-color-white);
    position: relative;
    display: inline-block;
    padding-left: 20px;
    letter-spacing: 0.2px;
    margin-bottom: 13px;
}

h6::before {
    content: "";
    top: 0;
    left: 0;
    bottom: 0;
    margin: auto 0;
    width: 8px;
    height: 8px;
    position: absolute;
    border-radius: 100%;
    background-color: var(--e-global-color-white);
}

p {
    font-size: 16px;
    line-height: 24px;
    font-weight: 500;
    color: var(--e-global-color-text);
    word-break: break-word;
}

.text-size-18 {
    font-size: 18px;
    line-height: 26px;
    font-weight: 500;
    color: var(--e-global-color-text);
}

.text-size-16 {
    font-size: 16px;
    line-height: 24px;
    font-weight: 500;
    color: var(--e-global-color-text);
}

.text-size-14 {
    font-size: 14px;
    line-height: 20px;
    font-weight: 500;
    color: var(--e-global-color-text);
}

.primary_btn {
    font-size: 16px;
    min-width: 192px;
    padding: 22px 30px;
    line-height: 16px;
    font-weight: 700;
    text-align: center;
    border-radius: 35px;
    position: relative;
    display: inline-block;
    color: var(--e-global-color-white);
    background-image: linear-gradient(to top, var(--e-global-color-strong-violet) 0%, var(--e-global-color-bright-violet) 100%);
    transition: all 0.8s ease-in-out;
}

.primary_btn:hover {
    color: var(--e-global-color-white);
    background-image: linear-gradient(to top, var(--e-global-color-bright-violet) 0%, var(--e-global-color-strong-violet) 100%);
}

.primary_btn i {
    font-size: 12px;
    margin-left: 14px;
    transition: all 0.8s ease-in-out;
    color: var(--e-global-color-white);
}

html {
    scroll-behavior: smooth;
}

.all_row {
    display: flex;
    flex-wrap: wrap;
}

.all_column {
    display: flex;
}

.all_boxes {
    flex: 1;
    display: flex;
    flex-direction: column;
}

.padding-top {
    padding-top: 138px;
}

.padding-bottom {
    padding-bottom: 140px;
}

.light-violet-bg {
    background-color: var(--e-global-color-very-dark-black-mostly-violet);
}

.heading-title-con {
    margin-bottom: 46px;
}

.lavendr-text {
    color: var(--e-global-color-text);
}

.font-weight-600 {
    font-weight: 600;
}

.font-weight-500 {
    font-weight: 500;
}

/* special classes ends here */
/* Home Page */

/* Topbar */

.top-bar-con {
    z-index: 1;
    position: relative;
    background-color: var(--e-global-color-accent);
}

.top-bar-con .top-bar-box {
    padding: 8px 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.top-bar-con .top-bar-box ul li:last-child {
    margin-bottom: 0 !important;
}

.top-bar-con .top-bar-box ul,
.top-bar-con .top-bar-box .info,
.top-bar-con .top-bar-box .top-bar-social {
    display: flex;
    align-items: center;
}

.top-bar-con .top-bar-box .info {
    padding-right: 35px;
}

.top-bar-con .top-bar-box .info:last-child {
    padding-right: 0;
}

.top-bar-con .top-bar-box .info i {
    font-size: 13px;
    width: 24px;
    height: 24px;
    line-height: 24px;
    border-radius: 100%;
    text-align: center;
    color: var(--e-global-color-accent);
    background-color: var(--e-global-color-white);
    transition: all 0.6s ease-in-out;
}

.top-bar-con .top-bar-box .info a,
.top-bar-con .top-bar-box .info p {
    font-size: 14px;
    line-height: 14px;
    font-weight: 400;
    margin-left: 10px;
    color: var(--e-global-color-white);
    transition: all 0.6s ease-in-out;
}

.top-bar-con .top-bar-box .info a:hover {
    color: var(--e-global-color-secondary);
}

.top-bar-con .top-bar-box .social-icons li {
    display: inline-block;
    margin: 0 10px;
    padding: 0 !important;
    transition: all 0.6s ease-in-out;
}

.top-bar-con .top-bar-box .social-icons li:first-child {
    margin-left: 0;
}

.top-bar-con .top-bar-box .social-icons li:last-child {
    margin-right: 0;
}

.top-bar-con .top-bar-box .social-icons i {
    font-size: 14px;
    color: var(--e-global-color-white);
    transition: all 0.6s ease-in-out;
}

.top-bar-con .top-bar-box .social-icons a:hover i {
    color: var(--e-global-color-secondary);
}

/* Header */

/* HEADER SECTION */
.header-con .navbar-light .navbar-nav .nav-link {
    font-size: 16px;
    color: var(--e-global-color-white);
    font-weight: 500;
    padding: 10px 0 !important;
    position: relative;
}

.header-con .navbar-light .navbar-nav .nav-link:hover {
    color: var(--e-global-color-text);
    /* text-decoration: underline; */
}

.header-con .navbar-expand-lg .navbar-nav {
    gap: 62px;
    justify-content: center;
    align-items: center;
}

.header-con {
    z-index: 5;
    padding: 0;
    margin-top: 40px;
}

.header-con .navbar {
    padding: 9px 10px 9px 19px;
    background-color: rgb(0 0 0 / 10%);
    border-radius: 36px;
    border: 1px solid rgb(255 255 255 / 10%);
}


.header-con .navbar-light .navbar-nav .nav-link:hover::before {
    width: 100%;
}

.header-con .navbar-light .navbar-nav .nav-link::before {
    left: 0;
    bottom: 0;
    width: 0;
    height: 1px;
    content: '';
    position: absolute;
    background: var(--e-global-color-text);
    transition: ease-in-out 0.6s;
}

.header-con .navbar-light .navbar-nav .nav-link.active {
    color: var(--e-global-color-text);
}

.header-con .navbar-light .navbar-nav .dropdown .nav-link:hover::after {
    width: 0;
}

.header-con .navbar-light .navbar-nav .dropdown .nav-link::after {
    width: unset;
    position: absolute;
    background: none;
    top: 19px;
    font-size: 15px;
}

.header-con .navbar-light .navbar-nav .dropdown-menu {
    padding: 10px;
    margin: 0;
    background-color: var(--e-global-color-white);
    border: 0;
    z-index: 2;
    width: 230px;
    margin-top: 10px;
    box-shadow: 0px 0px 100px rgb(0 0 0 / 15%);
    border-radius: 20px;
}

.header-con .navbar-light .navbar-nav .dropdown-menu a:last-child {
    border-bottom: none;
}

.header-con .navbar-light .navbar-nav .dropdown-menu .dropdown-item {
    padding: 7px 12px;
    border-bottom: 1px solid var(--e-global-color-white);
    font-size: 16px;
    font-weight: 500;
    line-height: 24px;
    color: var(--e-global-color-very-dark-black-mostly-violet);
    border-radius: 10px;
}

.header-con .navbar-light .navbar-nav .dropdown-menu .dropdown-item:active,
.header-con .navbar-light .navbar-nav .dropdown-menu .dropdown-item:active {
    background-color: var(--e-global-color-bright-violet);
    color: var(--e-global-color-white);
}

.header-con .navbar-light .navbar-nav .dropdown-menu .dropdown-item.active {
    background-color: var(--e-global-color-bright-violet);
    color: var(--e-global-color-white);
}

.header-con .navbar-light .navbar-nav .dropdown-menu .dropdown-item:hover {
    background-color: var(--e-global-color-bright-violet);
    color: var(--e-global-color-white);
}

.header-con .navbar-light .navbar-brand {
    margin: 0;
    padding: 0;
}

/* HEADER SECTION */
/* BACK TO TOP BUTTON */
#back-to-top-btn {
    display: none;
    position: fixed;
    bottom: 60px;
    right: 60px;
    z-index: 99;
    font-size: 18px;
    border: none;
    background-color: var(--primary--color);
    color: white;
    cursor: pointer;
    width: 80px;
    height: 80px;
    -webkit-animation: spineer 2s infinite;
    animation: spineer 2s infinite;
    border-radius: 0;
}

.header-contact .contact-btn {
    min-width: 162px;
    background-image: linear-gradient(to top, var(--e-global-color-strong-violet) 0%, var(--e-global-color-bright-violet) 100%);
    color: var(--e-global-color-white);
    height: 52px;
    line-height: 32px;
    text-align: center;
    font-weight: 700;
    font-size: 16px;
    padding: 10px;
    width: 100%;
    text-decoration: none;
    z-index: 1;
    border-radius: 100px;
}

.header-contact .contact-btn:hover {
    background-image: linear-gradient(to top, var(--e-global-color-bright-violet) 0%, var(--e-global-color-strong-violet) 100%);
    color: var(--e-global-color-white);
    transition: ease-in-out 0.6s;
    /* box-shadow: 0px 10px 20px rgb(0 0 0 / 15%); */
}


.header-contact {
    margin-left: 22px;
}

.free-trial {
    margin-right: 0;
    font-weight: 700;
    padding-left: 100px;
}

.font-weight-700 {
    font-weight: 700 !important;
}

/* .free-trial a:hover {
    text-decoration: none;
    color: var(--e-global-color-text) !important;
} */

/* Header */

/* Testimonial */

.testimonial-con {
    padding: 145px 0;
    background: var(--e-global-color-very-dark-violet);
}

.testimonial-con .testimonial_content {
    padding-right: 122px;
}

.testimonial-con .testimonial_content h6 {
    margin-bottom: 12px;
}

.testimonial-con .testimonial_content h2 {
    margin-bottom: 29px;
}

.testimonial-con .testimonial-box p {
    margin-bottom: 38px;
}

.testimonial-con .testimonial-box .info ul {
    margin-bottom: 12px;
}

.testimonial-con .testimonial-box .info ul li {
    display: inline-block;
}

.testimonial-con .testimonial-box .info ul li i {
    font-size: 12px;
    color: var(--e-global-color-star-yellow);
}

.testimonial-con .testimonial-box .info h5 {
    margin-bottom: 4px;
    color: var(--e-global-color-white);
}

.testimonial-con .dotted-circle {
    top: 6px;
    left: 20px;
    height: 410px;
    width: 410px;
    z-index: 1;
    border-radius: 100%;
    border: 2px dashed rgb(255 255 255 / 15%);
}

.testimonial-con .dotted-circle .icon {
    width: 261px;
    height: 261px;
    line-height: 261px;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    position: absolute;
    text-align: center;
    background-color: #1e2a44;
    border-radius: 100%;
}

.testimonial-con .dotted-circle .testimonial-quoteimage {
    width: 191px;
    height: 191px;
    line-height: 191px;
    top: 34px;
    left: 34px;
    text-align: center;
    background-image: linear-gradient(to top, var(--e-global-color-strong-violet) 0%, var(--e-global-color-bright-violet) 100%);
    border-radius: 100px;
}

.testimonial-con .dotted-circle .image img,
.testimonial-con .dotted-circle .circle img {
    border-radius: 100%;
}

.testimonial-con .dotted-circle .testimonial-image1 {
    top: 8px;
    left: 18px;
    transition: all 0.6s ease-in-out;
}

.testimonial-con .dotted-circle .testimonial-image2 {
    top: 155px;
    right: -53px;
    transition: all 0.6s ease-in-out;
}

.testimonial-con .dotted-circle .testimonial-image3 {
    bottom: -32px;
    left: 77px;
    transition: all 0.6s ease-in-out;
}

.testimonial-con .dotted-circle .testimonial-circle1 {
    top: 5px;
    right: 72px;
    transition: all 0.6s ease-in-out;
}

.testimonial-con .dotted-circle .testimonial-circle2 {
    bottom: 12px;
    right: 60px;
    transition: all 0.6s ease-in-out;
}

.testimonial-con .dotted-circle .testimonial-circle3 {
    top: 245px;
    left: -20px;
    transition: all 0.6s ease-in-out;
}

.testimonial-con .dotted-circle .testimonial-image1:hover {
    transform: translateY(-10px);
}

.testimonial-con .dotted-circle .testimonial-image2:hover {
    transform: translateY(-10px);
}

.testimonial-con .dotted-circle .testimonial-image3:hover {
    transform: translateY(-10px);
}

.testimonial-con .dotted-circle .testimonial-circle1:hover {
    transform: translateY(-10px);
}

.testimonial-con .dotted-circle .testimonial-circle2:hover {
    transform: translateY(-10px);
}

.testimonial-con .dotted-circle .testimonial-circle3:hover {
    transform: translateY(-10px);
}

.testimonial-con .owl-carousel .owl-dots {
    display: block !important;
    margin-top: -25px !important;
    position: absolute;
    right: -140px;
    background-color: var(--e-global-color-very-dark-violet);
}

.testimonial-con .owl-carousel .owl-dots .owl-dot span {
    width: 19px;
    height: 7px;
    margin: 0 5px;
    border-radius: 2px;
    transition: all 0.6s ease-in-out;
    background-image: linear-gradient(to top, #1e2a44 0%, #1e2a44 100%);
}

.testimonial-con .owl-carousel .owl-dots .owl-dot:hover span {
    background-image: linear-gradient(to top, var(--e-global-color-strong-violet) 0%, var(--e-global-color-bright-violet) 100%);
}

.testimonial-con .owl-carousel .owl-dots .owl-dot.active span {
    width: 39px;
    height: 7px;
    border-radius: 2px;
    position: relative;
    background-image: linear-gradient(to top, var(--e-global-color-strong-violet) 0%, var(--e-global-color-bright-violet) 100%);
}

.testimonial-con .owl-carousel .owl-dots .owl-dot:focus {
    outline: none;
}

/* Faq */

.faq-con {
    padding: 145px 0 150px;
}

.faq-con .faq_content h6 {
    margin-bottom: 10px;
}

.faq-con .faq_content h2 {
    margin-bottom: 50px;
}

.faq-con h5 {
    margin-bottom: 0;
    color: var(--e-global-color-white);
}

.faq-con .accordion-card {
    margin-bottom: 30px;
    width: 100%;
    border-radius: 15px;
    background-color: var(--e-global-color-very-dark-violet);
    border: 1px solid rgb(255 255 255 / 15%);
}

.faq-con .accordion-card:last-child {
    margin-bottom: 0;
}

.faq-con .accordian-inner .card-header {
    padding: 0;
    margin-bottom: 0;
    background: none;
    border: none;
}

.faq-con .accordian-inner .card-header a {
    padding: 22px 50px 22px 36px;
}

.faq-con .accordian-inner .card-body {
    padding: 0 36px 28px;
}

.faq-con .accordion-card a.btn.btn-link:focus {
    outline: none;
    box-shadow: none;
}

.faq-con .accordian-inner .accordion-card i {
    position: absolute;
    right: 20px;
    margin: -6px 0;
}

.faq-con .accordian-inner .accordion-card .btn {
    text-decoration: none;
    text-align: left;
    display: block;
    border-radius: 10px;
}

.faq-con .accordion-card a.btn.btn-link {
    position: relative;
}

.faq-con .accordion-card .btn-link:before {
    content: "\f068";
    font-size: 18px;
    top: 20px;
    right: 22px;
    position: absolute;
    font-family: 'FontAwesome';
    color: var(--e-global-color-white);
}

.faq-con .accordion-card .collapsed:before {
    content: "\2b";
}

.faq-con .accordion-card:has(.show) .btn-link:before {
    content: "\f068";
}

/* Build */

.build-con {
    background-color: var(--e-global-color-very-dark-black-mostly-violet);
}

.build-con .build_wrapper .build-image {
    position: relative;
    bottom: 0;
    left: 130px;
}

.build-con .build_content {
    padding: 45px 0 0 110px;
}

.build-con .build_content h1 {
    margin-bottom: 74px;
    color: var(--e-global-color-secondary);
    letter-spacing: 1.2px;
}

.build-con .build_content h1 span {
    color: var(--e-global-color-white);
    margin-bottom: 8px;
    display: inline-block;
}

.build-con .build_content .primary_btn {
    padding: 20px 54px;
}

/* Footer */

.footer-con {
    background: var(--e-global-color-very-dark-violet);
}

.footer-con .middle_portion {
    padding: 122px 0 116px;
}

.footer-con .middle_portion .logo-content .footer-logo {
    margin-bottom: 24px;
}

.footer-con .middle_portion .logo-content .footer-logo img {
    width: 138px;
}

.footer-con .middle_portion .logo-content p {
    margin-bottom: 28px;
    padding-right: 15px;
}

.footer-con .middle_portion .social-icons li {
    margin: 0 9px;
    display: inline-block;
    transition: all 0.6s ease-in-out;
}

.footer-con .middle_portion .social-icons a {
    margin-left: 0 !important;
}

.footer-con .middle_portion .social-icons i {
    font-size: 18px;
    color: var(--e-global-color-white);
    transition: all 0.6s ease-in-out;
}

.footer-con .middle_portion .social-icons i:hover {
    transform: translateY(-5px);
    color: var(--e-global-color-accent);
}

.footer-con .middle_portion .social-icons li:first-child {
    margin-left: 0;
}

.footer-con .middle_portion .social-icons li:last-child {
    margin-right: 0;
}

.footer-con .middle_portion h4 {
    margin-bottom: 26px;
    color: var(--e-global-color-white);
}

.footer-con .middle_portion .links {
    padding-left: 44px;
}

.footer-con .middle_portion li {
    margin-bottom: 18px;
}

.footer-con .middle_portion li:last-child {
    margin-bottom: 0 !important;
}

.footer-con .middle_portion li i {
    font-size: 12px;
    top: -2px;
    position: relative;
    color: var(--e-global-color-accent);
}

.footer-con .middle_portion li a {
    font-size: 16px;
    line-height: 16px;
    font-weight: 500;
    margin-left: 18px;
    color: var(--e-global-color-text);
    transition: all 0.8s ease-in-out;
}

.footer-con .middle_portion li a:hover {
    color: var(--e-global-color-accent);
}

.footer-con .middle_portion .icon {
    padding-left: 45px;
}

.footer-con .middle_portion .icon li {
    position: relative;
    margin-bottom: 16px;
    padding-left: 34px;
    display: inline-block;
}

.footer-con .middle_portion .icon i {
    position: absolute;
    font-size: 14px;
    left: 0;
    top: 4px;
}

.footer-con .middle_portion .icon a {
    margin-left: 0 !important;
}

.footer-con .middle_portion .email-form {
    padding-left: 24px;
}

.footer-con .middle_portion .email-form h4 {
    margin-bottom: 30px;
}

.footer-con .middle_portion .email-form input {
    position: relative;
    font-size: 14px;
    line-height: 20px;
    font-weight: 400;
    color: var(--e-global-color-text);
    background-color: rgb(255 255 255 / 5%);
    border-radius: 35px;
    padding: 25px 56px 25px 20px;
    margin-bottom: 18px;
    width: 100%;
    border: 1px solid transparent;
    overflow: visible;
    outline: none;
}

.footer-con .middle_portion .email-form input:focus {
    border: 1px solid var(--e-global-color-accent);
}

.footer-con .middle_portion .email-form button {
    font-size: 16px;
    color: var(--e-global-color-white);
    background-image: linear-gradient(to top, var(--e-global-color-strong-violet) 0%, var(--e-global-color-bright-violet) 100%);
    border-radius: 100%;
    width: 52px;
    height: 52px;
    line-height: 52px;
    border: none !important;
    float: right;
    position: absolute;
    top: 9px;
    right: 9px;
    overflow: visible;
    outline: none;
    transition: all 0.6s ease-in-out;
}

.footer-con .middle_portion .email-form button:hover {
    background-image: linear-gradient(to top, var(--e-global-color-bright-violet) 0%, var(--e-global-color-strong-violet) 100%);
}

.footer-con .middle_portion .email-form .check-box {
    padding-left: 38px;
}

.footer-con .middle_portion .email-form .check-box input {
    padding: 0;
    height: initial;
    width: initial;
    margin-bottom: 0;
    display: none;
    cursor: pointer;
}

.footer-con .middle_portion .email-form .check-box label {
    font-size: 12px;
    line-height: 20px;
    font-weight: 400;
    color: var(--e-global-color-white);
    position: relative;
    cursor: pointer;
    margin: 0;
}

.footer-con .middle_portion .email-form .check-box label a {
    text-decoration: underline;
    color: var(--e-global-color-white);
    transition: 0.8s ease-in-out;
}

.footer-con .middle_portion .email-form .check-box label a:hover {
    color: var(--e-global-color-accent);
}

.footer-con .middle_portion .email-form .check-box label:before {
    content: '';
    -webkit-appearance: none;
    background-color: rgb(255 255 255 / 5%);
    border-radius: 5px;
    padding: 2px;
    display: inline-block;
    position: relative;
    vertical-align: middle;
    cursor: pointer;
    margin-right: -21px;
    width: 20px;
    height: 20px;
    top: -1px;
    left: -38px;
}

.footer-con .middle_portion .email-form .check-box input:checked+label:after {
    content: '';
    display: block;
    position: absolute;
    top: 3px;
    left: -30px;
    width: 5px;
    height: 10px;
    border: solid var(--e-global-color-accent);
    border-width: 0 2px 2px 0;
    transform: rotate(50deg);
}

.footer-con .copyright p {
    font-size: 12px;
    line-height: 12px;
    font-weight: 400;
    padding: 25px 0;
    text-align: center;
    color: var(--e-global-color-text);
    border-top: 1px solid rgb(255 255 255 / 15%);
}

/* Policy Pages */

.privacy-policy-con {
    padding: 100px 0;
}

/* Back to top button */

#button {
    display: inline-block;
    background-color: var(--e-global-color-accent);
    width: 64px;
    height: 64px;
    text-align: center;
    border-radius: 100px;
    position: fixed;
    bottom: 60px;
    right: 80px;
    transition: background-color .3s, opacity .5s, visibility .5s;
    opacity: 0;
    visibility: hidden;
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: center;
    -webkit-animation: spineer 2s infinite;
    animation: spineer 2s infinite;
    text-decoration: none;
    cursor: pointer;
    transition: all 0.6s ease-in-out;
}

#button::after {
    content: "\f062";
    font-family: "Font Awesome 5 free";
    font-size: 20px;
    line-height: 20px;
    color: #fff;
    font-weight: 600;
}

#button.show {
    opacity: 1;
    visibility: visible;
}

#button:hover {
    transform: translateY(-5px);
    color: rgb(13, 20, 36);
}

@-webkit-keyframes spineer {
    from {
        box-shadow: 0 0 0 0 rgb(0 136 214 / 40%)
    }

    to {
        box-shadow: 0 0 0 35px rgba(0, 136, 214, .01)
    }
}

@keyframes spineer {
    from {
        /* box-shadow: 0 0 0 0 rgb(13 20 36 / 40%) */
        box-shadow: 0 0 0 0 rgb(0 136 214 / 40%)
    }

    to {
        box-shadow: 0 0 0 35px rgba(0, 136, 214, .01)
    }
}

/* Preloader -------------------------------------------------------*/

/* Loader Styles start here */
.loader-mask {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #fff;
    z-index: 99999;
}

.loader {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 50px;
    height: 50px;
    font-size: 0;
    color: var(--e-global-color-accent);
    display: inline-block;
    margin: -25px 0 0 -25px;
    text-indent: -9999em;
    -webkit-transform: translateZ(0);
    -ms-transform: translateZ(0);
    transform: translateZ(0);
}

.lead {
    font-size: 13px;
}

.loader div {
    background-color: var(--e-global-color-accent);
    display: inline-block;
    float: none;
    position: absolute;
    top: 0;
    left: 0;
    width: 50px;
    height: 50px;
    opacity: .5;
    border-radius: 50%;
    -webkit-animation: ballPulseDouble 2s ease-in-out infinite;
    animation: ballPulseDouble 2s ease-in-out infinite;
}

.loader div:last-child {
    -webkit-animation-delay: -1s;
    animation-delay: -1s;
}

@-webkit-keyframes ballPulseDouble {

    0%,
    100% {
        -webkit-transform: scale(0);
        transform: scale(0);
    }

    50% {
        -webkit-transform: scale(1);
        transform: scale(1);
    }
}

@keyframes ballPulseDouble {

    0%,
    100% {
        -webkit-transform: scale(0);
        transform: scale(0);
    }

    50% {
        -webkit-transform: scale(1);
        transform: scale(1);
    }
}

/* Preloader -------------------------------------------------------*/

/* Login Form Page Style  */

.login-form {
    min-height: 100vh;
    background-color: var(--e-global-color-lime-blue);
}

.login-form .login-form-title {
    margin-bottom: 40px;
}

.login-form .login-page-logo {
    margin-bottom: 25px;
}

.login-form .login-form-box {
    width: 450px;
    margin: 0 auto;
    position: relative;
}

.login-form .login-card {
    padding: 30px;
    margin-bottom: 30px;
    line-height: 0.8;
    border-radius: 10px;
    background: var(--e-global-color-white);
}

.login-form .login-card label {
    font-size: 16px;
    line-height: 20px;
    font-weight: 700;
    margin-bottom: 13px;
}

.login-form .login-card .input-field {
    font-size: 16px;
    font-weight: 500;
    height: 54px;
    width: 100%;
    line-height: 16px;
    padding: 0 21px;
    border-radius: 10px;
    background: transparent;
    color: var(--e-global-color-text);
    border: 1px solid rgb(24 26 23 / 10%);
}

.login-form .login-card .input-field:focus {
    outline: none;
    box-shadow: none;
    border: 1px solid var(--e-global-color-accent);
}

.login-form .login-card .form-group {
    margin-bottom: 16px;
}

.login-form .login-card .btn-primary {
    font-size: 18px;
    line-height: 18px;
    font-weight: 500;
    padding: 20px 15px;
    margin-bottom: 16px;
    width: 100%;
    border: none;
    border-radius: 8px;
    text-decoration: none;
    display: inline-block;
    color: var(--e-global-color-white);
    background-image: linear-gradient(to top, var(--e-global-color-dark-blue) 0%, var(--e-global-color-light-blue) 100%);
    transition: all 0.8s ease-in-out;
}

.login-form .login-card .btn-primary:hover {
    color: var(--e-global-color-white);
    background-image: linear-gradient(to top, var(--e-global-color-light-blue) 0%, var(--e-global-color-dark-blue) 100%);
}

.login-form .login-card .forgot-password {
    color: var(--e-global-color-secondary);
    font-size: 16px;
    line-height: 20px;
    text-decoration: none;
}

.login-form .login-card .forgot-password:hover {
    text-decoration: underline;
}

.login-form .login-form-box .join-now-outer a {
    font-size: 16px;
    line-height: 18px;
    color: var(--e-global-color-secondary);
    text-decoration: none;
}

.login-form .login-form-box .join-now-outer a:hover {
    text-decoration: underline;
}

.login-form .login-card .select-option option {
    font-size: 16px;
    color: black;
}

.login-form .form_style::placeholder {
    color: var(--createform-border-color);
    opacity: 1;
}

.login-form .form_style:-ms-input-placeholder {
    color: var(--createform-border-color);
}

.login-form .form_style::-ms-input-placeholder {
    color: var(-);
}

/* Join-Now Form Page Style */

.sign-up-form {
    padding: 70px 0;
}

.sign-up-form .login-form-box {
    width: 700px;
}

.sign-up-form .login-card label small {
    font-size: 14px;
}

.sign-up-form .login-card .select-option {
    padding: 0 40px 0 21px;
    -webkit-appearance: none;
    background-repeat: no-repeat !important;
    background-position: 96.5% 24px !important;
    background-image: none !important;
}

.sign-up-form .login-card .select-option:focus {
    outline: none;
    box-shadow: none;
}

/* glow vector */
.right-glow {
    right: 0;
    bottom: 0;
    top: 0;
    margin: auto;
    height: 100%;
}

.left-glow {
    left: 0;
    bottom: 0;
    top: 0;
    margin: auto;
    height: 100%;
}

/* PRICING PLANS SECTION */
.pricing-plans-con .pricing-box {
    border: 1px solid rgb(255 255 255 / 15%);
    border-radius: 30px;
    background-color: var(--e-global-color-very-dark-violet);
    padding: 52px 56px;
    transition: ease-in-out 0.6s;
}

.pricing-plans-con .pricing-box h3 {
    margin-bottom: 11px;
}

.pricing-plans-con .pricing-box:hover {
    border: 1px solid var(--e-global-color-bright-violet);
    transform: translateY(-6px);
    box-shadow: 0 12px 24px rgba(0, 161, 255, 0.1);
}

.plan-listing ul {
    margin-bottom: 30px;
}

.plan-listing ul li {
    padding-left: 30px;
    margin-bottom: 7px;
}

.plan-listing ul li i {
    color: var(--e-global-color-bright-violet);
    position: absolute;
    left: 0;
    top: 4px;
}

.pricing-box .plan-content p {
    margin-bottom: 30px;
    font-size: 16px;
    line-height: 24px;
}

.generic-price span.starting-at {
    font-size: 16px;
    margin-bottom: 8px;
}

.generic-price sup {
    font-size: 24px;
    top: -20px;
}

.generic-price span.price-text {
    font-size: 54px;
    line-height: 60px;
}

.generic-price span.per-month {
    font-size: 24px;
}

/* WORK WITH US SECTION */
.our-work-con {
    background-image: url(../images/work-bg-img.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    animation: bgMove 4s linear infinite;
    z-index: 1;
    /* background-attachment: fixed; */
}

.our-work-con p {
    font-size: 22px;
    line-height: 34px;
    margin-bottom: 32px;
}

.our-work-con a {
    display: inline-block;
}

.our-work-con h6 {
    margin-bottom: 27px;
}

.our-work-con h2 {
    margin-bottom: 26px !important;
}

/* SERVICES SECTION  */
.our-services-con .services-box {
    border: 1px solid rgb(255 255 255 / 15%);
    border-radius: 30px;
    background-color: var(--e-global-color-very-dark-violet);
    padding: 49px 32px;
    transition: ease-in-out 0.6s;
    cursor: pointer;
}

.our-services-con .services-box:hover {
    border: 1px solid var(--e-global-color-bright-violet);
    transform: translateY(-6px);
    box-shadow: 0 12px 24px rgba(0, 161, 255, 0.1);
}

.our-services-con .services-box figure {
    margin-bottom: 24px;
    transition: ease-in-out 0.6s;
}

.our-services-con .services-box:hover figure {
    transform: translateY(-3px);
}

.our-services-con .services-box p {
    padding-right: 19%;
    margin-bottom: 6px;
}

.our-services-con .services-box h4 {
    margin-bottom: 11px;
    color: var(--e-global-color-white);
}

.our-services-con .services-box a {
    color: var(--e-global-color-white);
    width: 46px;
    float: right;
    height: 46px;
    border-radius: 100px;
    background-image: linear-gradient(to top, var(--e-global-color-strong-violet) 0%, var(--e-global-color-bright-violet) 100%);
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    bottom: 15px;
    right: 15px;
}

.our-services-con .services-box a:hover {
    text-decoration: none;
    background-image: linear-gradient(to top, var(--e-global-color-bright-violet) 0%, var(--e-global-color-strong-violet) 100%);
}

.our-services-con .col-lg-4.col-md-6 {
    margin-bottom: 30px;
}

.our-services-con .col-lg-4.col-md-6:nth-last-of-type(-n+3) {
    margin-bottom: 0;
}

/* OUR PROJECTS SECTION */
/* .card-gallery {
    transition: all 0.8s ease-in-out;
} */

.card-container {
    transition: flex 0.6s ease-in-out, transform 0.6s ease-in-out;
    position: relative;
    overflow: hidden;
    flex: 0 0 17%;
}

.card-container.active {
    flex: 0 0 47%;
    z-index: 10;
}

.custom-card {
    position: relative;
    height: 583px;
    /* width: 100%; */
    overflow: hidden;
    border-radius: 30px;
    margin: 0 15px;
    background-color: #000;
    transition: ease-in-out 0.8s;
    cursor: pointer;
}

.card-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 100%;
    transition: opacity 0.8s ease-in-out;
}

.card-container.active .card-img {
    opacity: 100%;
}

.card-content {
    position: absolute;
    bottom: 25px;
    left: 25px;
    right: 25px;
    color: white;
    background-color: rgb(0 0 0 / 35%);
    border-radius: 15px;
    border: 1px solid rgb(255 255 255 / 35%);
    opacity: 0;
    transition: 0.4s ease-in-out;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 21px 25px;
}

.card-top-contnt {
    position: absolute;
    top: 30px;
    left: 25px;
    color: white;
    opacity: 0;
    transition: 0.4s ease-in-out;
}

.card-top-contnt span {
    font-size: 14px;
    font-weight: 500;
    background-color: rgb(0 0 0 / 40%);
    border-radius: 15px;
    padding: 8px 17px;

}

.card-container.active .card-content {
    opacity: 1;
}

.card-container.active .card-top-contnt {
    opacity: 1;
}

.custom-card img {
    border-radius: 30px;
}

.project-inner-con {
    margin-bottom: 45px;
}

.our-projects-con .card-content a {
    color: var(--e-global-color-white);
    width: 46px;
    float: right;
    height: 46px;
    border-radius: 100px;
    background-image: linear-gradient(to top, var(--e-global-color-strong-violet) 0%, var(--e-global-color-bright-violet) 100%);
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    bottom: 15px;
    right: 15px;
    flex-shrink: 0;
}

.our-projects-con .card-content a:hover {
    text-decoration: none;
    background-image: linear-gradient(to top, var(--e-global-color-bright-violet) 0%, var(--e-global-color-strong-violet) 100%);
}

.card-content h4 {
    font-weight: 600;
    color: var(--e-global-color-white);
    margin-bottom: 5px;
}

.card-content p {
    color: var(--e-global-color-white);
    font-size: 14px;
}

/*  */
.about-inner-con {
    display: grid;
    grid-template-columns: 786px 627px;
}

.about-con,
.our-services-con,
.our-work-con,
.pricing-plans-con,
.testimonial-con,
.faq-con,
.about-con2,
.statistics-con,
.build-con,
.mission-vision-con,
.our-team-con,
.contact-info-con,
.contact-form-con,
.our-projects-con,
.error-section,
.coming-soon-con {
    overflow: hidden;
}

.about-con .about-inner-con h2 {
    margin-bottom: 46px;
}

.about-con .about-inner-con img {
    border-radius: 30px;
}

.about-con .content-wrap .about-img2 img {
    position: absolute;
    bottom: 0;
    left: -28%;
}

.about-con .content-wrap .img1 {
    text-align: right;
}

.about-con .content-wrap {
    padding-right: 30px;
}

.about-con .primary_btn {
    margin-bottom: 129px;
}

.about-con .satisfied-clients {
    background-color: rgb(0 0 0 / 15%);
    border-radius: 36.5px;
    border: 1px solid rgb(255 255 255 / 15%);
    padding: 12px 20px;
    width: 254px;
    margin-right: 24px;
}

.about-con .satisfied-clients img {
    margin-left: -37px;
    border: 2px solid var(--e-global-color-purple-family);
}

.about-con .satisfied-clients .client-text span,
.about-con .satisfied-clients .client-text sup {
    font-size: 18px;
    font-weight: 800;
    top: 0;
}

.about-con .satisfied-clients .client-text span.span-text {
    font-size: 14px;
    color: var(--e-global-color-text);
}

/* BANNER SECTION */

.home_banner_outer {
    position: relative;
    background-color: var(--e-global-color-very-dark-black-mostly-violet);
    background-image: url(../images/banner-bg-img.png);
    background-size: cover;
    background-repeat: no-repeat;
    height: 1000px;
    animation: bgMove 2s linear infinite;
    z-index: 1;
}

@keyframes bgMove {
    0% {
        background-position: 0% 0%;
    }

    25% {
        background-position: 20% 60%;
    }

    50% {
        background-position: 60% 20%;
    }

    75% {
        background-position: 20% 60%;
    }

    100% {
        background-position: 0% 0%;
    }
}




.home_banner_outer .banner-con {
    padding-top: 280px;
    z-index: 2;
    position: relative;
}

.home_banner_outer .banner-con p {
    font-size: 22px;
    line-height: 34px;
    font-weight: 500;
    margin-bottom: 27px;
}

.home_banner_outer .banner-con .primary_btn {
    margin-right: 26px !important;
}

.home_banner_outer .banner-con .see-pricing:hover {
    text-decoration: underline;
    /* color: var(--e-global-color-accent) !important; */
}

.banner-con .banner-content-con {
    padding-bottom: 70px;
}

.statistics-box span {
    font-size: 50px;
    line-height: 50px;
    font-weight: 500;
    margin-bottom: 5px;
}

.statistics-box sup {
    top: 0;
    font-size: 50px;
    line-height: 50px;
    font-weight: 500;
}

.statistics-box span.span-text {
    font-size: 14px;
    line-height: 24px;
    color: var(--e-global-color-text);
    margin-bottom: 0;
}

.statistics-box {
    position: relative;
    /* border-right: 1px solid rgb(255 255 255 / 20%); */
    padding: 0 32px;
}

.statistics-box::before {
    content: '';
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    background-color: rgb(255 255 255 / 20%);
    height: 68px;
    width: 1px;
}

.statistics-box.var2::before {
    display: none;
}

.scroll-down span {
    font-size: 12px;
    letter-spacing: 1px;
}

.best-ai-tools-box {
    background-color: rgb(0 0 0 / 15%);
    border-radius: 15px;
    border: 1px solid rgb(255 255 255 / 15%);
    /* width: 354px;
    height: 132px; */
    padding: 9px 10px 9px 10px;
}

.best-ai-tools-box img {
    border-radius: 10px;
}

.best-ai-tools-box h4 {
    margin-bottom: 8px;
    font-weight: 600;
    color: var(--e-global-color-white);
}

.home_banner_outer .banner-con .best-ai-tools-box p {
    font-size: 14px;
    line-height: 19px;
}

.home_banner_outer .banner-con .best-ai-tools-box .tool-content {
    padding-left: 16px;
    padding-right: 16px;
}

/* LOGOS SECTION */
/* Logo slider base */
.logo-slider {
    overflow: hidden;
    position: relative;
    width: 100%;
}

/* Logo track animation */
.slider-track {
    display: flex;
    align-items: center;
    animation: scrollLogos 18s linear infinite;
}

/* Each logo */
.slider-track li {
    flex-shrink: 0;
    padding: 0 20px;
    position: relative;
}

.slider-track img {
    height: auto;
    width: auto;
    opacity: 0.2;
    transition: all 0.6s ease-in-out;
}

.slider-track figure:hover img {
    transform: translateY(2px);
    opacity: 1;
}

/* Your star icon between logos */
.logos-con ul li::before {
    content: '';
    position: absolute;
    right: -13px;
    top: 0;
    bottom: 0;
    width: 20px;
    height: 20px;
    margin: auto;
    background-image: url(../images/star-logo.png);
    background-repeat: no-repeat;
    background-size: contain;
}

.logos-con ul li:last-child::before {
    display: none;
}

/* Keyframes for auto scroll */
@keyframes scrollLogos {
    0% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(-50%);
    }
}

/* ========== Responsive Logo Sizes ========== */

/* Desktop: show 7 logos (no size change needed) */

/* Tablets: show 4–5 logos */
@media (max-width: 991px) {
    .slider-track li {
        padding: 0 15px;
    }

    .slider-track img {
        height: 35px;
    }
}

/* Small tablets / large phones: show 3–4 logos */
@media (max-width: 767px) {
    .slider-track li {
        padding: 0 10px;
    }

    .slider-track img {
        height: 30px;
    }
}

/* Mobile phones: show 2–3 logos */
@media (max-width: 575px) {
    .slider-track li {
        padding: 0 8px;
    }

    .slider-track img {
        height: 26px;
    }
}



.sub_banner_outer {
    background-color: var(--e-global-color-very-dark-black-mostly-violet);
    background-image: url(../images/sub-banner-img.png);
    background-size: cover;
    background-repeat: no-repeat;
    height: 627px;
}

.sub-banner-con {
    padding-top: 280px;
}

.sub-banner-con p {
    font-size: 22px;
    line-height: 34px;
    font-weight: 500;
    margin-bottom: 35px;
    color: var(--e-global-color-white);
}

/* breadcrumb */

.breadcrumb-item+.breadcrumb-item::before,
.breadcrumb-item.active {
    color: var(--e-global-color-white);
}

.breadcrumb-item {
    font-size: 16px;
    font-weight: 400;
    line-height: 18px;
}

.breadcrumb {
    padding: 17px 25px;
    min-width: 212px;
    transition: ease-in-out 0.6s;
    justify-content: center;
    background-color: rgb(0 0 0 / 10%);
    border-radius: 27.5px;
    border: 1px solid rgb(255 255 255 / 10%);

}

.breadcrumb-item a {
    text-decoration: none;
    color: var(--e-global-color-white);
}

.breadcrumb-item a:hover {
    color: var(--e-global-color-accent);
}


/* .breadcrumb:hover .breadcrumb-item a,
.breadcrumb:hover .breadcrumb-item.active {
    color: var(--accent--color);
} */

.breadcrumb-item+.breadcrumb-item::before {
    color: #fff;
    content: "/";
    font-family: "Font Awesome 6 Free";
    font-size: 11px;
    padding: 0 14px;
    font-weight: 600;
}

/* .breadcrumb:hover .breadcrumb-item+.breadcrumb-item::before {
    color: var(--accent--color);
} */

/* ABOUT PAGE */
.about-con2 img {
    border-radius: 30px;
}

.about-con2 .about-grid-con {
    display: grid;
    grid-template-columns: 37% 61%;
    align-items: center;
    gap: 50px;
}

.about-con2 .about-grid-con p {
    font-size: 20px;
    line-height: 32px;
}

.about-con2 h2 {
    margin-bottom: 32px;
}

.about-con2 p {
    margin-bottom: 44px;
}

/* STATISTICS SECTION */
.statistics-con {
    background-color: var(--e-global-color-very-dark-violet);
}


/* MISSION VISSION SECTION*/
.mission-vision-con .mission-box {
    background-image: url(../images/mision-vision-img1.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    padding: 64px 60px;
    border-radius: 30px;
    animation: bgMove 4s linear infinite;
    z-index: 1;

}

.mission-vision-con .vision-box {
    background-image: url(../images/mision-vision-img2.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    padding: 64px 64px;
    border-radius: 30px;
    animation: bgMove 4s linear infinite;
    z-index: 1;
}

.mission-vision-con h3 {
    margin-bottom: 20px;
    color: var(--e-global-color-white);
}

.mission-vision-con p {
    padding-right: 31%;
    font-size: 18px;
    line-height: 28px;
    color: var(--e-global-color-white);
}

.our-team-con .team-box {
    border: 1px solid rgb(255 255 255 / 15%);
    border-radius: 30px;
    background-color: var(--e-global-color-very-dark-violet);
    padding: 37px 30px;
    transition: ease-in-out 0.6s;
}

.our-team-con .team-box:hover {
    border-color: var(--e-global-color-bright-violet);
    transform: translateY(-6px);
    box-shadow: 0 12px 24px rgba(0, 161, 255, 0.1);
}

.our-team-con .team-box img {
    border-radius: 100%;
    margin-bottom: 28px;
    transition: ease-in-out 0.6s;
}

.our-team-con .team-box:hover img {
    transform: translateY(-2px);
}

.our-team-con .team-box span {
    font-size: 16px;
    line-height: 24px;
    margin-bottom: 20px;
    color: var(--e-global-color-text);
}

.our-team-con .team-box .social-icons li {
    margin: 0 9px;
    display: inline-block;
    transition: all 0.6s ease-in-out;
}

.our-team-con .team-boxn .social-icons a {
    margin-left: 0 !important;
}

.our-team-con .team-box .social-icons i {
    font-size: 18px;
    color: var(--e-global-color-white);
    transition: all 0.6s ease-in-out;
}

.our-team-con .team-box .social-icons i:hover {
    transform: translateY(-5px);
    color: var(--e-global-color-accent);
}

.our-team-con .team-box .social-icons li:first-child {
    margin-left: 0;
}

.our-team-con .team-box .social-icons li:last-child {
    margin-right: 0;
}

.our-team-con .left-glow {
    bottom: 100%;
}

/*  */
/* 404 page styling start here */
.coming-soon-con,
.error-section {
    height: 100vh;
    display: flex;
    text-align: center;
    align-items: center;
    justify-content: center;
    position: relative;
}

.error-con {
    position: relative;
    z-index: 2;
}

.error-con h2 {
    font-size: 170px;
    line-height: 165px;
    margin-bottom: 30px;
    color: var(--e-global-color-secondary);
}

.error-con h2 i {
    font-size: 130px;
    line-height: 140px;
    color: var(--e-global-color-white);
}

.error-con h4 {
    font-size: 34px;
    line-height: 34px;
    margin-bottom: 18px;
    color: var(--e-global-color-white);
}

.error-con p {
    font-size: 20px;
    line-height: 32px;
    margin-bottom: 30px;
    color: var(--e-global-color-text);
}

.error-con .primary-button a i {
    margin-left: 0;
}

/* COMING SOON PAGE */
.coming-soon-con .new-logo {
    margin-bottom: 35px;
}

.coming-soon-con h1 {
    margin-bottom: 30px;
    font-size: 85px;
    line-height: 95px;
    text-transform: uppercase;
}

.coming-soon-con h3 {
    margin-bottom: 20px;
    font-size: 34px;
    color: var(--e-global-color-secondary);
}

/* coming soon countdown timer styling */
.compaign_countdown ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.compaign_countdown ul li {
    float: left !important;
    width: auto;
    margin: 0;
    text-align: center;
    margin: 0 13px;
    min-height: 133px;
    min-width: 133px;
    background-color: var(--e-global-color-white);
    padding: 20px 16px;
    color: var(--e-global-color-purple-family);
    font-size: 22px;
    font-weight: 300;
    border-radius: 10px;
}

.compaign_countdown ul li:first-child {
    margin-left: 0;
}

.compaign_countdown ul li:last-child {
    margin-right: 0;
}

.compaign_countdown ul li span.days,
.compaign_countdown ul li span.hours,
.compaign_countdown ul li span.minutes,
.compaign_countdown ul li span.seconds {
    display: block;
    color: var(--e-global-color-accent);
    width: auto;
    font-size: 60px;
    line-height: 65px;
    border-radius: 0;
    font-weight: 600;
}

.compaign_countdown {
    margin: 0 auto;
    width: 70%;
}

.coming-soon-con {
    flex-grow: 1;
    min-height: 100vh;
}

.error-banner,
.coming-soon-con {
    flex-grow: 1;
}

/*  PROJECT PAGE STYLING */
.main-projct-con .col-lg-6.col-md-6 {
    margin-bottom: 40px;
    padding: 0 20px;
}

.main-projct-con .col-lg-6.col-md-6:nth-last-of-type(-n+2) {
    margin-bottom: 0;
}

.main-projct-con .custom-card {
    cursor: unset;
    margin: 0;
}

.main-projct-con .custom-card .card-top-contnt,
.main-projct-con .custom-card .card-content {
    opacity: 1;
}

.main-projct-con .left-glow {
    height: unset;
}

/* PRICING PAGE STYLING */
.pricing-main-con .generic-price {
    margin-bottom: 25px;
}

/* CONTACT PAGE STYLING */
.contact-info-con .contct-info-box {
    background-color: rgb(0 0 0 / 15%);
    border-radius: 30px;
    border: 1px solid rgb(255 255 255 / 15%);
    padding: 45px 40px;
    transition: ease-in-out 0.6s;
}

.contact-info-con .contct-info-box:hover {
    border: 1px solid var(--e-global-color-bright-violet);
    transform: translateY(-6px);
    box-shadow: 0 12px 24px rgba(0, 161, 255, 0.1);
}

.contact-info-con .contct-info-box h4 {
    color: var(--e-global-color-white);
    margin-bottom: 11px;
}

.contact-info-con .contct-info-box .info-content {
    margin-left: 28px;
}

.contact-info-con .contct-info-box a {
    color: var(--e-global-color-secondary);
}

.contact-info-con .contct-info-box a:hover {
    color: var(--e-global-color-white);
    text-decoration: none;
}

/*  */

.contact-form-con #contactpage span.error {
    font-size: 14px;
    line-height: 20px;
    margin-top: 10px;
    display: block;
    padding-left: 14px;
    color: var(--e-global-color-white);
    text-align: left;
}

.contact-form-con form ul li {
    float: left;
    width: 31.6%;
    margin-right: 28px;
    margin-bottom: 30px;
}

.contact-form-con form ul li:nth-child(3) {
    margin-right: 0;
}

.contact-form-con form ul li input {
    width: 100%;
    padding: 13px 19px;
    background-color: var(--e-global-color-purple-family2);
    height: 64px;
    font-size: 14px;
    font-weight: 400;
    border: none;
    color: var(--e-global-color-secondary);
    border-radius: 100px;
}

.contact-form-con form ul li input::placeholder,
.contact-form-con form ul li textarea::placeholder {
    color: var(--secondary--color);
}

.contact-form-con form ul li:last-child {
    width: 100%;
}

.contact-form-con form ul li textarea {
    height: 157px;
    padding: 20px 25px;
    background-color: var(--e-global-color-purple-family2);
    border: none;
    font-size: 14px;
    width: 100%;
    color: var(--e-global-color-secondary);
    float: left;
    /* border: 2px solid transparent; */
    border-radius: 30px;
}

.contact-form-con form ul li textarea::placeholder {
    color: var(--e-global-color-text);
}

.contact-form-con form ul li:last-child {
    width: 100%;
    margin-right: 0;
    margin-bottom: 45px;
}

.contact-form-con form ul li input:focus-visible,
.contact-form-con form ul li textarea:focus-visible {
    border: none;
    outline: none;

}

.contact-form-con form ul li input:focus,
.contact-form-con form ul li textarea:focus {
    /* background-color: var(--primary-color); */
    border: 2px solid var(--light-green-color);
    box-shadow: 0 1px 8px rgb(255 255 255 / 35%) inset;
}

/* map section */
.contact-map-con iframe {
    height: 546px;
    width: 100%;
    filter: grayscale(100%);
    -webkit-filter: grayscale(100%);
    margin-bottom: -8px;
    pointer-events: none;
}

.contact-map-con iframe:hover {
    filter: none;
}

/* .contact-help-con .white-box figure {
    height: 70px;
    line-height: 70px;
    width: 70px;
    border-radius: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 auto 20px;
} */

.contact-form-con {
    background-color: var(--e-global-color-very-dark-violet);
}

button.primary_btn {
    border: none;
}

/* PRIVACY POLICY PAGE */
.privacy-policy-content-con {
    background-color: var(--e-global-color-very-dark-violet);
}

.privacy-policy-content-con h2 {
    color: var(--e-global-color-white);
    margin-bottom: 25px;
}

.privacy-policy-content-con h4 {
    color: var(--e-global-color-white);
    margin-bottom: 18px;
}

.privacy-policy-content-con p {
    margin-bottom: 25px;
}

.animate__animated {
    --animate-duration: 1s;
    /* Faster than default 1s */
}

.animated-robot {
    /* width: 200px; */
    /* or responsive width as needed */
    animation: float 2s ease-in-out infinite;
    transition: transform 0.3s ease-in-out;
}

/* Floating up and down */
@keyframes float {
    0% {
        transform: translateY(0px);
    }

    50% {
        transform: translateY(-10px);
    }

    100% {
        transform: translateY(0px);
    }
}

.floating-bubble {
    animation: floatChat 3.5s ease-in-out infinite;
}

@keyframes floatChat {
    0% {
        transform: translate(0, 0);
    }

    25% {
        transform: translate(4px, -6px);
    }

    50% {
        transform: translate(0px, -10px);
    }

    75% {
        transform: translate(-4px, -6px);
    }

    100% {
        transform: translate(0, 0);
    }
}
/* VOLTEN LOGO */
.header-con .navbar-brand img {
    height: 48px;
    width: auto;
}

.footer-con .middle_portion .logo-content .footer-logo img {
    width: 90px;
}

/* =================================================================
   VOLTEN — ESTILO FUTURISTA
   Celeste Volten #00A1FF + cian eléctrico #00E5FF sobre azul espacial
   ================================================================= */
:root {
    --volten-blue: #00a1ff;
    --volten-cyan: #00e5ff;
    --volten-glow: rgba(0, 161, 255, 0.35);
    --volten-grid: rgba(0, 161, 255, 0.06);
}

/* Fondo continuo para toda la página: un solo azul espacial con luces fijas */
body {
    background-color: #05070d;
    background-image:
        radial-gradient(ellipse 60% 45% at 85% 10%, rgba(0, 161, 255, 0.10), transparent 70%),
        radial-gradient(ellipse 50% 40% at 10% 90%, rgba(0, 161, 255, 0.07), transparent 70%);
    background-attachment: fixed;
}

/* Las secciones son transparentes para que no haya cortes de color */
.light-violet-bg,
.logos-con,
.testimonial-con,
.build-con,
.footer-con,
.statistics-con,
.contact-form-con,
.privacy-policy-content-con,
.home_banner_outer,
.sub_banner_outer,
.our-work-con {
    background-color: transparent !important;
    background-image: none !important;
    animation: none;
}

/* Cuadrícula tech + resplandor que se desvanecen hacia los bordes */
.home_banner_outer::before,
.sub_banner_outer::before,
.our-work-con::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background-image:
        radial-gradient(ellipse 55% 60% at 50% 0%, rgba(0, 161, 255, 0.25), transparent 70%),
        linear-gradient(var(--volten-grid) 1px, transparent 1px),
        linear-gradient(90deg, var(--volten-grid) 1px, transparent 1px);
    background-size: 100% 100%, 60px 60px, 60px 60px;
    -webkit-mask-image: linear-gradient(to bottom, #000 55%, transparent 100%);
    mask-image: linear-gradient(to bottom, #000 55%, transparent 100%);
}

.our-work-con {
    z-index: 0;
}

.our-work-con::before {
    background-image:
        radial-gradient(ellipse 50% 60% at 50% 50%, rgba(0, 161, 255, 0.18), transparent 70%),
        linear-gradient(var(--volten-grid) 1px, transparent 1px),
        linear-gradient(90deg, var(--volten-grid) 1px, transparent 1px);
    -webkit-mask-image: linear-gradient(to bottom, transparent 0%, #000 25%, #000 75%, transparent 100%);
    mask-image: linear-gradient(to bottom, transparent 0%, #000 25%, #000 75%, transparent 100%);
}

.sub_banner_outer {
    position: relative;
    z-index: 0;
}

/* Palabras destacadas de los títulos en celeste Volten */
h1 span,
h2 span {
    color: var(--volten-blue);
}

/* Etiquetas superiores (h6) */
h6 {
    color: var(--volten-blue);
    text-transform: uppercase;
    letter-spacing: 2px;
    font-size: 14px;
}

h6::before {
    background: var(--volten-blue) !important;
    box-shadow: 0 0 10px var(--volten-blue);
}

/* Botones con brillo */
.primary_btn {
    background-image: linear-gradient(90deg, var(--volten-blue) 0%, var(--volten-cyan) 100%);
    box-shadow: 0 0 24px var(--volten-glow);
    color: #031020;
}

.primary_btn:hover {
    background-image: linear-gradient(90deg, var(--volten-cyan) 0%, var(--volten-blue) 100%);
    box-shadow: 0 0 40px rgba(0, 229, 255, 0.55);
    color: #031020;
    transform: translateY(-2px);
}

.primary_btn i {
    color: #031020;
}

/* Tarjetas de vidrio (glassmorphism) */
.our-services-con .services-box,
.pricing-plans-con .pricing-box {
    background: linear-gradient(160deg, rgba(0, 161, 255, 0.08), rgba(255, 255, 255, 0.02));
    border: 1px solid rgba(0, 161, 255, 0.18);
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
}

.our-services-con .services-box:hover,
.pricing-plans-con .pricing-box:hover {
    border-color: var(--volten-blue);
    box-shadow: 0 0 0 1px rgba(0, 161, 255, 0.35), 0 20px 50px rgba(0, 161, 255, 0.25);
}

/* Menú superior tipo vidrio */
.header-con .navbar {
    background-color: rgba(5, 7, 13, 0.55);
    border: 1px solid rgba(0, 161, 255, 0.15);
    -webkit-backdrop-filter: blur(14px);
    backdrop-filter: blur(14px);
}

/* Brillos laterales en celeste Volten, difuminados arriba y abajo para no cortar */
.left-glow,
.right-glow {
    pointer-events: none;
    -webkit-mask-image: linear-gradient(to bottom, transparent 0%, #000 25%, #000 75%, transparent 100%);
    mask-image: linear-gradient(to bottom, transparent 0%, #000 25%, #000 75%, transparent 100%);
}

/* Movimiento de los fondos con cuadrícula */
.home_banner_outer::before,
.sub_banner_outer::before,
.our-work-con::before {
    animation: voltenGridMove 6s linear infinite;
}

/* Resplandor celeste que se desplaza y respira sobre la cuadrícula */
.home_banner_outer::after,
.sub_banner_outer::after,
.our-work-con::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background-image: radial-gradient(closest-side, rgba(0, 161, 255, 0.22), transparent);
    background-repeat: no-repeat;
    background-size: 45% 60%;
    background-position: 15% 0%;
    animation: voltenGlowMove 10s ease-in-out infinite;
}

.our-work-con::after {
    background-image: radial-gradient(closest-side, rgba(0, 161, 255, 0.18), transparent);
}

@keyframes voltenGridMove {
    from { background-position: 0 0, 0 0, 0 0; }
    to   { background-position: 0 0, 60px 60px, 60px 60px; }
}

/* El resplandor recorre la sección de izquierda a derecha, crece y se contrae */
@keyframes voltenGlowMove {
    0%   { background-position: 15% 0%;  background-size: 45% 60%; opacity: 0.6; }
    25%  { background-position: 50% 30%; background-size: 70% 90%; opacity: 1; }
    50%  { background-position: 85% 0%;  background-size: 45% 60%; opacity: 0.6; }
    75%  { background-position: 50% 30%; background-size: 70% 90%; opacity: 1; }
    100% { background-position: 15% 0%;  background-size: 45% 60%; opacity: 0.6; }
}

/* Sin movimiento para quien lo tenga desactivado en su sistema */
@media (prefers-reduced-motion: reduce) {
    .home_banner_outer::before, .sub_banner_outer::before, .our-work-con::before,
    .home_banner_outer::after, .sub_banner_outer::after, .our-work-con::after {
        animation: none;
    }
}

/* Banner de inicio: red de puntos conectados (reemplaza la cuadrícula) */
#volten-network,
.volten-bg-canvas {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    pointer-events: none;
    -webkit-mask-image: linear-gradient(to bottom, #000 65%, transparent 100%);
    mask-image: linear-gradient(to bottom, #000 65%, transparent 100%);
}


/* Banner de inicio: piso en perspectiva (reemplaza la cuadrícula plana) */
.home_banner_outer::before {
    display: none;
}

/* Tarjeta de Pascal en el banner: logo Volten a tamaño fijo */
.best-ai-tools-box figure {
    flex-shrink: 0;
    width: 112px;
    height: 112px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 161, 255, 0.08);
    border-radius: 10px;
}

.best-ai-tools-box figure img {
    width: 100px;
    height: auto;
}

/* Cifras del banner y estadísticas: número y símbolo en una sola línea */
.statistics-box {
    white-space: nowrap;
}

/* Tarjeta de especialistas: ancho del contenido */
.home_banner_outer .banner-con .best-ai-tools-box .tool-content {
    max-width: 236px;
}

/* Texto de la tarjeta: letra un poco más grande, alineado a la izquierda */
.home_banner_outer .banner-con .best-ai-tools-box p {
    font-size: 16px;
    line-height: 22px;
    max-width: 204px;
    text-align: left;
}

/* Tarjeta de especialistas: el título rota entre profesiones con una transición suave */
.specialist-title {
    transition: opacity 0.4s ease, transform 0.4s ease;
}

.specialist-title.is-leaving {
    opacity: 0;
    transform: translateY(-8px);
}

.specialist-title.is-entering {
    opacity: 0;
    transform: translateY(8px);
    transition: none;
}

/* Franja de integraciones: ícono + nombre en blanco tenue, se iluminan al pasar el mouse */
.integration-logo {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0;
    opacity: 0.45;
    transition: opacity 0.4s ease, transform 0.4s ease;
    white-space: nowrap;
}

.integration-logo:hover {
    opacity: 1;
    transform: translateY(2px);
}

.slider-track .integration-logo img {
    height: 28px;
    width: 28px;
    opacity: 1;
}

.integration-logo span {
    font-size: 22px;
    font-weight: 600;
    color: #ffffff;
    letter-spacing: 0.2px;
}

.slider-track li {
    padding: 0 28px;
}

/* La lista es más larga que antes: desplazamiento más lento para que se alcancen a leer */
.slider-track {
    animation-duration: 40s;
}

/* Sección de comparación: Chat IA genérico vs. especialista humano vs. especialista Volten */
.compare-table-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.compare-table {
    width: 100%;
    min-width: 680px;
    border-collapse: separate;
    border-spacing: 0;
    color: var(--e-global-color-text);
}

.compare-table th,
.compare-table td {
    padding: 20px 24px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.07);
    vertical-align: middle;
}

.compare-table thead th {
    font-size: 18px;
    font-weight: 600;
    color: #ffffff;
    border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}

.compare-table tbody th {
    font-size: 17px;
    font-weight: 600;
    color: #ffffff;
    white-space: nowrap;
}

.compare-table tbody tr:last-child th,
.compare-table tbody tr:last-child td {
    border-bottom: none;
}

.compare-table .cmp-val {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 16px;
}

.compare-table .cmp-val i {
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
}

.compare-table i.yes { background: rgba(0, 161, 255, 0.18); color: var(--volten-blue); }
.compare-table i.no { background: rgba(255, 255, 255, 0.06); color: #7f93ad; }
.compare-table i.mid { background: rgba(255, 255, 255, 0.06); color: #b8c4d6; }

/* Columna Volten destacada */
.compare-table .is-volten {
    background: rgba(0, 161, 255, 0.07);
    border-left: 1px solid rgba(0, 161, 255, 0.35);
    border-right: 1px solid rgba(0, 161, 255, 0.35);
    color: #ffffff;
}

.compare-table thead .is-volten {
    color: var(--volten-blue);
    border-top: 1px solid rgba(0, 161, 255, 0.35);
    border-radius: 20px 20px 0 0;
}

.compare-table tbody tr:last-child .is-volten {
    border-bottom: 1px solid rgba(0, 161, 255, 0.35);
    border-radius: 0 0 20px 20px;
}

.compare-cta {
    margin-top: 50px;
}

@media screen and (max-width: 767px) {
    .compare-table th,
    .compare-table td {
        padding: 16px 14px;
    }
}

/* Sección Nosotros: columnas centradas y columna de texto completa */
.about-con .about-inner-con {
    align-items: center;
}

.about-con .about-inner-con h2 {
    margin-bottom: 24px;
}

.about-con .about-lead {
    max-width: 560px;
    margin-bottom: 28px;
    font-size: 18px;
    line-height: 30px;
}

.about-con .about-areas {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 40px;
}

.about-con .about-areas li {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 10px 18px;
    border: 1px solid rgba(0, 161, 255, 0.35);
    border-radius: 30px;
    background: rgba(0, 161, 255, 0.08);
    color: #ffffff;
    font-weight: 600;
}

.about-con .about-areas li i {
    color: var(--volten-blue);
}

.about-con .primary_btn {
    margin-bottom: 0;
}

@media screen and (max-width: 767px) {
    .about-con .about-areas {
        justify-content: center;
    }

    .about-con .about-lead {
        margin-left: auto;
        margin-right: auto;
    }

    .about-con .primary_btn {
        margin-bottom: 40px;
    }
}

/* Nosotros: la tarjeta de especialistas se adapta bien al achicar la ventana */
.about-con .about-inner-con {
    grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr) !important;
    gap: 40px;
}

.about-con .content-wrap {
    padding-right: 0 !important;
}

.about-con .content-wrap .img1 {
    text-align: right;
}

.about-con .content-wrap .img1 img {
    width: 100% !important;
    max-width: 459px;
}

/* Pantallas chicas: una sola columna y la tarjeta centrada bajo el texto */
@media screen and (max-width: 991px) {
    .about-con .about-inner-con {
        display: block !important;
        text-align: center;
    }

    .about-con .about-lead {
        margin-left: auto;
        margin-right: auto;
    }

    .about-con .about-areas {
        justify-content: center;
    }

    .about-con .primary_btn {
        margin-bottom: 40px;
    }

    .about-con .content-wrap {
        width: 100% !important;
        margin: 0 auto;
    }

    .about-con .content-wrap .img1 {
        text-align: center;
    }

    .about-con .content-wrap .img1 img {
        max-width: 420px;
    }
}

/* Tabla comparativa: columnas de comparación centradas */
.compare-table thead th:not(:first-child) {
    text-align: center;
}

.compare-table td .cmp-val {
    justify-content: center;
    text-align: center;
}

.compare-table .short {
    display: none;
}

/* Pantallas chicas: tabla compacta con encabezados cortos y solo íconos */
@media screen and (max-width: 767px) {
    .compare-table-wrap {
        overflow: visible;
    }

    .compare-table {
        min-width: 0;
        table-layout: fixed;
    }

    .compare-table th:first-child {
        width: 38%;
    }

    .compare-table .long {
        display: none;
    }

    .compare-table .short {
        display: inline;
    }

    .compare-table th,
    .compare-table td {
        padding: 14px 6px;
    }

    .compare-table thead th {
        font-size: 13px;
        line-height: 17px;
    }

    .compare-table tbody th {
        font-size: 14px;
        line-height: 19px;
        white-space: normal;
        padding-left: 4px;
    }

    /* Ícono arriba y descripción breve debajo */
    .compare-table td .cmp-val {
        flex-direction: column;
        gap: 6px;
    }

    .compare-table td .cmp-val > span {
        font-size: 12px;
        line-height: 15px;
    }

    .compare-table td.is-volten .cmp-val > span {
        color: #ffffff;
        font-weight: 600;
    }

    .compare-table .cmp-val i {
        width: 26px;
        height: 26px;
        font-size: 12px;
    }
}

/* Tabla comparativa solo con texto: la columna Especialista IA resalta con color y negrita */
.compare-table td .cmp-val {
    font-size: 16px;
}

.compare-table td.is-volten .cmp-val {
    color: var(--volten-blue);
    font-weight: 700;
}

@media screen and (max-width: 767px) {
    .compare-table td .cmp-val > span {
        font-size: 13px;
        line-height: 17px;
    }

    .compare-table td.is-volten .cmp-val > span {
        color: var(--volten-blue);
        font-weight: 700;
    }
}

/* Sección "Cómo funciona": 4 pasos unidos por una línea celeste */
.how-steps {
    position: relative;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 30px;
}

/* Línea que une los números */
.how-steps::before {
    content: "";
    position: absolute;
    top: 32px;
    left: 12.5%;
    right: 12.5%;
    height: 2px;
    background: linear-gradient(90deg, rgba(0, 161, 255, 0.15), var(--volten-blue), rgba(0, 161, 255, 0.15));
}

.how-step {
    position: relative;
    text-align: center;
    padding: 0 10px;
}

.how-num {
    position: relative;
    z-index: 1;
    width: 64px;
    height: 64px;
    margin: 0 auto 26px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #05070d;
    border: 2px solid var(--volten-blue);
    box-shadow: 0 0 24px rgba(0, 161, 255, 0.35);
}

.how-num span {
    font-size: 24px;
    font-weight: 700;
    color: #ffffff;
}

.how-icon {
    display: block;
    font-size: 22px;
    color: var(--volten-blue);
    margin-bottom: 14px;
}

.how-step h4 {
    color: #ffffff;
    margin-bottom: 10px;
}

.how-step p {
    font-size: 16px;
    line-height: 26px;
    max-width: 260px;
    margin: 0 auto;
}

.how-cta {
    margin-top: 60px;
}

/* Tablets: 2 x 2 */
@media screen and (max-width: 991px) {
    .how-steps {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        row-gap: 50px;
    }

    .how-steps::before {
        display: none;
    }
}

/* Celulares: una columna con la línea vertical a la izquierda */
@media screen and (max-width: 575px) {
    .how-steps {
        grid-template-columns: 1fr;
        row-gap: 34px;
    }

    .how-steps::before {
        display: block;
        top: 32px;
        bottom: 32px;
        left: 31px;
        right: auto;
        width: 2px;
        height: auto;
        background: linear-gradient(180deg, var(--volten-blue), rgba(0, 161, 255, 0.15));
    }

    .how-step {
        display: grid;
        grid-template-columns: 64px 1fr;
        column-gap: 18px;
        text-align: left;
        padding: 0;
    }

    .how-num {
        grid-row: 1 / span 3;
        margin: 0;
    }

    .how-icon {
        display: none;
    }

    .how-step h4 {
        margin-top: 8px;
    }

    .how-step p {
        max-width: none;
        margin: 0;
    }
}

/* Sección "El motor": datos que entran, motor que razona, conclusiones verificadas que salen */
.engine-panel {
    position: relative;
    height: 460px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 40px;
    overflow: hidden;
    background: radial-gradient(ellipse 45% 55% at 50% 50%, rgba(0, 161, 255, 0.16), transparent 70%), rgba(255, 255, 255, 0.015);
}

/* Motor central */
.engine-core {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 270px;
    height: 270px;
    border: 3px solid var(--volten-blue);
    border-radius: 38px;
    background: #03060c;
    box-shadow: 0 0 60px rgba(0, 161, 255, 0.35);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    z-index: 2;
}

.engine-core h3 {
    position: relative;
    margin: 0 0 10px;
    font-size: 30px;
    line-height: 34px;
    font-weight: 700;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: #ffffff;
}

.engine-core p {
    position: relative;
    margin: 0;
    font-size: 13px;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    font-weight: 700;
    color: var(--volten-blue);
}

/* Círculos punteados que giran dentro del motor */
.engine-ring {
    position: absolute;
    border: 2px dashed rgba(0, 161, 255, 0.35);
    border-radius: 50%;
    animation: engineSpin 14s linear infinite;
}

.engine-ring.r1 { width: 170px; height: 170px; top: -70px; left: -70px; }
.engine-ring.r2 { width: 150px; height: 150px; bottom: -60px; left: 30px; animation-direction: reverse; animation-duration: 10s; }

@keyframes engineSpin { to { transform: rotate(360deg); } }

/* Indicador de "pensando" */
.engine-dots {
    position: relative;
    display: flex;
    gap: 7px;
    padding: 14px 20px;
    margin-bottom: 22px;
    border-radius: 16px;
    background: rgba(0, 161, 255, 0.12);
}

.engine-dots i {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: var(--volten-blue);
    animation: engineDot 1.2s ease-in-out infinite;
}

.engine-dots i:nth-child(2) { animation-delay: 0.2s; }
.engine-dots i:nth-child(3) { animation-delay: 0.4s; }

@keyframes engineDot {
    0%, 100% { opacity: 0.3; transform: translateY(0); }
    50% { opacity: 1; transform: translateY(-4px); }
}

/* Datos que entran desde la izquierda */
.engine-in {
    position: absolute;
    left: 0;
    width: 56px;
    height: 56px;
    margin-top: -28px;
    border: 1px solid rgba(0, 161, 255, 0.4);
    border-radius: 16px;
    background: rgba(0, 161, 255, 0.08);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--volten-blue);
    font-size: 22px;
    opacity: 0;
    animation: engineIn 6s linear infinite;
}

@keyframes engineIn {
    0% { left: 2%; opacity: 0; }
    15% { opacity: 1; }
    70% { opacity: 1; }
    100% { left: 36%; opacity: 0; }
}

/* Conclusiones verificadas que salen hacia la derecha */
.engine-out {
    position: absolute;
    left: 60%;
    display: flex;
    align-items: center;
    gap: 14px;
    width: 300px;
    margin-top: -36px;
    padding: 16px 20px;
    border: 1px solid rgba(0, 161, 255, 0.45);
    border-radius: 18px;
    background: rgba(5, 12, 24, 0.92);
    opacity: 0;
    animation: engineOut 6s ease-out infinite;
}

.engine-out i {
    font-size: 22px;
    color: var(--volten-blue);
}

.engine-out strong {
    display: block;
    font-size: 15px;
    line-height: 20px;
    color: #ffffff;
}

.engine-out span {
    display: block;
    margin-top: 4px;
    font-size: 11px;
    letter-spacing: 1px;
    text-transform: uppercase;
    font-weight: 700;
    color: var(--volten-blue);
}

@keyframes engineOut {
    0% { left: 55%; opacity: 0; }
    15% { left: 62%; opacity: 1; }
    75% { left: 68%; opacity: 1; }
    100% { left: 74%; opacity: 0; }
}

@media screen and (max-width: 991px) {
    .engine-panel { height: 420px; }
    .engine-core { width: 220px; height: 220px; }
    .engine-core h3 { font-size: 24px; line-height: 28px; }
    .engine-out { width: 240px; padding: 12px 14px; }
    .engine-out strong { font-size: 13px; line-height: 17px; }
    @keyframes engineOut {
        0% { left: 52%; opacity: 0; }
        15% { left: 58%; opacity: 1; }
        75% { left: 62%; opacity: 1; }
        100% { left: 66%; opacity: 0; }
    }
}

/* Celulares: datos entran por arriba y las conclusiones salen por abajo */
@media screen and (max-width: 575px) {
    .engine-panel { height: 560px; border-radius: 28px; }
    .engine-core { width: 190px; height: 190px; border-radius: 30px; }
    .engine-core h3 { font-size: 20px; line-height: 24px; letter-spacing: 2px; }
    .engine-core p { font-size: 10px; }
    .engine-dots { margin-bottom: 14px; padding: 10px 14px; }
    .engine-in { top: 0 !important; width: 46px; height: 46px; font-size: 18px; animation-name: engineInMobile; }
    .engine-in:nth-child(1) { left: 12%; }
    .engine-in:nth-child(2) { left: 34%; }
    .engine-in:nth-child(3) { left: 56%; }
    .engine-in:nth-child(4) { left: 78%; }
    .engine-out { left: 50% !important; top: auto !important; bottom: 0; width: 86%; margin: 0 0 0 -43%; animation-name: engineOutMobile; animation-timing-function: ease-in-out; }
    @keyframes engineInMobile {
        0% { transform: translateY(20px); opacity: 0; }
        20%, 70% { opacity: 1; }
        100% { transform: translateY(150px); opacity: 0; }
    }
    /* Una conclusión a la vez (cada tarjeta ocupa un tercio del ciclo) */
    @keyframes engineOutMobile {
        0% { transform: translateY(-50px); opacity: 0; }
        6%, 28% { transform: translateY(-24px); opacity: 1; }
        33%, 100% { transform: translateY(-10px); opacity: 0; }
    }
}

@media (prefers-reduced-motion: reduce) {
    .engine-ring, .engine-dots i, .engine-in, .engine-out { animation: none; }
    .engine-in { opacity: 0.8; left: 12%; }
    .engine-out:first-of-type { opacity: 1; left: 64%; }
}

/* ===== Orden visual: un mismo ancho de contenido para todas las secciones centrales ===== */
.compare-table-wrap,
.engine-panel,
.how-steps,
.faq-con .faq {
    max-width: 1040px;
    margin-left: auto;
    margin-right: auto;
}

.engine-panel {
    height: 400px;
}

/* Cierre: título del mismo tamaño que el resto de los títulos y androide más sobrio */
.build-con .build_content h1 {
    font-size: clamp(36px, 4.3vw, 62px);
    line-height: 1.2;
    margin-bottom: 40px;
}

.build-con .build_wrapper .build-image img {
    max-width: 360px;
    filter: sepia(1) saturate(3.5) hue-rotate(165deg) brightness(0.55) drop-shadow(0 0 40px rgba(0, 161, 255, 0.35));
}

.build-con .build_content {
    padding-top: 0;
}

.build-con .row {
    align-items: center;
}

/* El motor: todo en una sola línea horizontal, a la altura del centro del motor */
.engine-panel {
    height: 360px;
}

.engine-in {
    top: 50% !important;
}

.engine-out {
    top: 50% !important;
}

/* Las conclusiones salen una a la vez (cada tarjeta ocupa un tercio del ciclo) */
@keyframes engineOut {
    0% { left: 60%; opacity: 0; }
    5% { left: 64%; opacity: 1; }
    28% { left: 67%; opacity: 1; }
    33% { left: 71%; opacity: 0; }
    100% { left: 71%; opacity: 0; }
}

.engine-out {
    width: 270px;
    padding: 14px 18px;
}

.engine-out strong {
    font-size: 14px;
    line-height: 18px;
}

.engine-out span {
    font-size: 10px;
}

@media screen and (max-width: 991px) {
    @keyframes engineOut {
        0% { left: 55%; opacity: 0; }
        5% { left: 59%; opacity: 1; }
        28% { left: 61%; opacity: 1; }
        33% { left: 64%; opacity: 0; }
        100% { left: 64%; opacity: 0; }
    }
}

/* Celulares: los datos y las conclusiones vuelven al flujo vertical */
@media screen and (max-width: 575px) {
    .engine-panel { height: 560px; }
    .engine-in { top: 0 !important; }
    .engine-out { top: auto !important; }
}

/* ===== El motor (versión final, como referencia AvanzaSmart) =====
   Motor grande al centro; en una sola línea entran 3 datos (flujo continuo)
   y salen 3 conclusiones, una a la vez, hasta perderse por el borde derecho. */
@media screen and (min-width: 576px) {
    .engine-panel { height: 560px; }

    .engine-core { width: 380px; height: 380px; border-radius: 44px; }
    .engine-core h3 { font-size: 38px; line-height: 44px; letter-spacing: 4px; }
    .engine-core p { font-size: 14px; }
    .engine-dots { padding: 16px 24px; margin-bottom: 28px; }
    .engine-dots i { width: 11px; height: 11px; }
    .engine-ring.r1 { width: 220px; height: 220px; top: -90px; left: -90px; }
    .engine-ring.r2 { width: 190px; height: 190px; bottom: -70px; left: 50px; }

    .engine-in.lane1, .engine-in.lane2, .engine-in.lane3,
    .engine-out.lane1, .engine-out.lane2, .engine-out.lane3 { top: 50% !important; }

    .engine-in {
        width: 64px;
        height: 64px;
        margin-top: -32px;
        border-radius: 18px;
        font-size: 24px;
        animation: engineFlowIn 6s linear infinite both;
    }

    .engine-out {
        width: 330px;
        margin-top: -38px;
        padding: 18px 22px;
        gap: 16px;
        animation: engineFlowOut 6s linear infinite both;
    }

    .engine-out strong { font-size: 16px; line-height: 20px; }
    .engine-out span { font-size: 11px; }
    .engine-out i { font-size: 22px; }
}

/* Datos: avanzan desde el borde izquierdo hasta el motor */
@keyframes engineFlowIn {
    0% { left: 0; opacity: 0; }
    12% { opacity: 1; }
    85% { opacity: 1; }
    100% { left: calc(50% - 250px); opacity: 0; }
}

/* Conclusiones: nacen del motor y salen por el borde derecho (una a la vez) */
@keyframes engineFlowOut {
    0% { left: calc(50% + 120px); opacity: 0; }
    5% { left: calc(50% + 200px); opacity: 1; }
    33% { left: 100%; opacity: 1; }
    34%, 100% { left: 100%; opacity: 0; }
}

@media screen and (min-width: 576px) and (max-width: 991px) {
    .engine-panel { height: 460px; }
    .engine-core { width: 290px; height: 290px; }
    .engine-core h3 { font-size: 28px; line-height: 34px; }
    .engine-in { width: 50px; height: 50px; margin-top: -25px; font-size: 19px; }
    .engine-out { width: 250px; padding: 12px 16px; }
    .engine-out strong { font-size: 13px; line-height: 17px; }
    @keyframes engineFlowIn {
        0% { left: 0; opacity: 0; }
        12% { opacity: 1; }
        85% { opacity: 1; }
        100% { left: calc(50% - 195px); opacity: 0; }
    }
    @keyframes engineFlowOut {
        0% { left: calc(50% + 90px); opacity: 0; }
        5% { left: calc(50% + 155px); opacity: 1; }
        33% { left: 100%; opacity: 1; }
        34%, 100% { left: 100%; opacity: 0; }
    }
}

/* Celulares: datos arriba en fila y conclusiones abajo, una a la vez */
@media screen and (max-width: 575px) {
    .engine-in.lane1, .engine-in.lane2, .engine-in.lane3 { top: 0 !important; }
    .engine-in.lane1 { left: 22%; }
    .engine-in.lane2 { left: 45%; }
    .engine-in.lane3 { left: 68%; }
    .engine-out.lane1, .engine-out.lane2, .engine-out.lane3 { top: auto !important; }
    .engine-out { width: 86%; margin: 0 0 0 -43%; animation-name: engineOutMobile; }
}

/* El motor: 3 carriles. Entran 3 datos y salen 3 conclusiones apiladas,
   siempre dentro del alto del motor. Textos en tipo oración. */
@media screen and (min-width: 576px) {
    .engine-in.lane1, .engine-out.lane1 { top: calc(50% - 100px) !important; }
    .engine-in.lane2, .engine-out.lane2 { top: 50% !important; }
    .engine-in.lane3, .engine-out.lane3 { top: calc(50% + 100px) !important; }

    .engine-in {
        width: 56px;
        height: 56px;
        margin-top: -28px;
        font-size: 21px;
    }

    .engine-out {
        width: 280px;
        margin-top: -34px;
        padding: 14px 18px;
        animation: engineStackOut 6s ease-out infinite both;
    }

    .engine-out strong { font-size: 15px; line-height: 19px; }
}

@keyframes engineStackOut {
    0% { left: calc(50% + 150px); opacity: 0; }
    12% { left: calc(50% + 205px); opacity: 1; }
    82% { left: calc(50% + 220px); opacity: 1; }
    100% { left: calc(50% + 240px); opacity: 0; }
}

@media screen and (min-width: 576px) and (max-width: 991px) {
    .engine-in.lane1, .engine-out.lane1 { top: calc(50% - 80px) !important; }
    .engine-in.lane3, .engine-out.lane3 { top: calc(50% + 80px) !important; }
    .engine-in { width: 44px; height: 44px; margin-top: -22px; font-size: 17px; }
    .engine-out { width: 200px; margin-top: -28px; padding: 10px 14px; }
    .engine-out strong { font-size: 12px; line-height: 16px; }
    @keyframes engineStackOut {
        0% { left: calc(50% + 110px); opacity: 0; }
        12% { left: calc(50% + 160px); opacity: 1; }
        82% { left: calc(50% + 168px); opacity: 1; }
        100% { left: calc(50% + 185px); opacity: 0; }
    }
}

/* Tipo oración: sin mayúsculas forzadas */
.engine-core h3,
.engine-core p,
.engine-out span {
    text-transform: none;
    letter-spacing: 0.3px;
}

.engine-out span {
    font-size: 12px !important;
    font-weight: 600;
}

/* El motor: conclusiones más lentas (ciclo de 12 s) y sin ícono de check */
@media screen and (min-width: 576px) {
    .engine-out {
        width: 260px;
        padding: 14px 20px;
        animation: engineStackOut 12s ease-out infinite both;
    }

    .engine-out strong { font-size: 15px; line-height: 20px; }
}

@keyframes engineStackOut {
    0% { left: calc(50% + 150px); opacity: 0; }
    8% { left: calc(50% + 205px); opacity: 1; }
    88% { left: calc(50% + 215px); opacity: 1; }
    100% { left: calc(50% + 235px); opacity: 0; }
}

@media screen and (max-width: 575px) {
    .engine-out { animation-duration: 12s; }
}

/* Datos creados por el script: la animación la controla JavaScript */
.engine-panel .engine-in-live {
    animation: none !important;
    opacity: 0;
}

@media screen and (min-width: 576px) {
    .engine-panel .engine-in-live { left: 0; }
}

@media screen and (max-width: 575px) {
    .engine-panel .engine-in-live { top: 0; }
}

/* ===== El motor según el boceto de referencia =====
   Motor algo a la izquierda; 4 datos entran por la izquierda;
   3 tarjetas de largos distintos salen desde detrás del motor hacia la derecha. */
@media screen and (min-width: 576px) {
    .engine-core { left: 42%; }
    .engine-dots { background: transparent; padding: 0; margin-bottom: 22px; }
    .engine-core h3 { font-size: 36px; line-height: 42px; }
    .engine-core p { font-size: 14px; color: #b8c4d6; font-weight: 500; }

    .engine-out {
        z-index: 1;
        width: auto !important;
        left: calc(42% + 150px) !important;
        margin-top: -38px;
        min-height: 76px;
        padding: 14px 24px 14px 64px;
        border-radius: 16px;
        animation: engineSlideOut 12s ease-in-out infinite both;
    }

    .engine-out.lane1 { top: calc(50% - 108px) !important; right: -30px; left: calc(42% + 200px) !important; }
    .engine-out.lane2 { top: 50% !important; right: 14%; }
    .engine-out.lane3 { top: calc(50% + 108px) !important; right: 6%; }
}

/* Las tarjetas se deslizan desde detrás del motor, se quedan y se retiran */
@keyframes engineSlideOut {
    0% { transform: translateX(-140px); opacity: 0; }
    8% { transform: translateX(0); opacity: 1; }
    88% { transform: translateX(0); opacity: 1; }
    100% { transform: translateX(-140px); opacity: 0; }
}

@media screen and (min-width: 576px) and (max-width: 991px) {
    .engine-core h3 { font-size: 26px; line-height: 32px; }
    .engine-core p { font-size: 12px; padding: 0 14px; }
    .engine-out { left: calc(42% + 115px) !important; padding: 10px 14px 10px 44px; min-height: 60px; margin-top: -30px; }
    .engine-out.lane1 { top: calc(50% - 84px) !important; left: calc(42% + 150px) !important; }
    .engine-out.lane3 { top: calc(50% + 84px) !important; }
}

/* Tarjetas de salida: salen desde detrás del motor y se desplazan lentamente hacia la derecha */
@keyframes engineSlideOut {
    0% { transform: translateX(-120px); opacity: 0; }
    10% { transform: translateX(-50px); opacity: 1; }
    85% { transform: translateX(30px); opacity: 1; }
    100% { transform: translateX(60px); opacity: 0; }
}

/* Tarjetas de salida: 2 líneas en total, letra más chica y más anchas */
.engine-out strong,
.engine-out span {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

@media screen and (min-width: 576px) {
    .engine-out { min-height: 0; padding-top: 12px; padding-bottom: 12px; }
    .engine-out strong { font-size: 13px !important; line-height: 17px !important; }
    .engine-out span { font-size: 11px !important; margin-top: 2px; }
    .engine-out.lane2 { right: 5%; }
    .engine-out.lane3 { right: 1%; }
}

/* El motor según el boceto: título en mayúsculas, tarjetas de 80 px de alto */
.engine-core h3 {
    text-transform: uppercase;
    letter-spacing: 2px;
}

.engine-panel .engine-in-live {
    margin-top: -26px;
}

@media screen and (min-width: 576px) {
    .engine-panel .engine-in-live { width: 52px; height: 52px; font-size: 20px; }
    .engine-out { min-height: 72px; margin-top: -36px; display: flex; align-items: center; }
}

/* La tarjeta de arriba no sale desde detrás del motor: margen interior normal */
@media screen and (min-width: 576px) {
    .engine-out.lane1 { padding-left: 24px; }
}

/* =====================================================================
   "El motor" en vertical
   Los datos entran por arriba y bajan hasta esconderse tras el Cerebro;
   las conclusiones salen por su borde inferior y bajan hasta el borde del panel.
   ===================================================================== */
.vpanel {
    position: relative;
    max-width: 1040px;
    height: 720px;
    margin: 0 auto;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 48px;
    background: radial-gradient(ellipse 45% 40% at 50% 47%, rgba(0, 161, 255, 0.12), transparent 70%), #0a0d14;
}

/* Cerebro IA Volten */
.vcore {
    position: absolute;
    z-index: 2;
    top: 240px;
    left: 50%;
    width: 205px;
    height: 205px;
    margin-left: -102.5px;
    padding: 18px;
    border: 3px solid var(--volten-blue);
    border-radius: 32px;
    background: #000;
    box-shadow: 0 0 60px rgba(0, 161, 255, 0.2);
    display: flex;
    align-items: center;
    justify-content: center;
}

.vrings {
    position: absolute;
    inset: 0;
    overflow: hidden;
    border-radius: 29px;
    opacity: 0.3;
}

.vring {
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px dashed var(--volten-blue);
    border-radius: 50%;
    animation: vspin 16s linear infinite;
}

.vring i { position: absolute; background: rgba(0, 161, 255, 0.5); }
.vring i.h { width: 100%; height: 1px; }
.vring i.v { width: 1px; height: 100%; }
.vring i.d1 { width: 100%; height: 1px; transform: rotate(45deg); }
.vring i.d2 { width: 100%; height: 1px; transform: rotate(-45deg); }
.vring b { width: 33%; height: 33%; border-radius: 50%; background: rgba(0, 161, 255, 0.25); }

.vring.r1 { width: 96px; height: 96px; top: -32px; left: -32px; }
.vring.r2 { width: 64px; height: 64px; bottom: -16px; right: -16px; animation-direction: reverse; animation-duration: 12s; }
.vring.r3 { width: 80px; height: 80px; top: 64px; left: 128px; animation-duration: 20s; }

@keyframes vspin { to { transform: rotate(360deg); } }

.vcore-content { position: relative; z-index: 1; text-align: center; }

.vdots {
    display: inline-flex;
    gap: 4px;
    padding: 12px;
    margin-bottom: 12px;
    border-radius: 12px;
    background: rgba(0, 161, 255, 0.1);
}

.vdots span {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--volten-blue);
    animation: vpulse 1.6s ease-in-out infinite;
}

.vdots span:nth-child(2) { animation-delay: 0.2s; }
.vdots span:nth-child(3) { animation-delay: 0.4s; }

@keyframes vpulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.35; } }

.vcore h4 {
    margin: 0;
    font-size: 14px;
    line-height: 19px;
    font-weight: 700;
    letter-spacing: 2.4px;
    text-transform: uppercase;
    color: #ffffff;
}

.vcore p {
    margin: 6px 0 0;
    font-size: 9px;
    line-height: 12px;
    font-weight: 600;
    color: var(--volten-blue);
    animation: vpulse 2s ease-in-out infinite;
}

/* Datos que entran: 3 columnas sobre el Cerebro; bajan desde el borde superior */
.vinputs {
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    right: 0;
    height: 240px;
}

.vin {
    position: absolute;
    top: -44px;
    left: calc(50% + var(--y, 0px));
    margin-left: -20px;
    padding: 9.6px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 10px;
    background: #121722;
    color: var(--volten-blue);
    font-size: 17.6px;
    line-height: 1;
    opacity: 0;
    animation: vinDown var(--t, 6s) linear infinite;
    animation-delay: var(--d, 0s);
}

.vin i {
    display: block;
    width: 19.2px;
    text-align: center;
    animation: vblink 1.97s ease-in-out infinite;
    animation-delay: calc(var(--d, 0s) * -1);
}

/* El viaje ocupa la mitad del ciclo; el resto el ícono queda escondido tras el Cerebro */
@keyframes vinDown {
    0% { top: -44px; opacity: 0; }
    3% { opacity: 1; }
    49% { top: 100%; opacity: 1; }
    100% { top: 100%; opacity: 1; }
}

@keyframes vblink {
    0%, 100% { opacity: 1; text-shadow: 0 0 10px rgba(0, 161, 255, 0.9); }
    50% { opacity: 0.25; text-shadow: none; }
}

/* Conclusiones: salen por el borde inferior del Cerebro y bajan hasta el borde del panel */
.voutputs {
    position: absolute;
    z-index: 1;
    top: 445px;
    left: 0;
    right: 0;
    bottom: 0;
    overflow: hidden;
}

.vout {
    position: absolute;
    top: -50px;
    left: 50%;
    width: 270px;
    max-width: calc(100% - 32px);
    transform: translateX(-50%);
    padding: 7px 14px;
    border: 1px solid rgba(0, 161, 255, 0.35);
    border-radius: 12px;
    background: #121722;
    box-shadow: 0 0 20px rgba(0, 161, 255, 0.08);
    text-align: center;
    animation: voutDown 15.9s linear infinite both;
    animation-delay: var(--d, 0s);
}

.vout p {
    margin: 0 0 1px;
    font-size: 11px;
    line-height: 15px;
    color: #ffffff;
}

.vout span {
    display: block;
    font-size: 9px;
    line-height: 12px;
    font-weight: 700;
    color: var(--volten-blue);
}

@keyframes voutDown {
    0% { top: -50px; }
    27% { top: 100%; }
    100% { top: 100%; }
}

@media screen and (max-width: 575px) {
    .vpanel { border-radius: 32px; }
}

@media (prefers-reduced-motion: reduce) {
    .vin, .vin i, .vout, .vring, .vdots span, .vcore p { animation: none; }
    .vin:nth-child(-n+3) { opacity: 1; top: 150px; }
    .vout:first-child { top: 60px; }
}

/* Panel vertical: más angosto, proporcionado al flujo */
.vpanel {
    max-width: 560px;
}

/* Panel cuadrado (560 × 560): Cerebro al centro y misma velocidad de íconos y tarjetas */
.vpanel {
    max-width: 560px;
    height: 560px;
}

.vcore { top: 177px; }
.vinputs { height: 177px; }
.voutputs { top: 382px; }

/* Recorridos más cortos: se ajusta la proporción del ciclo para mantener la velocidad */
@keyframes vinDown {
    0% { top: -44px; opacity: 0; }
    3% { opacity: 1; }
    38% { top: 100%; opacity: 1; }
    100% { top: 100%; opacity: 1; }
}

@keyframes voutDown {
    0% { top: -50px; }
    19% { top: 100%; }
    100% { top: 100%; }
}

/* Tarjetas más juntas (una cada 1,2 s ≈ 90 px), misma velocidad */
.vout {
    animation-duration: 7.2s;
}

@keyframes voutDown {
    0% { top: -50px; }
    41.5% { top: 100%; }
    100% { top: 100%; }
}

/* =====================================================================
   "El motor": visualización orbital (partículas en anillos inclinados)
   ===================================================================== */
.vorbit {
    max-width: 1040px;
    margin: 0 auto;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 24px;
    background: #04080f;
    overflow: hidden;
    font-family: "SFMono-Regular", Menlo, Consolas, monospace;
}

.vorbit-bar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    padding: 18px 28px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    font-size: 13px;
    letter-spacing: 3px;
    text-transform: uppercase;
}

.vorbit-status { display: inline-flex; align-items: center; gap: 12px; color: var(--volten-blue); }

.vorbit-status i {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: var(--volten-blue);
    box-shadow: 0 0 10px var(--volten-blue);
    animation: vpulse 1.6s ease-in-out infinite;
}

.vorbit-status.is-paused { color: #7f93ad; }
.vorbit-status.is-paused i { background: #7f93ad; box-shadow: none; animation: none; }

.vorbit-name { color: #7f93ad; }

.vorbit-stage {
    position: relative;
    height: 520px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    background: radial-gradient(ellipse 50% 45% at 50% 45%, rgba(0, 161, 255, 0.08), transparent 70%);
}

.vorbit-stage canvas {
    position: absolute;
    inset: 0 0 110px 0;
    width: 100%;
    height: calc(100% - 110px);
}

.vorbit-controls {
    position: absolute;
    left: 50%;
    bottom: 128px;
    transform: translateX(-50%);
    display: flex;
    gap: 8px;
}

.vorbit-controls button {
    padding: 10px 22px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 6px;
    background: rgba(8, 14, 24, 0.9);
    color: #b8c4d6;
    font-family: inherit;
    font-size: 13px;
    letter-spacing: 2px;
    text-transform: uppercase;
    cursor: pointer;
    transition: border-color 0.3s, color 0.3s;
}

.vorbit-controls button:hover { border-color: var(--volten-blue); color: #ffffff; }

.vorbit-clock {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 86px;
    text-align: center;
    font-size: 16px;
    letter-spacing: 2px;
    color: var(--volten-blue);
}

.vorbit-tape {
    position: absolute;
    left: 8%;
    right: 8%;
    bottom: 42px;
    height: 34px;
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 15%, #000 85%, transparent);
    mask-image: linear-gradient(90deg, transparent, #000 15%, #000 85%, transparent);
}

.vorbit-tape-ticks {
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(90deg, rgba(255, 255, 255, 0.28) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.1) 1px, transparent 1px);
    background-size: 120px 100%, 24px 100%;
}

.vorbit-tape-mark {
    position: absolute;
    left: 50%;
    top: -4px;
    bottom: -4px;
    width: 2px;
    margin-left: -1px;
    background: var(--volten-blue);
    box-shadow: 0 0 8px var(--volten-blue);
}

.vorbit-hint {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 12px;
    margin: 0;
    text-align: center;
    font-size: 11px;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #5d6d84;
}

.vorbit-caption {
    margin: 0;
    padding: 24px 28px 28px;
    font-family: "Urbanist", sans-serif;
    font-size: 18px;
    line-height: 30px;
    color: #b8c4d6;
}

@media screen and (max-width: 767px) {
    .vorbit-bar { padding: 14px 18px; font-size: 10px; letter-spacing: 2px; }
    .vorbit-stage { height: 420px; }
    .vorbit-controls button { padding: 8px 14px; font-size: 11px; }
    .vorbit-hint { font-size: 9px; letter-spacing: 1px; padding: 0 12px; }
    .vorbit-caption { font-size: 15px; line-height: 25px; padding: 18px; }
}

/* Motor orbital: interacción */
.vorbit-stage canvas { cursor: crosshair; }

.vorbit-controls { flex-wrap: wrap; justify-content: center; width: max-content; max-width: 94%; }

.vorbit-controls button.is-active {
    border-color: var(--volten-blue);
    color: var(--volten-blue);
    background: rgba(0, 161, 255, 0.1);
}

.vorbit-tape { cursor: ew-resize; touch-action: none; }

.vorbit-tape-markers { position: absolute; inset: 0; pointer-events: none; }

.vorbit-tape-markers i {
    position: absolute;
    top: 50%;
    width: 11px;
    height: 11px;
    margin: -5.5px 0 0 -5.5px;
    background: #ffffff;
    box-shadow: 0 0 10px var(--volten-blue);
    transform: rotate(45deg);
}

@media screen and (max-width: 767px) {
    .vorbit-controls { bottom: 120px; gap: 6px; }
    .vorbit-controls button { padding: 7px 10px; font-size: 10px; letter-spacing: 1px; }
}

/* =====================================================================
   "Arquitectura": capas de vidrio isométricas que se apilan
   ===================================================================== */
.vstack {
    position: relative;
    max-width: 1040px;
    margin: 0 auto;
    padding: 34px 0 34px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 40px;
    background: radial-gradient(ellipse 55% 50% at 50% 45%, rgba(0, 161, 255, 0.1), transparent 70%), #070b13;
    overflow: hidden;
}

.vstack-progress {
    width: 160px;
    height: 6px;
    margin: 0 auto;
    border-radius: 3px;
    background: rgba(255, 255, 255, 0.12);
    overflow: hidden;
}

.vstack-progress span {
    display: block;
    height: 100%;
    width: 0;
    border-radius: 3px;
    background: var(--volten-blue);
    transition: width 0.6s ease;
}

.vstack-stage {
    position: relative;
    height: 480px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.vstack-scene {
    position: relative;
    width: 300px;
    height: 300px;
    margin-top: 90px;
    transform-style: preserve-3d;
    transform: rotateX(58deg) rotateZ(45deg);
}

/* Placas */
.vplate {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(170, 215, 255, 0.45);
    border-radius: 26px;
    background: linear-gradient(135deg, rgba(120, 190, 255, 0.22), rgba(0, 161, 255, 0.06) 55%, rgba(0, 40, 80, 0.25));
    box-shadow: inset 0 0 24px rgba(0, 161, 255, 0.18), 0 0 28px rgba(0, 161, 255, 0.12);
    opacity: 0;
    transform: translateZ(calc(var(--i) * 30px + 160px));
    transition: transform 0.9s cubic-bezier(0.2, 0.8, 0.2, 1), opacity 0.6s ease, background 0.6s ease;
}

.vplate span {
    transform: rotate(-45deg);
    font-size: 17px;
    font-weight: 600;
    letter-spacing: 0.5px;
    white-space: nowrap;
    color: #ffffff;
    transition: filter 0.6s ease, opacity 0.6s ease;
}

.vplate.is-on {
    opacity: 1;
    transform: translateZ(calc(var(--i) * 30px));
}

.vplate.is-under span {
    filter: blur(3px);
    opacity: 0.45;
}

/* Módulos (especialistas) sobre la capa 4 */
.vtiles {
    position: absolute;
    inset: 22px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    opacity: 0;
    transform: translateZ(calc(var(--i) * 30px + 200px));
    transform-style: preserve-3d;
    transition: transform 0.9s cubic-bezier(0.2, 0.8, 0.2, 1) 0.15s, opacity 0.6s ease 0.15s;
}

.vtiles.is-on {
    opacity: 1;
    transform: translateZ(calc(var(--i) * 30px + 16px));
}

.vtile {
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(190, 225, 255, 0.6);
    border-radius: 14px;
    background: linear-gradient(135deg, rgba(160, 210, 255, 0.3), rgba(0, 161, 255, 0.12));
    box-shadow: 0 0 18px rgba(0, 161, 255, 0.25);
    color: #ffffff;
    font-size: 13px;
    font-weight: 600;
    text-align: center;
}

.vtile:nth-child(odd) { transform: rotate(0deg); }

.vtiles .vtile { writing-mode: horizontal-tb; }

.vtiles .vtile { transform: rotate(-45deg) scale(0.86); }

.vtiles.is-under .vtile { filter: blur(2px); opacity: 0.5; }

/* Capa de seguridad: vidrio esmerilado que cubre los módulos */
.vplate-cover {
    background: linear-gradient(135deg, rgba(190, 225, 255, 0.32), rgba(120, 190, 255, 0.16));
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
}

/* Cierre: bloque de marca */
.vplate-brand {
    background: linear-gradient(135deg, rgba(220, 240, 255, 0.85), rgba(150, 205, 255, 0.55));
    border-color: rgba(220, 240, 255, 0.9);
    box-shadow: 0 0 60px rgba(0, 161, 255, 0.45);
}

.vplate-brand span {
    font-size: 40px;
    font-weight: 800;
    letter-spacing: 8px;
    color: #0a2a4a;
}

.vplate-brand.is-on { transform: translateZ(calc(var(--i) * 30px + 4px)); }

/* Explicación con flechas */
.vstack-nav {
    display: flex;
    align-items: stretch;
    justify-content: center;
    gap: 16px;
    padding: 0 24px;
}

.vstack-caption {
    flex: 1;
    max-width: 680px;
    min-height: 120px;
    padding: 22px 30px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 26px;
    background: rgba(18, 26, 40, 0.85);
}

.vstack-caption h5 {
    margin: 0 0 8px;
    font-size: 17px;
    color: var(--volten-blue);
}

.vstack-caption p {
    margin: 0;
    font-size: 17px;
    line-height: 27px;
    color: #d5e2f0;
}

.vstack-arrow {
    align-self: center;
    width: 52px;
    height: 52px;
    flex-shrink: 0;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 50%;
    background: rgba(18, 26, 40, 0.85);
    color: #ffffff;
    cursor: pointer;
    transition: border-color 0.3s, background 0.3s;
}

.vstack-arrow:hover { border-color: var(--volten-blue); background: rgba(0, 161, 255, 0.15); }

.vstack-arrow[hidden] { display: block !important; visibility: hidden; }

@media screen and (max-width: 767px) {
    .vstack { border-radius: 28px; }
    .vstack-stage { height: 360px; }
    .vstack-scene { transform: scale(0.72) rotateX(58deg) rotateZ(45deg); margin-top: 60px; }
    .vstack-nav { gap: 8px; padding: 0 12px; }
    .vstack-caption { padding: 16px 18px; }
    .vstack-caption p { font-size: 15px; line-height: 23px; }
    .vstack-arrow { width: 40px; height: 40px; }
}

@media (prefers-reduced-motion: reduce) {
    .vplate, .vtiles { transition: none; }
}

/* Placas más grandes y módulos alineados con la placa (solo el texto va en diagonal) */
.vstack-stage { height: 540px; }
.vstack-scene { width: 380px; height: 380px; margin-top: 120px; }
.vplate { transform: translateZ(calc(var(--i) * 36px + 180px)); }
.vplate.is-on { transform: translateZ(calc(var(--i) * 36px)); }
.vplate-brand.is-on { transform: translateZ(calc(var(--i) * 36px + 4px)); }
.vtiles { inset: 30px; gap: 18px; transform: translateZ(calc(var(--i) * 36px + 220px)); }
.vtiles.is-on { transform: translateZ(calc(var(--i) * 36px + 18px)); }
.vtiles .vtile { transform: none; font-size: 15px; }
.vtile { display: flex; }
.vtile::before { content: none; }
.vtiles .vtile { flex-direction: column; }
.vtiles .vtile { text-indent: 0; }
.vtiles .vtile { line-height: 1.2; }
.vtiles .vtile > * { transform: rotate(-45deg); }
.vplate span { font-size: 20px; }

@media screen and (max-width: 767px) {
    .vstack-stage { height: 380px; }
    .vstack-scene { transform: scale(0.62) rotateX(58deg) rotateZ(45deg); margin-top: 70px; }
}

/* Con los módulos encima, el nombre de la capa de especialistas se oculta */
.vplate[data-at="4"] span { opacity: 0; }

/* Tarjeta de la red neuronal: especialista centrado en el espacio junto al ícono */
.home_banner_outer .banner-con .best-ai-tools-box .tool-content {
    flex: 0 0 170px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 0 12px;
    max-width: none;
}

.home_banner_outer .banner-con .best-ai-tools-box .tool-content h4 {
    margin: 0;
}
