/* Resume access and mobile navigation; shared by production and review drafts. */
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 22px 0; }
.resume-link { display: inline-flex; align-items: center; gap: 10px; padding: 12px 18px; border: 1px solid var(--plum); border-radius: 99px; font-size: .85rem; font-weight: 600; text-decoration: none; }
.resume-link:hover { background: var(--plum); color: var(--paper); }
.resume-link > span:not(.visually-hidden) { font-size: .65rem; letter-spacing: .04em; opacity: .75; }
.metric-note { max-width: 650px; margin: 0 0 20px; color: var(--slate); font-size: .75rem; line-height: 1.6; }
a:focus-visible, button:focus-visible, summary:focus-visible { outline: 2px solid currentColor; outline-offset: 5px; }
@media (max-width: 1200px) {
  .site-header { min-height: 68px; background: var(--ivory); backdrop-filter: none; -webkit-backdrop-filter: none; }
  .menu-toggle { display: block; margin-left: auto; }
  .menu-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
  .menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
  .menu-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
  #main-nav { position: fixed; inset: 68px 0 0; height: calc(100vh - 68px); height: calc(100dvh - 68px); margin: 0; padding: 22px 26px max(28px, env(safe-area-inset-bottom)); display: none; align-content: start; justify-content: stretch; gap: 0; overflow-y: auto; overscroll-behavior: contain; background: var(--ivory); }
  #main-nav.is-open { display: grid; }
  #main-nav a { padding: 12px 0; white-space: normal; font-family: var(--display); font-size: clamp(1.7rem, 6.5vw, 2.25rem); font-weight: 600; line-height: 1.1; }
  #main-nav a::after { display: none; }
}
