/* ── RESUME PAGE ── */

:root { --max: 1060px; }

/* ── REVEAL (resume uses 14 px / 0.5 s) ── */
.r { transform: translateY(14px); transition: opacity 0.5s ease, transform 0.5s ease; }

/* ── FOOTER (resume uses --max = 1060 px) ── */
footer { max-width: var(--max); }

/* ── RESUME WRAPPER ── */
.resume-outer {
  max-width: var(--max);
  margin: 0 auto;
  padding: calc(var(--nav) + clamp(3rem, 6vw, 5rem)) var(--pad) clamp(5rem, 10vw, 8rem);
}

/* ── RESUME CARD ── */
.resume {
  background: #fff;
  border: 1px solid var(--border);
  padding: clamp(1.5rem, 5vw, 4.5rem);
}

/* ── HEADER ── */
.cv-header { border-bottom: 2px solid var(--text); padding-bottom: 1.5rem; margin-bottom: 1.5rem; }
.cv-name {
  font-family: var(--font-heading);
  font-size: clamp(1.8rem, 5vw, 2.8rem);
  font-weight: 900;
  letter-spacing: -0.02em;
  line-height: 1;
  margin-bottom: 0.4rem;
}
.cv-role {
  font-family: var(--font-mono);
  font-size: 0.72rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: 1.2rem;
}
.cv-role strong { color: var(--text); font-weight: 500; border-bottom: 1.5px solid var(--text); padding-bottom: 1px; }
.cv-contacts { display: flex; flex-wrap: wrap; gap: 0.4rem 1.5rem; align-items: center; }
.cv-contact-item {
  font-family: var(--font-mono);
  font-size: 0.65rem;
  letter-spacing: 0.06em;
  color: var(--muted);
  display: flex; align-items: center; gap: 0.3rem;
}
.cv-contact-item a { color: var(--muted); transition: color 0.15s; }
.cv-contact-item a:hover { color: var(--text); }
.cv-contact-item svg { flex-shrink: 0; }

/* ── SUMMARY ── */
.cv-summary {
  font-size: 0.875rem;
  color: var(--muted);
  line-height: 1.85;
  margin-bottom: 2.25rem;
  border-bottom: 1px solid var(--border);
  padding-bottom: 2.25rem;
}

/* ── SECTION ── */
.cv-section { margin-bottom: 2.25rem; padding-bottom: 2.25rem; border-bottom: 1px solid var(--border); }
.cv-section:last-child { border-bottom: none; margin-bottom: 0; padding-bottom: 0; }
.cv-section-title {
  font-family: var(--font-heading);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--text);
  margin-bottom: 1.25rem;
  display: flex; align-items: center; gap: 0.75rem;
}
.cv-section-title::after { content: ''; flex: 1; height: 1px; background: var(--border); }

/* ── EDUCATION ── */
.cv-institution { font-family: var(--font-heading); font-size: 0.85rem; font-weight: 700; font-style: italic; color: var(--warm); margin-bottom: 0.6rem; }
.cv-edu-entry { display: grid; grid-template-columns: 1fr auto; gap: 0.5rem 1rem; align-items: baseline; margin-bottom: 0.35rem; }
.cv-edu-degree { font-size: 0.875rem; font-weight: 500; }
.cv-edu-date { font-family: var(--font-mono); font-size: 0.62rem; color: var(--faint); letter-spacing: 0.06em; white-space: nowrap; }
.cv-edu-sub { font-size: 0.82rem; color: var(--muted); margin-bottom: 0.75rem; padding-left: 1rem; }
.cv-edu-sub::before { content: '— '; color: var(--faint); }

/* ── EXPERIENCE ── */
.cv-exp-entry { margin-bottom: 1.6rem; }
.cv-exp-entry:last-child { margin-bottom: 0; }
.cv-exp-header { display: grid; grid-template-columns: 1fr auto; gap: 0.4rem 1rem; align-items: baseline; margin-bottom: 0.15rem; }
.cv-exp-title { font-size: 0.875rem; font-weight: 700; }
.cv-exp-org { font-size: 0.8rem; color: var(--muted); margin-bottom: 0.55rem; font-style: italic; }
.cv-exp-sub { margin-top: 1rem; padding-left: 1rem; border-left: 1px solid var(--border); }
.cv-exp-sub + .cv-exp-sub { margin-top: 1.1rem; }
.cv-exp-subtitle { font-size: 0.85rem; font-weight: 600; color: var(--text); }
.cv-exp-sub .cv-exp-header { margin-bottom: 0.5rem; }
.cv-bullets { list-style: none; display: flex; flex-direction: column; gap: 0.35rem; }
.cv-bullets li { font-size: 0.84rem; color: var(--muted); line-height: 1.7; padding-left: 1.1rem; position: relative; }
.cv-bullets li::before { content: '·'; position: absolute; left: 0; color: var(--warm); font-size: 1.1rem; line-height: 1.5; }
.cv-bullets li em { font-style: normal; color: var(--text); font-weight: 500; }

/* ── SKILLS ── */
.cv-skill-list { list-style: none; display: flex; flex-direction: column; gap: 0.5rem; }
.cv-skill-list li { font-size: 0.84rem; color: var(--muted); line-height: 1.7; padding-left: 1.1rem; position: relative; }
.cv-skill-list li::before { content: '·'; position: absolute; left: 0; color: var(--warm); font-size: 1.1rem; line-height: 1.5; }
.cv-skill-list li strong { color: var(--text); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.cv-skill-list li em { font-style: normal; color: var(--text); }

/* ── LANGUAGES ── */
.cv-lang-grid { display: flex; flex-wrap: wrap; gap: 0.75rem 2.5rem; justify-content: center; }
.cv-lang-item { display: flex; flex-direction: row; align-items: center; gap: 0.5rem; }
.cv-lang-name { font-family: var(--font-heading); font-size: 0.82rem; font-weight: 700; color: var(--text); }
.cv-lang-level { font-family: var(--font-mono); font-size: 0.6rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--faint); }

/* ── RESPONSIVE ── */
@media (max-width: 600px) {
  .cv-edu-entry, .cv-exp-header { grid-template-columns: 1fr; }
  .cv-edu-date { grid-column: 1; }
}
@media (max-width: 480px) { .cv-contacts { gap: 0.4rem 1rem; } }
