/* Cumple21: sección de informes de la página de inicio y página "La plataforma". Se carga después de landing.css. */
[hidden] { display: none !important; }
.feature .more { display: inline-block; margin-top: .8rem; font-weight: 700; font-size: .92rem; }
.center { text-align: center; margin: 2.2rem 0 0; }
.menu a[aria-current] { color: #fff; }
.logo img { height: 34px; }
/* ---------- Sección Informes ---------- */
.split-inf { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: clamp(2rem, 5vw, 4rem); align-items: center; }
@media (max-width: 920px) { .split-inf { grid-template-columns: 1fr; } }
.checks { list-style: none; padding: 0; margin: 1.6rem 0 0; display: grid; gap: .8rem; }
.checks li { position: relative; padding-left: 2rem; font-size: 1rem; }
.checks li::before { content: ""; width: 22px; height: 22px; border-radius: 50%; background: var(--primary) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / 12px no-repeat; position: absolute; left: 0; top: .1rem; }
.checks b { color: var(--ink); }
.badge-line { display: flex; flex-wrap: wrap; gap: .5rem; margin: 1.5rem 0 0; }
.badge-line span { font-size: .84rem; font-weight: 600; padding: .35rem .75rem; border-radius: 999px; }
.b-legal { background: var(--primary-soft); color: var(--primary); }
.b-plan { background: #fff; border: 1px solid #CBD3E1; color: var(--ink); }
.pdf { margin: 0; }
.pdf-sheet { background: #fff; border-radius: 6px; box-shadow: 0 30px 60px -28px rgba(15,31,61,.45); padding: 1.6rem 1.6rem 1.3rem; font-size: .84rem; transform: rotate(1.2deg); max-width: 420px; margin: 0 auto; border-top: 5px solid var(--primary); }
.pdf-head { display: flex; justify-content: space-between; gap: 1rem; padding-bottom: .7rem; border-bottom: 1px solid var(--line); }
.pdf-head b { color: var(--ink); display: block; } .pdf-head small { color: var(--muted); font-size: .74rem; } .pdf-head .r { text-align: right; } .pdf-head .r b { color: var(--primary); }
.pdf h4 { margin: .9rem 0 .5rem; font-size: 1rem; color: var(--ink); }
.pdf-row { display: flex; justify-content: space-between; padding: .3rem 0; border-bottom: 1px dashed var(--line); }
.pdf-row span { color: var(--muted); } .pdf-row b { color: var(--ink); } .pdf-row b.ok { color: var(--primary); }
.pdf-tl { display: flex; gap: .55rem; align-items: center; margin-top: .55rem; }
.pdf-tl i { width: 9px; height: 9px; border-radius: 50%; background: var(--primary); flex: none; }
.pdf-foot { display: flex; gap: .8rem; align-items: center; margin-top: 1rem; padding-top: .7rem; border-top: 1px solid var(--line); font-size: .74rem; color: var(--muted); }
.pdf-foot b { color: var(--ink); font-family: ui-monospace, Menlo, monospace; }
.qr { width: 42px; height: 42px; flex: none; background: conic-gradient(#17201C 25%, transparent 0 50%, #17201C 0 75%, transparent 0) 0 0 / 10px 10px; border: 3px solid #17201C; border-radius: 3px; }
.pdf figcaption { text-align: center; font-size: .88rem; color: var(--muted); margin-top: 1.4rem; }

/* ---------- Página "La plataforma" ---------- */
.hero-sm { color: #fff; padding: clamp(2.5rem, 6vw, 4rem) 0 clamp(2.2rem, 5vw, 3rem);
    background: linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px) 0 0 / 26px 26px, linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px) 0 0 / 26px 26px, linear-gradient(125deg, #1C3F86 0%, #132B5C 50%, #0D1F45 100%); }
.crumb { margin: 0 0 1rem; font-size: .9rem; color: rgba(255,255,255,.7); } .crumb a { color: #C8D8F5; }
.hero-sm h1 { color: #fff; font-size: clamp(2rem, 4.4vw, 3rem); font-weight: 800; line-height: 1.1; max-width: 20em; letter-spacing: -0.03em; }
.hero-sm h1 span { color: #A9C2F2; }
.hero-sm .lead { color: rgba(255,255,255,.85); font-size: 1.12rem; max-width: 42em; margin: 1rem 0 0; }
.chips { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1.6rem; }
.chips a { color: #fff; font-size: .88rem; font-weight: 600; padding: .4rem .8rem; border-radius: 999px; background: rgba(255,255,255,.09); border: 1px solid rgba(255,255,255,.18); }
.chips a:hover { background: rgba(255,255,255,.16); text-decoration: none; }
.doc-layout { display: grid; grid-template-columns: 230px minmax(0, 1fr); gap: 2.5rem; padding-top: 2.5rem; padding-bottom: 4rem; }
@media (max-width: 980px) { .doc-layout { grid-template-columns: 1fr; } .toc { display: none !important; } }
.toc { position: sticky; top: 90px; align-self: start; display: grid; gap: .15rem; font-size: .92rem; }
.toc p { font-size: .75rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); margin: 0 0 .5rem; }
.toc a { color: var(--body); padding: .35rem .65rem; border-radius: 7px; border-left: 2px solid transparent; }
.toc a:hover { background: var(--bg); text-decoration: none; }
.toc a.active { color: var(--primary); background: var(--primary-soft); border-left-color: var(--primary); font-weight: 600; }
.modules { display: grid; gap: 1.5rem; min-width: 0; }
.mod { border: 1px solid var(--line); border-radius: 16px; padding: clamp(1.3rem, 3vw, 2rem); background: #fff; scroll-margin-top: 90px; }
.mod-head { display: flex; gap: 1rem; align-items: center; margin-bottom: 1.1rem; }
.mod-head .ic { width: 48px; height: 48px; border-radius: 12px; display: grid; place-items: center; color: #fff; background: var(--primary); flex: none; }
.mod-head .ic.v { background: var(--violet); } .mod-head .ic.a { background: var(--amber); } .mod-head .ic.r { background: var(--red); } .mod-head .ic.n { background: var(--navy-2); }
.tag-sig { margin: 0; font-size: .78rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--primary); }
.mod h2 { font-size: clamp(1.35rem, 2.4vw, 1.7rem); font-weight: 800; line-height: 1.15; }
.mod h3 { font-size: 1.02rem; font-weight: 700; margin: 0 0 .5rem; }
.plain { background: var(--primary-soft); border-radius: 12px; padding: 1rem 1.15rem; font-size: 1.03rem; color: #1B2E55; }
.plain b { color: var(--navy); }
.grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem 2rem; margin-top: 1.4rem; }
@media (max-width: 760px) { .grid2 { grid-template-columns: 1fr; } }
.grid2 p { margin: 0; }
.mod ul { margin: .3rem 0 0; padding-left: 1.15rem; } .mod li + li { margin-top: .3rem; }
.ok-list { list-style: none; padding: 0 !important; }
.ok-list li { position: relative; padding-left: 1.6rem; }
.ok-list li::before { content: ""; width: 16px; height: 16px; position: absolute; left: 0; top: .25rem; border-radius: 50%; background: var(--primary-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232A5FC1' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / 10px no-repeat; }
.ok-list.cols { display: grid; grid-template-columns: 1fr 1fr; gap: .5rem 2rem; margin-top: 1.2rem; }
@media (max-width: 700px) { .ok-list.cols { grid-template-columns: 1fr; } }
.ok-list.cols li + li { margin-top: 0; }
.example { margin-top: 1.4rem; border: 1px dashed #C9D2E0; border-radius: 12px; padding: 1rem 1.15rem; background: #FAFBFD; }
.ex-t { margin: 0 0 .6rem; font-size: .78rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
.example table { width: 100%; border-collapse: collapse; font-size: .94rem; }
.example th { text-align: left; color: var(--muted); font-weight: 600; width: 34%; padding: .35rem .6rem .35rem 0; vertical-align: top; }
.example td { color: var(--ink); padding: .35rem 0; }
.example tr + tr th, .example tr + tr td { border-top: 1px solid var(--line); }
.fake-check { display: flex; gap: .7rem; align-items: flex-start; font-size: .95rem; }
.fake-check .box { width: 20px; height: 20px; border: 2px solid #8C96A8; border-radius: 5px; flex: none; margin-top: .15rem; background: #fff; }
.plans-in { margin: 1.3rem 0 0; padding-top: 1rem; border-top: 1px solid var(--line); font-size: .9rem; color: var(--muted); }
.plans-in b { color: var(--ink); }
.riskbar { margin-top: 1.4rem; display: grid; gap: .5rem; font-size: .9rem; }
.riskbar span { color: var(--muted); }
.riskbar div { display: grid; grid-template-columns: 9fr 2fr; gap: .4rem; }
.riskbar div { grid-template-columns: 1fr; }
.riskbar i { font-style: normal; font-weight: 700; color: #fff; padding: .45rem .8rem; border-radius: 8px; font-size: .86rem; }
.riskbar .hi { background: var(--red); width: 100%; } .riskbar .lo { background: var(--primary); width: 30%; min-width: 170px; }
.rights { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .7rem; margin: .6rem 0 1.4rem; }
@media (max-width: 760px) { .rights { grid-template-columns: 1fr 1fr; } }
@media (max-width: 460px) { .rights { grid-template-columns: 1fr; } }
.rights div, .roles div { border: 1px solid var(--line); border-radius: 10px; padding: .75rem .85rem; }
.rights b, .roles b { display: block; color: var(--ink); } .rights span, .roles span { font-size: .9rem; }
.mod > h3 { margin-top: 1.4rem; }
.deadline { display: flex; gap: .7rem; align-items: baseline; padding: .7rem .85rem; border-radius: 10px; background: var(--primary-soft); margin-bottom: .5rem; }
.deadline b { color: var(--navy); font-size: 1.1rem; white-space: nowrap; } .deadline span { font-size: .92rem; }
.deadline.urgent { background: var(--red-soft); } .deadline.urgent b { color: var(--red); }
.rep-table { border: 1px solid var(--line); border-radius: 12px; overflow: hidden; margin-top: 1.4rem; }
.rt-row { display: grid; grid-template-columns: 1.1fr 2fr .7fr; gap: 1rem; padding: .7rem 1rem; font-size: .94rem; border-top: 1px solid var(--line); }
.rt-row:first-child { border-top: 0; }
.rt-head { background: var(--bg); font-size: .75rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; color: var(--muted); }
.rt-row b { color: var(--ink); }
@media (max-width: 640px) { .rt-row { grid-template-columns: 1fr; gap: .15rem; } .rt-head { display: none; } }
.roles { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .7rem; margin-top: 1.4rem; }
@media (max-width: 860px) { .roles { grid-template-columns: 1fr 1fr; } }
.gloss { display: grid; grid-template-columns: 220px 1fr; margin: 0; }
@media (max-width: 640px) { .gloss { grid-template-columns: 1fr; } .gloss dd { padding-top: 0 !important; border-top: 0 !important; } }
.gloss dt, .gloss dd { margin: 0; padding: .7rem 0; border-top: 1px solid var(--line); }
.gloss dt { font-weight: 700; color: var(--ink); padding-right: 1rem; }
.gloss dt:first-of-type, .gloss dt:first-of-type + dd { border-top: 0; }
.disclaimer { font-size: .9rem; color: var(--muted); padding: 1rem 1.15rem; border-left: 3px solid #CBD3E1; background: var(--bg); border-radius: 0 10px 10px 0; }
.cta-box { display: flex; flex-wrap: wrap; gap: 1rem 2rem; align-items: center; justify-content: space-between; padding: 1.6rem 1.8rem; border-radius: 16px; background: var(--navy); color: #fff; }
.cta-box h2 { color: #fff; font-size: 1.5rem; } .cta-box p { margin: .3rem 0 0; color: rgba(255,255,255,.8); }
