/* Keep the original page structures, spacing, imagery, and visual treatments. */
.template-home .container,.template-inner .container{padding-left:12px;padding-right:12px}
.template-home h1,.template-home h2,.template-home h3,.template-inner h1{letter-spacing:normal}
.template-home .topbar,.template-inner .topbar{height:49px;background:#fff;font-size:13px}
.template-home .topbar-inner,.template-inner .topbar-inner{padding-top:11px;padding-bottom:11px}
.template-home .site-header,.template-inner .site-header{position:absolute;top:49px;left:0;width:100%;background:#fff;border-bottom:0}
.template-home .nav-inner,.template-inner .nav-inner{min-height:92px;max-width:100%;padding:0 5%}
.template-home .brand img,.template-inner .brand img{width:180px;height:auto;max-height:60px}
.template-home #navigation,.template-inner #navigation{font-size:15px;gap:32px}
.template-home .header-cta,.template-inner .header-cta{padding:17px 25px;font-size:14px}
.nav-dropdown{position:static}.nav-dropdown summary{position:relative}.dropdown{z-index:40;top:100%;border-top:3px solid var(--blue)}
/* Reuse the template's top-origin dropdown reveal instead of an instant popup. */
@media(min-width:992px){
  .nav-dropdown[open]>.dropdown{transform-origin:top;animation:fade-down2 .6s linear both}
  .nav-dropdown[open]>.dropdown.hardware{animation-name:fade-down}
}
.template-home .home2-banner-section{margin-bottom:120px}
.template-home .home2-banner-section .banner-content h1{letter-spacing:normal}
.template-home .home2-banner-section .banner-content p{color:var(--text-color2)}
.template-home .home2-service-section .service-section-card .service-content-and-img .service-img img{object-fit:cover}
.template-home .home2-project-section .project-card>img{width:100%;object-fit:cover;aspect-ratio:1.3}
.template-home .home2-case-study-section .shape-hover-img img{width:100%;height:270px;object-fit:cover}
.template-home .home2-team-section .team-card>img{width:100%;height:310px;object-fit:cover}
.template-home .home2-team-section .team-card h3 a{color:inherit;font-size:inherit}
.template-home .home2-testimonial-section .testimonial-img img{object-fit:cover}
.template-home .home2-blog-section .blog-img img{object-fit:cover}
.template-home .home2-step-section .step-card-wrapper .process-card .content p{color:#ffffffb3}
.home2-contact-section .form-inner textarea,.home1-contact-section .form-inner textarea{width:100%;padding:15px;border:1px solid #0003;background:transparent;resize:vertical}
.home2-contact-section .form-note,.home1-contact-section .form-note{font-size:12px;line-height:1.8;margin:22px 0}
.home2-contact-section #form-status,.home1-contact-section #form-status{font-size:12px;line-height:1.8;margin-top:15px}
.template-inner .breadcrumb-section{margin-bottom:100px}
.about-template-content .about-img-wrap .about-img1{width:100%;aspect-ratio:625/620;object-fit:cover}
.about-template-content .about-img-wrap .about-img2{width:64%;aspect-ratio:401/217;object-fit:cover}
.template-inner .breadcrumb-section h1{overflow-wrap:anywhere}
.template-inner .service-details-area .detail-content{font-size:16px}
.template-inner .detail-content h2{font-size:32px;font-weight:600}
.template-inner .detail-content h3{font-size:23px;font-weight:600}
.template-inner .detail-content p,.template-inner .detail-content li{font-size:15px;line-height:1.9}
.template-inner .detail-content img{background:none;margin:30px 0 40px;max-height:520px}
.template-sidebar{background:#f5f6fa;padding:30px;position:sticky;top:25px}
.template-sidebar h3{font-size:24px;font-weight:600;margin-bottom:25px}
.template-sidebar nav{display:flex;flex-direction:column;max-height:550px;overflow:auto}
.template-sidebar nav a{font-size:13px;padding:15px 0;border-bottom:1px solid #0002;line-height:1.7}
.template-sidebar nav a:hover,.template-sidebar nav [aria-current=page]{color:var(--blue)}
.template-sidebar .sidebar-contact{padding:25px 0 0;background:none}
.template-inner .catalog-card{border:0;border-top:1px solid #0003;padding:35px 20px}
.template-inner .catalog-card h3{font-size:28px;line-height:1.3;font-weight:600}
.template-inner .catalog-card p{font-size:14px;line-height:1.9}
.template-inner .catalog-card:hover{background:#f5f6fa}
.viobex-footer-logo{object-fit:contain;background:#fff;padding:8px}
.viobex-template-footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr .8fr;gap:50px;padding:60px 0}
.viobex-template-footer-grid h5{color:white;font-size:20px;font-weight:500;margin-bottom:24px}
.viobex-template-footer-grid a{display:block;color:#ffffffa8;font-size:13px;line-height:1.8;margin-bottom:12px}
.viobex-template-footer-grid p{color:#ffffffa8;font-size:14px;line-height:1.9;max-width:300px}
.viobex-template-footer-grid a:hover{color:white}
.viobex-template-footer-bottom{display:flex;justify-content:space-between;padding:25px 0;border-top:1px solid #ffffff30;color:#ffffffa8;font-size:12px}
.template-home .footer-section,.template-inner .footer-section{padding-bottom:0}
.template-home .site-header.is-sticky,.template-inner .site-header.is-sticky{position:fixed;top:0;box-shadow:0 3px 20px #0001}
.template-inner .home2-service-section .catalog-card{display:block;min-height:0;padding:40px 20px;background:transparent;border-top:1px solid #0003}
.template-inner .home2-service-section .catalog-card h3{font-size:30px}
.template-inner .home2-service-section .catalog-card .service-content p{font-size:14px;line-height:1.85;margin-top:20px}
.template-inner .home2-service-section .catalog-card .service-img img{width:240px;height:170px;object-fit:cover}
.template-inner .home2-service-section .catalog-search{margin-top:40px}
.template-inner .home2-service-section .section-title-and-btn{position:sticky;top:125px}
.template-inner .home2-service-section .catalog-card .tag-list{display:none}
/* Shared button and text-link treatment requested for Viobex. */
:root{--viobex-gold:#e6bb3a;--viobex-button-ink:#171717}
body .button,body .button.secondary,body .header-cta,body .primary-btn1,body .primary-btn2,body .slider-btn,body .menu-toggle{background:var(--viobex-gold)!important;border-color:var(--viobex-gold)!important;color:var(--viobex-button-ink)!important}
body .button:hover,body .header-cta:hover,body .primary-btn1:hover,body .primary-btn2:hover,body .slider-btn:hover,body .menu-toggle:hover{background:var(--viobex-gold)!important;color:var(--viobex-button-ink)!important}
body .primary-btn1 span,body .primary-btn1 span::after,body .primary-btn2,body .slider-btn i{color:var(--viobex-button-ink)!important}
body .primary-btn1 span{background-image:none!important}
body .primary-btn1 span svg{stroke:var(--viobex-button-ink)!important}
body .primary-btn2>span{background:var(--viobex-gold)!important}
body .slider-btn svg{fill:var(--viobex-button-ink)!important;stroke:var(--viobex-button-ink)!important}
body #navigation>a:hover,body #navigation summary:hover,body #navigation .dropdown a:hover,body .topbar a:hover,body .footer-section a:not(:has(img)):hover,body .template-sidebar a:hover,body .detail-content p a:hover,body h3 a:hover{background-color:var(--viobex-gold);color:var(--viobex-button-ink)!important}
body #navigation .dropdown a:hover{background:var(--viobex-gold)}
.template-home .home2-banner-section{padding-top:220px;padding-bottom:100px}
.template-inner .about-template-content .team-card>img{width:100%;height:420px;object-fit:cover}
.template-inner .about-template-content .team-card h3{font-size:23px;line-height:1.25}
.template-inner .about-template-content .team-card span{font-size:12px;line-height:1.7;white-space:normal}
.template-inner .about-template-content .tools-technologies-card h3{font-size:25px;line-height:1.35}
.template-inner .about-template-content .tools-technologies-card p{line-height:1.8}
@media(max-width:991px){.template-home .home2-banner-section{padding-top:150px;padding-bottom:70px}}
@media(max-width:576px){.template-home .home2-banner-section{padding-top:130px;padding-bottom:55px}.template-home .home2-banner-section .banner-content h1{font-size:34px;line-height:1.2}.template-inner .about-template-content .team-card>img{height:400px}}
@media(max-width:1199px){.template-home #navigation,.template-inner #navigation{gap:23px;font-size:13px}.template-home .nav-inner,.template-inner .nav-inner{padding:0 3%}.template-home .header-cta,.template-inner .header-cta{padding:14px 20px;font-size:12px}}
@media(max-width:991px){.template-home .topbar,.template-inner .topbar{display:none}.template-home .site-header,.template-inner .site-header{top:0}.template-home .nav-inner,.template-inner .nav-inner{min-height:82px;padding:0 24px}.template-home .container,.template-inner .container{padding-left:24px;padding-right:24px}.template-home #navigation,.template-inner #navigation{gap:0;font-size:14px}.template-home .home2-banner-section{margin-bottom:80px}.template-inner .breadcrumb-section{margin-bottom:70px}.dropdown{border-top:0}.viobex-template-footer-grid{grid-template-columns:1fr 1fr;gap:35px}.template-sidebar{position:static}.template-home .home2-team-section .team-card>img{height:280px}}
@media(max-width:576px){.template-home .nav-inner,.template-inner .nav-inner{padding:0 20px}.template-home .container,.template-inner .container{padding-left:20px;padding-right:20px}.template-home .home2-banner-section{margin-bottom:60px}.template-inner .breadcrumb-section{margin-bottom:60px}.template-inner .detail-content h2{font-size:27px}.template-inner .detail-content p,.template-inner .detail-content li{font-size:14px}.template-sidebar{padding:24px}.viobex-template-footer-grid{grid-template-columns:1fr;gap:30px;padding:40px 0}.viobex-template-footer-grid h5{margin-bottom:16px}.viobex-template-footer-bottom{gap:18px;font-size:10px}.template-home .home2-team-section .team-card>img{height:auto;aspect-ratio:1.2}}

body a:not(:has(img)):not(.brand):hover,body #navigation summary:hover{background-color:var(--viobex-gold)!important;color:var(--viobex-button-ink)!important}
body .swiper-pagination-bullet{background:var(--viobex-gold)}
/* Navigation links retain a plain background throughout hover and keyboard focus. */
body #navigation a:hover,body #navigation summary:hover,body #navigation a:focus-visible,body #navigation summary:focus-visible{background:transparent!important;color:var(--blue)!important}

.template-inner .about-template-content .team-card img{width:100%;height:400px;object-fit:cover}
.template-inner .about-template-content .team-card .team-content{background:#10111ce8;padding:20px}

body .template-sidebar nav a:hover,body .topbar a:hover{background:transparent!important;color:var(--blue)!important}
body .footer-section a:hover{background:transparent!important;color:#fff!important}

/* Restore the supplied template's underline/arrow animation with the Viobex colors. */
body.template-home .primary-btn1 span{background-image:linear-gradient(0deg,var(--viobex-button-ink),var(--viobex-button-ink))!important}
.template-home>.topbar{position:relative;z-index:31}
.template-home .home2-why-choose-us-section .service-list li.active a,.template-home .home2-why-choose-us-section .service-list li a:hover{background:var(--viobex-gold)!important;color:#171717!important}
/* Reuse the original Viobex footer's light, four-column company directory. */
body .footer-section.viobex-original-footer{background:#f7f7f7;background-image:none;color:#171717;padding:0}
.viobex-original-footer .footer-area{padding:75px 0 45px}
.viobex-original-footer .footer-widget{margin-bottom:30px}
.viobex-original-footer .footer-widget__logo{margin-bottom:22px}
.viobex-original-footer .footer-widget__logo img{width:200px;max-width:100%;height:auto}
.viobex-original-footer .footer-widget__about,.viobex-original-footer p{font-size:14px;line-height:1.9;color:#565a67;margin-bottom:18px}
.viobex-original-footer .footer-widget__about{max-width:360px}
.viobex-original-footer .footer-widget__title{font-size:19px;font-weight:600;line-height:1.4;margin-bottom:23px;color:#171717}
.viobex-original-footer .footer-widget__list{padding:0;margin:0;list-style:none}
.viobex-original-footer .footer-widget__list li{font-size:13px;line-height:1.8;margin-bottom:10px;color:#565a67}
.viobex-original-footer a{color:#565a67}
body .footer-section.viobex-original-footer a:hover{color:var(--viobex-gold)!important;background:transparent!important}
.viobex-original-footer .footer-copyright-area{padding:24px 0;border-top:1px solid #dedfe5;font-size:12px}
.viobex-original-footer .footer-copyright-area a{font-size:12px}
.template-home .home2-service-section .service-img-area{flex:0 0 46%;max-width:46%}
.template-home .home2-service-section .service-img-area img{width:100%;height:215px;object-fit:cover}
.template-home .home2-service-section .service-content{min-width:0}
@media(max-width:767px){.viobex-original-footer .footer-area{padding:55px 0 20px}.viobex-original-footer .footer-widget__about{max-width:none}.template-home .home2-service-section .service-img-area{flex:auto;max-width:100%;width:100%}.template-home .home2-service-section .service-img-area img{height:auto;max-height:300px}.viobex-original-footer .footer-copyright-area .col-md-6+div{margin-top:12px}}
html:has(body.home-motion-ready),body.home-motion-ready,body.home-motion-ready *{scroll-behavior:auto}
.template-home #scroll-percentage{border:0;padding:0;color:#171717;font-family:inherit;cursor:pointer;--progress-fill:var(--viobex-gold)}
.template-home #ball{background-color:var(--viobex-gold);border-color:var(--viobex-gold)}
@media(max-width:1024px),(hover:none),(prefers-reduced-motion:reduce){body.template-home #magic-cursor{display:none}}
/* Give every View Details / Learn More action a larger, comfortable target. */
body .primary-btn1.transparent{display:inline-flex;align-items:center;justify-content:center;min-height:48px;max-width:100%;padding:14px 24px;box-sizing:border-box}
body .primary-btn1.transparent span{font-size:14px!important;line-height:1.35}
/* Use black text throughout every contact band, including buttons and hover states. */
body .contact-band{--viobex-button-ink:#000}
body .contact-band,body .contact-band *{color:#000!important}
/* Native FAQ accordions remain usable with keyboard, touch and JavaScript disabled. */
.faq-accordion{margin:24px 0 32px;border-top:1px solid #d9d9d9}
.faq-accordion .faq-item{border-bottom:1px solid #d9d9d9}
.faq-accordion .faq-item>summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 0;list-style:none;cursor:pointer;font-size:18px;font-weight:600;line-height:1.5;color:#171717}
.faq-accordion .faq-item>summary::-webkit-details-marker{display:none}
.faq-accordion .faq-item>summary::after{content:'+';flex-shrink:0;font-size:26px;font-weight:400;line-height:1;color:#171717}
.faq-accordion .faq-item[open]>summary::after{content:'\2212'}
.faq-accordion .faq-item>summary:hover{color:#72570b}
.faq-accordion .faq-item>summary:focus-visible{outline:2px solid #9a750b;outline-offset:5px}
.faq-accordion .faq-item>p{padding:0 32px 22px 0;margin:0}
/* Consistent icon alignment for header dropdown links on desktop and mobile. */
.site-header .dropdown a{display:flex;align-items:flex-start;gap:12px}
.site-header .dropdown .nav-item-icon{flex:0 0 20px;width:20px;font-size:18px;line-height:1.5;color:inherit;text-align:center}
.site-header .dropdown a>span{min-width:0;overflow-wrap:anywhere}
.home1-contact-section .form-inner select,.home2-contact-section .form-inner select{width:100%;padding:15px 38px 15px 15px;border:1px solid #0003;border-radius:0;background:transparent;color:inherit;font:inherit;min-height:52px}
.home1-contact-section .form-inner select option,.home2-contact-section .form-inner select option{background:#fff;color:#171717}
.contact-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.contact-field-error{display:block;color:#a42616;font-size:13px;line-height:1.5;margin:8px 0}
#contact-form [aria-invalid=true]{border-color:#a42616}
#contact-form button:disabled{opacity:.65;cursor:wait}
