
    /* ===== HERO ===== */
    .mds-hero {
      background: linear-gradient(135deg, #0d4d20 0%, #1b7a3a 55%, #2e9d52 100%);
      min-height: 280px;
      display: flex;
      align-items: flex-end;
      padding: 210px 0 0;
      position: relative;
      overflow: hidden;
    }
    .mds-hero::before {
      content: '';
      position: absolute;
      inset: 0;
      background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.04'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
    }
    .mds-hero-inner {
      position: relative;
      width: 100%;
    }
    .mds-hero-content {
      padding: 0 20px 48px;
      max-width: 1200px;
      margin: 0 auto;
      display: flex;
      align-items: flex-end;
      justify-content: space-between;
      gap: 24px;
      flex-wrap: wrap;
    }
    .mds-hero-left {}
    .mds-breadcrumb {
      display: flex;
      align-items: center;
      gap: 6px;
      margin-bottom: 14px;
      flex-wrap: wrap;
    }
    .mds-breadcrumb span, .mds-breadcrumb a {
      font-size: 12px;
      color: rgba(255,255,255,0.65);
      text-decoration: none;
    }
    .mds-breadcrumb a:hover { color: #fff; }
    .mds-breadcrumb i { font-size: 10px; color: rgba(255,255,255,0.4); }
    .mds-hero-tag {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      background: rgba(255,255,255,0.15);
      border: 1px solid rgba(255,255,255,0.25);
      color: #fff;
      font-size: 11px;
      font-weight: 700;
      letter-spacing: 1.5px;
      text-transform: uppercase;
      padding: 5px 14px;
      border-radius: 20px;
      margin-bottom: 14px;
    }
    .mds-hero h1 {
      color: #fff;
      font-size: clamp(26px, 4vw, 42px);
      font-weight: 700;
      line-height: 1.15;
      margin: 0 0 16px;
      max-width: 600px;
    }
    .mds-hero-badges {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
    }
    .mds-hero-badge {
      display: flex;
      align-items: center;
      gap: 7px;
      background: rgba(255,255,255,0.12);
      border: 1px solid rgba(255,255,255,0.2);
      color: #fff;
      font-size: 12px;
      padding: 7px 14px;
      border-radius: 8px;
    }
    .mds-hero-badge i { font-size: 14px; color: #a8e0b8; }
    .mds-hero-cta {
      display: flex;
      flex-direction: column;
      gap: 10px;
      align-items: flex-end;
    }
    .mds-hero-btn-primary {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      background: #fff;
      color: #1b7a3a !important;
      font-size: 13px;
      font-weight: 700;
      padding: 13px 28px;
      border-radius: 10px;
      text-decoration: none !important;
      transition: transform 0.2s, box-shadow 0.2s;
      box-shadow: 0 4px 20px rgba(0,0,0,0.2);
      white-space: nowrap;
    }
    .mds-hero-btn-primary:hover { transform: translateY(-2px); box-shadow: 0 8px 28px rgba(0,0,0,0.25); color: #1b7a3a !important; }
    .mds-hero-btn-secondary {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      background: transparent;
      color: #fff !important;
      font-size: 12px;
      font-weight: 600;
      padding: 10px 22px;
      border-radius: 10px;
      text-decoration: none !important;
      border: 1.5px solid rgba(255,255,255,0.4);
      transition: background 0.2s, border-color 0.2s;
      white-space: nowrap;
    }
    .mds-hero-btn-secondary:hover { background: rgba(255,255,255,0.1); border-color: rgba(255,255,255,0.7); color: #fff !important; }

    /* ===== QUICK STATS BAR ===== */
    .mds-stats-bar {
      background: #0d4d20;
      padding: 0;
      border-bottom: 3px solid #2e9d52;
    }
    .mds-stats-inner {
      max-width: 1200px;
      margin: 0 auto;
      display: flex;
      flex-wrap: wrap;
    }
    .mds-stat {
      flex: 1 1 160px;
      display: flex;
      align-items: center;
      gap: 12px;
      padding: 18px 24px;
      border-right: 1px solid rgba(255,255,255,0.1);
    }
    .mds-stat:last-child { border-right: none; }
    .mds-stat-icon {
      width: 38px;
      height: 38px;
      border-radius: 8px;
      background: rgba(26,147,36,0.25);
      display: flex;
      align-items: center;
      justify-content: center;
      color: #a8e0b8;
      font-size: 16px;
      flex-shrink: 0;
    }
    .mds-stat-label { font-size: 10px; color: rgba(255,255,255,0.55); font-weight: 600; text-transform: uppercase; letter-spacing: 0.8px; }
    .mds-stat-value { font-size: 13px; color: #fff; font-weight: 700; line-height: 1.3; }

    /* ===== LAYOUT ===== */
    .mds-layout {
      max-width: 1200px;
      margin: 0 auto;
      padding: 48px 20px 64px;
      display: grid;
      grid-template-columns: 1fr 320px;
      gap: 40px;
      align-items: start;
    }

    /* ===== MAIN CONTENT ===== */
    .mds-section-tag {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      background: #e8f5ea;
      color: #1b7a3a;
      font-size: 11px;
      font-weight: 700;
      letter-spacing: 1px;
      text-transform: uppercase;
      padding: 5px 14px;
      border-radius: 20px;
      margin-bottom: 10px;
    }
    .mds-section-title {
      font-size: clamp(20px, 2.5vw, 26px);
      font-weight: 700;
      color: #1b7a3a;
      margin: 0 0 6px;
    }
    .mds-section-sub {
      font-size: 13px;
      color: #777;
      margin: 0 0 28px;
    }

    /* ===== PROGRAMA INTRO ===== */
    .mds-intro-text {
      font-size: 15px;
      color: #444;
      line-height: 1.8;
      margin-bottom: 28px;
    }
    .mds-intro-highlight {
      background: linear-gradient(135deg, #e8f5ea 0%, #c8eed1 100%);
      border-left: 4px solid #2e9d52;
      border-radius: 0 10px 10px 0;
      padding: 18px 22px;
      margin-bottom: 28px;
    }
    .mds-intro-highlight p {
      font-size: 14px;
      color: #1b7a3a;
      font-weight: 600;
      margin: 0;
      line-height: 1.6;
    }

    /* ===== COMPETENCIAS / PERFIL GRID ===== */
    .mds-competencias-grid {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
      gap: 14px;
      margin-bottom: 40px;
    }
    .mds-comp-card {
      background: #fff;
      border: 1.5px solid #dde4ef;
      border-radius: 12px;
      padding: 18px 16px;
      display: flex;
      align-items: flex-start;
      gap: 12px;
      transition: border-color 0.2s, box-shadow 0.2s;
    }
    .mds-comp-card:hover {
      border-color: #2e9d52;
      box-shadow: 0 4px 18px rgba(26,147,36,0.12);
    }
    .mds-comp-icon {
      width: 40px;
      height: 40px;
      border-radius: 10px;
      background: #e8f5ea;
      display: flex;
      align-items: center;
      justify-content: center;
      color: #1b7a3a;
      font-size: 18px;
      flex-shrink: 0;
    }
    .mds-comp-text { font-size: 13px; color: #444; line-height: 1.5; font-weight: 500; }

    /* ===== ACCORDION (MÓDULOS) ===== */
    .mds-accordion { display: flex; flex-direction: column; gap: 10px; margin-bottom: 40px; }
    .mds-acc-item {
      background: #fff;
      border: 1.5px solid #dde4ef;
      border-radius: 12px;
      overflow: hidden;
      transition: border-color 0.2s;
    }
    .mds-acc-item.open { border-color: #2e9d52; }
    .mds-acc-trigger {
      display: flex;
      align-items: center;
      gap: 14px;
      padding: 18px 20px;
      cursor: pointer;
      background: #fff;
      border: none;
      width: 100%;
      text-align: left;
      transition: background 0.2s;
      user-select: none;
    }
    .mds-acc-item.open .mds-acc-trigger { background: #e8f5ea; }
    .mds-acc-num {
      width: 36px;
      height: 36px;
      border-radius: 50%;
      background: #1b7a3a;
      color: #fff;
      font-size: 13px;
      font-weight: 700;
      display: flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
      transition: background 0.2s;
    }
    .mds-acc-item.open .mds-acc-num { background: #2e9d52; }
    .mds-acc-header-text { flex: 1; }
    .mds-acc-semestre {
      font-size: 10px;
      font-weight: 700;
      color: #2e9d52;
      text-transform: uppercase;
      letter-spacing: 1px;
    }
    .mds-acc-title {
      font-size: 15px;
      font-weight: 700;
      color: #1b7a3a;
      margin: 2px 0 0;
    }
    .mds-acc-arrow {
      color: #2e9d52;
      font-size: 18px;
      flex-shrink: 0;
      transition: transform 0.3s;
    }
    .mds-acc-item.open .mds-acc-arrow { transform: rotate(180deg); }
    .mds-acc-body {
      display: grid;
      grid-template-rows: 0fr;
      transition: grid-template-rows 0.3s ease;
    }
    .mds-acc-item.open .mds-acc-body { grid-template-rows: 1fr; }
    .mds-acc-inner { overflow: hidden; }
    .mds-acc-content {
      padding: 0 20px 20px 70px;
    }
    .mds-materias-list {
      list-style: none;
      padding: 0;
      margin: 0;
      display: flex;
      flex-direction: column;
      gap: 8px;
    }
    .mds-materias-list li {
      display: flex;
      align-items: center;
      gap: 10px;
      font-size: 13px;
      color: #444;
      padding: 8px 14px;
      background: #f8fafd;
      border-radius: 8px;
      border: 1px solid #e8eef7;
    }
    .mds-materias-list li i { color: #2e9d52; font-size: 14px; flex-shrink: 0; }

    /* ===== PERFIL DE EGRESO ===== */
    .mds-perfil-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 14px;
      margin-bottom: 40px;
    }
    .mds-perfil-item {
      display: flex;
      align-items: flex-start;
      gap: 12px;
      padding: 14px 16px;
      background: #f8fafd;
      border-radius: 10px;
      border: 1px solid #e8eef7;
    }
    .mds-perfil-item i { color: #2e9d52; font-size: 18px; flex-shrink: 0; margin-top: 2px; }
    .mds-perfil-item span { font-size: 13px; color: #444; line-height: 1.5; }

    /* ===== REQUISITOS ===== */
    .mds-req-list {
      list-style: none;
      padding: 0;
      margin: 0 0 40px;
      display: flex;
      flex-direction: column;
      gap: 10px;
    }
    .mds-req-list li {
      display: flex;
      align-items: flex-start;
      gap: 12px;
      font-size: 14px;
      color: #444;
      line-height: 1.5;
    }
    .mds-req-list li::before {
      content: '';
      width: 20px;
      height: 20px;
      border-radius: 50%;
      background: #2e9d52;
      display: flex;
      flex-shrink: 0;
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M13.854 3.646a.5.5 0 0 1 0 .708l-7 7a.5.5 0 0 1-.708 0l-3.5-3.5a.5.5 0 1 1 .708-.708L6.5 10.293l6.646-6.647a.5.5 0 0 1 .708 0z'/%3E%3C/svg%3E");
      background-repeat: no-repeat;
      background-position: center;
      margin-top: 2px;
    }

    /* ===== FAQ ===== */
    .mds-faq { display: flex; flex-direction: column; gap: 8px; margin-bottom: 40px; }
    .mds-faq-item {
      border: 1.5px solid #dde4ef;
      border-radius: 10px;
      overflow: hidden;
    }
    .mds-faq-item.open { border-color: #2e9d52; }
    .mds-faq-trigger {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      padding: 16px 18px;
      cursor: pointer;
      background: #fff;
      border: none;
      width: 100%;
      text-align: left;
    }
    .mds-faq-item.open .mds-faq-trigger { background: #e8f5ea; }
    .mds-faq-q { font-size: 14px; font-weight: 700; color: #1b7a3a; }
    .mds-faq-icon { color: #2e9d52; font-size: 16px; flex-shrink: 0; transition: transform 0.3s; }
    .mds-faq-item.open .mds-faq-icon { transform: rotate(180deg); }
    .mds-faq-body {
      display: grid;
      grid-template-rows: 0fr;
      transition: grid-template-rows 0.3s ease;
    }
    .mds-faq-item.open .mds-faq-body { grid-template-rows: 1fr; }
    .mds-faq-inner { overflow: hidden; }
    .mds-faq-a {
      padding: 14px 18px 18px;
      font-size: 13px;
      color: #555;
      line-height: 1.7;
    }

    /* ===== SIDEBAR ===== */
    .mds-sidebar { position: sticky; top: 100px; }
    .mds-sidebar-card {
      background: #fff;
      border: 1.5px solid #dde4ef;
      border-radius: 16px;
      overflow: hidden;
      margin-bottom: 20px;
      box-shadow: 0 4px 24px rgba(13,107,20,0.08);
    }
    .mds-sidebar-header {
      background: linear-gradient(135deg, #0d4d20 0%, #2e9d52 100%);
      padding: 20px;
      text-align: center;
    }
    .mds-sidebar-header .sh-tag {
      display: inline-block;
      background: rgba(255,255,255,0.2);
      color: #fff;
      font-size: 10px;
      font-weight: 700;
      letter-spacing: 1px;
      text-transform: uppercase;
      padding: 3px 12px;
      border-radius: 10px;
      margin-bottom: 10px;
    }
    .mds-sidebar-header h3 {
      color: #fff;
      font-size: 16px;
      font-weight: 700;
      margin: 0 0 6px;
    }
    .mds-sidebar-header p { color: rgba(255,255,255,0.8); font-size: 12px; margin: 0; }
    .mds-sidebar-body { padding: 20px; }
    .mds-sb-row {
      display: flex;
      align-items: center;
      gap: 12px;
      padding: 12px 0;
      border-bottom: 1px solid #f0f4f8;
    }
    .mds-sb-row:last-child { border-bottom: none; }
    .mds-sb-icon {
      width: 34px;
      height: 34px;
      border-radius: 8px;
      background: #e8f5ea;
      display: flex;
      align-items: center;
      justify-content: center;
      color: #1b7a3a;
      font-size: 15px;
      flex-shrink: 0;
    }
    .mds-sb-label { font-size: 10px; color: #999; font-weight: 600; text-transform: uppercase; letter-spacing: 0.8px; }
    .mds-sb-value { font-size: 13px; color: #222; font-weight: 700; }
    .mds-sidebar-btn {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      width: 100%;
      padding: 14px;
      background: #1b7a3a;
      color: #fff !important;
      font-size: 14px;
      font-weight: 700;
      border-radius: 10px;
      text-decoration: none !important;
      margin-top: 16px;
      transition: background 0.2s, transform 0.15s;
    }
    .mds-sidebar-btn:hover { background: #2e9d52; transform: translateY(-1px); color: #fff !important; }
    .mds-sidebar-btn-wa {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      width: 100%;
      padding: 12px;
      background: #25D366;
      color: #fff !important;
      font-size: 13px;
      font-weight: 700;
      border-radius: 10px;
      text-decoration: none !important;
      margin-top: 10px;
      transition: background 0.2s;
    }
    .mds-sidebar-btn-wa:hover { background: #128C7E; color: #fff !important; }

    .mds-contact-card {
      background: #f8fafd;
      border: 1.5px solid #dde4ef;
      border-radius: 14px;
      padding: 18px;
    }
    .mds-contact-card h4 { font-size: 14px; font-weight: 700; color: #1b7a3a; margin: 0 0 14px; }
    .mds-contact-item {
      display: flex;
      align-items: flex-start;
      gap: 10px;
      margin-bottom: 12px;
      font-size: 13px;
      color: #444;
    }
    .mds-contact-item:last-child { margin-bottom: 0; }
    .mds-contact-item i { color: #2e9d52; font-size: 15px; margin-top: 2px; flex-shrink: 0; }

    /* ===== CTA BAND ===== */
    .mds-cta-band {
      background: linear-gradient(135deg, #0d4d20 0%, #1b7a3a 100%);
      padding: 56px 20px;
      text-align: center;
    }
    .mds-cta-band h2 { color: #fff; font-size: clamp(20px, 3vw, 28px); font-weight: 700; margin: 0 0 10px; }
    .mds-cta-band p { color: rgba(255,255,255,0.75); font-size: 14px; margin: 0 0 28px; }
    .mds-cta-btns { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }
    .mds-cta-btn1 {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      background: #fff;
      color: #1b7a3a !important;
      font-size: 14px;
      font-weight: 700;
      padding: 14px 32px;
      border-radius: 10px;
      text-decoration: none !important;
      transition: transform 0.2s;
    }
    .mds-cta-btn1:hover { transform: translateY(-2px); color: #1b7a3a !important; }
    .mds-cta-btn2 {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      background: #25D366;
      color: #fff !important;
      font-size: 14px;
      font-weight: 700;
      padding: 14px 32px;
      border-radius: 10px;
      text-decoration: none !important;
      transition: background 0.2s;
    }
    .mds-cta-btn2:hover { background: #128C7E; color: #fff !important; }

    /* ===== CALENDAR SIDEBAR OVERRIDE ===== */
    #sbCalendar {
      width: 100% !important;
      padding: 16px !important;
      box-shadow: none !important;
      border: 1px solid #e4edf6 !important;
      border-radius: 10px !important;
    }
    #sbCalendar .pi-cal-header span { font-size: 15px !important; }
    #sbCalendar .pi-cal-weekdays span { font-size: 11px !important; }
    #sbCalendar .pi-day { font-size: 13px !important; padding: 7px 0 !important; }

    /* ===== MOBILE CTA BAR ===== */
    .mds-mobile-cta {
      display: none;
      position: fixed;
      bottom: 0;
      left: 0;
      right: 0;
      z-index: 800;
      background: #fff;
      border-top: 2px solid #dde4ef;
      padding: 10px 16px;
      gap: 10px;
    }
    .mds-mobile-cta a {
      flex: 1;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 6px;
      padding: 11px;
      border-radius: 8px;
      font-size: 13px;
      font-weight: 700;
      text-decoration: none !important;
    }
    .mds-mobile-cta .mcta-primary { background: #1b7a3a; color: #fff !important; }
    .mds-mobile-cta .mcta-wa { background: #25D366; color: #fff !important; }

    /* ===== RESPONSIVE ===== */
    @media (max-width: 900px) {
      .mds-layout { grid-template-columns: 1fr; }
      .mds-sidebar { position: static; }
      .mds-hero-cta { align-items: flex-start; }
      .mds-perfil-grid { grid-template-columns: 1fr; }
      .mds-mobile-cta { display: flex; }
      .mds-acc-content { padding-left: 20px; }
      .mds-stats-inner { flex-direction: column; }
      .mds-stat { border-right: none; border-bottom: 1px solid rgba(255,255,255,0.1); }
      .mds-stat:last-child { border-bottom: none; }
    }
    @media (max-width: 600px) {
      .mds-competencias-grid { grid-template-columns: 1fr; }
      .mds-hero-content { padding-bottom: 80px; }
    }
  
    /* Flecha dropdown en navbar */
    .nav-arrow {
      font-size: 10px;
      margin-left: 3px;
      transition: transform 0.2s ease;
      vertical-align: middle;
    }
    .dropdown:hover .nav-arrow,
    .dropdown.open .nav-arrow { transform: rotate(180deg); }

    /* Logo INICIO en navbar */
    .nav-inicio-logo {
      display: flex;
      flex-direction: column;
      align-items: center;
      text-decoration: none !important;
      margin-right: -8px;
      padding: 4px 0px 4px 4px;
      gap: 2px;
      flex-shrink: 0;
    }
    .nav-inicio-logo img {
      height: 32px;
      width: auto;
      object-fit: contain;
    }
    .nav-inicio-logo span {
      font-size: 9px;
      font-weight: 700;
      letter-spacing: 1px;
      color: #1558A0;
      text-transform: uppercase;
      line-height: 1;
    }
    .nav-inicio-logo:hover span { color: #2E86DE; }
