.cv-page{gap:var(--space-5xl);max-width:var(--container-width-xl)}.cv-hero{gap:var(--space-5xl);padding:var(--space-4xl);background:linear-gradient(135deg, var(--color-primary-dark), var(--color-gray-900));border:1px solid var(--color-gray-800);border-radius:var(--border-radius-2xl);box-shadow:var(--shadow-lg) var(--color-black);grid-template-columns:1fr auto;align-items:center;display:grid}.cv-hero .eyebrow{margin-bottom:var(--space-2xl);color:var(--color-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-wider);text-transform:uppercase}.cv-hero h1{margin:0 0 var(--space-2xl);color:var(--color-white);font-size:clamp(var(--font-size-2xl), 5vw, var(--font-size-4xl));font-weight:var(--font-weight-light)}.cv-hero h2{margin-bottom:var(--space-3xl);color:var(--color-primary);font-size:var(--font-size-xl);font-weight:var(--font-weight-normal)}.cv-hero p:not(.eyebrow){max-width:720px;color:var(--color-gray-300);font-size:var(--font-size-md);line-height:var(--line-height-relaxed)}.cv-hero>img{object-fit:cover;border:var(--border-width-xl) solid var(--color-primary);border-radius:var(--border-radius-full);width:190px;height:190px;box-shadow:var(--shadow-lg) var(--color-primary-opacity)}.cv-actions{gap:var(--space-md);margin-top:var(--space-2xl);flex-wrap:wrap;display:flex}.button{padding:var(--space-md) var(--space-xl);border-radius:var(--border-radius-md);font-weight:var(--font-weight-semibold);transition:var(--transition-base);justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.button-primary{color:var(--color-white);background:var(--color-primary-dark)}.pdf-download{width:48px;height:48px;margin-top:var(--space-3xl);background:var(--color-primary-dark);padding:0}.pdf-download svg{fill:currentColor;flex-shrink:0;width:24px;height:24px}.pdf-download .button-label{display:none}.button:hover,.resource-link:hover,.resource-links a:hover{color:var(--color-white);background:var(--color-primary)}.cv-contact{gap:var(--space-xl);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));padding:0;display:grid}.cv-contact a{justify-content:center;align-items:center;gap:var(--space-md);padding:var(--space-xl);color:var(--color-gray-300);font-size:var(--font-size-md);border:var(--border-width-thin) solid var(--color-primary);border-radius:var(--border-radius-xl);font-weight:var(--font-weight-semibold);transition:var(--transition-base);background:0 0;text-decoration:none;display:flex;position:relative;overflow:hidden}.cv-contact a:before{content:"";z-index:-1;transition:var(--transition-base);position:absolute;inset:0;transform:translateY(100%)}.cv-contact a.email:before{background:var(--color-white)}.cv-contact a.telegram:before{background:var(--color-telegram)}.cv-contact a.whatsapp:before{background:var(--color-whatsapp)}.cv-contact a.github:before{background:var(--color-white)}.cv-contact a:hover:before{transform:translateY(0)}.cv-contact a:hover{color:var(--color-white);box-shadow:var(--shadow-sm) var(--color-black);transform:translateY(-3px)}.cv-card a{color:var(--color-primary)}.cv-contact a.email{border-color:var(--color-white);color:var(--color-white)}.cv-contact a.telegram{border-color:var(--color-telegram);color:var(--color-telegram)}.cv-contact a.whatsapp{border-color:var(--color-whatsapp);color:var(--color-whatsapp)}.cv-contact a.github{border-color:var(--color-white);color:var(--color-white)}.cv-contact a.email:hover{color:var(--color-black)}.cv-contact a.telegram:hover,.cv-contact a.whatsapp:hover{color:var(--color-white)}.cv-contact a.github:hover{color:var(--color-github)}.cv-contact a svg{object-fit:contain;width:32px;height:32px;transition:all var(--transition-base)}.cv-contact a.email svg{fill:var(--color-white)}.cv-contact a.telegram svg path:first-child{fill:var(--color-telegram);transition:all var(--transition-base)}.cv-contact a.telegram svg path:last-child{fill:var(--color-white);transition:all var(--transition-base)}.cv-contact a.whatsapp svg{fill:var(--color-whatsapp)}.cv-contact a.github svg{fill:var(--color-white)}.cv-contact a.email:hover svg{fill:var(--color-black)}.cv-contact a.telegram:hover svg path:first-child{fill:var(--color-white)}.cv-contact a.telegram:hover svg path:last-child{fill:var(--color-telegram)}.cv-contact a.github:hover svg{fill:var(--color-black)}.cv-contact a:hover svg{fill:var(--color-white)}.cv-section>h2{margin-bottom:var(--space-2xl);padding-bottom:var(--space-md);color:var(--color-primary);border-bottom:var(--border-width-thick) solid var(--color-primary-dark);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-wide);text-transform:uppercase}.cv-grid{gap:var(--space-lg);grid-template-columns:1fr;display:grid}.cv-card{padding:var(--space-md) 0 var(--space-lg) var(--space-xl);border-left:var(--border-width-thick) solid var(--color-primary);background:0 0;border-bottom:0;border-radius:0}.card-heading{gap:var(--space-lg);justify-content:space-between;align-items:baseline;display:flex}.card-meta{align-items:flex-end;gap:var(--space-xs);flex-direction:column;display:flex}.cv-card h3{color:var(--color-gray-100);font-size:var(--font-size-lg)}.cv-card h4{margin:var(--space-sm) 0 var(--space-md);color:var(--color-gray-400);font-size:var(--font-size-md);font-weight:var(--font-weight-medium)}.cv-card h4 span{color:var(--color-gray-500)}.institution-location{margin-left:var(--space-lg);white-space:nowrap}.institution-location:before{content:"|";margin-right:var(--space-lg);color:var(--color-primary)}.cv-card time{color:var(--color-primary);font-size:var(--font-size-md);flex-shrink:0;font-style:italic}.cv-card ul{padding-left:var(--space-xl);color:var(--color-gray-300);font-size:var(--font-size-md);line-height:var(--line-height-relaxed)}.cv-card ul a{padding:var(--space-xs) var(--space-sm);-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:var(--border-radius-sm);color:var(--color-tertiary);font-weight:var(--font-weight-semibold);background:var(--color-primary-opacity);text-decoration:none}.cv-card ul a:hover{color:var(--color-gray-900);background:var(--color-primary)}.cv-card ul a.project{color:var(--color-secondary);background:var(--color-secondary-opacity)}.cv-card ul a.project:hover{color:var(--color-white);background:var(--color-secondary)}.cv-card ul a.person{color:var(--color-tertiary);background:var(--color-tertiary-opacity)}.cv-card ul a.person:hover{color:var(--color-gray-900);background:var(--color-tertiary)}.cv-card li::marker{color:var(--color-primary)}.resource-links{justify-content:flex-end;gap:var(--space-md);margin:0;display:flex}.resource-row{justify-content:space-between;align-items:center;gap:var(--space-lg);margin-bottom:var(--space-md);display:flex}.resource-row h4{margin-bottom:0}.talk-location{margin-left:var(--space-lg);color:var(--color-gray-500);white-space:nowrap}.talk-location:before{content:"|";margin-right:var(--space-lg);color:var(--color-primary)}.talk-occurrences{margin-top:var(--space-sm)}.talk-occurrences .talk-resource-row{margin-bottom:0}.talk-occurrences .talk-resource-row h4{margin:0}.talk-meta{align-items:center;gap:var(--space-lg);flex-shrink:0;display:flex}.resource-links a,.resource-link{padding:var(--space-xs);color:var(--color-primary);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);text-decoration:none;display:inline-block}.resource-links img{object-fit:contain;width:28px;height:28px;display:block}.resource-links svg{width:28px;height:28px;display:block}.resource-links .pdf-path-1,.resource-links .pdf-path-2{fill:var(--color-primary)}.resource-links .pdf-path-3{fill:var(--color-primary-dark);opacity:.5}.resource-links .pdf-path-4{fill:var(--color-white)}.resource-links a:hover .pdf-path-1,.resource-links a:hover .pdf-path-2{fill:var(--color-primary-dark)}.resource-links a:hover .pdf-path-3{fill:var(--color-primary)}.resource-links a:hover .pdf-path-4{fill:var(--color-white)}.award-resource-row{justify-content:flex-start}.award-location{margin-left:var(--space-lg);color:var(--color-gray-500);white-space:nowrap}.award-location:before{content:"|";margin-right:var(--space-lg);color:var(--color-primary)}.resource-links .code-link svg{border-radius:var(--border-radius-sm);fill:var(--color-primary);padding:3px}.resource-links .code-link:hover svg{fill:var(--color-white)}.resource-links a{padding:var(--space-xs);align-items:center;display:inline-flex}.resource-label{display:none}.tag-list{gap:var(--space-lg);grid-template-columns:repeat(auto-fit,minmax(170px,1fr));display:grid}.tag-list span{padding:var(--space-sm) var(--space-md);color:var(--color-gray-200);background:var(--color-gray-800);border-radius:var(--border-radius-md);font-size:var(--font-size-sm)}.language-tag{align-items:center;gap:var(--space-sm) var(--space-md);background:linear-gradient(90deg, var(--color-primary-opacity), var(--color-gray-800));flex-wrap:wrap;display:flex}.language-tag img{object-fit:cover;border-radius:var(--border-radius-sm);width:28px;height:20px;box-shadow:var(--shadow-sm) var(--color-black)}.language-tag strong{min-width:0;color:var(--color-gray-100);font-weight:var(--font-weight-medium);flex:1}.language-tag b{color:var(--color-primary);font-size:var(--font-size-md)}.cv-updated{margin-top:var(--space-xl);color:var(--color-gray-500);font-size:var(--font-size-sm);font-weight:var(--font-weight-light);text-align:right}.cv-updated time{color:var(--color-primary);font-weight:var(--font-weight-medium)}@media (width<=768px){.cv-page{gap:var(--space-4xl);padding-inline:var(--space-lg)}.cv-hero{gap:var(--space-2xl);padding:var(--space-2xl);grid-template-columns:1fr}.cv-hero>img{order:-1;justify-self:center;width:130px;height:130px}.cv-hero .eyebrow{margin-bottom:var(--space-lg)}.cv-hero h1{margin-bottom:var(--space-md)}.cv-hero h2{margin-bottom:var(--space-xl);font-size:var(--font-size-lg)}.cv-hero p:not(.eyebrow){font-size:var(--font-size-base)}.pdf-download{gap:var(--space-md);width:auto;height:auto;margin-top:var(--space-2xl);padding:var(--space-md) var(--space-xl)}.pdf-download .button-label{display:inline}.cv-contact{gap:var(--space-md);grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.cv-contact a{padding:var(--space-lg) var(--space-md);font-size:var(--font-size-base)}.cv-contact a svg{width:24px;height:24px}.cv-section>h2{margin-bottom:var(--space-xl);font-size:var(--font-size-lg)}.cv-card{padding:var(--space-xs) 0 var(--space-lg) var(--space-lg)}.cv-card h3{font-size:var(--font-size-md);line-height:var(--line-height-tight)}.cv-card time,.cv-card h4{font-size:var(--font-size-base)}.cv-card ul{padding-left:var(--space-lg);font-size:var(--font-size-base)}}@media (width<=600px){.card-heading,.card-meta{align-items:flex-start;gap:var(--space-xs);flex-direction:column}.cv-card h4{margin:var(--space-sm) 0 var(--space-md)}.institution-location,.talk-location,.award-location{margin-left:0;display:block}.institution-location:before,.talk-location:before,.award-location:before{content:none}.resource-row{align-items:flex-start;gap:var(--space-md);flex-direction:column}.talk-occurrences .talk-resource-row+.talk-resource-row{margin-top:var(--space-lg)}.resource-links{flex-wrap:wrap;justify-content:flex-start}.resource-links a{gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border:var(--border-width-thin) solid var(--color-primary-dark);border-radius:var(--border-radius-md);font-weight:var(--font-weight-semibold)}.resource-links svg{width:22px;height:22px}.resource-label{display:inline}}
