/* ════════════════════════════════════════════════════════════
   Ideas Frescas® · Hoja de estilos
   Paleta: negro · crema · rojo · amarillo
   Tipografía: Lato 700/900 (títulos) · Roboto 300/400/500 (texto)

   Las variables de :root concentran los colores y medidas del
   sitio: para cambiar la paleta basta con editarlas aquí.
   ════════════════════════════════════════════════════════════ */

:root{
  --negro:#0a0a0a;
  --crema:#faf8f5;
  --papel:#f6f3ee;
  --papel-2:#f0ece5;
  --papel-3:#e8e3d9;
  --rojo:#c8201a;
  --rojo-oscuro:#9e1612;
  --gris-pagina:#f0edea;
  --gris-seccion:#e8e4df;
  --gris-numero:#e4e0db;
  --gris-oscuro:#1e1e1e;
  --gris-tarjeta:#141414;
  --texto-oscuro:#1a1a1a;
  --texto-medio:#3a3a3a;
  --texto-suave:#6b6b6b;
  --texto-claro:#f5f2ee;
  --amarillo:#FFD579;
  --borde:#d4d0cb;
  --borde-suave:#e2dcd1;
  --radio-borde:14px;
  --altura-nav:60px;
  --linea-divisora:1px solid var(--borde);
}

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;font-size:18px;}
body{
  font-family:'Roboto',sans-serif;font-weight:400;
  background:var(--papel);color:var(--texto-oscuro);
  line-height:1.65;letter-spacing:0.15px;
  overflow-x:hidden;cursor:none;
}
a{text-decoration:none;color:inherit;}
button{border:none;background:none;cursor:none;font:inherit;}
img{display:block;max-width:100%;}
@media(hover:none){body{cursor:auto;}button,a{cursor:pointer;}#cursor,#cursor-anillo{display:none;}}

/* ───────── CURSOR PERSONALIZADO (punto rojo + anillo) ───────── */
#cursor{position:fixed;top:0;left:0;width:8px;height:8px;background:var(--rojo);border-radius:50%;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);transition:width .2s,height .2s,background .2s;}
#cursor.sobre-enlace{width:36px;height:36px;background:rgba(200,32,26,.12);border:1px solid rgba(200,32,26,.5);}
#cursor-anillo{position:fixed;top:0;left:0;width:32px;height:32px;border:1px solid rgba(200,32,26,.25);border-radius:50%;pointer-events:none;z-index:9998;transform:translate(-50%,-50%);}

/* ───────── TIPOGRAFÍA Y ETIQUETAS DE SECCIÓN ───────── */
h1,h2,h3,h4{font-family:'Lato',sans-serif;text-transform:uppercase;letter-spacing:-.025em;line-height:.95;}

.etiqueta-seccion{
  font-family:'Lato',sans-serif;font-weight:700;font-size:.6rem;
  letter-spacing:.28em;text-transform:uppercase;color:var(--rojo);
  display:flex;align-items:center;gap:10px;
}
.etiqueta-seccion::before{content:'';display:block;width:18px;height:1.5px;background:currentColor;flex-shrink:0;}
.etiqueta-seccion.roja{color:var(--rojo);}
.etiqueta-seccion.tenue{color:rgba(26,26,26,.35);}
.etiqueta-seccion.gris{color:rgba(26,26,26,.45);}
.etiqueta-seccion.gris::before{background:rgba(26,26,26,.3);}

/* ───────── BOTONES ───────── */
.boton{
  display:inline-flex;align-items:center;gap:8px;
  font-family:'Lato',sans-serif;font-weight:700;font-size:.62rem;
  letter-spacing:.2em;text-transform:uppercase;
  border-radius:50px;padding:14px 28px;
  border:1.5px solid transparent;transition:all .25s ease;cursor:none;
}
.boton-grande{padding:16px 32px;font-size:.66rem;}
.boton-rojo{background:var(--rojo);color:#fff;border-color:var(--rojo);}
.boton-rojo:hover{background:var(--rojo-oscuro);transform:translateY(-2px);box-shadow:0 8px 24px rgba(200,32,26,.3);}
.boton-whatsapp{background:#25D366;color:#fff;border-color:#25D366;}
.boton-whatsapp:hover{background:#1da851;transform:translateY(-2px);box-shadow:0 8px 24px rgba(37,211,102,.28);}
.boton-whatsapp-contorno{background:transparent;color:#1da851;border-color:#25D366;}
.boton-whatsapp-contorno:hover{background:#25D366;color:#fff;transform:translateY(-2px);}
.boton-transparente{background:transparent;color:rgba(26,26,26,.6);border-color:rgba(26,26,26,.18);}
.boton-transparente:hover{color:var(--texto-oscuro);border-color:rgba(26,26,26,.45);transform:translateY(-2px);}
.boton-contorno-claro{background:transparent;color:rgba(245,242,238,.92);border-color:rgba(255,255,255,.4);}
.boton-contorno-claro:hover{border-color:#fff;background:rgba(255,255,255,.06);transform:translateY(-2px);}

/* ───────── BARRA DE NAVEGACIÓN FIJA ───────── */
#barra-navegacion{
  position:fixed;top:0;left:0;right:0;z-index:600;height:var(--altura-nav);
  display:flex;align-items:center;justify-content:space-between;
  padding:0 40px;
  background:linear-gradient(to bottom,rgba(246,243,238,.92),rgba(246,243,238,0));
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  transition:background .35s, backdrop-filter .35s;
}
.nav-logo{font-family:'Lato',sans-serif;font-weight:900;font-size:.68rem;letter-spacing:.3em;text-transform:uppercase;color:var(--texto-oscuro);transition:color .4s;}
.nav-logo b{color:var(--rojo);}
.nav-lema{position:absolute;left:50%;transform:translateX(-50%);font-family:'Lato',sans-serif;font-weight:700;font-size:.52rem;letter-spacing:.25em;text-transform:uppercase;color:rgba(26,26,26,.3);transition:color .4s;}
#boton-abrir-menu{font-family:'Lato',sans-serif;font-weight:900;font-size:.62rem;letter-spacing:.28em;text-transform:uppercase;color:var(--texto-oscuro);display:flex;align-items:center;gap:10px;transition:color .4s;cursor:none;}
.lineas-hamburguesa{display:flex;flex-direction:column;gap:4px;}
.lineas-hamburguesa span{display:block;width:20px;height:1.5px;background:currentColor;transition:all .3s;transform-origin:right;}
#boton-abrir-menu:hover .lineas-hamburguesa span:first-child{width:13px;}
#boton-abrir-menu:hover .lineas-hamburguesa span:last-child{width:13px;}

/* Cuando la barra pasa sobre una sección oscura, se invierte a tonos claros */
#barra-navegacion.sobre-fondo-oscuro{background:linear-gradient(to bottom,rgba(10,10,10,.85),rgba(10,10,10,0));}
#barra-navegacion.sobre-fondo-oscuro .nav-logo,#barra-navegacion.sobre-fondo-oscuro #boton-abrir-menu{color:var(--texto-claro);}
#barra-navegacion.sobre-fondo-oscuro .nav-lema{color:rgba(245,242,238,.3);}

/* ───────── MENÚ DE PANTALLA COMPLETA ───────── */
#menu-pantalla{position:fixed;inset:0;z-index:700;display:grid;grid-template-columns:1fr 1fr;transform:translateX(101%);transition:transform .65s cubic-bezier(.76,0,.24,1);overflow:hidden;}
#menu-pantalla.abierto{transform:translateX(0);}
.menu-panel-izquierdo{background:var(--negro);display:flex;flex-direction:column;justify-content:space-between;padding:var(--altura-nav) 56px 48px;border-right:1px solid rgba(245,242,238,.05);position:relative;overflow:hidden;}
.menu-fondo-cuadricula{position:absolute;inset:0;background-image:linear-gradient(rgba(245,242,238,.012) 1px,transparent 1px),linear-gradient(90deg,rgba(245,242,238,.012) 1px,transparent 1px);background-size:60px 60px;pointer-events:none;}
.menu-ubicacion{font-family:'Lato',sans-serif;font-weight:700;font-size:.55rem;letter-spacing:.28em;text-transform:uppercase;color:rgba(245,242,238,.25);position:relative;z-index:1;}
.menu-eslogan{font-family:'Lato',sans-serif;font-weight:900;font-size:clamp(1.8rem,3vw,2.8rem);text-transform:uppercase;color:var(--texto-claro);line-height:1;letter-spacing:-.03em;max-width:340px;position:relative;z-index:1;}
.menu-eslogan em{font-style:normal;color:var(--rojo);}
.menu-contactos{display:flex;flex-direction:column;gap:8px;position:relative;z-index:1;}
.menu-contactos a{font-family:'Lato',sans-serif;font-weight:700;font-size:.62rem;letter-spacing:.12em;color:rgba(245,242,238,.3);transition:color .2s;}
.menu-contactos a:hover{color:var(--texto-claro);}
.menu-panel-derecho{background:var(--gris-tarjeta);display:flex;flex-direction:column;justify-content:space-between;padding:var(--altura-nav) 56px 48px;}
.menu-barra-superior{display:flex;justify-content:flex-end;}
#boton-cerrar-menu{font-family:'Lato',sans-serif;font-weight:900;font-size:.62rem;letter-spacing:.28em;text-transform:uppercase;color:rgba(245,242,238,.4);transition:color .2s;cursor:none;}
#boton-cerrar-menu:hover{color:var(--texto-claro);}
.menu-enlaces{display:flex;flex-direction:column;justify-content:center;flex:1;padding:20px 0;}
.menu-enlaces a{font-family:'Lato',sans-serif;font-weight:900;font-size:clamp(2.2rem,4.5vw,4.5rem);text-transform:uppercase;letter-spacing:-.03em;line-height:1.08;color:rgba(245,242,238,.15);transition:color .25s,transform .25s;display:flex;align-items:baseline;gap:12px;padding:5px 0;border-bottom:1px solid rgba(245,242,238,.04);}
.menu-enlaces a:first-child{border-top:1px solid rgba(245,242,238,.04);}
.menu-enlaces a:hover{color:var(--texto-claro);transform:translateX(10px);}
.menu-enlaces a span{font-size:.38em;color:var(--rojo);letter-spacing:.1em;font-weight:700;}
.menu-acciones{display:flex;gap:10px;flex-wrap:wrap;}

/* ───────── BOTÓN FLOTANTE DE WHATSAPP ───────── */
#boton-whatsapp-flotante{position:fixed;bottom:28px;right:28px;z-index:500;width:50px;height:50px;background:#25D366;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px rgba(37,211,102,.35);transition:all .25s;cursor:none;}
#boton-whatsapp-flotante:hover{transform:scale(1.1);box-shadow:0 8px 32px rgba(37,211,102,.45);}
#boton-whatsapp-flotante svg{width:24px;height:24px;fill:#fff;}

/* ═══════════════════════════════════════════════════════════
   INICIO (HERO) — portada estilo editorial
   ═══════════════════════════════════════════════════════════ */
#inicio{
  position:relative;min-height:100vh;
  background:var(--papel);color:var(--texto-oscuro);
  display:flex;flex-direction:column;overflow:hidden;
}
.inicio-fondo-cuadricula{
  position:absolute;inset:0;pointer-events:none;
  background-image:
    linear-gradient(rgba(10,10,10,.025) 1px,transparent 1px),
    linear-gradient(90deg,rgba(10,10,10,.025) 1px,transparent 1px);
  background-size:72px 72px;
  mask-image:radial-gradient(ellipse at center,rgba(0,0,0,.7),rgba(0,0,0,.15) 70%,transparent);
  -webkit-mask-image:radial-gradient(ellipse at center,rgba(0,0,0,.7),rgba(0,0,0,.15) 70%,transparent);
}
.inicio-marco{position:absolute;inset:16px;border:1px solid rgba(10,10,10,.07);pointer-events:none;z-index:1;}

.inicio-contenido{flex:1;display:grid;grid-template-columns:1.05fr .95fr;position:relative;z-index:2;padding-top:calc(var(--altura-nav));}
.inicio-columna-texto{display:flex;flex-direction:column;justify-content:flex-start;padding:5px 48px 88px;position:relative;}

.inicio-etiqueta{animation:aparecer-subiendo .7s ease .15s both;color:var(--rojo);margin-bottom:24px;}

.inicio-titulo{
  font-size:clamp(2.8rem,5.6vw,5.6rem);
  font-weight:900;color:var(--texto-oscuro);
  margin-bottom:18px;max-width:540px;
  animation:aparecer-subiendo .8s ease .3s both;
  letter-spacing:-.035em;
}
.inicio-titulo em{font-style:normal;color:var(--rojo);}
.inicio-lema{
  font-family:'Lato',sans-serif;font-weight:700;font-size:.66rem;
  letter-spacing:.2em;text-transform:uppercase;color:rgba(26,26,26,.42);
  margin:0 0 24px;animation:aparecer-subiendo .7s ease .4s both;
}
.inicio-descripcion{font-family:'Roboto',sans-serif;font-weight:400;font-size:1.04rem;color:var(--texto-medio);max-width:54ch;line-height:1.7;margin-bottom:36px;animation:aparecer-subiendo .7s ease .5s both;}
.inicio-botones{display:flex;gap:10px;flex-wrap:wrap;animation:aparecer-subiendo .7s ease .65s both;}

.indicador-scroll{position:absolute;bottom:32px;left:48px;display:flex;align-items:center;gap:12px;font-family:'Lato',sans-serif;font-weight:700;font-size:.5rem;letter-spacing:.25em;text-transform:uppercase;color:rgba(26,26,26,.28);animation:aparecer-subiendo .7s ease .85s both;z-index:3;}
.indicador-scroll-linea{width:36px;height:1px;background:linear-gradient(to right,var(--rojo),transparent);animation:pulso-linea 2.5s ease infinite;}
@keyframes pulso-linea{0%,100%{opacity:.35;transform:scaleX(1)}50%{opacity:1;transform:scaleX(1.18)}}
@keyframes aparecer-subiendo{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}

/* Columna derecha de la portada (ilustración) */
.inicio-columna-imagen{display:flex;align-items:center;justify-content:center;padding:60px 56px 60px 24px;position:relative;}

/* Ilustración principal */
.inicio-ilustracion{display:block;width:100%;max-width:560px;position:relative;animation:aparecer-subiendo 1s ease .35s both;}
.inicio-ilustracion img{width:100%;height:auto;display:block;mix-blend-mode:multiply;filter:contrast(1.05);}

@media(max-width:900px){
  .inicio-contenido{grid-template-columns:1fr;}
  .inicio-columna-imagen{padding:0 32px 40px;}
  .inicio-ilustracion{max-width:380px;margin:0 auto;}
  .inicio-columna-texto{padding:60px 32px 60px;}
}

/* ═══════════════════════════════════════════════════════════
   BLOG — vista previa de los últimos artículos de WordPress
   (las tarjetas las genera js/script.js al cargar la página)
   ═══════════════════════════════════════════════════════════ */
#blog{background:var(--crema);border-top:1px solid var(--borde-suave);color:var(--texto-oscuro);}
.blog-encabezado{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;padding:96px 56px 48px;}
.blog-encabezado h2{font-size:clamp(2rem,3.8vw,3.6rem);font-weight:900;color:var(--texto-oscuro);}
.blog-encabezado h2 em{font-style:normal;color:var(--rojo);}
.blog-ver-todos{
  font-family:'Lato',sans-serif;font-weight:700;font-size:.6rem;
  letter-spacing:.22em;text-transform:uppercase;color:var(--rojo);
  display:flex;align-items:center;gap:8px;transition:gap .2s;
  border-bottom:1px solid var(--rojo);padding-bottom:4px;flex-shrink:0;
}
.blog-ver-todos:hover{gap:14px;}

.blog-cuadricula{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--borde-suave);}
.articulo-blog{
  display:flex;flex-direction:column;
  border-right:1px solid var(--borde-suave);
  background:var(--crema);transition:background .3s;
  animation:aparecer-subiendo .7s ease both;
}
.articulo-blog:nth-child(2){animation-delay:.1s;}
.articulo-blog:nth-child(3){animation-delay:.2s;}
.articulo-blog:last-child{border-right:none;}
.articulo-blog:hover{background:var(--papel);}
.articulo-imagen{width:100%;aspect-ratio:16/10;object-fit:cover;border-bottom:1px solid var(--borde-suave);}
.articulo-blog:hover .articulo-imagen{filter:contrast(1.05);}
.articulo-cuerpo{padding:26px 30px 32px;display:flex;flex-direction:column;gap:12px;flex:1;}
.articulo-fecha{
  font-family:'Lato',sans-serif;font-weight:700;font-size:.52rem;
  letter-spacing:.25em;text-transform:uppercase;color:var(--rojo);
}
.articulo-titulo{
  font-family:'Lato',sans-serif;font-weight:900;font-size:1.05rem;
  text-transform:uppercase;letter-spacing:-.01em;line-height:1.15;color:var(--texto-oscuro);
}
.articulo-resumen{font-size:.92rem;color:var(--texto-medio);line-height:1.65;flex:1;}
.articulo-enlace{
  font-family:'Lato',sans-serif;font-weight:700;font-size:.56rem;
  letter-spacing:.22em;text-transform:uppercase;color:var(--rojo);
  display:flex;align-items:center;gap:8px;transition:gap .2s;align-self:flex-start;
}
.articulo-enlace:hover{gap:14px;}

/* Mensaje cuando el blog aún no está conectado o no responde */
.blog-aviso{
  grid-column:1/-1;padding:56px 32px;text-align:center;
  font-size:.95rem;color:var(--texto-suave);line-height:1.7;
}
.blog-aviso code{
  font-family:monospace;font-size:.85em;background:var(--papel-2);
  border:1px solid var(--borde-suave);border-radius:6px;padding:2px 7px;
}

@media(max-width:900px){
  .blog-encabezado{flex-direction:column;align-items:flex-start;padding:64px 32px 36px;}
  .blog-cuadricula{grid-template-columns:1fr;}
  .articulo-blog{border-right:none;border-bottom:1px solid var(--borde-suave);}
  .articulo-blog:last-child{border-bottom:none;}
}

/* ═══════════════════════════════════════════════════════════
   CREDENCIALES — cinta de datos que se desliza en bucle
   ═══════════════════════════════════════════════════════════ */
#credenciales{
  background:var(--papel-2);
  border-top:1px solid var(--borde-suave);
  border-bottom:1px solid var(--borde-suave);
  overflow:hidden;color:var(--texto-oscuro);
}
.cinta-pista{display:flex;animation:desplazar-cinta 32s linear infinite;white-space:nowrap;}
.cinta-pista:hover{animation-play-state:paused;}
@keyframes desplazar-cinta{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.cinta-dato{display:inline-flex;align-items:center;gap:32px;padding:22px 44px;border-right:1px solid rgba(10,10,10,.06);flex-shrink:0;}
.cinta-numero{font-family:'Lato',sans-serif;font-weight:900;font-size:1.9rem;color:var(--texto-oscuro);line-height:1;letter-spacing:-.02em;}
.cinta-numero b{color:var(--rojo);}
.cinta-texto{font-family:'Lato',sans-serif;font-weight:700;font-size:.52rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(26,26,26,.45);max-width:110px;line-height:1.4;}
.cinta-separador{font-family:'Lato',sans-serif;font-weight:900;font-size:1.2rem;color:rgba(200,32,26,.35);padding:0 8px;flex-shrink:0;}

/* ═══════════════════════════════════════════════════════════
   NOSOTROS — panel izquierdo fijo + columna de texto con scroll
   ═══════════════════════════════════════════════════════════ */
#nosotros{display:grid;grid-template-columns:.95fr 1.05fr;background:var(--papel);}
.nosotros-panel-fijo{
  position:sticky;top:0;height:100vh;
  background:var(--papel);
  display:flex;flex-direction:column;justify-content:space-between;
  padding:96px 56px 56px;overflow:hidden;
  border-right:1px solid var(--borde-suave);
}
.nosotros-fondo-cuadricula{position:absolute;inset:0;background-image:linear-gradient(rgba(10,10,10,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(10,10,10,.02) 1px,transparent 1px);background-size:60px 60px;pointer-events:none;}
.nosotros-numero-gigante{position:absolute;bottom:-30px;left:30px;font-family:'Lato',sans-serif;font-weight:900;font-size:20rem;line-height:1;color:rgba(10,10,10,.035);letter-spacing:-.06em;user-select:none;pointer-events:none;}
.nosotros-panel-fijo .etiqueta-seccion{color:var(--rojo);}
.nosotros-panel-fijo h2{font-size:clamp(2.2rem,3.8vw,3.6rem);font-weight:900;color:var(--texto-oscuro);position:relative;z-index:1;margin-bottom:14px;}
.nosotros-panel-fijo h2 em{font-style:normal;color:var(--rojo);}
.nosotros-subtitulo{font-size:.94rem;color:var(--texto-suave);max-width:42ch;line-height:1.65;position:relative;z-index:1;margin-bottom:24px;}
.nosotros-ilustracion{
  position:relative;z-index:1;
  max-width:400px;
}
.nosotros-ilustracion img{width:100%;height:auto;mix-blend-mode:multiply;filter:contrast(1.05);}
.nosotros-columna-texto{background:var(--crema);padding:120px 64px;display:flex;flex-direction:column;gap:60px;}
.nosotros-bloque p{font-size:1rem;color:var(--texto-medio);line-height:1.78;margin-bottom:16px;max-width:62ch;letter-spacing:0.15px;}
.nosotros-bloque p strong{color:var(--texto-oscuro);font-weight:500;border-bottom:1.5px solid var(--rojo);padding-bottom:1px;}
.cuadricula-pilares{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:32px;}
.pilar{
  background:var(--papel-2);border:1px solid var(--borde-suave);
  border-radius:var(--radio-borde);padding:26px;transition:all .25s;
}
.pilar:hover{background:var(--papel);border-color:rgba(200,32,26,.35);transform:translateY(-3px);}
.pilar-numero{font-family:'Lato',sans-serif;font-weight:900;font-size:1.8rem;color:var(--rojo);line-height:1;margin-bottom:10px;letter-spacing:-.04em;}
.pilar-titulo{font-family:'Lato',sans-serif;font-weight:900;font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:var(--texto-oscuro);margin-bottom:7px;}
.pilar-descripcion{font-size:.88rem;color:var(--texto-suave);line-height:1.65;}

@media(max-width:900px){
  #nosotros{grid-template-columns:1fr;}
  .nosotros-panel-fijo{position:relative;height:auto;min-height:60vh;padding:64px 32px 48px;border-right:none;border-bottom:1px solid var(--borde-suave);}
  .nosotros-columna-texto{padding:60px 32px;}
  .cuadricula-pilares{grid-template-columns:1fr;}
  .nosotros-ilustracion{max-width:100%;}
}

/* ═══════════════════════════════════════════════════════════
   SERVICIOS — filas que alternan imagen y texto
   ═══════════════════════════════════════════════════════════ */
#servicios{background:var(--papel);color:var(--texto-oscuro);}
.servicios-encabezado{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;padding:120px 56px 56px;border-bottom:1px solid var(--borde-suave);}
.servicios-encabezado h2{font-size:clamp(2rem,3.8vw,3.6rem);font-weight:900;color:var(--texto-oscuro);}
.servicios-encabezado h2 em{font-style:normal;color:var(--rojo);}
.servicios-encabezado-texto{font-size:.98rem;color:var(--texto-suave);max-width:52ch;line-height:1.7;text-align:right;}


/* Lista de servicios */
.lista-servicios{display:flex;flex-direction:column;}
.tarjeta-servicio{
  display:grid;grid-template-columns:1fr 1fr;
  border-bottom:1px solid var(--borde-suave);
  align-items:stretch;
}
.tarjeta-servicio:nth-child(even){background:var(--crema);}
.servicio-ilustracion{
  position:relative;display:flex;align-items:center;justify-content:center;
  padding:48px 40px;background:transparent;overflow:hidden;
}
.servicio-ilustracion img{
  max-width:100%;max-height:520px;width:auto;height:auto;
  mix-blend-mode:multiply;
  filter:contrast(1.05);
  transition:transform .6s cubic-bezier(.22,1,.36,1);
}
.tarjeta-servicio:hover .servicio-ilustracion img{transform:scale(1.03);}
.servicio-contenido{
  display:flex;flex-direction:column;justify-content:center;gap:18px;
  padding:80px 56px;position:relative;
}
.servicio-contenido::before{
  content:'';position:absolute;left:0;top:64px;bottom:64px;width:1px;
  background:var(--borde-suave);
}
.tarjeta-servicio:nth-child(odd) .servicio-contenido::before{left:0;}
.tarjeta-servicio:nth-child(even) .servicio-contenido::before{left:auto;right:0;}
.servicio-numero{
  font-family:'Lato',sans-serif;font-weight:900;font-size:.56rem;
  letter-spacing:.32em;color:var(--rojo);
}
.servicio-titulo{
  font-family:'Lato',sans-serif;font-weight:900;
  font-size:clamp(1.8rem,2.6vw,2.6rem);text-transform:uppercase;
  letter-spacing:-.02em;color:var(--texto-oscuro);line-height:1.02;max-width:14ch;
}
.servicio-subtitulo{
  font-family:'Lato',sans-serif;font-weight:700;font-size:.6rem;
  letter-spacing:.22em;text-transform:uppercase;color:rgba(26,26,26,.5);
}
.servicio-descripcion{font-size:1.02rem;color:var(--texto-medio);line-height:1.72;max-width:55ch;}
.servicio-etiquetas{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px;}
.tarjeta-servicio .etiqueta-tema{
  font-family:'Lato',sans-serif;font-weight:700;font-size:.5rem;
  letter-spacing:.14em;text-transform:uppercase;padding:5px 10px;
  border:1px solid rgba(10,10,10,.15);border-radius:50px;
  background:transparent;color:var(--texto-suave);
}
.tarjeta-servicio .enlace-servicio{
  font-family:'Lato',sans-serif;font-weight:700;font-size:.6rem;
  letter-spacing:.22em;text-transform:uppercase;color:var(--rojo);
  display:flex;align-items:center;gap:8px;margin-top:8px;
  align-self:flex-start;transition:gap .2s;border-bottom:1px solid var(--rojo);padding-bottom:4px;
}
.tarjeta-servicio .enlace-servicio:hover{gap:14px;}

/* Filas pares: la imagen pasa al lado derecho */
.tarjeta-servicio:nth-child(even) .servicio-contenido{order:1;}
.tarjeta-servicio:nth-child(even) .servicio-ilustracion{order:2;}

@media(max-width:900px){
  .tarjeta-servicio{grid-template-columns:1fr;}
  .tarjeta-servicio:nth-child(even) .servicio-contenido,
  .tarjeta-servicio:nth-child(even) .servicio-ilustracion{order:initial;}
  .servicio-contenido{padding:48px 32px;}
  .servicio-ilustracion{padding:48px 32px 0;}
  .servicio-contenido::before{display:none;}
}

@media(max-width:768px){
  .servicios-encabezado{flex-direction:column;align-items:flex-start;padding:80px 32px 40px;}
  .servicios-encabezado-texto{text-align:left;max-width:100%;}
}

/* ═══════════════════════════════════════════════════════════
   DOLOR — el problema que resolvemos (frases de clientes)
   ═══════════════════════════════════════════════════════════ */
#dolor{background:var(--gris-pagina);display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--borde-suave);}
.problema-columna-izquierda{padding:120px 56px;border-right:1px solid var(--borde);display:flex;flex-direction:column;gap:20px;}
.problema-columna-izquierda h2{font-size:clamp(2rem,3.5vw,3.2rem);font-weight:900;color:var(--texto-oscuro);}
.problema-columna-izquierda h2 em{font-style:normal;color:var(--rojo);}
.problema-columna-izquierda > p{font-size:1rem;color:var(--texto-medio);line-height:1.75;max-width:55ch;}
.problema-columna-derecha{padding:120px 56px;}
.lista-frases{display:flex;flex-direction:column;}
.frase-cliente{display:grid;grid-template-columns:36px 1fr;gap:22px;align-items:baseline;padding:22px 0;border-bottom:1px solid var(--borde);transition:padding .25s;}
.frase-cliente:first-child{border-top:1px solid var(--borde);}
.frase-cliente:hover{padding-left:8px;}
.frase-numero{font-family:'Lato',sans-serif;font-weight:900;font-size:.78rem;color:var(--rojo);letter-spacing:.12em;}
.frase-texto{font-size:1.05rem;color:var(--texto-medio);line-height:1.55;font-style:italic;font-family:Georgia,'Times New Roman',serif;}
@media(max-width:900px){
  #dolor{grid-template-columns:1fr;}
  .problema-columna-izquierda{padding:64px 32px;border-right:none;border-bottom:1px solid var(--borde);}
  .problema-columna-derecha{padding:64px 32px;}
}

/* ═══════════════════════════════════════════════════════════
   AUDIENCIA — sección con fondo oscuro (momento de impacto)
   ═══════════════════════════════════════════════════════════ */
#audiencia{background:var(--negro);padding-bottom:0;color:var(--texto-claro);}
.audiencia-encabezado{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;padding:120px 56px 64px;}
.audiencia-encabezado .etiqueta-seccion{color:var(--amarillo);}
.audiencia-encabezado .etiqueta-seccion::before{background:var(--amarillo);}
.audiencia-encabezado h2{font-size:clamp(2.2rem,4vw,3.5rem);font-weight:900;color:var(--texto-claro);max-width:520px;}
.audiencia-encabezado h2 em{font-style:normal;color:var(--amarillo);}
.audiencia-encabezado-texto{font-size:.96rem;color:rgba(245,242,238,.5);max-width:42ch;line-height:1.7;text-align:right;}
.audiencia-cuadricula{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(245,242,238,.08);}
.audiencia-tarjeta{padding:42px 36px;border-right:1px solid rgba(245,242,238,.08);border-bottom:1px solid rgba(245,242,238,.08);transition:background .3s;position:relative;}
.audiencia-tarjeta:hover{background:rgba(245,242,238,.03);}
.audiencia-tarjeta:nth-child(3n){border-right:none;}
.audiencia-rol{font-family:'Lato',sans-serif;font-weight:900;font-size:.74rem;text-transform:uppercase;letter-spacing:.1em;color:var(--texto-claro);margin-bottom:16px;display:flex;align-items:center;gap:10px;}
.audiencia-rol::before{content:'';display:block;width:14px;height:1.5px;background:var(--rojo);flex-shrink:0;}
.audiencia-cita{font-family:Georgia,serif;font-size:.98rem;color:rgba(245,242,238,.6);line-height:1.6;font-style:italic;border-left:2px solid rgba(200,32,26,.45);padding-left:14px;margin-bottom:14px;}
.audiencia-solucion{font-size:.94rem;color:rgba(245,242,238,.78);line-height:1.62;}
@media(max-width:900px){
  .audiencia-cuadricula{grid-template-columns:1fr 1fr;}
  .audiencia-tarjeta:nth-child(3n){border-right:1px solid rgba(245,242,238,.08);}
  .audiencia-tarjeta:nth-child(even){border-right:none;}
  .audiencia-encabezado{flex-direction:column;align-items:flex-start;padding:64px 32px 40px;}
  .audiencia-encabezado-texto{text-align:left;max-width:100%;}
}
@media(max-width:580px){.audiencia-cuadricula{grid-template-columns:1fr;} .audiencia-tarjeta{border-right:none!important;}}

/* ═══════════════════════════════════════════════════════════
   METODOLOGÍA — panel izquierdo fijo + pasos numerados
   ═══════════════════════════════════════════════════════════ */
#metodologia{background:var(--crema);display:grid;grid-template-columns:1fr 1fr;}
.metodologia-panel-fijo{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;justify-content:center;padding:80px 56px;border-right:1px solid var(--borde);}
.metodologia-panel-fijo h2{font-size:clamp(2rem,3.5vw,3rem);font-weight:900;color:var(--texto-oscuro);margin-bottom:18px;}
.metodologia-panel-fijo p{font-size:1rem;color:var(--texto-medio);line-height:1.75;max-width:42ch;}
.metodologia-pasos{padding:80px 56px;display:flex;flex-direction:column;}
.paso{display:grid;grid-template-columns:80px 1fr;gap:24px;padding:40px 0;border-bottom:1px solid var(--borde);transition:transform .3s;}
.paso:first-child{border-top:1px solid var(--borde);}
.paso:hover{transform:translateX(6px);}
.paso-numero{font-family:'Lato',sans-serif;font-weight:900;font-size:2.8rem;color:var(--gris-numero);line-height:1;letter-spacing:-.04em;}
.paso:hover .paso-numero{color:var(--rojo);}
.paso-titulo{font-family:'Lato',sans-serif;font-weight:900;font-size:.82rem;text-transform:uppercase;letter-spacing:.1em;color:var(--texto-oscuro);margin-bottom:10px;}
.paso-descripcion{font-size:1rem;color:var(--texto-medio);line-height:1.72;max-width:60ch;}
@media(max-width:900px){
  #metodologia{grid-template-columns:1fr;}
  .metodologia-panel-fijo{position:relative;height:auto;padding:64px 32px 40px;}
  .metodologia-panel-fijo p{max-width:100%;}
  .metodologia-pasos{padding:0 32px 60px;}
}

/* ═══════════════════════════════════════════════════════════
   CITA DESTACADA — franja roja con la propuesta de valor
   ═══════════════════════════════════════════════════════════ */
#cita-destacada{background:var(--rojo);padding:96px 0;position:relative;overflow:hidden;}
#cita-destacada::before{
  content:'';position:absolute;inset:0;
  background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);
  background-size:48px 48px;pointer-events:none;
}
.cita-contenido{padding:0 56px;display:flex;align-items:center;justify-content:space-between;gap:60px;position:relative;}
.cita-texto{font-family:'Lato',sans-serif;font-weight:900;font-size:clamp(1.7rem,3.4vw,3rem);text-transform:uppercase;color:#fff;line-height:1;letter-spacing:-.025em;max-width:680px;}
.cita-texto span{opacity:.38;}
.cita-boton{flex-shrink:0;}
@media(max-width:900px){.cita-contenido{flex-direction:column;align-items:flex-start;padding:0 32px;}.cita-texto{font-size:clamp(1.5rem,5vw,2.2rem);}}

/* ═══════════════════════════════════════════════════════════
   CONTACTO — fondo oscuro con formulario
   ═══════════════════════════════════════════════════════════ */
#contacto{background:var(--negro);color:var(--texto-claro);display:grid;grid-template-columns:1fr 1fr;min-height:100vh;}
.contacto-columna-info{display:flex;flex-direction:column;justify-content:flex-end;padding:96px 56px;border-right:1px solid rgba(245,242,238,.08);position:relative;overflow:hidden;}
.contacto-fondo-letras{position:absolute;bottom:-50px;left:30px;font-family:'Lato',sans-serif;font-weight:900;font-size:18rem;line-height:1;color:rgba(245,242,238,.025);user-select:none;pointer-events:none;letter-spacing:-.06em;}
.contacto-columna-info .etiqueta-seccion{color:var(--amarillo);}
.contacto-columna-info .etiqueta-seccion::before{background:var(--amarillo);}
.contacto-columna-info h2{font-size:clamp(2.4rem,4vw,3.8rem);font-weight:900;color:var(--texto-claro);margin-bottom:18px;position:relative;z-index:1;}
.contacto-columna-info h2 em{font-style:normal;color:var(--rojo);}
.contacto-columna-info > p{font-size:1.02rem;color:rgba(245,242,238,.78);line-height:1.75;margin-bottom:36px;max-width:52ch;position:relative;z-index:1;}
.contacto-botones{display:flex;flex-direction:column;gap:10px;max-width:320px;position:relative;z-index:1;}
.contacto-botones .boton-transparente{color:rgba(245,242,238,.62);border-color:rgba(245,242,238,.22);}
.contacto-botones .boton-transparente:hover{color:var(--texto-claro);border-color:rgba(245,242,238,.55);}
.contacto-datos{margin-top:44px;display:flex;flex-direction:column;position:relative;z-index:1;}
.contacto-fila{display:flex;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid rgba(245,242,238,.08);}
.contacto-fila:first-child{border-top:1px solid rgba(245,242,238,.08);}
.contacto-icono{width:30px;display:flex;align-items:center;justify-content:center;color:rgba(245,242,238,.4);}
.contacto-valor{font-family:'Lato',sans-serif;font-weight:700;font-size:.64rem;letter-spacing:.08em;color:rgba(245,242,238,.6);}
.contacto-valor a:hover{color:var(--texto-claro);}
.contacto-columna-formulario{padding:96px 56px;display:flex;flex-direction:column;justify-content:center;}
.formulario-tarjeta{background:var(--gris-oscuro);border:1px solid rgba(245,242,238,.08);border-radius:20px;padding:48px;}
.formulario-titulo{font-family:'Lato',sans-serif;font-weight:900;font-size:.62rem;letter-spacing:.25em;text-transform:uppercase;color:var(--amarillo);margin-bottom:28px;display:flex;align-items:center;gap:10px;}
.formulario-titulo::before{content:'';display:block;width:12px;height:1.5px;background:var(--amarillo);}
.campo{margin-bottom:16px;}
.campo-etiqueta{display:block;font-family:'Lato',sans-serif;font-weight:700;font-size:.52rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(245,242,238,.4);margin-bottom:6px;}
.campo-entrada{width:100%;background:rgba(245,242,238,.05);border:1px solid rgba(245,242,238,.1);border-radius:8px;padding:13px 15px;font-family:'Roboto',sans-serif;font-size:1rem;color:var(--texto-claro);outline:none;transition:border-color .2s;cursor:none;}
.campo-entrada::placeholder{color:rgba(245,242,238,.22);}
.campo-entrada:focus{border-color:rgba(200,32,26,.5);}
.campo-entrada option{background:var(--gris-oscuro);}
textarea.campo-entrada{resize:vertical;min-height:96px;}
@media(max-width:900px){
  #contacto{grid-template-columns:1fr;}
  .contacto-columna-info{padding:88px 32px 64px;border-right:none;border-bottom:1px solid rgba(245,242,238,.08);justify-content:flex-start;}
  .contacto-columna-formulario{padding:64px 32px;}
  .formulario-tarjeta{padding:32px 24px;}
}

/* ═══════════════════════════════════════════════════════════
   PIE DE PÁGINA
   ═══════════════════════════════════════════════════════════ */
#pie-pagina{background:var(--gris-tarjeta);color:var(--texto-claro);border-top:1px solid rgba(245,242,238,.06);padding:64px 56px 32px;}
.pie-columnas{display:grid;grid-template-columns:2fr 1fr 1fr;gap:64px;margin-bottom:48px;}
.pie-logo{font-family:'Lato',sans-serif;font-weight:900;font-size:1rem;letter-spacing:.1em;text-transform:uppercase;color:var(--texto-claro);margin-bottom:10px;}
.pie-logo b{color:var(--rojo);}
.pie-descripcion{font-size:.92rem;color:rgba(245,242,238,.45);line-height:1.7;max-width:42ch;margin-bottom:24px;}
.pie-redes{display:flex;gap:8px;}
.pie-red-social{width:34px;height:34px;border:1px solid rgba(245,242,238,.12);border-radius:7px;display:flex;align-items:center;justify-content:center;color:rgba(245,242,238,.35);transition:all .2s;cursor:none;}
.pie-red-social:hover{border-color:var(--rojo);color:var(--rojo);background:rgba(200,32,26,.06);}
.pie-titulo-columna{font-family:'Lato',sans-serif;font-weight:700;font-size:.52rem;letter-spacing:.25em;text-transform:uppercase;color:rgba(245,242,238,.3);margin-bottom:16px;}
.pie-enlaces{display:flex;flex-direction:column;gap:8px;list-style:none;}
.pie-enlaces a{font-size:.92rem;color:rgba(245,242,238,.48);transition:color .2s;}
.pie-enlaces a:hover{color:var(--texto-claro);}
.pie-inferior{border-top:1px solid rgba(245,242,238,.06);padding-top:24px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;}
.pie-legal{font-family:'Lato',sans-serif;font-weight:700;font-size:.5rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(245,242,238,.22);}
@media(max-width:768px){.pie-columnas{grid-template-columns:1fr;gap:36px;}#pie-pagina{padding:52px 24px 24px;}}

/* ═══════════════════════════════════════════════════════════
   ANIMACIONES — los elementos .animable aparecen al hacer scroll
   (el JavaScript les agrega la clase .visible)
   ═══════════════════════════════════════════════════════════ */
.animable{opacity:0;transform:translateY(22px);transition:opacity .8s cubic-bezier(.22,1,.36,1),transform .8s cubic-bezier(.22,1,.36,1);}
.animable.visible{opacity:1;transform:translateY(0);}
.animable.retraso-1{transition-delay:.08s;}.animable.retraso-2{transition-delay:.16s;}.animable.retraso-3{transition-delay:.24s;}.animable.retraso-4{transition-delay:.32s;}

/* Las ilustraciones se funden con el fondo de papel */
.inicio-ilustracion img,.nosotros-ilustracion img,.servicio-ilustracion img{
  filter:contrast(1.05);
}

/* ═══════════════════════════════════════════════════════════
   AJUSTES PARA PANTALLAS PEQUEÑAS (celulares)
   ═══════════════════════════════════════════════════════════ */
@media(max-width:480px){
  html{font-size:16px;}
  .inicio-titulo{font-size:clamp(2.2rem,8vw,3.2rem);}
  .nosotros-panel-fijo h2{font-size:clamp(2rem,7vw,3rem);}
  .problema-columna-izquierda h2{font-size:clamp(1.8rem,7vw,2.8rem);}
  .nosotros-columna-texto{padding:48px 24px;}
  .problema-columna-izquierda,.problema-columna-derecha{padding:56px 24px;}
  .audiencia-encabezado{padding:56px 24px 36px;}
  .audiencia-tarjeta{padding:32px 24px;}
  .metodologia-panel-fijo{padding:48px 24px 40px;}
  .metodologia-pasos{padding:0 24px 56px;}
  .contacto-columna-info{padding:64px 24px 48px;}
  .contacto-columna-formulario{padding:48px 24px;}
  .cita-contenido{padding:0 24px;}
  #barra-navegacion{padding:0 20px;}
  .nav-lema{display:none;}
}
