.elementor-20 .elementor-element.elementor-element-54a2498{--display:flex;}.elementor-20 .elementor-element.elementor-element-54a2498.e-con{--flex-grow:0;--flex-shrink:0;}/* Start custom CSS for html, class: .elementor-element-f328b61 */:root {
            --blue-dark:  #244997;
            --blue-mid:   #3da3db;
            --blue-light: #6bbfe8;
            --gray-dark:  #1a1a1a;
            --gray-mid:   #555;
            --gray-light: #999;
            --bg-light:   #f5f7fa;
            --white:      #ffffff;
            --shadow-sm:  0 2px 8px rgba(0,0,0,.08);
            --shadow-md:  0 6px 20px rgba(0,0,0,.12);
            --shadow-lg:  0 16px 40px rgba(0,0,0,.16);
            --radius:     10px;
            --ease:       cubic-bezier(.25,.8,.25,1);
            --transition: all .3s var(--ease);
        }

        
        *, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
        html { scroll-behavior: smooth; }
        body { font-family:'Poppins',sans-serif; color:var(--gray-dark); line-height:1.6; overflow-x:hidden; background:var(--white); }
        img { display:block; max-width:100%; }
        a { text-decoration:none; }

        
        .top-bar {
            background: linear-gradient(90deg, var(--blue-dark), var(--blue-mid));
            color: var(--white);
            font-size: 13px;
            padding: 10px 0;
            position: fixed;
            top: 0; left: 0; width: 100%;
            z-index: 1100;
            box-shadow: var(--shadow-sm);
        }
        .top-bar__inner {
            width: 92%; max-width: 1200px; margin: 0 auto;
            display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 8px;
        }
        .top-bar__contact { display:flex; align-items:center; gap:20px; flex-wrap:wrap; }
        .top-bar__contact a {
            color: var(--white); display:flex; align-items:center; gap:6px;
            transition: var(--transition); opacity:.9;
        }
        .top-bar__contact a:hover { opacity:1; transform:translateY(-1px); }
        .top-bar__social { display:flex; gap:8px; }
        .top-bar__social a {
            color: var(--white);
            width:30px; height:30px; border-radius:50%;
            background:rgba(255,255,255,.12);
            display:flex; align-items:center; justify-content:center;
            transition: var(--transition); font-size:13px;
        }
        .top-bar__social a:hover { background:rgba(255,255,255,.25); transform:translateY(-2px) scale(1.1); }

        
        header {
            background: var(--white);
            position: fixed;
            top: 44px; left: 0; width: 100%;
            z-index: 1000;
            padding: 14px 0;
            box-shadow: 0 2px 10px rgba(0,0,0,.08);
            transition: var(--transition);
        }
        header.scrolled { padding: 10px 0; box-shadow: 0 4px 18px rgba(0,0,0,.12); }
        .header__inner {
            width: 92%; max-width: 1200px; margin: 0 auto;
            display: flex; justify-content: center; align-items: center; gap: 0;
        }
        .nav { display:flex; align-items:center; gap:4px; }
        .nav a {
            color: var(--gray-dark); font-weight:600; font-size:15px;
            padding: 8px 16px; border-radius:6px; letter-spacing:.3px;
            transition: var(--transition);
        }
        .nav a:hover { background: var(--bg-light); color: var(--blue-mid); transform:translateY(-1px); }
        .logo { margin: 0 40px; flex-shrink:0; }
        .logo img { height:88px; transition: var(--transition); }
        .logo img:hover { transform: scale(1.04); }

        
        .hero {
            margin-top: 128px; 
            width: 100%;
            position: relative;
            overflow: hidden;
            max-height: 700px;
            line-height: 0;
        }
        .hero img {
            width: 100%;
            max-height: 700px;
            object-fit: cover;
            object-position: center top;
            display: block;
        }


        
        .section { padding: 72px 0; }
        .container { width: 92%; max-width: 1200px; margin: 0 auto; }
        .section-heading { text-align:center; margin-bottom:52px; }
        .section-heading h2 {
            font-size: clamp(1.6rem, 3vw, 2.4rem);
            color: var(--blue-mid);
            display: inline-block; position:relative; margin-bottom:14px;
        }
        .section-heading h2::after {
            content:""; position:absolute; bottom:-8px; left:50%; transform:translateX(-50%);
            width:64px; height:3px; border-radius:2px; background:var(--blue-mid);
        }
        .section-heading p { color:var(--gray-light); font-size:17px; max-width:660px; margin:0 auto; margin-top:18px; }

        
        .welcome { background:var(--white); }
        .welcome__grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 48px;
            align-items: center;
            min-height: 360px;
        }
        .welcome__text h2 { font-size:clamp(1.5rem,2.5vw,2.2rem); color:var(--blue-mid); margin-bottom:18px; line-height:1.3; }
        .welcome__text p { font-size:16px; line-height:1.85; color:var(--gray-mid); }
        .welcome__img img { width:100%; border-radius:var(--radius); box-shadow:var(--shadow-md); }

        
        .cta {
            background: linear-gradient(135deg, var(--blue-dark) 0%, var(--blue-mid) 100%);
            color: var(--white);
            padding: 72px 0;
            position: relative;
            overflow: hidden;
        }
        .cta::before {
            content:"";
            position:absolute; top:-80px; right:-80px;
            width:320px; height:320px; border-radius:50%;
            background:rgba(255,255,255,.04);
        }
        .cta__inner { position:relative; z-index:1; }
        .cta h2 { font-size:clamp(1.6rem,3vw,2.4rem); margin-bottom:28px; text-align:center; }
        .cta__list { list-style:none; max-width:740px; margin:0 auto; display:flex; flex-direction:column; gap:14px; }
        .cta__list li {
            display:flex; align-items:flex-start; gap:12px;
            font-size:16px; line-height:1.6;
        }
        .cta__list li::before {
            content:"✦";
            color:rgba(255,255,255,.65);
            flex-shrink:0; margin-top:2px;
        }

        
        .services { background: var(--bg-light); padding: 72px 0; }
        .cards {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
            gap: 28px;
        }
        .card {
            background: var(--white);
            border-radius: var(--radius);
            padding: 32px 28px;
            box-shadow: var(--shadow-sm);
            border-top: 3px solid var(--blue-mid);
            transition: var(--transition);
        }
        .card:hover { transform:translateY(-8px); box-shadow:var(--shadow-lg); }
        .card__icon { font-size:30px; color:var(--blue-mid); text-align:center; margin-bottom:16px; }
        .card h3 { color:var(--blue-dark); font-size:19px; text-align:center; margin-bottom:14px; }
        .card ul { list-style:none; display:flex; flex-direction:column; gap:8px; }
        .card ul li { font-size:14.5px; color:var(--gray-mid); padding-left:16px; position:relative; line-height:1.6; }
        .card ul li::before { content:"•"; position:absolute; left:0; color:var(--blue-mid); font-weight:700; }

        
        .experiencia { background:var(--white); }
        .exp__text {
            max-width:720px; margin:0 auto; text-align:center;
            font-size:17px; line-height:1.9; color:var(--gray-mid);
        }

        
        .contacto { background:var(--bg-light); padding:64px 0; }
        .contacto__grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
            gap: 28px;
            max-width: 640px;
            margin: 0 auto;
        }
        .contacto__item {
            background: var(--white);
            border-radius: var(--radius);
            padding: 28px 24px;
            text-align: center;
            box-shadow: var(--shadow-sm);
            transition: var(--transition);
        }
        .contacto__item:hover { transform:translateY(-4px); box-shadow:var(--shadow-md); }
        .contacto__item i { font-size:28px; color:var(--blue-mid); margin-bottom:12px; }
        .contacto__item p { font-size:15px; color:var(--gray-mid); }
        .contacto__item a { color:var(--blue-dark); font-weight:600; }

        
        footer {
            background: linear-gradient(135deg, var(--blue-dark), var(--blue-mid));
            color: var(--white);
            padding: 24px 0;
        }
        .footer__inner {
            display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:10px;
        }
        footer p { font-size:13px; opacity:.85; }

        
        .back-top {
            position:fixed; bottom:28px; right:28px;
            width:46px; height:46px; border-radius:50%;
            background:var(--blue-mid); color:var(--white);
            display:flex; align-items:center; justify-content:center;
            box-shadow:var(--shadow-md);
            opacity:0; visibility:hidden; pointer-events:none;
            transition: var(--transition); z-index:999;
        }
        .back-top.show { opacity:1; visibility:visible; pointer-events:auto; }
        .back-top:hover { background:var(--blue-dark); transform:translateY(-4px); }

        
        @media (max-width: 900px) {
            header { top: 0; position: relative; }
            .top-bar { position: relative; }
            .hero { margin-top: 0; }
            .welcome__grid { grid-template-columns:1fr; }
            .header__inner { flex-wrap: wrap; justify-content: center; gap: 12px; }
            .logo { margin: 0 20px; }
            .logo img { height:70px; }
        }
        @media (max-width: 600px) {
            .nav a { font-size:13px; padding:7px 10px; }
            .hero__text { padding: 0 5%; }
            .cta__list li { font-size:15px; }
        }/* End custom CSS */