/* Solo home: tarjetas de soluciones publicadas; nuevo botón WhatsApp pendiente de aprobación. */
/* JetBrains Mono (etiquetas técnicas de la home) servida desde este sitio (antes: Google Fonts).
   Solo se declara aquí porque solo la home la carga; así el resto de páginas no cambia.
   Licencia SIL OFL 1.1 en assets/fonts/v1-20260927/OFL-JetBrainsMono.txt. */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 100 800;
  font-display: swap;
  src: url("assets/fonts/v1-20260927/jetbrains-mono-latin-ext-wght-normal.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 100 800;
  font-display: swap;
  src: url("assets/fonts/v1-20260927/jetbrains-mono-latin-wght-normal.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Al desplazarse, la navegación no debe transparentar textos de la sección bajo el logo. */
.nav.scrolled { background: rgba(255,248,240,.97); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border-bottom-color: rgba(44,62,80,.09); }
#casos { scroll-margin-top: 96px; }
/* Contacto directo como alternativa al diagnóstico. El navegador solo abre WhatsApp;
   no se envía nada hasta que la persona confirma el mensaje allí. */
.hero-whatsapp {
  display: inline-block; min-height: 44px; margin: 15px auto 0; padding: 10px 14px;
  color: #fff8f0; font-size: .94rem; font-weight: 600; line-height: 1.45;
  text-align: center; text-decoration: underline; text-decoration-color: #ff8c42;
  text-decoration-thickness: 2px; text-underline-offset: 5px; border-radius: 10px;
  transition: background-color .2s ease, text-decoration-color .2s ease;
}
.hero-whatsapp:hover, .hero-whatsapp:focus-visible {
  color: #fff; background: rgba(255,248,240,.16); text-decoration-color: #fff;
}
.hero-whatsapp:focus-visible { outline: 2px solid #fff8f0; outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) { .hero-whatsapp { transition: none; } }
/* Acceso persistente, no abre WhatsApp hasta activar este enlace. Logo SVG local. */
.whatsapp-float {
  position: fixed; right: max(20px, env(safe-area-inset-right));
  bottom: max(20px, env(safe-area-inset-bottom)); z-index: 49;
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  min-height: 56px; padding: 12px 20px; border-radius: 999px;
  background: #076943; color: #fff; border: 1px solid rgba(255,255,255,.4);
  font-size: .95rem; font-weight: 700; line-height: 1.2; text-decoration: none;
  box-shadow: 0 5px 18px rgba(20,52,38,.3);
  transition: background-color .2s ease, transform .2s ease;
}
.whatsapp-float:hover { background: #07583a; color: #fff; transform: translateY(-2px); }
.whatsapp-float:focus-visible { outline: 3px solid #ff8c42; outline-offset: 3px; }
.whatsapp-float img { width: 26px; height: 26px; display: block; }
@media (max-width: 640px) {
  .whatsapp-float { right: max(16px, env(safe-area-inset-right)); bottom: max(16px, env(safe-area-inset-bottom)); width: 56px; padding: 0; }
  .whatsapp-float span { display: none; }
  .footer-bottom { padding-bottom: 72px; }
}
@media (prefers-reduced-motion: reduce) { .whatsapp-float { transition-duration: 0s !important; } .whatsapp-float:hover { transform: none; } }
#casos .solutions-v2 { gap: 20px; }
#casos .solutions-v2 .flow-card {
  min-width: 0; min-height: 535px; position: relative; overflow: hidden;
  padding: 26px 27px 24px; gap: 0; border-radius: 20px; background: #fff;
  box-shadow: 0 16px 35px -34px rgba(44,62,80,.48);
  transition: transform .35s cubic-bezier(.2,.75,.2,1),box-shadow .35s,border-color .35s;
}
#casos .solutions-v2 .flow-card::before {
  content: ""; position: absolute; left: 0; right: 0; top: 0; height: 3px;
  background: var(--accion); transform: scaleX(.19); transform-origin: left;
  transition: transform .45s cubic-bezier(.2,.75,.2,1);
}
#casos .solutions-v2 .flow-card:hover {
  transform: translateY(-7px); border-color: #e9b390;
  box-shadow: 0 24px 50px -27px rgba(44,62,80,.27);
}
#casos .solutions-v2 .flow-card:hover::before { transform: scaleX(1); }
#casos .solution-top { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
#casos .solution-index { font: 600 11px 'JetBrains Mono',monospace; color: #a36846; white-space: nowrap; }
#casos .solutions-v2 .flow-tag { font-size: 10px; line-height: 1.2; letter-spacing: .035em; padding: 7px 9px; text-align: center; }
#casos .solution-icon {
  width: 56px; height: 56px; display: grid; place-items: center; margin-top: 32px;
  border: 1px solid #f5dac8; border-radius: 14px; color: var(--accion); background: #fff8f2;
  transition: transform .4s,background .4s,color .4s;
}
#casos .solution-icon svg { width: 34px; height: 34px; }
#casos .solutions-v2 .flow-card:hover .solution-icon { transform: rotate(-5deg) scale(1.08); background: var(--accion); color: white; }
#casos .solutions-v2 .flow-title { margin: 22px 0 9px; font-size: 21px; line-height: 1.22; letter-spacing: -.025em; }
#casos .solutions-v2 .flow-desc { margin: 0 0 26px; font-size: 14px; line-height: 1.65; }
#casos .solution-story {
  margin-top: auto; padding: 15px 17px 12px; border: 1px solid #f1e1d5;
  border-radius: 14px; background: linear-gradient(155deg,#fff9f4,#fffdfa);
}
#casos .solution-caption { display: block; margin-bottom: 10px; color: #a24c24; font: 600 10px 'JetBrains Mono',monospace; letter-spacing: .09em; text-transform: uppercase; }
#casos .solution-story ol { list-style: none; margin: 0; padding: 0; }
#casos .solution-story li { display: flex; gap: 13px; align-items: flex-start; min-height: 53px; position: relative; }
#casos .solution-story li:not(:last-child)::after { content: ""; position: absolute; left: 11px; top: 27px; bottom: 2px; width: 1px; background: #e9c1a8; }
#casos .solution-num {
  width: 23px; height: 23px; display: grid; place-items: center; flex: 0 0 auto;
  border-radius: 50%; background: white; border: 1px solid #ebc8ad; color: #b44c18;
  font: 600 9px 'JetBrains Mono',monospace; transition: background .3s,color .3s,transform .3s;
}
#casos .solutions-v2 .flow-card:hover .solution-num { background: var(--accion); color: white; transform: scale(1.09); }
#casos .solution-story small { display: block; font-size: 11px; line-height: 1.25; color: #765d50; margin-bottom: 3px; }
#casos .solution-story strong { display: block; font-size: 13px; line-height: 1.4; font-weight: 600; color: var(--confianza); }
#casos .flows-more { margin-top: 24px; border-radius: 17px; background: white; }
#casos .flows-more > summary { padding: 18px 24px; }
#casos .flows-more > summary:focus-visible { outline: 3px solid var(--accion); outline-offset: -3px; }
#casos .flows-more-grid { gap: 0; padding: 0; grid-template-columns: repeat(2,minmax(0,1fr)); border-top: 1px solid #f3e7dd; }
#casos .flow-more-card { padding: 23px 26px; min-width: 0; }
#casos .flow-more-card + .flow-more-card { border-left: 1px solid #f3e7dd; }
#casos .flow-more-card h4 { margin: 14px 0 5px; font-size: 16px; }
#casos .flow-more-card .flow-tools { margin-top: 13px; }
@media (max-width: 980px) { #casos .solutions-v2 .flow-card { min-height: 505px; } }
@media (max-width: 680px) {
  #casos .solutions-v2 .flow-card { min-height: 0; padding: 23px 22px; }
  #casos .solution-icon { margin-top: 24px; }
  #casos .solution-story li { min-height: 50px; }
  #casos .flows-more-grid { grid-template-columns: 1fr; }
  #casos .flow-more-card + .flow-more-card { border-left: 0; border-top: 1px solid #f3e7dd; }
}
@media (pointer: coarse), (prefers-reduced-motion: reduce) {
  #casos .solutions-v2 .flow-card, #casos .solutions-v2 .flow-card::before,
  #casos .solution-icon, #casos .solution-num { transition: none !important; }
  #casos .solutions-v2 .flow-card:hover { transform: none; }
  #casos .solutions-v2 .flow-card::before { transform: scaleX(1); }
}
/* Enlace de la home al catálogo /oportunidades-ia/ (casos en video). */
.casos-video-link { margin: 26px 0 0; text-align: center; }
.casos-video-link a {
  display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 10px 18px;
  border: 1px solid rgba(232,101,26,.3); border-radius: 999px; background: #fff;
  color: var(--confianza); font-weight: 600; font-size: .95rem; line-height: 1.35; text-align: center;
  transition: border-color .2s ease, color .2s ease, background-color .2s ease;
}
.casos-video-link a:hover, .casos-video-link a:focus-visible { border-color: var(--accion); color: var(--accion); background: #fff8f2; }
.casos-video-link a:focus-visible { outline: 3px solid var(--accion); outline-offset: 3px; }
/* Menú de escritorio angosto (1024–1199px): etiquetas cortas para que quepa en una fila. */
@media (min-width: 1024px) and (max-width: 1199px) {
  .nav-links .nav-text-full { display: none; }
  .nav-links .nav-text-short { display: inline; }
}
