*,*:before,*:after{box-sizing:border-box}*{margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{min-height:100vh;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit;color:inherit}button{background:none;border:none;cursor:pointer}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}a{color:inherit;text-decoration:none}ul,ol{list-style:none}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:4px}:root{--color-primary: #77C8D4;--color-secondary: #35535B;--color-accent: #EB5A4A;--color-bg: #F7F6F2;--color-dark: #1C1C1A;--color-surface: #FFFFFF;--font-main: "Plus Jakarta Sans", sans-serif;--text-display: 56px;--text-h2: 56px;--text-h3: 20px;--text-body: 16px;--text-label: 11px;--text-small: 13px;--section-py: 96px;--section-py-mobile: 64px;--container-max: 1120px;--container-px: 24px;--gap-sm: 8px;--gap-md: 16px;--gap-lg: 24px;--gap-xl: 48px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-pill: 100px}body{font-family:var(--font-main);font-size:var(--text-body);font-weight:400;color:var(--color-dark);background:var(--color-bg);line-height:1.7}h1,h2,h3{font-family:var(--font-main)}.container{max-width:var(--container-max);margin:0 auto;padding:0 var(--container-px);width:100%}.section{padding:var(--section-py) 0}@media(max-width:767px){.section{padding:var(--section-py-mobile) 0}}.reveal.visible{animation:reveal-in .4s ease-out both}@keyframes reveal-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.reveal.visible{animation:none}}.cv-container{max-width:880px;margin:0 auto;padding:0 var(--container-px)}.cv-top{background:var(--color-dark);color:#fff;padding:24px 0 56px}.cv-nav{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:48px;font-size:var(--text-small)}.cv-nav a{color:#fffc;transition:color .2s ease}.cv-nav a:hover{color:#fff}.cv-lang{font-weight:700;letter-spacing:.08em;text-transform:uppercase}.cv-eyebrow{display:inline-block;font-size:var(--text-label);font-weight:500;letter-spacing:.1em;text-transform:uppercase;background:var(--color-accent);color:#fff;padding:3px 10px;border-radius:var(--radius-sm);margin-bottom:16px;line-height:1.6}.cv-name{font-size:clamp(34px,6vw,56px);font-weight:700;line-height:1.05;letter-spacing:-.02em;text-transform:uppercase;margin-bottom:12px}.cv-role{font-size:18px;color:#ffffffd9;margin-bottom:20px}.cv-contact{display:flex;flex-wrap:wrap;gap:6px 20px;font-size:15px;margin-bottom:32px}.cv-contact a{color:var(--color-primary);text-decoration:underline;text-underline-offset:3px}.cv-contact a:hover{color:#fff}.cv-actions{display:flex;flex-wrap:wrap;gap:12px}.cv-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:14px;font-weight:500;line-height:1;padding:12px 28px;border-radius:var(--radius-pill);transition:opacity .2s ease,background .2s ease;white-space:nowrap}.cv-btn--primary{background:var(--color-accent);color:#fff}.cv-btn--primary:hover{opacity:.88}.cv-btn--secondary{color:#fff;border:1.5px solid #fff;padding:11px 28px}.cv-btn--secondary:hover{background:#ffffff1f}.cv-main{padding:56px 0 var(--section-py)}.cv-section+.cv-section{margin-top:56px}.cv-section-title{font-size:var(--text-small);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--color-dark);padding-top:14px;border-top:2px solid var(--color-dark);margin-bottom:24px}.cv-profile{font-size:17px;line-height:1.7;max-width:720px}.cv-timeline{display:flex;flex-direction:column}.cv-job{position:relative;margin-left:32px;padding-bottom:40px}.cv-job:last-child{padding-bottom:0}.cv-job:before{content:"";position:absolute;top:0;left:-24px;width:20px;height:20px;border-radius:50%;border:2px solid var(--color-secondary);background:var(--color-secondary);transform:translate(-50%)}.cv-job--current:before{border-color:var(--color-accent);background:#eb5a4a26;outline:2px solid rgba(235,90,74,.3);outline-offset:2px}.cv-job:after{content:"";position:absolute;top:26px;left:-24px;width:2px;height:calc(100% - 30px);background:#35535b40;transform:translate(-50%)}.cv-job:last-child:after{display:none}.cv-job-date{font-size:var(--text-small);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--color-secondary);line-height:20px;margin-bottom:6px}.cv-job-company{font-size:20px;font-weight:700;line-height:1.25}.cv-job-role{font-size:15px;line-height:1.5;margin-bottom:12px}.cv-job-role em{font-style:normal;font-weight:500}.cv-job-place{color:var(--color-secondary)}.cv-list{display:flex;flex-direction:column;gap:8px}.cv-list li{position:relative;padding-left:18px;font-size:15px;line-height:1.65}.cv-list li:before{content:"";position:absolute;left:0;top:.8em;width:8px;height:1.5px;background:var(--color-accent)}.cv-list strong{font-weight:700}.cv-footer{border-top:1px solid rgba(0,0,0,.1);padding:24px 0 40px;font-size:var(--text-small);color:var(--color-secondary)}.cv-footer a{color:var(--color-secondary);text-decoration:underline;text-underline-offset:3px}@media(max-width:767px){.cv-top{padding:20px 0 44px}.cv-nav{margin-bottom:36px}.cv-role{font-size:16px}.cv-main{padding:44px 0 var(--section-py-mobile)}.cv-section+.cv-section{margin-top:44px}.cv-profile{font-size:16px}.cv-job-company{font-size:18px}}@media print{.cv-nav,.cv-actions,.cv-footer{display:none}.cv-top{background:none;color:var(--color-dark);padding:0 0 16px}.cv-role,.cv-contact a{color:var(--color-dark)}.cv-main{padding-top:16px}}
