/* ===== Root design tokens ===== */
:root {
    --accent: #3b82f6;          /* blue-500 */
    --text: #1f2937;            /* gray-800 */
    --text-light: #6b7280;      /* gray-500 */
    --bg: #ffffff;
    --max-w: 900px;
    font-size: 16px;
  }
  
  /* ===== Reset & base ===== */
  *,
  *::before,
  *::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
  }
  
  body {
    font-family: "Inter", system-ui, Arial, sans-serif;
    color: var(--text);
    background: var(--bg);
    line-height: 1.55;
  }
  
  /* ===== Layout ===== */
  .container {
    max-width: var(--max-w);
    margin: 3rem auto 2rem;
    padding: 0 1.25rem;
  }
  
  /* ===== Headings ===== */
  h1, h2, h3 { font-weight: 700; color: var(--accent); }
  
  h1 { font-size: 2.25rem; letter-spacing: -0.02em; }
  
  h2 {
    margin: 2rem 0 0.5rem;
    font-size: 1.35rem;
    border-bottom: 2px solid var(--accent);
    padding-bottom: 0.25rem;
  }
  
  h3 { font-size: 1.05rem; margin-bottom: 0.1rem; color: var(--text); }
  
  .tagline { font-size: 1rem; color: var(--text-light); margin-top: 0.25rem; }
  
  /* ===== Contact list ===== */
  .contact {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1.25rem;
    margin-top: 0.75rem;
    font-size: 0.95rem;
  }
  .contact a { text-decoration: none; color: var(--text); }
  .contact a:hover { color: var(--accent); }
  
  /* ===== Skills & coursework (inline, comma-separated) ===== */
  .skills {
    list-style: none;          /* remove bullets/dashes */
    padding-left: 0;
    margin: 0;
    font-size: 0.95rem;
  }
  .inline-list li { display: inline; }
  .inline-list li::after { content: ", "; }
  .inline-list li:last-child::after { content: ""; }
  
  /* ===== Experience / items ===== */
  .item { margin-top: 1rem; font-size: 0.95rem; }
  
  .item header {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: baseline;
  }
  
  .item .org { font-style: italic; color: var(--text-light); }
  .period     { font-size: 0.9rem;  color: var(--text-light); }
  
  .item ul {
    margin-left: 1.2rem;
    margin-top: 0.4rem;
    list-style: disc;
  }
  
  /* ===== Footer ===== */
  footer {
    text-align: center;
    font-size: 0.85rem;
    color: var(--text-light);
    margin-top: 3rem;
  }
  
  /* ===== Responsive tweaks ===== */
  @media (max-width: 640px) {
    h1 { font-size: 1.8rem; }
    .contact { flex-direction: column; gap: 0.25rem; }
  }
  
  /* ===== Print-friendly ===== */
  @media print {
    body { font-size: 11pt; }
    a::after { content: " (" attr(href) ")"; font-size: 90%; }
    footer { display: none; }
  }
  