/*
 * Productos financieros (Core Bancario).
 * Concepto: la ficha maestra. El producto se define una vez en el catálogo y cada solicitud
 * lo toma de ahí. El fondo guilloché (papel de seguridad de pagarés y títulos de crédito)
 * marca solo la definición registrada del producto: tarjeta del hero, catálogo central,
 * ficha del ejemplo y módulo actual. Tinta navy + verde azulado; display serif Source Serif 4.
 * Momento animado único: en el hero se selecciona PF-02 en el catálogo y llena el campo
 * "Producto financiero" de la solicitud. Sin animaciones al hacer scroll.
 */
[data-function-layout="productos-financieros"] {
    --pf-ink: #041f49;
    --pf-paper: #eef2ef;
    --pf-teal: #17716a;
    --pf-teal-light: #8fd8cb;
    --pf-tint: #dcefea;
    --pf-line: #d3dcd8;
    --pf-muted: #4a5560;
    --pf-text: #1f2a3d;
    --pf-serif: "Source Serif 4", Georgia, "Times New Roman", serif;
    --pf-ease: cubic-bezier(.2, .7, .2, 1);
}

[data-function-layout="productos-financieros"] .cv-hero-title,
[data-function-layout="productos-financieros"] .cv-section-title,
[data-function-layout="productos-financieros"] .cv-form-title {
    font-family: var(--pf-serif);
    font-weight: 600;
    letter-spacing: -.015em;
}

/* ---------- Superficies ---------- */
[data-function-layout="productos-financieros"] .pf-paper { background: var(--pf-paper); }
[data-function-layout="productos-financieros"] .pf-navy { background: var(--pf-ink); color: #fff; }
[data-function-layout="productos-financieros"] .pf-navy .cv-section-title { color: #fff; }
[data-function-layout="productos-financieros"] .pf-split { display: grid; gap: 2.5rem 4rem; align-items: center; }
[data-function-layout="productos-financieros"] .pf-lead {
    margin-top: 1.25rem;
    max-width: 40rem;
    color: var(--pf-text);
    font-size: clamp(1.0625rem, 1.4vw, 1.1875rem);
    line-height: 1.75;
}
[data-function-layout="productos-financieros"] .pf-navy .pf-lead { max-width: 52rem; color: rgb(255 255 255 / .85); }
[data-function-layout="productos-financieros"] .pf-subtitle { margin: 0; color: var(--pf-ink); font-family: var(--pf-serif); font-size: 1.35rem; font-weight: 600; }

/* Papel de seguridad: dos familias de anillos finos que se cruzan en moiré. */
[data-function-layout="productos-financieros"] .pf-guilloche {
    background-color: #fff;
    background-image:
        repeating-radial-gradient(circle at 0 100%, transparent 0 7px, rgb(23 113 106 / .075) 7px 8px),
        repeating-radial-gradient(circle at 100% 0, transparent 0 7px, rgb(23 113 106 / .075) 7px 8px);
}

[data-function-layout="productos-financieros"] .pf-bar { display: block; height: .55rem; border-radius: .2rem; background: #dfe5e2; }

/* ---------- Hero ---------- */
[data-function-layout="productos-financieros"] #inicio {
    background: linear-gradient(155deg, #041f49 0%, #0a2c5c 70%, #0f3870 100%);
    color: #fff;
}
[data-function-layout="productos-financieros"] #inicio .function-hero__media img { object-position: 65% 50%; }
[data-function-layout="productos-financieros"] #inicio .function-hero__overlay {
    background:
        radial-gradient(circle at 80% 30%, rgb(143 216 203 / .12), transparent 45%),
        linear-gradient(180deg, transparent 65%, rgb(4 31 73 / .7) 100%),
        linear-gradient(90deg, rgb(4 31 73 / .97) 0%, rgb(4 31 73 / .9) 42%, rgb(10 44 92 / .7) 70%, rgb(15 56 112 / .52) 100%);
}
[data-function-layout="productos-financieros"] .rh-hero-layout { position: relative; z-index: 1; align-items: center; }

[data-function-layout="productos-financieros"] .pf-path {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .5rem;
    margin: 0 0 1rem;
    color: var(--pf-teal-light);
    font-size: 1rem;
    font-weight: 600;
}
/* El último separador queda abierto a propósito: el H1 es el último tramo de la ruta. */
[data-function-layout="productos-financieros"] .pf-path span::after {
    content: "›";
    content: "›" / "";
    margin-left: .5rem;
    color: rgb(255 255 255 / .6);
}
[data-function-layout="productos-financieros"] #inicio .cv-hero-title {
    max-width: none;
    color: #fff;
    font-size: clamp(3rem, 7vw, 6.25rem);
    line-height: .95;
    letter-spacing: -.025em;
}
[data-function-layout="productos-financieros"] #inicio .cv-hero-description { max-width: 36rem; margin-top: 1.5rem; color: rgb(255 255 255 / .84); }
[data-function-layout="productos-financieros"] .pf-hero__actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 2rem; }
[data-function-layout="productos-financieros"] #inicio .cv-primary-button { border-color: var(--pf-teal-light); background: var(--pf-teal-light); color: var(--pf-ink); box-shadow: 0 14px 30px rgb(0 0 0 / .3); }
[data-function-layout="productos-financieros"] #inicio .cv-primary-button:hover,
[data-function-layout="productos-financieros"] #inicio .cv-primary-button:focus-visible { border-color: #b5e8de; background: #b5e8de; }
[data-function-layout="productos-financieros"] #inicio .cv-secondary-button { border-color: rgb(255 255 255 / .7); background: transparent; color: #fff; }
[data-function-layout="productos-financieros"] #inicio .cv-secondary-button:hover,
[data-function-layout="productos-financieros"] #inicio .cv-secondary-button:focus-visible { background: #fff; color: var(--pf-ink); }
[data-function-layout="productos-financieros"] #inicio .cv-primary-button:focus-visible,
[data-function-layout="productos-financieros"] #inicio .cv-secondary-button:focus-visible { outline: 3px solid var(--pf-teal-light); outline-offset: 3px; }

/* Catálogo + solicitud de crédito. */
[data-function-layout="productos-financieros"] .pf-console { justify-self: center; width: 100%; max-width: 30rem; margin: 0; color: var(--pf-ink); }
[data-function-layout="productos-financieros"] .pf-console .cv-icon { width: 16px; height: 16px; flex-basis: 16px; }
[data-function-layout="productos-financieros"] .pf-catalog {
    overflow: hidden;
    border: 1px solid rgb(255 255 255 / .2);
    border-radius: .5rem;
    background: #fff;
    box-shadow: 0 30px 60px rgb(0 0 0 / .35);
}
[data-function-layout="productos-financieros"] .pf-catalog__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.25rem;
    background: var(--pf-teal);
    color: #fff;
}
[data-function-layout="productos-financieros"] .pf-catalog__title { margin: 0; font-family: var(--pf-serif); font-size: 1.2rem; font-weight: 600; }
[data-function-layout="productos-financieros"] .pf-catalog__exports { display: flex; gap: .35rem; }
[data-function-layout="productos-financieros"] .pf-catalog__exports span {
    padding: .15rem .5rem;
    border: 1px solid rgb(255 255 255 / .4);
    border-radius: .25rem;
    font-size: .75rem;
    font-weight: 700;
}
[data-function-layout="productos-financieros"] .pf-catalog__tools { display: flex; gap: .5rem; padding: .85rem 1.25rem; border-bottom: 1px solid var(--pf-line); }
[data-function-layout="productos-financieros"] .pf-catalog__search,
[data-function-layout="productos-financieros"] .pf-catalog__filter {
    display: flex;
    align-items: center;
    gap: .45rem;
    padding: .45rem .7rem;
    border: 1px solid var(--pf-line);
    border-radius: .35rem;
    color: var(--pf-muted);
    font-size: .82rem;
    font-weight: 600;
    white-space: nowrap;
}
[data-function-layout="productos-financieros"] .pf-catalog__search { flex: 1; min-width: 0; overflow: hidden; }
[data-function-layout="productos-financieros"] .pf-catalog__rows { margin: 0; padding: .4rem 0; list-style: none; }
[data-function-layout="productos-financieros"] .pf-row { display: grid; grid-template-columns: 3.5rem minmax(0, 1fr); gap: .9rem; align-items: center; padding: .7rem 1.25rem; }
[data-function-layout="productos-financieros"] .pf-row__code { color: var(--pf-ink); font-size: .88rem; font-weight: 700; font-variant-numeric: tabular-nums; }
[data-function-layout="productos-financieros"] .pf-row:nth-child(1) .pf-bar { width: 70%; }
[data-function-layout="productos-financieros"] .pf-row:nth-child(2) .pf-bar { width: 55%; }
[data-function-layout="productos-financieros"] .pf-row:nth-child(3) .pf-bar { width: 82%; }
[data-function-layout="productos-financieros"] .pf-row:nth-child(4) .pf-bar { width: 46%; }
[data-function-layout="productos-financieros"] .pf-row.is-selected {
    background: var(--pf-tint);
    box-shadow: inset 4px 0 0 var(--pf-teal);
    animation: pf-select .5s ease .7s both;
}
[data-function-layout="productos-financieros"] .pf-row.is-selected .pf-bar { background: #a9d6cd; }

[data-function-layout="productos-financieros"] .pf-request {
    position: relative;
    width: 86%;
    margin: 1.75rem 0 0 auto;
    padding: 1.25rem 1.35rem 1.4rem;
    border: 1px solid #c9dcd6;
    border-radius: .5rem;
    box-shadow: 0 30px 60px rgb(0 0 0 / .4);
}
/* Hilo que baja del catálogo a la solicitud. */
[data-function-layout="productos-financieros"] .pf-request::before {
    content: "";
    position: absolute;
    top: -1.75rem;
    left: 2.5rem;
    width: 2px;
    height: 1.75rem;
    background: var(--pf-teal-light);
    transform-origin: top;
    animation: pf-draw .35s ease 1.1s both;
}
[data-function-layout="productos-financieros"] .pf-request__title { margin: 0; font-family: var(--pf-serif); font-size: 1.15rem; font-weight: 600; }
[data-function-layout="productos-financieros"] .pf-request__field { display: grid; gap: .35rem; margin-top: .9rem; }
[data-function-layout="productos-financieros"] .pf-request__label { color: var(--pf-muted); font-size: .78rem; font-weight: 700; }
[data-function-layout="productos-financieros"] .pf-request__value {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: .75rem;
    align-items: center;
    min-height: 2.75rem;
    padding: .5rem .75rem;
    border: 2px solid var(--pf-teal);
    border-radius: .35rem;
    background: #fff;
}
[data-function-layout="productos-financieros"] .pf-request__value > * { animation: pf-fill .45s var(--pf-ease) 1.45s both; }
[data-function-layout="productos-financieros"] .pf-request__value strong { font-weight: 800; font-variant-numeric: tabular-nums; }
[data-function-layout="productos-financieros"] .pf-request__value .pf-bar { width: 70%; background: #a9d6cd; }
[data-function-layout="productos-financieros"] .pf-request__check { display: grid; color: var(--pf-teal); }
[data-function-layout="productos-financieros"] .pf-request__check .cv-icon { width: 20px; height: 20px; flex-basis: 20px; }
[data-function-layout="productos-financieros"] .pf-request__hint { color: var(--pf-teal); font-size: .8rem; font-weight: 600; animation: pf-fill .45s var(--pf-ease) 1.8s both; }
[data-function-layout="productos-financieros"] .pf-request__skeleton { display: block; width: 80%; height: .55rem; margin-top: .85rem; border-radius: .2rem; background: #e3e9e6; }
[data-function-layout="productos-financieros"] .pf-request__skeleton:last-child { width: 55%; }

/* ---------- Problema: fuentes dispersas que se reúnen en el catálogo ---------- */
[data-function-layout="productos-financieros"] .pf-converge { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; margin: 0; }
[data-function-layout="productos-financieros"] .pf-converge__sources { position: relative; display: grid; gap: 1.1rem; margin: 0; padding: 0 3rem 0 0; list-style: none; }
[data-function-layout="productos-financieros"] .pf-converge__sources li {
    justify-self: start;
    padding: .7rem 1rem;
    border: 1.5px dashed #9fb0aa;
    border-radius: .35rem;
    background: #fff;
    color: var(--pf-muted);
    font-weight: 600;
}
[data-function-layout="productos-financieros"] .pf-converge__sources li:nth-child(1) { rotate: -3deg; }
[data-function-layout="productos-financieros"] .pf-converge__sources li:nth-child(2) { rotate: 2deg; margin-left: 1.25rem; }
[data-function-layout="productos-financieros"] .pf-converge__sources li:nth-child(3) { rotate: -1.5deg; margin-left: .5rem; }
/* Llave que agrupa las fuentes y las lleva al catálogo. */
[data-function-layout="productos-financieros"] .pf-converge__sources::after {
    content: "";
    position: absolute;
    top: 14%;
    bottom: 14%;
    right: 1.25rem;
    width: 1rem;
    border: 2px solid var(--pf-teal);
    border-left: 0;
    border-radius: 0 .5rem .5rem 0;
}
[data-function-layout="productos-financieros"] .pf-converge__sources::before {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    width: 1.25rem;
    border-top: 2px solid var(--pf-teal);
}
[data-function-layout="productos-financieros"] .pf-converge__target {
    display: flex;
    align-items: center;
    gap: .75rem;
    margin: 0;
    padding: 1.5rem 1.25rem;
    border: 2px solid var(--pf-teal);
    border-radius: .5rem;
    box-shadow: 0 20px 40px rgb(4 31 73 / .1);
    color: var(--pf-ink);
    font-family: var(--pf-serif);
    font-size: clamp(1.2rem, 2vw, 1.45rem);
    font-weight: 600;
    line-height: 1.2;
}
[data-function-layout="productos-financieros"] .pf-converge__target .cv-icon { width: 28px; height: 28px; flex-basis: 28px; color: var(--pf-teal); }

/* ---------- Qué es: funcionalidades ---------- */
[data-function-layout="productos-financieros"] .pf-features { display: grid; margin: 1.25rem 0 0; padding: 0; list-style: none; border-top: 2px solid var(--pf-ink); }
[data-function-layout="productos-financieros"] .pf-features li {
    display: grid;
    grid-template-columns: 2.75rem minmax(0, 1fr);
    gap: 1rem;
    align-items: center;
    padding: 1.05rem 0;
    border-bottom: 1px solid var(--pf-line);
    color: var(--pf-text);
    font-size: 1.0625rem;
    line-height: 1.55;
}
[data-function-layout="productos-financieros"] .pf-features__icon {
    display: grid;
    place-items: center;
    width: 2.75rem;
    height: 2.75rem;
    border-radius: .5rem;
    background: #fff;
    box-shadow: inset 0 0 0 1px var(--pf-line);
    color: var(--pf-teal);
}

/* ---------- Flujo funcional: secuencia real, de ahí la numeración ---------- */
[data-function-layout="productos-financieros"] .pf-flow { position: relative; display: grid; margin: 3rem 0 0; padding: 0; list-style: none; }
[data-function-layout="productos-financieros"] .pf-flow::before {
    content: "";
    position: absolute;
    top: 1.375rem;
    bottom: 1.375rem;
    left: calc(1.375rem - 1px);
    width: 2px;
    background: rgb(255 255 255 / .25);
}
[data-function-layout="productos-financieros"] .pf-flow li { position: relative; display: grid; grid-template-columns: 2.75rem minmax(0, 1fr); gap: 1rem; align-items: center; padding: .6rem 0; }
[data-function-layout="productos-financieros"] .pf-flow__num {
    display: grid;
    place-items: center;
    width: 2.75rem;
    height: 2.75rem;
    border-radius: 50%;
    background: var(--pf-ink);
    box-shadow: inset 0 0 0 2px rgb(255 255 255 / .45);
    color: #fff;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}
[data-function-layout="productos-financieros"] .pf-flow__label { color: rgb(255 255 255 / .9); font-size: 1.05rem; font-weight: 600; line-height: 1.4; }
[data-function-layout="productos-financieros"] .pf-flow .is-origin .pf-flow__num { background: var(--pf-teal-light); box-shadow: none; color: var(--pf-ink); }
[data-function-layout="productos-financieros"] .pf-flow .is-origin .pf-flow__label { color: var(--pf-teal-light); font-family: var(--pf-serif); font-size: 1.2rem; }

/* ---------- Ejemplo: un registro, muchas solicitudes ---------- */
[data-function-layout="productos-financieros"] .pf-fanout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 4rem minmax(0, 1fr);
    grid-template-areas: ". . many" "source lines targets";
    align-items: center;
    row-gap: .6rem;
    margin: 0;
}
[data-function-layout="productos-financieros"] .pf-fanout__source {
    grid-area: source;
    display: grid;
    gap: .5rem;
    padding: 1.25rem;
    border: 2px solid var(--pf-teal);
    border-radius: .5rem;
    box-shadow: 0 20px 40px rgb(4 31 73 / .1);
}
[data-function-layout="productos-financieros"] .pf-fanout__source strong { color: var(--pf-ink); font-family: var(--pf-serif); font-size: 2rem; font-weight: 600; line-height: 1; }
[data-function-layout="productos-financieros"] .pf-fanout__source .pf-bar { width: 75%; }
[data-function-layout="productos-financieros"] .pf-fanout__caption { color: var(--pf-muted); font-size: .85rem; font-weight: 600; line-height: 1.35; }
[data-function-layout="productos-financieros"] .pf-fanout__caption--many { grid-area: many; }
[data-function-layout="productos-financieros"] .pf-fanout__lines { grid-area: lines; align-self: stretch; width: 100%; height: 100%; overflow: visible; }
[data-function-layout="productos-financieros"] .pf-fanout__lines path { fill: none; stroke: var(--pf-teal); stroke-width: 2; vector-effect: non-scaling-stroke; }
[data-function-layout="productos-financieros"] .pf-fanout__targets { grid-area: targets; display: grid; grid-template-rows: repeat(3, minmax(0, 1fr)); gap: .8rem; margin: 0; padding: 0; list-style: none; }
[data-function-layout="productos-financieros"] .pf-fanout__targets li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    padding: .8rem 1rem;
    border: 1px solid var(--pf-line);
    border-left: 4px solid var(--pf-teal);
    border-radius: .35rem;
    background: #fff;
}
[data-function-layout="productos-financieros"] .pf-fanout__targets span { color: var(--pf-muted); font-size: .92rem; }
[data-function-layout="productos-financieros"] .pf-fanout__targets strong { color: var(--pf-ink); font-weight: 700; font-variant-numeric: tabular-nums; }

/* ---------- Integración ---------- */
[data-function-layout="productos-financieros"] .pf-modules { display: grid; gap: 1rem; margin: 2.5rem 0 0; padding: 0; list-style: none; }
[data-function-layout="productos-financieros"] .pf-modules li {
    display: grid;
    align-content: start;
    gap: .75rem;
    padding: 1.5rem;
    border-radius: .5rem;
    background-color: #fff;
    box-shadow: inset 0 0 0 1px var(--pf-line);
}
[data-function-layout="productos-financieros"] .pf-modules li.is-current { box-shadow: inset 0 0 0 2px var(--pf-teal); }
[data-function-layout="productos-financieros"] .pf-modules__icon { display: grid; place-items: center; width: 2.75rem; height: 2.75rem; border-radius: .5rem; background: var(--pf-tint); color: var(--pf-teal); }
[data-function-layout="productos-financieros"] .pf-modules h3 { margin: 0; color: var(--pf-ink); font-family: var(--pf-serif); font-size: 1.25rem; font-weight: 600; line-height: 1.25; }
[data-function-layout="productos-financieros"] .pf-modules p { margin: 0; color: var(--pf-muted); line-height: 1.6; }

/* ---------- Comparación operativa ---------- */
[data-function-layout="productos-financieros"] .pf-compare { width: 100%; margin-top: 2.5rem; border-collapse: collapse; table-layout: fixed; }
[data-function-layout="productos-financieros"] .pf-compare thead th {
    padding: 1rem 1.25rem;
    border-bottom: 3px solid var(--pf-line);
    color: var(--pf-muted);
    font-family: var(--pf-serif);
    font-size: 1.2rem;
    font-weight: 600;
    text-align: left;
}
[data-function-layout="productos-financieros"] .pf-compare thead th:last-child { border-bottom-color: var(--pf-teal); color: var(--pf-ink); }
[data-function-layout="productos-financieros"] .pf-compare td { padding: 1.15rem 1.25rem; border-bottom: 1px solid var(--pf-line); font-size: 1.0625rem; line-height: 1.6; vertical-align: top; }
[data-function-layout="productos-financieros"] .pf-compare td:first-child { color: var(--pf-muted); }
[data-function-layout="productos-financieros"] .pf-compare td:last-child { background: #f4f9f7; color: var(--pf-ink); font-weight: 600; }
[data-function-layout="productos-financieros"] .pf-compare__check { display: inline-grid; margin-right: .6rem; vertical-align: -.3em; color: var(--pf-teal); }
[data-function-layout="productos-financieros"] .pf-compare__check .cv-icon { width: 20px; height: 20px; flex-basis: 20px; }

/* ---------- Responsive ---------- */
@media (min-width: 768px) {
    [data-function-layout="productos-financieros"] .pf-modules { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1024px) {
    [data-function-layout="productos-financieros"] .rh-hero-layout { grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); }
    [data-function-layout="productos-financieros"] .pf-split { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    [data-function-layout="productos-financieros"] .pf-split--wide { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); align-items: start; }
    [data-function-layout="productos-financieros"] .pf-modules { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    [data-function-layout="productos-financieros"] .pf-flow { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 1rem; }
    [data-function-layout="productos-financieros"] .pf-flow::before {
        top: calc(1.375rem - 1px);
        bottom: auto;
        left: 1.375rem;
        right: calc((100% - 5rem) / 6 - 1.375rem);
        width: auto;
        height: 2px;
    }
    [data-function-layout="productos-financieros"] .pf-flow li { grid-template-columns: minmax(0, 1fr); align-content: start; align-items: start; gap: .9rem; padding: 0; }
}
@media (max-width: 1023px) {
    [data-function-layout="productos-financieros"] #inicio .function-hero__overlay {
        background: linear-gradient(180deg, rgb(4 31 73 / .95) 0%, rgb(4 31 73 / .86) 50%, rgb(10 44 92 / .68) 100%);
    }
}
@media (max-width: 767px) {
    [data-function-layout="productos-financieros"] .pf-hero__actions > * { width: 100%; }
    [data-function-layout="productos-financieros"] .pf-request { width: 94%; }
    [data-function-layout="productos-financieros"] .pf-catalog__exports { display: none; }

    [data-function-layout="productos-financieros"] .pf-converge { grid-template-columns: minmax(0, 1fr); }
    [data-function-layout="productos-financieros"] .pf-converge__sources { display: flex; flex-wrap: wrap; justify-content: center; gap: .75rem; padding: 0 0 3rem; }
    [data-function-layout="productos-financieros"] .pf-converge__sources li:nth-child(n) { margin-left: 0; }
    [data-function-layout="productos-financieros"] .pf-converge__sources::after {
        top: auto;
        right: 12%;
        bottom: 1.25rem;
        left: 12%;
        width: auto;
        height: 1rem;
        border: 2px solid var(--pf-teal);
        border-top: 0;
        border-radius: 0 0 .5rem .5rem;
    }
    [data-function-layout="productos-financieros"] .pf-converge__sources::before { top: auto; right: auto; bottom: 0; left: calc(50% - 1px); width: 0; height: 1.25rem; border-top: 0; border-left: 2px solid var(--pf-teal); }

    [data-function-layout="productos-financieros"] .pf-fanout { grid-template-columns: minmax(0, 1fr); grid-template-areas: "source" "many" "targets"; row-gap: 1rem; }
    [data-function-layout="productos-financieros"] .pf-fanout__lines { display: none; }
    [data-function-layout="productos-financieros"] .pf-fanout__caption--many { padding-left: 1.5rem; }
    [data-function-layout="productos-financieros"] .pf-fanout__targets { margin-left: 1.5rem; padding-left: 1rem; border-left: 2px solid var(--pf-teal); }

    [data-function-layout="productos-financieros"] .pf-compare thead { display: none; }
    [data-function-layout="productos-financieros"] .pf-compare,
    [data-function-layout="productos-financieros"] .pf-compare tbody,
    [data-function-layout="productos-financieros"] .pf-compare tr,
    [data-function-layout="productos-financieros"] .pf-compare td { display: block; width: 100%; }
    [data-function-layout="productos-financieros"] .pf-compare tr { padding: .75rem 0; border-bottom: 1px solid var(--pf-line); }
    [data-function-layout="productos-financieros"] .pf-compare td { padding: .65rem .85rem; border-bottom: 0; }
    [data-function-layout="productos-financieros"] .pf-compare td::before {
        content: attr(data-label);
        display: block;
        margin-bottom: .2rem;
        color: var(--pf-muted);
        font-size: .82rem;
        font-weight: 700;
    }
}

/* ---------- Keyframes ---------- */
@keyframes pf-select {
    from { background: transparent; box-shadow: inset 0 0 0 var(--pf-teal); }
}
@keyframes pf-draw {
    from { transform: scaleY(0); }
}
@keyframes pf-fill {
    from { opacity: 0; transform: translateX(-.5rem); }
}

@media (prefers-reduced-motion: reduce) {
    [data-function-layout="productos-financieros"] *,
    [data-function-layout="productos-financieros"] *::before,
    [data-function-layout="productos-financieros"] *::after {
        animation: none !important;
        transition: none !important;
    }
}
