  /* TOPBAR */
  .topbar{background:#050c17;border-bottom:1px solid rgba(0,115,225,0.12);padding:8px 0;}
  .topbar-inner{max-width:1200px;margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;}
  .topbar-left{display:flex;align-items:center;gap:20px;flex-wrap:wrap;}
  .topbar-item{display:flex;align-items:center;gap:7px;font-size:12.5px;color:rgba(255,255,255,0.75);}
  .topbar-item svg{color:#3aa0ff;flex-shrink:0;}
  .topbar-item a{color:rgba(255,255,255,0.85);text-decoration:none;font-weight:600;letter-spacing:0.02em;transition:color 0.2s;}
  .topbar-item a:hover{color:#3aa0ff;}
  .topbar-social{display:flex;align-items:center;gap:10px;}
  .social-btn{width:30px;height:30px;border-radius:8px;background:rgba(0,115,225,0.12);border:1px solid rgba(0,115,225,0.2);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all 0.25s;}
  .social-btn:hover{background:rgba(0,115,225,0.25);border-color:rgba(58,160,255,0.4);}
  .sep{width:1px;height:14px;background:rgba(255,255,255,0.1);}

  /* HEADER */
  .site-header{background:linear-gradient(180deg,rgba(5,12,23,0.96) 0%,rgba(7,17,31,0.93) 100%);backdrop-filter:blur(14px);border-bottom:1px solid rgba(0,115,225,0.15);padding:0;position:sticky;top:0;z-index:100;}
  .header-inner{max-width:1200px;margin:0 auto;padding:0 24px;min-height:80px;display:flex;align-items:center;justify-content:space-between;gap:24px;}
  .logo-area{display:flex;align-items:center;gap:12px;}
  .logo-icon{width:48px;height:48px;border-radius:12px;background:linear-gradient(135deg,rgba(0,115,225,0.3),rgba(58,160,255,0.15));border:1px solid rgba(0,115,225,0.35);display:flex;align-items:center;justify-content:center;}
  .logo-text{font-family:'Rajdhani',sans-serif;font-size:22px;font-weight:700;color:#f5f7fb;letter-spacing:0.06em;}
  .logo-sub{font-size:10px;color:#8fa2c2;letter-spacing:0.12em;text-transform:uppercase;margin-top:1px;}
  .nav{display:flex;align-items:center;gap:4px;}
  .nav a{padding:8px 14px;border-radius:10px;font-size:14px;font-weight:600;color:rgba(232,240,255,0.82);text-decoration:none;transition:all 0.25s;}
  .nav a:hover{background:rgba(0,115,225,0.1);color:#fff;}
  .btn-cta{display:inline-flex;align-items:center;gap:8px;padding:10px 22px;border-radius:12px;background:linear-gradient(135deg,#0073e1,#005bb5);border:1px solid rgba(58,160,255,0.3);color:#fff;font-size:14px;font-weight:700;cursor:pointer;text-decoration:none;transition:all 0.25s;letter-spacing:0.02em;}
  .btn-cta:hover{background:linear-gradient(135deg,#1a85f0,#0073e1);box-shadow:0 8px 24px rgba(0,115,225,0.3);}

  /* HERO */
  .hero{position:relative;overflow:hidden;padding:100px 24px 90px;background:radial-gradient(ellipse at 20% 50%,rgba(0,115,225,0.08) 0%,transparent 55%),radial-gradient(ellipse at 80% 20%,rgba(58,160,255,0.06) 0%,transparent 50%),linear-gradient(180deg,#050c17 0%,#081321 100%);}
  .hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(0,115,225,0.04) 1px,transparent 1px),linear-gradient(90deg,rgba(0,115,225,0.04) 1px,transparent 1px);background-size:60px 60px;pointer-events:none;}
  .hero-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;position:relative;z-index:1; margin-top:100px;}
  .hero-eyebrow{display:inline-flex;align-items:center;gap:8px;padding:6px 16px;border-radius:999px;background:rgba(0,115,225,0.1);border:1px solid rgba(0,115,225,0.25);color:#3aa0ff;font-size:11px;font-weight:800;letter-spacing:0.14em;text-transform:uppercase;margin-bottom:20px;}
  .hero-eyebrow-dot{width:6px;height:6px;border-radius:50%;background:#3aa0ff;animation:pulse 2s infinite;}
  @keyframes pulse{0%,100%{opacity:1;transform:scale(1);}50%{opacity:0.5;transform:scale(0.8);}}
  .hero-title{font-family:'Rajdhani',sans-serif;font-size:clamp(2.2rem,4vw,3.4rem);font-weight:700;line-height:1.1;color:#f5f7fb;margin-bottom:20px;letter-spacing:0.02em;}
  .hero-title span{color:#3aa0ff;}
  .hero-desc{font-size:16px;color:#b8c5dc;line-height:1.75;margin-bottom:36px;max-width:480px;}
  .hero-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;}
  .btn-secondary{display:inline-flex;align-items:center;gap:8px;padding:11px 22px;border-radius:12px;background:transparent;border:1px solid rgba(0,115,225,0.3);color:#b8c5dc;font-size:14px;font-weight:600;cursor:pointer;text-decoration:none;transition:all 0.25s;}
  .btn-secondary:hover{border-color:rgba(58,160,255,0.5);color:#f5f7fb;background:rgba(0,115,225,0.08);}
  .hero-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:48px;}
  .stat-card{padding:18px;border-radius:16px;background:rgba(10,22,40,0.6);border:1px solid rgba(84,132,255,0.12);text-align:center;}
  .stat-num{font-family:'Rajdhani',sans-serif;font-size:2rem;font-weight:700;color:#3aa0ff;line-height:1;}
  .stat-label{font-size:11px;color:#8fa2c2;margin-top:4px;letter-spacing:0.06em;text-transform:uppercase;}

  /* HERO VISUAL */
  .hero-visual{display:flex;flex-direction:column;gap:14px;}
  .prog-card{padding:20px 22px;border-radius:20px;background:rgba(10,22,40,0.7);border:1px solid rgba(84,132,255,0.15);display:flex;align-items:center;gap:16px;transition:all 0.3s;}
  .prog-card:hover{border-color:rgba(58,160,255,0.3);background:rgba(10,22,40,0.9);}
  .prog-icon{width:46px;height:46px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
  .prog-icon.blue{background:rgba(0,115,225,0.18);border:1px solid rgba(0,115,225,0.3);}
  .prog-icon.cyan{background:rgba(0,180,255,0.12);border:1px solid rgba(0,180,255,0.25);}
  .prog-icon.purple{background:rgba(120,80,220,0.15);border:1px solid rgba(120,80,220,0.3);}
  .prog-info{flex:1;}
  .prog-level{font-size:10px;color:#8fa2c2;letter-spacing:0.1em;text-transform:uppercase;margin-bottom:3px;}
  .prog-name{font-size:14px;font-weight:700;color:#f5f7fb;}
  .prog-badge{font-size:10px;padding:3px 10px;border-radius:999px;background:rgba(0,115,225,0.15);border:1px solid rgba(0,115,225,0.3);color:#3aa0ff;font-weight:700;white-space:nowrap;}

  /* SECTION COMMONS */
  .section{padding:80px 24px;}
  .section-inner{max-width:1200px;margin:0 auto;}
  .section-header{text-align:center;margin-bottom:56px;}
  .section-eyebrow{display:inline-flex;align-items:center;gap:8px;padding:6px 16px;border-radius:999px;background:rgba(0,115,225,0.08);border:1px solid rgba(0,115,225,0.2);color:#3aa0ff;font-size:10px;font-weight:800;letter-spacing:0.14em;text-transform:uppercase;margin-bottom:16px;}
  .section-title{font-family:'Rajdhani',sans-serif;font-size:clamp(1.8rem,3vw,2.6rem);font-weight:700;color:#f5f7fb;letter-spacing:0.03em;margin-bottom:14px;}
  .section-desc{font-size:15px;color:#b8c5dc;max-width:560px;margin:0 auto;line-height:1.7;}

  /* SERVICES */
  .services{background:linear-gradient(180deg,#050c17 0%,#07111f 100%);}
  .services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:22px;}
  .service-card{padding:28px;border-radius:22px;background:rgba(10,22,40,0.6);border:1px solid rgba(84,132,255,0.12);transition:all 0.3s;cursor:default;}
  .service-card:hover{border-color:rgba(58,160,255,0.28);background:rgba(10,22,40,0.85);transform:translateY(-4px);box-shadow:0 20px 40px rgba(0,0,0,0.25);}
  .service-icon{width:52px;height:52px;border-radius:14px;background:rgba(0,115,225,0.14);border:1px solid rgba(0,115,225,0.25);display:flex;align-items:center;justify-content:center;margin-bottom:18px;}
  .service-title{font-family:'Rajdhani',sans-serif;font-size:18px;font-weight:700;color:#f5f7fb;margin-bottom:10px;letter-spacing:0.03em;}
  .service-desc{font-size:13.5px;color:#8fa2c2;line-height:1.65;}
  .service-link{display:inline-flex;align-items:center;gap:6px;margin-top:16px;font-size:13px;font-weight:700;color:#3aa0ff;text-decoration:none;transition:gap 0.2s;}
  .service-link:hover{gap:10px;}

  /* CONTACT */
  .contact{padding:80px 24px;background:radial-gradient(ellipse at center,rgba(0,115,225,0.06) 0%,transparent 70%),#050c17;}
  .contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:start;}
  .contact-info h3{font-family:'Rajdhani',sans-serif;font-size:1.8rem;font-weight:700;color:#f5f7fb;margin-bottom:14px;letter-spacing:0.03em;}
  .contact-info p{font-size:14.5px;color:#b8c5dc;line-height:1.7;margin-bottom:28px;}
  .contact-items{display:flex;flex-direction:column;gap:16px;}
  .contact-item{display:flex;align-items:flex-start;gap:14px;padding:16px 18px;border-radius:16px;background:rgba(10,22,40,0.55);border:1px solid rgba(84,132,255,0.12);}
  .contact-item-icon{width:40px;height:40px;border-radius:10px;background:rgba(0,115,225,0.15);border:1px solid rgba(0,115,225,0.25);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px;}
  .contact-item-body{}
  .contact-item-label{font-size:10px;color:#8fa2c2;letter-spacing:0.1em;text-transform:uppercase;margin-bottom:4px;font-weight:600;}
  .contact-item-val{font-size:14px;color:#f5f7fb;font-weight:600;line-height:1.55;}
  .contact-item-val a{color:#f5f7fb;text-decoration:none;}
  .contact-item-val a:hover{color:#3aa0ff;}
  .ext-row{font-size:12px;color:#8fa2c2;margin-top:3px;}

  /* FORM */
  .contact-form{background:rgba(10,22,40,0.6);border:1px solid rgba(84,132,255,0.14);border-radius:24px;padding:32px;}
  .form-title{font-family:'Rajdhani',sans-serif;font-size:1.3rem;font-weight:700;color:#f5f7fb;margin-bottom:22px;letter-spacing:0.03em;}
  .form-group{margin-bottom:16px;}
  .form-label{display:block;font-size:12px;font-weight:700;color:#8fa2c2;letter-spacing:0.08em;text-transform:uppercase;margin-bottom:6px;}
  .form-input,.form-select,.form-textarea{width:100%;padding:11px 14px;border-radius:10px;background:rgba(5,12,23,0.7);border:1px solid rgba(84,132,255,0.2);color:#f5f7fb;font-size:14px;font-family:'Inter',sans-serif;outline:none;transition:border-color 0.25s;}
  .form-input::placeholder,.form-textarea::placeholder{color:#8fa2c2;}
  .form-input:focus,.form-select:focus,.form-textarea:focus{border-color:rgba(58,160,255,0.5);}
  .form-select{-webkit-appearance:none;appearance:none;}
  .form-textarea{resize:vertical;min-height:90px;}
  .form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
  .btn-submit{width:100%;padding:13px;border-radius:12px;background:linear-gradient(135deg,#0073e1,#005bb5);border:1px solid rgba(58,160,255,0.3);color:#fff;font-size:14px;font-weight:700;cursor:pointer;letter-spacing:0.03em;transition:all 0.25s;margin-top:6px;}
  .btn-submit:hover{background:linear-gradient(135deg,#1a85f0,#0073e1);box-shadow:0 8px 24px rgba(0,115,225,0.35);}

  /* FOOTER */
  .footer{padding:32px 24px;background:#050c17;border-top:1px solid rgba(84,132,255,0.1);text-align:center;}
  .footer-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;}
  .footer-copy{font-size:13px;color:#8fa2c2;}
  .footer-links{display:flex;gap:20px;}
  .footer-links a{font-size:13px;color:#8fa2c2;text-decoration:none;transition:color 0.2s;}
  .footer-links a:hover{color:#3aa0ff;}

  /* WHATSAPP FLOAT */
  .wa-float{position:fixed;bottom:28px;right:28px;z-index:999;}
  .wa-btn{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#25d366,#1db954);display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px rgba(37,211,102,0.4);cursor:pointer;text-decoration:none;transition:all 0.25s;}
  .wa-btn:hover{transform:scale(1.1);box-shadow:0 12px 32px rgba(37,211,102,0.5);}

  @media(max-width:900px){
    .hero-inner{grid-template-columns:1fr;gap:40px;}
    .hero-visual{display:none;}
    .contact-grid{grid-template-columns:1fr;}
    .nav{display:none;}
    .form-row{grid-template-columns:1fr;}
  }
  @media(max-width:600px){
    .hero{padding:70px 16px 60px;}
    .section{padding:60px 16px;}
    .hero-stats{grid-template-columns:1fr 1fr;}
    .topbar-left{gap:12px;}
  }

  :root {
    --bg-primary: #050c17;
    --bg-secondary: #07111f;
    --bg-tertiary: #0b1629;
    --bg-surface: rgba(10, 22, 40, 0.78);
    --bg-surface-strong: #0f1a2d;
  
    --color-primary: #0073e1;
    --color-primary-light: #3aa0ff;
    --color-primary-soft: rgba(0, 115, 225, 0.14);
    --color-line: rgba(84, 132, 255, 0.16);
  
    --text-primary: #f5f7fb;
    --text-secondary: #b8c5dc;
    --text-muted: #8fa2c2;
  
    --white: #ffffff;
    --shadow-soft: 0 12px 28px rgba(0, 0, 0, 0.22);
    --shadow-medium: 0 18px 46px rgba(0, 0, 0, 0.28);
  
    --radius-sm: 14px;
    --radius-md: 22px;
    --radius-lg: 30px;
  
    --transition-fast: 0.25s ease;
    --transition-medium: 0.35s ease;
  
    --site-max-width: 1440px;
    --header-height: 92px;
    --topbar-height: 34px;
  }
  
  /* =========================
     BASE
  ========================= */
  * {
    box-sizing: border-box;
  }
  
  html {
    scroll-behavior: smooth;
  }
  
  body {
    margin: 0;
    font-family: Arial, Helvetica, sans-serif;
    background:
      radial-gradient(circle at top left, rgba(0, 115, 225, 0.08), transparent 24%),
      radial-gradient(circle at bottom right, rgba(58, 160, 255, 0.06), transparent 24%),
      linear-gradient(180deg, #050c17 0%, #081321 100%);
    color: var(--text-primary);
  }
  
  img {
    display: block;
    max-width: 100%;
  }
  
  a {
    color: inherit;
    text-decoration: none;
    transition: var(--transition-fast);
  }
  
  .container-fluid {
    width: 100%;
    max-width: var(--site-max-width);
    margin: 0 auto;
    padding-left: 24px;
    padding-right: 24px;
  }
  
  .site-main {
    overflow: hidden;
  }
  
  /* =========================
     TOPBAR
  ========================= */
  .topbar {
    position: relative;
    z-index: 1035;
    background: #050c17;
    border-bottom: 1px solid rgba(0, 115, 225, 0.1);
  }
  
  .topbar__inner {
    min-height: var(--topbar-height);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
  }
  
  .topbar__left,
  .topbar__right {
    display: flex;
    align-items: center;
    gap: 14px;
  }
  
  .topbar__left a {
    color: rgba(255, 255, 255, 0.82);
    font-size: 13px;
  }
  
  .topbar__left a:hover {
    color: var(--white);
  }
  
  .topbar__phone {
    color: var(--white);
    font-weight: 700;
    letter-spacing: 0.02em;
  }
  
  /* =========================
     HEADER
  ========================= */
  .site-header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 9999;
    background: linear-gradient(180deg, rgba(5, 12, 23, 0.94) 0%, rgba(7, 17, 31, 0.9) 100%);
    backdrop-filter: blur(14px);
    border-bottom: 1px solid rgba(0, 115, 225, 0.15);
    overflow: visible;
  }
  
  .site-header.is-scrolled {
    background: linear-gradient(180deg, rgba(5, 12, 23, 0.98) 0%, rgba(7, 17, 31, 0.96) 100%);
    box-shadow: 0 16px 34px rgba(0, 0, 0, 0.28);
  }
  
  .site-header__inner {
    min-height: var(--header-height);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
  }
  
  .site-logo {
    flex: 0 0 auto;
  }
  
  .site-logo img {
    height: 68px;
    width: auto;
  }
  
  /* =========================
     NAV DESKTOP
  ========================= */
  
  .main-nav {
    flex: 1 1 auto;
    display: flex;
    justify-content: center;
  }
  
  .main-nav__list {
    list-style: none;
    display: flex;
    align-items: center;
    gap: 6px;
    margin: 0;
    padding: 0;
  }
  
  /* =========================
     ITEM (CONTENEDOR)
  ========================= */
  
  .main-nav__item {
    position: relative;
    overflow: visible;
  }
  
  /* 🔵 Línea inferior estilo cards */
  .main-nav__item::after {
    content: "";
    position: absolute;
    left: 12px;
    right: 12px;
    bottom: 2px;
    height: 3px;
    border-radius: 999px;
  
    background: linear-gradient(
      90deg,
      rgba(0, 115, 225, 0) 0%,
      rgba(58, 160, 255, 0.95) 50%,
      rgba(0, 115, 225, 0) 100%
    );
  
    opacity: 0;
    transform: scaleX(0.68);
    transform-origin: center;
  
    transition:
      opacity 0.28s ease,
      transform 0.28s ease;
  
    pointer-events: none;
    z-index: 10031;
  }
  
  /* =========================
     LINK
  ========================= */
  
  .main-nav__link {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 9px;
    min-height: 44px;
    padding: 0 14px;
  
    color: rgba(232, 240, 255, 0.86);
    font-size: 15px;
    font-weight: 700;
    white-space: nowrap;
  
    border: 0;
    border-radius: 12px;
    background: transparent;
  
    transition:
      color 0.28s ease,
      background 0.28s ease,
      box-shadow 0.28s ease,
      transform 0.28s ease;
  }
  
  /* Fondo tipo glass/tech */
  .main-nav__link::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 12px;
  
    background:
      linear-gradient(180deg, rgba(255, 255, 255, 0.018) 0%, rgba(255, 255, 255, 0) 100%),
      radial-gradient(circle at top right, rgba(0, 115, 225, 0.12) 0%, transparent 50%);
  
    opacity: 0;
    transition: opacity 0.28s ease;
    pointer-events: none;
  }
  
  /* =========================
     ICONOS
  ========================= */
  
  .main-nav__link i {
    color: #4ea4ff;
    font-size: 14px;
    transition:
      color 0.28s ease,
      transform 0.28s ease;
  }
  
  /* =========================
     HOVER GLOBAL
  ========================= */
  
  .main-nav__item:hover::after,
  .main-nav__item:focus-within::after,
  .main-nav__item.show::after,
  .main-nav__item.active::after {
    opacity: 1;
    transform: scaleX(1);
  }
  
  .main-nav__item:hover > .main-nav__link,
  .main-nav__item:focus-within > .main-nav__link,
  .main-nav__item.show > .main-nav__link {
    color: var(--white);
    background: rgba(0, 115, 225, 0.035);
    box-shadow: 0 8px 18px rgba(0, 115, 225, 0.08);
  }
  
  .main-nav__item:hover > .main-nav__link::before,
  .main-nav__item:focus-within > .main-nav__link::before,
  .main-nav__item.show > .main-nav__link::before {
    opacity: 1;
  }
  
  .main-nav__item:hover > .main-nav__link i,
  .main-nav__item:focus-within > .main-nav__link i,
  .main-nav__item.show > .main-nav__link i {
    color: var(--white);
    transform: translateY(-1px);
  }
  
  /* =========================
     DROPDOWN FIX
  ========================= */
  
  .main-nav__item.dropdown {
    position: relative;
  }
  
  .main-nav__item.dropdown > .main-nav__link {
    z-index: 10030;
  }
  
  /* IMPORTANTE: evitar conflicto con bootstrap */
  .dropdown-toggle::after {
    display: none;
  }
  
  /* =========================
     DROPDOWN MENU
  ========================= */
  
  .dropdown-menu {
    min-width: 260px;
    margin-top: 14px;
    padding: 10px;
  
    border: 1px solid rgba(84, 132, 255, 0.18);
    border-radius: 18px;
  
    background: rgba(6, 14, 29, 0.98);
    backdrop-filter: blur(16px);
  
    box-shadow: 0 22px 44px rgba(0, 0, 0, 0.30);
  
    z-index: 10020;
  }
  
  /* Posición controlada */
  .main-nav__item.dropdown .dropdown-menu {
    top: calc(100% + 2px);
    left: 0;
  }
  
  /* =========================
     DROPDOWN ITEMS
  ========================= */
  
  .dropdown-item {
    display: flex;
    align-items: center;
    gap: 10px;
  
    padding: 10px 12px;
    border-radius: 10px;
  
    color: rgba(220, 230, 255, 0.85);
    font-size: 14px;
    font-weight: 600;
  
    transition: all 0.25s ease;
  }
  
  .dropdown-item i {
    color: #4ea4ff;
    transition: all 0.25s ease;
  }
  
  .dropdown-item:hover {
    background: rgba(0, 115, 225, 0.08);
    color: #ffffff;
  }
  
  .dropdown-item:hover i {
    color: #ffffff;
  }
  
  /* =========================
     DROPDOWN
  ========================= */
  .dropdown-menu {
    min-width: 260px;
    margin-top: 14px;
    padding: 10px;
    border: 1px solid rgba(84, 132, 255, 0.18);
    border-radius: 18px;
    box-shadow: 0 22px 44px rgba(0, 0, 0, 0.30);
    background: rgba(6, 14, 29, 0.98);
    backdrop-filter: blur(16px);
    z-index: 10020;
  }
  
  .main-nav__item.dropdown .dropdown-menu {
    top: calc(100% + 2px);
    left: 0;
  }
  
  .dropdown-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 11px 14px;
    border-radius: 12px;
    color: rgba(235, 241, 255, 0.88);
    font-size: 14px;
    font-weight: 600;
  }
  
  .dropdown-item i {
    width: 18px;
    font-size: 14px;
    color: var(--color-primary-light);
    text-align: center;
  }
  
  .dropdown-item:hover,
  .dropdown-item:focus {
    background: rgba(0, 115, 225, 0.12);
    color: var(--white);
  }
  
  .dropdown-item:hover i,
  .dropdown-item:focus i {
    color: var(--white);
  }
  
  /* =========================
     ACTIONS
  ========================= */
  .site-header__actions {
    display: flex;
    align-items: center;
    gap: 14px;
    flex: 0 0 auto;
  }
  
  .btn-cta {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-height: 48px;
    padding: 0 18px;
    border-radius: 999px;
    background: linear-gradient(135deg, #0073e1, #3aa0ff);
    color: var(--white);
    font-size: 14px;
    font-weight: 800;
    letter-spacing: 0.01em;
    border: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: 0 10px 25px rgba(0, 115, 225, 0.35);
  }
  
  .btn-cta:hover {
    color: var(--white);
    transform: translateY(-1px);
    box-shadow: 0 14px 30px rgba(0, 115, 225, 0.45);
  }
  
  .mobile-menu-toggle {
    display: none;
    width: 46px;
    height: 46px;
    border: 0;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.06);
    color: var(--white);
    font-size: 18px;
  }
  
  .mobile-menu-toggle:hover {
    background: rgba(255, 255, 255, 0.1);
  }
  
  /* =========================
     MOBILE MENU
  ========================= */
  .mobile-menu {
    width: min(92vw, 380px);
    border-left: 1px solid rgba(84, 132, 255, 0.18);
    background: #07111f;
    color: var(--text-primary);
  }
  
  .mobile-menu__header {
    padding: 20px 20px 12px;
    border-bottom: 1px solid rgba(84, 132, 255, 0.14);
  }
  
  .mobile-menu__header .offcanvas-title {
    color: var(--white);
    font-weight: 700;
  }
  
  .mobile-menu__body {
    padding: 0;
  }
  
  .mobile-nav {
    display: flex;
    flex-direction: column;
  }
  
  .mobile-nav__item {
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  }
  
  .mobile-nav__link,
  .mobile-nav__toggle {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 16px 20px;
    border: 0;
    background: transparent;
    color: var(--text-primary);
    font-size: 15px;
    font-weight: 700;
    text-align: left;
  }
  
  .mobile-nav__toggle i,
  .mobile-nav__link i {
    color: var(--color-primary-light);
  }
  
  .mobile-nav__link:hover,
  .mobile-nav__toggle:hover {
    color: var(--white);
    background: rgba(0, 115, 225, 0.08);
  }
  
  .mobile-nav__submenu {
    background: rgba(255, 255, 255, 0.03);
  }
  
  .mobile-nav__submenu a {
    display: block;
    padding: 13px 28px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.04);
    color: var(--text-secondary);
    font-size: 14px;
    font-weight: 600;
  }
  
  .mobile-nav__submenu a:hover {
    color: var(--white);
    background: rgba(0, 115, 225, 0.08);
  }
  
  .mobile-nav__cta {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin: 18px 20px 24px;
    min-height: 48px;
    border-radius: 999px;
    background: linear-gradient(135deg, #0073e1, #3aa0ff);
    color: var(--white);
    font-size: 14px;
    font-weight: 800;
  }
  
  .mobile-nav__cta:hover {
    color: var(--white);
  }
  
  .mobile-nav__toggle[aria-expanded="true"] i.fa-chevron-down,
  .mobile-nav__toggle[aria-expanded="true"] > .fa-angle-down {
    transform: rotate(180deg);
  }
  
  /* =========================
     SECTION SYSTEM
  ========================= */
  .section-heading {
    max-width: 860px;
    margin-bottom: 38px;
  }
  
  .section-heading--center {
    margin-left: auto;
    margin-right: auto;
    text-align: center;
  }
  
  .section-heading__eyebrow {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    padding: 8px 16px;
    border-radius: 999px;
    background: rgba(0, 115, 225, 0.08);
    border: 1px solid rgba(0, 115, 225, 0.22);
    color: var(--color-primary-light);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    margin-bottom: 16px;
  }
  
  .section-heading__title {
    margin: 0 0 14px;
    font-size: clamp(2rem, 4vw, 3.4rem);
    line-height: 1.05;
    font-weight: 900;
    letter-spacing: -0.03em;
    color: var(--text-primary);
  }
  
  .section-heading__title--light {
    color: var(--white);
  }
  
  .section-heading__text {
    margin: 0;
    max-width: 760px;
    color: var(--text-secondary);
    font-size: 1rem;
    line-height: 1.8;
  }
  
  .section-heading__text--light {
    color: rgba(255, 255, 255, 0.82);
  }
  
  /* =========================
     UI CARD SYSTEM
  ========================= */
  .ui-card {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    border-radius: 28px;
    border: 1px solid rgba(74, 130, 255, 0.16);
    background: linear-gradient(145deg, rgba(7, 20, 43, 0.92) 0%, rgba(3, 12, 28, 0.97) 100%);
    box-shadow:
      0 24px 55px rgba(0, 0, 0, 0.32),
      inset 0 1px 0 rgba(255, 255, 255, 0.03);
    transition:
      transform 0.34s ease,
      border-color 0.34s ease,
      box-shadow 0.34s ease,
      background 0.34s ease;
  }
  
  .ui-card::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
      linear-gradient(180deg, rgba(255, 255, 255, 0.022) 0%, rgba(255, 255, 255, 0) 40%),
      radial-gradient(circle at top right, rgba(0, 115, 225, 0.15) 0%, transparent 42%);
    z-index: -1;
    border-radius: 28px;
  }
  
  .ui-card::after {
    content: "";
    position: absolute;
    left: 26px;
    right: 26px;
    bottom: 0;
    height: 3px;
    border-radius: 999px;
    background: linear-gradient(90deg, rgba(0, 115, 225, 0) 0%, rgba(0, 115, 225, 0.9) 50%, rgba(0, 115, 225, 0) 100%);
    opacity: 0.76;
    transform: scaleX(0.72);
    transform-origin: center;
    transition: transform 0.34s ease, opacity 0.34s ease;
  }
  
  .ui-card:hover {
    transform: translateY(-8px);
    border-color: rgba(100, 163, 255, 0.3);
    background: linear-gradient(145deg, rgba(8, 24, 50, 0.95) 0%, rgba(4, 14, 32, 0.98) 100%);
    box-shadow:
      0 30px 64px rgba(0, 0, 0, 0.38),
      0 0 24px rgba(0, 115, 225, 0.08);
  }
  
  .ui-card:hover::after {
    opacity: 1;
    transform: scaleX(1);
  }
  
  .ui-card--accent {
    background: linear-gradient(145deg, rgba(8, 34, 72, 0.94) 0%, rgba(6, 22, 46, 0.98) 100%);
    border-color: rgba(96, 175, 255, 0.28);
  }
  
  .ui-card--accent::before {
    background:
      linear-gradient(180deg, rgba(255, 255, 255, 0.03) 0%, rgba(255, 255, 255, 0) 38%),
      radial-gradient(circle at top right, rgba(76, 173, 255, 0.26) 0%, transparent 44%);
  }
  
  .ui-card__icon {
    width: 72px;
    height: 72px;
    min-width: 72px;
    border-radius: 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(180deg, rgba(0, 115, 225, 0.2), rgba(0, 115, 225, 0.1));
    border: 1px solid rgba(0, 115, 225, 0.22);
    color: #8fd0ff;
    font-size: 1.45rem;
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.04),
      0 12px 24px rgba(0, 115, 225, 0.07);
  }
  
  .ui-card--hero {
    padding: 30px 28px;
    border-radius: 30px;
    backdrop-filter: blur(16px);
  }
  
  .ui-card--hero-sub {
    border-radius: 18px;
    background: linear-gradient(145deg, rgba(255, 255, 255, 0.025) 0%, rgba(255, 255, 255, 0.01) 100%);
    border: 1px solid rgba(84, 132, 255, 0.1);
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.02),
      0 10px 24px rgba(0, 0, 0, 0.12);
  }
  
  .ui-card--hero-sub::after {
    display: none;
  }
  
  .ui-card--hero-sub:hover {
    transform: translateY(-2px);
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.025),
      0 14px 28px rgba(0, 0, 0, 0.14);
  }
  
  .ui-card--priority,
  .ui-card--value,
  .ui-card--access {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
  }
  
  /* =========================
     HERO TECH
  ========================= */
  .hero-tech {
    position: relative;
    padding-top: var(--header-height);
  }
  
  .hero-tech__carousel,
  .hero-tech__slide {
    position: relative;
    min-height: 100vh;
  }
  
  .hero-tech__slide {
    display: flex;
    align-items: center;
    overflow: hidden;
  }
  
  .hero-tech__bg,
  .hero-tech__overlay {
    position: absolute;
    inset: 0;
  }
  
  .hero-tech__bg {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    transform: scale(1.03);
  }
  
  .hero-tech__slide--cyber .hero-tech__bg {
    background-image:
      linear-gradient(120deg, rgba(0, 115, 225, 0.18), transparent 40%),
      linear-gradient(300deg, rgba(58, 160, 255, 0.12), transparent 55%),
      url("../img/hero.jpg");
  }
  
  .hero-tech__slide--ai .hero-tech__bg {
    background-image:
      linear-gradient(120deg, rgba(0, 115, 225, 0.18), transparent 40%),
      linear-gradient(300deg, rgba(58, 160, 255, 0.12), transparent 55%),
      url("../img/hero2.jpg");
  }
  
  .hero-tech__slide--defense .hero-tech__bg {
    background-image:
      linear-gradient(120deg, rgba(0, 115, 225, 0.16), transparent 36%),
      linear-gradient(300deg, rgba(58, 160, 255, 0.1), transparent 56%),
      url("../img/doctorados.jpg");
  }
  
  .hero-tech__overlay {
    background: linear-gradient(90deg, rgba(4, 10, 19, 0.94) 0%, rgba(4, 10, 19, 0.9) 36%, rgba(4, 10, 19, 0.6) 68%, rgba(4, 10, 19, 0.74) 100%);
  }
  
  .hero-tech__container {
    position: relative;
    z-index: 2;
  }
  
  .hero-tech__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(360px, 0.85fr);
    gap: 52px;
    align-items: center;
    min-height: calc(100vh - var(--header-height));
    padding: 68px 0 56px;
  }
  
  .hero-tech__content {
    max-width: 760px;
  }
  
  .hero-tech__eyebrow {
    display: inline-flex;
    align-items: center;
    padding: 9px 16px;
    margin-bottom: 22px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(0, 115, 225, 0.24);
    color: var(--color-primary-light);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    backdrop-filter: blur(8px);
  }
  
  .hero-tech__title {
    margin: 0 0 20px;
    font-size: clamp(2.7rem, 5.8vw, 6rem);
    line-height: 0.94;
    font-weight: 900;
    letter-spacing: -0.05em;
    color: var(--white);
  }
  
  .hero-tech__title span {
    background: linear-gradient(135deg, #3aa0ff, #0073e1);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
  }
  
  .hero-tech__text {
    max-width: 680px;
    margin: 0 0 30px;
    color: rgba(235, 241, 255, 0.86);
    font-size: clamp(1rem, 1.3vw, 1.12rem);
    line-height: 1.85;
  }
  
  .hero-tech__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
  }
  
  .btn-tech {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 54px;
    padding: 0 24px;
    border-radius: 999px;
    font-size: 15px;
    font-weight: 800;
    letter-spacing: 0.01em;
    transition: var(--transition-medium);
  }
  
  .btn-tech--primary {
    background: linear-gradient(135deg, #0073e1, #3aa0ff);
    color: var(--white);
    box-shadow: 0 10px 30px rgba(0, 115, 225, 0.4);
  }
  
  .btn-tech--primary:hover {
    color: var(--white);
    transform: translateY(-2px);
    filter: brightness(1.06);
  }
  
  .btn-tech--secondary {
    background: rgba(255, 255, 255, 0.04);
    color: var(--white);
    border: 1px solid rgba(255, 255, 255, 0.14);
    backdrop-filter: blur(8px);
  }
  
  .btn-tech--secondary:hover {
    color: var(--white);
    transform: translateY(-2px);
    background: rgba(255, 255, 255, 0.08);
  }
  
  .hero-tech__panel-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 36px;
    padding: 7px 14px;
    margin-bottom: 20px;
    border-radius: 999px;
    background: rgba(0, 52, 110, 0.34);
    border: 1px solid rgba(0, 115, 225, 0.2);
    color: #a9cfff;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.03em;
    backdrop-filter: blur(8px);
  }
  
  .hero-tech__panel-block {
    margin-bottom: 18px;
  }
  
  .hero-tech__panel-label {
    margin: 0 0 6px;
    color: var(--text-muted);
    font-size: 12px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    font-weight: 800;
  }
  
  .hero-tech__panel-title {
    margin: 0;
    color: var(--white);
    font-size: clamp(1.6rem, 2vw, 2.2rem);
    line-height: 1.08;
    font-weight: 900;
  }
  
  .hero-tech__meta-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
  }
  
  .hero-tech__meta-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px;
  }
  
  .hero-tech__meta-item i {
    width: 20px;
    min-width: 20px;
    text-align: center;
    color: var(--color-primary-light);
    font-size: 0.95rem;
  }
  
  .hero-tech__meta-item span {
    color: rgba(235, 241, 255, 0.88);
    font-size: 0.98rem;
    line-height: 1.6;
  }
  
  .hero-tech__indicators {
    bottom: 28px;
    z-index: 4;
    margin-bottom: 0;
  }
  
  .hero-tech__indicators button {
    width: 12px !important;
    height: 12px !important;
    border-radius: 50%;
    border: 0;
    margin: 0 6px !important;
    opacity: 0.45;
    background-color: rgba(255, 255, 255, 0.9);
  }
  
  .hero-tech__indicators .active {
    opacity: 1;
    background-color: var(--color-primary);
    box-shadow: 0 0 14px rgba(0, 115, 225, 0.65);
  }
  
  .hero-tech__control {
    width: 7%;
    opacity: 1;
    z-index: 4;
  }
  
  .hero-tech__control-btn {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(10, 18, 34, 0.74);
    border: 1px solid rgba(255, 255, 255, 0.12);
    color: var(--white);
    backdrop-filter: blur(10px);
    transition: var(--transition-fast);
  }
  
  .hero-tech__control-btn:hover {
    background: rgba(0, 115, 225, 0.24);
  }
  
  .revoe {
    font-size: 2em;
    font-weight: bold;
    background: linear-gradient(135deg, #3aa0ff, #0073e1);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    margin-bottom: .5em;
  }
  
  /* =========================
     PRIORITY PROGRAMS
  ========================= */
  .priority-programs {
    position: relative;
    padding: 100px 0 94px;
    background:
      linear-gradient(180deg, rgba(3, 11, 23, 0.9) 0%, rgba(4, 13, 28, 0.96) 100%),
      linear-gradient(90deg, #03101f 0%, #07192d 50%, #03101f 100%);
    overflow: hidden;
    border-top: 1px solid rgba(84, 132, 255, 0.08);
    border-bottom: 1px solid rgba(84, 132, 255, 0.08);
  }
  
  .priority-programs::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
      radial-gradient(circle at top center, rgba(0, 115, 225, 0.08) 0%, transparent 24%),
      radial-gradient(circle at bottom right, rgba(58, 160, 255, 0.05) 0%, transparent 24%),
      linear-gradient(90deg, rgba(0, 8, 22, 0.64) 0%, rgba(0, 12, 29, 0.22) 50%, rgba(0, 8, 22, 0.64) 100%);
    pointer-events: none;
  }
  
  .priority-programs .container-fluid {
    position: relative;
    z-index: 2;
  }
  
  .priority-programs .section-heading {
    max-width: 980px;
    margin: 0 auto 44px;
    text-align: center;
  }
  
  .priority-programs .section-heading__eyebrow {
    background: rgba(0, 52, 110, 0.38);
    border-color: rgba(0, 115, 225, 0.18);
    backdrop-filter: blur(8px);
  }
  
  .priority-programs .section-heading__title {
    max-width: 980px;
    margin-left: auto;
    margin-right: auto;
  }
  
  .priority-programs .section-heading__text {
    max-width: 760px;
    margin-left: auto;
    margin-right: auto;
    color: rgba(255, 255, 255, 0.82);
  }
  
  .priority-programs__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
    align-items: stretch;
  }
  
  .priority-card {
    display: flex;
    gap: 18px;
    align-items: flex-start;
    min-height: 270px;
    padding: 28px 26px 26px;
  }
  
  .priority-card__body {
    display: flex;
    flex-direction: column;
    min-height: 100%;
    flex: 1 1 auto;
  }
  
  .priority-card__type {
    display: inline-block;
    margin-bottom: 10px;
    color: var(--color-primary-light);
    font-size: 0.82rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
  }
  
  .priority-card__title {
    margin: 0 0 12px;
    color: var(--white);
    font-size: clamp(1.55rem, 2vw, 2rem);
    line-height: 1.02;
    font-weight: 800;
    letter-spacing: -0.025em;
    max-width: 13ch;
  }
  
  .priority-card__text {
    margin: 0 0 22px;
    color: rgba(255, 255, 255, 0.8);
    font-size: 1rem;
    line-height: 1.78;
    max-width: 34ch;
  }
  
  .priority-card__link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: auto;
    color: #8ecbff;
    font-weight: 800;
    font-size: 1rem;
    letter-spacing: -0.01em;
  }
  
  .priority-card__link::after {
    content: "→";
    transition: transform 0.25s ease;
  }
  
  .priority-card:hover .priority-card__link::after {
    transform: translateX(3px);
  }
  
  
  /* =========================
     ACADEMIC MAP
  ========================= */
  .academic-map {
    position: relative;
    padding: 96px 0 104px;
    background-image:
      linear-gradient(rgba(5, 12, 23, 0.42), rgba(5, 12, 23, 0.48)),
      url("../img/bg-seccion0.jpg");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    background-attachment: fixed;
    overflow: hidden;
    border-top: 1px solid rgba(84, 132, 255, 0.08);
    border-bottom: 1px solid rgba(84, 132, 255, 0.08);
  }
  
  .academic-map::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
      radial-gradient(circle at top center, rgba(0, 115, 225, 0.07) 0%, transparent 24%),
      linear-gradient(90deg, rgba(0, 115, 225, 0.04), transparent 35%, transparent 65%, rgba(58, 160, 255, 0.04));
    pointer-events: none;
  }
  
  .academic-map .container-fluid {
    position: relative;
    z-index: 2;
  }
  
  .academic-map__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px;
    align-items: stretch;
  }
  
  .academic-tile {
    position: relative;
    min-height: 340px;
    padding: 26px;
    border-radius: 28px;
    overflow: hidden;
    isolation: isolate;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    border: 1px solid rgba(74, 130, 255, 0.16);
    box-shadow:
      0 24px 55px rgba(0, 0, 0, 0.32),
      inset 0 1px 0 rgba(255, 255, 255, 0.03);
    transition:
      transform 0.34s ease,
      border-color 0.34s ease,
      box-shadow 0.34s ease,
      filter 0.34s ease;
  }
  
  .academic-tile::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
      linear-gradient(180deg, rgba(10, 18, 34, 0.22) 0%, rgba(8, 16, 30, 0.48) 36%, rgba(6, 14, 28, 0.88) 100%);
    transition: background 0.34s ease;
  }
  
  .academic-tile::after {
    content: "";
    position: absolute;
    left: 26px;
    right: 26px;
    bottom: 0;
    height: 3px;
    border-radius: 999px;
    background: linear-gradient(
      90deg,
      rgba(0, 115, 225, 0) 0%,
      rgba(0, 115, 225, 0.9) 50%,
      rgba(0, 115, 225, 0) 100%
    );
    opacity: 0.76;
    transform: scaleX(0.72);
    transform-origin: center;
    transition: transform 0.34s ease, opacity 0.34s ease;
  }
  
  .academic-tile > * {
    position: relative;
    z-index: 1;
  }
  
  .academic-tile:hover {
    transform: translateY(-8px);
    border-color: rgba(100, 163, 255, 0.3);
    box-shadow:
      0 30px 64px rgba(0, 0, 0, 0.38),
      0 0 24px rgba(0, 115, 225, 0.08);
    filter: brightness(1.02);
  }
  
  .academic-tile:hover::before {
    background:
      linear-gradient(180deg, rgba(10, 18, 34, 0.14) 0%, rgba(8, 16, 30, 0.38) 34%, rgba(6, 14, 28, 0.82) 100%);
  }
  
  .academic-tile:hover::after {
    opacity: 1;
    transform: scaleX(1);
  }
  
  .academic-tile--licenciaturas {
    background-image: url("../img/licenciaturas.jpg");
  }
  
  .academic-tile--especialidades {
    background-image: url("../img/especialidades.jpg");
  }
  
  .academic-tile--maestrias {
    background-image: url("../img/maestrias.jpg");
  }
  
  .academic-tile--doctorados {
    background-image: url("../img/doctorados.jpg");
  }
  
  .academic-tile__label {
    display: inline-block;
    margin-bottom: 14px;
    color: #8ecbff;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
  }
  
  .academic-tile__title {
    margin: 0 0 14px;
    color: var(--white);
    font-size: 2rem;
    line-height: 1.05;
    font-weight: 800;
    letter-spacing: -0.02em;
  }
  
  .academic-tile__text {
    margin: 0;
    max-width: 20ch;
    color: rgba(255, 255, 255, 0.84);
    line-height: 1.72;
    font-size: 1rem;
  }
  
  @media (max-width: 1199.98px) {
    .academic-map {
      background-attachment: scroll;
    }
  
    .academic-map__grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  
    .academic-tile {
      min-height: 300px;
    }
  }
  
  @media (max-width: 767.98px) {
    .academic-map {
      padding: 72px 0 80px;
      background-attachment: scroll;
      background-position: center top;
    }
  
    .academic-map__grid {
      grid-template-columns: 1fr;
      gap: 18px;
    }
  
    .academic-tile {
      min-height: 260px;
      padding: 22px 18px;
      border-radius: 22px;
    }
  
    .academic-tile::after {
      left: 20px;
      right: 20px;
    }
  
    .academic-tile__title {
      font-size: 1.65rem;
    }
  
    .academic-tile__text {
      max-width: none;
      font-size: 0.96rem;
      line-height: 1.68;
    }
  }
  
  
  /* =========================
     INSTITUTIONAL VALUE
  ========================= */
  section.institutional-value {
    position: relative;
    padding: 104px 0 108px;
    background:
      linear-gradient(180deg, rgba(2, 10, 22, 0.92) 0%, rgba(3, 12, 27, 0.96) 100%),
      linear-gradient(90deg, #03101f 0%, #07192d 50%, #03101f 100%);
    overflow: hidden;
    border-top: 1px solid rgba(84, 132, 255, 0.08);
    border-bottom: 1px solid rgba(84, 132, 255, 0.08);
  }
  
  section.institutional-value::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
      radial-gradient(circle at top center, rgba(0, 115, 225, 0.08) 0%, transparent 24%),
      radial-gradient(circle at bottom left, rgba(58, 160, 255, 0.05) 0%, transparent 22%),
      linear-gradient(90deg, rgba(0, 8, 22, 0.72) 0%, rgba(0, 14, 34, 0.28) 50%, rgba(0, 8, 22, 0.72) 100%);
    pointer-events: none;
  }
  
  section.institutional-value > .container-fluid {
    position: relative;
    z-index: 2;
  }
  
  section.institutional-value .institutional-value__panel {
    position: relative;
    max-width: 1380px;
    margin: 0 auto;
    padding: 0;
    border-radius: 0;
    background: transparent;
    border: 0;
    box-shadow: none;
    overflow: visible;
  }
  
  section.institutional-value .section-heading {
    max-width: 980px;
    margin: 0 auto 46px;
    text-align: center;
  }
  
  section.institutional-value .section-heading__eyebrow {
    background: rgba(0, 52, 110, 0.38);
    border-color: rgba(0, 115, 225, 0.18);
    backdrop-filter: blur(8px);
  }
  
  section.institutional-value .section-heading__title {
    max-width: 1040px;
    margin-left: auto;
    margin-right: auto;
  }
  
  section.institutional-value .section-heading__text {
    max-width: 760px;
    margin-left: auto;
    margin-right: auto;
    color: rgba(255, 255, 255, 0.82);
  }
  
  section.institutional-value .institutional-value__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
    align-items: stretch;
  }
  
  section.institutional-value .value-card {
    min-height: 264px;
    padding: 30px 26px 28px;
  }
  
  section.institutional-value .value-card__icon {
    margin-bottom: 22px;
  }
  
  section.institutional-value .value-card__title {
    margin: 0 0 12px;
    color: var(--white);
    font-size: 1.12rem;
    font-weight: 800;
    line-height: 1.25;
    letter-spacing: -0.01em;
  }
  
  section.institutional-value .value-card__text {
    margin: 0;
    color: rgba(255, 255, 255, 0.8);
    line-height: 1.78;
    font-size: 0.98rem;
  }
  
  /* =========================
     QUICK ACCESS
  ========================= */
  .quick-access {
    position: relative;
    padding: 108px 0 110px;
    overflow: hidden;
    background:
      linear-gradient(180deg, rgba(2, 8, 18, 0.18) 0%, rgba(2, 8, 18, 0.68) 18%, rgba(2, 8, 18, 0.88) 100%),
      url("../img/seccion-acceso.jpg") center center / cover fixed no-repeat;
    border-top: 1px solid rgba(84, 132, 255, 0.1);
    border-bottom: 1px solid rgba(84, 132, 255, 0.08);
  }
  
  .quick-access::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
      linear-gradient(90deg, rgba(0, 8, 22, 0.88) 0%, rgba(0, 10, 28, 0.66) 30%, rgba(0, 10, 28, 0.66) 70%, rgba(0, 8, 22, 0.88) 100%),
      radial-gradient(circle at center, rgba(0, 115, 225, 0.08) 0%, transparent 58%);
    pointer-events: none;
  }
  
  .quick-access .container-fluid {
    position: relative;
    z-index: 2;
  }
  
  .quick-access .section-heading {
    margin-bottom: 42px;
  }
  
  .quick-access .section-heading__eyebrow {
    background: rgba(0, 52, 110, 0.42);
    border-color: rgba(0, 115, 225, 0.2);
    backdrop-filter: blur(8px);
  }
  
  .quick-access .section-heading__title {
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
  }
  
  .quick-access__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 26px;
    align-items: stretch;
  }
  
  .access-card {
    min-height: 280px;
    padding: 34px 30px 30px;
  }
  
  .access-card__icon {
    margin-bottom: 28px;
  }
  
  .access-card__title {
    margin: 0 0 12px;
    color: var(--white);
    font-size: 1.9rem;
    line-height: 1.1;
    font-weight: 800;
    letter-spacing: -0.02em;
  }
  
  .access-card__text {
    margin: 0;
    max-width: 38ch;
    color: rgba(255, 255, 255, 0.8);
    line-height: 1.8;
    font-size: 1rem;
  }
  
  
  /* =========================
     NEWS PREVIEW
  ========================= */
  .news-preview {
    position: relative;
    padding: 108px 0 110px;
    background:
      linear-gradient(180deg, rgba(2, 10, 22, 0.92) 0%, rgba(3, 12, 27, 0.96) 100%),
      linear-gradient(90deg, #03101f 0%, #07192d 50%, #03101f 100%);
    overflow: hidden;
    border-top: 1px solid rgba(84, 132, 255, 0.08);
    border-bottom: 1px solid rgba(84, 132, 255, 0.08);
  }
  
  .news-preview::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
      radial-gradient(circle at top center, rgba(0, 115, 225, 0.08) 0%, transparent 24%),
      radial-gradient(circle at bottom left, rgba(58, 160, 255, 0.05) 0%, transparent 22%),
      linear-gradient(90deg, rgba(0, 8, 22, 0.72) 0%, rgba(0, 14, 34, 0.28) 50%, rgba(0, 8, 22, 0.72) 100%);
    pointer-events: none;
  }
  
  .news-preview .container-fluid {
    position: relative;
    z-index: 2;
  }
  
  .news-preview .section-heading {
    max-width: 860px;
    margin-bottom: 46px;
  }
  
  .news-preview__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
    align-items: stretch;
  }
  
  .news-card {
    position: relative;
    display: flex;
    flex-direction: column;
    border-radius: 28px;
    overflow: hidden;
    isolation: isolate;
    background:
      linear-gradient(145deg, rgba(7, 20, 43, 0.92) 0%, rgba(3, 12, 28, 0.97) 100%);
    border: 1px solid rgba(74, 130, 255, 0.16);
    box-shadow:
      0 24px 55px rgba(0, 0, 0, 0.32),
      inset 0 1px 0 rgba(255, 255, 255, 0.03);
    transition:
      transform 0.34s ease,
      border-color 0.34s ease,
      box-shadow 0.34s ease,
      background 0.34s ease;
  }
  
  .news-card::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
      linear-gradient(180deg, rgba(255, 255, 255, 0.022) 0%, rgba(255, 255, 255, 0) 40%),
      radial-gradient(circle at top right, rgba(0, 115, 225, 0.15) 0%, transparent 42%);
    z-index: -1;
  }
  
  .news-card::after {
    content: "";
    position: absolute;
    left: 26px;
    right: 26px;
    bottom: 0;
    height: 3px;
    border-radius: 999px;
    background: linear-gradient(
      90deg,
      rgba(0, 115, 225, 0) 0%,
      rgba(0, 115, 225, 0.9) 50%,
      rgba(0, 115, 225, 0) 100%
    );
    opacity: 0.76;
    transform: scaleX(0.72);
    transform-origin: center;
    transition: transform 0.34s ease, opacity 0.34s ease;
  }
  
  .news-card:hover {
    transform: translateY(-8px);
    border-color: rgba(100, 163, 255, 0.3);
    background:
      linear-gradient(145deg, rgba(8, 24, 50, 0.95) 0%, rgba(4, 14, 32, 0.98) 100%);
    box-shadow:
      0 30px 64px rgba(0, 0, 0, 0.38),
      0 0 24px rgba(0, 115, 225, 0.08);
  }
  
  .news-card:hover::after {
    opacity: 1;
    transform: scaleX(1);
  }
  
  .news-card__media {
    height: 240px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: relative;
    border-bottom: 1px solid rgba(84, 132, 255, 0.08);
  }
  
  .news-card__media::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
      linear-gradient(180deg, rgba(4, 10, 19, 0.08), rgba(4, 10, 19, 0.34));
  }
  
  .news-card__body {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    padding: 22px 22px 24px;
  }
  
  .news-card__tag {
    display: inline-flex;
    align-items: center;
    align-self: flex-start;
    min-height: 32px;
    padding: 6px 14px;
    margin-bottom: 14px;
    border-radius: 999px;
    background: rgba(0, 52, 110, 0.34);
    border: 1px solid rgba(0, 115, 225, 0.2);
    color: var(--color-primary-light);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    backdrop-filter: blur(8px);
  }
  
  .news-card__title {
    margin: 0;
    color: var(--white);
    font-size: 1.34rem;
    line-height: 1.25;
    font-weight: 800;
    letter-spacing: -0.015em;
  }
  
  @media (max-width: 1199.98px) {
    .news-preview__grid {
      grid-template-columns: 1fr;
      gap: 20px;
    }
  }
  
  @media (max-width: 767.98px) {
    .news-preview {
      padding: 84px 0 88px;
    }
  
    .news-preview .section-heading {
      margin-bottom: 32px;
    }
  
    .news-preview__grid {
      gap: 16px;
    }
  
    .news-card {
      border-radius: 22px;
    }
  
    .news-card::after {
      left: 20px;
      right: 20px;
    }
  
    .news-card__media {
      height: 210px;
    }
  
    .news-card__body {
      padding: 18px 18px 20px;
    }
  
    .news-card__title {
      font-size: 1.2rem;
    }
  }
  
  
  /* =========================
     FOOTER
  ========================= */
  .site-footer {
    background: linear-gradient(180deg, #081120 0%, #050c17 100%);
    color: #ffffff;
    padding: 22px 0 18px;
    position: relative;
    overflow: visible;
    border-top: 1px solid rgba(84, 132, 255, 0.14);
  }
  
  .site-footer::before {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at top center, rgba(0, 115, 225, 0.08) 0%, transparent 55%);
    pointer-events: none;
  }
  
  .site-footer .container {
    position: relative;
    z-index: 2;
  }
  
  .footer-grid--compact {
    display: grid;
    grid-template-columns: 1.15fr 1.25fr 0.95fr;
    gap: 24px;
    padding-bottom: 16px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.10);
  }
  
  .footer-info-card {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    min-width: 0;
  }
  
  .footer-info-card__icon {
    width: 48px;
    height: 48px;
    border-radius: 14px;
    background: rgba(0, 115, 225, 0.14);
    color: var(--color-primary-light);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.05rem;
    flex: 0 0 48px;
  }
  
  .footer-info-card__content {
    flex: 1;
    min-width: 0;
  }
  
  .footer-title {
    margin: 0 0 10px;
    font-size: 1rem;
    line-height: 1.2;
    font-weight: 700;
    color: var(--white);
  }
  
  .footer-text {
    margin: 0;
    font-size: 0.95rem;
    line-height: 1.7;
    color: rgba(255, 255, 255, 0.82);
  }
  
  .footer-text a {
    color: #ffffff;
  }
  
  .footer-text a:hover {
    color: var(--color-primary-light);
  }
  
  .footer-list {
    margin: 0;
    padding: 0;
    list-style: none;
  }
  
  .footer-list li {
    margin-bottom: 8px;
  }
  
  .footer-list li:last-child {
    margin-bottom: 0;
  }
  
  .footer-list a {
    color: rgba(255, 255, 255, 0.82);
    font-size: 0.95rem;
    line-height: 1.6;
  }
  
  .footer-list a:hover {
    color: var(--color-primary-light);
  }
  
  .footer-list--phones {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 18px;
    row-gap: 6px;
  }
  
  .footer-socials {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 14px;
  }
  
  .footer-socials a {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.08);
    color: #ffffff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
  
  .footer-socials a:hover {
    background: rgba(0, 115, 225, 0.18);
    color: var(--white);
    transform: translateY(-2px);
  }
  
  .footer-bottom--stacked {
    padding-top: 14px;
    position: relative;
  }
  
  .footer-links--inline {
    display: flex;
    align-items: center;
    gap: 28px;
    flex-wrap: wrap;
  }
  
  .footer-links--center {
    justify-content: center;
    margin-bottom: 10px;
    width: 100%;
    text-align: center;
  }
  
  .footer-links--inline a {
    color: var(--color-primary-light);
    font-size: 0.94rem;
    font-weight: 500;
  }
  
  .footer-links--inline a:hover {
    color: #ffffff;
  }
  
  .footer-copy {
    font-size: 0.93rem;
    color: rgba(255, 255, 255, 0.78);
  }
  
  .footer-copy--center {
    text-align: center;
    width: 100%;
  }
  
  .footer-back-top {
    position: absolute;
    top: 0;
    right: 22px;
    transform: translateY(-50%);
    z-index: 10;
    width: 52px;
    height: 52px;
    border: 0;
    border-radius: 50%;
    background: #0c1730;
    color: var(--color-primary-light);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: 0 14px 28px rgba(0, 0, 0, 0.22);
  }
  
  .footer-back-top:hover {
    background: rgba(0, 115, 225, 0.24);
    color: #ffffff;
    transform: translateY(-50%) translateY(-2px);
  }
  
  /* =========================
     HOME ONLY
  ========================= */
  .page-home .topbar {
    display: none;
  }
  
  .page-home .site-header {
    top: 0;
  }
  
  /* =========================
     GENERIC BTN PRIMARY
  ========================= */
  .btn-primary {
    background: linear-gradient(135deg, #0073e1, #3aa0ff);
    border: none;
    color: #fff;
    box-shadow: 0 10px 25px rgba(0, 115, 225, 0.35);
  }
  
  .btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 30px rgba(0, 115, 225, 0.5);
  }
  
  /* =========================
     RESPONSIVE
  ========================= */
  @media (max-width: 1399.98px) {
    .main-nav__link {
      padding: 0 10px;
      font-size: 14px;
    }
  
    .btn-cta {
      padding: 0 16px;
      font-size: 13px;
    }
  
    .priority-programs__grid,
    .academic-map__grid,
    .institutional-value__grid,
    .quick-access__grid,
    .news-preview__grid {
      gap: 18px;
    }
  }
  
  @media (max-width: 1199.98px) {
    .main-nav {
      display: none;
    }
  
    .mobile-menu-toggle {
      display: inline-flex;
      align-items: center;
      justify-content: center;
    }
  
    .site-header__actions .btn-cta {
      display: none;
    }
  
    .hero-tech__grid {
      grid-template-columns: 1fr;
      gap: 30px;
      padding: 58px 0 72px;
    }
  
    .hero-tech__panel {
      max-width: 560px;
    }
  
    .priority-programs__grid,
    .institutional-value__grid,
    .quick-access__grid,
    .news-preview__grid {
      grid-template-columns: 1fr;
    }
  
    .academic-map__grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  
    .quick-access {
      background-attachment: scroll;
    }
  
    .priority-card,
    .value-card,
    .access-card {
      min-height: auto;
    }
  
    .priority-card__title,
    .priority-card__text {
      max-width: none;
    }
  }
  
  @media (max-width: 991.98px) {
    .hero-tech__carousel,
    .hero-tech__slide {
      min-height: auto;
    }
  
    .hero-tech__grid {
      min-height: auto;
      padding: 48px 0 78px;
    }
  
    .hero-tech__overlay {
      background: linear-gradient(180deg, rgba(4, 10, 19, 0.9) 0%, rgba(4, 10, 19, 0.76) 45%, rgba(4, 10, 19, 0.9) 100%);
    }
  
    .hero-tech__control {
      display: none;
    }
  
    .priority-programs,
    .academic-map,
    .institutional-value,
    .quick-access,
    .news-preview {
      padding-bottom: 72px;
    }
  
    .priority-programs {
      padding-top: 72px;
    }
  
    .footer-grid--compact {
      grid-template-columns: 1fr;
      gap: 18px;
    }
  
    .footer-info-card {
      padding-bottom: 16px;
      border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    }
  
    .footer-info-card:last-child {
      padding-bottom: 0;
      border-bottom: 0;
    }
  
    .academic-map {
      background-attachment: scroll;
    }
  
    section.institutional-value .institutional-value__grid {
      grid-template-columns: 1fr;
    }
  }
  
  @media (max-width: 767.98px) {
    :root {
      --header-height: 82px;
      --topbar-height: 38px;
    }
  
    .container-fluid {
      padding-left: 16px;
      padding-right: 16px;
    }
  
    .topbar__left {
      gap: 10px;
    }
  
    .topbar__left a:not(.topbar__phone) {
      display: none;
    }
  
    .site-logo img {
      height: 56px;
    }
  
    .hero-tech__eyebrow {
      margin-bottom: 16px;
      font-size: 11px;
      letter-spacing: 0.12em;
    }
  
    .hero-tech__title {
      font-size: clamp(2.2rem, 10vw, 3.8rem);
      line-height: 0.98;
    }
  
    .hero-tech__text {
      font-size: 0.98rem;
      line-height: 1.75;
    }
  
    .hero-tech__actions {
      flex-direction: column;
    }
  
    .btn-tech {
      width: 100%;
      min-height: 50px;
    }
  
    .ui-card {
      border-radius: 22px;
    }
  
    .ui-card::after {
      left: 20px;
      right: 20px;
    }
  
    .ui-card__icon {
      width: 62px;
      height: 62px;
      min-width: 62px;
      border-radius: 18px;
      font-size: 1.2rem;
    }
  
    .ui-card--hero {
      padding: 24px 20px;
      border-radius: 24px;
    }
  
    .hero-tech__meta-item {
      padding: 14px;
      border-radius: 16px;
    }
  
    .section-heading {
      margin-bottom: 30px;
    }
  
    .section-heading__title {
      font-size: clamp(1.8rem, 8vw, 2.5rem);
      line-height: 1.1;
    }
  
    .section-heading__text {
      font-size: 0.96rem;
      line-height: 1.7;
    }
  
    .priority-card {
      flex-direction: column;
      gap: 16px;
      padding: 24px 22px 22px;
    }
  
    .priority-card__title {
      font-size: 1.38rem;
      line-height: 1.08;
    }
  
    .priority-card__text {
      font-size: 0.95rem;
      line-height: 1.72;
      margin-bottom: 18px;
    }
  
    .priority-card__link {
      font-size: 0.96rem;
    }
  
    .academic-map__grid {
      grid-template-columns: 1fr;
    }
  
    .academic-tile {
      min-height: 240px;
      padding: 22px 18px;
    }
  
    .academic-map {
      padding: 72px 0;
      background-attachment: scroll;
      background-position: center top;
    }
  
    section.institutional-value {
      padding: 72px 0;
    }
  
    section.institutional-value .section-heading {
      margin-bottom: 32px;
    }
  
    section.institutional-value .value-card {
      padding: 22px 18px;
      border-radius: 20px;
    }
  
    section.institutional-value .value-card__title {
      font-size: 1.3rem;
    }
  
    section.institutional-value .value-card__text {
      font-size: 0.95rem;
      line-height: 1.72;
    }
  
    .quick-access {
      padding: 84px 0 88px;
    }
  
    .quick-access .section-heading {
      margin-bottom: 32px;
    }
  
    .quick-access__grid,
    .news-preview__grid {
      gap: 16px;
    }
  
    .access-card {
      padding: 26px 22px 24px;
    }
  
    .access-card__title {
      font-size: 1.38rem;
    }
  
    .access-card__text {
      font-size: 0.95rem;
      line-height: 1.7;
    }
  
    .news-card__media {
      height: 210px;
    }
  
    .news-card__body {
      padding: 18px;
    }
  
    .footer-list--phones {
      grid-template-columns: repeat(2, minmax(0, 1fr));
      column-gap: 12px;
      row-gap: 6px;
    }
  
    .footer-info-card:nth-child(3) .footer-info-card__content {
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      column-gap: 14px;
      row-gap: 8px;
      align-items: center;
    }
  
    .footer-info-card:nth-child(3) .footer-title {
      grid-column: 1 / -1;
    }
  
    .footer-info-card:nth-child(3) .footer-text {
      grid-column: 1 / 2;
      margin-bottom: 0;
    }
  
    .footer-info-card:nth-child(3) .footer-socials {
      grid-column: 2 / 3;
      justify-content: flex-end;
      align-items: center;
      height: 100%;
      margin-top: 0;
    }
  
    .footer-links--center {
      justify-content: center;
      flex-direction: row;
      gap: 10px;
      margin-bottom: 12px;
      text-align: center;
    }
  
    .footer-links--inline a:not(:last-child)::after {
      content: "|";
      margin-left: 10px;
      color: rgba(255, 255, 255, 0.4);
    }
  
    .footer-back-top {
      right: 14px;
      width: 46px;
      height: 46px;
    }
  }
  
  @media (max-width: 479.98px) {
    .topbar__phone {
      font-size: 12px;
    }
  
    .mobile-menu {
      width: 100vw;
    }
  }
  
  .hero-tech,
  .hero-tech__carousel,
  .hero-tech__slide,
  .hero-tech__container {
    position: relative;
    z-index: 1;
  }
  
  .site-header,
  .site-header__inner,
  .main-nav,
  .main-nav__list,
  .main-nav__item {
    overflow: visible;
  }
  
  /* =========================
     HISTORIA PAGE TEMPLATE
  ========================= */
  
  .historia-page {
    padding-top: var(--header-height);
    background:
      radial-gradient(circle at top left, rgba(0, 115, 225, 0.08), transparent 24%),
      radial-gradient(circle at bottom right, rgba(58, 160, 255, 0.06), transparent 24%),
      linear-gradient(180deg, #050c17 0%, #081321 100%);
  }
  
  .historia-page .container {
    width: 100%;
    max-width: 1180px;
    margin: 0 auto;
    padding-left: 24px;
    padding-right: 24px;
  }
  
  .historia-container {
    max-width: 1100px;
  }
  
  /* =========================
     HERO INTERIOR
  ========================= */
  
  .entry-page__hero {
    position: relative;
    padding: 92px 0 42px;
    overflow: hidden;
  }
  
  .entry-page__hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
      radial-gradient(circle at top center, rgba(0, 115, 225, 0.08) 0%, transparent 26%),
      linear-gradient(180deg, rgba(255,255,255,0.01), rgba(255,255,255,0));
    pointer-events: none;
  }
  
  .entry-page__hero-inner {
    position: relative;
    z-index: 2;
    max-width: 900px;
  }
  
  .entry-page__eyebrow {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    padding: 8px 16px;
    border-radius: 999px;
    background: rgba(0, 115, 225, 0.08);
    border: 1px solid rgba(0, 115, 225, 0.22);
    color: var(--color-primary-light);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    margin-bottom: 18px;
  }
  
  .entry-page__title {
    margin: 0 0 18px;
    color: var(--white);
    font-size: clamp(2.4rem, 5vw, 4.5rem);
    line-height: 0.98;
    font-weight: 900;
    letter-spacing: -0.04em;
  }
  
  .entry-page__lead {
    margin: 0;
    max-width: 820px;
    color: rgba(235, 241, 255, 0.86);
    font-size: 1.14rem;
    line-height: 1.85;
  }
  
  /* =========================
     CITA INTRO
  ========================= */
  
  .historia-quote-wrapper {
    padding: 0 0 34px;
  }
  
  .historia-quote {
    position: relative;
    padding: 24px 28px;
    border-radius: 24px;
    background:
      linear-gradient(145deg, rgba(7, 20, 43, 0.9) 0%, rgba(3, 12, 28, 0.96) 100%);
    border: 1px solid rgba(74, 130, 255, 0.16);
    box-shadow:
      0 24px 55px rgba(0, 0, 0, 0.24),
      inset 0 1px 0 rgba(255, 255, 255, 0.03);
    color: rgba(255, 255, 255, 0.88);
    font-size: 1.06rem;
    line-height: 1.85;
  }
  
  /* =========================
     CONTENIDO
  ========================= */
  
  .historia-content {
    padding: 0 0 72px;
  }
  
  .historia-intro-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 460px);
    gap: 34px;
    align-items: start;
  }
  
  .historia-intro-grid__text p {
    margin: 0 0 22px;
    color: rgba(255, 255, 255, 0.9);
    font-size: 1.08rem;
    line-height: 1.85;
  }
  
  .historia-intro-grid__text p:last-child {
    margin-bottom: 0;
  }
  
  .historia-intro-grid__text strong {
    color: var(--white);
    font-weight: 800;
  }
  
  .historia-mural-card {
    margin: 0;
    position: sticky;
    top: calc(var(--header-height) + 24px);
    border-radius: 28px;
    overflow: hidden;
    border: 1px solid rgba(84, 132, 255, 0.16);
    box-shadow:
      0 24px 55px rgba(0, 0, 0, 0.28),
      inset 0 1px 0 rgba(255,255,255,0.03);
  }
  
  .historia-mural-card img {
    width: 100%;
    height: auto;
    display: block;
  }
  
  /* =========================
     PRESEA
  ========================= */
  
  .historia-presea {
    padding: 0 0 78px;
  }
  
  .historia-presea__intro {
    max-width: 940px;
    margin-bottom: 30px;
  }
  
  .historia-section-label {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    padding: 7px 14px;
    border-radius: 999px;
    background: rgba(0, 52, 110, 0.34);
    border: 1px solid rgba(0, 115, 225, 0.2);
    color: var(--color-primary-light);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    margin-bottom: 16px;
  }
  
  .historia-presea__intro h2 {
    margin: 0 0 16px;
    color: var(--white);
    font-size: clamp(2rem, 4vw, 3.3rem);
    line-height: 1.04;
    font-weight: 900;
    letter-spacing: -0.03em;
  }
  
  .historia-presea__intro p {
    margin: 0 0 18px;
    color: rgba(255,255,255,0.86);
    font-size: 1.05rem;
    line-height: 1.85;
  }
  
  .historia-presea__intro p:last-child {
    margin-bottom: 0;
  }
  
  /* =========================
     FAQ / ACCORDION
  ========================= */
  
  .historia-presea__faq {
    display: grid;
    gap: 14px;
    margin-bottom: 34px;
  }
  
  .historia-accordion-item {
    border: 1px solid rgba(84, 132, 255, 0.14);
    border-radius: 22px;
    overflow: hidden;
    background:
      linear-gradient(145deg, rgba(7, 20, 43, 0.92) 0%, rgba(3, 12, 28, 0.97) 100%);
    box-shadow:
      0 18px 38px rgba(0, 0, 0, 0.22),
      inset 0 1px 0 rgba(255,255,255,0.03);
  }
  
  .accordion-item__title {
    margin: 0;
  }
  
  .historia-accordion-header {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 22px 24px;
    border: 0;
    background: transparent;
    color: var(--white);
    font-size: 1.12rem;
    font-weight: 800;
    line-height: 1.45;
    text-align: left;
    box-shadow: none;
  }
  
  .historia-accordion-header:focus,
  .historia-accordion-header:focus-visible {
    outline: none;
    box-shadow: none;
  }
  
  .historia-accordion-header .accordion-icon {
    width: 42px;
    height: 42px;
    min-width: 42px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 115, 225, 0.12);
    border: 1px solid rgba(0, 115, 225, 0.18);
    color: var(--color-primary-light);
    transition: transform 0.28s ease, background 0.28s ease, color 0.28s ease;
  }
  
  .historia-accordion-header[aria-expanded="true"] .accordion-icon {
    transform: rotate(180deg);
    background: rgba(0, 115, 225, 0.2);
    color: var(--white);
  }
  
  .historia-accordion-body {
    padding: 0 24px 24px;
    color: rgba(255, 255, 255, 0.84);
    font-size: 1rem;
    line-height: 1.8;
    border-top: 1px solid rgba(84, 132, 255, 0.1);
  }
  
  /* =========================
     BANNER PRESEA
  ========================= */
  
  .presea-banner {
    border-radius: 28px;
    overflow: hidden;
    border: 1px solid rgba(84, 132, 255, 0.14);
    box-shadow:
      0 24px 55px rgba(0, 0, 0, 0.28),
      inset 0 1px 0 rgba(255,255,255,0.03);
  }
  
  .presea-banner img {
    width: 100%;
    height: auto;
    display: block;
  }
  
  /* =========================
     IDENTIDAD
  ========================= */
  
  .historia-identity {
    padding: 0 0 90px;
  }
  
  .historia-identity__panel {
    position: relative;
    padding: 34px 0 0;
    border-top: 1px solid rgba(84, 132, 255, 0.14);
  }
  
  .historia-label {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    padding: 6px 12px;
    border-radius: 999px;
    background: rgba(0, 115, 225, 0.08);
    border: 1px solid rgba(0, 115, 225, 0.18);
    color: var(--color-primary-light);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    margin-bottom: 16px;
  }
  
  .historia-identity__intro {
    max-width: 860px;
    margin-bottom: 28px;
  }
  
  .historia-identity__intro h2 {
    margin: 0 0 14px;
    color: var(--white);
    font-size: clamp(1.9rem, 4vw, 3rem);
    line-height: 1.06;
    font-weight: 900;
    letter-spacing: -0.03em;
  }
  
  .historia-identity__intro p {
    margin: 0;
    color: rgba(255,255,255,0.84);
    font-size: 1.04rem;
    line-height: 1.8;
  }
  
  .historia-identity__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
  }
  
  .identity-button {
    position: relative;
    display: flex;
    align-items: center;
    gap: 16px;
    min-height: 110px;
    padding: 22px 22px;
    border-radius: 24px;
    overflow: hidden;
    isolation: isolate;
    background:
      linear-gradient(145deg, rgba(7, 20, 43, 0.92) 0%, rgba(3, 12, 28, 0.97) 100%);
    border: 1px solid rgba(74, 130, 255, 0.16);
    box-shadow:
      0 20px 46px rgba(0, 0, 0, 0.24),
      inset 0 1px 0 rgba(255,255,255,0.03);
    transition:
      transform 0.32s ease,
      border-color 0.32s ease,
      box-shadow 0.32s ease,
      background 0.32s ease;
  }
  
  .identity-button::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
      linear-gradient(180deg, rgba(255, 255, 255, 0.022) 0%, rgba(255, 255, 255, 0) 40%),
      radial-gradient(circle at top right, rgba(0, 115, 225, 0.15) 0%, transparent 42%);
    z-index: -1;
  }
  
  .identity-button::after {
    content: "";
    position: absolute;
    left: 22px;
    right: 22px;
    bottom: 0;
    height: 3px;
    border-radius: 999px;
    background: linear-gradient(
      90deg,
      rgba(0, 115, 225, 0) 0%,
      rgba(0, 115, 225, 0.9) 50%,
      rgba(0, 115, 225, 0) 100%
    );
    opacity: 0.78;
    transform: scaleX(0.72);
    transform-origin: center;
    transition: transform 0.32s ease, opacity 0.32s ease;
  }
  
  .identity-button:hover {
    transform: translateY(-6px);
    border-color: rgba(100, 163, 255, 0.28);
    box-shadow:
      0 28px 58px rgba(0, 0, 0, 0.32),
      0 0 22px rgba(0, 115, 225, 0.08);
  }
  
  .identity-button:hover::after {
    opacity: 1;
    transform: scaleX(1);
  }
  
  .identity-button__icon {
    width: 56px;
    height: 56px;
    min-width: 56px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(180deg, rgba(0, 115, 225, 0.2), rgba(0, 115, 225, 0.1));
    border: 1px solid rgba(0, 115, 225, 0.2);
    color: #8fd0ff;
    font-size: 1.15rem;
  }
  
  .identity-button__content {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
  }
  
  .identity-button__title {
    color: var(--white);
    font-size: 1.08rem;
    font-weight: 800;
    line-height: 1.3;
  }
  
  .identity-button__link {
    color: rgba(255,255,255,0.74);
    font-size: 0.95rem;
    line-height: 1.5;
  }
  
  .identity-button__arrow {
    margin-left: auto;
    color: var(--color-primary-light);
    font-size: 1rem;
  }
  
  /* =========================
     HISTORIA RESPONSIVE
  ========================= */
  
  @media (max-width: 1199.98px) {
    .historia-intro-grid {
      grid-template-columns: 1fr;
    }
  
    .historia-mural-card {
      position: relative;
      top: auto;
      max-width: 760px;
    }
  
    .historia-identity__grid {
      grid-template-columns: 1fr;
    }
  }
  
  @media (max-width: 767.98px) {
    .historia-page .container {
      padding-left: 16px;
      padding-right: 16px;
    }
  
    .entry-page__hero {
      padding: 74px 0 32px;
    }
  
    .entry-page__lead,
    .historia-intro-grid__text p,
    .historia-presea__intro p,
    .historia-identity__intro p,
    .historia-accordion-body {
      font-size: 0.98rem;
      line-height: 1.75;
    }
  
    .historia-quote {
      padding: 20px 18px;
      border-radius: 20px;
      font-size: 0.98rem;
    }
  
    .historia-content,
    .historia-presea,
    .historia-identity {
      padding-bottom: 64px;
    }
  
    .historia-accordion-header {
      padding: 18px 18px;
      font-size: 1rem;
    }
  
    .historia-accordion-body {
      padding: 0 18px 18px;
    }
  
    .presea-banner,
    .historia-mural-card {
      border-radius: 22px;
    }
  
    .identity-button {
      min-height: auto;
      padding: 18px 18px;
      border-radius: 20px;
    }
  
    .identity-button__icon {
      width: 48px;
      height: 48px;
      min-width: 48px;
      border-radius: 14px;
    }
  }
  
  /* =========================
     INTERIOR TEMPLATE SYSTEM
  ========================= */
  
  .page-interior {
    background:
      radial-gradient(circle at top left, rgba(0, 115, 225, 0.08), transparent 24%),
      radial-gradient(circle at bottom right, rgba(58, 160, 255, 0.06), transparent 24%),
      linear-gradient(180deg, #050c17 0%, #081321 100%);
  }
  
  .inner-page {
    padding-top: calc(var(--header-height) + 28px);
  }
  
  .inner-container {
    width: 100%;
    max-width: 1180px;
    margin: 0 auto;
    padding-left: 24px;
    padding-right: 24px;
  }
  
  .inner-block {
    position: relative;
    padding: 0 0 84px;
  }
  
  .inner-block--tight {
    padding-top: 4px;
  }
  
  .inner-block--last {
    padding-bottom: 96px;
  }
  
  /* =========================
     HERO
  ========================= */
  
  .inner-hero {
    position: relative;
    padding: 54px 0 38px;
    overflow: hidden;
  }
  
  .inner-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
      radial-gradient(circle at top center, rgba(0, 115, 225, 0.08) 0%, transparent 26%),
      linear-gradient(180deg, rgba(255,255,255,0.01), rgba(255,255,255,0));
    pointer-events: none;
  }
  
  .inner-hero__content {
    position: relative;
    z-index: 2;
    max-width: 920px;
  }
  
  .inner-hero__eyebrow {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    padding: 8px 16px;
    border-radius: 999px;
    background: rgba(0, 115, 225, 0.08);
    border: 1px solid rgba(0, 115, 225, 0.22);
    color: var(--color-primary-light);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    margin-bottom: 18px;
  }
  
  .inner-hero__title {
    margin: 0 0 18px;
    color: var(--white);
    font-size: clamp(2.4rem, 5vw, 4.4rem);
    line-height: 0.98;
    font-weight: 900;
    letter-spacing: -0.04em;
  }
  
  .inner-hero__lead {
    margin: 0;
    max-width: 840px;
    color: rgba(235, 241, 255, 0.86);
    font-size: 1.08rem;
    line-height: 1.85;
  }
  
  /* =========================
     QUOTE
  ========================= */
  
  .inner-quote {
    position: relative;
    padding: 24px 28px;
    border-radius: 24px;
    background:
      linear-gradient(145deg, rgba(7, 20, 43, 0.9) 0%, rgba(3, 12, 28, 0.96) 100%);
    border: 1px solid rgba(74, 130, 255, 0.16);
    box-shadow:
      0 24px 55px rgba(0, 0, 0, 0.24),
      inset 0 1px 0 rgba(255, 255, 255, 0.03);
    color: rgba(255, 255, 255, 0.88);
    font-size: 1.04rem;
    line-height: 1.85;
  }
  
  /* =========================
     CONTENT GRID
  ========================= */
  
  .inner-content-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 460px);
    gap: 34px;
    align-items: start;
  }
  
  .inner-richtext p {
    margin: 0 0 22px;
    color: rgba(255, 255, 255, 0.9);
    font-size: 1.05rem;
    line-height: 1.85;
  }
  
  .inner-richtext p:last-child {
    margin-bottom: 0;
  }
  
  .inner-richtext strong {
    color: var(--white);
    font-weight: 800;
  }
  
  .inner-media-card {
    margin: 0;
    border-radius: 28px;
    overflow: hidden;
    border: 1px solid rgba(84, 132, 255, 0.16);
    box-shadow:
      0 24px 55px rgba(0, 0, 0, 0.28),
      inset 0 1px 0 rgba(255,255,255,0.03);
  }
  
  .inner-media-card img {
    width: 100%;
    height: auto;
    display: block;
  }
  
  /* =========================
     SECTION INTRO
  ========================= */
  
  .inner-section-intro {
    max-width: 920px;
    margin-bottom: 28px;
  }
  
  .inner-section-intro--compact {
    margin-bottom: 22px;
  }
  
  .inner-section-intro__kicker {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    padding: 7px 14px;
    border-radius: 999px;
    background: rgba(0, 52, 110, 0.34);
    border: 1px solid rgba(0, 115, 225, 0.2);
    color: var(--color-primary-light);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    margin-bottom: 16px;
  }
  
  .inner-section-intro__title {
    margin: 0 0 14px;
    color: var(--white);
    font-size: clamp(2rem, 4vw, 3.3rem);
    line-height: 1.04;
    font-weight: 900;
    letter-spacing: -0.03em;
  }
  
  .inner-section-intro__text {
    margin: 0;
    color: rgba(255,255,255,0.86);
    font-size: 1.03rem;
    line-height: 1.85;
  }
  
  /* =========================
     ACCORDION
  ========================= */
  
  .inner-accordion {
    display: grid;
    gap: 14px;
  }
  
  .inner-accordion__item {
    border: 1px solid rgba(84, 132, 255, 0.14);
    border-radius: 22px;
    overflow: hidden;
    background:
      linear-gradient(145deg, rgba(7, 20, 43, 0.92) 0%, rgba(3, 12, 28, 0.97) 100%);
    box-shadow:
      0 18px 38px rgba(0, 0, 0, 0.22),
      inset 0 1px 0 rgba(255,255,255,0.03);
  }
  
  .inner-accordion__title {
    margin: 0;
  }
  
  .inner-accordion__button {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 22px 24px;
    border: 0;
    background: transparent;
    color: var(--white);
    font-size: 1.08rem;
    font-weight: 800;
    line-height: 1.45;
    text-align: left;
    box-shadow: none;
  }
  
  .inner-accordion__button:focus,
  .inner-accordion__button:focus-visible {
    outline: none;
    box-shadow: none;
  }
  
  .inner-accordion__button span:first-child {
    flex: 1 1 auto;
  }
  
  .inner-accordion__icon {
    width: 42px;
    height: 42px;
    min-width: 42px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 115, 225, 0.12);
    border: 1px solid rgba(0, 115, 225, 0.18);
    color: var(--color-primary-light);
    transition: transform 0.28s ease, background 0.28s ease, color 0.28s ease;
  }
  
  .inner-accordion__button[aria-expanded="true"] .inner-accordion__icon {
    transform: rotate(180deg);
    background: rgba(0, 115, 225, 0.2);
    color: var(--white);
  }
  
  .inner-accordion__body {
    padding: 0 24px 24px;
    color: rgba(255, 255, 255, 0.84);
    font-size: 1rem;
    line-height: 1.8;
    border-top: 1px solid rgba(84, 132, 255, 0.1);
  }
  
  /* =========================
     BANNER
  ========================= */
  
  .inner-banner {
    border-radius: 28px;
    overflow: hidden;
    border: 1px solid rgba(84, 132, 255, 0.14);
    box-shadow:
      0 24px 55px rgba(0, 0, 0, 0.28),
      inset 0 1px 0 rgba(255,255,255,0.03);
  }
  
  .inner-banner img {
    width: 100%;
    height: auto;
    display: block;
  }
  
  
  /* =========================
     CTA GRID (GENÉRICO INTERIOR)
  ========================= */
  
  .inner-cta-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
  }
  
  .inner-cta-card {
    position: relative;
    display: flex;
    align-items: center;
    gap: 16px;
    min-height: 110px;
    padding: 22px 22px;
    border-radius: 24px;
    overflow: hidden;
    isolation: isolate;
    background:
      linear-gradient(145deg, rgba(7, 20, 43, 0.92) 0%, rgba(3, 12, 28, 0.97) 100%);
    border: 1px solid rgba(74, 130, 255, 0.16);
    box-shadow:
      0 20px 46px rgba(0, 0, 0, 0.24),
      inset 0 1px 0 rgba(255,255,255,0.03);
    transition:
      transform 0.32s ease,
      border-color 0.32s ease,
      box-shadow 0.32s ease,
      background 0.32s ease;
  }
  
  .inner-cta-card::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
      linear-gradient(180deg, rgba(255, 255, 255, 0.022) 0%, rgba(255, 255, 255, 0) 40%),
      radial-gradient(circle at top right, rgba(0, 115, 225, 0.15) 0%, transparent 42%);
    z-index: -1;
  }
  
  .inner-cta-card::after {
    content: "";
    position: absolute;
    left: 22px;
    right: 22px;
    bottom: 0;
    height: 3px;
    border-radius: 999px;
    background: linear-gradient(
      90deg,
      rgba(0, 115, 225, 0) 0%,
      rgba(0, 115, 225, 0.9) 50%,
      rgba(0, 115, 225, 0) 100%
    );
    opacity: 0.78;
    transform: scaleX(0.72);
    transform-origin: center;
    transition: transform 0.32s ease, opacity 0.32s ease;
  }
  
  .inner-cta-card:hover {
    transform: translateY(-6px);
    border-color: rgba(100, 163, 255, 0.28);
    box-shadow:
      0 28px 58px rgba(0, 0, 0, 0.32),
      0 0 22px rgba(0, 115, 225, 0.08);
  }
  
  .inner-cta-card:hover::after {
    opacity: 1;
    transform: scaleX(1);
  }
  
  .inner-cta-card__icon {
    width: 56px;
    height: 56px;
    min-width: 56px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(180deg, rgba(0, 115, 225, 0.2), rgba(0, 115, 225, 0.1));
    border: 1px solid rgba(0, 115, 225, 0.2);
    color: #8fd0ff;
    font-size: 1.15rem;
  }
  
  .inner-cta-card__content {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
  }
  
  .inner-cta-card__title {
    color: var(--white);
    font-size: 1.08rem;
    font-weight: 800;
    line-height: 1.3;
  }
  
  .inner-cta-card__text {
    color: rgba(255,255,255,0.74);
    font-size: 0.95rem;
    line-height: 1.5;
  }
  
  .inner-cta-card__arrow {
    margin-left: auto;
    color: var(--color-primary-light);
    font-size: 1rem;
  }
  
  @media (max-width: 1199.98px) {
    .inner-cta-grid {
      grid-template-columns: 1fr;
    }
  }
  
  
  
  
  /* =========================
     RESPONSIVE INTERIOR
  ========================= */
  
  @media (max-width: 1199.98px) {
    .inner-content-grid {
      grid-template-columns: 1fr;
    }
  }
  
  @media (max-width: 767.98px) {
    .inner-page {
      padding-top: calc(var(--header-height) + 20px);
    }
  
    .inner-container {
      padding-left: 16px;
      padding-right: 16px;
    }
  
    .inner-hero {
      padding: 44px 0 30px;
    }
  
    .inner-hero__lead,
    .inner-richtext p,
    .inner-section-intro__text,
    .inner-accordion__body {
      font-size: 0.98rem;
      line-height: 1.75;
    }
  
    .inner-quote {
      padding: 20px 18px;
      border-radius: 20px;
      font-size: 0.98rem;
    }
  
    .inner-block {
      padding-bottom: 64px;
    }
  
    .inner-accordion__button {
      padding: 18px 18px;
      font-size: 1rem;
    }
  
    .inner-accordion__body {
      padding: 0 18px 18px;
    }
  
    .inner-banner,
    .inner-media-card {
      border-radius: 22px;
    }
  
    .inner-cta-card {
      min-width: 280px;
      height: 112px;
      padding: 18px;
      border-radius: 20px;
    }
  
    .inner-cta-card__icon {
      width: 48px;
      height: 48px;
      min-width: 48px;
      border-radius: 14px;
    }
  }
  
  .inner-richtext--wide {
    max-width: 100%;
  }
  
  .inner-media-card--hero {
    margin: 2rem 0 0;
    width: 100%;
    max-width: 100%;
    border-radius: 28px;
    overflow: hidden;
    border: 1px solid rgba(43, 129, 255, 0.24);
    background:
      linear-gradient(180deg, rgba(8, 20, 46, 0.9), rgba(3, 10, 24, 0.96));
    box-shadow:
      0 24px 70px rgba(0, 0, 0, 0.42),
      0 0 0 1px rgba(20, 94, 255, 0.08) inset;
  }
  
  .inner-media-card--hero img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;
  }
  
  /* =========================
     IDEARIO UNIPOL
  ========================= */
  .ideario-page {
    position: relative;
    overflow: hidden;
    background:
      radial-gradient(circle at 28% 14%, rgba(26, 106, 255, 0.16), transparent 24%),
      radial-gradient(circle at 72% 28%, rgba(12, 54, 145, 0.1), transparent 30%),
      linear-gradient(180deg, #031120 0%, #020d1b 38%, #020a16 100%);
  }
  
  .ideario-page::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
      linear-gradient(180deg, rgba(0, 0, 0, 0.06), transparent 18%);
    z-index: 0;
  }
  
  .ideario-page > * {
    position: relative;
    z-index: 1;
  }
  
  .ideario-hero {
    position: relative;
    overflow: hidden;
    background: transparent;
    padding-top: 0;
  }
  
  .ideario-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
      radial-gradient(circle at 35% 18%, rgba(26, 106, 255, 0.08), transparent 34%);
    pointer-events: none;
  }
  
  .ideario-hero .inner-container,
  .ideario-hero .inner-hero__content {
    position: relative;
    z-index: 1;
  }
  
  /* neutraliza cajas/fondos superiores que generan bandas */
  .ideario-page .inner-block,
  .ideario-page .inner-block--tight,
  .ideario-page .inner-section-intro,
  .ideario-page .inner-quote {
    background: transparent;
  }
  
  .ideario-page .inner-quote {
    border: 1px solid rgba(43, 129, 255, 0.2);
    background:
      linear-gradient(180deg, rgba(4, 16, 38, 0.78), rgba(2, 10, 24, 0.88));
    box-shadow:
      0 20px 45px rgba(0, 0, 0, 0.22),
      inset 0 1px 0 rgba(255, 255, 255, 0.02);
  }
  
  .ideario-mural {
    margin: 0;
  }
  
  .inner-media-card--hero {
    width: 100%;
    max-width: 100%;
    border-radius: 28px;
    overflow: hidden;
    border: 1px solid rgba(43, 129, 255, 0.24);
    background:
      linear-gradient(180deg, rgba(8, 20, 46, 0.9), rgba(3, 10, 24, 0.96));
    box-shadow:
      0 24px 70px rgba(0, 0, 0, 0.42),
      0 0 0 1px rgba(20, 94, 255, 0.08) inset;
  }
  
  .inner-media-card--hero img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;
  }
  
  .ideario-highlights {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.5rem;
    margin-top: 2rem;
  }
  
  .ideario-highlight-card {
    position: relative;
    min-height: 100%;
    padding: 1.6rem 1.4rem 1.45rem;
    border-radius: 24px;
    border: 1px solid rgba(63, 127, 255, 0.18);
    background:
      linear-gradient(180deg, rgba(8, 22, 48, 0.92), rgba(3, 10, 24, 0.96));
    box-shadow:
      0 18px 45px rgba(0, 0, 0, 0.28),
      inset 0 1px 0 rgba(255, 255, 255, 0.03);
  }
  
  .ideario-highlight-card::after {
    content: "";
    position: absolute;
    right: 1.25rem;
    bottom: 0;
    width: 42%;
    height: 2px;
    border-radius: 999px;
    background: linear-gradient(90deg, transparent, rgba(47, 129, 255, 0.95));
    box-shadow: 0 0 16px rgba(47, 129, 255, 0.55);
  }
  
  .ideario-highlight-card__icon {
    width: 58px;
    height: 58px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1rem;
    border-radius: 18px;
    font-size: 1.2rem;
    color: #8ab8ff;
    background: rgba(20, 94, 255, 0.14);
    border: 1px solid rgba(81, 144, 255, 0.2);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
  }
  
  .ideario-highlight-card__title {
    margin: 0 0 0.7rem;
    font-size: 1.15rem;
    font-weight: 700;
    line-height: 1.25;
    color: #f5f8ff;
  }
  
  .ideario-highlight-card__text {
    margin: 0;
    color: rgba(220, 230, 250, 0.84);
    line-height: 1.75;
  }
  
  .ideario-content {
    display: grid;
    grid-template-columns: minmax(0, 1.7fr) minmax(280px, 0.8fr);
    gap: 2rem;
    align-items: start;
  }
  
  .ideario-text-card,
  .ideario-pillars-card {
    position: relative;
    border-radius: 28px;
    border: 1px solid rgba(63, 127, 255, 0.16);
    background:
      linear-gradient(180deg, rgba(7, 18, 40, 0.94), rgba(3, 10, 24, 0.98));
    box-shadow:
      0 22px 55px rgba(0, 0, 0, 0.32),
      inset 0 1px 0 rgba(255, 255, 255, 0.03);
  }
  
  .ideario-text-card {
    padding: 2rem 1.85rem;
  }
  
  .ideario-text-card p {
    margin: 0 0 1.25rem;
    color: rgba(230, 237, 250, 0.88);
    line-height: 1.95;
    text-wrap: pretty;
  }
  
  .ideario-text-card p:last-child {
    margin-bottom: 0;
  }
  
  .ideario-aside {
    display: grid;
    gap: 1.5rem;
  }
  
  .ideario-pillars-card {
    padding: 1.6rem 1.35rem;
  }
  
  .ideario-pillars-card__title {
    margin: 0 0 1rem;
    font-size: 1.08rem;
    font-weight: 700;
    color: #f5f8ff;
  }
  
  .ideario-pillars-card__text {
    margin: 0;
    color: rgba(220, 230, 250, 0.82);
    line-height: 1.8;
  }
  
  .ideario-pillars-card--accent {
    border-color: rgba(78, 148, 255, 0.26);
    background:
      radial-gradient(circle at top right, rgba(30, 110, 255, 0.16), transparent 36%),
      linear-gradient(180deg, rgba(10, 25, 56, 0.96), rgba(3, 10, 24, 0.98));
  }
  
  .ideario-pillars-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 0.85rem;
  }
  
  .ideario-pillars-list li {
    display: flex;
    align-items: flex-start;
    gap: 0.7rem;
    color: rgba(230, 237, 250, 0.88);
    line-height: 1.55;
  }
  
  .ideario-pillars-list li i {
    margin-top: 0.25rem;
    color: #6dabff;
    font-size: 0.88rem;
  }
  
  @media (max-width: 991.98px) {
    .ideario-highlights {
      grid-template-columns: 1fr;
    }
  
    .ideario-content {
      grid-template-columns: 1fr;
    }
  }
  
  @media (max-width: 767.98px) {
    .ideario-highlight-card,
    .ideario-text-card,
    .ideario-pillars-card {
      border-radius: 22px;
    }
  
    .ideario-text-card {
      padding: 1.5rem 1.2rem;
    }
  
    .ideario-pillars-card {
      padding: 1.3rem 1.1rem;
    }
  
    .ideario-highlight-card {
      padding: 1.35rem 1.1rem 1.25rem;
    }
  
    .ideario-highlight-card__icon {
      width: 52px;
      height: 52px;
      border-radius: 16px;
    }
  }
  
  /* =========================
     DOCENTES UNIPOL
  ========================= */
  .docentes-page {
    position: relative;
    overflow: hidden;
    background:
      radial-gradient(circle at 24% 12%, rgba(22, 98, 255, 0.14), transparent 22%),
      radial-gradient(circle at 78% 30%, rgba(15, 54, 132, 0.1), transparent 28%),
      linear-gradient(180deg, #031120 0%, #020d1b 40%, #020a16 100%);
  }
  
  .docentes-page::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
      linear-gradient(180deg, rgba(255, 255, 255, 0.015), transparent 16%);
    z-index: 0;
  }
  
  .docentes-page > * {
    position: relative;
    z-index: 1;
  }
  
  .docentes-hero {
    background: transparent;
  }
  
  .faculty-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 1.5rem;
  }
  
  .faculty-card {
    min-width: 0;
  }
  
  .faculty-card__button {
    position: relative;
    width: 100%;
    min-height: 100%;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    padding: 1rem;
    border: 1px solid rgba(63, 127, 255, 0.15);
    border-radius: 24px;
    background:
      linear-gradient(180deg, rgba(8, 22, 48, 0.92), rgba(3, 10, 24, 0.96));
    box-shadow:
      0 18px 44px rgba(0, 0, 0, 0.28),
      inset 0 1px 0 rgba(255, 255, 255, 0.03);
    text-align: left;
    color: inherit;
    transition:
      transform 0.25s ease,
      border-color 0.25s ease,
      box-shadow 0.25s ease,
      background 0.25s ease;
  }
  
  button.faculty-card__button {
    cursor: pointer;
  }
  
  button.faculty-card__button:hover {
    transform: translateY(-5px);
    border-color: rgba(86, 148, 255, 0.34);
    box-shadow:
      0 24px 56px rgba(0, 0, 0, 0.34),
      0 0 0 1px rgba(40, 120, 255, 0.08) inset;
  }
  
  button.faculty-card__button:hover::after {
    opacity: 1;
    transform: scaleX(1);
  }
  
  .faculty-card__button::after {
    content: "";
    position: absolute;
    right: 1rem;
    bottom: 0;
    width: 44%;
    height: 2px;
    border-radius: 999px;
    background: linear-gradient(90deg, transparent, rgba(47, 129, 255, 0.96));
    box-shadow: 0 0 18px rgba(47, 129, 255, 0.55);
    opacity: 0.78;
    transform: scaleX(0.92);
    transform-origin: right center;
    transition: opacity 0.25s ease, transform 0.25s ease;
  }
  
  .faculty-card__button--disabled {
    cursor: default;
    background:
      linear-gradient(180deg, rgba(6, 18, 38, 0.9), rgba(3, 10, 24, 0.96));
  }
  
  .faculty-card__button--disabled::after {
    opacity: 0.25;
    box-shadow: none;
  }
  
  .faculty-card__media {
    display: flex;
    align-items: center;
    justify-content: center;
    aspect-ratio: 4 / 4.6;
    border-radius: 20px;
    overflow: hidden;
    background:
      radial-gradient(circle at top, rgba(27, 100, 255, 0.16), transparent 58%),
      linear-gradient(180deg, rgba(8, 21, 48, 0.92), rgba(4, 11, 24, 0.98));
    border: 1px solid rgba(75, 135, 255, 0.14);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03);
  }
  
  .faculty-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }
  
  .faculty-card__content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    flex: 1 1 auto;
    padding-top: 1rem;
  }
  
  .faculty-card__title {
    margin: 0;
    min-height: 4.8rem;
    width: 100%;
    font-size: 1rem;
    line-height: 1.32;
    font-weight: 800;
    color: #f5f8ff;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    text-wrap: balance;
  }
  
  .faculty-card__subtitle {
    margin: 0.45rem 0 0;
    min-height: 3.4rem;
    width: 100%;
    font-size: 0.88rem;
    line-height: 1.35;
    color: rgba(208, 221, 246, 0.82);
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  
  .faculty-card__subtitle--empty {
    visibility: hidden;
  }
  
  .faculty-card__cta,
  .faculty-card__status {
    margin-top: 0.95rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    min-height: 1.2rem;
    width: 100%;
    text-align: center;
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.02em;
  }
  
  .faculty-card__cta {
    color: #7eb5ff;
  }
  
  .faculty-card__status {
    color: rgba(161, 177, 204, 0.7);
  }
  
  .faculty-lightbox {
    position: fixed;
    inset: 0;
    z-index: 1200;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.5rem;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.25s ease, visibility 0.25s ease;
  }
  
  .faculty-lightbox.is-active {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }
  
  .faculty-lightbox__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(2, 7, 18, 0.82);
    backdrop-filter: blur(10px);
  }
  
  .faculty-lightbox__dialog {
    position: relative;
    width: min(1120px, 100%);
    max-height: min(88vh, 920px);
    overflow: hidden;
    border-radius: 30px;
    border: 1px solid rgba(76, 140, 255, 0.18);
    background:
      radial-gradient(circle at top right, rgba(32, 103, 255, 0.12), transparent 24%),
      linear-gradient(180deg, rgba(8, 22, 48, 0.98), rgba(3, 10, 24, 1));
    box-shadow:
      0 30px 80px rgba(0, 0, 0, 0.48),
      0 0 0 1px rgba(40, 120, 255, 0.06) inset;
  }
  
  .faculty-lightbox__close {
    position: absolute;
    top: 1rem;
    right: 1rem;
    width: 46px;
    height: 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(95, 150, 255, 0.2);
    border-radius: 50%;
    background: rgba(6, 17, 37, 0.88);
    color: #eaf1ff;
    z-index: 2;
    transition: transform 0.2s ease, border-color 0.2s ease;
  }
  
  .faculty-lightbox__close:hover {
    transform: scale(1.05);
    border-color: rgba(95, 150, 255, 0.36);
  }
  
  .faculty-lightbox__layout {
    display: grid;
    grid-template-columns: minmax(280px, 360px) minmax(0, 1fr);
    min-height: 100%;
  }
  
  .faculty-lightbox__media {
    position: relative;
    background:
      radial-gradient(circle at top, rgba(29, 104, 255, 0.14), transparent 56%),
      linear-gradient(180deg, rgba(8, 20, 44, 0.96), rgba(3, 9, 21, 0.98));
    border-right: 1px solid rgba(62, 127, 255, 0.12);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2rem;
  }
  
  .faculty-lightbox__media img {
    width: 100%;
    max-width: 280px;
    aspect-ratio: 4 / 4.8;
    object-fit: cover;
    border-radius: 24px;
    border: 1px solid rgba(83, 143, 255, 0.18);
    box-shadow:
      0 18px 50px rgba(0, 0, 0, 0.35),
      inset 0 1px 0 rgba(255, 255, 255, 0.02);
  }
  
  .faculty-lightbox__content {
    padding: 2.25rem 2rem 2rem;
    overflow-y: auto;
    max-height: min(88vh, 920px);
  }
  
  .faculty-lightbox__eyebrow {
    display: inline-flex;
    margin-bottom: 0.8rem;
    padding: 0.45rem 0.9rem;
    border-radius: 999px;
    border: 1px solid rgba(79, 142, 255, 0.2);
    background: rgba(17, 73, 181, 0.12);
    color: #66acff;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
  }
  
  .faculty-lightbox__title {
    margin: 0;
    font-size: clamp(1.9rem, 2.6vw, 2.7rem);
    line-height: 1.05;
    color: #f7f9ff;
  }
  
  .faculty-lightbox__subtitle {
    margin: 0.95rem 0 1.4rem;
    font-size: 1rem;
    line-height: 1.5;
    color: rgba(194, 212, 246, 0.82);
  }
  
  .faculty-lightbox__body p {
    margin: 0 0 1rem;
    color: rgba(229, 236, 250, 0.9);
    line-height: 1.85;
    text-wrap: pretty;
  }
  
  .faculty-lightbox__body p:last-child {
    margin-bottom: 0;
  }
  
  html.modal-open,
  body.modal-open {
    overflow: hidden;
  }
  
  @media (max-width: 1399.98px) {
    .faculty-grid {
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }
  }
  
  @media (max-width: 1199.98px) {
    .faculty-grid {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
  }
  
  @media (max-width: 991.98px) {
    .faculty-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  
    .faculty-lightbox__layout {
      grid-template-columns: 1fr;
    }
  
    .faculty-lightbox__media {
      border-right: 0;
      border-bottom: 1px solid rgba(62, 127, 255, 0.12);
      padding: 1.75rem 1.5rem 1rem;
    }
  
    .faculty-lightbox__media img {
      max-width: 240px;
    }
  
    .faculty-lightbox__content {
      max-height: none;
    }
  }
  
  @media (max-width: 575.98px) {
    .faculty-grid {
      grid-template-columns: 1fr;
      gap: 1rem;
    }
  
    .faculty-card__button {
      padding: 0.9rem;
      border-radius: 20px;
    }
  
    .faculty-card__media {
      border-radius: 18px;
    }
  
    .faculty-card__title {
      min-height: auto;
      font-size: 0.98rem;
    }
  
    .faculty-card__subtitle {
      min-height: auto;
    }
  
    .faculty-lightbox {
      padding: 0.9rem;
    }
  
    .faculty-lightbox__dialog {
      border-radius: 22px;
    }
  
    .faculty-lightbox__content {
      padding: 1.4rem 1.1rem 1.2rem;
    }
  
    .faculty-lightbox__title {
      font-size: 1.75rem;
    }
  }
  
  /* =========================
     OFERTA ACADEMICA HUB
  ========================= */
  .oferta-page {
    position: relative;
    overflow: hidden;
    background:
      radial-gradient(circle at 18% 12%, rgba(28, 104, 255, 0.16), transparent 22%),
      radial-gradient(circle at 82% 30%, rgba(12, 59, 155, 0.1), transparent 28%),
      linear-gradient(180deg, #031120 0%, #020d1b 42%, #020a16 100%);
  }
  
  .oferta-page::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
      linear-gradient(180deg, rgba(255, 255, 255, 0.012), transparent 18%);
    z-index: 0;
  }
  
  .oferta-page > * {
    position: relative;
    z-index: 1;
  }
  
  .oferta-hero {
    background: transparent;
  }
  
  .oferta-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    margin-top: 1.6rem;
  }
  
  .offer-levels-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.6rem;
  }
  
  .offer-level-card {
    position: relative;
    display: flex;
    flex-direction: column;
    min-height: 100%;
    padding: 1.6rem 1.45rem 1.35rem;
    border-radius: 28px;
    border: 1px solid rgba(65, 128, 255, 0.16);
    background:
      linear-gradient(180deg, rgba(8, 22, 48, 0.93), rgba(3, 10, 24, 0.97));
    box-shadow:
      0 20px 52px rgba(0, 0, 0, 0.3),
      inset 0 1px 0 rgba(255, 255, 255, 0.03);
  }
  
  .offer-level-card::after {
    content: "";
    position: absolute;
    right: 1.3rem;
    bottom: 0;
    width: 40%;
    height: 2px;
    border-radius: 999px;
    background: linear-gradient(90deg, transparent, rgba(52, 133, 255, 0.96));
    box-shadow: 0 0 18px rgba(52, 133, 255, 0.5);
  }
  
  .offer-level-card--lic {
    border-color: rgba(89, 156, 255, 0.18);
  }
  
  .offer-level-card--mae {
    border-color: rgba(80, 140, 255, 0.2);
  }
  
  .offer-level-card--doc {
    border-color: rgba(114, 163, 255, 0.22);
  }
  
  .offer-level-card--esp {
    border-color: rgba(68, 135, 255, 0.18);
  }
  
  .offer-level-card__header {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1rem;
  }
  
  .offer-level-card__icon {
    width: 58px;
    height: 58px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 18px;
    flex-shrink: 0;
    font-size: 1.2rem;
    color: #8fbbff;
    background: rgba(20, 94, 255, 0.14);
    border: 1px solid rgba(81, 144, 255, 0.2);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03);
  }
  
  .offer-level-card__meta {
    min-width: 0;
  }
  
  .offer-level-card__eyebrow {
    display: block;
    margin-bottom: 0.3rem;
    font-size: 0.76rem;
    line-height: 1.2;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #69aeff;
  }
  
  .offer-level-card__title {
    margin: 0;
    font-size: 1.7rem;
    line-height: 1.08;
    color: #f6f9ff;
  }
  
  .offer-level-card__count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.45rem 0.8rem;
    border-radius: 999px;
    white-space: nowrap;
    font-size: 0.78rem;
    font-weight: 800;
    color: #dce9ff;
    background: rgba(16, 56, 142, 0.28);
    border: 1px solid rgba(84, 146, 255, 0.18);
  }
  
  .offer-level-card__text {
    margin: 0 0 1rem;
    color: rgba(222, 231, 248, 0.86);
    line-height: 1.78;
  }
  
  .offer-level-card__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 0.8rem;
  }
  
  .offer-level-card__list li {
    position: relative;
    padding-left: 1rem;
    color: rgba(239, 244, 255, 0.92);
    line-height: 1.5;
  }
  
  .offer-level-card__list li::before {
    content: "";
    position: absolute;
    top: 0.62rem;
    left: 0;
    width: 0.42rem;
    height: 0.42rem;
    border-radius: 50%;
    background: #59a7ff;
    box-shadow: 0 0 12px rgba(89, 167, 255, 0.55);
  }
  
  .offer-level-card__footer {
    margin-top: auto;
    padding-top: 1.25rem;
  }
  
  .offer-level-card__button {
    display: inline-flex;
    align-items: center;
    gap: 0.7rem;
    padding: 0.9rem 1.15rem;
    border-radius: 16px;
    text-decoration: none;
    font-weight: 700;
    color: #f5f9ff;
    background:
      linear-gradient(135deg, rgba(19, 77, 184, 0.32), rgba(8, 25, 60, 0.72));
    border: 1px solid rgba(88, 150, 255, 0.2);
    transition:
      transform 0.22s ease,
      border-color 0.22s ease,
      box-shadow 0.22s ease;
  }
  
  .offer-level-card__button:hover {
    transform: translateY(-2px);
    border-color: rgba(103, 162, 255, 0.34);
    box-shadow: 0 16px 30px rgba(0, 0, 0, 0.24);
    color: #ffffff;
  }
  
  .offer-guides-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.4rem;
  }
  
  .offer-guide-card {
    position: relative;
    min-height: 100%;
    padding: 1.45rem 1.3rem 1.3rem;
    border-radius: 24px;
    border: 1px solid rgba(62, 128, 255, 0.16);
    background:
      linear-gradient(180deg, rgba(8, 21, 46, 0.92), rgba(3, 10, 24, 0.96));
    box-shadow:
      0 18px 42px rgba(0, 0, 0, 0.28),
      inset 0 1px 0 rgba(255, 255, 255, 0.03);
  }
  
  .offer-guide-card__icon {
    width: 56px;
    height: 56px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1rem;
    border-radius: 18px;
    font-size: 1.1rem;
    color: #88b8ff;
    background: rgba(20, 94, 255, 0.14);
    border: 1px solid rgba(81, 144, 255, 0.2);
  }
  
  .offer-guide-card__title {
    margin: 0 0 0.7rem;
    font-size: 1.12rem;
    line-height: 1.25;
    color: #f6f9ff;
  }
  
  .offer-guide-card__text {
    margin: 0;
    color: rgba(219, 229, 248, 0.84);
    line-height: 1.75;
  }
  
  .offer-modalities-panel {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) auto;
    gap: 1.6rem;
    align-items: center;
    padding: 1.8rem 1.55rem;
    border-radius: 30px;
    border: 1px solid rgba(68, 136, 255, 0.18);
    background:
      radial-gradient(circle at top right, rgba(21, 99, 255, 0.14), transparent 26%),
      linear-gradient(180deg, rgba(8, 22, 48, 0.95), rgba(3, 10, 24, 0.98));
    box-shadow:
      0 24px 60px rgba(0, 0, 0, 0.34),
      inset 0 1px 0 rgba(255, 255, 255, 0.03);
  }
  
  .offer-modalities-panel__eyebrow {
    display: inline-block;
    margin-bottom: 0.55rem;
    font-size: 0.78rem;
    line-height: 1.2;
    font-weight: 800;
    letter-spacing: 0.13em;
    text-transform: uppercase;
    color: #67acff;
  }
  
  .offer-modalities-panel__title {
    margin: 0;
    font-size: clamp(1.6rem, 2.1vw, 2.3rem);
    line-height: 1.08;
    color: #f6f9ff;
  }
  
  .offer-modalities-panel__text {
    margin: 0.95rem 0 0;
    color: rgba(221, 231, 248, 0.85);
    line-height: 1.8;
  }
  
  .offer-modalities-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-top: 1.15rem;
  }
  
  .offer-modalities-tags__item {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 0.55rem 0.9rem;
    border-radius: 999px;
    font-size: 0.83rem;
    font-weight: 700;
    color: #e6efff;
    background: rgba(18, 66, 165, 0.24);
    border: 1px solid rgba(84, 146, 255, 0.17);
  }
  
  .offer-modalities-panel__actions {
    display: grid;
    gap: 0.95rem;
    min-width: 240px;
  }
  
  @media (max-width: 1199.98px) {
    .offer-level-card__header {
      grid-template-columns: auto 1fr;
    }
  
    .offer-level-card__count {
      grid-column: 1 / -1;
      justify-self: start;
    }
  }
  
  @media (max-width: 991.98px) {
    .offer-levels-grid,
    .offer-guides-grid {
      grid-template-columns: 1fr;
    }
  
    .offer-modalities-panel {
      grid-template-columns: 1fr;
    }
  
    .offer-modalities-panel__actions {
      min-width: 0;
    }
  }
  
  @media (max-width: 767.98px) {
    .oferta-hero__actions {
      flex-direction: column;
      align-items: stretch;
    }
  
    .offer-level-card,
    .offer-guide-card,
    .offer-modalities-panel {
      border-radius: 24px;
    }
  
    .offer-level-card {
      padding: 1.35rem 1.1rem 1.2rem;
    }
  
    .offer-guide-card {
      padding: 1.25rem 1rem 1.05rem;
    }
  
    .offer-modalities-panel {
      padding: 1.35rem 1.1rem;
    }
  
    .offer-level-card__title {
      font-size: 1.45rem;
    }
  }
  
  
  /* =========================
     OFERTA ACADEMICA - LINKS NIVELES
  ========================= */
  
  .oferta-links-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
    align-items: stretch;
  }
  
  .oferta-link-card {
    position: relative;
    display: grid;
    grid-template-columns: 88px minmax(0, 1fr) 20px;
    align-items: center;
    gap: 16px;
    min-height: 132px;
    padding: 18px;
    border-radius: 24px;
    overflow: hidden;
    isolation: isolate;
    background:
      linear-gradient(145deg, rgba(7, 20, 43, 0.92) 0%, rgba(3, 12, 28, 0.97) 100%);
    border: 1px solid rgba(74, 130, 255, 0.16);
    box-shadow:
      0 20px 46px rgba(0, 0, 0, 0.24),
      inset 0 1px 0 rgba(255,255,255,0.03);
    transition:
      transform 0.32s ease,
      border-color 0.32s ease,
      box-shadow 0.32s ease,
      background 0.32s ease;
  }
  
  .oferta-link-card::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
      linear-gradient(180deg, rgba(255, 255, 255, 0.022) 0%, rgba(255, 255, 255, 0) 40%),
      radial-gradient(circle at top right, rgba(0, 115, 225, 0.15) 0%, transparent 42%);
    z-index: -1;
  }
  
  .oferta-link-card::after {
    content: "";
    position: absolute;
    left: 22px;
    right: 22px;
    bottom: 0;
    height: 3px;
    border-radius: 999px;
    background: linear-gradient(
      90deg,
      rgba(0, 115, 225, 0) 0%,
      rgba(0, 115, 225, 0.9) 50%,
      rgba(0, 115, 225, 0) 100%
    );
    opacity: 0.78;
    transform: scaleX(0.72);
    transform-origin: center;
    transition: transform 0.32s ease, opacity 0.32s ease;
  }
  
  .oferta-link-card:hover {
    transform: translateY(-6px);
    border-color: rgba(100, 163, 255, 0.28);
    box-shadow:
      0 28px 58px rgba(0, 0, 0, 0.32),
      0 0 22px rgba(0, 115, 225, 0.08);
  }
  
  .oferta-link-card:hover::after {
    opacity: 1;
    transform: scaleX(1);
  }
  
  .oferta-link-card__media {
    position: relative;
    width: 88px;
    height: 88px;
    min-width: 88px;
    border-radius: 18px;
    overflow: hidden;
    border: 1px solid rgba(0, 115, 225, 0.18);
    background:
      linear-gradient(180deg, rgba(0, 115, 225, 0.12), rgba(0, 115, 225, 0.04));
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,0.03),
      0 10px 24px rgba(0, 0, 0, 0.18);
  }
  
  .oferta-link-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }
  
  .oferta-link-card__content {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
    flex: 1 1 auto;
  }
  
  .oferta-link-card__title {
    color: var(--white);
    font-size: 1.08rem;
    font-weight: 800;
    line-height: 1.25;
    margin: 0;
  }
  
  .oferta-link-card__text {
    color: rgba(255,255,255,0.74);
    font-size: 0.95rem;
    line-height: 1.45;
    margin: 0;
  }
  
  .oferta-link-card__arrow {
    margin-left: auto;
    color: var(--color-primary-light);
    font-size: 1rem;
    min-width: 20px;
    text-align: right;
  }
  
  @media (max-width: 1199.98px) {
    .oferta-links-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }
  
  @media (max-width: 767.98px) {
    .oferta-links-grid {
      grid-template-columns: 1fr;
    }
  
    .oferta-link-card {
      grid-template-columns: 72px minmax(0, 1fr) 20px;
      min-height: 112px;
      padding: 16px;
      border-radius: 20px;
    }
  
    .oferta-link-card__media {
      width: 72px;
      height: 72px;
      min-width: 72px;
      border-radius: 14px;
    }
  
    .oferta-link-card__title {
      font-size: 1rem;
    }
  
    .oferta-link-card__text {
      font-size: 0.9rem;
    }
  }
  
  
  /* =========================
     HERO OFERTA (MEJORADO)
  ========================= */
  
  .oferta-hero {
    padding: 90px 0 60px;
    position: relative;
    overflow: hidden;
  }
  
  .oferta-hero__grid {
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    gap: 2rem;
    align-items: center;
  }
  
  /* TEXTO */
  .oferta-hero__content {
    max-width: 640px;
  }
  
  
  
  /* EFECTO GRID TECNOLÓGICO */
  .oferta-hero__visual::before {
    content: "";
    position: absolute;
    inset: 0;
  
    background-image:
      linear-gradient(rgba(255,255,255,0.03) 1px, transparent 1px),
      linear-gradient(90deg, rgba(255,255,255,0.03) 1px, transparent 1px);
  
    background-size: 50px 50px;
    opacity: 0.25;
  }
  
  /* GLOW */
  .oferta-hero__visual::after {
    content: "";
    position: absolute;
    width: 260px;
    height: 260px;
  
    background: radial-gradient(circle, rgba(0,160,255,0.7), transparent 70%);
    filter: blur(70px);
  
    top: 10%;
    right: 10%;
  }
  
  /* VISUAL DERECHO */
  .oferta-hero__visual {
    position: relative;
    height: 420px;
    border-radius: 32px;
  
    background:
      linear-gradient(rgba(10, 40, 90, 0.5), rgba(2, 10, 22, 0.3)),
      url('../img/programas-academicos.png') center/cover no-repeat;
  
    border: 1px solid rgba(80,140,255,0.25);
  
    box-shadow:
      0 30px 80px rgba(0,0,0,0.5),
      inset 0 0 80px rgba(40,120,255,0.15);
  
    overflow: hidden;
  }
  
  .oferta-hero__visual {
    filter: saturate(1.1) contrast(1.05);
  }
  
  /* BOTONES */
  .oferta-hero__actions {
    display: flex;
    gap: 1rem;
    margin-top: 1.5rem;
  }
  
  /* RESPONSIVE */
  @media (max-width: 991.98px) {
    .oferta-hero__grid {
      grid-template-columns: 1fr;
    }
  
    .oferta-hero__visual {
      height: 280px;
    }
  }
  
  /* =========================
     NIVEL ACADEMICO TEMPLATE
  ========================= */
  .nivel-page {
    position: relative;
    overflow: hidden;
    background:
      radial-gradient(circle at 20% 10%, rgba(24, 102, 255, 0.14), transparent 22%),
      radial-gradient(circle at 78% 28%, rgba(12, 58, 150, 0.1), transparent 28%),
      linear-gradient(180deg, #031120 0%, #020d1b 40%, #020a16 100%);
  }
  
  .nivel-page::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(180deg, rgba(255,255,255,0.012), transparent 18%);
    z-index: 0;
  }
  
  .nivel-page > * {
    position: relative;
    z-index: 1;
  }
  
  .nivel-hero {
    padding: 70px 0 42px;
  }
  
  .nivel-hero__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(320px, 460px);
    gap: 2rem;
    align-items: center;
  }
  
  .nivel-hero__content {
    max-width: 720px;
  }
  
  .nivel-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    margin-top: 1.5rem;
  }
  
  .nivel-hero__visual {
    position: relative;
    border-radius: 30px;
    overflow: hidden;
    border: 1px solid rgba(77, 140, 255, 0.18);
    background:
      linear-gradient(180deg, rgba(9, 23, 48, 0.86), rgba(3, 10, 24, 0.96));
    box-shadow:
      0 26px 65px rgba(0, 0, 0, 0.34),
      inset 0 1px 0 rgba(255,255,255,0.03);
  }
  
  .nivel-hero__visual img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 320px;
    object-fit: cover;
  }
  
  .program-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.4rem;
  }
  
  .program-card {
    position: relative;
    display: flex;
    flex-direction: column;
    min-height: 100%;
    padding: 1.35rem 1.2rem 1.15rem;
    border-radius: 26px;
    border: 1px solid rgba(68, 132, 255, 0.16);
    background:
      linear-gradient(180deg, rgba(8, 22, 48, 0.94), rgba(3, 10, 24, 0.98));
    box-shadow:
      0 18px 46px rgba(0, 0, 0, 0.28),
      inset 0 1px 0 rgba(255,255,255,0.03);
    transition:
      transform 0.28s ease,
      border-color 0.28s ease,
      box-shadow 0.28s ease;
  }
  
  .program-card::after {
    content: "";
    position: absolute;
    left: 22px;
    right: 22px;
    bottom: 0;
    height: 3px;
    border-radius: 999px;
    background: linear-gradient(
      90deg,
      rgba(0, 115, 225, 0) 0%,
      rgba(0, 115, 225, 0.9) 50%,
      rgba(0, 115, 225, 0) 100%
    );
    opacity: 0.76;
    transform: scaleX(0.72);
    transform-origin: center;
    transition: transform 0.3s ease, opacity 0.3s ease;
  }
  
  .program-card:hover {
    transform: translateY(-6px);
    border-color: rgba(100, 163, 255, 0.28);
    box-shadow:
      0 26px 58px rgba(0, 0, 0, 0.34),
      0 0 22px rgba(0, 115, 225, 0.08);
  }
  
  .program-card:hover::after {
    opacity: 1;
    transform: scaleX(1);
  }
  
  .program-card__media {
    position: relative;
    margin: 0 0 1rem;
    width: 100%;
    aspect-ratio: 16 / 9;
    border-radius: 18px;
    overflow: hidden;
    border: 1px solid rgba(80, 140, 255, 0.14);
    background:
      linear-gradient(180deg, rgba(8, 22, 48, 0.92), rgba(3, 10, 24, 0.98));
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,0.03),
      0 12px 24px rgba(0, 0, 0, 0.16);
  }
  
  .program-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
  }
  
  .program-card__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.8rem;
    margin-bottom: 1rem;
    flex-wrap: wrap;
  }
  
  .program-card__badge,
  .program-card__rvoe {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 0.42rem 0.78rem;
    border-radius: 999px;
    font-size: 0.78rem;
    font-weight: 800;
    line-height: 1.1;
  }
  
  .program-card__badge {
    color: #e8f2ff;
    background: rgba(14, 67, 168, 0.28);
    border: 1px solid rgba(82, 145, 255, 0.16);
  }
  
  .program-card__rvoe {
    color: #78b8ff;
    background: rgba(255,255,255,0.03);
    border: 1px solid rgba(84, 146, 255, 0.12);
  }
  
  .program-card__title {
    margin: 0 0 0.8rem;
    color: #f7f9ff;
    font-size: 1.28rem;
    line-height: 1.18;
    font-weight: 800;
    letter-spacing: -0.015em;
  }
  
  .program-card__text {
    margin: 0;
    color: rgba(222, 231, 248, 0.84);
    line-height: 1.75;
    font-size: 0.97rem;
  }
  
  .program-card__footer {
    margin-top: auto;
    padding-top: 1.2rem;
  }
  
  .program-card__cta {
    display: inline-flex;
    align-items: center;
    gap: 0.65rem;
    min-height: 44px;
    padding: 0.75rem 1rem;
    border-radius: 16px;
    background:
      linear-gradient(135deg, rgba(18, 78, 186, 0.34), rgba(8, 26, 62, 0.75));
    border: 1px solid rgba(88, 150, 255, 0.18);
    color: #f5f9ff;
    font-size: 0.93rem;
    font-weight: 700;
    transition:
      transform 0.22s ease,
      border-color 0.22s ease,
      box-shadow 0.22s ease;
  }
  
  .program-card__cta:hover {
    transform: translateY(-2px);
    border-color: rgba(103, 162, 255, 0.34);
    box-shadow: 0 14px 28px rgba(0, 0, 0, 0.24);
    color: #ffffff;
  }
  
  .nivel-support-panel {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) auto;
    gap: 1.5rem;
    align-items: center;
    padding: 1.7rem 1.45rem;
    border-radius: 30px;
    border: 1px solid rgba(68, 136, 255, 0.18);
    background:
      radial-gradient(circle at top right, rgba(21, 99, 255, 0.14), transparent 26%),
      linear-gradient(180deg, rgba(8, 22, 48, 0.95), rgba(3, 10, 24, 0.98));
    box-shadow:
      0 24px 60px rgba(0, 0, 0, 0.34),
      inset 0 1px 0 rgba(255,255,255,0.03);
  }
  
  .nivel-support-panel__eyebrow {
    display: inline-block;
    margin-bottom: 0.55rem;
    font-size: 0.78rem;
    line-height: 1.2;
    font-weight: 800;
    letter-spacing: 0.13em;
    text-transform: uppercase;
    color: #67acff;
  }
  
  .nivel-support-panel__title {
    margin: 0;
    font-size: clamp(1.55rem, 2vw, 2.2rem);
    line-height: 1.08;
    color: #f6f9ff;
  }
  
  .nivel-support-panel__text {
    margin: 0.95rem 0 0;
    color: rgba(221, 231, 248, 0.85);
    line-height: 1.8;
  }
  
  .nivel-support-panel__actions {
    display: grid;
    gap: 0.95rem;
    min-width: 240px;
  }
  
  @media (max-width: 1199.98px) {
    .program-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }
  
  @media (max-width: 991.98px) {
    .nivel-hero__grid,
    .nivel-support-panel {
      grid-template-columns: 1fr;
    }
  
    .nivel-support-panel__actions {
      min-width: 0;
    }
  }
  
  @media (max-width: 767.98px) {
    .nivel-hero {
      padding: 50px 0 28px;
    }
  
    .nivel-hero__actions {
      flex-direction: column;
      align-items: stretch;
    }
  
    .program-grid {
      grid-template-columns: 1fr;
    }
  
    .program-card,
    .nivel-support-panel,
    .nivel-hero__visual {
      border-radius: 22px;
    }
  
    .program-card {
      padding: 1.15rem 1rem 1rem;
    }
  
    .nivel-support-panel {
      padding: 1.3rem 1.05rem;
    }
  
    .program-card__title {
      font-size: 1.14rem;
    }
  
    .program-card__text,
    .nivel-support-panel__text {
      font-size: 0.96rem;
      line-height: 1.7;
    }
  }
  
  /* =========================
     ANCLAS INTERIORES
  ========================= */
  
  #programas-licenciatura,
  #programas-maestria,
  #programas-doctorado,
  #programas-especialidades,
  #programas-maestria,
  #programas-doctorado
  {
    scroll-margin-top: calc(var(--header-height) + 34px);
  }
  
  #programas-licenciatura,
  #programas-maestria,
  #programas-doctorado,
  #programas-especialidades,
  #programas-maestria,
  #programas-doctorado {
    scroll-margin-top: 120px;
  }
  
  #programas-especialidades {
    scroll-margin-top: calc(var(--header-height) + 34px);
  }
  
  .specialty-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1.2rem;
  }
  
  .specialty-card {
    position: relative;
    display: flex;
    flex-direction: column;
    min-height: 100%;
    padding: 1.15rem 1rem 1rem;
    border-radius: 22px;
    border: 1px solid rgba(68, 132, 255, 0.16);
    background:
      linear-gradient(180deg, rgba(8, 22, 48, 0.94), rgba(3, 10, 24, 0.98));
    box-shadow:
      0 18px 42px rgba(0, 0, 0, 0.26),
      inset 0 1px 0 rgba(255,255,255,0.03);
    transition:
      transform 0.28s ease,
      border-color 0.28s ease,
      box-shadow 0.28s ease;
  }
  
  .specialty-card > *:not(.specialty-card__footer) {
    flex-shrink: 0;
  }
  
  .specialty-card::after {
    content: "";
    position: absolute;
    left: 18px;
    right: 18px;
    bottom: 0;
    height: 3px;
    border-radius: 999px;
    background: linear-gradient(
      90deg,
      rgba(0, 115, 225, 0) 0%,
      rgba(0, 115, 225, 0.9) 50%,
      rgba(0, 115, 225, 0) 100%
    );
    opacity: 0.76;
    transform: scaleX(0.72);
    transform-origin: center;
    transition: transform 0.3s ease, opacity 0.3s ease;
  }
  
  .specialty-card:hover {
    transform: translateY(-6px);
    border-color: rgba(100, 163, 255, 0.28);
    box-shadow:
      0 24px 54px rgba(0, 0, 0, 0.32),
      0 0 22px rgba(0, 115, 225, 0.08);
  }
  
  .specialty-card:hover::after {
    opacity: 1;
    transform: scaleX(1);
  }
  
  .specialty-card__header {
    display: flex;
    flex-direction: column;
    gap: 0.7rem;
    margin-bottom: 0.9rem;
  }
  
  .specialty-card__badge,
  .specialty-card__rvoe {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    align-self: flex-start;
    min-height: 32px;
    padding: 0.38rem 0.72rem;
    border-radius: 999px;
    font-size: 0.76rem;
    font-weight: 800;
    line-height: 1.1;
  }
  
  .specialty-card__badge {
    color: #e8f2ff;
    background: rgba(14, 67, 168, 0.28);
    border: 1px solid rgba(82, 145, 255, 0.16);
  }
  
  .specialty-card__rvoe {
    color: #78b8ff;
    background: rgba(255,255,255,0.03);
    border: 1px solid rgba(84, 146, 255, 0.12);
  }
  
  .specialty-card__title {
    margin: 0 0 1rem;
    color: #f7f9ff;
    font-size: 1.02rem;
    line-height: 1.3;
    font-weight: 800;
    letter-spacing: -0.01em;
    min-height: 3.9rem;
  }
  
  .specialty-card__footer {
    margin-top: auto;
  }
  
  .specialty-card__cta {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    min-height: 42px;
    padding: 0.7rem 0.95rem;
    border-radius: 14px;
    background:
      linear-gradient(135deg, rgba(18, 78, 186, 0.34), rgba(8, 26, 62, 0.75));
    border: 1px solid rgba(88, 150, 255, 0.18);
    color: #f5f9ff;
    font-size: 0.9rem;
    font-weight: 700;
    transition:
      transform 0.22s ease,
      border-color 0.22s ease,
      box-shadow 0.22s ease;
  }
  
  .specialty-card__cta:hover {
    transform: translateY(-2px);
    border-color: rgba(103, 162, 255, 0.34);
    box-shadow: 0 14px 28px rgba(0, 0, 0, 0.24);
    color: #ffffff;
  }
  
  @media (max-width: 1399.98px) {
    .specialty-grid {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
  }
  
  @media (max-width: 991.98px) {
    .specialty-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }
  
  @media (max-width: 767.98px) {
    .specialty-grid {
      grid-template-columns: 1fr;
    }
  
    .specialty-card {
      border-radius: 20px;
    }
  
    .specialty-card__title {
      min-height: auto;
      font-size: 1rem;
    }
  }
  
  .specialty-card__media {
    margin: 0 0 0.95rem;
    width: 100%;
    aspect-ratio: 16 / 9;
    border-radius: 16px;
    overflow: hidden;
    border: 1px solid rgba(80, 140, 255, 0.14);
    background:
      linear-gradient(180deg, rgba(8, 22, 48, 0.92), rgba(3, 10, 24, 0.98));
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,0.03),
      0 12px 24px rgba(0, 0, 0, 0.16);
  }
  
  .specialty-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
  }
  
  .specialty-card__title {
    margin: 0 0 1rem;
    color: #f7f9ff;
    font-size: 1.02rem;
    line-height: 1.3;
    font-weight: 800;
    letter-spacing: -0.01em;
    min-height: 4.3rem;
  }
  
  #programas-especialidades {
    scroll-margin-top: calc(var(--header-height) + 34px);
  }
  
  .specialty-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1.2rem;
  }
  
  .specialty-card {
    position: relative;
    display: flex;
    flex-direction: column;
    min-height: 100%;
    padding: 1.15rem 1rem 1rem;
    border-radius: 22px;
    border: 1px solid rgba(68, 132, 255, 0.16);
    background:
      linear-gradient(180deg, rgba(8, 22, 48, 0.94), rgba(3, 10, 24, 0.98));
    box-shadow:
      0 18px 42px rgba(0, 0, 0, 0.26),
      inset 0 1px 0 rgba(255,255,255,0.03);
    transition:
      transform 0.28s ease,
      border-color 0.28s ease,
      box-shadow 0.28s ease;
  }
  
  .specialty-card::after {
    content: "";
    position: absolute;
    left: 18px;
    right: 18px;
    bottom: 0;
    height: 3px;
    border-radius: 999px;
    background: linear-gradient(
      90deg,
      rgba(0, 115, 225, 0) 0%,
      rgba(0, 115, 225, 0.9) 50%,
      rgba(0, 115, 225, 0) 100%
    );
    opacity: 0.76;
    transform: scaleX(0.72);
    transform-origin: center;
    transition: transform 0.3s ease, opacity 0.3s ease;
  }
  
  .specialty-card:hover {
    transform: translateY(-6px);
    border-color: rgba(100, 163, 255, 0.28);
    box-shadow:
      0 24px 54px rgba(0, 0, 0, 0.32),
      0 0 22px rgba(0, 115, 225, 0.08);
  }
  
  .specialty-card:hover::after {
    opacity: 1;
    transform: scaleX(1);
  }
  
  .specialty-card__media {
    margin: 0 0 0.95rem;
    width: 100%;
    aspect-ratio: 16 / 9;
    border-radius: 16px;
    overflow: hidden;
    border: 1px solid rgba(80, 140, 255, 0.14);
    background:
      linear-gradient(180deg, rgba(8, 22, 48, 0.92), rgba(3, 10, 24, 0.98));
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,0.03),
      0 12px 24px rgba(0, 0, 0, 0.16);
  }
  
  .specialty-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
  }
  
  .specialty-card__header {
    display: flex;
    flex-direction: column;
    gap: 0.7rem;
    margin-bottom: 0.9rem;
  }
  
  .specialty-card__badge,
  .specialty-card__rvoe {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    align-self: flex-start;
    min-height: 32px;
    padding: 0.38rem 0.72rem;
    border-radius: 999px;
    font-size: 0.76rem;
    font-weight: 800;
    line-height: 1.1;
  }
  
  .specialty-card__badge {
    color: #e8f2ff;
    background: rgba(14, 67, 168, 0.28);
    border: 1px solid rgba(82, 145, 255, 0.16);
  }
  
  .specialty-card__rvoe {
    color: #78b8ff;
    background: rgba(255,255,255,0.03);
    border: 1px solid rgba(84, 146, 255, 0.12);
  }
  
  .specialty-card__title {
    margin: 0 0 1rem;
    color: #f7f9ff;
    font-size: 1.02rem;
    line-height: 1.3;
    font-weight: 800;
    letter-spacing: -0.01em;
    min-height: 4.3rem;
  }
  
  .specialty-card__footer {
    margin-top: auto;
  }
  
  .specialty-card__cta {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    min-height: 42px;
    padding: 0.7rem 0.95rem;
    border-radius: 14px;
    background:
      linear-gradient(135deg, rgba(18, 78, 186, 0.34), rgba(8, 26, 62, 0.75));
    border: 1px solid rgba(88, 150, 255, 0.18);
    color: #f5f9ff;
    font-size: 0.9rem;
    font-weight: 700;
    transition:
      transform 0.22s ease,
      border-color 0.22s ease,
      box-shadow 0.22s ease;
  }
  
  .specialty-card__cta:hover {
    transform: translateY(-2px);
    border-color: rgba(103, 162, 255, 0.34);
    box-shadow: 0 14px 28px rgba(0, 0, 0, 0.24);
    color: #ffffff;
  }
  
  @media (max-width: 1399.98px) {
    .specialty-grid {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
  }
  
  @media (max-width: 991.98px) {
    .specialty-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }
  
  @media (max-width: 767.98px) {
    .specialty-grid {
      grid-template-columns: 1fr;
    }
  
    .specialty-card {
      border-radius: 20px;
    }
  
    .specialty-card__title {
      min-height: auto;
      font-size: 1rem;
    }
  }
  
  .specialty-card__text {
    margin: 0 0 1rem;
    color: rgba(222, 231, 248, 0.84);
    line-height: 1.65;
    font-size: 0.93rem;
    min-height: 4.9rem;
  }
  
  @media (max-width: 767.98px) {
    .specialty-card__text {
      min-height: auto;
    }
  }
  
  
  /* =========================
     TEMPLATE PROGRAMA ACADÉMICO
  ========================= */
  
  .program-template-page {
    background:
      radial-gradient(circle at top left, rgba(0, 163, 255, 0.10), transparent 22%),
      radial-gradient(circle at top right, rgba(18, 82, 255, 0.08), transparent 20%),
      linear-gradient(180deg, #040b14 0%, #06111d 42%, #030913 100%);
    color: #eaf2ff;
  }
  
  .program-template {
    position: relative;
    overflow: hidden;
  }
  
  .program-container {
    width: min(100% - 2rem, 1280px);
    margin: 0 auto;
  }
  
  .program-section {
    position: relative;
    padding: 5.5rem 0;
  }
  
  .program-section--last {
    padding-top: 4rem;
    padding-bottom: 6rem;
  }
  
  /* VARIANTES DE SECCIÓN */
  
  .program-section--overview {
    background:
      linear-gradient(180deg, rgba(2, 10, 18, 0.98) 0%, rgba(3, 14, 24, 0.98) 100%);
  }
  
  .program-section--highlights {
    background:
      radial-gradient(circle at 20% 20%, rgba(0, 173, 255, 0.08), transparent 24%),
      linear-gradient(180deg, #081422 0%, #0a1727 50%, #08121f 100%);
  }
  
  .program-section--curriculum {
    background:
      linear-gradient(180deg, #05101c 0%, #06111d 100%);
  }
  
  .program-section--profile {
    background:
      radial-gradient(circle at 80% 25%, rgba(35, 132, 255, 0.07), transparent 22%),
      linear-gradient(180deg, #07111d 0%, #08111a 100%);
  }
  
  .program-section__intro {
    max-width: 860px;
    margin-bottom: 2.25rem;
  }
  
  .program-section__intro--compact {
    margin-bottom: 2.5rem;
  }
  
  .program-section__kicker {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 1rem;
    padding: 0.6rem 0.95rem;
    border: 1px solid rgba(95, 161, 255, 0.28);
    border-radius: 999px;
    background: rgba(4, 16, 29, 0.68);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.02);
    color: #7dbdff;
    font-size: 0.78rem;
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0.18em;
    text-transform: uppercase;
  }
  
  .program-section__title {
    margin: 0 0 1rem;
    color: #ffffff;
    font-size: clamp(2rem, 3vw, 3.4rem);
    line-height: 1.02;
    font-weight: 900;
    letter-spacing: -0.03em;
    text-wrap: balance;
  }
  
  .program-section__text {
    margin: 0;
    color: rgba(226, 236, 255, 0.82);
    font-size: 1.05rem;
    line-height: 1.9;
  }
  
  /* HERO */
  
  .program-hero {
    position: relative;
    min-height: 95vh;
    display: flex;
    align-items: center;
    padding: 8rem 0 5rem;
    overflow: hidden;
  }
  
  .program-hero__bg,
  .program-hero__overlay,
  .program-hero__gridlines {
    position: absolute;
    inset: 0;
  }
  
  .program-hero__bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    filter: saturate(1.05) contrast(1.05) brightness(0.34);
    transform: scale(1.02);
  }
  
  .program-hero__overlay {
    background:
      linear-gradient(90deg, rgba(3, 9, 18, 0.95) 0%, rgba(4, 11, 21, 0.88) 32%, rgba(5, 15, 28, 0.44) 62%, rgba(5, 14, 26, 0.92) 100%),
      linear-gradient(180deg, rgba(0, 0, 0, 0.18) 0%, rgba(0, 0, 0, 0.3) 100%),
      radial-gradient(circle at 18% 28%, rgba(0, 194, 255, 0.15), transparent 24%),
      radial-gradient(circle at 72% 18%, rgba(42, 94, 255, 0.16), transparent 22%);
  }
  
  .program-hero__gridlines {
    background-image:
      linear-gradient(rgba(117, 182, 255, 0.05) 1px, transparent 1px),
      linear-gradient(90deg, rgba(117, 182, 255, 0.05) 1px, transparent 1px);
    background-size: 60px 60px;
    mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.78), transparent 92%);
    pointer-events: none;
  }
  
  .program-hero .program-container {
    position: relative;
    z-index: 2;
  }
  
  .program-hero__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.28fr) minmax(320px, 430px);
    gap: 2rem;
    align-items: center;
  }
  
  .program-hero__content {
    max-width: 760px;
  }
  
  .program-hero__eyebrow {
    display: inline-flex;
    align-items: center;
    margin-bottom: 1.15rem;
    padding: 0.68rem 1.05rem;
    border-radius: 999px;
    border: 1px solid rgba(126, 192, 255, 0.24);
    background: rgba(5, 16, 30, 0.66);
    color: #88c8ff;
    font-size: 0.8rem;
    font-weight: 800;
    letter-spacing: 0.18em;
    text-transform: uppercase;
  }
  
  .program-hero__title {
    margin: 0 0 1.25rem;
    color: #ffffff;
    font-size: clamp(2.8rem, 5vw, 5rem);
    line-height: 0.94;
    font-weight: 900;
    letter-spacing: -0.04em;
    text-wrap: balance;
    text-shadow: 0 8px 30px rgba(0, 0, 0, 0.3);
  }
  
  .program-hero__lead {
    max-width: 700px;
    margin: 0 0 1.7rem;
    color: rgba(233, 241, 255, 0.86);
    font-size: 1.08rem;
    line-height: 1.9;
  }
  
  .program-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-bottom: 1.75rem;
  }
  
  .program-meta__item {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    min-height: 50px;
    padding: 0.8rem 1rem;
    border: 1px solid rgba(126, 192, 255, 0.18);
    border-radius: 14px;
    background:
      linear-gradient(180deg, rgba(7, 20, 36, 0.82) 0%, rgba(6, 18, 32, 0.78) 100%);
    box-shadow:
      0 12px 30px rgba(0, 0, 0, 0.18),
      inset 0 1px 0 rgba(255, 255, 255, 0.03);
    color: #ebf3ff;
    font-size: 0.95rem;
    font-weight: 600;
  }
  
  .program-meta__item i {
    color: #6fc2ff;
  }
  
  .program-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.85rem;
  }
  
  /* BOTONES */
  
  .program-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.65rem;
    min-height: 54px;
    padding: 0.95rem 1.2rem;
    border-radius: 14px;
    border: 1px solid transparent;
    font-weight: 800;
    text-decoration: none;
    transition:
      transform 0.25s ease,
      border-color 0.25s ease,
      background-color 0.25s ease,
      color 0.25s ease,
      box-shadow 0.25s ease;
  }
  
  .program-btn:hover {
    transform: translateY(-2px);
  }
  
  .program-btn--full {
    width: 100%;
  }
  
  .program-btn--primary {
    background: linear-gradient(135deg, #0b67ff 0%, #12b9ff 100%);
    color: #ffffff;
    box-shadow: 0 16px 36px rgba(18, 114, 255, 0.28);
  }
  
  .program-btn--primary:hover {
    color: #ffffff;
    box-shadow: 0 20px 44px rgba(18, 114, 255, 0.36);
  }
  
  .program-btn--secondary {
    background: rgba(7, 18, 31, 0.86);
    border-color: rgba(134, 193, 255, 0.18);
    color: #e3efff;
  }
  
  .program-btn--secondary:hover,
  .program-btn--ghost:hover {
    color: #ffffff;
    border-color: rgba(134, 193, 255, 0.34);
    background: rgba(10, 27, 46, 0.96);
  }
  
  .program-btn--ghost {
    background: transparent;
    border-color: rgba(134, 193, 255, 0.2);
    color: #dceaff;
  }
  
  .program-btn--accent {
    background: linear-gradient(135deg, rgba(8, 23, 40, 0.94) 0%, rgba(10, 31, 52, 0.96) 100%);
    border-color: rgba(110, 176, 255, 0.24);
    color: #dbeaff;
    box-shadow: 0 14px 34px rgba(0, 0, 0, 0.18);
  }
  
  .program-btn--accent:hover {
    color: #ffffff;
    border-color: rgba(126, 195, 255, 0.42);
    background: linear-gradient(135deg, rgba(10, 31, 52, 0.98) 0%, rgba(13, 40, 66, 0.98) 100%);
    box-shadow:
      0 18px 40px rgba(0, 0, 0, 0.24),
      0 0 0 1px rgba(126, 195, 255, 0.05);
  }
  
  /* PANEL RESUMEN */
  
  .program-cta-panel {
    position: relative;
  }
  
  .program-cta-panel__inner {
    position: relative;
    padding: 1.55rem;
    border: 1px solid rgba(117, 182, 255, 0.15);
    border-radius: 26px;
    background:
      linear-gradient(180deg, rgba(8, 20, 36, 0.96) 0%, rgba(6, 16, 29, 0.92) 100%);
    box-shadow:
      0 24px 60px rgba(0, 0, 0, 0.42),
      inset 0 1px 0 rgba(255, 255, 255, 0.04);
    backdrop-filter: blur(12px);
    overflow: hidden;
  }
  
  .program-cta-panel__inner::before {
    content: "";
    position: absolute;
    inset: 0 auto auto 0;
    width: 100%;
    height: 1px;
    background: linear-gradient(90deg, rgba(0, 184, 255, 0), rgba(0, 184, 255, 0.76), rgba(0, 184, 255, 0));
  }
  
  .program-cta-panel__inner::after {
    content: "";
    position: absolute;
    top: -40px;
    right: -40px;
    width: 140px;
    height: 140px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(0, 184, 255, 0.14), transparent 70%);
    pointer-events: none;
  }
  
  .program-cta-panel__kicker {
    display: inline-block;
    margin-bottom: 1rem;
    color: #8fc7ff;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.16em;
    text-transform: uppercase;
  }
  
  .program-cta-panel__list {
    list-style: none;
    margin: 0;
    padding: 0;
  }
  
  .program-cta-panel__list li {
    display: grid;
    gap: 0.35rem;
    padding: 0.9rem 0;
    border-bottom: 1px solid rgba(123, 168, 220, 0.12);
  }
  
  .program-cta-panel__list li:last-child {
    border-bottom: none;
  }
  
  .program-cta-panel__label {
    color: rgba(165, 195, 232, 0.76);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }
  
  .program-cta-panel__value {
    color: #ffffff;
    font-size: 0.98rem;
    line-height: 1.5;
    font-weight: 700;
  }
  
  .program-cta-panel__actions {
    display: grid;
    gap: 0.8rem;
    margin-top: 1.25rem;
  }
  
  /* OVERVIEW */
  
  .program-overview-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
  }
  
  .program-overview-card {
    height: 100%;
    padding: 1.45rem 1.25rem;
    border: 1px solid rgba(112, 176, 255, 0.13);
    border-radius: 24px;
    background:
      linear-gradient(180deg, rgba(4, 17, 31, 0.9) 0%, rgba(3, 13, 24, 0.88) 100%);
    box-shadow:
      0 18px 40px rgba(0, 0, 0, 0.22),
      inset 0 1px 0 rgba(255, 255, 255, 0.025);
    transition:
      transform 0.25s ease,
      border-color 0.25s ease,
      box-shadow 0.25s ease;
  }
  
  .program-overview-card:hover {
    transform: translateY(-4px);
    border-color: rgba(116, 188, 255, 0.24);
    box-shadow:
      0 22px 46px rgba(0, 0, 0, 0.28),
      0 0 0 1px rgba(116, 188, 255, 0.06);
  }
  
  .program-overview-card__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 54px;
    height: 54px;
    margin-bottom: 1rem;
    border-radius: 16px;
    background: linear-gradient(135deg, rgba(9, 88, 255, 0.2), rgba(0, 184, 255, 0.12));
    color: #77c4ff;
    font-size: 1.15rem;
  }
  
  .program-overview-card__title {
    margin: 0 0 0.65rem;
    color: #ffffff;
    font-size: 1.06rem;
    font-weight: 800;
  }
  
  .program-overview-card__text {
    margin: 0;
    color: rgba(226, 236, 255, 0.8);
    line-height: 1.8;
  }
  
  /* HIGHLIGHTS */
  
  .program-highlights-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.2rem;
  }
  
  .program-highlight-card {
    position: relative;
    height: 100%;
    padding: 1.7rem;
    border: 1px solid rgba(112, 176, 255, 0.14);
    border-radius: 26px;
    background:
      linear-gradient(180deg, rgba(7, 20, 36, 0.92) 0%, rgba(5, 15, 27, 0.9) 100%);
    box-shadow:
      0 20px 46px rgba(0, 0, 0, 0.24),
      inset 0 1px 0 rgba(255, 255, 255, 0.025);
    overflow: hidden;
    transition:
      transform 0.25s ease,
      border-color 0.25s ease,
      box-shadow 0.25s ease;
  }
  
  .program-highlight-card::before {
    content: "";
    position: absolute;
    inset: 0 auto auto 0;
    width: 100%;
    height: 1px;
    background: linear-gradient(90deg, rgba(0, 184, 255, 0), rgba(0, 184, 255, 0.6), rgba(0, 184, 255, 0));
  }
  
  .program-highlight-card::after {
    content: "";
    position: absolute;
    top: -45px;
    right: -30px;
    width: 120px;
    height: 120px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(18, 185, 255, 0.13), transparent 72%);
    pointer-events: none;
  }
  
  .program-highlight-card:hover {
    transform: translateY(-5px);
    border-color: rgba(127, 196, 255, 0.24);
    box-shadow:
      0 24px 54px rgba(0, 0, 0, 0.3),
      0 0 0 1px rgba(127, 196, 255, 0.06);
  }
  
  .program-highlight-card__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 58px;
    height: 58px;
    margin-bottom: 1rem;
    border-radius: 18px;
    background: linear-gradient(135deg, rgba(11, 103, 255, 0.2), rgba(0, 184, 255, 0.12));
    color: #7cc8ff;
    font-size: 1.2rem;
  }
  
  .program-highlight-card__title {
    margin: 0 0 0.8rem;
    color: #ffffff;
    font-size: 1.12rem;
    font-weight: 800;
  }
  
  .program-highlight-card__text {
    margin: 0;
    color: rgba(226, 236, 255, 0.82);
    line-height: 1.85;
  }
  
  /* ACCORDION */
  
  .program-accordion {
    display: grid;
    gap: 1rem;
  }
  
  .program-accordion__item {
    border: 1px solid rgba(110, 175, 255, 0.14);
    border-radius: 22px;
    background:
      linear-gradient(180deg, rgba(5, 16, 28, 0.92) 0%, rgba(5, 14, 24, 0.9) 100%);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.02);
    overflow: hidden;
  }
  
  .program-accordion__title {
    margin: 0;
  }
  
  .program-accordion__button {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.2rem 1.3rem;
    border: none;
    background: transparent;
    color: #ffffff;
    text-align: left;
    font-size: 1.02rem;
    font-weight: 800;
  }
  
  .program-accordion__icon {
    flex: 0 0 auto;
    transition: transform 0.25s ease;
  }
  
  .program-accordion__button[aria-expanded="true"] .program-accordion__icon {
    transform: rotate(180deg);
  }
  
  .program-accordion__body {
    padding: 0 1.3rem 1.3rem;
    color: rgba(226, 236, 255, 0.82);
    line-height: 1.85;
  }
  
  /* LISTAS */
  
  .program-list {
    margin: 0;
    padding-left: 1.2rem;
    color: rgba(226, 236, 255, 0.82);
  }
  
  .program-list li {
    margin-bottom: 0.7rem;
  }
  
  .program-list li:last-child {
    margin-bottom: 0;
  }
  
  .program-list--spaced li {
    margin-bottom: 0.95rem;
  }
  
  /* PERFIL */
  
  .program-profile {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(320px, 420px);
    gap: 1.5rem;
    align-items: stretch;
  }
  
  .program-profile__content {
    padding: 2rem;
    border: 1px solid rgba(111, 179, 255, 0.14);
    border-radius: 28px;
    background:
      linear-gradient(180deg, rgba(8, 20, 35, 0.92) 0%, rgba(6, 15, 27, 0.9) 100%);
    box-shadow:
      0 20px 46px rgba(0, 0, 0, 0.24),
      inset 0 1px 0 rgba(255, 255, 255, 0.025);
  }
  
  .program-profile__media {
    display: flex;
  }
  
  .program-visual-card {
    position: relative;
    width: 100%;
    padding: 2rem;
    border: 1px solid rgba(111, 179, 255, 0.16);
    border-radius: 28px;
    background:
      linear-gradient(160deg, rgba(12, 25, 44, 0.96) 0%, rgba(8, 18, 32, 0.96) 55%, rgba(5, 14, 25, 0.96) 100%);
    box-shadow:
      0 26px 60px rgba(0, 0, 0, 0.3),
      inset 0 1px 0 rgba(255, 255, 255, 0.03);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: center;
    isolation: isolate;
  }
  
  .program-visual-card__glow {
    position: absolute;
    inset: auto -60px -60px auto;
    width: 180px;
    height: 180px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(18, 185, 255, 0.22), transparent 70%);
    z-index: -1;
  }
  
  .program-visual-card__label {
    display: inline-flex;
    align-self: flex-start;
    margin-bottom: 1rem;
    padding: 0.55rem 0.85rem;
    border-radius: 999px;
    background: rgba(9, 99, 255, 0.14);
    color: #8bc8ff;
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
  }
  
  .program-visual-card__title {
    margin: 0 0 1rem;
    color: #ffffff;
    font-size: clamp(1.5rem, 2vw, 2rem);
    line-height: 1.12;
    font-weight: 800;
  }
  
  .program-visual-card__text {
    margin: 0 0 1.4rem;
    color: rgba(227, 236, 255, 0.8);
    line-height: 1.85;
  }
  
  .program-visual-card__stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.8rem;
  }
  
  .program-visual-card__stat {
    padding: 0.9rem 0.85rem;
    border: 1px solid rgba(124, 191, 255, 0.14);
    border-radius: 18px;
    background: rgba(7, 18, 31, 0.54);
  }
  
  .program-visual-card__stat strong {
    display: block;
    margin-bottom: 0.25rem;
    color: #ffffff;
    font-size: 1rem;
    font-weight: 800;
  }
  
  .program-visual-card__stat span {
    display: block;
    color: rgba(214, 229, 255, 0.74);
    font-size: 0.86rem;
  }
  
  
  /* =========================
     CTA FINAL CENTRADO
  ========================= */
  
  .program-final-cta {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1.25rem;
    padding: 2.25rem 2rem;
    border: 1px solid rgba(123, 190, 255, 0.16);
    border-radius: 30px;
    background:
      radial-gradient(circle at 50% 0%, rgba(0, 174, 255, 0.06), transparent 24%),
      linear-gradient(135deg, rgba(8, 23, 40, 0.96) 0%, rgba(8, 18, 31, 0.98) 50%, rgba(5, 13, 23, 0.98) 100%);
    box-shadow:
      0 20px 48px rgba(0, 0, 0, 0.24),
      inset 0 1px 0 rgba(255, 255, 255, 0.02);
    text-align: center;
  }
  
  .program-final-cta__content {
    max-width: 920px;
    margin: 0 auto;
  }
  
  .program-final-cta__kicker {
    display: inline-block;
    margin-bottom: 0.65rem;
    color: #8fc7ff;
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.16em;
    text-transform: uppercase;
  }
  
  .program-final-cta__title {
    margin: 0 0 0.75rem;
    color: #ffffff;
    font-size: clamp(2rem, 3.2vw, 3.2rem);
    line-height: 1.05;
    font-weight: 900;
    letter-spacing: -0.03em;
    text-wrap: balance;
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
  }
  
  .program-final-cta__text {
    margin: 0 auto;
    max-width: 760px;
    color: rgba(226, 236, 255, 0.82);
    font-size: 1rem;
    line-height: 1.75;
  }
  
  .program-final-cta__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 0.8rem;
    width: 100%;
  }
  
  .program-final-cta__actions .program-btn {
    min-height: 52px;
    padding: 0.85rem 1.2rem;
    border-radius: 14px;
    white-space: nowrap;
  }
  
  .program-final-cta .program-btn--primary {
    box-shadow: 0 12px 28px rgba(18, 114, 255, 0.24);
  }
  
  .program-final-cta .program-btn--primary:hover {
    box-shadow: 0 16px 34px rgba(18, 114, 255, 0.3);
  }
  
  @media (max-width: 991.98px) {
    .program-final-cta {
      padding: 2rem 1.5rem;
    }
  
    .program-final-cta__title {
      font-size: clamp(1.8rem, 5vw, 2.5rem);
      max-width: 700px;
    }
  
    .program-final-cta__text {
      max-width: 620px;
    }
  }
  
  @media (max-width: 767.98px) {
    .program-final-cta {
      padding: 1.5rem 1.2rem;
      border-radius: 22px;
      gap: 1rem;
    }
  
    .program-final-cta__title {
      font-size: clamp(1.55rem, 7vw, 2rem);
      line-height: 1.08;
      max-width: 100%;
    }
  
    .program-final-cta__text {
      font-size: 0.95rem;
      line-height: 1.65;
      max-width: 100%;
    }
  
    .program-final-cta__actions {
      flex-direction: column;
      align-items: stretch;
    }
  
    .program-final-cta__actions .program-btn {
      width: 100%;
      justify-content: center;
    }
  }
  
  
  /* RESPONSIVE */
  
  @media (max-width: 1199.98px) {
    .program-hero__grid,
    .program-profile,
    .program-final-cta {
      grid-template-columns: 1fr;
    }
  
    .program-hero {
      min-height: auto;
      padding-top: 7rem;
    }
  
    .program-cta-panel {
      max-width: 560px;
    }
  
    .program-final-cta__actions {
      justify-content: flex-start;
    }
  
    .program-overview-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  
    .program-highlights-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }
  
  @media (max-width: 767.98px) {
    .program-container {
      width: min(100% - 1.25rem, 1280px);
    }
  
    .program-section {
      padding: 4rem 0;
    }
  
    .program-hero {
      padding-top: 6.5rem;
      padding-bottom: 3.5rem;
    }
  
    .program-hero__title {
      line-height: 0.98;
    }
  
    .program-hero__lead,
    .program-section__text,
    .program-overview-card__text,
    .program-highlight-card__text,
    .program-visual-card__text {
      font-size: 0.98rem;
      line-height: 1.75;
    }
  
    .program-meta {
      flex-direction: column;
    }
  
    .program-overview-grid,
    .program-highlights-grid,
    .program-visual-card__stats {
      grid-template-columns: 1fr;
    }
  
    .program-hero__actions,
    .program-final-cta__actions {
      flex-direction: column;
      align-items: stretch;
    }
  
    .program-btn {
      width: 100%;
    }
  
    .program-cta-panel__inner,
    .program-overview-card,
    .program-highlight-card,
    .program-profile__content,
    .program-visual-card,
    .program-final-cta,
    .program-accordion__item {
      border-radius: 22px;
    }
  
    .program-profile__content,
    .program-visual-card,
    .program-final-cta {
      padding: 1.5rem;
    }
  }
  
  /* =========================
     CURRICULUM ENHANCED
  ========================= */
  
  .program-section--curriculum {
    background:
      radial-gradient(circle at 15% 15%, rgba(0, 180, 255, 0.06), transparent 20%),
      linear-gradient(180deg, #04101c 0%, #07111d 100%);
  }
  
  .program-curriculum-shell {
    position: relative;
    padding: 2rem;
    border: 1px solid rgba(110, 176, 255, 0.12);
    border-radius: 32px;
    background:
      linear-gradient(180deg, rgba(5, 16, 28, 0.8) 0%, rgba(5, 14, 24, 0.72) 100%);
    box-shadow:
      0 30px 80px rgba(0, 0, 0, 0.28),
      inset 0 1px 0 rgba(255, 255, 255, 0.025);
    overflow: hidden;
  }
  
  .program-curriculum-shell::before {
    content: "";
    position: absolute;
    inset: 0 auto auto 0;
    width: 100%;
    height: 1px;
    background: linear-gradient(
      90deg,
      rgba(0, 184, 255, 0),
      rgba(0, 184, 255, 0.58),
      rgba(0, 184, 255, 0)
    );
  }
  
  .program-curriculum-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(300px, 380px);
    gap: 1.5rem;
    align-items: start;
  }
  
  .program-curriculum-main,
  .program-curriculum-side {
    min-width: 0;
  }
  
  .program-accordion--enhanced {
    display: grid;
    gap: 1rem;
  }
  
  .program-accordion--enhanced .program-accordion__item {
    border: 1px solid rgba(110, 176, 255, 0.14);
    border-radius: 24px;
    background:
      linear-gradient(180deg, rgba(6, 17, 30, 0.94) 0%, rgba(4, 14, 25, 0.92) 100%);
    box-shadow:
      0 14px 34px rgba(0, 0, 0, 0.16),
      inset 0 1px 0 rgba(255, 255, 255, 0.02);
    transition:
      transform 0.25s ease,
      border-color 0.25s ease,
      box-shadow 0.25s ease;
  }
  
  .program-accordion--enhanced .program-accordion__item:hover {
    transform: translateY(-2px);
    border-color: rgba(126, 195, 255, 0.24);
    box-shadow:
      0 18px 42px rgba(0, 0, 0, 0.22),
      0 0 0 1px rgba(126, 195, 255, 0.04);
  }
  
  .program-accordion__item--featured {
    position: relative;
    overflow: hidden;
  }
  
  .program-accordion__item--featured::after {
    content: "";
    position: absolute;
    top: -45px;
    right: -35px;
    width: 130px;
    height: 130px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(0, 184, 255, 0.14), transparent 70%);
    pointer-events: none;
  }
  
  .program-accordion--enhanced .program-accordion__button {
    padding: 1.15rem 1.35rem;
    font-size: 1rem;
    font-weight: 800;
  }
  
  .program-accordion__button-left {
    display: flex;
    align-items: center;
    gap: 1rem;
    min-width: 0;
  }
  
  .program-accordion__badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    border-radius: 16px;
    background: linear-gradient(135deg, rgba(11, 103, 255, 0.2), rgba(0, 184, 255, 0.12));
    color: #7fcaff;
    flex: 0 0 auto;
    font-size: 1rem;
  }
  
  .program-accordion__button-text {
    display: grid;
    gap: 0.18rem;
    min-width: 0;
  }
  
  .program-accordion__button-text small {
    color: rgba(146, 191, 243, 0.74);
    font-size: 0.76rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }
  
  .program-accordion__button-text strong {
    display: block;
    color: #ffffff;
    font-size: 1rem;
    font-weight: 800;
    line-height: 1.25;
  }
  
  .program-accordion--enhanced .program-accordion__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 12px;
    background: rgba(8, 25, 43, 0.8);
    color: #ffffff;
    flex: 0 0 auto;
  }
  
  .program-accordion--enhanced .program-accordion__body {
    padding: 0 1.35rem 1.35rem 1.35rem;
  }
  
  .program-list--curriculum {
    padding-left: 1.25rem;
  }
  
  .program-list--curriculum li {
    margin-bottom: 0.85rem;
    color: rgba(228, 237, 255, 0.84);
    line-height: 1.8;
  }
  
  .program-curriculum-card {
    position: sticky;
    top: 120px;
    padding: 1.75rem;
    border: 1px solid rgba(115, 182, 255, 0.16);
    border-radius: 28px;
    background:
      radial-gradient(circle at top right, rgba(18, 185, 255, 0.08), transparent 26%),
      linear-gradient(160deg, rgba(11, 24, 42, 0.96) 0%, rgba(8, 18, 32, 0.96) 58%, rgba(5, 14, 24, 0.96) 100%);
    box-shadow:
      0 24px 56px rgba(0, 0, 0, 0.28),
      inset 0 1px 0 rgba(255, 255, 255, 0.03);
  }
  
  .program-curriculum-card__label {
    display: inline-flex;
    align-self: flex-start;
    margin-bottom: 1rem;
    padding: 0.55rem 0.85rem;
    border-radius: 999px;
    background: rgba(9, 99, 255, 0.14);
    color: #8bc8ff;
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
  }
  
  .program-curriculum-card__title {
    margin: 0 0 1rem;
    color: #ffffff;
    font-size: 1.7rem;
    line-height: 1.12;
    font-weight: 800;
  }
  
  .program-curriculum-card__text {
    margin: 0 0 1.4rem;
    color: rgba(227, 236, 255, 0.8);
    line-height: 1.85;
  }
  
  .program-curriculum-card__metrics {
    display: grid;
    gap: 0.8rem;
  }
  
  .program-curriculum-card__metric {
    padding: 0.95rem 1rem;
    border: 1px solid rgba(121, 190, 255, 0.12);
    border-radius: 18px;
    background: rgba(6, 18, 31, 0.62);
  }
  
  .program-curriculum-card__metric strong {
    display: block;
    margin-bottom: 0.3rem;
    color: #ffffff;
    font-size: 0.95rem;
    font-weight: 800;
  }
  
  .program-curriculum-card__metric span {
    display: block;
    color: rgba(214, 229, 255, 0.74);
    font-size: 0.92rem;
    line-height: 1.5;
  }
  
  /* =========================
     CURRICULUM PARALLAX
  ========================= */
  
  .program-section--curriculum-parallax {
    position: relative;
    overflow: hidden;
    background: none;
  }
  
  .program-section--curriculum-parallax::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: url("../img/Gestion-de-Operaciones-de-Ciberdefensa.jpg");
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    background-attachment: fixed;
    filter: saturate(1.05) brightness(0.22) contrast(1.05);
    transform: scale(1.06);
    z-index: 0;
  }
  
  .program-section--curriculum-parallax::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
      linear-gradient(180deg, rgba(3, 10, 18, 0.9) 0%, rgba(4, 12, 22, 0.88) 35%, rgba(4, 12, 22, 0.92) 100%),
      radial-gradient(circle at 20% 18%, rgba(0, 184, 255, 0.08), transparent 22%),
      linear-gradient(90deg, rgba(4, 11, 20, 0.12) 0%, rgba(4, 11, 20, 0.02) 50%, rgba(4, 11, 20, 0.16) 100%);
    z-index: 1;
  }
  
  .program-section--curriculum-parallax .program-container {
    position: relative;
    z-index: 2;
  }
  
  .program-section--curriculum-parallax .program-curriculum-shell {
    background:
      linear-gradient(180deg, rgba(4, 14, 25, 0.76) 0%, rgba(4, 13, 23, 0.72) 100%);
    border-color: rgba(118, 186, 255, 0.14);
    box-shadow:
      0 30px 80px rgba(0, 0, 0, 0.34),
      inset 0 1px 0 rgba(255, 255, 255, 0.025);
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px);
  }
  
  .program-section--curriculum-parallax .program-curriculum-card,
  .program-section--curriculum-parallax .program-accordion--enhanced .program-accordion__item {
    background:
      linear-gradient(180deg, rgba(5, 16, 28, 0.9) 0%, rgba(4, 13, 24, 0.9) 100%);
  }
  
  /* =========================
     AUDIENCE / PERFIL REDESIGN
  ========================= */
  
  .program-section--profile {
    background:
      radial-gradient(circle at 18% 18%, rgba(0, 180, 255, 0.05), transparent 18%),
      linear-gradient(180deg, #07111d 0%, #08131f 100%);
  }
  
  .program-audience-shell {
    position: relative;
    padding: 2.25rem;
    border: 1px solid rgba(111, 179, 255, 0.12);
    border-radius: 32px;
    background:
      linear-gradient(180deg, rgba(6, 17, 29, 0.84) 0%, rgba(5, 14, 25, 0.78) 100%);
    box-shadow:
      0 28px 70px rgba(0, 0, 0, 0.28),
      inset 0 1px 0 rgba(255, 255, 255, 0.02);
    overflow: hidden;
  }
  
  .program-audience-shell::before {
    content: "";
    position: absolute;
    inset: 0 auto auto 0;
    width: 100%;
    height: 1px;
    background: linear-gradient(
      90deg,
      rgba(0, 184, 255, 0),
      rgba(0, 184, 255, 0.52),
      rgba(0, 184, 255, 0)
    );
  }
  
  .program-audience-head {
    max-width: 860px;
    margin-bottom: 2rem;
  }
  
  .program-audience-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.2rem;
    margin-bottom: 1.4rem;
  }
  
  .program-audience-card {
    position: relative;
    padding: 1.5rem;
    border: 1px solid rgba(111, 179, 255, 0.13);
    border-radius: 24px;
    background:
      linear-gradient(180deg, rgba(7, 19, 33, 0.92) 0%, rgba(5, 15, 26, 0.9) 100%);
    box-shadow:
      0 16px 40px rgba(0, 0, 0, 0.22),
      inset 0 1px 0 rgba(255, 255, 255, 0.02);
    transition:
      transform 0.25s ease,
      border-color 0.25s ease,
      box-shadow 0.25s ease;
    overflow: hidden;
  }
  
  .program-audience-card::after {
    content: "";
    position: absolute;
    top: -40px;
    right: -28px;
    width: 110px;
    height: 110px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(0, 184, 255, 0.10), transparent 72%);
    pointer-events: none;
  }
  
  .program-audience-card:hover {
    transform: translateY(-4px);
    border-color: rgba(125, 194, 255, 0.24);
    box-shadow:
      0 22px 48px rgba(0, 0, 0, 0.28),
      0 0 0 1px rgba(125, 194, 255, 0.05);
  }
  
  .program-audience-card__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 58px;
    height: 58px;
    margin-bottom: 1rem;
    border-radius: 18px;
    background: linear-gradient(135deg, rgba(11, 103, 255, 0.2), rgba(0, 184, 255, 0.12));
    color: #7cc8ff;
    font-size: 1.15rem;
  }
  
  .program-audience-card__title {
    margin: 0 0 0.75rem;
    color: #ffffff;
    font-size: 1.16rem;
    line-height: 1.2;
    font-weight: 800;
  }
  
  .program-audience-card__text {
    margin: 0;
    color: rgba(226, 236, 255, 0.8);
    line-height: 1.82;
  }
  
  .program-audience-band {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(320px, 420px);
    gap: 1.2rem;
    align-items: stretch;
    padding: 1.5rem;
    border: 1px solid rgba(116, 186, 255, 0.14);
    border-radius: 28px;
    background:
      radial-gradient(circle at 85% 80%, rgba(0, 184, 255, 0.10), transparent 24%),
      linear-gradient(135deg, rgba(10, 24, 41, 0.96) 0%, rgba(8, 18, 31, 0.96) 60%, rgba(5, 13, 23, 0.96) 100%);
    box-shadow:
      0 18px 44px rgba(0, 0, 0, 0.22),
      inset 0 1px 0 rgba(255, 255, 255, 0.025);
  }
  
  .program-audience-band__label {
    display: inline-flex;
    align-self: flex-start;
    margin-bottom: 0.9rem;
    padding: 0.55rem 0.85rem;
    border-radius: 999px;
    background: rgba(9, 99, 255, 0.14);
    color: #8bc8ff;
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
  }
  
  .program-audience-band__title {
    margin: 0 0 0.85rem;
    color: #ffffff;
    font-size: clamp(1.45rem, 2.1vw, 2rem);
    line-height: 1.12;
    font-weight: 800;
  }
  
  .program-audience-band__text {
    margin: 0;
    color: rgba(227, 236, 255, 0.8);
    line-height: 1.82;
  }
  
  .program-audience-band__stats {
    display: grid;
    gap: 0.8rem;
    align-content: center;
  }
  
  .program-audience-band__stat {
    padding: 0.95rem 1rem;
    border: 1px solid rgba(121, 190, 255, 0.12);
    border-radius: 18px;
    background: rgba(6, 18, 31, 0.58);
  }
  
  .program-audience-band__stat strong {
    display: block;
    margin-bottom: 0.3rem;
    color: #ffffff;
    font-size: 0.96rem;
    font-weight: 800;
  }
  
  .program-audience-band__stat span {
    display: block;
    color: rgba(214, 229, 255, 0.74);
    font-size: 0.9rem;
    line-height: 1.5;
  }
  
  /* =========================
     RESPONSIVE
  ========================= */
  
  @media (max-width: 1199.98px) {
    .program-curriculum-grid,
    .program-audience-band {
      grid-template-columns: 1fr;
    }
  
    .program-curriculum-card {
      position: relative;
      top: auto;
    }
  
    .program-audience-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }
  
  @media (max-width: 991.98px) {
    .program-section--curriculum-parallax::before {
      background-attachment: scroll;
      transform: scale(1.02);
    }
  }
  
  @media (max-width: 767.98px) {
    .program-curriculum-shell,
    .program-audience-shell {
      padding: 1.25rem;
      border-radius: 24px;
    }
  
    .program-accordion__button-left {
      gap: 0.85rem;
    }
  
    .program-accordion__badge {
      width: 46px;
      height: 46px;
      border-radius: 14px;
    }
  
    .program-accordion__button-text strong {
      font-size: 0.95rem;
    }
  
    .program-curriculum-card,
    .program-audience-card,
    .program-audience-band {
      padding: 1.25rem;
      border-radius: 22px;
    }
  
    .program-curriculum-card__title {
      font-size: 1.4rem;
    }
  
    .program-audience-grid,
    .program-audience-band {
      grid-template-columns: 1fr;
    }
  
    .program-audience-card__title {
      font-size: 1.05rem;
    }
  }
  
  /* =========================
     CONTACTO
  ========================= */
  
  .page-contact {
    background:
      radial-gradient(circle at 12% 10%, rgba(0, 184, 255, 0.08), transparent 24%),
      radial-gradient(circle at 88% 16%, rgba(12, 98, 255, 0.08), transparent 20%),
      linear-gradient(180deg, #04101b 0%, #061321 44%, #05111d 100%);
    color: #eaf4ff;
  }
  
  .contact-page {
    position: relative;
    overflow: hidden;
  }
  
  .contact-page::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
      linear-gradient(rgba(255, 255, 255, 0.015), rgba(255, 255, 255, 0.015)),
      linear-gradient(90deg, rgba(255, 255, 255, 0.02) 1px, transparent 1px),
      linear-gradient(rgba(255, 255, 255, 0.02) 1px, transparent 1px);
    background-size: auto, 120px 120px, 120px 120px;
    mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.75), rgba(0, 0, 0, 0.18));
    pointer-events: none;
    z-index: 0;
  }
  
  .contact-page > section {
    position: relative;
    z-index: 1;
  }
  
  .contact-hero {
    position: relative;
    padding: 11rem 0 6rem;
    overflow: hidden;
  
    background-image:
      linear-gradient(90deg, rgba(3, 12, 22, 0.94) 0%, rgba(3, 12, 22, 0.84) 34%, rgba(3, 12, 22, 0.46) 62%, rgba(3, 12, 22, 0.16) 100%),
      url("../img/contact-hero-bg.png");
  
    background-size: cover;
    background-position: right center;
    background-repeat: no-repeat;
  }
  
  .contact-hero__content {
    max-width: 760px;
    position: relative;
    z-index: 2;
  }
  
  .contact-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
      radial-gradient(circle at 75% 40%, rgba(0, 174, 255, 0.25), transparent 40%);
    pointer-events: none;
  }
  
  .contact-hero__content {
    max-width: 900px;
  }
  
  .contact-hero__eyebrow {
    display: inline-flex;
    margin-bottom: 1rem;
    padding: 0.55rem 0.9rem;
    border: 1px solid rgba(123, 191, 255, 0.16);
    border-radius: 999px;
    background: rgba(6, 25, 44, 0.64);
    color: #8dcdff;
    font-size: 0.77rem;
    font-weight: 800;
    letter-spacing: 0.15em;
    text-transform: uppercase;
  }
  
  .contact-hero__title {
    margin: 0 0 1rem;
    color: #ffffff;
    font-size: clamp(2.4rem, 4.5vw, 4.2rem);
    line-height: 0.96;
    font-weight: 900;
    letter-spacing: -0.03em;
  }
  
  .contact-hero__lead {
    max-width: 760px;
    margin: 0;
    color: rgba(227, 238, 255, 0.82);
    font-size: 1.05rem;
    line-height: 1.95;
  }
  
  .contact-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.9rem;
    margin-top: 1.75rem;
  }
  
  .contact-hero__action {
    display: inline-flex;
    align-items: center;
    gap: 0.7rem;
    padding: 0.9rem 1.1rem;
    border: 1px solid rgba(119, 186, 255, 0.14);
    border-radius: 16px;
    background:
      linear-gradient(180deg, rgba(8, 24, 42, 0.88) 0%, rgba(6, 18, 30, 0.92) 100%);
    color: #eef6ff;
    text-decoration: none;
    transition:
      transform 0.25s ease,
      border-color 0.25s ease,
      box-shadow 0.25s ease,
      background 0.25s ease;
  }
  
  .contact-hero__action i {
    color: #73c8ff;
  }
  
  .contact-hero__action:hover {
    transform: translateY(-2px);
    border-color: rgba(130, 196, 255, 0.24);
    box-shadow: 0 16px 38px rgba(0, 0, 0, 0.22);
    color: #ffffff;
  }
  
  .contact-hero::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 120px;
    background: linear-gradient(180deg, rgba(5, 16, 28, 0) 0%, rgba(5, 16, 28, 0.92) 100%);
    pointer-events: none;
  }
  
  .contact-main {
    padding: 1.5rem 0 3rem;
  }
  
  .contact-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(320px, 0.8fr);
    gap: 1.5rem;
    align-items: start;
  }
  
  .contact-form-card,
  .contact-info-card,
  .contact-map-card {
    position: relative;
    border: 1px solid rgba(112, 179, 255, 0.12);
    border-radius: 32px;
    background:
      radial-gradient(circle at 100% 0%, rgba(0, 184, 255, 0.08), transparent 24%),
      linear-gradient(180deg, rgba(5, 17, 30, 0.9) 0%, rgba(5, 14, 24, 0.94) 100%);
    box-shadow:
      0 26px 60px rgba(0, 0, 0, 0.24),
      inset 0 1px 0 rgba(255, 255, 255, 0.02);
    overflow: hidden;
  }
  
  .contact-form-card::before,
  .contact-info-card::before,
  .contact-map-card::before {
    content: "";
    position: absolute;
    inset: 0 auto auto 0;
    width: 100%;
    height: 1px;
    background: linear-gradient(
      90deg,
      rgba(111, 189, 255, 0),
      rgba(111, 189, 255, 0.42),
      rgba(111, 189, 255, 0)
    );
    pointer-events: none;
  }
  
  .contact-form-card,
  .contact-info-card {
    padding: 2rem;
  }
  
  .contact-block-head {
    margin-bottom: 1.6rem;
  }
  
  .contact-block-head__kicker {
    display: inline-flex;
    margin-bottom: 0.85rem;
    color: #83cbff;
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
  }
  
  .contact-block-head__title {
    margin: 0 0 0.75rem;
    color: #ffffff;
    font-size: clamp(1.7rem, 2.2vw, 2.35rem);
    line-height: 1.05;
    font-weight: 900;
  }
  
  .contact-block-head__text {
    margin: 0;
    color: rgba(224, 236, 255, 0.75);
    line-height: 1.85;
  }
  
  .contact-form__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.15rem;
  }
  
  .contact-field {
    min-width: 0;
  }
  
  .contact-field--full {
    grid-column: 1 / -1;
  }
  
  .contact-field__label {
    display: inline-block;
    margin-bottom: 0.55rem;
    color: #f5fbff;
    font-size: 0.93rem;
    font-weight: 700;
  }
  
  .contact-field__help {
    margin: 0.7rem 0 0;
    color: rgba(187, 210, 236, 0.66);
    font-size: 0.86rem;
    line-height: 1.65;
  }
  
  .contact-field__input {
    width: 100%;
    min-height: 58px;
    padding: 1rem 1rem;
    border: 1px solid rgba(112, 182, 255, 0.12);
    border-radius: 18px;
    background: rgba(8, 21, 36, 0.84);
    color: #edf7ff;
    font-size: 0.96rem;
    outline: none;
    transition:
      border-color 0.25s ease,
      box-shadow 0.25s ease,
      background 0.25s ease;
  }
  
  .contact-field__input::placeholder {
    color: rgba(193, 214, 239, 0.44);
  }
  
  .contact-field__input:focus {
    border-color: rgba(116, 197, 255, 0.34);
    box-shadow:
      0 0 0 4px rgba(0, 169, 255, 0.10),
      0 12px 28px rgba(0, 0, 0, 0.16);
    background: rgba(10, 24, 41, 0.92);
  }
  
  .contact-field__input--select {
    appearance: none;
    background-image:
      linear-gradient(45deg, transparent 50%, #7fcbff 50%),
      linear-gradient(135deg, #7fcbff 50%, transparent 50%);
    background-position:
      calc(100% - 22px) calc(50% - 3px),
      calc(100% - 16px) calc(50% - 3px);
    background-size: 6px 6px, 6px 6px;
    background-repeat: no-repeat;
    padding-right: 3rem;
  }
  
  .contact-field__textarea {
    min-height: 150px;
    resize: vertical;
  }
  
  /* PROGRAM PICKER */
  
  .program-picker {
    position: relative;
  }
  
  .program-picker__trigger {
    width: 100%;
    min-height: 58px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1rem;
    border: 1px solid rgba(112, 182, 255, 0.12);
    border-radius: 18px;
    background: rgba(8, 21, 36, 0.84);
    color: #edf7ff;
    text-align: left;
    transition:
      border-color 0.25s ease,
      box-shadow 0.25s ease,
      background 0.25s ease;
  }
  
  .program-picker.is-open .program-picker__trigger,
  .program-picker__trigger:hover {
    border-color: rgba(116, 197, 255, 0.28);
    box-shadow:
      0 0 0 4px rgba(0, 169, 255, 0.08),
      0 12px 28px rgba(0, 0, 0, 0.16);
    background: rgba(10, 24, 41, 0.92);
  }
  
  .program-picker__trigger-text {
    display: block;
    color: #edf7ff;
    font-size: 0.96rem;
    line-height: 1.4;
  }
  
  .program-picker__trigger.is-placeholder .program-picker__trigger-text {
    color: rgba(193, 214, 239, 0.44);
  }
  
  .program-picker__trigger-icon {
    flex: 0 0 auto;
    color: #81ccff;
    transition: transform 0.22s ease;
  }
  
  .program-picker.is-open .program-picker__trigger-icon {
    transform: rotate(180deg);
  }
  
  .program-picker__panel {
    position: absolute;
    top: calc(100% + 0.65rem);
    left: 0;
    right: 0;
    z-index: 25;
    display: none;
    border: 1px solid rgba(112, 182, 255, 0.16);
    border-radius: 22px;
    background:
      radial-gradient(circle at 0% 0%, rgba(0, 184, 255, 0.08), transparent 26%),
      linear-gradient(180deg, rgba(6, 18, 31, 0.98) 0%, rgba(5, 15, 27, 0.98) 100%);
    box-shadow:
      0 28px 64px rgba(0, 0, 0, 0.35),
      0 0 0 1px rgba(125, 194, 255, 0.04);
    overflow: hidden;
  }
  
  .program-picker.is-open .program-picker__panel {
    display: block;
  }
  
  .program-picker__search {
    position: sticky;
    top: 0;
    display: flex;
    align-items: center;
    gap: 0.8rem;
    padding: 1rem 1rem 0.9rem;
    border-bottom: 1px solid rgba(114, 184, 255, 0.1);
    background: rgba(7, 20, 34, 0.98);
  }
  
  .program-picker__search-icon {
    color: rgba(135, 204, 255, 0.72);
    font-size: 0.92rem;
  }
  
  .program-picker__search-input {
    width: 100%;
    border: 0;
    background: transparent;
    color: #edf7ff;
    outline: none;
    font-size: 0.95rem;
  }
  
  .program-picker__search-input::placeholder {
    color: rgba(193, 214, 239, 0.44);
  }
  
  .program-picker__list {
    max-height: 430px;
    overflow: auto;
    padding: 0.45rem;
  }
  
  .program-picker__group {
    padding: 0.45rem 0 0.3rem;
  }
  
  .program-picker__group:not(:last-child) {
    border-bottom: 1px solid rgba(113, 183, 255, 0.08);
  }
  
  .program-picker__group-label {
    padding: 0.55rem 0.85rem 0.65rem;
    color: #7fcbff;
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
  }
  
  .program-picker__option {
    width: 100%;
    display: block;
    padding: 0.9rem 0.85rem;
    border: 0;
    border-radius: 14px;
    background: transparent;
    color: rgba(233, 241, 255, 0.88);
    text-align: left;
    font-size: 0.94rem;
    line-height: 1.5;
    transition:
      background 0.22s ease,
      color 0.22s ease,
      transform 0.22s ease;
  }
  
  .program-picker__option:hover,
  .program-picker__option:focus-visible {
    background: rgba(11, 102, 255, 0.12);
    color: #ffffff;
    transform: translateX(4px);
    outline: none;
  }
  
  .program-picker__empty {
    padding: 1rem 0.9rem 1.1rem;
    color: rgba(201, 220, 243, 0.7);
    font-size: 0.92rem;
  }
  
  /* RECAPTCHA PLACEHOLDER */
  
  .contact-recaptcha {
    padding-top: 0.1rem;
  }
  
  .contact-recaptcha__box {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    min-height: 82px;
    padding: 1rem 1.1rem;
    border: 1px dashed rgba(126, 194, 255, 0.28);
    border-radius: 20px;
    background:
      linear-gradient(180deg, rgba(8, 21, 36, 0.78) 0%, rgba(7, 18, 31, 0.82) 100%);
  }
  
  .contact-recaptcha__left {
    display: flex;
    align-items: center;
    gap: 0.9rem;
  }
  
  .contact-recaptcha__check {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 10px;
    border: 1px solid rgba(126, 194, 255, 0.22);
    background: rgba(7, 20, 34, 0.72);
    color: #8fd1ff;
    font-size: 0.95rem;
  }
  
  .contact-recaptcha__text {
    color: #ffffff;
    font-weight: 700;
  }
  
  .contact-recaptcha__brand {
    text-align: right;
  }
  
  .contact-recaptcha__brand strong {
    display: block;
    color: #ffffff;
    font-size: 0.88rem;
    font-weight: 800;
  }
  
  .contact-recaptcha__brand span {
    display: block;
    color: rgba(190, 211, 236, 0.65);
    font-size: 0.75rem;
  }
  
  /* CHECKBOX */
  
  .contact-check {
    display: grid;
    grid-template-columns: 22px 1fr;
    gap: 0.85rem;
    align-items: start;
    cursor: pointer;
  }
  
  .contact-check__input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
  }
  
  .contact-check__box {
    position: relative;
    width: 22px;
    height: 22px;
    margin-top: 0.1rem;
    border: 1px solid rgba(123, 194, 255, 0.22);
    border-radius: 7px;
    background: rgba(8, 21, 36, 0.84);
    transition:
      border-color 0.22s ease,
      background 0.22s ease,
      box-shadow 0.22s ease;
  }
  
  .contact-check__box::after {
    content: "";
    position: absolute;
    top: 4px;
    left: 7px;
    width: 6px;
    height: 11px;
    border-right: 2px solid #03111d;
    border-bottom: 2px solid #03111d;
    transform: rotate(45deg) scale(0);
    transition: transform 0.18s ease;
  }
  
  .contact-check__input:checked + .contact-check__box {
    border-color: rgba(133, 203, 255, 0.5);
    background: #77cbff;
    box-shadow: 0 0 0 4px rgba(0, 170, 255, 0.1);
  }
  
  .contact-check__input:checked + .contact-check__box::after {
    transform: rotate(45deg) scale(1);
  }
  
  .contact-check__text {
    color: rgba(221, 234, 252, 0.76);
    line-height: 1.75;
  }
  
  /* ACTIONS */
  
  .contact-form__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    align-items: center;
  }
  
  .contact-submit {
    display: inline-flex;
    align-items: center;
    gap: 0.7rem;
    padding: 1rem 1.35rem;
    border: 0;
    border-radius: 16px;
    background: linear-gradient(135deg, #0b6bff 0%, #00b4ff 100%);
    color: #ffffff;
    font-weight: 800;
    letter-spacing: 0.01em;
    box-shadow:
      0 18px 34px rgba(0, 115, 225, 0.28),
      inset 0 1px 0 rgba(255, 255, 255, 0.18);
    transition:
      transform 0.25s ease,
      box-shadow 0.25s ease,
      filter 0.25s ease;
  }
  
  .contact-submit:hover {
    transform: translateY(-2px);
    box-shadow:
      0 22px 40px rgba(0, 115, 225, 0.34),
      inset 0 1px 0 rgba(255, 255, 255, 0.18);
    filter: brightness(1.04);
  }
  
  .contact-secondary-link {
    color: #8ecfff;
    font-weight: 700;
    text-decoration: none;
  }
  
  .contact-secondary-link:hover {
    color: #ffffff;
  }
  
  /* INFO CARD */
  
  .contact-info-card {
    position: sticky;
    top: 110px;
  }
  
  .contact-info-list {
    display: grid;
    gap: 1rem;
  }
  
  .contact-info-item {
    display: grid;
    grid-template-columns: 54px 1fr;
    gap: 1rem;
    padding: 1rem;
    border: 1px solid rgba(117, 185, 255, 0.12);
    border-radius: 20px;
    background: rgba(7, 19, 32, 0.54);
  }
  
  .contact-info-item__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 54px;
    height: 54px;
    border-radius: 18px;
    background: linear-gradient(135deg, rgba(11, 107, 255, 0.2), rgba(0, 180, 255, 0.12));
    color: #7bc9ff;
    font-size: 1rem;
  }
  
  .contact-info-item__content h3 {
    margin: 0 0 0.45rem;
    color: #ffffff;
    font-size: 1rem;
    font-weight: 800;
  }
  
  .contact-info-item__content p {
    margin: 0.2rem 0;
    color: rgba(219, 233, 252, 0.78);
    line-height: 1.7;
  }
  
  .contact-info-item__content a {
    color: rgba(219, 233, 252, 0.88);
    text-decoration: none;
  }
  
  .contact-info-item__content a:hover {
    color: #ffffff;
  }
  
  .contact-info-cta {
    margin-top: 1.4rem;
    padding: 1.25rem;
    border: 1px solid rgba(119, 187, 255, 0.14);
    border-radius: 24px;
    background:
      radial-gradient(circle at 100% 0%, rgba(0, 184, 255, 0.1), transparent 28%),
      linear-gradient(180deg, rgba(8, 23, 40, 0.88) 0%, rgba(6, 18, 31, 0.92) 100%);
  }
  
  .contact-info-cta__title {
    margin: 0 0 0.55rem;
    color: #ffffff;
    font-size: 1.1rem;
    font-weight: 800;
  }
  
  .contact-info-cta__text {
    margin: 0;
    color: rgba(220, 233, 251, 0.76);
    line-height: 1.8;
  }
  
  .contact-info-cta__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.85rem;
    margin-top: 1rem;
  }
  
  .contact-info-cta__button {
    display: inline-flex;
    align-items: center;
    gap: 0.65rem;
    padding: 0.9rem 1rem;
    border-radius: 15px;
    text-decoration: none;
    font-weight: 700;
    transition:
      transform 0.22s ease,
      box-shadow 0.22s ease,
      border-color 0.22s ease;
  }
  
  .contact-info-cta__button--primary {
    border: 1px solid rgba(118, 199, 255, 0.16);
    background: linear-gradient(135deg, #0b6bff 0%, #00b4ff 100%);
    color: #ffffff;
    box-shadow: 0 14px 26px rgba(0, 115, 225, 0.24);
  }
  
  .contact-info-cta__button--secondary {
    border: 1px solid rgba(118, 188, 255, 0.14);
    background: rgba(7, 19, 32, 0.7);
    color: #f1f8ff;
  }
  
  .contact-info-cta__button:hover {
    transform: translateY(-2px);
    color: #ffffff;
  }
  
  /* MAP */
  
  .contact-map-section {
    padding: 0 0 4.5rem;
  }
  
  .contact-map-card {
    padding: 1.5rem;
  }
  
  .contact-map-card__head {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 1rem;
    align-items: end;
    margin-bottom: 1.25rem;
  }
  
  .contact-map-card__title {
    margin: 0.25rem 0 0;
    color: #ffffff;
    font-size: clamp(1.5rem, 2vw, 2rem);
    line-height: 1.08;
    font-weight: 900;
  }
  
  .contact-map-card__link {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    color: #8dceff;
    font-weight: 700;
    text-decoration: none;
  }
  
  .contact-map-card__link:hover {
    color: #ffffff;
  }
  
  .contact-map-card__frame {
    height: 520px;
    border: 1px solid rgba(116, 184, 255, 0.12);
    border-radius: 26px;
    overflow: hidden;
    background: rgba(6, 16, 28, 0.8);
  }
  
  /* RESPONSIVE CONTACT */
  
  @media (max-width: 1199.98px) {
    .contact-layout {
      grid-template-columns: 1fr;
    }
  
    .contact-info-card {
      position: relative;
      top: auto;
    }
  }
  
  @media (max-width: 767.98px) {
    .contact-hero {
      padding: 7rem 0 2.2rem;
    }
  
    .contact-form-card,
    .contact-info-card,
    .contact-map-card {
      border-radius: 26px;
    }
  
    .contact-form-card,
    .contact-info-card,
    .contact-map-card {
      padding: 1.25rem;
    }
  
    .contact-form__grid {
      grid-template-columns: 1fr;
    }
  
    .contact-info-item {
      grid-template-columns: 48px 1fr;
      gap: 0.85rem;
      padding: 0.95rem;
    }
  
    .contact-info-item__icon {
      width: 48px;
      height: 48px;
      border-radius: 16px;
    }
  
    .contact-recaptcha__box {
      align-items: flex-start;
      flex-direction: column;
    }
  
    .contact-map-card__frame {
      height: 380px;
      border-radius: 22px;
    }
  
    .program-picker__panel {
      border-radius: 20px;
    }
  }
  
  .contact-hero {
    position: relative;
    padding: 8rem 0 3rem;
  }
  
  .contact-hero__layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(360px, 620px);
    gap: 2rem;
    align-items: center;
  }
  
  .contact-hero__content {
    max-width: 760px;
  }
  
  .contact-hero__eyebrow {
    display: inline-flex;
    margin-bottom: 1rem;
    padding: 0.55rem 0.9rem;
    border: 1px solid rgba(123, 191, 255, 0.16);
    border-radius: 999px;
    background: rgba(6, 25, 44, 0.64);
    color: #8dcdff;
    font-size: 0.77rem;
    font-weight: 800;
    letter-spacing: 0.15em;
    text-transform: uppercase;
  }
  
  .contact-hero__title {
    margin: 0 0 1rem;
    color: #ffffff;
    font-size: clamp(2.8rem, 5vw, 5rem);
    line-height: 0.96;
    font-weight: 900;
    letter-spacing: -0.04em;
  }
  
  .contact-hero__lead {
    max-width: 700px;
    margin: 0;
    color: rgba(227, 238, 255, 0.82);
    font-size: 1.05rem;
    line-height: 1.95;
  }
  
  .contact-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.9rem;
    margin-top: 1.75rem;
  }
  
  .contact-hero__action {
    display: inline-flex;
    align-items: center;
    gap: 0.7rem;
    padding: 0.9rem 1.1rem;
    border: 1px solid rgba(119, 186, 255, 0.14);
    border-radius: 16px;
    background:
      linear-gradient(180deg, rgba(8, 24, 42, 0.88) 0%, rgba(6, 18, 30, 0.92) 100%);
    color: #eef6ff;
    text-decoration: none;
    transition:
      transform 0.25s ease,
      border-color 0.25s ease,
      box-shadow 0.25s ease,
      background 0.25s ease;
  }
  
  .contact-hero__action i {
    color: #73c8ff;
  }
  
  .contact-hero__action:hover {
    transform: translateY(-2px);
    border-color: rgba(130, 196, 255, 0.24);
    box-shadow: 0 16px 38px rgba(0, 0, 0, 0.22);
    color: #ffffff;
  }
  
  .contact-hero__visual-wrap {
    position: relative;
  }
  
  .contact-hero__visual {
    position: relative;
    min-height: 520px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.25rem;
    border: 1px solid rgba(108, 182, 255, 0.14);
    border-radius: 34px;
    background:
      radial-gradient(circle at 50% 20%, rgba(0, 174, 255, 0.12), transparent 35%),
      linear-gradient(180deg, rgba(5, 18, 32, 0.92) 0%, rgba(4, 14, 24, 0.96) 100%);
    box-shadow:
      0 30px 70px rgba(0, 0, 0, 0.24),
      0 0 0 1px rgba(122, 196, 255, 0.03),
      inset 0 1px 0 rgba(255, 255, 255, 0.03);
    overflow: hidden;
  }
  
  .contact-hero__visual::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
      radial-gradient(circle at 50% 50%, rgba(0, 170, 255, 0.12), transparent 44%);
    pointer-events: none;
    z-index: 1;
  }
  
  .contact-hero__visual::after {
    content: "";
    position: absolute;
    inset: auto 8% 0;
    height: 1px;
    background: linear-gradient(
      90deg,
      rgba(123, 196, 255, 0),
      rgba(123, 196, 255, 0.36),
      rgba(123, 196, 255, 0)
    );
    pointer-events: none;
    z-index: 1;
  }
  
  .contact-hero__image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
    filter: saturate(1.04) brightness(0.96);
  }
  
  .contact-hero__badge {
    position: absolute;
    z-index: 2;
    display: flex;
    align-items: center;
    gap: 0.85rem;
    min-width: 240px;
    max-width: 320px;
    padding: 0.95rem 1rem;
    border: 1px solid rgba(126, 197, 255, 0.16);
    border-radius: 20px;
    background:
      linear-gradient(180deg, rgba(8, 24, 41, 0.86) 0%, rgba(7, 19, 33, 0.92) 100%);
    backdrop-filter: blur(10px);
    box-shadow:
      0 16px 34px rgba(0, 0, 0, 0.22),
      inset 0 1px 0 rgba(255, 255, 255, 0.04);
  }
  
  .contact-hero__badge--top {
    top: 1.35rem;
    right: 1.35rem;
  }
  
  .contact-hero__badge--bottom {
    left: 1.35rem;
    bottom: 1.35rem;
  }
  
  .contact-hero__badge-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    border-radius: 15px;
    background: linear-gradient(135deg, rgba(11, 107, 255, 0.28), rgba(0, 180, 255, 0.14));
    color: #84d0ff;
    font-size: 1rem;
    flex: 0 0 auto;
  }
  
  .contact-hero__badge-content {
    display: flex;
    flex-direction: column;
    gap: 0.18rem;
  }
  
  .contact-hero__badge-content strong {
    color: #ffffff;
    font-size: 0.95rem;
    font-weight: 800;
    line-height: 1.2;
  }
  
  .contact-hero__badge-content span {
    color: rgba(218, 232, 250, 0.76);
    font-size: 0.82rem;
    line-height: 1.45;
  }
  
  @media (max-width: 1199.98px) {
    .contact-hero__layout {
      grid-template-columns: 1fr;
      gap: 1.5rem;
    }
  
    .contact-hero__content {
      max-width: 100%;
    }
  
    .contact-hero__visual {
      min-height: 460px;
    }
  }
  
  @media (max-width: 767.98px) {
    .contact-hero {
      padding: 7rem 0 2.2rem;
    }
  
    .contact-hero__visual {
      min-height: 360px;
      border-radius: 26px;
    }
  
    .contact-hero__badge {
      min-width: auto;
      max-width: calc(100% - 1.6rem);
      padding: 0.8rem 0.9rem;
      border-radius: 16px;
    }
  
    .contact-hero__badge--top {
      top: 0.8rem;
      right: 0.8rem;
    }
  
    .contact-hero__badge--bottom {
      left: 0.8rem;
      bottom: 0.8rem;
    }
  
    .contact-hero__badge-icon {
      width: 40px;
      height: 40px;
      border-radius: 13px;
    }
  
    .contact-hero__badge-content strong {
      font-size: 0.88rem;
    }
  
    .contact-hero__badge-content span {
      font-size: 0.76rem;
    }
  }
  
  .contact-form__status {
    margin-top: 1rem;
    padding: 0.95rem 1rem;
    border-radius: 16px;
    border: 1px solid transparent;
    font-size: 0.94rem;
    line-height: 1.65;
  }
  
  .contact-form__status.is-success {
    border-color: rgba(88, 200, 140, 0.24);
    background: rgba(22, 110, 64, 0.18);
    color: #dfffea;
  }
  
  .contact-form__status.is-error {
    border-color: rgba(255, 110, 110, 0.24);
    background: rgba(120, 26, 26, 0.18);
    color: #ffe4e4;
  }
  
  .contact-submit.is-loading {
    pointer-events: none;
    opacity: 0.75;
  }
  
  /* =========================
     GALLERY PAGE
  ========================= */
  
  .page-gallery .inner-hero {
    background:
      linear-gradient(180deg, rgba(3, 10, 20, 0.88) 0%, rgba(4, 12, 24, 0.8) 100%),
      url("../img/bg-seccion0.jpg") center/cover no-repeat;
  }
  
  .gallery-toolbar-section {
    position: relative;
    z-index: 30;
    padding-top: 40px;
    padding-bottom: 24px;
  }
  
  .gallery-toolbar {
    position: relative;
    z-index: 31;
    overflow: visible;
    padding: 28px;
    border-radius: 28px;
    border: 1px solid rgba(110, 176, 255, 0.14);
    background:
      linear-gradient(180deg, rgba(6, 16, 29, 0.92) 0%, rgba(6, 14, 24, 0.9) 100%);
    box-shadow:
      0 24px 50px rgba(0, 0, 0, 0.28),
      inset 0 1px 0 rgba(255, 255, 255, 0.04);
    transform: none !important;
  }
  
  .gallery-toolbar:hover,
  .gallery-toolbar:focus-within {
    transform: none !important;
  }
  
  .gallery-toolbar__top {
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) minmax(300px, 420px);
    gap: 20px;
    align-items: end;
    margin-bottom: 22px;
  }
  
  .gallery-toolbar__meta {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 16px;
    align-items: end;
  }
  
  .gallery-results {
    align-self: end;
  }
  
  .gallery-sort-block {
    display: grid;
    gap: 10px;
  }
  
  .gallery-toolbar__label {
    display: inline-block;
    margin: 0;
    padding: 0;
    line-height: 1;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: rgba(163, 199, 255, 0.88);
  }
  
  .gallery-toolbar__label--inline {
    margin-bottom: 0;
  }
  
  .gallery-search {
    position: relative;
    z-index: 40;
  }
  
  .gallery-search__field {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 60px;
    padding: 0 54px 0 52px;
    border-radius: 18px;
    border: 1px solid rgba(110, 176, 255, 0.16);
    background: rgba(7, 17, 30, 0.9);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03);
    transform: none !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
  }
  
  .gallery-search__field:hover {
    transform: none !important;
    border-color: rgba(110, 176, 255, 0.2);
    background: rgba(7, 17, 30, 0.92);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03);
  }
  
  .gallery-search__field:focus-within {
    transform: none !important;
    border-color: rgba(70, 154, 255, 0.42);
    background: rgba(8, 18, 31, 0.96);
    box-shadow:
      0 0 0 3px rgba(0, 115, 225, 0.12),
      inset 0 1px 0 rgba(255, 255, 255, 0.03);
  }
  
  .gallery-search__field > i {
    position: absolute;
    left: 18px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 1rem;
    color: rgba(154, 191, 255, 0.76);
  }
  
  .gallery-search__input {
    width: 100%;
    border: 0;
    outline: 0;
    background: transparent;
    color: #ffffff;
    font-size: 1rem;
  }
  
  .gallery-search__input::placeholder {
    color: rgba(255, 255, 255, 0.45);
  }
  
  .gallery-search__clear {
    position: absolute;
    top: 50%;
    right: 14px;
    transform: translateY(-50%);
    width: 34px;
    height: 34px;
    border: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.06);
    color: rgba(255, 255, 255, 0.82);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    pointer-events: none;
    transition: 0.2s ease;
  }
  
  .gallery-search.has-value .gallery-search__clear {
    opacity: 1;
    pointer-events: auto;
  }
  
  .gallery-search__clear:hover {
    background: rgba(0, 115, 225, 0.22);
    color: #ffffff;
  }
  
  .gallery-search__suggestions {
    position: absolute;
    top: calc(100% + 10px);
    left: 0;
    right: 0;
    z-index: 999;
    max-height: 320px;
    overflow-y: auto;
    padding: 8px;
    border-radius: 18px;
    border: 1px solid rgba(110, 176, 255, 0.14);
    background: rgba(5, 14, 25, 0.98);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.32);
  }
  
  .gallery-search__suggestion {
    width: 100%;
    border: 0;
    border-radius: 14px;
    background: transparent;
    color: rgba(255, 255, 255, 0.92);
    text-align: left;
    padding: 12px 14px;
    display: grid;
    gap: 4px;
    overflow: hidden;
  }
  
  .gallery-search__suggestion:hover,
  .gallery-search__suggestion.is-active {
    background: rgba(0, 115, 225, 0.14);
  }
  
  .gallery-search__suggestion-title {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 0.96rem;
    font-weight: 600;
  }
  
  .gallery-search__suggestion-meta {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 0.83rem;
    color: rgba(170, 195, 255, 0.8);
  }
  
  .gallery-sort {
    position: relative;
    min-width: 0;
  }
  
  .gallery-sort__select {
    width: 100%;
    min-width: 0;
    min-height: 60px;
    padding: 0 46px 0 18px;
    border-radius: 18px;
    border: 1px solid rgba(110, 176, 255, 0.16);
    background: rgba(7, 17, 30, 0.9);
    color: #ffffff;
    font-size: 0.95rem;
    outline: 0;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
  }
  
  .gallery-sort::after {
    content: "";
    position: absolute;
    right: 18px;
    top: 0;
    bottom: 0;
    margin: auto 0;
    width: 8px;
    height: 8px;
    border-right: 2px solid rgba(255, 255, 255, 0.82);
    border-bottom: 2px solid rgba(255, 255, 255, 0.82);
    transform: rotate(45deg);
    transform-origin: center;
    pointer-events: none;
  }
  
  .gallery-results {
    min-width: 126px;
    min-height: 60px;
    padding: 0 16px;
    border-radius: 18px;
    border: 1px solid rgba(110, 176, 255, 0.12);
    background: rgba(8, 18, 31, 0.84);
    color: rgba(255, 255, 255, 0.88);
    font-size: 0.95rem;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
  }
  
  .gallery-filters {
    display: grid;
    gap: 14px;
  }
  
  .gallery-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
  }
  
  .gallery-tag {
    min-height: 42px;
    padding: 0 16px;
    border-radius: 999px;
    border: 1px solid rgba(110, 176, 255, 0.16);
    background: rgba(255, 255, 255, 0.03);
    color: rgba(255, 255, 255, 0.84);
    font-size: 0.92rem;
    font-weight: 500;
    transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
  }
  
  .gallery-tag:hover {
    border-color: rgba(110, 176, 255, 0.32);
    background: rgba(0, 115, 225, 0.12);
    color: #ffffff;
  }
  
  .gallery-tag.is-active {
    border-color: rgba(70, 154, 255, 0.52);
    background: linear-gradient(135deg, rgba(0, 115, 225, 0.3), rgba(58, 160, 255, 0.2));
    color: #ffffff;
    box-shadow: 0 12px 24px rgba(0, 115, 225, 0.18);
  }
  
  .gallery-grid-section {
    position: relative;
    z-index: 1;
    padding-top: 12px;
  }
  
  .gallery-grid,
  .gallery-card,
  .gallery-card__media-shell {
    position: relative;
    z-index: 1;
  }
  
  .gallery-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 22px;
  }
  
  .gallery-card {
    position: relative;
    overflow: hidden;
    border-radius: 24px;
    border: 1px solid rgba(110, 176, 255, 0.12);
    background:
      linear-gradient(180deg, rgba(6, 15, 27, 0.92) 0%, rgba(5, 13, 23, 0.94) 100%);
    box-shadow:
      0 18px 34px rgba(0, 0, 0, 0.26),
      inset 0 1px 0 rgba(255, 255, 255, 0.04);
    transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
  }
  
  .gallery-card:hover {
    border-color: rgba(70, 154, 255, 0.22);
    box-shadow:
      0 20px 36px rgba(0, 0, 0, 0.28),
      0 0 0 1px rgba(70, 154, 255, 0.05);
  }
  
  .gallery-card__media-shell {
    position: relative;
    aspect-ratio: 3 / 2;
    overflow: hidden;
    background: #07111d;
  }
  
  .gallery-card__media-trigger {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
    padding: 0;
    background: transparent;
    cursor: pointer;
  }
  
  .gallery-card__media,
  .gallery-card__media img {
    width: 100%;
    height: 100%;
  }
  
  .gallery-card__media img {
    object-fit: cover;
    display: block;
  }
  
  .gallery-card__media--video {
    position: relative;
  }
  
  .gallery-card__video-play {
    position: absolute;
    inset: 50% auto auto 50%;
    transform: translate(-50%, -50%);
    width: 74px;
    height: 74px;
    border-radius: 50%;
    background: rgba(4, 12, 24, 0.78);
    color: #ffffff;
    font-size: 1.1rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 16px 28px rgba(0, 0, 0, 0.28);
    pointer-events: none;
  }
  
  .gallery-card__media-badge {
    position: absolute;
    top: 10px;
    left: 10px;
    z-index: 2;
    min-height: 28px;
    padding: 0 10px;
    border-radius: 999px;
    background: rgba(6, 15, 27, 0.72);
    color: rgba(255, 255, 255, 0.92);
    font-size: 0.68rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    backdrop-filter: blur(8px);
  }
  
  .gallery-card__media-badge i {
    font-size: 0.72rem;
  }
  
  .gallery-card__counter {
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 2;
    min-height: 28px;
    padding: 0 10px;
    border-radius: 999px;
    background: rgba(6, 15, 27, 0.72);
    color: rgba(255, 255, 255, 0.9);
    font-size: 0.72rem;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    backdrop-filter: blur(8px);
  }
  
  .gallery-card__nav {
    position: absolute;
    top: 50%;
    z-index: 2;
    transform: translateY(-50%);
    width: 42px;
    height: 42px;
    border: 0;
    border-radius: 50%;
    background: rgba(6, 15, 27, 0.76);
    color: #ffffff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.22s ease, background 0.22s ease;
    backdrop-filter: blur(10px);
  }
  
  .gallery-card:hover .gallery-card__nav {
    opacity: 1;
  }
  
  .gallery-card__nav:hover {
    background: rgba(0, 115, 225, 0.28);
  }
  
  .gallery-card__nav--prev {
    left: 12px;
  }
  
  .gallery-card__nav--next {
    right: 12px;
  }
  
  .gallery-card__overlay {
    position: absolute;
    inset: auto 0 0 0;
    height: 40%;
    background: linear-gradient(180deg, rgba(5, 13, 23, 0) 0%, rgba(5, 13, 23, 0.78) 100%);
    pointer-events: none;
  }
  
  .gallery-card__body {
    padding: 18px 18px 20px;
    text-align: center;
    display: grid;
    gap: 10px;
  }
  
  .gallery-card__title {
    margin: 0;
    color: #ffffff;
    font-size: 1.05rem;
    line-height: 1.35;
    font-weight: 700;
  }
  
  .gallery-card__date {
    margin: 0;
    color: rgba(175, 200, 255, 0.82);
    font-size: 0.92rem;
    line-height: 1.4;
  }
  
  .gallery-card__tags {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
  }
  
  .gallery-card__tag {
    min-height: 30px;
    padding: 0 10px;
    border-radius: 999px;
    border: 1px solid rgba(110, 176, 255, 0.12);
    background: rgba(255, 255, 255, 0.03);
    color: rgba(255, 255, 255, 0.76);
    font-size: 0.74rem;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
  }
  
  .gallery-empty {
    max-width: 720px;
    margin: 0 auto;
    padding: 42px 26px;
    border-radius: 28px;
    border: 1px solid rgba(110, 176, 255, 0.12);
    background: rgba(6, 15, 27, 0.9);
    text-align: center;
  }
  
  .gallery-empty__icon {
    width: 72px;
    height: 72px;
    margin: 0 auto 18px;
    border-radius: 22px;
    background: rgba(0, 115, 225, 0.14);
    color: #ffffff;
    font-size: 1.45rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
  
  .gallery-empty__title {
    margin: 0 0 10px;
    font-size: 1.5rem;
    line-height: 1.2;
    color: #ffffff;
  }
  
  .gallery-empty__text {
    margin: 0;
    color: rgba(255, 255, 255, 0.72);
    line-height: 1.75;
  }
  
  .gallery-empty__button {
    margin-top: 20px;
  }
  
  .gallery-pagination {
    margin-top: 34px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
  }
  
  .gallery-page-btn {
    min-height: 52px;
    padding: 0 18px;
    border: 1px solid rgba(110, 176, 255, 0.16);
    border-radius: 16px;
    background: rgba(7, 17, 30, 0.92);
    color: #ffffff;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    transition: background 0.2s ease, border-color 0.2s ease;
  }
  
  .gallery-page-btn:hover:not(:disabled) {
    background: rgba(0, 115, 225, 0.16);
    border-color: rgba(70, 154, 255, 0.32);
  }
  
  .gallery-page-btn:disabled {
    opacity: 0.38;
    cursor: not-allowed;
  }
  
  .gallery-page-indicator {
    min-height: 52px;
    padding: 0 18px;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.04);
    color: rgba(255, 255, 255, 0.78);
    font-size: 0.95rem;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
  }
  
  .gallery-lightbox {
    position: fixed;
    inset: 0;
    z-index: 1200;
  }
  
  .gallery-lightbox__backdrop {
    position: absolute;
    inset: 0;
    border: 0;
    background: rgba(2, 8, 16, 0.88);
    backdrop-filter: blur(10px);
  }
  
  .gallery-lightbox__dialog {
    position: relative;
    z-index: 2;
    width: min(94vw, 1480px);
    height: min(84vh, 920px);
    margin: 8vh auto;
    padding: 72px 78px 42px;
    display: grid;
    align-items: center;
  }
  
  .gallery-lightbox__content {
    height: 100%;
    display: grid;
    grid-template-rows: minmax(0, 1fr) auto;
    gap: 22px;
    padding-top: 16px;
    padding-bottom: 12px;
  }
  
  .gallery-lightbox__media {
    min-height: 0;
    margin-top: 10px;
    margin-bottom: 10px;
    padding: 18px;
    border-radius: 26px;
    overflow: hidden;
    background: #040b15;
    border: 1px solid rgba(110, 176, 255, 0.12);
    display: flex;
    align-items: center;
    justify-content: center;
  }
  
  .gallery-lightbox__media img,
  .gallery-lightbox__media iframe,
  .gallery-lightbox__media video {
    display: block;
    background: #040b15;
    border: 0;
  }
  
  .gallery-lightbox__media img {
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: calc(84vh - 220px);
    object-fit: contain;
    border-radius: 18px;
  }
  
  .gallery-lightbox__media iframe,
  .gallery-lightbox__media video {
    width: min(100%, 1200px);
    aspect-ratio: 16 / 9;
    max-height: calc(84vh - 220px);
    border-radius: 18px;
  }
  
  .gallery-lightbox__media img {
    object-fit: contain;
  }
  
  .gallery-lightbox__media iframe {
    border: 0;
  }
  
  .gallery-lightbox__caption {
    text-align: center;
  }
  
  .gallery-lightbox__title {
    margin: 0 0 8px;
    color: #ffffff;
    font-size: 1.4rem;
    font-weight: 700;
  }
  
  .gallery-lightbox__meta {
    margin: 0;
    color: rgba(183, 206, 255, 0.78);
    line-height: 1.7;
  }
  
  .gallery-lightbox__close,
  .gallery-lightbox__nav {
    position: absolute;
    z-index: 3;
    width: 56px;
    height: 56px;
    border: 0;
    border-radius: 50%;
    background: rgba(8, 18, 31, 0.78);
    color: #ffffff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    backdrop-filter: blur(12px);
    transition: background 0.2s ease;
  }
  
  .gallery-lightbox__close:hover,
  .gallery-lightbox__nav:hover {
    background: rgba(0, 115, 225, 0.24);
  }
  
  .gallery-lightbox__close {
    top: 18px;
    right: 18px;
  }
  
  .gallery-lightbox__nav {
    top: 50%;
    transform: translateY(-50%);
  }
  
  .gallery-lightbox__nav--prev {
    left: 18px;
  }
  
  .gallery-lightbox__nav--next {
    right: 18px;
  }
  
  body.gallery-lightbox-open {
    overflow: hidden;
  }
  
  .gallery-search-block,
  .gallery-sort-block {
    display: grid;
    gap: 8px;
    align-content: start;
  }
  
  @media (max-width: 1399.98px) {
    .gallery-grid {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
  }
  
  @media (max-width: 1199.98px) {
    .gallery-toolbar__top {
      grid-template-columns: 1fr;
    }
  
    .gallery-toolbar__meta {
      grid-template-columns: minmax(0, 1fr) auto;
      align-items: end;
    }
  
    .gallery-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }
  
  
  
  
  /* FECHA */
  .meta-date {
    font-weight: 700;
    letter-spacing: 0.3px;
    color: #00b4ff;
  }
  
  /* AUTOR */
  .meta-author {
    font-weight: 600;
    color: #00b4ff;
  }
  
  /* OPCIONAL: estilo más editorial */
  .meta-author::before {
    content: "Por ";
    font-weight: 400;
    color: #fff;
  }
  
  /* HOVER (si quieres hacerlo interactivo) */
  .meta-author:hover {
    color: #0073e1;
    cursor: pointer;
  }
  
  .inner-block-noticia {
      position: relative;
      padding: 0 0 15px;
  }
  
  .tags-list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    padding: 0;
    margin: 0;
    list-style: none;
  }
  
  .inner-hero__eyebrow-noticias {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    padding: 8px 16px;
    border-radius: 999px;
    background: rgba(0, 115, 225, 0.08);
    border: 1px solid rgba(0, 115, 225, 0.22);
    color: var(--color-primary-light);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    margin-bottom: 18px;
  }
  
  .text_news p {
    margin: 0 0 22px;
    color: rgba(255, 255, 255, 0.9);
    font-size: 1.1rem;
    line-height: 1.85;
        text-align: justify;
  }
  
  .text_news p:last-child {
    margin-bottom: 0;
  }
  
  .text_news strong {
    color: var(--white);
    font-weight: 800;
  }
  
  
  /* ------------------------------- */
  
  /* =========================
     GRID
  ========================= */
  .news-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
  }
  
  /* =========================
     CARD LINK (IMPORTANTE)
  ========================= */
  .news-card-link {
    text-decoration: none;
    color: inherit;
    display: block;
  }
  
  /* =========================
     CARD
  ========================= */
  .news-card {
    border-radius: 14px;
    overflow: hidden;
    transition: all 0.3s ease;
    height: 100%;
  }
  
  .news-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 15px 35px rgba(0,0,0,0.1);
  }
  
  /* =========================
     IMAGE
  ========================= */
  .news-card__image img {
    width: 100%;
    height: 200px;
    object-fit: cover;
  }
  
  /* =========================
     CONTENT
  ========================= */
  .news-card__content {
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 8px;
  }
  
  /* =========================
     CATEGORY
  ========================= */
  .news-card__category {
    font-size: 11px;
    text-transform: uppercase;
    color: #00b4ff;
    font-weight: 600;
    letter-spacing: 0.08em;
  }
  
  /* =========================
     TITLE
  ========================= */
  .news-card__title {
    font-size: 16px;
    line-height: 1.3;
    font-weight: 600;
    margin: 0;
  }
  
  /* =========================
     EXCERPT
  ========================= */
  .news-card__excerpt {
    font-size: 13px;
    color: #6b7280;
  }
  
  /* =========================
     META
  ========================= */
  .news-card__meta {
    display: flex;
    align-items: center;
    font-size: 12px;
    color: #9ca3af;
    margin-top: auto;
  }
  
  /* DATE */
  .meta-date-card {
    color: #6b7280;
  }
  
  /* AUTHOR */
  .meta-author-card {
    color: #004159;
    font-weight: 500;
  }
  
  /* DOT */
  .meta-dot-card {
    width: 4px;
    height: 4px;
    background: #9ca3af;
    border-radius: 50%;
    margin: 0 8px;
  }
  
  
  /* =========================
     RESPONSIVE
  ========================= */
  @media (max-width: 1024px) {
    .news-grid {
      grid-template-columns: repeat(2, 1fr);
    }
  }
  
  @media (max-width: 640px) {
    .news-grid {
      grid-template-columns: 1fr;
    }
  
    .news-card__image img {
      height: 180px;
    }
  }