﻿:root {
      --azul: #053b83;
      --azul-oscuro: #072653;
      --celeste: #0c95c9;
      --amarillo: #f6b31b;
      --rojo: #c62828;
      --verde: #2f8f4e;
      --tinta: #182033;
      --texto: #4c5568;
      --fondo: #f6f8fb;
      --blanco: #ffffff;
      --borde: #dbe4f0;
      --sombra: 0 18px 45px rgba(10, 32, 68, 0.14);
      --radio: 8px;
      --ancho: 1180px;
    }

    * {
      box-sizing: border-box;
    }

    html {
      font-size: 93.75%;
      scroll-behavior: smooth;
    }

    body {
      margin: 0;
      font-family: Arial, Helvetica, sans-serif;
      color: var(--tinta);
      background: var(--fondo);
      line-height: 1.6;
      overflow-x: hidden;
    }

    .preview-badge {
      position: fixed;
      right: 18px;
      bottom: 18px;
      z-index: 200;
      padding: 10px 14px;
      border: 1px solid rgba(246, 179, 27, 0.48);
      border-radius: var(--radio);
      color: #172033;
      background: var(--amarillo);
      box-shadow: 0 16px 36px rgba(3, 15, 32, 0.18);
      font-size: 0.9rem;
      font-weight: 900;
    }

    img {
      display: block;
      max-width: 100%;
    }

    a {
      color: inherit;
      text-decoration: none;
    }

    header {
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      z-index: 40;
      transition: background 220ms ease, box-shadow 220ms ease, border-color 220ms ease;
    }

    header.is-scrolled {
      box-shadow: 0 10px 28px rgba(5, 28, 61, 0.12);
    }

    .nav__inner,
    .section__inner {
      width: min(var(--ancho), calc(100% - 32px));
      margin: 0 auto;
    }

    .nav {
      background: rgba(255, 255, 255, 0);
      border-bottom: 1px solid rgba(255, 255, 255, 0.14);
      backdrop-filter: blur(14px);
      transition: background 220ms ease, border-color 220ms ease;
    }

    header.is-scrolled .nav {
      background: rgba(255, 255, 255, 0.96);
      border-bottom-color: rgba(219, 228, 240, 0.86);
    }

    .nav__inner {
      position: relative;
      min-height: 60px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 14px;
    }

    .brand {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 0;
      min-width: 0;
      font-weight: 800;
      letter-spacing: 0;
      color: var(--blanco);
      text-shadow: 0 2px 14px rgba(3, 22, 46, 0.4);
      transition: color 220ms ease, text-shadow 220ms ease;
    }

    header.is-scrolled .brand {
      color: var(--azul);
      text-shadow: none;
    }

    .brand img {
      width: 48px;
      height: 48px;
      object-fit: contain;
      flex: 0 0 auto;
    }

    .brand span {
      display: block;
      font-size: clamp(0.95rem, 2.5vw, 1.08rem);
      line-height: 1.15;
    }

    .menu {
      display: flex;
      align-items: center;
      justify-content: flex-end;
      gap: 4px;
      list-style: none;
      padding: 0;
      margin: 0;
    }

    .menu > li {
      position: relative;
    }

    .menu > li:first-child {
      order: 1;
    }

    .menu-documents {
      order: 2;
    }

    .menu > li:not(:first-child):not(.menu-documents) {
      order: 3;
    }

    .menu a {
      display: inline-flex;
      align-items: center;
      min-height: 38px;
      padding: 0 10px;
      border-radius: var(--radio);
      color: var(--blanco);
      font-weight: 700;
      font-size: 0.9rem;
      transition: background 160ms ease, color 160ms ease;
    }

    .menu a.menu-login {
      min-height: 40px;
      margin-left: 4px;
      padding: 0 12px;
      color: #172033;
      background: var(--amarillo);
      box-shadow: 0 12px 24px rgba(3, 15, 32, 0.18);
      white-space: nowrap;
    }

    .menu a.menu-login::before {
      content: "";
      width: 16px;
      height: 16px;
      margin-right: 7px;
      background: currentColor;
      mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M10 3a1 1 0 0 1 1 1v2H6v12h5v2a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V5a2 2 0 0 1 2-2h4Zm7.59 5.59L21 12l-3.41 3.41-1.42-1.41L17.76 12H10v-2h7.76l-1.59-1.99 1.42-1.42Z'/%3E%3C/svg%3E") center / contain no-repeat;
    }

    header.is-scrolled .menu a.menu-login,
    .menu a.menu-login:hover,
    .menu a.menu-login:focus-visible,
    header.is-scrolled .menu a.menu-login:hover,
    header.is-scrolled .menu a.menu-login:focus-visible {
      color: #172033;
      background: var(--amarillo);
    }

    .menu a.menu-login:hover,
    .menu a.menu-login:focus-visible {
      background: #ffd05a;
      transform: translateY(-1px);
    }

    .menu > li > a[aria-haspopup="true"]::after {
      content: "";
      width: 7px;
      height: 7px;
      margin-left: 8px;
      border-right: 2px solid currentColor;
      border-bottom: 2px solid currentColor;
      transform: translateY(-2px) rotate(45deg);
    }

    .submenu {
      position: absolute;
      top: 100%;
      left: 0;
      z-index: 50;
      display: none;
      min-width: 220px;
      margin: 0;
      padding: 8px;
      list-style: none;
      border: 1px solid rgba(219, 228, 240, 0.9);
      border-radius: var(--radio);
      background: rgba(255, 255, 255, 0.98);
      box-shadow: var(--sombra);
    }

    .menu > li:hover > .submenu,
    .menu > li:focus-within > .submenu {
      display: grid;
      gap: 4px;
    }

    .submenu a,
    .submenu-nested__trigger {
      width: 100%;
      min-height: 38px;
      justify-content: flex-start;
      color: #243047;
      font-size: 0.9rem;
      font-weight: 500;
      white-space: nowrap;
      text-shadow: none;
    }

    .submenu-nested__trigger {
      position: relative;
      display: flex;
      align-items: center;
      padding: 0 32px 0 10px;
      border: 0;
      border-radius: var(--radio);
      background: transparent;
      font-weight: 800;
      cursor: pointer;
    }

    .submenu-nested__trigger::after {
      content: "";
      position: absolute;
      right: 12px;
      top: 50%;
      width: 8px;
      height: 8px;
      border-right: 2px solid currentColor;
      border-bottom: 2px solid currentColor;
      transform: translateY(-50%) rotate(-45deg);
    }

    .submenu-nested {
      position: relative;
    }

    .submenu--nested {
      top: -8px;
      left: calc(100% + 8px);
      right: auto;
      min-width: 250px;
      max-height: min(70vh, 480px);
      overflow-y: auto;
    }

    #documentMenu {
      left: 0;
      right: auto;
      min-width: 230px;
    }

    #documentMenu .submenu-nested__trigger {
      font-weight: 650;
    }

    #documentMenu .submenu--nested a {
      font-weight: 500;
    }

    .submenu-nested:hover > .submenu--nested,
    .submenu-nested:focus-within > .submenu--nested,
    .submenu-nested.is-submenu-open > .submenu--nested {
      display: grid;
      gap: 4px;
    }

    .submenu a:hover,
    .submenu a:focus-visible,
    .submenu-nested__trigger:hover,
    .submenu-nested__trigger:focus-visible {
      background: #edf5ff;
      color: var(--azul);
      outline: none;
    }

    .submenu-icon {
      gap: 9px;
    }

    .submenu-icon::before {
      content: "";
      width: 18px;
      height: 18px;
      flex: 0 0 18px;
      background: var(--submenu-icon-color, currentColor);
      -webkit-mask: var(--submenu-icon) center / contain no-repeat;
      mask: var(--submenu-icon) center / contain no-repeat;
    }

    .submenu-icon--history {
      --submenu-icon-color: #8a5a18;
      --submenu-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 4.5A2.5 2.5 0 0 1 7.5 2H20v17H7.5A2.5 2.5 0 0 0 5 21.5v-17ZM7.5 4A.5.5 0 0 0 7 4.5v12.55c.16-.03.33-.05.5-.05H18V4H7.5ZM8 7h8v2H8V7Zm0 4h6v2H8v-2Z'/%3E%3C/svg%3E");
    }

    .submenu-icon--identity {
      --submenu-icon-color: #0f7a4f;
      --submenu-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2 4 5v6c0 5 3.4 9.6 8 11 4.6-1.4 8-6 8-11V5l-8-3Zm0 3.1 5.8 2.18V11c0 3.7-2.34 7.15-5.8 8.83C8.54 18.15 6.2 14.7 6.2 11V7.28L12 5.1Zm3.7 5.35-4.55 4.55-2.35-2.35 1.4-1.4.95.95 3.15-3.15 1.4 1.4Z'/%3E%3C/svg%3E");
    }

    .submenu-icon--community {
      --submenu-icon-color: #0c95c9;
      --submenu-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8 11a4 4 0 1 1 0-8 4 4 0 0 1 0 8Zm0-2a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm8.5 2a3.5 3.5 0 1 1 0-7 3.5 3.5 0 0 1 0 7Zm0-2a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM2 20c.35-4.05 2.72-6.5 6-6.5s5.65 2.45 6 6.5H2Zm2.3-2h7.4c-.57-1.7-1.85-2.5-3.7-2.5s-3.13.8-3.7 2.5Zm10.56 0h6.03c-.4-1.5-1.44-2.25-3.02-2.25-.9 0-1.65.25-2.22.75a8.06 8.06 0 0 0-.79-1.82c.83-.61 1.84-.93 3.01-.93 2.9 0 4.8 2.17 5.13 6.25h-8.6c.2-.63.35-1.3.46-2Z'/%3E%3C/svg%3E");
    }

    .submenu-icon--contact {
      --submenu-icon-color: #c62828;
      --submenu-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.62 10.79a15.05 15.05 0 0 0 6.59 6.59l2.2-2.2a1 1 0 0 1 1.01-.24c1.12.37 2.33.56 3.58.56a1 1 0 0 1 1 1V20a1 1 0 0 1-1 1C10.61 21 3 13.39 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.25.19 2.46.56 3.58a1 1 0 0 1-.24 1.01l-2.2 2.2Z'/%3E%3C/svg%3E");
    }

    .submenu-icon--specialties {
      --submenu-icon-color: #053b83;
      --submenu-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3 1 8l11 5 9-4.09V16h2V8L12 3Zm0 7.8L5.83 8 12 5.2 18.17 8 12 10.8ZM6 12.2V16c0 2.2 2.69 4 6 4s6-1.8 6-4v-3.8l-6 2.73-6-2.73Zm2 3.98v-.9l4 1.82 4-1.82v.9c-.18.72-1.68 1.82-4 1.82s-3.82-1.1-4-1.82Z'/%3E%3C/svg%3E");
    }

    .submenu-icon--mechanic {
      --submenu-icon-color: #6b7280;
      --submenu-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M22 6.9a6 6 0 0 1-7.4 7.4l-8.05 8.05a2.2 2.2 0 0 1-3.1-3.1l8.05-8.05A6 6 0 0 1 18.9 3.8l-3.06 3.06 1.3 1.3L20.2 5.1c.78.45 1.4 1.07 1.8 1.8ZM5 20.7a.7.7 0 1 0 0-1.4.7.7 0 0 0 0 1.4Z'/%3E%3C/svg%3E");
    }

    .submenu-icon--tourism {
      --submenu-icon-color: #0f8c7f;
      --submenu-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 4h6a3 3 0 0 1 3 3v1h1.5A2.5 2.5 0 0 1 22 10.5v7A2.5 2.5 0 0 1 19.5 20h-15A2.5 2.5 0 0 1 2 17.5v-7A2.5 2.5 0 0 1 4.5 8H6V7a3 3 0 0 1 3-3Zm0 2a1 1 0 0 0-1 1v1h8V7a1 1 0 0 0-1-1H9ZM4.5 10a.5.5 0 0 0-.5.5v2.7A18 18 0 0 0 12 15a18 18 0 0 0 8-1.8v-2.7a.5.5 0 0 0-.5-.5h-15ZM20 15.35A20.2 20.2 0 0 1 12 17a20.2 20.2 0 0 1-8-1.65v2.15a.5.5 0 0 0 .5.5h15a.5.5 0 0 0 .5-.5v-2.15Z'/%3E%3C/svg%3E");
    }

    .submenu-icon--events {
      --submenu-icon-color: #d97706;
      --submenu-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 2h2v2h6V2h2v2h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2V2Zm12 8H5v10h14V10ZM5 8h14V6H5v2Zm3 4h3v3H8v-3Zm5 0h3v3h-3v-3Z'/%3E%3C/svg%3E");
    }

    .submenu-icon--pie {
      --submenu-icon-color: #db2777;
      --submenu-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 21.35 10.55 20.03C5.4 15.36 2 12.28 2 8.5A5.4 5.4 0 0 1 7.5 3c1.74 0 3.41.81 4.5 2.08A5.98 5.98 0 0 1 16.5 3 5.4 5.4 0 0 1 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35Z'/%3E%3C/svg%3E");
    }

    .submenu-icon--pace {
      --submenu-icon-color: #7c3aed;
      --submenu-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 19h4v-4h4v-4h4V7h4V5h-6v4h-4v4H6v4H4v2Zm1-15h6v2H7v6H5V4Zm8 14h6v-6h2v8h-8v-2Z'/%3E%3C/svg%3E");
    }

    .submenu-icon--support {
      --submenu-icon-color: #2f8f4e;
      --submenu-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 1 1 0 20 10 10 0 0 1 0-20Zm6.32 6.26-2.83 2.83a4 4 0 0 1 0 1.82l2.83 2.83A7.92 7.92 0 0 0 20 12a7.92 7.92 0 0 0-1.68-3.74ZM15.74 5.68A7.92 7.92 0 0 0 12 4a7.92 7.92 0 0 0-3.74 1.68l2.83 2.83a4 4 0 0 1 1.82 0l2.83-2.83ZM12 10a2 2 0 1 0 0 4 2 2 0 0 0 0-4Zm-3.49 1.09L5.68 8.26A7.92 7.92 0 0 0 4 12c0 1.39.36 2.66 1.68 3.74l2.83-2.83a4 4 0 0 1 0-1.82Zm2.58 4.4-2.83 2.83A7.92 7.92 0 0 0 12 20a7.92 7.92 0 0 0 3.74-1.68l-2.83-2.83a4 4 0 0 1-1.82 0Z'/%3E%3C/svg%3E");
    }

    .submenu-icon--admission {
      --submenu-icon-color: #059669;
      --submenu-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 2h6a2 2 0 0 1 2 2h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2a2 2 0 0 1 2-2Zm0 4h6V4H9v2Zm8.7 5.3-1.4-1.4-5.3 5.3-2.3-2.3-1.4 1.4 3.7 3.7 6.7-6.7Z'/%3E%3C/svg%3E");
    }

    .submenu-icon--rules,
    .submenu-icon--document {
      --submenu-icon-color: #2563eb;
      --submenu-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 2h9l5 5v15H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2Zm8 2v4h4l-4-4ZM8 12h8v2H8v-2Zm0 4h8v2H8v-2Z'/%3E%3C/svg%3E");
    }

    .submenu-icon--plans {
      --submenu-icon-color: #0891b2;
      --submenu-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 2h6a2 2 0 0 1 2 2h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2a2 2 0 0 1 2-2Zm0 4h6V4H9v2ZM7 11h10v2H7v-2Zm0 4h7v2H7v-2Z'/%3E%3C/svg%3E");
    }

    .submenu-icon--procedures {
      --submenu-icon-color: #ca8a04;
      --submenu-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 4h2v2H4V4Zm4 0h12v2H8V4ZM4 11h2v2H4v-2Zm4 0h12v2H8v-2ZM4 18h2v2H4v-2Zm4 0h8v2H8v-2Zm12-1.7 1.4 1.4-3.4 3.4-2.4-2.4 1.4-1.4 1 1 2-2Z'/%3E%3C/svg%3E");
    }

    .submenu-icon--protocols {
      --submenu-icon-color: #dc2626;
      --submenu-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2 4 5v6c0 5 3.4 9.6 8 11 4.6-1.4 8-6 8-11V5l-8-3Zm1 5v6h-2V7h2Zm0 8v2h-2v-2h2Z'/%3E%3C/svg%3E");
    }

    .submenu-icon--lab {
      --submenu-icon-color: #0c95c9;
      --submenu-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 4h16a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h-6v2h3v2H7v-2h3v-2H4a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2Zm0 2v10h16V6H4Zm3 2h6v2H7V8Zm0 4h10v2H7v-2Z'/%3E%3C/svg%3E");
    }

    .submenu-icon--intranet {
      --submenu-icon-color: #053b83;
      --submenu-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 1 1 0 20 10 10 0 0 1 0-20Zm6.93 9h-3.02a15.7 15.7 0 0 0-1.02-5.08A8.03 8.03 0 0 1 18.93 11ZM12 4.1A13.65 13.65 0 0 1 13.9 11h-3.8A13.65 13.65 0 0 1 12 4.1ZM4.26 13h3.83c.12 1.8.5 3.45 1.02 5.08A8.03 8.03 0 0 1 4.26 13Zm3.83-2H4.26a8.03 8.03 0 0 1 4.85-5.08A15.7 15.7 0 0 0 8.09 11ZM12 19.9A13.65 13.65 0 0 1 10.1 13h3.8A13.65 13.65 0 0 1 12 19.9Zm2.89-1.82A15.7 15.7 0 0 0 15.91 13h3.02a8.03 8.03 0 0 1-4.04 5.08Z'/%3E%3C/svg%3E");
    }

    .social-link {
      gap: 9px;
    }

    .social-link::before {
      content: "";
      width: 18px;
      height: 18px;
      flex: 0 0 18px;
      background: var(--social-color, currentColor);
      -webkit-mask: var(--social-icon) center / contain no-repeat;
      mask: var(--social-icon) center / contain no-repeat;
    }

    .social-link--facebook {
      --social-color: #1877f2;
      --social-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14 8h3V4h-3c-3.31 0-5 1.79-5 5v2H6v4h3v7h4v-7h3.2l.8-4h-4V9c0-.74.26-1 1-1Z'/%3E%3C/svg%3E");
    }

    .social-link--instagram {
      --social-color: #d62976;
      --social-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 2h10a5 5 0 0 1 5 5v10a5 5 0 0 1-5 5H7a5 5 0 0 1-5-5V7a5 5 0 0 1 5-5Zm0 2a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V7a3 3 0 0 0-3-3H7Zm5 4a4 4 0 1 1 0 8 4 4 0 0 1 0-8Zm0 2a2 2 0 1 0 0 4 2 2 0 0 0 0-4Zm5.25-3.25a1 1 0 1 1 0 2 1 1 0 0 1 0-2Z'/%3E%3C/svg%3E");
    }

    .social-link--tiktok {
      --social-color: #111827;
      --social-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14 3h3a5.7 5.7 0 0 0 4 4v3.1a8.83 8.83 0 0 1-4-1.05V16a5 5 0 1 1-5-5c.34 0 .67.03 1 .1v3.2a2 2 0 1 0 1 1.7V3Z'/%3E%3C/svg%3E");
    }

    .social-link--whatsapp {
      --social-color: #25d366;
      --social-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M19.05 4.91A9.82 9.82 0 0 0 12.04 2C6.58 2 2.13 6.45 2.13 11.91c0 1.75.46 3.45 1.32 4.95L2 22l5.28-1.39a9.9 9.9 0 0 0 4.76 1.21h.01c5.46 0 9.91-4.45 9.91-9.91a9.86 9.86 0 0 0-2.91-7Zm-7 15.24h-.01a8.23 8.23 0 0 1-4.19-1.15l-.3-.18-3.13.82.84-3.05-.2-.31a8.2 8.2 0 0 1-1.26-4.37c0-4.54 3.7-8.24 8.25-8.24a8.2 8.2 0 0 1 5.83 2.42 8.18 8.18 0 0 1 2.42 5.82c0 4.55-3.7 8.24-8.25 8.24Z'/%3E%3C/svg%3E");
    }

    .submenu-heading {
      padding: 8px 14px 4px;
      color: var(--azul);
      font-size: 0.72rem;
      font-weight: 800;
      letter-spacing: 0.08em;
      text-transform: uppercase;
    }

    header.is-scrolled .menu a {
      color: #243047;
    }

    .menu a:hover,
    .menu a:focus-visible {
      background: rgba(255, 255, 255, 0.18);
      color: var(--blanco);
      outline: none;
    }

    .menu .submenu a:hover,
    .menu .submenu a:focus-visible {
      background: #edf5ff;
      color: var(--azul);
    }

    header.is-scrolled .menu a:hover,
    header.is-scrolled .menu a:focus-visible {
      background: #edf5ff;
      color: var(--azul);
    }

    .menu-toggle {
      display: none;
      width: 44px;
      height: 44px;
      border: 1px solid var(--borde);
      border-radius: var(--radio);
      background: var(--blanco);
      color: var(--azul);
      font-size: 1.4rem;
      font-weight: 800;
      cursor: pointer;
    }

    .hero {
      position: relative;
      min-height: clamp(330px, 42vh, 430px);
      display: grid;
      align-items: start;
      color: var(--blanco);
      overflow: hidden;
      background: var(--azul-oscuro);
    }

    .hero::before {
      content: "";
      position: absolute;
      inset: 0;
      background:
        linear-gradient(90deg, rgba(3, 23, 52, 0.9) 0%, rgba(5, 39, 83, 0.62) 43%, rgba(5, 38, 83, 0.18) 100%),
        linear-gradient(0deg, rgba(3, 23, 52, 0.7), rgba(3, 23, 52, 0.05) 48%),
        var(--managed-bg-image, url("../Imagenes/Portada.jpg")) center / cover no-repeat;
      transform: scale(1.01);
    }

    .hero__inner {
      position: relative;
      z-index: 1;
      width: min(var(--ancho), calc(100% - 32px));
      margin: 0 auto;
      display: grid;
      grid-template-columns: minmax(0, 0.95fr) minmax(330px, 0.52fr);
      gap: 28px;
      align-items: start;
      padding: 86px 0 30px;
    }

    .hero__content {
      min-width: 0;
    }

    .eyebrow {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      color: #ffe7a7;
      font-size: 0.82rem;
      font-weight: 800;
      text-transform: uppercase;
      letter-spacing: 0.08em;
    }

    .eyebrow::before {
      content: "";
      width: 34px;
      height: 3px;
      background: var(--amarillo);
      border-radius: 999px;
    }

    h1,
    h2,
    h3,
    p {
      margin-top: 0;
      overflow-wrap: break-word;
    }

    h1 {
      width: min(780px, 100%);
      margin: 10px 0 14px;
      font-size: clamp(1.95rem, 5.2vw, 3.8rem);
      line-height: 0.96;
      letter-spacing: 0;
      text-wrap: balance;
    }

    .hero__text {
      width: min(680px, 100%);
      margin-bottom: 22px;
      color: rgba(255, 255, 255, 0.9);
      font-size: clamp(0.96rem, 1.8vw, 1.05rem);
    }

    .hero__actions {
      display: flex;
      gap: 12px;
      flex-wrap: wrap;
    }

    .updates-panel {
      position: relative;
      overflow: hidden;
      padding: 0;
      border: 0;
      border-radius: 0;
      background: transparent;
      box-shadow: none;
      backdrop-filter: none;
    }

    .updates-panel::before {
      content: none;
    }

    .updates-panel__header {
      margin-bottom: 12px;
    }

    .updates-panel__header .eyebrow {
      color: #ffe7a7;
      font-size: 0.74rem;
    }

    .updates-panel h2 {
      margin: 6px 0 6px;
      color: var(--blanco);
      font-size: clamp(1.22rem, 2.1vw, 1.52rem);
      line-height: 1.08;
    }

    .updates-panel p {
      margin-bottom: 0;
      color: rgba(255, 255, 255, 0.84);
      font-size: 0.9rem;
    }

    .updates-panel__list {
      display: grid;
      gap: 8px;
      margin-bottom: 12px;
    }

    .updates-panel__item {
      width: 100%;
      display: grid;
      grid-template-columns: 46px minmax(0, 1fr);
      gap: 10px;
      align-items: center;
      text-align: left;
      cursor: pointer;
      font: inherit;
      padding: 8px 10px;
      border: 0;
      border-left: 3px solid rgba(246, 179, 27, 0.9);
      border-radius: 0;
      background: transparent;
      transition: border-color 160ms ease, transform 160ms ease, background 160ms ease;
    }

    .updates-panel__item:hover,
    .updates-panel__item:focus-visible {
      transform: translateX(3px);
      border-left-color: var(--celeste);
      background: rgba(255, 255, 255, 0.08);
      outline: none;
    }

    .updates-panel__thumb {
      width: 46px;
      height: 46px;
      border-radius: var(--radio);
      object-fit: cover;
      border: 1px solid rgba(255, 255, 255, 0.2);
      box-shadow: 0 8px 18px rgba(3, 22, 46, 0.2);
    }

    .updates-panel__item small {
      display: block;
      margin-bottom: 3px;
      color: #ffe4a0;
      font-size: 0.78rem;
      font-weight: 900;
      text-transform: uppercase;
      letter-spacing: 0.06em;
    }

    .updates-panel__item strong {
      display: block;
      color: var(--blanco);
      font-size: 0.92rem;
      line-height: 1.25;
    }

    .updates-panel__link {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 100%;
      min-height: 40px;
      border-radius: var(--radio);
      color: #19243a;
      background: var(--amarillo);
      font-weight: 900;
      transition: transform 160ms ease, background 160ms ease;
    }

    .updates-panel__link:hover,
    .updates-panel__link:focus-visible {
      transform: translateY(-2px);
      background: #ffd05a;
      outline: none;
    }

    .btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 44px;
      padding: 0 18px;
      border: 1px solid transparent;
      border-radius: var(--radio);
      font-weight: 800;
      transition: transform 160ms ease, box-shadow 160ms ease, background 160ms ease;
    }

    .btn:hover,
    .btn:focus-visible {
      transform: translateY(-2px);
      outline: none;
    }

    .btn--primary {
      background: var(--amarillo);
      color: #1c2741;
      box-shadow: 0 14px 28px rgba(246, 179, 27, 0.24);
    }

    .btn--secondary {
      background: rgba(255, 255, 255, 0.12);
      border-color: rgba(255, 255, 255, 0.36);
      color: var(--blanco);
    }

    .quick-facts {
      position: relative;
      z-index: 2;
      width: min(var(--ancho), calc(100% - 32px));
      margin: -30px auto 0;
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 14px;
    }

    .fact {
      min-height: 84px;
      padding: 18px;
      background: var(--blanco);
      border: 1px solid var(--borde);
      border-radius: var(--radio);
      box-shadow: var(--sombra);
    }

    .fact strong {
      display: block;
      color: var(--azul);
      font-size: 1.22rem;
      line-height: 1.1;
      margin-bottom: 6px;
    }

    .fact span {
      color: var(--texto);
      font-weight: 700;
      font-size: 0.92rem;
    }

    .news {
      background: var(--fondo);
    }

    .news-layout {
      display: grid;
      grid-template-columns: minmax(260px, 0.36fr) minmax(0, 1fr);
      gap: 22px;
      align-items: start;
    }

    .news-layout .section-title {
      margin-bottom: 0;
    }

    .news-grid {
      display: grid;
      grid-template-columns: 1.05fr 0.95fr 0.95fr;
      gap: 14px;
      align-items: stretch;
    }

    .news-card {
      position: relative;
      display: grid;
      grid-template-rows: auto auto auto 1fr;
      align-content: start;
      min-height: 236px;
      height: 236px;
      max-height: 236px;
      overflow: hidden;
      padding: 20px;
      border: 1px solid var(--borde);
      border-radius: var(--radio);
      background: var(--blanco);
      box-shadow: 0 12px 30px rgba(10, 32, 68, 0.08);
    }

    .news-card--featured {
      color: var(--blanco);
      background:
        linear-gradient(135deg, rgba(5, 59, 131, 0.96), rgba(7, 38, 83, 0.94)),
        url("../Imagenes/liceo/PATIO%20PRINCIPAL.JPG") center / cover no-repeat;
      border-color: rgba(255, 255, 255, 0.22);
    }

    .news-card__top {
      display: grid;
      grid-template-columns: 58px minmax(0, 1fr) 36px;
      gap: 10px;
      align-items: center;
      margin-bottom: 12px;
      min-width: 0;
    }

    .news-card__thumb {
      width: 58px;
      height: 48px;
      border-radius: var(--radio);
      object-fit: cover;
      border: 1px solid var(--borde);
      background: #e9eef6;
    }

    .news-card--featured .news-card__thumb {
      border-color: rgba(255, 255, 255, 0.28);
      box-shadow: 0 10px 24px rgba(3, 22, 46, 0.22);
    }

    .news-card__tag {
      display: inline-flex;
      max-width: 100%;
      width: fit-content;
      margin-bottom: 0;
      padding: 5px 8px;
      border-radius: 999px;
      color: var(--azul);
      background: #edf5ff;
      font-size: 0.68rem;
      font-weight: 900;
      text-transform: uppercase;
      letter-spacing: 0.05em;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }

    .news-card--featured .news-card__tag {
      color: #19243a;
      background: var(--amarillo);
    }

    .news-card__zoom {
      position: relative;
      display: grid;
      place-items: center;
      width: 36px;
      height: 36px;
      border: 1px solid var(--borde);
      border-radius: 50%;
      background: var(--blanco);
      color: var(--azul);
      cursor: pointer;
      transition: transform 160ms ease, background 160ms ease, color 160ms ease, box-shadow 160ms ease;
    }

    .news-card__zoom::before {
      content: "";
      width: 13px;
      height: 13px;
      border: 3px solid currentColor;
      border-radius: 50%;
      transform: translate(-2px, -2px);
    }

    .news-card__zoom::after {
      content: "";
      position: absolute;
      width: 10px;
      height: 3px;
      border-radius: 999px;
      background: currentColor;
      transform: translate(8px, 8px) rotate(45deg);
    }

    .news-card--featured .news-card__zoom {
      border-color: rgba(255, 255, 255, 0.3);
      background: rgba(255, 255, 255, 0.14);
      color: var(--blanco);
    }

    .news-card__zoom:hover,
    .news-card__zoom:focus-visible {
      transform: scale(1.06);
      color: var(--blanco);
      background: var(--azul);
      box-shadow: 0 12px 24px rgba(10, 32, 68, 0.16);
      outline: none;
    }

    .news-card--featured .news-card__zoom:hover,
    .news-card--featured .news-card__zoom:focus-visible {
      color: #19243a;
      background: var(--amarillo);
    }

    .news-card h3 {
      margin-bottom: 8px;
      color: var(--azul-oscuro);
      font-size: 1.08rem;
      line-height: 1.18;
      display: -webkit-box;
      overflow: hidden;
      -webkit-line-clamp: 2;
      -webkit-box-orient: vertical;
    }

    .news-card--featured h3 {
      color: var(--blanco);
    }

    .news-card p {
      margin-bottom: 0;
      color: var(--texto);
      font-size: 0.94rem;
      line-height: 1.45;
      display: -webkit-box;
      overflow: hidden;
      -webkit-line-clamp: 4;
      -webkit-box-orient: vertical;
    }

    .news-card__details {
      margin-top: 8px;
      color: #536077;
      font-size: 0.86rem;
      line-height: 1.38;
      -webkit-line-clamp: 3;
    }

    .news-card--featured p {
      color: rgba(255, 255, 255, 0.86);
      margin-bottom: 0;
    }

    .news-card--featured .news-card__details {
      color: rgba(255, 255, 255, 0.78);
    }

    .news-card__action {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 38px;
      padding: 0 14px;
      border: 1px solid var(--borde);
      border-radius: var(--radio);
      color: var(--azul);
      background: var(--blanco);
      font: inherit;
      font-weight: 900;
      cursor: pointer;
      transition: transform 160ms ease, background 160ms ease, color 160ms ease;
    }

    .news-card--featured .news-card__action {
      color: #ffe4a0;
      border-color: rgba(255, 255, 255, 0.28);
      background: rgba(255, 255, 255, 0.12);
    }

    .news-card__action:hover,
    .news-card__action:focus-visible {
      transform: translateY(-2px);
      color: var(--blanco);
      background: var(--azul);
      outline: none;
    }

    .news-card--featured .news-card__action:hover,
    .news-card--featured .news-card__action:focus-visible {
      color: #19243a;
      background: var(--amarillo);
    }

    .news-card a {
      color: #ffe4a0;
      font-weight: 900;
    }

    section {
      padding: 50px 0;
      scroll-margin-top: 126px;
    }

    .section-title {
      max-width: 740px;
      margin-bottom: 28px;
    }

    .section-title h2 {
      margin-bottom: 10px;
      color: var(--azul-oscuro);
      font-size: clamp(1.55rem, 3.4vw, 2.2rem);
      line-height: 1.04;
      letter-spacing: 0;
      text-wrap: balance;
    }

    .section-title p {
      margin-bottom: 0;
      color: var(--texto);
      font-size: 1rem;
    }

    .about {
      background: var(--blanco);
    }

    .about-grid {
      display: grid;
      grid-template-columns: minmax(0, 0.92fr) minmax(360px, 1.08fr);
      gap: 34px;
      align-items: center;
    }

    .about-text {
      color: var(--texto);
      font-size: 0.98rem;
    }

    .about-text p:last-child {
      margin-bottom: 0;
    }

    .about-highlights {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 12px;
      margin-top: 22px;
    }

    .about-highlight {
      padding: 16px;
      border: 1px solid var(--borde);
      border-radius: var(--radio);
      background: #fbfdff;
    }

    .about-highlight strong {
      display: block;
      color: var(--azul);
      font-size: 1.25rem;
      line-height: 1.1;
      margin-bottom: 6px;
    }

    .about-highlight span {
      color: var(--texto);
      font-size: 0.9rem;
      font-weight: 700;
    }

    .about-carousel {
      position: relative;
      border-radius: var(--radio);
      overflow: hidden;
      box-shadow: var(--sombra);
      border: 1px solid var(--borde);
      background: var(--azul-oscuro);
    }

    .carousel-track {
      display: flex;
      transition: transform 420ms ease;
    }

    .carousel-slide {
      min-width: 100%;
      margin: 0;
      position: relative;
      background: var(--azul-oscuro);
    }

    .carousel-slide img {
      width: 100%;
      aspect-ratio: 16 / 11;
      object-fit: cover;
    }

    .carousel-slide figcaption {
      position: absolute;
      left: 16px;
      right: 16px;
      bottom: 16px;
      width: fit-content;
      max-width: calc(100% - 32px);
      padding: 8px 12px;
      border-radius: var(--radio);
      color: var(--blanco);
      background: rgba(3, 22, 46, 0.68);
      font-size: 0.9rem;
      font-weight: 800;
      backdrop-filter: blur(10px);
    }

    .carousel-btn {
      position: absolute;
      top: 50%;
      z-index: 2;
      display: grid;
      place-items: center;
      width: 42px;
      height: 42px;
      border: 1px solid rgba(255, 255, 255, 0.76);
      border-radius: 50%;
      background: rgba(255, 255, 255, 0.78);
      color: var(--azul-oscuro);
      cursor: pointer;
      transform: translateY(-50%);
      backdrop-filter: blur(10px);
      transition: background 160ms ease, transform 160ms ease;
    }

    .carousel-btn:hover,
    .carousel-btn:focus-visible {
      background: var(--amarillo);
      transform: translateY(-50%) scale(1.04);
      outline: none;
    }

    .carousel-btn::before {
      content: "";
      width: 10px;
      height: 10px;
      border-top: 3px solid currentColor;
      border-left: 3px solid currentColor;
      border-radius: 2px;
    }

    .carousel-btn--prev {
      left: 14px;
    }

    .carousel-btn--prev::before {
      transform: rotate(-45deg) translate(1px, 1px);
    }

    .carousel-btn--next {
      right: 14px;
    }

    .carousel-btn--next::before {
      transform: rotate(135deg) translate(1px, 1px);
    }

    .carousel-dots {
      position: absolute;
      left: 0;
      right: 0;
      bottom: 16px;
      z-index: 2;
      display: flex;
      justify-content: center;
      gap: 8px;
      pointer-events: none;
    }

    .carousel-dot {
      width: 9px;
      height: 9px;
      border: 0;
      border-radius: 50%;
      background: rgba(255, 255, 255, 0.54);
      padding: 0;
    }

    .carousel-dot.is-active {
      width: 24px;
      border-radius: 999px;
      background: var(--amarillo);
    }

    .identity {
      background:
        linear-gradient(90deg, rgba(5, 59, 131, 0.96), rgba(7, 38, 83, 0.98)),
        url("../Imagenes/Portada.jpg") center / cover no-repeat;
      color: var(--blanco);
    }

    .identity .section-title h2,
    .identity .section-title p {
      color: var(--blanco);
    }

    .identity-grid {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 18px;
    }

    .identity-card {
      --card-color: #f6b31b;
      position: relative;
      min-height: 160px;
      padding: 22px 22px 24px;
      overflow: hidden;
      background:
        linear-gradient(135deg, color-mix(in srgb, var(--card-color) 18%, transparent), rgba(255, 255, 255, 0.08)),
        rgba(255, 255, 255, 0.1);
      border: 1px solid color-mix(in srgb, var(--card-color) 72%, rgba(255, 255, 255, 0.28));
      border-radius: var(--radio);
      backdrop-filter: blur(10px);
      box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.18), 0 16px 34px rgba(3, 22, 46, 0.14);
      transition: transform 180ms ease, border-color 180ms ease, background 180ms ease;
    }

    .identity-card::before {
      content: "";
      position: absolute;
      inset: 0 auto 0 0;
      width: 5px;
      background: var(--card-color);
    }

    .identity-card::after {
      content: "";
      position: absolute;
      right: 18px;
      top: 16px;
      width: 62px;
      height: 62px;
      border-radius: 50%;
      background: color-mix(in srgb, var(--card-color) 22%, transparent);
      opacity: 0.55;
    }

    .identity-card:hover {
      transform: translateY(-3px);
      border-color: var(--card-color);
      background:
        linear-gradient(135deg, color-mix(in srgb, var(--card-color) 24%, transparent), rgba(255, 255, 255, 0.12)),
        rgba(255, 255, 255, 0.12);
    }

    .identity-card--mission {
      --card-color: #f6b31b;
    }

    .identity-card--vision {
      --card-color: #3cc7df;
    }

    .identity-card--seal {
      --card-color: #7dd36f;
    }

    .identity-card--coexistence {
      --card-color: #ff7b7b;
    }

    .identity-card__head {
      position: relative;
      z-index: 1;
      display: flex;
      align-items: center;
      gap: 12px;
      margin-bottom: 13px;
    }

    .identity-card__icon {
      display: grid;
      place-items: center;
      width: 46px;
      height: 46px;
      flex: 0 0 46px;
      border: 1px solid color-mix(in srgb, var(--card-color) 68%, rgba(255, 255, 255, 0.45));
      border-radius: 50%;
      color: var(--azul-oscuro);
      background: var(--card-color);
      box-shadow: 0 10px 20px color-mix(in srgb, var(--card-color) 22%, rgba(3, 22, 46, 0.18));
    }

    .identity-card__icon::before {
      content: "";
      width: 24px;
      height: 24px;
      background: currentColor;
      mask: var(--identity-icon) center / contain no-repeat;
    }

    .identity-card--mission .identity-card__icon {
      --identity-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2 4 5v6c0 5 3.4 9.7 8 11 4.6-1.3 8-6 8-11V5l-8-3Zm0 2.2 6 2.25V11c0 3.9-2.45 7.55-6 8.85C8.45 18.55 6 14.9 6 11V6.45l6-2.25ZM11 14.17l5.59-5.58L18 10l-7 7-4-4 1.41-1.41L11 14.17Z'/%3E%3C/svg%3E");
    }

    .identity-card--vision .identity-card__icon {
      --identity-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 5c5.5 0 9.5 5.2 10.7 7-1.2 1.8-5.2 7-10.7 7S2.5 13.8 1.3 12C2.5 10.2 6.5 5 12 5Zm0 2C8.3 7 5.3 10 3.8 12c1.5 2 4.5 5 8.2 5s6.7-3 8.2-5C18.7 10 15.7 7 12 7Zm0 2a3 3 0 1 1 0 6 3 3 0 0 1 0-6Z'/%3E%3C/svg%3E");
    }

    .identity-card--seal .identity-card__icon {
      --identity-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m12 2 2.9 5.88 6.49.94-4.7 4.58 1.11 6.46L12 16.82l-5.8 3.04 1.11-6.46-4.7-4.58 6.49-.94L12 2Z'/%3E%3C/svg%3E");
    }

    .identity-card--coexistence .identity-card__icon {
      --identity-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M16 11c1.66 0 3-1.34 3-3s-1.34-3-3-3-3 1.34-3 3 1.34 3 3 3ZM8 11c1.66 0 3-1.34 3-3S9.66 5 8 5 5 6.34 5 8s1.34 3 3 3Zm0 2c-2.33 0-7 1.17-7 3.5V19h14v-2.5C15 14.17 10.33 13 8 13Zm8 0c-.29 0-.62.02-.97.05 1.16.84 1.97 1.97 1.97 3.45V19h6v-2.5c0-2.33-4.67-3.5-7-3.5Z'/%3E%3C/svg%3E");
    }

    .identity-card h3 {
      margin-bottom: 0;
      color: #ffffff;
      font-size: 1.18rem;
      line-height: 1.15;
    }

    .identity-card p {
      position: relative;
      z-index: 1;
      margin-bottom: 0;
      color: rgba(255, 255, 255, 0.88);
    }

    .specialties {
      background: var(--fondo);
    }

    .specialty-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 22px;
    }

    .specialty-card {
      overflow: hidden;
      border: 1px solid var(--borde);
      border-radius: var(--radio);
      background: var(--blanco);
      box-shadow: 0 12px 32px rgba(10, 32, 68, 0.1);
    }

    .specialty-card__media {
      min-height: 220px;
      background: #e9eef6;
      overflow: hidden;
    }

    .specialty-card__media a {
      display: block;
      height: 100%;
    }

    .specialty-card__media img {
      width: 100%;
      height: 100%;
      min-height: 220px;
      aspect-ratio: 16 / 10;
      object-fit: cover;
      transition: transform 220ms ease;
    }

    .specialty-card__media a:hover img,
    .specialty-card__media a:focus-visible img {
      transform: scale(1.03);
    }

    .specialty-card__body {
      padding: 24px;
      border-top: 5px solid var(--amarillo);
    }

    .specialty-card:nth-child(2) .specialty-card__body {
      border-top-color: var(--verde);
    }

    .specialty-card h3 {
      margin-bottom: 10px;
      color: var(--azul-oscuro);
      font-size: 1.25rem;
      line-height: 1.2;
    }

    .specialty-title {
      display: flex;
      align-items: center;
      gap: 12px;
      margin-bottom: 10px;
    }

    .specialty-title h3 {
      margin-bottom: 0;
    }

    .specialty-badge {
      width: 48px;
      height: 48px;
      flex: 0 0 48px;
      border-radius: 50%;
      object-fit: contain;
      background: var(--blanco);
      border: 1px solid var(--borde);
      box-shadow: 0 8px 18px rgba(10, 32, 68, 0.12);
    }

    .specialty-card p {
      color: var(--texto);
      margin-bottom: 18px;
    }

    .feature-list {
      display: grid;
      gap: 10px;
      margin: 0;
      padding: 0;
      list-style: none;
    }

    .feature-list li {
      position: relative;
      padding-left: 26px;
      color: #38445a;
      font-weight: 700;
    }

    .feature-list li::before {
      content: "";
      position: absolute;
      left: 0;
      top: 0.68em;
      width: 10px;
      height: 10px;
      border-radius: 50%;
      background: var(--celeste);
    }

    .specialty-cta {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 44px;
      margin-top: 20px;
      padding: 0 16px;
      border-radius: var(--radio);
      color: var(--blanco);
      background: var(--azul);
      font-weight: 800;
      transition: transform 160ms ease, background 160ms ease;
    }

    .specialty-cta:hover,
    .specialty-cta:focus-visible {
      transform: translateY(-2px);
      background: var(--azul-oscuro);
      outline: none;
    }

    .specialty-card:nth-child(2) .specialty-cta {
      background: var(--verde);
    }

    .specialty-card:nth-child(2) .specialty-cta:hover,
    .specialty-card:nth-child(2) .specialty-cta:focus-visible {
      background: #236d3b;
    }

    .values {
      background: var(--blanco);
    }

    .values-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 16px;
    }

    .value-card {
      min-height: 138px;
      padding: 20px;
      border: 1px solid var(--borde);
      border-radius: var(--radio);
      background: #fbfdff;
    }

    .value-card b {
      display: grid;
      place-items: center;
      width: 42px;
      height: 42px;
      margin-bottom: 18px;
      border-radius: 50%;
      color: var(--blanco);
      background: var(--azul);
      font-size: 1.04rem;
    }

    .value-card h3 {
      margin-bottom: 8px;
      color: var(--azul-oscuro);
      font-size: 1.08rem;
    }

    .value-card p {
      margin-bottom: 0;
      color: var(--texto);
      font-size: 0.95rem;
    }

    .opportunities {
      background:
        linear-gradient(90deg, rgba(5, 59, 131, 0.97), rgba(7, 38, 83, 0.94)),
        url("../Imagenes/liceo/PATIO%20PRINCIPAL.JPG") center / cover no-repeat;
      color: var(--blanco);
    }

    .opportunities h2,
    .opportunities p {
      color: var(--blanco);
    }

    .opportunities-layout {
      display: grid;
      grid-template-columns: minmax(320px, 0.95fr) minmax(0, 1.05fr);
      gap: 22px;
      align-items: stretch;
    }

    .facebook-panel,
    .support-summary {
      display: grid;
      border-radius: var(--radio);
      border: 1px solid rgba(255, 255, 255, 0.2);
      background: rgba(255, 255, 255, 0.11);
      box-shadow: 0 18px 38px rgba(3, 22, 46, 0.14);
      backdrop-filter: blur(10px);
    }

    .facebook-panel {
      gap: 14px;
      padding: 18px;
      overflow: hidden;
    }

    .facebook-panel__head {
      display: flex;
      align-items: center;
      gap: 12px;
    }

    .facebook-panel__icon {
      position: relative;
      display: grid;
      place-items: center;
      width: 44px;
      height: 44px;
      flex: 0 0 44px;
      border-radius: 10px;
      background: #1877f2;
      box-shadow: 0 12px 26px rgba(3, 22, 46, 0.22);
    }

    .facebook-panel__icon::before {
      content: "";
      width: 25px;
      height: 25px;
      background: #ffffff;
      mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14 8h3V4h-3c-3.31 0-5 1.79-5 5v2H6v4h3v7h4v-7h3.2l.8-4h-4V9c0-.74.26-1 1-1Z'/%3E%3C/svg%3E") center / contain no-repeat;
    }

    .facebook-panel h2,
    .support-summary h2 {
      margin: 2px 0 0;
      color: var(--blanco);
      font-size: clamp(1.55rem, 2.8vw, 2.25rem);
      line-height: 1.04;
    }

    .facebook-panel iframe {
      width: 100%;
      min-height: 430px;
      border-radius: var(--radio);
      background: #ffffff;
    }

    .support-summary {
      align-content: center;
      gap: 14px;
      padding: 28px;
    }

    [data-support-default] {
      display: grid;
      gap: 14px;
    }

    [data-support-default][hidden],
    .support-posters-content[hidden] {
      display: none;
    }

    .support-summary > p,
    [data-support-default] > p {
      max-width: 620px;
      margin-bottom: 0;
      color: rgba(255, 255, 255, 0.9);
    }

    .support-summary ul {
      display: grid;
      gap: 10px;
      margin: 0;
      padding: 0;
      list-style: none;
    }

    .support-summary li {
      position: relative;
      padding: 12px 14px 12px 58px;
      border: 1px solid rgba(255, 255, 255, 0.18);
      border-left: 4px solid var(--amarillo);
      border-radius: var(--radio);
      background: rgba(255, 255, 255, 0.1);
      color: rgba(255, 255, 255, 0.86);
    }

    .support-summary li::before {
      content: "";
      position: absolute;
      left: 16px;
      top: 15px;
      width: 26px;
      height: 26px;
      border-radius: 8px;
      background: var(--amarillo);
    }

    .support-summary li:nth-child(2) {
      border-left-color: #8dd7ff;
    }

    .support-summary li:nth-child(2)::before {
      background: #8dd7ff;
    }

    .support-summary li:nth-child(3) {
      border-left-color: #7dd36f;
    }

    .support-summary li:nth-child(3)::before {
      background: #7dd36f;
    }

    .support-summary strong {
      display: block;
      color: #ffe4a0;
      font-size: 1.02rem;
      line-height: 1.2;
    }

    .support-summary__actions {
      display: flex;
      gap: 10px;
      flex-wrap: wrap;
    }

    .opportunity-link {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: fit-content;
      min-height: 42px;
      margin-top: 12px;
      padding: 0 14px;
      border-radius: var(--radio);
      color: #19243a;
      background: var(--amarillo);
      font-weight: 800;
      transition: transform 160ms ease, background 160ms ease;
    }

    .opportunity-link:hover,
    .opportunity-link:focus-visible {
      transform: translateY(-2px);
      background: #ffd05a;
      outline: none;
    }

    .opportunity-link--ghost {
      color: #ffffff;
      border: 1px solid rgba(255, 255, 255, 0.28);
      background: rgba(255, 255, 255, 0.12);
    }

    .opportunity-link--ghost:hover,
    .opportunity-link--ghost:focus-visible {
      color: #19243a;
      background: var(--amarillo);
    }

    .support-posters-content {
      display: grid;
      gap: 14px;
    }

    .support-posters-heading {
      display: grid;
      gap: 7px;
    }

    .support-posters-heading__title {
      display: flex;
      align-items: center;
      gap: 12px;
      min-width: 0;
    }

    .support-posters-heading__icon {
      --support-heading-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M11 17h2v-6h-2v6Zm0-8h2V7h-2v2Zm1 13a10 10 0 1 1 0-20 10 10 0 0 1 0 20Z'/%3E%3C/svg%3E");
      display: grid;
      place-items: center;
      width: 48px;
      height: 48px;
      flex: 0 0 48px;
      border-radius: 12px;
      color: #17335f;
      background: var(--amarillo);
      box-shadow: 0 14px 30px rgba(3, 22, 46, 0.22);
    }

    .support-posters-heading__icon::before {
      content: "";
      width: 25px;
      height: 25px;
      background: currentColor;
      mask: var(--support-heading-icon) center / contain no-repeat;
    }

    .support-posters-heading__icon--alerta {
      --support-heading-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M1 21h22L12 2 1 21Zm12-3h-2v-2h2v2Zm0-4h-2v-4h2v4Z'/%3E%3C/svg%3E");
      color: #ffffff;
      background: #d83232;
    }

    .support-posters-heading__icon--admision {
      --support-heading-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3 1 9l11 6 9-4.91V17h2V9L12 3Zm-6 9.18V16l6 3 6-3v-3.82l-6 3.27-6-3.27Z'/%3E%3C/svg%3E");
      color: #12305a;
      background: #8dd7ff;
    }

    .support-posters-heading__icon--apoyo {
      --support-heading-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M16 11c1.66 0 2.99-1.34 2.99-3S17.66 5 16 5s-3 1.34-3 3 1.34 3 3 3ZM8 11c1.66 0 2.99-1.34 2.99-3S9.66 5 8 5 5 6.34 5 8s1.34 3 3 3Zm0 2c-2.33 0-7 1.17-7 3.5V19h14v-2.5C15 14.17 10.33 13 8 13Zm8 0c-.29 0-.62.02-.97.05 1.16.84 1.97 1.97 1.97 3.45V19h6v-2.5c0-2.33-4.67-3.5-7-3.5Z'/%3E%3C/svg%3E");
      color: #12305a;
      background: #7dd36f;
    }

    .support-posters-heading__icon--calendario {
      --support-heading-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 2h2v2h6V2h2v2h3a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h3V2Zm13 8H4v10h16V10Z'/%3E%3C/svg%3E");
      color: #17335f;
      background: #ffd05a;
    }

    .support-posters-heading__icon--documento {
      --support-heading-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8l-6-6Zm0 2.5L17.5 8H14V4.5ZM8 12h8v2H8v-2Zm0 4h8v2H8v-2Z'/%3E%3C/svg%3E");
      color: #ffffff;
      background: #456a9e;
    }

    .support-posters-heading h2 {
      margin: 0;
      color: var(--blanco);
    }

    .support-posters-heading p {
      max-width: 620px;
      margin: 0;
      color: rgba(255, 255, 255, 0.9);
    }

    .support-posters-heading p[hidden] {
      display: none;
    }

    .support-posters {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
      gap: 12px;
      align-items: stretch;
    }

    .support-posters[data-poster-count="1"] {
      grid-template-columns: minmax(0, 1fr);
    }

    .support-posters[data-poster-count="2"] {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .support-poster {
      position: relative;
      min-height: 260px;
      margin: 0;
      overflow: hidden;
      border: 1px solid rgba(255, 255, 255, 0.2);
      border-radius: var(--radio);
      background: rgba(255, 255, 255, 0.1);
      box-shadow: 0 16px 32px rgba(3, 22, 46, 0.18);
    }

    .support-poster img {
      width: 100%;
      height: 100%;
      min-height: 260px;
      display: block;
      object-fit: contain;
      background: rgba(255, 255, 255, 0.94);
    }

    .support-poster figcaption {
      position: absolute;
      width: 1px;
      height: 1px;
      overflow: hidden;
      clip: rect(0 0 0 0);
      white-space: nowrap;
    }

    .support-poster .mobile-image-zoom {
      cursor: zoom-in;
      transition: border-radius 160ms ease, transform 160ms ease, background 160ms ease;
    }

    .support-poster .mobile-image-zoom:hover,
    .support-poster .mobile-image-zoom:focus-visible {
      border-radius: 12px;
      background: var(--amarillo);
      color: #17335f;
      transform: scale(1.1);
      outline: 2px solid rgba(255, 255, 255, 0.72);
      outline-offset: 3px;
    }

    .campus {
      background: #eef3f9;
      overflow: hidden;
    }

    .campus-layout {
      display: grid;
      grid-template-columns: minmax(320px, 0.92fr) minmax(0, 1.08fr);
      gap: 24px;
      align-items: stretch;
    }

    .support-list {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 12px;
      margin: 0;
      padding: 0;
      list-style: none;
    }

    .support-list li {
      --support-color: var(--celeste);
      --support-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20Zm1 17h-2v-2h2v2Zm2.07-7.75-.9.92A3.49 3.49 0 0 0 13 14.5V15h-2v-.5c0-1.1.45-2.1 1.17-2.83l1.24-1.26A2 2 0 1 0 10 9H8a4 4 0 1 1 7.07 2.25Z'/%3E%3C/svg%3E");
      position: relative;
      min-height: 124px;
      padding: 18px 18px 18px 70px;
      border: 1px solid var(--borde);
      border-left: 5px solid var(--support-color);
      border-radius: var(--radio);
      background:
        linear-gradient(135deg, color-mix(in srgb, var(--support-color) 10%, transparent), rgba(255, 255, 255, 0.98)),
        var(--blanco);
      color: var(--texto);
      box-shadow: 0 10px 26px rgba(10, 32, 68, 0.08);
    }

    .support-list li::before {
      content: "";
      position: absolute;
      left: 18px;
      top: 20px;
      width: 36px;
      height: 36px;
      border-radius: 8px;
      background: var(--support-color);
      box-shadow: 0 10px 20px color-mix(in srgb, var(--support-color) 20%, rgba(10, 32, 68, 0.2));
    }

    .support-list li::after {
      content: "";
      position: absolute;
      left: 27px;
      top: 29px;
      width: 18px;
      height: 18px;
      background: var(--azul-oscuro);
      mask: var(--support-icon) center / contain no-repeat;
    }

    .support-card--guidance {
      --support-color: #1b9dd1;
      --support-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a8 8 0 0 0-5.29 13.99L5 22l5.25-2.1A8 8 0 1 0 12 2Zm0 2a6 6 0 1 1 0 12 6 6 0 0 1 0-12Zm-1 3h2v4h-2V7Zm0 6h2v2h-2v-2Z'/%3E%3C/svg%3E");
    }

    .support-card--pie {
      --support-color: #2f8f4e;
      --support-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 21.35 10.55 20.03C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.08A6.04 6.04 0 0 1 16.5 3C19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35Z'/%3E%3C/svg%3E");
    }

    .support-card--families {
      --support-color: #f6b31b;
      --support-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M16 11c1.66 0 3-1.34 3-3s-1.34-3-3-3-3 1.34-3 3 1.34 3 3 3ZM8 11c1.66 0 3-1.34 3-3S9.66 5 8 5 5 6.34 5 8s1.34 3 3 3Zm0 2c-2.33 0-7 1.17-7 3.5V19h14v-2.5C15 14.17 10.33 13 8 13Zm8 0c-.29 0-.62.02-.97.05 1.16.84 1.97 1.97 1.97 3.45V19h6v-2.5c0-2.33-4.67-3.5-7-3.5Z'/%3E%3C/svg%3E");
    }

    .support-card--citizenship {
      --support-color: #e85d75;
      --support-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2 4 5v6c0 5 3.4 9.7 8 11 4.6-1.3 8-6 8-11V5l-8-3Zm0 2.2 6 2.25V11c0 3.9-2.45 7.55-6 8.85C8.45 18.55 6 14.9 6 11V6.45l6-2.25ZM11 14.17l5.59-5.58L18 10l-7 7-4-4 1.41-1.41L11 14.17Z'/%3E%3C/svg%3E");
    }

    .support-list strong {
      display: block;
      margin-bottom: 4px;
      color: var(--azul-oscuro);
      font-size: 1.04rem;
    }

    .campus-visual {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 10px;
      min-height: 100%;
    }

    .campus-photo {
      position: relative;
      overflow: hidden;
      border-radius: var(--radio);
      border: 1px solid var(--borde);
      box-shadow: 0 14px 34px rgba(10, 32, 68, 0.12);
      background: var(--azul-oscuro);
    }

    .campus-photo img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: transform 220ms ease;
    }

    .campus-photo:hover img {
      transform: scale(1.03);
    }

    .campus-photo--main {
      grid-column: 1 / -1;
      min-height: 270px;
    }

    .campus-photo--secondary {
      min-height: 150px;
    }

    .campus-photo span {
      display: none;
    }

    .campus-content {
      display: grid;
      align-content: center;
      gap: 20px;
    }

    .campus-content .section-title {
      margin-bottom: 0;
    }

    .document-modal[hidden] {
      display: none;
    }

    .document-modal {
      position: fixed;
      inset: 0;
      z-index: 100;
      display: grid;
      place-items: center;
      padding: 24px;
    }

    .document-modal__backdrop {
      position: absolute;
      inset: 0;
      background: rgba(3, 15, 32, 0.74);
      backdrop-filter: blur(8px);
    }

    .document-modal__dialog {
      position: relative;
      z-index: 1;
      width: min(1080px, 100%);
      max-height: min(88vh, 820px);
      display: grid;
      grid-template-rows: auto minmax(0, 1fr) auto;
      overflow: hidden;
      border: 1px solid rgba(255, 255, 255, 0.28);
      border-radius: var(--radio);
      background: var(--blanco);
      box-shadow: 0 30px 80px rgba(3, 15, 32, 0.38);
    }

    .document-modal__header {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      padding: 12px 16px;
      color: var(--blanco);
      background:
        linear-gradient(90deg, rgba(5, 59, 131, 0.98), rgba(7, 38, 83, 0.98)),
        url("../Imagenes/liceo/BIBLIOTECA.JPG") center / cover no-repeat;
    }

    .document-modal__eyebrow {
      display: block;
      margin-bottom: 3px;
      color: #ffe4a0;
      font-size: 0.68rem;
      font-weight: 900;
      letter-spacing: 0.08em;
      text-transform: uppercase;
    }

    .document-modal__header h2 {
      margin-bottom: 0;
      color: var(--blanco);
      font-size: clamp(1.1rem, 2.3vw, 1.45rem);
      line-height: 1.08;
    }

    .document-modal__tools {
      display: flex;
      align-items: center;
      gap: 10px;
      flex: 0 0 auto;
    }

    .document-modal__download {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 34px;
      padding: 0 13px;
      border: 1px solid transparent;
      border-radius: var(--radio);
      color: #1c2741;
      background: var(--amarillo);
      box-shadow: 0 12px 26px rgba(246, 179, 27, 0.24);
      font-size: 0.84rem;
      font-weight: 900;
      white-space: nowrap;
      transition: transform 160ms ease, background 160ms ease;
    }

    .document-modal__download:hover,
    .document-modal__download:focus-visible {
      transform: translateY(-2px);
      background: #ffd05a;
      outline: none;
    }

    .document-modal__download.is-disabled {
      pointer-events: none;
      color: rgba(255, 255, 255, 0.76);
      border-color: rgba(255, 255, 255, 0.28);
      background: rgba(255, 255, 255, 0.14);
      box-shadow: none;
    }

    .document-modal__close {
      display: grid;
      place-items: center;
      width: 36px;
      height: 36px;
      flex: 0 0 36px;
      border: 1px solid rgba(255, 255, 255, 0.38);
      border-radius: 50%;
      color: var(--blanco);
      background: rgba(255, 255, 255, 0.14);
      font-size: 1.55rem;
      line-height: 1;
      cursor: pointer;
      transition: background 160ms ease, transform 160ms ease;
    }

    .document-modal__close:hover,
    .document-modal__close:focus-visible {
      transform: scale(1.04);
      background: var(--rojo);
      outline: none;
    }

    .document-modal__body {
      position: relative;
      min-height: 460px;
      background: #eef3f9;
    }

    .document-modal__body iframe {
      display: block;
      width: 100%;
      height: min(62vh, 620px);
      min-height: 460px;
      border: 0;
      background: var(--blanco);
    }

    .document-modal__body iframe[hidden] {
      display: none !important;
    }

    .document-modal__pdf-viewer {
      height: min(62vh, 620px);
      min-height: 460px;
      overflow: auto;
      padding: 18px;
      background: #dfe8f3;
    }

    .document-modal__pdf-viewer[hidden] {
      display: none !important;
    }

    .document-modal__pdf-page {
      display: block;
      width: min(100%, 920px);
      height: auto;
      margin: 0 auto 16px;
      border-radius: 4px;
      background: #ffffff;
      box-shadow: 0 10px 28px rgba(3, 15, 32, 0.2);
    }

    .document-modal__empty {
      min-height: 460px;
      display: grid;
      place-content: center;
      gap: 8px;
      padding: 32px;
      text-align: center;
    }

    .document-modal__empty[hidden] {
      display: none;
    }

    .document-modal__empty strong {
      color: var(--azul-oscuro);
      font-size: 1.3rem;
    }

    .document-modal__empty p {
      max-width: 560px;
      margin-bottom: 0;
      color: var(--texto);
    }

    .document-modal__footer {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 16px;
      padding: 16px 18px;
      border-top: 1px solid var(--borde);
      background: var(--blanco);
    }

    .document-modal__footer span {
      color: var(--texto);
      font-size: 0.94rem;
      font-weight: 700;
    }

    .event-modal[hidden] {
      display: none;
    }

    .event-modal {
      position: fixed;
      inset: 0;
      z-index: 101;
      display: grid;
      place-items: center;
      padding: 24px;
    }

    .event-modal__backdrop {
      position: absolute;
      inset: 0;
      background: rgba(3, 15, 32, 0.78);
      backdrop-filter: blur(8px);
    }

    .event-modal__dialog {
      position: relative;
      z-index: 1;
      width: min(1080px, 100%);
      max-height: min(90vh, 820px);
      display: grid;
      grid-template-rows: auto minmax(0, 1fr);
      padding: 0;
      overflow: hidden;
      border: 1px solid rgba(255, 255, 255, 0.22);
      border-radius: var(--radio);
      background: #f7f9fc;
      box-shadow: 0 30px 80px rgba(3, 15, 32, 0.4);
    }

    .event-modal__header {
      align-items: center;
      display: flex;
      justify-content: space-between;
      gap: 12px;
      margin: 0;
      padding: 10px 14px;
      color: var(--blanco);
      background:
        linear-gradient(90deg, rgba(5, 59, 131, 0.96), rgba(7, 38, 83, 0.94)),
        url("../Imagenes/liceo/PATIO%20PRINCIPAL.JPG") center / cover no-repeat;
    }

    .event-modal__eyebrow {
      display: block;
      margin-bottom: 3px;
      color: #ffe4a0;
      font-size: 0.68rem;
      font-weight: 900;
      letter-spacing: 0.08em;
      text-transform: uppercase;
    }

    .event-modal__header h2 {
      margin-bottom: 0;
      color: var(--blanco);
      font-size: clamp(1.1rem, 2.4vw, 1.55rem);
      line-height: 1.06;
    }

    .event-modal__close {
      display: grid;
      place-items: center;
      width: 36px;
      height: 36px;
      flex: 0 0 36px;
      border: 1px solid rgba(255, 255, 255, 0.38);
      border-radius: 50%;
      color: var(--blanco);
      background: rgba(255, 255, 255, 0.14);
      font-size: 1.55rem;
      line-height: 1;
      cursor: pointer;
      transition: background 160ms ease, transform 160ms ease;
    }

    .event-modal__close:hover,
    .event-modal__close:focus-visible {
      transform: scale(1.04);
      background: var(--rojo);
      outline: none;
    }

    .event-modal__body {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
      gap: 10px;
      min-height: 0;
      max-height: calc(90vh - 58px);
      padding: 10px;
      overflow-y: auto;
      background: #eef3f9;
    }

    .event-modal__body.has-info {
      grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
      align-items: start;
    }

    .event-modal__gallery {
      display: grid;
      grid-column: 1 / -1;
      grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
      gap: 10px;
      min-height: 0;
    }

    .event-modal__body.has-info .event-modal__gallery {
      display: contents;
    }

    .event-modal__info {
      position: static;
      display: grid;
      gap: 8px;
      margin: 0;
      min-height: 0;
      aspect-ratio: 1 / 1;
      align-content: start;
      overflow-y: auto;
      padding: 14px;
      border: 1px solid var(--borde);
      border-left: 5px solid var(--amarillo);
      border-radius: var(--radio);
      background: #ffffff;
      box-shadow: 0 12px 28px rgba(10, 32, 68, 0.1);
    }

    .event-modal__info[hidden] {
      display: none;
    }

    .event-modal__info span {
      color: var(--azul);
      font-size: 0.72rem;
      font-weight: 900;
      letter-spacing: 0.08em;
      text-transform: uppercase;
    }

    .event-modal__info p {
      margin-bottom: 0;
      color: var(--texto);
      font-size: 0.86rem;
      line-height: 1.42;
    }

    .event-modal__photo {
      position: relative;
      margin: 0;
      aspect-ratio: 1 / 1;
      overflow: hidden;
      border: 1px solid var(--borde);
      border-radius: var(--radio);
      background: var(--azul-oscuro);
      box-shadow: 0 12px 28px rgba(10, 32, 68, 0.1);
    }

    .event-modal__photo:first-child {
      grid-column: auto;
      grid-row: auto;
    }

    .event-modal__photo img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: transform 220ms ease;
    }

    .event-modal__photo:hover img {
      transform: scale(1.03);
    }

    .event-modal__photo figcaption {
      display: none;
    }

    .event-modal__zoom {
      --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9.5 3a6.5 6.5 0 0 1 5.16 10.45l5.44 5.45-1.41 1.41-5.45-5.44A6.5 6.5 0 1 1 9.5 3Zm0 2a4.5 4.5 0 1 0 0 9 4.5 4.5 0 0 0 0-9Zm1 2v1.5H12V10h-1.5v1.5H9V10H7.5V8.5H9V7h1.5Z'/%3E%3C/svg%3E");
      position: absolute;
      right: 10px;
      bottom: 10px;
      display: grid;
      place-items: center;
      width: 38px;
      height: 38px;
      border: 1px solid rgba(255, 255, 255, 0.42);
      border-radius: 50%;
      color: #ffffff;
      background: rgba(3, 22, 46, 0.72);
      cursor: pointer;
      backdrop-filter: blur(10px);
      transition: transform 160ms ease, background 160ms ease;
    }

    .event-modal__zoom::before {
      content: "";
      width: 18px;
      height: 18px;
      background: currentColor;
      mask: var(--icon) center / contain no-repeat;
    }

    .event-modal__zoom:hover,
    .event-modal__zoom:focus-visible {
      transform: scale(1.06);
      background: var(--azul);
      outline: none;
    }

    .event-photo-zoom[hidden] {
      display: none;
    }

    .event-photo-zoom {
      position: fixed;
      inset: 0;
      z-index: 130;
      display: grid;
      place-items: center;
      padding: 22px;
    }

    .event-photo-zoom__backdrop {
      position: absolute;
      inset: 0;
      background: rgba(3, 15, 32, 0.86);
      backdrop-filter: blur(8px);
    }

    .event-photo-zoom__dialog {
      position: relative;
      z-index: 1;
      width: min(980px, 100%);
      max-height: 92vh;
      margin: 0;
    }

    .event-photo-zoom__dialog img {
      display: block;
      width: 100%;
      max-height: 92vh;
      object-fit: contain;
      border-radius: var(--radio);
      background: #ffffff;
      box-shadow: 0 28px 80px rgba(0, 0, 0, 0.42);
    }

    .event-photo-zoom__close {
      position: absolute;
      top: 10px;
      right: 10px;
      z-index: 2;
      display: grid;
      place-items: center;
      width: 40px;
      height: 40px;
      border: 1px solid rgba(255, 255, 255, 0.42);
      border-radius: 50%;
      color: #ffffff;
      background: rgba(3, 22, 46, 0.76);
      font-size: 1.7rem;
      line-height: 1;
      cursor: pointer;
    }

    .site-alert[hidden] {
      display: none;
    }

    .site-alert {
      position: fixed;
      inset: 0;
      z-index: 120;
      display: grid;
      place-items: center;
      padding: 16px;
    }

    .site-alert__backdrop {
      position: absolute;
      inset: 0;
      background: rgba(3, 15, 32, 0.68);
      backdrop-filter: blur(8px);
    }

    .site-alert__dialog {
      position: relative;
      z-index: 1;
      width: min(740px, calc(100vw - 32px));
      max-height: calc(100dvh - 32px);
      display: grid;
      grid-template-columns: minmax(180px, 0.48fr) minmax(0, 1fr);
      min-height: 0;
      overflow: hidden;
      border: 1px solid rgba(255, 255, 255, 0.28);
      border-radius: var(--radio);
      background: var(--blanco);
      box-shadow: 0 30px 80px rgba(3, 15, 32, 0.38);
    }

    .site-alert__close {
      position: absolute;
      top: 12px;
      right: 12px;
      z-index: 2;
      display: grid;
      place-items: center;
      width: 38px;
      height: 38px;
      border: 1px solid rgba(255, 255, 255, 0.42);
      border-radius: 50%;
      color: var(--blanco);
      background: rgba(3, 22, 46, 0.55);
      font-size: 1.55rem;
      line-height: 1;
      cursor: pointer;
      transition: transform 160ms ease, background 160ms ease;
    }

    .site-alert__close:hover,
    .site-alert__close:focus-visible {
      transform: scale(1.04);
      background: var(--rojo);
      outline: none;
    }

    .site-alert__media {
      min-height: 0;
      background: var(--azul-oscuro);
    }

    .site-alert__media img {
      display: block;
      width: 100%;
      height: 100%;
      min-height: 0;
      object-fit: cover;
    }

    .site-alert__content {
      display: grid;
      align-content: start;
      gap: 5px;
      padding: 20px 48px 16px 22px;
      min-height: 0;
      overflow-y: auto;
    }

    .site-alert__eyebrow {
      color: var(--rojo);
      font-size: 0.8rem;
      font-weight: 900;
      letter-spacing: 0.09em;
      text-transform: uppercase;
    }

    .site-alert h2 {
      margin-bottom: 0;
      color: var(--azul-oscuro);
      font-size: clamp(1.5rem, 2.6vw, 2rem);
      line-height: 1;
      text-transform: uppercase;
    }

    .site-alert strong {
      color: var(--azul);
      font-size: 0.95rem;
      line-height: 1.2;
    }

    .site-alert p {
      margin-bottom: 0;
      color: var(--texto);
      font-size: 0.84rem;
      line-height: 1.35;
    }

    .site-alert ul {
      display: grid;
      gap: 5px;
      margin: 2px 0;
      padding: 0;
      list-style: none;
    }

    .site-alert li {
      position: relative;
      padding-left: 20px;
      color: #2d3950;
      font-size: 0.78rem;
      font-weight: 700;
      line-height: 1.28;
    }

    .site-alert li::before {
      content: "";
      position: absolute;
      left: 0;
      top: 0.65em;
      width: 7px;
      height: 7px;
      border-radius: 50%;
      background: var(--rojo);
    }

    .site-alert a {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: fit-content;
      min-height: 34px;
      margin-top: 3px;
      padding: 0 15px;
      border-radius: var(--radio);
      color: #19243a;
      background: var(--amarillo);
      font-weight: 900;
      transition: transform 160ms ease, background 160ms ease;
    }

    .site-alert a:hover,
    .site-alert a:focus-visible {
      transform: translateY(-2px);
      background: #ffd05a;
      outline: none;
    }

    .contact {
      background: var(--azul-oscuro);
      color: var(--blanco);
    }

    .contact .section-title h2,
    .contact .section-title p {
      color: var(--blanco);
    }

    .contact-list {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 12px 28px;
      padding-top: 18px;
      border-top: 1px solid rgba(255, 255, 255, 0.18);
    }

    .contact-list p {
      margin: 0;
      color: rgba(255, 255, 255, 0.86);
    }

    .contact-list strong {
      display: block;
      margin-bottom: 2px;
      color: #ffe4a0;
      font-size: 0.9rem;
      letter-spacing: 0.04em;
      text-transform: uppercase;
    }

    .contact-list a {
      color: #ffffff;
      font-weight: 900;
    }

    .footer {
      background: #03162e;
      color: rgba(255, 255, 255, 0.8);
      padding: 28px 0;
      font-size: 0.92rem;
    }

    .footer__inner {
      width: min(var(--ancho), calc(100% - 32px));
      margin: 0 auto;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 18px;
      flex-wrap: wrap;
    }

    .footer a {
      color: #ffe4a0;
      font-weight: 800;
    }

    .footer-contact {
      display: flex;
      align-items: center;
      gap: 10px;
      flex-wrap: wrap;
    }

    .footer-contact__link {
      display: inline-flex;
      align-items: center;
      gap: 7px;
    }

    .footer-contact__link::before {
      content: "";
      width: 16px;
      height: 16px;
      background: currentColor;
      mask: var(--footer-icon) center / contain no-repeat;
    }

    .footer-contact__link--phone {
      --footer-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.62 10.79a15.05 15.05 0 0 0 6.59 6.59l2.2-2.2a1 1 0 0 1 1.01-.24c1.12.37 2.33.56 3.58.56a1 1 0 0 1 1 1V20a1 1 0 0 1-1 1C10.61 21 3 13.39 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.25.19 2.46.56 3.58a1 1 0 0 1-.25 1.01l-2.19 2.2Z'/%3E%3C/svg%3E");
    }

    .footer-contact__link--whatsapp {
      --footer-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M19.05 4.91A9.82 9.82 0 0 0 12.04 2C6.58 2 2.13 6.45 2.13 11.91c0 1.75.46 3.45 1.32 4.95L2 22l5.28-1.39a9.9 9.9 0 0 0 4.76 1.21h.01c5.46 0 9.91-4.45 9.91-9.91a9.86 9.86 0 0 0-2.91-7Z'/%3E%3C/svg%3E");
      color: #7ddf9b;
    }

    .to-top {
      position: fixed;
      right: 18px;
      bottom: 18px;
      z-index: 35;
      display: grid;
      place-items: center;
      width: 52px;
      height: 52px;
      border-radius: 50%;
      background: rgba(255, 255, 255, 0.86);
      color: var(--azul-oscuro);
      border: 1px solid rgba(255, 255, 255, 0.92);
      box-shadow: 0 16px 34px rgba(7, 38, 83, 0.24);
      backdrop-filter: blur(14px);
      transition: transform 160ms ease, box-shadow 160ms ease, background 160ms ease;
    }

    .to-top::before {
      content: "";
      width: 13px;
      height: 13px;
      border-top: 3px solid currentColor;
      border-left: 3px solid currentColor;
      transform: translateY(4px) rotate(45deg);
      border-radius: 2px;
    }

    .to-top:hover,
    .to-top:focus-visible {
      transform: translateY(-3px);
      background: var(--amarillo);
      box-shadow: 0 18px 38px rgba(7, 38, 83, 0.34);
      outline: none;
    }

    @media (max-width: 980px) {
      .menu-toggle {
        display: inline-grid;
        place-items: center;
      }

      .menu {
        position: absolute;
        left: 16px;
        right: 16px;
        top: calc(100% + 8px);
        display: none;
        grid-template-columns: 1fr;
        padding: 10px;
        border: 1px solid var(--borde);
        border-radius: var(--radio);
        background: var(--blanco);
        box-shadow: var(--sombra);
      }

      .menu.is-open {
        display: grid;
      }

      .menu a {
        justify-content: flex-start;
        color: #243047;
      }

      .menu > li > a[aria-haspopup="true"]::after {
        margin-left: auto;
      }

      .submenu {
        position: static;
        display: grid;
        min-width: 0;
        margin: 2px 0 6px;
        padding: 0 0 0 12px;
        border: 0;
        border-left: 3px solid #dbe8f7;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
      }

      .submenu a {
        min-height: 36px;
        font-size: 0.9rem;
        white-space: normal;
      }

      .menu a:hover,
      .menu a:focus-visible {
        background: #edf5ff;
        color: var(--azul);
      }

      .values-grid,
      .opportunities-layout,
      .contact-list {
        grid-template-columns: 1fr;
      }

      .quick-facts {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
      }

      .quick-facts .fact {
        min-height: 92px;
        padding: 14px;
      }

      .quick-facts .fact strong {
        font-size: 1rem;
      }

      .quick-facts .fact span {
        font-size: 0.82rem;
        line-height: 1.25;
      }

      .about-grid,
      .campus-layout {
        grid-template-columns: 1fr;
      }

      .about-highlights {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 8px;
        margin-top: 14px;
      }

      .about-highlight {
        min-height: 80px;
        padding: 12px 10px;
      }

      .about-highlight strong {
        font-size: 1rem;
      }

      .about-highlight span {
        font-size: 0.76rem;
        line-height: 1.2;
      }

      .support-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }
    }

    @media (max-width: 720px) {
      .nav__inner {
        min-height: 68px;
      }

      .brand img {
        width: 46px;
        height: 46px;
      }

      .hero {
        min-height: 540px;
      }

      .hero::before {
        background:
          linear-gradient(0deg, rgba(3, 23, 52, 0.92) 0%, rgba(5, 39, 83, 0.68) 58%, rgba(5, 38, 83, 0.22) 100%),
          var(--managed-bg-image, url("../Imagenes/Portada.jpg")) center / cover no-repeat;
      }

      .hero__inner {
        padding: 42px 0 58px;
      }

      .specialty-grid,
      .opportunities-layout,
      .contact-list {
        grid-template-columns: 1fr;
      }

      .identity-grid,
      .values-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }

      .quick-facts {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
      }

      .facebook-panel iframe {
        height: 320px;
        min-height: 320px;
      }

      .support-summary {
        padding: 18px;
      }

      .opportunities-layout,
      .campus-layout,
      .campus-visual,
      .support-list {
        gap: 12px;
      }

      section {
        padding: 54px 0;
      }

      .specialty-card__media {
        min-height: 214px;
      }

      .support-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }

      .support-list li {
        min-height: 0;
        padding: 14px 12px 14px 48px;
        font-size: 0.82rem;
      }

      .support-list li::before {
        left: 12px;
        top: 14px;
        width: 28px;
        height: 28px;
      }

      .support-list li::after {
        left: 19px;
        top: 21px;
        width: 14px;
        height: 14px;
      }

      .support-list strong {
        font-size: 0.88rem;
      }

      .campus-visual {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }

      .carousel-slide img {
        aspect-ratio: 4 / 3;
      }

      .campus-photo--main {
        grid-column: span 2;
        min-height: 180px;
      }

      .campus-photo--secondary {
        min-height: 118px;
      }

      .campus-photo span,
      .carousel-slide figcaption {
        display: none;
      }

      .footer__inner {
        align-items: flex-start;
        flex-direction: column;
      }

      .document-modal {
        padding: 12px;
      }

      .document-modal__dialog {
        max-height: 92vh;
      }

      .document-modal__header {
        padding: 10px;
        flex-direction: column;
      }

      .document-modal__tools {
        width: 100%;
        justify-content: space-between;
      }

      .document-modal__download {
        flex: 1 1 auto;
      }

      .document-modal__body,
      .document-modal__body iframe,
      .document-modal__empty {
        min-height: 420px;
      }

      .document-modal__body iframe {
        height: 62vh;
      }

      .document-modal__footer {
        align-items: stretch;
        flex-direction: column;
      }
    }

    @media (max-width: 520px) {
      .nav__inner,
      .section__inner,
      .hero__inner,
      .quick-facts,
      .footer__inner {
        width: min(calc(100% - 24px), 358px);
        margin-left: 16px;
        margin-right: auto;
      }

      h1 {
        font-size: clamp(1.75rem, 7.6vw, 2.2rem);
        line-height: 1.05;
      }

      .hero__text {
        font-size: 1rem;
      }

      .hero__actions {
        display: grid;
      }

      .btn {
        width: 100%;
      }

      .about-grid,
      .campus-layout {
        gap: 18px;
      }

      .about-highlights {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 7px;
      }

      .about-highlight {
        min-height: 76px;
        padding: 10px 8px;
        text-align: center;
      }

      .values-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
      }

      .value-card {
        min-height: 0;
        padding: 14px;
      }

      .value-card b {
        width: 34px;
        height: 34px;
        margin-bottom: 10px;
        font-size: 1rem;
      }

      .value-card h3 {
        font-size: 0.94rem;
      }

      .value-card p {
        font-size: 0.8rem;
        line-height: 1.35;
      }

      .facebook-panel,
      .support-summary {
        padding: 12px;
      }

      .facebook-panel {
        gap: 10px;
      }

      .facebook-panel__icon {
        width: 36px;
        height: 36px;
        flex-basis: 36px;
      }

      .facebook-panel h2,
      .support-summary h2 {
        font-size: 1.22rem;
      }

      .facebook-panel iframe {
        height: 280px;
        min-height: 280px;
      }

      .support-summary ul {
        gap: 8px;
      }

      .support-summary li {
        padding: 10px 10px 10px 44px;
        font-size: 0.82rem;
      }

      .support-summary li::before {
        left: 12px;
        top: 12px;
        width: 24px;
        height: 24px;
      }

      .opportunity-link {
        width: 100%;
        margin-top: 4px;
      }

      .campus-content {
        gap: 12px;
      }

      .quick-facts {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
      }

      .quick-facts .fact {
        min-height: 86px;
        padding: 12px;
      }

      .quick-facts .fact strong {
        font-size: 0.95rem;
      }

      .quick-facts .fact span {
        font-size: 0.76rem;
      }
    }

    @media (max-width: 430px) {
      .nav__inner,
      .section__inner,
      .hero__inner,
      .quick-facts,
      .footer__inner {
        width: min(var(--ancho), calc(100% - 24px));
      }

      .hero {
        min-height: 500px;
      }

      .hero__actions {
        display: grid;
      }

      .btn {
        width: 100%;
      }

      .identity-card,
      .specialty-card__body,
      .value-card {
        padding: 12px;
      }
    }
