.cv{max-width:var(--max-width);margin:0 auto;padding:0 4rem}.cv .cv-hero{min-height:100vh;padding:calc(var(--header-height) + var(--spacing-lg)) 0 var(--spacing-xl);flex-direction:column;justify-content:center;display:flex}.cv .cv-hero__name{font-family:var(--font-display);letter-spacing:-.01em;text-transform:uppercase;color:var(--color-primary);font-size:clamp(2rem,8.5vw,8rem);font-weight:400;line-height:.9}.cv .cv-hero__role{letter-spacing:.16em;text-transform:uppercase;color:var(--color-text);margin-top:var(--spacing-md);font-size:clamp(.9rem,1.6vw,1.25rem)}.cv .cv-hero__tagline{font-family:var(--font-display);color:var(--color-text);max-width:20ch;margin-top:var(--spacing-lg);font-size:clamp(1.4rem,3.6vw,3rem);line-height:1.18}.cv .cv-hero__actions{margin-top:var(--spacing-lg);flex-wrap:wrap;gap:2.5rem;display:flex}.cv .cv-link{letter-spacing:.16em;text-transform:uppercase;border-bottom:1px solid var(--color-text);padding-bottom:.4rem;font-size:.9rem;transition:opacity .3s}.cv .cv-link:hover{opacity:.55}.cv .cv-link--solid{background:var(--color-text);color:var(--color-bg);padding:.9rem 2rem}.cv .cv-block{padding:var(--spacing-lg) 0;border-top:1px solid var(--color-border)}.cv .cv-block__title{font-family:var(--font-display);text-transform:uppercase;margin-bottom:var(--spacing-lg);font-size:clamp(2rem,5.5vw,4.5rem);font-weight:400;line-height:1}.cv .cv-specs{gap:var(--spacing-lg) var(--spacing-md);grid-template-columns:repeat(3,1fr);display:grid}.cv .cv-spec__title{letter-spacing:.14em;text-transform:uppercase;margin-bottom:var(--spacing-sm);font-size:1rem}.cv .cv-spec__list li{color:var(--color-text);padding-left:1rem;font-size:.95rem;line-height:1.6;position:relative}.cv .cv-spec__list li:before{content:"—";position:absolute;left:0}.cv .cv-spec__list li+li{margin-top:.4rem}.cv .cv-jobs{flex-direction:column;display:flex}.cv .cv-job{gap:var(--spacing-md);padding:var(--spacing-md) 0;border-bottom:1px solid var(--color-border);grid-template-columns:200px 1fr;display:grid}.cv .cv-job:first-child{padding-top:0}.cv .cv-job__periodo{letter-spacing:.1em;color:var(--color-text);font-size:.9rem}.cv .cv-job__empresa{font-family:var(--font-display);text-transform:uppercase;font-size:clamp(1.6rem,3.4vw,2.8rem);font-weight:400;line-height:1.05}.cv .cv-job__cargo{letter-spacing:.14em;text-transform:uppercase;margin-top:.5rem;font-size:.85rem}.cv .cv-job__desc{max-width:62ch;margin-top:var(--spacing-sm);font-size:1rem;line-height:1.65}.cv .cv-job__tags{margin-top:var(--spacing-sm);flex-wrap:wrap;gap:.5rem;display:flex}.cv .cv-job__tags li{letter-spacing:.12em;border:1px solid var(--color-border);border-radius:999px;padding:.35rem .8rem;font-size:.7rem}.cv .cv-editorial{margin-top:var(--spacing-lg)}.cv .cv-editorial__title{letter-spacing:.16em;text-transform:uppercase;margin-bottom:var(--spacing-sm);font-size:.85rem}.cv .cv-editorial__item{justify-content:space-between;gap:var(--spacing-sm);border-bottom:1px solid var(--color-border);flex-wrap:wrap;padding:.8rem 0;font-size:1rem;display:flex}.cv .cv-editorial__detalle{color:var(--color-text-light)}.cv .cv-awards{flex-direction:column;display:flex}.cv .cv-award{gap:var(--spacing-md);padding:var(--spacing-sm) 0;border-bottom:1px solid var(--color-border);grid-template-columns:200px 1fr;display:grid}.cv .cv-award__year{letter-spacing:.1em;font-size:.9rem}.cv .cv-award__body{flex-direction:column;gap:.3rem;display:flex}.cv .cv-award__title{font-family:var(--font-display);font-size:clamp(1.3rem,2.4vw,2rem);line-height:1.1}.cv .cv-award__entity,.cv .cv-award__nota{letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-light);font-size:.85rem}.cv .cv-study{flex-direction:column;display:flex}.cv .cv-study__item{justify-content:space-between;align-items:baseline;gap:var(--spacing-sm);border-bottom:1px solid var(--color-border);flex-wrap:wrap;padding:.9rem 0;display:flex}.cv .cv-study__title{font-size:1.05rem}.cv .cv-study__centro,.cv .cv-study__estado{letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-light);font-size:.85rem}.cv .cv-tools{gap:var(--spacing-sm);flex-direction:column;display:flex}.cv .cv-tool{align-items:center;gap:var(--spacing-md);grid-template-columns:40px 220px 1fr 50px;display:grid}.cv .cv-tool__icon{justify-content:center;align-items:center;width:40px;height:40px;display:flex}.cv .cv-tool__icon img{object-fit:contain;width:100%;height:100%}.cv .cv-tool__name{letter-spacing:.06em;text-transform:uppercase;font-size:.95rem}.cv .cv-tool__bar{background:var(--color-border);height:2px;display:block}.cv .cv-tool__fill{background:var(--color-primary);height:2px;display:block}.cv .cv-tool__pct{text-align:right;font-variant-numeric:tabular-nums;font-size:.85rem}.cv .cv-contact{padding-bottom:var(--spacing-2xl)}.cv .cv-contact__title{font-family:var(--font-display);text-transform:uppercase;font-size:clamp(1.5rem,6vw,5.5rem);font-weight:400;line-height:.95}.cv .cv-contact__lead{max-width:46ch;margin-top:var(--spacing-md);font-size:clamp(1.1rem,2vw,1.6rem);line-height:1.5}.cv .cv-contact__person{letter-spacing:.16em;color:var(--color-primary);margin-top:var(--spacing-lg);font-size:1.05rem}.cv .cv-contact__links{margin-top:var(--spacing-sm);flex-direction:column;display:flex}.cv .cv-contact__links li{border-bottom:1px solid var(--color-border)}.cv .cv-contact__links a{padding:.9rem 0;font-size:clamp(1.1rem,2.2vw,1.6rem);transition:opacity .3s;display:inline-block}.cv .cv-contact__links a:hover{opacity:.55}.cv .cv-contact__cta{margin-top:var(--spacing-lg);display:inline-block}@media (width<=900px){.cv .cv-job,.cv .cv-award{grid-template-columns:1fr;gap:.5rem}.cv .cv-specs{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.cv{padding:0 1.5rem}.cv .cv-tool{gap:var(--spacing-sm);grid-template-columns:40px 1fr 44px}.cv .cv-tool__bar{grid-column:2/4}.cv .cv-specs{grid-template-columns:1fr}}
