/*
Theme Name: Roma Consulting
Theme URI: https://romaconsulting.com
Author: Roma Consulting SRL
Description: Sitio web minimalista y elegante para Roma Consulting – Corredores de Seguros
Version: 3.0.0
License: GNU General Public License v2 or later
Text Domain: roma-consulting
*/

@import url('https://fonts.googleapis.com/css2?family=Cormorant:ital,wght@0,300;0,400;0,500;1,300;1,400&family=Jost:wght@200;300;400;500&display=swap');

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
img{max-width:100%;display:block;}
a{text-decoration:none;}

:root{
  --azul:#29abe2;--azul-osc:#1d8fc0;--marino:#1a3a8f;
  --verde:#39b54a;--rojo:#ed1c24;--naranja:#f7941d;
  --negro:#080b12;--oscuro:#111827;--gris-os:#374151;
  --gris:#6b7280;--gris-cl:#9ca3af;
  --borde:#e8ecf3;--fondo:#f7f9fc;--blanco:#ffffff;
  --serif:'Cormorant',Georgia,serif;
  --sans:'Jost',system-ui,sans-serif;
}

body{font-family:var(--sans);font-weight:300;color:var(--oscuro);background:var(--blanco);overflow-x:hidden;line-height:1;-webkit-font-smoothing:antialiased;}

/* TIPOGRAFÍA */
h1,h2,h3,h4{font-family:var(--serif);font-weight:400;line-height:1.1;letter-spacing:-0.01em;}

.etiqueta{display:inline-flex;align-items:center;gap:10px;font-family:var(--sans);font-size:0.62rem;font-weight:400;letter-spacing:0.24em;text-transform:uppercase;color:var(--azul);}
.etiqueta::before{content:'';display:block;width:18px;height:1px;background:var(--azul);}

.btn-principal{display:inline-block;background:var(--azul);color:var(--blanco);font-family:var(--sans);font-size:0.7rem;font-weight:400;letter-spacing:0.14em;text-transform:uppercase;padding:0.95rem 2.2rem;border-radius:2px;border:none;cursor:pointer;transition:background 0.25s,transform 0.2s;}
.btn-principal:hover{background:var(--marino);transform:translateY(-1px);}

.btn-fantasma{display:inline-block;border:1px solid var(--borde);color:var(--gris);font-family:var(--sans);font-size:0.7rem;font-weight:400;letter-spacing:0.14em;text-transform:uppercase;padding:0.95rem 2rem;border-radius:2px;transition:border-color 0.2s,color 0.2s;}
.btn-fantasma:hover{border-color:var(--azul);color:var(--azul);}

/* NAVBAR */
.navbar{position:fixed;inset:0 0 auto 0;z-index:500;height:70px;background:rgba(255,255,255,0.98);border-bottom:1px solid var(--borde);display:flex;align-items:center;justify-content:space-between;padding:0 5vw;backdrop-filter:blur(16px);}
.navbar-logo img{height:44px;width:auto;object-fit:contain;}
.navbar-menu{display:flex;align-items:center;gap:2.8rem;list-style:none;}
.navbar-menu a{font-size:0.7rem;font-weight:300;letter-spacing:0.12em;text-transform:uppercase;color:var(--gris);transition:color 0.2s;}
.navbar-menu a:hover{color:var(--oscuro);}
.navbar-menu .nav-cta{background:var(--azul);color:var(--blanco)!important;padding:0.6rem 1.4rem;border-radius:2px;transition:background 0.2s!important;}
.navbar-menu .nav-cta:hover{background:var(--marino)!important;}
.nav-toggle{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:4px;}
.nav-toggle span{display:block;width:22px;height:1.5px;background:var(--oscuro);}

/* HERO */
.hero{padding-top:70px;min-height:100vh;display:grid;grid-template-columns:55% 45%;}

.hero-texto{display:flex;flex-direction:column;justify-content:center;padding:8rem 5vw;border-right:1px solid var(--borde);}
.hero-titulo{font-size:clamp(3rem,5.5vw,5.8rem);font-weight:300;color:var(--oscuro);line-height:1.0;margin:1.5rem 0 2rem;letter-spacing:-0.02em;}
.hero-titulo em{font-style:italic;color:var(--azul);}
.hero-bajada{font-size:0.9rem;line-height:1.85;color:var(--gris);max-width:400px;margin-bottom:3rem;font-weight:300;}
.hero-acciones{display:flex;align-items:center;gap:1.5rem;}

.hero-visual{display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--fondo);padding:5rem 3rem;gap:3rem;position:relative;overflow:hidden;}
.hero-logo-grande{width:100%;max-width:300px;opacity:0.95;}

.hero-numeros{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--borde);border:1px solid var(--borde);border-radius:6px;overflow:hidden;}
.num-item{background:var(--blanco);padding:1.75rem 1.5rem;}
.num-valor{font-family:var(--serif);font-size:2.5rem;font-weight:300;color:var(--oscuro);line-height:1;margin-bottom:0.25rem;letter-spacing:-0.03em;}
.num-valor sup{font-size:1.2rem;color:var(--azul);font-family:var(--sans);font-weight:200;letter-spacing:0;}
.num-etiq{font-size:0.68rem;font-weight:300;color:var(--gris-cl);letter-spacing:0.1em;text-transform:uppercase;}

/* FRANJA */
.franja{background:var(--oscuro);padding:1rem 5vw;display:flex;align-items:center;overflow:hidden;}
.franja-item{display:flex;align-items:center;gap:8px;color:rgba(255,255,255,0.32);font-size:0.65rem;font-weight:300;letter-spacing:0.14em;text-transform:uppercase;white-space:nowrap;padding:0 2rem;border-right:1px solid rgba(255,255,255,0.08);}
.franja-item:first-child{padding-left:0;}
.franja-item:last-child{border-right:none;}
.punto{width:4px;height:4px;border-radius:50%;flex-shrink:0;}

/* SECCIONES */
.seccion{padding:8rem 5vw;}
.seccion-fondo{background:var(--fondo);}

/* SERVICIOS */
.servicios-cabecera{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:4rem;gap:4rem;}
.servicios-titulo{max-width:380px;}
.titulo-seccion{font-size:clamp(1.8rem,3vw,2.8rem);font-weight:300;color:var(--oscuro);margin:0.75rem 0 1rem;line-height:1.15;}
.desc-seccion{font-size:0.88rem;line-height:1.8;color:var(--gris);font-weight:300;max-width:340px;}

.grilla-servicios{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--borde);border:1px solid var(--borde);border-radius:6px;overflow:hidden;}
.tarjeta{background:var(--blanco);padding:2.5rem 2rem;transition:background 0.2s;}
.tarjeta:hover{background:var(--fondo);}
.tarjeta-acento{display:inline-block;width:20px;height:1.5px;border-radius:2px;margin-bottom:1.5rem;}
.tarjeta h3{font-size:1.2rem;font-weight:400;color:var(--oscuro);margin-bottom:0.75rem;}
.tarjeta p{font-size:0.82rem;line-height:1.75;color:var(--gris);font-weight:300;}

/* MISIÓN VISIÓN */
.mv-wrap{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--borde);border:1px solid var(--borde);border-radius:6px;overflow:hidden;margin:3rem 0 5rem;}
.mv-panel{padding:4rem 3.5rem;}
.mv-panel.oscuro{background:var(--oscuro);}
.mv-panel.claro{background:var(--blanco);}
.mv-panel .etiqueta{margin-bottom:2rem;}
.mv-panel.oscuro .etiqueta{color:var(--azul);}
.mv-panel.oscuro .etiqueta::before{background:var(--azul);}
.mv-panel h3{font-size:1.65rem;font-weight:300;line-height:1.2;margin-bottom:1.5rem;}
.mv-panel.oscuro h3{color:var(--blanco);}
.mv-panel.claro h3{color:var(--oscuro);}
.mv-panel p{font-size:0.88rem;line-height:1.85;font-weight:300;}
.mv-panel.oscuro p{color:rgba(255,255,255,0.45);}
.mv-panel.claro p{color:var(--gris);}

/* VALORES */
.subtitulo-valores{font-size:clamp(1.5rem,2.5vw,2rem);font-weight:300;color:var(--oscuro);margin:0.75rem 0 2.5rem;}
.grilla-valores{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--borde);border:1px solid var(--borde);border-radius:6px;overflow:hidden;}
.valor{background:var(--blanco);padding:2rem 1.75rem;transition:background 0.2s;}
.valor:hover{background:var(--fondo);}
.valor-linea{width:16px;height:1.5px;border-radius:2px;margin-bottom:1.25rem;}
.valor h4{font-family:var(--serif);font-size:1rem;font-weight:400;color:var(--oscuro);margin-bottom:0.5rem;}
.valor p{font-size:0.78rem;line-height:1.7;color:var(--gris);font-weight:300;}
.valor-cta{background:var(--azul)!important;display:flex;flex-direction:column;justify-content:space-between;padding:2rem 1.75rem!important;}
.valor-cta:hover{background:var(--marino)!important;}
.valor-frase{font-family:var(--serif);font-size:1.1rem;font-style:italic;font-weight:300;color:var(--blanco);line-height:1.5;margin-bottom:1.5rem;}

/* NOSOTROS */
.nosotros-wrap{display:grid;grid-template-columns:1fr 1fr;}
.nosotros-izq{background:var(--oscuro);padding:7rem 5vw;display:flex;flex-direction:column;justify-content:space-between;min-height:560px;}
.nosotros-cita{font-family:var(--serif);font-size:clamp(1.5rem,2.5vw,2.2rem);font-weight:300;font-style:italic;color:rgba(255,255,255,0.88);line-height:1.45;max-width:400px;}
.nosotros-firma{display:flex;align-items:center;gap:12px;}
.firma-linea{width:24px;height:1px;background:var(--azul);}
.firma-texto{font-size:0.62rem;letter-spacing:0.18em;text-transform:uppercase;color:rgba(255,255,255,0.28);font-weight:300;}
.nosotros-der{background:var(--fondo);padding:7rem 5vw;display:flex;flex-direction:column;justify-content:center;}
.nosotros-der .etiqueta{margin-bottom:1rem;}
.nosotros-der .titulo-seccion{margin-bottom:1.5rem;}
.lista-puntos{list-style:none;display:flex;flex-direction:column;gap:1rem;margin-bottom:3rem;}
.lista-puntos li{display:flex;align-items:flex-start;gap:0.85rem;font-size:0.85rem;line-height:1.7;color:var(--gris);font-weight:300;}
.lista-puntos li::before{content:'';display:block;width:4px;height:4px;border-radius:50%;background:var(--azul);margin-top:9px;flex-shrink:0;}

/* ESTADÍSTICAS */
.estadisticas{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--borde);border-top:1px solid var(--borde);border-bottom:1px solid var(--borde);}
.stat{background:var(--blanco);padding:4rem 3rem;text-align:center;}
.stat-num{font-family:var(--serif);font-size:3.5rem;font-weight:300;color:var(--oscuro);line-height:1;margin-bottom:0.6rem;letter-spacing:-0.03em;}
.stat-num sup{font-family:var(--sans);font-size:1.4rem;color:var(--azul);font-weight:200;}
.stat-etiq{font-size:0.65rem;font-weight:300;color:var(--gris-cl);letter-spacing:0.16em;text-transform:uppercase;}

/* POR QUÉ */
.razones{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--borde);border:1px solid var(--borde);border-radius:6px;overflow:hidden;margin-top:3rem;}
.razon{background:var(--blanco);padding:2.8rem 2.5rem;display:flex;gap:1.75rem;align-items:flex-start;transition:background 0.2s;}
.razon:hover{background:var(--fondo);}
.razon-idx{font-family:var(--serif);font-size:1.4rem;font-weight:300;color:var(--azul);line-height:1;flex-shrink:0;padding-top:2px;opacity:0.65;}
.razon h3{font-family:var(--serif);font-size:1.15rem;font-weight:400;color:var(--oscuro);margin-bottom:0.5rem;}
.razon p{font-size:0.82rem;line-height:1.75;color:var(--gris);font-weight:300;}

/* ASEGURADORAS */
.aseguradoras-centro{text-align:center;max-width:480px;margin:0 auto 3rem;}
.aseguradoras-centro .etiqueta{justify-content:center;}
.aseguradoras-centro .etiqueta::before{display:none;}
.logos-wrap{display:flex;flex-wrap:wrap;gap:0.65rem;justify-content:center;}
.logo-chip{border:1px solid var(--borde);border-radius:3px;padding:0.7rem 1.6rem;font-size:0.75rem;font-weight:300;color:var(--gris);letter-spacing:0.06em;background:var(--blanco);transition:border-color 0.2s,color 0.2s;}
.logo-chip:hover{border-color:var(--azul);color:var(--azul);}

/* CONTACTO */
.contacto-wrap{display:grid;grid-template-columns:1fr 1fr;}
.contacto-izq{background:var(--oscuro);padding:7rem 5vw;display:flex;flex-direction:column;justify-content:center;}
.contacto-izq .etiqueta{color:var(--azul);margin-bottom:1.25rem;}
.contacto-izq .etiqueta::before{background:var(--azul);}
.contacto-izq .titulo-seccion{color:var(--blanco);margin-bottom:1rem;}
.contacto-izq .desc-seccion{color:rgba(255,255,255,0.38);margin-bottom:3rem;}
.info-lista{list-style:none;display:flex;flex-direction:column;gap:1.75rem;}
.info-lista li{display:flex;align-items:flex-start;gap:1rem;}
.info-icono{width:34px;height:34px;border-radius:3px;background:rgba(41,171,226,0.1);display:flex;align-items:center;justify-content:center;font-size:0.85rem;flex-shrink:0;}
.info-etiq{font-size:0.6rem;text-transform:uppercase;letter-spacing:0.18em;color:rgba(255,255,255,0.25);margin-bottom:3px;font-weight:300;}
.info-val{font-size:0.85rem;color:rgba(255,255,255,0.65);font-weight:300;}
.contacto-der{background:var(--fondo);padding:7rem 5vw;display:flex;flex-direction:column;justify-content:center;}
.campo{margin-bottom:1.15rem;}
.campo label{display:block;font-size:0.6rem;font-weight:400;letter-spacing:0.18em;text-transform:uppercase;color:var(--gris-cl);margin-bottom:0.4rem;}
.campo input,.campo select,.campo textarea{width:100%;background:var(--blanco);border:1px solid var(--borde);border-radius:2px;color:var(--oscuro);font-family:var(--sans);font-size:0.85rem;font-weight:300;padding:0.8rem 1rem;outline:none;transition:border-color 0.2s;resize:vertical;-webkit-appearance:none;}
.campo select option{color:var(--oscuro);}
.campo input::placeholder,.campo textarea::placeholder{color:#d1d5db;}
.campo input:focus,.campo select:focus,.campo textarea:focus{border-color:var(--azul);}
.fila-doble{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.btn-enviar{width:100%;background:var(--azul);color:var(--blanco);border:none;border-radius:2px;font-family:var(--sans);font-size:0.7rem;font-weight:400;letter-spacing:0.14em;text-transform:uppercase;padding:1rem;cursor:pointer;margin-top:0.5rem;transition:background 0.22s;}
.btn-enviar:hover{background:var(--marino);}

/* PIE */
.pie{background:var(--negro);padding:5rem 5vw 2.5rem;}
.pie-grilla{display:grid;grid-template-columns:2fr 1fr 1fr;gap:4rem;border-bottom:1px solid rgba(255,255,255,0.05);padding-bottom:3rem;margin-bottom:2rem;}
.pie-logo img{height:46px;width:auto;margin-bottom:1.25rem;opacity:0.8;}
.pie-desc{font-size:0.78rem;line-height:1.8;color:rgba(255,255,255,0.26);font-weight:300;max-width:280px;}
.pie-col h4{font-size:0.6rem;font-weight:400;letter-spacing:0.2em;text-transform:uppercase;color:rgba(255,255,255,0.22);margin-bottom:1.25rem;}
.pie-col ul{list-style:none;display:flex;flex-direction:column;gap:0.7rem;}
.pie-col a{font-size:0.78rem;font-weight:300;color:rgba(255,255,255,0.38);transition:color 0.2s;}
.pie-col a:hover{color:rgba(255,255,255,0.8);}
.pie-inferior{display:flex;align-items:center;justify-content:space-between;}
.pie-copy{font-size:0.7rem;color:rgba(255,255,255,0.16);font-weight:300;}
.pie-enlaces{display:flex;gap:2rem;list-style:none;}
.pie-enlaces a{font-size:0.7rem;color:rgba(255,255,255,0.16);font-weight:300;transition:color 0.2s;}
.pie-enlaces a:hover{color:rgba(255,255,255,0.5);}

/* RESPONSIVE */
@media(max-width:1024px){
  .hero{grid-template-columns:1fr;min-height:auto;}
  .hero-texto{padding:5rem 5vw 4rem;border-right:none;border-bottom:1px solid var(--borde);}
  .hero-visual{padding:4rem 5vw;}
  .grilla-valores{grid-template-columns:repeat(2,1fr);}
  .pie-grilla{grid-template-columns:1fr 1fr;}
}
@media(max-width:768px){
  .seccion{padding:5rem 5vw;}
  .servicios-cabecera{flex-direction:column;align-items:flex-start;}
  .grilla-servicios{grid-template-columns:1fr 1fr;}
  .mv-wrap{grid-template-columns:1fr;}
  .nosotros-wrap{grid-template-columns:1fr;}
  .nosotros-izq,.nosotros-der{padding:5rem 5vw;}
  .estadisticas{grid-template-columns:1fr 1fr;}
  .razones{grid-template-columns:1fr;}
  .contacto-wrap{grid-template-columns:1fr;}
  .contacto-izq,.contacto-der{padding:5rem 5vw;}
  .fila-doble{grid-template-columns:1fr;}
  .pie-grilla{grid-template-columns:1fr;gap:2.5rem;}
  .pie-inferior{flex-direction:column;gap:1rem;}
  .navbar-menu{display:none;}
  .nav-toggle{display:flex;}
}
@media(max-width:480px){
  .grilla-servicios{grid-template-columns:1fr;}
  .grilla-valores{grid-template-columns:1fr;}
  .hero-numeros{grid-template-columns:1fr 1fr;}
}
