/* ==========================================================================
   Cuantico — Páginas de servicios, FVH y Partners (reutiliza rubros/ia.css)
   ========================================================================== */
.iag--s li { padding: 22px; }
.iag--s li::after { display: none; }
.iag--s li > a { color: inherit; }

.pills { list-style: none; margin: 22px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.pills li { padding: 8px 16px; border-radius: 999px; font-size: .9rem; font-weight: 500; color: var(--navy); background: #f3f5f8; box-shadow: inset 0 0 0 1px rgba(11, 31, 58, .1); transition: transform .35s var(--ease-spring), background .3s, color .3s; }
.pills li:hover { transform: translateY(-3px); background: var(--blue); color: #fff; }

.rx__stack--solo { margin: 0; max-width: none; }
.rx__stack--solo li:nth-child(2) { margin-left: 22px; } .rx__stack--solo li:nth-child(3) { margin-left: 44px; }
.rx__stack--solo li:nth-child(4) { margin-left: 22px; animation-delay: -1s; }

.lvl { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); gap: 14px; }
.lvl li { position: relative; padding: 24px 22px; border-radius: 22px; background: #f3f5f8; box-shadow: inset 0 0 0 1px rgba(11, 31, 58, .08); transition: transform .5s var(--ease-out), background .3s; }
.lvl li:hover { transform: translateY(-6px); background: #fff; }
.lvl b { display: inline-grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; margin-bottom: 12px; font-family: var(--font-mono); font-size: .8rem; color: #fff; background: linear-gradient(135deg, #3B9AE1, #1B4F9C); }
.lvl li:nth-child(2) b { background: linear-gradient(135deg, #b8c2cf, #7d8a9b); }
.lvl li:nth-child(3) b { background: linear-gradient(135deg, #f2c35a, #c8921b); }
.lvl li:nth-child(4) b { background: linear-gradient(135deg, #5b6b82, #0B1F3A); }
.lvl strong { display: block; margin-bottom: 4px; font-size: 1.15rem; font-weight: 550; color: var(--navy); } .lvl small { display: block; margin-bottom: 8px; font-family: var(--font-mono); font-size: .62rem; letter-spacing: .12em; text-transform: uppercase; color: var(--blue); } .lvl p { margin: 0; color: #3b4d66; font-size: .93rem; }

.sv-two { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); gap: 16px; }
.sv-two > div { padding: 26px; border-radius: 22px; background: #fff; box-shadow: 0 0 0 1px rgba(11, 31, 58, .1); }
.sv-two h3 { margin: 0 0 8px; font-size: 1.2rem; font-weight: 550; color: var(--navy); } .sv-two p { margin: 0; color: #3b4d66; }
.sv-note { margin: 22px 0 0; font-size: .86rem; color: #55667f; max-width: 70ch; }
.sv-demos a { color: inherit; }

@media (max-width: 720px) {
  .rx__stack--solo li:nth-child(n) { margin-left: 0; }
}

.prose { max-width: 780px; }
.prose h3 { margin: 28px 0 8px; font-size: 1.2rem; font-weight: 550; color: var(--navy); }
.prose p { margin: 0 0 12px; color: #3b4d66; line-height: 1.65; }
.tblw { overflow-x: auto; border-radius: 18px; box-shadow: 0 0 0 1px rgba(11, 31, 58, .12); background: #fff; }
.tbl { width: 100%; border-collapse: collapse; min-width: 520px; }
.tbl th, .tbl td { padding: 14px 18px; text-align: left; vertical-align: top; border-bottom: 1px solid rgba(11, 31, 58, .08); }
.tbl thead th { font-family: var(--font-mono); font-size: .68rem; letter-spacing: .14em; text-transform: uppercase; color: var(--blue); background: #f3f5f8; }
.tbl tbody th { width: 120px; font-weight: 400; } .tbl td { color: #3b4d66; }
.tbl tr:last-child th, .tbl tr:last-child td { border-bottom: 0; }
kbd { display: inline-block; min-width: 44px; padding: 4px 10px; border-radius: 8px; text-align: center; font-family: var(--font-mono); font-size: .82rem; color: var(--navy); background: linear-gradient(#fff, #e9eef5); box-shadow: 0 0 0 1px rgba(11, 31, 58, .2), 0 2px 0 rgba(11, 31, 58, .18); }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
/* Simulador de partners */
.calc { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 18px; align-items: stretch; }
.calc__in, .calc__out { padding: clamp(20px, 3vw, 32px); border-radius: 24px; background: #fff; box-shadow: 0 0 0 1px rgba(11, 31, 58, .1), 0 30px 60px -40px rgba(27, 79, 156, .5); }
.calc__in { display: grid; gap: 20px; align-content: start; }
.calc__f { display: grid; gap: 8px; font-size: .92rem; color: #3b4d66; }
.calc__f span { display: flex; justify-content: space-between; gap: 12px; align-items: baseline; }
.calc__f output { font-weight: 600; color: var(--blue); }
.calc__f input[type="number"] { width: 100%; padding: 12px 14px; border: 0; border-radius: 12px; font: inherit; color: var(--navy); background: #f3f5f8; box-shadow: inset 0 0 0 1px rgba(11, 31, 58, .14); }
.calc__f input[type="number"]:focus-visible { outline: 2px solid var(--blue); outline-offset: 2px; }
.calc__f input[type="range"] { width: 100%; accent-color: var(--blue); }
.calc__out { display: grid; gap: 12px; align-content: center; color: #fff; background: linear-gradient(150deg, #1B4F9C, #0B1F3A); }
.calc__out div { display: grid; gap: 2px; padding: 14px 16px; border-radius: 16px; background: rgba(255, 255, 255, .08); }
.calc__out small { font-family: var(--font-mono); font-size: .62rem; letter-spacing: .12em; text-transform: uppercase; color: #8fc9f2; }
.calc__out strong { font-size: 1.5rem; font-weight: 500; letter-spacing: -.03em; }
.calc__out .is-main { background: rgba(143, 201, 242, .2); } .calc__out .is-main strong { font-size: 2rem; }
.tbl--cmp tbody th { width: 150px; font-weight: 600; color: var(--navy); } .tbl--cmp { min-width: 720px; }
@media (max-width: 800px) { .calc { grid-template-columns: 1fr; } }