/* CVCraft — las 10 plantillas del currículum.
   El documento mide exactamente un A4 (210 × 297 mm): la vista previa y el PDF salen iguales.
   --base es el tamaño de letra (el editor lo baja para que todo quepa en una página), --pages el
   número de páginas y --ac el color de acento (cada plantilla trae el suyo y se puede cambiar). */

.cv-doc{
  --base:13px;--ac:#0f172a;
  position:relative;width:210mm;min-height:calc(var(--pages,1) * 297mm);
  background:#fff;color:#1e293b;font-family:var(--font);font-size:var(--base);line-height:1.5;
  text-align:left;overflow:hidden;overflow:clip;overflow-wrap:break-word;
  print-color-adjust:exact;-webkit-print-color-adjust:exact;
}
.cv-doc a{color:inherit;text-decoration:none}

/* Piezas comunes (cada plantilla las retoca) */
.cv-doc .cv-entry{margin-bottom:1em}
.cv-doc .cv-entry:last-child{margin-bottom:0}
.cv-doc .cv-er{display:flex;justify-content:space-between;align-items:baseline;gap:.9em}
.cv-doc .cv-entry-l{min-width:0}
.cv-doc .cv-et{font-weight:700;font-size:1.04em;color:#0f172a;line-height:1.35}
.cv-doc .cv-es{font-size:.95em;color:#64748b;margin-top:.1em}
.cv-doc .cv-ed{font-size:.84em;color:#7c889a;white-space:nowrap;flex-shrink:0}
.cv-doc .cv-edesc{margin-top:.35em;font-size:.93em;color:#475569;line-height:1.6}
.cv-doc .cv-txt{font-size:.96em;color:#475569;line-height:1.7}
.cv-doc .cv-p+.cv-p{margin-top:.3em}
.cv-doc .cv-lista{margin:.15em 0 0;padding-left:1.2em}
.cv-doc .cv-p+.cv-lista{margin-top:.3em}
.cv-doc .cv-lista li{margin:.12em 0;padding-left:.1em}
.cv-doc .cv-lista li::marker{color:var(--ac)}
.cv-doc .cv-chips{display:flex;flex-wrap:wrap;gap:.4em}
.cv-doc .cv-langs{display:flex;flex-wrap:wrap;gap:.6em 1.6em}
.cv-doc .cv-lang{font-size:.95em;color:#475569}
.cv-doc .cv-lang b{color:#1e293b;font-weight:700}
.cv-doc .cv-foto{display:block;object-fit:cover;object-position:center 28%;flex-shrink:0}
.cv-doc .cv-hr{border:0}

/* Saltos de página: hueco que empuja un bloque a la página siguiente y marca en la vista previa */
.pb-hueco{display:block}
.pb-marca{position:absolute;left:0;right:0;height:0;border-top:2px dashed rgba(200,165,90,.9);pointer-events:none;z-index:5}
.pb-marca span{position:absolute;right:10px;top:-24px;font:600 11px/1 var(--font);letter-spacing:.3px;color:#7a5d17;background:#fdf3d8;border:1px solid #ecd9a5;padding:5px 9px;border-radius:5px}

/* ═══ 1 · CLÁSICO ═══ */
.cv-doc.clasico{--ac:#0f172a;padding:48px 56px}
.clasico .cv-top{display:flex;justify-content:space-between;align-items:flex-start;gap:22px}
.clasico .cv-top-l{flex:1;min-width:0}
.clasico .cv-name{font-size:2.4em;font-weight:850;color:#0f172a;letter-spacing:-.03em;line-height:1.1}
.clasico .cv-puesto{font-size:1.15em;color:#475569;margin-top:.3em}
.clasico .cv-contacts{display:flex;flex-wrap:wrap;margin-top:.75em;font-size:.88em;color:#5b6577}
.clasico .cv-xtra{display:flex;flex-wrap:wrap;margin-top:.3em;font-size:.85em;color:#7c889a}
.clasico .cv-contacts span+span::before,.clasico .cv-xtra span+span::before{content:'·';margin:0 .55em;color:#b6c0cd}
.clasico .cv-foto{width:100px;height:130px;border-radius:4px;border:2px solid #e2e8f0}
.clasico .cv-hr{border-top:2.5px solid var(--ac);margin:1.5em 0 0}
.clasico .cv-sec{margin-top:1.5em}
.clasico .cv-sec-t{font-size:.78em;font-weight:800;text-transform:uppercase;letter-spacing:.16em;color:var(--ac);padding-bottom:.4em;border-bottom:1px solid #e2e8f0;margin-bottom:.9em}
.clasico .cv-chip{background:#f1f5f9;padding:.25em .7em;border-radius:4px;font-size:.9em;color:#334155}

/* ═══ 2 · MODERNO ═══ */
.cv-doc.moderno{--ac:#2563eb}
.moderno .cv-hd{background:linear-gradient(135deg,color-mix(in srgb,var(--ac) 55%,#0b1220),var(--ac));padding:38px 50px 30px;display:flex;justify-content:space-between;align-items:center;gap:24px;color:#fff}
.moderno .cv-hd-l{flex:1;min-width:0}
.moderno .cv-name{font-size:2.2em;font-weight:850;letter-spacing:-.02em;line-height:1.1}
.moderno .cv-puesto{font-size:1.1em;color:color-mix(in srgb,var(--ac) 25%,#fff);margin-top:.35em}
.moderno .cv-contacts{display:flex;flex-wrap:wrap;gap:.4em 1.3em;margin-top:1em;font-size:.85em;color:rgba(255,255,255,.88)}
.moderno .cv-xtra{display:flex;flex-wrap:wrap;gap:.4em 1.3em;margin-top:.35em;font-size:.82em;color:rgba(255,255,255,.72)}
.moderno .cv-foto{width:96px;height:96px;border-radius:50%;border:3px solid rgba(255,255,255,.3)}
.moderno .cv-body{padding:32px 50px}
.moderno .cv-sec{margin-bottom:1.6em}
.moderno .cv-sec:last-child{margin-bottom:0}
.moderno .cv-sec-t{font-size:.8em;font-weight:800;text-transform:uppercase;letter-spacing:.12em;color:var(--ac);margin-bottom:.9em;display:flex;align-items:center;gap:.8em}
.moderno .cv-sec-t::after{content:'';flex:1;height:2px;background:color-mix(in srgb,var(--ac) 16%,#fff)}
.moderno .cv-er{align-items:flex-start}
.moderno .cv-ed{color:var(--ac);font-weight:600;background:color-mix(in srgb,var(--ac) 9%,#fff);padding:.22em .75em;border-radius:20px}
.moderno .cv-chip{background:color-mix(in srgb,var(--ac) 8%,#fff);color:color-mix(in srgb,var(--ac) 78%,#000);padding:.3em .8em;border-radius:20px;font-size:.88em;font-weight:600;border:1px solid color-mix(in srgb,var(--ac) 24%,#fff)}
.moderno .cv-langs{gap:.6em}
.moderno .cv-lc{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;padding:.35em .9em}
.moderno .cv-ln{font-size:.9em;font-weight:700;color:#1e293b}
.moderno .cv-lv{font-size:.82em;color:#64748b}

/* ═══ 3 · PROFESIONAL ═══ */
.cv-doc.profesional{--ac:#2563eb;display:grid;grid-template-columns:232px minmax(0,1fr)}
.profesional .cv-sb{background:#1e293b;color:#fff;padding:36px 22px}
.profesional .cv-foto{width:104px;height:104px;border-radius:50%;border:3px solid rgba(255,255,255,.16);margin:0 auto 18px}
.profesional .cv-name{font-size:1.45em;font-weight:800;text-align:center;line-height:1.2;margin-bottom:.25em}
.profesional .cv-puesto{font-size:.88em;color:#a9b6c8;text-align:center;margin-bottom:1.5em;line-height:1.4}
.profesional .sb-sec{margin-bottom:1.3em}
.profesional .sb-t{font-size:.72em;font-weight:800;text-transform:uppercase;letter-spacing:.16em;color:color-mix(in srgb,var(--ac) 50%,#fff);margin-bottom:.6em}
.profesional .sb-row{font-size:.84em;color:#cbd5e1;margin-bottom:.35em;overflow-wrap:anywhere}
.profesional .sb-chip{background:rgba(255,255,255,.09);color:#e2e8f0;padding:.25em .65em;border-radius:4px;font-size:.82em;display:inline-block;margin:0 .3em .35em 0}
.profesional .sb-lang{margin-bottom:.5em}
.profesional .sb-lang-n{font-size:.88em;color:#e2e8f0;font-weight:600}
.profesional .sb-lang-v{font-size:.78em;color:#97a3b6}
.profesional .sb-div{border:0;border-top:1px solid rgba(255,255,255,.09);margin:1em 0 1.1em}
.profesional .cv-main{padding:36px 32px}
.profesional .cv-sec{margin-bottom:1.5em}
.profesional .cv-sec:last-child{margin-bottom:0}
.profesional .cv-sec-t{font-size:.8em;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#1e293b;border-left:3px solid var(--ac);padding-left:.6em;margin-bottom:.9em}

/* ═══ 4 · EJECUTIVO ═══ */
.cv-doc.ejecutivo{--ac:#2563eb}
.ejecutivo .cv-hd{background:#0f172a;padding:38px 52px;display:flex;justify-content:space-between;align-items:center;gap:24px}
.ejecutivo .cv-hd-l{flex:1;min-width:0}
.ejecutivo .cv-name{font-size:2.1em;font-weight:850;color:#fff;letter-spacing:-.01em;line-height:1.1}
.ejecutivo .cv-puesto{font-size:1.05em;color:color-mix(in srgb,var(--ac) 50%,#fff);margin-top:.3em;font-weight:500}
.ejecutivo .cv-contacts{display:flex;flex-wrap:wrap;gap:.3em 1.5em;margin-top:.9em;font-size:.82em;color:#a9b6c8}
.ejecutivo .cv-xtra{display:flex;flex-wrap:wrap;gap:.3em 1.5em;margin-top:.3em;font-size:.79em;color:#8592a6}
.ejecutivo .cv-foto{width:95px;height:122px;border-radius:4px;border:2px solid rgba(255,255,255,.14)}
.ejecutivo .cv-body{padding:36px 52px}
.ejecutivo .cv-sec{margin-bottom:1.6em}
.ejecutivo .cv-sec:last-child{margin-bottom:0}
.ejecutivo .cv-sec-t{font-size:.75em;font-weight:800;text-transform:uppercase;letter-spacing:.16em;color:#0f172a;display:flex;align-items:center;gap:1em;margin-bottom:1em}
.ejecutivo .cv-sec-t::before{content:'';width:24px;height:2px;background:var(--ac);flex-shrink:0}
.ejecutivo .cv-entry{padding-bottom:.9em;border-bottom:1px solid #eef2f6}
.ejecutivo .cv-entry:last-child{padding-bottom:0;border-bottom:0}
.ejecutivo .cv-et{font-weight:800}
.ejecutivo .cv-es{color:var(--ac);font-weight:500}
.ejecutivo .cv-ed{background:#f4f6f9;padding:.2em .6em;border-radius:4px}
.ejecutivo .cv-chip{border:1.5px solid #e2e8f0;padding:.3em .8em;border-radius:4px;font-size:.88em;color:#334155;font-weight:600}
.ejecutivo .cv-lang span{color:#64748b}

/* ═══ 5 · MINIMALISTA ═══ */
.cv-doc.minimal{--ac:#8a96a8;padding:60px 70px}
.minimal .cv-top{display:flex;justify-content:space-between;align-items:flex-start;gap:24px}
.minimal .cv-top-l{flex:1;min-width:0}
.minimal .cv-name{font-size:2.8em;font-weight:300;color:#0f172a;letter-spacing:-.04em;line-height:1}
.minimal .cv-puesto{font-size:1.1em;color:#7c889a;margin-top:.45em}
.minimal .cv-top-r{display:flex;flex-direction:column;align-items:flex-end;gap:8px;max-width:45%}
.minimal .cv-foto{width:72px;height:72px;border-radius:50%;border:1.5px solid #e2e8f0}
.minimal .cv-contacts{display:flex;flex-direction:column;gap:.2em;font-size:.82em;color:#6b778a;text-align:right}
.minimal .cv-hr{border-top:1px solid #e2e8f0;margin:1.8em 0}
.minimal .cv-sec{margin-bottom:1.8em}
.minimal .cv-sec:last-child{margin-bottom:0}
.minimal .cv-sec-t{font-size:.75em;font-weight:800;text-transform:uppercase;letter-spacing:.24em;color:var(--ac);margin-bottom:1em}
.minimal .cv-entry{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0 1em;margin-bottom:1.1em}
.minimal .cv-et{font-weight:600;font-size:1em}
.minimal .cv-es{font-size:.92em}
.minimal .cv-ed{text-align:right;padding-top:.15em}
.minimal .cv-edesc{grid-column:1/-1;color:#5b6577}
.minimal .cv-chip{font-size:.9em;color:#5b6577}
.minimal .cv-chip:not(:last-child)::after{content:' ·'}
.minimal .cv-txt{color:#5b6577;line-height:1.8}
.minimal .cv-lang b{color:#0f172a;font-weight:600}

/* ═══ 6 · CREATIVO ═══ */
.cv-doc.creativo{--ac:#6d28d9;display:grid;grid-template-columns:212px minmax(0,1fr)}
.creativo .cv-sb{background:linear-gradient(200deg,color-mix(in srgb,var(--ac) 68%,#000) 0%,var(--ac) 55%,color-mix(in srgb,var(--ac) 85%,#000) 100%);padding:34px 18px;color:#fff;position:relative;overflow:hidden}
.creativo .cv-sb::before{content:'';position:absolute;top:-50px;right:-50px;width:160px;height:160px;border-radius:50%;background:rgba(255,255,255,.06)}
.creativo .cv-sb::after{content:'';position:absolute;bottom:-30px;left:-30px;width:100px;height:100px;border-radius:50%;background:rgba(255,255,255,.05)}
.creativo .cv-sb>*{position:relative;z-index:1}
.creativo .cv-foto{width:88px;height:88px;border-radius:50%;border:3px solid rgba(255,255,255,.32);margin:0 auto 14px}
.creativo .cv-name{font-size:1.32em;font-weight:800;text-align:center;line-height:1.2;margin-bottom:.25em}
.creativo .cv-puesto{font-size:.8em;color:rgba(255,255,255,.8);text-align:center;line-height:1.4}
.creativo .sb-div{border:0;border-top:1px solid rgba(255,255,255,.16);margin:1.1em 0}
.creativo .sb-sec{margin-bottom:1.2em}
.creativo .sb-t{font-size:.67em;font-weight:800;text-transform:uppercase;letter-spacing:.2em;color:rgba(255,255,255,.72);margin-bottom:.55em}
.creativo .sb-row{font-size:.8em;color:rgba(255,255,255,.92);margin-bottom:.3em;display:flex;gap:.4em;overflow-wrap:anywhere}
.creativo .sb-row::before{content:'›';flex-shrink:0;opacity:.65}
.creativo .sb-chips{display:flex;flex-wrap:wrap;gap:4px}
.creativo .sb-chip{background:rgba(255,255,255,.12);padding:.2em .55em;border-radius:3px;font-size:.76em;border:1px solid rgba(255,255,255,.2)}
.creativo .sb-lang{margin-bottom:.45em}
.creativo .sb-lang-n{font-size:.83em;font-weight:600}
.creativo .sb-lang-v{font-size:.75em;color:rgba(255,255,255,.74)}
.creativo .cv-main{padding:34px 28px;background:color-mix(in srgb,var(--ac) 4%,#fff)}
.creativo .cv-sec{margin-bottom:1.4em}
.creativo .cv-sec:last-child{margin-bottom:0}
.creativo .cv-sec-t{font-size:.77em;font-weight:800;text-transform:uppercase;letter-spacing:.12em;color:var(--ac);margin-bottom:.8em;display:flex;align-items:center;gap:.7em}
.creativo .cv-sec-t::after{content:'';flex:1;height:1.5px;background:linear-gradient(90deg,color-mix(in srgb,var(--ac) 35%,#fff),transparent)}
.creativo .cv-es{color:var(--ac);font-weight:500}
.creativo .cv-ed{background:color-mix(in srgb,var(--ac) 10%,#fff);color:color-mix(in srgb,var(--ac) 55%,#334155);padding:.15em .55em;border-radius:3px}
.creativo .cv-chip{background:color-mix(in srgb,var(--ac) 10%,#fff);color:var(--ac);padding:.25em .7em;border-radius:20px;font-size:.87em;border:1px solid color-mix(in srgb,var(--ac) 32%,#fff);font-weight:500}
.creativo .cv-lang b{color:#1e293b}

/* ═══ 7 · ACADÉMICO (con serifa) ═══ */
.cv-doc.academico{--ac:#0f172a;padding:52px 62px;font-family:var(--serif);font-size:calc(var(--base) * 1.06)}
.academico .cv-header{text-align:center;padding-bottom:18px;border-bottom:3px double var(--ac);margin-bottom:1.6em}
.academico .cv-foto{width:72px;height:72px;border-radius:50%;border:2px solid #e2e8f0;margin:0 auto 10px}
.academico .cv-name{font-size:1.95em;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#0f172a;line-height:1.15}
.academico .cv-puesto{font-size:1em;color:#4b5565;margin-top:.35em;font-style:italic}
.academico .cv-contacts{display:flex;justify-content:center;flex-wrap:wrap;margin-top:.8em;font-size:.84em;color:#4b5565}
.academico .cv-contacts span+span::before{content:'|';margin:0 .7em;color:#c3cad5}
.academico .cv-sec{margin-bottom:1.5em}
.academico .cv-sec:last-child{margin-bottom:0}
.academico .cv-sec-t{font-size:.8em;font-weight:700;text-transform:uppercase;letter-spacing:.2em;color:var(--ac);padding-bottom:.45em;border-bottom:1px solid var(--ac);margin-bottom:.9em}
.academico .cv-entry{display:flex;gap:1.6em}
.academico .cv-ed{font-size:.86em;color:#4b5565;min-width:6.6em;padding-top:.12em;font-style:italic;white-space:normal}
.academico .cv-entry-r{flex:1;min-width:0}
.academico .cv-et{font-weight:700;font-size:1.04em}
.academico .cv-es{font-style:italic;color:#4b5565}
.academico .cv-edesc,.academico .cv-txt{color:#334155}
.academico .cv-chip{font-size:.9em;color:#334155;border:1px solid #e2e8f0;padding:.12em .6em;border-radius:3px}
.academico .cv-lang b{color:#0f172a}

/* ═══ 8 · TECH (oscuro) ═══ */
.cv-doc.tech{--ac:#3fb950;background:#0d1117;color:#c9d1d9}
.tech .cv-hd{background:#161b22;padding:30px 44px;border-bottom:1px solid #30363d;display:flex;justify-content:space-between;align-items:center;gap:20px}
.tech .cv-hd-l{flex:1;min-width:0}
.tech .cv-prefix{display:block;color:var(--ac);font-size:.78em;margin-bottom:.3em;font-family:var(--mono)}
.tech .cv-name{font-size:1.95em;font-weight:850;color:#e6edf3;letter-spacing:-.02em;line-height:1.15}
.tech .cv-puesto{font-size:.95em;color:#8b949e;margin-top:.3em}
.tech .cv-contacts{display:flex;flex-wrap:wrap;gap:.3em 1.2em;margin-top:.8em;font-size:.82em;color:#9da7b3;font-family:var(--mono)}
.tech .cv-contacts span::before{content:'→ ';color:var(--ac)}
.tech .cv-xtra{display:flex;flex-wrap:wrap;gap:.3em 1.2em;margin-top:.3em;font-size:.79em;color:#7d8590}
.tech .cv-foto{width:76px;height:76px;border-radius:8px;border:2px solid #30363d}
.tech .cv-body{padding:28px 44px}
.tech .cv-sec{margin-bottom:1.6em}
.tech .cv-sec:last-child{margin-bottom:0}
.tech .cv-sec-t{font-size:.76em;font-weight:800;text-transform:uppercase;letter-spacing:.14em;color:var(--ac);margin-bottom:.85em;padding-bottom:.4em;border-bottom:1px solid #21262d;display:flex;align-items:center;gap:.5em}
.tech .cv-sec-t::before{content:'//';color:#6e7681;font-weight:400;font-family:var(--mono);text-transform:none;letter-spacing:0}
.tech .cv-entry{padding-left:12px;border-left:2px solid #21262d}
.tech .cv-et{color:#e6edf3}
.tech .cv-es{color:#8b949e}
.tech .cv-ed{color:var(--ac);background:color-mix(in srgb,var(--ac) 12%,#0d1117);padding:.15em .55em;border-radius:4px;font-family:var(--mono)}
.tech .cv-edesc,.tech .cv-txt{color:#9da7b3}
.tech .cv-chip{background:color-mix(in srgb,var(--ac) 12%,#0d1117);color:var(--ac);padding:.2em .6em;border-radius:4px;font-size:.84em;border:1px solid color-mix(in srgb,var(--ac) 30%,#0d1117);font-family:var(--mono)}
.tech .cv-langs{gap:.5em}
.tech .cv-lc{border:1px solid #21262d;border-radius:5px;padding:.28em .75em}
.tech .cv-ln{font-size:.88em;font-weight:700;color:#e6edf3}
.tech .cv-lv{font-size:.8em;color:#8b949e}
.tech .pb-marca span{background:#2a2410;border-color:#5c4b1c;color:#f0d68a}

/* ═══ 9 · NÓRDICO ═══ */
.cv-doc.nordico{--ac:#8a96a8;padding:56px 64px;line-height:1.55}
.nordico .cv-top{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}
.nordico .cv-top-l{flex:1;min-width:0}
.nordico .cv-name{font-size:2.85em;font-weight:200;color:#111;letter-spacing:-.05em;line-height:1}
.nordico .cv-puesto{font-size:1em;color:#7c889a;margin-top:.45em;letter-spacing:.02em}
.nordico .cv-top-r{display:flex;flex-direction:column;align-items:flex-end;gap:8px;max-width:45%}
.nordico .cv-foto{width:72px;height:72px;border-radius:50%;border:1.5px solid #e2e8f0}
.nordico .cv-contacts{display:flex;flex-direction:column;align-items:flex-end;gap:.2em;font-size:.8em;color:#6b778a;text-align:right}
.nordico .cv-hr{border-top:1px solid #e2e8f0;margin:1.6em 0}
.nordico .cv-sec{display:grid;grid-template-columns:110px minmax(0,1fr);gap:0 2em;margin-bottom:1.6em;align-items:start}
.nordico .cv-sec:last-child{margin-bottom:0}
.nordico .cv-sec-t{font-size:.67em;font-weight:800;text-transform:uppercase;letter-spacing:.26em;color:var(--ac);padding-top:.4em;line-height:1.5}
.nordico .cv-et{font-weight:600;font-size:1em;color:#111}
.nordico .cv-es{font-size:.88em}
.nordico .cv-edesc{font-size:.88em;color:#5b6577;line-height:1.7}
.nordico .cv-txt{font-size:.92em;color:#5b6577;line-height:1.8}
.nordico .cv-chip{font-size:.88em;color:#5b6577}
.nordico .cv-chip:not(:last-child)::after{content:' ·'}
.nordico .cv-lang b{color:#111;font-weight:600}

/* ═══ 10 · ELEGANTE (títulos con serifa) ═══ */
.cv-doc.elegante{--ac:#b8963e;padding:52px 58px;line-height:1.55}
.elegante .cv-top{display:flex;justify-content:space-between;align-items:flex-start;gap:24px}
.elegante .cv-top-l{flex:1;min-width:0}
.elegante .cv-name{font-family:var(--serif);font-size:2.6em;font-weight:400;letter-spacing:.06em;text-transform:uppercase;color:#0f172a;line-height:1.05}
.elegante .cv-puesto{font-size:.78em;color:#7c889a;margin-top:.8em;letter-spacing:.24em;text-transform:uppercase;font-weight:500}
.elegante .cv-accent{width:56px;height:2px;background:linear-gradient(90deg,var(--ac),color-mix(in srgb,var(--ac) 12%,#fff));margin:14px 0 16px}
.elegante .cv-contacts{display:flex;flex-wrap:wrap;gap:.2em 1.4em;font-size:.83em;color:#5b6577}
.elegante .cv-xtra{display:flex;flex-wrap:wrap;gap:.2em 1.4em;font-size:.79em;color:#7c889a;margin-top:.3em}
.elegante .cv-foto{width:108px;height:136px;border-radius:2px;border:1px solid #e2e8f0}
.elegante .cv-hr{border-top:1px solid #e2e8f0;margin:1.3em 0}
.elegante .cv-sec{margin-bottom:1.4em}
.elegante .cv-sec:last-child{margin-bottom:0}
.elegante .cv-sec-t{font-family:var(--serif);font-size:1em;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#0f172a;border-left:3px solid var(--ac);padding-left:.7em;margin-bottom:.9em;line-height:1.3}
.elegante .cv-et{font-family:var(--serif);font-weight:600;font-size:1.14em}
.elegante .cv-es{color:color-mix(in srgb,var(--ac) 72%,#000);font-weight:500}
.elegante .cv-ed{font-family:var(--serif);font-style:italic;font-size:.92em;color:#64748b}
.elegante .cv-chip{color:#475569;padding:.2em .7em;border:1px solid #e2e8f0;font-size:.87em;border-radius:2px}
.elegante .cv-lang b{color:#0f172a;font-weight:600}
