/* =========================================================
   ORDEN LEGAL CHILE - CSS ÚNICO
   Todos los estilos del sitio se cargan desde este archivo.
   ========================================================= */

:root{
    --azul:#10224d;
    --azul2:#1b3167;
    --azul-secundario:#27437d;
    --dorado:#c8a45d;
    --gris:#6d7484;
    --gris-claro:#f7f8fb;
    --blanco:#ffffff;
    --texto:#313131;
    --radio:26px;
    --shadow:0 20px 60px rgba(0,0,0,.08);
    --transition:.35s ease;
    --nav-offset:92px;
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{font-family:'Inter',sans-serif;background:#fff;color:var(--texto);overflow-x:hidden}
section{position:relative;padding:120px 0}
.container{max-width:1280px}
h1,h2,h3,h4,h5,h6{font-family:'Cormorant Garamond',serif;font-weight:700;color:var(--azul);line-height:1.1}
p{font-size:18px;line-height:1.9;color:#5d6472}
a{text-decoration:none;transition:.3s ease}
img{max-width:100%;display:block}
button,input,select,textarea{font:inherit}

.section-tag,
.section-mini{
    display:inline-block;
    padding:10px 22px;
    background:#eef3fb;
    border-radius:999px;
    font-size:12px;
    letter-spacing:3px;
    font-weight:700;
    color:var(--azul);
    text-transform:uppercase;
    margin-bottom:24px;
}
.section-title{font-size:58px;line-height:1.08;color:var(--azul);margin-bottom:24px}
.section-text{font-size:18px;line-height:1.85;color:#666}

.btn-premium{
    display:inline-flex;align-items:center;justify-content:center;gap:8px;
    padding:17px 34px;border:0;border-radius:60px;background:var(--azul);color:#fff;
    font-weight:700;transition:.3s ease;white-space:nowrap
}
.btn-premium:hover{background:var(--dorado);color:#fff;transform:translateY(-3px)}
.btn-outline-premium{
    display:inline-flex;align-items:center;justify-content:center;padding:17px 34px;
    border:2px solid var(--azul);border-radius:60px;color:var(--azul);font-weight:700;background:#fff
}
.btn-outline-premium:hover{background:var(--azul);color:#fff}

/* HERO */
.hero-premium{padding:130px 0 70px;background:#fff;overflow:hidden}
.hero-premium .row{min-height:calc(100vh - 80px)}
.hero-tag{display:inline-block;padding:10px 22px;background:#eef3fb;border-radius:50px;font-size:13px;letter-spacing:3px;color:var(--azul);margin-bottom:35px}
.hero-premium h1{font-size:78px;font-weight:700;color:var(--azul);line-height:1;margin-bottom:22px}
.hero-premium h2{font-size:34px;font-weight:500;margin-bottom:28px;color:#333}
.hero-premium p{font-size:20px;line-height:1.8;margin-bottom:38px;color:#666;max-width:650px}
.hero-buttons{display:flex;gap:18px;flex-wrap:wrap;margin-bottom:52px}
.hero-data{display:flex;gap:48px;flex-wrap:wrap}
.hero-data strong{display:block;font-size:42px;font-family:'Cormorant Garamond',serif;color:var(--dorado);line-height:1}
.hero-data span{font-size:14px;color:#666}
.hero-image{position:relative;text-align:center;display:flex;align-items:flex-end;justify-content:center;min-height:620px}
.hero-image img{width:min(92%,560px);position:relative;z-index:2;object-fit:contain;object-position:center bottom}
.gold-circle{position:absolute;width:330px;height:330px;background:#efe4c6;border-radius:50%;top:70px;right:15px;z-index:1}
.blue-square{position:absolute;width:220px;height:220px;background:#edf2fb;left:20px;bottom:35px;z-index:1}

@media(max-width:991px){
    section{padding:90px 0}
    .section-title{font-size:44px}
    .hero-premium{text-align:center;padding-top:115px}
    .hero-premium .row{min-height:auto}
    .hero-premium h1{font-size:54px}
    .hero-premium h2{font-size:27px}
    .hero-premium p{margin-left:auto;margin-right:auto;font-size:18px}
    .hero-buttons,.hero-data{justify-content:center}
    .hero-image{margin-top:35px;min-height:500px}
}
@media(max-width:576px){
    html{scroll-padding-top:82px}
    section{padding:70px 0}
    .container{padding-left:20px;padding-right:20px}
    .section-title{font-size:37px}
    .hero-premium{padding-top:95px;padding-bottom:20px}
    .hero-premium h1{font-size:45px}
    .hero-premium h2{font-size:25px}
    .hero-buttons{margin-bottom:38px}
    .hero-buttons .btn{width:100%}
    .hero-data{gap:22px 26px;margin-bottom:10px}
    .hero-data strong{font-size:34px}
    .hero-image{min-height:390px;margin-top:22px}
    .hero-image img{width:92%;max-height:430px}
    .gold-circle{width:245px;height:245px;top:35px;right:-15px}
    .blue-square{width:160px;height:160px;left:-6px;bottom:15px}
}
/* ===== NAVBAR ===== */
/*========================================

TOP BAR

========================================*/

.topbar-premium{

background:var(--azul);

padding:10px 0;

font-size:14px;

color:white;

}

.topbar-info{

display:flex;

gap:30px;

align-items:center;

}

.topbar-info span{

display:flex;

align-items:center;

gap:8px;

font-weight:500;

}

.topbar-info i{

color:var(--dorado);

font-size:15px;

}

.topbar-social{

display:flex;

justify-content:flex-end;

gap:12px;

}

.topbar-social a{

width:34px;

height:34px;

display:flex;

align-items:center;

justify-content:center;

border-radius:50%;

background:rgba(255,255,255,.10);

color:white;

transition:.35s;

}

.topbar-social a:hover{

background:var(--dorado);

transform:translateY(-4px);

color:white;

}


/*========================================

NAVBAR

========================================*/

.nav-premium{

position:fixed;

top:46px;

left:0;

width:100%;

padding:18px 0;

background:rgba(255,255,255,.92);

backdrop-filter:blur(18px);

-webkit-backdrop-filter:blur(18px);

transition:.35s;

z-index:999;

border-bottom:1px solid rgba(0,0,0,.04);

}

.nav-premium.scrolled{

top:0;

padding:12px 0;

background:white;

box-shadow:0 20px 45px rgba(0,0,0,.08);

}

.logo-navbar{

height:52px;

width:auto;

display:block;

}

.nav-premium.scrolled .logo-navbar{

height:46px;

}


/*========================================

MENU

========================================*/

.navbar-nav{

gap:2px;

}

.nav-link{

position:relative;

padding:10px 10px !important;

font-size:15px;

font-weight:600;

letter-spacing:.5px;

color:#555 !important;

transition:.35s;

}

.nav-link:hover{

color:var(--azul)!important;

}

.nav-link.active{

color:var(--azul)!important;

}

.nav-link::after{

content:"";

position:absolute;

left:50%;

bottom:-5px;

width:0;

height:2px;

background:var(--dorado);

transition:.35s;

transform:translateX(-50%);

}

.nav-link:hover::after,

.nav-link.active::after{

width:70%;

}


/*========================================

BOTON

========================================*/

.nav-premium .btn-premium{

padding:14px 22px;

font-size:14px;

white-space:nowrap;

}

.nav-premium .btn-premium:hover{

transform:translateY(-4px);

}


/*========================================

TOGGLER

========================================*/

.navbar-toggler{

padding:0;

}

.navbar-toggler:focus{

box-shadow:none;

}


/*========================================

MOBILE

========================================*/

@media(max-width:1199px){

.topbar-premium{

display:none;

}

.nav-premium{

top:0;

padding:15px 0;

}

.navbar-collapse{
flex-grow:0;
margin-top:25px;

padding:25px;

background:white;

border-radius:22px;

box-shadow:0 20px 45px rgba(0,0,0,.08);

}

.navbar-nav{

gap:0;

}

.nav-link{

margin:8px 0;

padding:12px 0 !important;

}

.nav-link::after{

display:none;

}

.nav-premium .btn-premium{

width:100%;

margin-top:20px;

text-align:center;

}

.logo-navbar{

height:52px;

}

}


/*========================================

TABLET

========================================*/

@media(max-width:991px){

.logo-navbar{

height:48px;

}

}


/*========================================

CELULAR

========================================*/

@media(max-width:576px){

.logo-navbar{

height:42px;

}

.nav-premium{

padding:12px 0;

}

.navbar-collapse{

padding:20px;

border-radius:18px;

}

}
/* ===== SOBRE ===== */
/*==================================================

SOBRE PREMIUM

==================================================*/

.sobre-premium{

position:relative;

padding:140px 0 0;

background:linear-gradient(180deg,#ffffff 0%,#f8f9fc 100%);

overflow:hidden;

}

.sobre-premium::before{

content:"";

position:absolute;

width:700px;

height:700px;

border-radius:50%;

background:rgba(200,164,93,.05);

top:-350px;

right:-250px;

z-index:0;

}

.sobre-premium::after{

content:"";

position:absolute;

width:500px;

height:500px;

border-radius:50%;

background:rgba(16,34,77,.03);

bottom:-250px;

left:-180px;

z-index:0;

}

.sobre-premium .container{

position:relative;

z-index:2;

}


/*====================================

FOTO

====================================*/

.sobre-photo{

position:relative;

padding-right:80px;

}

.sobre-photo img{

width:100%;

height:720px;

object-fit:cover;

border-radius:28px;

box-shadow:

0 40px 90px rgba(0,0,0,.15);

transition:.45s;

}

.sobre-photo:hover img{

transform:scale(1.02);

}


/*====================================

CARD FLOTANTE

====================================*/

.sobre-card{

position:absolute;

right:0;

bottom:60px;

width:340px;

padding:40px;

background:white;

border-radius:24px;

box-shadow:

0 35px 70px rgba(0,0,0,.12);

border-top:5px solid var(--dorado);

}

.sobre-mini{

display:inline-block;

padding:8px 18px;

background:#eef3fb;

border-radius:40px;

font-size:12px;

font-weight:600;

letter-spacing:3px;

color:var(--azul);

margin-bottom:18px;

}

.sobre-card h3{

font-size:36px;

color:var(--azul);

line-height:1.15;

margin-bottom:18px;

}

.sobre-card p{

font-size:16px;

line-height:1.8;

margin:0;

color:#666;

}


/*====================================

TEXTO

====================================*/

.sobre-title{

font-size:68px;

line-height:1.05;

color:var(--azul);

margin-bottom:35px;

max-width:650px;

}

.sobre-text{

font-size:20px;

line-height:2;

color:#666;

margin-bottom:50px;

max-width:650px;

}


/*====================================

VALORES

====================================*/

.sobre-values{

display:grid;

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

gap:25px;

}

.value-item{

display:flex;

align-items:flex-start;

gap:20px;

padding:24px;

background:white;

border-radius:20px;

transition:.35s;

border:1px solid #ececec;

box-shadow:0 12px 35px rgba(0,0,0,.05);

}

.value-item:hover{

transform:translateY(-8px);

box-shadow:0 28px 60px rgba(0,0,0,.10);

border-color:var(--dorado);

}

.value-icon{

width:70px;

height:70px;

min-width:70px;

border-radius:50%;

display:flex;

justify-content:center;

align-items:center;

background:#eef3fb;

font-size:28px;

color:var(--dorado);

transition:.35s;

}

.value-item:hover .value-icon{

background:var(--azul);

color:white;

}

.value-item h4{

font-size:28px;

margin-bottom:8px;

color:var(--azul);

}

.value-item p{

margin:0;

font-size:15px;

line-height:1.7;

color:#666;

}
/*====================================

BOTÓN

====================================*/

.sobre-premium .btn-premium{

margin-top:55px;

padding:18px 42px;

font-size:16px;

box-shadow:0 18px 40px rgba(16,34,77,.18);

}

.sobre-premium .btn-premium:hover{

transform:translateY(-5px);

}


/*====================================

ESTADÍSTICAS

====================================*/

.sobre-stats{

margin-top:120px;

background:var(--azul);

padding:90px 0;

position:relative;

overflow:hidden;

}

.sobre-stats::before{

content:"";

position:absolute;

width:700px;

height:700px;

border-radius:50%;

background:rgba(255,255,255,.04);

left:-300px;

top:-350px;

}

.sobre-stats::after{

content:"";

position:absolute;

width:500px;

height:500px;

border-radius:50%;

background:rgba(200,164,93,.08);

right:-200px;

bottom:-250px;

}

.stat-box{

position:relative;

z-index:2;

padding:20px;

}

.stat-box h2{

font-size:72px;

font-weight:700;

color:white;

margin-bottom:12px;

line-height:1;

}

.stat-box span{

display:block;

font-size:16px;

letter-spacing:1px;

color:rgba(255,255,255,.80);

}


/*====================================

DIVISORES

====================================*/

.stat-box{

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

}

.sobre-stats .col-lg-3:last-child .stat-box{

border-right:none;

}


/*====================================

ANIMACIONES

====================================*/

.sobre-photo img,

.sobre-card,

.value-item,

.stat-box{

transition:.4s ease;

}

.sobre-card:hover{

transform:translateY(-10px);

box-shadow:0 45px 80px rgba(0,0,0,.16);

}


/*====================================

TABLET

====================================*/

@media(max-width:1199px){

.sobre-title{

font-size:56px;

}

.sobre-photo{

padding-right:40px;

}

.sobre-card{

width:300px;

padding:30px;

}

.sobre-photo img{

height:620px;

}

}


/*====================================

TABLET

====================================*/

@media(max-width:991px){

.sobre-premium{

padding:90px 0 0;

}

.sobre-photo{

padding-right:0;

margin-bottom:70px;

}

.sobre-photo img{

height:auto;

}

.sobre-card{

position:relative;

right:auto;

bottom:auto;

width:100%;

margin-top:-70px;

margin-left:auto;

margin-right:auto;

max-width:520px;

}

.sobre-title{

font-size:46px;

}

.sobre-text{

font-size:18px;

}

.sobre-values{

grid-template-columns:1fr;

}

.sobre-stats{

padding:70px 0;

margin-top:90px;

}

.stat-box{

border-right:none;

border-bottom:1px solid rgba(255,255,255,.08);

padding:35px 15px;

}

.sobre-stats .col-lg-3:last-child .stat-box{

border-bottom:none;

}

}


/*====================================

MÓVIL

====================================*/

@media(max-width:576px){

.sobre-premium{

padding:70px 0 0;

}

.sobre-title{

font-size:36px;

}

.sobre-text{

font-size:17px;

line-height:1.8;

}

.sobre-card{

padding:25px;

margin-top:-40px;

}

.sobre-card h3{

font-size:28px;

}

.value-item{

padding:22px;

}

.value-icon{

width:60px;

height:60px;

min-width:60px;

font-size:22px;

}

.value-item h4{

font-size:24px;

}

.stat-box h2{

font-size:52px;

}

.stat-box span{

font-size:14px;

}

}
/* =========================================
   SOBRE - AJUSTE MOBILE
========================================= */

@media (max-width: 576px){

    .sobre-premium .col-lg-6:first-child{
        display:none;
    }

    .sobre-premium .col-lg-6:last-child{
        width:100%;
        flex:0 0 100%;
        max-width:100%;
    }

    .sobre-premium{
        padding-top:60px;
    }

    .sobre-title{
        font-size:36px;
        line-height:1.1;
    }

    .sobre-text{
        font-size:16px;
        line-height:1.8;
    }

    .sobre-values{
        grid-template-columns:1fr;
    }

}
/* ===== AREAS ===== */
/*==========================================
AREAS PREMIUM
==========================================*/

.areas-premium{

padding:140px 0;

background:#f8f9fc;

position:relative;

overflow:hidden;

}

.areas-heading{

margin-bottom:80px;

}

.areas-heading .section-title{

max-width:850px;

margin:auto;

margin-bottom:20px;

}

.areas-heading .section-text{

max-width:700px;

margin:auto;

font-size:19px;

}


/*==========================================
CARDS
==========================================*/

.area-card{

position:relative;

background:#fff;

border-radius:24px;

padding:45px;

height:100%;

border:1px solid #ececec;

overflow:hidden;

transition:.35s;

box-shadow:0 15px 45px rgba(0,0,0,.05);

}

.area-card:hover{

transform:translateY(-12px);

box-shadow:0 30px 70px rgba(0,0,0,.10);

border-color:var(--dorado);

}

.area-card::before{

content:"";

position:absolute;

left:0;

top:0;

width:5px;

height:100%;

background:transparent;

transition:.35s;

}

.area-card:hover::before{

background:var(--dorado);

}


/*==========================================
NUMERO
==========================================*/

.area-number{

display:block;

font-size:13px;

font-weight:700;

letter-spacing:3px;

color:var(--dorado);

margin-bottom:20px;

}


/*==========================================
ICONO
==========================================*/

.area-icon{

width:82px;

height:82px;

border-radius:50%;

background:#eef3fb;

display:flex;

justify-content:center;

align-items:center;

font-size:34px;

color:var(--azul);

margin-bottom:30px;

transition:.35s;

}

.area-card:hover .area-icon{

background:var(--azul);

color:white;

transform:rotate(-8deg);

}


/*==========================================
TEXTOS
==========================================*/

.area-card h3{

font-size:34px;

color:var(--azul);

margin-bottom:18px;

}

.area-card p{

font-size:17px;

line-height:1.8;

margin-bottom:25px;

color:#666;

}


/*==========================================
LISTA
==========================================*/

.area-list{

padding:0;

margin:0 0 30px;

list-style:none;

}

.area-list li{

display:flex;

align-items:flex-start;

gap:12px;

margin-bottom:14px;

font-size:16px;

color:#555;

}

.area-list i{

color:var(--dorado);

font-size:18px;

margin-top:2px;

}


/*==========================================
LINK
==========================================*/

.area-link{

display:inline-flex;

align-items:center;

gap:10px;

font-weight:700;

text-decoration:none;

color:var(--azul);

transition:.35s;

}

.area-link:hover{

color:var(--dorado);

}

.area-link i{

transition:.35s;

}

.area-link:hover i{

transform:translateX(8px);

}


/*==========================================
CARD DESTACADA
==========================================*/

.area-card-featured{

background:linear-gradient(135deg,#10224d,#1b3167);

}

.area-card-featured h3,

.area-card-featured p,

.area-card-featured li,

.area-card-featured .area-link{

color:white;

}

.area-card-featured .area-number{

color:#f5d28d;

}

.area-card-featured .area-icon{

background:rgba(255,255,255,.12);

color:white;

}

.area-card-featured .area-link:hover{

color:#f5d28d;

}


/*==========================================
BLOQUE INFERIOR
==========================================*/

.areas-bottom{

margin-top:80px;

background:white;

padding:40px 45px;

border-radius:24px;

display:flex;

align-items:center;

justify-content:space-between;

gap:30px;

box-shadow:0 15px 45px rgba(0,0,0,.06);

}

.areas-bottom-icon{

width:80px;

height:80px;

min-width:80px;

display:flex;

justify-content:center;

align-items:center;

border-radius:50%;

background:#eef3fb;

font-size:34px;

color:var(--azul);

}

.areas-bottom-content{

flex:1;

}

.areas-bottom-content span{

display:block;

font-size:28px;

font-family:'Cormorant Garamond',serif;

font-weight:700;

color:var(--azul);

margin-bottom:10px;

}

.areas-bottom-content p{

margin:0;

color:#666;

}


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

@media(max-width:991px){

.areas-premium{

padding:90px 0;

}

.area-card{

padding:35px;

}

.area-card h3{

font-size:30px;

}

.areas-bottom{

flex-direction:column;

text-align:center;

}

}

@media(max-width:576px){

.areas-premium{

padding:70px 0;

}

.area-card{

padding:28px;

}

.area-card h3{

font-size:27px;

}

.area-icon{

width:70px;

height:70px;

font-size:28px;

}

.areas-bottom{

padding:30px;

}

.areas-bottom-content span{

font-size:24px;

}

}
/* ===== PROCESO ===== */
/*==========================================

PROCESO

==========================================*/

.proceso-premium{

padding:140px 0;

background:white;

}

.proceso-header{

margin-bottom:90px;

}

.timeline-premium{

position:relative;

display:flex;

justify-content:space-between;

gap:25px;

margin-bottom:90px;

}

.timeline-line{

position:absolute;

left:5%;

right:5%;

top:40px;

height:3px;

background:#ececec;

z-index:0;

}

.timeline-item{

position:relative;

flex:1;

z-index:2;

}

.timeline-number{

width:80px;

height:80px;

margin:auto;

margin-bottom:30px;

border-radius:50%;

background:var(--azul);

display:flex;

justify-content:center;

align-items:center;

color:white;

font-weight:700;

font-size:22px;

box-shadow:0 15px 40px rgba(16,34,77,.20);

}

.timeline-card{

background:white;

padding:35px;

border-radius:22px;

text-align:center;

height:100%;

box-shadow:0 20px 45px rgba(0,0,0,.05);

transition:.35s;

border:1px solid #ececec;

}

.timeline-card:hover{

transform:translateY(-12px);

border-color:var(--dorado);

box-shadow:0 35px 65px rgba(0,0,0,.10);

}

.timeline-icon{

width:70px;

height:70px;

margin:auto;

margin-bottom:22px;

border-radius:50%;

background:#eef3fb;

display:flex;

justify-content:center;

align-items:center;

font-size:30px;

color:var(--azul);

transition:.35s;

}

.timeline-card:hover .timeline-icon{

background:var(--azul);

color:white;

}

.timeline-card h3{

font-size:30px;

color:var(--azul);

margin-bottom:15px;

}

.timeline-card p{

margin:0;

font-size:16px;

line-height:1.8;

color:#666;

}


/*==========================================

CTA

==========================================*/

.proceso-box{

background:linear-gradient(135deg,#10224d,#1b3167);

border-radius:28px;

padding:55px;

color:white;

}

.proceso-box h3{

color:white;

font-size:42px;

margin-bottom:18px;

}

.proceso-box p{

margin:0;

color:rgba(255,255,255,.85);

font-size:18px;

line-height:1.8;

}


/*==========================================

RESPONSIVE

==========================================*/

@media(max-width:991px){

.proceso-premium{

padding:90px 0;

}

.timeline-premium{

display:block;

}

.timeline-line{

display:none;

}

.timeline-item{

margin-bottom:40px;

}

.proceso-box{

padding:35px;

text-align:center;

}

.proceso-box .btn-premium{

margin-top:25px;

}

}

@media(max-width:576px){

.proceso-premium{

padding:70px 0;

}

.timeline-card{

padding:28px;

}

.timeline-card h3{

font-size:26px;

}

.proceso-box h3{

font-size:32px;

}

}
/* ===== FORMULARIO ===== */
/*==========================================

CONTACTO

==========================================*/

.contacto-premium{

padding:140px 0;

background:#f7f8fb;

}

.contacto-box{

background:white;

border-radius:28px;

overflow:hidden;

box-shadow:0 30px 70px rgba(0,0,0,.08);

}

.contacto-info{

background:linear-gradient(135deg,#10224d,#1b3167);

height:100%;

padding:70px 50px;

color:white;

}

.contacto-info h2{

font-size:56px;

color:white;

margin:30px 0;

}

.contacto-info p{

color:rgba(255,255,255,.85);

line-height:1.9;

margin-bottom:45px;

}

.info-item{

display:flex;

gap:18px;

margin-bottom:35px;

align-items:flex-start;

}

.info-icon{

width:60px;

height:60px;

border-radius:50%;

background:rgba(255,255,255,.12);

display:flex;

justify-content:center;

align-items:center;

font-size:24px;

color:#f4d48e;

}

.info-item h4{

color:white;

font-size:24px;

margin-bottom:5px;

}

.info-item span{

color:rgba(255,255,255,.80);

}

.formulario-premium{

padding:70px;

}

.formulario-premium label{

display:block;

margin-bottom:12px;

font-weight:600;

color:var(--azul);

}

.form-control,

.form-select{

height:58px;

border-radius:14px;

border:1px solid #ddd;

padding:0 18px;

box-shadow:none;

}

textarea.form-control{

height:auto;

padding:18px;

}

.form-control:focus,

.form-select:focus{

border-color:var(--dorado);

box-shadow:none;

}

.formulario-premium .btn-premium{

padding:18px 40px;

}

@media(max-width:991px){

.contacto-premium{

padding:90px 0;

}

.contacto-info{

padding:45px;

}

.formulario-premium{

padding:45px;

}

}

@media(max-width:576px){

.contacto-premium{

padding:70px 0;

}

.contacto-info{

padding:30px;

}

.formulario-premium{

padding:30px;

}

.contacto-info h2{

font-size:38px;

}

}
/* ===== TESTIMONIOS ===== */
/*==================================================
TESTIMONIOS PREMIUM
==================================================*/

.reviews-premium{

    position:relative;

    padding:145px 0;

    background:
    radial-gradient(circle at 10% 15%, rgba(200,164,93,.08), transparent 28%),
    radial-gradient(circle at 90% 80%, rgba(19,38,84,.06), transparent 30%),
    #f7f8fc;

    overflow:hidden;

}


/*==================================================
HEADER
==================================================*/

.reviews-header{

    display:flex;

    align-items:flex-end;

    justify-content:space-between;

    gap:50px;

    margin-bottom:65px;

}

.reviews-header > div:first-child{

    max-width:800px;

}

.reviews-header h2{

    margin:20px 0 18px;

    font-size:64px;

    line-height:1.05;

    color:var(--azul);

}

.reviews-header p{

    margin:0;

    max-width:680px;

    font-size:18px;

    line-height:1.8;

    color:#6b7280;

}


/*==================================================
BOTONES
==================================================*/

.reviews-buttons{

    display:flex;

    gap:14px;

    flex-shrink:0;

}

.reviews-buttons button{

    width:58px;

    height:58px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:50%;

    border:1px solid rgba(19,38,84,.12);

    background:#fff;

    color:var(--azul);

    font-size:21px;

    transition:.3s ease;

    box-shadow:0 12px 30px rgba(16,34,77,.08);

}

.reviews-buttons button:hover{

    background:var(--azul);

    color:#fff;

    border-color:var(--azul);

    transform:translateY(-4px);

}


/*==================================================
SLIDER
==================================================*/
.reviews-slider{
    display:flex;
    gap:28px;
    overflow-x:auto;
    padding:15px 8px 35px;
    scroll-behavior:smooth;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
    cursor:grab;

    justify-content:center;
}

.reviews-slider::-webkit-scrollbar{
    display:none;
}

@media(max-width:991px){

    .reviews-slider{
        justify-content:flex-start;
    }

}

.reviews-slider.dragging{

    cursor:grabbing;

    scroll-behavior:auto;

}


/*==================================================
CARD
==================================================*/

.review-card{

    position:relative;

    flex:0 0 430px;

    min-width:430px;

    display:flex;

    flex-direction:column;

    padding:36px;

    border-radius:30px;

    background:rgba(255,255,255,.92);

    border:1px solid rgba(19,38,84,.07);

    box-shadow:
    0 25px 70px rgba(22,31,52,.08);

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

    scroll-snap-align:start;

    overflow:hidden;

    user-select:none;

}

.review-card::before{

    content:"";

    position:absolute;

    top:0;

    left:0;

    right:0;

    height:4px;

    background:linear-gradient(
        90deg,
        var(--dorado),
        #e6c477
    );

    transform:scaleX(0);

    transform-origin:left;

    transition:.4s ease;

}

.review-card:hover{

    transform:translateY(-10px);

    border-color:rgba(200,164,93,.45);

    box-shadow:
    0 35px 90px rgba(22,31,52,.14);

}

.review-card:hover::before{

    transform:scaleX(1);

}


/*==================================================
CARD DESTACADA
==================================================*/

.featured-review{

    background:
    linear-gradient(145deg,#10224d,#183469);

    border-color:transparent;

}

.featured-review::before{

    transform:scaleX(1);

}

.featured-review .review-person h3,
.featured-review .review-person span,
.featured-review .review-text,
.featured-review .review-text p{

    color:#fff;

}

.featured-review .review-person span{

    color:rgba(255,255,255,.68);

}


/*==================================================
CABECERA PERSONA
==================================================*/

.review-top{

    display:flex;

    align-items:center;

    gap:17px;

    margin-bottom:22px;

}

.review-photo{

    width:72px;

    height:72px;

    min-width:72px;

    border-radius:50%;

    overflow:hidden;

    background:#eef1f7;

    padding:3px;

    box-shadow:
    0 8px 25px rgba(0,0,0,.10);

    transition:.35s ease;

}

.review-photo img{

    width:100%;

    height:100%;

    border-radius:50%;

    object-fit:cover;

    display:block;

}

.review-card:hover .review-photo{

    transform:scale(1.07);

}

.review-person{

    min-width:0;

}

.review-person h3{

    margin:0 0 3px;

    font-family:'Cormorant Garamond',serif;

    font-size:29px;

    font-weight:700;

    line-height:1;

    color:var(--azul);

}

.review-person span{

    display:block;

    font-size:14px;

    color:#7b8494;

}


/*==================================================
ESTRELLAS
==================================================*/

.google-stars{

    margin-top:7px;

    color:#f4b400;

    font-size:18px;

    line-height:1;

    letter-spacing:2px;

    white-space:nowrap;

}


/*==================================================
BADGE
==================================================*/

.verified{

    width:max-content;

    max-width:100%;

    display:inline-flex;

    align-items:center;

    gap:8px;

    margin-bottom:25px;

    padding:9px 15px;

    border-radius:50px;

    background:#eef5ff;

    color:#1d4f91;

    font-size:11px;

    line-height:1;

    font-weight:800;

    text-transform:uppercase;

    letter-spacing:1px;

}

.verified i{

    color:#1a73e8;

    font-size:16px;

}

.featured-review .verified{

    color:#fff;

    background:rgba(255,255,255,.12);

}

.featured-review .verified i{

    color:#f5d078;

}


/*==================================================
TEXTO DEL TESTIMONIO
==================================================*/

.review-text{

    position:relative;

    flex:1;

    color:#5f6672;

    font-size:15px;

    line-height:1.75;

}

.review-text::before{

    content:"“";

    position:absolute;

    right:0;

    top:-42px;

    z-index:0;

    font-family:'Cormorant Garamond',serif;

    font-size:125px;

    line-height:1;

    color:rgba(19,38,84,.045);

    pointer-events:none;

}

.featured-review .review-text::before{

    color:rgba(255,255,255,.05);

}

.review-text p{

    position:relative;

    z-index:1;

    margin:0 0 13px;

    color:#5f6672;

    font-size:15px;

    line-height:1.75;

}

.review-text p:last-child{

    margin-bottom:0;

}


/*==================================================
FRASE DESTACADA
==================================================*/

.review-highlight{

    position:relative;

    margin-top:28px;

    padding:20px 21px 20px 47px;

    border-radius:18px;

    background:#f7f8fb;

    border:1px solid #edf0f6;

}

.review-highlight i{

    position:absolute;

    left:18px;

    top:18px;

    font-size:21px;

    color:var(--dorado);

}

.review-highlight span{

    display:block;

    font-family:'Cormorant Garamond',serif;

    font-size:20px;

    font-style:italic;

    line-height:1.35;

    color:var(--azul);

}

.featured-review .review-highlight{

    background:rgba(255,255,255,.08);

    border-color:rgba(255,255,255,.10);

}

.featured-review .review-highlight span{

    color:#fff;

}


/*==================================================
PIE
==================================================*/

.reviews-footer{

    display:flex;

    justify-content:center;

    margin-top:34px;

}

.reviews-trust{

    display:flex;

    align-items:center;

    gap:14px;

    padding:12px 21px;

    border-radius:50px;

    background:#fff;

    box-shadow:0 12px 35px rgba(0,0,0,.06);

}

.reviews-trust-stars{

    color:#f4b400;

    letter-spacing:2px;

    font-size:17px;

}

.reviews-trust span{

    font-size:13px;

    font-weight:600;

    color:#687080;

}


/*==================================================
TABLET
==================================================*/

@media(max-width:991px){

    .reviews-premium{

        padding:95px 0;

    }

    .reviews-header{

        display:block;

        margin-bottom:45px;

    }

    .reviews-header h2{

        font-size:46px;

    }

    .reviews-buttons{

        margin-top:28px;

    }

    .review-card{

        flex-basis:390px;

        min-width:390px;

    }

}


/*==================================================
MOBILE
==================================================*/

@media(max-width:576px){

    .reviews-premium{

        padding:70px 0;

    }

    .reviews-premium .container-fluid{

        padding-left:18px !important;

        padding-right:18px !important;

    }

    .reviews-header{

        margin-bottom:30px;

    }

    .reviews-header h2{

        font-size:37px;

        line-height:1.08;

    }

    .reviews-header p{

        font-size:16px;

        line-height:1.7;

    }

    .reviews-buttons{

        display:none;

    }

    .reviews-slider{

        gap:16px;

        margin-right:-18px;

        padding-left:2px;

        padding-right:18px;

    }

    .review-card{

        flex:0 0 calc(100vw - 52px);

        min-width:calc(100vw - 52px);

        padding:26px 22px;

        border-radius:24px;

    }

    .review-photo{

        width:62px;

        height:62px;

        min-width:62px;

    }

    .review-person h3{

        font-size:25px;

    }

    .review-person span{

        font-size:13px;

    }

    .google-stars{

        font-size:16px;

    }

    .verified{

        margin-bottom:20px;

    }

    .review-text,
    .review-text p{

        font-size:15px;

        line-height:1.7;

    }

    .review-highlight{

        margin-top:22px;

        padding:17px 18px 17px 43px;

    }

    .review-highlight span{

        font-size:18px;

    }

    .reviews-trust{

        width:100%;

        justify-content:center;

        flex-wrap:wrap;

    }

}
/* ===== FAQ ===== */
/*==================================================

FAQ PREMIUM V2

==================================================*/

.faq-premium{

position:relative;

padding:150px 0;

background:linear-gradient(135deg,#10224d,#16306b);

overflow:hidden;

}

.faq-background-question{

position:absolute;

right:-60px;

top:-120px;

font-size:650px;

font-family:'Cormorant Garamond',serif;

font-weight:700;

color:rgba(255,255,255,.03);

line-height:1;

pointer-events:none;

user-select:none;

}


/*====================================

FOTO

====================================*/

.faq-photo{

position:relative;

}

.faq-photo img{

width:100%;

height:760px;

object-fit:cover;

border-radius:30px;

box-shadow:

0 40px 90px rgba(0,0,0,.30);

}


/*====================================

CARD

====================================*/

.faq-photo-card{

position:absolute;

left:40px;

bottom:40px;

width:340px;

padding:35px;

border-radius:24px;

background:rgba(255,255,255,.92);

backdrop-filter:blur(18px);

box-shadow:

0 20px 60px rgba(0,0,0,.15);

}

.faq-photo-card span{

display:inline-block;

padding:8px 18px;

background:#eef3fb;

border-radius:50px;

font-size:12px;

font-weight:700;

letter-spacing:2px;

color:var(--azul);

margin-bottom:15px;

}

.faq-photo-card h3{

font-size:34px;

color:var(--azul);

line-height:1.2;

margin:0;

}


/*====================================

TEXTOS

====================================*/

.section-tag-light{

background:rgba(255,255,255,.10);

color:white;

}

.faq-title{

font-size:64px;

line-height:1.05;

color:white;

margin:28px 0;

}

.faq-text{

font-size:20px;

line-height:2;

color:rgba(255,255,255,.82);

margin-bottom:50px;

}


/*====================================

LISTA

====================================*/

.faq-list{

display:flex;

flex-direction:column;

gap:18px;

}


/*====================================

ITEM

====================================*/

.faq-item{

background:rgba(255,255,255,.08);

border:1px solid rgba(255,255,255,.08);

border-radius:20px;

overflow:hidden;

transition:.35s;

backdrop-filter:blur(18px);

}

.faq-item:hover{

border-color:rgba(255,255,255,.18);

transform:translateX(8px);

}

.faq-item.active{

background:white;

}


/*====================================

QUESTION

====================================*/

.faq-question{

display:flex;

justify-content:space-between;

align-items:center;

padding:28px 35px;

cursor:pointer;

}

.faq-question span{

font-size:22px;

font-weight:600;

color:white;

transition:.3s;

}

.faq-item.active .faq-question span{

color:var(--azul);

}


/*====================================

ICONO

====================================*/

.faq-icon{

width:48px;

height:48px;

border-radius:50%;

display:flex;

justify-content:center;

align-items:center;

background:rgba(255,255,255,.12);

color:white;

transition:.35s;

font-size:20px;

}

.faq-item.active .faq-icon{

background:var(--azul);

color:white;

transform:rotate(45deg);

}


/*====================================

RESPUESTA

====================================*/

.faq-answer{

max-height:0;

overflow:hidden;

padding:0 35px;

transition:

max-height .45s ease,

padding .45s ease;

font-size:17px;

line-height:1.9;

color:#666;

}

.faq-item.active .faq-answer{

max-height:260px;

padding:0 35px 30px;

}


/*====================================

CTA

====================================*/

.faq-contact-box{

margin-top:45px;

padding:35px 40px;

background:white;

border-radius:24px;

display:flex;

justify-content:space-between;

align-items:center;

gap:25px;

box-shadow:

0 20px 60px rgba(0,0,0,.18);

}

.faq-contact-box h3{

font-size:36px;

color:var(--azul);

margin-bottom:10px;

}

.faq-contact-box p{

margin:0;

color:#666;

}


/*====================================

RESPONSIVE

====================================*/

@media(max-width:1200px){

.faq-title{

font-size:54px;

}

}

@media(max-width:991px){

.faq-premium{

padding:100px 0;

}

.faq-photo img{

height:auto;

}

.faq-photo-card{

position:relative;

left:auto;

bottom:auto;

margin-top:-80px;

width:90%;

margin-left:auto;

margin-right:auto;

}

.faq-title{

font-size:46px;

}

.faq-contact-box{

flex-direction:column;

text-align:center;

}

.faq-background-question{

display:none;

}

}

@media(max-width:576px){

.faq-premium{

padding:70px 0;

}

.faq-title{

font-size:34px;

}

.faq-text{

font-size:17px;

line-height:1.8;

}

.faq-question{

padding:22px;

}

.faq-question span{

font-size:18px;

}

.faq-answer{

font-size:16px;

}

.faq-photo-card{

padding:25px;

}

.faq-photo-card h3{

font-size:28px;

}

.faq-contact-box{

padding:28px;

}

.faq-contact-box h3{

font-size:28px;

}

}
/* =========================================================
   AJUSTES FINALES / FIXES
   ========================================================= */

/* Navbar: evita cortes en escritorio y mantiene solo el logo real */
.nav-premium .container-fluid{max-width:1500px;margin:0 auto}
.navbar-brand{display:flex;align-items:center;flex:0 0 auto;margin-right:24px;max-width:190px}
.logo-navbar{width:auto!important;max-width:180px;height:48px!important;object-fit:contain}
.navbar-collapse{min-width:0}
.navbar-nav{gap:0!important;flex-wrap:nowrap}
.nav-link{margin-left:0!important;padding:10px 10px!important;white-space:nowrap}
.nav-premium .btn-premium{padding:13px 20px!important;font-size:14px!important;white-space:nowrap}

/* Hero debe ser el ancla de inicio */
#inicio{scroll-margin-top:105px}

/* Sobre: en móvil no repite la segunda foto de Andrea */
@media(max-width:576px){
    .sobre-premium .row > .col-lg-6:first-child{display:none!important}
    .sobre-premium .row > .col-lg-6:last-child{width:100%;flex:0 0 100%;max-width:100%}
    .sobre-premium{padding-top:58px!important}
}

/* Testimonials: scroll nativo fluido. Nunca bloquear el scroll vertical de la página. */
.reviews-slider{
    -webkit-overflow-scrolling:touch;
    overscroll-behavior-inline:contain;
    overscroll-behavior-block:auto;
    touch-action:pan-x pan-y;
    scroll-snap-type:x proximity!important;
    scroll-padding-inline:8px;
}
.review-card{scroll-snap-stop:normal}

/* Accesibilidad: reduce animaciones si el usuario lo pide */
@media(prefers-reduced-motion:reduce){
    html{scroll-behavior:auto}
    *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}

/* Ajustes responsive navbar */
@media(max-width:1199px){
    .nav-premium .container-fluid{padding-left:20px!important;padding-right:20px!important}
    .navbar-brand{max-width:160px}
    .logo-navbar{max-width:150px;height:42px!important}
    .navbar-nav{flex-wrap:wrap}
}

@media(max-width:576px){
    .navbar-brand{max-width:145px}
    .logo-navbar{max-width:135px;height:38px!important}
}

/*==================================================
FOOTER
==================================================*/

.footer-premium{
    background:#0f1d40;
    padding:90px 0 35px;
    color:#fff;
}

.footer-premium .container{
    position:relative;
}

.footer-logo{
    display:block;
    width:auto;
    max-width:240px;
    height:auto;
    margin-bottom:28px;
}

.footer-text{
    max-width:420px;
    margin:0 0 32px;
    color:rgba(255,255,255,.72);
    font-size:16px;
    line-height:1.9;
}

.footer-premium h4{
    margin:0 0 25px;
    color:#fff;
    font-family:'Cormorant Garamond',serif;
    font-size:27px;
    font-weight:700;
}

.footer-premium ul{
    margin:0;
    padding:0;
    list-style:none;
}

.footer-premium ul li{
    margin-bottom:13px;
    color:rgba(255,255,255,.68);
    font-size:15px;
}

.footer-premium ul li a{
    color:rgba(255,255,255,.68);
    text-decoration:none;
    transition:.3s ease;
}

.footer-premium ul li a:hover{
    color:var(--dorado);
    padding-left:5px;
}

.footer-social{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
}

.footer-social a{
    width:46px;
    height:46px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.08);
    color:#fff;
    font-size:18px;
    transition:.3s ease;
}

.footer-social a:hover{
    background:var(--dorado);
    border-color:var(--dorado);
    color:#fff;
    transform:translateY(-4px);
}

.footer-contact{
    display:flex;
    flex-direction:column;
    gap:20px;
}

.footer-contact > div{
    display:flex;
    align-items:flex-start;
    gap:14px;
    margin:0;
}

.footer-contact i{
    width:24px;
    flex:0 0 24px;
    margin-top:3px;
    color:#f0cf84;
    font-size:18px;
    text-align:center;
}

.footer-contact span,
.footer-contact a{
    color:rgba(255,255,255,.72);
    font-size:15px;
    line-height:1.6;
    text-decoration:none;
}

.footer-contact a:hover{
    color:#f0cf84;
}

.footer-premium hr{
    margin:55px 0 28px;
    border:0;
    border-top:1px solid rgba(255,255,255,.12);
    opacity:1;
}

.footer-copy{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:25px;
    color:rgba(255,255,255,.55);
    font-size:14px;
}

.footer-copy strong{
    color:#fff;
}

.footer-credit{
    color:#fff;
    font-weight:700;
    text-decoration:none;
    transition:.3s;
}

.footer-credit:hover{
    color:var(--dorado);
}


/* TABLET */

@media(max-width:991px){

    .footer-premium{
        padding:70px 0 30px;
    }

    .footer-copy{
        flex-direction:column;
        align-items:flex-start;
    }

}


/* MOBILE */

@media(max-width:576px){

    .footer-premium{
        padding:60px 0 28px;
    }

    .footer-logo{
        max-width:190px;
    }

    .footer-premium h4{
        margin-top:20px;
        font-size:25px;
    }

    .footer-copy{
        align-items:center;
        text-align:center;
    }

}
/* =========================================================
   VENTAJAS / POR QUÉ ELEGIRNOS
========================================================= */

.ventajas-premium{
    position:relative;
    padding:130px 0;
    overflow:hidden;
    background:
        radial-gradient(circle at 90% 10%, rgba(200,164,93,.12), transparent 30%),
        linear-gradient(135deg,#10224d 0%,#17366e 100%);
}

/* círculos decorativos */

.ventajas-premium::before{
    content:"";
    position:absolute;
    width:650px;
    height:650px;
    border-radius:50%;
    top:-360px;
    right:-230px;
    background:rgba(255,255,255,.035);
    pointer-events:none;
}

.ventajas-premium::after{
    content:"";
    position:absolute;
    width:420px;
    height:420px;
    border-radius:50%;
    left:-220px;
    bottom:-240px;
    background:rgba(200,164,93,.07);
    pointer-events:none;
}

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


/* =========================================================
   COLUMNA IZQUIERDA
========================================================= */

.ventajas-premium .section-tag-light{
    display:inline-flex;
    align-items:center;
    padding:9px 19px;
    margin-bottom:24px;
    border-radius:50px;
    background:rgba(255,255,255,.09);
    border:1px solid rgba(255,255,255,.12);
    color:#f5d796;
    font-size:12px;
    font-weight:700;
    letter-spacing:3px;
    text-transform:uppercase;
}

.ventajas-title{
    max-width:520px;
    margin:0 0 28px;
    color:#fff;
    font-family:'Cormorant Garamond',serif;
    font-size:60px;
    font-weight:700;
    line-height:1.05;
}

.ventajas-text{
    max-width:540px;
    margin:0 0 38px;
    color:rgba(255,255,255,.76);
    font-size:18px;
    line-height:1.85;
}


/* =========================================================
   BOTÓN CLARO
========================================================= */

.btn-light-premium{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    min-height:58px;
    padding:0 31px;
    border-radius:50px;
    background:#fff;
    color:#10224d;
    font-size:15px;
    font-weight:700;
    text-decoration:none;
    box-shadow:0 16px 40px rgba(0,0,0,.15);
    transition:
        transform .3s ease,
        background .3s ease,
        color .3s ease,
        box-shadow .3s ease;
}

.btn-light-premium:hover{
    background:#c8a45d;
    color:#fff;
    transform:translateY(-4px);
    box-shadow:0 22px 50px rgba(0,0,0,.22);
}

.btn-light-premium i{
    transition:transform .3s ease;
}

.btn-light-premium:hover i{
    transform:translateX(5px);
}


/* =========================================================
   TARJETAS
========================================================= */

.ventaja-card{
    position:relative;
    height:100%;
    min-height:275px;
    padding:34px;
    overflow:hidden;
    border-radius:25px;
    background:rgba(255,255,255,.075);
    border:1px solid rgba(255,255,255,.10);
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
    box-shadow:0 20px 50px rgba(0,0,0,.10);
    transition:
        transform .35s ease,
        background .35s ease,
        border-color .35s ease,
        box-shadow .35s ease;
}

.ventaja-card::after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    height:4px;
    background:linear-gradient(90deg,#c8a45d,#efd18f);
    transform:scaleX(0);
    transform-origin:left;
    transition:transform .4s ease;
}

.ventaja-card:hover{
    transform:translateY(-9px);
    background:#fff;
    border-color:#fff;
    box-shadow:0 30px 70px rgba(0,0,0,.20);
}

.ventaja-card:hover::after{
    transform:scaleX(1);
}


/* =========================================================
   ICONO
========================================================= */

.ventaja-icon{
    width:70px;
    height:70px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:24px;
    border-radius:20px;
    background:rgba(255,255,255,.10);
    color:#f4d180;
    font-size:28px;
    transition:.35s ease;
}

.ventaja-card:hover .ventaja-icon{
    background:#eef3fb;
    color:#10224d;
    transform:rotate(-4deg) scale(1.04);
}


/* =========================================================
   TEXTOS DE LAS TARJETAS
========================================================= */

.ventaja-card h3{
    margin:0 0 14px;
    color:#fff;
    font-family:'Cormorant Garamond',serif;
    font-size:30px;
    line-height:1.12;
    transition:color .35s ease;
}

.ventaja-card p{
    margin:0;
    color:rgba(255,255,255,.72);
    font-size:15px;
    line-height:1.75;
    transition:color .35s ease;
}

.ventaja-card:hover h3{
    color:#10224d;
}

.ventaja-card:hover p{
    color:#697181;
}


/* =========================================================
   TABLET
========================================================= */

@media(max-width:991px){

    .ventajas-premium{
        padding:90px 0;
    }

    .ventajas-title{
        max-width:700px;
        font-size:47px;
    }

    .ventajas-text{
        max-width:700px;
        margin-bottom:30px;
    }

    .btn-light-premium{
        margin-bottom:45px;
    }

    .ventaja-card{
        min-height:250px;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media(max-width:576px){

    .ventajas-premium{
        padding:70px 0;
    }

    .ventajas-title{
        font-size:37px;
    }

    .ventajas-text{
        font-size:16px;
        line-height:1.75;
    }

    .btn-light-premium{
        width:100%;
        min-height:56px;
    }

    .ventaja-card{
        min-height:auto;
        padding:27px;
        border-radius:21px;
    }

    .ventaja-icon{
        width:61px;
        height:61px;
        border-radius:17px;
        font-size:24px;
    }

    .ventaja-card h3{
        font-size:27px;
    }

}

/* =========================================================
   FIX FINAL DE ANCHO / OVERFLOW
   Evita que cualquier bloque empuje el sitio hacia un costado.
========================================================= */

html,
body{
    width:100%;
    max-width:100%;
    margin:0;
    overflow-x:hidden;
}

body{
    position:relative;
}

main,
header,
footer,
section{
    width:100%;
    max-width:100%;
}

.container,
.container-fluid{
    max-width:100%;
}


/* =========================================================
   TESTIMONIOS - DESKTOP CENTRADO / MOBILE SCROLL NATIVO
========================================================= */

.reviews-premium{
    width:100%;
    max-width:100%;
    overflow:hidden;
}

.reviews-premium .container-fluid{
    width:100%;
    max-width:100%;
}

.reviews-slider{
    width:100%;
    max-width:100%;
    overflow-x:auto;
    overflow-y:hidden;
    margin-left:0;
    margin-right:0;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior-inline:contain;
    overscroll-behavior-block:auto;
    touch-action:pan-x pan-y;
    scroll-snap-type:x proximity !important;
}

@media(min-width:1200px){
    .reviews-slider{
        justify-content:center;
        overflow-x:hidden;
    }
}

@media(max-width:1199px){
    .reviews-slider{
        justify-content:flex-start;
        overflow-x:auto;
    }
}

@media(max-width:576px){

    .reviews-premium .container-fluid{
        width:100%;
        max-width:100%;
        padding-left:18px !important;
        padding-right:18px !important;
        overflow:hidden;
    }

    .reviews-slider{
        width:100%;
        max-width:100%;
        gap:16px;
        margin:0 !important;
        padding-left:0 !important;
        padding-right:0 !important;
    }

    .review-card{
        flex:0 0 calc(100% - 18px) !important;
        width:calc(100% - 18px) !important;
        min-width:calc(100% - 18px) !important;
        max-width:calc(100% - 18px) !important;
    }
}


/* =========================================================
   FOOTER - SIEMPRE AL 100% Y CENTRADO
========================================================= */

.footer-premium{
    width:100%;
    max-width:100%;
    margin:0;
    left:auto;
    right:auto;
}


/* =========================================================
   PROTECCIÓN EXTRA CONTRA ELEMENTOS DECORATIVOS
========================================================= */

.hero-premium,
.sobre-premium,
.areas-premium,
.ventajas-premium,
.proceso-premium,
.contacto-premium,
.reviews-premium,
.faq-premium,
.footer-premium{
    overflow-x:hidden;
}
