/* =============================================
   Riesgos y casos · página central (radiografía)
   ============================================= */
.rk-hub { --rx-navy:#040720; --rx-teal:#2dd4bf; --rx-amber:#ffb020; --rx-slate:#5b6b92; --rx-ink:#0a1024; --rx-muted:#5d6b81; --rx-line:rgba(11,31,67,.13); }
.rk .sr-only { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }

/* ---------- Hero ---------- */
.rx-hero { position:relative; overflow:hidden; padding:clamp(56px,8vw,104px) 0 clamp(52px,7vw,92px); color:#fff;
  background: radial-gradient(900px 480px at 88% -12%, rgba(0,153,255,.40), transparent 62%),
              radial-gradient(720px 420px at -6% 112%, rgba(91,76,245,.36), transparent 60%), var(--rx-navy); }
.rx-hero::before { content:""; position:absolute; inset:0; pointer-events:none;
  background-image: linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);
  background-size:44px 44px; -webkit-mask-image: linear-gradient(180deg,#000 0%,transparent 88%); mask-image: linear-gradient(180deg,#000 0%,transparent 88%); }
.rx-hero .container { position:relative; }
.rx-kicker { display:inline-block; font:700 .72rem/1.2 'JetBrains Mono',monospace; letter-spacing:.1em; text-transform:uppercase; color:#8fc3ff; }
.rx-hero h1 { max-width:880px; margin:16px 0 18px; color:#fff; font-size:clamp(2.2rem,5.2vw,4.3rem); line-height:1.02; letter-spacing:-.05em; }
.rx-hero h1 em { font-style:normal; background:linear-gradient(90deg,#2dd4bf,#7dd3fc); -webkit-background-clip:text; background-clip:text; color:transparent; }
.rx-lead { max-width:650px; margin:0 0 clamp(26px,4vw,42px); color:rgba(255,255,255,.76); font-size:clamp(1rem,1.5vw,1.16rem); line-height:1.66; }

/* ---------- Lentes ---------- */
.rx-lenses { display:flex; gap:8px; margin:0 0 clamp(22px,3vw,34px); padding-bottom:6px; overflow-x:auto; scrollbar-width:thin; }
.rx-lens { flex:none; display:inline-flex; align-items:center; gap:9px; padding:11px 16px; border:1px solid rgba(255,255,255,.2); border-radius:100px; background:rgba(255,255,255,.05);
  color:rgba(255,255,255,.86); font:600 .88rem/1 'Inter',sans-serif; cursor:pointer; transition:background .2s ease,color .2s ease,border-color .2s ease,transform .2s ease; }
.rx-lens span { font:700 .66rem/1 'JetBrains Mono',monospace; color:#8fc3ff; }
.rx-lens:hover { background:rgba(255,255,255,.12); transform:translateY(-1px); }
.rx-lens:focus-visible { outline:2px solid #7dd3fc; outline-offset:3px; }
.rx-lens.is-active { background:#fff; border-color:#fff; color:var(--rx-navy); }
.rx-lens.is-active span { color:#146cff; }

/* ---------- Escenario ---------- */
.rx-stage { display:grid; grid-template-columns:minmax(250px,340px) minmax(0,1fr); gap:clamp(24px,4vw,56px); align-items:start; }
.rx-readout__num { display:flex; align-items:flex-start; gap:4px; line-height:.88; }
.rx-readout__num b { font-size:clamp(4.4rem,9.5vw,7.6rem); font-weight:800; letter-spacing:-.07em; color:#fff; font-variant-numeric:tabular-nums; }
.rx-readout__num i { margin-top:.38em; font-style:normal; font-size:clamp(1.6rem,3vw,2.5rem); font-weight:700; color:var(--rx-amber); }
.rx-readout__title { margin:14px 0 8px; color:#fff; font-size:1.18rem; font-weight:700; line-height:1.3; letter-spacing:-.02em; }
.rx-readout__detail { margin:0 0 18px; color:rgba(255,255,255,.7); font-size:.95rem; line-height:1.62; }
.rx-legend { display:grid; gap:8px; margin:0 0 20px; padding:0; list-style:none; }
.rx-legend li { display:flex; align-items:center; gap:10px; color:rgba(255,255,255,.82); font-size:.86rem; line-height:1.3; }
.rx-legend li[hidden] { display:none; }
.rx-legend b { margin-left:auto; padding-left:10px; font:700 .8rem/1 'JetBrains Mono',monospace; color:#fff; font-variant-numeric:tabular-nums; }
.rx-sw { flex:none; width:14px; height:14px; border-radius:4px; }
.rx-sw--ok { background:var(--rx-teal); }
.rx-sw--gap { background:var(--rx-amber); }
.rx-sw--unk { background:var(--rx-slate); }
.rx-sw--na { background:transparent; border:1px solid rgba(255,255,255,.3); }
.rx-readout__link { display:inline-flex; align-items:center; gap:8px; color:#7dd3fc; font-weight:700; font-size:.95rem; text-decoration:none; }
.rx-readout__link:hover { text-decoration:underline; }
.rx-readout__link:focus-visible { outline:2px solid #7dd3fc; outline-offset:4px; border-radius:4px; }

.rx-gridpanel { padding:clamp(14px,2vw,22px); border:1px solid rgba(255,255,255,.14); border-radius:20px; background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.02)); box-shadow:0 30px 80px rgba(0,0,0,.28); }
.rx-grid { position:relative; width:100%; }
.rx-cell { position:absolute; left:0; top:0; border-radius:3px; opacity:0; will-change:transform;
  transition:transform .9s cubic-bezier(.22,1,.36,1), background-color .45s ease, opacity .5s ease, border-color .45s ease; }
.rx-grid.is-ready .rx-cell { opacity:1; }
.rx-cell[data-s="ok"] { background:var(--rx-teal); }
.rx-cell[data-s="gap"] { background:var(--rx-amber); }
.rx-cell[data-s="unk"] { background:var(--rx-slate); }
.rx-cell[data-s="na"] { background:transparent; box-shadow:inset 0 0 0 1px rgba(255,255,255,.2); }
.rx-gridnote { margin:14px 2px 0; color:rgba(255,255,255,.55); font-size:.78rem; line-height:1.5; }

/* ---------- Secciones claras ---------- */
.rx-sec { padding:clamp(64px,9vw,120px) 0; background:#fff; }
.rx-sec--alt { background:#f4f9ff; }
.rx-head { max-width:760px; margin:0 0 clamp(32px,5vw,56px); }
.rx-eyebrow { font:700 .72rem/1.2 'JetBrains Mono',monospace; letter-spacing:.1em; text-transform:uppercase; color:#146cff; }
.rx-head h2 { margin:14px 0 14px; color:var(--rx-ink); font-size:clamp(1.9rem,3.6vw,3.2rem); line-height:1.05; letter-spacing:-.05em; }
.rx-head p { margin:0; color:var(--rx-muted); font-size:clamp(1rem,1.4vw,1.12rem); line-height:1.66; }

/* ---------- Bento ---------- */
.rx-bento { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:18px; }
.rx-card { position:relative; display:flex; flex-direction:column; justify-content:space-between; gap:22px; min-height:230px; padding:clamp(24px,3vw,36px); overflow:hidden; border-radius:24px; color:var(--rx-ink); text-decoration:none;
  border:1px solid rgba(11,31,67,.08); transition:transform .35s cubic-bezier(.22,1,.36,1), box-shadow .35s ease; }
.rx-card:hover { transform:translateY(-4px); box-shadow:0 26px 60px rgba(4,20,80,.14); }
.rx-card:focus-visible { outline:3px solid #146cff; outline-offset:4px; }
.rx-card__num { display:flex; align-items:baseline; gap:10px; }
.rx-card__num b { font-size:clamp(3.2rem,6vw,5.4rem); font-weight:800; letter-spacing:-.07em; line-height:.9; }
.rx-card__num span { max-width:170px; font-size:.86rem; font-weight:600; line-height:1.3; opacity:.78; }
.rx-card h3 { margin:0 0 8px; color:inherit; font-size:clamp(1.25rem,2vw,1.6rem); line-height:1.12; letter-spacing:-.035em; }
.rx-card p { margin:0 0 14px; max-width:46ch; font-size:.96rem; line-height:1.6; opacity:.8; }
.rx-card__go { display:inline-flex; align-items:center; gap:8px; font-weight:700; font-size:.92rem; }
.rx-card__go svg { width:17px; height:17px; transition:transform .3s ease; }
.rx-card:hover .rx-card__go svg { transform:translateX(4px); }

.rx-card--a { grid-column:1 / span 7; grid-row:span 2; background:#f6f1e7; border-color:#e5dcc8; }
.rx-card--a .rx-card__num b { color:#9b2c2c; font-family:'Newsreader',Georgia,'Times New Roman',serif; font-weight:700; }
.rx-card--a h3 { font-family:'Newsreader',Georgia,'Times New Roman',serif; font-weight:700; }
.rx-doc { display:grid; gap:9px; width:min(320px,100%); padding:22px; border-radius:6px; background:#fffdf7; box-shadow:0 12px 30px rgba(60,40,10,.12); transform:rotate(-2deg); }
.rx-doc i { display:block; height:7px; border-radius:2px; background:#d8cfba; }
.rx-doc i:nth-child(2n) { width:86%; }
.rx-doc i.x { background:#1c1a17; }
.rx-doc i.w { width:52%; }
.rx-card--b { grid-column:8 / span 5; background:linear-gradient(135deg,#fff3ee,#ffd9cc); border-color:#ffc9b8; }
.rx-card--b .rx-card__num b { color:#e8431f; }
.rx-trail { display:flex; align-items:center; gap:0; margin-top:4px; }
.rx-trail i { flex:none; width:12px; height:12px; border-radius:50%; background:#e8431f; }
.rx-trail u { flex:1; height:2px; background:repeating-linear-gradient(90deg,#e8431f 0 6px,transparent 6px 11px); }
.rx-trail em { flex:none; padding:5px 10px; border-radius:100px; background:#fff; color:#0f766e; font:700 .68rem/1 'JetBrains Mono',monospace; font-style:normal; }
.rx-card--c { grid-column:8 / span 5; background:#f1efff; border-color:#d8d2ff;
  background-image:linear-gradient(rgba(91,76,245,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(91,76,245,.09) 1px,transparent 1px); background-size:22px 22px; }
.rx-card--c .rx-card__num b { color:#4b3df0; }
.rx-card--d { grid-column:1 / span 12; flex-direction:row; align-items:center; background:radial-gradient(520px 260px at 92% 0%,rgba(255,64,64,.4),transparent 65%),#07080d; color:#fff; border-color:#1a1c26; }
.rx-card--d .rx-card__num b { color:#ff5a5f; }
.rx-card--d .rx-card__num span { color:#fff; }
.rx-card--d > div:first-child { flex:none; }
.rx-card--d > div:last-child { flex:1; }
.rx-card--d p { opacity:.74; }
.rx-card--d .rx-card__go { color:#ff9ea1; }

/* ---------- Método ---------- */
.rx-method { display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(30px,6vw,90px); align-items:start; }
.rx-details { border-top:1px solid var(--rx-line); }
.rx-details details { border-bottom:1px solid var(--rx-line); }
.rx-details summary { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:20px 2px; color:var(--rx-ink); font-size:1.04rem; font-weight:750; cursor:pointer; list-style:none; }
.rx-details summary::-webkit-details-marker { display:none; }
.rx-details summary::after { content:"+"; color:#146cff; font-size:1.5rem; font-weight:400; transition:transform .2s ease; }
.rx-details details[open] summary::after { transform:rotate(45deg); }
.rx-details summary:focus-visible { outline:2px solid #146cff; outline-offset:2px; }
.rx-details p { max-width:62ch; margin:-4px 34px 22px 0; color:var(--rx-muted); font-size:.97rem; line-height:1.68; }

/* ---------- CTA y descargo ---------- */
.rx-cta { padding:clamp(64px,9vw,112px) 0; text-align:center; color:#fff; background:radial-gradient(700px 320px at 50% 0%,rgba(45,212,191,.28),transparent 65%),linear-gradient(135deg,#071a3a,#0a3d8f); }
.rx-cta .container { max-width:760px; }
.rx-cta h2 { margin:0; color:#fff; font-size:clamp(2rem,4.4vw,3.6rem); line-height:1.02; letter-spacing:-.055em; }
.rx-cta p { max-width:560px; margin:18px auto 28px; color:rgba(255,255,255,.82); font-size:1.05rem; line-height:1.62; }
.rx-cta .btn { background:#fff; color:#0758d8; box-shadow:0 10px 28px rgba(1,33,95,.3); }
.rx-cta .btn:hover { background:#edf6ff; }
.rx-disclaimer { padding:24px 0; background:#f4f8fc; color:#62718a; font-size:.78rem; line-height:1.55; text-align:center; }
.rx-disclaimer p { max-width:880px; margin:0 auto; }

@media (max-width: 900px) {
  .rx-stage { grid-template-columns:1fr; }
  .rx-card--a, .rx-card--b, .rx-card--c, .rx-card--d { grid-column:1 / -1; grid-row:auto; }
  .rx-card--d { flex-direction:column; align-items:flex-start; }
  .rx-method { grid-template-columns:1fr; }
}
@media (prefers-reduced-motion: reduce) {
  .rx-cell, .rx-card, .rx-lens { transition:none !important; }
}

.rx-grid--static .rx-cell { transition: none !important; }

/* ---------- Guías (índice) ---------- */
.rx-jump { margin-bottom:30px; display:inline-flex; align-items:center; gap:8px; color:#fff; font-weight:700; font-size:.95rem; text-decoration:none; padding:10px 18px; border:1px solid rgba(255,255,255,.35); border-radius:999px; transition:background .2s; }
.rx-jump:hover { background:rgba(255,255,255,.12); }
.rx-jump svg { width:16px; height:16px; }
#guias { scroll-margin-top:72px; }
.rx-more { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.rx-more__item { position:relative; display:flex; flex-direction:column; gap:4px; min-height:176px; padding:22px 22px 20px; border-radius:18px; border:1px solid var(--rx-line); background:#f8fbff; color:var(--rx-ink); text-decoration:none; transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.rx-more__item:hover { transform:translateY(-4px); border-color:#a9c6f5; box-shadow:0 20px 44px rgba(4,20,80,.1); }
.rx-more__item:focus-visible { outline:3px solid #146cff; outline-offset:3px; }
.rx-more__item h3 { margin:0; font:700 .74rem 'JetBrains Mono',monospace; letter-spacing:.08em; text-transform:uppercase; color:var(--rx-muted); }
.rx-more__item b { margin-top:12px; font-size:clamp(2.6rem,4.4vw,3.6rem); line-height:1; letter-spacing:-.07em; color:#146cff; }
.rx-more__lab { color:var(--rx-ink); font-size:.95rem; line-height:1.35; max-width:30ch; }
.rx-more__go { position:absolute; right:18px; bottom:16px; width:22px; height:22px; color:#146cff; transition:transform .25s ease; }
.rx-more__go svg { width:100%; height:100%; }
.rx-more__item:hover .rx-more__go { transform:translateX(4px); }
.rx-facts { padding:20px 0; background:#f4f9ff; border-top:1px solid var(--rx-line); border-bottom:1px solid var(--rx-line); }
.rx-facts ul { display:flex; flex-wrap:wrap; gap:8px 28px; margin:0; padding:0; list-style:none; color:var(--rx-muted); font-size:.9rem; }
.rx-facts b { color:var(--rx-ink); }
@media (max-width: 900px) { .rx-more { grid-template-columns:repeat(2,1fr); } }
@media (max-width: 560px) { .rx-more { grid-template-columns:1fr; } .rx-more__item { min-height:0; } }
