@font-face{font-family:Neulis;src:url(../fonts/Neulis-Light.ttf) format("truetype");font-weight:300;font-display:swap}
@font-face{font-family:Neulis;src:url(../fonts/Neulis-Regular.ttf) format("truetype");font-weight:400;font-display:swap}
@font-face{font-family:Neulis;src:url(../fonts/Neulis-SemiBold.ttf) format("truetype");font-weight:700;font-display:swap}
@font-face{font-family:Nexa;src:url(../fonts/Nexa-ExtraLight.ttf) format("truetype");font-weight:300;font-display:swap}
@font-face{font-family:Nexa;src:url(../fonts/Nexa-Heavy.ttf) format("truetype");font-weight:800;font-display:swap}
:root{--morado:#5c4e93;--lila:#9a88d4;--verde:#c1cc1e;--beige:#fffeec;--texto:#3a3550;--suave:#6d6787;--linea:#e6e0f5;--lila-claro:#f1edfb;--r:18px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--beige);color:var(--texto);font-family:Nexa,Arial,sans-serif;font-weight:300;font-size:17px;line-height:1.65}
h1,h2,h3{font-family:Neulis,Georgia,serif;font-weight:700;color:var(--morado);line-height:1.2;margin:0 0 .5em}
h1{font-size:clamp(2rem,5vw,3.1rem)}h2{font-size:clamp(1.5rem,3.2vw,2rem)}h3{font-size:1.15rem}
a{color:var(--morado)}img{max-width:100%;height:auto}
.contenedor{width:min(1120px,100% - 32px);margin-inline:auto}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.saltar{position:absolute;left:-999px;top:8px;background:#fff;padding:8px 14px;border-radius:8px;z-index:99}.saltar:focus{left:8px}
:focus-visible{outline:3px solid var(--lila);outline-offset:2px}
/* Cabecera */
.cabecera{background:var(--beige);border-bottom:1px solid var(--linea);position:sticky;top:0;z-index:20}
.cabecera-in{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:76px}
.logo img{display:block;height:auto;width:150px}
.menu{display:flex;align-items:center;gap:22px}
.menu a{text-decoration:none;font-weight:800;font-size:15px;color:var(--morado)}
.menu a[aria-current]{border-bottom:3px solid var(--verde)}
.menu .menu-cta{color:#fff}
.menu-chk,.menu-btn{display:none}
/* Botones */
.btn{display:inline-block;background:var(--morado);color:#fff;font-family:Nexa,Arial,sans-serif;font-weight:800;font-size:16px;padding:13px 26px;border:0;border-radius:999px;text-decoration:none;cursor:pointer;transition:transform .15s,box-shadow .15s;box-shadow:0 6px 16px rgba(92,78,147,.25)}
.btn:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(92,78,147,.32)}
.btn-sm{padding:9px 18px;font-size:14px}.btn-grande{padding:16px 34px;font-size:18px;background:var(--morado)}
.btn-claro{background:#fff;color:var(--morado);box-shadow:inset 0 0 0 2px var(--lila)}
/* Hero */
.hero{background:linear-gradient(135deg,var(--lila-claro),var(--beige) 70%);padding:72px 0 64px}
.hero-in{max-width:760px}.hero-p{font-size:1.2rem;color:var(--suave);max-width:620px}
.sobretitulo{font-weight:800;letter-spacing:.12em;text-transform:uppercase;font-size:13px;color:var(--morado);margin:0 0 10px}
.hero-btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
/* Secciones */
.seccion{padding:48px 0}.seccion-lila{background:var(--lila-claro)}
.seccion-cab{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}
.seccion-sub{color:var(--suave);max-width:680px}
.enlace-flecha{font-weight:800;text-decoration:none}.enlace-flecha::after{content:" →"}
.cab-pagina{background:var(--lila-claro);padding:44px 0 28px}
.sub{margin-top:8px}
.aviso-corto{font-size:13.5px;color:var(--suave);background:#fff;border:1px solid var(--linea);border-left:4px solid var(--verde);border-radius:10px;padding:10px 14px;max-width:760px}
/* Tarjetas */
.rejilla{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:22px;margin:20px 0 32px}
.tarjeta{background:#fff;border:1px solid var(--linea);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;transition:transform .18s,box-shadow .18s}
.tarjeta:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(92,78,147,.16)}
.tarjeta-img{position:relative;display:block;aspect-ratio:1/1;background:var(--lila-claro)}
.tarjeta-img img{width:100%;height:100%;object-fit:cover;display:block}
.tarjeta-cuerpo{padding:16px 18px 20px;display:flex;flex-direction:column;gap:6px;flex:1}
.tarjeta-cuerpo h3 a{text-decoration:none}.tarjeta-cuerpo .btn{align-self:flex-start;margin-top:auto}
.tarjeta-tipo{margin:0;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--suave)}
.tarjeta-desc{margin:0 0 8px;font-size:14.5px;color:var(--suave)}
.etiqueta{background:var(--verde);color:#3a3550;font-weight:800;font-size:12px;padding:4px 12px;border-radius:999px}
.tarjeta-img .etiqueta{position:absolute;top:12px;left:12px}.etiqueta-inline{position:static;display:inline-block;margin-left:4px}
/* Filtros */
.filtros{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:18px 0 6px}
.filtros input,.filtros select,.form input,.form select,.form textarea{font:inherit;font-size:15px;padding:11px 14px;border:1.5px solid var(--linea);border-radius:12px;background:#fff;color:var(--texto)}
.filtros .buscar{flex:1 1 260px}.filtros .buscar input{width:100%}
.conteo{color:var(--suave);font-size:14px;margin:6px 0 0}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0}
.chip{background:#fff;border:1.5px solid var(--lila);color:var(--morado);text-decoration:none;font-weight:800;font-size:14px;padding:8px 16px;border-radius:999px}
.chip:hover{background:var(--morado);color:#fff;border-color:var(--morado)}
.vacio{text-align:center;padding:40px 0}
.paginacion{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin:12px 0}
.paginacion a{padding:8px 14px;border:1.5px solid var(--linea);border-radius:10px;text-decoration:none;font-weight:800;background:#fff}
.paginacion a[aria-current]{background:var(--morado);color:#fff;border-color:var(--morado)}
/* Detalle */
.migas{font-size:14px;color:var(--suave);margin-bottom:20px}.migas a{text-decoration:none}
.detalle-grid{display:grid;grid-template-columns:minmax(0,420px) 1fr;gap:40px;align-items:start}
.detalle-img img{width:100%;border-radius:var(--r);border:1px solid var(--linea);background:#fff}
.detalle-desc{font-size:1.1rem}.nota{font-size:13.5px;color:var(--suave)}
/* Pie */
.pie{background:var(--morado);color:#efeaff;padding:34px 0;margin-top:40px;font-size:14px}.pie a{color:#fff}
.pie-aviso{max-width:760px}.pie-copy{margin:14px 0 0;opacity:.85}
/* Formularios y panel */
.form{display:flex;flex-direction:column;gap:14px}.form label{display:flex;flex-direction:column;gap:6px;font-weight:800;font-size:14px}
.form .check,.check{flex-direction:row;align-items:center;gap:8px;font-weight:300;font-size:15px}
.form-ancho{max-width:820px}.fila{display:flex;gap:14px;flex-wrap:wrap}.fila>label{flex:1 1 200px}
fieldset{border:1.5px solid var(--linea);border-radius:14px;padding:14px 16px;background:#fff}legend{font-weight:800;color:var(--morado);padding:0 6px}
.aviso{padding:12px 16px;border-radius:12px;font-size:15px}.aviso.error{background:#fde8e8;color:#8a1f1f}.aviso.ok{background:#e9edc0;color:#4a5410}
.panel-cab{background:var(--morado);color:#fff}.panel-cab-in{display:flex;justify-content:space-between;align-items:center;min-height:56px;gap:12px;flex-wrap:wrap}
.panel-cab nav{display:flex;gap:18px}.panel-cab a{color:#fff;text-decoration:none;font-weight:800;font-size:14px}
.panel-main{padding:28px 0 60px}.panel-tit{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.tabla-envoltura{overflow-x:auto}.tabla{width:100%;border-collapse:collapse;background:#fff;border-radius:12px;font-size:14.5px}
.tabla th,.tabla td{padding:10px 12px;border-bottom:1px solid var(--linea);text-align:left;vertical-align:top}
.tabla th{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--suave)}
.acciones{display:flex;gap:12px;align-items:center}.acciones form{margin:0}
.enlace-btn{background:none;border:0;color:var(--morado);font:inherit;font-weight:800;cursor:pointer;padding:0;text-decoration:underline}
.pendiente{color:#a15c00}
/* Movil */
@media (max-width:820px){
  .menu-btn{display:block;width:44px;height:44px;border-radius:12px;border:1.5px solid var(--lila);cursor:pointer;position:relative}
  .menu-btn span,.menu-btn span::before,.menu-btn span::after{position:absolute;left:11px;right:11px;height:2px;background:var(--morado);content:"";top:21px}
  .menu-btn span::before{left:0;right:0;top:-7px}.menu-btn span::after{left:0;right:0;top:7px}
  .menu-btn span{left:0;right:0;margin:0 11px}
  .menu{display:none;position:absolute;left:0;right:0;top:76px;background:var(--beige);flex-direction:column;align-items:flex-start;padding:16px;border-bottom:1px solid var(--linea)}
  .menu-chk:checked~.menu{display:flex}
  .detalle-grid{grid-template-columns:1fr;gap:22px}
  .hero{padding:48px 0}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
@media (max-width:560px){.tarjeta-img{aspect-ratio:16/10}.rejilla{grid-template-columns:1fr}}
