
/* PROCESO MATRÍCULA - elementos móviles ocultos en desktop */
.proceso-docs-mobile {
  display: none;
}

/* CONVALIDACIÓN - formulario/acordeón móvil ocultos por defecto en desktop */
.convalidacion-mobile-form-section,
.convalidacion-docs-mobile {
  display: none;
}

/* MODELAJE - formulario móvil oculto por defecto en desktop */
.modelaje-mobile-form-section {
  display: none;
}

/* =========================================================
   CARRERA INTERNA - FORMULARIO MOBILE SEGURO
   Desktop se mantiene como estaba: formulario dentro del hero.
   El formulario duplicado debajo del hero solo aparece en móvil.
   ========================================================= */

.career-mobile-form-section {
  display: none;
}

/* =========================================================
   INTUR - FIX GLOBAL
   La barra inferior móvil debe estar oculta por defecto.
   Solo se activa dentro de @media (max-width: 768px).
   ========================================================= */

.mobile-bottom-bar {
  display: none;
}

/* =========================================================
   INTUR - MOBILE GLOBAL
   Archivo completo: public/css/mobile-intur.css
   Solo afecta versión móvil.
   ========================================================= */

@media (max-width: 768px) {

  /* ================================
     BASE / ANTI DESBORDE
     ================================ */

  html,
  body {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
  }

  *,
  *::before,
  *::after {
    box-sizing: border-box;
  }

  img,
  picture,
  video,
  iframe {
    max-width: 100%;
    height: auto;
  }

  body {
    padding-bottom: 0;
  }

  body.mobile-bottom-visible {
    padding-bottom: 58px;
  }

  body.mobile-panel-open {
    overflow: hidden;
  }


  /* ================================
     HEADER MÓVIL
     ================================ */

  .topbar {
    height: 22px;
    min-height: 22px;
    font-size: 10px;
    line-height: 22px;
    text-align: center;
    overflow: hidden;
  }

  .topbar .container {
    padding-left: 10px;
    padding-right: 10px;
    display: flex;
    justify-content: center;
  }

  .topbar-links {
    display: none !important;
  }

  .site-header {
    position: sticky;
    top: 0;
    z-index: 999;
    background: #061a33;
  }

  .site-header .nav,
  .nav {
    position: relative;
    height: 58px;
    min-height: 58px;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .site-header .brand,
  .main-header .brand,
  header .brand {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    justify-content: center;
    align-items: center;
    min-width: auto;
    margin: 0;
    z-index: 1001;
  }

  .site-header .brand img,
  .main-header .brand img,
  header .brand img {
    width: 82px !important;
    max-width: 82px !important;
    height: auto !important;
    display: block;
  }

  .menu {
    display: none !important;
  }

  .hamb {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    width: 42px;
    height: 42px;
    margin: 0;
    border: 1px solid rgba(255,255,255,.45);
    border-radius: 4px;
    background: rgba(0,0,0,.12);
    color: #fff;
    font-size: 30px;
    line-height: 1;
    z-index: 1002;
    cursor: pointer;
  }


  /* ================================
     PANEL MÓVIL
     ================================ */

  .mobile-panel {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    width: min(88vw, 390px);
    max-width: 390px;
    background: #0b3f8a;
    z-index: 10000;
    padding: 20px 28px 34px;
    transform: translateX(110%);
    transition: transform .25s ease;
    overflow-y: auto;
    box-shadow: -12px 0 32px rgba(0,0,0,.25);
  }

  .mobile-panel.open {
    transform: translateX(0);
  }

  .mobile-close {
    width: 42px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    float: right;
    font-size: 36px;
    line-height: 1;
    color: #fff;
    background: transparent;
    border: 0;
    cursor: pointer;
  }

  .mobile-panel-logo,
  .mobile-panel > a[aria-label="Ir al inicio"] {
    border-bottom: 0 !important;
    padding: 18px 0 30px !important;
    clear: both;
  }

  .mobile-panel img {
    width: 145px;
    max-width: 145px;
    margin: 0;
    display: block;
  }

  .mobile-panel a,
  .mobile-panel summary {
    color: #fff;
    display: block;
    padding: 15px 0;
    border-bottom: 1px solid rgba(255,255,255,.16);
    font-weight: 900;
    text-transform: uppercase;
    font-size: 15px;
    letter-spacing: .01em;
    text-decoration: none;
  }

  .mobile-panel details {
    border-bottom: 1px solid rgba(255,255,255,.16);
  }

  .mobile-panel details summary {
    border-bottom: 0;
    cursor: pointer;
    color: #ffe600;
    position: relative;
    list-style: none;
    padding-right: 30px;
  }

  .mobile-panel details summary::-webkit-details-marker {
    display: none;
  }

  .mobile-panel details summary::after {
    content: "+";
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    color: #fff;
    font-size: 22px;
    font-weight: 900;
  }

  .mobile-panel details[open] summary::after {
    content: "−";
  }

  .mobile-panel details[open] summary {
    border-bottom: 1px solid rgba(255,255,255,.16);
  }

  .mobile-panel details a {
    padding: 12px 0 12px 16px;
    font-size: 13px;
    font-weight: 700;
    text-transform: none;
    color: rgba(255,255,255,.92);
  }


  /* ================================
     BARRA INFERIOR MÓVIL
     ================================ */

  .mobile-bottom-bar {
    display: grid;
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    height: 58px;
    display: grid;
    grid-template-columns: 72px 1fr 68px;
    z-index: 9999;
    transform: translateY(110%);
    opacity: 0;
    visibility: hidden;
    transition: transform .25s ease, opacity .25s ease, visibility .25s ease;
    box-shadow: 0 -10px 24px rgba(0,0,0,.18);
  }

  body.mobile-bottom-visible .mobile-bottom-bar {
    transform: translateY(0);
    opacity: 1;
    visibility: visible;
  }

  .mobile-bottom-bar a,
  .mobile-bottom-bar button {
    border: 0;
    outline: 0;
    text-decoration: none;
    font-family: inherit;
    font-weight: 900;
    font-size: 14px;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
  }

  .mobile-bottom-whatsapp {
    background: #1fc65b;
  }

  .mobile-bottom-info {
    background: #e60019;
    text-align: center;
    padding: 0 10px;
  }

  .mobile-bottom-menu {
    background: #050505;
    cursor: pointer;
  }

  .mobile-bottom-bar svg {
    width: 25px;
    height: 25px;
    display: block;
  }

  .mobile-bottom-menu span {
    display: block;
    width: 28px;
    height: 20px;
    position: relative;
  }

  .mobile-bottom-menu span::before,
  .mobile-bottom-menu span::after,
  .mobile-bottom-menu i {
    content: "";
    position: absolute;
    left: 0;
    width: 28px;
    height: 3px;
    background: #fff;
    border-radius: 2px;
  }

  .mobile-bottom-menu span::before {
    top: 0;
  }

  .mobile-bottom-menu i {
    top: 8px;
  }

  .mobile-bottom-menu span::after {
    bottom: 0;
  }


  /* ================================
     CONTENEDORES / LAYOUT GENERAL
     ================================ */

  .container,
  .avc-wrap {
    width: 100%;
    max-width: 100%;
    padding-left: 20px;
    padding-right: 20px;
  }

  .section,
  .section-soft,
  .section-white,
  .section-alt,
  .section.dark,
  .avc-section,
  .page-hero,
  .career-hero,
  .avc-hero {
    overflow-x: hidden;
  }

  .grid,
  .grid-2,
  .grid-3,
  .split,
  .image-split,
  .form-split,
  .info-band,
  .avc-form-row,
  .avc-grid {
    display: grid;
    grid-template-columns: 1fr !important;
    gap: 22px;
  }

  .card,
  .feature-card,
  .article-card,
  .program-module,
  .career-side-card,
  .lead-form,
  .intur-form,
  .avc-form-box {
    width: 100%;
    max-width: 100%;
  }


  /* ================================
     HÉROES Y TÍTULOS
     ================================ */

  .page-hero,
  .career-hero,
  .avc-hero {
    min-height: auto;
    padding-top: 82px;
    padding-bottom: 36px;
  }

  .page-hero h1,
  .career-hero h1,
  .avc-hero h1,
  .hero-title,
  .title {
    font-size: clamp(30px, 9vw, 42px);
    line-height: .98;
    overflow-wrap: break-word;
    word-break: normal;
  }

  .lead,
  .page-hero p,
  .career-hero p,
  .avc-hero p {
    font-size: 15px;
    line-height: 1.55;
  }


  /* ================================
     BOTONES
     ================================ */

  .btns,
  .hero-actions,
  .career-hero-actions,
  .avc-actions {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
    width: 100%;
  }

  .btn,
  .btn.red,
  .btn.blue,
  .btn.white,
  .btn-red,
  .btn-blue,
  .avc-btn {
    width: 100%;
    max-width: 100%;
    text-align: center;
    justify-content: center;
  }


  /* ================================
     FORMULARIOS
     ================================ */

  .lead-form,
  .intur-form,
  .avc-form-box {
    margin-left: auto;
    margin-right: auto;
  }

  input,
  select,
  textarea,
  button {
    max-width: 100%;
  }




  /* ================================
     HOME - RESUMEN OFERTA ACADÉMICA
     Ajuste compacto: reduce tamaños para que entre sin desbordar.
     ================================ */

  .intur-summary {
    padding-top: 32px;
    padding-bottom: 32px;
    overflow-x: hidden;
  }

  .intur-summary-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 8px;
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 0;
    overflow: hidden;
  }

  .intur-summary-grid > div:first-child {
    grid-column: 1 / -1;
    min-width: 0;
    max-width: 100%;
    padding-left: 16px;
    padding-right: 16px;
  }

  .intur-summary .eyebrow {
    font-size: 10px;
    letter-spacing: .22em;
    margin-bottom: 10px;
  }

  .intur-summary h2 {
    font-size: clamp(28px, 7.8vw, 34px);
    line-height: 1.06;
    margin: 8px 0 12px;
    max-width: 100%;
    overflow-wrap: break-word;
  }

  .intur-summary p {
    font-size: 15px;
    line-height: 1.6;
    margin: 0 0 18px;
    max-width: 100%;
    overflow-wrap: break-word;
  }

  .intur-stat {
    min-width: 0;
    min-height: 88px;
    border-radius: 16px;
    padding: 14px 8px;
    background: #f3f6fa;
    display: flex !important;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 7px;
    text-align: center;
    overflow: hidden;
  }

  .intur-stat strong {
    font-size: 30px;
    line-height: 1;
    margin: 0;
    color: #0b4a92;
    display: block;
  }

  .intur-stat span {
    font-size: 10.5px;
    line-height: 1.22;
    margin: 0;
    color: #64728a;
    font-weight: 900;
    display: block;
    overflow-wrap: break-word;
  }

  @media (max-width: 360px) {
    .intur-summary-grid {
      grid-template-columns: 1fr !important;
      gap: 10px;
    }

    .intur-stat {
      min-height: 78px;
      flex-direction: row !important;
      justify-content: flex-start;
      align-items: center;
      text-align: left;
      padding: 16px 18px;
      gap: 14px;
    }

    .intur-stat strong {
      width: 46px;
      flex: 0 0 46px;
      font-size: 34px;
    }

    .intur-stat span {
      font-size: 14px;
    }
  }


  /* ================================
     SLIDER DE PROGRAMAS / CARRERAS
     ================================ */

  .programs-grid,
  .mobile-slider,
  .carreras-grid {
    display: flex !important;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    gap: 16px;
    padding-bottom: 12px;
    -webkit-overflow-scrolling: touch;
  }

  .programs-grid > *,
  .mobile-slider > *,
  .carreras-grid > * {
    flex: 0 0 84%;
    scroll-snap-align: start;
  }

  .programs-grid::-webkit-scrollbar,
  .mobile-slider::-webkit-scrollbar,
  .carreras-grid::-webkit-scrollbar {
    display: none;
  }



  /* ================================
     HOME - SLIDER MÓVIL DE PROGRAMAS
     Solo afecta el bloque:
     .intur-program-grid.intur-mobile-program-slider
     ================================ */

  .intur-mobile-program-slider {
    display: flex !important;
    grid-template-columns: none !important;
    gap: 16px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    padding: 0 20px 16px;
    margin-left: -20px;
    margin-right: -20px;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  .intur-mobile-program-slider::-webkit-scrollbar {
    display: none;
  }

  .intur-mobile-program-slider .intur-program-card {
    flex: 0 0 86%;
    min-width: 86%;
    max-width: 86%;
    scroll-snap-align: start;
    margin: 0;
    border-radius: 24px;
    overflow: hidden;
  }

  .intur-mobile-program-slider .intur-program-card img {
    width: 100%;
    height: 218px;
    aspect-ratio: auto;
    object-fit: cover;
    display: block;
  }

  .intur-mobile-program-slider .intur-program-card > div {
    padding: 22px 22px 24px;
  }

  .intur-mobile-program-slider .intur-program-card span {
    font-size: 11px;
    letter-spacing: .18em;
  }

  .intur-mobile-program-slider .intur-program-card h3 {
    font-size: 23px;
    line-height: 1.06;
    margin: 12px 0 12px;
  }

  .intur-mobile-program-slider .intur-program-card p {
    font-size: 15px;
    line-height: 1.6;
    margin-bottom: 18px;
  }

  .intur-mobile-program-slider .intur-program-card a:not(:first-child) {
    font-size: 15px;
  }

  @media (max-width: 390px) {
    .intur-mobile-program-slider .intur-program-card {
      flex-basis: 88%;
      min-width: 88%;
      max-width: 88%;
    }

    .intur-mobile-program-slider .intur-program-card img {
      height: 205px;
    }

    .intur-mobile-program-slider .intur-program-card h3 {
      font-size: 22px;
    }
  }



  /* ================================
     HOME - PUNTOS DEL SLIDER DE PROGRAMAS
     Solo mobile.
     ================================ */

  .intur-slider-dots {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    margin: 6px 0 0;
  }

  .intur-slider-dots button {
    width: 9px;
    height: 9px;
    border: 0;
    border-radius: 999px;
    background: #cfd7e6;
    padding: 0;
    cursor: pointer;
    transition: width .2s ease, background .2s ease, transform .2s ease;
  }

  .intur-slider-dots button.is-active {
    width: 24px;
    background: #e60019;
  }



  /* ================================
     HOME - SECCIÓN OSCURA DE CONFIANZA
     Mejora mobile del bloque:
     "Toda la información para elegir tu programa ideal"
     ================================ */

  .section.dark {
    padding-top: 54px;
    padding-bottom: 54px;
  }

  .section.dark .intur-dark-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 28px;
    padding-left: 24px;
    padding-right: 24px;
  }

  .section.dark .eyebrow {
    font-size: 11px;
    letter-spacing: .24em;
    line-height: 1.2;
    margin-bottom: 14px;
  }

  .section.dark .title {
    font-size: clamp(30px, 8.5vw, 39px);
    line-height: 1.04;
    letter-spacing: -.4px;
    margin-bottom: 16px;
  }

  .section.dark .lead {
    font-size: 16px;
    line-height: 1.62;
    margin-bottom: 20px;
  }

  .section.dark .btns {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    width: 100%;
  }

  .section.dark .btns .pill {
    width: 100%;
    min-height: 42px;
    padding: 11px 12px;
    border-radius: 999px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    font-size: 13px;
    line-height: 1.15;
    white-space: normal;
  }

  .section.dark .intur-mini-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
  }

  .section.dark .intur-mini-grid span {
    min-height: 78px;
    border-radius: 18px;
    padding: 16px 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    border: 1px solid rgba(255,255,255,.14);
    background: rgba(255,255,255,.06);
    font-size: 14px;
    line-height: 1.25;
    font-weight: 900;
  }

  @media (max-width: 360px) {
    .section.dark .btns,
    .section.dark .intur-mini-grid {
      grid-template-columns: 1fr;
    }

    .section.dark .intur-mini-grid span {
      min-height: 64px;
    }
  }



  /* ================================
     HOME - RUTA CLARA
     Sección:
     "De la información a la matrícula, paso a paso"
     ================================ */

  .intur-route-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 30px;
  }

  .intur-route-box {
    border-radius: 24px;
    padding: 30px 26px;
    background: #f3f6fa;
  }

  .intur-route-box .eyebrow {
    font-size: 11px;
    letter-spacing: .24em;
    line-height: 1.2;
    margin-bottom: 14px;
  }

  .intur-route-box h2 {
    font-size: clamp(30px, 8.2vw, 38px);
    line-height: 1.04;
    letter-spacing: -.4px;
    margin: 0 0 18px;
  }

  .intur-route-box p {
    font-size: 16px;
    line-height: 1.65;
    margin: 0;
  }

  .intur-step-list {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 18px;
  }

  .intur-step-list > div {
    display: grid;
    grid-template-columns: 58px 1fr;
    column-gap: 16px;
    align-items: start;
    padding: 0;
  }

  .intur-step-list strong {
    width: 54px;
    height: 54px;
    border-radius: 14px;
    background: #0b4a92;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    line-height: 1;
    font-weight: 900;
  }

  .intur-step-list span {
    display: block;
    font-size: 22px;
    line-height: 1.15;
    font-weight: 900;
    color: #07172f;
    margin: 2px 0 8px;
  }

  .intur-step-list p {
    grid-column: 2;
    font-size: 16px;
    line-height: 1.55;
    color: #5d6b85;
    margin: 0;
  }

  @media (max-width: 390px) {
    .intur-route-box {
      padding: 28px 24px;
    }

    .intur-route-box h2 {
      font-size: 30px;
    }

    .intur-step-list > div {
      grid-template-columns: 52px 1fr;
      column-gap: 14px;
    }

    .intur-step-list strong {
      width: 50px;
      height: 50px;
      font-size: 20px;
    }

    .intur-step-list span {
      font-size: 20px;
    }

    .intur-step-list p {
      font-size: 15px;
    }
  }



  /* ================================
     HOME - CONVALIDACIÓN Y FORMULARIO
     Sección:
     "¿Tienes estudios previos o experiencia laboral?"
     ================================ */

  .section.alt .intur-conv-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 34px;
    padding-left: 24px;
    padding-right: 24px;
  }

  .intur-conv-copy {
    max-width: 100%;
  }

  .intur-conv-copy .eyebrow {
    font-size: 11px;
    letter-spacing: .24em;
    line-height: 1.2;
    margin-bottom: 14px;
  }

  .intur-conv-copy h2 {
    font-size: clamp(31px, 8.4vw, 39px);
    line-height: 1.04;
    letter-spacing: -.4px;
    margin: 0 0 18px;
  }

  .intur-conv-copy p {
    font-size: 16px;
    line-height: 1.65;
    margin: 0 0 22px;
  }

  .intur-conv-copy .btns {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px;
    width: 100%;
  }

  .intur-conv-copy .btn {
    min-height: 48px;
    border-radius: 999px;
    padding: 13px 18px;
    font-size: 14px;
    font-weight: 900;
  }

  .intur-conv-card {
    width: 100%;
    border-radius: 24px;
    padding: 30px 26px;
    background: #fff;
    box-shadow: 0 16px 40px rgba(7, 23, 47, .08);
  }

  .intur-conv-card h3 {
    font-size: clamp(26px, 7vw, 34px);
    line-height: 1.08;
    margin: 0 0 14px;
    color: #0b4a92;
  }

  .intur-conv-card > p {
    font-size: 16px;
    line-height: 1.55;
    margin: 0 0 22px;
  }

  .intur-conv-card .intur-form {
    display: grid;
    gap: 14px;
  }

  .intur-conv-card .intur-form label {
    display: grid;
    gap: 7px;
  }

  .intur-conv-card .intur-form label span {
    font-size: 13px;
    line-height: 1.2;
    font-weight: 900;
    color: #0b4a92;
  }

  .intur-conv-card .intur-form input,
  .intur-conv-card .intur-form select,
  .intur-conv-card .intur-form textarea {
    width: 100%;
    min-height: 46px;
    border-radius: 10px;
    font-size: 15px;
    padding: 12px 14px;
  }

  .intur-conv-card .intur-submit,
  .intur-conv-card button[type="submit"] {
    width: 100%;
    min-height: 52px;
    border-radius: 10px;
    font-size: 14px;
    font-weight: 900;
    text-transform: uppercase;
  }

  @media (max-width: 390px) {
    .section.alt .intur-conv-grid {
      padding-left: 20px;
      padding-right: 20px;
    }

    .intur-conv-card {
      padding: 28px 24px;
    }

    .intur-conv-copy h2 {
      font-size: 30px;
    }

    .intur-conv-card h3 {
      font-size: 27px;
    }
  }



  /* ================================
     HOME - INFORMACIÓN ÚTIL
     Sección:
     "Últimos artículos, noticias y empleabilidad"
     ================================ */

  .intur-info-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 18px;
  }

  .intur-info-grid > div:first-child {
    max-width: 100%;
  }

  .intur-info-grid > div:first-child .eyebrow {
    font-size: 11px;
    letter-spacing: .24em;
    line-height: 1.2;
    margin-bottom: 14px;
  }

  .intur-info-grid > div:first-child h2,
  .intur-info-grid > div:first-child .title {
    font-size: clamp(30px, 8.2vw, 38px);
    line-height: 1.04;
    letter-spacing: -.4px;
    margin: 0 0 16px;
  }

  .intur-info-grid > div:first-child p,
  .intur-info-grid > div:first-child .lead {
    font-size: 16px;
    line-height: 1.62;
    margin: 0 0 18px;
  }

  .intur-info-grid > div:first-child .underline {
    margin-top: 22px;
    margin-bottom: 8px;
  }

  .intur-info-grid > article,
  .intur-info-grid > .intur-info-card,
  .intur-info-card {
    min-height: auto;
    border-radius: 22px;
    background: #fff;
    padding: 22px 22px 24px;
    box-shadow: 0 14px 34px rgba(7, 23, 47, .06);
  }

  .intur-info-card .eyebrow,
  .intur-info-grid > article .eyebrow {
    font-size: 11px;
    letter-spacing: .22em;
    line-height: 1.2;
    margin-bottom: 16px;
    color: #e60019;
  }

  .intur-info-card h3,
  .intur-info-grid > article h3 {
    font-size: 22px;
    line-height: 1.12;
    margin: 0 0 14px;
    color: #07172f;
  }

  .intur-info-card p,
  .intur-info-grid > article p {
    font-size: 16px;
    line-height: 1.6;
    margin: 0 0 18px;
    color: #5d6b85;
  }

  .intur-info-card a,
  .intur-info-grid > article a {
    font-size: 15px;
    font-weight: 900;
    text-decoration: none;
    color: #07172f;
  }

  .intur-info-cta,
  .section.dark.intur-info-cta {
    padding-top: 42px;
    padding-bottom: 46px;
  }

  .intur-info-cta .container,
  .section.dark.intur-info-cta .container {
    padding-left: 24px;
    padding-right: 24px;
  }

  .intur-info-cta .eyebrow {
    font-size: 11px;
    letter-spacing: .22em;
    line-height: 1.2;
    margin-bottom: 14px;
  }

  .intur-info-cta h2,
  .intur-info-cta .title {
    font-size: clamp(28px, 7.6vw, 36px);
    line-height: 1.08;
    margin: 0 0 14px;
  }

  .intur-info-cta p,
  .intur-info-cta .lead {
    font-size: 16px;
    line-height: 1.6;
    margin: 0 0 22px;
  }

  .intur-info-cta .btn,
  .intur-info-cta .pill {
    width: 100%;
    min-height: 48px;
    border-radius: 999px;
    display: flex;
    justify-content: center;
    align-items: center;
  }

  @media (max-width: 390px) {
    .intur-info-grid > div:first-child h2,
    .intur-info-grid > div:first-child .title {
      font-size: 30px;
    }

    .intur-info-card h3,
    .intur-info-grid > article h3 {
      font-size: 21px;
    }
  }



  /* ================================
     CARRERAS - LISTADO GENERAL
     Página: /carreras
     Convierte .program-module-grid en slider solo en móvil.
     ================================ */

  body .program-module-grid {
    display: flex !important;
    grid-template-columns: none !important;
    gap: 16px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    padding: 0 20px 16px;
    margin-left: -20px;
    margin-right: -20px;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  body .program-module-grid::-webkit-scrollbar {
    display: none;
  }

  body .program-module-grid .program-module {
    flex: 0 0 86%;
    min-width: 86%;
    max-width: 86%;
    scroll-snap-align: start;
    border-radius: 24px;
    overflow: hidden;
    padding: 0 !important;
    margin: 0;
  }

  body .program-module-grid .program-module img {
    width: 100%;
    height: 218px;
    object-fit: cover;
    display: block;
  }

  body .program-module-grid .program-module > div {
    padding: 22px 22px 24px;
  }

  body .program-module-grid .program-module .card-kicker,
  body .program-module-grid .program-module .eyebrow {
    font-size: 11px;
    letter-spacing: .18em;
    margin-bottom: 12px;
  }

  body .program-module-grid .program-module h3 {
    font-size: 23px;
    line-height: 1.08;
    margin: 10px 0 12px;
  }

  body .program-module-grid .program-module p:not(.eyebrow) {
    font-size: 15px;
    line-height: 1.58;
    margin-bottom: 18px;
  }

  body .program-module-grid .program-module .link {
    font-size: 15px;
    font-weight: 900;
  }

  body .page-hero.compact {
    min-height: 56svh;
    padding-top: 88px;
    padding-bottom: 42px;
  }

  body .page-hero.compact h1 {
    font-size: clamp(28px, 7.8vw, 38px);
    line-height: 1.04;
    max-width: 92%;
  }

  body .page-hero.compact p {
    font-size: 15px;
    line-height: 1.55;
  }

  @media (max-width: 390px) {
    body .program-module-grid .program-module {
      flex-basis: 88%;
      min-width: 88%;
      max-width: 88%;
    }

    body .program-module-grid .program-module img {
      height: 205px;
    }

    body .program-module-grid .program-module h3 {
      font-size: 22px;
    }
  }




  /* ================================
     CARRERAS - PUNTOS DEL SLIDER
     Indicadores para .program-module-grid solo en móvil.
     ================================ */

  .program-module-dots {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    margin: -2px 0 28px;
  }

  .program-module-dots button {
    width: 8px;
    height: 8px;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: #cfd7e6;
    cursor: pointer;
    transition: width .2s ease, background .2s ease;
  }

  .program-module-dots button.is-active {
    width: 24px;
    background: #e60019;
  }



  /* ================================
     CARRERA INTERNA - MOBILE COMPARTIDO
     Aplica a:
     /carreras/administracion-y-direccion-empresarial
     /carreras/gestion-contable-y-financiera
     /carreras/gestion-juridica
     /carreras/negocios-internacionales-y-gestion-aduanera
     y plantilla dinámica show.blade.php
     ================================ */

  .career-hero {
    min-height: 100svh;
    padding: 86px 20px 42px;
    display: flex;
    align-items: center;
    overflow: hidden;
  }

  .career-hero::before {
    background-position: center center;
  }

  .career-hero-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 0;
    padding-left: 0;
    padding-right: 0;
  }

  .career-hero-copy {
    width: 100%;
    max-width: 100%;
  }

  .breadcrumb-lite {
    display: none;
  }

  .career-hero .eyebrow {
    font-size: 11px;
    letter-spacing: .24em;
    line-height: 1.2;
    margin-bottom: 14px;
  }

  .career-hero h1 {
    font-size: clamp(31px, 8.8vw, 41px);
    line-height: 1.02;
    letter-spacing: -.5px;
    margin: 0 0 16px;
    max-width: 94%;
  }

  .career-hero .hero-lead {
    font-size: 15.5px;
    line-height: 1.56;
    margin: 0 0 18px;
    max-width: 94%;
  }

  .career-quick {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    padding-bottom: 6px;
    margin-bottom: 18px;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
  }

  .career-quick::-webkit-scrollbar {
    display: none;
  }

  .career-quick .pill {
    flex: 0 0 auto;
    scroll-snap-align: start;
    white-space: nowrap;
    font-size: 12px;
    padding: 9px 13px;
    border-radius: 999px;
  }

  .career-hero-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px;
    width: 100%;
  }

  .career-hero-actions .btn {
    width: 100%;
    min-height: 48px;
    border-radius: 999px;
    justify-content: center;
    text-align: center;
  }

  .career-anchorbar {
    display: none;
  }

  .career-overview-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 24px;
  }

  .career-main-copy .eyebrow,
  .section-head .eyebrow {
    font-size: 11px;
    letter-spacing: .24em;
    line-height: 1.2;
    margin-bottom: 13px;
  }

  .career-main-copy .title,
  .section-head .title,
  .career-cert .title,
  #formulario .title {
    font-size: clamp(29px, 8vw, 38px);
    line-height: 1.04;
    letter-spacing: -.4px;
    margin-bottom: 15px;
  }

  .career-main-copy .lead,
  .section-head .lead,
  .career-cert .lead,
  #formulario .lead {
    font-size: 16px;
    line-height: 1.62;
  }

  .benefit-tags {
    display: flex;
    gap: 10px;
    overflow-x: auto;
    padding-bottom: 8px;
    margin-top: 20px;
    -webkit-overflow-scrolling: touch;
  }

  .benefit-tags::-webkit-scrollbar {
    display: none;
  }

  .benefit-tags span {
    flex: 0 0 auto;
    white-space: nowrap;
    border-radius: 999px;
    padding: 10px 14px;
    font-size: 13px;
  }

  .career-side-card {
    border-radius: 24px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 14px 34px rgba(7, 23, 47, .08);
  }

  .career-side-card img {
    width: 100%;
    height: 220px;
    object-fit: cover;
    display: block;
  }

  .career-side-card > div {
    padding: 22px 22px 24px;
  }

  .career-side-card h3 {
    font-size: 22px;
    line-height: 1.12;
    margin-bottom: 12px;
  }

  .career-side-card p {
    font-size: 15px;
    line-height: 1.55;
    margin-bottom: 18px;
  }

  .career-side-card .btn {
    width: 100%;
  }

  .career-reasons,
  .compact-cards,
  .practical-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px;
  }

  .career-reasons .card,
  .compact-cards .card,
  .practical-grid .card {
    border-radius: 18px;
    padding: 20px 20px 22px;
  }

  .career-reasons .card b,
  .practical-card span {
    width: 32px;
    height: 32px;
    border-radius: 9px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 12px;
  }

  .career-reasons .card h3,
  .compact-cards .card h3,
  .practical-grid .card h3 {
    font-size: 20px;
    line-height: 1.15;
    margin-bottom: 10px;
  }

  .career-reasons .card p,
  .compact-cards .card p,
  .practical-grid .card p {
    font-size: 15px;
    line-height: 1.55;
  }

  .responsive-row {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 18px;
    text-align: left;
  }

  .responsive-row .btn {
    width: 100%;
  }

  .career-cycle-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px;
  }

  .cycle-detail {
    border-radius: 14px;
    overflow: hidden;
    background: #fff;
  }

  .cycle-detail summary {
    padding: 15px 18px;
    font-size: 15px;
    font-weight: 900;
    cursor: pointer;
  }

  .cycle-detail ul {
    padding: 0 20px 18px 34px;
    margin: 0;
  }

  .cycle-detail li {
    font-size: 14.5px;
    line-height: 1.5;
    margin-bottom: 6px;
  }

  .gallery-grid {
    display: flex !important;
    gap: 16px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    padding-bottom: 14px;
    -webkit-overflow-scrolling: touch;
  }

  .gallery-grid::-webkit-scrollbar {
    display: none;
  }

  .gallery-card {
    flex: 0 0 84%;
    scroll-snap-align: start;
    border-radius: 20px;
    overflow: hidden;
  }

  .gallery-card img {
    width: 100%;
    height: 210px;
    object-fit: cover;
    display: block;
  }

  .career-cert .info-band {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 22px;
  }

  .career-cert .btn {
    width: 100%;
  }

  @media (max-width: 390px) {
    .career-hero {
      padding-left: 16px;
      padding-right: 16px;
    }

    .career-hero h1 {
      font-size: 31px;
      max-width: 96%;
    }

    .career-main-copy .title,
    .section-head .title,
    .career-cert .title,
    #formulario .title {
      font-size: 29px;
    }

    .career-side-card img {
      height: 200px;
    }
  }





  /* ================================
     CARRERA INTERNA - FORMULARIO MOBILE SEGURO
     Mobile: oculta formulario del hero y muestra formulario debajo.
     Desktop: no cambia.
     ================================ */

  .career-hero .career-hero-form {
    display: none !important;
  }

  .career-mobile-form-section {
    display: block !important;
    padding-top: 26px;
    padding-bottom: 34px;
    background: #f3f6fa;
  }

  .career-mobile-form-section .container {
    padding-left: 20px;
    padding-right: 20px;
  }

  .career-mobile-form-card {
    width: 100%;
    border-radius: 24px;
    background: #fff;
    padding: 28px 22px;
    box-shadow: 0 16px 40px rgba(7, 23, 47, .08);
  }

  .career-mobile-form-card .hero-form-heading {
    margin-bottom: 20px;
  }

  .career-mobile-form-card .hero-form-heading .eyebrow {
    font-size: 11px;
    letter-spacing: .24em;
    line-height: 1.2;
    color: #e60019;
    margin-bottom: 12px;
  }

  .career-mobile-form-card .hero-form-heading h2 {
    font-size: clamp(28px, 7.6vw, 36px);
    line-height: 1.06;
    color: #0b4a92;
    margin: 0 0 12px;
  }

  .career-mobile-form-card .hero-form-heading p {
    font-size: 15.5px;
    line-height: 1.55;
    margin: 0;
    color: #5d6b85;
  }

  .career-mobile-form-card .lead-form,
  .career-mobile-form-card form {
    width: 100%;
    max-width: 100%;
  }

  .career-mobile-form-card input,
  .career-mobile-form-card select,
  .career-mobile-form-card textarea {
    min-height: 46px;
    border-radius: 10px;
    font-size: 15px;
  }

  .career-mobile-form-card button[type="submit"],
  .career-mobile-form-card .btn[type="submit"] {
    width: 100%;
    min-height: 50px;
    border-radius: 999px;
    font-size: 14px;
    font-weight: 900;
  }

  @media (max-width: 390px) {
    .career-mobile-form-section .container {
      padding-left: 16px;
      padding-right: 16px;
    }

    .career-mobile-form-card {
      padding: 26px 20px;
    }
  }



  /* ================================
     CARRERA INTERNA - QUITAR FORMULARIO DEL HERO
     Solo mobile. El formulario ya no aparece dentro del hero.
     ================================ */

  .career-hero .career-hero-form,
  .career-hero .lead-form,
  .career-hero .intur-form,
  .career-hero form {
    display: none !important;
  }

  .career-hero-grid {
    grid-template-columns: 1fr !important;
  }

  .career-hero-copy {
    max-width: 100% !important;
  }

  .career-hero {
    min-height: 100svh;
    height: 100svh;
    padding-bottom: 52px;
  }






  /* ================================
     CARRERA INTERNA - RAZONES TIMELINE
     Sección: "Razones para elegir / Una ruta académica clara"
     Solo mobile.
     ================================ */

  .career-reasons-section,
  .section-soft:has(.career-reasons),
  .section:has(.career-reasons) {
    padding-top: 46px;
    padding-bottom: 46px;
  }

  .career-reasons-section .section-head,
  .section-soft:has(.career-reasons) .section-head,
  .section:has(.career-reasons) .section-head {
    text-align: left;
    margin-bottom: 28px;
  }

  .career-reasons-section .section-head .eyebrow,
  .section-soft:has(.career-reasons) .section-head .eyebrow,
  .section:has(.career-reasons) .section-head .eyebrow {
    font-size: 11px;
    letter-spacing: .24em;
    line-height: 1.2;
    margin-bottom: 12px;
  }

  .career-reasons-section .section-head .title,
  .section-soft:has(.career-reasons) .section-head .title,
  .section:has(.career-reasons) .section-head .title {
    font-size: clamp(30px, 8.2vw, 38px);
    line-height: 1.04;
    letter-spacing: -.4px;
    margin: 0 0 16px;
  }

  .career-reasons-section .section-head .lead,
  .section-soft:has(.career-reasons) .section-head .lead,
  .section:has(.career-reasons) .section-head .lead {
    font-size: 16px;
    line-height: 1.62;
    margin: 0;
  }

  .career-reasons {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 0;
    position: relative;
    padding-left: 8px;
  }

  .career-reasons::before {
    content: "";
    position: absolute;
    left: 24px;
    top: 12px;
    bottom: 12px;
    width: 2px;
    background: #dce5f2;
    border-radius: 99px;
  }

  .career-reasons .card {
    position: relative;
    min-height: auto;
    border-radius: 0;
    padding: 0 0 28px 54px;
    background: transparent;
    box-shadow: none;
    border: 0;
  }

  .career-reasons .card:last-child {
    padding-bottom: 0;
  }

  .career-reasons .card b {
    position: absolute;
    left: 0;
    top: 0;
    width: 34px;
    height: 34px;
    border-radius: 10px;
    background: #0b4a92;
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    line-height: 1;
    font-weight: 900;
    margin: 0;
    z-index: 2;
    box-shadow: 0 8px 18px rgba(11, 74, 146, .22);
  }

  .career-reasons .card h3 {
    font-size: 21px;
    line-height: 1.12;
    margin: 2px 0 8px;
    color: #07172f;
  }

  .career-reasons .card p {
    font-size: 15.5px;
    line-height: 1.55;
    margin: 0;
    color: #5d6b85;
  }

  @media (max-width: 390px) {
    .career-reasons-section .section-head .title,
    .section-soft:has(.career-reasons) .section-head .title,
    .section:has(.career-reasons) .section-head .title {
      font-size: 30px;
    }

    .career-reasons {
      padding-left: 4px;
    }

    .career-reasons::before {
      left: 20px;
    }

    .career-reasons .card {
      padding-left: 50px;
      padding-bottom: 26px;
    }

    .career-reasons .card b {
      width: 32px;
      height: 32px;
      border-radius: 9px;
    }

    .career-reasons .card h3 {
      font-size: 20px;
    }

    .career-reasons .card p {
      font-size: 15px;
    }
  }


  /* ================================
     CARRERA INTERNA - FORMACIÓN APLICADA ACORDEÓN
     Sección: #practica
     Solo mobile.
     ================================ */

  #practica {
    overflow: hidden;
  }

  #practica .section-head {
    text-align: left;
    margin-bottom: 24px;
  }

  #practica .section-head .eyebrow {
    font-size: 11px;
    letter-spacing: .24em;
    line-height: 1.2;
    margin-bottom: 12px;
  }

  #practica .section-head .title {
    font-size: clamp(30px, 8.2vw, 38px);
    line-height: 1.04;
    letter-spacing: -.4px;
    margin: 0 0 16px;
  }

  #practica .section-head .lead {
    font-size: 16px;
    line-height: 1.62;
    margin: 0;
  }

  #practica .practical-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px;
  }

  #practica .practical-card {
    position: relative;
    min-height: auto;
    border-radius: 16px;
    padding: 0;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 12px 28px rgba(7, 23, 47, .06);
    cursor: pointer;
  }

  #practica .practical-card span {
    position: absolute;
    left: 18px;
    top: 16px;
    width: 32px;
    height: 32px;
    border-radius: 9px;
    background: #0b4a92;
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 15px;
    z-index: 2;
  }

  #practica .practical-card h3 {
    position: relative;
    min-height: 64px;
    margin: 0;
    padding: 19px 48px 18px 62px;
    font-size: 18px;
    line-height: 1.18;
    display: flex;
    align-items: center;
  }

  #practica .practical-card h3::after {
    content: "+";
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    color: #0b4a92;
    font-size: 22px;
    font-weight: 900;
    line-height: 1;
  }

  #practica .practical-card.is-open h3::after {
    content: "−";
  }

  #practica .practical-card p {
    display: none;
    margin: 0;
    padding: 0 22px 20px 62px;
    font-size: 15px;
    line-height: 1.55;
    color: #5d6b85;
  }

  #practica .practical-card.is-open p {
    display: block;
  }

  #practica .practical-card.is-open {
    box-shadow: 0 16px 34px rgba(7, 23, 47, .09);
  }

  @media (max-width: 390px) {
    #practica .section-head .title {
      font-size: 30px;
    }

    #practica .practical-card h3 {
      font-size: 17px;
      padding-right: 44px;
    }

    #practica .practical-card p {
      padding-right: 20px;
    }
  }


  /* ================================
     CARRERA INTERNA - CAMPO LABORAL AUTO SLIDER
     Sección: #campo-laboral
     Solo mobile.
     ================================ */

  #campo-laboral {
    overflow: hidden;
  }

  #campo-laboral .compact-cards {
    display: flex !important;
    grid-template-columns: none !important;
    gap: 16px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    padding: 0 20px 16px;
    margin-left: -20px;
    margin-right: -20px;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  #campo-laboral .compact-cards::-webkit-scrollbar {
    display: none;
  }

  #campo-laboral .field-card {
    flex: 0 0 84%;
    min-width: 84%;
    max-width: 84%;
    min-height: 168px;
    scroll-snap-align: start;
    border-radius: 20px;
    padding: 24px 22px;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }

  #campo-laboral .field-card h3 {
    font-size: 22px;
    line-height: 1.12;
    margin: 0 0 12px;
  }

  #campo-laboral .field-card p {
    font-size: 15.5px;
    line-height: 1.55;
    margin: 0;
  }

  #campo-laboral .field-card.is-clone {
    pointer-events: none;
  }

  @media (max-width: 390px) {
    #campo-laboral .field-card {
      flex-basis: 86%;
      min-width: 86%;
      max-width: 86%;
      min-height: 158px;
      padding: 22px 20px;
    }

    #campo-laboral .field-card h3 {
      font-size: 21px;
    }

    #campo-laboral .field-card p {
      font-size: 15px;
    }
  }


  /* ================================
     CARRERA INTERNA - PRESENTACIÓN CORREGIDA
     Sección: "Presentación / ¿En qué consiste?"
     Solo mobile.
     ================================ */

  .career-overview,
  .section:has(.career-overview-grid) {
    overflow-x: hidden;
  }

  .career-overview-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 22px;
    width: 100%;
    max-width: 100%;
  }

  .career-main-copy {
    width: 100%;
    max-width: 100%;
    overflow: hidden;
  }

  .career-main-copy .eyebrow {
    font-size: 11px;
    letter-spacing: .24em;
    line-height: 1.2;
    margin-bottom: 12px;
  }

  .career-main-copy .title {
    font-size: clamp(30px, 8.2vw, 38px);
    line-height: 1.04;
    letter-spacing: -.4px;
    margin: 0 0 16px;
    max-width: 100%;
    overflow-wrap: break-word;
  }

  .career-main-copy .lead {
    font-size: 16px;
    line-height: 1.62;
    max-width: 100%;
    overflow-wrap: break-word;
  }

  .benefit-tags {
    display: flex !important;
    gap: 10px;
    overflow-x: auto;
    overflow-y: hidden;
    max-width: 100%;
    padding: 2px 0 10px;
    margin: 18px 0 0;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
  }

  .benefit-tags::-webkit-scrollbar {
    display: none;
  }

  .benefit-tags span {
    flex: 0 0 auto;
    scroll-snap-align: start;
    max-width: 86vw;
    white-space: nowrap;
    border-radius: 999px;
    padding: 10px 14px;
    font-size: 13px;
    line-height: 1.15;
  }

  .career-side-card {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    border-radius: 22px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 14px 34px rgba(7, 23, 47, .08);
  }

  .career-side-card img {
    width: 100%;
    height: 210px;
    object-fit: cover;
    object-position: center;
    display: block;
  }

  .career-side-card > div {
    padding: 20px 20px 22px;
    width: 100%;
    max-width: 100%;
    overflow: hidden;
  }

  .career-side-card h3 {
    font-size: 21px;
    line-height: 1.14;
    margin: 0 0 10px;
    max-width: 100%;
    overflow-wrap: break-word;
  }

  .career-side-card p {
    font-size: 15px;
    line-height: 1.55;
    margin: 0 0 16px;
    max-width: 100%;
    overflow-wrap: break-word;
  }

  .career-side-card .btn {
    width: 100%;
    max-width: 100%;
    min-height: 46px;
    border-radius: 999px;
    display: flex;
    justify-content: center;
    align-items: center;
  }

  @media (max-width: 390px) {
    .career-main-copy .title {
      font-size: 30px;
    }

    .career-side-card img {
      height: 195px;
    }

    .career-side-card > div {
      padding: 19px 18px 21px;
    }
  }


  /* ================================
     CARRERAS - ORIENTACIÓN Y FORMULARIO
     Sección: /carreras #formulario
     ================================ */

  #formulario .form-split {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 26px;
    padding-left: 20px;
    padding-right: 20px;
  }

  #formulario .form-split > div:first-child {
    max-width: 100%;
  }

  #formulario .form-split > div:first-child .eyebrow {
    font-size: 11px;
    letter-spacing: .24em;
    line-height: 1.2;
    margin-bottom: 14px;
  }

  #formulario .form-split > div:first-child .title {
    font-size: clamp(30px, 8.4vw, 38px);
    line-height: 1.04;
    letter-spacing: -.4px;
    margin: 0 0 16px;
  }

  #formulario .form-split > div:first-child .lead {
    font-size: 16px;
    line-height: 1.58;
    margin: 0 0 20px;
  }

  #formulario .form-split > div:first-child .btns {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px;
    width: 100%;
  }

  #formulario .form-split > div:first-child .btn {
    width: 100%;
    min-height: 48px;
    border-radius: 999px;
    padding: 13px 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    font-size: 14px;
    font-weight: 900;
  }

  #formulario .lead-form,
  #formulario .intur-form,
  #formulario form {
    width: 100%;
    max-width: 100%;
  }

  #formulario .lead-form,
  #formulario .form-card,
  #formulario .card:has(form) {
    border-radius: 20px;
    padding: 24px 20px;
  }

  #formulario input,
  #formulario select,
  #formulario textarea {
    min-height: 46px;
    border-radius: 10px;
    font-size: 15px;
  }

  #formulario button[type="submit"],
  #formulario .btn[type="submit"] {
    min-height: 50px;
    border-radius: 999px;
    font-size: 14px;
    font-weight: 900;
  }

  @media (max-width: 390px) {
    #formulario .form-split {
      padding-left: 16px;
      padding-right: 16px;
    }

    #formulario .form-split > div:first-child .title {
      font-size: 30px;
    }

    #formulario .lead-form,
    #formulario .form-card,
    #formulario .card:has(form) {
      padding: 22px 18px;
    }
  }



  /* ================================
     CARRERA INTERNA - MALLA CURRICULAR CERRADA
     Sección: #malla
     Solo mobile.
     ================================ */

  #malla .responsive-row {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 18px;
    align-items: start;
  }

  #malla .responsive-row .btn {
    width: 100%;
    min-height: 46px;
    border-radius: 999px;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  #malla .section-head,
  #malla .responsive-row > div:first-child {
    text-align: left;
  }

  #malla .eyebrow {
    font-size: 11px;
    letter-spacing: .24em;
    line-height: 1.2;
    margin-bottom: 12px;
  }

  #malla .title,
  #malla h2 {
    font-size: clamp(30px, 8.2vw, 38px);
    line-height: 1.04;
    letter-spacing: -.4px;
    margin: 0 0 16px;
  }

  #malla .lead,
  #malla p {
    font-size: 16px;
    line-height: 1.62;
  }

  #malla .career-cycle-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px;
    margin-top: 24px;
  }

  #malla .cycle-detail {
    border: 1.5px solid #e60019;
    border-radius: 14px;
    background: #fff;
    overflow: hidden;
  }

  #malla .cycle-detail summary {
    min-height: 56px;
    padding: 16px 44px 16px 18px;
    display: flex;
    align-items: center;
    position: relative;
    color: #0b4a92;
    font-size: 15px;
    line-height: 1.2;
    font-weight: 900;
    text-transform: uppercase;
    cursor: pointer;
    list-style: none;
  }

  #malla .cycle-detail summary::-webkit-details-marker {
    display: none;
  }

  #malla .cycle-detail summary::after {
    content: "+";
    position: absolute;
    right: 18px;
    top: 50%;
    transform: translateY(-50%);
    color: #e60019;
    font-size: 20px;
    font-weight: 900;
    line-height: 1;
  }

  #malla .cycle-detail[open] summary::after {
    content: "−";
  }

  #malla .cycle-detail[open] summary {
    border-bottom: 1px solid #e6eaf2;
  }

  #malla .cycle-detail ul {
    padding: 16px 22px 18px 34px;
    margin: 0;
  }

  #malla .cycle-detail li {
    font-size: 14.5px;
    line-height: 1.48;
    margin-bottom: 7px;
  }

  @media (max-width: 390px) {
    #malla .title,
    #malla h2 {
      font-size: 30px;
    }

    #malla .cycle-detail summary {
      font-size: 14px;
      padding-left: 16px;
      padding-right: 40px;
    }

    #malla .cycle-detail ul {
      padding-left: 30px;
      padding-right: 18px;
    }

    #malla .cycle-detail li {
      font-size: 14px;
    }
  }



  /* ================================
     CARRERA INTERNA - CTAS FINALES MOBILE
     Secciones:
     "Información académica del programa"
     "Recibe orientación sobre..."
     Solo mobile.
     ================================ */

  .career-cert {
    padding-top: 46px;
    padding-bottom: 48px;
  }

  .career-cert .info-band {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 24px;
    align-items: start;
  }

  .career-cert .eyebrow {
    font-size: 11px;
    letter-spacing: .22em;
    line-height: 1.2;
    margin-bottom: 14px;
  }

  .career-cert .title,
  .career-cert h2 {
    font-size: clamp(30px, 8.2vw, 38px);
    line-height: 1.05;
    letter-spacing: -.4px;
    margin: 0 0 16px;
  }

  .career-cert .lead,
  .career-cert p {
    font-size: 16px;
    line-height: 1.62;
    margin: 0;
  }

  .career-cert .btn {
    width: 100%;
    min-height: 48px;
    border-radius: 999px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 6px;
  }

  .career-final-cta,
  .section:has(.career-final-grid),
  .section-alt:has(.career-final-grid) {
    padding-top: 46px;
    padding-bottom: 48px;
    overflow-x: hidden;
  }

  .career-final-grid,
  .career-final-cta .grid,
  .career-final-cta .grid-2 {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 24px;
    align-items: start;
  }

  .career-final-grid > div:first-child .eyebrow,
  .career-final-cta .eyebrow {
    font-size: 11px;
    letter-spacing: .22em;
    line-height: 1.2;
    margin-bottom: 14px;
  }

  .career-final-grid > div:first-child .title,
  .career-final-grid > div:first-child h2,
  .career-final-cta .title,
  .career-final-cta h2 {
    font-size: clamp(29px, 7.8vw, 37px);
    line-height: 1.06;
    letter-spacing: -.4px;
    margin: 0 0 16px;
  }

  .career-final-grid > div:first-child .lead,
  .career-final-grid > div:first-child p,
  .career-final-cta .lead,
  .career-final-cta p {
    font-size: 16px;
    line-height: 1.62;
    margin-bottom: 18px;
  }

  .career-final-grid .btns,
  .career-final-cta .btns {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px;
    width: 100%;
  }

  .career-final-grid .btn,
  .career-final-cta .btn {
    width: 100%;
    min-height: 48px;
    border-radius: 999px;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .career-final-card,
  .career-final-grid .career-side-card {
    width: 100%;
    max-width: 100%;
    border-radius: 22px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 14px 34px rgba(7, 23, 47, .08);
  }

  .career-final-card img,
  .career-final-grid .career-side-card img {
    width: 100%;
    height: 205px;
    object-fit: cover;
    object-position: center;
    display: block;
  }

  .career-final-card > div,
  .career-final-grid .career-side-card > div {
    padding: 20px 20px 22px;
  }

  .career-final-card h3,
  .career-final-grid .career-side-card h3 {
    font-size: 21px;
    line-height: 1.14;
    margin: 0 0 10px;
  }

  .career-final-card p,
  .career-final-grid .career-side-card p {
    font-size: 15px;
    line-height: 1.55;
    margin: 0 0 16px;
  }

  .career-final-card .btn,
  .career-final-grid .career-side-card .btn {
    width: 100%;
  }

  @media (max-width: 390px) {
    .career-cert .title,
    .career-cert h2,
    .career-final-grid > div:first-child .title,
    .career-final-grid > div:first-child h2,
    .career-final-cta .title,
    .career-final-cta h2 {
      font-size: 29px;
    }

    .career-final-card img,
    .career-final-grid .career-side-card img {
      height: 190px;
    }
  }



  /* ================================
     AVC - GALERÍA MOBILE SLIDER
     Sección: Galería de formación y actividades
     Solo mobile.
     ================================ */

  .avc-gallery,
  .avc-gallery-grid,
  .avc-activity-gallery {
    display: flex !important;
    grid-template-columns: none !important;
    gap: 16px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    padding: 0 20px 12px;
    margin-left: -20px;
    margin-right: -20px;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  .avc-gallery::-webkit-scrollbar,
  .avc-gallery-grid::-webkit-scrollbar,
  .avc-activity-gallery::-webkit-scrollbar {
    display: none;
  }

  .avc-gallery > *,
  .avc-gallery-grid > *,
  .avc-activity-gallery > * {
    flex: 0 0 84%;
    min-width: 84%;
    max-width: 84%;
    scroll-snap-align: start;
    border-radius: 20px;
    overflow: hidden;
  }

  .avc-gallery img,
  .avc-gallery-grid img,
  .avc-activity-gallery img {
    width: 100%;
    height: 205px;
    object-fit: cover;
    display: block;
  }

  .avc-gallery h3,
  .avc-gallery-grid h3,
  .avc-activity-gallery h3,
  .avc-gallery p,
  .avc-gallery-grid p,
  .avc-activity-gallery p {
    overflow-wrap: break-word;
  }

  .avc-gallery-dots {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    margin: 2px 0 8px;
  }

  .avc-gallery-dots button {
    width: 8px;
    height: 8px;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: #cfd7e6;
    cursor: pointer;
    transition: width .2s ease, background .2s ease;
  }

  .avc-gallery-dots button.is-active {
    width: 24px;
    background: #e60019;
  }

  @media (max-width: 390px) {
    .avc-gallery > *,
    .avc-gallery-grid > *,
    .avc-activity-gallery > * {
      flex-basis: 86%;
      min-width: 86%;
      max-width: 86%;
    }

    .avc-gallery img,
    .avc-gallery-grid img,
    .avc-activity-gallery img {
      height: 190px;
    }
  }



  /* ================================
     MODELAJE - MOBILE AJUSTES
     Página: Taller de Modelaje y Etiqueta
     Solo mobile.
     ================================ */

  .modelaje-mobile-form-section {
    display: block;
    padding-top: 28px;
    padding-bottom: 34px;
  }

  .modelaje-mobile-form-card {
    border-radius: 22px;
    background: #fff;
    padding: 24px 20px;
    box-shadow: 0 14px 34px rgba(7, 23, 47, .08);
  }

  .modelaje-mobile-form-card .hero-form-heading {
    margin-bottom: 18px;
  }

  .modelaje-mobile-form-card .hero-form-heading .eyebrow {
    font-size: 11px;
    letter-spacing: .22em;
    line-height: 1.2;
    color: #e60019;
    margin-bottom: 10px;
  }

  .modelaje-mobile-form-card .hero-form-heading h2 {
    font-size: clamp(27px, 7.4vw, 34px);
    line-height: 1.08;
    color: #0b4a92;
    margin: 0 0 10px;
  }

  .modelaje-mobile-form-card .hero-form-heading p {
    font-size: 15.5px;
    line-height: 1.55;
    margin: 0;
  }

  .modelaje-hero {
    min-height: 100svh;
    height: 100svh;
    padding-bottom: 52px;
  }

  .modelaje-hero .career-hero-form {
    display: none !important;
  }

  .modelaje-hero .career-hero-copy {
    max-width: 100% !important;
  }

  .modelaje-hero h1 {
    font-size: clamp(31px, 8.6vw, 40px);
    line-height: 1.02;
    max-width: 94%;
  }

  .modelaje-hero .hero-lead {
    max-width: 94%;
  }

  #modulos .program-module-grid {
    display: flex !important;
    grid-template-columns: none !important;
    gap: 16px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    padding: 0 20px 12px;
    margin-left: -20px;
    margin-right: -20px;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  #modulos .program-module-grid::-webkit-scrollbar {
    display: none;
  }

  #modulos .program-module {
    flex: 0 0 84%;
    min-width: 84%;
    max-width: 84%;
    scroll-snap-align: start;
    border-radius: 20px;
    overflow: hidden;
  }

  #modulos .program-module img {
    width: 100%;
    height: 205px;
    object-fit: cover;
    display: block;
  }

  #galeria .gallery-grid {
    display: flex !important;
    grid-template-columns: none !important;
    gap: 16px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    padding: 0 20px 12px;
    margin-left: -20px;
    margin-right: -20px;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  #galeria .gallery-grid::-webkit-scrollbar {
    display: none;
  }

  #galeria .gallery-card {
    flex: 0 0 84%;
    min-width: 84%;
    max-width: 84%;
    scroll-snap-align: start;
    border-radius: 20px;
    overflow: hidden;
  }

  #galeria .gallery-card img {
    width: 100%;
    height: 205px;
    object-fit: cover;
    display: block;
  }

  .gallery-slider-dots {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    margin: 2px 0 8px;
  }

  .gallery-slider-dots button {
    width: 8px;
    height: 8px;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: #cfd7e6;
    cursor: pointer;
    transition: width .2s ease, background .2s ease;
  }

  .gallery-slider-dots button.is-active {
    width: 24px;
    background: #e60019;
  }

  #beneficios .practical-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px;
  }

  #beneficios .practical-card {
    min-height: auto;
    border-radius: 16px;
    padding: 20px 20px 22px;
  }

  #beneficios .practical-card h3 {
    font-size: 20px;
    line-height: 1.15;
    margin-bottom: 9px;
  }

  #beneficios .practical-card p {
    font-size: 15px;
    line-height: 1.55;
  }

  @media (max-width: 390px) {
    .modelaje-hero h1 {
      font-size: 31px;
    }

    #modulos .program-module,
    #galeria .gallery-card {
      flex-basis: 86%;
      min-width: 86%;
      max-width: 86%;
    }

    #modulos .program-module img,
    #galeria .gallery-card img {
      height: 190px;
    }
  }




  /* ================================
     CONVALIDACIÓN - MOBILE AJUSTES
     Formulario debajo del hero + documentos en acordeón.
     Solo mobile.
     ================================ */

  .convalidacion-hero {
    min-height: 100svh;
    height: 100svh;
    padding-bottom: 52px;
  }

  .convalidacion-hero .hero-form-shell {
    display: none !important;
  }

  .convalidacion-hero .career-hero-grid,
  .convalidacion-hero-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 0;
  }

  .convalidacion-hero .career-hero-copy {
    max-width: 100% !important;
  }

  .convalidacion-hero h1 {
    font-size: clamp(30px, 8.4vw, 40px);
    line-height: 1.02;
    max-width: 94%;
  }

  .convalidacion-hero .hero-lead {
    max-width: 94%;
    font-size: 15.5px;
    line-height: 1.56;
  }

  .convalidacion-hero .career-hero-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px;
    width: 100%;
  }

  .convalidacion-hero .career-hero-actions .btn {
    width: 100%;
    min-height: 48px;
    border-radius: 999px;
    justify-content: center;
    text-align: center;
  }

  .convalidacion-mobile-form-section {
    display: block !important;
    padding-top: 28px;
    padding-bottom: 34px;
    background: #f3f6fa;
  }

  .convalidacion-mobile-form-section .container {
    width: 100%;
    max-width: 100%;
  }

  .convalidacion-mobile-form-card {
    border-radius: 22px;
    background: #fff;
    padding: 24px 20px;
    box-shadow: 0 14px 34px rgba(7, 23, 47, .08);
  }

  .convalidacion-mobile-form-card .hero-form-heading {
    margin-bottom: 18px;
  }

  .convalidacion-mobile-form-card .hero-form-heading .eyebrow {
    font-size: 11px;
    letter-spacing: .22em;
    line-height: 1.2;
    color: #e60019;
    margin-bottom: 10px;
  }

  .convalidacion-mobile-form-card .hero-form-heading h2 {
    font-size: clamp(27px, 7.4vw, 34px);
    line-height: 1.08;
    color: #0b4a92;
    margin: 0 0 10px;
  }

  .convalidacion-mobile-form-card .hero-form-heading p {
    font-size: 15.5px;
    line-height: 1.55;
    margin: 0;
  }

  .convalidacion-mobile-form-card form,
  .convalidacion-mobile-form-card .lead-form,
  .convalidacion-mobile-form-card .intur-form {
    width: 100%;
    max-width: 100%;
  }

  .convalidacion-mobile-form-card input,
  .convalidacion-mobile-form-card select,
  .convalidacion-mobile-form-card textarea {
    min-height: 44px;
    border-radius: 10px;
    font-size: 15px;
  }

  .convalidacion-mobile-form-card button[type="submit"] {
    width: 100%;
    min-height: 48px;
    border-radius: 999px;
    font-size: 14px;
    font-weight: 900;
  }

  #que-es .career-side-card img {
    height: 205px;
    object-fit: cover;
  }

  #que-es .career-side-card > div {
    padding: 20px 20px 22px;
  }

  #requisitos .section-head {
    text-align: left;
  }

  #requisitos .convalidacion-docs-desktop {
    display: none !important;
  }

  #requisitos .convalidacion-docs-mobile {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px;
    margin-top: 24px;
  }

  #requisitos .convalidacion-doc-detail {
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 12px 28px rgba(7, 23, 47, .06);
    overflow: hidden;
  }

  #requisitos .convalidacion-doc-detail summary {
    min-height: 58px;
    padding: 17px 46px 17px 20px;
    position: relative;
    display: flex;
    align-items: center;
    color: #07172f;
    font-size: 17px;
    line-height: 1.18;
    font-weight: 900;
    cursor: pointer;
    list-style: none;
  }

  #requisitos .convalidacion-doc-detail summary::-webkit-details-marker {
    display: none;
  }

  #requisitos .convalidacion-doc-detail summary::after {
    content: "+";
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    color: #e60019;
    font-size: 22px;
    font-weight: 900;
    line-height: 1;
  }

  #requisitos .convalidacion-doc-detail[open] summary::after {
    content: "−";
  }

  #requisitos .convalidacion-doc-detail p {
    margin: 0;
    padding: 0 20px 20px;
    color: #5d6b85;
    font-size: 15.5px;
    line-height: 1.55;
  }

  .section.dark .info-band {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 22px;
  }

  .section.dark .info-band .btn {
    width: 100%;
    min-height: 48px;
    border-radius: 999px;
    display: flex;
    justify-content: center;
    align-items: center;
  }

  #contacto-convalidacion .form-split {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 24px;
  }

  #contacto-convalidacion .btns {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px;
  }

  #contacto-convalidacion .btn {
    width: 100%;
    min-height: 48px;
    border-radius: 999px;
    display: flex;
    justify-content: center;
    align-items: center;
  }

  @media (max-width: 390px) {
    .convalidacion-hero h1 {
      font-size: 30px;
    }

    .convalidacion-mobile-form-card {
      padding: 22px 18px;
    }

    #requisitos .convalidacion-doc-detail summary {
      font-size: 16px;
      padding-left: 18px;
    }
  }


  /* ================================
     FOOTER
     ================================ */

  .footer,
  footer {
    overflow-x: hidden;
  }

  .footer .container,
  footer .container {
    display: grid;
    grid-template-columns: 1fr !important;
    gap: 24px;
  }
}


/* Label para grupos dentro del dropdown de carreras */
.mega-label {
  display: block;
  margin: 18px 0 10px;
  color: #0b4a92;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .04em;
  text-transform: uppercase;
}

/* =========================================================
   FIX DEFINITIVO GRID - MODELAJE BENEFICIOS
   Este bloque va al final del CSS para ganar prioridad.
   Scope exclusivo:
   #beneficios.modelaje-beneficios-timeline
   ========================================================= */
@media (max-width: 768px) {
  #beneficios.modelaje-beneficios-timeline .practical-grid,
  section#beneficios.modelaje-beneficios-timeline .practical-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 18px !important;
    position: relative !important;
    padding-left: 0 !important;
    margin-top: 14px !important;
  }

  #beneficios.modelaje-beneficios-timeline .practical-grid::before,
  section#beneficios.modelaje-beneficios-timeline .practical-grid::before {
    display: none !important;
    content: none !important;
  }

  #beneficios.modelaje-beneficios-timeline .practical-card,
  section#beneficios.modelaje-beneficios-timeline .practical-card {
    position: relative !important;
    display: grid !important;
    grid-template-columns: 44px minmax(0, 1fr) !important;
    grid-template-rows: auto auto !important;
    column-gap: 14px !important;
    row-gap: 0 !important;
    align-items: start !important;
    width: 100% !important;
    min-height: auto !important;
    padding: 0 0 18px 0 !important;
    margin: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    overflow: visible !important;
  }

  #beneficios.modelaje-beneficios-timeline .practical-card:not(:last-child),
  section#beneficios.modelaje-beneficios-timeline .practical-card:not(:last-child) {
    border-bottom: 1px solid rgba(11, 74, 146, .12) !important;
  }

  #beneficios.modelaje-beneficios-timeline .practical-card span,
  section#beneficios.modelaje-beneficios-timeline .practical-card span {
    position: static !important;
    inset: auto !important;
    left: auto !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    transform: none !important;
    grid-column: 1 !important;
    grid-row: 1 / span 2 !important;
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    min-height: 34px !important;
    max-width: 34px !important;
    max-height: 34px !important;
    border-radius: 10px !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #0b4a92 !important;
    color: #fff !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 14px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    z-index: 1 !important;
    box-shadow: 0 8px 18px rgba(11, 74, 146, .22) !important;
  }

  #beneficios.modelaje-beneficios-timeline .practical-card h3,
  section#beneficios.modelaje-beneficios-timeline .practical-card h3 {
    position: static !important;
    display: block !important;
    grid-column: 2 !important;
    grid-row: 1 !important;
    min-height: 0 !important;
    margin: 2px 0 8px 0 !important;
    padding: 0 !important;
    transform: none !important;
    font-size: 20px !important;
    line-height: 1.15 !important;
    color: #07172f !important;
    max-width: 100% !important;
    overflow-wrap: break-word !important;
    white-space: normal !important;
  }

  #beneficios.modelaje-beneficios-timeline .practical-card h3::after,
  section#beneficios.modelaje-beneficios-timeline .practical-card h3::after {
    display: none !important;
    content: none !important;
  }

  #beneficios.modelaje-beneficios-timeline .practical-card p,
  section#beneficios.modelaje-beneficios-timeline .practical-card p {
    position: static !important;
    display: block !important;
    grid-column: 2 !important;
    grid-row: 2 !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
    font-size: 15.5px !important;
    line-height: 1.55 !important;
    color: #5d6b85 !important;
    max-width: 100% !important;
    overflow-wrap: break-word !important;
    white-space: normal !important;
  }

  @media (max-width: 390px) {
    #beneficios.modelaje-beneficios-timeline .practical-card,
    section#beneficios.modelaje-beneficios-timeline .practical-card {
      grid-template-columns: 40px minmax(0, 1fr) !important;
      column-gap: 12px !important;
    }

    #beneficios.modelaje-beneficios-timeline .practical-card span,
    section#beneficios.modelaje-beneficios-timeline .practical-card span {
      width: 32px !important;
      height: 32px !important;
      min-width: 32px !important;
      min-height: 32px !important;
      max-width: 32px !important;
      max-height: 32px !important;
      border-radius: 9px !important;
    }

    #beneficios.modelaje-beneficios-timeline .practical-card h3,
    section#beneficios.modelaje-beneficios-timeline .practical-card h3 {
      font-size: 19px !important;
    }

    #beneficios.modelaje-beneficios-timeline .practical-card p,
    section#beneficios.modelaje-beneficios-timeline .practical-card p {
      font-size: 15px !important;
    }
  }
}

/* =========================================================
   CONVALIDACIÓN - PASOS TIMELINE MOBILE
   Corrección real: esta sección usa .timeline .step,
   no .compact-cards.
   ========================================================= */
@media (max-width: 768px) {
  #proceso .timeline {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 0 !important;
    position: relative !important;
    padding-left: 8px !important;
    margin-top: 24px !important;
  }

  #proceso .timeline::before {
    content: "" !important;
    position: absolute !important;
    left: 24px !important;
    top: 12px !important;
    bottom: 12px !important;
    width: 2px !important;
    background: #dce5f2 !important;
    border-radius: 99px !important;
  }

  #proceso .timeline .step {
    position: relative !important;
    display: block !important;
    min-height: auto !important;
    border-radius: 0 !important;
    padding: 0 0 28px 54px !important;
    margin: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    border: 0 !important;
    overflow: visible !important;
  }

  #proceso .timeline .step:last-child {
    padding-bottom: 0 !important;
  }

  #proceso .timeline .step-num {
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    min-height: 34px !important;
    border-radius: 10px !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #0b4a92 !important;
    color: #fff !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 13px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    z-index: 2 !important;
    box-shadow: 0 8px 18px rgba(11, 74, 146, .22) !important;
  }

  #proceso .timeline .step h3 {
    display: block !important;
    margin: 2px 0 8px !important;
    padding: 0 !important;
    font-size: 21px !important;
    line-height: 1.12 !important;
    color: #07172f !important;
  }

  #proceso .timeline .step p {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 15.5px !important;
    line-height: 1.55 !important;
    color: #5d6b85 !important;
  }

  @media (max-width: 390px) {
    #proceso .timeline {
      padding-left: 4px !important;
    }

    #proceso .timeline::before {
      left: 20px !important;
    }

    #proceso .timeline .step {
      padding-left: 50px !important;
      padding-bottom: 26px !important;
    }

    #proceso .timeline .step-num {
      width: 32px !important;
      height: 32px !important;
      min-width: 32px !important;
      min-height: 32px !important;
      border-radius: 9px !important;
    }

    #proceso .timeline .step h3 {
      font-size: 20px !important;
    }

    #proceso .timeline .step p {
      font-size: 15px !important;
    }
  }
}

/* =========================================================
   CONTACTO - AYUDA TIMELINE MOBILE
   Sección: ¿En qué podemos ayudarte?
   Scope exclusivo: .contacto-help-timeline
   ========================================================= */
@media (max-width: 768px) {
  .contacto-help-timeline .section-head {
    text-align: left !important;
    margin-bottom: 26px !important;
  }

  .contacto-help-timeline .grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 0 !important;
    position: relative !important;
    padding-left: 8px !important;
    margin-top: 24px !important;
  }

  .contacto-help-timeline .grid::before {
    content: "" !important;
    position: absolute !important;
    left: 24px !important;
    top: 12px !important;
    bottom: 12px !important;
    width: 2px !important;
    background: #dce5f2 !important;
    border-radius: 99px !important;
  }

  .contacto-help-timeline .feature-card {
    position: relative !important;
    display: block !important;
    min-height: auto !important;
    border-radius: 0 !important;
    padding: 0 0 28px 54px !important;
    margin: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    border: 0 !important;
    overflow: visible !important;
  }

  .contacto-help-timeline .feature-card:last-child {
    padding-bottom: 0 !important;
  }

  .contacto-help-timeline .feature-card .icon {
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    min-height: 34px !important;
    border-radius: 10px !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #0b4a92 !important;
    color: #fff !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 13px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    z-index: 2 !important;
    box-shadow: 0 8px 18px rgba(11, 74, 146, .22) !important;
  }

  .contacto-help-timeline .feature-card h3 {
    margin: 2px 0 8px !important;
    padding: 0 !important;
    font-size: 21px !important;
    line-height: 1.12 !important;
    color: #07172f !important;
  }

  .contacto-help-timeline .feature-card p {
    margin: 0 !important;
    padding: 0 !important;
    font-size: 15.5px !important;
    line-height: 1.55 !important;
    color: #5d6b85 !important;
  }

  @media (max-width: 390px) {
    .contacto-help-timeline .grid {
      padding-left: 4px !important;
    }

    .contacto-help-timeline .grid::before {
      left: 20px !important;
    }

    .contacto-help-timeline .feature-card {
      padding-left: 50px !important;
      padding-bottom: 26px !important;
    }

    .contacto-help-timeline .feature-card .icon {
      width: 32px !important;
      height: 32px !important;
      min-width: 32px !important;
      min-height: 32px !important;
      border-radius: 9px !important;
    }

    .contacto-help-timeline .feature-card h3 {
      font-size: 20px !important;
    }

    .contacto-help-timeline .feature-card p {
      font-size: 15px !important;
    }
  }
}

/* =========================================================
   PROCESO MATRÍCULA - MOBILE
   Variación institucional:
   - Pasos = timeline
   - Documentos = acordeón
   - Siguiente paso = cards compactas
   ========================================================= */
@media (max-width: 768px) {
  .proceso-steps-timeline .section-head {
    text-align: left !important;
    margin-bottom: 26px !important;
  }

  .proceso-steps-timeline .grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 0 !important;
    position: relative !important;
    padding-left: 8px !important;
    margin-top: 24px !important;
  }

  .proceso-steps-timeline .grid::before {
    content: "" !important;
    position: absolute !important;
    left: 24px !important;
    top: 12px !important;
    bottom: 12px !important;
    width: 2px !important;
    background: #dce5f2 !important;
    border-radius: 99px !important;
  }

  .proceso-steps-timeline .feature-card {
    position: relative !important;
    display: block !important;
    min-height: auto !important;
    border-radius: 0 !important;
    padding: 0 0 28px 54px !important;
    margin: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    border: 0 !important;
    overflow: visible !important;
  }

  .proceso-steps-timeline .feature-card:last-child {
    padding-bottom: 0 !important;
  }

  .proceso-steps-timeline .step-num {
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    min-height: 34px !important;
    border-radius: 10px !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #0b4a92 !important;
    color: #fff !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 13px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    z-index: 2 !important;
    box-shadow: 0 8px 18px rgba(11, 74, 146, .22) !important;
  }

  .proceso-steps-timeline .feature-card h3 {
    margin: 2px 0 8px !important;
    padding: 0 !important;
    font-size: 21px !important;
    line-height: 1.12 !important;
  }

  .proceso-steps-timeline .feature-card p {
    margin: 0 !important;
    padding: 0 !important;
    font-size: 15.5px !important;
    line-height: 1.55 !important;
    color: #5d6b85 !important;
  }

  .proceso-docs-accordion .section-head {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 18px !important;
    text-align: left !important;
  }

  .proceso-docs-accordion .section-head .btn {
    width: 100% !important;
    min-height: 48px !important;
    border-radius: 999px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .proceso-docs-accordion .proceso-docs-desktop {
    display: none !important;
  }

  .proceso-docs-accordion .proceso-docs-mobile {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    margin-top: 24px !important;
  }

  .proceso-docs-accordion .proceso-doc-detail {
    border-radius: 16px !important;
    background: #fff !important;
    box-shadow: 0 12px 28px rgba(7, 23, 47, .06) !important;
    overflow: hidden !important;
  }

  .proceso-docs-accordion .proceso-doc-detail summary {
    min-height: 58px !important;
    padding: 17px 46px 17px 20px !important;
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    color: #07172f !important;
    font-size: 17px !important;
    line-height: 1.18 !important;
    font-weight: 900 !important;
    cursor: pointer !important;
    list-style: none !important;
  }

  .proceso-docs-accordion .proceso-doc-detail summary::-webkit-details-marker {
    display: none !important;
  }

  .proceso-docs-accordion .proceso-doc-detail summary::after {
    content: "+" !important;
    position: absolute !important;
    right: 20px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    color: #e60019 !important;
    font-size: 22px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
  }

  .proceso-docs-accordion .proceso-doc-detail[open] summary::after {
    content: "−" !important;
  }

  .proceso-docs-accordion .proceso-doc-detail p {
    margin: 0 !important;
    padding: 0 20px 20px !important;
    color: #5d6b85 !important;
    font-size: 15.5px !important;
    line-height: 1.55 !important;
  }

  .proceso-next-compact .section-head {
    text-align: left !important;
  }

  .proceso-next-compact .grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  .proceso-next-compact .article-card {
    border-radius: 16px !important;
    padding: 20px 20px 22px !important;
    min-height: auto !important;
  }

  .proceso-next-compact .article-card h3 {
    font-size: 20px !important;
    line-height: 1.15 !important;
    margin-bottom: 8px !important;
  }

  .proceso-next-compact .article-card p {
    font-size: 15px !important;
    line-height: 1.55 !important;
    margin-bottom: 12px !important;
  }

  @media (max-width: 390px) {
    .proceso-steps-timeline .grid {
      padding-left: 4px !important;
    }

    .proceso-steps-timeline .grid::before {
      left: 20px !important;
    }

    .proceso-steps-timeline .feature-card {
      padding-left: 50px !important;
      padding-bottom: 26px !important;
    }

    .proceso-steps-timeline .step-num {
      width: 32px !important;
      height: 32px !important;
      min-width: 32px !important;
      min-height: 32px !important;
      border-radius: 9px !important;
    }

    .proceso-steps-timeline .feature-card h3,
    .proceso-next-compact .article-card h3 {
      font-size: 19px !important;
    }
  }
}

