/* Ajustes visuales solicitados y contenido ampliado del perfil. */
.hero-portrait,
.hero-portrait img { border-radius: 5px; }

.profile-stats { display: flex; flex-wrap: wrap; gap: 8px; margin: 24px 0 4px; }
.profile-stats span { padding: 8px 10px; border: 1px solid var(--line); border-radius: 3px; color: var(--muted); font-size: 13px; }
.profile-stats b { display: block; color: var(--green); font: 700 22px/1 var(--display); letter-spacing: -.07em; }
.timeline li small { grid-column: 2; color: var(--muted); font-size: 13px; line-height: 1.45; }

.credentials { padding: 10vw 4vw; border-top: 1px solid var(--line); display: grid; grid-template-columns: .75fr 1.25fr; gap: 8vw; }
.credentials-head h2 { margin: 0; font: 700 clamp(2.7rem, 4.6vw, 5rem)/.91 var(--display); letter-spacing: -.08em; }
.credentials-content { display: grid; gap: 50px; }
.certifications h3, .education h3 { margin: 0 0 16px; font: 700 20px var(--display); letter-spacing: -.05em; }
.cert-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--ink); }
.cert-grid article { min-height: 125px; padding: 15px 14px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); display: flex; flex-direction: column; }
.cert-grid article:nth-child(even) { border-right: 0; }.cert-grid span { color: var(--green); font: 12px var(--mono); }.cert-grid b { margin: auto 0 7px; font-size: 16px; line-height: 1.25; }.cert-grid small, .education small { color: var(--muted); font-size: 13px; line-height: 1.4; }
.education ol { padding: 0; margin: 0; list-style: none; border-top: 1px solid var(--ink); }.education li { display: grid; grid-template-columns: 115px 1fr auto; gap: 14px; padding: 14px 0; border-bottom: 1px solid var(--line); align-items: baseline; }.education li span { color: var(--muted); font: 12px var(--mono); }.education li b { font-size: 14px; }.education li small { text-align: right; }
.contact-meta { padding: 16px 4vw; display: flex; justify-content: space-between; gap: 16px; background: var(--lime); border-top: 1px solid rgba(16,20,21,.22); font: 13px var(--mono); }.contact-meta a { font-weight: 500; text-decoration: underline; text-underline-offset: 3px; }

/* Drawer móvil aislado del layout del encabezado. */
@media (max-width: 760px) {
  .nav > nav { position: static !important; }
  .nav > nav { display: block !important; }
  .nav .nav-menu { display: none !important; margin: 0; padding: 0; list-style: none; }
  .nav .nav-menu.active { position: fixed; z-index: 100; top: 64px; right: 0; bottom: 0; left: 0; display: flex !important; flex-direction: column; align-items: center; justify-content: center; gap: 28px; background: var(--cream); border-top: 1px solid var(--line); font: 700 30px/1 var(--display); }
  .nav .nav-menu.active li { margin: 0; padding: 0; }
  .nav .nav-menu.active .nav-link { display: block; padding: 8px 12px; border-bottom: 0; }
  .nav .nav-menu.active .nav-link:hover, .nav .nav-menu.active .nav-link.active { color: var(--green); }
  .nav-toggle.active .hamburger { background: transparent; }
  .nav-toggle.active .hamburger::before { top: 0; transform: rotate(45deg); }
  .nav-toggle.active .hamburger::after { top: 0; transform: rotate(-45deg); }
}

/* El ID evita que reglas genéricas del navegador o del tema alteren el panel. */
@media (max-width: 760px) {
  #nav-menu.active {
    position: fixed !important;
    top: 64px !important;
    right: 0 !important;
    bottom: auto !important;
    left: 0 !important;
    width: 100vw !important;
    height: calc(100vh - 64px) !important;
    min-height: calc(100vh - 64px) !important;
    margin: 0 !important;
    padding: 48px 24px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 28px !important;
    list-style: none !important;
    overflow: hidden !important;
    background: #f6f4ee !important;
    border-top: 1px solid #d4d2ca !important;
    z-index: 9999 !important;
  }
  #nav-menu.active li { display: block !important; width: auto !important; margin: 0 !important; padding: 0 !important; }
  #nav-menu.active a { display: block !important; padding: 8px 12px !important; font: 700 30px/1 'Space Grotesk', sans-serif !important; color: #101415 !important; }
  body:has(#nav-menu.active) { overflow: hidden; }
}

@media (max-width: 760px) { .credentials { padding: 20vw 6vw; grid-template-columns: 1fr; gap: 40px; }.cert-grid { grid-template-columns: 1fr; }.cert-grid article, .cert-grid article:nth-child(even) { min-height: 105px; border-right: 0; }.education li { grid-template-columns: 90px 1fr; gap: 10px; }.education li small { grid-column: 2; text-align: left; }.profile-stats { gap: 6px; }.profile-stats span { flex: 1; min-width: 90px; }.contact-meta { padding: 14px 6vw; display: grid; grid-template-columns: 1fr; gap: 6px; } }
