/* ============================================================
   CRITICAL above-the-fold CSS (mobile-first) - Ticomweb
   Covers: loader, base reset, grid, display utils, header,
   mobile menu (meanmenu), hero. The full bundle loads async.
   ============================================================ */
.skip-link{position:absolute;left:-9999px;top:0;z-index:10000;background:#0c5adb;color:#fff;padding:10px 16px;border-radius:0 0 6px 0;font-size:16px;font-weight:600;text-decoration:none}.skip-link:focus{left:0;position:fixed}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* ---------- Dark theme wrapper (always on) ---------- */
.dark{background:#1d1d1d;color:#fff;transition:.5s}.dark-button{position:fixed;right:12px;top:35%;z-index:222}
/* ---------- Loader: en moviles nunca bloquea el render ---------- */
.loader-wrapper{position:fixed;top:0;left:0;right:0;bottom:0;width:100%;height:100%;background:#111;z-index:9999}
.loader-wrapper .loder-section{position:fixed;top:0;width:50%;height:100%;background:#111;z-index:2}
.loader-wrapper .loder-section.left-section{left:0}
.loader-wrapper .loder-section.right-section{right:0}
.loader{position:relative;display:block;z-index:201;top:50%;left:50%;width:16px;height:16px;margin:-50px 0 0 -50px;border-radius:50%;background:#0c5adb}
@media (max-width:767px){.loader-wrapper,.loader-wrapper .loder-section{display:none!important}}
/* ---------- Reset & base ---------- */
*,::after,::before{box-sizing:border-box}html{line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body{margin:0;color:#616161;font-size:16px;line-height:27px;font-weight:400;text-align:left;font-family:"Muli",sans-serif}h1,h2,h3,h4,h5,h6{margin-top:11px;margin-bottom:0;font-family:"Muli",sans-serif;font-style:normal;line-height:1.2;font-weight:700;font-size:36px}p{margin-top:0;margin-bottom:1rem}a{color:#007bff;text-decoration:none;background-color:transparent}a:hover{color:#0056b3;text-decoration:underline}img{vertical-align:middle;border-style:none}ul,ol{margin-top:0;margin-bottom:1rem}section,header,footer,nav,main,figure,article,aside,figcaption,hgroup{display:block}
/* ---------- Container & grid ---------- */
.container{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media(min-width:576px){.container{max-width:540px}}@media(min-width:768px){.container{max-width:720px}}@media(min-width:992px){.container{max-width:960px}}@media(min-width:1200px){.container{max-width:1140px}}
.row{display:flex;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}[class*="col-"]{position:relative;width:100%;padding-right:15px;padding-left:15px}
@media(min-width:576px){.col-6{flex:0 0 50%;max-width:50%}}
@media(min-width:992px){.col-lg-3{flex:0 0 25%;max-width:25%}.col-lg-4{flex:0 0 33.333333%;max-width:33.333333%}.col-lg-6{flex:0 0 50%;max-width:50%}.col-lg-8{flex:0 0 66.666667%;max-width:66.666667%}}
.align-items-center{align-items:center}.text-right{text-align:right}
/* ---------- Display utilities ---------- */
.d-none{display:none!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}
@media(min-width:576px){.d-sm-none{display:none!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-flex{display:flex!important}}
@media(min-width:768px){.d-md-none{display:none!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-flex{display:flex!important}}
@media(min-width:992px){.d-lg-none{display:none!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-flex{display:flex!important}}
@media(min-width:1200px){.d-xl-none{display:none!important}.d-xl-block{display:block!important}.d-xl-flex{display:flex!important}}
/* ---------- Spacing utils used in header/hero ---------- */
.pt-2{padding-top:.5rem!important}.pb-2{padding-bottom:.5rem!important}.pr-0{padding-right:0!important}.ml-4{margin-left:1.5rem!important}.pb-30{padding-bottom:30px}.mb-25{margin-bottom:25px}.mb-30{margin-bottom:30px}.mb-45{margin-bottom:45px}.mb-55{margin-bottom:55px}.mt-90{margin-top:90px}
/* ---------- Header top bar ---------- */
.bg_color{background:#0c5adb}.header_top_menu_address_inner ul{list-style:none;margin:0;padding:0}.header_top_menu_address_inner ul li{display:inline-block}.header_top_menu_address_inner ul li a{color:#fff;font-size:14px;font-weight:400;margin-right:15px;text-decoration:none}.header_top_menu_address_inner ul li a i{font-size:16px;margin-right:10px;color:#fff}
@media only screen and (min-width:320px) and (max-width:599px){.header_top_menu{display:none}}
@media (min-width:768px) and (max-width:991px){.header_top_menu{display:none}}
/* ---------- Mobile menu (raw + meanmenu) ---------- */
.mobile-menu-area{background:#262626}.mobile-menu .techno_menu{display:none!important}.techno_menu ul{list-style:none;margin:0;padding:0}.techno_menu>ul>li>a{display:block;color:#fff;padding:12px 15px;font-size:15px;font-weight:500;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.08)}
@media (max-width:991px){.mobile-menu-area{min-height:64px}}
/* ---------- Search popup: fixed y oculto desde el inicio (evita CLS) ---------- */
.search-popup{position:fixed;left:0;top:0;height:100vh;width:100%;z-index:99999;visibility:hidden;transform:translateY(-100%);margin-top:-540px}.search-active .search-popup{visibility:visible}
a.meanmenu-reveal{display:none}.mean-container .mean-bar{background:#0762f8;float:left;min-height:60px;padding:4px 0 0;position:relative;width:100%;z-index:999999}.mean-container a.meanmenu-reveal{width:22px;height:22px;padding:18px;top:0;right:0;cursor:pointer;color:#fff;text-decoration:none;font-size:1px;text-indent:-9999em;line-height:22px;display:block;font-family:Arial,Helvetica,sans-serif;font-weight:700;float:right;position:relative}.mean-container a.meanmenu-reveal span{display:block;background:#fff;height:3px;margin-top:3px}.mean-container .mean-nav{float:left;width:100%;background:#0c1923}.mean-container .mean-nav ul{padding:0;margin:0;width:100%;list-style-type:none}.mean-container .mean-nav ul li{background:#f8f8f8 none repeat scroll 0 0;float:left;position:relative;width:100%;border-top:1px solid #ddd}.mean-container .mean-nav ul li a{background:#f8f8f8 none repeat scroll 0 0;color:#666;display:block;float:left;font-size:14px;margin:0;padding:1em 5%;text-align:left;text-decoration:none;text-transform:uppercase;width:90%;font-weight:700}.mean-container .mean-nav ul li li a{width:80%;padding:1em 10%;text-transform:capitalize;font-weight:400;color:#444}.mean-container .mean-nav ul li a.mean-expand{width:26px;height:15px;margin-top:1px;padding:12px!important;text-align:center;position:absolute;right:0;top:0;z-index:2;font-weight:700;background:#f8f8f8}.mean-container .mean-push{float:left;width:100%;padding:0;margin:0;clear:both}.mean-container .mean-bar,.mean-container .mean-bar *{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}
/* ---------- Hero (primer viewport) ---------- */
.service-section{background-color:#0b1329;background-position:center center;background-repeat:no-repeat;background-size:cover;padding:78px 0 80px}
@media (max-width:991px){.service-section{background-image:none!important}}
.home-title .home-kicker{display:inline-block;position:relative;z-index:13;background-color:rgba(255,255,255,.2);color:#fff;line-height:25px;letter-spacing:0;font-weight:600;font-size:18px;padding:5px 12px 7px 57px;border-radius:4px;margin-bottom:12px}.home-title .home-kicker::before{content:"";position:absolute;top:17px;left:15px;height:3px;width:30px;background-color:#0c5adb}
.home-title h1{color:#fff;font-size:58px;line-height:66px;letter-spacing:0;font-weight:800}.home-title h1 span{color:#2876ff;font-weight:500}
.home-title p{color:#fff;font-size:18px;line-height:29px;letter-spacing:0;font-weight:400;margin:25px 0 32px}
.home-button{float:left;margin-right:30px}.home-button a{display:inline-block;position:relative;background:linear-gradient(110deg,#1330bf 0,#2471f9 100%);color:#fff;text-decoration:none;font-weight:600;font-size:16px;padding:18px 40px;border-radius:30px;transition:.5s}
.our-contact{display:flex;align-items:flex-start}.our-contact p{color:rgba(255,255,255,.7);margin-left:20px}.our-contact span{color:#fff;font-size:22px;font-weight:700;margin-top:10px;display:inline-block}
@media (max-width:599px){.our-contact{margin-top:33px}}
.home-thumb{display:none}.all-shape{display:none}
@media (min-width:768px){.home-thumb{display:block}.home-thumb img{margin:30px 0 0 70px}.all-shape{display:block}.home-thumb,.all-shape{position:relative}}
