:root{--color-neutral-50:#fcfcfb;--color-neutral-100:#fafaf9;--color-neutral-200:#f4f3f0;--color-neutral-300:#ecebe8;--color-neutral-400:#d6d4cf;--color-neutral-500:#9e9b95;--color-neutral-600:#7a7773;--color-neutral-700:#545350;--color-neutral-800:#333230;--color-neutral-900:#131313;--color-primary-50:#fffdf0;--color-primary-100:#fef9d8;--color-primary-200:#fcf3b8;--color-primary-300:#fbed98;--color-primary-400:#fae587;--color-primary-500:#fade76;--color-primary-600:#e8c85a;--color-primary-700:#c9a83e;--color-primary-800:#a18628;--color-primary-900:#6e5b16;--color-secondary-50:#f4f6f2;--color-secondary-100:#e2e7dd;--color-secondary-200:#c9d4c1;--color-secondary-300:#b0bfab;--color-secondary-400:#92a492;--color-secondary-500:#7c8e7c;--color-secondary-600:#68796c;--color-secondary-700:#526156;--color-secondary-800:#3d4a40;--color-secondary-900:#252f27;--color-success-light:#f2f7f0;--color-success-base:#608053;--color-success-dark:#38532f;--color-warning-light:#fdf6ec;--color-warning-base:#d69842;--color-warning-dark:#885c1c;--color-error-light:#fef0ef;--color-error-base:#bd483b;--color-error-dark:#79251c;--color-info-light:#f0f4f8;--color-info-base:#4e7aa1;--color-info-dark:#2a4c6a;--color-surface-canvas:#ecebe8;--color-surface-base:#fafaf9;--color-surface-raised:#fcfcfb;--color-surface-overlay:#fff;--spacing-4:4px;--spacing-12:12px;--spacing-16:16px;--spacing-24:24px;--spacing-50:50px;--spacing-100:100px;--spacing-150:150px;--radius-radius-2:2px;--radius-radius-5:5px;--radius-radius-10:10px;--radius-radius-100:100px;--radius-xs:var(--radius-radius-2);--radius-sm:var(--radius-radius-5);--radius-md:var(--radius-radius-10);--radius-full:var(--radius-radius-100);--font-family-sans:"Google Sans Flex", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-family-code:"Google Sans Code", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--font-weight-regular:400;--font-weight-semibold:600;--font-weight-bold:700}h1,.h1{font-family:var(--font-family-sans);font-size:50px;font-weight:var(--font-weight-bold);letter-spacing:-1.5px;line-height:72px}h2,.h2{font-family:var(--font-family-sans);font-size:30px;font-weight:var(--font-weight-bold);letter-spacing:-.25px;line-height:36px}h3,.h3{font-family:var(--font-family-sans);font-size:20px;font-weight:var(--font-weight-bold);line-height:28px}h4,.h4{font-family:var(--font-family-sans);font-size:18px;font-weight:var(--font-weight-bold);line-height:24px}.texte-1-regular,.text-1-regular{font-family:var(--font-family-sans);font-size:20px;font-weight:var(--font-weight-regular);line-height:40px}.texte-1-semibold,.text-1-semibold{font-family:var(--font-family-sans);font-size:20px;font-weight:var(--font-weight-semibold);line-height:40px}.texte-2-regular,.text-2-regular{font-family:var(--font-family-sans);font-size:18px;font-weight:var(--font-weight-regular);line-height:32px}.texte-2-semibold,.text-2-semibold{font-family:var(--font-family-sans);font-size:18px;font-weight:var(--font-weight-semibold);line-height:32px}.button-label,.btn-label{font-family:var(--font-family-sans);font-size:16px;font-weight:var(--font-weight-semibold);line-height:26px}.texte-3-regular,.text-3-regular{font-family:var(--font-family-sans);font-size:16px;font-weight:var(--font-weight-regular);line-height:26px}.texte-3-semibold,.text-3-semibold{font-family:var(--font-family-sans);font-size:16px;font-weight:var(--font-weight-semibold);line-height:26px}.texte-4-regular,.text-4-regular{font-family:var(--font-family-sans);font-size:14px;font-weight:var(--font-weight-regular);line-height:26px}.texte-4-italic,.text-4-italic{font-family:var(--font-family-sans);font-size:14px;font-weight:var(--font-weight-regular);font-style:italic;line-height:26px}.texte-4-semibold,.text-4-semibold{font-family:var(--font-family-sans);font-size:14px;font-weight:var(--font-weight-semibold);line-height:26px}.citation-regular,.quote-regular{font-family:var(--font-family-code);font-size:14px;font-weight:var(--font-weight-regular);line-height:24px}.citation-semibold,.quote-semibold{font-family:var(--font-family-code);font-size:14px;font-weight:var(--font-weight-semibold);line-height:24px}.caption{font-family:var(--font-family-code);font-size:12px;font-weight:var(--font-weight-semibold);letter-spacing:1px;line-height:10px}.legend{font-family:var(--font-family-sans);font-size:12px;font-weight:var(--font-weight-regular);line-height:26px}.tag{padding:var(--spacing-4) var(--spacing-12);border-radius:var(--radius-radius-100);box-sizing:border-box;font-family:var(--font-family-code);font-size:14px;font-weight:var(--font-weight-semibold);letter-spacing:1px;text-transform:uppercase;white-space:nowrap;-webkit-user-select:none;user-select:none;border:1px solid #0000;justify-content:center;align-items:center;line-height:normal;display:inline-flex}.tag-filled{background-color:var(--color-neutral-700);color:var(--color-surface-overlay);border-color:#0000}.tag-outlined{border-color:var(--color-primary-800);color:var(--color-primary-800);background-color:#0000}.tag-subtle{background-color:var(--color-primary-100);color:var(--color-neutral-700);border-color:#0000}.btn{padding:var(--spacing-12) var(--spacing-24);border-radius:var(--radius-radius-2);font-family:var(--font-family-sans);font-size:18px;font-weight:var(--font-weight-semibold);cursor:pointer;color:inherit;white-space:nowrap;-webkit-user-select:none;user-select:none;box-sizing:border-box;background-color:#0000;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;line-height:26px;text-decoration:none;transition:background-color .2s,border-color .2s,color .2s;display:inline-flex}.btn:focus-visible{outline:2px solid var(--color-primary-600);outline-offset:2px}.btn-icon{flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;display:inline-flex}.btn-icon svg{fill:currentColor;width:24px;height:24px;display:block}.btn-primary{background-color:var(--color-neutral-900);color:var(--color-surface-overlay);border-color:#0000}.btn-primary:hover:not(:disabled):not([aria-disabled=true]){background-color:var(--color-neutral-700);color:var(--color-surface-overlay)}.btn-primary:active:not(:disabled):not([aria-disabled=true]){background-color:var(--color-neutral-700);transform:translateY(1px)}.btn-primary:disabled,.btn-primary[aria-disabled=true]{background-color:var(--color-neutral-400);color:var(--color-surface-overlay);cursor:not-allowed;pointer-events:none}.btn-secondary{border-color:var(--color-neutral-900);color:var(--color-neutral-900);background-color:#0000}.btn-secondary:hover:not(:disabled):not([aria-disabled=true]){border-color:var(--color-neutral-500);color:var(--color-neutral-700)}.btn-secondary:active:not(:disabled):not([aria-disabled=true]){border-color:var(--color-neutral-900);transform:translateY(1px)}.btn-secondary:disabled,.btn-secondary[aria-disabled=true]{border-color:var(--color-neutral-400);color:var(--color-neutral-400);cursor:not-allowed;pointer-events:none;background-color:#0000}.navbar-sticky-wrapper{z-index:1000;width:100%;padding-left:var(--spacing-24);padding-right:var(--spacing-24);box-sizing:border-box;pointer-events:none;position:fixed;top:16px;left:0;right:0}.navbar-container{box-sizing:border-box;pointer-events:auto;width:100%;max-width:1224px;margin:0 auto}.navbar{justify-content:space-between;align-items:center;gap:var(--spacing-24);height:64px;padding:var(--spacing-16) var(--spacing-24);-webkit-backdrop-filter:blur(12px);border:1px solid var(--color-neutral-300);border-radius:var(--radius-radius-100);box-sizing:border-box;background-color:#fcfcfbf0;transition:box-shadow .25s,background-color .25s;display:flex;box-shadow:0 8px 24px #0000000f}.navbar.scrolled{background-color:#fcfcfbfa;box-shadow:0 12px 32px #0000001a}.nav-menu{align-items:center;gap:var(--spacing-16);flex:1;min-width:0;display:flex}.nav-brand{margin-right:var(--spacing-12);flex-shrink:0;align-items:center;gap:8px;text-decoration:none;display:inline-flex}.nav-avatar{background-color:var(--color-primary-500);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex;position:relative;overflow:hidden}.nav-avatar img{object-fit:cover;width:100%;height:100%;display:block}.nav-name{font-family:var(--font-family-sans);font-size:18px;font-weight:var(--font-weight-semibold);color:var(--color-neutral-800);white-space:nowrap;line-height:26px}.nav-links{align-items:center;gap:var(--spacing-16);margin:0;padding:0;list-style:none;display:flex}.nav-link{font-family:var(--font-family-sans);font-size:16px;font-weight:var(--font-weight-semibold);color:var(--color-neutral-600);white-space:nowrap;line-height:20px;text-decoration:none;transition:color .2s}.nav-link:hover,.nav-link:focus-visible{color:var(--color-neutral-900)}.nav-link.active{color:var(--color-neutral-900);font-weight:var(--font-weight-bold)}.nav-status{flex-shrink:0;align-items:center;display:flex}@media (width<=960px){.nav-status{display:none}}@media (width<=768px){.navbar-sticky-wrapper{padding-left:12px;padding-right:12px;top:8px}.navbar{height:auto;padding:var(--spacing-12) var(--spacing-16);gap:var(--spacing-12)}.nav-menu{gap:var(--spacing-12);scrollbar-width:none;-webkit-overflow-scrolling:touch;overflow-x:auto}.nav-menu::-webkit-scrollbar{display:none}.nav-name,.nav-status{display:none}.nav-links{gap:var(--spacing-12);flex-shrink:0}.nav-link{font-size:15px}}@media (width<=480px){.navbar{padding:10px 12px}.nav-brand{margin-right:4px}.nav-avatar{width:32px;height:32px}.nav-links{gap:10px}.nav-link{font-size:13px;line-height:18px}}.citation,blockquote.citation{background-color:var(--color-neutral-50);border-left:4px solid var(--color-neutral-400);padding:var(--spacing-16);box-sizing:border-box;align-items:center;margin:0;display:flex}.citation-text,.citation p{font-family:var(--font-family-code);font-size:16px;font-weight:var(--font-weight-regular);color:var(--color-neutral-700);word-break:break-word;margin:0;line-height:24px}.citation strong,.citation-text strong{font-weight:var(--font-weight-semibold)}.footer{background-color:var(--color-neutral-50);width:100%;padding-top:var(--spacing-100);padding-bottom:var(--spacing-50);padding-left:var(--spacing-24);padding-right:var(--spacing-24);box-sizing:border-box;flex-direction:column;align-items:center;display:flex}.footer-inner{box-sizing:border-box;flex-direction:column;gap:40px;width:100%;max-width:1224px;display:flex}.footer-main{justify-content:space-between;align-items:flex-start;gap:60px;width:100%;display:flex}.footer-left-column{flex-direction:column;flex:1;gap:30px;min-width:0;display:flex}.footer-identity{font-family:var(--font-family-sans);font-size:24px;font-weight:var(--font-weight-bold);color:var(--color-neutral-800);margin:0;line-height:28px}.footer-hobbies{flex-direction:column;gap:8px;display:flex}.footer-hobbies-title{font-family:var(--font-family-sans);font-size:20px;font-weight:var(--font-weight-bold);color:var(--color-neutral-800);margin:0;line-height:24px}.footer-hobbies-desc{font-family:var(--font-family-sans);font-size:18px;font-weight:var(--font-weight-regular);color:var(--color-neutral-700);margin:0;line-height:26px}.footer-hobbies-list{align-items:center;gap:0;margin-top:8px;display:flex}.footer-hobby-item{flex-shrink:0;justify-content:center;align-items:center;width:100px;height:100px;display:flex}.footer-hobby-item img{object-fit:contain;max-width:100%;max-height:100%;display:block}.footer-contact-column{flex-direction:column;flex-shrink:0;gap:16px;width:300px;display:flex}.footer-contact-title{font-family:var(--font-family-sans);font-size:20px;font-weight:var(--font-weight-bold);color:var(--color-neutral-800);margin:0;line-height:24px}.footer-contact-text{font-family:var(--font-family-sans);font-size:18px;font-weight:var(--font-weight-regular);color:var(--color-neutral-600);margin:0;line-height:26px}.footer-contact-email{font-family:var(--font-family-sans);font-size:18px;font-weight:var(--font-weight-semibold);color:var(--color-neutral-700);word-break:break-all;line-height:26px;text-decoration:none;transition:color .2s}.footer-contact-email:hover,.footer-contact-email:focus-visible{color:var(--color-neutral-900)}.footer-social-links{align-items:center;gap:8px;margin-top:4px;display:flex}.footer-social-btn{border-radius:var(--radius-radius-2);background-color:var(--color-neutral-900);width:48px;height:48px;color:var(--color-surface-overlay);cursor:pointer;box-sizing:border-box;border:1px solid #0000;flex-shrink:0;justify-content:center;align-items:center;padding:0;text-decoration:none;transition:background-color .2s,border-color .2s,transform .2s;display:inline-flex}.footer-social-btn img{width:24px;height:24px;display:block}.footer-social-btn:hover{background-color:var(--color-neutral-700);transform:translateY(-2px)}.footer-social-btn:active{background-color:var(--color-neutral-700);transform:translateY(1px)}.footer-social-btn:focus-visible{outline:2px solid var(--color-primary-600);outline-offset:2px}.footer-divider{background-color:var(--color-neutral-300);width:100%;height:1px}.footer-bottom{justify-content:space-between;align-items:center;width:100%;display:flex}.footer-copyright,.footer-legal-link{font-family:var(--font-family-sans);font-size:16px;font-weight:var(--font-weight-regular);color:var(--color-neutral-500);margin:0;line-height:26px;text-decoration:none}.footer-legal-link{transition:color .2s}.footer-legal-link:hover,.footer-legal-link:focus-visible{color:var(--color-neutral-800)}@media (width<=768px){.footer{padding-top:var(--spacing-50);padding-bottom:var(--spacing-24)}.footer-main{flex-direction:column;gap:40px}.footer-contact-column{width:100%}.footer-hobbies-list{flex-wrap:wrap}.footer-bottom{text-align:center;flex-direction:column;align-items:center;gap:12px}}.project-card{background-color:var(--color-surface-overlay);width:100%;max-width:1083px;height:432px;padding:var(--spacing-16);border-radius:var(--radius-radius-10);box-sizing:border-box;color:inherit;cursor:pointer;flex-direction:row;align-items:stretch;text-decoration:none;transition:transform .25s cubic-bezier(.22,1,.36,1),box-shadow .25s cubic-bezier(.22,1,.36,1);display:flex;position:relative;box-shadow:0 4px 5px #0000001a}.project-card:hover{transform:translateY(-2px);box-shadow:0 8px 20px #0000001f,0 2px 6px #0000000f}.project-card:active{transform:translateY(0)}.project-card:hover .project-card-cta .btn-primary{background-color:var(--color-neutral-700)}.project-card:has(.project-card-cta a:focus-visible){outline:2px solid var(--color-primary-600);outline-offset:4px}.project-card-media{background-color:var(--color-primary-400);border-radius:var(--radius-radius-2);box-sizing:border-box;flex-shrink:0;justify-content:center;align-items:center;width:500px;height:400px;padding:0;display:flex;overflow:hidden}.project-card-media.media-secondary{background-color:var(--color-secondary-500)}.project-card-media.media-neutral{background-color:var(--color-neutral-500)}.project-card-media.media-primary-yellow{background-color:var(--color-primary-500)}.project-card-img{object-fit:cover;border-radius:var(--radius-radius-2);width:100%;height:100%;transition:transform .3s;display:block}.project-card:hover .project-card-img{transform:scale(1.02)}.project-card-info{box-sizing:border-box;flex-direction:column;flex:auto;gap:12px;width:551px;min-width:0;height:400px;padding:30px 30px 0;display:flex}.project-card-header{align-items:center;gap:var(--spacing-12);padding-bottom:10px;display:flex}.project-card-logo{flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;display:flex}.project-card-logo img{object-fit:contain;width:100%;height:100%;display:block}.project-card-context{font-family:var(--font-family-sans);color:var(--color-neutral-600);white-space:nowrap;margin:0;font-size:16px;line-height:26px}.project-card-client{font-weight:var(--font-weight-semibold);color:var(--color-neutral-600)}.project-card-period{font-weight:var(--font-weight-regular);color:var(--color-neutral-600)}.project-expertises{flex-wrap:wrap;align-items:center;gap:10px;width:100%;display:flex}.project-expertises-label{font-family:var(--font-family-sans);font-size:16px;font-weight:var(--font-weight-regular);color:var(--color-neutral-600);white-space:nowrap;line-height:26px}.project-card-title{font-family:var(--font-family-sans);font-size:24px;font-weight:var(--font-weight-bold);color:var(--color-neutral-800);width:100%;margin:0;line-height:28px}.project-card-date{align-items:center;margin:0;padding-bottom:8px;display:flex}.project-card-result{font-family:var(--font-family-sans);font-size:18px;font-weight:var(--font-weight-semibold);color:var(--color-neutral-600);width:100%;margin:0;line-height:26px}.project-card-problem{font-family:var(--font-family-sans);font-size:18px;font-weight:var(--font-weight-regular);color:var(--color-neutral-600);flex:auto;width:100%;margin:0;line-height:26px;overflow:hidden}.project-card-cta{align-self:flex-start;margin-top:auto;margin-bottom:0}.project-card .project-card-cta a:after{content:"";z-index:10;border-radius:var(--radius-radius-10);position:absolute;inset:0}@media (width<=992px){.project-card{flex-direction:column;max-width:100%;height:auto;min-height:auto}.project-card-media{width:100%;height:300px}.project-card-info{width:100%;height:auto;padding:24px 16px 16px}}@media (width<=600px){.project-card-media{height:220px;padding:10px}.project-card-header{gap:8px;padding-bottom:6px}.project-card-logo{width:20px;height:20px}.project-card-context{font-size:14px;line-height:22px}.project-card-title{font-size:20px;line-height:24px}.project-card-result,.project-card-problem{font-size:16px;line-height:24px}}.title-highlight{box-sizing:border-box;vertical-align:middle;align-items:center;height:44px;display:inline-flex;position:relative}.title-highlight-bg{pointer-events:none;z-index:0;align-items:stretch;display:flex;position:absolute;inset:0}.highlight-left{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAsCAYAAABVLInsAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAOdEVYdFNvZnR3YXJlAEZpZ21hnrGWYwAABL5JREFUeAFtVjtyJEUQzayq7vnsSGqtQ0Bg6AJEzJ5gDwAGNwBOQBBYGERIFhFY7AnYG7A46yILA0fLDcbawGCR0G96prureC+zRwKJVkzMdHd+33uZJRVc67PvjiTNflSNS50cNKK1lOFGpF9LKVlUFY8akdzjvoiUbqXrs+OjvLk6g1Oj6QkeDiJpinBZpLuVAmNNM5EwkzA9lNz9DRtZpVzisaa9Rvpr0Zjgl6VsL/lSkEdk2EgJlWhp8ZxOnZTNpaSQN5/RREKNh/jWKBoYYIuy/F7yFu/xGsEtYJhKQM0XklEW3rB+mIqVDGdYeqA4t3sNLBnZJwcSUPcbqSZwQlREJBhCMGDAfrVCvyGaY8kAq0ffKD+Udn1SNlewRUZEL7kzQPhtWVkDAgnv48zakNxaZXLz65dANS0tK8tWlDV5YiBotYAFMgqyx4n3PGxWDCnl5q0IDEoHQ9LE0rZTMypDNwK0sYxSzWgg5ohrafwxCPmDMXthn8V6BWiBQVoTBZCRdP7L542SGz5gH3kwd4lQj/U2GDieGb/pjPuQ+uslIyKkOzCjARIsMwk3HnHPOBQEv1LJbVPMofyrl+jSQ0mWkZ8I1CkSAFSGXoJKQMbsDow6aYxkK5vPGYDZjZU4UpQhl6FrjJv4xFEEh+YQpmPJ0e+ZlYJgEASmzi5sAmhEA0RTlmQMq2eIDr6JIgNhhSOqfcVI6NVBIMkcKwocfSvQpQA0zUdnTAnEEA4/fv0G0J86VzU+cCyAuz4A2XswLGO/vfHJYWavwaJ0/QnLKkY8hQ4xA6xdFhO4tVHG34N3wuv69SfnCNMQwTD/AElubFqMV/ZsWcXv42QVdo4l1i8MCKJWRiGQfCtv40bEASVrnMqdY6rrl9YfgYbYZbj1Fxxk20XqU5MWlnkncunb9kijjlxuXdgJ4PAPa0TrPQtmQkcFdxk1pSWngQQ7sqAIG013U4PfvoPENHzvGKbPmansuLSy9r3dHYbsddw79+CU4cg1mWwWXaPj2qCuuLAYwGiaeY/nP33a4P0SPJgyKCmZYB579DOsTYql1BIW75vk8vbKHdNiutT60Ke+anwVAnJJUAuzU8b9jXCpSbUPmz131L0Pl7bmO2wx6jRNfDyNTvBWzSXfvgVAa3uvk6fuWE2b59nUNHe4h3GI2V+qjRKdvQfQLm2nqs0jg3br302rkJVNQxnXhy2FqU8JRMDM/r53xzZVP+xAsEOCi8qWV+vkm6JUfL/yIBodD58dY5i7V0IDqMVWCEeMUmOhu7FiZm58cH0vgGrxwjLx/LOFlUa54Tho/3TR28LIJss7x9mzb08B/amRz2MgVo6oaWIxKglcTp8yy72jq6f8vNNmvvrDZtBPp1tbxBaUeevFfx034a+Xwr4iV8fcj3EOsQXtx40QbSepPLjWv31TBAY0yu076Hnug0/5mfh5E1fhoaPW+xeGIIm2w9SPgGLPWitfnbQHV0jYelNfl7ZK0nhuVD7MXNSheuxYNJ0Yqjn76Wt9UZm9iwJCKZt3jx1nH311CvGeUOilR7lY/SZ8ZDKgyPX/lmrOXx8j9xeaJiv7x4Gks/xh3HIij1F9eF2ffb9UuT0qEhohxQQnxIt/AP52hjL6TP8/AAAAAElFTkSuQmCC) 0 0/14px 44px no-repeat;flex-shrink:0;width:14px;height:44px}.highlight-middle{background:url(data:image/png;base64,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) 0 0/48px 44px repeat-x;flex:auto;height:44px}.highlight-right{background:url(data:image/png;base64,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) 0 0/17px 44px no-repeat;flex-shrink:0;width:17px;height:44px}.title-highlight-text{z-index:1;white-space:nowrap;font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;padding:0 16px 0 14px;position:relative}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}#expertises,#projets,#cv,#curriculum-vitae,#contacts,#contact{scroll-margin-top:96px}body{background-color:var(--color-neutral-200);font-family:var(--font-family-sans);color:var(--color-neutral-900);-webkit-font-smoothing:antialiased;margin:0;padding:0}.background-paper{background-color:var(--color-neutral-200);background-image:url(/assets/pattern-B-9EXsBq.png);background-repeat:repeat}.page-home-header{background-color:var(--color-neutral-200);border-bottom:1px solid var(--color-neutral-300);width:100%;padding-top:20px;padding-left:var(--spacing-24);padding-right:var(--spacing-24);box-sizing:border-box;flex-direction:column;align-items:center;display:flex;position:relative;overflow:hidden}.img-header-side{object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;z-index:0;width:160px;height:160px;position:absolute}.img-left-up{top:0;left:0}.img-left-middle{top:50%;left:0;transform:translateY(-50%)}.img-left-down{bottom:0;left:0}.img-right-up{top:0;right:0}.img-right-middle{top:50%;right:0;transform:translateY(-50%)}.img-right-down{bottom:0;right:0}.img-banner-mobile{display:none}.section-hero{z-index:1;width:100%;max-width:1224px;min-height:520px;padding-top:var(--spacing-100);padding-bottom:var(--spacing-100);text-align:center;box-sizing:border-box;flex-direction:column;justify-content:center;align-items:center;gap:20px;padding-left:60px;padding-right:60px;display:flex;position:relative}.hero-title{font-family:var(--font-family-sans);font-size:54px;font-weight:var(--font-weight-bold);letter-spacing:-1.5px;color:var(--color-neutral-800);margin:0;line-height:72px}.hero-subtitle{font-family:var(--font-family-sans);font-size:24px;font-weight:var(--font-weight-semibold);color:var(--color-neutral-600);max-width:1100px;margin:0;line-height:40px}.section-about{background-color:var(--color-neutral-50);width:100%;padding-top:40px;padding-left:var(--spacing-24);padding-right:var(--spacing-24);box-sizing:border-box;justify-content:center;display:flex;overflow:hidden}.about-container{box-sizing:border-box;justify-content:space-between;align-items:flex-end;gap:40px;width:100%;max-width:1224px;display:flex}.about-text{flex:1;align-items:center;min-width:0;padding-bottom:40px;display:flex}.about-bio{font-family:var(--font-family-sans);font-size:20px;font-weight:var(--font-weight-regular);color:var(--color-neutral-800);margin:0;line-height:32px}.about-bio strong{font-weight:var(--font-weight-semibold)}.about-photo-wrapper{flex-shrink:0;justify-content:center;align-items:flex-end;display:flex}.about-photo{object-fit:contain;object-position:bottom;width:300px;height:auto;max-height:340px;display:block}.about-citation-wrapper{flex:1;align-items:center;min-width:0;padding-bottom:40px;display:flex}.about-citation-wrapper .citation{width:100%}.section-skills{width:100%;padding-top:var(--spacing-150);padding-bottom:var(--spacing-150);box-sizing:border-box;justify-content:center;padding-left:60px;padding-right:60px;display:flex}.skills-container{box-sizing:border-box;flex-direction:column;gap:50px;width:100%;max-width:1224px;display:flex}.skills-title{font-family:var(--font-family-sans);font-size:32px;font-weight:var(--font-weight-bold);letter-spacing:-.25px;color:var(--color-neutral-800);margin:0;line-height:36px}.skills-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:40px;width:100%;display:grid}.skill-item{flex-direction:column;align-items:flex-start;gap:20px;display:flex}.skill-img-wrapper{background-color:var(--color-neutral-100);border-radius:var(--radius-radius-5);box-sizing:border-box;justify-content:center;align-items:center;width:100%;height:150px;padding:10px;display:flex;overflow:hidden}.skill-img-wrapper img{object-fit:contain;max-width:100%;max-height:100%;display:block}.skill-content{flex-direction:column;flex:1;gap:8px;min-width:0;display:flex}.skill-name{font-family:var(--font-family-sans);font-size:24px;font-weight:var(--font-weight-bold);color:var(--color-neutral-800);margin:0;line-height:28px}.skill-desc{font-family:var(--font-family-sans);font-size:18px;font-weight:var(--font-weight-regular);color:var(--color-neutral-600);margin:0;line-height:26px}.tools-block{flex-direction:column;gap:16px;padding:10px 0;display:flex}.tools-title{font-family:var(--font-family-sans);font-size:24px;font-weight:var(--font-weight-bold);color:var(--color-neutral-800);margin:0;line-height:28px}.tools-list{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.section-projects{background-color:var(--color-neutral-400);width:100%;padding-top:var(--spacing-150);padding-bottom:var(--spacing-150);box-sizing:border-box;justify-content:center;padding-left:60px;padding-right:60px;display:flex}.projects-container{box-sizing:border-box;flex-direction:column;align-items:center;gap:50px;width:100%;max-width:1224px;display:flex}.section-projects .projects-container{gap:50px}.projects-title{font-family:var(--font-family-sans);font-size:32px;font-weight:var(--font-weight-bold);letter-spacing:-.25px;color:var(--color-neutral-800);text-align:left;width:100%;margin:0;line-height:36px}.projects-carousel{box-sizing:border-box;justify-content:center;align-items:center;gap:20px;width:100%;display:flex;position:relative}.carousel-btn{border:1px solid var(--color-neutral-700);border-radius:var(--radius-radius-2);width:50px;height:50px;color:var(--color-neutral-700);cursor:pointer;box-sizing:border-box;background-color:#0000;flex-shrink:0;justify-content:center;align-items:center;padding:12px;transition:background-color .2s,color .2s,transform .15s;display:flex}.carousel-btn:hover{background-color:var(--color-neutral-700);color:var(--color-surface-overlay)}.carousel-btn:active{transform:scale(.95)}.carousel-btn svg{width:24px;height:24px;display:block}.carousel-viewport{box-sizing:content-box;flex:auto;max-width:1083px;margin:-8px 0;padding:8px 0;overflow:hidden}.carousel-track{will-change:transform;gap:32px;width:100%;transition:transform .5s cubic-bezier(.22,1,.36,1);display:flex}.carousel-slide{box-sizing:border-box;opacity:.35;flex:0 0 100%;width:100%;max-width:100%;transition:opacity .5s,transform .5s cubic-bezier(.22,1,.36,1);transform:scale(.97)}.carousel-slide.active{opacity:1;transform:scale(1)}.carousel-slide .project-card{background-color:var(--color-surface-overlay);border-radius:var(--radius-radius-10);width:100%;max-width:100%;box-shadow:0 4px 12px #00000014,0 1px 3px #0000000d}.carousel-pagination{justify-content:center;align-items:center;gap:8px;display:flex}.carousel-dot{cursor:pointer;background-color:#33323040;border:none;border-radius:50%;width:12px;height:12px;padding:0;transition:background-color .25s,transform .25s}.carousel-dot:hover{background-color:#33323080}.carousel-dot.active{background-color:var(--color-neutral-800);transform:scale(1)}.projects-gallery-cta{justify-content:center;align-items:center;width:100%;display:flex}.section-cv{width:100%;padding-top:var(--spacing-150);padding-bottom:var(--spacing-150);box-sizing:border-box;justify-content:center;padding-left:60px;padding-right:60px;display:flex}.cv-container{box-sizing:border-box;flex-direction:column;gap:50px;width:100%;max-width:1224px;display:flex}.cv-header{justify-content:space-between;align-items:center;gap:20px;width:100%;display:flex}.cv-title{font-family:var(--font-family-sans);font-size:32px;font-weight:var(--font-weight-bold);letter-spacing:-.25px;color:var(--color-neutral-800);margin:0;line-height:36px}.cv-entry{border-bottom:1px solid var(--color-neutral-400);box-sizing:border-box;align-items:flex-start;gap:40px;width:100%;padding-bottom:50px;display:flex}.cv-company-logo{background-color:var(--color-neutral-100);border-radius:var(--radius-radius-5);box-sizing:border-box;flex-shrink:0;justify-content:center;align-items:center;width:170px;height:100px;display:flex;overflow:hidden}.cv-company-logo img{object-fit:contain;max-width:100%;max-height:100%;display:block}.cv-job-info{flex-direction:column;flex-shrink:0;gap:8px;width:420px;display:flex}.cv-job-role{font-family:var(--font-family-sans);font-size:20px;font-weight:var(--font-weight-bold);color:var(--color-neutral-800);margin:0;line-height:24px}.cv-job-company{font-family:var(--font-family-sans);font-size:18px;font-weight:var(--font-weight-semibold);color:var(--color-neutral-700);margin:0;line-height:26px}.cv-job-period{font-family:var(--font-family-sans);font-size:16px;font-weight:var(--font-weight-regular);color:var(--color-neutral-600);margin:0;line-height:26px}.cv-job-desc{flex:1;min-width:0}.cv-job-desc p{font-family:var(--font-family-sans);font-size:18px;font-weight:var(--font-weight-regular);color:var(--color-neutral-600);margin:0;line-height:26px}.cv-additional{box-sizing:border-box;align-items:flex-start;gap:50px;width:100%;padding-top:10px;display:flex}.cv-additional-col{flex-direction:column;gap:10px;display:flex}.cv-additional-col.education{flex:1;min-width:0}.cv-additional-col.languages,.cv-additional-col.driving-license{flex-shrink:0;width:250px}.cv-additional-title{font-family:var(--font-family-sans);font-size:24px;font-weight:var(--font-weight-bold);color:var(--color-neutral-800);margin:0;line-height:28px}.cv-additional-text{font-family:var(--font-family-sans);font-size:18px;font-weight:var(--font-weight-regular);color:var(--color-neutral-600);margin:0;line-height:26px}.cv-download-btn,.section-cv .btn{align-self:flex-start;width:fit-content}.page-projects-header{width:100%;padding-top:20px;padding-left:var(--spacing-24);padding-right:var(--spacing-24);box-sizing:border-box;flex-direction:column;align-items:center;display:flex;position:relative;overflow:hidden}.page-projects-hero{z-index:1;box-sizing:border-box;flex-direction:column;justify-content:center;align-items:center;width:100%;max-width:1224px;height:300px;padding:100px 60px;display:flex;position:relative}.page-projects-title{font-family:var(--font-family-sans);font-size:56px;font-weight:var(--font-weight-bold);letter-spacing:-1.5px;color:var(--color-neutral-800);text-align:center;margin:0;line-height:64px}.section-projects-list{width:100%;padding-top:0;padding-bottom:100px;padding-left:var(--spacing-24);padding-right:var(--spacing-24);box-sizing:border-box;flex-direction:column;justify-content:center;align-items:center;display:flex}.section-projects-list .projects-container{box-sizing:border-box;flex-direction:column;gap:50px;width:100%;max-width:1083px;margin:0 auto;display:flex}@media (width<=1200px){.img-header-side{display:none}.img-banner-mobile{object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;max-width:260px;height:auto;margin:0 auto 10px;display:block}.skills-grid{gap:20px}.skill-name{font-size:20px;line-height:24px}.skill-desc{font-size:16px;line-height:22px}}@media (width<=992px){.section-skills,.section-projects,.section-cv{padding-top:var(--spacing-100);padding-bottom:var(--spacing-100);padding-left:24px;padding-right:24px}.projects-carousel{gap:12px}.carousel-btn{width:44px;height:44px;padding:10px}.cv-entry{flex-direction:column;gap:20px;padding-bottom:36px}.cv-job-info{width:100%}.cv-additional{flex-direction:column;gap:32px}.cv-additional-col.languages,.cv-additional-col.driving-license{width:100%}.skills-grid{grid-template-columns:1fr;row-gap:32px}.section-hero{padding-left:20px;padding-right:20px;padding-top:var(--spacing-150);padding-bottom:var(--spacing-100);min-height:auto}.hero-title{letter-spacing:-.5px;font-size:38px;line-height:50px}.hero-subtitle{font-size:20px;line-height:32px}.section-about{padding-bottom:40px}.about-container{flex-direction:column;align-items:center;gap:32px}.about-text,.about-citation-wrapper{width:100%;padding-bottom:0}.about-photo{width:240px}.page-projects-hero{height:auto;padding:60px 24px}.section-projects-list{padding-bottom:60px;padding-left:16px;padding-right:16px}}@media (width<=600px){.hero-title{font-size:30px;line-height:40px}.hero-subtitle,.about-bio{font-size:18px;line-height:28px}.skill-item{flex-direction:column}.skill-img-wrapper{width:100%;height:180px}.page-projects-hero{padding:40px 16px}.page-projects-title{letter-spacing:-.5px;font-size:36px;line-height:44px}.cv-header{flex-direction:column;align-items:flex-start;gap:16px}.section-projects{padding:60px 16px}.projects-container{gap:32px}.carousel-btn{display:none}}@media (width<=768px){.carousel-btn{display:none}.cv-header{flex-direction:column;align-items:flex-start;gap:16px}}
