@font-face{font-family:Jakarta;src:url("../fonts/jakarta-latin.7660bd9909fb.woff2") format("woff2");font-weight:200 800;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:PlexAr;src:url("../fonts/plex-ar-400.4fa3d81d41ab.woff2") format("woff2");font-weight:400;font-display:swap;unicode-range:U+0600-06FF,U+0750-077F,U+200C-200E,U+FB50-FDFF,U+FE70-FEFC}
@font-face{font-family:PlexAr;src:url("../fonts/plex-ar-600.64891a810259.woff2") format("woff2");font-weight:600;font-display:swap;unicode-range:U+0600-06FF,U+0750-077F,U+200C-200E,U+FB50-FDFF,U+FE70-FEFC}
@font-face{font-family:PlexAr;src:url("../fonts/plex-ar-700.a4390abc98c2.woff2") format("woff2");font-weight:700 800;font-display:swap;unicode-range:U+0600-06FF,U+0750-077F,U+200C-200E,U+FB50-FDFF,U+FE70-FEFC}

:root{
  --ink:#14313a;--ink2:#1d4450;--tx:#26383f;--mu:#566870;--line:#e2e8e6;--soft:#f5f8f7;--blanco:#fff;
  --verde:#3c8a66;--verde-o:#256b4c;--verde-t:#e7f3ed;
  --azul:#4896b4;--azul-o:#1b657f;--azul-t:#e6f2f7;
  --naranja:#f6a230;--naranja-o:#875000;--naranja-t:#fef2df;
  --coral:#ea5442;--coral-o:#b4301d;--coral-t:#fdeae7;
  --r:18px;--r2:12px;--sombra:0 1px 2px rgba(20,49,58,.05),0 8px 24px rgba(20,49,58,.07);
  --f:Jakarta,PlexAr,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --g:clamp(1.25rem,4vw,2.5rem);--w:75rem;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:6rem}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media (min-width:1920px){html{font-size:106.25%}}
@media (min-width:2400px){html{font-size:118.75%}}
body{margin:0;background:var(--blanco);color:var(--tx);font:400 1.0625rem/1.7 var(--f)}
[dir=rtl] body{line-height:1.9}
h1,h2,h3{color:var(--ink);font-weight:800;line-height:1.18;letter-spacing:-.018em;margin:0 0 .55em;text-wrap:balance;overflow-wrap:break-word}
[dir=rtl] h1,[dir=rtl] h2,[dir=rtl] h3{letter-spacing:0;line-height:1.4;font-weight:700}
h1{font-size:clamp(2.15rem,1.35rem + 3vw,3.55rem)}
h2{font-size:clamp(1.6rem,1.3rem + 1.25vw,2.35rem)}
h3{font-size:1.16rem}
p{margin:0 0 1em}
a{color:var(--verde-o);text-underline-offset:.2em}
a:hover{color:var(--coral-o)}
:focus-visible{outline:3px solid var(--naranja);outline-offset:2px;border-radius:4px}
img{max-width:100%;height:auto;display:block}
ul,ol{padding-inline-start:1.3em}
.ancho{width:min(var(--w),100% - 2*var(--g));margin-inline:auto}
.salto{position:absolute;inset-inline-start:.5rem;top:-5rem;background:#fff;padding:.6rem 1rem;border-radius:8px;z-index:60}
.salto:focus{top:.5rem}

/* Franja de marca: los cuatro colores del logotipo */
.franja{display:grid;grid-template-columns:repeat(4,1fr);height:5px}
.franja i:nth-child(1){background:var(--verde)}
.franja i:nth-child(2){background:var(--azul)}
.franja i:nth-child(3){background:var(--naranja)}
.franja i:nth-child(4){background:var(--coral)}

.ico{flex:none}
.util{position:relative;z-index:45;background:var(--soft);border-block-end:1px solid var(--line);font-size:.84rem}
.util__in{display:flex;justify-content:space-between;align-items:center;gap:.5rem 1.5rem;min-height:2.5rem}
.util a{color:var(--ink2);text-decoration:none}
.util a:hover{color:var(--coral-o)}
.util__izq{display:flex;gap:1.4rem;align-items:center;min-width:0}
.util__der{display:flex;gap:1.25rem;align-items:center;flex:none}
.util__nom{color:var(--mu)}
.idiomas{display:flex;gap:.1rem 1.1rem;list-style:none;margin:0;padding:0}
.idiomas a{display:inline-block;padding:.45rem .2rem}
.idiomas a[aria-current]{font-weight:700;color:var(--verde-o);box-shadow:inset 0 -2px 0 var(--verde)}
.idi-es{position:relative}
.idi-es summary{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .2rem;color:var(--ink2);cursor:pointer;list-style:none}
.idi-es summary::-webkit-details-marker{display:none}
.idi-es summary::after{content:"";width:.42em;height:.42em;border:solid currentColor;border-width:0 1.5px 1.5px 0;transform:translateY(-.1em) rotate(45deg);transition:transform .15s}
.idi-es[open] summary::after{transform:translateY(.12em) rotate(-135deg)}
.idi-es summary:hover{color:var(--coral-o)}
.idi-es summary.act{font-weight:700;color:var(--verde-o);box-shadow:inset 0 -2px 0 var(--verde)}
.idi-es ul{position:absolute;inset-block-start:calc(100% + .4rem);inset-inline-start:0;min-width:10.5rem;margin:0;padding:.35rem;list-style:none;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--sombra)}
.idi-es li a{display:block;padding:.6rem .75rem;border-radius:8px;font-size:.95rem}
.idi-es li a:hover{background:var(--verde-t);color:var(--verde-o)}
.idiomas .idi-es li a[aria-current]{background:var(--verde-t);box-shadow:none}
.util a.util__priv{display:inline-flex;align-items:center;gap:.4rem;font-weight:700;color:var(--verde-o);padding-inline-start:1.25rem;border-inline-start:1px solid #cfd9d6}
.util a.util__priv:hover{color:var(--coral-o)}
.util__priv .ico{width:15px;height:15px}
@media (max-width:1040px){.util__nom{display:none}}
@media (max-width:1279px){.util a.util__priv{display:none}}
@media (max-width:640px){.util__izq{display:none}.util__in{justify-content:center}}

.cab{background:#fff;border-block-end:1px solid var(--line);box-shadow:0 1px 10px rgba(20,49,58,.05);position:sticky;top:0;z-index:40}
.cab__in{display:flex;align-items:center;justify-content:space-between;gap:.75rem 1rem;padding-block:.6rem;flex-wrap:wrap}
.logo{display:flex;gap:.6rem;align-items:center;text-decoration:none;color:var(--ink);min-width:0}
.logo img{width:52px;height:52px;flex:none}
.logo__t{display:flex;flex-direction:column;min-width:0;line-height:1.2}
.logo b{font-size:1.4rem;font-weight:800;letter-spacing:.05em}
.cab__acc{display:flex;align-items:center;gap:.55rem}
.cab__acc .cab__cta{display:inline-flex;align-items:center;min-height:44px;padding:.5rem .95rem;font-size:.89rem}
.cab__priv{display:none;align-items:center;justify-content:center;gap:.45rem;min-height:44px;padding:.5rem .85rem;background:#fff;border:1.5px solid #cfd9d6;border-radius:11px;color:var(--ink);font-weight:700;font-size:.89rem;line-height:1.2;text-decoration:none;white-space:nowrap;transition:border-color .15s,color .15s}
.cab__priv:hover{border-color:var(--verde-o);color:var(--verde-o)}
.cab__priv .ico{width:19px;height:19px;color:var(--verde-o)}
.nav-btn{display:none;align-items:center;gap:.5rem;min-height:44px;background:var(--ink);border:0;color:#fff;border-radius:11px;padding:.5rem .85rem;font:inherit;font-size:.89rem;font-weight:700;line-height:1.2;cursor:pointer}
.nav-btn__i{position:relative;display:block;flex:none;width:18px;height:12px}
.nav-btn__i i{position:absolute;inset-inline:0;height:2px;border-radius:2px;background:currentColor;transition:transform .18s,opacity .18s}
.nav-btn__i i:nth-child(1){top:0}
.nav-btn__i i:nth-child(2){top:5px}
.nav-btn__i i:nth-child(3){top:10px}
.nav-btn[aria-expanded=true] .nav-btn__i i:nth-child(1){transform:translateY(5px) rotate(45deg)}
.nav-btn[aria-expanded=true] .nav-btn__i i:nth-child(2){opacity:0}
.nav-btn[aria-expanded=true] .nav-btn__i i:nth-child(3){transform:translateY(-5px) rotate(-45deg)}
.nav ul{display:flex;flex-wrap:wrap;gap:.1rem;list-style:none;margin:0;padding:0}
.nav a{display:block;padding:.5rem .34rem;border-radius:9px;text-decoration:none;color:var(--ink);font-weight:600;font-size:.86rem;white-space:nowrap}
.nav a:hover{background:var(--verde-t);color:var(--verde-o)}
.nav a[aria-current]{color:var(--verde-o);box-shadow:inset 0 -2px 0 var(--verde);border-radius:0}
.nav__extra{display:none}
@media (min-width:1280px){.cab__in{flex-wrap:nowrap}.nav ul{flex-wrap:nowrap}.cab__acc .cab__cta{white-space:nowrap}}
@media (max-width:1279px){
  .cab__priv{display:inline-flex}
  .js .nav-btn{display:inline-flex}
  .js .nav{display:none;width:100%;order:3;max-height:calc(100vh - 5rem);max-height:calc(100dvh - 5rem);overflow-y:auto;border-block-start:1px solid var(--line);padding-block-start:.4rem}
  .js .nav.abierto{display:block}
  .nav ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.1rem 1.5rem}
  .nav a{padding:.72rem .6rem;font-size:1rem;white-space:normal}
  .nav__extra{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;margin-block-start:.6rem;padding-block:.8rem .55rem;border-block-start:1px solid var(--line)}
  .nav a.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.68rem 1rem;border-radius:11px;font-weight:700;box-shadow:none}
  .nav a.btn:not(.btn--sec),.nav a.btn:not(.btn--sec):hover{color:#fff}
  .nav a.nav__mail{grid-column:1/-1;text-align:center;font-weight:500;font-size:.92rem;color:var(--mu)}
}
@media (max-width:640px){
  .cab__acc .cab__cta{display:none}
  .logo img{width:44px;height:44px}
  .logo b{font-size:1.25rem}
  .cab__priv{width:44px;padding:0}
  .cab__priv span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
  .nav ul{grid-template-columns:minmax(0,1fr);gap:0}
  .nav li+li{border-block-start:1px solid var(--line)}
  .nav__extra{grid-template-columns:minmax(0,1fr)}
}

.btn{display:inline-block;background:var(--verde-o);color:#fff;border:2px solid var(--verde-o);border-radius:11px;padding:.68rem 1.25rem;font:inherit;font-weight:700;line-height:1.35;text-align:center;text-decoration:none;cursor:pointer;transition:background .15s,border-color .15s,color .15s}
.btn:hover{background:var(--ink);border-color:var(--ink);color:#fff}
.btn--sec{background:#fff;color:var(--ink);border-color:var(--ink)}
.btn--sec:hover{background:var(--ink);color:#fff}
.btn--claro{background:#fff;color:var(--ink);border-color:#fff}
.btn--claro:hover{background:var(--naranja);border-color:var(--naranja);color:var(--ink)}
.btn .ico{width:18px;height:18px;vertical-align:-3px;margin-inline-end:.4rem}
.flecha{font-weight:700;color:var(--verde-o);text-decoration:none;white-space:nowrap}
.flecha::after{content:" →"}
[dir=rtl] .flecha::after{content:" ←"}
.flecha:hover{color:var(--coral-o)}

.sec{padding-block:clamp(3rem,6vw,5.25rem)}
.sec--pt0{padding-block-start:0}
.sec--soft{background:var(--soft)}
.sec__cab{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem 2rem;flex-wrap:wrap;margin-block-end:1.9rem}
.sec__cab>div{min-width:0}
.sec__cab h2{margin:0}
.sec__cab p{margin:.5rem 0 0;color:var(--mu);max-width:44rem}
.etiq{display:inline-block;font-size:.8rem;font-weight:700;color:var(--verde-o);background:var(--verde-t);padding:.3rem .75rem;border-radius:8px;margin-block-end:.9rem;line-height:1.45}

/* Portada: círculo de cuatro fotografías con el logotipo en el centro */
.hero{background:linear-gradient(180deg,var(--soft),#fff 92%)}
.hero__in{display:grid;gap:2.5rem;align-items:center;padding-block:clamp(2.75rem,6vw,5rem)}
@media (min-width:720px){.hero__in{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:clamp(2rem,4vw,3.5rem)}}
@media (min-width:720px) and (max-width:939px){.hero h1{font-size:2.3rem}}
.hero__sub{font-size:clamp(1.08rem,1rem + .4vw,1.28rem);color:var(--mu);max-width:36em}
.hero__cta{display:flex;flex-wrap:wrap;align-items:center;gap:.7rem;margin:1.7rem 0 0}
.hero__priv{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:44px;padding-inline:.5rem;color:var(--ink2);font-weight:700;text-decoration:none}
.hero__priv:hover{color:var(--verde-o);text-decoration:underline}
.hero__priv .ico{width:18px;height:18px;color:var(--verde-o)}
@media (max-width:939px){.hero__cta .btn{flex:1 1 auto}.hero__priv{flex:1 1 100%}}
.mosaico{position:relative;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:12px;aspect-ratio:1;width:min(100%,500px);margin-inline:auto}
.q{overflow:hidden;background:var(--c);min-width:0;min-height:0}
.q img{width:100%;height:100%;object-fit:cover}
.q1{--c:var(--verde);border-start-start-radius:100%;padding-block-start:7px;padding-inline-start:7px}
.q1 img{border-start-start-radius:100%}
.q2{--c:var(--azul);border-start-end-radius:100%;padding-block-start:7px;padding-inline-end:7px}
.q2 img{border-start-end-radius:100%}
.q3{--c:var(--naranja);border-end-start-radius:100%;padding-block-end:7px;padding-inline-start:7px}
.q3 img{border-end-start-radius:100%}
.q4{--c:var(--coral);border-end-end-radius:100%;padding-block-end:7px;padding-inline-end:7px}
.q4 img{border-end-end-radius:100%}
.mosaico__c{position:absolute;inset:0;margin:auto;width:31%;height:31%;background:#fff;border-radius:50%;display:grid;place-items:center;box-shadow:0 0 0 12px #fff}
.mosaico__c img{width:86%;height:86%}

.datos-b{border-block:1px solid var(--line);background:#fff}
.datos-b__in{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
@media (min-width:760px){.datos-b__in{grid-template-columns:repeat(4,minmax(0,1fr))}}
.dato{padding:1.2rem 1rem;border-inline-start:3px solid var(--c)}
.dato:nth-child(4n+1){--c:var(--verde)}
.dato:nth-child(4n+2){--c:var(--azul)}
.dato:nth-child(4n+3){--c:var(--naranja)}
.dato:nth-child(4n+4){--c:var(--coral)}
.dato b{display:block;font-size:clamp(1.3rem,1.05rem + 1.1vw,1.65rem);overflow-wrap:anywhere;font-weight:800;color:var(--ink);line-height:1.2}
.dato span{font-size:.92rem;color:var(--mu)}

.rej{display:grid;gap:1.25rem;grid-template-columns:minmax(0,1fr)}
@media (min-width:600px){.rej{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:960px){.rej{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:720px){.rej--3{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:600px) and (max-width:899px){.rej--2{grid-template-columns:minmax(0,1fr)}}
@media (min-width:900px){.rej--2{grid-template-columns:repeat(2,minmax(0,1fr))}}
.card{--c:var(--verde);--co:var(--verde-o);--ct:var(--verde-t);display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;text-decoration:none;color:var(--tx);transition:transform .16s,box-shadow .16s,border-color .16s}
.rej .card:nth-child(4n+2){--c:var(--azul);--co:var(--azul-o);--ct:var(--azul-t)}
.rej .card:nth-child(4n+3){--c:var(--naranja);--co:var(--naranja-o);--ct:var(--naranja-t)}
.rej .card:nth-child(4n+4){--c:var(--coral);--co:var(--coral-o);--ct:var(--coral-t)}
a.card:hover{transform:translateY(-3px);box-shadow:var(--sombra);border-color:var(--c);color:var(--tx)}
.card__f{position:relative;aspect-ratio:3/2;background:var(--ct);overflow:hidden}
.card__f img{width:100%;height:100%;object-fit:cover}
.card__f::after{content:"";position:absolute;inset-inline:0;inset-block-end:0;height:4px;background:var(--c)}
.card__ph{display:grid;place-items:center;height:100%}
.card__ph img{width:32%;height:auto;opacity:.5}
.card__c{padding:1.15rem 1.3rem 1.3rem;display:flex;flex-direction:column;gap:.45rem;flex:1}
.card h3{margin:0}
.card p{margin:0;color:var(--mu);font-size:.97rem;line-height:1.6}
.card time{font-size:.86rem;color:var(--mu)}
.card__mas{margin-block-start:auto;padding-block-start:.5rem;font-weight:700;font-size:.92rem;color:var(--co)}
.card__mas::after{content:" →"}
[dir=rtl] .card__mas::after{content:" ←"}
.card--h{flex-direction:row}
.card--h .card__f{flex:0 0 38%;aspect-ratio:auto;min-height:190px}
.card--h .card__f::after{inset-block:0;inset-inline:auto 0;width:4px;height:auto}
.card--h .card__c{min-width:0}
@media (max-width:560px){.card--h{flex-direction:column}.card--h .card__f{flex:none;aspect-ratio:16/9;min-height:0}.card--h .card__f::after{inset-block:auto 0;inset-inline:0;width:auto;height:4px}}

.badge{display:inline-block;align-self:flex-start;font-size:.8rem;font-weight:700;padding:.17rem .65rem;border-radius:99px;background:#eef1f0;color:#46565c}
.badge--disponible,.badge--ejecucion,.badge--convocatoria{background:var(--verde-t);color:var(--verde-o)}
.badge--cita{background:var(--azul-t);color:var(--azul-o)}
.badge--derivacion,.badge--planificacion{background:var(--naranja-t);color:var(--naranja-o)}

.dual{display:grid;gap:2.5rem;align-items:center}
@media (min-width:900px){.dual{grid-template-columns:1fr 1fr;gap:4rem}}
.dual__f{border-radius:var(--r);overflow:hidden;aspect-ratio:4/3}
.dual__f img{width:100%;height:100%;object-fit:cover}
.valores{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;margin:1.1rem 0 1.5rem;padding:0}
.valores li{font-size:.88rem;font-weight:600;padding:.3rem .8rem;border-radius:99px;background:var(--c1,var(--verde-t));color:var(--c2,var(--verde-o))}
.valores li:nth-child(4n+2){--c1:var(--azul-t);--c2:var(--azul-o)}
.valores li:nth-child(4n+3){--c1:var(--naranja-t);--c2:var(--naranja-o)}
.valores li:nth-child(4n+4){--c1:var(--coral-t);--c2:var(--coral-o)}

.grupos{display:grid;gap:.85rem;grid-template-columns:minmax(0,1fr);list-style:none;margin:0;padding:0}
.grupos li{display:flex;gap:.85rem;align-items:center;background:#fff;border:1px solid var(--line);border-radius:var(--r2);padding:.95rem 1.1rem;font-weight:600;color:var(--ink);line-height:1.4}
.grupos li::before{content:"";flex:none;width:12px;height:12px;border-radius:50%;background:var(--c,var(--verde));box-shadow:0 0 0 4px var(--ct,var(--verde-t))}
.grupos li:nth-child(4n+2){--c:var(--azul);--ct:var(--azul-t)}
.grupos li:nth-child(4n+3){--c:var(--naranja);--ct:var(--naranja-t)}
.grupos li:nth-child(4n+4){--c:var(--coral);--ct:var(--coral-t)}

@media (min-width:600px){.grupos{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1000px){.grupos{grid-template-columns:repeat(3,minmax(0,1fr))}}

.pasos{display:grid;gap:1.25rem;grid-template-columns:minmax(0,1fr);list-style:none;margin:0;padding:0;counter-reset:p}
@media (min-width:720px){.pasos{grid-template-columns:repeat(3,minmax(0,1fr))}}
.pasos li{counter-increment:p;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:1.4rem 1.45rem}
.pasos li::before{content:counter(p);display:grid;place-items:center;width:2.4rem;height:2.4rem;border-radius:50%;background:var(--c,var(--verde-o));color:#fff;font-weight:800;margin-block-end:.8rem}
.pasos li:nth-child(2){--c:var(--azul-o)}
.pasos li:nth-child(3){--c:var(--coral-o)}
.pasos p{margin:0;color:var(--mu);font-size:.97rem}

.tile{position:relative;display:flex;align-items:flex-end;min-height:290px;border-radius:var(--r);overflow:hidden;text-decoration:none;color:#fff}
.tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .35s}
.tile:hover img{transform:scale(1.04)}
.tile::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(14,36,44,.1) 20%,rgba(14,36,44,.86))}
.tile__c{position:relative;z-index:2;padding:1.35rem 1.45rem}
.tile h3{color:#fff;margin:0 0 .3rem}
.tile p{margin:0;font-size:.95rem;color:#eef3f4;line-height:1.55}
.tile:hover{color:#fff}

.urg{background:var(--coral-t);border-block:1px solid #f6cfc9}
.urg__in{display:flex;gap:1rem 2rem;align-items:center;justify-content:space-between;flex-wrap:wrap;padding-block:1.35rem}
.urg p{margin:0;color:#6d2316}
.urg b{color:var(--coral-o)}

.oscuro{background:var(--ink);color:#d9e4e7;position:relative;overflow:hidden}
.oscuro h2,.oscuro h3{color:#fff}
.oscuro__in{display:grid;gap:2.2rem;align-items:center}
@media (min-width:900px){.oscuro__in{grid-template-columns:1.2fr .8fr;gap:4rem}}
.ficha-o{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);border-radius:var(--r);padding:1.4rem 1.5rem;font-size:.95rem}
.ficha-o dt{color:#a8bec5;font-size:.82rem}
.ficha-o dd{margin:0 0 .75rem;color:#fff;font-weight:600}
.ficha-o dd:last-child{margin:0}

.logos{display:flex;flex-wrap:wrap;gap:1rem;align-items:center}
.logos a,.logos span{display:grid;place-items:center;width:170px;height:92px;background:#fff;border:1px solid var(--line);border-radius:var(--r2);padding:.8rem}
.logos img{max-height:62px;width:auto}

/* Páginas interiores */
.enc{background:var(--soft);border-block-end:1px solid var(--line)}
.enc__in{display:grid;gap:2rem;align-items:center;padding-block:clamp(2.2rem,4.5vw,3.75rem)}
@media (min-width:860px){.enc__in--f{grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:3rem}}
.enc h1{font-size:clamp(1.95rem,1.35rem + 2.3vw,3rem);margin-block-end:.35em}
.enc .badge{margin-block-end:.75rem}
.enc__intro{font-size:1.16rem;max-width:42em;color:#3f5259;margin:0}
.enc__f{border-radius:var(--r);overflow:hidden;aspect-ratio:3/2;box-shadow:var(--sombra)}
.enc__f img{width:100%;height:100%;object-fit:cover}
.migas{font-size:.86rem;margin-block-end:.7rem;color:var(--mu)}
.migas a{color:var(--mu)}
.migas span{margin-inline:.35rem}
.texto{max-width:47rem}
.texto h2{margin-block-start:1.5em;font-size:1.55rem}
.texto>h2:first-child,.texto>:first-child>h2:first-child{margin-block-start:0}
.block-texto+.block-texto{margin-block-start:1em}
.texto h3{margin-block-start:1.4em}
.rich p:last-child{margin-block-end:0}
.dosc{display:grid;gap:2.5rem;grid-template-columns:minmax(0,1fr)}
@media (min-width:920px){.dosc{grid-template-columns:minmax(0,1.75fr) minmax(0,1fr);gap:3.5rem}}
.ficha{background:var(--soft);border:1px solid var(--line);border-radius:var(--r);padding:1.4rem 1.5rem;align-self:start;position:sticky;top:6.5rem}
@media (min-width:600px) and (max-width:919px){.ficha{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 1.5rem}.ficha>:not(dl){grid-column:1/-1}}
.ficha dl{margin:0 0 1rem}
.ficha dt,.datos dt{font-weight:700;color:var(--ink);font-size:.88rem}
.ficha dd{margin:0;font-size:.96rem}
.ficha .btn{width:100%;text-align:center}
.lista-ok{list-style:none;margin:0 0 1.6rem;padding:0;display:grid;gap:.6rem}
.lista-ok li{position:relative;padding-inline-start:2rem}
.lista-ok li::before{content:"";position:absolute;inset-inline-start:0;top:.32em;width:1.25rem;height:1.25rem;border-radius:50%;background:var(--verde-t) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='m5.500 10.500 3 3 6-6.500' fill='none' stroke='%23256b4c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/100% no-repeat}
.datos{display:grid;grid-template-columns:auto 1fr;gap:.3rem 1.3rem}
.datos dd{margin:0}
.destacado,.nota{background:var(--naranja-t);border-inline-start:4px solid var(--naranja);padding:.85rem 1.05rem;border-radius:8px;margin-block:1rem;color:#4b3515}
.destacado p:last-child{margin:0}
.nota{font-size:.95rem}
.rev{color:var(--mu);font-size:.85rem;margin-block-start:1.8rem}
.faq{border-block-end:1px solid var(--line);padding-block:.85rem}
.faq summary{font-weight:700;color:var(--ink);cursor:pointer}
.faq .rich{padding-block-start:.55rem}
.tabla{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r2)}
table{border-collapse:collapse;width:100%}
th,td{text-align:start;padding:.7rem .95rem;border-block-end:1px solid var(--line)}
tr:last-child td{border-block-end:0}
th{color:var(--ink);background:var(--soft);font-size:.92rem}

.form{max-width:36rem}
.form--caja{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:1.6rem 1.7rem;box-shadow:var(--sombra);max-width:none}
.campo{margin-block-end:1.05rem}
.campo label{display:block;font-weight:600;color:var(--ink);margin-block-end:.3rem;font-size:.97rem}
.campo small{display:block;color:var(--mu);font-size:.86rem;margin-block-start:.3rem;line-height:1.5}
input:not([type=checkbox]):not([type=radio]),select,textarea{width:100%;font:inherit;padding:.62rem .75rem;border:1.5px solid #93a3a9;border-radius:10px;background:#fff;color:var(--tx)}
input:focus,select:focus,textarea:focus{border-color:var(--verde-o)}
.campo--check{display:flex;gap:.6rem;align-items:flex-start;flex-wrap:wrap}
.campo--check label{font-weight:400;flex:1 1 80%;margin:0}
.campo--check input{width:1.2rem;height:1.2rem;margin-block-start:.3rem;accent-color:var(--verde-o)}
.campo ul{list-style:none;padding:0;margin:0}
.campo li label{font-weight:400;display:flex;gap:.55rem;align-items:center}
.campo li input{accent-color:var(--verde-o)}
.error,.errorlist{color:var(--coral-o);font-size:.92rem}
.errorlist{list-style:none;padding:0;margin:.25rem 0 0}
.hp{position:absolute;inset-inline-start:-200vw;height:1px;overflow:hidden}
.capa{font-size:.88rem;color:var(--mu);line-height:1.55}
.qr{background:#fff;padding:.5rem}

.pie{background:var(--ink);color:#c5d4d9;font-size:.93rem}
.pie__in{display:grid;gap:2rem 1.5rem;grid-template-columns:repeat(2,minmax(0,1fr));padding-block:3rem 2rem}
.pie__in>:first-child,.pie__in>:last-child{grid-column:1/-1}
@media (min-width:760px){.pie__in{grid-template-columns:1.5fr 1fr 1fr 1fr;gap:2.2rem}.pie__in>:first-child,.pie__in>:last-child{grid-column:auto}}
.pie h2{color:#fff;font-size:.95rem;margin:0 0 .85rem;letter-spacing:0}
.pie p{margin:0 0 .35rem;line-height:1.55}
.pie a{color:#e4edf0;text-decoration:none}
.pie a:hover{color:var(--naranja);text-decoration:underline}
.pie ul{list-style:none;margin:0;padding:0}
.pie li{margin-block-end:.42rem}
.pie__logo{display:flex;align-items:center;gap:.7rem;margin-block-end:.9rem}
.pie__logo span{display:grid;place-items:center;background:#fff;border-radius:50%;width:60px;height:60px}
.pie__logo img{width:50px;height:50px}
.pie__logo b{font-size:1.4rem;color:#fff;letter-spacing:.05em}
.pie__baja{border-block-start:1px solid rgba(255,255,255,.14);padding-block:1rem;font-size:.82rem;color:#a4b8bf}
.pie__baja p{margin:0}

.tarj{display:block;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:1.25rem 1.3rem;text-decoration:none;color:var(--tx)}
.tarj p{margin:0;color:var(--mu);font-size:.97rem}
.tarj--p{margin-block-end:.8rem}
.tarj--p h2{font-size:1.12rem}
.portal{display:grid;gap:1.6rem;grid-template-columns:minmax(0,1fr)}
@media (min-width:860px){.portal{grid-template-columns:15rem minmax(0,1fr)}}
.psub{background:var(--soft);border-radius:var(--r);padding:.8rem;align-self:start}
.psub ul{list-style:none;margin:0 0 .5rem;padding:0}
.psub a{display:block;padding:.45rem .5rem;border-radius:7px;text-decoration:none;font-weight:600}
.psub a:hover{background:var(--verde-t)}
.enlace{background:none;border:0;padding:.35rem .4rem;color:var(--verde-o);font:inherit;font-weight:600;text-decoration:underline;cursor:pointer}
.enl{display:inline-block}

/* Área privada y Campus */
.acc{--c:var(--verde);display:flex;flex-direction:column;gap:.5rem;border:1px solid var(--line);border-block-start:5px solid var(--c);border-radius:var(--r);padding:1.4rem 1.5rem;background:#fff}
.acc:nth-child(2){--c:var(--azul)}.acc:nth-child(3){--c:var(--naranja)}.acc:nth-child(4){--c:var(--coral)}.acc:nth-child(5){--c:var(--ink)}
.acc h2{font-size:1.25rem;margin:0}
.acc p{margin:0;color:var(--mu);font-size:.97rem}
.acc .acc__m{background:var(--soft);border-radius:10px;padding:.65rem .8rem;color:var(--tx);font-size:.92rem;margin-block:.3rem .5rem}
.acc__m b{display:block;color:var(--ink);font-size:.82rem}
.acc .btn{margin-block-start:auto;align-self:flex-start}
.camp-bar{background:var(--ink);color:#fff;font-size:.92rem}
.camp-bar__in{display:flex;justify-content:space-between;align-items:center;gap:.35rem 1rem;flex-wrap:wrap;min-height:48px;padding-block:.45rem}
.camp-bar a,.camp-bar .enlace{color:#fff;text-decoration:none;font-weight:600}
.camp-bar .enlace{padding-inline:0}
.camp-bar a:hover,.camp-bar .enlace:hover{color:var(--naranja)}
.camp-bar__marca{font-weight:800;letter-spacing:.02em}
.camp-bar nav{display:flex;gap:.25rem 1.1rem;align-items:center;flex-wrap:wrap}
.camp-bar form{margin:0}
@media (max-width:640px){.camp-bar{font-size:.86rem}.camp-bar__marca{width:100%}.camp-bar nav{width:100%;justify-content:space-between;gap:.25rem .75rem}}
.camp-lead{color:var(--mu);font-size:1.08rem;max-width:44em}
progress{appearance:none;-webkit-appearance:none;width:100%;height:10px;border:0;border-radius:99px;background:var(--line);overflow:hidden}
progress::-webkit-progress-bar{background:var(--line);border-radius:99px}
progress::-webkit-progress-value{background:var(--verde-o);border-radius:99px}
progress::-moz-progress-bar{background:var(--verde-o);border-radius:99px}
.camp-prog{display:flex;align-items:center;gap:1rem;margin-block:1.1rem 1.6rem;font-weight:600;color:var(--ink);font-size:.92rem}
.camp-prog progress{flex:1}
.camp-prog span{white-space:nowrap}
.iti{list-style:none;margin:0;padding:0;display:grid;gap:.85rem}
.iti__f{display:grid;grid-template-columns:auto 1fr auto;gap:1rem;align-items:center;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:1.1rem 1.25rem}
.iti__n{display:grid;place-items:center;width:2.5rem;height:2.5rem;border-radius:50%;background:var(--verde-t);color:var(--verde-o);font-weight:800}
.iti--aprobado .iti__n{background:var(--verde-o);color:#fff}
.iti--bloqueado{background:var(--soft)}
.iti--bloqueado .iti__n{background:var(--line);color:var(--mu)}
.iti__c h2{font-size:1.08rem;margin:0 0 .15rem}
.iti__c p{margin:0;color:var(--mu);font-size:.94rem;line-height:1.5}
.iti__c small{color:var(--mu)}
.iti__a{display:flex;flex-direction:column;align-items:flex-end;gap:.35rem}
@media (max-width:640px){.iti__f{grid-template-columns:auto 1fr}.iti__a{grid-column:1/-1;align-items:flex-start}}
.camp-indice,.camp-norma{padding-inline-start:1.2rem;color:var(--tx)}
.camp-norma{font-size:.94rem}
.camp-h3{font-size:.95rem;margin:1.1rem 0 .3rem}
.camp-int{list-style:none;padding:0;margin:0;font-size:.92rem}
.camp-av{background:var(--soft);border-block-end:1px solid var(--line);font-size:.9rem;font-weight:600;color:var(--ink)}
.camp-av small{font-size:.84rem}
.camp-av .ancho{display:grid;grid-template-columns:minmax(0,1fr) minmax(8rem,16rem) auto;align-items:center;gap:1rem;min-height:50px}
@media (max-width:640px){.camp-av .ancho{grid-template-columns:1fr auto;padding-block:.5rem}.camp-av span{grid-column:1/-1}}
.camp-lec{display:grid;gap:2rem 3rem;grid-template-columns:minmax(0,1fr)}
@media (min-width:940px){.camp-lec{grid-template-columns:16rem minmax(0,1fr)}.camp-lat{grid-row:span 2}.camp-sig{grid-column:2}}
@media (max-width:939px){.camp-lat{display:none}}
.camp-lec h1{font-size:clamp(1.75rem,1.3rem + 1.6vw,2.6rem)}
.camp-curso h2{font-size:1.35rem;margin-block:1.8em .6em}
.camp-lat ol{list-style:none;margin:0;padding:0;position:sticky;top:6.5rem;display:grid;gap:.15rem;font-size:.9rem;color:var(--mu)}
.camp-lat li{padding:.42rem .7rem;border-inline-start:3px solid var(--line)}
.camp-lat li.hecha{border-color:var(--verde);color:var(--verde-o)}
.camp-lat li.actual{border-color:var(--naranja);background:var(--naranja-t);color:var(--ink);font-weight:700}
.camp-texto{max-width:47rem}
.camp-texto h3{margin-block:1.5em .5em}
.camp-texto li{margin-block-end:.35rem}
.idea{background:var(--azul-t);border-inline-start:4px solid var(--azul);padding:.9rem 1.1rem;border-radius:8px;margin-block:1.3rem}
.camp-base{max-width:47rem;font-size:.88rem;color:var(--mu);border-block-start:1px solid var(--line);margin-block-start:1.8rem;padding-block-start:.85rem}
.camp-base ul{margin:.3rem 0 0;padding-inline-start:1.1rem}
.preg{border:1px solid var(--line);border-radius:var(--r);padding:1.2rem 1.3rem;margin:0 0 1.1rem;background:#fff}
.preg legend{font-weight:700;color:var(--ink);padding:0;float:left;width:100%;margin-block-end:.8rem;display:flex;gap:.6rem}
.preg legend span{flex:none;display:grid;place-items:center;width:1.75rem;height:1.75rem;border-radius:50%;background:var(--verde-t);color:var(--verde-o);font-size:.88rem}
.preg__o{clear:both;display:flex;gap:.65rem;align-items:flex-start;padding:.65rem .75rem;border:1.5px solid var(--line);border-radius:10px;margin-block-start:.5rem;cursor:pointer}
.preg__o:hover{border-color:var(--verde)}
.preg__o:has(input:checked){border-color:var(--verde-o);background:var(--verde-t)}
.preg__o input{margin-block-start:.3rem;accent-color:var(--verde-o)}
.preg__o b{color:var(--mu)}
.preg__o span{flex:1 1 0;min-width:0;overflow-wrap:anywhere}
.clave{flex:none;font-style:normal;font-weight:700;font-size:.8rem;color:var(--verde-o)}
@media (max-width:640px){.preg__o{flex-wrap:wrap}.clave{flex:0 0 100%;text-align:end}}
.camp-res{max-width:46rem}
.camp-nota{display:inline-grid;place-items:center;width:9rem;height:9rem;border-radius:50%;margin-block-end:1rem;border:8px solid var(--c);color:var(--c)}
.camp-nota.ok{--c:var(--verde-o)}.camp-nota.ko{--c:var(--coral-o)}
.camp-nota span{font-size:1.5rem;white-space:nowrap;font-weight:800;align-self:end}
.camp-nota small{align-self:start;color:var(--mu)}
.camp-sec{list-style:none;padding:0;margin:0 0 1.6rem;border:1px solid var(--line);border-radius:var(--r2)}
.camp-sec li{display:flex;justify-content:space-between;gap:1rem;padding:.65rem .95rem;border-block-end:1px solid var(--line)}
.camp-sec li:last-child{border-block-end:0}
.camp-sec li b{flex:none;white-space:nowrap}
.camp-auth{max-width:30rem}
.consta{max-width:44rem;margin-inline:auto;text-align:center;border:1px solid var(--line);border-block-start:6px solid var(--verde);border-radius:var(--r);padding:2.4rem 2rem}
.consta img{margin:0 auto .8rem}
.consta h1{font-size:1.7rem}
.consta__a{color:var(--mu);font-size:.92rem}
.consta__n{font-size:1.55rem;font-weight:800;color:var(--ink)}
.consta__c{font-size:1.15rem;font-weight:700;color:var(--verde-o)}
.consta__m{font-size:.88rem}
.consta__l{font-size:.8rem;color:var(--mu);margin:1.4rem 0 0}
.clv{border-block-end:1px solid var(--line);padding-block:.7rem}
.clv summary{font-weight:800;color:var(--ink);cursor:pointer}
.clv h2{font-size:1.05rem;margin-block:1.1rem .5rem}
.clv li{margin-block-end:.8rem}
.clv li p{margin:0}
.clv__r{color:var(--verde-o);font-weight:700}
.clv small{color:var(--mu)}

/* Párrafos justificados: composición de documento institucional */
.rich p,.rich li,.texto p,.texto li,.camp-texto p,.camp-texto li,.camp-lead,.enc__intro,.hero__sub,.sec__cab p,.dual p,.oscuro__in p,.card p,.pasos p,.acc p:not(.acc__m),.iti__c p,.tarj p,.tile p,.urg p,.idea,.destacado,.nota,.capa,.clv li p{text-align:justify;text-justify:inter-word;hyphens:auto;-webkit-hyphens:auto;overflow-wrap:break-word}
[dir=rtl] .rich p,[dir=rtl] .rich li,[dir=rtl] .texto p,[dir=rtl] .texto li,[dir=rtl] .camp-texto p,[dir=rtl] .camp-texto li{hyphens:none;-webkit-hyphens:none}

/* Teléfonos */
@media (max-width:640px){
  .hero__cta .btn,.urg .btn,main form .btn,.acc .btn,.dual .btn,.oscuro .btn{width:100%}
  .acc .btn{align-self:stretch}
  .form--caja{padding:1.25rem 1.15rem}
  .card__f{aspect-ratio:16/9}
  .tile{min-height:240px}
  .consta{padding:1.75rem 1.15rem}
  .acc,.pasos li,.ficha,.preg,.tarj,.ficha-o{padding:1.15rem 1.1rem}
  .datos{grid-template-columns:minmax(0,1fr);gap:.1rem}
  .datos dd{margin-block-end:.65rem}
  .pie li a{display:inline-block;padding-block:.15rem}
  .dato{padding:1.1rem .85rem}
}

@media print{.util,.cab,.pie,.franja,.camp-bar,.noprint{display:none!important}.consta{border:0}}
