.company-page { background: #fff; }
.company-hero { position: relative; min-height: 560px; display:flex; align-items:center; overflow:hidden; color:#fff; background:#041a39; }
.company-hero-background { position:absolute; inset:0; background:url("assets/empresa-hero-v1.webp") 68% center / cover no-repeat; transform:scale(1.01); }
.company-hero::before { content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(90deg,rgba(2,15,38,.98) 0%,rgba(2,15,38,.91) 35%,rgba(3,18,45,.58) 64%,rgba(3,18,45,.18) 100%),linear-gradient(180deg,rgba(3,16,38,.08),rgba(3,16,38,.28)); }
.company-hero-inner { position:relative; z-index:2; }
.company-hero-copy { width:min(720px,64%); padding:86px 0 90px; }
.company-eyebrow { margin:0 0 18px; color:#93c1ff; font-size:13px; line-height:1.3; font-weight:800; letter-spacing:.06em; }
.company-eyebrow span { padding-inline:4px; }
.company-hero h1 { margin:0; max-width:720px; font-size:clamp(47px,4.2vw,63px); line-height:1.04; letter-spacing:-.044em; font-weight:760; }
.company-hero h1 strong { color:#4a8cff; font-weight:760; }
.company-hero-copy>p:not(.company-eyebrow) { max-width:640px; margin:23px 0 0; color:rgba(255,255,255,.93); font-size:17px; line-height:1.62; }
.company-hero-actions { display:flex; flex-wrap:wrap; gap:14px; margin-top:30px; }
.company-hero .btn-primary { color:#fff; background:var(--blue); border-color:var(--blue); }
.company-hero .btn-secondary { color:var(--ink); background:#fff; border-color:#fff; }

.company-profile { padding:84px 0; background:#fff; }
.company-profile-heading { max-width:830px; margin-bottom:38px; }
.company-profile-heading h2,.company-model-heading h2,.company-section-heading h2,.company-sectors-heading h2,.company-clients-heading h2,.company-why h2 { margin:0; color:#071a41; font-size:clamp(34px,3.1vw,48px); line-height:1.08; letter-spacing:-.042em; font-weight:770; }
.company-profile-layout { display:grid; grid-template-columns:minmax(0,.82fr) minmax(520px,1.18fr); gap:72px; align-items:start; }
.company-profile-copy { padding-top:8px; }
.company-profile-copy>p { margin:0; color:#4d5b75; font-size:17px; line-height:1.72; }
.company-profile-copy>p+p { margin-top:24px; }
.company-history-panel { padding:12px 30px; background:#f5f8fc; border:1px solid #e1e9f3; border-radius:18px; box-shadow:0 18px 42px rgba(4,23,54,.07); }
.company-history-panel article { display:grid; grid-template-columns:86px 1fr; gap:20px; align-items:start; padding:22px 0; }
.company-history-panel article+article { border-top:1px solid #dfe7f1; }
.company-history-panel article>span { display:grid; place-items:center; min-height:48px; padding:0 9px; color:var(--blue); background:#fff; border:1px solid #d9e4f1; border-radius:10px; font-size:12px; font-weight:850; letter-spacing:.025em; text-align:center; }
.company-history-panel h3 { margin:0 0 6px; color:#071a41; font-size:17px; }
.company-history-panel p { margin:0; color:#52617b; font-size:14px; line-height:1.55; }

.company-model { position:relative; overflow:hidden; padding:82px 0 86px; color:#fff; background:linear-gradient(135deg,#061a3d 0%,#082654 100%); }
.company-model::after { content:""; position:absolute; width:460px; height:460px; right:-210px; top:-260px; border:1px solid rgba(90,167,255,.18); border-radius:50%; box-shadow:0 0 0 70px rgba(90,167,255,.035),0 0 0 140px rgba(90,167,255,.022); }
.company-model-heading { position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,1fr) minmax(320px,.76fr); gap:60px; align-items:end; }
.company-model .section-kicker { color:#82b7ff; }
.company-model-heading h2 { color:#fff; }
.company-model-heading>p { margin:0; color:#c6d4e8; font-size:16px; line-height:1.62; }
.company-model-grid { position:relative; z-index:1; display:grid; grid-template-columns:repeat(3,1fr); margin-top:44px; border:1px solid rgba(255,255,255,.16); border-radius:16px; overflow:hidden; }
.company-model-grid article { min-height:245px; padding:30px 30px 34px; background:rgba(255,255,255,.025); }
.company-model-grid article+article { border-left:1px solid rgba(255,255,255,.16); }
.company-model-grid span { color:#66a9ff; font-size:13px; font-weight:800; letter-spacing:.08em; }
.company-model-grid h3 { margin:42px 0 10px; color:#fff; font-size:22px; line-height:1.2; letter-spacing:-.02em; }
.company-model-grid p { margin:0; color:#c8d5e7; font-size:14px; line-height:1.58; }

.company-capabilities { padding:84px 0 88px; background:#fff; }
.company-section-heading { display:grid; grid-template-columns:minmax(0,1fr) minmax(320px,.76fr); gap:60px; align-items:end; }
.company-section-heading--light>p { margin:0; color:#53627b; font-size:16px; line-height:1.62; }
.company-capability-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:15px; margin-top:38px; }
.company-capability-grid article { min-height:195px; padding:24px 24px 26px; border:1px solid #e0e8f2; border-radius:14px; background:#f8fafc; transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease; }
.company-capability-grid article:hover { transform:translateY(-3px); border-color:#cad8e8; box-shadow:0 15px 32px rgba(4,23,54,.08); }
.company-capability-grid span { color:var(--blue); font-size:12px; font-weight:850; letter-spacing:.08em; }
.company-capability-grid h3 { margin:28px 0 9px; color:#071a41; font-size:19px; line-height:1.25; }
.company-capability-grid p { margin:0; color:#58667e; font-size:14px; line-height:1.58; }

.company-sectors { padding:72px 0 76px; background:radial-gradient(circle at 8% 15%,rgba(8,100,255,.055),transparent 28%),#f5f8fc; border-top:1px solid #e5ebf3; border-bottom:1px solid #e5ebf3; }
.company-sectors-heading { max-width:900px; margin-bottom:34px; }
.company-sector-tags { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:10px; }
.company-sector-tags span { min-width:0; min-height:56px; display:flex; align-items:center; justify-content:center; padding:0 12px; color:#173156; text-align:center; background:#fff; border:1px solid #d8e3ef; border-radius:18px; box-shadow:0 8px 22px rgba(4,23,54,.05); font-size:14px; line-height:1.2; font-weight:780; }

.company-clients { padding:86px 0 90px; background:#fff; }
.company-clients-heading { max-width:790px; }
.company-clients-heading>p:not(.section-kicker) { margin:20px 0 0; color:#52617a; font-size:16px; line-height:1.66; }
.company-client-wall { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-top:38px; }
.client-logo-card { min-height:132px; margin:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:9px; padding:22px; background:#f8fafc; border:1px solid #e0e7f0; border-radius:13px; }
.client-logo-card img { display:block; width:auto; max-width:88%; max-height:64px; object-fit:contain; }
.client-logo-card--government img { max-height:58px; }
.client-logo-card figcaption { color:#6b7890; font-size:11px; line-height:1.25; text-align:center; }

.company-client-history { margin-top:28px; padding:26px 28px; border:1px solid #e1e8f1; border-radius:14px; background:#fbfcfe; }
.company-client-history h3 { margin:0 0 16px; color:#071a41; font-size:16px; }
.company-client-history-list { display:flex; flex-wrap:wrap; justify-content:center; gap:8px 10px; }
.company-client-history-list span { padding:8px 12px; color:#5c687c; background:#fff; border:1px solid #e2e8f0; border-radius:8px; font-size:13px; }

.company-why { padding:74px 0; color:#fff; background:linear-gradient(115deg,#061a3d 0%,#092752 100%); }
.company-why-layout { display:grid; grid-template-columns:minmax(0,.9fr) minmax(520px,1.1fr); gap:76px; align-items:center; }
.company-why .section-kicker { color:#82b7ff; }
.company-why h2 { color:#fff; }
.company-why ul { display:grid; gap:0; margin:0; padding:0; list-style:none; border-top:1px solid rgba(255,255,255,.16); }
.company-why li { position:relative; padding:18px 0 18px 34px; color:#d8e3f2; border-bottom:1px solid rgba(255,255,255,.16); font-size:15px; line-height:1.52; }
.company-why li::before { content:""; position:absolute; left:2px; top:25px; width:12px; height:12px; border:2px solid #70a9ff; border-radius:50%; }

.company-cta { padding:47px 0; background:linear-gradient(105deg,#e6f1ff 0%,#f5f9ff 55%,#eaf8f5 100%); border-top:1px solid #dbe8f7; }
.company-cta-inner { display:flex; align-items:center; justify-content:space-between; gap:48px; }
.company-cta h2 { margin:0; color:#071a41; font-size:28px; line-height:1.2; letter-spacing:-.03em; }
.company-cta p { margin:7px 0 0; color:#4c5c76; font-size:15px; }
.company-cta-actions { display:flex; gap:12px; flex:0 0 auto; }
.company-cta .btn-primary { color:#fff; background:var(--blue); border-color:var(--blue); }

@media (max-width:1080px) {
  .company-profile-layout,.company-why-layout { grid-template-columns:1fr; gap:42px; }
  .company-profile-copy { max-width:760px; }
  .company-model-grid { grid-template-columns:1fr; }
  .company-model-grid article+article { border-left:0; border-top:1px solid rgba(255,255,255,.16); }
  .company-model-grid article { min-height:auto; }
  .company-capability-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .company-client-wall { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .company-sector-tags { grid-template-columns:repeat(4,minmax(0,1fr)); }
}
@media (max-width:780px) {
  .company-hero { min-height:560px; }
  .company-hero-background { background-position:66% center; }
  .company-hero::before { background:linear-gradient(90deg,rgba(2,15,38,.96),rgba(2,15,38,.83) 62%,rgba(2,15,38,.50)); }
  .company-hero-copy { width:min(680px,88%); padding:70px 0 76px; }
  .company-profile,.company-model,.company-capabilities,.company-sectors,.company-clients,.company-why { padding-block:64px; }
  .company-model-heading,.company-section-heading { grid-template-columns:1fr; gap:22px; }
  .company-client-wall { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .company-sector-tags { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .company-cta-inner { align-items:flex-start; flex-direction:column; gap:24px; }
}
@media (max-width:560px) {
  .company-hero { min-height:640px; }
  .company-hero-background { background-position:70% center; }
  .company-hero-copy { width:100%; padding:58px 0 64px; }
  .company-hero h1 { font-size:40px; }
  .company-hero-actions { flex-direction:column; align-items:stretch; max-width:340px; }
  .company-history-panel { padding:8px 20px; }
  .company-profile-heading { margin-bottom:28px; }
  .company-history-panel article { grid-template-columns:62px 1fr; gap:14px; }
  .company-capability-grid,.company-client-wall { grid-template-columns:1fr; }
  .company-sector-tags { gap:9px; grid-template-columns:1fr; }
  .company-sector-tags span { min-height:46px; padding:0 17px; font-size:14px; }
  .company-cta-actions { width:100%; }
  .company-cta-actions .btn { width:100%; }
}


/* Empresa v1.7 — trayectoria, sectores y clientes */
.company-profile-v2 { padding:86px 0 92px; background:#fff; }
.company-profile-v2-layout {
  display:grid;
  grid-template-columns:minmax(0,.84fr) minmax(540px,1.16fr);
  gap:76px;
  align-items:start;
}
.company-profile-v2-copy { padding-top:0; }
.company-profile-v2-copy h2 {
  margin:0 0 34px;
  max-width:560px;
  color:#071a41;
  font-size:clamp(38px,3.35vw,54px);
  line-height:1.04;
  letter-spacing:-.046em;
  font-weight:780;
}
.company-profile-v2-copy>p:not(.section-kicker) {
  max-width:520px;
  margin:0;
  color:#4d5b75;
  font-size:16px;
  line-height:1.72;
}
.company-profile-v2-copy>p+p { margin-top:62px; }

.company-profile-v2-copy .company-profile-v2-secondary { margin-top:34px; }

.company-timeline {
  position:relative;
  padding:24px 34px 24px 28px;
  background:linear-gradient(180deg,#f8fbff 0%,#fff 100%);
  border:1px solid #dfe8f3;
  border-radius:18px;
  box-shadow:0 18px 44px rgba(4,23,54,.07);
}
.company-timeline::before {
  content:"";
  position:absolute;
  left:129px;
  top:42px;
  bottom:42px;
  width:1px;
  background:#cbd9ea;
}
.company-timeline article {
  display:grid;
  grid-template-columns:82px minmax(0,1fr);
  gap:38px;
  align-items:start;
  padding:18px 0 20px;
}
.company-timeline-year {
  min-height:44px;
  display:grid;
  place-items:center;
  padding:0 8px;
  color:#0a64ff;
  background:#fff;
  border:1px solid #d9e4f1;
  border-radius:10px;
  font-size:12px;
  font-weight:850;
  line-height:1.15;
  text-align:center;
}
.company-timeline article > div {
  position:relative;
  padding-left:20px;
}
.company-timeline article > div::before {
  content:"";
  position:absolute;
  left:0;
  top:3px;
  width:10px;
  height:10px;
  background:#0a64ff;
  border:3px solid #edf4ff;
  border-radius:50%;
  box-shadow:0 0 0 1px rgba(10,100,255,.18);
}
.company-timeline h3 {
  margin:0 0 8px;
  color:#071a41;
  font-size:18px;
  line-height:1.25;
}
.company-timeline p {
  margin:0;
  color:#52617b;
  font-size:14px;
  line-height:1.62;
}

.company-sectors-v2 {
  position:relative;
  min-height:440px;
  display:flex;
  align-items:center;
  overflow:hidden;
  background:url("assets/empresa-sectores-v2.webp") center 53% / cover no-repeat;
  border:0;
}
.company-sectors-v2-overlay {
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg,rgba(248,251,255,.88) 0%,rgba(248,251,255,.74) 46%,rgba(231,241,252,.78) 100%),
    linear-gradient(90deg,rgba(255,255,255,.36),rgba(255,255,255,.08));
}
.company-sectors-v2::after {
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:44%;
  opacity:.28;
  pointer-events:none;
  background-image:
    radial-gradient(circle at 8% 78%,#2a81ff 0 2px,transparent 3px),
    radial-gradient(circle at 27% 62%,#2a81ff 0 2px,transparent 3px),
    radial-gradient(circle at 49% 85%,#2a81ff 0 2px,transparent 3px),
    radial-gradient(circle at 72% 66%,#2a81ff 0 2px,transparent 3px),
    radial-gradient(circle at 92% 80%,#2a81ff 0 2px,transparent 3px);
}
.company-sectors-v2-inner { position:relative; z-index:2; padding:70px 0 62px; }
.company-sectors-v2 header { max-width:760px; margin:0 auto 40px; text-align:center; }
.company-sectors-v2 header h2 {
  margin:0;
  color:#071a41;
  font-size:clamp(34px,3.15vw,50px);
  line-height:1.06;
  letter-spacing:-.043em;
}
.company-sectors-v2 header>p:last-child {
  max-width:700px;
  margin:20px auto 0;
  color:#465772;
  font-size:16px;
  line-height:1.62;
}
.company-sector-ribbon {
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:10px;
}
.company-sector-ribbon>span {
  min-width:0;
  min-height:62px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  padding:0 12px;
  color:#173156;
  background:rgba(255,255,255,.92);
  border:1px solid rgba(205,219,236,.95);
  border-radius:12px;
  box-shadow:0 10px 26px rgba(4,23,54,.08);
}
.company-sector-ribbon svg {
  width:24px;
  height:24px;
  flex:0 0 auto;
  color:#0a64ff;
  stroke-width:1.8;
}
.company-sector-ribbon strong {
  min-width:0;
  font-size:13px;
  line-height:1.15;
  text-align:center;
}

.company-clients-heading { max-width:850px; margin-inline:auto; text-align:center; }
.company-client-strip {
  display:grid;
  grid-template-columns:repeat(8,minmax(0,1fr));
  align-items:center;
  margin-top:48px;
  padding:8px 0;
  overflow:hidden;
}
.company-client-strip figure {
  min-width:0;
  min-height:96px;
  margin:0;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:10px 18px;
}
.company-client-strip figure+figure { border-left:1px solid #dbe4ef; }
.company-client-strip img {
  display:block;
  width:auto;
  max-width:100%;
  max-height:62px;
  object-fit:contain;
}
.company-client-strip figure:nth-child(2) img { max-height:72px; }
.company-client-strip figure:nth-child(4) img,
.company-client-strip figure:nth-child(5) img,
.company-client-strip figure:nth-child(6) img { max-height:58px; }
.company-client-history { margin-top:30px; }

@media (max-width:1100px) {
  .company-profile-v2-layout { grid-template-columns:1fr; gap:40px; }
  .company-profile-v2-copy { padding-top:0; }
  .company-profile-v2-copy>p+p { margin-top:24px; }
  .company-profile-v2-copy .company-profile-v2-secondary { margin-top:24px; }
  .company-profile-v2-copy h2,.company-profile-v2-copy>p:not(.section-kicker) { max-width:760px; }
  .company-sector-ribbon { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .company-client-strip {
    grid-template-columns:repeat(8,150px);
    overflow-x:auto;
    overscroll-behavior-inline:contain;
    scrollbar-width:thin;
  }
}
@media (max-width:720px) {
  .company-profile-v2 { padding:62px 0 68px; }
  .company-profile-v2-layout { gap:30px; }
  .company-profile-v2-copy h2 { margin-bottom:24px; }
  .company-timeline { padding:16px 18px; }
  .company-timeline::before { left:86px; top:34px; bottom:34px; }
  .company-timeline article { grid-template-columns:56px 1fr; gap:24px; padding:16px 0 18px; }
  .company-timeline-year { font-size:10px; min-height:40px; }
  .company-timeline article > div { padding-left:18px; }
  .company-timeline article > div::before { top:3px; }
  .company-sectors-v2 { min-height:auto; }
  .company-sectors-v2-inner { padding:58px 0 54px; }
  .company-sector-ribbon { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .company-client-strip { grid-template-columns:repeat(8,138px); }
}
@media (max-width:440px) {
  .company-sector-ribbon { grid-template-columns:1fr; }
  .company-sector-ribbon>span { min-height:54px; }
}
