/* =========================================================
   Intsercom — capa de diseño 2026
   Hoja de estilos única del sitio (sin Bootstrap ni jQuery).
   Todas las clases nuevas usan el prefijo .ix-
   ========================================================= */

:root {
  --ix-ink: #0d1b2a;
  --ix-ink-2: #14263a;
  --ix-ink-3: #1d3550;
  --ix-text: #33414f;
  --ix-muted: #66737f;
  --ix-line: #e3e8ee;
  --ix-bg: #ffffff;
  --ix-bg-soft: #f4f6f9;
  --ix-accent: #f2611d;
  --ix-accent-dark: #d64f0f;
  --ix-radius: 10px;
  --ix-shadow: 0 1px 2px rgba(13, 27, 42, .06), 0 8px 24px rgba(13, 27, 42, .08);
  --ix-font: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  --ix-font-head: "Manrope", "Inter", system-ui, sans-serif;
  --ix-max: 1200px;
}

/* ---------- Base ---------- */
html { scroll-behavior: smooth; }
body {
  font-family: var(--ix-font);
  color: var(--ix-text);
  background: var(--ix-bg);
  -webkit-font-smoothing: antialiased;
  font-size: 16px;
  line-height: 1.65;
}
body.ix-page { margin: 0; }
.ix-page *, .ix-page *::before, .ix-page *::after { box-sizing: border-box; }
.ix-page img { max-width: 100%; height: auto; display: block; }
.ix-page a { color: inherit; text-decoration: none; }
.ix-page h1, .ix-page h2, .ix-page h3, .ix-page h4 {
  font-family: var(--ix-font-head);
  color: var(--ix-ink);
  margin: 0;
  line-height: 1.2;
  letter-spacing: -0.01em;
}
.ix-page p { margin: 0; }
.ix-wrap { width: 100%; max-width: var(--ix-max); margin: 0 auto; padding: 0 24px; }
.ix-skip { position: absolute; left: -9999px; }
.ix-skip:focus { left: 16px; top: 16px; z-index: 1000; background: #fff; padding: 8px 12px; border-radius: 6px; }

/* ---------- Botones ---------- */
.ix-btn {
  display: inline-flex; align-items: center; gap: 8px;
  font-family: var(--ix-font); font-weight: 600; font-size: 15px;
  padding: 13px 22px; border-radius: 8px; border: 1px solid transparent;
  transition: background .2s, color .2s, border-color .2s, transform .2s;
  cursor: pointer; line-height: 1.2; white-space: nowrap;
}
.ix-btn svg { width: 16px; height: 16px; flex: none; }
.ix-btn--primary { background: var(--ix-accent); color: #fff !important; }
.ix-btn--primary:hover { background: var(--ix-accent-dark); color: #fff; }
.ix-btn--ghost { border-color: rgba(255,255,255,.35); color: #fff !important; }
.ix-btn--ghost:hover { border-color: #fff; background: rgba(255,255,255,.08); }
.ix-btn--outline { border-color: var(--ix-line); color: var(--ix-ink) !important; background: #fff; }
.ix-btn--outline:hover { border-color: var(--ix-ink); }
.ix-btn--sm { padding: 9px 16px; font-size: 14px; }

/* ---------- Cabecera ---------- */
.ix-header {
  position: sticky; top: 0; z-index: 900;
  background: rgba(13, 27, 42, .97);
  backdrop-filter: saturate(140%) blur(8px);
  border-bottom: 1px solid rgba(255,255,255,.06);
  font-family: var(--ix-font);
}
.ix-topbar { background: #08131f; color: #b7c2cd; font-size: 13px; }
.ix-topbar .ix-wrap { display: flex; justify-content: space-between; align-items: center; min-height: 38px; gap: 16px; }
.ix-topbar a { color: #dfe6ec; }
.ix-topbar a:hover { color: #fff; }
.ix-topbar__group { display: flex; gap: 22px; align-items: center; flex-wrap: wrap; }
.ix-topbar__item { display: inline-flex; align-items: center; gap: 7px; }
.ix-topbar svg { width: 14px; height: 14px; opacity: .8; }

.ix-nav { display: flex; align-items: center; justify-content: space-between; height: 76px; gap: 24px; }
.ix-logo img { height: 34px; width: auto; display: block; }
.ix-menu { display: flex; align-items: center; gap: 4px; list-style: none; margin: 0; padding: 0; }
.ix-menu > li { position: relative; }
.ix-menu > li > a, .ix-menu > li > button {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 10px 14px; color: #d6dee6; font-size: 15px; font-weight: 500;
  background: none; border: 0; font-family: inherit; cursor: pointer; border-radius: 6px;
  text-decoration: none;
}
.ix-menu > li > a:hover, .ix-menu > li > button:hover,
.ix-menu > li.is-current > a, .ix-menu > li.is-current > button { color: #fff; }
.ix-menu > li.is-current > a::after, .ix-menu > li.is-current > button::after {
  content: ""; position: absolute; left: 14px; right: 14px; bottom: 2px; height: 2px; background: var(--ix-accent); border-radius: 2px;
}
.ix-menu svg { width: 12px; height: 12px; transition: transform .2s; }
.ix-sub {
  position: absolute; top: calc(100% + 8px); left: 0; min-width: 240px;
  background: #fff; border-radius: 10px; box-shadow: 0 16px 40px rgba(13,27,42,.18);
  list-style: none; margin: 0; padding: 8px;
  opacity: 0; visibility: hidden; transform: translateY(6px); transition: .18s ease;
}
.ix-sub::before { content: ""; position: absolute; top: -10px; left: 0; right: 0; height: 10px; }
.ix-menu > li:hover .ix-sub, .ix-menu > li:focus-within .ix-sub, .ix-menu > li.is-open .ix-sub { opacity: 1; visibility: visible; transform: none; }
.ix-sub a { display: block; padding: 9px 12px; border-radius: 6px; color: var(--ix-ink); font-size: 14.5px; text-decoration: none; }
.ix-sub a:hover { background: var(--ix-bg-soft); color: var(--ix-accent-dark); }
.ix-nav__cta { display: flex; gap: 10px; align-items: center; }
.ix-burger { display: none; background: none; border: 0; color: #fff; padding: 8px; cursor: pointer; }
.ix-burger svg { width: 26px; height: 26px; }

/* ---------- Hero portada ---------- */
.ix-hero {
  position: relative; color: #fff; overflow: hidden;
  background: var(--ix-ink) url("../img/slider/4a.jpg") center/cover no-repeat;
}
.ix-hero::before {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(100deg, rgba(10,22,35,.97) 0%, rgba(10,22,35,.88) 42%, rgba(10,22,35,.45) 100%);
}
.ix-hero .ix-wrap { position: relative; padding-top: 110px; padding-bottom: 110px; }
.ix-hero__eyebrow {
  display: inline-flex; align-items: center; gap: 10px; font-size: 13px; font-weight: 600;
  letter-spacing: .08em; text-transform: uppercase; color: #ffb48f; margin-bottom: 22px;
}
.ix-hero__eyebrow::before { content: ""; width: 28px; height: 2px; background: var(--ix-accent); }
.ix-hero h1 { color: #fff; font-size: clamp(34px, 5vw, 56px); font-weight: 800; max-width: 760px; letter-spacing: -0.02em; }
.ix-hero h1 em { font-style: normal; color: var(--ix-accent); }
.ix-hero__lead { font-size: 19px; color: #c9d3dc; max-width: 600px; margin-top: 28px; }
.ix-hero__actions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 36px; }
.ix-hero__facts {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0;
  margin-top: 72px; max-width: 760px; border-top: 1px solid rgba(255,255,255,.14);
}
.ix-hero__fact { padding: 22px 24px 0 0; }
.ix-hero__fact + .ix-hero__fact { padding-left: 24px; border-left: 1px solid rgba(255,255,255,.14); }
.ix-hero__fact strong { display: block; font-family: var(--ix-font-head); font-size: 17px; color: #fff; }
.ix-hero__fact span { font-size: 14px; color: #a9b6c2; }

/* ---------- Secciones ---------- */
.ix-section { padding: 96px 0; }
.ix-section--soft { background: var(--ix-bg-soft); }
.ix-section--dark { background: var(--ix-ink); color: #c4ced8; }
.ix-section--dark h2, .ix-section--dark h3 { color: #fff; }
.ix-head { max-width: 720px; margin-bottom: 52px; }
.ix-head--center { margin-left: auto; margin-right: auto; text-align: center; }
.ix-kicker { font-size: 13px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--ix-accent); margin-bottom: 12px; display: block; }
.ix-head h2 { font-size: clamp(28px, 3.4vw, 40px); font-weight: 800; }
.ix-head p { margin-top: 16px; font-size: 17.5px; color: var(--ix-muted); }
.ix-section--dark .ix-head p { color: #a9b6c2; }

/* Franja de clientes */
.ix-logos { padding: 44px 0; border-bottom: 1px solid var(--ix-line); background: #fff; }
.ix-logos__label { text-align: center; font-size: 13px; color: var(--ix-muted); letter-spacing: .06em; text-transform: uppercase; font-weight: 600; margin-bottom: 26px; }
.ix-logos__track { overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.ix-logos__row { display: flex; gap: 56px; width: max-content; animation: ix-marquee 50s linear infinite; }
.ix-logos__row img { height: 64px; width: auto; filter: grayscale(1); opacity: .7; transition: .2s; }
.ix-logos__row img:hover { filter: none; opacity: 1; }
.ix-logos__track:hover .ix-logos__row { animation-play-state: paused; }
@keyframes ix-marquee { to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .ix-logos__row { animation: none; flex-wrap: wrap; width: auto; justify-content: center; } }

/* Áreas */
.ix-areas { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
.ix-area {
  background: #fff; border: 1px solid var(--ix-line); border-radius: var(--ix-radius);
  overflow: hidden; display: flex; flex-direction: column; transition: box-shadow .2s, transform .2s;
}
.ix-area:hover { box-shadow: var(--ix-shadow); transform: translateY(-3px); }
.ix-area__img { aspect-ratio: 16/10; overflow: hidden; background: var(--ix-ink); }
.ix-area__img img { width: 100%; height: 100%; object-fit: cover; }
.ix-area__body { padding: 24px; display: flex; flex-direction: column; flex: 1; }
.ix-area h3 { font-size: 19px; font-weight: 700; }
.ix-area p { font-size: 15px; color: var(--ix-muted); margin-top: 10px; flex: 1; }
.ix-link { display: inline-flex; align-items: center; gap: 6px; font-weight: 600; font-size: 14.5px; color: var(--ix-accent-dark) !important; margin-top: 18px; }
.ix-link svg { width: 15px; height: 15px; transition: transform .2s; }
.ix-area:hover .ix-link svg, .ix-link:hover svg { transform: translateX(3px); }

/* Servicios */
.ix-services { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; background: var(--ix-line); border: 1px solid var(--ix-line); border-radius: var(--ix-radius); overflow: hidden; }
.ix-service { background: #fff; padding: 32px; display: flex; gap: 18px; align-items: flex-start; transition: background .2s; }
.ix-service:hover { background: #fffaf7; }
.ix-service__icon { width: 46px; height: 46px; border-radius: 10px; background: #fff1ea; color: var(--ix-accent-dark); display: grid; place-items: center; flex: none; }
.ix-service__icon svg { width: 24px; height: 24px; }
.ix-service h3 { font-size: 17px; font-weight: 700; }
.ix-service p { font-size: 15px; color: var(--ix-muted); margin-top: 6px; }

/* Por qué elegirnos */
.ix-why { display: grid; grid-template-columns: 1.05fr 1fr; gap: 72px; align-items: center; }
.ix-why__list { display: grid; gap: 28px; }
.ix-why__item { display: flex; gap: 18px; }
.ix-why__num { font-family: var(--ix-font-head); font-weight: 800; color: var(--ix-accent); font-size: 15px; width: 36px; height: 36px; border: 1px solid rgba(242,97,29,.45); border-radius: 50%; display: grid; place-items: center; flex: none; }
.ix-why__item h3 { font-size: 19px; }
.ix-why__item p { margin-top: 6px; font-size: 15.5px; color: #a9b6c2; }
.ix-why__media { position: relative; border-radius: 14px; overflow: hidden; aspect-ratio: 4/4.2; }
.ix-why__media img { width: 100%; height: 100%; object-fit: cover; }
.ix-why__badge { position: absolute; left: 20px; bottom: 20px; right: 20px; background: rgba(13,27,42,.88); backdrop-filter: blur(6px); border-radius: 10px; padding: 18px 20px; color: #fff; font-size: 15px; border: 1px solid rgba(255,255,255,.1); }
.ix-why__badge strong { display: block; font-family: var(--ix-font-head); font-size: 17px; margin-bottom: 2px; }

/* Proyectos */
.ix-projects { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
.ix-project { display: block; border-radius: var(--ix-radius); overflow: hidden; background: #fff; border: 1px solid var(--ix-line); transition: box-shadow .2s, transform .2s; }
.ix-project:hover { box-shadow: var(--ix-shadow); transform: translateY(-3px); }
.ix-project__img { aspect-ratio: 482/390; overflow: hidden; }
.ix-project__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.ix-project:hover .ix-project__img img { transform: scale(1.04); }
.ix-project__body { padding: 18px 20px 20px; }
.ix-tag { display: inline-block; font-size: 12px; font-weight: 600; color: var(--ix-accent-dark); background: #fff1ea; padding: 3px 9px; border-radius: 20px; }
.ix-project h3 { font-size: 16px; font-weight: 700; margin-top: 10px; }

/* Partners */
.ix-partners { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 16px; }
.ix-partner { background: #fff; border: 1px solid var(--ix-line); border-radius: var(--ix-radius); height: 96px; display: grid; place-items: center; padding: 18px; }
.ix-partner img { max-height: 46px; width: auto; filter: grayscale(1); opacity: .8; transition: .2s; }
.ix-partner:hover img { filter: none; opacity: 1; }

/* Llamado a la acción */
.ix-cta { background: var(--ix-accent); color: #fff; border-radius: 16px; padding: 56px; display: flex; justify-content: space-between; align-items: center; gap: 32px; position: relative; overflow: hidden; }
.ix-cta::after { content: ""; position: absolute; right: -80px; top: -80px; width: 280px; height: 280px; border-radius: 50%; border: 50px solid rgba(255,255,255,.08); }
.ix-cta h2 { color: #fff; font-size: clamp(26px, 3vw, 34px); font-weight: 800; }
.ix-cta p { color: #ffe3d6; margin-top: 10px; font-size: 17px; max-width: 560px; }
.ix-cta__actions { display: flex; gap: 12px; flex-wrap: wrap; position: relative; z-index: 1; }
.ix-cta .ix-btn--light { background: #fff; color: var(--ix-ink) !important; }
.ix-cta .ix-btn--light:hover { background: var(--ix-ink); color: #fff !important; }

/* ---------- Pie de página ---------- */
.ix-footer { background: #08131f; color: #9fadba; font-family: var(--ix-font); font-size: 15px; padding-top: 72px; }
.ix-footer a { color: #c9d3dc; text-decoration: none; }
.ix-footer a:hover { color: #fff; }
.ix-footer__grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1.2fr; gap: 48px; padding-bottom: 56px; }
.ix-footer__brand img { height: 32px; width: auto; margin-bottom: 18px; }
.ix-footer__brand p { max-width: 300px; line-height: 1.6; }
.ix-footer h4 { color: #fff; font-family: var(--ix-font-head); font-size: 15px; font-weight: 700; margin: 0 0 18px; letter-spacing: 0; }
.ix-footer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.ix-footer__contact li { display: flex; gap: 10px; align-items: flex-start; line-height: 1.5; }
.ix-footer__contact svg { width: 16px; height: 16px; margin-top: 3px; flex: none; color: var(--ix-accent); }
.ix-footer__verify { margin-top: 22px; }
.ix-footer__bottom { border-top: 1px solid rgba(255,255,255,.08); padding: 22px 0; font-size: 13.5px; }
.ix-footer__bottom .ix-wrap { display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; }

/* Botón flotante de contacto */
.ix-float { position: fixed; right: 20px; bottom: 20px; z-index: 950; width: 54px; height: 54px; border-radius: 50%; background: var(--ix-accent); color: #fff; display: grid; place-items: center; box-shadow: 0 8px 24px rgba(242,97,29,.4); }
.ix-float svg { width: 24px; height: 24px; }

/* ---------- Responsivo ---------- */
@media (max-width: 1080px) {
  .ix-menu, .ix-nav__cta .ix-btn--ghost { display: none; }
  .ix-burger { display: inline-flex; }
  .ix-nav.is-open + .ix-mobile { display: block; }
  .ix-areas, .ix-projects { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ix-services { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ix-partners { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .ix-why { grid-template-columns: 1fr; gap: 48px; }
  .ix-why__media { aspect-ratio: 16/9; }
  .ix-footer__grid { grid-template-columns: 1fr 1fr; }
}
.ix-mobile { display: none; background: var(--ix-ink); border-top: 1px solid rgba(255,255,255,.08); max-height: calc(100vh - 76px); overflow-y: auto; }
.ix-mobile ul { list-style: none; margin: 0; padding: 12px 24px 24px; }
.ix-mobile li a { display: block; padding: 11px 0; color: #e3e9ef; font-size: 16px; border-bottom: 1px solid rgba(255,255,255,.06); text-decoration: none; }
.ix-mobile .ix-mobile__group { color: #7f8e9c; font-size: 12px; text-transform: uppercase; letter-spacing: .1em; font-weight: 700; padding: 18px 0 4px; }
.ix-mobile .ix-mobile__sub a { padding-left: 14px; font-size: 15px; color: #c3cdd6; }
.ix-mobile .ix-btn { margin-top: 18px; width: 100%; justify-content: center; }

@media (max-width: 720px) {
  .ix-wrap { padding: 0 16px; }
  .ix-topbar { display: none; }
  .ix-nav { height: 64px; }
  .ix-logo img { height: 28px; }
  .ix-nav__cta .ix-btn--primary { display: none; }
  .ix-hero .ix-wrap { padding-top: 64px; padding-bottom: 64px; }
  .ix-hero__lead { font-size: 17px; }
  .ix-hero__facts { grid-template-columns: 1fr; margin-top: 44px; }
  .ix-hero__fact, .ix-hero__fact + .ix-hero__fact { padding: 14px 0; border-left: 0; border-bottom: 1px solid rgba(255,255,255,.1); }
  .ix-section { padding: 64px 0; }
  .ix-head { margin-bottom: 36px; }
  .ix-areas, .ix-projects, .ix-services { grid-template-columns: 1fr; }
  .ix-service { padding: 24px; }
  .ix-partners { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ix-cta { padding: 36px 24px; flex-direction: column; align-items: flex-start; }
  .ix-footer__grid { grid-template-columns: 1fr; gap: 36px; }
  .ix-logos__row img { height: 52px; }
}

/* Partners: los logos originales son blancos, van sobre fondo oscuro */
.ix-section--partners { background: var(--ix-ink); }
.ix-section--partners .ix-head h2 { color: #fff; }
.ix-section--partners .ix-partner { background: var(--ix-ink-2); border-color: rgba(255,255,255,.08); }
.ix-section--partners .ix-partner img { filter: none; opacity: .85; }
.ix-section--partners .ix-partner:hover img { opacity: 1; }
.ix-cta-wrap { padding: 96px 0; background: #fff; }
@media (max-width: 720px) { .ix-cta-wrap { padding: 64px 0; } }

/* =========================================================
   Páginas interiores
   ========================================================= */

/* Cabecera de página */
.ix-pagehero { position: relative; background: var(--ix-ink); color: #fff; overflow: hidden; }
.ix-pagehero__bg { position: absolute; inset: 0; background-size: cover; background-position: center; opacity: .35; }
.ix-pagehero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(100deg, rgba(10,22,35,.97) 0%, rgba(10,22,35,.85) 50%, rgba(10,22,35,.55) 100%); }
.ix-pagehero .ix-wrap { position: relative; z-index: 1; padding-top: 64px; padding-bottom: 72px; }
.ix-crumbs { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 0 0 28px; padding: 0; font-size: 13.5px; color: #8fa0b0; }
.ix-crumbs a { color: #b9c6d2; }
.ix-crumbs a:hover { color: #fff; }
.ix-crumbs li + li::before { content: "/"; margin-right: 8px; color: #56677a; }
.ix-pagehero h1 { color: #fff; font-size: clamp(32px, 4.4vw, 50px); font-weight: 800; max-width: 820px; letter-spacing: -0.02em; }
.ix-page .ix-pagehero__lead { font-size: 18.5px; color: #c4cfd9; max-width: 680px; margin-top: 20px; }
.ix-pagehero .ix-hero__eyebrow { margin-bottom: 16px; }
.ix-pagehero .ix-hero__actions { margin-top: 30px; }

/* Navegación entre páginas hermanas */
.ix-subnav { background: #fff; border-bottom: 1px solid var(--ix-line); position: sticky; top: 114px; z-index: 50; }
.ix-subnav ul { display: flex; gap: 6px; list-style: none; margin: 0; padding: 12px 0; overflow-x: auto; scrollbar-width: none; }
.ix-subnav ul::-webkit-scrollbar { display: none; }
.ix-subnav a { display: block; white-space: nowrap; padding: 7px 14px; border-radius: 999px; font-size: 14px; font-weight: 500; color: var(--ix-muted); border: 1px solid transparent; }
.ix-subnav a:hover { color: var(--ix-ink); background: var(--ix-bg-soft); }
.ix-subnav a[aria-current="page"] { color: var(--ix-accent-dark); background: #fff1ea; border-color: #ffd9c7; }

/* Bloque texto + imagen */
.ix-split { display: grid; grid-template-columns: 1.1fr 1fr; gap: 64px; align-items: center; }
.ix-split--top { align-items: start; }
.ix-split__media { border-radius: 14px; overflow: hidden; background: var(--ix-bg-soft); box-shadow: var(--ix-shadow); }
.ix-split__media img { width: 100%; height: 100%; object-fit: cover; aspect-ratio: 4/3.3; }
.ix-split__media--contain { box-shadow: none; border: 1px solid var(--ix-line); background: #fff; display: grid; place-items: center; padding: 24px; }
.ix-split__media--contain img { object-fit: contain; aspect-ratio: auto; max-height: 380px; }

/* Texto corrido */
.ix-page .ix-prose > * + * { margin-top: 18px; }
.ix-page .ix-prose > .ix-kicker + h2 { margin-top: 0; }
.ix-page .ix-prose > h3.ix-mt { margin-top: 36px; }
.ix-prose h2 { font-size: clamp(26px, 3vw, 34px); font-weight: 800; }
.ix-prose h3 { font-size: 21px; font-weight: 700; }
.ix-prose p { font-size: 17px; color: var(--ix-text); }
.ix-prose p.ix-lead { font-size: 19px; color: var(--ix-ink); }
.ix-prose a:not(.ix-btn) { color: var(--ix-accent-dark); font-weight: 600; }
.ix-prose a:not(.ix-btn):hover { text-decoration: underline; }

/* Lista con check */
.ix-checks { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.ix-checks--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 28px; }
.ix-checks li { position: relative; padding-left: 32px; font-size: 16px; color: var(--ix-text); line-height: 1.5; }
.ix-checks li::before {
  content: ""; position: absolute; left: 0; top: 1px; width: 21px; height: 21px; border-radius: 50%;
  background: #fff1ea url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23d64f0f' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/12px no-repeat;
}
.ix-section--dark .ix-checks li { color: #c4ced8; }
.ix-section--dark .ix-checks li::before { background-color: rgba(242,97,29,.15); }

/* Tarjetas de características */
.ix-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.ix-cards--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ix-cards--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.ix-card { background: #fff; border: 1px solid var(--ix-line); border-radius: var(--ix-radius); padding: 28px; display: flex; flex-direction: column; gap: 10px; transition: box-shadow .2s, transform .2s, border-color .2s; }
a.ix-card:hover { box-shadow: var(--ix-shadow); transform: translateY(-3px); }
.ix-card h3 { font-size: 18px; font-weight: 700; }
.ix-card p { font-size: 15.5px; color: var(--ix-muted); }
.ix-page .ix-card .ix-checks { margin-top: 6px; }
.ix-card .ix-checks li { font-size: 15px; }
.ix-card .ix-link { margin-top: auto; padding-top: 8px; }
.ix-card__icon { width: 46px; height: 46px; border-radius: 10px; background: #fff1ea; color: var(--ix-accent-dark); display: grid; place-items: center; margin-bottom: 6px; }
.ix-card__icon svg { width: 24px; height: 24px; }
.ix-card__logo { height: 56px; display: flex; align-items: center; margin-bottom: 6px; }
.ix-card__logo img { max-height: 48px; max-width: 170px; width: auto; object-fit: contain; }
.ix-section--soft .ix-card { border-color: #e6ebf0; }

/* Producto destacado (logo + texto) */
.ix-feature { display: grid; grid-template-columns: 220px 1fr; gap: 40px; padding: 40px; background: #fff; border: 1px solid var(--ix-line); border-radius: 14px; }
.ix-feature + .ix-feature { margin-top: 24px; }
.ix-feature__logo { display: grid; place-items: center; background: var(--ix-bg-soft); border-radius: 10px; padding: 24px; min-height: 140px; }
.ix-feature__logo img { max-height: 70px; width: auto; object-fit: contain; }
.ix-feature__logo strong { font-family: var(--ix-font-head); font-size: 26px; color: var(--ix-ink); }
.ix-feature h3 { font-size: 22px; font-weight: 800; }
.ix-page .ix-feature p { margin-top: 10px; color: var(--ix-text); }
.ix-page .ix-feature .ix-checks { margin-top: 18px; }
.ix-feature .ix-btn { margin-top: 22px; }

/* Ficha de proyecto */
.ix-project-layout { display: grid; grid-template-columns: 1fr 340px; gap: 56px; align-items: start; }
.ix-project-cover { border-radius: 14px; overflow: hidden; margin-bottom: 40px; background: var(--ix-ink); }
.ix-project-cover img { width: 100%; aspect-ratio: 819/373; object-fit: cover; }
.ix-aside { position: sticky; top: 140px; display: grid; gap: 20px; }
.ix-aside__box { background: var(--ix-bg-soft); border-radius: 12px; padding: 26px; }
.ix-aside__box h3 { font-size: 15px; text-transform: uppercase; letter-spacing: .08em; color: var(--ix-muted); font-weight: 700; margin-bottom: 14px; font-family: var(--ix-font); }
.ix-facts { margin: 0; display: grid; gap: 14px; }
.ix-facts dt { font-size: 13px; color: var(--ix-muted); }
.ix-facts dd { margin: 2px 0 0; font-weight: 600; color: var(--ix-ink); font-size: 15.5px; }
.ix-aside__brand { background: #fff; border: 1px solid var(--ix-line); border-radius: 12px; padding: 22px; }
.ix-aside__brand img { width: 100%; max-height: 130px; object-fit: contain; margin: 0 auto; }
.ix-aside__brand .ix-checks { margin-top: 14px; }
.ix-aside__brand .ix-checks li { font-size: 14.5px; }
.ix-page .ix-aside__brand p { font-size: 14.5px; color: var(--ix-muted); margin-top: 14px; }
.ix-aside__cta { background: var(--ix-ink); color: #c4ced8; border-radius: 12px; padding: 26px; }
.ix-aside__cta h3 { color: #fff; font-size: 19px; }
.ix-page .ix-aside__cta p { font-size: 15px; margin: 8px 0 18px; }

/* Cifras */
.ix-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; border: 1px solid var(--ix-line); border-radius: 14px; background: #fff; }
.ix-stat { padding: 32px 28px; }
.ix-stat + .ix-stat { border-left: 1px solid var(--ix-line); }
.ix-stat strong { display: block; font-family: var(--ix-font-head); font-size: 38px; font-weight: 800; color: var(--ix-ink); line-height: 1; letter-spacing: -0.02em; }
.ix-stat strong em { font-style: normal; color: var(--ix-accent); }
.ix-stat span { display: block; margin-top: 10px; color: var(--ix-muted); font-size: 15px; }

/* Filtro de proyectos */
.ix-filter { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 36px; }
.ix-filter button { font-family: inherit; font-size: 14.5px; font-weight: 500; padding: 9px 16px; border-radius: 999px; border: 1px solid var(--ix-line); background: #fff; color: var(--ix-text); cursor: pointer; }
.ix-filter button:hover { border-color: var(--ix-ink); }
.ix-filter button[aria-pressed="true"] { background: var(--ix-ink); color: #fff; border-color: var(--ix-ink); }
.ix-project[hidden] { display: none; }

/* Formularios */
.ix-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.ix-field { display: flex; flex-direction: column; gap: 7px; }
.ix-field--full { grid-column: 1 / -1; }
.ix-field label { font-size: 14px; font-weight: 600; color: var(--ix-ink); }
.ix-field label small { font-weight: 400; color: var(--ix-muted); }
.ix-field input, .ix-field select, .ix-field textarea {
  font: inherit; font-size: 15.5px; color: var(--ix-ink); background: #fff;
  border: 1px solid #d5dce3; border-radius: 8px; padding: 12px 14px; width: 100%;
  transition: border-color .15s, box-shadow .15s;
}
.ix-field textarea { min-height: 150px; resize: vertical; }
.ix-field input:focus, .ix-field select:focus, .ix-field textarea:focus { outline: none; border-color: var(--ix-accent); box-shadow: 0 0 0 3px rgba(242,97,29,.15); }
.ix-field input[type=file] { padding: 10px; background: var(--ix-bg-soft); }
.ix-form__foot { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 18px; margin-top: 4px; }
.ix-form__note { font-size: 13.5px; color: var(--ix-muted); }
.ix-alert { grid-column: 1 / -1; padding: 14px 16px; border-radius: 8px; font-size: 15px; display: none; }
.ix-alert.is-ok { display: block; background: #e9f7ef; color: #17643a; border: 1px solid #bfe5cd; }
.ix-alert.is-err { display: block; background: #fdeeee; color: #9b2222; border: 1px solid #f3c6c6; }
.ix-panel { background: #fff; border: 1px solid var(--ix-line); border-radius: 14px; padding: 40px; box-shadow: var(--ix-shadow); }

/* Contacto */
.ix-contact { display: grid; grid-template-columns: 1.45fr 1fr; gap: 40px; align-items: start; }
.ix-contact__info { display: grid; gap: 16px; }
.ix-info { display: flex; gap: 16px; padding: 22px; border-radius: 12px; background: var(--ix-bg-soft); }
.ix-info__icon { width: 42px; height: 42px; flex: none; border-radius: 10px; background: #fff; color: var(--ix-accent-dark); display: grid; place-items: center; }
.ix-info__icon svg { width: 20px; height: 20px; }
.ix-info h3 { font-size: 16px; }
.ix-info p, .ix-info a { font-size: 15px; color: var(--ix-text); }
.ix-info a:hover { color: var(--ix-accent-dark); }
.ix-map { border-radius: 12px; overflow: hidden; border: 1px solid var(--ix-line); aspect-ratio: 4/3; }
.ix-map iframe { width: 100%; height: 100%; border: 0; display: block; }

/* Portal clientes */
.ix-portal { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.ix-portal a { display: flex; gap: 18px; align-items: flex-start; padding: 26px; border: 1px solid var(--ix-line); border-radius: 12px; background: #fff; transition: .2s; }
.ix-portal a:hover { box-shadow: var(--ix-shadow); border-color: #ffd9c7; transform: translateY(-2px); }
.ix-portal h3 { font-size: 17px; display: flex; align-items: center; gap: 6px; }
.ix-portal h3 svg { width: 14px; height: 14px; color: var(--ix-muted); }
.ix-page .ix-portal p { font-size: 14.5px; color: var(--ix-muted); margin-top: 4px; }
.ix-portal .ix-card__icon { margin: 0; flex: none; }

/* Misión y visión */
.ix-mv { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.ix-mv__item { padding: 40px; border-radius: 14px; background: var(--ix-ink-2); border: 1px solid rgba(255,255,255,.08); }
.ix-mv__item span { font-size: 13px; letter-spacing: .1em; text-transform: uppercase; color: var(--ix-accent); font-weight: 700; }
.ix-page .ix-mv__item p { margin-top: 12px; font-family: var(--ix-font-head); font-size: 23px; line-height: 1.35; color: #fff; font-weight: 700; }

/* Página 404 */
.ix-404 { text-align: center; padding: 120px 0; }
.ix-404 strong { display: block; font-family: var(--ix-font-head); font-size: 110px; line-height: 1; color: var(--ix-accent); font-weight: 800; }
.ix-404 h1 { font-size: 32px; margin-top: 12px; }
.ix-page .ix-404 p { color: var(--ix-muted); margin: 12px auto 28px; max-width: 460px; }
.ix-404 .ix-hero__actions { justify-content: center; }

.ix-center { text-align: center; }
.ix-mt-lg { margin-top: 56px; }
.ix-mt { margin-top: 28px; }

@media (max-width: 1080px) {
  .ix-split, .ix-contact, .ix-project-layout { grid-template-columns: 1fr; gap: 40px; }
  .ix-split__media { order: -1; }
  .ix-aside { position: static; }
  .ix-cards, .ix-cards--4, .ix-portal { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ix-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ix-stat:nth-child(3) { border-left: 0; }
  .ix-stat:nth-child(n+3) { border-top: 1px solid var(--ix-line); }
  .ix-subnav { top: 76px; }
}
@media (max-width: 720px) {
  .ix-pagehero .ix-wrap { padding-top: 40px; padding-bottom: 52px; }
  .ix-pagehero__lead { font-size: 17px; }
  .ix-subnav { top: 64px; }
  .ix-cards, .ix-cards--2, .ix-cards--4, .ix-portal, .ix-mv, .ix-form, .ix-checks--2 { grid-template-columns: 1fr; }
  .ix-feature { grid-template-columns: 1fr; padding: 26px; gap: 22px; }
  .ix-feature__logo { min-height: 110px; }
  .ix-panel { padding: 24px; }
  .ix-mv__item { padding: 28px; }
  .ix-mv__item p { font-size: 20px; }
  .ix-stat { padding: 24px 20px; }
  .ix-stat strong { font-size: 30px; }
}
.ix-section--soft .ix-info { background: #fff; border: 1px solid var(--ix-line); }
