/* ============================================================================
   STC — Componentes de páginas Tier 1 + global (v2)
   Reusa tokens.css + styles.css. Piezas nuevas: formulario de diagnóstico,
   métrica de caso, bio de fundador, ejes de blog, banner sticky.
   ========================================================================== */

/* ---------- Diagnóstico: layout copy + formulario ---------- */
.diag-grid{ display:grid; grid-template-columns:1fr .9fr; gap:var(--sp-16); align-items:start; }
.discover{ list-style:none; margin:var(--sp-8) 0 0; padding:0; display:grid; gap:var(--sp-4); }
.discover li{ display:flex; gap:var(--sp-4); align-items:flex-start; }
.discover .ic{ color:var(--stc-primary-light); flex:none; margin-top:2px; }
.discover strong{ display:block; font-family:var(--stc-font-display); margin-bottom:2px; }
.discover span{ color:var(--stc-muted); font-size:var(--fs-sm); }

.lead-form{ background:var(--stc-surface); border:1px solid var(--stc-border); border-radius:var(--stc-radius-lg);
  padding:clamp(20px,3vw,var(--sp-12)); box-shadow:var(--stc-shadow); position:sticky; top:88px; }
.lead-form h3{ font-size:var(--fs-h4); margin-bottom:var(--sp-2); }
.lead-form .form-note{ color:var(--stc-muted); font-size:var(--fs-sm); margin-bottom:var(--sp-6); }
.field{ display:flex; flex-direction:column; gap:6px; margin-bottom:var(--sp-4); }
.field label{ font-size:var(--fs-sm); font-weight:var(--fw-medium); }
.field input,.field textarea{ font:inherit; color:var(--stc-ink); background:var(--stc-bg);
  border:1px solid var(--stc-border-strong); border-radius:var(--stc-radius-sm); padding:var(--sp-3) var(--sp-4); }
.field input:focus,.field textarea:focus{ outline:none; border-color:var(--stc-cta); box-shadow:0 0 0 3px rgba(30,154,224,.18); }
.field textarea{ min-height:88px; resize:vertical; }
.lead-form .btn{ width:100%; justify-content:center; margin-top:var(--sp-2); }
.form-fine{ text-align:center; color:var(--stc-faint); font-size:var(--fs-xs); margin-top:var(--sp-3); }
.calendly-note{ margin-top:var(--sp-6); padding:var(--sp-4); border:1px dashed var(--stc-border-strong);
  border-radius:var(--stc-radius); color:var(--stc-muted); font-size:var(--fs-xs); text-align:center; }

/* ---------- Casos de éxito: tarjeta con métrica dura ---------- */
.case-card{ display:grid; grid-template-columns:1.4fr 1fr; gap:var(--sp-8); align-items:center;
  background:var(--stc-surface); border:1px solid var(--stc-border); border-radius:var(--stc-radius-lg); padding:var(--sp-12); }
.case-block h3{ font-size:var(--fs-xs); letter-spacing:var(--tracking-eyebrow); text-transform:uppercase;
  color:var(--stc-muted); margin-bottom:var(--sp-1); }
.case-block p{ color:var(--stc-ink); margin-bottom:var(--sp-6); }
.case-metrics{ display:grid; gap:var(--sp-4); }
.metric{ background:linear-gradient(150deg, var(--stc-navy), var(--stc-navy-2)); border-radius:var(--stc-radius-lg);
  padding:var(--sp-8); text-align:center; }
.metric b{ display:block; font-family:var(--stc-font-display); font-weight:var(--fw-bold);
  font-size:var(--fs-display); color:var(--stc-accent-navy); line-height:1; }
.metric span{ display:block; margin-top:var(--sp-2); color:var(--stc-muted-navy); font-size:var(--fs-sm); }
.case-cta{ margin-top:var(--sp-6); }

/* ---------- Nosotros: bio del fundador ---------- */
.bio{ display:grid; grid-template-columns:auto 1fr; gap:var(--sp-12); align-items:start;
  background:var(--stc-surface); border:1px solid var(--stc-border); border-radius:var(--stc-radius-lg); padding:clamp(24px,4vw,var(--sp-16)); }
.bio-avatar{ width:140px; height:140px; border-radius:50%; display:grid; place-items:center; flex:none;
  background:linear-gradient(160deg, var(--stc-navy), var(--stc-navy-2)); color:var(--stc-on-navy);
  font-family:var(--stc-font-display); font-weight:var(--fw-bold); font-size:2.6rem; box-shadow:var(--stc-shadow); }
.bio h3{ font-size:var(--fs-h3); margin-bottom:var(--sp-2); }
.bio .role{ color:var(--stc-primary); font-weight:var(--fw-semibold); margin-bottom:var(--sp-6); }
.bio p{ color:var(--stc-muted); margin-bottom:var(--sp-4); }
.bio-certs{ display:flex; flex-wrap:wrap; gap:var(--sp-2); margin:var(--sp-6) 0 0; padding:0; }
.bio-certs li{ list-style:none; font-size:var(--fs-xs); font-weight:var(--fw-semibold); color:var(--stc-primary);
  background:var(--stc-surface-2); border:1px solid var(--stc-border); padding:6px 12px; border-radius:var(--stc-radius-pill); }

/* ---------- Blog: ejes + tarjetas + banner ---------- */
.blog-axes{ display:flex; flex-wrap:wrap; gap:var(--sp-3); margin-bottom:var(--sp-12); }
.axis{ font-family:var(--stc-font-display); font-weight:var(--fw-semibold); font-size:var(--fs-sm);
  color:var(--stc-primary); background:var(--stc-surface-2); border:1px solid var(--stc-border);
  padding:var(--sp-2) var(--sp-4); border-radius:var(--stc-radius-pill); }
.post-card{ display:flex; flex-direction:column; background:var(--stc-surface); border:1px solid var(--stc-border);
  border-radius:var(--stc-radius-lg); overflow:hidden; transition:transform var(--stc-dur) var(--stc-ease), border-color var(--stc-dur) var(--stc-ease); }
.post-card:hover{ transform:translateY(-4px); border-color:var(--stc-border-strong); }
.post-media{ aspect-ratio:16/9; background:linear-gradient(150deg, #E6F0F8, var(--stc-bg-2) 80%); display:grid; place-items:center; }
.post-media .ic{ color:var(--stc-primary-light); opacity:.7; }
.post-body{ padding:var(--sp-8); display:flex; flex-direction:column; gap:var(--sp-3); flex:1; }
.post-tag{ font-size:var(--fs-xs); letter-spacing:.1em; text-transform:uppercase; color:var(--stc-muted); font-weight:var(--fw-semibold); }
.post-body h3{ font-size:var(--fs-h4); }
.post-body p{ color:var(--stc-muted); font-size:var(--fs-sm); }
.post-body .link-arrow{ margin-top:auto; }
.blog-banner{ background:linear-gradient(120deg, var(--stc-navy), var(--stc-navy-2) 85%); border-radius:var(--stc-radius-lg);
  padding:clamp(24px,4vw,var(--sp-16)); display:flex; align-items:center; justify-content:space-between; gap:var(--sp-8); flex-wrap:wrap; }
.blog-banner h3{ color:var(--stc-on-navy); font-size:var(--fs-h3); max-width:26ch; }
.blog-banner p{ color:var(--stc-muted-navy); margin-top:var(--sp-2); }

/* ---------- Bridge (activación digital) ---------- */
.bridge-card{ background:linear-gradient(150deg, #E6F0F8, var(--stc-bg-2) 78%); border:1px solid var(--stc-border);
  border-radius:var(--stc-radius-lg); padding:clamp(24px,4vw,var(--sp-16)); text-align:center; }

/* ---------- Artículo de blog ---------- */
.article{ max-width:760px; margin-inline:auto; }
.article-lead{ font-size:var(--fs-lead); color:var(--stc-muted); line-height:var(--lh-body); margin-bottom:var(--sp-8); }
.article h2{ font-size:var(--fs-h3); margin:var(--sp-12) 0 var(--sp-4); }
.article p{ margin-bottom:var(--sp-4); color:var(--stc-ink); }
.article p strong{ font-weight:var(--fw-semibold); }
.article ul{ margin:0 0 var(--sp-4); padding-left:var(--sp-6); color:var(--stc-ink); }
.article li{ margin-bottom:var(--sp-2); }
.article-meta{ display:flex; gap:var(--sp-3); flex-wrap:wrap; align-items:center; margin-bottom:var(--sp-6); }
.article-cta{ margin-top:var(--sp-12); background:linear-gradient(150deg, var(--stc-navy), var(--stc-navy-2) 85%);
  border-radius:var(--stc-radius-lg); padding:clamp(24px,4vw,var(--sp-12)); }
.article-cta h3{ color:var(--stc-on-navy); font-size:var(--fs-h4); margin-bottom:var(--sp-2); }
.article-cta p{ color:var(--stc-muted-navy); margin-bottom:var(--sp-6); }

/* ---------- Responsive ---------- */
@media (max-width:900px){
  .diag-grid,.case-card,.bio{ grid-template-columns:1fr; gap:var(--sp-8); }
  .lead-form{ position:static; }
  .bio-avatar{ margin-inline:auto; }
  .blog-banner{ flex-direction:column; align-items:flex-start; }
}
