
:root{
  color-scheme: light;
  --plum:#2A1942; --plum-2:#3A2459; --purple:#663A93; --purple-2:#7A4FA9;
  --blue:#4589C8; --blue-soft:#E4EEF8; --lila:#F3EEF8; --lila-2:#E9E0F2;
  --fucsia:#D4327B; --ink:#221733; --muted:#62586F; --line:#E3DAEC;
  --bg:#FDFCFE; --white:#FFFFFF; --on-dark:#F4EFFA; --on-dark-muted:#C9BCDB;
  --r:18px; --r-sm:12px;
  --font:"Gabarito", ui-rounded, "Segoe UI", system-ui, -apple-system, sans-serif;
  --w:1180px;
}
*{box-sizing:border-box}
main :is(div,article,dl,figure,p,h2,h3){min-width:0}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3,h4{line-height:1.1;margin:0;text-wrap:balance;font-weight:800;letter-spacing:-.01em}
p{margin:0}
.wrap{max-width:var(--w);margin-inline:auto;padding-inline:24px}
@media (max-width:600px){.wrap{padding-inline:18px}}
.eyebrow{font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--purple);display:flex;align-items:center;gap:10px}
.eyebrow::before{content:"";width:28px;height:3px;border-radius:3px;background:var(--blue)}
.on-dark .eyebrow{color:var(--on-dark-muted)}
.h2{font-size:clamp(30px,4vw,46px);color:var(--plum)}
.lead{font-size:19px;color:var(--muted);max-width:62ch}
.btn{display:inline-flex;align-items:center;gap:8px;font:700 16px/1 var(--font);padding:16px 24px;border-radius:999px;text-decoration:none;border:2px solid transparent;cursor:pointer;transition:transform .15s, background .15s}
.btn:hover{transform:translateY(-1px)}
.btn:focus-visible,a:focus-visible,button:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
.btn-primary{background:var(--purple);color:#fff}
.btn-primary:hover{background:var(--purple-2)}
.btn-light{background:#fff;color:var(--plum)}
.btn-ghost{border-color:rgba(255,255,255,.7);color:#fff}
.btn-outline{border-color:var(--purple);color:var(--purple)}
.link{font-weight:700;color:var(--purple);text-decoration:none;display:inline-flex;gap:6px;align-items:center}
.link:hover{text-decoration:underline}
section{padding-block:88px}
@media (max-width:700px){section{padding-block:60px}}

/* ---------- Barra de revisión ---------- */
.review{position:sticky;top:env(safe-area-inset-top,0px);z-index:60;background:var(--plum);color:var(--on-dark);font-size:13.5px}
.review .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;padding-block:8px}
.review strong{font-weight:700;letter-spacing:.04em}
.review .grp{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.review button{font:600 13px var(--font);border:1px solid rgba(255,255,255,.35);background:transparent;color:var(--on-dark);padding:5px 11px;border-radius:999px;cursor:pointer}
.review button[aria-pressed="true"]{background:#fff;color:var(--plum);border-color:#fff}
.review .spacer{flex:1}
@media (max-width:600px){.review .note{display:none}}

/* ---------- Header ---------- */
.site-head{position:sticky;top:calc(env(safe-area-inset-top,0px) + var(--rb,44px));z-index:50;background:rgba(253,252,254,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.site-head .wrap{display:flex;align-items:center;gap:24px;min-height:78px}
.site-head .logo img{height:50px;width:auto}
.nav{display:flex;gap:2px;margin-left:auto;flex-wrap:nowrap}
.nav a{font-weight:600;font-size:15.5px;text-decoration:none;color:var(--ink);padding:10px 10px;border-radius:10px;white-space:nowrap}
.nav a:hover{background:var(--lila)}
.nav a[aria-current="page"]{color:var(--purple);background:var(--lila)}
.head-cta{padding:12px 18px;font-size:15px;white-space:nowrap}
.menu-btn{display:none;margin-left:auto;background:var(--lila);border:0;border-radius:10px;padding:10px 14px;font:700 15px var(--font);color:var(--plum)}
@media (max-width:1240px){
  .nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--bg);flex-direction:column;padding:10px 18px 18px;border-bottom:1px solid var(--line)}
  .nav.open{display:flex}
  .menu-btn{display:block}
  .head-cta{display:none}
}

/* ---------- Anotaciones ---------- */
.obs{display:none;position:absolute;z-index:5;top:14px;right:14px;background:var(--fucsia);color:#fff;font:700 12px/1 var(--font);padding:7px 10px;border-radius:999px;letter-spacing:.03em;box-shadow:0 4px 14px rgba(212,50,123,.35);max-width:280px;text-align:left}
.obs span{font-weight:500;opacity:.95}
body.show-obs .obs{display:block}
.rel{position:relative}

/* ---------- Páginas ---------- */
.page{display:none}
.page.active{display:block}

/* ---------- Hero ---------- */
.hero{position:relative;color:#fff;background:var(--plum);overflow:hidden;padding:0}
.hero-img{position:absolute;inset:0;background-size:cover;background-position:center;transition:opacity .4s}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(42,25,66,.94) 0%,rgba(42,25,66,.82) 38%,rgba(42,25,66,.25) 72%,rgba(42,25,66,.05) 100%)}
.hero .wrap{position:relative;z-index:2;padding-block:110px 100px}
.hero .eyebrow{color:#DCD0EC}
.hero h1{font-size:clamp(38px,5.6vw,68px);max-width:17ch;margin-top:18px;color:#fff}
.hero p{font-size:clamp(17px,1.6vw,20px);max-width:48ch;margin-top:22px;color:#EDE6F6}
.hero .hero-sub{font-size:clamp(21px,2.2vw,27px);font-weight:600;color:#fff;line-height:1.3;margin-top:22px}
.hero .hero-desc{font-size:clamp(15.5px,1.3vw,17.5px);color:#DCD0EC;margin-top:14px;max-width:52ch}
.hero .actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}
.hero .iso-mark{position:absolute;z-index:1;right:-60px;bottom:-60px;width:300px;opacity:.10}
@media (max-width:760px){
  .hero::after{background:linear-gradient(180deg,rgba(42,25,66,.55) 0%,rgba(42,25,66,.9) 55%,rgba(42,25,66,.96) 100%)}
  .hero .wrap{padding-block:180px 60px}
}

/* ---------- Resultados ---------- */
.results{padding-block:0;background:var(--white);border-bottom:1px solid var(--line)}
.results .wrap{display:grid;grid-template-columns:auto repeat(3,1fr);gap:0;align-items:stretch}
.results .lbl{padding:28px 30px 28px 0;font-weight:700;color:var(--purple);font-size:15px;max-width:15ch;display:flex;align-items:center;line-height:1.3}
.results .it{padding:28px 26px;border-left:1px solid var(--line)}
.results .n{font-size:42px;font-weight:800;color:var(--plum);line-height:1;font-variant-numeric:tabular-nums}
.results .t{font-size:15.5px;color:var(--muted);margin-top:6px;line-height:1.35}
@media (max-width:820px){.results .wrap{grid-template-columns:repeat(3,minmax(0,1fr))}.results .t{font-size:13.5px}.results .lbl{grid-column:1/-1;padding:22px 0 0;max-width:none}.results .it{border-left:0;padding:16px 10px 24px 0}.results .n{font-size:32px}}

/* ---------- Problema ---------- */
.problem{background:var(--plum);color:var(--on-dark);position:relative;overflow:hidden}
.problem .grid{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center}
.problem h2{font-size:clamp(32px,4.4vw,54px);color:#fff;margin-top:16px}
.problem h2 em{font-style:normal;color:#9CC4EA}
.people{display:grid;grid-template-columns:repeat(10,1fr);gap:10px;margin-top:36px;max-width:560px}
.people svg{width:100%;height:auto}
.people .off path,.people .off circle{fill:#5A4677}
.people .on path,.people .on circle{fill:#F06AA6}
.people-cap{font-size:14px;color:var(--on-dark-muted);margin-top:12px}
.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:44px}
.fact{background:var(--plum-2);border-radius:var(--r);padding:24px}
.fact .n{font-size:36px;font-weight:800;color:#fff;line-height:1;font-variant-numeric:tabular-nums}
.fact .t{font-size:15.5px;color:var(--on-dark-muted);margin-top:10px;line-height:1.45}
.problem .photo{border-radius:24px;overflow:hidden;position:relative;aspect-ratio:4/5;max-width:100%}
.problem .photo img{object-position:center 55%}
.problem .photo img{width:100%;height:100%;object-fit:cover}
.problem .photo figcaption{position:absolute;left:0;right:0;bottom:0;padding:60px 22px 20px;background:linear-gradient(0deg,rgba(42,25,66,.95),transparent);font-size:17px;color:#fff;font-weight:600;line-height:1.35}
.risks{margin-top:28px;font-size:16.5px;color:var(--on-dark);max-width:60ch}
.src{font-size:13px;color:var(--on-dark-muted);margin-top:26px;max-width:80ch;line-height:1.5}
@media (max-width:980px){.problem .grid{grid-template-columns:1fr}.problem .photo{aspect-ratio:16/10}.facts{grid-template-columns:1fr}}

/* ---------- PreDiaGest en inicio ---------- */
.prog-head{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:end}
.axes{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:44px}
.axis{background:var(--white);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column}
.axis img{aspect-ratio:4/3;object-fit:cover;width:100%}
.axis .body{padding:24px 26px 28px;display:flex;flex-direction:column;gap:10px;flex:1}
.axis .tag{font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--blue)}
.axis h3{font-size:28px;color:var(--plum)}
.axis p{color:var(--muted);font-size:17px}
.axis .link{margin-top:auto;padding-top:8px}
.quote{margin-top:48px;display:grid;grid-template-columns:auto 1fr;gap:26px;align-items:center;background:var(--lila);border-radius:var(--r);padding:28px 34px}
.quote img{width:92px;height:92px;border-radius:50%;object-fit:cover}
.quote blockquote{margin:0;font-size:clamp(20px,2.2vw,26px);font-weight:600;color:var(--plum);line-height:1.3}
.quote cite{display:block;font-style:normal;font-size:15px;color:var(--muted);margin-top:8px;font-weight:500}
@media (max-width:900px){.axes{grid-template-columns:1fr}.prog-head{grid-template-columns:1fr}.quote{grid-template-columns:1fr;padding:24px}}

/* ---------- Atención + equipo ---------- */
.care{background:var(--lila)}
.care .grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:center}
.care .photo{border-radius:24px;overflow:hidden;aspect-ratio:4/5}
.care .photo img{width:100%;height:100%;object-fit:cover}
.care h2{margin-top:14px}
.care .lead{margin-top:16px}
.faces{display:grid;grid-template-columns:repeat(3,1fr);gap:18px 14px;margin-top:30px}
.face{display:flex;gap:12px;align-items:center}
.face img{width:62px;height:62px;border-radius:50%;object-fit:cover;flex:none;border:3px solid #fff}
.face b{display:block;font-size:15.5px;line-height:1.2;color:var(--plum)}
.face small{font-size:13.5px;color:var(--muted)}
@media (max-width:900px){.care .grid{grid-template-columns:1fr}.care .photo{aspect-ratio:16/11}.faces{grid-template-columns:1fr 1fr}}

/* ---------- Novedades ---------- */
.news{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:38px}
.news article{border-radius:var(--r);overflow:hidden;background:var(--white);border:1px solid var(--line)}
.news img{aspect-ratio:16/10;object-fit:cover;width:100%}
.news .b{padding:20px 22px 24px}
.news time{font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--blue)}
.news h3{font-size:21px;color:var(--plum);margin-top:8px;line-height:1.2}
@media (max-width:900px){.news{grid-template-columns:1fr}}

/* ---------- Banda aliados inicio ---------- */
.allies-band{background:var(--white);border-top:1px solid var(--line)}
.allies-band .grid{display:grid;grid-template-columns:1fr 1.2fr;gap:48px;align-items:center}
.ally-feature{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}
.logo-tile{aspect-ratio:3/2;border-radius:var(--r-sm);background:var(--white);border:1px solid var(--line);display:grid;place-items:center;text-align:center;padding:14px;position:relative}
.logo-tile.has-chip{padding-top:34px}
.logo-tile .ph-name{font-weight:700;font-size:19px;color:#4A4458;line-height:1.15}
.logo-tile .ph-note{display:block;font-size:12px;color:#8A8296;font-weight:500;margin-top:6px}
.logo-tile.empty{border:2px dashed var(--lila-2);background:var(--bg);color:#9A90A8;font-size:14px;font-weight:600}
.tier-chip{position:absolute;top:10px;left:10px;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#fff;background:var(--fucsia);padding:4px 8px;border-radius:6px}
@media (max-width:900px){.allies-band .grid{grid-template-columns:1fr}.ally-feature{grid-template-columns:1fr 1fr}}

/* ---------- Page header ---------- */
.ph{position:relative;background:var(--plum);color:#fff;overflow:hidden;padding:0}
.ph .bg{position:absolute;inset:0;background-size:cover;background-position:center}
.ph::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(42,25,66,.93),rgba(42,25,66,.55) 60%,rgba(42,25,66,.2))}
.ph .wrap{position:relative;z-index:2;padding-block:84px 72px}
.ph h1{font-size:clamp(40px,5.4vw,64px);color:#fff;margin-top:14px}
.ph p{font-size:19px;color:#EDE6F6;max-width:56ch;margin-top:16px}
.ph .eyebrow{color:#DCD0EC}

/* ---------- Fundación ---------- */
.about{display:grid;grid-template-columns:1.3fr .7fr;gap:56px;align-items:start}
.about .txt p{font-size:19px;color:#3C3249;max-width:60ch}
.about .txt p+p{margin-top:16px}
.facts-list{border:1px solid var(--line);border-radius:var(--r);background:var(--white);padding:8px 24px}
.facts-list div{padding:16px 0;border-bottom:1px solid var(--line)}
.facts-list div:last-child{border-bottom:0}
.facts-list dt{font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.facts-list dd{margin:4px 0 0;font-size:17px;font-weight:600;color:var(--plum);line-height:1.35}
.mv{display:grid;grid-template-columns:1fr 1fr;gap:0;border-radius:24px;overflow:hidden;margin-top:0}
.mv > div{padding:48px 44px}
.mv .m{background:var(--purple);color:#fff}
.mv .v{background:var(--blue);color:#fff}
.mv h3{font-size:15px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;opacity:.9}
.mv p{font-size:clamp(22px,2.4vw,29px);font-weight:600;line-height:1.3;margin-top:16px}
.sede{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:260px 260px;gap:14px;margin-top:36px}
.sede figure{margin:0;position:relative;border-radius:var(--r-sm);overflow:hidden}
.sede figure:first-child{grid-row:1/3}
.sede img{width:100%;height:100%;object-fit:cover}
.sede figcaption{position:absolute;left:10px;bottom:10px;background:rgba(255,255,255,.92);color:var(--plum);font-size:13.5px;font-weight:700;padding:5px 10px;border-radius:8px}
.team{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:36px}
.member{background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:26px;display:grid;grid-template-columns:96px 1fr;gap:18px;align-items:start}
.member img{width:96px;height:96px;border-radius:50%;object-fit:cover}
.member h3{font-size:20px;color:var(--plum)}
.member .sp{font-size:14.5px;font-weight:700;color:var(--blue);margin-top:3px}
.member q{display:block;font-size:15px;color:var(--muted);margin-top:10px;line-height:1.45;quotes:"“" "”"}
.staff{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:22px}
.staff .member{background:var(--lila);border-color:transparent;grid-template-columns:72px 1fr;align-items:center}
.staff .member img{width:72px;height:72px}
@media (max-width:980px){.about,.mv{grid-template-columns:1fr}.team,.staff{grid-template-columns:1fr 1fr}.sede{grid-template-columns:1fr 1fr;grid-template-rows:220px 180px 180px}.sede figure:first-child{grid-column:1/3;grid-row:auto}}
@media (max-width:640px){.team,.staff{grid-template-columns:1fr}.mv > div{padding:34px 26px}}

/* ---------- PreDiaGest página ---------- */
.meta{display:grid;grid-template-columns:repeat(3,1fr);gap:0;background:var(--white);border:1px solid var(--line);border-radius:var(--r);margin-top:-44px;position:relative;z-index:3;box-shadow:0 18px 40px rgba(42,25,66,.10)}
.meta div{padding:24px 26px;border-left:1px solid var(--line)}
.meta div:first-child{border-left:0}
.meta dt{font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--blue)}
.meta dd{margin:6px 0 0;font-size:17px;font-weight:600;color:var(--plum);line-height:1.35}
.journey{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-top:36px;counter-reset:st}
.step{background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:22px 20px;position:relative}
.step::before{counter-increment:st;content:counter(st);display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--purple);color:#fff;font-weight:800;font-size:18px;margin-bottom:14px}
.step h3{font-size:19px;color:var(--plum);line-height:1.2}
.step p{font-size:15px;color:var(--muted);margin-top:8px;line-height:1.45}
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:36px}
.pillar{border-radius:var(--r);padding:30px;color:#fff}
.pillar:nth-child(1){background:var(--purple)}
.pillar:nth-child(2){background:var(--blue)}
.pillar:nth-child(3){background:var(--plum)}
.pillar h3{font-size:28px}
.pillar ul{margin:16px 0 0;padding:0;list-style:none;display:grid;gap:10px}
.pillar li{padding-left:22px;position:relative;font-size:16.5px;line-height:1.4}
.pillar li::before{content:"";position:absolute;left:0;top:.5em;width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.75)}
.comp{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:36px;border-top:3px solid var(--purple)}
.comp > div{padding:26px 24px 8px 0}
.comp > div + div{padding-left:24px;border-left:1px solid var(--line)}
.comp .k{font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--purple)}
.comp h3{font-size:22px;color:var(--plum);margin-top:6px}
.comp p{font-size:16px;color:var(--muted);margin-top:8px}
.comp .goal{display:inline-block;margin-top:12px;background:var(--blue-soft);color:#1F5E99;font-weight:700;font-size:14.5px;padding:6px 12px;border-radius:8px}
.strip{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:36px}
.strip img{aspect-ratio:1;object-fit:cover;border-radius:var(--r-sm);width:100%}
@media (max-width:1000px){.journey{grid-template-columns:1fr 1fr}.pillars,.comp{grid-template-columns:1fr}.comp > div + div{padding-left:0;border-left:0;border-top:1px solid var(--line)}.meta{grid-template-columns:1fr}.meta div{border-left:0;border-top:1px solid var(--line)}.meta div:first-child{border-top:0}.strip{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.journey{grid-template-columns:1fr}}

/* ---------- Aliados página ---------- */
.tiers{display:grid;grid-template-columns:minmax(0,1fr);gap:26px}
.logos>*{min-width:0}
.tier-head h2{overflow-wrap:anywhere}
.tier{border-radius:24px;padding:34px;background:var(--white);border:1px solid var(--line)}
.tier-head{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap;margin-bottom:22px}
.tier-head h2{font-size:clamp(26px,3vw,36px);color:var(--plum)}
.tier-head .cnt{font-size:14px;font-weight:700;color:var(--muted)}
.tier.t4{background:var(--plum);border-color:var(--plum)}
.tier.t4 h2{color:#fff}
.tier.t4 .cnt{color:var(--on-dark-muted)}
.tier.t4 .band{width:52px;height:6px;border-radius:6px;background:var(--fucsia)}
.tier .band{width:52px;height:6px;border-radius:6px;background:var(--blue)}
.tier.t3 .band{background:var(--purple)}
.tier.t2 .band{background:var(--blue)}
.tier.t1 .band{background:#9FC3E6}
.logos{display:grid;gap:14px}
.t4 .logos{grid-template-columns:repeat(3,1fr)}
.t4 .logo-tile{aspect-ratio:16/9}
.t4 .logo-tile.empty{background:transparent;border-color:#5A4677;color:var(--on-dark-muted)}
.t3 .logos{grid-template-columns:repeat(4,1fr)}
.t2 .logos{grid-template-columns:repeat(5,1fr)}
.t1 .logos{grid-template-columns:repeat(6,1fr)}
.t1 .logo-tile{font-size:12.5px}
.join{margin-top:40px;background:var(--lila);border-radius:24px;padding:40px;display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center}
.join h2{font-size:clamp(26px,3vw,36px);color:var(--plum)}
.join p{color:var(--muted);margin-top:8px}
@media (max-width:900px){.tier-head h2{font-size:24px}.t4 .logos{grid-template-columns:1fr}.t3 .logos,.t2 .logos{grid-template-columns:1fr 1fr}.t1 .logos{grid-template-columns:repeat(3,1fr)}.join{grid-template-columns:1fr;padding:28px}.tier{padding:24px}}

/* ---------- Cómo ayudar ---------- */
.unit{display:grid;grid-template-columns:auto 1fr;gap:36px;align-items:center;background:var(--lila);border-radius:24px;padding:36px 40px}
.unit .amt{font-size:clamp(40px,5vw,60px);font-weight:800;color:var(--purple);line-height:1;font-variant-numeric:tabular-nums;white-space:nowrap}
.unit .amt small{display:block;font-size:17px;color:var(--plum);font-weight:700;margin-top:10px}
.unit p{font-size:17.5px;color:#3C3249;max-width:66ch}
.levels{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:36px;align-items:stretch}
.level{border-radius:var(--r);background:var(--white);border:1px solid var(--line);display:flex;flex-direction:column;overflow:hidden}
.level .top{padding:24px 22px 20px;border-bottom:1px solid var(--line)}
.level .nv{font-size:12.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--blue)}
.level h3{font-size:25px;color:var(--plum);margin-top:6px}
.level .mo{font-size:26px;font-weight:800;color:var(--ink);margin-top:14px;font-variant-numeric:tabular-nums;line-height:1.1}
.level .mo span{font-size:15px;font-weight:600;color:var(--muted)}
.level .yr{font-size:14.5px;color:var(--muted);font-variant-numeric:tabular-nums}
.level .imp{margin-top:14px;font-size:14.5px;font-weight:700;color:#1F5E99;background:var(--blue-soft);padding:8px 10px;border-radius:8px}
.level .prom{margin-top:12px;font-size:15px;color:var(--muted);font-style:italic;line-height:1.4}
.level .bn{padding:18px 22px 24px;flex:1}
.level .inc{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.level ul{margin:10px 0 0;padding:0;list-style:none;display:grid;gap:9px}
.level li{font-size:14.8px;line-height:1.4;padding-left:18px;position:relative;color:#3C3249}
.level li::before{content:"";position:absolute;left:0;top:.52em;width:7px;height:7px;border-radius:2px;background:var(--purple)}
.level.l4{background:var(--plum);border-color:var(--plum)}
.level.l4 .top{border-color:#4A3568}
.level.l4 h3,.level.l4 .mo{color:#fff}
.level.l4 .nv{color:#F48DBA}
.level.l4 .yr,.level.l4 .prom,.level.l4 .inc,.level.l4 .mo span{color:var(--on-dark-muted)}
.level.l4 li{color:var(--on-dark)}
.level.l4 li::before{background:var(--fucsia)}
.level.l4 .imp{background:#3F2A60;color:#CFE2F5}
.mods{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:30px}
.mod{border:1px solid var(--line);border-radius:var(--r);padding:26px;background:var(--white)}
.mod .k{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:10px;background:var(--lila);color:var(--purple);font-weight:800}
.mod.c .k{background:#FBE4EF;color:var(--fucsia)}
.mod h3{font-size:21px;color:var(--plum);margin-top:12px}
.mod p{font-size:15.5px;color:var(--muted);margin-top:8px}
.cond{margin-top:30px;font-size:14px;color:var(--muted);max-width:110ch;line-height:1.6;border-top:1px solid var(--line);padding-top:18px}
.people-help{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.people-help .photo{border-radius:24px;overflow:hidden;aspect-ratio:4/3}
.people-help .photo img{width:100%;height:100%;object-fit:cover}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.chips span{background:var(--white);border:1px solid var(--line);border-radius:999px;padding:8px 14px;font-weight:600;font-size:15px;color:var(--plum)}
.contact-cta{background:var(--purple);color:#fff;border-radius:24px;padding:44px;display:grid;grid-template-columns:1.2fr 1fr;gap:30px;align-items:center}
.contact-cta h2{font-size:clamp(28px,3.4vw,40px);color:#fff}
.contact-cta p{color:#EDE6F6;margin-top:12px}
.contact-cta dl{margin:0;display:grid;gap:12px}
.contact-cta dt{font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:#D6C8EA}
.contact-cta dd{margin:2px 0 0;font-size:19px;font-weight:700;user-select:all}
@media (max-width:1100px){.levels{grid-template-columns:1fr 1fr}}
@media (max-width:760px){.levels,.mods,.people-help,.contact-cta{grid-template-columns:1fr}.unit{grid-template-columns:1fr;padding:28px}.contact-cta{padding:30px}}

/* ---------- Contacto ---------- */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.cbox{background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:30px}
.cbox dl{margin:0;display:grid;gap:18px}
.cbox dt{font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--blue)}
.cbox dd{margin:4px 0 0;font-size:19px;font-weight:600;color:var(--plum);line-height:1.35}
.copy{margin-left:8px;font:700 12.5px var(--font);border:1px solid var(--line);background:var(--lila);color:var(--purple);border-radius:8px;padding:4px 8px;cursor:pointer;vertical-align:middle}
.mapcard{border-radius:var(--r);overflow:hidden;position:relative;min-height:320px;background:var(--lila)}
.mapcard img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.mapcard .over{position:absolute;left:18px;right:18px;bottom:18px;background:#fff;border-radius:14px;padding:18px 20px;display:flex;gap:14px;align-items:center;justify-content:space-between;flex-wrap:wrap}
@media (max-width:860px){.contact-grid{grid-template-columns:1fr}}

/* ---------- Footer ---------- */
footer{background:#1E1230;color:var(--on-dark-muted);padding-block:64px 30px;font-size:15.5px}
footer .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.3fr;gap:36px}
footer .brand img{height:56px;width:auto}
footer .brand p{margin-top:16px;max-width:34ch}
footer h4{color:#fff;font-size:16px;font-weight:700;margin-bottom:14px}
footer ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
footer a{text-decoration:none}
footer a:hover{color:#fff;text-decoration:underline}
footer .legal{border-top:1px solid #3A2C50;margin-top:44px;padding-top:20px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:14px}
@media (max-width:900px){footer .cols{grid-template-columns:1fr 1fr}}
@media (max-width:560px){footer .cols{grid-template-columns:1fr}}


/* ---------- Franja superior del sitio ---------- */
.topstrip{background:var(--plum);color:var(--on-dark);font-size:14px}
.topstrip .wrap{display:flex;justify-content:space-between;gap:8px 20px;flex-wrap:wrap;padding-block:8px}
.topstrip b{color:#fff}
.topstrip a{color:#fff;font-weight:700;text-decoration:none;display:inline-flex;gap:8px;align-items:center}
.topstrip a:hover{text-decoration:underline}
.topstrip .law{font-size:12px;font-weight:700;letter-spacing:.06em;background:rgba(255,255,255,.14);padding:3px 8px;border-radius:6px}
.review{border-bottom:2px solid var(--fucsia)}

/* ---------- Diabetes ---------- */
.def{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:start}
.def .txt p{font-size:19px;color:#3C3249;max-width:60ch}
.def .txt p+p{margin-top:14px}
.def-card{background:var(--lila);border-radius:var(--r);padding:28px 30px}
.def-card .k{font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--purple)}
.def-card blockquote{margin:10px 0 0;font-size:22px;font-weight:600;color:var(--plum);line-height:1.35}
.def-card cite{display:block;font-style:normal;font-size:14px;color:var(--muted);margin-top:12px}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:3px solid var(--purple);margin-top:36px}
.kpis > div{padding:22px 22px 6px 0}
.kpis > div + div{padding-left:22px;border-left:1px solid var(--line)}
.kpis .n{font-size:40px;font-weight:800;color:var(--plum);line-height:1;font-variant-numeric:tabular-nums}
.kpis .t{font-size:15px;color:var(--muted);margin-top:8px;line-height:1.4}
.charts{display:grid;grid-template-columns:1.15fr .85fr;gap:26px;margin-top:40px}
.chart{background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:26px 26px 20px}
.chart h3{font-size:19px;color:var(--plum)}
.chart .sub{font-size:14px;color:var(--muted);margin-top:4px}
.hbars{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:6px}
.hbars li{display:grid;grid-template-columns:118px 1fr 44px;gap:10px;align-items:center;font-size:14px;position:relative;border-radius:6px;padding:2px 4px}
.hbars li:hover,.hbars li:focus-within{background:var(--lila)}
.hbars .lb{color:var(--ink)}
.hbars .tr{height:14px;display:flex}
.hbars .br{height:100%;background:#CDBBE0;border-radius:0 4px 4px 0;min-width:2px}
.hbars li.hl .br{background:var(--purple)}
.hbars li.hl .lb,.hbars li.hl .v{font-weight:700}
.hbars .v{text-align:right;font-variant-numeric:tabular-nums;color:var(--muted)}
.vbars{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;align-items:end;height:220px;margin-top:22px;border-bottom:1px solid var(--line);padding-inline:6px}
.vbars .col{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;gap:6px}
.vbars .br{width:100%;max-width:64px;background:#CDBBE0;border-radius:4px 4px 0 0}
.vbars .col.hl .br{background:var(--purple)}
.vbars .v{font-size:15px;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums}
.vlabels{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;padding-inline:6px;margin-top:8px}
.vlabels span{text-align:center;font-size:13.5px;color:var(--muted)}
.chart .note{font-size:13px;color:var(--muted);margin-top:14px;line-height:1.45}
.chart details{margin-top:10px;font-size:14px}
.chart summary{cursor:pointer;color:var(--purple);font-weight:600}
.chart table{border-collapse:collapse;margin-top:8px;font-size:13.5px;font-variant-numeric:tabular-nums}
.chart td,.chart th{padding:3px 12px 3px 0;text-align:left;border-bottom:1px solid var(--line)}
.risk{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:36px}
.rbox{border-radius:var(--r);padding:30px;background:var(--white);border:1px solid var(--line)}
.rbox h3{font-size:22px;color:var(--plum)}
.rbox ul{margin:16px 0 0;padding:0;list-style:none;display:grid;gap:10px}
.rbox li{padding-left:22px;position:relative;font-size:16.5px;line-height:1.4;color:#3C3249}
.rbox li::before{content:"";position:absolute;left:0;top:.5em;width:9px;height:9px;border-radius:50%;background:var(--blue)}
.rbox.comp2{background:var(--plum);border-color:var(--plum)}
.rbox.comp2 h3{color:#fff}
.rbox.comp2 h4{color:#F48DBA;font-size:13px;letter-spacing:.12em;text-transform:uppercase;margin-top:18px}
.rbox.comp2 li{color:var(--on-dark)}
.rbox.comp2 li::before{background:var(--fucsia)}
.care4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:30px}
.care4 div{background:var(--lila);border-radius:var(--r);padding:24px}
.care4 b{display:block;font-size:19px;color:var(--plum)}
.care4 p{font-size:15.5px;color:var(--muted);margin-top:6px}
.warn{margin-top:22px;border-left:4px solid var(--blue);background:var(--blue-soft);border-radius:0 12px 12px 0;padding:16px 20px;font-size:15.5px;color:#23415F;max-width:80ch}
.cost{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:0;background:var(--plum);color:var(--on-dark);border-radius:24px;overflow:hidden}
.cost > div{padding:34px 30px}
.cost > div + div{border-left:1px solid #43305F}
.cost .n{font-size:40px;font-weight:800;color:#fff;line-height:1;font-variant-numeric:tabular-nums}
.cost .t{font-size:15.5px;color:var(--on-dark-muted);margin-top:10px}
.cost .cta p{font-size:18px;color:#fff;font-weight:600;line-height:1.35}
.sources{display:grid;gap:10px;margin-top:26px}
.sources a{display:flex;justify-content:space-between;gap:16px;align-items:center;background:var(--white);border:1px solid var(--line);border-radius:14px;padding:16px 20px;text-decoration:none;font-weight:600;color:var(--plum)}
.sources a:hover{border-color:var(--purple)}
.sources a span:last-child{color:var(--purple);white-space:nowrap}
@media (max-width:1000px){.def,.charts,.risk{grid-template-columns:1fr}.kpis{grid-template-columns:1fr 1fr}.kpis > div:nth-child(3){padding-left:0;border-left:0}.care4{grid-template-columns:1fr 1fr}.cost{grid-template-columns:1fr}.cost > div + div{border-left:0;border-top:1px solid #43305F}}
@media (max-width:560px){.care4,.kpis{grid-template-columns:1fr}.kpis > div + div{padding-left:0;border-left:0;border-top:1px solid var(--line)}.hbars li{grid-template-columns:96px 1fr 40px}}

/* ---------- Transparencia ---------- */
.law-strip{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.law-strip span{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.25);color:#fff;font-weight:600;font-size:14.5px;padding:7px 12px;border-radius:999px}
.status{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:30px}
.st{border:1px solid var(--line);border-radius:var(--r);padding:22px;background:var(--white);display:flex;flex-direction:column;gap:8px}
.st .lbl{font-size:12.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.st h3{font-size:18.5px;color:var(--plum);line-height:1.25}
.st .due{font-size:14px;color:var(--muted)}
.pill{align-self:flex-start;display:inline-flex;gap:6px;align-items:center;font-size:13px;font-weight:700;padding:5px 10px;border-radius:999px;margin-top:auto}
.pill::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor}
.pill.ok{background:#E3F4EA;color:#1D7A45}
.pill.wip{background:#FFF1D9;color:#8A5A00}
.pill.next{background:var(--lila);color:var(--purple)}
.twocol{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.tbl-wrap{overflow-x:auto;margin-top:22px;border:1px solid var(--line);border-radius:var(--r);background:var(--white)}
table.sem{width:100%;border-collapse:collapse;min-width:760px;font-size:15px}
table.sem th{text-align:left;font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);background:var(--lila);padding:12px 16px}
table.sem td{padding:14px 16px;border-top:1px solid var(--line);color:#8A8296}
table.sem td.fill{font-style:italic}
.sem-head{display:flex;justify-content:space-between;align-items:end;gap:16px;flex-wrap:wrap}
.fmt{display:flex;gap:8px;flex-wrap:wrap}
.fmt span{font-size:13px;font-weight:700;border:1px dashed var(--line);color:#8A8296;padding:7px 12px;border-radius:10px}
.docs{display:grid;gap:10px;margin-top:22px}
.doc{display:flex;justify-content:space-between;align-items:center;gap:14px;background:var(--white);border:1px solid var(--line);border-radius:14px;padding:16px 20px}
.doc b{color:var(--plum);font-size:16.5px}
.doc small{display:block;color:var(--muted);font-size:13.5px;margin-top:2px}
.doc .pill{margin-top:0;flex:none}
.norm{background:var(--lila);border-radius:24px;padding:34px 36px}
.norm dl{margin:18px 0 0;display:grid;gap:14px}
.norm dt{font-weight:700;color:var(--plum);font-size:17px}
.norm dd{margin:2px 0 0;color:#3C3249;font-size:15.5px;max-width:90ch}
@media (max-width:1000px){.status{grid-template-columns:1fr 1fr}.twocol{grid-template-columns:1fr}}
@media (max-width:560px){.status{grid-template-columns:1fr}.norm{padding:26px}}

.toast{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);background:var(--plum);color:#fff;padding:10px 16px;border-radius:10px;font-weight:600;font-size:14px;z-index:90}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

:root{--rb:0px}.obs,.review{display:none!important}.skip-link{position:absolute;left:15px;top:-80px;z-index:100;background:white;padding:10px}.skip-link:focus{top:10px}.page{display:block}.prototype-schedule{margin-top:50px}.schedule{width:100%;border-collapse:collapse;font-size:15px}.schedule td,.schedule th{padding:14px;border:1px solid var(--line);text-align:left}.schedule thead{background:var(--lila)}.prototype-report{margin-bottom:45px}.fmt a{font-weight:700;text-decoration:none;color:var(--purple);border:1px solid var(--line);padding:6px 11px;border-radius:8px}.member .hours{display:block;font-size:13px;color:var(--muted);margin-top:8px}.logo-tile img{max-width:100%;max-height:100px;object-fit:contain}.article-body{white-space:normal;max-width:850px;margin-inline:auto}.article-body p{margin-top:22px}.article-body>img{max-height:560px;object-fit:cover;width:100%;border-radius:20px}.news h3 a{text-decoration:none;color:inherit}.news .b p{font-size:15px;margin-top:12px;color:var(--muted)}.proto-empty{padding:30px;border:1px dashed var(--line);border-radius:16px}.member img{max-width:100%}.people-help .photo img{object-position:center}.doc a.doc{color:inherit}.chart table{width:100%}.fmt{flex-wrap:wrap}@media(max-width:640px){.tbl-wrap{max-width:100%;overflow-x:auto}.schedule{min-width:580px}}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.docs a.doc{text-decoration:none;color:inherit;display:flex;align-items:center;justify-content:space-between;gap:16px}.docs .doc strong{display:block}.docs .doc small{display:block;margin-top:5px;color:var(--muted)}.topstrip a{white-space:normal}.article-body .lead{margin-top:25px}

/* Portada accesible y ajustes de administración sin alterar el prototipo. */
.hero>img.hero-img{width:100%;height:100%;object-fit:cover;max-width:none}.site-head .logo{flex-shrink:0}.site-head .logo img{object-fit:contain}.preview-notice{background:var(--lila);color:var(--plum);padding:15px 24px;text-align:center;font-size:15px}.preview-notice a{font-weight:700}.cbox dd,.cols li{overflow-wrap:anywhere}

/* Informes semestrales: tabla de escritorio y tablet. */
@media (min-width:761px) {
  .prototype-report .tbl-wrap { overflow-x:auto; }
  .prototype-report table.activity-table {
    width:100%; min-width:1000px; table-layout:fixed;
    border-collapse:collapse; font-size:14px;
    font-variant-numeric:tabular-nums;
  }
  .prototype-report .activity-table th,
  .prototype-report .activity-table td {
    box-sizing:border-box; padding:18px 14px; text-align:left;
    vertical-align:top; line-height:1.55; overflow-wrap:break-word;
    border-bottom:1px solid var(--line);
  }
  .prototype-report .activity-table thead th {
    background:var(--lila); color:var(--plum); font-size:13px;
    font-weight:700;
  }
  .prototype-report .activity-table thead th:nth-child(1) { width:26%; }
  .prototype-report .activity-table thead th:nth-child(2) { width:12%; }
  .prototype-report .activity-table thead th:nth-child(3) { width:16%; }
  .prototype-report .activity-table thead th:nth-child(4) { width:23%; }
  .prototype-report .activity-table thead th:nth-child(5) { width:14%; }
  .prototype-report .activity-table thead th:nth-child(6) { width:9%; }
  .prototype-report .activity-table tbody th { font-weight:600; color:var(--plum); }
  .prototype-report .activity-table tbody tr:nth-child(even) { background:#faf8fc; }
  .prototype-report .activity-table tbody tr:hover { background:#f5f0fa; }
  .prototype-report .activity-table tbody td:nth-child(2) { white-space:nowrap; }
  .prototype-report .activity-table tr > :last-child { text-align:center; }
  .prototype-report .activity-table tbody td:last-child { font-weight:700; }
  .prototype-report .activity-table tfoot th,
  .prototype-report .activity-table tfoot td {
    background:var(--lila); font-weight:700; border-bottom:0;
  }
  .prototype-report .activity-table tfoot th { text-align:right; }
}

@media (min-width:761px) {
  .prototype-report .activity-table thead th:last-child { white-space:nowrap; }
}
