body {
    margin: 0;
    font-family: 'Montserrat', 'Segoe UI', Arial, sans-serif;
    background: #141824;
    color: #f9f9f9;
}

.hero {
    position: relative;
    height: 500px;
    color: white;
}
.hero-bg {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 0;
    opacity: 0.23;
}
.hero-overlay {
    position: absolute;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, #141824 50%, #182940 100%);
    opacity: 0.68;
    z-index: 1;
}
.hero-content {
    position: absolute;
    z-index: 2;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    width: 80%;
    max-width: 720px;
}
.hero-content h1 {
    font-size: 4rem;
    color: #24e0ff;
    text-shadow: 0 4px 24px #24e0ff70;
    font-weight: 700;
}
.hero-content p {
    font-size: 1.08rem;
    margin-bottom: 2.1rem;
}
.hero-content .btn {
    margin: 0 12px;
    padding: 1rem 2rem;
    background: #24e0ff;
    color: #191a28;
    border-radius: 4px;
    text-decoration: none;
    font-weight: 700;
    box-shadow: 0 0 16px #24e0ff3b;
    transition: transform .2s, box-shadow .2s;
    border: none;
    display: inline-block;
}
.hero-content .btn.secondary {
    background: #23293a;
    color: #24e0ff;
    border: 1.6px solid #24e0ff;
}
.hero-content .btn:hover {
    transform: scale(1.06);
    box-shadow: 0 0 28px #24e0ffd2;
}

.confianza {
    display: flex;
    justify-content: space-evenly;
    background: #191a28;
    padding: 48px 0;
    flex-wrap: wrap;
}
.credencial {
    text-align: center;
    max-width: 220px;
    margin-bottom: 16px;
}
.credencial .icon {
    font-size: 2.3rem;
    display: block;
    margin-bottom: 10px;
    color: #24e0ff;
}
.credencial h2 {
    font-weight: bold;
    margin-bottom: 2px;
}
.credencial p {
    font-size: 0.99rem;
    color: #ececec;
    margin-top: 2px;
}

.planes {
    margin: 44px 0 0 0;
    padding-bottom: 0;
}
.planes h2 {
    font-size: 2.2rem;
    margin-bottom: 0.6rem;
    text-align: center;
    font-weight: 700;
}
.planes-sub, .leyenda-planes {
    color: #cccccc;
    text-align: center;
    margin-bottom: 24px;
    font-size: 1.12rem;
}
.grid-planes {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
    max-width: 1150px;
    margin: 0 auto;
    padding-bottom: 22px;
}
.plan {
    background: #181c2a;
    border-radius: 14px;
    padding: 2.2rem 2rem 2.2rem 2rem;
    text-align: center;
    box-shadow: 0 4px 24px #24e0ff0f;
    position: relative;
    transition: transform .22s, box-shadow .22s;
}
.plan:hover {
    transform: translateY(-7px) scale(1.02);
    box-shadow: 0 0 32px #1bbae6b8;
}
.plan h3 {
    margin-top: 0.4em;
    font-size: 1.5rem;
}
.plan .plan-desc {
    color: #b3dbfd;
    margin-bottom: 11px;
    font-size: 1rem;
}
.plan .precio {
    font-size: 2.1rem;
    color: #24e0ff;
    margin: 1rem 0 0.5rem 0;
}
.plan .precio span {
    font-size: 1.12rem;
    color: #d7e3ee;
    font-weight: normal;
}
.plan ul {
    text-align: left;
    margin: 1.25rem auto 1.85rem auto;
    padding: 0 0 0 13px;
    max-width: 290px;
    color: #ececec;
}
.plan ul li {
    margin: 0.48em 0;
    list-style: none;
    padding-left: 1.35em;
    position: relative;
    font-size: 1.01rem;
}
.plan ul li::before {
    content: "✔";
    position: absolute;
    left: 0;
    color: #24e0ff;
    font-size: 1.01rem;
}
.plan .btn {
    width: 90%;
    font-size: 1.1rem;
}
.badge {
    position: absolute;
    top: -18px;
    left: 50%;
    transform: translateX(-50%);
    background: #24e0ff;
    color: #191a28;
    border-radius: 17px;
    padding: 0.4em 1.7em;
    font-size: 1.12em;
    font-weight: bold;
    box-shadow: 0 0 14px #24e0ff5a;
    letter-spacing: 0.04em;
}
.plan-pro.destacado {
    border: 2.5px solid #24e0ff;
    transform: scale(1.04);
    box-shadow: 0 0 32px #24e0ff7d;
    z-index: 2;
}
.btn-destacado {
    background: #24e0ff;
    color: #181c2a;
    font-weight: bold;
}
@media (max-width: 1050px) {
    .grid-planes {
        grid-template-columns: 1fr;
        gap: 1.2rem;
    }
}
@media (max-width: 700px) {
    .hero {
        height: 260px;
    }
    .hero-content h1 {
        font-size: 1.38rem;
    }
    .credencial {
        max-width: 99vw;
    }
    .confianza {
        flex-direction: column;
        align-items: center;
        padding: 20px 0;
    }
    .footer-content {
        flex-direction: column;
        gap: 24px;
    }
    .footer-content > div {
        margin-bottom: 18px;
    }
    .plan {
        width: 97vw;
        padding: 1.1rem 0.75rem;
    }
}

footer {
    background: #181c2a;
    color: #edecec;
    padding: 5rem 0 0 0;
    margin-top: 7rem;
}
.footer-content {
    display: flex;
    justify-content: space-between;
    max-width: 1150px;
    margin: 0 auto;
    padding-bottom: 1.5rem;
}
.footer-bar {
    text-align: center;
    background: #142335;
    padding: 2rem;
    color: #24e0ff;
    font-size: .95rem;
    border-top: 1px solid #24283b;
}
.footer-content h3 {
    font-weight: 700;
    margin-bottom: .6em;
    margin-top: 0;
}
.footer-content h4 {
    font-weight: 700;
    margin-bottom: .3em;
}
.footer-content ul {
    margin: 0;
    padding: 0 0 0 18px;
}
.footer-content li {
    margin-bottom: 6px;
    color: #bdf2ff;
    font-size: 1.01rem;
}
