/* Secciones interiores de la principal: una sola dirección editorial. */
:root { --section-space:100px; }
#soluciones,#empresa,#servicios,#capacidades,#clientes,#casos-exito,#proceso { padding-block:var(--section-space); scroll-margin-top:88px; }
.section-kicker { display:block; margin-bottom:24px; color:var(--copy-muted); font:500 .61rem/1.5 Inter,sans-serif; letter-spacing:.16em; }
#servicios .section-head,#clientes .section-head,#proceso .section-head { max-width:790px; margin-bottom:46px; }
#servicios .section-head h2,#clientes .section-head h2,#proceso .section-head h2 { font:500 clamp(2rem,3.35vw,3.1rem)/1.12 'Space Grotesk',Inter,sans-serif; letter-spacing:-.05em; margin-bottom:20px; }
#servicios .section-head p,#clientes .section-head p,#proceso .section-head p { font-size:.96rem; line-height:1.85; color:var(--copy); max-width:670px; }
/* Productos: conserva su identidad, refina el marco y el ritmo de lectura. */
#soluciones .solutions-top { margin-bottom:42px; }
#soluciones .solutions-top .section-kicker { margin-bottom:22px; }
#soluciones .solution-body { padding:28px; }
#soluciones .solution-body .solution-category { font-size:.58rem; font-weight:600; letter-spacing:.1em; line-height:1.7; }
#soluciones .solution-body h3 { font:500 1.65rem/1.2 'Space Grotesk',Inter,sans-serif; letter-spacing:-.04em; }
#soluciones .solution-body p { font-size:.83rem; line-height:1.85; }
#soluciones .solution-tags span { border-radius:3px; background:#f3f6fa; color:var(--copy); font-size:.61rem; }
#soluciones .solution-link { width:100%; justify-content:space-between; border-top:1px solid #14213910; padding-top:19px; font-size:.77rem; font-weight:500; }
#soluciones .solutions-note { padding:26px 0 0; margin-top:30px; border:0; border-top:1px solid #14213918; border-radius:0; background:none; }
#soluciones .solutions-note p { font-size:.81rem; line-height:1.8; }
#soluciones .solutions-note a { font-size:.76rem; color:var(--blue); font-weight:500; }
/* Nuestra visión: una declaración clara y una metodología sobria. */
#empresa { background:#fff; }
#empresa .split { grid-template-columns:1fr 1.1fr; gap:55px; align-items:center; }
#empresa .dark-panel { padding:48px; background:#102440; box-shadow:none; border-radius:5px; }
#empresa .dark-panel .section-kicker { color:var(--blue-light); }
#empresa .dark-panel h2 { font:500 clamp(1.9rem,2.6vw,2.65rem)/1.18 'Space Grotesk',Inter,sans-serif; letter-spacing:-.04em; }
#empresa .dark-panel p { font-size:.88rem; line-height:1.9; color:var(--night-copy); margin-top:26px; }
#empresa .cards { gap:0 30px; }
#empresa .card { background:none; padding:28px 0; border:0; border-top:1px solid #1421391c; border-radius:0; box-shadow:none; }
#empresa .card:hover { transform:none; box-shadow:none; }
#empresa .icon { display:block; width:auto; height:auto; border-radius:0; color:var(--label); background:none; font:500 .64rem 'JetBrains Mono',monospace; }
#empresa .card h3 { font:500 1.12rem 'Space Grotesk',Inter,sans-serif; letter-spacing:-.025em; margin:18px 0 12px; }
#empresa .card p { font-size:.83rem; line-height:1.85; color:var(--copy); }
/* Servicios: líneas finas e iconografía de un único trazo. */
#servicios { background:var(--surface); }
#servicios .cards { gap:18px; grid-template-columns:repeat(3,minmax(0,1fr)); }
#servicios .card { padding:32px; border:1px solid #14213912; border-radius:6px; background:#fff; box-shadow:none; }
#servicios .card:hover { transform:translateY(-3px); border-color:#8ca9cf; box-shadow:0 12px 30px #14213905; }
#servicios .icon { width:40px; height:40px; border-radius:0; background:none; color:var(--blue); place-items:start; }
#servicios .icon svg { width:29px; height:29px; }
#servicios .card h3 { font:500 1.13rem/1.35 'Space Grotesk',Inter,sans-serif; letter-spacing:-.025em; margin:24px 0 14px; }
#servicios .card p { font-size:.84rem; line-height:1.9; color:var(--copy); }
/* Capacidades: azul profundo y módulos organizados, sin brillos de colores. */
#capacidades { background:#0b1b32; }
#capacidades::before { opacity:.1; background-size:90px 90px; }
#capacidades .capabilities-intro { grid-template-columns:1.2fr .8fr; gap:75px; margin-bottom:48px; }
#capacidades .capabilities-kicker { font:500 .61rem/1.5 Inter,sans-serif; letter-spacing:.16em; color:var(--blue-light); margin-bottom:24px; }
#capacidades .capabilities-kicker::before { display:none; }
#capacidades .capabilities-intro h2 { font:500 clamp(2rem,3.4vw,3.2rem)/1.12 'Space Grotesk',Inter,sans-serif; letter-spacing:-.05em; }
#capacidades .capabilities-intro p { font-size:.9rem; line-height:1.85; color:var(--night-copy); }
#capacidades .capabilities-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
#capacidades .capability-card { grid-column:auto; min-width:0; min-height:260px; padding:28px; border:1px solid #9bb9e123; border-radius:5px; background:#ffffff03; backdrop-filter:none; }
#capacidades .capability-card.featured { background:#ffffff03; }
#capacidades .capability-card:hover { transform:translateY(-3px); border-color:#9bb9e157; background:#ffffff06; }
#capacidades .capability-top { margin-bottom:25px; gap:12px; }
#capacidades .capability-icon { background:none; border:0; border-radius:0; width:28px; height:28px; color:var(--blue-light); }
#capacidades .capability-number { color:var(--night-muted); font:500 .56rem/1.5 Inter,sans-serif; letter-spacing:.07em; }
#capacidades .capability-card h3 { color:#e2eafb; font:500 1.06rem/1.4 'Space Grotesk',Inter,sans-serif; letter-spacing:-.02em; margin-bottom:18px; }
#capacidades .capability-list { gap:8px 0; }
#capacidades .capability-list li { padding:0 10px 0 0; margin-right:10px; border:0; border-right:1px solid #98b2d93b; border-radius:0; background:none; color:var(--night-copy); font-size:.75rem; line-height:1.6; }
#capacidades .capability-list li:last-child { border-right:0; }
#capacidades .capabilities-footer { margin-top:35px; padding-top:28px; }
#capacidades .capabilities-footer p { color:var(--night-muted); font-size:.82rem; line-height:1.8; }
#capacidades .capabilities-footer .btn { border:1px solid #8da8ce50; background:transparent; border-radius:4px; color:#d0e1fc; font-size:.77rem; padding:14px 19px; box-shadow:none; }
#capacidades .capabilities-footer .btn:hover { background:#ffffff08; transform:none; border-color:var(--blue-light); }
/* Sectores: lectura clara, separadores y numeración discreta. */
#clientes { background:var(--surface); }
#clientes .split { grid-template-columns:.9fr 1.1fr; gap:80px; align-items:start; }
#clientes .section-head { margin-bottom:0; }
#clientes .client-grid { display:block; counter-reset:sector; }
#clientes .client { position:relative; padding:26px 0 26px 44px; border:0; border-top:1px solid #1421391b; background:none; border-radius:0; box-shadow:none; counter-increment:sector; }
#clientes .client::before { content:"0" counter(sector); position:absolute; top:28px; left:0; color:var(--label); font:.61rem 'JetBrains Mono',monospace; }
#clientes .client:hover { transform:none; box-shadow:none; }
#clientes .client strong { font:500 1.05rem/1.5 'Space Grotesk',Inter,sans-serif; letter-spacing:-.02em; margin-bottom:10px; }
#clientes .client span { display:block; color:var(--copy); font-size:.84rem; line-height:1.85; }
/* Proceso: recorrido horizontal en escritorio y vertical en móvil. */
#proceso { background:var(--surface); }
#proceso .process { grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; }
#proceso .step { padding:0 30px 0 0; border:0; border-radius:0; box-shadow:none; background:none; }
#proceso .step:hover { transform:none; box-shadow:none; }
#proceso .step-number { position:relative; display:block; width:auto; height:auto; border-radius:0; background:none; color:var(--label); font:500 .77rem 'JetBrains Mono',monospace; padding:0 0 22px; margin-bottom:22px; border-bottom:1px solid #14213925; }
#proceso .step-number::after { content:""; position:absolute; left:0; bottom:-3px; width:5px; height:5px; border-radius:50%; background:#4c79b5; }
#proceso .step h3 { font:500 1.13rem 'Space Grotesk',Inter,sans-serif; letter-spacing:-.02em; margin-bottom:14px; }
#proceso .step p { font-size:.83rem; line-height:1.85; color:var(--copy); }
/* Detalles de navegación y accesibilidad coherentes con el resto. */
#soluciones a:focus-visible,#empresa a:focus-visible,#servicios a:focus-visible,#capacidades a:focus-visible,#clientes a:focus-visible,#proceso a:focus-visible { outline:2px solid #648fcb; outline-offset:5px; }
#empresa .card::after,#servicios .card::after,#proceso .step::after { display:none; }
@media(max-width:1100px) { #empresa .split { gap:30px; } #empresa .dark-panel { padding:34px; } #servicios .card { padding:26px; } #capacidades .capability-card { padding:23px; } #clientes .split { gap:40px; } }
@media(max-width:900px) { :root { --section-space:75px; } #empresa .split,#clientes .split,#capacidades .capabilities-intro { grid-template-columns:1fr; gap:35px; } #servicios .cards,#capacidades .capabilities-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } #capacidades .capabilities-footer { align-items:flex-start; } #proceso .process { grid-template-columns:repeat(2,minmax(0,1fr)); gap:35px 20px; } #proceso .step { padding-right:0; } }
@media(max-width:620px) { :root { --section-space:60px; } #servicios .cards,#capacidades .capabilities-grid { display:grid; grid-template-columns:1fr; gap:14px; } #empresa .dark-panel { padding:30px 25px; } #empresa .cards { gap:0; } #empresa .card { padding:24px 0; } #servicios .card { padding:28px; } #capacidades .capability-card { min-height:0; padding:26px; margin-bottom:0; } #capacidades .capabilities-footer { flex-direction:column; gap:22px; } #clientes .client { padding:23px 0 23px 35px; } #proceso .process { grid-template-columns:1fr; gap:0; } #proceso .step { padding:0 0 28px 38px; border-left:1px solid #14213925; } #proceso .step:last-child { padding-bottom:0; } #proceso .step-number { position:absolute; top:2px; left:-7px; padding:0; margin:0; border:0; background:var(--surface); width:14px; text-align:center; } #proceso .step-number::after { display:none; } #soluciones .solutions-note { gap:18px; } .section-kicker { font-size:.56rem; margin-bottom:20px; } }
@media(prefers-reduced-motion:reduce) { #soluciones *,#empresa *,#servicios *,#capacidades *,#clientes *,#casos-exito *,#proceso * { animation:none !important; transition:none !important; opacity:1 !important; } }

/* Navegación: el acento azul reemplaza el subrayado multicolor anterior. */
.nav-links a::after { height:1px; background:#4d79b3; }
.nav-links > .btn-primary::after,.btn-primary::before { display:none; }
@media(max-width:900px) { .nav-links { top:100%; } }

/* Ritmo de fondos: el azul enfatiza la visión y el blanco deja respirar el detalle. */
#soluciones { background:var(--surface); }
#empresa { background:#fff; }
#servicios { background:#eef3f9; }
#servicios .card { background:#fff; }
#capacidades { padding-block:0; background:#fff; color:var(--ink); overflow:visible; }
#capacidades::before { display:none; }
#capacidades .capabilities-heading { background:#0b1b32; color:#edf3ff; padding:78px 0 88px; }
#capacidades .capabilities-intro { margin-bottom:0; }
#capacidades .capabilities-body { position:relative; margin-top:-32px; padding-bottom:var(--section-space); }
#capacidades .capability-card,#capacidades .capability-card.featured { background:#fff; border-color:#dce4ef; box-shadow:0 6px 20px #14213903; }
#capacidades .capability-card:hover { background:#f9fbfe; border-color:#96b0d3; }
#capacidades .capability-card h3 { color:var(--ink); }
#capacidades .capability-icon { color:var(--blue); }
#capacidades .capability-number { color:var(--label); }
#capacidades .capability-list li { color:var(--copy); border-right-color:#d2dce9; }
#capacidades .capabilities-footer { border-top-color:#dce4ef; }
#capacidades .capabilities-footer p { color:var(--copy); }
#capacidades .capabilities-footer .btn { background:#fff; border-color:#a3b6cf; color:var(--blue); }
#capacidades .capabilities-footer .btn:hover { background:#eef3f9; border-color:var(--blue); }
#clientes { background:var(--surface); border-top:1px solid #1421390a; }
#casos-exito { background:#fff; }
#proceso { background:#eef3f9; }
@media(max-width:900px) { #capacidades .capabilities-heading { padding:65px 0 75px; } }
@media(max-width:620px) { #capacidades .capabilities-heading { padding:55px 0 65px; } #capacidades .capabilities-body { margin-top:-24px; } #proceso .step-number { background:#eef3f9; } }

/* Logo vectorial de ZT One: transparencia nativa, sin mezcla de colores. */
#soluciones .solution-one .one-logo-visual { padding-inline:20px; }
#soluciones .solution-one .one-logo-visual img { mix-blend-mode:normal; }
/* Enlaces directos a las especialidades de IA, por debajo de la navegación fija. */
#servicios .card[id] { scroll-margin-top:110px; }

/* Accesos a las páginas dedicadas de inteligencia artificial. */
#servicios .card:has(.service-detail-link) { display:flex; flex-direction:column; align-items:flex-start; }
#servicios .service-detail-link { display:flex; width:100%; justify-content:space-between; gap:15px; padding-top:18px; margin-top:auto; color:var(--blue); font-size:.76rem; }
#servicios .card:has(.service-detail-link) p { margin-bottom:22px; }
