.empresa{
    background:#fff;
}

.empresa-grid{
    display:grid;
    grid-template-columns:1.05fr .95fr;
    gap:80px;
    align-items:center;
    margin-bottom:110px;
}

/* ==========================
   TITULOS SECCION
========================== */
.section-label{
    display:inline-block;
    font-size:.82rem;
    font-weight:800;
    letter-spacing:2px;
    color:var(--gold);
    margin-bottom:20px;
}

.section-label.center{
    display:block;
    text-align:center;
    margin-bottom:55px;
}

/* ==========================
   CONTENIDO EMPRESA
========================== */
.empresa-content h2{
    font-size:clamp(3rem,5vw,5rem);
    line-height:.98;
    letter-spacing:-3px;
    color:var(--primary-dark);
    margin-bottom:35px;
    max-width:720px;
}

.empresa-content p{
    font-size:1.08rem;
    line-height:1.9;
    color:var(--muted);
    max-width:620px;
    margin-bottom:22px;
}

/* ==========================
   IMAGEN
========================== */
.empresa-image{
    height:620px;
    border-radius:32px;
    overflow:hidden;
    box-shadow:0 35px 80px rgba(0,0,0,.15);
}

.empresa-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:.6s;
}

.empresa-image:hover img{
    transform:scale(1.05);
}

/* ==========================
   PROCESO
========================== */

.process-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:28px;
}

.process-card{
    background:#fafafa;
    border:1px solid rgba(0,0,0,.06);
    border-radius:24px;
    padding:40px 34px;
    transition:.35s;
}

.process-card:hover{
    transform:translateY(-8px);
    box-shadow:0 22px 60px rgba(0,0,0,.08);
}

.process-card span{
    color:var(--gold);
    font-weight:800;
    letter-spacing:2px;
    font-size:.82rem;
}

.process-card h3{
    margin:22px 0 18px;
    font-size:1.45rem;
    color:var(--primary-dark);
}

.process-card p{
    color:var(--muted);
    line-height:1.8;
}

/* ==========================
   ANIMACIONES SCROLL
========================== */
/* Estado inicial */
.reveal{
    opacity:0;
    transition:1s cubic-bezier(.22,1,.36,1);
}

/* Desde izquierda */
.fade-left{
    transform:translateX(-140px);
}

/* Desde derecha */
.fade-right{
    transform:translateX(140px);
}

/* Desde abajo */
.fade-up{
    transform:translateY(90px);
}

/* Estado visible */
.reveal.show{
    opacity:1;
    transform:translate(0);
}

/* retrasos tarjetas */
.delay-1{
    transition-delay:.1s;
}

.delay-2{
    transition-delay:.2s;
}

.delay-3{
    transition-delay:.3s;
}

.delay-4{
    transition-delay:.4s;
}