:root{
    --navy:#05224d;
    --blue:#0565a8;
    --cyan:#00d5ff;
    --green:#10b981;
    --white:#ffffff;
    --soft:#f6fbff;
    --text:#10233f;
    --muted:#66788f;
    --line:#dceaf3;
    --shadow:0 24px 70px rgba(5,34,77,.15);
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Segoe UI',Arial,sans-serif;background:var(--soft);color:var(--text);overflow-x:hidden}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}

.topbar{
    background:linear-gradient(90deg,var(--navy),var(--blue),var(--cyan));
    color:white;
    text-align:center;
    padding:10px;
    font-size:13px;
    font-weight:800;
}

.site-header{
    position:sticky;
    top:0;
    z-index:999;
    background:rgba(255,255,255,.94);
    backdrop-filter:blur(20px);
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:18px 5%;
    box-shadow:0 10px 30px rgba(0,0,0,.05);
}

.brand img{height:65px}

.main-nav{
    display:flex;
    gap:28px;
    font-weight:800;
}

.main-nav a:hover{color:var(--blue)}
/* ===== BOTON GESTION ESTUDIANTES ===== */

.portal-link{

    background:linear-gradient(
        135deg,
        #00d5ff,
        #10b981
    );

    color:white !important;

    padding:12px 18px;

    border-radius:999px;

    font-weight:900;

    box-shadow:0 12px 35px rgba(0,213,255,.25);

    transition:.3s;
}

.portal-link:hover{

    color:white !important;

    transform:translateY(-3px);

    box-shadow:0 20px 45px rgba(0,213,255,.35);
}

/* ===== FIN BOTON GESTION ESTUDIANTES ===== */

.header-btn{
    background:linear-gradient(135deg,var(--blue),var(--cyan));
    color:white;
    padding:14px 24px;
    border-radius:50px;
    font-weight:800;
    box-shadow:var(--shadow);
    transition:.3s;
}

.header-btn:hover{transform:translateY(-3px)}

.hero{
    position:relative;
    min-height:calc(100vh - 90px);
    display:flex;
    align-items:center;
    overflow:hidden;
    padding:120px 0 140px;
}

.hero-image{
    background:
        linear-gradient(90deg,rgba(5,34,77,.88),rgba(5,34,77,.52),rgba(5,34,77,.12)),
        url('/assets/img/banner-cartagena.jpg');
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
}

.hero-overlay{
    position:absolute;
    inset:0;
    background:
    radial-gradient(circle at 75% 20%,rgba(0,213,255,.24),transparent 35%),
    linear-gradient(90deg,rgba(5,34,77,.88),rgba(5,34,77,.54),rgba(5,34,77,.08));
}

.hero-content{
    position:relative;
    z-index:2;
    width:min(1200px,92%);
    margin:auto;
    color:white;
}

.hero-badge{
    display:inline-flex;
    padding:12px 18px;
    border-radius:999px;
    background:rgba(255,255,255,.16);
    border:1px solid rgba(255,255,255,.28);
    backdrop-filter:blur(14px);
    font-weight:900;
    margin-bottom:22px;
}

.hero h1{
    font-size:clamp(42px,7vw,76px);
    line-height:.95;
    margin-bottom:25px;
    letter-spacing:-2px;
    max-width:850px;
}

.hero h1 span{color:var(--cyan)}

.hero p{
    font-size:clamp(18px,2vw,22px);
    line-height:1.7;
    margin-bottom:35px;
    color:#e8fbff;
    max-width:750px;
}
.hero-buttons{display:flex;gap:15px;flex-wrap:wrap}

.btn-primary,
.btn-secondary{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:16px 26px;
    border-radius:50px;
    font-weight:900;
    transition:.3s;
}

.btn-primary{
    background:linear-gradient(135deg,var(--cyan),var(--green));
    color:var(--navy);
}

.btn-secondary{
    background:rgba(255,255,255,.15);
    border:1px solid rgba(255,255,255,.3);
    color:white;
    backdrop-filter:blur(15px);
}

.btn-primary:hover,
.btn-secondary:hover{transform:translateY(-4px)}

.prom-stats{
    position:relative;
    margin-top:-80px;
    z-index:5;
    padding:0 6% 70px;
}

.prom-stats-grid{
    max-width:1180px;
    margin:auto;
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:20px;
    background:rgba(255,255,255,.92);
    backdrop-filter:blur(20px);
    border:1px solid rgba(255,255,255,.9);
    box-shadow:var(--shadow);
    border-radius:30px;
    padding:28px;
}

.prom-stat{
    text-align:center;
    padding:22px 15px;
    border-right:1px solid var(--line);
}

.prom-stat:last-child{border-right:none}

.prom-stat strong{
    display:block;
    font-size:34px;
    color:var(--navy);
    margin-bottom:8px;
}

.prom-stat span{
    color:var(--muted);
    font-size:14px;
    font-weight:800;
}

.section{
    padding:100px 6%;
}

.section-title{
    text-align:center;
    margin-bottom:60px;
}

.section-title span{
    color:var(--cyan);
    font-size:13px;
    text-transform:uppercase;
    font-weight:900;
    letter-spacing:.12em;
}

.section-title h2{
    font-size:48px;
    color:var(--navy);
    margin:14px auto 15px;
    max-width:850px;
    line-height:1.08;
}

.section-title p{
    max-width:760px;
    margin:auto;
    color:var(--muted);
    line-height:1.8;
    font-size:17px;
}

.cards{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
    gap:28px;
}

.card{
    background:white;
    border-radius:30px;
    overflow:hidden;
    box-shadow:var(--shadow);
    transition:.35s;
    border:1px solid rgba(220,234,243,.9);
}

.card:hover{transform:translateY(-10px)}

.card img{
    width:100%;
    height:260px;
    object-fit:cover;
}

.destination-card img{height:320px}

.card-body{
    padding:28px;
}

.card-body h3{
    color:var(--navy);
    margin-bottom:12px;
    font-size:23px;
}

.card-body p{
    color:var(--muted);
    line-height:1.7;
}

.destinations{
    background:white;
}

.process-section{
    background:linear-gradient(180deg,#f6fbff,#ffffff);
    padding:100px 6%;
}

.process-grid{
    max-width:1180px;
    margin:auto;
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:18px;
}

.process-card{
    background:white;
    border-radius:28px;
    padding:28px 20px;
    text-align:center;
    box-shadow:0 18px 45px rgba(5,34,77,.08);
    border:1px solid var(--line);
}

.process-card strong{
    display:flex;
    width:54px;
    height:54px;
    margin:0 auto 18px;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:linear-gradient(135deg,var(--blue),var(--cyan));
    color:white;
}

.process-card h3{
    color:var(--navy);
    margin-bottom:10px;
}

.process-card p{
    color:var(--muted);
    line-height:1.6;
    font-size:14px;
}

.platform-section{
    background:var(--navy);
    color:white;
    padding:100px 6%;
}

.platform-container{
    max-width:1180px;
    margin:auto;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:55px;
    align-items:center;
}

.platform-container span{
    color:var(--cyan);
    text-transform:uppercase;
    font-size:13px;
    font-weight:900;
    letter-spacing:.12em;
}

.platform-container h2{
    font-size:46px;
    line-height:1.08;
    margin:14px 0 18px;
}

.platform-container p{
    color:#d8f4ff;
    line-height:1.8;
    margin-bottom:28px;
    font-size:17px;
}

.platform-box{
    background:rgba(255,255,255,.1);
    border:1px solid rgba(255,255,255,.18);
    border-radius:36px;
    padding:26px;
    display:grid;
    gap:18px;
    box-shadow:0 30px 80px rgba(0,0,0,.25);
}

.platform-row{
    height:82px;
    border-radius:22px;
    background:linear-gradient(90deg,#ffffff,#eaf7ff);
}

/* ===== COTIZACIÓN PREMIUM AMPLIA ===== */

/* ===== COTIZACIÓN PREMIUM AMPLIA ===== */

.quote-section{
    padding:110px 6%;
    background:
        radial-gradient(circle at 15% 20%, rgba(0,213,255,.10), transparent 30%),
        linear-gradient(180deg,#f5fbff,#ffffff);
}

.quote-container{
    width:min(1280px,100%);
    margin:0 auto;
    padding:42px;

    display:grid;
    grid-template-columns:.9fr 1.1fr;
    gap:42px;
    align-items:center;

    background:#ffffff;
    border:1px solid #dceaf3;
    border-radius:34px;

    box-shadow:
        0 30px 80px rgba(5,34,77,.13),
        0 5px 15px rgba(5,34,77,.04);
}

.quote-info h2{
    margin:12px 0 18px;
    color:#05224d;
    font-size:clamp(34px,4vw,52px);
    line-height:1.05;
    letter-spacing:-1px;
}

.quote-info p{
    color:#66788f;
    font-size:16px;
    line-height:1.75;
}

.quote-points{
    display:grid;
    gap:12px;
    margin-top:26px;
}

.quote-points div{
    padding:14px 16px;
    border-radius:16px;
    background:#f1f9ff;
    border:1px solid #d6ebf7;
    color:#05224d;
    font-size:14px;
    font-weight:800;
}

.quote-form{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px;
}

.quote-form textarea,
.quote-form button{
    grid-column:1 / -1;
}

.quote-form input,
.quote-form select,
.quote-form textarea{
    width:100%;
    min-height:52px;
    padding:14px 15px;
    border:1px solid #cfe2ef;
    border-radius:16px;
    background:#fbfdff;
    color:#10233f;
    font-size:14px;
    outline:none;
}

.quote-form textarea{
    min-height:135px;
    resize:vertical;
}

.quote-form input:focus,
.quote-form select:focus,
.quote-form textarea:focus{
    border-color:#00c7ed;
    box-shadow:0 0 0 4px rgba(0,199,237,.13);
}

.quote-form button{
    min-height:54px;
    border:0;
    border-radius:999px;
    cursor:pointer;

    background:linear-gradient(135deg,#00d5ff,#10b981);
    color:#05224d;

    font-size:15px;
    font-weight:900;

    box-shadow:0 15px 35px rgba(0,168,232,.20);
}

@media(max-width:900px){

    .quote-container{
        grid-template-columns:1fr;
        padding:30px;
    }

}

@media(max-width:650px){

    .quote-section{
        padding:75px 5%;
    }

    .quote-container{
        padding:24px 18px;
        border-radius:26px;
    }

    .quote-form{
        grid-template-columns:1fr;
    }

    .quote-form textarea,
    .quote-form button{
        grid-column:1;
    }

}

/* ===== FIN COTIZACIÓN PREMIUM AMPLIA ===== */

/* ===== FIN COTIZACIÓN PREMIUM AMPLIA ===== */

.footer-premium{
    background:linear-gradient(180deg,#031a3c,#04234f);
    position:relative;
    overflow:hidden;
    color:white;
    padding-top:90px;
}

.footer-container{
    width:min(1400px,92%);
    margin:auto;
}

.footer-grid{
    display:grid;
    grid-template-columns:2fr 1fr 1fr 1fr 1fr;
    gap:60px;
    padding-bottom:60px;
}

.footer-brand img{
    max-width:260px;
    margin-bottom:25px;
    background:white;
    padding:10px;
    border-radius:18px;
}

.footer-brand p{
    color:#c7d8ec;
    line-height:1.8;
    font-size:15px;
    margin-bottom:25px;
}

.footer-contact-list{
    display:flex;
    flex-direction:column;
    gap:12px;
    color:#d7e6f5;
    font-size:14px;
}

.footer-grid h3{
    color:white;
    margin-bottom:25px;
    font-size:18px;
    position:relative;
}

.footer-grid h3::after{
    content:"";
    position:absolute;
    left:0;
    bottom:-10px;
    width:40px;
    height:3px;
    border-radius:20px;
    background:linear-gradient(90deg,var(--cyan),var(--green));
}

.footer-grid ul{list-style:none}

.footer-grid li{margin-bottom:14px}

.footer-grid a{
    color:#c7d8ec;
    transition:.3s;
    font-size:14px;
}

.footer-grid a:hover{
    color:var(--cyan);
    padding-left:6px;
}

.footer-help{
    margin-bottom:60px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:35px;
    border-radius:28px;
    background:rgba(255,255,255,.05);
    backdrop-filter:blur(12px);
    border:1px solid rgba(255,255,255,.08);
}

.footer-help h3{
    font-size:28px;
    margin-bottom:10px;
}

.footer-help p{
    color:#d6e5f2;
}

.footer-whatsapp{
    background:linear-gradient(135deg,var(--cyan),var(--green));
    padding:18px 30px;
    border-radius:18px;
    color:#032147;
    display:flex;
    flex-direction:column;
    align-items:center;
    font-weight:900;
    transition:.3s;
}

.footer-whatsapp:hover{transform:translateY(-5px)}

.footer-whatsapp span{font-size:13px}

.footer-whatsapp strong{font-size:20px}

.footer-stats{
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:20px;
    margin-bottom:50px;
}

.footer-stats div{
    background:rgba(255,255,255,.05);
    border:1px solid rgba(255,255,255,.08);
    border-radius:22px;
    text-align:center;
    padding:25px;
}

.footer-stats strong{
    display:block;
    font-size:27px;
    margin-bottom:8px;
    color:var(--cyan);
}

.footer-stats span{
    color:#d3e2f1;
    font-size:13px;
}

.footer-copy{
    border-top:1px solid rgba(255,255,255,.08);
    text-align:center;
    padding:30px 0;
    color:#b8c9db;
    font-size:13px;
}

.floating-whatsapp{
    position:fixed;
    right:24px;
    bottom:24px;
    width:68px;
    height:68px;
    border-radius:50%;
    background:#25d366;
    color:white;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:30px;
    z-index:1500;
    box-shadow:0 18px 45px rgba(37,211,102,.45);
    animation:whatsappPulse 2s infinite;
}

@keyframes whatsappPulse{
    0%{box-shadow:0 0 0 0 rgba(37,211,102,.45);}
    70%{box-shadow:0 0 0 18px rgba(37,211,102,0);}
    100%{box-shadow:0 0 0 0 rgba(37,211,102,0);}
}

@media(max-width:1100px){
    .main-nav{display:none}
    .hero h1{font-size:52px}
    .prom-stats-grid{grid-template-columns:1fr 1fr}
    .prom-stat{border-right:none}
    .process-grid{grid-template-columns:1fr 1fr}
    .platform-container{grid-template-columns:1fr}
    .quote-container{grid-template-columns:1fr}
    .quote-form{grid-template-columns:1fr}
    .footer-grid{grid-template-columns:1fr 1fr}
    .footer-stats{grid-template-columns:1fr 1fr}
}

@media(max-width:700px){
    .brand img{height:50px}
    .header-btn{display:none}
    .hero h1{font-size:40px;letter-spacing:-1px}
    .hero p{font-size:17px}
    .hero-buttons{flex-direction:column}
    .prom-stats{margin-top:-45px}
    .prom-stats-grid{grid-template-columns:1fr}
    .section-title h2{font-size:32px}
    .process-grid{grid-template-columns:1fr}
    .quote-container{padding:30px}
    .quote-info h2{font-size:32px}
    .footer-grid{grid-template-columns:1fr}
    .footer-help{flex-direction:column;text-align:center;gap:25px}
    .footer-stats{grid-template-columns:1fr}
}








/* RESPONSIVE PREMIUM */

@media(max-width:1200px){

    .hero{
        padding:100px 0;
    }

    .process-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .footer-grid{
        grid-template-columns:1fr 1fr;
    }

}

@media(max-width:768px){

    .site-header{
        padding:14px 5%;
    }

    .hero{
        min-height:auto;
        padding:90px 0 80px;
    }

    .hero-content{
        width:90%;
    }

    .hero-buttons{
        flex-direction:column;
    }

    .prom-stats-grid{
        grid-template-columns:1fr;
    }

    .cards{
        grid-template-columns:1fr;
    }

    .platform-container{
        grid-template-columns:1fr;
    }

    .quote-container{
        grid-template-columns:1fr;
        padding:30px;
    }

    .quote-form{
        grid-template-columns:1fr;
    }

    .footer-grid{
        grid-template-columns:1fr;
    }

    .footer-stats{
        grid-template-columns:1fr;
    }

}

@media(max-width:480px){

    .hero h1{
        font-size:38px;
    }

    .section-title h2{
        font-size:30px;
    }

}
.trust-section{
    padding:90px 6%;
    background:linear-gradient(135deg,#ffffff,#eefaff);
}

.trust-container{
    max-width:1180px;
    margin:auto;
    display:grid;
    grid-template-columns:.85fr 1.15fr;
    gap:50px;
    align-items:center;
}

.trust-copy span{
    color:var(--cyan);
    font-size:13px;
    font-weight:900;
    letter-spacing:.12em;
    text-transform:uppercase;
}

.trust-copy h2{
    color:var(--navy);
    font-size:44px;
    line-height:1.08;
    margin:14px 0 18px;
}

.trust-copy p{
    color:var(--muted);
    line-height:1.8;
    font-size:17px;
}

.trust-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px;
}

.trust-card{
    background:white;
    border:1px solid var(--line);
    border-radius:26px;
    padding:26px;
    box-shadow:0 18px 45px rgba(5,34,77,.08);
    transition:.3s;
}

.trust-card:hover{
    transform:translateY(-7px);
}

.trust-card strong{
    color:var(--cyan);
    font-size:24px;
}

.trust-card h3{
    margin:12px 0 10px;
    color:var(--navy);
}

.trust-card p{
    color:var(--muted);
    line-height:1.6;
}

@media(max-width:900px){
    .trust-container{
        grid-template-columns:1fr;
    }

    .trust-grid{
        grid-template-columns:1fr;
    }

    .trust-copy h2{
        font-size:32px;
    }
}
/* ===== GALERIA PROM 11 ===== */

.gallery-grid{
    max-width:1200px;
    margin:auto;

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:20px;
}

.gallery-item{
    overflow:hidden;
    border-radius:28px;
    box-shadow:0 20px 50px rgba(5,34,77,.12);
}

.gallery-item img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:.4s;
}

.gallery-item:hover img{
    transform:scale(1.08);
}

.gallery-large{
    grid-row:span 2;
}

.gallery-large img{
    min-height:620px;
}

@media(max-width:768px){

    .gallery-grid{
        grid-template-columns:1fr;
    }

    .gallery-large img{
        min-height:320px;
    }

}

/* ===== FIN GALERIA PROM 11 ===== */


/* ===== TESTIMONIOS HOME ===== */

.testimonios-home{
    padding:120px 6%;
    background:#fff;
}

.testimonios-grid{
    max-width:1200px;
    margin:auto;

    display:grid;
    grid-template-columns:repeat(3,1fr);

    gap:24px;
}

.testimonio-card{
    background:white;

    border-radius:28px;

    padding:30px;

    border:1px solid #e5eef7;

    box-shadow:0 20px 50px rgba(5,34,77,.08);
}

.testimonio-card .stars{
    color:#00c7f7;
    font-size:22px;
    margin-bottom:15px;
}

.testimonio-card p{
    color:#66788f;
    line-height:1.8;
    margin-bottom:20px;
}

.testimonio-card strong{
    display:block;
    color:#05224d;
}

.testimonio-card span{
    color:#00b4d8;
    font-size:13px;
    font-weight:700;
}

@media(max-width:900px){

    .testimonios-grid{
        grid-template-columns:1fr;
    }

}

/* ===== FIN TESTIMONIOS HOME ===== */
/* ===== FIX IMAGENES PLANES DINAMICOS ===== */

.destination-card{
    overflow:hidden;
}

.destination-card > img{
    width:100%;
    height:320px;
    object-fit:cover;
    object-position:center;
    display:block;
    background:#eef8ff;
}

/* ===== FIN FIX IMAGENES PLANES DINAMICOS ===== */
/* ===== HERO ESTILO REFERENCIA ===== */

.hero-centered{
    min-height:100vh;
    align-items:center;
    text-align:center;
    padding:40px 6% 120px;
}

.hero-centered .hero-content{
    max-width:1150px;
    margin:auto;
    display:flex;
    flex-direction:column;
    align-items:center;
}

.hero-centered .hero-logo{
    width:360px;
    max-width:75%;
    margin-bottom:45px;
    filter:drop-shadow(0 12px 25px rgba(0,0,0,.35));
}

.hero-menu{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:55px;
    margin-bottom:70px;
    flex-wrap:wrap;
}

.hero-menu a{
    color:#eaff00;
    font-size:18px;
    font-weight:500;
    text-shadow:0 3px 12px rgba(0,0,0,.35);
}

.hero-menu a:first-child{
    color:#111;
    border-bottom:2px solid #111;
}

.hero-centered h1{
    max-width:980px;
    font-size:clamp(42px,5.5vw,76px);
    line-height:1.22;
    letter-spacing:.5px;
    color:white;
    text-align:center;
    margin-bottom:35px;
    text-shadow:0 8px 28px rgba(0,0,0,.38);
}

.hero-centered h1 span{
    color:white;
}

.hero-centered p{
    max-width:780px;
    font-size:24px;
    line-height:1.55;
    color:white;
    text-align:center;
    margin-bottom:38px;
    text-shadow:0 5px 20px rgba(0,0,0,.35);
}

.hero-centered .hero-badge{
    display:none;
}

.btn-hero-outline{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:20px 38px;
    border-radius:999px;
    border:2px solid rgba(255,255,255,.85);
    color:white;
    font-size:20px;
    font-weight:500;
    background:rgba(255,255,255,.05);
    backdrop-filter:blur(10px);
    transition:.3s;
}

.btn-hero-outline:hover{
    background:white;
    color:#05224d;
    transform:translateY(-4px);
}

/* Ocultar header blanco solo en home si usas menú dentro del hero */
body .site-header{
    position:absolute;
    top:0;
    left:0;
    width:100%;
    background:transparent;
    box-shadow:none;
    backdrop-filter:none;
    z-index:50;
}

body .site-header .brand,
body .site-header .main-nav,
body .site-header .header-btn{
    display:none;
}

.hero-image{
    background:
        linear-gradient(rgba(0,0,0,.42),rgba(0,0,0,.48)),
        url('/assets/img/banner-cartagena.jpg');
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
}

/* ===== FIN HERO ESTILO REFERENCIA ===== */
/* ===== HERO REFERENCIA RESPONSIVE ===== */

@media(max-width:768px){

    .hero-centered{
        min-height:100vh;
        padding:28px 5% 90px;
    }

    .hero-centered .hero-logo{
        width:230px;
        margin-bottom:28px;
    }

    .hero-menu{
        gap:16px;
        margin-bottom:45px;
        font-size:14px;
    }

    .hero-menu a{
        font-size:14px;
    }

    .hero-centered h1{
        font-size:34px;
        line-height:1.18;
    }

    .hero-centered p{
        font-size:17px;
        line-height:1.55;
    }

    .btn-hero-outline{
        width:100%;
        max-width:300px;
        font-size:16px;
        padding:16px 22px;
    }
}

/* ===== FIN HERO REFERENCIA RESPONSIVE ===== */
/* ===== HERO REFERENCIA PREMIUM V2 ===== */

.hero-reference{
    min-height:100vh;
    position:relative;
    background:url('/assets/img/hero-cartagena.jpg');
    background-size:cover;
    background-position:center 38%;
    background-repeat:no-repeat;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:24px 6% 70px;
}

.hero-dark{
    position:absolute;
    inset:0;
    background:linear-gradient(
        180deg,
        rgba(0,0,0,.28),
        rgba(0,0,0,.34),
        rgba(0,0,0,.42)
    );
}

.hero-ref-content{
    position:relative;
    z-index:2;
    width:min(1250px,100%);
    text-align:center;
    color:white;
}

.hero-ref-logo{
    width:300px;
    max-width:60%;
    margin:0 auto 42px;
    filter:drop-shadow(0 10px 22px rgba(0,0,0,.30));
}

.hero-ref-menu{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:42px;
    margin-bottom:55px;
    flex-wrap:wrap;
}

.hero-ref-menu a{
    color:#eaff00;
    font-size:18px;
    font-weight:500;
    text-shadow:0 2px 10px rgba(0,0,0,.35);
}

.hero-ref-menu a:first-child{
    color:#101010;
    border-bottom:2px solid #101010;
}

.hero-contact-btn{
    background:rgba(95,125,190,.70);
    color:#101010 !important;
    padding:20px 46px;
    border-radius:999px;
    font-weight:800 !important;
}

.hero-reference h1{
    max-width:1000px;
    margin:0 auto 30px;
    font-size:clamp(42px,5vw,66px);
    line-height:1.22;
    font-weight:800;
    color:white;
    text-shadow:0 8px 28px rgba(0,0,0,.42);
}

.hero-reference p{
    max-width:750px;
    margin:0 auto 34px;
    font-size:22px;
    line-height:1.55;
    color:white;
    text-shadow:0 5px 18px rgba(0,0,0,.40);
}

.hero-ref-btn{
    display:inline-flex;
    padding:17px 34px;
    border-radius:999px;
    border:2px solid rgba(255,255,255,.9);
    color:white;
    font-size:18px;
    background:rgba(255,255,255,.05);
    backdrop-filter:blur(10px);
}

.site-header{
    display:none;
}

@media(max-width:768px){
    .hero-reference{
        padding:22px 5% 80px;
        min-height:100vh;
        background-position:center;
    }

    .hero-ref-logo{
        width:220px;
        margin-bottom:28px;
    }

    .hero-ref-menu{
        gap:14px;
        margin-bottom:42px;
    }

    .hero-ref-menu a{
        font-size:14px;
    }

    .hero-contact-btn{
        padding:12px 20px;
    }

    .hero-reference h1{
        font-size:34px;
        line-height:1.2;
    }

    .hero-reference p{
        font-size:16px;
    }

    .hero-ref-btn{
        width:100%;
        justify-content:center;
        max-width:300px;
    }
}

/* ===== FIN HERO REFERENCIA PREMIUM V2 ===== */

/* ===== FIX HERO MENU PREMIUM FINAL ===== */

.hero-reference{
    align-items:flex-start;
    padding:34px 6% 90px;
}

.hero-ref-content{
    padding-top:0;
}

.hero-top{
    width:100%;
    display:flex;
    justify-content:center;
    align-items:center;
    position:relative;
    margin-bottom:36px;
}

.hero-ref-logo{
    width:310px;
    max-width:70%;
    margin:0 auto;
}

.menu-toggle{
    display:none;
}

.hero-ref-menu{
    margin:0 auto 70px;
    display:flex;
    justify-content:center;
    align-items:center;
    gap:42px;
}

.hero-reference h1{
    margin-top:0;
}

/* CELULAR */
@media(max-width:768px){

    .hero-reference{
        padding:22px 5% 80px;
        min-height:100vh;
    }

    .hero-top{
        justify-content:space-between;
        margin-bottom:35px;
    }

    .hero-ref-logo{
        width:190px;
        margin:0;
    }

    .menu-toggle{
        display:flex;
        width:48px;
        height:48px;
        border:none;
        border-radius:14px;
        align-items:center;
        justify-content:center;
        background:rgba(255,255,255,.88);
        color:#05224d;
        font-size:26px;
        font-weight:900;
        cursor:pointer;
        box-shadow:0 12px 30px rgba(0,0,0,.18);
    }

    .hero-ref-menu{
        display:none;
        position:absolute;
        top:82px;
        left:5%;
        right:5%;
        z-index:20;
        background:rgba(255,255,255,.94);
        backdrop-filter:blur(18px);
        border-radius:24px;
        padding:18px;
        box-shadow:0 25px 70px rgba(0,0,0,.25);
        margin:0;
    }

    body.menu-open .hero-ref-menu{
        display:grid;
        gap:8px;
    }

    .hero-ref-menu a{
        color:#05224d !important;
        font-size:15px;
        padding:13px 14px;
        border-radius:14px;
        text-align:left;
        text-shadow:none;
        border-bottom:none !important;
        background:#f3f8fc;
        font-weight:800;
    }

    .hero-contact-btn{
        background:linear-gradient(135deg,#00d5ff,#10b981) !important;
        color:#05224d !important;
        padding:14px !important;
        text-align:center !important;
    }

    .hero-reference h1{
        font-size:34px;
        line-height:1.18;
        margin-top:45px;
    }

    .hero-reference p{
        font-size:16px;
    }
}

/* ===== FIN FIX HERO MENU PREMIUM FINAL ===== */
/* ===== FOTO TESTIMONIOS ===== */

.testimonio-foto{
    width:76px;
    height:76px;
    border-radius:50%;
    object-fit:cover;
    margin-bottom:16px;
    border:4px solid #e8f8ff;
    box-shadow:0 12px 30px rgba(5,34,77,.15);
}

/* ===== FIN FOTO TESTIMONIOS ===== */
/* ===== MEJORA TESTIMONIOS ===== */

.testimonio-card{
    text-align:center;
}

.testimonio-card .stars{
    color:#FFD700;
    font-size:22px;
    margin-bottom:14px;
}

.testimonio-card p{
    font-size:15px;
    line-height:1.8;
    color:#555;
    min-height:90px;
}

.testimonio-info{
    margin-top:18px;
}

.testimonio-info strong{
    display:block;
    color:#05224d;
    font-size:18px;
    margin-bottom:6px;
}

.testimonio-info .tipo{
    display:block;
    color:#00a8e8;
    font-weight:700;
    margin-bottom:10px;
}

.testimonio-info small{
    display:block;
    color:#777;
    margin-top:4px;
    font-size:13px;
}

/* ===== FIN MEJORA TESTIMONIOS ===== */
/* ===== GALERIA PREMIUM FINAL ===== */

.gallery-premium-section{
    background:linear-gradient(180deg,#f6fbff,#ffffff);
}

.gallery-premium-grid{
    max-width:1400px;
    margin:auto;
    display:grid;
    grid-template-columns:1.2fr 1fr 1fr;
    grid-auto-rows:320px;
    gap:22px;
}

.gallery-premium-item{
    position:relative;
    overflow:hidden;
    border-radius:30px;
    background-size:cover;
    background-position:center;
    box-shadow:0 24px 60px rgba(5,34,77,.14);
}

.gallery-premium-item.large{
    grid-row:span 2;
}

.gallery-premium-item::before{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(180deg,rgba(5,34,77,.08),rgba(5,34,77,.78));
}

.gallery-premium-item div{
    position:absolute;
    left:24px;
    right:24px;
    bottom:24px;
    z-index:2;
    color:white;
}

.gallery-premium-item span{
    color:#00d5ff;
    font-size:12px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.12em;
}

.gallery-premium-item h3{
    font-size:24px;
    margin-top:8px;
    line-height:1.1;
}

@media(max-width:900px){
    .gallery-premium-grid{
        grid-template-columns:1fr;
        grid-auto-rows:240px;
    }

    .gallery-premium-item.large{
        grid-row:span 1;
    }
}

/* ===== FIN GALERIA PREMIUM FINAL ===== */
.plan-duration{
    display:inline-block;
    padding:7px 12px;
    border-radius:50px;
    background:#eef8ff;
    color:#0b5cab;
    font-size:13px;
    font-weight:700;
    margin-bottom:14px;
}

.plan-description{
    color:#5b6f88;
    line-height:1.7;
    margin:18px 0;
}

.plan-price{
    margin-top:auto;
    margin-bottom:20px;
}

.plan-price small{
    display:block;
    color:#7f8ea3;
    font-size:12px;
}

.plan-price strong{
    font-size:28px;
    color:#05224d;
}

.plan-button{
    display:block;
    width:100%;
    padding:14px;
    border-radius:50px;
    text-align:center;
    background:linear-gradient(135deg,#00c6ff,#0072ff);
    color:#fff;
    font-weight:700;
    text-decoration:none;
    transition:.3s;
}

.plan-button:hover{
    transform:translateY(-3px);
}
/* ==================================================
   PLANES PROM 11 PREMIUM Y RESPONSIVE
================================================== */

.planes-section{
    overflow:hidden;
    background:
        radial-gradient(circle at 15% 10%, rgba(0,213,255,.08), transparent 28%),
        linear-gradient(180deg,#ffffff,#f5faff);
}

.planes-premium-grid{
    width:min(1280px,100%);
    margin:0 auto;

    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:28px;
    align-items:stretch;
}

/* Tarjeta */

.plan-premium-card{
    min-width:0;
    height:100%;

    display:flex;
    flex-direction:column;

    background:#ffffff;
    border:1px solid rgba(211,228,240,.95);
    border-radius:30px;
    overflow:hidden;

    box-shadow:
        0 20px 55px rgba(5,34,77,.10),
        0 2px 8px rgba(5,34,77,.05);

    transition:
        transform .32s ease,
        box-shadow .32s ease,
        border-color .32s ease;
}

.plan-premium-card:hover{
    transform:translateY(-10px);
    border-color:rgba(0,168,232,.38);

    box-shadow:
        0 32px 80px rgba(5,34,77,.17),
        0 10px 25px rgba(0,168,232,.10);
}

/* Imagen */

.plan-premium-image{
    position:relative;
    overflow:hidden;
    aspect-ratio:16 / 10;
    background:#eaf7ff;
}

.plan-premium-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
    display:block;

    transition:transform .55s ease;
}

.plan-premium-card:hover .plan-premium-image img{
    transform:scale(1.055);
}

.plan-image-overlay{
    position:absolute;
    inset:0;

    background:
        linear-gradient(
            180deg,
            rgba(5,34,77,.04) 35%,
            rgba(5,34,77,.72) 100%
        );
}

/* Etiquetas */

.plan-featured-badge{
    position:absolute;
    top:18px;
    left:18px;
    z-index:2;

    padding:9px 13px;
    border-radius:999px;

    background:linear-gradient(135deg,#00d5ff,#10b981);
    color:#05224d;

    font-size:12px;
    font-weight:900;

    box-shadow:0 12px 28px rgba(0,0,0,.20);
}

.plan-destination-badge{
    position:absolute;
    left:18px;
    right:18px;
    bottom:17px;
    z-index:2;

    color:#ffffff;
    font-size:13px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.10em;

    text-shadow:0 3px 15px rgba(0,0,0,.45);
}

/* Contenido */

.plan-premium-body{
    flex:1;
    display:flex;
    flex-direction:column;

    padding:25px;
}

.plan-duration{
    align-self:flex-start;
    display:inline-flex;
    align-items:center;

    padding:8px 12px;
    margin-bottom:15px;

    border-radius:999px;
    background:#eef8ff;
    border:1px solid #d5ecfa;

    color:#075985;
    font-size:12px;
    font-weight:900;
}

.plan-premium-card h3{
    margin:0 0 13px;

    color:#05224d;
    font-size:23px;
    line-height:1.15;
    letter-spacing:-.4px;
}

.plan-premium-description{
    margin:0 0 18px;

    color:#5f728b;
    font-size:15px;
    line-height:1.7;

    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:5;
    overflow:hidden;
}

/* Beneficios */

.plan-benefits{
    list-style:none;
    padding:0;
    margin:0 0 22px;

    display:grid;
    gap:9px;
}

.plan-benefits li{
    position:relative;

    padding-left:24px;

    color:#40536b;
    font-size:13px;
    line-height:1.45;
}

.plan-benefits li::before{
    content:"✓";

    position:absolute;
    left:0;
    top:0;

    color:#10b981;
    font-weight:900;
}

/* Pie de tarjeta */

.plan-premium-footer{
    margin-top:auto;
    padding-top:19px;

    border-top:1px solid #e7f0f6;

    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:14px;
}

.plan-premium-price span,
.plan-premium-price small{
    display:block;
}

.plan-premium-price span{
    color:#77899e;
    font-size:11px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.06em;
}

.plan-premium-price strong{
    display:block;
    margin-top:3px;

    color:#05224d;
    font-size:24px;
    line-height:1;
}

.plan-premium-price small{
    margin-top:5px;

    color:#8b9bad;
    font-size:11px;
}

/* Botón */

.plan-premium-button{
    min-height:45px;
    padding:12px 17px;

    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:9px;

    border-radius:999px;

    background:linear-gradient(135deg,#0565a8,#00c8ef);
    color:#ffffff;

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

    box-shadow:0 12px 28px rgba(5,101,168,.24);

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

.plan-premium-button:hover{
    transform:translateY(-3px);
    box-shadow:0 18px 36px rgba(5,101,168,.34);
}

.plan-premium-button span{
    font-size:18px;
    line-height:1;
}

.planes-mobile-hint{
    display:none;
}

/* Tablet */

@media(max-width:1100px){

    .planes-premium-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

}

/* Celular: carrusel táctil */

@media(max-width:700px){

    .planes-section{
        padding-left:0;
        padding-right:0;
    }

    .planes-section .section-title{
        padding-left:5%;
        padding-right:5%;
    }

    .planes-premium-grid{
        width:100%;

        display:flex;
        gap:18px;

        overflow-x:auto;
        scroll-snap-type:x mandatory;
        scroll-padding-left:5%;

        padding:
            5px
            5%
            25px;

        scrollbar-width:none;
        -webkit-overflow-scrolling:touch;
    }

    .planes-premium-grid::-webkit-scrollbar{
        display:none;
    }

    .plan-premium-card{
        flex:0 0 86vw;
        max-width:370px;

        scroll-snap-align:start;
        scroll-snap-stop:always;
    }

    .plan-premium-image{
        aspect-ratio:16 / 10;
    }

    .plan-premium-body{
        padding:22px;
    }

    .plan-premium-card h3{
        font-size:21px;
    }

    .plan-premium-description{
        -webkit-line-clamp:4;
    }

    .plan-premium-footer{
        flex-direction:column;
        align-items:stretch;
    }

    .plan-premium-button{
        width:100%;
        min-height:50px;
    }

    .planes-mobile-hint{
        display:block;

        margin-top:2px;
        padding:0 5%;

        color:#60758c;
        font-size:12px;
        font-weight:800;
        text-align:center;
    }

}

/* Pantallas muy pequeñas */

@media(max-width:390px){

    .plan-premium-card{
        flex-basis:88vw;
    }

    .plan-premium-body{
        padding:19px;
    }

    .plan-premium-card h3{
        font-size:20px;
    }

    .plan-premium-price strong{
        font-size:22px;
    }

}

/* ===== FIN PLANES PROM 11 PREMIUM ===== */
/* ===== AJUSTE FINAL GALERÍA REAL ===== */

.gallery-premium-section{
    padding-top:85px;
    padding-bottom:95px;
}

.gallery-premium-grid{
    width:min(1400px,92%);
}

.gallery-premium-item{
    min-height:320px;
}

.gallery-premium-item.large{
    min-height:662px;
}

@media(max-width:900px){

    .gallery-premium-grid{
        width:90%;
        grid-template-columns:1fr;
        grid-auto-rows:280px;
    }

    .gallery-premium-item,
    .gallery-premium-item.large{
        min-height:280px;
    }
}

/* ===== FIN AJUSTE FINAL GALERÍA REAL ===== */
/* ==================================================
   EXPERIENCIA PROM 11 · SECCIÓN VISUAL
================================================== */

.journey-section{
    padding:110px 6%;
    background:
        radial-gradient(circle at 15% 0%,rgba(0,213,255,.13),transparent 30%),
        linear-gradient(180deg,#f3faff,#ffffff);
}

.journey-header{
    max-width:900px;
    margin:0 auto 55px;
    text-align:center;
}

.journey-header > span{
    color:#00bfe8;
    font-size:13px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.14em;
}

.journey-header h2{
    max-width:850px;
    margin:14px auto 16px;
    color:#05224d;
    font-size:clamp(34px,4.2vw,56px);
    line-height:1.06;
    letter-spacing:-1.5px;
}

.journey-header p{
    max-width:760px;
    margin:auto;
    color:#66788f;
    font-size:17px;
    line-height:1.75;
}

.journey-layout{
    width:min(1280px,100%);
    margin:auto;
    display:grid;
    grid-template-columns:.95fr 1.05fr;
    gap:28px;
    align-items:stretch;
}

.journey-feature{
    position:relative;
    min-height:620px;
    overflow:hidden;
    border-radius:34px;
    background:url('/assets/img/servicios/viajes-colegios.jpg') center/cover no-repeat;
    box-shadow:0 30px 80px rgba(5,34,77,.18);
}

.journey-feature-overlay{
    position:absolute;
    inset:0;
    background:
        linear-gradient(
            180deg,
            rgba(5,34,77,.08) 20%,
            rgba(5,34,77,.88) 100%
        );
}

.journey-feature-content{
    position:absolute;
    left:34px;
    right:34px;
    bottom:34px;
    z-index:2;
    color:#fff;
}

.journey-feature-content > span{
    display:inline-flex;
    padding:8px 12px;
    margin-bottom:16px;
    border-radius:999px;
    background:rgba(0,213,255,.18);
    border:1px solid rgba(255,255,255,.24);
    color:#c9f8ff;
    font-size:12px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.10em;
    backdrop-filter:blur(10px);
}

.journey-feature-content h3{
    margin:0 0 15px;
    max-width:540px;
    color:#fff;
    font-size:clamp(28px,3vw,42px);
    line-height:1.06;
}

.journey-feature-content p{
    max-width:540px;
    margin:0 0 24px;
    color:#e5f6ff;
    line-height:1.7;
    font-size:15px;
}

.journey-feature-content a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:14px 20px;
    border-radius:999px;
    background:linear-gradient(135deg,#00d5ff,#10b981);
    color:#05224d;
    font-size:14px;
    font-weight:900;
    box-shadow:0 15px 34px rgba(0,0,0,.22);
}

.journey-steps{
    display:grid;
    gap:15px;
}

.journey-step{
    display:grid;
    grid-template-columns:64px 1fr;
    gap:18px;
    align-items:center;
    min-height:105px;
    padding:19px 22px;
    border-radius:24px;
    background:#fff;
    border:1px solid #dceaf3;
    box-shadow:0 15px 38px rgba(5,34,77,.07);
    transition:.28s ease;
}

.journey-step:hover{
    transform:translateX(8px);
    border-color:rgba(0,191,232,.48);
    box-shadow:0 22px 48px rgba(5,34,77,.13);
}

.journey-icon{
    width:56px;
    height:56px;
    display:grid;
    place-items:center;
    border-radius:18px;
    background:linear-gradient(135deg,#0565a8,#00d5ff);
    font-size:25px;
    box-shadow:0 12px 28px rgba(0,168,232,.22);
}

.journey-step span{
    display:block;
    margin-bottom:5px;
    color:#00a8e8;
    font-size:11px;
    font-weight:900;
    letter-spacing:.12em;
}

.journey-step h3{
    margin:0 0 7px;
    color:#05224d;
    font-size:18px;
}

.journey-step p{
    margin:0;
    color:#66788f;
    font-size:13px;
    line-height:1.55;
}

.journey-step-final{
    background:
        linear-gradient(135deg,rgba(0,213,255,.10),rgba(16,185,129,.10)),
        #fff;
    border-color:rgba(16,185,129,.28);
}

/* TABLET */

@media(max-width:1000px){

    .journey-layout{
        grid-template-columns:1fr;
    }

    .journey-feature{
        min-height:500px;
    }

}

/* CELULAR */

@media(max-width:700px){

    .journey-section{
        padding:80px 5%;
    }

    .journey-header{
        margin-bottom:38px;
    }

    .journey-header h2{
        font-size:34px;
    }

    .journey-feature{
        min-height:460px;
        border-radius:28px;
    }

    .journey-feature-content{
        left:24px;
        right:24px;
        bottom:24px;
    }

    .journey-feature-content h3{
        font-size:30px;
    }

    .journey-step{
        grid-template-columns:54px 1fr;
        gap:14px;
        padding:17px;
    }

    .journey-icon{
        width:50px;
        height:50px;
        border-radius:15px;
        font-size:22px;
    }

}

/* ===== FIN EXPERIENCIA PROM 11 ===== */
/* ==================================================
   TESTIMONIOS HOME PREMIUM
================================================== */

.testimonios-home{
    padding:110px 6%;
    overflow:hidden;
    background:
        radial-gradient(circle at 50% 0%,rgba(0,213,255,.10),transparent 32%),
        linear-gradient(180deg,#ffffff,#f5faff);
}

.testimonios-summary{
    width:min(1120px,100%);
    margin:38px auto 30px;
    padding:20px 24px;

    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;

    border:1px solid #dceaf3;
    border-radius:24px;
    background:rgba(255,255,255,.92);
    box-shadow:0 16px 42px rgba(5,34,77,.07);
}

.testimonios-score{
    display:flex;
    align-items:center;
    gap:15px;
}

.testimonios-score > strong{
    color:#05224d;
    font-size:38px;
    line-height:1;
}

.testimonios-summary-stars{
    color:#ffc400;
    font-size:20px;
    letter-spacing:2px;
}

.testimonios-score span{
    display:block;
    margin-top:4px;
    color:#66788f;
    font-size:12px;
    font-weight:800;
}

.testimonios-summary > p{
    max-width:530px;
    margin:0;
    color:#66788f;
    font-size:13px;
    line-height:1.6;
    text-align:right;
}

.testimonios-grid{
    width:min(1120px,100%);
    margin:0 auto;

    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:22px;
}

/* Cuando solo existe un comentario, queda centrado y amplio */

.testimonios-grid-1{
    grid-template-columns:minmax(0,620px);
    justify-content:center;
}

.testimonios-grid-2{
    grid-template-columns:repeat(2,minmax(0,520px));
    justify-content:center;
}

.testimonio-card{
    position:relative;
    min-width:0;
    min-height:310px;
    padding:28px;

    display:flex;
    flex-direction:column;

    border:1px solid #dceaf3;
    border-radius:28px;

    background:
        radial-gradient(circle at top right,rgba(0,213,255,.08),transparent 34%),
        #ffffff;

    box-shadow:
        0 22px 60px rgba(5,34,77,.10),
        0 4px 12px rgba(5,34,77,.04);

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

.testimonio-card:hover{
    transform:translateY(-8px);
    box-shadow:0 32px 75px rgba(5,34,77,.16);
}

.testimonio-card-top{
    display:grid;
    grid-template-columns:auto 1fr auto;
    align-items:center;
    gap:14px;
}

.testimonio-foto,
.testimonio-avatar{
    width:68px;
    height:68px;
    flex:0 0 68px;
    border-radius:22px;
}

.testimonio-foto{
    display:block;
    object-fit:cover;
    border:3px solid #e7f7ff;
    box-shadow:0 10px 26px rgba(5,34,77,.13);
}

.testimonio-avatar{
    display:grid;
    place-items:center;

    background:linear-gradient(135deg,#0565a8,#00d5ff);
    color:#ffffff;

    font-size:27px;
    font-weight:900;

    box-shadow:0 10px 26px rgba(5,101,168,.23);
}

.testimonio-persona strong{
    display:block;
    color:#05224d;
    font-size:17px;
    line-height:1.25;
}

.testimonio-persona span{
    display:block;
    margin-top:4px;
    color:#00a8e8;
    font-size:11px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.08em;
}

.testimonio-comillas{
    align-self:start;
    color:#d9f5ff;
    font-family:Georgia,serif;
    font-size:64px;
    line-height:.7;
}

.testimonio-card .stars{
    margin:22px 0 15px;
    color:#ffc400;
    font-size:20px;
    letter-spacing:2px;
}

.testimonio-card blockquote{
    flex:1;
    margin:0;
    color:#425871;
    font-size:16px;
    line-height:1.75;
    font-style:normal;
}

.testimonio-meta{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:22px;
    padding-top:17px;
    border-top:1px solid #e8f1f7;
}

.testimonio-meta span{
    padding:7px 10px;
    border-radius:999px;
    background:#eef8ff;
    color:#40637b;
    font-size:11px;
    font-weight:800;
}

/* CTA */

.testimonios-cta{
    width:min(1120px,100%);
    margin:30px auto 0;
    padding:27px 30px;

    display:grid;
    grid-template-columns:auto 1fr auto;
    align-items:center;
    gap:22px;

    border-radius:28px;
    background:
        radial-gradient(circle at top right,rgba(0,213,255,.22),transparent 38%),
        linear-gradient(135deg,#05224d,#0565a8);

    color:#ffffff;
    box-shadow:0 25px 65px rgba(5,34,77,.20);
}

.testimonios-cta-icon{
    width:68px;
    height:68px;
    display:grid;
    place-items:center;

    border:1px solid rgba(255,255,255,.18);
    border-radius:22px;
    background:rgba(255,255,255,.12);

    font-size:31px;
    backdrop-filter:blur(12px);
}

.testimonios-cta-copy > span{
    display:block;
    margin-bottom:6px;
    color:#72e9ff;
    font-size:11px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.12em;
}

.testimonios-cta-copy h3{
    margin:0 0 7px;
    color:#ffffff;
    font-size:23px;
    line-height:1.15;
}

.testimonios-cta-copy p{
    max-width:650px;
    margin:0;
    color:#d9ebf7;
    font-size:13px;
    line-height:1.6;
}

.testimonios-cta-button{
    min-height:50px;
    padding:14px 21px;

    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;

    border-radius:999px;
    background:linear-gradient(135deg,#00d5ff,#10b981);
    color:#05224d;

    font-size:13px;
    font-weight:900;
    white-space:nowrap;

    box-shadow:0 15px 35px rgba(0,0,0,.20);
    transition:.25s ease;
}

.testimonios-cta-button:hover{
    transform:translateY(-4px);
}

.testimonios-cta-button span{
    font-size:19px;
}

/* TABLET */

@media(max-width:950px){

    .testimonios-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .testimonios-grid-1{
        grid-template-columns:minmax(0,620px);
    }

    .testimonios-summary{
        align-items:flex-start;
        flex-direction:column;
    }

    .testimonios-summary > p{
        text-align:left;
    }

}

/* CELULAR */

@media(max-width:700px){

    .testimonios-home{
        padding:80px 5%;
    }

    .testimonios-summary{
        margin-top:28px;
        padding:18px;
    }

    .testimonios-grid,
    .testimonios-grid-1,
    .testimonios-grid-2{
        display:flex;
        gap:16px;

        overflow-x:auto;
        scroll-snap-type:x mandatory;

        padding:4px 0 22px;

        scrollbar-width:none;
        -webkit-overflow-scrolling:touch;
    }

    .testimonios-grid::-webkit-scrollbar{
        display:none;
    }

    .testimonio-card{
        flex:0 0 86vw;
        max-width:360px;
        min-height:330px;
        scroll-snap-align:start;
    }

    .testimonios-cta{
        grid-template-columns:1fr;
        text-align:center;
        padding:28px 22px;
    }

    .testimonios-cta-icon{
        margin:auto;
    }

    .testimonios-cta-button{
        width:100%;
    }

}

/* ===== FIN TESTIMONIOS HOME PREMIUM ===== */
/* ==================================================
   PLATAFORMA CORPORATIVA PREMIUM
================================================== */

.platform-premium-section{
    position:relative;
    overflow:hidden;
    padding:110px 6%;

    background:
        radial-gradient(circle at 15% 20%,rgba(0,213,255,.14),transparent 28%),
        radial-gradient(circle at 85% 75%,rgba(16,185,129,.12),transparent 30%),
        linear-gradient(135deg,#031b3d,#063b72 58%,#0565a8);

    color:#fff;
}

.platform-premium-section::before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;

    background:
        linear-gradient(135deg,rgba(255,255,255,.04),transparent 35%),
        radial-gradient(circle at 60% -10%,rgba(255,255,255,.08),transparent 38%);
}

.platform-premium-container{
    position:relative;
    z-index:2;

    width:min(1280px,100%);
    margin:auto;

    display:grid;
    grid-template-columns:.95fr 1.05fr;
    gap:48px;
    align-items:center;
}

/* Copy */

.platform-kicker{
    display:inline-flex;
    padding:8px 13px;
    margin-bottom:18px;

    border-radius:999px;
    border:1px solid rgba(255,255,255,.16);
    background:rgba(255,255,255,.08);

    color:#79edff;
    font-size:12px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.13em;
}

.platform-premium-copy h2{
    max-width:650px;
    margin:0 0 20px;

    color:#fff;
    font-size:clamp(38px,4.4vw,60px);
    line-height:1.03;
    letter-spacing:-1.6px;
}

.platform-premium-copy > p{
    max-width:640px;
    margin:0;

    color:#dcecf7;
    font-size:16px;
    line-height:1.75;
}

.platform-benefits{
    display:grid;
    gap:12px;
    margin:30px 0;
}

.platform-benefits > div{
    padding:15px 17px;

    border:1px solid rgba(255,255,255,.13);
    border-radius:18px;
    background:rgba(255,255,255,.07);

    backdrop-filter:blur(12px);
}

.platform-benefits strong{
    display:block;
    margin-bottom:5px;

    color:#fff;
    font-size:14px;
}

.platform-benefits span{
    color:#c9dcea;
    font-size:12px;
    line-height:1.5;
}

.platform-actions{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
}

.platform-primary-button,
.platform-secondary-button{
    min-height:50px;
    padding:14px 20px;

    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;

    border-radius:999px;
    font-size:13px;
    font-weight:900;

    transition:.25s ease;
}

.platform-primary-button{
    background:linear-gradient(135deg,#00d5ff,#10b981);
    color:#05224d;
    box-shadow:0 16px 35px rgba(0,0,0,.20);
}

.platform-secondary-button{
    border:1px solid rgba(255,255,255,.22);
    background:rgba(255,255,255,.08);
    color:#fff;
    backdrop-filter:blur(12px);
}

.platform-primary-button:hover,
.platform-secondary-button:hover{
    transform:translateY(-4px);
}

/* Dashboard */

.platform-dashboard{
    padding:24px;

    border:1px solid rgba(255,255,255,.17);
    border-radius:32px;

    background:
        radial-gradient(circle at top right,rgba(0,213,255,.15),transparent 30%),
        rgba(255,255,255,.09);

    box-shadow:
        0 35px 90px rgba(0,0,0,.28),
        inset 0 1px 0 rgba(255,255,255,.10);

    backdrop-filter:blur(20px);
}

.platform-dashboard-top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;

    padding-bottom:20px;
    border-bottom:1px solid rgba(255,255,255,.12);
}

.platform-dashboard-top span{
    display:block;
    margin-bottom:4px;

    color:#8eefff;
    font-size:11px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.12em;
}

.platform-dashboard-top strong{
    color:#fff;
    font-size:21px;
}

.platform-status{
    padding:8px 12px;

    border-radius:999px;
    background:rgba(16,185,129,.18);
    border:1px solid rgba(16,185,129,.30);

    color:#a7f3d0;
    font-size:11px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.08em;
}

.platform-metrics{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
    margin:18px 0;
}

.platform-metric{
    padding:16px;

    border-radius:20px;
    border:1px solid rgba(255,255,255,.12);
    background:rgba(255,255,255,.08);
}

.platform-metric span{
    display:block;
    color:#bcd6e7;
    font-size:11px;
}

.platform-metric strong{
    display:block;
    margin:8px 0 5px;

    color:#fff;
    font-size:25px;
    line-height:1;
}

.platform-metric small{
    color:#8fb1c8;
    font-size:10px;
}

/* Progress */

.platform-progress{
    padding:17px;
    margin-bottom:18px;

    border-radius:20px;
    background:rgba(255,255,255,.07);
    border:1px solid rgba(255,255,255,.10);
}

.platform-progress-head{
    display:flex;
    align-items:center;
    justify-content:space-between;

    margin-bottom:10px;
    color:#dcecf7;
    font-size:12px;
}

.platform-progress-head strong{
    color:#fff;
}

.platform-progress-bar{
    height:10px;
    overflow:hidden;

    border-radius:999px;
    background:rgba(255,255,255,.10);
}

.platform-progress-bar span{
    display:block;
    width:75%;
    height:100%;

    border-radius:inherit;
    background:linear-gradient(90deg,#00d5ff,#10b981);
    box-shadow:0 0 22px rgba(0,213,255,.38);
}

/* Modules */

.platform-modules{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
}

.platform-module{
    display:grid;
    grid-template-columns:auto 1fr;
    align-items:center;
    gap:12px;

    padding:15px;
    border-radius:20px;

    border:1px solid rgba(255,255,255,.11);
    background:rgba(255,255,255,.07);

    transition:.25s ease;
}

.platform-module:hover{
    transform:translateY(-4px);
    background:rgba(255,255,255,.11);
}

.platform-module-icon{
    width:46px;
    height:46px;

    display:grid;
    place-items:center;

    border-radius:15px;
    background:linear-gradient(135deg,#0565a8,#00d5ff);

    font-size:21px;
    box-shadow:0 10px 24px rgba(0,0,0,.18);
}

.platform-module strong{
    display:block;
    margin-bottom:4px;

    color:#fff;
    font-size:13px;
}

.platform-module span{
    color:#a9c4d7;
    font-size:10px;
    line-height:1.4;
}

/* Tablet */

@media(max-width:1000px){

    .platform-premium-container{
        grid-template-columns:1fr;
    }

}

/* Celular */

@media(max-width:700px){

    .platform-premium-section{
        padding:80px 5%;
    }

    .platform-premium-copy h2{
        font-size:36px;
    }

    .platform-dashboard{
        padding:18px;
        border-radius:26px;
    }

    .platform-metrics{
        grid-template-columns:1fr;
    }

    .platform-modules{
        grid-template-columns:1fr;
    }

    .platform-actions{
        flex-direction:column;
    }

    .platform-primary-button,
    .platform-secondary-button{
        width:100%;
    }

}

/* ===== FIN PLATAFORMA CORPORATIVA PREMIUM ===== */
/* ==================================================
   FOOTER FINAL DESTINOS DE COLOMBIA
================================================== */

.footer-premium{
    position:relative;
    overflow:hidden;
    padding:64px 6% 24px;
    color:#ffffff;

    background:
        radial-gradient(
            circle at 88% 10%,
            rgba(0,213,255,.10),
            transparent 27%
        ),
        linear-gradient(135deg,#031b3d,#052b5c);
}

.footer-container{
    width:min(1180px,100%);
    margin:0 auto;
}

/* PARTE SUPERIOR */

.footer-grid{
    display:grid;
    grid-template-columns:1.45fr repeat(4,minmax(130px,1fr));
    gap:34px;
    align-items:start;
}

.footer-brand img{
    width:185px;
    max-width:100%;
    margin:0 0 17px;

    padding:9px;
    border-radius:17px;
    background:#ffffff;
}

.footer-brand p{
    max-width:340px;
    margin:0;

    color:#c8dbea;
    font-size:13px;
    line-height:1.7;
}

.footer-contact-list{
    display:grid;
    gap:7px;
    margin-top:17px;

    color:#d9e8f2;
    font-size:12px;
    line-height:1.4;
}

.footer-premium h3{
    position:relative;
    margin:0 0 20px;

    color:#ffffff;
    font-size:14px;
    line-height:1.2;
}

.footer-grid > div:not(.footer-brand) h3::after{
    content:"";
    position:absolute;
    left:0;
    bottom:-9px;

    width:30px;
    height:2px;
    border-radius:999px;

    background:linear-gradient(90deg,#00d5ff,#10b981);
}

.footer-premium ul{
    list-style:none;
    display:grid;
    gap:9px;

    padding:0;
    margin:0;
}

.footer-premium a{
    color:#bcd3e3;
    font-size:12px;
    line-height:1.5;
    transition:.22s ease;
}

.footer-premium a:hover{
    color:#6ee7ff;
    transform:translateX(3px);
}

/* BLOQUE DE AYUDA */

.footer-help{
    margin-top:34px;
    padding:21px 23px;

    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:22px;

    border:1px solid rgba(255,255,255,.12);
    border-radius:22px;

    background:rgba(255,255,255,.065);
    backdrop-filter:blur(12px);
}

.footer-help h3{
    margin:0 0 6px;
    font-size:18px;
}

.footer-help p{
    margin:0;
    color:#bcd3e3;
    font-size:12px;
    line-height:1.5;
}

.footer-whatsapp{
    min-width:185px;
    padding:12px 17px;

    display:inline-flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;

    border-radius:17px;

    background:linear-gradient(135deg,#00d5ff,#10b981);
    color:#05224d !important;
    font-weight:900;

    box-shadow:0 14px 32px rgba(0,0,0,.16);
    transition:.25s ease;
}

.footer-whatsapp:hover{
    transform:translateY(-3px) !important;
}

.footer-whatsapp span{
    font-size:11px;
}

.footer-whatsapp strong{
    margin-top:3px;
    font-size:16px;
}

/* ESTADÍSTICAS */

.footer-stats{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px;

    margin-top:22px;
    padding:20px 0;

    border-top:1px solid rgba(255,255,255,.10);
    border-bottom:1px solid rgba(255,255,255,.10);
}

.footer-stats div{
    padding:13px 10px;
    text-align:center;

    border-right:1px solid rgba(255,255,255,.10);
}

.footer-stats div:last-child{
    border-right:0;
}

.footer-stats strong{
    display:block;

    color:#ffffff;
    font-size:17px;
    line-height:1.2;
}

.footer-stats span{
    display:block;
    margin-top:5px;

    color:#91b0c6;
    font-size:10px;
    line-height:1.4;
}

/* COPYRIGHT */

.footer-copy{
    padding-top:19px;

    color:#8fa8bb;
    font-size:10px;
    line-height:1.5;
    text-align:center;
}

/* TABLET */

@media(max-width:1000px){

    .footer-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .footer-brand{
        grid-column:1 / -1;
    }

    .footer-stats{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .footer-stats div:nth-child(2){
        border-right:0;
    }

}

/* CELULAR */

@media(max-width:650px){

    .footer-premium{
        padding:52px 5% 22px;
    }

    .footer-grid{
        grid-template-columns:1fr;
        gap:27px;
    }

    .footer-brand{
        grid-column:1;
    }

    .footer-brand img{
        width:170px;
    }

    .footer-help{
        flex-direction:column;
        align-items:stretch;

        padding:21px 18px;
        text-align:center;
    }

    .footer-whatsapp{
        width:100%;
    }

    .footer-stats{
        grid-template-columns:1fr 1fr;
    }

    .footer-stats div{
        border-right:0;
        border-bottom:1px solid rgba(255,255,255,.08);
    }

    .footer-stats div:nth-last-child(-n+2){
        border-bottom:0;
    }

}

/* ===== FIN FOOTER FINAL ===== */