/* ==========================================================================
   EXERGÍA V3 — Contacto y Nosotros con el mismo lenguaje de las páginas por pasos:
   encabezado partido, tarjetas con borde fino, cifras en JetBrains Mono, acentos naranjas.
   ========================================================================== */
.v3p{ --c3-card:var(--card); --c3-soft:color-mix(in srgb, var(--azul) 6%, var(--paper)); padding-bottom:clamp(50px,8vh,100px); }
.v3p-hero{ padding:calc(var(--hdr-real, 96px) + 22px) 0 clamp(40px,7vh,80px);
  background:radial-gradient(ellipse 70% 80% at 85% 20%, color-mix(in srgb, var(--azul) 12%, transparent), transparent 70%), linear-gradient(180deg, color-mix(in srgb, var(--azul) 6%, var(--paper)), var(--paper)); }
.v3p-grid{ display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); gap:clamp(24px,4vw,72px); align-items:center; }
@media (max-width:980px){ .v3p-grid{ grid-template-columns:1fr; } }
.v3p-crumb{ font-size:var(--f-small); font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:var(--ink-soft); margin-bottom:clamp(10px,2vh,20px); }
.v3p-crumb a{ color:var(--naranja); }
.v3p h1{ font-size:clamp(2.6rem,5.6vw,5.8rem); font-weight:700; line-height:.95; letter-spacing:-.05em; color:var(--azul-deep); margin:0 0 clamp(14px,2.4vh,24px); text-wrap:balance; }
html[data-theme="dark"] .v3p h1{ color:var(--ink); }
.v3p h1 em{ font-style:normal; color:var(--naranja); }
.v3p-lead{ font-size:clamp(1.02rem,1.3vw,1.28rem); line-height:1.6; color:var(--ink-soft); max-width:36em; margin:0; }
.v3p-chips{ display:flex; flex-wrap:wrap; gap:10px; margin-top:clamp(18px,3vh,30px); }
.v3p-chip{ display:inline-flex; align-items:center; gap:10px; padding:10px 16px; border-radius:100px; border:1px solid var(--linea); background:var(--c3-card); color:var(--ink); font-weight:600; font-size:.92rem; text-decoration:none; transition:border-color .25s var(--ease), transform .25s var(--ease), box-shadow .25s var(--ease); }
.v3p-chip:hover{ border-color:var(--naranja); transform:translateY(-2px); box-shadow:0 10px 26px -14px rgba(13,36,56,.45); }
.v3p-chip svg{ width:18px; height:18px; flex:0 0 18px; }
.v3p-chip.wa{ background:#128C4A; border-color:#128C4A; color:#fff; }
.v3p-sec{ padding-top:clamp(36px,6vh,70px); }
.v3p-sec > h2, .v3p-h2{ font-size:clamp(1.7rem,3vw,2.8rem); font-weight:700; letter-spacing:-.035em; line-height:1.05; color:var(--azul-deep); margin:0 0 10px; }
html[data-theme="dark"] .v3p-sec > h2, html[data-theme="dark"] .v3p-h2{ color:var(--ink); }
.v3p-k{ display:inline-block; font-size:var(--f-small); font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:var(--naranja); margin-bottom:10px; }
.v3p-sub{ color:var(--ink-soft); margin:0 0 clamp(18px,3vh,30px); max-width:44em; line-height:1.55; }
.v3p-card{ background:var(--c3-card); border:1px solid var(--linea); border-radius:22px; padding:clamp(20px,2.4vw,34px); box-shadow:0 30px 70px -50px rgba(13,36,56,.5); }

/* ---- pasos (qué pasa después de escribir) ---- */
.v3p-steps{ list-style:none; margin:0; padding:0; display:grid; gap:0; counter-reset:st; }
.v3p-steps li{ position:relative; padding:0 0 22px 58px; counter-increment:st; }
.v3p-steps li:last-child{ padding-bottom:0; }
.v3p-steps li::before{ content:counter(st, decimal-leading-zero); position:absolute; left:0; top:0; width:40px; height:40px; border-radius:12px; display:grid; place-items:center; font:600 .9rem 'JetBrains Mono', monospace; color:var(--naranja); background:color-mix(in srgb, var(--naranja) 12%, transparent); border:1px solid color-mix(in srgb, var(--naranja) 35%, transparent); }
.v3p-steps li::after{ content:''; position:absolute; left:19px; top:44px; bottom:4px; width:2px; background:var(--linea); }
.v3p-steps li:last-child::after{ display:none; }
.v3p-steps b{ display:block; font-size:1.05rem; color:var(--ink); margin-bottom:2px; }
.v3p-steps span{ color:var(--ink-soft); font-size:.94rem; line-height:1.5; }

/* ---- contacto: formulario + datos ---- */
.c3-grid{ display:grid; grid-template-columns:minmax(0,1.4fr) minmax(320px,.8fr); gap:clamp(18px,2.4vw,32px); align-items:start; }
@media (max-width:1100px){ .c3-grid{ grid-template-columns:1fr; } .c3-side{ display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); } }
.c3-form h2{ font-size:1.5rem; letter-spacing:-.02em; margin:0 0 4px; color:var(--ink); }
.c3-form > p{ color:var(--ink-soft); margin:0 0 20px; }
.c3-row{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
@media (max-width:640px){ .c3-row{ grid-template-columns:1fr; } }
.c3-f{ display:flex; flex-direction:column; gap:6px; margin-bottom:14px; }
.c3-f label, .c3-lab{ font-size:.78rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-soft); }
.c3-f input, .c3-f select, .c3-f textarea{ width:100%; font:inherit; font-size:1rem; color:var(--ink); background:var(--paper); border:1px solid var(--linea); border-radius:12px; padding:13px 14px; transition:border-color .2s, box-shadow .2s; }
.c3-f textarea{ min-height:140px; resize:vertical; }
.c3-f input:focus, .c3-f select:focus, .c3-f textarea:focus{ outline:none; border-color:var(--naranja); box-shadow:0 0 0 4px color-mix(in srgb, var(--naranja) 18%, transparent); }
.c3-pills{ display:flex; flex-wrap:wrap; gap:8px; margin:6px 0 16px; }
.c3-pills label{ cursor:pointer; }
.c3-pills input{ position:absolute; opacity:0; pointer-events:none; }
.c3-pills span{ display:inline-block; padding:8px 14px; border-radius:100px; border:1px solid var(--linea); font-size:.88rem; font-weight:600; color:var(--ink-soft); background:var(--paper); transition:.2s; }
.c3-pills input:checked + span{ background:var(--naranja); border-color:var(--naranja); color:#fff; }
.c3-pills input:focus-visible + span{ outline:2px solid var(--naranja); outline-offset:2px; }
.c3-send{ display:flex; align-items:center; gap:16px; flex-wrap:wrap; margin-top:6px; }
.c3-send button{ display:inline-flex; align-items:center; gap:10px; border:0; border-radius:100px; padding:15px 28px; background:var(--naranja); color:#fff; font:700 1rem/1 inherit; font-family:inherit; letter-spacing:.02em; cursor:pointer; transition:transform .2s, box-shadow .2s; }
.c3-send button:hover{ transform:translateY(-2px); box-shadow:0 14px 30px -12px color-mix(in srgb, var(--naranja) 70%, transparent); }
.c3-send small{ color:var(--ink-soft); font-size:.84rem; }
.c3-hp{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.c3-aviso{ margin:12px 0 0; font-size:.92rem; color:var(--ink-soft); }
.c3-side{ display:flex; flex-direction:column; gap:14px; }
.c3-item{ display:grid; grid-template-columns:46px 1fr auto; gap:14px; align-items:center; background:var(--c3-card); border:1px solid var(--linea); border-radius:18px; padding:16px 18px; }
.c3-item i{ width:46px; height:46px; border-radius:13px; display:grid; place-items:center; background:color-mix(in srgb, var(--azul) 10%, transparent); color:var(--azul); }
html[data-theme="dark"] .c3-item i{ color:#8FC0E8; }
.c3-item i svg{ width:22px; height:22px; }
.c3-item small{ display:block; font-size:.74rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-soft); }
.c3-item a, .c3-item b{ color:var(--ink); font-weight:600; text-decoration:none; font-size:1rem; overflow-wrap:anywhere; }
.c3-item a:hover{ color:var(--naranja); }
.c3-copy{ border:1px solid var(--linea); background:var(--paper); border-radius:9px; padding:6px 10px; font:600 .78rem inherit; font-family:inherit; color:var(--ink-soft); cursor:pointer; }
.c3-copy:hover{ border-color:var(--naranja); color:var(--naranja); }
.c3-badge{ display:flex; gap:14px; align-items:center; background:var(--azul-deep); color:#fff; border-radius:18px; padding:18px 20px; }
.c3-badge b{ white-space:nowrap; font:600 2rem/1 'JetBrains Mono', monospace; color:var(--naranja); }
.c3-badge span{ font-size:.92rem; line-height:1.45; color:#D6E2EE; }
.c3-cover{ display:flex; flex-wrap:wrap; gap:6px; margin-top:8px; }
.c3-cover span{ font-size:.8rem; padding:4px 10px; border-radius:100px; background:color-mix(in srgb, var(--azul) 8%, transparent); color:var(--ink); }
/* tarjeta digital */
.c3-card2{ display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:clamp(18px,3vw,40px); align-items:center; }
@media (max-width:860px){ .c3-card2{ grid-template-columns:1fr; } }
.c3-card2 img.tj{ width:100%; height:auto; border-radius:18px; box-shadow:0 30px 70px -36px rgba(13,36,56,.55); display:block; }
.c3-qr{ display:flex; gap:18px; align-items:center; margin-top:18px; }
.c3-qr img{ width:120px; height:120px; border-radius:12px; background:#fff; padding:8px; border:1px solid var(--linea); }

/* ---- nosotros ---- */
.n3-portrait{ position:relative; border-radius:26px; overflow:hidden; background:linear-gradient(160deg, var(--azul-deep), #174C73); min-height:420px; box-shadow:0 40px 90px -50px rgba(13,36,56,.7); }
.n3-portrait img{ position:absolute; inset:auto 0 0 0; width:100%; height:100%; object-fit:cover; object-position:center top; mix-blend-mode:normal; }
.n3-portrait .n3-tag{ position:absolute; left:18px; right:18px; bottom:18px; background:rgba(8,18,30,.72); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); border:1px solid rgba(255,255,255,.14); border-radius:16px; padding:14px 16px; color:#fff; }
.n3-tag b{ display:block; font-size:1.05rem; } .n3-tag span{ font-size:.86rem; color:#C9D7E4; }
.n3-pillars{ display:grid; gap:14px; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); }
.n3-p{ background:var(--c3-card); border:1px solid var(--linea); border-radius:20px; padding:22px; position:relative; overflow:hidden; }
.n3-p::before{ content:''; position:absolute; left:0; top:0; right:0; height:4px; background:var(--pc, var(--naranja)); }
.n3-p i{ display:grid; place-items:center; width:46px; height:46px; border-radius:13px; background:color-mix(in srgb, var(--pc, var(--naranja)) 14%, transparent); color:var(--pc, var(--naranja)); margin-bottom:14px; }
.n3-p i svg{ width:24px; height:24px; }
.n3-p h3{ margin:0 0 6px; font-size:1.12rem; color:var(--ink); letter-spacing:-.01em; } .n3-p p{ margin:0; color:var(--ink-soft); line-height:1.5; font-size:.95rem; }
.n3-cases{ display:grid; gap:16px; grid-template-columns:repeat(auto-fit,minmax(320px,1fr)); }
.n3-case{ background:var(--c3-card); border:1px solid var(--linea); border-radius:20px; padding:22px 24px; display:flex; flex-direction:column; gap:10px; }
.n3-case .n3-k{ font-size:.74rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--naranja); }
.n3-case h3{ margin:0; font-size:1.15rem; color:var(--ink); letter-spacing:-.01em; }
.n3-case dl{ margin:0; display:grid; grid-template-columns:auto 1fr; gap:6px 12px; font-size:.93rem; line-height:1.45; }
.n3-case dt{ font-weight:700; color:var(--ink); } .n3-case dd{ margin:0; color:var(--ink-soft); }
.n3-flow{ display:grid; grid-template-columns:repeat(4,1fr); gap:0; position:relative; }
@media (max-width:860px){ .n3-flow{ grid-template-columns:1fr 1fr; gap:18px 0; } }
.n3-flow div{ position:relative; padding:0 18px 0 0; }
.n3-flow div::before{ content:attr(data-n); display:grid; place-items:center; width:48px; height:48px; border-radius:50%; background:var(--c3-card); border:2px solid var(--naranja); color:var(--naranja); font:600 .95rem 'JetBrains Mono', monospace; margin-bottom:14px; position:relative; z-index:1; }
.n3-flow div::after{ content:''; position:absolute; left:48px; right:0; top:24px; height:2px; background:linear-gradient(90deg, var(--naranja), var(--linea)); }
.n3-flow div:last-child::after{ display:none; }
.n3-flow b{ display:block; color:var(--ink); font-size:1.05rem; margin-bottom:4px; } .n3-flow span{ color:var(--ink-soft); font-size:.92rem; line-height:1.45; }
.n3-allies{ display:grid; gap:12px; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); }
.n3-ally{ background:var(--c3-card); border:1px solid var(--linea); border-radius:16px; padding:16px 18px; }
.n3-ally b{ display:block; color:var(--ink); } .n3-ally span{ color:var(--ink-soft); font-size:.9rem; line-height:1.45; }
.n3-cred{ display:flex; flex-wrap:wrap; gap:8px; margin-top:16px; }
.n3-cred span{ font-size:.82rem; padding:6px 12px; border-radius:100px; border:1px solid var(--linea); color:var(--ink); background:var(--c3-card); }
.v3p-cta{ margin-top:clamp(40px,7vh,80px); background:linear-gradient(135deg, var(--azul-deep), #174C73); color:#fff; border-radius:26px; padding:clamp(26px,4vw,52px); display:flex; gap:20px; align-items:center; justify-content:space-between; flex-wrap:wrap; }
.v3p-cta h2{ margin:0 0 6px; font-size:clamp(1.5rem,2.6vw,2.3rem); letter-spacing:-.03em; } .v3p-cta p{ margin:0; color:#C9D7E4; }
.v3p-cta a{ display:inline-flex; gap:10px; align-items:center; padding:15px 26px; border-radius:100px; background:var(--naranja); color:#fff; font-weight:700; text-decoration:none; }
