/* Lozada y Asociados Abogados — hoja de estilos */
:root{
  --noche:#141414;
  --noche-2:#222222;
  --noche-3:#333333;
  --oro:#c79b45;
  --metal:linear-gradient(100deg,#9a6a2e 0%,#c99a42 22%,#f0dc86 48%,#d2aa52 72%,#9a6a2e 100%);
  --plata:#b8b8b8;
  --plata-grad:linear-gradient(90deg,transparent,#c9c9c9 50%,transparent);
  --oro-claro:#e7cf7d;
  --oro-osc:#9a6c32;
  --crema:#f6f3ec;
  --gris:#f3f3f2;
  --texto:#2b2f38;
  --texto-suave:#5d6474;
  --blanco:#ffffff;
  --radio:4px;
  --sombra:0 18px 40px -18px rgba(20,20,20,.35);
  --serif:"Cormorant Garamond", Georgia, "Times New Roman", serif;
  --sans:"Source Sans 3", "Segoe UI", Roboto, Arial, sans-serif;
  --ancho:1180px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--sans);color:var(--texto);background:var(--blanco);line-height:1.65;font-size:17px;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.contenedor{max-width:var(--ancho);margin:0 auto;padding:0 24px}

/* ---------- Barra superior ---------- */
.barra-sup{background:var(--metal);color:var(--noche);font-size:14px;font-weight:600}
.barra-sup .contenedor{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:38px;flex-wrap:wrap}
.barra-sup .datos{display:flex;gap:26px;flex-wrap:wrap}
.barra-sup a,.barra-sup span{display:inline-flex;align-items:center;gap:7px}
.barra-sup svg{width:15px;height:15px}
.barra-sup .agendar{letter-spacing:.08em;text-transform:uppercase;font-size:12.5px}

/* ---------- Encabezado ---------- */
.encabezado{background:var(--blanco);position:sticky;top:0;z-index:50;box-shadow:0 1px 0 rgba(20,20,20,.08)}
.encabezado .contenedor{display:flex;align-items:center;justify-content:space-between;min-height:84px;gap:24px}
.logo{display:flex;align-items:center;gap:14px}
.logo .mono{height:58px;width:auto}
.logo .palabra{height:34px;width:auto}
.pie .logo .mono{height:64px}
.pie .logo .palabra{height:30px}
.menu{display:flex;gap:6px;list-style:none}
.menu a{display:block;padding:10px 16px;font-weight:600;font-size:15.5px;color:var(--noche);border-radius:var(--radio);transition:background .2s,color .2s}
.menu a:hover{color:var(--oro-osc)}
.menu a.activo{background:var(--metal);color:#141414}
.btn-menu{display:none;background:none;border:0;cursor:pointer;padding:8px}
.btn-menu span{display:block;width:26px;height:2px;background:var(--noche);margin:6px 0;transition:.3s}

/* ---------- Botones ---------- */
.btn{display:inline-flex;align-items:center;gap:10px;padding:14px 26px;font-weight:700;font-size:13.5px;letter-spacing:.14em;text-transform:uppercase;border-radius:var(--radio);border:1.5px solid transparent;cursor:pointer;transition:all .25s;font-family:var(--sans)}
.btn svg{width:16px;height:16px}
.btn-oro{background:var(--metal);background-size:180% 100%;background-position:0 0;color:#141414}
.btn-oro:hover{background-position:100% 0;filter:brightness(1.05)}
.btn-linea{border-color:var(--oro);color:var(--oro-claro)}
.btn-linea:hover{background:var(--oro);color:var(--noche)}
.btn-noche{background:var(--noche);color:var(--blanco)}
.btn-noche:hover{background:var(--noche-3)}

/* ---------- Títulos ---------- */
.antetitulo{font-family:var(--serif);font-style:italic;font-size:24px;color:var(--oro-osc);font-weight:600;display:block}
.antetitulo::after{content:"";display:block;width:68px;height:2px;background:var(--metal);margin:12px 0 18px}
.centrado .antetitulo::after{margin-left:auto;margin-right:auto}
h1,h2,h3{font-family:var(--serif);color:var(--noche);font-weight:700;line-height:1.12}
h2{font-size:clamp(32px,4vw,46px)}
h3{font-size:25px}
.centrado{text-align:center}
.intro{color:var(--texto-suave);max-width:680px}
.centrado .intro{margin:0 auto}

/* ---------- Héroe ---------- */
.heroe{position:relative;background:var(--noche);color:var(--blanco);overflow:hidden;padding:120px 0 190px}
.heroe::before{content:"";position:absolute;inset:0;background:
  radial-gradient(ellipse at 85% 30%,rgba(199,155,69,.18),transparent 55%),
  linear-gradient(100deg,var(--noche) 35%,rgba(34,34,34,.8) 70%,rgba(51,51,51,.65));}
.heroe .columnas-bg{position:absolute;right:-40px;top:0;bottom:0;width:52%;opacity:.13}
.heroe .contenedor{position:relative}
.heroe .antetitulo{color:var(--oro-claro)}
.heroe h1{color:var(--blanco);font-size:clamp(40px,6vw,70px);max-width:780px;margin-bottom:22px}
.heroe h1 em{color:var(--oro-claro);font-style:italic;font-weight:600}
.heroe p{max-width:590px;font-size:19px;color:rgba(255,255,255,.82);margin-bottom:34px}
.heroe .acciones{display:flex;gap:16px;flex-wrap:wrap}

/* Cabecera interna */
.cabecera{background:var(--noche);color:var(--blanco);padding:90px 0 80px;position:relative;overflow:hidden}
.cabecera::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 90% 20%,rgba(199,155,69,.2),transparent 55%)}
.cabecera .contenedor{position:relative}
.cabecera h1{color:var(--blanco);font-size:clamp(38px,5vw,58px)}
.cabecera .antetitulo{color:var(--oro-claro)}
.miga{font-size:14px;color:rgba(255,255,255,.65);margin-top:14px}
.miga a{color:var(--oro-claro)}

/* ---------- Tarjetas destacadas ---------- */
.destacados{position:relative;margin-top:-110px;z-index:5}
.destacados .rejilla{display:grid;grid-template-columns:repeat(3,1fr);box-shadow:var(--sombra)}
.destacado{background:var(--blanco);padding:44px 34px;text-align:center;transition:background .3s,color .3s}
.destacado:nth-child(2){background:var(--noche-2);color:var(--blanco)}
.destacado:nth-child(2) h3{color:var(--blanco)}
.destacado:nth-child(2) p{color:rgba(255,255,255,.75)}
.destacado .icono{width:54px;height:54px;margin:0 auto 18px;color:var(--oro)}
.destacado h3{font-family:var(--sans);font-size:16px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:10px}
.destacado p{font-size:15.5px;color:var(--texto-suave)}

/* ---------- Secciones ---------- */
.seccion{padding:110px 0}
.seccion.gris{background:var(--gris)}
.seccion.crema{background:var(--crema)}
.dos-col{display:grid;grid-template-columns:1.05fr 1fr;gap:70px;align-items:center}
.dos-col p{color:var(--texto-suave);margin-bottom:18px}
.dos-col h2{margin-bottom:24px}

/* Retrato */
.retrato{position:relative}
.retrato .foto{aspect-ratio:4/5;background:linear-gradient(160deg,var(--noche-3),var(--noche));border-radius:14px;display:grid;place-items:center;color:rgba(255,255,255,.45);text-align:center;font-size:14px;overflow:hidden}
.retrato .foto img{width:100%;height:100%;object-fit:cover}
.retrato .foto svg{width:90px;height:90px;margin:0 auto 12px;opacity:.5}
.retrato .placa{position:absolute;left:-34px;bottom:34px;background:var(--noche);color:var(--blanco);padding:26px 30px;border-left:3px solid var(--oro);box-shadow:var(--sombra);max-width:300px}
.retrato .placa strong{display:block;font-family:var(--serif);font-size:22px;line-height:1.2}
.retrato .placa span{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--oro-claro)}

/* Áreas */
.rejilla-areas{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:56px}
.area{background:var(--noche);color:var(--blanco);padding:40px 28px 34px;position:relative;display:flex;flex-direction:column;transition:transform .3s,box-shadow .3s;min-height:320px}
.area:hover{transform:translateY(-6px);box-shadow:var(--sombra)}
.area::after{content:"";position:absolute;left:28px;right:28px;bottom:0;height:3px;background:var(--oro);transform:scaleX(0);transform-origin:left;transition:transform .35s}
.area:hover::after{transform:scaleX(1)}
.area .icono{width:48px;height:48px;color:var(--oro);margin-bottom:22px}
.area h3{color:var(--blanco);font-family:var(--sans);font-size:16.5px;letter-spacing:.07em;text-transform:uppercase;margin-bottom:12px}
.area p{font-size:15px;color:rgba(255,255,255,.72);flex:1}
.area .mas{margin-top:20px;color:var(--oro-claro);font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;display:inline-flex;gap:8px;align-items:center}
.area .mas svg{width:15px;height:15px;transition:transform .25s}
.area:hover .mas svg{transform:translateX(4px)}

/* Valores / por qué */
.rejilla-4{display:grid;grid-template-columns:repeat(4,1fr);gap:40px;margin-top:56px}
.valor{border-top:1px solid rgba(20,20,20,.15);padding-top:26px}
.valor .num{font-family:var(--serif);font-size:44px;color:var(--oro);line-height:1;font-weight:600}
.valor h3{font-size:23px;margin:12px 0 8px}
.valor p{color:var(--texto-suave);font-size:15.5px}

/* Franja CTA */
.franja{background:var(--noche);color:var(--blanco);padding:70px 0;position:relative;overflow:hidden}
.franja::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 10% 50%,rgba(199,155,69,.18),transparent 50%)}
.franja .contenedor{position:relative;display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap}
.franja h2{color:var(--blanco);font-size:clamp(28px,3.4vw,40px);max-width:680px}
.franja h2 em{color:var(--oro-claro)}

/* Formulario */
.caja-contacto{background:var(--blanco);border-radius:14px;box-shadow:var(--sombra);padding:56px;display:grid;grid-template-columns:.9fr 1.1fr;gap:56px}
.caja-contacto h2{font-size:clamp(30px,3.4vw,40px);margin-bottom:18px}
.caja-contacto p{color:var(--texto-suave)}
.lista-datos{list-style:none;margin-top:30px;display:grid;gap:18px}
.lista-datos li{display:flex;gap:14px;align-items:flex-start;font-size:15.5px}
.lista-datos svg{width:20px;height:20px;color:var(--oro-osc);flex:none;margin-top:3px}
.lista-datos strong{display:block;color:var(--noche);font-size:13px;letter-spacing:.1em;text-transform:uppercase}
form .fila{display:grid;grid-template-columns:1fr 1fr;gap:16px}
form label{display:block;font-size:13px;font-weight:700;color:var(--noche);letter-spacing:.06em;text-transform:uppercase;margin-bottom:6px}
form input,form select,form textarea{width:100%;font:inherit;font-size:16px;padding:13px 15px;border:1px solid #d7dbe3;background:var(--gris);border-radius:var(--radio);color:var(--texto);margin-bottom:16px;transition:border .2s,background .2s}
form input:focus,form select:focus,form textarea:focus{outline:none;border-color:var(--oro);background:var(--blanco)}
form textarea{min-height:130px;resize:vertical}
.casilla{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--texto-suave);margin-bottom:22px}
.casilla input{width:auto;margin:4px 0 0}
.casilla a{color:var(--oro-osc);text-decoration:underline}
.oculto{position:absolute;left:-9999px}
.aviso-form{padding:14px 18px;border-radius:var(--radio);margin-bottom:18px;font-size:15px;display:none}
.aviso-form.ok{display:block;background:#e8f3ea;color:#1f5130}
.aviso-form.error{display:block;background:#fbeaea;color:#7a1f1f}

/* Páginas internas: áreas detalladas */
.area-detalle{display:grid;grid-template-columns:320px 1fr;gap:60px;padding:70px 0;border-bottom:1px solid rgba(20,20,20,.1)}
.area-detalle:last-child{border-bottom:0}
.area-detalle .lado{position:sticky;top:120px;align-self:start}
.area-detalle .icono{width:60px;height:60px;color:var(--oro);margin-bottom:18px}
.area-detalle h2{font-size:clamp(30px,3.2vw,40px)}
.area-detalle .lema{font-family:var(--serif);font-style:italic;font-size:21px;color:var(--oro-osc);margin-top:12px}
.area-detalle p{color:var(--texto-suave);margin-bottom:22px}
.servicios{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:14px 30px}
.servicios li{position:relative;padding-left:26px;font-size:16px}
.servicios li::before{content:"";position:absolute;left:0;top:10px;width:12px;height:2px;background:var(--oro)}
.submenu-areas{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}
.submenu-areas a{border:1px solid rgba(217,192,138,.5);color:var(--oro-claro);padding:8px 16px;font-size:13.5px;font-weight:600;letter-spacing:.06em;border-radius:40px;transition:.2s}
.submenu-areas a:hover{background:var(--oro);color:var(--noche)}

/* Equipo */
.rejilla-equipo{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:56px}
.miembro .foto{aspect-ratio:4/5;background:linear-gradient(160deg,var(--noche-3),var(--noche));display:grid;place-items:center;color:rgba(255,255,255,.4);font-size:13px;text-align:center;overflow:hidden}
.miembro .foto img{width:100%;height:100%;object-fit:cover}
.miembro .foto svg{width:70px;height:70px;margin:0 auto 10px;opacity:.5}
.miembro .info{background:var(--blanco);padding:24px 26px;border-bottom:3px solid var(--oro);box-shadow:0 10px 30px -18px rgba(20,20,20,.4)}
.miembro h3{font-size:24px}
.miembro .cargo{font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--oro-osc);font-weight:700}
.miembro p{font-size:15px;color:var(--texto-suave);margin-top:10px}

/* Mapa */
.mapa{margin-top:60px;border-radius:14px;overflow:hidden;box-shadow:var(--sombra);height:380px;background:var(--gris)}
.mapa iframe{width:100%;height:100%;border:0}

/* Texto legal */
.texto-legal{max-width:820px;margin:0 auto}
.texto-legal h2{font-size:28px;margin:40px 0 12px}
.texto-legal p,.texto-legal li{color:var(--texto-suave);margin-bottom:12px}
.texto-legal ul{padding-left:22px}

/* ---------- Pie ---------- */
.pie{background:#0c0c0c;color:rgba(255,255,255,.7);padding:80px 0 0;font-size:15px}
.pie .rejilla{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:40px}
.pie h4{color:var(--blanco);font-family:var(--serif);font-size:22px;margin-bottom:18px;font-weight:600}
.pie ul{list-style:none;display:grid;gap:10px}
.pie a:hover{color:var(--oro-claro)}
.pie .pie .pie .desc{margin-top:18px;max-width:320px}
.pie .final{border-top:1px solid rgba(255,255,255,.1);margin-top:60px;padding:22px 0;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:13.5px}

/* WhatsApp flotante */
.whatsapp{position:fixed;right:22px;bottom:22px;width:60px;height:60px;border-radius:50%;background:#25d366;display:grid;place-items:center;box-shadow:0 10px 25px -8px rgba(0,0,0,.45);z-index:60;transition:transform .25s}
.whatsapp:hover{transform:scale(1.08)}
.whatsapp svg{width:32px;height:32px;color:#fff}

/* Aparición suave */
.aparece{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
.aparece.visible{opacity:1;transform:none}

/* ---------- Adaptación a pantallas ---------- */
@media (max-width:1024px){
  .rejilla-areas{grid-template-columns:repeat(2,1fr)}
  .rejilla-4{grid-template-columns:repeat(2,1fr)}
  .pie .rejilla{grid-template-columns:1fr 1fr}
  .dos-col{gap:50px}
}
@media (max-width:860px){
  .btn-menu{display:block}
  .menu{position:absolute;top:100%;left:0;right:0;background:var(--blanco);flex-direction:column;padding:12px 24px 24px;box-shadow:0 20px 30px -20px rgba(0,0,0,.3);display:none}
  .menu.abierto{display:flex}
  .dos-col,.caja-contacto,.area-detalle{grid-template-columns:1fr}
  .area-detalle .lado{position:static}
  .destacados .rejilla{grid-template-columns:1fr}
  .rejilla-equipo{grid-template-columns:1fr 1fr}
  .retrato .placa{left:16px}
  .caja-contacto{padding:34px 24px}
  .barra-sup .datos .dir{display:none}
}
@media (max-width:560px){
  body{font-size:16px}
  .contenedor{padding:0 16px}
  .seccion{padding:80px 0}
  .heroe{padding:80px 0 160px}
  .rejilla-areas,.rejilla-4,.rejilla-equipo,.pie .rejilla,form .fila,.servicios{grid-template-columns:1fr}
  .barra-sup .agendar{display:none}
    }
@media (prefers-reduced-motion:reduce){.aparece{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}}

/* Tamaño de íconos */
.icono{display:block}
.icono svg{width:100%;height:100%;display:block}
.pie .desc{color:rgba(255,255,255,.7)}

/* Panel de experiencia */
.experiencia{position:relative;overflow:hidden;background:var(--noche);color:var(--blanco);border-radius:14px;padding:70px 48px;min-height:420px;display:flex;flex-direction:column;justify-content:center;border-left:4px solid var(--oro);box-shadow:var(--sombra)}
.experiencia .columnas-bg{position:absolute;right:-60px;top:0;bottom:0;width:80%;height:100%;opacity:.12}
.experiencia .cifra{position:relative;display:flex;flex-direction:column}
.experiencia .mas-num{font-family:var(--serif);font-size:clamp(90px,11vw,140px);line-height:.9;color:var(--oro);font-weight:600}
.experiencia .etq{font-family:var(--serif);font-size:30px;color:var(--blanco);margin-top:8px}
.experiencia p{position:relative;color:rgba(255,255,255,.75);max-width:340px;margin-top:22px}
@media (max-width:560px){.experiencia{padding:50px 28px;min-height:0}}

/* ---------- Página de responsabilidad médica ---------- */
.rm-cab{padding:90px 0 100px}
.rm-cab-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:60px;align-items:center}
.rm-cab h1{font-size:clamp(38px,4.8vw,60px);line-height:1.08}
.rm-cab h1 em{color:var(--oro-claro);font-style:italic;font-weight:600}
.rm-intro{font-size:19px;color:rgba(255,255,255,.82);max-width:560px;margin:22px 0 32px}
.rm-cab .acciones{display:flex;gap:16px;flex-wrap:wrap}
.rm-pregunta{background:var(--blanco);color:var(--texto);border-radius:14px;padding:34px 32px;box-shadow:var(--sombra);border-top:4px solid var(--oro)}
.rm-pregunta-t{font-family:var(--serif);font-size:27px;font-weight:700;color:var(--noche);line-height:1.15;margin-bottom:8px}
.rm-pregunta>p{font-size:15.5px;color:var(--texto-suave)}
.rm-conceptos{display:grid;gap:14px;margin:20px 0}
.rm-concepto{padding-left:16px;border-left:2px solid var(--oro)}
.rm-concepto h3{font-family:var(--sans);font-size:14px;letter-spacing:.1em;text-transform:uppercase;color:var(--oro-osc);margin-bottom:2px}
.rm-concepto p{font-size:15px;color:var(--texto);line-height:1.5}
.rm-nota{font-weight:600;color:var(--noche)!important}
.rm-situaciones{display:grid;grid-template-columns:1fr 1fr;gap:0 60px;margin-top:50px}
.rm-situacion{display:flex;gap:24px;padding:30px 0;border-bottom:1px solid rgba(20,20,20,.12)}
.rm-num{font-family:var(--serif);font-size:42px;line-height:1;color:var(--oro);font-weight:600;min-width:52px}
.rm-situacion h3{font-size:24px;margin-bottom:6px}
.rm-situacion p{color:var(--texto-suave);font-size:15.5px}
.rm-ej{margin-top:8px;font-style:italic;color:var(--oro-osc)!important}
.rm-ruta{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin-top:56px;counter-reset:paso;position:relative}
.rm-ruta::before{content:"";position:absolute;top:27px;left:6%;right:6%;height:1px;background:var(--oro);opacity:.6}
.rm-ruta li{position:relative;text-align:center}
.rm-paso-n{display:grid;place-items:center;width:56px;height:56px;margin:0 auto 18px;border-radius:50%;background:var(--noche);color:var(--oro-claro);font-family:var(--serif);font-size:26px;font-weight:600;border:2px solid var(--oro);position:relative}
.rm-ruta h3{font-size:23px;margin-bottom:8px}
.rm-ruta p{color:var(--texto-suave);font-size:15.5px}
@media (max-width:1024px){.rm-cab-grid{grid-template-columns:1fr}.rm-ruta{grid-template-columns:1fr 1fr}.rm-ruta::before{display:none}}
@media (max-width:760px){.rm-situaciones{grid-template-columns:1fr}}
@media (max-width:560px){.rm-ruta{grid-template-columns:1fr}.rm-pregunta{padding:26px 22px}.rm-num{font-size:34px;min-width:40px}}

/* Marca institucional */
.heroe .marca-agua{position:absolute;right:4%;top:50%;transform:translateY(-50%);height:118%;max-height:640px;width:auto;opacity:.16;pointer-events:none}
.experiencia .marca-agua{position:absolute;right:-30px;bottom:-40px;height:95%;width:auto;opacity:.14;pointer-events:none}
.pie .logo{background:none}
.linea-plata{height:1px;background:var(--plata-grad);border:0;margin:0}
@media (max-width:860px){.heroe .marca-agua{opacity:.09;right:-20%}}

/* =========================================================
   INTERACTIVIDAD E IMÁGENES
   ========================================================= */
/* Barra de progreso de lectura */
.progreso{position:fixed;top:0;left:0;height:3px;width:0;background:var(--metal);z-index:100;transition:width .1s linear}
/* Encabezado que se compacta al bajar */
.encabezado{transition:box-shadow .3s}
.encabezado .contenedor{transition:min-height .3s}
.encabezado.compacto{box-shadow:0 8px 24px -12px rgba(0,0,0,.35)}
.encabezado.compacto .contenedor{min-height:66px}
.encabezado.compacto .logo .mono{height:46px}
.encabezado.compacto .logo .palabra{height:28px}
.logo img{transition:height .3s}
.menu a{position:relative}
.menu a:not(.activo)::after{content:"";position:absolute;left:16px;right:16px;bottom:5px;height:2px;background:var(--metal);transform:scaleX(0);transition:transform .3s}
.menu a:not(.activo):hover::after{transform:scaleX(1)}

/* Fondos fotográficos */
.fondo-foto{position:absolute;inset:0;background-size:cover;background-position:center;z-index:0}
.con-foto{position:relative;overflow:hidden}
.con-foto .contenedor{position:relative;z-index:2}
.cabecera.con-foto::before{z-index:1;background:linear-gradient(100deg,rgba(12,12,12,.92) 30%,rgba(12,12,12,.65) 70%,rgba(12,12,12,.5)),radial-gradient(ellipse at 90% 20%,rgba(199,155,69,.25),transparent 55%)}
.cabecera.con-foto .fondo-foto{animation:acercar 18s ease-out both}
@keyframes acercar{from{transform:scale(1.12)}to{transform:scale(1)}}

/* Héroe de inicio */
.heroe-fondo{position:absolute;inset:0;background-size:cover;background-position:70% center;animation:kenburns 24s ease-in-out infinite alternate;z-index:0}
@keyframes kenburns{from{transform:scale(1.05)}to{transform:scale(1.18) translate(-2%,-1%)}}
.heroe::before{z-index:1;background:linear-gradient(100deg,rgba(12,12,12,.95) 30%,rgba(12,12,12,.72) 60%,rgba(12,12,12,.45)),radial-gradient(ellipse at 85% 30%,rgba(199,155,69,.2),transparent 55%)!important}
.heroe .contenedor{z-index:2}
.heroe .marca-agua{z-index:1;opacity:.1}
.heroe h1,.heroe .antetitulo,.heroe p,.heroe .acciones{animation:subir .9s cubic-bezier(.2,.7,.2,1) both}
.heroe .antetitulo{animation-delay:.1s}.heroe h1{animation-delay:.25s}.heroe .rotador{animation-delay:.4s}.heroe p{animation-delay:.5s}.heroe .acciones{animation-delay:.65s}
@keyframes subir{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}
.rotador{font-family:var(--serif);font-size:clamp(22px,2.6vw,30px);color:var(--blanco)!important;margin:-6px 0 20px!important;font-weight:600}
.escribe{color:var(--oro-claro);font-style:italic;border-right:2px solid var(--oro);padding-right:4px;animation:cursor .8s step-end infinite}
@keyframes cursor{50%{border-color:transparent}}

/* Cifras animadas */
.cifras{display:grid;grid-template-columns:repeat(3,1fr);margin-top:60px;border-top:1px solid rgba(20,20,20,.1);border-bottom:1px solid rgba(20,20,20,.1)}
.cifra-item{text-align:center;padding:34px 20px;position:relative}
.cifra-item+.cifra-item::before{content:"";position:absolute;left:0;top:25%;bottom:25%;width:1px;background:rgba(20,20,20,.12)}
.cifra-n{display:block;font-family:var(--serif);font-size:clamp(46px,5vw,64px);font-weight:700;line-height:1;background:var(--metal);-webkit-background-clip:text;background-clip:text;color:transparent}
.cifra-txt{font-size:clamp(36px,4vw,50px)}
.cifra-t{display:block;margin-top:10px;color:var(--texto-suave);font-size:15px;letter-spacing:.06em;text-transform:uppercase;font-weight:600}

/* Collage de fotos */
.collage{position:relative;display:grid;grid-template-columns:1.1fr .9fr;grid-template-rows:200px 150px 170px;gap:14px}
.collage figure{margin:0;overflow:hidden;border-radius:10px;box-shadow:var(--sombra)}
.collage img,.foto-sello>img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.05);transition:filter .6s,transform .8s}
.collage figure:hover img,.foto-sello:hover>img{filter:grayscale(0);transform:scale(1.06)}
.collage .c1{grid-row:1/3}
.collage .c2{grid-row:1/2}
.collage .c3{grid-row:2/4}
.collage .c4{grid-row:3/4}
.sello{position:absolute;left:-26px;bottom:-26px;background:var(--noche);color:var(--blanco);padding:20px 26px 20px 22px;border-radius:10px;display:grid;grid-template-columns:auto auto;align-items:center;column-gap:14px;box-shadow:var(--sombra);border-left:3px solid var(--oro);z-index:2;animation:flotar 5s ease-in-out infinite}
.sello img{grid-row:1/3;height:62px;width:auto}
.sello strong{font-family:var(--serif);font-size:40px;line-height:1;background:var(--metal);-webkit-background-clip:text;background-clip:text;color:transparent}
.sello span{font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.8)}
@keyframes flotar{50%{transform:translateY(-8px)}}
.foto-sello{position:relative;border-radius:14px;box-shadow:var(--sombra)}
.foto-sello>img{border-radius:14px;aspect-ratio:4/4.4;display:block}

/* Tarjetas de áreas con foto */
.area{padding:0;min-height:0;overflow:hidden;border-radius:10px}
.area-foto{display:block;height:190px;overflow:hidden;position:relative}
.area-foto::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(20,20,20,.95))}
.area-foto img{width:100%;height:100%;object-fit:cover;filter:grayscale(.6);transition:transform .8s,filter .6s}
.area:hover .area-foto img{transform:scale(1.1);filter:grayscale(0)}
.area-cuerpo{display:flex;flex-direction:column;flex:1;padding:0 28px 32px;margin-top:-34px;position:relative;z-index:1}
.area .icono{width:58px;height:58px;padding:12px;background:var(--noche);border:1px solid rgba(199,155,69,.6);border-radius:50%;margin-bottom:18px;transition:transform .5s,background .3s}
.area:hover .icono{transform:rotate(-8deg) scale(1.08);background:#1f1a10}
.area:hover{box-shadow:0 26px 50px -20px rgba(0,0,0,.55)}

/* Sección con paralaje */
.paralaje{position:relative;overflow:hidden;color:var(--blanco)}
.paralaje::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,12,12,.93),rgba(12,12,12,.8));z-index:1}
.paralaje .contenedor{position:relative;z-index:2}
.paralaje h2,.paralaje h3{color:var(--blanco)}
.paralaje .antetitulo{color:var(--oro-claro)}
.paralaje p{color:rgba(255,255,255,.78)!important}
.fondo-foto.fijo{background-attachment:fixed}
.cobertura .valor{background:rgba(255,255,255,.05);border:1px solid rgba(199,155,69,.35);border-radius:10px;padding:24px 22px;transition:transform .35s,background .35s,border-color .35s}
.cobertura .valor:hover{transform:translateY(-6px);background:rgba(199,155,69,.12);border-color:var(--oro)}
.franja.con-foto::before{z-index:1;background:linear-gradient(90deg,rgba(12,12,12,.92),rgba(12,12,12,.7)),radial-gradient(ellipse at 10% 50%,rgba(199,155,69,.25),transparent 50%)}
.franja.con-foto{padding:100px 0}

/* Tarjetas de valores con movimiento */
.valor{transition:transform .35s}
.rejilla-4 .valor:hover{transform:translateY(-6px)}
.rejilla-4 .valor:hover .num{letter-spacing:.04em}
.valor .num{transition:letter-spacing .35s}

/* Entradas desde los lados */
.desde-izq,.desde-der{opacity:0;transition:opacity .9s ease,transform .9s cubic-bezier(.2,.7,.2,1)}
.desde-izq{transform:translateX(-60px)}
.desde-der{transform:translateX(60px)}
.desde-izq.visible,.desde-der.visible{opacity:1;transform:none}
.escalonado li{opacity:0;transform:translateY(14px);transition:opacity .5s,transform .5s}
.escalonado.visible li{opacity:1;transform:none}
.escalonado li:hover{color:var(--oro-osc)}

/* Página de áreas */
.area-img{position:relative;margin:0 0 26px;border-radius:12px;overflow:hidden;aspect-ratio:4/3;box-shadow:var(--sombra)}
.area-img img{width:100%;height:100%;object-fit:cover;transition:transform .8s}
.area-detalle:hover .area-img img{transform:scale(1.07)}
.area-img .icono{position:absolute;left:18px;bottom:18px;width:60px;height:60px;padding:12px;margin:0;background:rgba(12,12,12,.85);border:1px solid var(--oro);border-radius:50%}
.submenu-areas{position:relative;z-index:2}
.submenu-areas a.activo{background:var(--metal);color:#141414;border-color:transparent}

/* Responsabilidad médica */
.rm-cab.con-foto::before{background:linear-gradient(100deg,rgba(12,12,12,.94) 35%,rgba(12,12,12,.7))!important}
.rm-situacion{transition:transform .35s,background .35s;padding-left:14px;padding-right:14px;border-radius:10px}
.rm-situacion:hover{transform:translateX(8px);background:var(--crema)}
.rm-situacion:hover .rm-num{background:var(--metal);-webkit-background-clip:text;background-clip:text;color:transparent}
.rm-ruta::after{content:"";position:absolute;top:27px;left:6%;height:1px;width:0;background:var(--metal);height:3px;margin-top:-1px;transition:width 1.8s ease;z-index:0}
.rm-ruta.visible::after{width:88%}
.rm-ruta li{opacity:0;transform:translateY(20px);transition:opacity .6s,transform .6s}
.rm-ruta.visible li{opacity:1;transform:none}
.rm-ruta.visible li:nth-child(2){transition-delay:.4s}.rm-ruta.visible li:nth-child(3){transition-delay:.8s}.rm-ruta.visible li:nth-child(4){transition-delay:1.2s}
.rm-paso-n{z-index:1;transition:transform .3s}
.rm-ruta li:hover .rm-paso-n{transform:scale(1.12)}

/* Botón volver arriba */
.subir{position:fixed;right:30px;bottom:96px;width:44px;height:44px;border-radius:50%;border:1px solid var(--oro);background:var(--noche);color:var(--oro-claro);display:grid;place-items:center;cursor:pointer;opacity:0;pointer-events:none;transform:translateY(10px);transition:.3s;z-index:59}
.subir svg{width:18px;height:18px;transform:rotate(-90deg)}
.subir.visible{opacity:1;pointer-events:auto;transform:none}
.subir:hover{background:var(--oro);color:#141414}

@media (max-width:1024px){.fondo-foto.fijo{background-attachment:scroll}}
@media (max-width:860px){
  .cifras{grid-template-columns:1fr}
  .cifra-item+.cifra-item::before{left:25%;right:25%;top:0;bottom:auto;width:auto;height:1px}
  .collage{grid-template-rows:160px 120px 140px;margin-bottom:30px}
  .sello{left:10px;bottom:-20px}
}
@media (max-width:560px){.subir{right:22px;bottom:92px}.desde-izq,.desde-der{transform:translateY(30px)}}
@media (prefers-reduced-motion:reduce){
  .heroe-fondo,.cabecera.con-foto .fondo-foto,.sello,.escribe{animation:none}
  .desde-izq,.desde-der,.escalonado li,.rm-ruta li{opacity:1;transform:none;transition:none}
  .heroe h1,.heroe .antetitulo,.heroe p,.heroe .acciones{animation:none}
}

/* =========================================================
   VERSIÓN MÓVIL MÁS CERCANA A LA DE ESCRITORIO
   ========================================================= */
@media (max-width:860px){
  /* Barra superior compacta: solo íconos en una línea */
  .barra-sup .contenedor{min-height:34px;flex-wrap:nowrap}
  .barra-sup .datos{gap:18px;flex-wrap:nowrap}
  .barra-sup .datos a span{display:none}
  .barra-sup .datos a svg{width:17px;height:17px}
  .barra-sup .agendar{display:inline-flex!important;font-size:11.5px}
  /* Destacados en fila, como en escritorio */
  .destacados .rejilla{grid-template-columns:repeat(3,1fr)}
  .destacado{padding:24px 10px}
  .destacado .icono{width:36px;height:36px;margin-bottom:10px}
  .destacado h3{font-size:11.5px;letter-spacing:.04em;margin:0}
  .destacado p{display:none}
  /* Cifras en una sola fila */
  .cifras{grid-template-columns:repeat(3,1fr)}
  .cifra-item{padding:24px 6px}
  .cifra-item+.cifra-item::before{left:0;right:auto;top:25%;bottom:25%;width:1px;height:auto}
  .cifra-n{font-size:40px}.cifra-txt{font-size:24px;padding-top:10px}
  .cifra-t{font-size:10.5px;letter-spacing:.03em}
  /* Áreas en carrusel deslizable */
  .rejilla-areas{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:16px;margin:40px -24px 0;padding:6px 24px 18px;scrollbar-width:none}
  .rejilla-areas::-webkit-scrollbar{display:none}
  .rejilla-areas .area{flex:0 0 80%;scroll-snap-align:center}
  .deslizar{display:flex!important}
  /* Valores y pasos en dos columnas */
  .rejilla-4{grid-template-columns:1fr 1fr!important;gap:26px 20px}
  .rm-ruta{grid-template-columns:1fr 1fr}
  /* Pie en dos columnas */
  .pie .rejilla{grid-template-columns:1fr 1fr}
  .pie .rejilla>div:first-child{grid-column:1/-1}
}
.deslizar{display:none;align-items:center;justify-content:center;gap:8px;margin-top:6px;font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--oro-osc);font-weight:700}
.deslizar svg{width:16px;height:16px;animation:empujar 1.4s ease-in-out infinite}
@keyframes empujar{50%{transform:translateX(6px)}}
@media (max-width:560px){
  .seccion{padding:64px 0}
  h2{font-size:30px}
  .heroe{padding:64px 0 150px}
  .heroe h1{font-size:36px}
  .rotador{font-size:20px}
  .heroe p{font-size:16px}
  .heroe .acciones .btn{padding:12px 18px;font-size:12px}
  .collage{grid-template-rows:130px 100px 120px;gap:10px}
  .valor h3{font-size:20px}
  .valor .num{font-size:34px}
  .rejilla-4 .valor p{font-size:14px}
  .rm-situacion h3{font-size:20px}
  .area-detalle{padding:50px 0;gap:26px}
  .area-img{aspect-ratio:16/9}
  .servicios{grid-template-columns:1fr}
  .franja.con-foto{padding:70px 0}
  .pie{padding-top:56px}
}
@media (max-width:860px){.pie .rejilla>div{min-width:0}.pie a,.pie li{overflow-wrap:anywhere}.pie .rejilla>div:last-child{grid-column:1/-1}}
@media (max-width:560px){.rejilla-areas{margin-left:-16px;margin-right:-16px;padding-left:16px;padding-right:16px}}

/* ---------- Cobro de cartera en salud ---------- */
.cs-cab{padding:100px 0 90px}
.cs-cab h1{font-size:clamp(40px,5.4vw,66px);max-width:820px}
.cs-cab h1 em{color:var(--oro-claro);font-style:italic;font-weight:600}
.cs-sellos{display:flex;gap:14px;flex-wrap:wrap;margin:6px 0 32px}
.cs-sellos span{display:flex;flex-direction:column;border:1px solid rgba(199,155,69,.5);background:rgba(12,12,12,.5);border-radius:10px;padding:14px 20px;font-size:13px;color:rgba(255,255,255,.75);min-width:170px;transition:transform .3s,border-color .3s}
.cs-sellos span:hover{transform:translateY(-4px);border-color:var(--oro)}
.cs-sellos strong{font-family:var(--serif);font-size:30px;line-height:1.1;background:var(--metal);-webkit-background-clip:text;background-clip:text;color:transparent}
.cs-desafios{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:50px}
.cs-desafio{border:1px solid rgba(20,20,20,.1);border-radius:12px;padding:30px 24px;transition:transform .35s,box-shadow .35s,border-color .35s;background:var(--blanco)}
.cs-desafio:hover{transform:translateY(-8px);box-shadow:var(--sombra);border-color:var(--oro)}
.cs-desafio .icono{width:46px;height:46px;color:var(--oro);margin-bottom:16px}
.cs-desafio h3{font-size:22px;margin-bottom:8px}
.cs-desafio p{font-size:15px;color:var(--texto-suave)}
.cs-alcances{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:50px}
.cs-alcance{background:rgba(255,255,255,.05);border:1px solid rgba(199,155,69,.35);border-radius:12px;padding:28px 24px;transition:transform .35s,background .35s,border-color .35s}
.cs-alcance:hover{transform:translateY(-6px);background:rgba(199,155,69,.12);border-color:var(--oro)}
.cs-n{font-family:var(--serif);font-size:44px;line-height:1;font-weight:700;background:var(--metal);-webkit-background-clip:text;background-clip:text;color:transparent}
.cs-alcance h3{font-size:22px;margin:10px 0 14px;color:var(--blanco)}
.cs-alcance ul,.cs-fase ul{list-style:none;display:grid;gap:9px}
.cs-alcance li,.cs-fase li{position:relative;padding-left:18px;font-size:14.5px;line-height:1.5}
.cs-alcance li{color:rgba(255,255,255,.78)}
.cs-alcance li::before,.cs-fase li::before{content:"";position:absolute;left:0;top:9px;width:9px;height:2px;background:var(--oro)}
.cs-norma{margin-top:36px;text-align:center;font-size:14px;color:rgba(255,255,255,.65)!important;font-style:italic}
.cs-ruta{grid-template-columns:repeat(3,1fr)}
.cs-ruta li.cs-fase{text-align:left;background:var(--blanco);border-radius:12px;padding:0 26px 28px;box-shadow:0 14px 34px -22px rgba(0,0,0,.35)}
.cs-ruta .rm-paso-n{margin:-28px 0 14px}
.cs-ruta{margin-top:74px;gap:26px}
.cs-ruta::before,.cs-ruta::after{top:0}
.cs-etq{display:block;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--oro-osc);font-weight:700}
.cs-fase h3{font-size:24px;margin:4px 0 14px}
.cs-fase li{color:var(--texto-suave);opacity:1!important;transform:none!important}
.cs-honorarios{display:grid;grid-template-columns:1.1fr .9fr;gap:30px;margin-top:50px;align-items:start}
.cs-componentes{display:grid;gap:22px}
.cs-comp{border:1px solid rgba(20,20,20,.1);border-left:4px solid var(--oro);border-radius:12px;padding:28px 30px;background:var(--blanco);transition:box-shadow .35s}
.cs-comp:hover{box-shadow:var(--sombra)}
.cs-comp-n{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--oro-osc);font-weight:700}
.cs-comp h3{font-size:28px;margin:6px 0 10px}
.cs-comp p{color:var(--texto-suave);font-size:15.5px}
.cs-tarifa{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 0;border-bottom:1px dashed rgba(20,20,20,.15)}
.cs-tarifa span{font-size:15px;color:var(--texto)}
.cs-tarifa strong{font-family:var(--serif);font-size:20px;white-space:nowrap;background:var(--metal);-webkit-background-clip:text;background-clip:text;color:transparent}
.cs-lema{margin-top:16px;font-weight:700;color:var(--noche)!important}
.cs-entregables{background:var(--noche);color:var(--blanco);border-radius:14px;padding:32px 30px;box-shadow:var(--sombra)}
.cs-entregables h3{color:var(--blanco);font-size:25px;margin-bottom:20px}
.cs-entregables ul{list-style:none;display:grid;gap:18px}
.cs-entregables li{display:flex;gap:14px;align-items:flex-start;transition:transform .3s}
.cs-entregables li:hover{transform:translateX(6px)}
.cs-entregables .icono{width:40px;height:40px;flex:none;color:var(--oro);padding:8px;border:1px solid rgba(199,155,69,.5);border-radius:50%}
.cs-entregables strong{display:block;font-size:15.5px}
.cs-entregables li span{font-size:14px;color:rgba(255,255,255,.7)}
.cs-deudores{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:46px}
.cs-deudor{background:var(--blanco);border-radius:12px;padding:24px 24px;border-top:3px solid var(--oro);transition:transform .35s,box-shadow .35s}
.cs-deudor:hover{transform:translateY(-6px);box-shadow:var(--sombra)}
.cs-deudor h3{font-size:21px;margin-bottom:6px}
.cs-deudor p{font-size:14.5px;color:var(--texto-suave)}
.cs-porques{display:grid;gap:14px}
.cs-porque{display:flex;gap:18px;padding:20px 22px;border-radius:12px;border:1px solid rgba(20,20,20,.08);transition:background .35s,transform .35s,border-color .35s}
.cs-porque:hover{background:var(--crema);transform:translateX(6px);border-color:var(--oro)}
.cs-porque .icono{width:44px;height:44px;flex:none;color:var(--oro)}
.cs-porque h3{font-size:21px;margin-bottom:4px}
.cs-porque p{font-size:15px;color:var(--texto-suave)}
.cs-cta{display:grid!important;grid-template-columns:1.3fr .7fr;align-items:center;gap:40px}
.cs-cta .antetitulo{color:var(--oro-claro)}
.cs-cta p{color:rgba(255,255,255,.8);margin:12px 0 0}
.cs-datos li{color:rgba(255,255,255,.85)}
.cs-datos strong{color:var(--oro-claro)!important}
.cs-datos a{color:var(--blanco)}
.cs-cta-bot{display:flex;flex-direction:column;gap:14px;align-items:flex-start}
@media (max-width:1024px){.cs-desafios,.cs-alcances{grid-template-columns:1fr 1fr}.cs-deudores{grid-template-columns:1fr 1fr}.cs-honorarios{grid-template-columns:1fr}}
@media (max-width:860px){.cs-ruta{grid-template-columns:1fr!important;row-gap:44px}.cs-cta{grid-template-columns:1fr}.cs-sellos span{min-width:0;flex:1}}
@media (max-width:560px){.cs-desafios,.cs-alcances,.cs-deudores{grid-template-columns:1fr}.cs-tarifa{flex-direction:column;align-items:flex-start;gap:4px}.cs-sellos{gap:8px}.cs-sellos span{padding:10px 12px;font-size:11.5px}.cs-sellos strong{font-size:22px}}
.cs-fase ul,.cs-fase li{text-align:left}
