/* ============================================================================
   ISER · SISTEMA DE DISEÑO 2026  —  styles.css
   ----------------------------------------------------------------------------
   Sitio estático institucional (vanilla HTML + CSS). Cumplimiento gov.co.
   Paleta de marca ISER: teal --v:#1B9E88 · oscuro #0d6b5a · ámbar --a:#FCBD05.

   ESTRUCTURA DE ESTE ARCHIVO
   0. Tokens (variables CSS)        — colores, espaciado, sombras, tipografía
   1. Reset + base                  — html, body, links, tipografía de contenido
   2. Layout                        — .container, .container--narrow/wide, utilidades
   --- BLOQUES PRESERVADOS (gov.co / accesibilidad — NO romper su contrato) ---
   3. gov-bar                       — barra de Estado azul #1a4b9a, solo logo
   4. quick-bar                     — fila de accesos del header (#current-date)
   5. header / nav / tricolor       — navbar sticky 80px + acento tricolor
   6. footer                        — mega-footer .ub-footer/.footer__*
   7. widget accesibilidad (.asw-*) — fuente .iser-icon-* + branding
   8. back-to-top (.iser-to-top)
   --- SISTEMA DE COMPONENTES DE CONTENIDO (reutilizable en TODAS las páginas) ---
   9.  Botones, badges, chips, pills
   10. Hero (variantes) + page-header con breadcrumb
   11. Section (contenida) + Section FULL-BLEED + ritmo de fondos
   12. Grids + tarjetas (card, feature, program, news, stat, centro…)
   13. Listas con icono, tablas, accordion
   14. Formularios (contacto / PQRSD)
   15. Layout de páginas largas (nosotros/transparencia) + detalle (sidebar)
   16. Micrositios de sede / regiones / mapa
   17. Utilidades de estado (accesibilidad runtime, toast, animaciones)
   18. Responsive
   ============================================================================ */

/* ============================================================
   0. TOKENS
   ============================================================ */
:root{
  /* Marca */
  --v:#1B9E88;            /* teal ISER (acento primario) */
  --v-d:#0d6b5a;          /* teal oscuro (degradados, hover) */
  --v-dd:#08443a;         /* teal muy oscuro */
  --v-l:#1db89e;          /* teal claro */
  --a:#FCBD05;            /* ámbar (acento secundario / CTA cálido) */
  --a-d:#e5a900;          /* ámbar hover */
  --r:#EB4335;            /* rojo (errores, alertas) */
  /* gov.co */
  --gov:#003366; --gov-l:#004d99; --gov-bg:#f0f2f5;
  /* Tinte teal de marca para fondos suaves */
  --tint:#f2f8f6;         /* banda alterna sutil */
  --tint-2:#e9f4f1;       /* tinte más marcado */
  --tint-soft:rgba(27,158,136,.08);
  /* Neutros / texto */
  --ink:#0f1b18;          /* texto principal (verde-negro de marca) */
  --ink-2:#374151;        /* texto secundario */
  --gris:#5b6670;         /* texto terciario / cuerpo apagado */
  --gris-c:#9ca3af;       /* meta / placeholders */
  --borde:#e6ecea;        /* bordes sutiles */
  --borde-2:#d8e6e2;      /* bordes hover */
  --bg:#fff;
  --bg-alt:#f5f7f6;
  /* Radios */
  --radius:14px; --radius-sm:9px; --radius-lg:20px; --radius-pill:100px;
  /* Sombras (capas de profundidad) */
  --sh-1:0 1px 2px rgba(13,107,90,.05);
  --sh-2:0 6px 24px -10px rgba(13,107,90,.18);
  --sh-3:0 18px 44px -20px rgba(13,107,90,.32);
  --sh-4:0 28px 60px -26px rgba(13,107,90,.46);
  --sombra:var(--sh-2);   /* alias legado */
  --sombra-h:var(--sh-3); /* alias legado */
  /* Transición */
  --trans:all .28s cubic-bezier(.4,0,.2,1);
  --ease:cubic-bezier(.4,0,.2,1);
  /* Tipografía */
  --font:'Inter','Segoe UI',system-ui,-apple-system,sans-serif;
  /* Escala de espaciado vertical de secciones */
  --space-sec:112px;
  --space-sec-sm:56px;
  --maxw:1200px;
}

/* ============================================================
   1. RESET + BASE
   ============================================================ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px;-webkit-text-size-adjust:100%}
body{font-family:var(--font);color:var(--ink);background:var(--bg);line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:var(--v);text-decoration:none;transition:color .2s var(--ease)}
a:hover{color:var(--v-d)}
img{max-width:100%;height:auto;display:block}
svg{display:block}
strong{font-weight:700}
h1,h2,h3,h4,h5{line-height:1.18;letter-spacing:-.02em;color:var(--ink);text-wrap:balance}
p{text-wrap:pretty}
:focus-visible{outline:3px solid var(--a);outline-offset:2px;border-radius:3px}
::selection{background:rgba(27,158,136,.22)}
.skip-link{position:absolute;top:-100px;left:0;z-index:9999;background:var(--gov);color:#fff;padding:12px 24px;font-weight:600;border-radius:0 0 8px 0}
.skip-link:focus{top:0}

/* ============================================================
   2. LAYOUT
   ============================================================ */
.container{max-width:var(--maxw);margin:0 auto;padding:0 24px}
.container--narrow{max-width:760px}
.container--wide{max-width:1340px}
/* Utilidades de texto / espaciado mínimas reutilizables */
.text-center{text-align:center}
.mt-0{margin-top:0}.mb-0{margin-bottom:0!important}
.lead{font-size:1.06rem;color:var(--gris);line-height:1.75}

/* ============================================================
   3. GOV BAR  (PRESERVADO) — barra de Estado gov.co: azul #1a4b9a, solo logo
   ============================================================ */
.gov-bar{background:#1a4b9a;padding:10px 0;font-size:.75rem;position:relative}
.gov-bar .container{display:flex;align-items:center;gap:16px}
@media(max-width:640px){.gov-bar .container{justify-content:center}}
.gov-bar__logo{height:24px;width:auto}
.gov-bar__nav{margin-left:auto;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.gov-bar__toggle{display:none}
/* Movil: links del Estado en dropdown desplegado por un toggle (hamburguesa). */
@media(max-width:768px){
  .gov-bar__toggle{display:inline-flex;align-items:center;justify-content:center;position:absolute;right:14px;top:50%;transform:translateY(-50%);width:30px;height:30px;background:none;border:none;color:#fff;cursor:pointer;padding:0;transition:var(--trans)}
  .gov-bar__toggle svg{width:22px;height:22px}
  .gov-bar__toggle[aria-expanded="true"]{opacity:.75}
  .gov-bar__nav{display:none;margin:0;position:absolute;top:100%;left:0;right:0;background:#1a4b9a;flex-direction:column;align-items:stretch;gap:0;padding:6px 0;box-shadow:0 10px 24px rgba(0,0,0,.28);z-index:1100}
  .gov-bar.gov-open .gov-bar__nav{display:flex}
  .gov-bar__nav .gov-bar__sep{display:none}
  .gov-bar__nav .gov-bar__link{padding:11px 24px;font-size:.85rem;border-bottom:1px solid rgba(255,255,255,.08)}
}
.gov-bar__link{color:rgba(255,255,255,.9);font-weight:500;letter-spacing:.2px;font-size:.86rem;text-decoration:none;transition:var(--trans)}
.nav__subdropdown{position:relative}
.nav__subdropdown-toggle{padding-right:26px}
.nav__subdropdown-toggle::after{content:"";position:absolute;right:10px;top:50%;width:6px;height:6px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-50%) rotate(-45deg);opacity:.6}
.nav__subdropdown-menu{position:absolute;left:100%;top:-9px;min-width:210px;max-height:min(72vh,460px);overflow-y:auto;background:var(--bg);border-radius:0;box-shadow:var(--sh-3);padding:8px;opacity:0;visibility:hidden;transform:translateX(8px);transition:var(--trans);z-index:101;border:1px solid var(--borde)}
.nav__subdropdown:hover .nav__subdropdown-menu{opacity:1;visibility:visible;transform:translateX(0)}
.gov-bar__link:hover{color:#fff}
.gov-bar__sep{color:rgba(255,255,255,.3);font-size:.6rem}

/* ============================================================
   4. QUICK BAR  (PRESERVADO) — fila de accesos del header con #current-date
   ============================================================ */
.quick-bar{background:var(--bg);border-bottom:1px solid var(--borde);padding:8px 0;position:relative}
.quick-bar .container{display:flex;align-items:center;justify-content:space-between;gap:8px}
.quick-bar__links{display:flex;gap:4px;flex-wrap:wrap}
.quick-bar__item{display:flex;align-items:center;gap:6px;padding:6px 14px;border-radius:var(--radius-sm);color:var(--gris);font-size:.85rem;font-weight:500;transition:var(--trans)}
.quick-bar__item svg{width:17px;height:17px;color:var(--v)}
.quick-bar__item:hover{background:var(--tint-soft);color:var(--v)}
.quick-bar__date{font-size:.8rem;color:var(--gris-c);white-space:nowrap}

/* ============================================================
   5. HEADER / NAV / TRICOLOR  (PRESERVADO) — sticky 80px, logo izq.
   ============================================================ */
.header{background:var(--bg);position:sticky;top:0;z-index:1000;transition:box-shadow .3s var(--ease)}
.header.menu-active{position:relative;z-index:auto}
.header.scrolled{box-shadow:0 6px 24px -8px rgba(13,107,90,.18)}
.header .container{display:flex;align-items:center;justify-content:space-between;padding:0 24px;min-height:86px}
.header .tricolor{position:absolute;left:0;right:0;bottom:0;z-index:2}
.header__logo{display:flex;align-items:center;gap:10px}
.header__logo img{height:86px;width:auto;max-width:100%;object-fit:contain}

.nav{display:flex;align-items:center;gap:2px}
.nav__link{position:relative;padding:8px 16px;font-size:15px;font-weight:500;color:var(--ink);border-radius:0;transition:var(--trans)}
.nav__link:hover{background:var(--tint-soft);color:var(--v)}
.nav__link--active{color:var(--v);font-weight:600}
.nav__link--active::after{content:'';position:absolute;bottom:-2px;left:50%;transform:translateX(-50%);width:24px;height:3px;background:var(--v);border-radius:2px}

.nav__dropdown{position:relative}
.nav__dropdown-toggle{padding-right:26px}
.nav__dropdown-toggle::after{content:"";position:absolute;right:9px;top:50%;width:6px;height:6px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-65%) rotate(45deg);opacity:.6;transition:var(--trans)}
.nav__dropdown:hover .nav__dropdown-toggle::after{transform:translateY(-35%) rotate(225deg);opacity:1}
.nav__dropdown-menu{position:absolute;top:100%;left:0;min-width:212px;background:var(--bg);border-radius:0;box-shadow:var(--sh-3);padding:8px;opacity:0;visibility:hidden;transform:translateY(8px);transition:var(--trans);z-index:100;border:1px solid var(--borde)}
.nav__dropdown:hover .nav__dropdown-menu,
.nav__dropdown:focus-within .nav__dropdown-menu{opacity:1;visibility:visible;transform:translateY(0)}
.nav__dropdown-item{display:block;padding:9px 14px;font-size:14px;color:var(--ink);border-radius:0;transition:var(--trans)}
.nav__dropdown-item:hover{background:var(--tint-soft);color:var(--v)}
.nav__dropdown-item--cta{color:var(--v);font-weight:600;margin-top:4px}
.nav__dropdown-menu--wide{min-width:480px;display:grid;grid-template-columns:1fr 1fr;gap:0;padding:12px}
.nav__dropdown-group{padding:8px}
.nav__dropdown-label{display:block;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--gris-c);padding:4px 6px 8px;border-bottom:1px solid var(--borde);margin-bottom:4px}

.menu-toggle{display:none;background:none;border:none;cursor:pointer;padding:8px;flex-direction:column;gap:5px}
.menu-toggle span{display:block;width:24px;height:2px;background:var(--ink);border-radius:2px;transition:var(--trans)}
/* Backdrop del menu movil (oscurece la pagina detras del drawer). */
.nav-backdrop{position:fixed;inset:0;background:rgba(15,23,42,.5);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s;z-index:1500}
.nav-backdrop.show{opacity:1;visibility:visible}
/* Hamburguesa -> X cuando el menu esta abierto. */
.menu-toggle.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-toggle.is-open span:nth-child(2){opacity:0}
.menu-toggle.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
/* Boton cerrar (X) dentro del drawer movil — oculto en desktop. */
.nav__close{display:none}

/* TRICOLOR (PRESERVADO) */
.tricolor{display:flex;height:4px}
.tricolor div{flex:1}
.tricolor__v{background:var(--v)}
.tricolor__a{background:var(--a)}
.tricolor__r{background:var(--r)}

/* ACC TOOLBAR legado (no usado por el header actual; conservado por compat.) */
.acc-bar{background:var(--bg-alt);border-bottom:1px solid var(--borde);padding:4px 0;font-size:.72rem}
.acc-bar .container{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.acc-bar__label{display:flex;align-items:center;gap:6px;color:var(--gris);font-weight:500}
.acc-bar__label svg{width:14px;height:14px;color:var(--v)}
.acc-btn{background:none;border:1px solid var(--borde);border-radius:4px;padding:3px 10px;cursor:pointer;font-size:.7rem;color:var(--gris);transition:var(--trans);font-family:var(--font)}
.acc-btn:hover{background:var(--v);color:#fff;border-color:var(--v)}
.acc-btn--reset{color:var(--r);border-color:var(--r)}
.acc-btn--reset:hover{background:var(--r);color:#fff}

/* ============================================================
   9. BOTONES · BADGES · CHIPS · PILLS
   ============================================================ */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 28px;border-radius:var(--radius-sm);font-weight:600;font-size:.9rem;font-family:var(--font);cursor:pointer;transition:var(--trans);border:2px solid transparent;text-decoration:none;line-height:1.2}
.btn svg{width:18px;height:18px}
.btn--sm{padding:9px 18px;font-size:.82rem}
.btn--lg{padding:16px 36px;font-size:.95rem}
.btn--full{width:100%}
.btn:focus-visible{outline:3px solid var(--a);outline-offset:3px}
.btn-primary{background:var(--v);color:#fff;border-color:var(--v)}
.btn-primary:hover{background:var(--v-d);border-color:var(--v-d);color:#fff;transform:translateY(-2px);box-shadow:0 12px 24px -10px rgba(27,158,136,.55)}
.btn-amber{background:var(--a);color:var(--ink)}
.btn-amber:hover{background:var(--a-d);color:var(--ink);transform:translateY(-2px);box-shadow:0 12px 24px -10px rgba(252,189,5,.6)}
.btn-white{background:#fff;color:var(--v);font-weight:700;border-color:#fff}
.btn-white:hover{background:#f0faf8;color:var(--v-d);transform:translateY(-2px)}
.btn-outline{background:transparent;border-color:rgba(255,255,255,.4)!important;color:#fff}
.btn-outline:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.65)!important;color:#fff;transform:translateY(-2px)}
.btn-ghost{background:transparent;color:var(--v);border-color:var(--borde-2)}
.btn-ghost:hover{background:var(--tint);color:var(--v-d);border-color:var(--v);transform:translateY(-2px)}
.btn-outline-dark{background:transparent;border-color:var(--ink);color:var(--ink)}
.btn-outline-dark:hover{background:var(--ink);color:#fff;transform:translateY(-2px)}

/* Badge = etiqueta de sección (kicker) */
.badge{display:inline-block;background:var(--tint-soft);color:var(--v);padding:5px 16px;border-radius:var(--radius-pill);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.6px;line-height:1.4}
.badge--amber{background:rgba(252,189,5,.15);color:#9a7400}
.badge--red{background:rgba(235,67,53,.1);color:var(--r)}
.badge--solid{background:var(--v);color:#fff}
.badge--light{background:rgba(255,255,255,.16)!important;color:#fff!important}

/* Chip = etiqueta inline pequeña / tag de categoría */
.chip{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:var(--radius-pill);background:var(--tint);color:var(--v-d);font-size:.74rem;font-weight:600;border:1px solid var(--borde)}
.chip svg{width:13px;height:13px}
.chip--active{background:var(--v);color:#fff;border-color:var(--v)}

/* Pill de dato (meta con icono) */
.pill{display:inline-flex;align-items:center;gap:6px;font-size:.78rem;color:var(--gris);font-weight:500}
.pill svg{width:15px;height:15px;color:var(--v)}

/* ============================================================
   10. HERO (variantes) + PAGE HEADER con breadcrumb
   ============================================================ */
/* Hero base: degradado teal full-bleed + imagen de fondo + overlay */
.hero{position:relative;overflow:hidden;padding:92px 0 84px;background:linear-gradient(135deg,var(--v-d) 0%,var(--v) 55%,var(--v-l) 100%)}
.hero__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:.20;z-index:0}
.hero__overlay{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(120deg,rgba(13,107,90,.94) 0%,rgba(27,158,136,.74) 55%,rgba(13,107,90,.74) 100%)}
.hero .container{position:relative;z-index:2;width:100%}
.hero__content{max-width:820px;margin:0 auto;text-align:center;display:flex;flex-direction:column;align-items:center}
.hero__badge{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.12);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.22);padding:7px 18px;border-radius:var(--radius-pill);font-size:.74rem;font-weight:500;letter-spacing:.02em;color:rgba(255,255,255,.94);margin-bottom:22px}
.hero__badge svg{width:14px;height:14px;color:var(--a)}
.hero h1{font-size:3.25rem;font-weight:800;color:#fff;line-height:1.06;letter-spacing:-.03em;margin-bottom:18px}
.hero h1 span{color:var(--a)}
.hero p{font-size:1.06rem;color:rgba(255,255,255,.84);margin:0 auto 30px;line-height:1.7;max-width:640px}
.hero__actions{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;margin-bottom:34px}
.hero__chips{display:flex;flex-wrap:wrap;gap:10px 24px;justify-content:center}
.hero__chips span{display:inline-flex;align-items:center;gap:7px;font-size:.8rem;color:rgba(255,255,255,.82);padding:4px 0}
.hero__chips span svg{width:15px;height:15px;flex-shrink:0;color:rgba(255,255,255,.7)}
/* Variante home: más aire para que .featured solape el borde */
.hero--home{padding:104px 0 100px}
.hero--home .hero__content{max-width:860px}
.hero--home h1{font-size:3.45rem}
/* Hero carousel: apila los slides (cada uno conserva el estilo .hero--home);
   cross-fade entre ellos. Altura = slide mas alto (grid-stack, sin saltos). */
.hero-carousel{position:relative;overflow:hidden}
.hero-carousel__viewport{display:grid}
.hero-carousel__slide{grid-area:1/1;opacity:0;visibility:hidden;transition:opacity .6s var(--ease);z-index:0}
.hero-carousel__slide.is-active{opacity:1;visibility:visible;z-index:1}
.hero-carousel__arrow{position:absolute;top:calc(50% - 28px);transform:translateY(-50%);z-index:4;width:46px;height:46px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:rgba(255,255,255,.12);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.22);color:#fff;cursor:pointer;transition:var(--trans)}
.hero-carousel__arrow:hover,.hero-carousel__arrow:focus-visible{background:rgba(255,255,255,.24)}
.hero-carousel__arrow svg{width:22px;height:22px}
.hero-carousel__arrow--prev{left:24px}
.hero-carousel__arrow--next{right:24px}
.hero-carousel__dots{position:absolute;left:0;right:0;bottom:92px;z-index:4;display:flex;gap:10px;justify-content:center}
.hero-carousel__dot{width:10px;height:10px;border-radius:50%;border:none;background:rgba(255,255,255,.42);cursor:pointer;padding:0;transition:var(--trans)}
.hero-carousel__dot:hover{background:rgba(255,255,255,.7)}
.hero-carousel__dot.is-active{background:var(--a);width:26px;border-radius:5px}
@media(max-width:768px){
  .hero-carousel__arrow{display:none}
  .hero-carousel__dots{bottom:64px}
}
/* Variante con texto alineado a la izquierda (heros de programa/sede) */
.hero--left .hero__content{margin:0;text-align:left;align-items:flex-start;max-width:760px}
.hero--left .hero__actions,.hero--left .hero__chips{justify-content:flex-start}
/* Ruta/breadcrumb dentro del hero (micrositios) */
.hero__path{font-size:.8rem;color:rgba(255,255,255,.9);margin-bottom:18px;font-weight:500}
.hero__path a{color:#fff;text-decoration:underline;text-underline-offset:2px}
.hero__path a:hover{color:var(--a)}

/* PAGE HEADER — encabezado compacto de páginas interiores (con breadcrumb) */
.page-hdr{position:relative;overflow:hidden;background:linear-gradient(135deg,var(--v-d),var(--v));padding:56px 0;color:#fff}
.page-hdr::after{content:'';position:absolute;right:-60px;top:-60px;width:280px;height:280px;border-radius:50%;background:rgba(255,255,255,.06)}
.page-hdr .container{position:relative;z-index:1}
.page-hdr__path{font-size:.76rem;color:rgba(255,255,255,.7);margin-bottom:10px}
.page-hdr__path a{color:rgba(255,255,255,.7)}
.page-hdr__path a:hover{color:#fff}
.page-hdr h1{font-size:2.1rem;font-weight:800;letter-spacing:-.02em;margin-bottom:6px;color:#fff}
.page-hdr p{font-size:.95rem;color:rgba(255,255,255,.78);max-width:680px}
.page-hdr--region{background:linear-gradient(135deg,var(--v-d),var(--v))}

/* BREADCRUMB (en flujo de contenido, fuera del header) */
.breadcrumb{font-size:.78rem;color:var(--gris-c);margin-bottom:24px;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.breadcrumb a{color:var(--v)}
.breadcrumb a:hover{color:var(--ink)}
.breadcrumb__sep{color:var(--gris-c)}

/* ============================================================
   11. SECTION (contenida) + FULL-BLEED + ritmo de fondos
   ============================================================ */
.section{padding:var(--space-sec) 0}
.section--sm{padding:var(--space-sec-sm) 0}
.section--flush-top{padding-top:0}
.section--flush-bottom{padding-bottom:0}
/* Fondos alternos para el ritmo vertical */
.section-alt{background:var(--tint)}
.section-soft{background:var(--bg-alt)}
.section-gov{background:linear-gradient(135deg,var(--gov),var(--gov-l));color:#fff}
.section-brand{background:linear-gradient(135deg,var(--v),var(--v-d));color:#fff}
.section-dark{background:linear-gradient(135deg,var(--v-dd),var(--v-d));color:#fff}
.section-gov .section__header h2,.section-brand .section__header h2,.section-dark .section__header h2{color:#fff}
.section-gov .section__header p,.section-brand .section__header p,.section-dark .section__header p{color:rgba(255,255,255,.78)}

/* Cabecera de sección */
.section__header{text-align:center;margin-bottom:60px;max-width:720px;margin-left:auto;margin-right:auto}
.section__header .badge{margin-bottom:14px}
.section__header h2{font-size:2.05rem;font-weight:800;color:var(--ink);letter-spacing:-.025em;margin-bottom:10px}
.section__header p{font-size:.98rem;color:var(--gris);line-height:1.7}
.section__header--left{text-align:left;max-width:760px;margin-left:0;margin-right:auto}
.section__header--light .badge{background:rgba(255,255,255,.16);color:#fff}
.section__cta{text-align:center;margin-top:40px}
.section__narrow{max-width:620px;margin:0 auto}

/* FULL-BLEED: rompe el contenedor para ir de borde a borde de la ventana.
   Úsalo en cualquier <section> que deba ocupar el ancho completo. */
.full-bleed{width:100vw;position:relative;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw}

/* Split full-bleed: media a un borde + texto contenido al otro lado.
   El padding del lado del texto se alinea con el contenedor central. */
.split{display:grid;grid-template-columns:1fr 1fr;align-items:stretch}
.split__media{position:relative;overflow:hidden;min-height:480px}
.split__media img{width:100%;height:100%;object-fit:cover;display:block}
.split__media--right{order:2}
.split__body{display:flex;align-items:center;background:#fff}
.split__inner{max-width:560px;padding:64px 56px}
.split__body--left .split__inner{margin-left:auto;padding-right:max(56px,calc((100vw - var(--maxw))/2 + 24px))}
.split__body--right .split__inner{margin-right:auto;padding-left:max(56px,calc((100vw - var(--maxw))/2 + 24px))}
.split__badge{position:absolute;left:24px;bottom:24px;background:#fff;border-radius:14px;padding:14px 20px;box-shadow:var(--sh-3);text-align:center;line-height:1}
.split__badge strong{display:block;font-size:2rem;font-weight:800;color:var(--v)}
.split__badge span{font-size:.72rem;color:var(--gris);font-weight:600;text-transform:uppercase;letter-spacing:.4px}

/* CTA strip — banda de llamada a la acción */
.cta-strip{display:flex;align-items:center;justify-content:space-between;gap:32px;background:linear-gradient(135deg,var(--v-d),var(--v));border-radius:var(--radius-lg);padding:40px 44px;flex-wrap:wrap;position:relative;overflow:hidden}
.cta-strip::after{content:'';position:absolute;right:-40px;bottom:-60px;width:220px;height:220px;border-radius:50%;background:rgba(255,255,255,.07)}
.cta-strip>*{position:relative;z-index:1}
.cta-strip h2{font-size:1.55rem;font-weight:700;color:#fff;margin-bottom:6px;letter-spacing:-.02em}
.cta-strip p{font-size:.92rem;color:rgba(255,255,255,.85);margin:0;max-width:520px}
.cta-strip__actions{display:flex;gap:12px;flex-wrap:wrap}
.section-cta-strip{padding:48px 0}

/* CTA box (centrado, fondo claro) */
.cta-box{text-align:center;margin-top:48px;padding:36px;background:var(--bg-alt);border-radius:var(--radius);border:1px solid var(--borde)}
.cta-box p{font-size:.92rem;color:var(--gris);margin-bottom:18px}

/* ============================================================
   12. GRIDS + TARJETAS
   ============================================================ */
.grid{display:grid;gap:24px}
.grid-2{grid-template-columns:repeat(2,1fr)}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-4{grid-template-columns:repeat(4,1fr)}
.grid-5{grid-template-columns:repeat(5,1fr)}
.grid--auto{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.cards-center{display:flex;flex-wrap:wrap;justify-content:center;gap:24px}
.cards-center>*{width:360px;max-width:100%}

/* CARD base — superficie elevada genérica */
.card{background:var(--bg);border-radius:var(--radius);box-shadow:var(--sh-2);border:1px solid var(--borde);overflow:hidden;transition:var(--trans)}
.card:hover{box-shadow:var(--sh-3);transform:translateY(-4px);border-color:var(--borde-2)}
.card--flat{box-shadow:none}
.card--flat:hover{transform:none;box-shadow:var(--sh-2)}
.card__body{padding:24px}
.card--center{text-align:center;padding:32px 24px}
.card--center .card__icon{margin-left:auto;margin-right:auto}
.card__icon{width:50px;height:50px;border-radius:13px;display:flex;align-items:center;justify-content:center;margin-bottom:16px}
.card__icon svg{width:24px;height:24px}
.card__icon--green{background:var(--tint-soft);color:var(--v)}
.card__icon--amber{background:rgba(252,189,5,.15);color:#b8860b}
.card__icon--red{background:rgba(235,67,53,.1);color:var(--r)}
.card__icon--solid{background:linear-gradient(135deg,var(--v),var(--v-d));color:#fff}
.card__icon--lg{width:58px;height:58px;border-radius:15px}
.card__icon--lg svg{width:28px;height:28px}
.card__title{font-size:1.02rem;font-weight:700;color:var(--ink);margin-bottom:8px}
.card__title--green{color:var(--v)}
.card__title--amber{color:#b8860b}
.card__text{font-size:.86rem;color:var(--gris);line-height:1.65}
.card__link{display:inline-flex;align-items:center;gap:6px;margin-top:14px;font-size:.83rem;font-weight:700;color:var(--v);transition:gap .2s var(--ease)}
.card__link:hover{gap:11px;color:var(--v-d)}

/* FEATURE CARD — tarjeta de acceso/beneficio (icono + título + texto + link) */
.feature-card{display:flex;flex-direction:column;align-items:flex-start;height:100%;background:#fff;border:1px solid var(--borde);border-radius:18px;padding:28px 26px;box-shadow:var(--sh-2);transition:var(--trans);color:inherit}
.feature-card:hover{transform:translateY(-5px);border-color:var(--borde-2);box-shadow:var(--sh-3)}
.feature-card:focus-visible{outline:3px solid var(--a);outline-offset:3px}
.feature-card__icon{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--v),var(--v-d));margin-bottom:18px;flex-shrink:0}
.feature-card__icon svg{width:25px;height:25px;color:#fff}
.feature-card__title{font-size:1.1rem;font-weight:700;color:var(--ink);margin-bottom:8px}
.feature-card__text{font-size:.87rem;color:var(--gris);line-height:1.6;margin-bottom:16px;flex:1}
.feature-card__link{font-size:.84rem;font-weight:700;color:var(--v);transition:var(--trans)}
.feature-card:hover .feature-card__link{color:var(--v-d)}
/* Variante acento (sólida) */
.feature-card--accent{background:linear-gradient(135deg,var(--v-d),var(--v));border-color:transparent}
.feature-card--accent .feature-card__icon{background:rgba(255,255,255,.18)}
.feature-card--accent .feature-card__title{color:#fff}
.feature-card--accent .feature-card__text{color:rgba(255,255,255,.92)}
.feature-card--accent .feature-card__link{color:var(--a)}
/* Variante soft (icono tintado en vez de sólido) */
.feature-card--soft .feature-card__icon{background:var(--tint-soft)}
.feature-card--soft .feature-card__icon svg{color:var(--v)}

/* FEATURED — fila de 3 tarjetas que solapan el borde inferior del hero */
.featured{position:relative;z-index:5;margin-top:-56px}
.featured__grid{list-style:none;margin:0 auto;padding:0 24px;max-width:var(--maxw);display:grid;grid-template-columns:repeat(3,1fr);gap:20px}

/* FACULTY CARD — banner sólido horizontal (icono + texto + flecha) */
.faculties{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:36px}
.faculty-card{display:flex;align-items:center;gap:18px;padding:24px 26px;border-radius:18px;color:#fff;position:relative;overflow:hidden;transition:var(--trans);box-shadow:var(--sh-3)}
.faculty-card:hover{transform:translateY(-3px);color:#fff;box-shadow:var(--sh-4)}
.faculty-card--green{background:linear-gradient(135deg,var(--v-d),var(--v))}
.faculty-card--dark{background:linear-gradient(135deg,var(--v-dd),var(--v-d))}
.faculty-card--amber{background:linear-gradient(135deg,var(--a-d),var(--a));color:var(--ink)}
.faculty-card__icon{width:54px;height:54px;border-radius:14px;background:rgba(255,255,255,.16);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.faculty-card__icon svg{width:28px;height:28px;color:#fff}
.faculty-card h3{font-size:1.06rem;font-weight:700;color:#fff;margin-bottom:4px;line-height:1.25}
.faculty-card p{font-size:.83rem;color:rgba(255,255,255,.84);line-height:1.5;margin:0}
.faculty-card--amber h3{color:var(--ink)}
.faculty-card--amber p{color:rgba(15,27,24,.8)}
.faculty-card__arrow{margin-left:auto;font-size:1.4rem;color:rgba(255,255,255,.75);transition:var(--trans);flex-shrink:0}
.faculty-card:hover .faculty-card__arrow{transform:translateX(4px);color:#fff}

/* PROGRAM CARD — tarjeta de programa académico */
.program-card{display:flex;flex-direction:column;border-radius:16px;overflow:hidden;background:#fff;border:1px solid var(--borde);box-shadow:var(--sh-1);transition:var(--trans)}
.program-card:hover{transform:translateY(-4px);box-shadow:var(--sh-3);border-color:var(--borde-2)}
.program-card__banner{display:flex;align-items:center;gap:14px;padding:18px 20px;position:relative;flex-shrink:0;background:linear-gradient(135deg,var(--tint) 0%,var(--tint-2) 100%);border-bottom:1px solid var(--borde)}
.program-card__banner .icon-circle{width:50px;height:50px;border-radius:14px;background:linear-gradient(135deg,var(--v),var(--v-d));display:flex;align-items:center;justify-content:center;box-shadow:0 6px 14px -4px rgba(13,107,90,.5);flex-shrink:0}
.program-card__banner .icon-circle svg{width:25px;height:25px;color:#fff}
.program-card__body{padding:18px 20px 6px;flex:1}
.program-card__faculty{font-size:.68rem;text-transform:uppercase;letter-spacing:.5px;color:var(--v);font-weight:700;margin-bottom:6px}
.program-card__title{font-size:1.02rem;font-weight:700;color:var(--ink);margin-bottom:12px;line-height:1.3}
.program-card__meta{display:flex;gap:16px;font-size:.76rem;color:var(--gris);flex-wrap:wrap}
.program-card__meta span{display:flex;align-items:center;gap:5px}
.program-card__meta svg{width:14px;height:14px;color:var(--gris-c)}
.program-card__link{display:inline-flex;align-items:center;gap:6px;margin:14px 20px 18px;background:none;color:var(--v);font-size:.84rem;font-weight:700;letter-spacing:.01em;transition:gap .2s var(--ease)}
.program-card__link:hover{color:var(--v-d);gap:11px}
/* Banners legados → unificados a un único acento sutil de marca */
.banner--iser-green,.banner--iser-amber,.banner--iser-red{background:linear-gradient(135deg,var(--tint) 0%,var(--tint-2) 100%)}

/* NEWS CARD — tarjeta de noticia (imagen + fecha + título + extracto) */
.news-card{display:flex;flex-direction:column;border-radius:var(--radius);overflow:hidden;background:var(--bg);box-shadow:var(--sh-2);border:1px solid var(--borde);transition:var(--trans)}
.news-card:hover{box-shadow:var(--sh-3);transform:translateY(-4px);border-color:var(--borde-2)}
.news-card__img{height:188px;overflow:hidden;flex-shrink:0;background:linear-gradient(135deg,var(--v-d),var(--v))}
.news-card__img img{width:100%;height:188px;object-fit:cover;display:block;transition:transform .5s var(--ease)}
.news-card:hover .news-card__img img{transform:scale(1.05)}
.news-card__img svg{width:48px;height:48px;color:rgba(255,255,255,.4);margin:auto}
.news-card__body{padding:20px;display:flex;flex-direction:column;flex:1}
.news-card__date{font-size:.7rem;color:var(--gris-c);margin-bottom:8px;display:flex;align-items:center;gap:6px;font-weight:500}
.news-card__date svg{width:13px;height:13px}
.news-card__title{font-size:.94rem;font-weight:700;color:var(--ink);margin-bottom:7px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.news-card__text{font-size:.82rem;color:var(--gris);line-height:1.6;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:12px}
.news-card .card__link{margin-top:auto}

/* STATS — contadores de cifras (sobre fondo de marca) */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:center}
.stat{padding:32px 18px}
.stat__num{font-size:3rem;font-weight:800;color:#fff;line-height:1;margin-bottom:8px;letter-spacing:-.03em}
.stat__label{font-size:.85rem;color:rgba(255,255,255,.78);max-width:200px;margin:0 auto;line-height:1.4}
.stats-band .section__header{margin-bottom:32px}
/* Stats en superficie clara (borde divisor) */
.stats--bordered{border:1px solid var(--borde);border-radius:var(--radius);overflow:hidden;gap:0}
.stats--bordered .stat{border-right:1px solid var(--borde)}
.stats--bordered .stat:last-child{border-right:none}
.stats--bordered .stat__num{color:var(--v)}
.stats--bordered .stat__label{color:var(--gris)}

/* ALIADOS — marquesina de logos en escala de gris */
.aliados{background:var(--tint);padding:60px 0;border-top:1px solid var(--borde);border-bottom:1px solid var(--borde)}
.aliados__track{display:flex;gap:40px;align-items:center;justify-content:center;flex-wrap:wrap;padding:20px 0}
.aliados__item{height:50px;opacity:.45;filter:grayscale(1);transition:var(--trans)}
.aliados__item:hover{opacity:1;filter:grayscale(0)}
.aliados__item img{height:100%;width:auto}

/* ============================================================
   13. LISTAS CON ICONO · TABLAS · ACCORDION
   ============================================================ */
/* Lista con bullet de marca (perfil/plan de estudios) */
.prog-list,.icon-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:11px}
.prog-list li{position:relative;padding-left:24px;font-size:.9rem;color:var(--gris);line-height:1.6}
.prog-list li::before{content:'';position:absolute;left:0;top:8px;width:8px;height:8px;border-radius:50%;background:var(--v)}
.prog-list--cols{display:grid;grid-template-columns:1fr 1fr;gap:11px 28px}
/* Lista con check (check pill) */
.check-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}
.check-list li{display:flex;align-items:flex-start;gap:12px;font-size:.92rem;color:var(--ink);font-weight:500;line-height:1.5}
.check-list svg{width:20px;height:20px;color:#fff;background:var(--v);border-radius:50%;padding:3px;flex-shrink:0;margin-top:1px}
/* Alias usado por la cobertura del home */
.coverage__list{list-style:none;padding:0;margin:0 0 28px;display:flex;flex-direction:column;gap:12px}
.coverage__list li{display:flex;align-items:center;gap:12px;font-size:.92rem;color:var(--ink);font-weight:500}
.coverage__list svg{width:20px;height:20px;color:#fff;background:var(--v);border-radius:50%;padding:3px;flex-shrink:0}

/* TABLA — datos institucionales / plan de estudios */
.table-wrap{overflow-x:auto;border:1px solid var(--borde);border-radius:var(--radius);box-shadow:var(--sh-1)}
.table{width:100%;border-collapse:collapse;font-size:.88rem;min-width:520px}
.table caption{text-align:left;font-weight:700;color:var(--ink);padding:14px 18px;font-size:.95rem}
.table thead th{background:var(--tint);color:var(--v-d);text-align:left;font-weight:700;font-size:.74rem;text-transform:uppercase;letter-spacing:.4px;padding:12px 18px;border-bottom:2px solid var(--borde-2)}
.table td{padding:12px 18px;border-bottom:1px solid var(--borde);color:var(--ink-2);vertical-align:top}
.table tbody tr:last-child td{border-bottom:none}
.table tbody tr:hover{background:var(--tint)}
.table--zebra tbody tr:nth-child(even){background:var(--bg-alt)}
.table--zebra tbody tr:nth-child(even):hover{background:var(--tint)}

/* ACCORDION — FAQ / contenido colapsable */
.accordion{border-radius:var(--radius);overflow:hidden;border:1px solid var(--borde)}
.accordion__item{border-bottom:1px solid var(--borde)}
.accordion__item:last-child{border-bottom:none}
.accordion__btn{width:100%;padding:17px 20px;background:var(--bg);border:none;text-align:left;font-size:.9rem;font-weight:600;color:var(--ink);cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;font-family:var(--font);transition:var(--trans)}
.accordion__btn:hover{background:var(--tint)}
.accordion__btn .arrow{transition:transform .3s var(--ease);font-size:.7rem;color:var(--v);flex-shrink:0}
.accordion__btn[aria-expanded=true]{color:var(--v)}
.accordion__btn[aria-expanded=true] .arrow{transform:rotate(180deg)}
.accordion__content{padding:0 20px;max-height:0;overflow:hidden;transition:max-height .3s ease,padding .3s ease}
.accordion__content.open{max-height:2000px;padding:0 20px 20px}
.accordion__content p{font-size:.86rem;color:var(--gris);line-height:1.7;margin-bottom:8px}

/* ============================================================
   14. FORMULARIOS
   ============================================================ */
.form-group{margin-bottom:20px}
.form-label{display:block;font-size:.82rem;font-weight:600;color:var(--ink);margin-bottom:6px}
.form-control{width:100%;padding:12px 16px;border:2px solid var(--borde);border-radius:var(--radius-sm);font-size:.88rem;font-family:var(--font);transition:var(--trans);background:var(--bg);color:var(--ink)}
.form-control::placeholder{color:var(--gris-c)}
.form-control:hover{border-color:var(--borde-2)}
.form-control:focus{outline:none;border-color:var(--v);box-shadow:0 0 0 3px rgba(27,158,136,.14)}
textarea.form-control{resize:vertical;min-height:120px}
select.form-control{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%235b6670' viewBox='0 0 16 16'%3E%3Cpath d='M8 11L3 6h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center}
.required{color:var(--r)}
.form-check{display:flex;align-items:flex-start;gap:8px;font-size:.84rem;color:var(--gris);line-height:1.5}
.form-check input{margin-top:3px;accent-color:var(--v);width:16px;height:16px;flex-shrink:0}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form-title{font-size:1.05rem;font-weight:700;color:var(--ink);margin-bottom:18px}
.form-hint{font-size:.76rem;color:var(--gris-c);margin-top:5px}

/* ============================================================
   15. PÁGINAS LARGAS (contenido) + DETALLE (sidebar)
   ============================================================ */
/* Bloque de prosa (nosotros/transparencia) */
.content-block h2{font-size:1.5rem;font-weight:800;color:var(--ink);margin-bottom:16px;letter-spacing:-.02em}
.content-block h3{font-size:1.15rem;font-weight:700;color:var(--ink);margin:24px 0 10px}
.content-block p{margin-bottom:12px;color:var(--gris);line-height:1.8}
.content-block p:last-child{margin-bottom:0}
.content-block ul{margin:0 0 16px 0;padding-left:22px;color:var(--gris);line-height:1.8}
.content-block li{margin-bottom:6px}
.content-block a{font-weight:600}

/* Layout de detalle: contenido principal + sidebar fija */
.detail-grid,.programa-grid{display:grid;grid-template-columns:1fr 330px;gap:44px;align-items:start}
.detail-main,.programa-main{min-width:0}
/* Banner de cabecera del detalle (programa) */
.programa-header__banner{border-radius:var(--radius);padding:44px;color:#fff;margin-bottom:24px;background:linear-gradient(135deg,var(--v-d),var(--v))}
.programa-header__banner h1{font-size:1.85rem;font-weight:800;margin-bottom:8px;letter-spacing:-.02em;color:#fff}
.programa-header__banner p{font-size:.92rem;color:rgba(255,255,255,.85)}
.programa-header__info{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:32px}
.programa-header__info-item{padding:16px;background:var(--bg-alt);border-radius:var(--radius-sm);border:1px solid var(--borde)}
.programa-header__info-label{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.4px;color:var(--gris-c);font-weight:600;margin-bottom:4px}
.programa-header__info-value{font-size:.92rem;font-weight:700;color:var(--ink)}
/* Bloques de sección dentro del detalle */
.programa-section,.detail-section{margin-bottom:34px}
.programa-section h2,.detail-section h2{font-size:1.25rem;font-weight:700;color:var(--ink);margin-bottom:14px;padding-bottom:9px;border-bottom:2px solid var(--v)}
.programa-section p,.detail-section p{font-size:.9rem;color:var(--gris);line-height:1.8;margin-bottom:10px}
/* Sidebar cards */
.programa-sidebar__card,.sidebar-card{background:var(--bg);border-radius:var(--radius);box-shadow:var(--sh-2);border:1px solid var(--borde);padding:24px;margin-bottom:20px}
.programa-sidebar__card--accent,.sidebar-card--accent{background:linear-gradient(135deg,var(--v-d),var(--v));color:#fff;border-color:transparent}
.programa-sidebar__card--accent .programa-sidebar__row{border-bottom-color:rgba(255,255,255,.18)}
.programa-sidebar__card--accent .programa-sidebar__row span:first-child{color:rgba(255,255,255,.7)}
.programa-sidebar__card--accent .programa-sidebar__row span:last-child{color:#fff}
.programa-sidebar__card h3,.sidebar-card h3{font-size:.98rem;font-weight:700;color:var(--ink);margin-bottom:14px}
.programa-sidebar__card p,.sidebar-card p{font-size:.84rem;color:var(--gris);margin-bottom:16px;line-height:1.6}
/* Overrides DESPUES de las reglas base (misma especificidad): texto legible sobre el fondo verde del accent. */
.programa-sidebar__card--accent h3,.sidebar-card--accent h3{color:#fff}
.programa-sidebar__card--accent p,.sidebar-card--accent p{color:rgba(255,255,255,.92)}
.programa-sidebar__row{display:flex;flex-direction:column;gap:2px;padding:9px 0;border-bottom:1px solid var(--borde);font-size:.8rem}
.programa-sidebar__row:last-child{border-bottom:none}
.programa-sidebar__row span:first-child{color:var(--gris-c);font-weight:500;font-size:.72rem;text-transform:uppercase;letter-spacing:.3px}
.programa-sidebar__row span:last-child{color:var(--ink);font-weight:700;font-size:.92rem}
.programa-sidebar__links{display:flex;flex-direction:column;gap:8px}
.programa-sidebar__links a{font-size:.82rem;color:var(--v);font-weight:600}
.programa-sidebar__links a:hover{color:var(--v-d)}
.sidebar-link{display:block;text-align:center;margin-top:10px;font-size:.83rem;color:var(--v);font-weight:600}
.sidebar-link:hover{color:var(--v-d)}

/* TIMELINE (historia) */
.timeline{max-width:720px;margin:0 auto}
.timeline__item{display:flex;gap:20px;margin-bottom:24px}
.timeline__item:last-child{margin-bottom:0}
.timeline__num{width:46px;height:46px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-weight:800;flex-shrink:0;color:#fff;font-size:.95rem}
.timeline__num--green{background:var(--v)}
.timeline__num--amber{background:var(--a);color:var(--ink)}
.timeline__num--red{background:var(--r)}
.timeline__num--dark{background:var(--v-dd)}
.timeline__title{font-size:1.02rem;font-weight:700;color:var(--ink);margin-bottom:4px}
.timeline__text{font-size:.86rem;color:var(--gris);line-height:1.6}

/* NOSOTROS logo */
.nosotros__logo{display:flex;align-items:center;justify-content:center}
.nosotros__logo img{max-width:280px}

/* NOTICIA (artículo) */
.noticia-featured{height:320px;border-radius:var(--radius);margin-bottom:32px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--v-d),var(--v))}
.noticia-featured svg{width:80px;height:80px;color:rgba(255,255,255,.25)}
.noticia-img{width:100%;height:360px;object-fit:cover;border-radius:var(--radius);margin-bottom:32px;display:block}
.noticia-meta{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:22px;font-size:.78rem;color:var(--gris-c)}
.noticia-meta__sep{color:var(--gris-c)}
.noticia-meta__cat{background:var(--tint-soft);color:var(--v);font-weight:600;padding:3px 10px;border-radius:6px}
.noticia-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:16px}
.noticia-gallery__item{height:180px;overflow:hidden;border-radius:8px}
.noticia-gallery__item img{width:100%;height:100%;object-fit:cover;transition:var(--trans)}
.noticia-gallery__item img:hover{transform:scale(1.04)}

/* CONTACT cards */
.contact-info{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.contact-card{display:flex;gap:16px;padding:22px;background:var(--bg);border-radius:var(--radius);box-shadow:var(--sh-2);border:1px solid var(--borde);align-items:flex-start;transition:var(--trans)}
.contact-card:hover{box-shadow:var(--sh-3);transform:translateY(-3px)}
.contact-card__icon{width:46px;height:46px;border-radius:11px;background:var(--tint-soft);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.contact-card__icon svg{width:21px;height:21px;color:var(--v)}
.contact-card h3{font-size:.9rem;font-weight:700;color:var(--ink);margin-bottom:3px}
.contact-card p{font-size:.82rem;color:var(--gris);line-height:1.55}
.contact-card a{color:var(--v);font-weight:600}
.contact-card__note{font-size:.74rem;color:var(--gris-c);margin-top:5px}

/* PAGINATION */
.pagination{display:flex;justify-content:center;align-items:center;gap:6px;margin-top:48px;flex-wrap:wrap}
.pagination a,.pagination span{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 12px;border-radius:var(--radius-sm);font-size:.85rem;font-weight:600;border:1px solid var(--borde);color:var(--ink-2);transition:var(--trans);background:#fff}
.pagination a:hover{border-color:var(--v);color:var(--v);background:var(--tint)}
.pagination .is-active{background:var(--v);border-color:var(--v);color:#fff}
.pagination .is-disabled{opacity:.4;pointer-events:none}

/* ============================================================
   16. MICROSITIOS DE SEDE / REGIONES / MAPA / CENTROS
   ============================================================ */
/* Mapa (Leaflet) */
.map-wrapper{position:relative;border-radius:var(--radius);overflow:hidden;box-shadow:var(--sh-2);margin-bottom:32px}
#mapa-iser{height:480px;z-index:0}
#mapa-region,#mapa-centro{width:100%;height:420px;z-index:0}
.map-legend{position:absolute;bottom:16px;right:16px;background:#fff;padding:12px 16px;border-radius:8px;box-shadow:0 2px 12px rgba(0,0,0,.12);z-index:400;font-size:.78rem;display:flex;flex-direction:column;gap:8px}
.map-legend__item{display:flex;align-items:center;gap:8px}
.map-legend__dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}
.map-legend__item--main .map-legend__dot{background:var(--v);border:2px solid var(--v-d);width:16px;height:16px}
.map-legend__item--ns .map-legend__dot{background:var(--a)}
.map-legend__item--other .map-legend__dot{background:var(--r)}
.map-marker--main span{display:block;width:18px;height:18px;background:var(--v);border:3px solid #fff;border-radius:50%;box-shadow:0 2px 8px rgba(0,0,0,.3)}
.map-marker--ns span{display:block;width:14px;height:14px;background:var(--a);border:2px solid #fff;border-radius:50%;box-shadow:0 2px 6px rgba(0,0,0,.25)}
.map-marker--other span{display:block;width:14px;height:14px;background:var(--r);border:2px solid #fff;border-radius:50%;box-shadow:0 2px 6px rgba(0,0,0,.2)}
.map-popup strong{display:block;font-size:.9rem;color:var(--ink);margin-bottom:4px}
.map-popup p{font-size:.78rem;color:var(--gris);margin:2px 0}
.map-popup a{color:var(--v);font-size:.75rem}

/* Cobertura: estadísticas en banda */
.cobertura-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--borde);border-radius:var(--radius);overflow:hidden}
.cobertura-stat{padding:22px;text-align:center;border-right:1px solid var(--borde)}
.cobertura-stat:last-child{border-right:none}
.cobertura-stat__num{font-size:2rem;font-weight:800;color:var(--v);line-height:1}
.cobertura-stat__label{font-size:.75rem;color:var(--gris);margin-top:4px}

/* Encabezado de región (agrupador de centros) */
.centros-region{margin-bottom:40px}
.centros-region__hdr{display:flex;align-items:center;gap:10px;font-size:1.12rem;font-weight:700;color:var(--ink);margin-bottom:20px;padding-bottom:12px;border-bottom:2px solid var(--v)}
.centros-region__hdr svg{width:20px;height:20px;color:var(--v)}
.centros-region__link{margin-left:auto;font-size:.76rem;color:var(--v);font-weight:600;text-decoration:underline}

/* CENTRO CARD — tarjeta de centro tutorial */
.centro-card{background:var(--bg);border-radius:var(--radius);box-shadow:var(--sh-2);border:1px solid var(--borde);overflow:hidden;display:flex;flex-direction:column;transition:var(--trans)}
.centro-card:hover{transform:translateY(-3px);box-shadow:var(--sh-3)}
.centro-card__top{background:linear-gradient(135deg,var(--v),var(--v-l));padding:20px;color:#fff}
.centro-card--main .centro-card__top,.centro-card--other .centro-card__top{background:linear-gradient(135deg,var(--v-d),var(--v))}
.centro-card__badge,.centro-card__dept-tag{display:inline-block;background:rgba(255,255,255,.2);padding:3px 10px;border-radius:var(--radius-pill);font-size:.7rem;font-weight:600;margin-bottom:6px}
.centro-card__top h3{font-size:1.1rem;font-weight:700;color:#fff;margin:0 0 2px}
.centro-card__dept{font-size:.75rem;color:rgba(255,255,255,.78);margin:0}
.centro-card__info{list-style:none;padding:16px 20px;margin:0;flex:1;display:flex;flex-direction:column;gap:8px}
.centro-card__info li{display:flex;align-items:flex-start;gap:8px;font-size:.8rem;color:var(--gris)}
.centro-card__info svg{width:14px;height:14px;flex-shrink:0;color:var(--v);margin-top:2px}
.centro-card__cta{display:block;margin:0 20px 16px;padding-top:12px;border-top:1px solid var(--borde);font-size:.8rem;font-weight:600;color:var(--v)}
.centro-card__cta:hover{color:var(--v-d)}

/* REGION header micrositio */
.region-hdr{display:flex;align-items:center;gap:40px}
.region-hdr__text{flex:1}
.region-hdr__badge{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.2);padding:4px 14px;border-radius:var(--radius-pill);font-size:.72rem;color:rgba(255,255,255,.88);margin-bottom:12px}
.region-hdr__badge svg{width:12px;height:12px}
.region-hdr__stats{display:flex;gap:24px;margin-top:16px}
.region-hdr__stats div{text-align:center}
.region-hdr__stats strong{display:block;font-size:1.6rem;font-weight:800;color:#fff;line-height:1}
.region-hdr__stats span{font-size:.72rem;color:rgba(255,255,255,.72)}

/* SUBREGION cards */
.subregiones{display:flex;flex-direction:column;gap:24px}
.subregion-card{border-radius:var(--radius);overflow:hidden;box-shadow:var(--sh-2);border:1px solid var(--borde)}
.subregion-card__hdr{padding:20px 24px;color:#fff}
.subregion-card__hdr h2{font-size:1.12rem;font-weight:700;margin:0 0 4px;color:#fff}
.subregion-card__hdr p{font-size:.8rem;color:rgba(255,255,255,.78);margin:0}
.subregion-card__hdr--green{background:linear-gradient(135deg,var(--v-d),var(--v))}
.subregion-card__hdr--amber{background:linear-gradient(135deg,var(--a-d),var(--a));color:var(--ink)}
.subregion-card__hdr--amber h2{color:var(--ink)}
.subregion-card__hdr--red{background:linear-gradient(135deg,#c0392b,var(--r))}
.subregion-card__hdr--dark{background:linear-gradient(135deg,var(--v-dd),var(--v-d))}
.subregion-card__body{background:var(--bg);padding:20px 24px}
.subregion-card__body p{font-size:.88rem;color:var(--gris);line-height:1.7;margin-bottom:16px}
.subregion-card__centros{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
.subregion-centro{background:var(--bg-alt);border-radius:8px;padding:12px 16px;border-left:3px solid var(--v)}
.subregion-centro strong{display:block;font-size:.88rem;color:var(--ink);margin-bottom:4px}
.subregion-centro strong a{color:var(--ink)}
.subregion-centro strong a:hover{color:var(--v)}
.subregion-centro span{font-size:.72rem}
.subregion-centro p{font-size:.75rem;color:var(--gris);margin:0}
.subregion-centro__badge{display:inline-block;background:var(--v);color:#fff;font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.4px;padding:2px 8px;border-radius:var(--radius-pill);margin-bottom:6px}
.subregion-centro__cta{display:inline-block;margin-top:6px;font-size:.74rem;font-weight:600;color:var(--v)}
.subregion-centro__cta:hover{color:var(--v-d)}
.region-access-grid{margin-bottom:24px}

/* Micrositio de sede: tarjeta de contacto flotante en hero */
.hero--centro .hero__visual::after{display:none}
.hero--region .hero__split{display:block}
.hero--region .hero__text{max-width:760px}
.hero__contact-card{position:relative;z-index:2;background:#fff;border-radius:16px;padding:28px;box-shadow:0 24px 64px rgba(0,0,0,.25)}
.hero__contact-card h3{font-size:1.05rem;font-weight:700;color:var(--ink);margin-bottom:16px}
.hero__contact-card .centro-card__info{padding:0;gap:14px}
.hero__contact-card .centro-card__info li{font-size:.85rem;color:var(--gris)}
.centro-map-wrapper{border-radius:var(--radius);overflow:hidden;box-shadow:var(--sh-2)}
.centro-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:24px}
.centro-fact{text-align:center;color:#fff}
.centro-fact strong{display:block;font-size:1.5rem;font-weight:800;line-height:1.1;margin-bottom:4px}
.centro-fact span{font-size:.78rem;color:rgba(255,255,255,.82)}
.centro-contact-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.centro-contact-grid li{display:flex;align-items:flex-start;gap:10px;font-size:.88rem;color:var(--gris);background:var(--bg-alt);border-radius:var(--radius-sm);padding:16px;border-left:3px solid var(--v)}
.centro-contact-grid li a{color:var(--v)}
.centro-contact-grid svg{width:18px;height:18px;flex-shrink:0;color:var(--v);margin-top:1px}
.coordinador-card{display:flex;gap:20px;align-items:center;background:var(--bg);border-radius:var(--radius);box-shadow:var(--sh-2);border:1px solid var(--borde);padding:24px;margin-bottom:32px}
.coordinador-card__avatar{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,var(--v-d),var(--v));display:flex;align-items:center;justify-content:center;flex-shrink:0}
.coordinador-card__avatar svg{width:28px;height:28px;color:#fff}
.coordinador-card__role{font-size:.72rem;text-transform:uppercase;letter-spacing:.5px;color:var(--gris-c);font-weight:600}
.coordinador-card__body h3{font-size:1.05rem;font-weight:700;color:var(--ink);margin:2px 0 6px}
.coordinador-card__body p{font-size:.85rem;color:var(--gris);line-height:1.6}
.centro-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.centro-gallery__item{height:180px;border-radius:8px;overflow:hidden}
.centro-gallery__item img{width:100%;height:100%;object-fit:cover;transition:var(--trans)}
.centro-gallery__item img:hover{transform:scale(1.05)}

/* COBERTURA full-bleed (alias del .split, conservado para el home actual) */
.coverage--full{padding:0}
.coverage__grid{display:grid;grid-template-columns:1fr 1fr;gap:0;align-items:stretch}
.coverage__media{position:relative;overflow:hidden;min-height:480px}
.coverage__media img{width:100%;height:100%;object-fit:cover;display:block}
.coverage__badge{position:absolute;left:24px;bottom:24px;background:#fff;border-radius:14px;padding:14px 20px;box-shadow:var(--sh-3);text-align:center;line-height:1}
.coverage__badge strong{display:block;font-size:2rem;font-weight:800;color:var(--v)}
.coverage__badge span{font-size:.72rem;color:var(--gris);font-weight:600;text-transform:uppercase;letter-spacing:.4px}
.coverage__text{display:flex;align-items:center;background:#fff;padding:56px max(24px,calc((100vw - var(--maxw))/2 + 24px)) 56px 56px}
.coverage__text-inner{max-width:560px}
.coverage__text .badge{margin-bottom:14px}
.coverage__text h2{font-size:2rem;font-weight:800;color:var(--ink);letter-spacing:-.02em;margin-bottom:12px}
.coverage__text p{font-size:.95rem;color:var(--gris);line-height:1.75;margin-bottom:20px}

/* ============================================================
   6. FOOTER  (PRESERVADO) — mega-footer
   ============================================================ */
.footer,.ub-footer{background:var(--v);color:rgba(255,255,255,.88);font-size:.9rem}
.footer__top{padding:60px 0 40px}
.footer__grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1.5fr;gap:40px}
.footer h4{color:#fff;font-size:.95rem;font-weight:700;margin-bottom:16px;letter-spacing:.3px;line-height:1.3}
.footer p{line-height:1.7;margin-bottom:6px}
.footer a{color:rgba(255,255,255,.72)}
.footer a:hover{color:#fff}
.footer__logo img{height:112px;width:auto;margin-bottom:12px;filter:brightness(0) invert(1)}
.footer__social{display:flex;gap:8px;margin-top:16px}
.footer__social a{width:36px;height:36px;border-radius:8px;background:rgba(255,255,255,.15);display:flex;align-items:center;justify-content:center;transition:var(--trans);color:#fff}
.footer__social a:hover{background:var(--a);color:var(--ink);transform:translateY(-2px)}
.footer__social svg{width:16px;height:16px}
.footer__links{display:flex;flex-direction:column;gap:8px}
.footer__links a{font-size:.88rem}
.footer__bottom{background:rgba(0,0,0,.15);padding:16px 0;text-align:center;font-size:.8rem;border-top:1px solid rgba(255,255,255,.1)}
.footer__bottom p{margin-bottom:2px}
.footer__gov-logos{display:flex;gap:16px;align-items:center;margin-top:16px}
.footer__gov-logos img{height:32px;width:auto;opacity:.8;transition:var(--trans)}
.footer__gov-logos a:hover img{opacity:1}
.footer__legal{margin-top:8px;font-size:.82rem;color:rgba(255,255,255,.5)}
.footer__contact-link{margin-top:8px}
.footer__hours{margin-top:8px;font-size:.8rem;color:rgba(255,255,255,.5)}

/* ============================================================
   17. ESTADO RUNTIME (accesibilidad) · TOAST · ANIMACIONES
   ============================================================ */
.font-1{font-size:1.1rem}
.font-2{font-size:1.25rem}
.high-contrast{filter:contrast(1.3)}
.grayscale{filter:grayscale(1)}
.pause-animations *,.pause-animations *::before,.pause-animations *::after{animation-play-state:paused!important;transition-duration:0s!important}

.toast{position:fixed;bottom:24px;right:24px;z-index:9999;background:var(--ink);color:#fff;padding:14px 24px;border-radius:var(--radius-sm);font-size:.86rem;box-shadow:var(--sh-4);transform:translateY(120px);opacity:0;transition:var(--trans);max-width:360px}
.toast.show{transform:translateY(0);opacity:1}
.toast--success{border-left:4px solid var(--v)}
.toast--error{border-left:4px solid var(--r)}

.fade-in{opacity:0;transform:translateY(30px);transition:opacity .6s ease,transform .6s ease}
.fade-in.visible{opacity:1;transform:translateY(0)}
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
}

/* ============================================================
   18. RESPONSIVE
   ============================================================ */
@media(max-width:1024px){
  :root{--space-sec:72px}
  .footer__grid{grid-template-columns:1fr 1fr;gap:32px}
  .detail-grid,.programa-grid{grid-template-columns:1fr;gap:32px}
}
@media(max-width:960px){
  .hero--home h1{font-size:2.6rem}
}
@media(max-width:860px){
  .grid-3,.grid-4,.grid-5{grid-template-columns:repeat(2,1fr)}
  .faculties{grid-template-columns:1fr}
  .featured{margin-top:-36px}
  .featured__grid{grid-template-columns:1fr;max-width:520px}
  .split{grid-template-columns:1fr}
  .split__media{min-height:0}.split__media img{height:300px}
  .split__media--right{order:0}
  .split__inner,.split__body--left .split__inner,.split__body--right .split__inner{padding:40px 24px;max-width:none}
  .coverage__grid{grid-template-columns:1fr}
  .coverage__media{min-height:0}.coverage__media img{height:300px}
  .coverage__text{padding:40px 24px}
}
@media(max-width:768px){
  .menu-toggle{display:flex}
  /* Drawer estilo OJS: panel blanco a la derecha, slide + fade + blur. */
  .nav{position:fixed;top:0;right:0;width:300px;max-width:85vw;height:100vh;max-height:100vh;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background:#fff;flex-direction:column;padding:0 0 48px;gap:0;box-shadow:-4px 0 40px rgba(15,23,42,.18);transform:translateX(100%);opacity:0;filter:blur(2px);transition:transform .3s var(--ease),opacity .3s ease,filter .3s ease;z-index:1600}
  .nav.open{transform:translateX(0);opacity:1;filter:blur(0)}
  /* Boton X: caja redondeada con borde, arriba-derecha (patron OJS). */
  .nav__close{display:flex;width:36px;height:36px;align-items:center;justify-content:center;margin:20px 20px 8px auto;padding:0;background:#fff;border:1px solid var(--borde);border-radius:12px;box-shadow:0 1px 2px rgba(15,23,42,.06);color:#64748b;font-size:0;line-height:1;cursor:pointer;transition:var(--trans)}
  .nav__close svg{width:20px;height:20px}
  .nav__close:hover,.nav__close:focus-visible{color:#475569;border-color:#cbd5e1}
  .nav__link{padding:13px 20px;font-size:.95rem;width:100%;border-radius:0;border-bottom:1px solid var(--borde)}
  .nav__dropdown{width:100%}
  .nav__dropdown-toggle,.nav__subdropdown-toggle{padding-right:42px}
  .nav__dropdown-toggle::after{right:18px;width:9px;height:9px;border-width:2px;opacity:.9}
  .nav__dropdown-menu{position:static;box-shadow:none;border:none;padding:2px 0 6px 12px;margin:0 0 2px 6px;border-left:2px solid var(--tint-soft);opacity:1;visibility:visible;transform:none;max-height:0;overflow:hidden;transition:max-height .3s var(--ease);display:block}
  .nav__dropdown.open>.nav__dropdown-menu{max-height:1400px}
  .nav__dropdown.open>.nav__dropdown-toggle::after{transform:translateY(-35%) rotate(225deg);opacity:1}
  .nav__dropdown.open>.nav__dropdown-toggle{color:var(--v)}
  .nav__dropdown-item{padding:10px 14px;font-size:.88rem}
  .nav__subdropdown{width:100%}
  .nav__subdropdown-menu{position:static;left:auto;box-shadow:none;border:none;padding:0 0 0 12px;margin:2px 0 2px 6px;border-left:2px solid var(--tint-soft);opacity:1;visibility:visible;transform:none;max-height:0;overflow:hidden;transition:max-height .3s var(--ease)}
  .nav__subdropdown.open>.nav__subdropdown-menu{max-height:1000px}
  .nav__subdropdown.open>.nav__subdropdown-toggle::after{transform:translateY(-50%) rotate(45deg);opacity:1}
  .nav__subdropdown.open>.nav__subdropdown-toggle{color:var(--v)}
  .hero{padding:60px 0 54px}
  .hero h1{font-size:2.1rem}
  .hero--home{padding:64px 0 56px}
  .hero--home h1{font-size:2.05rem}
  .hero p{font-size:.96rem}
  .stats,.contact-info{grid-template-columns:1fr 1fr}
  .grid-2,.grid-3,.grid-4,.grid-5{grid-template-columns:1fr}
  .section{padding:52px 0}
  .section__header h2{font-size:1.6rem}
  .quick-bar .container{justify-content:flex-start}
  .quick-bar__links{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:2px;scrollbar-width:none;-ms-overflow-style:none}
  .quick-bar__links::-webkit-scrollbar{display:none}
  .quick-bar__item{white-space:nowrap;font-size:.72rem;flex:0 0 auto}
  .quick-bar__date{display:none}
  .header__logo img{height:70px}
  /* Indicador de scroll: degradado + chevron al borde derecho (avisa que hay mas accesos). */
  .quick-bar::after{content:'\203A';position:absolute;right:0;top:1px;bottom:1px;width:48px;display:flex;align-items:center;justify-content:flex-end;padding-right:14px;background:linear-gradient(to right,rgba(255,255,255,0),var(--bg) 60%);color:var(--v);font-size:1.35rem;font-weight:700;line-height:1;pointer-events:none;z-index:2}
  /* Footer movil: marca full-width arriba + 4 bloques de links en 2x2 (no apilar todo). */
  .footer__grid{grid-template-columns:1fr 1fr;gap:30px 18px}
  .footer__grid>:first-child{grid-column:1 / -1}
  .footer__top{padding:40px 0 28px}
  .stat__num{font-size:2.3rem}
  .page-hdr h1{font-size:1.6rem}
  .programa-header__info{grid-template-columns:1fr 1fr}
  .programa-header__banner{padding:32px}
  .programa-header__banner h1{font-size:1.45rem}
  .cta-strip{flex-direction:column;text-align:center;padding:32px 26px}
  .cta-strip p{margin:0 auto}
  .region-hdr{flex-direction:column;gap:24px}
  .cobertura-stats{grid-template-columns:repeat(2,1fr)}
  .centro-gallery{grid-template-columns:repeat(2,1fr)}
  .prog-list--cols{grid-template-columns:1fr}
  .hero__actions{flex-direction:column;align-items:stretch;width:100%;max-width:320px}
}
@media(max-width:480px){
  .header__logo img{height:70px}
  .stats,.contact-info{grid-template-columns:1fr}
  .hero h1,.hero--home h1{font-size:1.7rem}
  .btn{padding:12px 22px;font-size:.84rem}
  .hero__actions .btn{width:100%}
  .form-grid{grid-template-columns:1fr}
  .programa-header__info{grid-template-columns:1fr}
  .cobertura-stats{grid-template-columns:1fr}
  .centro-gallery{grid-template-columns:1fr}
}

/* ============================================================
   7. WIDGET DE ACCESIBILIDAD (Sienna)  (PRESERVADO)
   El widget JS (js/iser_aw.js) auto-inyecta su CSS base + DOM.
   Estas reglas añaden la fuente Moove-Icons + branding ISER.
   ============================================================ */
@font-face{
  font-family:'Moove-Icons';
  src:url('../fonts/Moove-Icons.eot');
  src:url('../fonts/Moove-Icons.eot?#iefix') format('embedded-opentype'),
      url('../fonts/Moove-Icons.woff') format('woff'),
      url('../fonts/Moove-Icons.ttf') format('truetype'),
      url('../fonts/Moove-Icons.svg#Moove-Icons') format('svg');
  font-weight:normal;font-style:normal;font-display:block;
}
[class^="iser-icon-"],[class*=" iser-icon-"]{
  font-family:'Moove-Icons'!important;speak:never;font-style:normal;font-weight:normal;
  font-variant:normal;text-transform:none;line-height:1;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
}
.iser-icon-Monochrome:before{content:"\e942"}
.iser-icon-Accessibility:before{content:"\e931"}
.iser-icon-Bold:before{content:"\e932"}
.iser-icon-Book-guide:before{content:"\e933"}
.iser-icon-Cancel:before{content:"\47"}
.iser-icon-Cursor:before{content:"\e936"}
.iser-icon-Dark-contrast:before{content:"\e937"}
.iser-icon-Dyslexia-font:before{content:"\e938"}
.iser-icon-font-size:before{content:"\e93a"}
.iser-icon-High-contrast:before{content:"\e93b"}
.iser-icon-High-saturation:before{content:"\e93c"}
.iser-icon-Letter-spacing:before{content:"\e93d"}
.iser-icon-Light-contrast:before{content:"\e93e"}
.iser-icon-Line-spacing:before{content:"\e93f"}
.iser-icon-Low-saturation:before{content:"\e940"}
.iser-icon-Minus:before{content:"\e941"}
.iser-icon-Plus_24:before{content:"\e923"}
.iser-icon-reset:before{content:"\e947"}
.iser-icon-Setting:before{content:"\2a"}
.iser-icon-Stop:before{content:"\e948"}
.iser-icon-Title:before{content:"\e949"}
.iser-icon-link:before{content:"\e92c"}
.iser-icon-UpArrow:before{content:"\e95e"}

.asw-widget .asw-menu-btn{background:#0d6b5a!important;box-shadow:0 6px 20px rgba(13,107,90,.35)}
.asw-widget .asw-menu-btn .iser-icon,.asw-widget .asw-menu-btn svg{color:#fff!important}
.asw-container .iser-icon{font-size:24px!important;width:24px!important;height:24px!important;color:#343A40}
.asw-container .asw-overlay{z-index:499999!important;background:rgba(0,0,0,.4)}
.asw-container .asw-menu{
  top:50%!important;left:50%!important;right:auto!important;bottom:auto!important;
  transform:translate(-50%,-50%)!important;height:80vh;max-height:700px;width:505px;
  border-radius:16px;border:1px solid #D9DEE3;z-index:500001!important;box-shadow:0 8px 40px rgba(0,0,0,.25);
}
.asw-container .asw-menu .asw-menu-header{background-color:#0d6b5a;height:48px;border-radius:16px 16px 0 0}
.asw-container .asw-menu .asw-menu-header .asw-menu-setting,
.asw-container .asw-menu .asw-menu-header .asw-menu-reset,
.asw-container .asw-menu .asw-menu-header .asw-menu-close{display:flex;align-items:center;padding:0}
.asw-container .asw-menu .asw-menu-header .asw-menu-setting .iser-icon,
.asw-container .asw-menu .asw-menu-header .asw-menu-reset .iser-icon,
.asw-container .asw-menu .asw-menu-header .asw-menu-close .iser-icon{font-size:24px;color:#fff}
.asw-container .asw-menu .asw-menu-header .asw-menu-close{width:24px;height:24px;overflow:hidden;cursor:pointer}
.asw-container .asw-menu .asw-menu-header .asw-menu-close .iser-icon{font-size:36px!important;margin-left:-6px!important;height:36px!important;width:36px!important}
.asw-container .asw-menu .asw-menu-header .asw-menu-setting{display:none!important}
.asw-container .asw-menu .asw-menu-content{background:#D9DEE3;border-radius:0 0 16px 16px}
.asw-container .asw-menu .asw-menu-content .asw-card{margin-left:24px;margin-right:24px}
.asw-container .asw-menu .asw-menu-content .asw-card-title,
.asw-container .asw-menu .asw-menu-content .asw-adjust-font{font-family:Inter,sans-serif;font-size:16px!important;font-weight:400!important;line-height:normal!important;color:#343A40;opacity:1}
.asw-container .asw-menu .asw-menu-content .asw-adjust-font{border-radius:4px}
.asw-container .asw-menu .asw-menu-content .asw-adjust-font .asw-label{display:flex;align-items:center}
.asw-container .asw-menu .asw-menu-content .asw-adjust-font .asw-label .iser-icon{margin-right:8px}
.asw-container .asw-menu .asw-menu-content .asw-adjust-font .asw-minus,
.asw-container .asw-menu .asw-menu-content .asw-adjust-font .asw-plus{border-radius:4px;border:1px solid #D9DEE3!important;background:#FFF!important;width:32px;height:32px;padding:4px}
.asw-container .asw-menu .asw-menu-content .asw-adjust-font .asw-minus:hover,
.asw-container .asw-menu .asw-menu-content .asw-adjust-font .asw-plus:hover{border:1px solid #343A40!important}
.asw-container .asw-menu .asw-menu-content .asw-translate{font-family:Inter,sans-serif;font-size:14px!important;font-weight:400!important;line-height:normal!important;color:#343A40}
.asw-container .asw-menu .asw-menu-content .asw-items{gap:12px}
.asw-container .asw-menu .asw-menu-content .asw-btn{border-radius:4px;border:1px solid transparent!important;aspect-ratio:unset;padding:16px 14px}
.asw-container .asw-menu .asw-menu-content .asw-btn:hover,
.asw-container .asw-menu .asw-menu-content .asw-btn.asw-selected{border:1px solid #343A40!important}
.asw-container .asw-menu .asw-menu-content .asw-btn.asw-selected .iser-icon,
.asw-container .asw-menu .asw-menu-content .asw-btn.asw-selected .asw-translate{color:#343A40}
.asw-container .asw-menu .asw-menu-content .asw-btn.asw-selected:after{background-color:#6BF28A!important;color:#343A40;border:1px solid #343A40;font-size:13px;padding:4px 3px}
.asw-container .asw-menu .asw-footer{display:none!important}
.asw-container .asw-menu:not(:has(.asw-footer)) .asw-menu-content,
.asw-container .asw-menu:has(.asw-footer.d-none) .asw-menu-content{max-height:calc(100% - 48px)}
@media screen and (max-width:767px){
  .asw-container .asw-menu{top:0!important;left:0!important;width:100%;height:100%;max-height:100%;border-radius:0;transform:none!important}
  .asw-container .asw-menu .asw-menu-header{border-radius:0}
}

/* ============================================================
   8. BACK-TO-TOP  (PRESERVADO)
   ============================================================ */
.iser-to-top{
  position:fixed;right:22px;bottom:22px;z-index:9990;width:46px;height:46px;
  display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:50%;
  cursor:pointer;background:#0d6b5a;color:#fff;box-shadow:0 6px 18px rgba(13,107,90,.35);
  opacity:0;visibility:hidden;transform:translateY(12px);
  transition:opacity .25s ease,transform .25s ease,background .2s ease,visibility .25s;
}
.iser-to-top.is-visible{opacity:1;visibility:visible;transform:translateY(0)}
.iser-to-top:hover{background:#1B9E88;transform:translateY(-2px)}
.iser-to-top:active{transform:translateY(0) scale(.96)}
.iser-to-top:focus-visible{outline:3px solid #FCBD05;outline-offset:3px}
.iser-to-top svg{width:22px;height:22px}
@media(max-width:640px){.iser-to-top{right:16px;bottom:16px;width:42px;height:42px}}
@media(prefers-reduced-motion:reduce){.iser-to-top{transition:opacity .15s linear,visibility .15s}}

/* ============================================================================
   TRATAMIENTO FOTOGRAFICO INSTITUCIONAL — duotono teal sobrio.
   Las fotos disponibles tienen texto de afiches quemado; al desaturarlas y
   tenirlas de teal, el texto se subordina y la imagen lee como textura branded
   (look universidad publica seria). Reemplazar por fotografia de campus limpia
   cuando este disponible para una verdadera "fotografia protagonista".
   ============================================================================ */
.hero__bg{ filter:grayscale(.55) contrast(1.04) brightness(.95); }
/* Imagenes de bloques split full-bleed: duotono via capa multiply de marca. */
.split__media{ position:relative; }
.split__media img{ filter:grayscale(.5) contrast(1.03); }
.split__media::after{ content:''; position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(150deg, rgba(8,68,58,.42), rgba(27,158,136,.20)); mix-blend-mode:multiply; }

/* ============================================================================
   HOME HERO — photography-led (foto limpia protagonista). Scoped a .hero--home
   para NO afectar los heroes de paginas interiores (que aun usan fotos con
   texto y necesitan overlay fuerte).
   ============================================================================ */
.hero--home{ padding:144px 0 128px; }
.hero--home .hero__bg{ filter:grayscale(.18) contrast(1.05) brightness(.93); }
.hero--home .hero__overlay{ background:linear-gradient(118deg, rgba(8,68,58,.88) 0%, rgba(13,107,90,.60) 50%, rgba(8,68,58,.52) 100%) !important; }
.hero--home .hero__content{ max-width:880px; }
.hero--home h1{ font-size:3.6rem; }
@media(max-width:640px){ .hero--home{ padding:84px 0 70px; } .hero--home h1{ font-size:2.2rem; } }
/* Cobertura: foto limpia -> duotono mas suave para que la foto luzca */
.split__media img{ filter:grayscale(.2) contrast(1.03); }
.split__media::after{ background:linear-gradient(150deg, rgba(8,68,58,.24), rgba(27,158,136,.10)); }

/* ============================================================================
   REDISEÑO EDITORIAL DEL HOME 2026 — secciones de contenido (post-hero).
   Bandas zig-zag con fotografia protagonista, cifras grandes asimetricas,
   indice de programas tipo catalogo, noticias asimetricas y revista destacada.
   Tipografia: solo Inter. Paleta: teal de marca + ambar solo en CTA.
   ============================================================================ */

/* ---- DESTACADOS: barra de accesos asimetrica que solapa el hero ---- */
.quicklinks{ position:relative; z-index:5; margin-top:-64px; }
.quicklinks__bar{ display:grid; grid-template-columns:1.05fr 1.4fr; gap:20px; }
/* Acceso principal de conversion (ambar) */
.ql-primary{ display:flex; flex-direction:column; justify-content:center; gap:10px; background:linear-gradient(135deg,var(--a) 0%,var(--a-d) 100%); border-radius:20px; padding:32px 34px; box-shadow:0 24px 48px -22px rgba(252,189,5,.7); transition:var(--trans); position:relative; overflow:hidden; }
.ql-primary::after{ content:''; position:absolute; right:-50px; top:-50px; width:180px; height:180px; border-radius:50%; background:rgba(255,255,255,.18); }
.ql-primary:hover{ transform:translateY(-4px); box-shadow:0 30px 56px -22px rgba(252,189,5,.8); color:var(--ink); }
.ql-primary>*{ position:relative; z-index:1; }
.ql-primary__tag{ font-size:.74rem; font-weight:700; text-transform:uppercase; letter-spacing:.6px; color:rgba(15,27,24,.7); }
.ql-primary__title{ font-size:1.45rem; font-weight:800; letter-spacing:-.02em; line-height:1.15; color:var(--ink); }
.ql-primary__cta{ display:inline-flex; align-items:center; gap:8px; font-size:.92rem; font-weight:700; color:var(--ink); margin-top:4px; }
.ql-primary__cta svg{ width:18px; height:18px; transition:transform .25s var(--ease); }
.ql-primary:hover .ql-primary__cta svg{ transform:translateX(4px); }
/* Accesos secundarios */
.ql-links{ display:grid; grid-template-rows:1fr 1fr; gap:20px; }
.ql-link{ display:flex; align-items:center; gap:18px; background:#fff; border:1px solid var(--borde); border-radius:18px; padding:22px 26px; box-shadow:var(--sh-2); transition:var(--trans); color:inherit; }
.ql-link:hover{ transform:translateY(-3px); box-shadow:var(--sh-3); border-color:var(--borde-2); }
.ql-link__icon{ width:52px; height:52px; border-radius:14px; background:linear-gradient(135deg,var(--v),var(--v-d)); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.ql-link__icon svg{ width:25px; height:25px; color:#fff; }
.ql-link__body{ flex:1; min-width:0; }
.ql-link__title{ display:block; font-size:1.08rem; font-weight:700; color:var(--ink); margin-bottom:3px; }
.ql-link__text{ display:block; font-size:.86rem; color:var(--gris); line-height:1.45; }
.ql-link__text em{ font-style:italic; }
.ql-link__arrow{ width:20px; height:20px; color:var(--gris-c); flex-shrink:0; transition:var(--trans); }
.ql-link:hover .ql-link__arrow{ color:var(--v); transform:translateX(4px); }

/* ---- MEDIA-STRIP: franja fotografica contenida (no full-bleed) ---- */
.media-strip{ position:relative; border-radius:var(--radius-lg); overflow:hidden; height:300px; margin-bottom:48px; box-shadow:var(--sh-2); }
.media-strip img{ width:100%; height:100%; object-fit:cover; filter:grayscale(.06) contrast(1.04); }
.media-strip::after{ content:''; position:absolute; inset:0; background:linear-gradient(120deg, rgba(8,68,58,.34), rgba(27,158,136,.08) 60%); }
.media-strip__badge{ position:absolute; left:28px; bottom:28px; z-index:2; background:#fff; border-radius:14px; padding:16px 22px; box-shadow:var(--sh-3); text-align:left; line-height:1; }
.media-strip__badge strong{ display:block; font-size:1.9rem; font-weight:800; color:var(--v); letter-spacing:-.02em; }
.media-strip__badge span{ font-size:.72rem; color:var(--gris); font-weight:600; text-transform:uppercase; letter-spacing:.4px; }

/* ---- MEDIA-ROW: foto + texto contenidos (reemplaza zig-zag invasivo) ---- */
.media-row{ display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center; }
.media-row--reverse .media-row__media{ order:-1; }
.media-row__media{ position:relative; border-radius:var(--radius-lg); overflow:hidden; height:420px; box-shadow:var(--sh-2); }
.media-row__media img{ width:100%; height:100%; object-fit:cover; filter:grayscale(.06) contrast(1.04); }
.media-row__media::after{ content:''; position:absolute; inset:0; background:linear-gradient(150deg, rgba(8,68,58,.20), rgba(27,158,136,.05) 60%); }
.media-row__badge{ position:absolute; left:24px; bottom:24px; z-index:2; background:#fff; border-radius:14px; padding:14px 20px; box-shadow:var(--sh-3); text-align:left; line-height:1; }
.media-row__badge strong{ display:block; font-size:2rem; font-weight:800; color:var(--v); letter-spacing:-.02em; }
.media-row__badge span{ font-size:.72rem; color:var(--gris); font-weight:600; text-transform:uppercase; letter-spacing:.4px; }
.media-row__body h2{ font-size:2.1rem; font-weight:800; letter-spacing:-.025em; line-height:1.12; margin:14px 0 14px; }
.media-row__body .badge{ margin-bottom:0; }

/* ---- CIFRAS: declaracion editorial + lista de numeros grandes (asimetrico) ---- */
.figures__grid{ display:grid; grid-template-columns:1.05fr .95fr; gap:64px; align-items:start; }
.figures__intro h2{ font-size:2.35rem; font-weight:800; letter-spacing:-.03em; line-height:1.12; margin:16px 0 18px; color:var(--ink); }
.figures__intro .lead{ max-width:42ch; }
.figures__list{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:0; border-top:1px solid var(--borde); border-left:1px solid var(--borde); }
.figure-item{ padding:30px 28px; border-right:1px solid var(--borde); border-bottom:1px solid var(--borde); display:flex; flex-direction:column; gap:8px; }
.figure-item__num{ font-size:3.1rem; font-weight:800; line-height:.95; letter-spacing:-.04em; color:var(--v); font-variant-numeric:tabular-nums; }
.figure-item__label{ font-size:.84rem; color:var(--gris); line-height:1.45; }

/* ---- PROGRAMAS: cabecera con CTA + contador + indice por facultad ---- */
.prog-head{ display:grid; grid-template-columns:1.5fr .9fr; gap:48px; align-items:end; margin-bottom:48px; }
.prog-head__text{ max-width:680px; }
.prog-head__text h2{ font-size:2.3rem; font-weight:800; letter-spacing:-.03em; line-height:1.12; margin:14px 0 18px; }
.prog-head__cta{ margin-top:6px; }
.prog-head__count{ text-align:right; border-right:4px solid var(--a); padding-right:22px; }
.prog-head__count-num{ display:block; font-size:4.2rem; font-weight:800; line-height:.9; letter-spacing:-.04em; color:var(--v); font-variant-numeric:tabular-nums; }
.prog-head__count-label{ display:block; font-size:.82rem; color:var(--gris); line-height:1.4; margin-top:8px; max-width:220px; margin-left:auto; }
.faculty-index{ display:grid; grid-template-columns:1fr 1fr; gap:32px; }
.faculty-block{ background:#fff; border:1px solid var(--borde); border-radius:20px; padding:38px 36px; box-shadow:var(--sh-2); position:relative; overflow:hidden; }
.faculty-block::before{ content:''; position:absolute; left:0; top:0; bottom:0; width:5px; background:linear-gradient(180deg,var(--v),var(--v-d)); }
.faculty-block--alt::before{ background:linear-gradient(180deg,var(--v-dd),var(--v)); }
.faculty-block__head{ padding-bottom:24px; margin-bottom:8px; border-bottom:1px solid var(--borde); }
.faculty-block__kicker{ display:inline-block; font-size:.7rem; font-weight:700; text-transform:uppercase; letter-spacing:1px; color:var(--v); margin-bottom:10px; }
.faculty-block__head h3{ font-size:1.4rem; font-weight:800; letter-spacing:-.02em; line-height:1.15; margin-bottom:8px; }
.faculty-block__head p{ font-size:.9rem; color:var(--gris); line-height:1.6; }
.prog-index{ list-style:none; margin:0; padding:0; }
.prog-index li{ border-bottom:1px solid var(--borde); }
.prog-index li:last-child{ border-bottom:none; }
.prog-index a{ display:flex; align-items:center; justify-content:space-between; gap:16px; padding:16px 4px; transition:var(--trans); border-radius:8px; }
.prog-index a:hover{ background:var(--tint-soft); padding-left:12px; padding-right:12px; }
.prog-index__name{ font-size:1rem; font-weight:700; color:var(--ink); line-height:1.3; }
.prog-index a:hover .prog-index__name{ color:var(--v); }
.prog-index__chip{ font-size:.7rem; font-weight:700; color:var(--v-d); background:var(--tint-2); border:1px solid var(--borde); padding:5px 12px; border-radius:var(--radius-pill); white-space:nowrap; flex-shrink:0; text-transform:uppercase; letter-spacing:.3px; }

/* ---- POR QUE ISER: franja foto contenida + razones en grilla 2x2 ---- */
.reasons{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:32px 44px; }
.reason{ display:flex; gap:20px; align-items:flex-start; }
.reason__num{ font-size:1.6rem; font-weight:800; color:var(--v); line-height:1; flex-shrink:0; width:48px; padding-top:2px; letter-spacing:-.02em; position:relative; }
.reason__num::after{ content:''; position:absolute; left:1px; bottom:-12px; width:28px; height:3px; border-radius:2px; background:var(--a); }
.reason h3{ font-size:1.1rem; font-weight:700; color:var(--ink); margin-bottom:6px; }
.reason p{ font-size:.9rem; color:var(--gris); line-height:1.6; }

/* ---- VIDA ACADEMICA: pilares apilados (dentro de media-row) ---- */
.pillars{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:22px; }
.pillars li{ display:flex; gap:18px; align-items:flex-start; }
.pillars svg{ width:26px; height:26px; color:var(--v); flex-shrink:0; margin-top:2px; }
.pillars strong{ display:block; font-size:1.04rem; font-weight:700; color:var(--ink); margin-bottom:4px; }
.pillars span{ font-size:.88rem; color:var(--gris); line-height:1.55; }

/* ---- NOTICIAS: cabecera editorial (las tarjetas usan .news-card existente) ---- */
.news-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:40px; flex-wrap:wrap; }
.news-head h2{ font-size:2.3rem; font-weight:800; letter-spacing:-.03em; margin-top:14px; }
/* Mención de la revista dentro de los pilares de Vida académica */
.pillars a{ color:var(--v-d); font-weight:600; border-bottom:1px solid rgba(13,107,90,.3); }
.pillars a:hover{ color:var(--v); border-bottom-color:var(--v); }
.pillars em{ font-style:italic; }

/* ---- RESPONSIVE del rediseño editorial ---- */
@media(max-width:960px){
  .quicklinks{ margin-top:-40px; }
  .quicklinks__bar{ grid-template-columns:1fr; }
  .figures__grid{ grid-template-columns:1fr; gap:36px; }
  .faculty-index{ grid-template-columns:1fr; }
  .prog-head{ grid-template-columns:1fr; gap:28px; }
  .prog-head__count{ text-align:left; border-right:none; border-left:4px solid var(--a); padding-right:0; padding-left:20px; }
  .prog-head__count-label{ margin-left:0; }
  .prog-head__count-num{ font-size:3.4rem; }
  .media-row{ grid-template-columns:1fr; gap:28px; }
  .media-row--reverse .media-row__media{ order:0; }
  .media-row__media{ height:300px; }
  .reasons{ gap:28px 36px; }
}
@media(max-width:860px){
  .figures__intro h2,.prog-head__text h2,.news-head h2,.media-row__body h2{ font-size:1.85rem; }
  .reasons{ grid-template-columns:1fr; }
  .media-strip{ height:240px; }
}
@media(max-width:560px){
  .figures__list{ grid-template-columns:1fr; }
  .figure-item__num{ font-size:2.6rem; }
  .ql-primary{ padding:26px 24px; }
  .ql-link{ padding:18px 20px; gap:14px; }
}

/* ============================================================
   Header utils: buscador (icono->campo inline) + idioma (GTranslate ES/EN)
   Añadido 2026-06-04 — port del buscador+traductor del sitio viejo al header nuevo.
   ============================================================ */
.header__utils{display:flex;align-items:center;gap:8px;flex:0 0 auto}
.hdr-search__toggle{display:flex;align-items:center;justify-content:center;width:38px;height:38px;padding:0;background:none;border:none;border-radius:var(--radius-pill);color:var(--ink-2);cursor:pointer;transition:var(--trans)}
.hdr-search__toggle svg{width:20px;height:20px}
.hdr-search__toggle:hover,.hdr-search__toggle[aria-expanded="true"]{background:var(--tint-soft);color:var(--v)}
/* Barra de búsqueda full-width desplegable bajo el header */
.hdr-searchbar{max-height:0;overflow:hidden;background:#fff;opacity:0;transition:max-height .32s var(--ease),opacity .22s ease,box-shadow .25s ease}
.hdr-searchbar.is-open{max-height:100px;opacity:1;box-shadow:var(--sh-2)}
.hdr-searchbar__form{display:flex;align-items:center;gap:12px;width:100%;padding:16px 0}
.hdr-searchbar__icon{width:22px;height:22px;color:var(--v);flex:0 0 auto}
.hdr-searchbar__field{flex:1;min-width:0;border:none;outline:none;background:none;font-family:var(--font);font-size:17px;color:var(--ink);padding:6px 0}
.hdr-searchbar__field::placeholder{color:var(--gris-c)}
.hdr-searchbar__submit{flex:0 0 auto;padding:9px 22px;background:var(--v);color:#fff;border:none;border-radius:var(--radius-pill);font-family:var(--font);font-size:14px;font-weight:600;cursor:pointer;transition:var(--trans)}
.hdr-searchbar__submit:hover{background:var(--v-d)}
.hdr-searchbar__close{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:none;border:none;border-radius:var(--radius-pill);color:var(--gris);cursor:pointer;transition:var(--trans)}
.hdr-searchbar__close:hover{background:var(--bg-alt);color:var(--ink)}
.hdr-searchbar__close svg{width:20px;height:20px}
.hdr-lang{display:flex;align-items:center;gap:3px}
.hdr-lang__btn{padding:5px 7px;background:none;border:none;font-family:var(--font);font-size:13px;font-weight:600;color:var(--gris);cursor:pointer;border-radius:var(--radius-sm);transition:var(--trans);line-height:1}
.hdr-lang__btn:hover{color:var(--v)}
.hdr-lang__btn.is-active{color:var(--v)}
.hdr-lang__sep{color:var(--borde-2);font-size:12px;user-select:none}
/* ocultar UI de Google Translate (usamos solo el switcher propio) */
.goog-te-banner-frame,.skiptranslate{display:none!important}
.goog-te-gadget{height:0;overflow:hidden}
#google_translate_element{position:absolute!important;left:-9999px!important;height:0!important;overflow:hidden}
body{top:0!important}
@media(max-width:1024px){
  .header__utils{margin-left:auto;gap:4px}
}
@media(max-width:560px){
  .hdr-searchbar__submit{padding:9px 16px;font-size:13px}
  .hdr-searchbar__field{font-size:15px}
}
