/* ─────────────────────────────────────────────────────────────────────────────
   Las páginas de cada función: /funciones/<nombre> (v2.0.28+).
   Compartido por todas: mismo diseño, un solo lugar para ajustarlo. Va DESPUÉS de
   public.css y solo usa tokens que public.css declara (check-tokens no revisa las
   carpetas). Es inmutable un año en Vercel: tocarlo = `npm run bump css/funciones.css`.
   ───────────────────────────────────────────────────────────────────────────── */
.crumbs{padding:22px 0 0;font-size:12.5px;color:var(--text3);position:relative;z-index:2}
.crumbs a{color:var(--text3);text-decoration:none}
.crumbs a:hover{color:var(--teal-dark)}
.crumbs span{margin:0 6px;opacity:.5}
/* ── La página de una función (v2.0.28) ──────────────────────────────────────
   Mismo cromo que las guías (public.css); lo propio va aquí. Solo tokens que
   public.css declara: esta carpeta no la revisa check-tokens. */
.fx{position:relative;z-index:2}
.fx-hero{margin:18px 0 0;background:var(--navy);border-radius:22px;padding:clamp(28px,5vw,56px);display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(24px,4vw,48px);align-items:center;overflow:hidden;position:relative}
.fx-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 70% at 85% 20%,rgba(0,168,120,.14),transparent 65%);pointer-events:none}
.fx-chip{display:inline-block;font-size:11px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;color:var(--teal);background:rgba(0,168,120,.12);border:1px solid rgba(0,168,120,.25);padding:6px 12px;border-radius:20px;margin-bottom:18px}
.fx-hero h1{font-family:'Barlow Condensed',sans-serif;font-size:clamp(38px,5.6vw,64px);font-weight:800;line-height:.98;letter-spacing:-.5px;color:#fff;margin:0 0 16px}
.fx-hero h1 em{font-style:normal;color:var(--teal)}
.fx-lead{font-size:clamp(15px,1.7vw,17px);line-height:1.7;color:rgba(255,255,255,.62);max-width:46ch;margin:0 0 26px}
.fx-ctas{display:flex;flex-wrap:wrap;gap:10px}
.fx-btn{display:inline-flex;align-items:center;justify-content:center;font-family:'Outfit',sans-serif;font-size:15px;font-weight:700;padding:14px 26px;border-radius:var(--r);text-decoration:none;transition:background .2s,border-color .2s,color .2s,transform .15s}
.fx-btn--pri{background:var(--teal);color:#fff}
.fx-btn--pri:hover{background:var(--teal-dark);transform:translateY(-2px)}
.fx-btn--sec{border:1.5px solid rgba(255,255,255,.22);color:rgba(255,255,255,.85)}
.fx-btn--sec:hover{border-color:rgba(255,255,255,.5);color:#fff}
.fx-btn:focus-visible{outline:2px solid var(--teal);outline-offset:3px}
.fx-fig{margin:0;position:relative}
.fx-hoja{background:var(--card);border-radius:14px;padding:14px;box-shadow:0 20px 50px rgba(0,0,0,.35)}
.fx-hoja svg{display:block;width:100%;height:auto}
.fx-fig figcaption{font-size:12.5px;line-height:1.5;color:rgba(255,255,255,.5);margin-top:12px;text-align:center}
.fx-sec{margin:clamp(48px,7vw,80px) 0 0}
.fx-k{font-size:11px;font-weight:800;letter-spacing:1.4px;text-transform:uppercase;color:var(--teal-dark);margin-bottom:10px}
.fx-h2{font-family:'Barlow Condensed',sans-serif;font-size:clamp(30px,4.4vw,46px);font-weight:800;line-height:1.02;letter-spacing:-.3px;color:var(--navy);margin:0 0 12px}
.fx-sub{font-size:16px;line-height:1.7;color:var(--text2);max-width:58ch;margin:0}
/* Cómo funciona: los 3 pasos que vivían en la landing, en su panel oscuro */
.fx-how{background:var(--navy);border-radius:22px;padding:clamp(32px,5vw,56px);position:relative;overflow:hidden}
.fx-how-top{display:flex;align-items:flex-end;gap:clamp(12px,3vw,28px);margin-bottom:clamp(28px,4vw,40px)}
.fx-how-top img{width:clamp(96px,12vw,140px);height:auto;flex-shrink:0}
.fx-how .fx-k{color:var(--teal)}
.fx-how .fx-h2{color:#fff}
.fx-how .fx-sub{color:rgba(255,255,255,.55)}
.how-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;position:relative}
.how-connector{display:none}
.how-step{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:24px 22px;text-align:center}
.how-step-visual{margin-bottom:18px;border-radius:8px;overflow:hidden;line-height:0}
.how-step-visual svg{display:block;width:100%;height:auto}
.how-step-num{width:46px;height:46px;border-radius:50%;background:rgba(0,168,120,.12);border:1px solid rgba(0,168,120,.25);font-family:'Barlow Condensed',sans-serif;font-size:21px;font-weight:800;color:var(--teal);display:flex;align-items:center;justify-content:center;margin:0 auto 14px}
.how-step-title{font-family:'Barlow Condensed',sans-serif;font-size:21px;font-weight:800;color:#fff;margin:0 0 8px}
.how-step-body{font-size:14px;line-height:1.65;color:rgba(255,255,255,.5);max-width:26ch;margin:0 auto}
/* A fondo */
.fx-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin-top:26px}
.fx-card{background:var(--card);border:1.5px solid var(--border);border-radius:16px;padding:22px}
.fx-card h3{font-family:'Barlow Condensed',sans-serif;font-size:21px;font-weight:800;line-height:1.1;color:var(--navy);margin:0 0 8px}
.fx-card p{font-size:14.5px;line-height:1.65;color:var(--text2);margin:0}
/* Pruébalo */
.fx-prueba{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px 28px;background:var(--card);border:1.5px solid var(--border);border-radius:16px;padding:24px 28px}
.fx-prueba p{margin:0;font-size:16px;line-height:1.6;color:var(--text2);max-width:52ch}
.fx-prueba strong{color:var(--navy)}
.fx-prueba a{font-weight:700;color:var(--teal-dark);text-decoration:none;white-space:nowrap}
.fx-prueba a:hover{text-decoration:underline}
/* Preguntas */
.fx-faq{margin-top:20px;display:grid;gap:10px}
.fx-faq details{background:var(--card);border:1.5px solid var(--border);border-radius:14px;padding:0 20px}
.fx-faq summary{cursor:pointer;list-style:none;padding:18px 0;font-size:16px;font-weight:700;color:var(--navy)}
.fx-faq summary::-webkit-details-marker{display:none}
.fx-faq summary::after{content:'+';float:right;color:var(--teal-dark);font-weight:700}
.fx-faq details[open] summary::after{content:'–'}
.fx-faq p{margin:0 0 18px;font-size:15px;line-height:1.7;color:var(--text2)}
/* Empieza: los dos caminos, como en la landing */
.fx-caminos{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:24px}
.fx-camino{background:var(--card);border:1.5px solid var(--border);border-radius:16px;padding:24px;display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.fx-camino b{font-size:13px;color:var(--teal-dark);letter-spacing:.2px}
.fx-camino p{margin:0 0 6px;font-family:'Barlow Condensed',sans-serif;font-size:clamp(24px,3vw,30px);font-weight:800;line-height:1.08;color:var(--navy)}
.fx-camino .fx-btn--sec{border-color:var(--navy);color:var(--navy)}
.fx-camino .fx-btn--sec:hover{background:var(--navy);color:#fff}
.related{margin:clamp(40px,6vw,64px) 0 10px;position:relative;z-index:2}
.related-k{font-size:11px;font-weight:800;letter-spacing:1.2px;text-transform:uppercase;color:var(--text3);margin-bottom:14px}
.related-list{display:grid;gap:10px}
.related-list a{display:block;background:var(--card);border:1.5px solid var(--border);border-radius:12px;padding:16px 18px;text-decoration:none;transition:border-color .2s,transform .15s}
.related-list a:hover{border-color:var(--teal);transform:translateX(3px)}
.related-t{font-size:15px;font-weight:700;color:var(--navy);margin-bottom:2px}
.related-d{font-size:13px;color:var(--text3)}
@media(max-width:900px){
  .fx-hero{grid-template-columns:1fr}
  .how-steps{grid-template-columns:1fr}
  .fx-caminos{grid-template-columns:1fr}
}
@media(max-width:560px){
  .fx-ctas .fx-btn{width:100%}
  .fx-how-top{flex-direction:column;align-items:flex-start}
}

/* Pasos sencillos (las páginas que no traen dibujo por paso) */
.fx-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.fx-step{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:24px 22px}
.fx-step-num{width:42px;height:42px;border-radius:50%;background:rgba(0,168,120,.12);border:1px solid rgba(0,168,120,.25);font-family:'Barlow Condensed',sans-serif;font-size:20px;font-weight:800;color:var(--teal);display:flex;align-items:center;justify-content:center;margin-bottom:14px}
.fx-step h3{font-family:'Barlow Condensed',sans-serif;font-size:21px;font-weight:800;color:#fff;margin:0 0 8px}
.fx-step p{font-size:14px;line-height:1.65;color:rgba(255,255,255,.52);margin:0}
/* «A fondo» con su ajolote (los de sombra clara viven sobre fondo claro) */
.fx-fondo-top{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}
.fx-fondo-top img{width:clamp(96px,11vw,132px);height:auto;flex-shrink:0}
/* Maquetas de la app dentro del hero (ilustración, aria-hidden: datos de ejemplo) */
.fx-ui{background:var(--card);border-radius:14px;padding:16px;box-shadow:0 20px 50px rgba(0,0,0,.35);color:var(--navy);font-size:13px}
.fx-ui + .fx-ui{margin-top:12px}
.fx-ui-k{font-size:10.5px;font-weight:800;letter-spacing:1.1px;text-transform:uppercase;color:var(--text3);margin-bottom:10px}
.fx-ui-t{font-family:'Barlow Condensed',sans-serif;font-size:20px;font-weight:800;line-height:1.1;color:var(--navy)}
.fx-ui-d{font-size:12px;color:var(--text3);margin-top:2px}
.fx-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:8px 0;border-top:1px solid var(--border)}
.fx-row:first-of-type{border-top:none}
.fx-row span:first-child{color:var(--text2)}
.fx-row b{font-weight:700;color:var(--navy);white-space:nowrap}
.fx-row--hl b{color:var(--teal-dark);font-family:'Barlow Condensed',sans-serif;font-size:20px}
.fx-ui-btn{display:inline-block;margin-top:12px;background:var(--teal);color:#fff;font-size:12px;font-weight:700;padding:8px 14px;border-radius:var(--r)}
.fx-ui-btn--sec{background:transparent;color:var(--navy);border:1.5px solid var(--border)}
.fx-search{display:flex;align-items:center;gap:8px;border:1.5px solid var(--teal);border-radius:var(--r);padding:9px 12px;margin-bottom:10px;color:var(--navy);font-weight:600}
.fx-search svg{color:var(--text3);flex-shrink:0}
.fx-res{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--border)}
.fx-res:first-of-type{border-top:none}
.fx-tbl{width:100%;border-collapse:collapse;font-size:12px}
.fx-tbl th{font-size:10px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;color:var(--text3);text-align:left;padding:0 6px 8px 0}
.fx-tbl td{padding:8px 6px 8px 0;border-top:1px solid var(--border);color:var(--text2);vertical-align:top}
.fx-tbl td:first-child{color:var(--navy);font-weight:600}
.fx-tbl td:last-child{text-align:right;font-weight:700;color:var(--navy);white-space:nowrap}
.fx-tag{display:inline-block;font-size:10.5px;font-weight:700;color:var(--teal-dark);background:var(--teal-dim);border-radius:10px;padding:2px 7px;white-space:nowrap}
.fx-tag--gris{color:var(--text2);background:var(--bg)}
.fx-aviso{display:flex;gap:10px;align-items:center;margin-top:12px;background:var(--navy-mid);border:1px solid rgba(255,255,255,.12);color:#fff;border-radius:12px;padding:12px 14px;font-size:12.5px;line-height:1.45;box-shadow:0 14px 34px rgba(0,0,0,.3)}
.fx-aviso b{color:var(--teal)}
.fx-doc{background:#fff;border-radius:10px;padding:18px;box-shadow:0 20px 50px rgba(0,0,0,.35);color:var(--navy);font-size:12px}
.fx-doc-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:12px;border-bottom:3px solid var(--teal)}
.fx-logo{width:38px;height:38px;border-radius:8px;background:var(--teal-dim);color:var(--teal-dark);display:flex;align-items:center;justify-content:center;font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:18px}
.fx-doc-total{display:flex;justify-content:space-between;align-items:baseline;margin-top:12px;background:var(--teal);color:#fff;border-radius:8px;padding:10px 12px}
.fx-doc-total b{font-family:'Barlow Condensed',sans-serif;font-size:24px}
.fx-wa{display:inline-flex;align-items:center;gap:8px;margin-top:12px;background:#25D366;color:#fff;font-weight:700;font-size:12.5px;padding:9px 14px;border-radius:20px;box-shadow:0 10px 26px rgba(0,0,0,.3)}
.fx-matriz{width:100%;border-collapse:collapse;font-size:11.5px}
.fx-matriz th{font-size:9.5px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:var(--text3);padding:0 4px 8px;text-align:center}
.fx-matriz th:first-child{text-align:left;padding-left:0}
.fx-matriz td{padding:7px 4px;border-top:1px solid var(--border);text-align:center}
.fx-matriz td:first-child{text-align:left;padding-left:0;font-weight:600;color:var(--navy);white-space:nowrap}
.fx-lvl{display:inline-block;width:20px;height:20px;line-height:20px;border-radius:6px;font-size:10px;font-weight:800}
.fx-lvl--e{background:var(--teal);color:#fff}
.fx-lvl--l{background:var(--teal-dim);color:var(--teal-dark)}
.fx-lvl--n{background:var(--bg);color:var(--text3)}
@media(max-width:900px){.fx-steps{grid-template-columns:1fr}}
@media(max-width:560px){.fx-fondo-top img{display:none}}
.fx-masc-ancha img{width:clamp(180px,24vw,300px)!important}
/* ── La página índice /funciones/ (v2.0.30) ──────────────────────────────────
   Cada tarjeta ES el enlace a su función. Tres columnas fijas: con auto-fit, a
   1100 px caben cuatro y las seis quedaban en 4 + 2. */
.fx-grid--indice{grid-template-columns:repeat(3,minmax(0,1fr))}
a.fx-card{display:flex;flex-direction:column;text-decoration:none;transition:border-color .2s,transform .15s}
a.fx-card:hover{border-color:var(--teal);transform:translateY(-2px)}
a.fx-card:focus-visible{outline:2px solid var(--teal);outline-offset:3px}
a.fx-card p{flex:1}
.fx-ir{margin-top:14px;font-size:13px;font-weight:700;color:var(--teal-dark)}
.fx-fig--masc{display:flex;justify-content:center}
.fx-fig--masc img{width:clamp(150px,19vw,230px);height:auto;display:block}
@media(max-width:900px){.fx-grid--indice{grid-template-columns:repeat(2,minmax(0,1fr))}.fx-fig--masc{display:none}}
@media(max-width:560px){.fx-grid--indice{grid-template-columns:1fr}}
