/* =========================================================
   Informe ENTER x Juztina — Adaptativa BI
   Sistema visual: dominante Juztina, acentos Enter, marca Adaptativa BI
   ========================================================= */

@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@600;700;800&family=Work+Sans:ital,wght@0,300;0,400;0,500;0,600;1,300&display=swap');

:root{
  /* --- Juztina (cliente / dominante) --- */
  --jz-primary: #4f84d3;
  --jz-primary-hover: #6799e4;
  --jz-primary-soft: #b9d0f2;
  --jz-dark: #090f19;
  --jz-dark-900: #101622;
  --jz-dark-800: #0f1b2d;
  --jz-bg: #ffffff;
  --jz-bg-alt: #f5f8fc;
  --jz-text: #111827;
  --jz-text-muted: #4b5566;

  /* --- Enter (empresa investigada / acento contrastante) --- */
  --en-black: #000000;
  --en-orange: #ffae35;
  --en-surface: #121619;
  --en-gray: #f3f3f3;
  --en-blue-link: #1e7bfa;
  --en-green: #18ad3a;

  /* --- Adaptativa BI (firma / créditos) --- */
  --ad-oil-blue: #012a39;
  --ad-black: #0d0d0d;
  --ad-lime: #a8ff35;
  --ad-cyan: #00e1ff;
  --ad-electric: #0066ff;
  --ad-pink: #ff5482;
  --ad-yellow: #ffc938;
  --ad-orange: #ff8a00;
  --ad-gradient: linear-gradient(90deg, #a8ff35 0%, #00e1ff 50%, #0066ff 100%);

  /* --- Evidencia (H/I/X/V) --- */
  --ev-h: #18ad3a;
  --ev-i: #ffc938;
  --ev-x: #ff8a00;
  --ev-v: #94a3b8;

  --radius-sm: 8px;
  --radius-md: 14px;
  --radius-lg: 24px;
  --shadow-card: 0 10px 30px -12px rgba(9,15,25,0.18);
  --font-head: 'Poppins', system-ui, sans-serif;
  --font-body: 'Work Sans', system-ui, sans-serif;
  --content-w: 1180px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:var(--font-body);
  font-weight:300;
  color:var(--jz-text);
  background:var(--jz-bg);
  line-height:1.65;
  font-size:16px;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{font-family:var(--font-head); font-weight:700; color:var(--jz-dark); margin:0 0 .5em; line-height:1.15;}
h1{font-size:clamp(2.1rem,4vw,3rem);}
h2{font-size:clamp(1.5rem,2.6vw,2rem);}
h3{font-size:1.15rem;}
p{margin:0 0 1.1em;}
a{color:var(--jz-primary); text-decoration:none;}
a:hover{color:var(--jz-primary-hover); text-decoration:underline;}
strong{font-weight:600;}
.container{max-width:var(--content-w); margin:0 auto; padding:0 24px;}
.section{padding:76px 0;}
.section-alt{background:var(--jz-bg-alt);}
.section-dark{background:var(--jz-dark); color:#fff;}
.section-dark h2, .section-dark h3, .section-dark h4{color:#fff;}
.eyebrow{
  display:inline-flex; align-items:center; gap:8px;
  font-family:var(--font-head); font-weight:700; font-size:.72rem;
  letter-spacing:.14em; text-transform:uppercase; color:var(--jz-primary);
  margin-bottom:14px;
}
.eyebrow::before{content:""; width:22px; height:3px; border-radius:2px; background:var(--ad-gradient); display:inline-block;}
.lede{font-size:1.15rem; color:var(--jz-text-muted); max-width:820px;}

/* ---------- Nav ---------- */
.topbar{
  position:sticky; top:0; z-index:100;
  background:rgba(9,15,25,0.94); backdrop-filter:blur(8px);
  border-bottom:1px solid rgba(255,255,255,0.08);
}
.topbar-inner{
  max-width:var(--content-w); margin:0 auto; padding:0 24px;
  display:flex; align-items:center; justify-content:space-between; gap:20px; height:64px;
}
.brand-mark{display:flex; align-items:center; gap:10px; color:#fff; font-family:var(--font-head); font-weight:700; font-size:.95rem; white-space:nowrap; flex:none;}
.brand-mark .dot{width:12px; height:12px; border-radius:50%; background:var(--ad-gradient);}
.brand-logo{height:34px; width:auto; border-radius:var(--radius-sm); display:block; flex:none;}
.nav-links{display:flex; gap:15px; align-items:center;}
.nav-links a{color:#cdd6e4; font-size:.86rem; font-weight:500; font-family:var(--font-head);}
.nav-links a:hover, .nav-links a.active{color:#fff; text-decoration:none;}
.nav-links a.cta{
  background:var(--jz-primary); color:#fff; padding:8px 16px; border-radius:999px;
}
.nav-links a.cta:hover{background:var(--jz-primary-hover);}
.nav-toggle{display:none; background:none; border:0; color:#fff; font-size:1.5rem; cursor:pointer;}

/* ---------- Hero ---------- */
.hero{
  background:radial-gradient(1200px 500px at 20% -10%, rgba(79,132,211,.35), transparent 60%),
             radial-gradient(900px 500px at 90% 10%, rgba(0,225,255,.12), transparent 55%),
             var(--jz-dark);
  color:#fff; padding:100px 0 90px; position:relative; overflow:hidden;
}
.hero::after{
  content:""; position:absolute; inset:auto 0 0 0; height:4px; background:var(--ad-gradient);
}
.hero-subject{
  display:inline-flex; align-items:center; gap:10px;
  background:#fff; border-radius:var(--radius-sm); padding:7px 16px 7px 12px;
  margin-bottom:16px; box-shadow:var(--shadow-card); border-bottom:3px solid var(--en-orange);
}
.hero-subject img{height:16px; width:auto; display:block;}
.hero-subject span{
  font-family:var(--font-head); font-weight:600; font-size:.7rem;
  text-transform:uppercase; letter-spacing:.08em; color:var(--jz-text-muted);
}
.hero .kicker{
  display:inline-block; font-family:var(--font-head); font-weight:600; font-size:.78rem;
  letter-spacing:.12em; text-transform:uppercase; color:var(--jz-primary-soft);
  border:1px solid rgba(185,208,242,.35); padding:6px 14px; border-radius:999px; margin-bottom:22px;
}
.hero h1{color:#fff; max-width:820px;}
.hero .lede{color:#c8d3e6;}
.hero-meta{
  display:flex; flex-wrap:wrap; gap:14px; margin-top:34px;
}
.hero-meta span{
  display:inline-flex; align-items:center; gap:8px;
  background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.12);
  padding:8px 14px; border-radius:999px; font-size:.82rem; color:#dbe4f2;
}
.hero-meta img{height:15px; width:auto; border-radius:3px; display:block;}
.hero-stats{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:16px; margin-top:48px;
}
.stat-card{
  background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.1);
  border-radius:var(--radius-md); padding:18px;
}
.stat-num{font-family:var(--font-head); font-weight:700; font-size:1.9rem; color:var(--ad-yellow);}
.stat-label{font-size:.8rem; color:#aebbd0; margin-top:4px;}

/* ---------- Evidence badges ---------- */
.badge{
  display:inline-flex; align-items:center; gap:6px;
  font-family:var(--font-head); font-weight:700; font-size:.66rem;
  letter-spacing:.05em; text-transform:uppercase;
  padding:3px 9px; border-radius:999px; white-space:nowrap;
}
.badge-h{background:rgba(24,173,58,.12); color:#0f7a28;}
.badge-i{background:rgba(255,201,56,.18); color:#8a6300;}
.badge-x{background:rgba(255,138,0,.14); color:#a35500;}
.badge-v{background:rgba(148,163,184,.18); color:#54607a;}
.badge-dot{width:7px; height:7px; border-radius:50%; display:inline-block;}
.badge-h .badge-dot{background:var(--ev-h);}
.badge-i .badge-dot{background:var(--ev-i);}
.badge-x .badge-dot{background:var(--ev-x);}
.badge-v .badge-dot{background:var(--ev-v);}
.legend{display:flex; flex-wrap:wrap; gap:10px; margin:18px 0 8px;}

/* ---------- Cards / grid ---------- */
.grid{display:grid; gap:22px;}
.grid-2{grid-template-columns:repeat(2,1fr);}
.grid-3{grid-template-columns:repeat(3,1fr);}
.grid-4{grid-template-columns:repeat(4,1fr);}
@media (max-width:900px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr;}}

.card{
  background:#fff; border-radius:var(--radius-md); padding:26px;
  box-shadow:var(--shadow-card); border:1px solid rgba(9,15,25,.06);
}
.card h3{margin-bottom:10px;}
.card.accent-lime{border-top:4px solid var(--ad-lime);}
.card.accent-cyan{border-top:4px solid var(--ad-cyan);}
.card.accent-blue{border-top:4px solid var(--jz-primary);}
.card.accent-pink{border-top:4px solid var(--ad-pink);}
.card.accent-yellow{border-top:4px solid var(--ad-yellow);}
.card.accent-orange{border-top:4px solid var(--ad-orange);}

/* metric chips (Adaptativa numeric style) */
.metric{
  display:flex; flex-direction:column; gap:2px; padding:16px 18px;
  border-radius:var(--radius-sm); background:var(--jz-dark); color:#fff;
}
.metric .num{font-family:var(--font-head); font-weight:700; font-size:1.7rem; color:var(--ad-yellow);}
.metric .label{font-size:.78rem; color:#aebbd0;}

/* ---------- Topic section header ---------- */
.topic-head{display:flex; align-items:baseline; gap:14px; margin-bottom:8px;}
.topic-num{
  font-family:var(--font-head); font-weight:800; font-size:1rem; color:#fff;
  background:var(--jz-primary); width:34px; height:34px; border-radius:50%;
  display:flex; align-items:center; justify-content:center; flex:none;
}
/* Secciones que narran hechos de ENTER (no la lectura estratégica para Juztina):
   número en negro + naranja, con esquinas rectas, en eco del logo "ENTER ■". */
.topic-num-enter{background:var(--en-black); color:var(--en-orange); border-radius:8px; border:2px solid var(--en-orange);}

/* ---------- Finding blocks with evidence tag ---------- */
.finding{
  border-left:3px solid var(--jz-primary); background:var(--jz-bg-alt);
  padding:16px 20px; border-radius:0 var(--radius-sm) var(--radius-sm) 0; margin:16px 0;
}
.finding-head{display:flex; align-items:center; gap:10px; margin-bottom:8px; flex-wrap:wrap;}
.finding-head strong{font-family:var(--font-head); font-size:.95rem;}
.finding p:last-child{margin-bottom:0;}
.finding.flag{border-left-color:var(--ad-orange); background:#fff7ee;}

/* ---------- Comparison (Juztina vs Enter) ---------- */
.vs-wrap{display:grid; grid-template-columns:1fr 1fr; gap:0; border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-card);}
@media (max-width:760px){.vs-wrap{grid-template-columns:1fr;}}
.vs-col{padding:30px 28px;}
.vs-juztina{background:var(--jz-dark); color:#fff;}
.vs-juztina h3{color:var(--jz-primary-soft);}
.vs-enter{background:var(--en-surface); color:#fff;}
.vs-enter h3{color:var(--en-orange);}
.vs-col ul{margin:0; padding-left:18px;}
.vs-col li{margin-bottom:10px; font-size:.94rem;}
.vs-logo{
  font-family:var(--font-head); font-weight:800; font-size:1.3rem; margin-bottom:18px;
  display:inline-block;
}
.vs-juztina .vs-logo{color:var(--jz-primary);}
.vs-enter .vs-logo{color:var(--en-orange);}
.vs-enter .vs-logo::after{content:"■"; color:var(--en-orange); margin-left:4px; font-size:.7em;}

/* ---------- BMC canvas ---------- */
.bmc-grid{display:grid; grid-template-columns:repeat(5,1fr); grid-auto-rows:minmax(150px,auto); gap:12px;}
@media (max-width:1000px){.bmc-grid{grid-template-columns:repeat(2,1fr);}}
.bmc-cell{
  background:#fff; border-radius:var(--radius-sm); padding:16px; box-shadow:var(--shadow-card);
  border-top:4px solid var(--jz-primary);
}
.bmc-cell h4{font-size:.82rem; text-transform:uppercase; letter-spacing:.04em; color:var(--jz-primary); margin-bottom:8px; font-family:var(--font-head); font-weight:700;}
.bmc-cell p{font-size:.87rem; margin:0; color:var(--jz-text);}
.bmc-cell.span2{grid-column:span 2;}
.bmc-cell.span5{grid-column:span 5;}
@media (max-width:1000px){.bmc-cell.span2,.bmc-cell.span5{grid-column:span 2;}}

/* ---------- Porter ---------- */
.porter-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:18px;}
.porter-card{background:#fff; border-radius:var(--radius-md); padding:22px; box-shadow:var(--shadow-card);}
.porter-level{
  display:inline-block; font-family:var(--font-head); font-weight:700; font-size:.7rem;
  text-transform:uppercase; letter-spacing:.05em; padding:4px 10px; border-radius:999px; margin-bottom:12px;
}
.lvl-alto{background:rgba(255,84,130,.14); color:#c81b4c;}
.lvl-media{background:rgba(255,201,56,.2); color:#8a6300;}
.lvl-mediabaja{background:rgba(24,173,58,.14); color:#0f7a28;}

/* ---------- Porter: diagrama radial ---------- */
.porter-radar-wrap{max-width:440px; margin:0 auto 34px; text-align:center;}
.porter-radar-wrap svg{width:100%; height:auto; overflow:visible;}
.porter-radar-caption{font-size:.78rem; color:var(--jz-text-muted); margin-top:10px;}

/* ---------- Financiamiento: timeline ---------- */
.funding-timeline{display:flex; justify-content:space-between; position:relative; margin-bottom:22px; padding-top:11px;}
.funding-track{position:absolute; top:11px; left:6%; right:6%; height:3px; background:var(--jz-primary-soft); z-index:0;}
.funding-node{position:relative; z-index:1; flex:1; text-align:center; padding:0 6px;}
.funding-dot{width:18px; height:18px; border-radius:50%; background:var(--jz-primary); border:3px solid #fff; box-shadow:0 0 0 2px var(--jz-primary-soft); margin:0 auto 14px;}
.funding-node-highlight .funding-dot{background:var(--ad-yellow); box-shadow:0 0 0 2px rgba(255,201,56,.5); width:22px; height:22px;}
.funding-card{background:#fff; border-radius:var(--radius-sm); box-shadow:var(--shadow-card); padding:14px 10px;}
.funding-node-highlight .funding-card{border:2px solid var(--ad-yellow);}
.funding-round{display:block; font-family:var(--font-head); font-weight:700; font-size:.7rem; text-transform:uppercase; letter-spacing:.04em; color:var(--jz-text-muted);}
.funding-amount{display:block; font-family:var(--font-head); font-weight:800; font-size:1.2rem; color:var(--jz-dark); margin:4px 0;}
.funding-meta{display:block; font-size:.72rem; color:var(--jz-text-muted); line-height:1.35;}
@media (max-width:760px){
  .funding-timeline{flex-direction:column; gap:16px; padding-top:0;}
  .funding-track{display:none;}
  .funding-node{padding:0;}
}

/* ---------- Organización: barra de headcount ---------- */
.headcount-bar{display:flex; width:100%; height:32px; border-radius:999px; overflow:hidden; box-shadow:var(--shadow-card);}
.hc-seg{height:100%;}
.hc-tech{background:var(--jz-primary);}
.hc-biz{background:var(--ad-cyan);}
.hc-legal{background:var(--ad-pink);}
.hc-other{background:#c7d0de;}
.headcount-legend{display:flex; flex-wrap:wrap; gap:8px 18px; margin-top:14px;}
.headcount-legend span{display:inline-flex; align-items:center; font-size:.82rem; color:var(--jz-text-muted);}
.hc-dot{display:inline-block; width:10px; height:10px; border-radius:50%; margin-right:7px; flex:none;}

/* ---------- Flujo funcional: stepper conectado ---------- */
.flow-inputs{display:flex; align-items:center; gap:10px; margin:14px 0 22px; flex-wrap:wrap;}
.flow-input-chip{background:var(--jz-bg-alt); border:1px solid #d7dde6; border-radius:999px; padding:6px 14px; font-size:.82rem; font-family:var(--font-head); font-weight:600; color:var(--jz-text);}
.flow-input-plus{font-weight:700; color:var(--jz-text-muted);}
.flow-stepper{position:relative; margin-top:14px;}
.flow-line{position:absolute; left:19px; top:19px; bottom:19px; width:2px; background:var(--jz-primary-soft); z-index:0;}
.flow-step{display:flex; gap:18px; position:relative; z-index:1; padding-bottom:26px;}
.flow-step:last-child{padding-bottom:0;}
.flow-step-marker{flex:none; width:38px; height:38px; border-radius:50%; background:var(--jz-primary); color:#fff; display:flex; align-items:center; justify-content:center; font-family:var(--font-head); font-weight:700; font-size:.95rem;}
.flow-step-body{padding-top:6px;}
.flow-step-body h4{margin:0 0 4px; font-family:var(--font-head); font-weight:700; color:var(--jz-primary); font-size:1rem;}
.flow-step-body p{margin:0; font-size:.88rem; color:var(--jz-text-muted);}
.section-dark .flow-line{background:rgba(255,255,255,.18);}
.section-dark .flow-step-body p{color:#c8d3e6;}

/* ---------- Accordion (cuestionario) ---------- */
.qa-block{margin-bottom:52px;}
.qa-block-head{display:flex; align-items:center; gap:12px; margin-bottom:18px; padding-bottom:10px; border-bottom:2px solid var(--jz-dark);}
details.qa{
  background:#fff; border:1px solid #e7ecf3; border-radius:var(--radius-sm); margin-bottom:10px; overflow:hidden;
}
details.qa[open]{border-color:var(--jz-primary);}
details.qa summary{
  cursor:pointer; padding:16px 20px; font-family:var(--font-head); font-weight:600; font-size:.98rem;
  list-style:none; display:flex; justify-content:space-between; align-items:center; gap:12px;
  color:var(--jz-dark);
}
details.qa summary::-webkit-details-marker{display:none;}
details.qa summary::after{content:"+"; font-size:1.3rem; color:var(--jz-primary); flex:none;}
details.qa[open] summary::after{content:"–";}
details.qa .qa-body{padding:0 20px 20px; color:var(--jz-text-muted); font-size:.95rem;}
details.qa .qa-body strong{color:var(--jz-text);}
details.qa pre{
  background:var(--jz-dark); color:#dbe4f2; padding:18px; border-radius:var(--radius-sm);
  overflow-x:auto; font-size:.78rem; line-height:1.5;
}

/* ---------- Sources page ---------- */
.source-tier{margin-bottom:44px;}
table.sources{width:100%; border-collapse:collapse;}
table.sources th, table.sources td{padding:12px 16px; text-align:left; border-bottom:1px solid #e7ecf3; font-size:.9rem; vertical-align:top;}
table.sources thead th{font-family:var(--font-head); font-size:.74rem; text-transform:uppercase; letter-spacing:.05em; color:var(--jz-text-muted);}
table.sources td a{word-break:break-all;}
.conf-chip{
  display:inline-block; font-family:var(--font-head); font-weight:700; font-size:.72rem;
  width:24px; height:24px; line-height:24px; text-align:center; border-radius:50%; color:#fff;
}
.conf-a{background:var(--ev-h);}
.conf-b{background:var(--jz-primary);}
.conf-c{background:var(--ad-orange);}
.conf-d{background:var(--ev-v);}

/* ---------- Footer / créditos Adaptativa BI ---------- */
footer.credits{
  background:var(--ad-oil-blue); color:#fff; padding:56px 0 34px; position:relative;
}
footer.credits::before{content:""; display:block; height:4px; background:var(--ad-gradient); margin-bottom:0;}
.credits-inner{display:flex; justify-content:space-between; flex-wrap:wrap; gap:32px;}
.credits-brand{display:flex; align-items:center; gap:12px;}
.chameleon-icon{width:40px; height:40px; border-radius:12px; background:var(--ad-gradient); display:flex; align-items:center; justify-content:center; flex:none;}
.chameleon-icon svg{width:22px; height:22px;}
.credits-brand-text .name{font-family:var(--font-head); font-weight:700; font-size:1.05rem;}
.credits-brand-text .tagline{font-size:.8rem; color:#8fb4c2;}
.credits-meta{font-size:.85rem; color:#cfe3ea; max-width:420px;}
.credits-meta a{color:#a8ff9a;}
.credits-links{display:flex; gap:14px; margin-top:10px;}
.credits-links a{
  border:1px solid rgba(255,255,255,.25); padding:6px 14px; border-radius:999px; font-size:.8rem; color:#fff;
}
.credits-links a:hover{background:rgba(255,255,255,.1); text-decoration:none;}
.credits-bottom{
  border-top:1px solid rgba(255,255,255,.12); margin-top:36px; padding-top:20px;
  font-size:.76rem; color:#7fa2b0; display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px;
}

/* ---------- CTA buttons ---------- */
.btn{
  display:inline-flex; align-items:center; gap:8px; font-family:var(--font-head); font-weight:600;
  font-size:.9rem; padding:12px 24px; border-radius:999px; cursor:pointer; border:0;
}
.btn-primary{background:linear-gradient(90deg,var(--ad-lime),var(--jz-primary)); color:var(--jz-dark);}
.btn-primary:hover{filter:brightness(1.06); text-decoration:none;}
.btn-ghost{background:transparent; border:1px solid rgba(255,255,255,.35); color:#fff;}
.btn-ghost:hover{background:rgba(255,255,255,.08); text-decoration:none;}
.btn-row{display:flex; gap:14px; flex-wrap:wrap; margin-top:30px;}

/* ---------- Utility ---------- */
.mt-0{margin-top:0;} .mb-0{margin-bottom:0;}
.muted{color:var(--jz-text-muted);}
.small{font-size:.85rem;}
.center{text-align:center;}
.toc{
  display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:10px; margin-top:26px;
}
.toc a, .toc span{
  background:#fff; border:1px solid #e7ecf3; border-radius:var(--radius-sm); padding:14px 16px;
  color:var(--jz-dark); font-family:var(--font-head); font-weight:600; font-size:.88rem;
  display:flex; justify-content:space-between; align-items:center;
}
.toc span{border-left:3px solid var(--jz-primary);}
.toc a:hover{border-color:var(--jz-primary); text-decoration:none; color:var(--jz-primary);}

/* =========================================================
   Industria LegalTech — explorador, treemap, saturación,
   puentes, comparador, wizard
   ========================================================= */

/* Chips de filtro */
.ind-filterbar{display:flex; flex-wrap:wrap; gap:8px; margin-top:24px;}
.ind-chip{
  font-family:var(--font-head); font-weight:600; font-size:.78rem; padding:7px 14px;
  border-radius:999px; border:1px solid #d7dde6; background:#fff; color:var(--jz-text-muted);
  cursor:pointer; white-space:nowrap;
}
.ind-chip:hover{border-color:var(--jz-primary); color:var(--jz-primary);}
.ind-chip.active{background:var(--jz-primary); border-color:var(--jz-primary); color:#fff;}
.ind-chip-group{display:flex; align-items:center; gap:6px; flex-wrap:wrap; padding-right:12px; margin-right:6px; border-right:1px solid #e2e7f0;}
.ind-chip-group:last-child{border-right:0;}
.ind-chip-label{font-family:var(--font-head); font-weight:700; font-size:.68rem; text-transform:uppercase; letter-spacing:.05em; color:var(--jz-text-muted); margin-right:2px;}

/* Explorador de dos paneles */
.ind-explorer{
  display:grid; grid-template-columns:1fr 64px 1fr; gap:0; margin-top:22px;
  background:#fff; border-radius:var(--radius-lg); box-shadow:var(--shadow-card); overflow:hidden;
  border:1px solid #eef1f6;
}
.ind-panel{padding:20px; min-width:0;}
.ind-panel-title{
  font-family:var(--font-head); font-weight:700; font-size:.95rem; margin:0 0 12px;
  display:flex; align-items:center; gap:8px;
}
.ind-count{font-size:.72rem; font-weight:600; color:var(--jz-text-muted);}
.ind-list{max-height:520px; overflow-y:auto; display:flex; flex-direction:column; gap:4px; padding-right:4px;}
.ind-item{
  display:flex; align-items:center; justify-content:space-between; gap:8px;
  padding:9px 12px; border-radius:var(--radius-sm); border:1px solid transparent;
  cursor:pointer; font-size:.86rem; color:var(--jz-text); transition:opacity .15s;
}
.ind-item:hover{background:var(--jz-bg-alt);}
.ind-item.is-active{background:var(--jz-primary); color:#fff; border-color:var(--jz-primary);}
.ind-item.is-linked{background:rgba(79,132,211,.12); border-color:var(--jz-primary-soft);}
.ind-item.is-dim{opacity:.35;}
.ind-item.is-disabled{opacity:.3; cursor:default; pointer-events:none;}
.ind-item-dot{width:9px; height:9px; border-radius:50%; flex:none;}
.ind-item-name{flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.ind-item-meta{font-size:.72rem; color:inherit; opacity:.75; flex:none;}
.ind-connectors{width:100%; height:100%; min-height:200px;}
.ind-connectors line{stroke:var(--jz-primary); stroke-width:1.5; opacity:.85;}
.ind-empty-hint{font-size:.8rem; color:var(--jz-text-muted); text-align:center; padding:40px 10px;}

/* Modal de ficha de empresa */
.ind-modal-backdrop{
  position:fixed; inset:0; background:rgba(9,15,25,.6); z-index:200;
  display:flex; align-items:center; justify-content:center; padding:24px;
}
.ind-modal{
  background:#fff; border-radius:var(--radius-lg); max-width:560px; width:100%;
  max-height:85vh; overflow-y:auto; padding:30px; box-shadow:var(--shadow-card); position:relative;
}
.ind-modal-close{
  position:absolute; top:16px; right:16px; background:var(--jz-bg-alt); border:0; border-radius:50%;
  width:32px; height:32px; font-size:1rem; cursor:pointer; color:var(--jz-text-muted);
}
.ind-modal h3{margin-bottom:4px;}
.ind-modal .ind-modal-sub{color:var(--jz-text-muted); font-size:.86rem; margin-bottom:18px;}
.ind-modal-field{margin-bottom:12px;}
.ind-modal-field strong{display:block; font-family:var(--font-head); font-size:.72rem; text-transform:uppercase; letter-spacing:.05em; color:var(--jz-text-muted); margin-bottom:3px;}
.ind-modal-badges{display:flex; flex-wrap:wrap; gap:6px;}

/* Treemap */
.ind-treemap-controls{display:flex; gap:8px; margin:18px 0;}
.ind-treemap{position:relative; width:100%; height:480px; border-radius:var(--radius-md); overflow:hidden; box-shadow:var(--shadow-card);}
.ind-tm-cell{
  position:absolute; box-sizing:border-box; border:2px solid #fff; padding:8px 10px;
  overflow:hidden; display:flex; flex-direction:column; justify-content:flex-end; color:#fff;
}
.ind-tm-cell.is-estimated{background-image:repeating-linear-gradient(45deg, rgba(255,255,255,.12) 0 8px, transparent 8px 16px);}
.ind-tm-cell .ind-tm-name{font-family:var(--font-head); font-weight:700; font-size:.8rem; line-height:1.2; text-shadow:0 1px 3px rgba(0,0,0,.55);}
.ind-tm-cell .ind-tm-value{font-size:.7rem; opacity:.9; text-shadow:0 1px 3px rgba(0,0,0,.55);}

/* Tabla de saturación */
.ind-sat-table{margin-top:22px; display:flex; flex-direction:column; gap:10px;}
.ind-sat-row{display:grid; grid-template-columns:230px 1fr 60px; gap:14px; align-items:center;}
.ind-sat-label{font-family:var(--font-head); font-weight:600; font-size:.86rem;}
.ind-sat-bar-track{background:var(--jz-bg-alt); border-radius:999px; height:14px; overflow:hidden;}
.ind-sat-bar-fill{display:block; height:100%; border-radius:999px; background:linear-gradient(90deg,var(--jz-primary),var(--ad-cyan));}
.ind-sat-count{font-family:var(--font-head); font-weight:700; font-size:.82rem; text-align:right; color:var(--jz-text-muted);}

/* Comparador */
.ind-compare-picker{display:flex; flex-wrap:wrap; gap:12px; margin-top:18px;}
.ind-compare-picker select{
  font-family:var(--font-body); font-size:.86rem; padding:10px 14px; border-radius:var(--radius-sm);
  border:1px solid #d7dde6; background:#fff; min-width:200px;
}
.ind-compare-table{overflow-x:auto;}
.ind-compare-table table{width:100%; border-collapse:collapse; background:#fff; border-radius:var(--radius-md); overflow:hidden; box-shadow:var(--shadow-card);}
.ind-compare-table th, .ind-compare-table td{padding:12px 16px; text-align:left; border-bottom:1px solid #eef1f6; font-size:.85rem; vertical-align:top;}
.ind-compare-table thead th{background:var(--jz-dark); color:#fff; font-family:var(--font-head); font-size:.78rem; text-transform:uppercase; letter-spacing:.04em;}
.ind-compare-table tbody th{background:var(--jz-bg-alt); font-family:var(--font-head); font-weight:600; width:160px;}

/* Wizard de oportunidades */
.ind-wizard{
  display:flex; flex-wrap:wrap; gap:14px; align-items:flex-end; margin-top:20px;
  background:#fff; border-radius:var(--radius-md); padding:22px; box-shadow:var(--shadow-card);
}
.ind-wizard label{display:block; font-family:var(--font-head); font-weight:600; font-size:.78rem; margin-bottom:6px; color:var(--jz-text);}
.ind-wizard select{
  font-family:var(--font-body); font-size:.86rem; padding:10px 14px; border-radius:var(--radius-sm);
  border:1px solid #d7dde6; background:#fff; min-width:220px;
}
.ind-wizard-result{margin-top:20px;}
.ind-wizard-result .card{margin-bottom:12px;}

/* El nav completo (8 enlaces + CTA) no cabe en pantallas medianas tipo laptop sin
   envolverse feo — se pasa al menú hamburguesa antes que el breakpoint general. */
@media (max-width:1150px){
  .nav-links{position:fixed; inset:64px 0 0 0; background:var(--jz-dark); flex-direction:column; padding:24px; display:none;}
  .nav-links.open{display:flex;}
  .nav-toggle{display:block;}
}

@media (max-width:760px){
  .section{padding:52px 0;}
  .bmc-grid{grid-template-columns:1fr;}
  .bmc-cell.span2,.bmc-cell.span5{grid-column:span 1;}
  .grid-2, .grid-3, .grid-4{grid-template-columns:1fr;}
  .brand-mark span{display:none;}
  .brand-logo{height:30px;}
  .ind-explorer{grid-template-columns:1fr;}
  .ind-connectors{display:none;}
  .ind-sat-row{grid-template-columns:1fr; gap:4px;}
  .ind-sat-count{text-align:left;}
  .ind-wizard{flex-direction:column; align-items:stretch;}
  .ind-wizard select{min-width:0; width:100%;}
  .ind-compare-picker{flex-direction:column;}
  .ind-compare-picker select{min-width:0; width:100%;}
  .ind-treemap{height:640px;}
}
