/* cv.css — Hoja de vida en formato ATS (Applicant Tracking System):
   una sola columna, sin gráficos ni columnas, encabezados de texto
   estándar y contenido legible por máquinas. Imprime en blanco y negro. */

.cv-body{ background:var(--paper-deep); }

/* toolbar (solo pantalla) */
.cv-toolbar{
  position:sticky; top:0; z-index:40;
  display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap;
  padding:14px clamp(16px,4vw,40px);
  background:color-mix(in srgb,var(--paper) 88%, transparent);
  backdrop-filter:blur(10px); box-shadow:0 1px 0 var(--line);
}
.cv-toolbar .left{ display:flex; align-items:center; gap:14px; }
.cv-toolbar a.back{ font-family:var(--mono); font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-soft); display:inline-flex; gap:8px; align-items:center; }
.cv-toolbar a.back:hover{ color:var(--ink); }
.cv-toolbar .right{ display:flex; align-items:center; gap:12px; }
.cv-hint{ font-family:var(--mono); font-size:10px; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-faint); }

/* sheet */
.sheet{
  max-width:820px; margin:30px auto; background:var(--paper);
  box-shadow:0 30px 70px -36px rgba(0,0,0,.5); border:1px solid var(--line);
  padding:clamp(30px,5vw,58px); color:var(--ink);
}

/* header — plain text, ATS-friendly */
.ats-head h1{ font-family:var(--serif); font-weight:600; font-size:clamp(30px,5vw,46px); line-height:1; letter-spacing:-.01em; }
.ats-head .role{ margin-top:8px; font-size:15px; font-weight:600; color:var(--ink-soft); letter-spacing:.01em; }
.ats-contact{ margin-top:14px; font-size:13.5px; color:var(--ink-soft); line-height:1.7; }
.ats-contact a{ color:var(--ink-soft); }
.ats-rule{ height:2px; background:var(--ink); margin-top:18px; }

/* section */
.ats-sec{ margin-top:26px; }
.ats-sec > h2{
  font-family:var(--sans); font-weight:700; font-size:13px; letter-spacing:.14em; text-transform:uppercase;
  color:var(--ink); padding-bottom:6px; border-bottom:1px solid var(--line); margin-bottom:14px;
}
.ats-sec p{ font-size:14px; line-height:1.6; color:var(--ink-soft); }
.ats-sec p + p{ margin-top:11px; }

/* experience entry */
.ats-job{ margin-bottom:18px; break-inside:avoid; }
.ats-job .top{ display:flex; justify-content:space-between; gap:16px; align-items:baseline; flex-wrap:wrap; }
.ats-job .ttl{ font-size:15.5px; font-weight:700; color:var(--ink); }
.ats-job .dt{ font-size:12.5px; color:var(--ink-soft); white-space:nowrap; font-variant-numeric:tabular-nums; }
.ats-job .co{ font-size:13.5px; color:var(--ink-soft); font-style:italic; margin-top:2px; }
.ats-job ul{ list-style:none; margin-top:8px; padding-left:0; }
.ats-job li{ position:relative; padding-left:16px; font-size:13px; line-height:1.55; color:var(--ink-soft); }
.ats-job li + li{ margin-top:4px; }
.ats-job li::before{ content:"–"; position:absolute; left:0; color:var(--ink-soft); }

/* simple labelled lines */
.ats-line{ font-size:13.5px; line-height:1.7; color:var(--ink-soft); }
.ats-line b{ color:var(--ink); font-weight:700; }
.ats-grid{ display:grid; grid-template-columns:1fr 1fr; gap:6px 30px; }
@media(max-width:620px){ .ats-grid{ grid-template-columns:1fr; } }
.ats-rec{ margin-bottom:10px; }
.ats-rec .ti{ font-size:14px; font-weight:700; color:var(--ink); }
.ats-rec .me{ font-size:13px; color:var(--ink-soft); }

/* ---------- PRINT: force ATS light, single column ---------- */
@media print{
  @page{ size:A4; margin:14mm; }
  :root, html[data-theme="dark"]{
    --paper:#fff; --paper-2:#fff; --paper-deep:#fff;
    --ink:#111; --ink-soft:#333; --ink-faint:#555; --line:#bbb;
  }
  .cv-toolbar{ display:none !important; }
  .cv-body{ background:#fff; }
  body::before{ display:none; }
  .sheet{ margin:0; max-width:none; box-shadow:none; border:none; padding:0; color:#111; }
  .ats-grid{ grid-template-columns:1fr 1fr; }
  a{ color:#111 !important; text-decoration:none; }
}
