/* ── resume.travisteo.com ── */

/* ── RESUME HEADER ── */
.resume-header {
  background:var(--bg2);
  border-bottom:1px solid var(--border);
  padding:100px 80px 40px;
}
.rh-inner {
  max-width:800px; margin:0 auto;
  display:flex; align-items:flex-end; justify-content:space-between; gap:24px;
  flex-wrap:wrap;
}
.rh-eyebrow   { font-family:var(--mono); font-size:10px; color:var(--accent); letter-spacing:3px; text-transform:uppercase; margin-bottom:10px; opacity:0; animation:fadeUp 0.5s forwards 0.1s; }
.rh-name      { font-size:clamp(32px,4vw,52px); font-weight:700; color:var(--text); letter-spacing:-1px; margin-bottom:6px; opacity:0; animation:fadeUp 0.5s forwards 0.25s; }
.rh-role      { font-family:var(--mono); font-size:11px; color:var(--accent2); letter-spacing:0.5px; margin-bottom:14px; opacity:0; animation:fadeUp 0.5s forwards 0.4s; }
.rh-contact-row { display:flex; flex-wrap:wrap; align-items:center; gap:6px; opacity:0; animation:fadeUp 0.5s forwards 0.55s; }
.rh-contact-item { font-family:var(--mono); font-size:10px; color:var(--muted); text-decoration:none; }
.rh-contact-item:hover { color:var(--accent); }
.rh-sep { color:var(--border); font-family:var(--mono); font-size:10px; }
.rh-right { opacity:0; animation:fadeUp 0.5s forwards 0.65s; }
.rh-print { border-color:var(--accent); color:var(--accent); font-size:10px; padding:8px 16px; }
.rh-print:hover { background:var(--accent); color:var(--bg); }

/* ── RESUME BODY ── */
.resume-body { max-width:800px; margin:0 auto; padding:0 80px 80px; }

/* ── CV SECTIONS ── */
.cv-section { display:grid; grid-template-columns:140px 1fr; gap:0 40px; border-top:1px solid var(--border); padding:36px 0; }
.cv-section:first-child { border-top:none; }

.cv-sec-label {
  font-family:var(--mono); font-size:10px; color:var(--accent);
  letter-spacing:2px; text-transform:uppercase; padding-top:2px;
  position:sticky; top:90px; align-self:start;
}

.cv-sec-body { flex:1; }

.cv-summary { font-size:14px; color:var(--text2); line-height:1.8; }

.cv-item { margin-bottom:28px; padding-bottom:28px; border-bottom:1px solid var(--border); }
.cv-item:last-child { border-bottom:none; margin-bottom:0; padding-bottom:0; }
.cv-item-head  { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:8px; flex-wrap:wrap; }
.cv-item-title { font-size:15px; font-weight:700; margin-bottom:2px; color:var(--text); }
.cv-item-org   { font-family:var(--mono); font-size:11px; color:var(--accent); }
.cv-item-meta  { text-align:right; flex-shrink:0; }
.cv-item-date  { font-family:var(--mono); font-size:11px; color:var(--text2); }
.cv-item-loc   { font-family:var(--mono); font-size:10px; color:var(--muted); margin-top:2px; }
.cv-desc   { font-size:14px; color:var(--text2); line-height:1.7; margin-bottom:8px; }
.cv-bullets { padding-left:18px; margin-bottom:10px; }
.cv-bullets li { font-size:14px; color:var(--text2); line-height:1.7; margin-bottom:5px; }
.cv-bullets strong { color:var(--text); }
.cv-chip-row { display:flex; flex-wrap:wrap; gap:5px; margin-top:10px; }
.cv-chip { font-family:var(--mono); font-size:10px; padding:2px 8px; background:rgba(122,162,247,0.08); border:1px solid rgba(122,162,247,0.2); color:var(--accent); }

.cv-skill-row { display:grid; grid-template-columns:130px 1fr; gap:16px; padding:10px 0; border-bottom:1px solid var(--border); align-items:baseline; }
.cv-skill-row:last-child { border-bottom:none; }
.cv-skill-cat  { font-family:var(--mono); font-size:10px; color:var(--muted); text-transform:uppercase; letter-spacing:1px; }
.cv-skill-list { font-size:14px; color:var(--text2); line-height:1.6; }

/* ── PRINT / ATS STYLES ── */
@media print {
  /* Hide navigation and interactive elements */
  .site-net, .main-nav, .go-top, .no-print, .rh-print { display:none !important; }

  /* Reset page layout */
  html, body { margin:0; padding:0; background:#ffffff !important; color:#000000 !important; }
  .page { padding-top:0 !important; }

  /* Resume header prints cleanly */
  .resume-header {
    background:#ffffff !important;
    border-bottom:2px solid #000 !important;
    padding:24px 40px 20px !important;
  }
  .rh-eyebrow { display:none !important; }
  .rh-name   { color:#000 !important; font-size:28px !important; letter-spacing:-0.5px !important; }
  .rh-role   { color:#333 !important; }
  .rh-contact-item { color:#333 !important; }

  .resume-body { padding:0 40px 40px !important; }

  /* ATS-friendly: clean fonts, no decorative colors */
  .cv-sec-label  { color:#333 !important; position:static !important; font-size:9px !important; }
  .cv-item-title { color:#000 !important; }
  .cv-item-org   { color:#333 !important; }
  .cv-item-date, .cv-item-loc { color:#555 !important; }
  .cv-desc, .cv-bullets li, .cv-summary, .cv-skill-list { color:#222 !important; }
  .cv-skill-cat  { color:#555 !important; }
  .cv-chip       { background:#f0f0f0 !important; border-color:#ccc !important; color:#333 !important; }

  /* Prevent page breaks inside items */
  .cv-section    { break-inside:avoid; page-break-inside:avoid; }
  .cv-item       { break-inside:avoid; page-break-inside:avoid; }

  /* Print borders as visible lines */
  .cv-section, .cv-item { border-color:#ddd !important; }
  .cv-skill-row { border-color:#eee !important; }

  .main-footer { display:none !important; }
}

@media (max-width:860px) {
  .resume-header { padding:100px 20px 32px; }
  .resume-body   { padding:0 20px 60px; }
  .cv-section    { grid-template-columns:1fr; gap:8px; }
  .cv-sec-label  { position:static; margin-bottom:4px; }
  .cv-item-head  { flex-direction:column; gap:4px; }
  .cv-item-meta  { text-align:left; }
  .cv-skill-row  { grid-template-columns:100px 1fr; gap:10px; }
}
