/* Ruvalt: Análisis interactivo y etapas de una operación (todo con prefijo .rvx) */
.rvx{--paper:#F8F9F9;--surface:#FFFFFF;--ink:#26303D;--navy:#44546A;--muted:#767171;--line:#E1E4E6;--mist:#E8F0F2;--accent:#518894;--accent-ink:#FFFFFF;--accent-text:#44546A;--accent-soft:#B0CDD4;--btn:#518894;--btn-ink:#FFFFFF;--band:#44546A;--band-ink:#D8E1E6;--band-soft:#D8E1E6;--up:#7BACB7;--down:#B2573F;--total:#44546A;--range:#AFABAB;--faint:#AFABAB;--neg-zone:rgba(178,87,63,.07);--serif:'Ruvalt Serif',Georgia,'Times New Roman',serif;--sans:'Ruvalt Sans','Segoe UI',Roboto,Helvetica,Arial,sans-serif;font-family:var(--sans);font-size:17px;line-height:1.6;color:var(--ink)}
.rvx *,.rvx *::before,.rvx *::after{box-sizing:border-box}
.rvx [hidden]{display:none!important}
.rvx a{color:inherit}
.rvx h1,.rvx h2,.rvx h3,.rvx h4{font-family:var(--serif);font-weight:500;letter-spacing:-.01em;margin:0;text-wrap:balance}
.rvx p{margin:0;text-wrap:pretty}
.rvx button{font:inherit;color:inherit}
.rvx :focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:6px}
.rvx .rv-wrap{max-width:1160px;margin:0 auto;padding:0 48px;box-sizing:border-box}
.rvx .eyebrow{font-size:13px;font-weight:600;letter-spacing:.2em;color:var(--navy);margin-bottom:14px}
.rvx .lead2{font-size:17px;line-height:1.7;max-width:820px}
.rvx .actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px}
.rvx .actions a{text-decoration:none;font-weight:600;font-size:16px;padding:14px 22px;border-radius:10px;background:var(--btn);color:var(--btn-ink)}
.rvx .actions a.alt{background:#FFFFFF;border:1px solid var(--navy);color:var(--ink);padding:13px 22px}
@media (max-width:760px){.rvx .rv-wrap{padding:0 20px}}
.rvx .seg{display:inline-flex;flex-wrap:wrap;gap:4px;background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:4px}
.rvx .seg button{appearance:none;border:0;background:transparent;cursor:pointer;padding:7px 14px;border-radius:999px;font-size:15px;color:var(--navy)}
.rvx .seg button[aria-selected="true"],.rvx .seg button[aria-pressed="true"]{background:var(--navy);color:#FFFFFF}
.rvx .hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:52px;padding-block:44px 36px;align-items:start}
.rvx .hero h1{font-size:48px;line-height:1.1}
.rvx .hero .lead{margin-top:18px;color:var(--muted);max-width:32em}
.rvx .hero .who{margin-top:16px;font-size:15px;color:var(--navy);max-width:32em}
.rvx .qlist{display:flex;flex-direction:column;gap:10px}
/* La invitación a elegir va en negritas y más grande, para que se note que hay que escoger una pregunta */
.rvx .qlist .ask{font-size:18px;font-weight:600;line-height:1.4;color:var(--ink)}
.rvx .q{appearance:none;cursor:pointer;text-align:left;display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:15px 18px;transition:border-color .2s, box-shadow .2s}
.rvx .q:hover{border-color:var(--range)}
.rvx .q[aria-selected="true"]{border-color:var(--accent);box-shadow:inset 4px 0 0 var(--accent)}
.rvx .q .mark{width:40px;height:40px;border-radius:10px;background:var(--mist);display:grid;place-items:center;color:var(--navy)}
.rvx .q[aria-selected="true"] .mark{background:var(--accent-soft);color:var(--navy)}
.rvx .q .mark svg{width:22px;height:22px}
.rvx .q strong{display:block;font-family:var(--serif);font-weight:500;font-size:22px;line-height:1.25}
.rvx .q small{display:block;font-size:14px;color:var(--muted);margin-top:2px}
@media (max-width:760px){.rvx .hero{grid-template-columns:1fr;gap:26px}}
.rvx .panel{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:clamp(20px,3vw,34px);display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:36px}
.rvx .panel h2{font-size:32px}
.rvx .panel .desc{margin-top:12px}
.rvx .panel .get{margin-top:14px;font-size:15px;color:var(--muted)}
.rvx .panel .get b{color:var(--ink);font-weight:600}
.rvx .panel blockquote{margin:18px 0 0;font-family:var(--serif);font-size:18px;color:var(--navy)}
.rvx .cta{display:inline-block;margin-top:22px;background:var(--btn);color:var(--btn-ink);text-decoration:none;font-weight:600;padding:13px 20px;border-radius:10px}
.rvx .viz{background:var(--paper);border-radius:14px;padding:clamp(16px,2.4vw,22px);display:flex;flex-direction:column;gap:12px;min-width:0}
.rvx .viz h3{font-size:22px}
.rvx .viz .seg{align-self:flex-start}
.rvx .cap{font-size:15px;color:var(--muted)}
@media (max-width:760px){.rvx .panel{grid-template-columns:1fr;gap:24px}}
.rvx .scopes{display:flex;flex-direction:column;gap:8px}
.rvx .scope{appearance:none;cursor:pointer;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px 14px;display:flex;justify-content:space-between;align-items:center;gap:12px}
.rvx .scope b{display:block;font-family:var(--serif);font-weight:500;font-size:18px;line-height:1.3}
.rvx .scope small{display:block;color:var(--muted);font-size:15px}
.rvx .scope[aria-pressed="true"]{border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent)}
.rvx .badge{flex:none;font-size:13px;font-weight:600;color:var(--accent-text);border:1px solid var(--accent);border-radius:999px;padding:2px 9px}
.rvx .sdetail{background:var(--surface);border-radius:12px;padding:14px 16px;display:grid;gap:12px}
.rvx .sdetail h3{font-family:var(--sans);font-size:15px;font-weight:600;color:var(--muted)}
.rvx .sdetail p{margin-top:2px;font-size:15px}
.rvx .sdetail ul{margin:4px 0 0;padding-left:18px;font-size:15px;color:var(--navy);font-family:var(--serif)}
.rvx .sdetail a{color:var(--accent-text);font-weight:500;text-underline-offset:2px}
.rvx .chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.rvx .chips span{background:var(--mist);border-radius:999px;padding:4px 11px;font-size:15px}
@media (max-width:760px){.rvx .scope{flex-direction:column;align-items:flex-start;gap:6px}.rvx .scope .badge{order:-1}}
.rvx .chart{position:relative}
.rvx .chart svg{display:block;width:100%;height:auto;overflow:visible}
.rvx .chart text{font-family:var(--sans)}
.rvx .note{background:var(--surface);border-radius:12px;padding:12px 14px;font-size:15px;min-height:66px}
.rvx .tip{position:absolute;top:6px;pointer-events:none;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:8px 10px;font-size:13px;line-height:1.45;box-shadow:0 6px 18px rgba(38,48,61,.08);min-width:150px;font-variant-numeric:tabular-nums}
.rvx .tip b{display:block;font-weight:600;margin-bottom:2px}
.rvx .tip .row{display:flex;justify-content:space-between;gap:12px;color:var(--muted)}
.rvx .tip .row.on{color:var(--ink);font-weight:600}
.rvx .kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.rvx .kpi{background:var(--surface);border-radius:12px;padding:10px 12px;min-width:0}
.rvx .kpi span{display:block;font-size:13px;color:var(--muted)}
.rvx .kpi strong{display:block;font-family:var(--serif);font-weight:500;font-size:18px;line-height:1.3;font-variant-numeric:tabular-nums}
.rvx .kpi.warn strong{color:var(--down)}
@media (max-width:760px){.rvx .kpis{grid-template-columns:1fr}}
.rvx .ff{position:relative;display:flex;flex-direction:column;gap:12px;padding-top:4px}
.rvx .ff-band{position:absolute;top:0;bottom:30px;background:var(--accent);opacity:.16;border-radius:6px;transition:left .25s ease,width .25s ease;pointer-events:none}
.rvx .ff-row{appearance:none;border:0;background:transparent;cursor:pointer;text-align:left;display:flex;flex-direction:column;gap:5px;padding:0;position:relative;z-index:1}
.rvx .ff-head{display:flex;justify-content:space-between;gap:10px;font-size:14px;color:var(--muted)}
.rvx .ff-head b{color:var(--ink);font-weight:500}
.rvx .ff-head span:last-child{font-variant-numeric:tabular-nums;white-space:nowrap}
.rvx .ff-track{position:relative;height:12px;border-radius:6px;background:var(--line)}
.rvx .ff-bar{position:absolute;top:0;bottom:0;border-radius:6px;background:var(--range);transition:left .25s ease,width .25s ease}
.rvx .ff-row[aria-pressed="true"] .ff-bar{background:var(--total)}
.rvx .ff-axis{position:relative;height:18px;font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums}
.rvx .ff-axis span{position:absolute;transform:translateX(-50%)}
.rvx .value{font-family:var(--serif);font-size:26px;font-variant-numeric:tabular-nums}
.rvx .section-title{font-size:32px}
.rvx .steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:22px;counter-reset:s}
.rvx .step{border-top:2px solid var(--accent);padding-top:14px}
.rvx .step h3{font-size:22px}
.rvx .step h3::before{counter-increment:s;content:counter(s) ". ";color:var(--accent-text)}
.rvx .step p{margin-top:8px;font-size:15px;color:var(--muted)}
@media (max-width:760px){.rvx .steps{grid-template-columns:1fr}}
.rvx .block{margin-top:64px}
.rvx .path{margin-top:18px;display:flex;flex-direction:column;gap:14px}
.rvx .sublead{margin-top:8px;color:var(--muted);max-width:40em}
.rvx .opsrow{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px}
.rvx .have{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;font-size:15px;color:var(--navy)}
.rvx .have-q{font-weight:600;color:var(--accent-text);font-size:15px}
.rvx .have .seg{border-color:var(--accent)}
.rvx .vlist{display:flex;flex-direction:column}
.rvx .vcols{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.75fr) minmax(0,1.6fr) minmax(0,1.15fr) minmax(0,1fr);gap:14px;align-items:center}
.rvx .vhead{padding:4px 15px 8px;font-size:13px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
.rvx .vgroup{display:flex;align-items:baseline;gap:8px;padding:14px 2px 2px;font-size:15px;font-weight:600;color:var(--navy)}
.rvx .vgroup small{font-size:13px;font-weight:400;color:var(--muted)}
.rvx .vitem{margin-top:6px}
.rvx .vrow{appearance:none;width:100%;text-align:left;cursor:pointer;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px 14px}
.rvx .vrow:hover{border-color:var(--range)}
.rvx .vrow[aria-expanded="true"]{border-color:var(--accent);border-radius:12px 12px 0 0;box-shadow:inset 3px 0 0 var(--accent)}
.rvx .vname{display:flex;align-items:center;gap:10px;font-family:var(--serif);font-size:17px;line-height:1.2}
.rvx .vname .n{flex:none;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--mist);color:var(--navy);font-family:var(--sans);font-weight:600;font-size:15px}
.rvx .vrow[aria-expanded="true"] .vname .n{background:var(--accent-soft);color:var(--navy)}
.rvx .vname .lock{width:15px;height:15px;flex:none}
.rvx .vdur{font-size:14px;line-height:1.35;color:var(--navy);font-variant-numeric:tabular-nums}
.rvx .vus{font-size:15px;line-height:1.4}
.rvx .vother{font-family:var(--serif);font-size:15px;line-height:1.3;color:var(--navy)}
.rvx .vdoc{font-size:14px;line-height:1.35}
.rvx .vrow .lbl{display:none}
.rvx .vdetail{border:1px solid var(--accent);border-top:0;border-radius:0 0 12px 12px;background:var(--surface);padding:16px 18px 18px;display:flex;flex-direction:column;gap:14px}
.rvx .vdetail .contract{font-size:14px;color:var(--navy)}
.rvx .vdetail .contract button{appearance:none;border:0;background:none;padding:0;cursor:pointer;color:var(--navy);font-weight:600;text-decoration:underline;text-underline-offset:3px;font-size:14px}
.rvx .dnote{font-size:15px;color:var(--navy)}
.rvx .dgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.rvx .dgrid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.rvx .dgrid h3,.rvx .other-side h3,.rvx .complica h3{font-family:var(--sans);font-size:15px;font-weight:600;color:var(--muted);letter-spacing:.02em}
.rvx .dgrid p,.rvx .other-side p,.rvx .complica p{margin-top:4px;font-size:16px}
.rvx .complica{border:1px solid var(--line);border-left:3px solid var(--muted);border-radius:12px;padding:12px 16px}
.rvx .decide{background:var(--mist);border-radius:12px;padding:12px 14px}
.rvx .decide strong{display:block;font-family:var(--serif);font-weight:500;font-size:18px;margin-top:2px}
.rvx .other-side{border:1px solid var(--line);border-left:3px solid var(--navy);border-radius:12px;padding:12px 16px}
.rvx .ico{fill:none;stroke:var(--accent);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.rvx .key{border:1px solid var(--accent);border-radius:12px;padding:12px 16px}
.rvx .key h3{display:flex;align-items:center;gap:8px;font-family:var(--sans);font-size:15px;font-weight:600;color:var(--accent-text);letter-spacing:.02em}
.rvx .key h3 .ico{width:16px;height:16px;flex:none}
.rvx .key ol{margin:6px 0 0;padding-left:20px;font-size:16px;display:grid;gap:4px}
.rvx .key p{margin-top:4px;font-size:16px}
.rvx .vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.rvx .total{font-size:15px;color:var(--navy);margin-top:6px}
.rvx .total span{display:block;margin-top:2px;font-size:15px;color:var(--muted)}
@media (max-width:760px){.rvx .vhead{display:none}.rvx .vcols{grid-template-columns:minmax(0,1fr);gap:4px}.rvx .vrow .lbl{display:inline;font-family:var(--sans);font-size:13px;font-weight:600;color:var(--muted)}.rvx .vdur{padding-left:38px;font-size:15px}.rvx .vus,.rvx .vother,.rvx .vdoc{padding-left:38px}.rvx .vdoc:empty,.rvx .vother:empty{display:none}.rvx .dgrid,.rvx .dgrid.two{grid-template-columns:minmax(0,1fr)}}
.rvx .faq{margin-top:20px;display:flex;flex-direction:column;gap:10px}
.rvx .faq details{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:0 18px}
.rvx .faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:14px;padding-block:15px;font-family:var(--serif);font-size:18px;line-height:1.45}
.rvx .faq summary::-webkit-details-marker{display:none}
.rvx .faq summary::after{content:"+";font-family:var(--sans);font-size:22px;color:var(--accent);flex:none}
.rvx .faq details[open] summary::after{content:"−"}
.rvx .faq details p{padding-bottom:16px;color:var(--muted);max-width:48em}
@media (prefers-reduced-motion: reduce){.rvx *{transition:none!important;animation:none!important}}
 
/* Ajustes para convivir con los estilos generales del sitio */
.rvx .hero{margin:0;padding-block:56px 36px}
.rvx .hero h1{font-size:48px;line-height:1.08}
.rvx .hero .lead{font-size:18px;line-height:1.7}
.rvx .actions{justify-content:flex-start;align-items:center;margin-top:18px}
.rvx .note{margin:0}
.rvx .section-title{font-size:32px;line-height:1.12}
.rvx .section-title+.lead2{margin-top:14px}
.rvx .path{margin-top:6px}
.rvx .faq{margin-top:0}
.rvx .fichas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:22px;align-items:start}
.rvx .ficha{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:22px 24px;display:flex;flex-direction:column;min-width:0}
.rvx .ficha h3{font-size:22px;line-height:1.25}
.rvx .ficha .fq{margin:12px 0 0;padding-left:16px;border-left:3px solid var(--accent);font-family:var(--serif);font-size:18px;line-height:1.45;color:var(--navy)}
.rvx .ficha .fl{margin-top:12px;font-size:16px;line-height:1.55}
.rvx .ficha .fa{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 18px;margin-top:16px}
.rvx .ficha .ftog{appearance:none;border:0;background:none;padding:4px 0;cursor:pointer;font-size:14px;font-weight:600;color:var(--muted)}
.rvx .ficha .ftog:hover{color:var(--ink)}
/* Las dos leyendas ocupan la misma celda: el botón mide lo mismo abierto o cerrado y la fila no se reacomoda */
.rvx .ficha .ftog{display:inline-grid;justify-items:start;text-align:left}
.rvx .ficha .ftog>span{grid-area:1/1}
.rvx .ficha .ftog[aria-expanded="true"] .ft-o,.rvx .ficha .ftog[aria-expanded="false"] .ft-c{visibility:hidden}
.rvx .ficha .fgo{color:var(--navy);font-weight:600;font-size:15px;text-decoration:none}
.rvx .ficha .fgo:hover,.rvx .ficha .fdd a:hover{text-decoration:underline;text-underline-offset:3px}
.rvx .ficha .fd{overflow:hidden;transition:height .25s ease}
.rvx .ficha .fdi{padding-top:14px;margin-top:14px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:10px}
.rvx .ficha .fdi p{font-size:15px;line-height:1.55}
.rvx .ficha .fdi b{font-weight:600}
.rvx .ficha .fdd a{color:var(--navy);font-weight:600;text-decoration:none;white-space:nowrap}
@media (max-width:760px){.rvx .fichas{grid-template-columns:minmax(0,1fr)}.rvx .ficha{padding:20px}}
/* En teléfono, cada selector ocupa todo el ancho en columnas iguales, en vez de partirse en una píldora irregular */
@media (max-width:760px){.rvx .seg{display:flex;flex-wrap:nowrap;width:100%;border-radius:14px}.rvx .seg button{flex:1 1 0;min-width:min-content;white-space:normal;line-height:1.25;padding:8px 10px;border-radius:10px;text-align:center}.rvx .viz .seg{align-self:stretch}}
@media (max-width:760px){.rvx .seg button{font-size:14px;padding:8px 7px}.rvx .viz{padding:14px}}
@media (max-width:760px){.rvx .seg button{font-size:13px;padding:7px 5px}}
/* Rangos de valor: la franja es el rango declarado, va detrás de cada barra y nunca llega a las etiquetas */
.rvx .ff{--fft:4px;gap:12px;padding-top:var(--fft)}
.rvx .ff-band{top:0;bottom:auto;height:0;border-radius:0;z-index:0;background:none;opacity:1;transition:none}
.rvx .ff-band i{position:absolute;left:0;right:0;background:var(--accent);opacity:.16;border-radius:4px}
.rvx .ff-row{font:inherit;color:inherit;z-index:1;gap:8px}
.rvx .ff-row[data-k="base"]:has(.ff-mark) .ff-head{margin-bottom:17px} /* Espacio para la etiqueta del marcador, solo si hay marcador */
.rvx .ff-mark{position:absolute;top:-5px;bottom:-5px;width:0;z-index:2;pointer-events:none}
.rvx .ff-mark::before{content:"";position:absolute;top:0;bottom:0;left:-1.5px;width:3px;border-radius:2px;background:var(--ink);box-shadow:0 0 0 2px var(--paper)}
.rvx .ff-mark span{position:absolute;bottom:100%;left:0;transform:translateX(-50%);margin-bottom:3px;white-space:nowrap;font-size:13px;line-height:1.2;font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums}
.rvx .ff-head{flex-wrap:wrap;gap:2px 10px}
.rvx .ff-head span{margin-left:auto;font-variant-numeric:tabular-nums;white-space:nowrap}
.rvx .ff-track{background:#E1E4E6}
.rvx .ff-bar{background:#AFABAB;transition:background-color .25s ease}
.rvx .ff-row[data-tone="dark"] .ff-bar{background:var(--ink)}
.rvx .ff-row[data-tone="mid"] .ff-bar{background:#7BACB7}
.rvx .ff-row.hot .ff-head b{font-weight:600}
.rvx .ff-row.hot .ff-bar{box-shadow:0 0 0 2px var(--paper),0 0 0 3.5px var(--ink)}
.rvx .vres{display:flex;flex-direction:column;gap:2px;min-width:0}
.rvx .vres .value,.rvx .vres .vsub{white-space:nowrap;overflow:hidden}
.rvx .vsub{font-size:15px;color:var(--muted);font-variant-numeric:tabular-nums}
.rvx .vnote{display:grid;background:var(--surface);border-radius:12px;padding:12px 14px;font-size:15px}
.rvx .vnote .vv{grid-area:1/1;visibility:hidden;opacity:0;transition:opacity .2s ease}
.rvx .vnote .vv.on{visibility:visible;opacity:1}
.rvx .vnote p+p{margin-top:8px}
@media (max-width:760px){.rvx .ff-axis{font-size:13px}}
/* Plan financiero: «De la administración» cabe en los botones de escenario en celular */
@media (max-width:760px){.rvx #scen button{padding-left:4px;padding-right:4px}}
@media (max-width:760px){.rvx #scen button{font-size:13px}}
@media (max-width:760px){.rvx #scen button{font-size:13px;padding-left:3px;padding-right:3px}}

/* Colores de la firma: Títulos en azul; sobre fondo turquesa claro la etiqueta va en azul */
.rvx h1,.rvx h2,.rvx h3{color:var(--navy)}
.rvx .decide h3{color:var(--navy)}


/* Escala en celular */
@media (max-width:760px){.rvx .hero h1{font-size:34px!important}.rvx .section-title,.rvx .panel h2{font-size:26px!important}.rvx .value{font-size:22px}.rvx .ficha h3,.rvx .q strong,.rvx .step h3,.rvx .viz h3{font-size:21px}.rvx .hero .lead,.rvx .lead2{font-size:17px}.rvx .faq summary{font-size:17px}}
