/*==================================================
 SAMY WEB
 style.css
 PARTE 1
==================================================*/

/*======================
 VARIABLES
=======================*/

:root{

    --rojo:#E30613;
    --rojo-hover:#c9000f;

    --negro:#181818;

    --gris:#666666;

    --gris-claro:#f5f5f5;

    --blanco:#ffffff;

    --borde:#ececec;

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

    --radius:18px;

    --container:1280px;

}

/*======================
 RESET
=======================*/

*{

    margin:0;

    padding:0;

    box-sizing:border-box;

}

html{

    scroll-behavior:smooth;

}

body{

    font-family:'Poppins',sans-serif;

    color:var(--negro);

    background:#fff;

    overflow-x:hidden;

}

img{

    display:block;

    max-width:100%;

}

a{

    text-decoration:none;

}

ul{

    list-style:none;

}

/*======================
 CONTENEDOR
=======================*/

.container{

    width:min(1280px,92%);

    margin:auto;

}

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

.header{

    position:fixed;

    top:0;

    left:0;

    width:100%;

    z-index:999;

    background:#fff;

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

}

.header .container{

    height:115px;

    display:flex;

    justify-content:space-between;

    align-items:center;

}

/*======================
 LOGO
=======================*/

.logo img{

    height:115px;

    width:auto;

}

/*======================
 MENU
=======================*/

.menu ul{

    display:flex;

    gap:42px;

    align-items:center;

}

.menu a{

    color:#222;

    font-weight:600;

    transition:.30s;

    font-size:15px;

}

.menu a:hover{

    color:var(--rojo);

}

/*======================
 BOTON PRINCIPAL
=======================*/

.btn-primary{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    background:var(--rojo);

    color:#fff;

    padding:16px 34px;

    border-radius:14px;

    font-weight:600;

    transition:.30s;

}

.btn-primary:hover{

    background:var(--rojo-hover);

}

/*======================
 BOTON SECUNDARIO
=======================*/

.btn-secondary{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    background:#fff;

    color:#222;

    border:1px solid #ddd;

    padding:16px 34px;

    border-radius:14px;

    font-weight:600;

    transition:.30s;

}
.hero-buttons .btn-primary,
.hero-buttons .btn-secondary{

    min-width:220px;
    height:58px;

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

}

.btn-secondary:hover{

    border-color:var(--rojo);

    color:var(--rojo);

}

/*======================
 HERO
=======================*/

/*==================================================
HERO NUEVO
==================================================*/

.hero{

    position:relative;

    margin-top:105px;

    min-height:100vh;

    overflow:hidden;

    background:#fff;

}

/*-----------------------------
Imagen de fondo
------------------------------*/

.hero-bg{

    position:absolute;

    inset:0;

    z-index:1;

    overflow:hidden;

}

.hero-bg img{

    position:absolute;

    top:0;

    right:0;

    width:100%;

    height:100%;

    object-fit:cover;

    object-position:right center;

}

/*-----------------------------
Degradado blanco
------------------------------*/

.hero-overlay{

    position:absolute;
    inset:0;
    z-index:2;

    background:linear-gradient(
        to right,
        #fff 0%,
        #fff 10%,
        rgba(255,255,255,.90) 22%,
        rgba(255,255,255,.60) 34%,
        rgba(255,255,255,.28) 46%,
        rgba(255,255,255,.08) 58%,
        rgba(255,255,255,0) 68%
    );

}
.hero .container{

    position:relative;

    z-index:10;

    height:100vh;

    display:flex;

    align-items:center;

}

/*-----------------------------
Contenido
------------------------------*/

.hero-content{

    position:relative;

    z-index:5;

    min-height:100vh;

    display:flex;

    align-items:center;

    width:100%;

}

.hero-left{

    width:45%;

    padding-left:80px;

    padding-right:40px;

    position:relative;

    z-index:10;

}


.hero-left h1{
    font-size:64px;
    line-height:1.08;
    margin-bottom:24px;
}

.hero-left p{
    font-size:22px;
    line-height:1.7;
    max-width:560px;
    margin-bottom:42px;
}

.hero-buttons{
    display:flex;
    gap:20px;
    margin-top:18px;
    margin-bottom:48px;
    flex-wrap:wrap;
}

.hero-right{

    position:relative;

    height:100vh;

    width:100%;

    overflow:hidden;

    background:
        linear-gradient(
            to right,
            #ffffff 0%,
            rgba(255,255,255,.98) 10%,
            rgba(255,255,255,.90) 18%,
            rgba(255,255,255,.55) 26%,
            rgba(255,255,255,.18) 34%,
            rgba(255,255,255,0) 42%
        );

}

/*======================
 DEGRADADO BLANCO
=======================*/

.hero::before{
    display:none;
}

/*======================
 CARACTERISTICAS HERO
=======================*/

.hero-features{

    display:flex;

    gap:45px;

    flex-wrap:wrap;

}

.feature{

    display:flex;

    align-items:center;

    gap:14px;

}

.feature img{

    width:26px;

    height:26px;

}

.feature span{

    font-size:15px;

    font-weight:600;

    color:#444;

}

/*==================================================
 EMPRESAS
==================================================*/

.empresas{

    padding:90px 0;

    background:#ffffff;

}

.section-header{

    text-align:center;

    margin-bottom:55px;

}

.section-tag{

    display:inline-block;

    background:#f5f5f5;

    color:var(--rojo);

    padding:9px 18px;

    border-radius:999px;

    font-size:13px;

    font-weight:700;

    letter-spacing:.5px;

    margin-bottom:18px;

}

.section-header h2{

    font-size:42px;

    font-weight:800;

    margin-bottom:15px;

}

.section-header p{

    font-size:18px;

    color:#666;

    max-width:700px;

    margin:auto;

}

/*======================
 GRID CLIENTES
=======================*/

.clientes-grid{

    display:grid;

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

    gap:25px;

}

.cliente-card{

    background:#fff;

    border:1px solid #efefef;

    border-radius:18px;

    padding:35px;

    display:flex;

    align-items:center;

    justify-content:center;

    transition:.35s;

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

}

.cliente-card:hover{

    transform:translateY(-8px);

    box-shadow:0 20px 40px rgba(0,0,0,.10);

}

.cliente-card img{

    max-width:160px;

    max-height:60px;

    object-fit:contain;

    filter:grayscale(100%);

    opacity:.80;

    transition:.35s;

}

.cliente-card:hover img{

    filter:none;

    opacity:1;

}

/*==================================================
 BENEFICIOS
==================================================*/

.beneficios{

    padding:110px 0;

    background:#fafafa;

}

.beneficios-grid{

    display:grid;

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

    gap:30px;

}

.beneficio-card{

    background:#fff;

    border-radius:22px;

    padding:40px 30px;

    text-align:center;

    transition:.35s;

    border:1px solid #ececec;

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

}

.beneficio-card:hover{

    transform:translateY(-10px);

    box-shadow:0 25px 45px rgba(0,0,0,.12);

}

.beneficio-card img{

    width:64px;

    margin:auto;

    margin-bottom:25px;

}

.beneficio-card h3{

    font-size:23px;

    margin-bottom:15px;

    font-weight:700;

}

.beneficio-card p{

    color:#666;

    line-height:1.8;

    font-size:16px;

}
/*==================================================
 CÓMO FUNCIONA
==================================================*/

.proceso{

    background:#121212;

    color:#fff;

    padding:120px 0;

    position:relative;

    overflow:hidden;

}

.proceso::before{

    content:"";

    position:absolute;

    inset:0;

    background:
    radial-gradient(circle at top right,
    rgba(227,6,19,.18),
    transparent 45%);

    pointer-events:none;

}

.proceso .section-tag{

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

    color:#fff;

}

.proceso .section-header h2{

    color:#fff;

}

.proceso .section-header p{

    color:#d0d0d0;

}

.proceso-grid{

    display:grid;

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

    gap:35px;

    position:relative;

    z-index:2;

}

.paso{

    background:#1b1b1b;

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

    border-radius:24px;

    padding:45px 35px;

    text-align:center;

    transition:.35s;

}

.paso:hover{

    transform:translateY(-10px);

    border-color:var(--rojo);

}

.paso-numero{

    width:56px;

    height:56px;

    border-radius:50%;

    background:var(--rojo);

    color:#fff;

    display:flex;

    align-items:center;

    justify-content:center;

    font-weight:700;

    margin:0 auto 28px;

    font-size:18px;

}

.paso img{

    width:70px;

    margin:auto;

    margin-bottom:25px;

}

.paso h3{

    font-size:24px;

    margin-bottom:15px;

}

.paso p{

    color:#cfcfcf;

    line-height:1.8;

}

/*==================================================
 COBERTURA
==================================================*/

.cobertura{

    padding:120px 0;

    background:#fff;

}

.cobertura-grid{

    display:grid;

    grid-template-columns:42% 58%;

    align-items:center;

    gap:60px;

}

.cobertura-info h2{

    font-size:52px;

    line-height:1.1;

    margin-bottom:25px;

}

.cobertura-info p{

    color:#666;

    font-size:18px;

    line-height:1.9;

    margin-bottom:35px;

}

.lista-cobertura{

    margin-bottom:40px;

}

.lista-cobertura li{

    padding:10px 0;

    font-size:18px;

    color:#444;

}

.cobertura-mapa{

    position:relative;

}

.cobertura-mapa img{

    width:100%;

    display:block;

}

/*==================================================
 INDICADORES
==================================================*/

.metricas{

    display:grid;

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

    gap:22px;

    margin-top:45px;

}

.metrica{

    background:#fff;

    border:1px solid #ededed;

    border-radius:18px;

    text-align:center;

    padding:28px;

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

}

.metrica h3{

    color:var(--rojo);

    font-size:42px;

    margin-bottom:8px;

    font-weight:800;

}

.metrica span{

    color:#666;

    font-size:15px;

}

/*==================================================
 TRANSICIONES
==================================================*/

section{

    position:relative;

}

section h2{

    font-weight:800;

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

.cta{

    padding:120px 0;

    background:linear-gradient(135deg,#E30613,#b7000f);

}

.cta-box{

    display:flex;

    justify-content:space-between;

    align-items:center;

    gap:60px;

    background:#fff;

    border-radius:28px;

    padding:70px;

    box-shadow:0 25px 60px rgba(0,0,0,.18);

}

.cta-texto{

    max-width:650px;

}

.cta-texto h2{

    font-size:54px;

    line-height:1.1;

    margin:20px 0;

    color:#181818;

}

.cta-texto p{

    color:#666;

    font-size:19px;

    line-height:1.8;

}

.cta-botones{

    display:flex;

    gap:18px;

    flex-wrap:wrap;

}

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

.faq{

    padding:120px 0;

    background:#fafafa;

}

.faq-container{

    max-width:1000px;

    margin:70px auto 0;

}

.faq-item{

    background:#fff;

    border-radius:18px;

    margin-bottom:18px;

    border:1px solid #ececec;

    overflow:hidden;

    transition:.35s;

}

.faq-item:hover{

    box-shadow:0 15px 35px rgba(0,0,0,.08);

}

.faq-question{

    width:100%;

    background:#fff;

    border:none;

    text-align:left;

    cursor:pointer;

    padding:28px 35px;

    font-size:19px;

    font-weight:600;

    color:#222;

}

.faq-answer{

    padding:0 35px 30px;

}

.faq-answer p{

    color:#666;

    line-height:1.9;

}

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

.footer{

    background:#121212;

    color:#fff;

    padding-top:90px;

}

.footer-grid{

    display:grid;

    grid-template-columns:2fr 1fr 1fr 1.2fr;

    gap:45px;

    padding-bottom:60px;

}

.footer-brand img{

    width:180px;

    margin-bottom:25px;

}

.footer-brand p{

    color:#bbb;

    line-height:1.8;

}

.footer h4{

    margin-bottom:22px;

    font-size:20px;

}

.footer-links ul{

    display:flex;

    flex-direction:column;

    gap:16px;

}

.footer-links a{

    color:#bdbdbd;

    transition:.30s;

}

.footer-links a:hover{

    color:#fff;

}

.footer-contacto p{

    color:#bdbdbd;

    margin-bottom:15px;

}

.footer-copy{

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

    padding:28px 0;

    text-align:center;

    color:#9d9d9d;

}

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

@media(max-width:1200px){

.hero-content{

grid-template-columns:1fr;

}

.hero-left{

text-align:center;

padding-right:0;

}

.hero-buttons{

justify-content:center;

}

.hero-features{

justify-content:center;

}

.hero-right{

height:650px;

}

.hero-right img{

    position:absolute;

    top:50%;

    right:-500px;

    transform:translateY(-50%);

    width:2050px;

    max-width:none;

    height:auto;

    object-fit:contain;

    user-select:none;

    pointer-events:none;


}

.clientes-grid{

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

}

.beneficios-grid{

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

}

.proceso-grid{

grid-template-columns:1fr;

}

.cobertura-grid{

grid-template-columns:1fr;

}

.footer-grid{

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

}

}

@media(max-width:768px){

.header .container{

height:82px;

}

.logo img{

height:100px;

}

.menu{

display:none;

}

.hero{

min-height:auto;

padding:50px 0;

}

.hero-left h1{

font-size:44px;

}

.hero-left p{

font-size:18px;

}

.hero-buttons{

flex-direction:column;

}

.btn-primary,

.btn-secondary{

width:100%;

}

.section-header h2{

font-size:34px;

}

.clientes-grid,

.beneficios-grid{

grid-template-columns:1fr;

}

.metricas{

grid-template-columns:1fr;

}

.footer-grid{

grid-template-columns:1fr;

text-align:center;

}

.footer-brand img{

margin:auto auto 25px;

}

.cta-box{

padding:45px 30px;

flex-direction:column;

text-align:center;

}

.cta-texto h2{

font-size:38px;

}

}
/* ===============================
   PANDA BENEFICIOS
==================================*/

.beneficios .container{

    position: relative;

}

.panda-beneficios{

    position:absolute;

    width:300px;

    right:-200px;

    bottom: -80px;

    z-index:10;

    pointer-events:none;

}
.cotizacion-beneficios{
    margin-top:25px;
    padding-left:22px;
}

.cotizacion-beneficios li{
    margin-bottom:16px;
    line-height:1.8;
    color:#555;
    font-size:17px;
}

/* === Responsive Optimization Added === */

@media (max-width:1024px){
  .container{width:min(94%,1280px);}
  .hero-left{width:100%;padding:0 20px;text-align:center;}
  .hero-content,.hero .container{height:auto;min-height:auto;}
  .hero{padding:120px 0 70px;}
  .hero-left h1{font-size:48px;}
  .hero-left p{font-size:18px;margin-left:auto;margin-right:auto;}
  .hero-features{justify-content:center;}
  .clientes-grid{grid-template-columns:repeat(2,1fr);}
  .beneficios-grid{grid-template-columns:repeat(2,1fr);}
  .cobertura-grid,.footer-grid,.cta-box{grid-template-columns:1fr;flex-direction:column;}
}

@media (max-width:768px){
  .header .container{height:78px;}
  .logo img{height:74px;}
  .btn-primary,.btn-secondary{width:100%;}
  .hero{margin-top:78px;}
  .hero-bg img{object-position:75% center;}
  .hero-left h1{font-size:36px;}
  .hero-left p{font-size:16px;}
  .section-header h2,.cobertura-info h2,.cta-texto h2{font-size:30px;}
  .clientes-grid,.beneficios-grid,.metricas,.proceso-grid{grid-template-columns:1fr;}
  .cta-box{padding:32px 24px;}
  .panda-beneficios{display:none;}
  .hero-left h1,
.hero-left p,
.hero-features .feature span{
    text-shadow:
    -1px -1px 0 #fff,
     1px -1px 0 #fff,
    -1px  1px 0 #fff,
     1px  1px 0 #fff;
}

.hero-left h1{
    color:#111;
}

.hero-left p{
    color:#111;
}

.hero-features .feature span{
    color:#111;
.header .container{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:0 15px;
}

.logo img{
    height:55px;
    width:auto;
}

.header .btn-primary{
    width:auto;
    padding:14px 22px;
    font-size:14px;
    border-radius:14px;
    white-space:nowrap;
}
}

}

@media (max-width:480px){
  .container{width:92%;}
  .hero-buttons{gap:12px;}
  .hero-left h1{font-size:30px;line-height:1.15;}
  .hero-left p{font-size:15px;}
  .section-header h2{font-size:26px;}
  .beneficio-card,.cliente-card,.paso,.metrica,.faq-question,.faq-answer{padding-left:20px;padding-right:20px;}

@media (max-width:768px){

.hero-tag{
    text-shadow:
    -1px -1px 0 #ffffff,
     1px -1px 0 #ffffff,
    -1px  1px 0 #ffffff,
     1px  1px 0 #ffffff;
    font-weight:600;
}

}

}



/* ==========================================
   AJUSTE FINAL HEADER MOVIL SAMY
   Solo afecta pantallas menores a 768px
========================================== */

@media (max-width:768px){

    .header .container{
        height:78px;
        display:flex;
        align-items:center;
        justify-content:space-between;
        padding:0 15px;
        gap:10px;
    }

    .logo{
        display:flex;
        align-items:center;
    }

    .logo img{
        height:58px;
        width:auto;
    }

    .header .btn-primary{
        width:auto;
        flex-shrink:0;
        padding:13px 18px;
        font-size:13px;
        border-radius:14px;
        white-space:nowrap;
    }

}
