:root{--rok-blue:#0967d8;--rok-blue-dark:#073b75;--rok-green:#00bd4f;--rok-green-dark:#009a3f;--rok-ink:#17243a;--rok-soft:#f3f8ff;--rok-border:#dce7f5}.navbar-brand img,.footer-logo{height:auto;object-fit:contain}.navbar-marketing{min-height:76px}.navbar-collapse{display:flex}.nav-link{font-weight:600;color:#394960!important}.btn-recargaok{background:linear-gradient(135deg,var(--rok-green),#22d66b);border:0;color:#fff;box-shadow:0 .55rem 1.3rem rgba(0,189,79,.22)}.btn-recargaok:hover{color:#fff;transform:translateY(-1px)}.text-gradient-recargaok{background:linear-gradient(90deg,var(--rok-blue),var(--rok-green));-webkit-background-clip:text;color:transparent}.hero-recargaok{background:radial-gradient(circle at 86% 18%,rgba(0,189,79,.13),transparent 26%),radial-gradient(circle at 10% 25%,rgba(9,103,216,.12),transparent 28%),#fff}.hero-trust{display:flex;flex-wrap:wrap;gap:1rem;color:#53657b}.hero-trust span:before{content:'✓';color:var(--rok-green);font-weight:800;margin-right:.4rem}.device-shell{position:relative;border-radius:1.4rem;background:#fff;padding:1rem;box-shadow:0 2rem 5rem rgba(23,36,58,.18);border:1px solid var(--rok-border)}.device-shell img{width:100%;border-radius:.7rem}.floating-note{position:absolute;background:#fff;border-radius:.9rem;padding:.8rem 1rem;box-shadow:0 1rem 2rem rgba(23,36,58,.15);font-size:.88rem}.floating-note.one{right:-2rem;top:15%}.floating-note.two{left:-2rem;bottom:12%}.section-label{font-size:.78rem;letter-spacing:.13em;text-transform:uppercase;font-weight:800;color:var(--rok-blue)}.service-card,.feature-card,.trust-card{border:1px solid var(--rok-border);border-radius:1rem;transition:.25s;background:#fff}.service-card:hover,.feature-card:hover{transform:translateY(-6px);box-shadow:0 1.2rem 2.5rem rgba(23,36,58,.1)}.icon-badge{width:3.2rem;height:3.2rem;border-radius:1rem;display:grid;place-items:center;font-weight:900;font-size:1.25rem;background:#e9f2ff;color:var(--rok-blue)}.icon-badge.green{background:#e8fbef;color:var(--rok-green-dark)}.icon-badge.purple{background:#f1eaff;color:#7137c8}.band{background:linear-gradient(135deg,var(--rok-blue-dark),#082b50);color:#fff}.page-hero{padding-top:10rem;padding-bottom:5rem;background:radial-gradient(circle at 80% 25%,rgba(0,189,79,.16),transparent 25%),linear-gradient(180deg,#f7fbff,#fff)}.breadcrumb{font-size:.9rem}.breadcrumb a{text-decoration:none}.mega-menu{display:none;position:absolute;top:65px;right:0;min-width:380px;background:#fff;border:1px solid var(--rok-border);border-radius:1rem;padding:.7rem;box-shadow:0 1.5rem 3rem rgba(23,36,58,.14);grid-template-columns:1fr 1fr;gap:.35rem}.dropdown-manual{position:relative}.dropdown-manual:hover>.mega-menu{display:grid}.mega-menu.compact{min-width:330px}.mega-menu a{padding:.75rem;border-radius:.7rem;text-decoration:none;color:var(--rok-ink);display:flex;flex-direction:column}.mega-menu a:hover{background:var(--rok-soft)}.mega-menu small{color:#6d7b8e}.stat-box{border-left:3px solid var(--rok-green);padding-left:1rem}.process-line{position:relative}.process-step{display:flex;gap:1rem;margin-bottom:1.5rem}.process-step span{flex:0 0 2.5rem;height:2.5rem;border-radius:50%;background:var(--rok-blue);color:#fff;display:grid;place-items:center;font-weight:800}.faq-item{border-bottom:1px solid var(--rok-border)}.faq-question{width:100%;border:0;background:none;text-align:left;padding:1.2rem 0;font-weight:700;color:var(--rok-ink);display:flex;justify-content:space-between}.faq-answer{display:none;padding:0 0 1.2rem;color:#64748b}.faq-item.open .faq-answer{display:block}[data-reveal]{opacity:0;transform:translateY(18px);transition:.55s}[data-reveal].visible{opacity:1;transform:none}.footer-logo{max-width:190px;filter:brightness(0) invert(1)}.legal-content h2{margin-top:2.2rem}.legal-content p,.legal-content li{color:#526174;line-height:1.8}@media(max-width:991.98px){.navbar-collapse{display:none;position:absolute;left:0;right:0;top:76px;background:#fff;padding:1rem 1.5rem;box-shadow:0 1rem 2rem rgba(0,0,0,.08);align-items:stretch!important}.navbar-collapse.show{display:block}.mega-menu{position:static;display:none!important;min-width:0;grid-template-columns:1fr;box-shadow:none;border:0;padding:.3rem}.dropdown-manual.open>.mega-menu{display:grid!important}.floating-note{display:none}.page-hero{padding-top:8.5rem}}

/* v3.2: system image and redesigned footer */
.navbar-brand img{width:178px;max-height:52px}.device-shell.real-system{padding:.65rem}.device-shell img{display:block}.system-real-badge{position:absolute;left:1.25rem;top:1.25rem;background:rgba(255,255,255,.94);backdrop-filter:blur(6px);border:1px solid rgba(9,103,216,.15);border-radius:999px;padding:.48rem .8rem;font-weight:700;font-size:.8rem;box-shadow:0 .65rem 1.4rem rgba(23,36,58,.13)}.system-real-badge span{display:inline-block;width:.55rem;height:.55rem;border-radius:50%;background:var(--rok-green);margin-right:.45rem;box-shadow:0 0 0 .25rem rgba(0,189,79,.12)}
.footer-cta{background:#eef6ff;padding:4.5rem 0 0}.footer-cta-card{background:linear-gradient(125deg,var(--rok-blue-dark),var(--rok-blue) 58%,var(--rok-green));border-radius:1.5rem;padding:2.4rem 2.7rem;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:2rem;box-shadow:0 1.5rem 3.5rem rgba(7,59,117,.2);transform:translateY(2rem);position:relative;z-index:2}.footer-cta-card h2{font-size:clamp(1.65rem,3vw,2.35rem);margin:.3rem 0}.footer-cta-card p{margin:0;color:rgba(255,255,255,.82)}.footer-kicker{font-size:.76rem;letter-spacing:.14em;font-weight:800;color:#bcebd1}.footer-recargaok{background:#fff;padding:7rem 0 2rem;color:var(--rok-ink)}.footer-logo-color{width:210px;height:auto}.footer-summary{color:#5c6b7e;line-height:1.75;max-width:340px}.company-badge{display:inline-flex;flex-direction:column;background:var(--rok-soft);border:1px solid var(--rok-border);border-radius:.85rem;padding:.75rem 1rem;font-size:.82rem}.company-badge span{color:#68778b;margin-top:.15rem}.footer-heading-new{font-size:.8rem;text-transform:uppercase;letter-spacing:.12em;font-weight:800;color:var(--rok-blue);margin-bottom:1.1rem}.footer-link-new{display:block;color:#495a70;text-decoration:none;margin:.7rem 0;line-height:1.35}.footer-link-new:hover{color:var(--rok-blue);transform:translateX(2px)}.contact-card{background:#f7fbff;border:1px solid var(--rok-border);border-radius:1.15rem;padding:1.5rem}.contact-row{display:flex;gap:.8rem;align-items:flex-start;color:#4e5f73;text-decoration:none;margin:.75rem 0;line-height:1.45}.contact-row:hover{color:var(--rok-blue)}.contact-icon{width:1.65rem;height:1.65rem;border-radius:.5rem;background:#e7f1ff;color:var(--rok-blue);display:grid;place-items:center;flex:0 0 1.65rem;font-weight:800}.footer-bottom{margin-top:3.6rem;padding-top:1.5rem;border-top:1px solid var(--rok-border);display:flex;justify-content:space-between;gap:1.5rem;color:#718096;font-size:.83rem}.footer-legal{display:flex;flex-wrap:wrap;gap:1.3rem}.footer-legal a{color:#66758a;text-decoration:none}.footer-legal a:hover{color:var(--rok-blue)}
@media(max-width:991.98px){.navbar-brand img{width:145px}.footer-cta-card{flex-direction:column;align-items:flex-start;padding:2rem}.footer-cta-card .btn{width:100%}.footer-bottom{flex-direction:column}.footer-recargaok{padding-top:6rem}.system-real-badge{left:1rem;top:1rem}}

/* v4.1 - richer SB UI Kit Pro composition */
.hero-v41{overflow:hidden}.desktop-showcase{position:relative;padding:1rem 1rem 2rem}.mini-status{position:absolute;background:#fff;border:1px solid var(--rok-border);border-radius:1rem;padding:.85rem 1rem;box-shadow:0 1rem 2.5rem rgba(23,36,58,.15);display:flex;flex-direction:column;min-width:175px}.mini-status strong{font-size:.9rem}.mini-status small{color:#6b7b8e}.mini-status-a{right:-1rem;top:-.3rem}.mini-status-b{left:-1.4rem;bottom:0}.service-ribbon{background:#fff;border-top:1px solid var(--rok-border);border-bottom:1px solid var(--rok-border)}.ribbon-item{display:flex;align-items:center;justify-content:center;text-align:left;gap:.8rem}.ribbon-item strong,.ribbon-item small{display:block}.ribbon-item small{color:#718096}.ribbon-icon{width:2.5rem;height:2.5rem;border-radius:.8rem;display:grid;place-items:center;font-weight:800;color:#fff;background:var(--rok-blue)}.ribbon-icon.green{background:var(--rok-green)}.ribbon-icon.cyan{background:#0aa6b5}.ribbon-icon.navy{background:var(--rok-blue-dark)}.service-card-pro{overflow:hidden;position:relative}.service-card-pro:after{content:"";position:absolute;width:120px;height:120px;border-radius:50%;right:-65px;top:-65px;background:linear-gradient(135deg,rgba(9,103,216,.09),rgba(0,189,79,.08))}.app-window-card{background:#fff;border:1px solid var(--rok-border);border-radius:1.2rem;padding:.8rem;box-shadow:0 1.8rem 4rem rgba(23,36,58,.14)}.app-window-card img{width:100%;border-radius:.65rem;display:block}.app-window-bar{height:2.3rem;display:flex;align-items:center;gap:.4rem;padding:0 .45rem;color:#718096;font-size:.78rem}.app-window-bar span{width:.65rem;height:.65rem;border-radius:50%;background:#d8e1ec}.app-window-bar span:nth-child(1){background:#ff6b6b}.app-window-bar span:nth-child(2){background:#ffc857}.app-window-bar span:nth-child(3){background:#38c172}.app-window-bar div{margin-left:.55rem}.feature-list-pro>div{display:flex;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--rok-border)}.feature-list-pro>div>span{flex:0 0 2.3rem;height:2.3rem;border-radius:.75rem;background:#e9f2ff;color:var(--rok-blue);display:grid;place-items:center;font-weight:800;font-size:.8rem}.feature-list-pro p{margin:0}.feature-list-pro strong,.feature-list-pro small{display:block}.feature-list-pro small{margin-top:.25rem;color:#6d7b8e}.pattern-band{background:linear-gradient(125deg,var(--rok-blue-dark),var(--rok-blue) 58%,var(--rok-green));min-height:560px}.pattern-band-art{position:absolute;inset:0;background-image:url('../img/pattern-shapes.png');background-repeat:repeat;background-size:340px 340px;opacity:.82;mix-blend-mode:screen;filter:contrast(1.4) brightness(1.45)}.pattern-band:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,59,117,.38),rgba(9,103,216,.1),rgba(0,189,79,.12));pointer-events:none}.pattern-lead{color:rgba(255,255,255,.82)}.glass-feature{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.28);backdrop-filter:blur(8px);border-radius:1.2rem;padding:1.7rem;color:#fff;box-shadow:0 1rem 2rem rgba(0,0,0,.12)}.glass-feature p{margin-bottom:0;color:rgba(255,255,255,.78)}.glass-number{font-size:.75rem;font-weight:800;letter-spacing:.12em;color:#c7f5dd;margin-bottom:1rem}.section-intro{max-width:760px}.process-card{height:100%;background:#fff;border:1px solid var(--rok-border);border-radius:1.1rem;padding:2rem;box-shadow:0 .8rem 2rem rgba(23,36,58,.06);position:relative;overflow:hidden}.process-card>span{font-size:3rem;line-height:1;font-weight:900;color:#e6effa;position:absolute;right:1.3rem;top:1rem}.process-card h3{position:relative;margin-top:2.7rem}.process-card p{color:#68778b;margin-bottom:0}.trust-pro-card{height:100%;background:#fff;border:1px solid var(--rok-border);border-radius:1rem;padding:1.6rem;box-shadow:0 .75rem 1.8rem rgba(23,36,58,.06)}.trust-pro-card p{color:#68778b;margin-bottom:0}.trust-pro-card.horizontal{display:flex;gap:1rem;align-items:flex-start}.trust-symbol{width:2.7rem;height:2.7rem;border-radius:.8rem;display:grid;place-items:center;background:linear-gradient(135deg,var(--rok-blue),var(--rok-green));color:#fff;font-weight:900;flex:0 0 2.7rem;margin-bottom:1rem}.horizontal .trust-symbol{margin-bottom:0}
@media(max-width:991.98px){.mini-status{display:none}.ribbon-item{justify-content:flex-start}.pattern-band{min-height:auto}.pattern-band-art{background-size:270px}.desktop-showcase{padding:0}.app-feature-section .row{flex-direction:column-reverse}}
@media(max-width:575.98px){.ribbon-item{align-items:flex-start}.ribbon-icon{flex:0 0 2.5rem}.pattern-band-art{opacity:.65}.glass-feature{padding:1.35rem}}

/* Ajuste definitivo del logo principal */
.navbar-marketing {
    min-height: 88px;
}

.navbar-brand {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
    padding: 0;
    margin-right: 2rem;
}

.navbar-brand img {
    display: block;
    width: 225px !important;
    height: auto !important;
    max-width: none !important;
    max-height: 62px !important;
    object-fit: contain;
}

@media (max-width: 991.98px) {
    .navbar-marketing {
        min-height: 78px;
    }

    .navbar-brand img {
        width: 185px !important;
        max-height: 52px !important;
    }
}

@media (max-width: 575.98px) {
    .navbar-brand {
        margin-right: 1rem;
    }

    .navbar-brand img {
        width: 155px !important;
        max-height: 44px !important;
    }
}


/* Flecha corregida del menú */
.navbar-marketing .nav-link {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
}

.nav-chevron {
    display: inline-block;
    width: .5rem;
    height: .5rem;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg) translateY(-1px);
    transform-origin: center;
    opacity: .75;
    margin-top: -0.15rem;
    flex: 0 0 auto;
    transition: transform .18s ease, opacity .18s ease;
}

.dropdown-manual:hover > .nav-link .nav-chevron,
.dropdown-manual.open > .nav-link .nav-chevron {
    transform: rotate(225deg) translateY(-1px);
    opacity: 1;
}

@media (max-width: 991.98px) {
    .navbar-marketing .nav-link {
        justify-content: space-between;
        width: 100%;
    }
}

/* Correccion de interaccion para los submenus */
.navbar-marketing,
.navbar-marketing .container,
.navbar-marketing .navbar-collapse,
.navbar-marketing .navbar-nav,
.dropdown-manual {
    position: relative;
}

.navbar-marketing {
    z-index: 1050;
    overflow: visible !important;
}

.dropdown-manual {
    z-index: 1060;
}

.mega-menu {
    z-index: 1070;
    pointer-events: auto;
}

.mega-menu a {
    position: relative;
    z-index: 1;
    pointer-events: auto;
    cursor: pointer;
}

.mega-menu a strong,
.mega-menu a small {
    pointer-events: none;
}

@media (min-width: 992px) {
    .dropdown-manual::after {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        top: 100%;
        height: 18px;
    }
}

/* v5.1 - submenus estables por clic */
.dropdown-manual:hover > .mega-menu {
    display: none;
}

.dropdown-manual.open > .mega-menu {
    display: grid;
}

.submenu-toggle {
    border: 0;
    background: transparent;
    font: inherit;
    cursor: pointer;
}

.submenu-toggle:focus-visible {
    outline: 3px solid rgba(9, 103, 216, .22);
    outline-offset: 4px;
    border-radius: .5rem;
}

.dropdown-manual::after {
    display: none !important;
}

.mega-menu {
    top: calc(100% + .8rem);
}

.mega-menu::before {
    content: "";
    position: absolute;
    top: -.55rem;
    right: 2.5rem;
    width: 1rem;
    height: 1rem;
    background: #fff;
    border-left: 1px solid var(--rok-border);
    border-top: 1px solid var(--rok-border);
    transform: rotate(45deg);
}

.mega-menu-all {
    grid-column: 1 / -1;
    background: var(--rok-soft);
    border: 1px solid var(--rok-border);
}

.dropdown-manual.open > .nav-link .nav-chevron {
    transform: rotate(225deg) translateY(-1px);
    opacity: 1;
}

@media (max-width: 991.98px) {
    .submenu-toggle {
        padding-left: 0;
        padding-right: 0;
    }

    .mega-menu {
        margin-top: .35rem;
    }

    .mega-menu::before {
        display: none;
    }
}

/* v6: catálogo ampliado */
#submenu-servicios.mega-menu {
    min-width: 560px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
#submenu-servicios .mega-menu-all {
    grid-column: 1 / -1;
}
@media (max-width: 991.98px) {
    #submenu-servicios.mega-menu {
        min-width: 0;
        grid-template-columns: 1fr;
    }
    #submenu-servicios .mega-menu-all {
        grid-column: auto;
    }
}

/* v7: navegación compacta y hero comercial */
.nav-desktop,
.mobile-nav {
    z-index: 1100;
}

.nav-desktop {
    min-height: 74px;
    padding: 0;
}

.nav-container {
    width: min(100% - 3rem, 1360px);
    min-height: 74px;
    margin: 0 auto;
    display: flex;
    align-items: center;
}

.nav-desktop .navbar-brand {
    flex: 0 0 auto;
    margin-right: 0;
}

.nav-desktop .navbar-brand img {
    width: 185px !important;
    max-height: 50px !important;
}

.desktop-menu {
    flex: 1 1 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
    min-width: 0;
}

.desktop-nav-links {
    flex: 1 1 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .35rem;
    min-width: 0;
}

.desktop-nav-links > .nav-link,
.desktop-nav-links > .dropdown-manual > .nav-link {
    min-height: 74px;
    padding: 0 .75rem;
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
}

.desktop-menu .submenu-toggle {
    gap: .7rem;
}

.desktop-nav-actions {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: .75rem;
}

.desktop-menu .btn {
    margin-left: 0;
    padding: .72rem 1.15rem;
}

.nav-login {
    margin-left: 0 !important;
}

.nav-desktop .mega-menu {
    top: calc(100% + .45rem);
}

.mobile-nav {
    padding: 0;
}

.mobile-nav-bar {
    min-height: 68px;
    width: 100%;
    padding: 0 1rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.mobile-nav .navbar-brand img {
    width: 155px !important;
    max-height: 44px !important;
}

.mobile-nav-panel {
    display: none;
    position: absolute;
    top: 68px;
    left: 0;
    right: 0;
    max-height: calc(100vh - 68px);
    overflow-y: auto;
    padding: 1rem 1.25rem 1.4rem;
    background: #fff;
    border-top: 1px solid var(--rok-border);
    box-shadow: 0 1rem 2rem rgba(23,36,58,.12);
}

.mobile-nav-panel.show {
    display: block;
}

.mobile-nav-panel > .nav-link,
.mobile-nav-panel > .dropdown-manual > .nav-link {
    width: 100%;
    min-height: 48px;
    padding: .65rem 0;
    justify-content: space-between;
    border-bottom: 1px solid #edf2f7;
}

.mobile-nav-panel .mega-menu {
    position: static;
    min-width: 0 !important;
    grid-template-columns: 1fr !important;
    margin: .3rem 0 .8rem;
    padding: .3rem;
    border-radius: .8rem;
    box-shadow: none;
    background: var(--rok-soft);
}

.mobile-nav-panel .mega-menu::before {
    display: none;
}

.mobile-nav-panel .mega-menu a {
    padding: .8rem .9rem;
}

.mobile-nav-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .75rem;
    margin-top: 1rem;
}

.home-hero {
    position: relative;
    overflow: hidden;
    min-height: 700px;
    display: flex;
    align-items: center;
    padding: 9.5rem 0 5.5rem;
    background:
        radial-gradient(circle at 90% 18%, rgba(0,189,79,.12), transparent 28%),
        radial-gradient(circle at 8% 35%, rgba(9,103,216,.10), transparent 30%),
        linear-gradient(180deg, #fff 0%, #f8fbff 100%);
}

.home-hero > .container {
    position: relative;
    z-index: 1;
    width: 100%;
}

.home-hero::after {
    content: "";
    position: absolute;
    left: -8%;
    right: -8%;
    bottom: -110px;
    height: 210px;
    border-radius: 50%;
    background: linear-gradient(90deg, rgba(9,103,216,.08), rgba(0,189,79,.06));
    pointer-events: none;
}

.hero-kicker {
    display: inline-flex;
    align-items: center;
    gap: .65rem;
    padding: .55rem 1rem;
    border: 1px solid rgba(0,189,79,.24);
    border-radius: 999px;
    background: rgba(232,251,239,.75);
    color: var(--rok-green-dark);
    font-weight: 700;
    margin-bottom: 1.5rem;
}

.hero-kicker span {
    width: .62rem;
    height: .62rem;
    border-radius: 50%;
    background: var(--rok-green);
    box-shadow: 0 0 0 .28rem rgba(0,189,79,.12);
}

.home-hero-title {
    max-width: 680px;
    font-size: clamp(2.7rem, 4.6vw, 4.35rem);
    line-height: 1.08;
    letter-spacing: -.045em;
    color: var(--rok-ink);
    font-weight: 800;
}

.home-hero-copy {
    max-width: 610px;
    margin-top: 1.75rem;
    color: #5f6f84;
    font-size: clamp(1.05rem, 1.4vw, 1.28rem);
    line-height: 1.75;
}

.hero-benefits-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: .9rem;
    margin-top: 2rem;
}

.hero-benefit-card {
    display: flex;
    align-items: center;
    gap: .85rem;
    min-height: 88px;
    padding: 1rem;
    color: var(--rok-ink);
    text-decoration: none;
    background: rgba(255,255,255,.9);
    border: 1px solid var(--rok-border);
    border-radius: 1rem;
    box-shadow: 0 .8rem 1.8rem rgba(23,36,58,.06);
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.hero-benefit-card:hover {
    color: var(--rok-ink);
    transform: translateY(-3px);
    border-color: rgba(9,103,216,.3);
    box-shadow: 0 1rem 2.2rem rgba(23,36,58,.1);
}

.hero-benefit-icon {
    width: 2.8rem;
    height: 2.8rem;
    flex: 0 0 2.8rem;
    display: grid;
    place-items: center;
    border-radius: .85rem;
    background: #e8fbef;
    color: var(--rok-green-dark);
    font-weight: 900;
}

.hero-benefit-card strong,
.hero-benefit-card small {
    display: block;
}

.hero-benefit-card small {
    margin-top: .2rem;
    color: #6c7b8e;
    line-height: 1.35;
}

.hero-store-card {
    position: relative;
    width: 100%;
    max-width: 600px;
    margin-left: auto;
    border-radius: 1.45rem;
    overflow: hidden;
    background: #fff;
    border: 1px solid rgba(9,103,216,.15);
    box-shadow: 0 2rem 5rem rgba(23,36,58,.18);
}

.hero-store-card img {
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    display: block;
}

.home-hero .row {
    align-items: center !important;
}

.home-hero .hero-store-card {
    margin-top: 0;
}

@media (max-width: 1199.98px) {
    .nav-container {
        width: min(100% - 1.5rem, 1140px);
    }
    .desktop-menu {
        gap: .75rem;
    }
    .desktop-nav-links {
        gap: .1rem;
    }
    .desktop-nav-links > .nav-link,
    .desktop-nav-links > .dropdown-manual > .nav-link {
        padding-left: .55rem;
        padding-right: .55rem;
    }
    .desktop-nav-actions {
        gap: .4rem;
    }
    .desktop-menu .btn {
        padding-left: .8rem;
        padding-right: .8rem;
    }
    .nav-desktop .navbar-brand img {
        width: 170px !important;
    }
}

@media (max-width: 991.98px) {
    .home-hero {
        min-height: auto;
        padding-top: 7.5rem;
    }
    .hero-store-card {
        margin: 0 auto;
    }
}

@media (max-width: 575.98px) {
    .hero-benefits-grid {
        grid-template-columns: 1fr;
    }
    .home-hero-title {
        font-size: 2.75rem;
    }
    .mobile-nav-actions {
        grid-template-columns: 1fr;
    }
}

/* v8.1: submenús con iconos y separación tipo SB UI Kit Pro */
.nav-desktop .mega-menu {
    display: none;
    min-width: 410px;
    padding: 0;
    grid-template-columns: 1fr;
    gap: 0;
    overflow: hidden;
}

.nav-desktop .mega-menu.compact {
    min-width: 390px;
}

.nav-desktop .dropdown-manual.open > .mega-menu {
    display: grid;
}

.mega-menu > a {
    min-height: 76px;
    padding: 1rem 1.15rem;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 1rem;
    border-radius: 0;
    border: 0;
    border-bottom: 1px solid var(--rok-border);
    background: #fff;
}

.mega-menu > a:last-child {
    border-bottom: 0;
}

.mega-menu > a:hover,
.mega-menu > a:focus-visible {
    background: var(--rok-soft);
}

.mega-menu .menu-icon {
    width: 2.75rem;
    height: 2.75rem;
    flex: 0 0 2.75rem;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #e6f0ff;
    color: var(--rok-blue);
}

.mega-menu .menu-icon svg {
    width: 1.25rem;
    height: 1.25rem;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.mega-menu .menu-copy {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: .12rem;
}

.mega-menu .menu-copy small {
    order: 0;
    color: #8a99ac;
    font-size: .76rem;
    line-height: 1.2;
}

.mega-menu .menu-copy strong {
    order: 1;
    color: var(--rok-ink);
    font-size: .94rem;
    line-height: 1.35;
    font-weight: 600;
}

@media (max-width: 991.98px) {
    .mobile-nav-panel .mega-menu {
        padding: 0;
        overflow: hidden;
        border: 1px solid var(--rok-border);
        background: #fff;
    }

    .mobile-nav-panel .mega-menu > a {
        min-height: 68px;
        padding: .8rem .9rem;
        flex-direction: row;
    }

    .mobile-nav-panel .mega-menu .menu-icon {
        width: 2.45rem;
        height: 2.45rem;
        flex-basis: 2.45rem;
    }
}

.service-ribbon {
  background-color: #fff;
}

.ribbon-item {
  display: flex;
  align-items: center;
  gap: 1rem;
  height: 100%;
  padding: 0.75rem 0;
}

.ribbon-icon {
  width: 46px;
  height: 46px;
  min-width: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 13px;
  color: #fff;
  box-shadow: 0 8px 18px rgba(23, 36, 58, 0.12);
}

.ribbon-icon svg {
  width: 23px;
  height: 23px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.ribbon-icon-blue {
  background: #0967d8;
}

.ribbon-icon-green {
  background: #00bd4f;
}

.ribbon-icon-cyan {
  background: #12a8b8;
}

.ribbon-icon-navy {
  background: #0c477f;
}

.ribbon-content {
  min-width: 0;
  line-height: 1.3;
}

.ribbon-content strong {
  display: block;
  margin-bottom: 0.3rem;
  color: #17243a;
  font-size: 1rem;
  font-weight: 700;
}

.ribbon-content small {
  display: block;
  color: #6c7f9d;
  font-size: 0.9rem;
  line-height: 1.4;
}

@media (max-width: 575.98px) {
  .service-ribbon {
    padding-top: 2rem !important;
    padding-bottom: 2rem !important;
  }

  .ribbon-item {
    padding: 0.8rem;
    border: 1px solid #e6edf5;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 6px 18px rgba(23, 36, 58, 0.06);
  }

  .ribbon-icon {
    width: 42px;
    height: 42px;
    min-width: 42px;
    border-radius: 11px;
  }

  .ribbon-icon svg {
    width: 21px;
    height: 21px;
  }
}

/* Vista del acceso al sistema RecargaOK */
.login-window-card {
  max-width: 460px;
  margin: 0 auto;
}

.login-preview {
  display: block;
  width: 100%;
  height: auto;
  max-height: 580px;
  object-fit: contain;
  object-position: center top;
  background: #f3f7fc;
}

@media (max-width: 991.98px) {
  .login-window-card {
    max-width: 420px;
  }
}

@media (max-width: 575.98px) {
  .login-window-card {
    max-width: 100%;
  }

  .login-preview {
    max-height: 520px;
  }
}

.affiliation-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  min-width: 290px;
  padding: 1rem 1.7rem;
  font-weight: 700;
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease;
}

.affiliation-cta span {
  font-size: 1.25rem;
  transition: transform 0.2s ease;
}

.affiliation-cta:hover {
  transform: translateY(-2px);
  box-shadow: 0 1rem 2rem rgba(0, 189, 79, 0.25);
}

.affiliation-cta:hover span {
  transform: translateX(4px);
}

@media (max-width: 575.98px) {
  .affiliation-cta {
    width: 100%;
    min-width: 0;
  }
}

/* Vista horizontal de la nueva plataforma */
.platform-preview-shell {
  width: 100%;
  max-width: 1240px;
  padding: 0.75rem;
  border-radius: 1.25rem;
  overflow: hidden;
}

.device-shell .platform-preview-image {
  display: block;
  width: 100% !important;
  height: auto !important;
  max-width: 100%;
  aspect-ratio: 1600 / 758;
  object-fit: contain;
  object-position: center;
  border-radius: 0.75rem;
}

.platform-preview-note {
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
}

@media (max-width: 767.98px) {
  .platform-preview-shell {
    padding: 0.4rem;
    border-radius: 0.9rem;
  }

  .device-shell .platform-preview-image {
    border-radius: 0.55rem;
  }
}
/* Página Ser punto: tipografía más clara y legible */
.ser-point-hero .section-label,
.ser-point-content .section-label {
    font-size: 1.05rem;
    line-height: 1.35;
    letter-spacing: 0;
    text-transform: none;
    font-weight: 700;
}

.ser-point-hero .lead {
    max-width: 920px;
    font-size: 1.2rem;
    line-height: 1.75;
}

.ser-point-content h2 {
    line-height: 1.25;
}

.ser-point-content .process-step strong {
    display: block;
    margin-bottom: .25rem;
    font-size: 1.1rem;
    line-height: 1.4;
}

.ser-point-content .process-step .text-muted,
.ser-point-content .card li {
    font-size: 1.02rem;
    line-height: 1.65;
}

.ser-point-content .small {
    font-size: .94rem;
    line-height: 1.65;
}

@media (max-width: 767.98px) {
    .ser-point-hero .section-label,
    .ser-point-content .section-label {
        font-size: 1rem;
    }

    .ser-point-hero .lead {
        font-size: 1.08rem;
    }
}
/* Tipografía global del sitio */
html {
    font-size: 17px;
}

body,
button,
input,
select,
textarea {
    font-family: "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

body {
    line-height: 1.65;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

.section-label {
    font-size: 1.02rem;
    line-height: 1.4;
    letter-spacing: 0;
    text-transform: none;
    font-weight: 700;
}

.lead {
    line-height: 1.7;
}

.text-muted,
.service-card p,
.feature-card p,
.trust-pro-card p,
.process-card p,
.faq-answer {
    line-height: 1.65;
}

@media (max-width: 767.98px) {
    html {
        font-size: 16px;
    }

    .section-label {
        font-size: 1rem;
    }
}
/* Conversión, operadoras y confianza */
.home-hero-actions{display:flex;flex-wrap:wrap;gap:.85rem}.operator-showcase{display:grid;grid-template-columns:minmax(240px,1fr) minmax(460px,1.5fr);align-items:center;gap:1.5rem;background:#f7fbff;border:1px solid var(--rok-border);border-radius:1.25rem;padding:1.35rem 1.5rem;position:relative}.operator-logo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem}.operator-logo{height:86px;background:#fff;border:1px solid #e3ebf5;border-radius:.9rem;display:grid;place-items:center;padding:.5rem}.operator-logo img{display:block;width:100%;height:100%;object-fit:contain}.operator-note{grid-column:1/-1;color:#718096;font-size:.82rem}.business-types{border-top:1px solid #eef3f9}.business-type-card{height:100%;background:#fff;border:1px solid var(--rok-border);border-radius:1.1rem;padding:1.6rem;box-shadow:0 .8rem 2rem rgba(23,36,58,.06)}.business-type-card>span{width:3rem;height:3rem;border-radius:.9rem;display:grid;place-items:center;background:linear-gradient(135deg,#e7f1ff,#e8fbef);color:var(--rok-blue);font-size:1.4rem;font-weight:800;margin-bottom:1.25rem}.business-type-card h3{font-size:1.1rem;font-weight:750}.business-type-card p{margin:0;color:#68778b;line-height:1.6}.trust-evidence{border-top:1px solid #eef3f9}.evidence-card{height:100%;background:#f7fbff;border:1px solid var(--rok-border);border-radius:1rem;padding:1.5rem}.evidence-card>span{width:2.35rem;height:2.35rem;border-radius:50%;display:grid;place-items:center;background:#e7f9ef;color:var(--rok-green-dark);font-weight:900;margin-bottom:1rem}.evidence-card h3{font-size:1.08rem;font-weight:750}.evidence-card p{margin:0;color:#68778b;line-height:1.6}.whatsapp-float{position:fixed;right:1.25rem;bottom:1.25rem;z-index:1100;display:flex;align-items:center;gap:.65rem;background:#16a34a;color:#fff;text-decoration:none;border-radius:999px;padding:.78rem 1rem;box-shadow:0 .9rem 2rem rgba(13,88,44,.28);font-weight:700;transition:transform .2s ease,box-shadow .2s ease}.whatsapp-float:hover{color:#fff;transform:translateY(-3px);box-shadow:0 1.1rem 2.4rem rgba(13,88,44,.34)}.whatsapp-float svg{width:1.65rem;height:1.65rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.whatsapp-float svg path:first-child{fill:currentColor;stroke:none;opacity:.18}
@media(max-width:991.98px){.operator-showcase{grid-template-columns:1fr}.operator-logo-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:575.98px){.home-hero-actions{display:grid}.home-hero-actions .btn{width:100%}.operator-logo-grid{grid-template-columns:repeat(2,1fr)}.operator-logo{height:76px}.business-type-card{padding:1.15rem}.whatsapp-float{width:3.75rem;height:3.75rem;padding:0;justify-content:center}.whatsapp-float span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.whatsapp-float svg{width:1.9rem;height:1.9rem}}
.operator-showcase-page{padding:1.75rem}.operator-showcase-page .operator-logo{height:96px}
@media(max-width:575.98px){.operator-showcase-page{padding:1.15rem}.operator-showcase-page .operator-logo{height:78px}}
