/* CV y carta en A4 — pantalla y PDF */
@import url('fonts.css');

:root { --vino: #800000; --tinta: #141414; --mu: #6b6b6b; --linea: #d9d9d9; }
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: #e8e6e2; color: var(--tinta); font: 400 10pt/1.5 'Switzer', 'Helvetica Neue', Arial, sans-serif; -webkit-font-smoothing: antialiased; }
h1, h2, h3, h4, p, ul { margin: 0; }
ul { padding: 0; list-style: none; }
strong { font-weight: 700; }
p, li { text-wrap: pretty; }

.barra { position: sticky; top: 0; z-index: 5; display: flex; align-items: center; gap: 18px; padding: 12px 20px; background: var(--vino); color: #fff; font: 500 14px/1 'Switzer', sans-serif; }
.barra a, .barra button { display: inline-flex; align-items: center; gap: 10px; color: inherit; text-decoration: none; font: inherit; background: none; border: 0; padding: 0; cursor: pointer; }
.barra .logo { width: 26px; height: auto; }
.barra__sp { flex: 1; }
.barra a[download], .barra button { padding: 9px 14px; border: 1px solid rgba(255, 255, 255, .5); }
.barra a[download]:hover, .barra button:hover { background: #fff; color: var(--vino); }
.barra .barra__lang { display: flex; gap: 4px; padding: 0; border: 0; font: 600 11px/1 'Switzer', sans-serif; letter-spacing: .04em; }
.barra__lang span { display: inline-grid; place-items: center; min-width: 30px; height: 26px; padding: 0 6px; border: 1px solid rgba(255, 255, 255, .7); border-bottom-width: 3px; border-radius: 4px; opacity: .6; }
.barra__lang span.is-on { opacity: 1; background: #fff; color: var(--vino); border-color: #fff; }
.barra__lang:hover span { opacity: 1; }

.a4 { width: 210mm; min-height: 297mm; margin: 28px auto 60px; padding: 18mm 18mm 16mm; background: #fff; box-shadow: 0 2px 0 rgba(0,0,0,.05), 0 24px 60px rgba(0,0,0,.14); display: flex; flex-direction: column; }
.a4__hd { display: flex; justify-content: space-between; align-items: flex-end; gap: 10mm; padding-bottom: 7mm; border-bottom: 1.5pt solid var(--tinta); }
.a4__id { display: flex; align-items: center; gap: 5mm; }
.a4__id .logo { width: 16mm; height: auto; color: var(--vino); }
.a4__id h1 { font: 800 24pt/1 'Switzer', sans-serif; letter-spacing: -0.04em; color: var(--vino); }
.a4__id p { margin-top: 2mm; font-size: 9.5pt; color: var(--mu); }
.a4__contact { text-align: right; font-size: 8.5pt; line-height: 1.55; }

.a4__perfil { padding: 7mm 0 6mm; border-bottom: .5pt solid var(--linea); }
.a4__perfil p { font-size: 12.5pt; line-height: 1.42; letter-spacing: -0.01em; max-width: 150mm; }
.a4__cols { display: grid; grid-template-columns: 1.35fr 1fr; gap: 10mm; padding-top: 6mm; flex: 1; }
.a4__cols section + section { margin-top: 6mm; }
.a4 h3 { font: 700 7.5pt/1 'Switzer', sans-serif; letter-spacing: .12em; text-transform: uppercase; color: var(--vino); padding-bottom: 2.5mm; margin-bottom: 3mm; border-bottom: .5pt solid var(--tinta); }
.a4__cols p + p { margin-top: 2.6mm; }
.a4__y { float: right; font-weight: 700; font-size: 8.5pt; }
.a4__sel + .a4__sel { margin-top: 2.6mm; }
.a4__sel h4 { font: 600 9pt/1.3 'Switzer', sans-serif; }
.a4__sel p { color: var(--mu); font-size: 9pt; }
.a4__list li { padding: 1.2mm 0; border-bottom: .5pt solid var(--linea); }
.a4__list li:last-child { border-bottom: 0; }
.a4__lema { margin-top: auto !important; padding-top: 6mm; }
.a4__lema p { font-size: 10pt; }
.a4__lema em { font-weight: 300; }

.a4--carta .a4__carta { padding-top: 12mm; max-width: 150mm; font-size: 10.5pt; line-height: 1.62; }
.a4__carta p + p { margin-top: 3.6mm; }
.a4__fecha { text-align: right; color: var(--mu); font-size: 9pt; margin-bottom: 8mm; }
.a4__firma { font: 400 30pt/1 'Delicious Handrawn', cursive; color: var(--vino); margin-top: 1mm !important; }

/* CV con sello, teclas y mapa */
.a4--cv { padding-top: 12mm; padding-bottom: 12mm; }
.a4__hd--cv { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 6mm; padding-bottom: 6mm; }
.a4__stamp { width: 22mm; margin: 0; transform: rotate(-6deg); }
.a4__stamp img { width: 100%; height: auto; display: block; filter: drop-shadow(0 1.5mm 2mm rgba(0,0,0,.18)); }
.a4__hd--cv .a4__id h1 { font-size: 30pt; line-height: .9; }
.a4__k { font: 700 7pt/1 'Switzer', sans-serif !important; letter-spacing: .14em; text-transform: uppercase; color: var(--vino) !important; margin: 0 0 2.5mm !important; }
.a4--cv .a4__perfil { padding: 5mm 0 4.5mm; }
.a4--cv .a4__perfil p { font-size: 11pt; }
.a4--cv .a4__cols { font-size: 9.5pt; line-height: 1.45; }
.a4--cv .a4__cols p + p { margin-top: 2mm; }
.a4--cv .a4__cols { padding-top: 5mm; flex: none; grid-template-columns: 1.2fr 1fr; }
.a4--cv .a4__cols section + section { margin-top: 5mm; }
.a4__cli { padding-left: 3mm; border-left: 1.2mm solid var(--pc); }
.a4__keys { display: flex; flex-wrap: wrap; gap: 1.6mm; }
.a4__keys kbd { font: 500 8.5pt/1 'Switzer', sans-serif; padding: 1.6mm 2.4mm 1.9mm; border-radius: 1.4mm; background: #f3f2ef; border: .5pt solid #d6d3cd; border-bottom: 1.1mm solid #cfccc6; }
.a4__mapa { margin-top: 5mm; }
.a4__mapa h3 span { font-weight: 400; letter-spacing: 0; text-transform: none; color: var(--mu); margin-left: 3mm; }
/* lo que sé hacer: disciplina, cuántos proyectos y cuáles */
.dz { list-style: none; margin: 0; padding: 0; font-size: 8pt; }
.dz__r { display: grid; grid-template-columns: 52mm 1fr; gap: 0 5mm; align-items: start; padding: 1.5mm 0; border-top: .5pt solid var(--linea); }
.dz__r:first-child { border-top: 0; padding-top: 0; }
.dz__d { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: .6mm 2mm; }
.dz__t { grid-column: 1 / -1; font-weight: 600; font-size: 8.5pt; line-height: 1.3; white-space: nowrap; }
.dz__n { grid-row: 2; grid-column: 2; min-width: 15mm; text-align: right; font-size: 7pt; line-height: 1; color: var(--mu); white-space: nowrap; }
.dz__bar { grid-row: 2; grid-column: 1; display: block; height: .7mm; background: #f0e6e6; }
.dz__bar i { display: block; height: 100%; width: calc(var(--v) * 100%); background: var(--vino); }
.dz__ps { display: flex; flex-wrap: wrap; gap: .8mm 3.2mm; list-style: none; margin: 0; padding: .3mm 0 0; }
.dz__p { display: inline-flex; align-items: center; gap: 1.2mm; font-size: 8pt; line-height: 1.35; white-space: nowrap; }
.dz__p i { width: 1.8mm; height: 1.8mm; border-radius: 50%; background: var(--pc); flex: none; }
.a4__ft { margin-top: auto; padding-top: 5mm; display: flex; justify-content: space-between; align-items: baseline; border-top: .5pt solid var(--linea); font-size: 8.5pt; }
.a4__ft em { font-weight: 300; }
.a4__ft p:last-child { color: var(--mu); }

@media screen and (max-width: 820px) {
  .a4__hd--cv { grid-template-columns: auto 1fr; }
  .a4__hd--cv .a4__contact { grid-column: 1 / -1; }
  .dz__r { grid-template-columns: 1fr; gap: 1.5mm; }
  .a4__ft { flex-direction: column; gap: 4px; }
  .barra { flex-wrap: wrap; gap: 10px; font-size: 13px; }
  .barra__sp { display: none; }
  .a4 { width: auto; min-height: 0; margin: 14px; padding: 22px 18px; }
  .a4__hd { flex-direction: column; align-items: flex-start; gap: 14px; }
  .a4__contact { text-align: left; }
  .a4__cols { grid-template-columns: 1fr; }
}

@page { size: A4; margin: 0; }
@media print {
  body { background: #fff; }
  .barra { display: none; }
  .a4 { margin: 0; box-shadow: none; width: 210mm; height: 297mm; overflow: hidden; }
}
