:root{
  --primary:#087cf0;--primary-dark:#0564c7;--primary-soft:#eaf4ff;
  --accent:#16a05d;--accent-dark:#11814b;--text:#172033;--muted:#64748b;
  --border:#dce5ef;--surface:#fff;--background:#f5f8fc;
  --shadow:0 18px 50px rgba(24,53,88,.10);--radius:18px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:var(--text);background:var(--background);line-height:1.55}a{color:inherit}.container{width:min(1180px,calc(100% - 40px));margin:auto}.topbar{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border-bottom:1px solid rgba(220,229,239,.85)}.navbar{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:18px}.logo{display:inline-flex;align-items:center}.logo img{display:block;height:42px;width:auto}.footer-logo img{height:38px}.nav-links{display:flex;align-items:center;gap:5px}.nav-links a{padding:9px 12px;color:#334155;text-decoration:none;font-size:.88rem;font-weight:600;border-radius:10px;transition:.2s}.nav-links a:hover{color:var(--primary);background:var(--primary-soft)}.nav-links .nav-cta{color:#fff;background:var(--primary);padding:10px 16px;margin-left:7px}.social-links{display:flex;align-items:center;gap:8px}.social-links a{width:35px;height:35px;display:grid;place-items:center;color:#64748b;text-decoration:none;border-radius:50%;transition:.2s}.social-links a:hover{color:var(--primary);background:var(--primary-soft);transform:translateY(-1px)}.menu-toggle{display:none;border:0;background:transparent;font-size:1.7rem;color:var(--text)}
.hero{position:relative;overflow:hidden;background:#fff;border-bottom:1px solid #e7edf4}.carousel{position:relative;min-height:550px}.slide{display:none;min-height:550px;padding:70px 0 90px;background:radial-gradient(circle at 5% 5%,rgba(8,124,240,.12),transparent 30%),radial-gradient(circle at 95% 20%,rgba(22,160,93,.10),transparent 28%),#fff}.slide.active{display:flex;animation:fade .45s ease}.slide-content{display:grid;grid-template-columns:1.08fr .92fr;align-items:center;gap:70px}.slide-copy{max-width:690px}.eyebrow,.section-kicker{display:inline-flex;align-items:center;gap:7px;color:var(--primary);font-size:.78rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}.slide h1,.slide h2{font-size:clamp(2.25rem,5vw,4rem);line-height:1.08;letter-spacing:-.055em;margin:17px 0}.slide h1 span{color:var(--primary)}.slide p{font-size:1.08rem;color:var(--muted);max-width:640px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:12px 19px;border-radius:12px;text-decoration:none;font-weight:700;border:1px solid transparent;transition:.2s}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--primary);color:#fff;box-shadow:0 10px 24px rgba(8,124,240,.20)}.btn-primary:hover{background:var(--primary-dark)}.btn-light{background:#fff;color:var(--text);border-color:var(--border)}.slide-visual{display:grid;place-items:center}.hero-card,.week-board,.chart-card{width:min(410px,100%);background:#fff;border:1px solid var(--border);border-radius:26px;box-shadow:var(--shadow);padding:34px}.hero-card-icon{width:64px;height:64px;border-radius:18px;display:grid;place-items:center;background:var(--primary-soft);color:var(--primary);font-size:1.8rem;margin-bottom:20px}.hero-card strong{display:block;font-size:1.5rem}.hero-card span,.hero-card small{display:block;color:var(--muted)}.progress{height:10px;background:#edf2f7;border-radius:99px;margin:24px 0 12px;overflow:hidden}.progress span{display:block;width:72%;height:100%;background:linear-gradient(90deg,var(--primary),#55b4ff);border-radius:99px}.week-board>div{padding:17px 0;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;gap:20px}.week-board span{color:var(--muted)}.week-board strong{font-size:1.35rem}.week-board .board-accent{border:0;margin-top:15px;padding:13px;border-radius:12px;background:#eefaf4;color:var(--accent);display:block;font-weight:700}.chart-bars{height:190px;display:flex;align-items:end;justify-content:space-around;gap:16px;border-bottom:1px solid var(--border);padding:0 10px}.chart-bars i{display:block;width:34px;border-radius:9px 9px 0 0;background:linear-gradient(#55b4ff,var(--primary));height:var(--h,50%)}.chart-bars i:nth-child(1){--h:35%}.chart-bars i:nth-child(2){--h:50%}.chart-bars i:nth-child(3){--h:64%}.chart-bars i:nth-child(4){--h:78%}.chart-bars i:nth-child(5){--h:91%}.chart-caption{padding-top:20px;display:flex;flex-direction:column;gap:4px}.chart-caption span{color:var(--muted);font-size:.85rem}.carousel-controls{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:14px}.carousel-controls button,.testimonial-arrow{width:38px;height:38px;border:1px solid var(--border);border-radius:50%;background:#fff;color:var(--text);cursor:pointer}.dots,.test-dots{display:flex;gap:7px}.dots button,.test-dots button{width:8px;height:8px;border:0;border-radius:50%;background:#cbd5e1;padding:0;cursor:pointer}.dots button.active,.test-dots button.active{width:22px;border-radius:99px;background:var(--primary)}@keyframes fade{from{opacity:.3;transform:translateY(5px)}to{opacity:1;transform:none}}
.trust-strip{background:#fff;border-bottom:1px solid var(--border)}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);padding:22px 0;gap:20px}.trust-grid>div{display:flex;gap:12px;align-items:center;color:var(--muted);font-size:.82rem}.trust-grid i{color:var(--primary);font-size:1.2rem}.trust-grid b{display:block;color:var(--text);font-size:.88rem}
.section{padding:92px 0}.intro{background:#fff}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}.intro h2,.section-heading h2,.why-copy h2,.contact-info h2{font-size:clamp(2rem,4vw,3.1rem);line-height:1.1;letter-spacing:-.045em;margin:12px 0 0}.intro p{color:var(--muted);font-size:1.03rem}.muted{font-size:.92rem!important}.text-link{display:inline-flex;gap:8px;align-items:center;color:var(--primary);font-weight:800;text-decoration:none;margin-top:8px}.services-section{background:var(--background)}.section-heading{max-width:760px;margin-bottom:38px}.section-heading.center{text-align:center;margin-left:auto;margin-right:auto}.section-heading h2{margin-bottom:13px}.section-heading p{color:var(--muted);margin:0}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.service-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:25px;min-height:275px;display:flex;flex-direction:column;box-shadow:0 8px 30px rgba(24,53,88,.04);transition:.22s}.service-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.service-card.featured{border-color:#b8dcff;box-shadow:0 12px 35px rgba(8,124,240,.09)}.service-card .icon{width:48px;height:48px;border-radius:14px;background:var(--primary-soft);color:var(--primary);display:grid;place-items:center;font-size:1.25rem;margin-bottom:18px}.service-card h3{margin:0 0 8px;font-size:1.06rem}.service-card p{color:var(--muted);font-size:.9rem;margin:0}.service-card a{margin-top:auto;color:var(--primary);text-decoration:none;font-weight:800;font-size:.88rem;padding-top:18px}.tools-section{background:#fff}.tools-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.tool-card{display:grid;grid-template-columns:76px 1fr;gap:24px;padding:30px;border:1px solid #cfe4fb;border-radius:22px;background:linear-gradient(135deg,#f8fcff,#fff);text-decoration:none;transition:.2s}.tool-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.tool-card.green{border-color:#cdebdc;background:linear-gradient(135deg,#f6fdf9,#fff)}.tool-icon{width:64px;height:64px;border-radius:18px;background:var(--primary-soft);color:var(--primary);display:grid;place-items:center;font-size:1.6rem}.green .tool-icon{background:#eaf8f0;color:var(--accent)}.tool-label{color:var(--muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800}.tool-card h3{font-size:1.4rem;margin:6px 0}.tool-card p{color:var(--muted);margin:0 0 14px}.tool-card strong{color:var(--primary);font-size:.9rem}.why-section{background:linear-gradient(135deg,#0a77df,#0759b0);color:#fff}.why-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.why-copy .section-kicker{color:#bde0ff}.why-copy h2{margin-bottom:18px}.why-copy p{color:#dbeeff;max-width:620px}.why-copy .btn{background:#fff;color:var(--primary);margin-top:14px}.why-list{display:grid;gap:15px}.why-list>div{display:grid;grid-template-columns:54px 1fr;gap:17px;padding:22px;border:1px solid rgba(255,255,255,.18);border-radius:16px;background:rgba(255,255,255,.08)}.why-list>div>span{font-size:.82rem;font-weight:800;color:#bde0ff}.why-list h3{margin:0 0 4px}.why-list p{margin:0;color:#dbeeff;font-size:.9rem}.testimonials{background:#fff}.testimonial-carousel{display:grid;grid-template-columns:48px 1fr 48px;align-items:center;gap:18px}.testimonial-arrow{justify-self:center}.testimonial-track{min-height:260px}.testimonial{display:none;text-align:center;max-width:760px;margin:auto}.testimonial.active{display:block;animation:fade .35s}.quote{color:var(--primary);font-size:2.5rem}.stars{color:#f3b51b;letter-spacing:4px}.testimonial p{font-size:1.35rem;line-height:1.45;margin:14px 0}.testimonial strong{display:block}.testimonial span{color:var(--muted);font-size:.9rem}.test-dots{justify-content:center;margin-top:20px}.videos-section{background:var(--background)}.video-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.video-card{background:#fff;border:1px solid var(--border);border-radius:18px;overflow:hidden;box-shadow:0 8px 28px rgba(24,53,88,.05)}.video-frame{aspect-ratio:16/9;background:#102238}.video-frame iframe{width:100%;height:100%;border:0}.article-video{display:grid;place-items:center;background:linear-gradient(135deg,#0c7ce8,#0b5ab2);color:#fff}.article-video div{text-align:center;display:grid;gap:8px}.article-video i{font-size:3rem}.article-video strong{font-size:1rem}.article-video span{font-size:.8rem;color:#d9ecff}.video-body{padding:19px}.video-body>span{font-size:.72rem;color:var(--primary);font-weight:800;text-transform:uppercase;letter-spacing:.08em}.video-body h3{font-size:1rem;line-height:1.35;margin:7px 0 12px}.video-body a{color:var(--primary);font-size:.86rem;font-weight:800;text-decoration:none}.center-button{text-align:center;margin-top:30px}.btn-outline{border-color:var(--primary);color:var(--primary);background:#fff}.cta-section{padding:28px 0;background:#fff}.cta-box{background:linear-gradient(135deg,#0a78df,#0561be);border-radius:28px;padding:48px 55px;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:35px}.cta-box .section-kicker{color:#bde0ff}.cta-box h2{font-size:clamp(1.7rem,3vw,2.45rem);line-height:1.12;margin:10px 0}.cta-box p{color:#dceeff;margin:0}.btn-whatsapp{background:#18a95f;color:#fff;box-shadow:0 10px 24px rgba(22,160,93,.18)}.btn-whatsapp:hover{background:#11814b}.contact-section{background:#fff}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:stretch}.contact-info p{color:var(--muted);font-size:1.02rem}.contact-item{display:flex;gap:15px;padding:18px 0;border-bottom:1px solid var(--border)}.contact-item>i{color:var(--primary);font-size:1.35rem;width:25px}.contact-item small,.contact-item span{display:block;color:var(--muted);font-size:.82rem}.contact-item strong{display:block;margin:3px 0}.full{width:100%;margin-top:22px}.map-card{min-height:420px;border-radius:24px;border:1px solid var(--border);position:relative;overflow:hidden;background:#eaf4ff}.map-pattern{position:absolute;inset:0;background-image:linear-gradient(25deg,transparent 48%,rgba(8,124,240,.10) 49%,transparent 51%),linear-gradient(90deg,transparent 48%,rgba(8,124,240,.09) 49%,transparent 51%);background-size:90px 90px;transform:rotate(-8deg) scale(1.2)}.map-overlay{position:absolute;z-index:2;left:50%;top:50%;transform:translate(-50%,-50%);width:min(320px,80%);padding:28px;background:#fff;border:1px solid var(--border);border-radius:20px;box-shadow:var(--shadow);text-align:center}.map-pin{display:grid;place-items:center;margin:auto;width:54px;height:54px;border-radius:50%;background:var(--primary-soft);color:var(--primary);font-size:1.4rem}.map-overlay h3{margin:12px 0 4px}.map-overlay p{color:var(--muted);margin:0}.map-note{display:block!important;margin-top:18px;padding-top:14px;border-top:1px solid var(--border);font-size:.75rem!important;color:var(--muted)}.footer{background:#101b2c;color:#cbd5e1;padding:60px 0 0}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:35px;padding-bottom:45px}.footer p{font-size:.88rem;color:#94a3b8;max-width:300px}.footer h4{color:#fff;margin:4px 0 15px}.footer-grid>div:not(:first-child){display:flex;flex-direction:column;gap:9px}.footer-grid a{font-size:.86rem;color:#aebccc;text-decoration:none}.footer-grid a:hover{color:#fff}.footer .social-links{margin-top:16px}.footer .social-links a{color:#aebccc}.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding:18px 0;display:flex;justify-content:space-between;gap:20px;font-size:.75rem;color:#8190a4}.floating-wa{position:fixed;right:22px;bottom:22px;z-index:90;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#18a95f;color:#fff;font-size:1.65rem;text-decoration:none;box-shadow:0 12px 30px rgba(22,160,93,.30)}@media(max-width:1050px){.desktop-social{display:none}.nav-links a{padding:8px}.service-grid{grid-template-columns:repeat(2,1fr)}.trust-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:820px){.menu-toggle{display:block}.nav-links{display:none;position:absolute;left:20px;right:20px;top:72px;background:#fff;border:1px solid var(--border);border-radius:16px;padding:10px;box-shadow:var(--shadow);flex-direction:column;align-items:stretch}.nav-links.open{display:flex}.nav-links a{padding:12px}.slide-content,.intro-grid,.why-grid,.contact-grid,.tools-grid{grid-template-columns:1fr;gap:35px}.slide{padding-top:50px}.slide-visual{display:none}.carousel,.slide{min-height:610px}.video-grid{grid-template-columns:1fr}.cta-box{padding:35px;flex-direction:column;align-items:flex-start}.footer-grid{grid-template-columns:1fr 1fr}.testimonial p{font-size:1.15rem}.trust-grid{grid-template-columns:1fr 1fr}}@media(max-width:560px){.container{width:min(100% - 28px,1180px)}.navbar{min-height:64px}.logo img{height:34px}.service-grid,.trust-grid,.footer-grid{grid-template-columns:1fr}.section{padding:65px 0}.slide h1,.slide h2{font-size:2.45rem}.hero-actions .btn{width:100%}.carousel,.slide{min-height:650px}.testimonial-carousel{grid-template-columns:34px 1fr 34px}.testimonial-arrow{width:32px;height:32px}.cta-box{border-radius:20px}.floating-wa{width:52px;height:52px;right:15px;bottom:15px}.footer-bottom{flex-direction:column}}
/* =========================================
   CONTACTO
========================================= */

.contact-section {
    padding: 90px 0;
    background: #f5f8fc;
}

.contact-container {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;

    display: grid;
    grid-template-columns: 0.9fr 1.1fr;

    gap: 55px;
    align-items: stretch;
}


/* =========================================
   INFORMACIÓN
========================================= */

.contact-content {
    display: flex;
    flex-direction: column;
}

.section-kicker {
    display: inline-block;

    margin-bottom: 12px;

    color: #087cf0;

    font-size: 13px;
    font-weight: 800;

    letter-spacing: .09em;
}

.contact-content h2 {
    margin: 0;

    color: #172033;

    font-size: clamp(36px, 4vw, 52px);
    line-height: 1.05;
    letter-spacing: -1.5px;
}

.contact-lead {
    margin: 20px 0 35px;

    color: #64748b;

    font-size: 17px;
    line-height: 1.7;
}


/* =========================================
   FILAS
========================================= */

.contact-row {
    display: flex;
    align-items: flex-start;

    gap: 16px;

    padding: 22px 0;

    border-bottom: 1px solid #dce5ef;
}

.contact-row-icon {
    flex: 0 0 42px;

    width: 42px;
    height: 42px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 13px;

    background: #eaf4ff;

    color: #087cf0;

    font-size: 19px;
}

.contact-row-icon.whatsapp {
    color: #16a05d;
    background: #eaf8f1;
}

.contact-row-text {
    display: flex;
    flex-direction: column;

    gap: 5px;
}

.contact-row-text small {
    color: #64748b;

    font-size: 13px;
}

.contact-row-text strong {
    color: #172033;

    font-size: 16px;
    line-height: 1.4;
}

.contact-row-text span {
    color: #64748b;

    font-size: 13px;
}


/* =========================================
   BOTÓN WHATSAPP
========================================= */

.contact-whatsapp {
    display: flex;
    align-items: center;
    justify-content: center;

    gap: 10px;

    margin-top: 25px;

    min-height: 52px;

    border-radius: 13px;

    background: #16a05d;
    color: #fff;

    text-decoration: none;

    font-weight: 800;

    box-shadow: 0 12px 30px rgba(22, 160, 93, .20);

    transition: transform .2s ease, box-shadow .2s ease;
}

.contact-whatsapp:hover {
    transform: translateY(-2px);

    box-shadow: 0 16px 35px rgba(22, 160, 93, .28);
}

.contact-whatsapp i:first-child {
    font-size: 20px;
}

.contact-whatsapp i:last-child {
    font-size: 14px;
}


/* =========================================
   UBICACIÓN / MAPA
========================================= */

.contact-location {
    padding: 30px;

    background: #fff;

    border: 1px solid #dce5ef;

    border-radius: 24px;

    box-shadow: 0 18px 50px rgba(24, 53, 88, .10);

    display: flex;
    flex-direction: column;
}


/* ENCABEZADO */

.location-heading {
    display: flex;

    align-items: center;

    gap: 15px;

    margin-bottom: 22px;
}

.location-heading-icon {
    width: 48px;
    height: 48px;

    flex: 0 0 48px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 14px;

    background: #eaf4ff;

    color: #087cf0;

    font-size: 21px;
}

.location-heading span {
    display: block;

    margin-bottom: 4px;

    color: #087cf0;

    font-size: 11px;

    font-weight: 800;

    letter-spacing: .08em;
}

.location-heading h3 {
    margin: 0;

    color: #172033;

    font-size: 23px;
}

.location-heading p {
    margin: 3px 0 0;

    color: #64748b;

    font-size: 14px;
}


/* =========================================
   MAPA GRANDE
========================================= */

.map-wrapper {
    position: relative;

    width: 100%;

    min-height: 390px;

    overflow: hidden;

    border-radius: 18px;

    background: #e9eef5;
}

.map-wrapper iframe {
    display: block;

    width: 100%;
    height: 390px;

    border: 0;
}


/* =========================================
   PARTE INFERIOR DO MAPA
========================================= */

.location-bottom {
    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 20px;

    padding-top: 20px;
}

.virtual-info {
    display: flex;

    align-items: center;

    gap: 11px;
}

.virtual-info > i {
    color: #16a05d;

    font-size: 20px;
}

.virtual-info div {
    display: flex;

    flex-direction: column;

    gap: 3px;
}

.virtual-info strong {
    color: #172033;

    font-size: 14px;
}

.virtual-info span {
    color: #64748b;

    font-size: 12px;
}


/* =========================================
   GOOGLE MAPS
========================================= */

.maps-button {
    display: inline-flex;

    align-items: center;

    gap: 8px;

    padding: 11px 15px;

    border: 1px solid #dce5ef;

    border-radius: 11px;

    background: #fff;

    color: #172033;

    text-decoration: none;

    font-size: 13px;

    font-weight: 700;

    white-space: nowrap;

    transition: .2s ease;
}

.maps-button:hover {
    border-color: #087cf0;

    color: #087cf0;

    background: #eaf4ff;
}


/* =========================================
   RESPONSIVE
========================================= */

@media (max-width: 900px) {

    .contact-container {
        grid-template-columns: 1fr;

        gap: 40px;
    }

    .contact-location {
        padding: 22px;
    }

    .map-wrapper,
    .map-wrapper iframe {
        min-height: 340px;
        height: 340px;
    }
}


@media (max-width: 600px) {

    .contact-section {
        padding: 65px 0;
    }

    .contact-container {
        width: min(100% - 28px, 1180px);
    }

    .contact-content h2 {
        font-size: 36px;
    }

    .location-bottom {
        flex-direction: column;

        align-items: stretch;
    }

    .maps-button {
        justify-content: center;
    }

    .map-wrapper,
    .map-wrapper iframe {
        min-height: 280px;
        height: 280px;
    }
}