body{margin:0}code{font-family:"SF Mono",SFMono-Regular,ui-monospace,Menlo,Consolas,monospace}.hero{display:flex;align-items:center;min-height:calc(100vh - 56px);min-height:calc(100dvh - 56px);padding:3rem 0;scroll-margin-top:56px}.theme-light .hero{color:#1b1a19}.theme-dark .hero{color:#e9e8e6}.hero-inner{display:flex;flex-direction:column;align-items:flex-start;width:100%}.portrait{width:120px;height:120px;border-radius:50%;object-fit:cover;margin-bottom:1.75rem}.theme-light .portrait{box-shadow:0 0 0 1px #e6e2db,0 8px 24px -14px rgba(28,27,25,.07)}.theme-dark .portrait{box-shadow:0 0 0 1px hsla(0,0%,100%,.1),0 8px 24px -14px rgba(0,0,0,.4)}.hero-name{font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:2.75rem;font-weight:600;letter-spacing:-.03em;line-height:1.1;margin:0}.theme-light .hero-name{color:#1b1a19}.theme-dark .hero-name{color:#e9e8e6}.hero-role{margin:.6rem 0 0;font-size:1.0625rem}.theme-light .hero-role{color:#5c5852}.theme-dark .hero-role{color:#a5a29c}.hero-role a{text-decoration:underline;text-underline-offset:2px;transition:color .15s cubic-bezier(.22,.61,.36,1)}.theme-light .hero-role a{-webkit-text-decoration-color:#e6e2db;text-decoration-color:#e6e2db}.theme-dark .hero-role a{-webkit-text-decoration-color:hsla(0,0%,100%,.1);text-decoration-color:hsla(0,0%,100%,.1)}.theme-light .hero-role a:hover{color:#2f5d8c;-webkit-text-decoration-color:#2f5d8c;text-decoration-color:#2f5d8c}.theme-dark .hero-role a:hover{color:#8fb8dd;-webkit-text-decoration-color:#8fb8dd;text-decoration-color:#8fb8dd}.hero-tagline{margin:.35rem 0 0;font-size:1.0625rem;max-width:34rem}.theme-light .hero-tagline{color:#5c5852}.theme-dark .hero-tagline{color:#a5a29c}.hero-icons{display:flex;align-items:center;flex-wrap:wrap;grid-gap:6px;gap:6px;margin-top:2rem;margin-left:-8px}.hero-icons a{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:6px;transition:color .15s cubic-bezier(.22,.61,.36,1),background .15s cubic-bezier(.22,.61,.36,1)}.theme-light .hero-icons a{color:#5c5852}.theme-dark .hero-icons a{color:#a5a29c}.theme-light .hero-icons a:hover{color:#1b1a19;background:#f4f2ee}.theme-dark .hero-icons a:hover{color:#e9e8e6;background:#26252b}.hero-icons svg{width:20px;height:20px}.hero-icons .cv-logo{font-weight:600;font-size:.9375rem;letter-spacing:.02em}@media (max-width:800px){.hero{padding:2rem 0}.hero-name{font-size:2.25rem}.hero-role,.hero-tagline{font-size:1rem}.portrait{width:104px;height:104px;margin-bottom:1.25rem}.hero-links{grid-gap:14px;gap:14px;margin-top:1.5rem}.hero-icons{grid-gap:2px;gap:2px}}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}body{font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color .2s ease,color .2s ease}.theme-light body{background:#fbfaf9;color:#1b1a19}.theme-dark body{background:#17161a;color:#e9e8e6}h1,h2,h3,h4,h5,h6{font-family:"Source Serif 4","Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;font-weight:600;letter-spacing:-.01em;line-height:1.25}a{color:inherit;text-decoration:none}a:focus{outline:none}a:focus-visible{outline:2px solid;outline-offset:2px}.theme-light a:focus-visible{outline-color:#2f5d8c}.theme-dark a:focus-visible{outline-color:#8fb8dd}button{font:inherit}button:focus{outline:none}button:focus-visible{outline:2px solid;outline-offset:2px}.theme-light button:focus-visible{outline-color:#2f5d8c}.theme-dark button:focus-visible{outline-color:#8fb8dd}ul{list-style:none}.theme-light ::selection{background:rgba(47,93,140,.1)}.theme-dark ::selection{background:rgba(143,184,221,.14)}.skip-link{position:absolute;left:12px;top:-60px;z-index:2000;padding:10px 16px;border-radius:6px;font-size:14px;transition:top .15s cubic-bezier(.22,.61,.36,1)}.theme-light .skip-link{background:#fff;color:#1b1a19;border:1px solid #e6e2db}.theme-dark .skip-link{background:#1d1c21;color:#e9e8e6;border:1px solid hsla(0,0%,100%,.1)}.skip-link:focus{top:12px}.theme-light .header{background:#fbfaf9}.theme-dark .header{background:#17161a}.section{padding:5.5rem 0;scroll-margin-top:72px}.section__inner{max-width:768px;margin:0 auto;padding:0 24px}.section__head{max-width:720px;margin-bottom:2rem}.section__title,.title{font-family:"Source Serif 4","Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;font-size:1.875rem;font-weight:600;letter-spacing:-.015em;margin:0}.theme-light .section__title,.theme-light .title{color:#1b1a19}.theme-dark .section__title,.theme-dark .title{color:#e9e8e6}.section__intro,.span-title-comment{margin:.6rem 0 0;font-size:1rem}.theme-light .section__intro,.theme-light .span-title-comment{color:#5c5852}.theme-dark .section__intro,.theme-dark .span-title-comment{color:#a5a29c}.section__intro a,.span-title-comment a{text-decoration:underline;text-underline-offset:2px;transition:color .15s cubic-bezier(.22,.61,.36,1)}.theme-light .section__intro a,.theme-light .span-title-comment a{color:#2f5d8c;-webkit-text-decoration-color:rgba(47,93,140,.1);text-decoration-color:rgba(47,93,140,.1)}.theme-dark .section__intro a,.theme-dark .span-title-comment a{color:#8fb8dd;-webkit-text-decoration-color:rgba(143,184,221,.14);text-decoration-color:rgba(143,184,221,.14)}.theme-light .section__intro a:hover,.theme-light .span-title-comment a:hover{color:#21456a;-webkit-text-decoration-color:#2f5d8c;text-decoration-color:#2f5d8c}.theme-dark .section__intro a:hover,.theme-dark .span-title-comment a:hover{color:#a9cbe9;-webkit-text-decoration-color:#8fb8dd;text-decoration-color:#8fb8dd}.prose{max-width:720px;line-height:1.72}.theme-light .prose{color:#38352f}.theme-dark .prose{color:#c9c6c1}.prose p{margin:0 0 1.1rem}.prose p:last-child{margin-bottom:0}.prose b,.prose strong{font-weight:600}.theme-light .prose b,.theme-light .prose strong{color:#1b1a19}.theme-dark .prose b,.theme-dark .prose strong{color:#e9e8e6}.prose a{text-decoration:underline;text-underline-offset:2px;transition:color .15s cubic-bezier(.22,.61,.36,1)}.theme-light .prose a{color:#2f5d8c;-webkit-text-decoration-color:rgba(47,93,140,.1);text-decoration-color:rgba(47,93,140,.1)}.theme-dark .prose a{color:#8fb8dd;-webkit-text-decoration-color:rgba(143,184,221,.14);text-decoration-color:rgba(143,184,221,.14)}.theme-light .prose a:hover{color:#21456a;-webkit-text-decoration-color:#2f5d8c;text-decoration-color:#2f5d8c}.theme-dark .prose a:hover{color:#a9cbe9;-webkit-text-decoration-color:#8fb8dd;text-decoration-color:#8fb8dd}.theme-light .accent-color{color:#2f5d8c}.theme-dark .accent-color{color:#8fb8dd}.accent-underline{text-decoration:underline;text-underline-offset:2px}.theme-light .accent-underline{color:#2f5d8c;-webkit-text-decoration-color:#2f5d8c;text-decoration-color:#2f5d8c}.theme-dark .accent-underline{color:#8fb8dd;-webkit-text-decoration-color:#8fb8dd;text-decoration-color:#8fb8dd}.accent-box,.card-surface{border-radius:10px;transition:border-color .18s cubic-bezier(.22,.61,.36,1),box-shadow .18s cubic-bezier(.22,.61,.36,1),transform .18s cubic-bezier(.22,.61,.36,1)}.theme-light .accent-box,.theme-light .card-surface{background:#fff;color:#1b1a19;border:1px solid #e6e2db;box-shadow:0 1px 2px rgba(28,27,25,.07)}.theme-dark .accent-box,.theme-dark .card-surface{background:#1d1c21;color:#e9e8e6;border:1px solid hsla(0,0%,100%,.1);box-shadow:0 1px 2px rgba(0,0,0,.4)}.vertical-space{height:4rem}.small-vertical-space{height:2.5rem}.very-small-vertical-space{height:1.25rem}.vertical-space-only-mobile{height:0}@media (max-width:800px){body{font-size:16px}.section{padding:3.5rem 0}.section__title,.title{font-size:1.6rem}.section__inner{padding:0 20px}}.news-list{max-width:720px;margin:0;padding:0}.news-item{display:grid;grid-template-columns:6.5rem 1.5rem 1fr;align-items:baseline;grid-gap:0 .85rem;gap:0 .85rem;padding:.3rem 0}.theme-light .news-item+.news-item{border-top:1px solid #ece8e1}.theme-dark .news-item+.news-item{border-top:1px solid hsla(0,0%,100%,.07)}.news-item__date{font-size:.8125rem;font-weight:500;letter-spacing:.02em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;padding-top:.2rem;white-space:nowrap}.theme-light .news-item__date{color:#767169}.theme-dark .news-item__date{color:#8a8781}.news-item__body{margin:0;font-size:.9688rem;line-height:1.6}.theme-light .news-item__body{color:#38352f}.theme-dark .news-item__body{color:#c9c6c1}.news-item__body b{font-weight:600}.theme-light .news-item__body b{color:#1b1a19}.theme-dark .news-item__body b{color:#e9e8e6}.news-item__body a{text-decoration:underline;text-underline-offset:2px;transition:color .15s cubic-bezier(.22,.61,.36,1)}.theme-light .news-item__body a{color:#2f5d8c;-webkit-text-decoration-color:rgba(47,93,140,.1);text-decoration-color:rgba(47,93,140,.1)}.theme-dark .news-item__body a{color:#8fb8dd;-webkit-text-decoration-color:rgba(143,184,221,.14);text-decoration-color:rgba(143,184,221,.14)}.theme-light .news-item__body a:hover{color:#21456a;-webkit-text-decoration-color:#2f5d8c;text-decoration-color:#2f5d8c}.theme-dark .news-item__body a:hover{color:#a9cbe9;-webkit-text-decoration-color:#8fb8dd;text-decoration-color:#8fb8dd}.news-item__emoji{text-align:center;line-height:1.6}@media (max-width:600px){.news-item{grid-template-columns:1.5rem 1fr;grid-gap:.15rem .6rem;gap:.15rem .6rem}.news-item__date{grid-column:1/-1;padding-top:0}}.collaboration-card{padding:1.6rem 1.75rem;font-size:.9688rem;line-height:1.7}.theme-light .collaboration-card{color:#38352f}.theme-dark .collaboration-card{color:#c9c6c1}.collaboration-card p{max-width:62ch;margin:0 0 1rem}.collaboration-card b{font-weight:600}.theme-light .collaboration-card b{color:#1b1a19}.theme-dark .collaboration-card b{color:#e9e8e6}.collaboration-card__topics{margin:0 0 1.5rem;padding:0;list-style:none}.collaboration-card__topics li{position:relative;padding-left:1.25rem;font-size:.9375rem;line-height:1.55}.collaboration-card__topics li+li{margin-top:.4rem}.theme-light .collaboration-card__topics li{color:#38352f}.theme-dark .collaboration-card__topics li{color:#c9c6c1}.collaboration-card__topics li:before{content:"";position:absolute;left:.15rem;top:.62em;width:5px;height:5px;border-radius:50%}.theme-light .collaboration-card__topics li:before{background:#2f5d8c}.theme-dark .collaboration-card__topics li:before{background:#8fb8dd}.collaboration-card__cta{display:inline-flex;align-items:center;grid-gap:9px;gap:9px;height:38px;padding:0 18px;border-radius:999px;font-size:.9375rem;font-weight:500;transition:transform .15s cubic-bezier(.22,.61,.36,1),background .15s cubic-bezier(.22,.61,.36,1),box-shadow .15s cubic-bezier(.22,.61,.36,1)}.theme-light .collaboration-card__cta{color:#fff;background:#2f5d8c}.theme-dark .collaboration-card__cta{color:#14131a;background:#8fb8dd}.collaboration-card__cta:hover{transform:translateY(-1px)}.theme-light .collaboration-card__cta:hover{color:#fff;background:#21456a;box-shadow:0 8px 18px -8px #2f5d8c}.theme-dark .collaboration-card__cta:hover{color:#14131a;background:#a9cbe9;box-shadow:0 8px 18px -8px #8fb8dd}.collaboration-card__cta i{font-size:.875rem}@media (max-width:800px){.collaboration-card{padding:1.25rem}}.timeline-vspace{margin-top:120px}.birth{font-size:1.5em}.background-subscript{font-size:.6em!important}@media (max-width:800px){.timeline-content .birth{text-align:left;font-size:1em}.vertical-space-only-mobile{height:14vh}}.timeline{line-height:1.4em;list-style:none;margin:0;padding:0;width:100%}.timeline h1,.timeline h2,.timeline h3,.timeline h4,.timeline h5,.timeline h6{line-height:inherit}.theme-light .timeline-title{color:#1b1a19}.theme-dark .timeline-title{color:#e9e8e6}.theme-light .timeline-content p{color:#5c5852}.theme-dark .timeline-content p{color:#a5a29c}.theme-light .timeline-info span{color:#1b1a19}.theme-dark .timeline-info span{color:#e9e8e6}.timeline-item{padding-left:60px}.timeline-item:last-child{padding-bottom:0}.timeline-info{font-size:12px;font-weight:700;letter-spacing:3px;margin:0 0 .5em;text-transform:uppercase;white-space:nowrap}.timeline-marker{position:absolute;top:0;bottom:0;left:0;width:15px}.timeline-marker:before{border:3px solid transparent;border-radius:100%;content:"";display:block;height:15px;position:absolute;top:4px;left:0;width:15px;transition:background .3s ease-in-out,border .3s ease-in-out}.theme-light .timeline-marker:before{background:#2f5d8c}.theme-dark .timeline-marker:before{background:#8fb8dd}.timeline-marker:after{content:"";width:3px;background:#ccd5db;display:block;position:absolute;top:24px;bottom:0;left:6px}.timeline-item:last-child .timeline-marker:after{content:none}.timeline-item:not(.period):hover .timeline-marker:before{background:transparent}.theme-light .timeline-item:not(.period):hover .timeline-marker:before{border:3px solid #2f5d8c}.theme-dark .timeline-item:not(.period):hover .timeline-marker:before{border:3px solid #8fb8dd}.timeline-content p:last-child{margin-bottom:0}.period{padding:0}.period .timeline-info{display:none}.period .timeline-marker:before{background:transparent;content:"";width:15px;height:auto;border-radius:0;top:0;bottom:30px;position:absolute;border:3px solid #ccd5db;border-right:none;border-left:none}.period .timeline-marker:after{content:"";height:32px;top:auto}.period .timeline-content{padding:40px 0 70px}.period .timeline-title{margin:0}@media (min-width:768px){.timeline-centered .timeline,.timeline-split .timeline{display:table}.timeline-centered .timeline-item,.timeline-split .timeline-item{display:table-row;padding:0}.timeline-centered .period .timeline-info,.timeline-centered .timeline-content,.timeline-centered .timeline-info,.timeline-centered .timeline-marker,.timeline-split .period .timeline-info,.timeline-split .timeline-content,.timeline-split .timeline-info,.timeline-split .timeline-marker{display:table-cell;vertical-align:top}.timeline-centered .timeline-marker,.timeline-split .timeline-marker{position:relative}.timeline-centered .timeline-content,.timeline-split .timeline-content{padding-left:30px}.timeline-centered .timeline-info,.timeline-split .timeline-info{padding-right:30px}.timeline-centered .period .timeline-title,.timeline-split .period .timeline-title{position:relative;left:-45px}}@media (min-width:992px){.timeline-centered,.timeline-centered .timeline-content,.timeline-centered .timeline-info,.timeline-centered .timeline-item,.timeline-centered .timeline-marker{display:block;margin:0;padding:0}.timeline-centered .timeline-item{padding-bottom:40px;overflow:hidden}.timeline-centered .timeline-marker{position:absolute;left:50%;margin-left:-7.5px}.timeline-centered .timeline-content,.timeline-centered .timeline-info{width:50%}.timeline-centered>.timeline-item:nth-child(odd) .timeline-info{float:left;text-align:right;padding-right:30px}.timeline-centered>.timeline-item:nth-child(2n) .timeline-info,.timeline-centered>.timeline-item:nth-child(odd) .timeline-content{float:right;text-align:left;padding-left:30px}.timeline-centered>.timeline-item:nth-child(2n) .timeline-content{float:left;text-align:right;padding-right:30px}.timeline-centered>.timeline-item.period .timeline-content{float:none;padding:0;width:100%;text-align:center}.timeline-centered .timeline-item.period{padding:50px 0 90px}.timeline-centered .period .timeline-marker:after{height:30px;bottom:0;top:auto}.timeline-centered .period .timeline-title{left:auto}}.marker-outline .timeline-marker:before{background:transparent}.theme-light .marker-outline .timeline-marker:before{border-color:#2f5d8c}.theme-dark .marker-outline .timeline-marker:before{border-color:#8fb8dd}.theme-light .marker-outline .timeline-item:hover .timeline-marker:before{background:#2f5d8c}.theme-dark .marker-outline .timeline-item:hover .timeline-marker:before{background:#8fb8dd}.timeline{position:relative}.timeline:before{content:"";position:absolute;left:21px;top:44px;bottom:44px;width:1px}.theme-light .timeline:before{background:#e6e2db}.theme-dark .timeline:before{background:hsla(0,0%,100%,.1)}.timeline-item{display:flex;align-items:flex-start;position:relative;padding:.55rem 0}.timeline-item+.timeline-item{margin-top:.4rem}.timeline-logo{width:44px;height:44px;min-width:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#fff;overflow:hidden;z-index:1}.theme-light .timeline-logo{box-shadow:0 0 0 1px #e6e2db}.theme-dark .timeline-logo{box-shadow:0 0 0 1px hsla(0,0%,100%,.1)}.timeline-logo img{width:26px;height:26px;object-fit:contain}.timeline-content{margin-left:1.125rem;padding-top:.1rem}.timeline-role{font-size:1rem;font-weight:600;line-height:1.4}.theme-light .timeline-role{color:#1b1a19}.theme-dark .timeline-role{color:#e9e8e6}.timeline-org{font-size:.9375rem;line-height:1.5}.timeline-org a{transition:color .15s cubic-bezier(.22,.61,.36,1)}.theme-light .timeline-org a{color:#5c5852}.theme-dark .timeline-org a{color:#a5a29c}.theme-light .timeline-org a:hover{color:#2f5d8c}.theme-dark .timeline-org a:hover{color:#8fb8dd}.timeline-details{font-size:.8438rem;margin-top:.1rem}.theme-light .timeline-details{color:#767169}.theme-dark .timeline-details{color:#8a8781}@media (max-width:800px){.timeline-content{margin-left:.9rem}.timeline-role{font-size:.9375rem}.timeline-org{font-size:.875rem}}.tdt{display:flex;justify-content:center;margin-bottom:4vh}.tdt .hot-topics{font-size:26px;font-weight:500;width:400px;margin-top:auto;margin-bottom:auto}.theme-light .tdt .hot-topics{color:#1b1a19}.theme-dark .tdt .hot-topics{color:#e9e8e6}.tdt .nn-image{float:right}.tdt .tdt-spacing{height:100%;width:60px}.small-div{width:400px}.flexed{display:flex;justify-content:center}.competences-list{text-align:left}.theme-light .competences-list{color:#5c5852}.theme-dark .competences-list{color:#a5a29c}.competences-list ol{list-style:none}.competences-list li{margin:.25rem;font-size:18px;font-weight:inherit}.competences-list li:before{content:"A";width:2rem;height:2rem;border-radius:50%;display:inline-block;line-height:2rem;color:transparent;text-align:center;margin-right:.5rem}.competences-list ol li span{font-weight:600}.theme-light .competences-list ol li span{color:#1b1a19}.theme-dark .competences-list ol li span{color:#e9e8e6}.competences-list ol ol li:before{margin-left:20px;width:1.5rem;height:1.5rem;line-height:1.5rem}.theme-light .competences-list ol ol li:before{background:#f1efeb}.theme-dark .competences-list ol ol li:before{background:#232228}.competences-list .li-title{margin-top:15px}.competences-list .one:before{background:#ed6570}.competences-list .two:before{background:#f69488}.competences-list .three:before{background:#ffd086}.competences-list .four:before{background:#4e9bb9}.competences-list .five:before{background:#91cbd7}@media (max-width:800px){.tdt .hot-topics{width:45vw;font-size:1em}.competences-list li{font-size:1em}}#blog{margin:0}.blog__slider{margin:0;padding:0}.theme-light .article-item+.article-item{border-top:1px solid #ece8e1}.theme-dark .article-item+.article-item{border-top:1px solid hsla(0,0%,100%,.07)}.article-card{display:grid;grid-template-columns:1fr 168px;grid-gap:1.5rem;gap:1.5rem;align-items:center;padding:1.25rem 0}.article-card__body{min-width:0}.article-card__date{display:block;font-size:.75rem;font-weight:500;letter-spacing:.04em;text-transform:uppercase;margin-bottom:.35rem}.theme-light .article-card__date{color:#767169}.theme-dark .article-card__date{color:#8a8781}.article-card__title{font-family:"Source Serif 4","Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;font-size:1.0625rem;font-weight:600;line-height:1.4;margin:0 0 .4rem;transition:color .15s cubic-bezier(.22,.61,.36,1)}.theme-light .article-card__title{color:#1b1a19}.theme-dark .article-card__title{color:#e9e8e6}.article-card__excerpt{margin:0;font-size:.875rem;line-height:1.6}.theme-light .article-card__excerpt{color:#5c5852}.theme-dark .article-card__excerpt{color:#a5a29c}.article-card__figure{display:flex;align-items:center;justify-content:center}.article-card__figure img{width:100%;height:104px;object-fit:cover;border-radius:6px}.theme-light .article-card__figure img{border:1px solid #e6e2db}.theme-dark .article-card__figure img{border:1px solid hsla(0,0%,100%,.1)}.theme-light .article-link:hover .article-card__title{color:#2f5d8c}.theme-dark .article-link:hover .article-card__title{color:#8fb8dd}.blog__counter{display:none}.more-articles{margin-top:1.5rem;font-size:.9375rem}@media (max-width:680px){.article-card{grid-template-columns:1fr;grid-gap:.875rem;gap:.875rem}.article-card__figure{order:-1}.article-card__figure img{height:160px}}.flexed-icons{display:flex;flex-direction:row;justify-content:center;font-size:3.8vh;margin-top:80px}.theme-light .flexed-icons{color:#fbfaf9}.theme-dark .flexed-icons{color:#17161a}.flexed-icons a:hover{color:inherit!important}.flexed-icons .fa-stack{transition:all .3s ease-in-out}.flexed-icons .fa-stack:hover{cursor:pointer;filter:brightness(85%)}.theme-light .icon-background{color:#1b1a19}.theme-dark .icon-background{color:#e9e8e6}@media (max-width:800px){.flexed-icons{font-size:3.3vh}}.site-footer{margin-top:2rem;padding:2rem 0}.theme-light .site-footer{background:#fbfaf9;border-top:1px solid #ece8e1}.theme-dark .site-footer{background:#17161a;border-top:1px solid hsla(0,0%,100%,.07)}.site-footer__inner{max-width:768px;margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between;grid-gap:12px;gap:12px;flex-wrap:wrap;font-size:.875rem}.theme-light .site-footer__inner{color:#767169}.theme-dark .site-footer__inner{color:#8a8781}.site-footer__note{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}@media (max-width:600px){.site-footer__inner{justify-content:center;text-align:center}}.interests-icons{font-size:1.4em;font-weight:600}.theme-light .interests-icons{color:#1b1a19}.theme-dark .interests-icons{color:#e9e8e6}.interests-icons .interests-text{text-align:left;margin:auto}.interests-icons .interests-text span{font-family:"Courier New",monospace}@media (max-width:800px){.interests-icons{font-size:1em}}.project-card{border-radius:2rem;box-shadow:2px 2px 5px 0 rgba(0,0,0,.4);display:flex;max-width:100%;margin:20px auto;width:80vh;height:250px;overflow:hidden}.theme-light .project-card{background-color:#fbfaf9}.theme-dark .project-card{background-color:#17161a}.project-card h6{opacity:.6;margin:0;letter-spacing:1px;text-transform:uppercase}.project-card .project-card__subtitle{opacity:.6;margin:0;font-size:.9em}.project-card h3{letter-spacing:1px;margin:10px 0;font-size:24px}.project-card img{transition:transform .5s ease}.project-card:hover img{transform:scale(1.05)}.project-card__img{width:95%;margin:auto}.project-card__img_small{width:50%!important;margin:auto}.project-card__preview{padding:30px;width:45%}.theme-light .project-card__preview{background-color:#f1efeb}.theme-dark .project-card__preview{background-color:#232228}.theme-light .project-card__preview{color:#1b1a19}.theme-dark .project-card__preview{color:#e9e8e6}.project-card__preview .project-card__info a{display:inline-block;font-size:12px;opacity:.6;margin-top:30px;text-decoration:none}.theme-light .project-card__preview .project-card__info a{color:#1b1a19}.theme-dark .project-card__preview .project-card__info a{color:#e9e8e6}.project-card__info{display:flex;position:relative;width:100%}.progress-container{position:absolute;top:30px;right:30px;text-align:right;width:130px}.progress{border-radius:3px;height:5px;width:100%}.theme-light .progress{background-color:#f1efeb}.theme-dark .progress{background-color:#232228}.progress:after{border-radius:3px;content:"";position:absolute;top:0;left:0;height:5px}.theme-light .progress:after{background-color:#2f5d8c}.theme-dark .progress:after{background-color:#8fb8dd}.progress-1:after{width:70%}.progress-text{font-size:10px;opacity:.6;letter-spacing:1px}.theme-light .progress-text{color:#1b1a19}.theme-dark .progress-text{color:#e9e8e6}.project-card__btn{border:0;border-radius:50px;box-shadow:0 10px 10px rgba(0,0,0,.2);font-size:14px;padding:12px 25px;position:absolute;bottom:30px;right:30px;letter-spacing:1px}.theme-light .project-card__btn{background-color:#f1efeb}.theme-dark .project-card__btn{background-color:#232228}.theme-light .project-card__btn{color:#1b1a19}.theme-dark .project-card__btn{color:#e9e8e6}.theme-light .project-card__btn:hover{color:#2f5d8c}.theme-dark .project-card__btn:hover{color:#8fb8dd}@media (max-width:800px){.project-card__btn{font-size:12px;padding:10px 15px}.project-card h3{font-size:18px}.project-card__preview{padding:20px}.progress-container{display:none}}.visual-project-card__img{width:70%;margin:auto}.projects-body{margin:10px 50px 50px}.tsp-label{font-family:"Courier";font-size:25px;margin:0}.cityLabel{font-size:14px}.project-link{text-decoration:underline;font-style:italic}.flex-wrap{display:flex;flex-wrap:wrap}.grey{background:#eee;padding:20px;border-radius:20px}.horizontal-pad{width:30px;height:2px}.knapsack-stats{margin-bottom:30px}.knapsack-simulation-div{display:none;padding:0!important}.knapsack-block{margin-top:10px}body{padding-top:56px}#navbar-main{height:56px;display:flex;align-items:center;padding:0;backdrop-filter:saturate(180%) blur(12px);-webkit-backdrop-filter:saturate(180%) blur(12px)}.theme-light #navbar-main{background:hsla(30,20%,98%,.82);border-bottom:1px solid #ece8e1}.theme-dark #navbar-main{background:rgba(23,22,26,.82);border-bottom:1px solid hsla(0,0%,100%,.07)}.navbar-inner{width:100%;max-width:768px;margin:0 auto;padding:0 24px;min-height:56px;justify-content:space-between;grid-gap:16px;gap:16px}.navbar-inner,.navbar-right{display:flex;align-items:center}.navbar-right{grid-gap:4px;gap:4px}.navbar-brand{font-family:"Source Serif 4","Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;font-size:1.0625rem;font-weight:600;letter-spacing:-.01em;margin:0;padding:0}.theme-light .navbar-brand{color:#1b1a19}.theme-dark .navbar-brand{color:#e9e8e6}.theme-light .navbar-brand:hover{color:#2f5d8c}.theme-dark .navbar-brand:hover{color:#8fb8dd}#navbar-main .navbar-nav{align-items:center;grid-gap:0;gap:0;margin-bottom:0}#navbar-main .nav-item{position:relative}#navbar-main .nav-link{position:relative;font-size:.8125rem;line-height:1.25;padding:6px 8px;border-radius:6px;transition:color .15s cubic-bezier(.22,.61,.36,1)}.theme-light #navbar-main .nav-link{color:#5c5852}.theme-dark #navbar-main .nav-link{color:#a5a29c}#navbar-main .nav-link:after{content:"";position:absolute;left:8px;right:8px;bottom:2px;height:1.5px;border-radius:2px;transform:scaleX(0);transition:transform .2s cubic-bezier(.22,.61,.36,1)}.theme-light #navbar-main .nav-link:after{background:#2f5d8c}.theme-dark #navbar-main .nav-link:after{background:#8fb8dd}.theme-light #navbar-main .nav-link:hover{color:#1b1a19}.theme-dark #navbar-main .nav-link:hover{color:#e9e8e6}#navbar-main .nav-link:hover:after{transform:scaleX(1)}.theme-light nav .navbar-nav li.active .nav-link{color:#1b1a19}.theme-dark nav .navbar-nav li.active .nav-link{color:#e9e8e6}nav .navbar-nav li.active .nav-link:after{transform:scaleX(1)}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;margin-left:6px;padding:0;border:none;border-radius:6px;cursor:pointer;background:transparent;transition:background .15s cubic-bezier(.22,.61,.36,1),color .15s cubic-bezier(.22,.61,.36,1)}.theme-light .theme-toggle{color:#5c5852}.theme-dark .theme-toggle{color:#a5a29c}.theme-light .theme-toggle:hover{background:#f4f2ee;color:#1b1a19}.theme-dark .theme-toggle:hover{background:#26252b;color:#e9e8e6}.theme-toggle svg{display:block}.theme-dark .theme-toggle__moon,.theme-light .theme-toggle__sun{display:none}#navbar-main .navbar-toggler{border:none;padding:6px 8px;font-size:1rem;background:transparent}.theme-light #navbar-main .navbar-toggler{color:#1b1a19}.theme-dark #navbar-main .navbar-toggler{color:#e9e8e6}@media (max-width:991.98px){#navbar-main .navbar-collapse{position:fixed;top:56px;left:0;right:0;z-index:1050;padding:.5rem 20px .75rem}.theme-light #navbar-main .navbar-collapse{background:#fbfaf9;border-bottom:1px solid #ece8e1;box-shadow:0 10px 24px -12px rgba(28,27,25,.07)}.theme-dark #navbar-main .navbar-collapse{background:#17161a;border-bottom:1px solid hsla(0,0%,100%,.07);box-shadow:0 10px 24px -12px rgba(0,0,0,.4)}#navbar-main .navbar-nav{align-items:stretch;grid-gap:0;gap:0}#navbar-main .nav-link{padding:.6rem 0;font-size:.9375rem}#navbar-main .nav-link:after{display:none}.theme-light nav .navbar-nav li.active .nav-link{color:#2f5d8c}.theme-dark nav .navbar-nav li.active .nav-link{color:#8fb8dd}}@media (max-width:480px){.navbar-inner{padding:0 16px}}.publication-list{display:flex;flex-direction:column;grid-gap:1rem;gap:1rem}.publication-card{display:grid;grid-template-columns:1fr 200px;grid-gap:1.5rem;gap:1.5rem;align-items:center;padding:1.25rem 1.375rem}.theme-light .publication-card:hover{box-shadow:0 2px 4px rgba(28,27,25,.07),0 12px 28px -16px rgba(28,27,25,.07)}.theme-dark .publication-card:hover{box-shadow:0 2px 4px rgba(0,0,0,.4),0 12px 28px -16px rgba(0,0,0,.4)}.publication-card__body{min-width:0}.publication-card__meta{display:flex;align-items:center;flex-wrap:wrap;grid-gap:.5rem;gap:.5rem;margin-bottom:.5rem}.publication-card__venue{font-size:.6875rem;font-weight:600;letter-spacing:.07em;text-transform:uppercase;line-height:1.4}.theme-light .publication-card__venue{color:#767169}.theme-dark .publication-card__venue{color:#8a8781}.publication-card__award{display:inline-flex;align-items:center;grid-gap:5px;gap:5px;font-size:.6875rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;padding:2px 8px;border-radius:999px}.theme-light .publication-card__award{color:#2f5d8c;background:rgba(47,93,140,.1)}.theme-dark .publication-card__award{color:#8fb8dd;background:rgba(143,184,221,.14)}.publication-card .card-title{font-family:"Source Serif 4","Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;font-size:1.125rem;font-weight:600;line-height:1.35;letter-spacing:-.005em;margin:0 0 .55rem}.theme-light .publication-card .card-title{color:#1b1a19}.theme-dark .publication-card .card-title{color:#e9e8e6}.publication-card__authors{margin:0 0 .9rem;font-size:.875rem;line-height:1.6}.theme-light .publication-card__authors{color:#5c5852}.theme-dark .publication-card__authors{color:#a5a29c}.publication-card__authors u{text-decoration:none;font-weight:600}.theme-light .publication-card__authors u{color:#1b1a19}.theme-dark .publication-card__authors u{color:#e9e8e6}.publication-card__note{white-space:nowrap}.theme-light .publication-card__note{color:#767169}.theme-dark .publication-card__note{color:#8a8781}.publication-card__links{display:flex;flex-wrap:wrap;grid-gap:8px;gap:8px}.publication-card__links a{display:inline-flex;align-items:center;grid-gap:6px;gap:6px;font-size:.8125rem;font-weight:500;padding:4px 11px;border-radius:999px;white-space:nowrap;transition:color .15s cubic-bezier(.22,.61,.36,1),border-color .15s cubic-bezier(.22,.61,.36,1),background .15s cubic-bezier(.22,.61,.36,1)}.theme-light .publication-card__links a{color:#5c5852;border:1px solid #e6e2db}.theme-dark .publication-card__links a{color:#a5a29c;border:1px solid hsla(0,0%,100%,.1)}.theme-light .publication-card__links a:hover{color:#2f5d8c;border-color:#2f5d8c;background:rgba(47,93,140,.1)}.theme-dark .publication-card__links a:hover{color:#8fb8dd;border-color:#8fb8dd;background:rgba(143,184,221,.14)}.publication-card__links a i{font-size:.75rem}.publication-card__figure{display:flex;align-items:center;justify-content:center}.publication-card__image{max-width:100%;max-height:165px;border-radius:6px;background:#fff;padding:5px}.theme-light .publication-card__image{border:1px solid #e6e2db}.theme-dark .publication-card__image{border:1px solid hsla(0,0%,100%,.1)}.publications-toggle{display:flex;justify-content:center;margin-top:1.75rem}.publications-toggle button{cursor:pointer;display:inline-flex;align-items:center;grid-gap:8px;gap:8px;font-size:.875rem;font-weight:500;height:36px;padding:0 18px;border-radius:999px;background:transparent;transition:color .15s cubic-bezier(.22,.61,.36,1),border-color .15s cubic-bezier(.22,.61,.36,1),background .15s cubic-bezier(.22,.61,.36,1)}.theme-light .publications-toggle button{color:#5c5852;border:1px solid #e6e2db}.theme-dark .publications-toggle button{color:#a5a29c;border:1px solid hsla(0,0%,100%,.1)}.theme-light .publications-toggle button:hover{color:#2f5d8c;border-color:#2f5d8c;background:rgba(47,93,140,.1)}.theme-dark .publications-toggle button:hover{color:#8fb8dd;border-color:#8fb8dd;background:rgba(143,184,221,.14)}.publications-toggle__chevron{transition:transform .2s cubic-bezier(.22,.61,.36,1)}.publications-toggle__chevron--up{transform:rotate(180deg)}@media (max-width:780px){.publication-card{grid-template-columns:1fr;grid-gap:1.125rem;gap:1.125rem}.publication-card__figure{order:-1}.publication-card__image{max-height:190px}}.talks-list{margin:0;padding:0}.talk-item{display:grid;grid-template-columns:1fr auto;align-items:baseline;grid-gap:.5rem 1.5rem;gap:.5rem 1.5rem;padding:.3rem 0}.theme-light .talk-item+.talk-item{border-top:1px solid #ece8e1}.theme-dark .talk-item+.talk-item{border-top:1px solid hsla(0,0%,100%,.07)}.talk-item__main{min-width:0}.talk-item__host{font-weight:600;font-size:.9688rem}.theme-light .talk-item__host{color:#1b1a19}.theme-dark .talk-item__host{color:#e9e8e6}.talk-item__host:after{content:" — ";font-weight:400;white-space:pre}.theme-light .talk-item__host:after{color:#767169}.theme-dark .talk-item__host:after{color:#8a8781}.talk-item__title{font-size:.9688rem}.theme-light .talk-item__title{color:#38352f}.theme-dark .talk-item__title{color:#c9c6c1}.talk-item__meta{display:flex;align-items:baseline;grid-gap:.75rem;gap:.75rem;justify-self:end;white-space:nowrap}.talk-item__place{font-size:.8125rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.theme-light .talk-item__place{color:#767169}.theme-dark .talk-item__place{color:#8a8781}.talk-item__links{display:inline-flex;grid-gap:.6rem;gap:.6rem}.talk-item__links a{font-size:.8125rem;font-weight:500;text-decoration:underline;text-underline-offset:2px;transition:color .15s cubic-bezier(.22,.61,.36,1)}.theme-light .talk-item__links a{color:#2f5d8c;-webkit-text-decoration-color:rgba(47,93,140,.1);text-decoration-color:rgba(47,93,140,.1)}.theme-dark .talk-item__links a{color:#8fb8dd;-webkit-text-decoration-color:rgba(143,184,221,.14);text-decoration-color:rgba(143,184,221,.14)}.theme-light .talk-item__links a:hover{color:#21456a;-webkit-text-decoration-color:#2f5d8c;text-decoration-color:#2f5d8c}.theme-dark .talk-item__links a:hover{color:#a9cbe9;-webkit-text-decoration-color:#8fb8dd;text-decoration-color:#8fb8dd}@media (max-width:640px){.talk-item{grid-template-columns:1fr;grid-gap:.35rem;gap:.35rem}.talk-item__meta{justify-self:start}}.post-series+.post-series{margin-top:3rem}.post-series__title{font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:.75rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase;margin:0 0 1rem;padding-bottom:.6rem}.theme-light .post-series__title{color:#767169;border-bottom:1px solid #ece8e1}.theme-dark .post-series__title{color:#8a8781;border-bottom:1px solid hsla(0,0%,100%,.07)}.post-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-gap:1rem;gap:1rem}.post-card{display:flex;flex-direction:column;overflow:hidden}.post-card:hover{transform:translateY(-2px)}.theme-light .post-card:hover{border-color:#2f5d8c;box-shadow:0 2px 4px rgba(28,27,25,.07),0 14px 30px -18px rgba(28,27,25,.07)}.theme-dark .post-card:hover{border-color:#8fb8dd;box-shadow:0 2px 4px rgba(0,0,0,.4),0 14px 30px -18px rgba(0,0,0,.4)}.theme-light .post-card:hover .post-card__title{color:#2f5d8c}.theme-dark .post-card:hover .post-card__title{color:#8fb8dd}.post-card:hover .post-card__thumb img{transform:scale(1.03)}.post-card__thumb{display:flex;align-items:center;justify-content:center;height:150px;padding:1rem;overflow:hidden}.theme-light .post-card__thumb{background:#f4f2ee;border-bottom:1px solid #ece8e1}.theme-dark .post-card__thumb{background:#26252b;border-bottom:1px solid hsla(0,0%,100%,.07)}.post-card__thumb img{max-width:100%;max-height:100%;object-fit:contain;transition:transform .25s cubic-bezier(.22,.61,.36,1)}.post-card__footer{display:flex;align-items:flex-start;grid-gap:.625rem;gap:.625rem;padding:.875rem 1rem 1rem}.post-card__nb{flex:none;width:22px;height:22px;margin-top:1px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:.6875rem;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.theme-light .post-card__nb{color:#2f5d8c;background:rgba(47,93,140,.1)}.theme-dark .post-card__nb{color:#8fb8dd;background:rgba(143,184,221,.14)}.post-card__title{font-family:"Source Serif 4","Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;font-size:1rem;font-weight:600;line-height:1.4;margin:0;transition:color .15s cubic-bezier(.22,.61,.36,1)}.theme-light .post-card__title{color:#1b1a19}.theme-dark .post-card__title{color:#e9e8e6}@media (max-width:620px){.post-grid{grid-template-columns:1fr}.post-card__thumb{height:170px}}.theme-light .course-background{background:#fff}.theme-dark .course-background{background:#17161a}.course-series-title{font-size:1.3em;font-weight:500;margin-top:40px;margin-bottom:20px}.theme-light .course-series-title{color:#1b1a19}.theme-dark .course-series-title{color:#e9e8e6}.courses-block{margin:6px;padding:15px;height:250px}.courses-block h2{font-weight:500;font-size:20px;line-height:1em;text-align:left}.courses-block img{display:block;max-height:150px;max-width:80%;position:absolute;top:0;bottom:0;left:0;right:0;margin:auto}.courses-block a:hover{color:inherit}.courses-block .centered-img{height:90%;position:relative}.courses-block .course-nb{border-radius:100%;height:25px;width:25px;border-radius:50%;display:inline-block;text-align:center;margin-right:8px;font-size:80%}.theme-light .courses-block .course-nb{border:2px solid #2f5d8c;color:#2f5d8c}.theme-dark .courses-block .course-nb{border:2px solid #8fb8dd;color:#8fb8dd}.courses-block .empty-course{width:100%;height:250px}.course-container{padding-top:80px;text-align:justify}.theme-light .course-container{color:#1b1a19}.theme-dark .course-container{color:#e9e8e6}.course-container h1{font-family:"Source Serif 4","Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;font-weight:600;font-size:2.5em;line-height:1.15;letter-spacing:-.02em;margin:0 0 30px;text-align:left}.theme-light .course-container a{color:#2f5d8c}.theme-dark .course-container a{color:#8fb8dd}.course-container blockquote{font-style:normal;font-size:16px;margin-left:32px;padding-left:8px;padding-top:10px;padding-bottom:10px}.theme-light .course-container blockquote{border-left:4px solid #5c5852}.theme-dark .course-container blockquote{border-left:4px solid #a5a29c}.course-container ul li:before{content:"•";font-weight:700;display:inline-block;width:1em;margin-left:-1em}.theme-light .course-container ul li:before{color:#1b1a19}.theme-dark .course-container ul li:before{color:#e9e8e6}.course-container .subtitle{margin-bottom:50px}.theme-light .course-container .subtitle{color:#5c5852}.theme-dark .course-container .subtitle{color:#a5a29c}.course-container .header-img{max-height:350px;max-width:100%;display:block;margin-left:auto;margin-right:auto;transition:.3s}.course-container .test{width:300px}.course-container .date{font-size:90%}.theme-light .course-container .date{color:#5c5852}.theme-dark .course-container .date{color:#a5a29c}.course-container .course-img{display:block;margin-left:auto;margin-right:auto;max-height:350px;max-width:100%}.course-container .caption{display:block;text-align:center;margin-top:-10px;margin-bottom:20px;font-size:85%}.course-container .course-buttons{width:100%;display:inline-block;margin-bottom:20px}.theme-light .course-container .course-buttons svg{color:#2f5d8c}.theme-dark .course-container .course-buttons svg{color:#8fb8dd}.theme-light .course-container .course-buttons a{color:#1b1a19}.theme-dark .course-container .course-buttons a{color:#e9e8e6}.course-container .link-quote{padding:5px;border-radius:6px}.theme-light .course-container .link-quote{background:#f1efeb}.theme-dark .course-container .link-quote{background:#232228}.theme-light .course-container .link-quote a{color:#1b1a19}.theme-dark .course-container .link-quote a{color:#e9e8e6}.course-container .counter{text-align:right;width:100%;height:30px;font-size:80%}.theme-light .hljs{color:#1b1a19}.theme-dark .hljs{color:#e9e8e6}.hljs-comment,.hljs-quote{font-style:italic}.theme-light .hljs-comment,.theme-light .hljs-quote{color:#8a857d}.theme-dark .hljs-comment,.theme-dark .hljs-quote{color:#a5a29c}.theme-light .hljs-built_in{color:#6200ee}.theme-dark .hljs-built_in{color:#03dac6}.theme-light .hljs-number{color:#8a857d}.theme-dark .hljs-number{color:#a5a29c}.hljs-doctag,.hljs-formula,.hljs-keyword{color:#c678dd}.code-style{padding-left:2em;padding-bottom:1em;border-radius:5px}.theme-light .code-style{border:1px solid #e6e2db;background:#f4f2ee}.theme-dark .code-style{border:1px solid hsla(0,0%,100%,.1);background:#232228}.code-style *{font-family:"SF Mono",SFMono-Regular,ui-monospace,Menlo,Consolas,"Liberation Mono",monospace!important}.katex .katex-html *{font-family:"Source Serif 4","Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif}@media (max-width:800px){.header-img{width:70%}.course-container h1{font-size:2.3em}}.App{text-align:center}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{background-color:#282c34;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:calc(10px + 2vmin);color:#fff}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}
/*# sourceMappingURL=main.95ddf5e3.chunk.css.map */