/* Inter y Source Serif 4 (licencia SIL OFL). Viajan con el sitio: no se pide nada a Google. */
@font-face{font-family:'Inter';font-style:normal;font-weight:400 800;font-display:swap;src:url(/fuentes/inter-latin-ext.woff2?v=01ba6c2a) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Inter';font-style:normal;font-weight:400 800;font-display:swap;src:url(/fuentes/inter-latin.woff2?v=65850a37) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Source Serif 4';font-style:normal;font-weight:500 700;font-display:swap;src:url(/fuentes/source-serif-4-latin-ext.woff2?v=8c3174ba) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Source Serif 4';font-style:normal;font-weight:500 700;font-display:swap;src:url(/fuentes/source-serif-4-latin.woff2?v=6a682eb0) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
html,body{height:100%;margin:0}#app{height:100%}
.cascaron{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#FFFFFF;}.cascaron img{width:160px;height:auto;display:block;}.sin-js{font:16px/1.5 system-ui,sans-serif;padding:24px;max-width:60ch;margin:0 auto;}
:root{--accent:#2E6289;--accent-light:#5C86A3;--navy:#141414;--bg:#F7F7F7;--line:#E4E4E4;--ink:#141414;--muted:#63666C;--flag:#B45309;}
  *{box-sizing:border-box;}
  body{margin:0;}
  input,textarea,select,button{font-family:inherit;}
  input::placeholder,textarea::placeholder{color:#9B9B9B;}
  :root{--vw:1vw;}
  /* ── Arreglos 2026-09-18 ── */
  /* 4 · WhatsApp: tamaño FIJO en px (56 celular / 60 escritorio) y margen seguro */
  :root{--wa-tam:56px;--wa-margen:16px;}
  @media (min-width:641px){:root{--wa-tam:60px;--wa-margen:20px;}}
  @media (max-width:640px){.wa-shell-anim,.wa-icon-anim{animation:none !important;}.wa-card-anim{display:none !important;}}
  /* 5 · Rejillas de tarjetas: 1 col hasta 640, 2 hasta 1024, 3 arriba (2 si solo hay 2) */
  [data-rejilla]{grid-template-columns:repeat(3,minmax(0,1fr)) !important;}
  [data-rejilla]:not(:has(> :nth-child(3))){grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  @media (max-width:1024px){[data-rejilla]{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}}
  @media (max-width:640px){[data-rejilla],[data-rejilla]:not(:has(> :nth-child(3))){grid-template-columns:1fr !important;}}
  /* ── Menú desplegable de Servicios: solo títulos, 3 columnas (2026-09-18 e, compacto) ── */
  [data-menu-servicios]{align-content:start;}
  [data-menu-bloque]{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;padding:13px 4px 13px 12px;border-bottom:1px solid var(--line,#E4E4E4);border-left:3px solid transparent;text-decoration:none;color:var(--ink,#141414);transition:background-color .2s ease,border-color .2s ease,color .2s ease;}
  [data-menu-titulo]{font-family:'Source Serif 4',serif;font-weight:600;font-size:17px;line-height:1.25;color:inherit;}
  [data-menu-ir]{flex:none;font-size:16px;font-weight:700;color:var(--accent,#2E6289);opacity:0;transform:translateX(-4px);transition:opacity .2s ease,transform .2s ease;}
  [data-menu-bloque]:hover,[data-menu-bloque]:focus-visible{background:#F4F6F9;border-left-color:var(--navy,#0E1B3E);color:var(--navy,#0E1B3E);}
  [data-menu-bloque]:hover [data-menu-ir],[data-menu-bloque]:focus-visible [data-menu-ir]{opacity:1;transform:none;}
  [data-menu-todos]:hover{background:var(--accent,#2E6289) !important;color:#FFFFFF !important;}
  @media (prefers-reduced-motion:reduce){[data-menu-ir]{transform:none;}}
  /* ── Ajustes 2026-09-18 (c) ── */
  /* 5 · Pie compacto: una sola fila en escritorio, 3 columnas en tableta, 2 en celular */
  [data-pie-cols]{grid-template-columns:1.5fr 1.3fr repeat(4,minmax(0,1fr)) !important;}
  [data-pie-marca] img{height:40px !important;margin-bottom:12px !important;}
  /* tableta: la marca ocupa la 1ª columna a lo alto y las 5 listas caben en 2 filas (Menú, la más larga, al final) */
  @media (max-width:1024px){[data-pie-cols]{grid-template-columns:1.35fr repeat(3,minmax(0,1fr)) !important;gap:24px 24px !important;}[data-pie-marca]{grid-row:span 2;}[data-pie-cols] > :nth-child(4){order:1;}}
  /* celular: 2 columnas; el «Menú» del pie se oculta porque repite el menú de arriba, que siempre está a la mano */
  @media (max-width:640px){[data-pie-cols]{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:22px 20px !important;padding-top:28px !important;}[data-pie-marca]{grid-row:auto;grid-column:1 / -1;}[data-pie-cols] > :nth-child(4){display:none;}[data-pie-cols] > :nth-child(3){order:1;}}
  /* el botón de WhatsApp se libra dejando aire A LA DERECHA de la barra legal, no alargando el pie */
  [data-pie]{padding-bottom:16px !important;padding-right:calc(var(--wa-tam) + 2*var(--wa-margen)) !important;}
  /* 5 · Servicios: las fotos mandan */
  [data-servicios]{display:grid !important;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px 14px !important;}
  @media (max-width:1024px){[data-servicios]{grid-template-columns:repeat(2,minmax(0,1fr));}}
  @media (max-width:640px){[data-servicios]{grid-template-columns:1fr;}}
  [data-servicio-foto]{height:auto !important;aspect-ratio:4 / 3;}
  @media (max-width:640px){[data-servicio-foto]{aspect-ratio:16 / 9;}}
  /* 7 · Hover: zoom suave de la MISMA imagen (nunca se carga otra) y estados claros */
  main article > div:first-child{overflow:hidden;}
  main article img,[data-zoom] img{transition:transform 0.4s ease;}
  main article:hover img,[data-zoom]:hover img{transform:scale(1.04);}
  main button,main a,footer a,header a{transition:color 0.2s ease,background-color 0.2s ease,border-color 0.2s ease,box-shadow 0.2s ease,opacity 0.2s ease;}
  a:focus-visible,button:focus-visible{outline:3px solid #2E6289;outline-offset:2px;}
  footer a:hover{text-decoration:underline !important;text-underline-offset:3px;}
  /* 7 y 8 · Quien pide menos movimiento no ve NINGUNA animación */
  @media (prefers-reduced-motion:reduce){
    *,*::before,*::after{animation:none !important;transition:none !important;scroll-behavior:auto !important;}
    [data-zoom-capa],main article img,[data-zoom] img{transform:none !important;}
  }
  /* ── Cambios 2026-09-18 (b) ── */
  /* 2 · Testimonios: letra y alto mínimo fijos por rango → todos miden igual */
  :root{--testi-letra:16px;--testi-alto:390px;}
  @media (min-width:641px){:root{--testi-letra:18px;--testi-alto:240px;}}
  @media (min-width:1025px){:root{--testi-letra:20px;--testi-alto:264px;}}
  [data-testi-cita]{font-size:var(--testi-letra) !important;min-height:var(--testi-alto) !important;}
  /* 3 · Pestañas de Eventos: botones claros, activo relleno, se nota que se pican */
  [data-pestanas-ev]{display:flex;gap:8px;padding-block:12px !important;}
  [data-pestanas-ev] button{flex:1;min-height:48px;display:flex;align-items:center;justify-content:center;background:#FFFFFF;color:#1C2B42;border:1.5px solid #B9C3D1;border-radius:6px;font-size:12.5px;font-weight:800;letter-spacing:0.05em;text-transform:uppercase;line-height:1.25;padding:8px 10px;cursor:pointer;text-align:center;text-wrap:balance;transition:background 0.2s ease,border-color 0.2s ease,color 0.2s ease;}
  [data-pestanas-ev] button:hover{border-color:#0E1B3E;background:#F1F4F8;}
  [data-pestanas-ev] button[aria-selected="true"]{background:#0E1B3E;border-color:#0E1B3E;color:#FFFFFF;box-shadow:0 3px 10px rgba(14,27,62,0.25);}
  [data-pestanas-ev] button:focus-visible{outline:3px solid #2E6289;outline-offset:2px;}
  @media (max-width:640px){[data-pestanas-ev] button{font-size:11px;letter-spacing:0.03em;padding:8px 6px;}}
  /* 4 · Íconos: tamaño fijo en px, caja con overflow controlado */
  [data-icono-caja]{width:80px;height:80px;flex:none;display:grid;place-items:center;overflow:hidden;}
  [data-icono-caja] > div{width:64px !important;height:64px !important;flex:none;}
  /* filas centradas: 5 por fila en escritorio, 3 en tableta, 2 en celular; la fila incompleta queda al centro */
  [data-iconos-ex]{display:flex !important;flex-wrap:wrap;justify-content:center;--por-fila:5;}
  @media (max-width:1024px){[data-iconos-ex]{--por-fila:3;}}
  @media (max-width:640px){[data-iconos-ex]{--por-fila:2;}}
  [data-iconos-ex] > div{min-width:0;flex:0 0 calc((100% - (var(--por-fila) - 1) * 16px) / var(--por-fila));}
  /* 3 · Pestañas de Beneficios (Representatividad…): en celular no caben 5; se deslizan de lado sin encimarse */
  /* en celular las 5 caben completas (3 + 2, centradas): nada queda escondido a los lados */
  [data-pestanas]{min-width:0;width:100%;}
  @media (max-width:640px){[data-pestanas]{display:flex !important;flex-wrap:wrap;justify-content:center;row-gap:6px;}[data-pestanas] > button{flex:0 0 33.333%;min-width:0;padding-top:10px !important;padding-bottom:14px !important;}[data-pestanas] > button:nth-child(3n+1){border-left-color:transparent !important;}[data-pestanas] > button p{font-size:11px !important;letter-spacing:-0.01em;}}
  /* 3 · Bloque imagen + texto: la imagen ocupa 45 % */
  [data-bloque-dividido]{grid-template-columns:45% 1fr !important;}
  @media (max-width:640px){[data-bloque-dividido]{grid-template-columns:1fr !important;}[data-bloque-dividido] > :first-child{min-height:220px !important;}}
  a{color:var(--accent);}
  a:hover{color:var(--navy);}
  @keyframes panelIn{from{opacity:0;transform:scaleY(0.85) translateY(-8px);}to{opacity:1;transform:scaleY(1) translateY(0);}}
  @keyframes fadeUp{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:translateY(0);}}
  @keyframes waPulse{0%{transform:scale(1);opacity:0.6;}100%{transform:scale(2);opacity:0;}}
  @media (max-width: 1024px){ [data-benefits-grid]{grid-template-columns:repeat(2,1fr) !important;} }
  @media (max-width: 640px){ [data-benefits-grid]{grid-template-columns:1fr !important;} }
  @keyframes testiIn{from{opacity:0;}to{opacity:1;}}
  @keyframes detFade{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:none;}}
  @keyframes loadLogoPulse{from{transform:scale(1);}to{transform:scale(1.04);}}
  @keyframes loadProgress{0%{width:0%;}72%{width:100%;}100%{width:100%;}}
  @keyframes scrollHint{0%,100%{opacity:0.85;transform:translate(-50%,0);}50%{opacity:0.35;transform:translate(-50%,8px);}}
  @keyframes waShellGlow{0%,100%{box-shadow:0 6px 18px rgba(14,27,62,0.35);}50%{box-shadow:0 8px 26px rgba(14,27,62,0.6);}}
  @keyframes waShellDesktop{0%,68%{width:var(--wa-tam);height:var(--wa-tam);border-radius:50%;background:#0E1B3E;}71%,92%{width:min(280px,calc(100vw - 32px));height:min(360px,64vh);border-radius:14px;background:#FFFFFF;}93%{width:calc(var(--wa-tam)*0.8);height:calc(var(--wa-tam)*0.8);border-radius:50%;background:#0E1B3E;}95%{width:calc(var(--wa-tam)*0.92);height:calc(var(--wa-tam)*0.92);border-radius:50%;background:#0E1B3E;}96%,100%{width:var(--wa-tam);height:var(--wa-tam);border-radius:50%;background:#0E1B3E;}}
  @keyframes waIconFadeDesktop{0%,68%{opacity:1;transform:scale(1);}70%{opacity:0;transform:scale(0.4);}92%{opacity:0;transform:scale(0.4);}93%{opacity:1;transform:scale(0.7);}95%{transform:scale(1.12);}96%,100%{opacity:1;transform:scale(1);}}
  @keyframes waCardFadeDesktop{0%,69%{opacity:0;}71%{opacity:1;}92%{opacity:1;}94%,100%{opacity:0;}}
  @keyframes waMsg1{0%,71%{opacity:0;transform:scale(0.4) translateY(12px);}73%,100%{opacity:1;transform:scale(1) translateY(0);}}
  @keyframes waMsg2{0%,75%{opacity:0;transform:scale(0.4) translateY(12px);}77%,100%{opacity:1;transform:scale(1) translateY(0);}}
  @keyframes waMsg3{0%,79%{opacity:0;transform:scale(0.4) translateY(12px);}81%,100%{opacity:1;transform:scale(1) translateY(0);}}
  @keyframes waMsg4{0%,84%{opacity:0;transform:scale(0.4) translateY(12px);}86%,100%{opacity:1;transform:scale(1) translateY(0);}}
  @keyframes spin{to{transform:rotate(360deg);}}
/* hover y focus de la plantilla */
.p0:hover{background:#000814 !important}
.p1:focus{border-color:var(--navy,#0E1B3E) !important;box-shadow:0 0 0 3px rgba(14,27,62,0.07) !important}
.p2:hover{background:#F3F7FA !important}
.p3:hover{transform:scale(1.05) !important}
.p4:hover{color:var(--accent,#2E6289) !important}
.p5:hover{box-shadow:0 18px 40px rgba(14,27,62,0.10) !important;transform:translateY(-3px) !important}
.p6:hover{color:var(--navy,#0E1B3E) !important}
.p7:hover{color:rgba(255,255,255,0.7) !important}
.p8:hover{color:var(--accent-light,#5C86A3) !important}
.p9:hover{background:var(--accent-light,#5C86A3) !important;color:#FFFFFF !important}
.pa:hover{background:#0E1B3E !important;color:#FFFFFF !important}
.pb:focus{border-color:var(--navy,#0E1B3E) !important;background:#FFFFFF !important}
.pc:hover{background:var(--navy,#141414) !important}
.pd:hover{color:#FFFFFF !important}
.pe:focus{border-color:var(--navy,#0E1B3E) !important;box-shadow:0 0 0 3px rgba(14,27,62,0.08) !important}
.pf:hover{border-color:var(--navy,#0E1B3E) !important}
