@charset "UTF-8";*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;height:100%;width:100%;overflow:hidden;transition-property:color,background-color,border-color,fill,stroke,box-shadow;transition-duration:var(--transition-duration-base);transition-timing-function:ease;font-size:16px}html[lang=ru],html[lang=en]{font-size:16px;-moz-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;padding:0;height:calc(var(--vh-dynamic) * 100);width:100%;overflow:hidden}html,body{-ms-overflow-style:none;scrollbar-width:none}html::-webkit-scrollbar,body::-webkit-scrollbar{display:none;width:0;height:0}@media(max-width:1023px){html{overflow:visible;height:100%}body{overflow-y:auto;overflow-x:hidden;height:auto;min-height:calc(var(--vh-dynamic) * 100);-webkit-overflow-scrolling:touch;overscroll-behavior-y:auto}body.page-with-scroll{overscroll-behavior-y:auto}}img,picture,video,canvas,svg{display:block;max-width:100%;height:auto}button{font:inherit}button{background:none;border:none;cursor:pointer;padding:0}a{text-decoration:none;color:inherit}*,*:before,*:after{transition-property:color,background-color,border-color,fill,stroke,box-shadow;transition-duration:var(--transition-duration-base);transition-timing-function:ease}svg,svg *{transition-property:fill,stroke;transition-duration:var(--transition-duration-base);transition-timing-function:ease}img,video,canvas{transition:none}body{user-select:text;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text}p,h1,h2,h3,h4,.cv-about-text,.project-card-description,.research-card-description,.research-publication-abstract,.footer-email,.cv-header-contact-link,.project-card-title,.research-card-title,.research-publication-title,.cv-section-title,.cv-header-name,.cv-header-role,.cv-certificate-title,.cv-course-title,.cv-language-name,.research-publication-authors,.research-publication-journal,.research-publication-date,.community-event-title,.community-event-description,.community-section-description,.section-title:not(.projects-navigation .section-title):not(.research-navigation .section-title):not(.cv-navigation .section-title):not(.community-navigation .section-title),.project-title,.details-text,.timeline-content,.timeline-period,.timeline-title,.timeline-subtitle,.timeline-description{user-select:text;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text}.header,.footer,.header-nav-item,.header-nav-list,.cta-button,.projects-navigation,.research-navigation,.cv-navigation,.community-navigation,.projects-navigation .section-title,.research-navigation .section-title,.cv-navigation .section-title,.community-navigation .section-title,button,.header-language,.header-theme,.header-menu-button,.project-card-button,.research-card-button,.scroll-to-top,.project-filters-option,.projects-section-expand,.research-card-abstract-toggle,.research-publication-abstract-toggle,.cv-certificate-button,.cv-download-button{user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}svg,.social-link,.footer-logo-icon,.footer-logo-text,.footer-social,.header-left svg,.footer-left svg,.footer-right svg{user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}img,.portrait-image,.cv-header-photo-image,.project-card-image,.picture{user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.decorative-line-horizontal,.footer-decorative-square,.page-wrapper:before,.page-wrapper:after{user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.project-filters-option-count,.project-card-tag,.project-card-status,.research-card-keyword,.cv-skill-tag,.research-publication-status,.research-publication-level{user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}body{font-family:var(--font-family);font-size:var(--font-size-base);font-weight:var(--font-weight-normal);line-height:var(--line-height-base);color:var(--color-text-primary);background-color:var(--color-bg-primary);transition:background-color var(--transition-duration-base) ease,color var(--transition-duration-base) ease;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-moz-text-size-adjust:100%;text-size-adjust:100%}html[lang=ru] body,html[lang=en] body{font-size:var(--font-size-base);-moz-text-size-adjust:100%;text-size-adjust:100%}html[lang=ru] *,html[lang=en] *{-moz-text-size-adjust:100%;text-size-adjust:100%}h1,h2,h3,h4{font-weight:var(--font-weight-bold);line-height:var(--line-height-heading);letter-spacing:var(--letter-spacing-tight);text-transform:uppercase;color:var(--color-text-primary);transition:color var(--transition-duration-base) ease}h1{font-size:var(--font-size-display)}h2{font-size:var(--font-size-h2)}h3{font-size:var(--font-size-h3)}h4{font-size:var(--font-size-h4)}p{margin-bottom:var(--spacing-md);transition:color var(--transition-duration-base) ease}p:last-child{margin-bottom:0}a{color:var(--color-text-primary);transition:color var(--transition-duration-fast) ease}a:hover{color:var(--color-accent)}@media(max-width:1023px){a:hover{color:var(--color-text-primary)}}::selection{background-color:var(--color-accent);color:var(--color-bg-primary)}.social-link{display:block;width:24px;height:24px;text-decoration:none}.social-link svg{width:100%;height:100%;fill:var(--color-text-primary);transition:fill var(--transition-duration-base) var(--timing-function-ease-out)}.social-link:hover svg{fill:var(--color-accent)}@media(max-width:1023px){.social-link:hover svg{fill:var(--color-text-primary)}}.slides-container{grid-row:1/-1;grid-column:1/-1;position:relative;overflow:hidden}.slide-wrapper{position:absolute;top:0;left:0;width:100%;height:100%}.slide{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;justify-content:center;align-items:center;padding:var(--spacing-xl) var(--spacing-xl);box-sizing:border-box;opacity:0;visibility:hidden;transition:opacity calc(var(--animation-duration) / 2) var(--timing-function-ease-in-out),visibility 0s calc(var(--animation-duration) / 2),padding var(--transition-duration-base) var(--timing-function-ease);z-index:1;pointer-events:none}.slide.active{opacity:1;visibility:visible;z-index:10;pointer-events:auto;transition-delay:calc(var(--animation-duration) / 2)}.slides-container.is-resizing .slide,.slides-container.is-resizing .slide.active{transition:none!important;transition-delay:0s!important}.slide:first-child{padding:0}.slide:first-child .main-grid{padding:var(--spacing-xl) 0}@media(max-width:1023px){.slide:first-child .main-grid{padding-top:0;padding-bottom:0}}.project-slide-content{margin:0 auto;padding:0;display:flex;box-sizing:border-box;flex-direction:column;align-items:stretch;gap:0;width:100%;max-width:100%}.project-main-area{display:flex;gap:var(--spacing-md);flex-direction:row;align-items:flex-start}.project-slide-header{display:flex;flex-direction:column;gap:0}.section-title{font-size:var(--font-size-h2);font-weight:900;text-transform:uppercase;color:var(--color-text-primary);margin:0;letter-spacing:var(--letter-spacing-tight);transition:font-size var(--transition-duration-base) var(--timing-function-ease),color var(--transition-duration-base) var(--timing-function-ease)}.project-info{display:flex;flex-direction:row;justify-content:flex-start;align-items:baseline;gap:var(--spacing-sm);margin-bottom:0}.project-title{font-size:var(--font-size-h3);font-weight:var(--font-weight-bold);text-transform:uppercase;color:var(--color-accent);margin:0;letter-spacing:var(--letter-spacing-tight);line-height:var(--line-height-heading);transition:color var(--transition-duration-base) var(--timing-function-ease);user-select:text;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text}.project-meta{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-small);color:var(--color-secondary);transition:font-size var(--transition-duration-base) var(--timing-function-ease),color var(--transition-duration-base) var(--timing-function-ease);user-select:text;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text}.project-meta span{display:inline-flex;align-items:center;line-height:1.5}.project-meta span:not(:last-child):after{content:"";display:inline-flex;align-items:center;width:10px;height:10px;margin-left:var(--spacing-xs);background-color:var(--color-secondary);mask-image:url(/assets/images/icon-divider-small.svg);mask-size:contain;mask-repeat:no-repeat;mask-position:center;-webkit-mask-image:url(/assets/images/icon-divider-small.svg);-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;flex-shrink:0}.project-meta span[style*="display: none"]{display:none!important}.project-meta span[style*="display: none"]:after{display:none}.project-visual{width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-md);flex:3;min-width:0}.project-placeholder{width:100%;aspect-ratio:16/9;background-color:var(--color-placeholder);border:1px solid var(--color-text-primary);height:auto;margin-top:var(--spacing-sm)}.project-action-container{display:flex;width:100%;margin-top:var(--spacing-xs)}.project-action-button{width:100%;display:block;text-align:center}.project-action-button.disabled{pointer-events:none;opacity:.6;cursor:not-allowed;background-color:transparent;border-color:var(--color-divider);color:var(--color-secondary)}.project-action-button.disabled:hover{background-color:transparent;border-color:var(--color-divider);color:var(--color-secondary)}.project-details{display:flex;flex-direction:column;gap:var(--spacing-md);flex:2;margin-top:var(--spacing-sm);min-width:0}.details-block{display:flex;flex-direction:column;gap:var(--spacing-xs);padding-left:var(--spacing-sm);border-left:1px solid var(--color-accent)}.details-heading{font-size:var(--font-size-base);font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:.05em;color:var(--color-secondary);margin:0;transition:color var(--transition-duration-base) var(--timing-function-ease)}.details-text{font-size:var(--font-size-base);line-height:var(--line-height-base);color:var(--color-text-primary);margin:0;transition:color var(--transition-duration-base) var(--timing-function-ease);user-select:text;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text}.details-block:last-child .details-text{min-height:4.8em}.cta-slide-content{margin:0 auto;padding:0;display:flex;flex-direction:column;align-items:center;gap:0;text-align:center;box-sizing:border-box;width:100%;max-width:100%}@media(max-width:1023px){.project-main-area{flex-direction:column}.slide{padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.slide:first-child .main-grid{padding-left:0;padding-right:0}}@media(min-width:1025px){.project-slide-content{padding-left:0;padding-right:0}}.slide-hint{position:absolute;bottom:var(--spacing-lg);left:50%;transform:translate(-50%);opacity:0;visibility:hidden;transition:opacity var(--transition-duration-base) var(--timing-function-ease-in-out),visibility 0s var(--transition-duration-base);pointer-events:none;z-index:100}.slide-hint.visible{opacity:1;visibility:visible;transition:opacity var(--transition-duration-base) var(--timing-function-ease-in-out),visibility 0s}.slide-hint-text{font-size:var(--font-size-small);color:var(--color-secondary);margin:0;padding:var(--spacing-xs) var(--spacing-sm);background-color:transparent;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid var(--color-divider);border-radius:0;white-space:nowrap;text-align:center;letter-spacing:var(--letter-spacing-normal)}body,a,button,.header-language,.header-theme,.social-link,.footer-decorative-square,.header-menu-button,.project-card,.research-card,.community-card,nav,.scroll-to-top-button{cursor:none!important}.custom-cursor{position:fixed;width:20px;height:20px;box-shadow:0 0 0 1px var(--color-text-primary);border-radius:50%;transform:translate(-50%,-50%);pointer-events:none;z-index:9999;transition:width .15s cubic-bezier(.4,0,.2,1),height .15s cubic-bezier(.4,0,.2,1),opacity .15s cubic-bezier(.4,0,.2,1);background-color:#12121280;opacity:0;will-change:width,height;transform-style:preserve-3d;backface-visibility:hidden;-webkit-backface-visibility:hidden;image-rendering:crisp-edges;image-rendering:-webkit-optimize-contrast}.custom-cursor.visible{opacity:1}.custom-cursor.hover{width:26px;height:26px}.project-card{display:flex;flex-direction:column;background-color:var(--color-bg-primary);border:var(--line-width) solid var(--color-text-primary);transition:transform var(--transition-duration-base) cubic-bezier(.4,0,.2,1),box-shadow var(--transition-duration-base) cubic-bezier(.4,0,.2,1);cursor:pointer;overflow:hidden;height:100%;min-height:100%;width:100%;max-width:100%;min-width:0;margin-left:0;margin-right:0;border-style:solid;box-sizing:border-box;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;position:relative;contain:layout style;transform-origin:center top;opacity:1;visibility:visible}.project-card.project-card-hidden{opacity:0;visibility:hidden;transition:opacity var(--transition-duration-base) cubic-bezier(.4,0,.2,1),visibility var(--transition-duration-base) cubic-bezier(.4,0,.2,1)}.project-card[style*="display: none"]{display:none!important}.project-card:hover{transform:translate3d(0,-3px,0);box-shadow:0 6px 12px #00000014;width:100%!important;max-width:100%!important;min-width:0!important;margin-left:0!important;margin-right:0!important;transform-origin:center top}.project-card:hover .project-card-image{transform:scale(1.03)}.project-card:hover .project-card-overlay{opacity:1}.project-card:hover .project-card-button{background-color:var(--color-accent);border-color:var(--color-accent);color:var(--color-bg-primary)}.project-card.optimized-hover{will-change:transform,box-shadow}.project-card-image-wrapper{position:relative;width:100%;padding-top:56.25%;overflow:hidden;background-color:var(--color-divider);flex-shrink:0;margin:0;border:none;max-width:100%}.project-card-image{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;transition:transform var(--transition-duration-base) cubic-bezier(.4,0,.2,1);image-rendering:-webkit-optimize-contrast;image-rendering:auto;transform-origin:center center}.project-card-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.7) 100%);display:flex;flex-direction:column;justify-content:space-between;padding:var(--spacing-sm);opacity:0;transition:opacity var(--transition-duration-base) cubic-bezier(.4,0,.2,1);z-index:2}.project-card-status{align-self:flex-start;padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-small);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.05em;border-radius:2px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;box-sizing:border-box;background-color:var(--theme-light-bg-primary);color:var(--theme-light-text-primary)}[data-theme=dark] .project-card-status{background-color:var(--theme-dark-bg-primary);color:var(--theme-dark-text-primary)}.project-card-tags{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);align-self:flex-start}.project-card-tag{padding:4px var(--spacing-xs);font-size:var(--font-size-small);border-radius:2px;font-weight:var(--font-weight-medium);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;box-sizing:border-box;background-color:var(--theme-light-bg-primary);color:var(--theme-light-text-primary)}[data-theme=dark] .project-card-tag{background-color:var(--theme-dark-bg-primary);color:var(--theme-dark-text-primary)}.project-card-content{display:flex;flex-direction:column;padding:var(--spacing-md);flex-grow:1;gap:var(--spacing-sm);min-height:0;width:100%;max-width:100%;min-width:0;background-color:var(--color-bg-primary);flex-shrink:0;margin:-1px 0 0;border:none;position:relative;z-index:1;box-sizing:border-box}.project-card-title{font-size:var(--font-size-h4);font-weight:var(--font-weight-bold);line-height:var(--line-height-heading);color:var(--color-text-primary);margin:0;text-transform:uppercase;letter-spacing:var(--letter-spacing-tight);display:flex;align-items:center;gap:var(--spacing-xs);flex-shrink:0;min-height:calc(var(--font-size-h4) * var(--line-height-heading));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}.project-card-star{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;flex-shrink:0;color:var(--color-accent)}.project-card-star svg{width:100%;height:100%;fill:currentColor}.project-card-divider{display:inline-flex;align-items:center;justify-content:center;width:10px;height:10px;flex-shrink:0;color:var(--color-accent)}.project-card-divider svg{width:100%;height:100%;fill:currentColor}.project-card-meta{display:flex;flex-wrap:nowrap;gap:0;font-size:var(--font-size-small);color:var(--color-secondary);white-space:nowrap;overflow:hidden;min-height:1.5em;align-items:center;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;user-select:text;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text}.project-card-meta span{position:relative;flex-shrink:0;white-space:nowrap;display:inline-flex;align-items:center}.project-card-meta span[style*="display: none"]{display:none!important}.project-card-meta span[style*="display: none"]:after{display:none}.project-card-meta span:not(:last-child):not([style*="display: none"]):after{content:"";display:inline-flex;align-items:center;width:10px;height:10px;margin-left:var(--spacing-xs);margin-right:var(--spacing-xs);background-color:var(--color-secondary);mask-image:url(/assets/images/icon-divider-small.svg);mask-size:contain;mask-repeat:no-repeat;mask-position:center;-webkit-mask-image:url(/assets/images/icon-divider-small.svg);-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;flex-shrink:0}.project-card-category{text-transform:uppercase;font-weight:var(--font-weight-semibold)}.project-card-type{text-transform:capitalize}.project-card-year{font-weight:var(--font-weight-medium)}.project-card-description{font-size:var(--font-size-base);line-height:var(--line-height-base);color:var(--color-text-primary);margin:0;flex-grow:1;flex-shrink:1;min-height:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;user-select:text;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text}.project-card-footer{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:var(--spacing-sm);border-top:var(--line-width) solid var(--color-divider);border-bottom:none;border-left:none;border-right:none;flex-shrink:0;box-sizing:border-box}.project-card-role{font-size:var(--font-size-small);color:var(--color-divider);text-transform:capitalize;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}.project-card-button{padding:var(--spacing-xs) var(--spacing-md);background-color:transparent;border:var(--line-width) solid var(--color-text-primary);color:var(--color-text-primary);font-size:var(--font-size-small);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.05em;cursor:pointer;transition:background-color var(--transition-duration-base) var(--timing-function-ease),color var(--transition-duration-base) var(--timing-function-ease),border-color var(--transition-duration-base) var(--timing-function-ease);font-family:var(--font-family);pointer-events:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;border-style:solid;box-sizing:border-box}.project-card:hover .project-card-button,.project-card:active .project-card-button,.project-card:focus-within .project-card-button{background-color:var(--color-accent);border-color:var(--color-accent);color:var(--color-bg-primary)}.project-card-button:hover,.project-card-button:focus{background-color:var(--color-accent);border-color:var(--color-accent);color:var(--color-bg-primary);outline:none}.project-card-button:disabled{opacity:.5;cursor:not-allowed}.project-card-button:disabled:hover,.project-card-button:disabled:focus{background-color:transparent;border-color:var(--color-text-primary);color:var(--color-text-primary);outline:none}.project-card:hover .project-card-button:disabled,.project-card:active .project-card-button:disabled,.project-card:focus-within .project-card-button:disabled{background-color:transparent;border-color:var(--color-text-primary);color:var(--color-text-primary)}@media(max-width:1023px){.project-card-content{padding:var(--spacing-sm)}.project-card-title{font-size:var(--font-size-h5)}.project-card-overlay{opacity:1}.project-card:hover{transform:none;box-shadow:none}.project-card:hover .project-card-image{transform:none}.project-card:hover .project-card-overlay{opacity:1}.project-card:hover .project-card-button{background-color:transparent;border-color:var(--color-text-primary);color:var(--color-text-primary)}.project-card-button:hover,.project-card-button:focus{background-color:transparent;border-color:var(--color-text-primary);color:var(--color-text-primary);outline:none}.project-card:hover .project-card-button,.project-card:active .project-card-button,.project-card:focus-within .project-card-button{background-color:transparent;border-color:var(--color-text-primary);color:var(--color-text-primary)}}.research-card{display:flex;flex-direction:column;background-color:var(--color-bg-primary);border:var(--line-width) solid var(--color-text-primary);transition:transform var(--transition-duration-base) cubic-bezier(.4,0,.2,1),box-shadow var(--transition-duration-base) cubic-bezier(.4,0,.2,1);cursor:pointer;overflow:hidden;height:100%;min-height:100%;width:100%;max-width:100%;min-width:0;margin-left:0;margin-right:0;border-style:solid;box-sizing:border-box;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;position:relative;contain:layout style;transform-origin:center top;opacity:1;visibility:visible;outline:none;border-bottom:var(--line-width) solid var(--color-text-primary)}.research-card.research-card-hidden{opacity:0;visibility:hidden;transition:opacity var(--transition-duration-base) cubic-bezier(.4,0,.2,1),visibility var(--transition-duration-base) cubic-bezier(.4,0,.2,1)}.research-card[style*="display: none"]{display:none!important}.research-card.research-card-diploma{background-color:var(--color-accent-bg)}.research-card:hover{transform:translate3d(0,-3px,0);box-shadow:0 6px 12px #00000014;width:100%!important;max-width:100%!important;min-width:0!important;margin-left:0!important;margin-right:0!important;transform-origin:center top}.research-card:hover .research-card-button{background-color:var(--color-accent);border-color:var(--color-accent);color:var(--color-bg-primary)}.research-card.optimized-hover{will-change:transform,box-shadow}.research-card-content{display:flex;flex-direction:column;padding:var(--spacing-md);flex-grow:1;gap:var(--spacing-sm);min-height:0;width:100%;max-width:100%;min-width:0;background-color:var(--color-bg-primary);flex-shrink:0;margin:0;border:none;position:relative;z-index:1;box-sizing:border-box;outline:none;box-shadow:none;transform:none;backface-visibility:visible}.research-card-header{display:flex;flex-direction:column;gap:var(--spacing-xs);flex-shrink:0}.research-card-title{font-size:var(--font-size-h4);font-weight:var(--font-weight-bold);line-height:var(--line-height-heading);color:var(--color-text-primary);margin:0;text-transform:uppercase;letter-spacing:var(--letter-spacing-tight);display:flex;align-items:flex-start;gap:var(--spacing-xs);flex-shrink:0;min-height:calc(var(--font-size-h4) * var(--line-height-heading));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}.research-card-meta{display:flex;flex-wrap:wrap;gap:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-small);color:var(--color-secondary);white-space:nowrap;overflow:hidden;min-height:1.5em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;user-select:text;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text}.research-card-meta span{position:relative;flex-shrink:0;white-space:nowrap}.research-card-meta span[style*="display: none"]{display:none!important}.research-card-meta span[style*="display: none"]:after{display:none}.research-card-meta span:not(:last-child):not([style*="display: none"]):after{content:"•";margin-left:var(--spacing-xs);color:var(--color-divider)}.research-card-journal-wrapper{display:flex;align-items:center;flex-wrap:wrap;gap:var(--spacing-xs)}.research-card-journal-wrapper[style*="display: none"]{display:none!important}.research-card-journal-wrapper .research-card-level:not([style*="display: none"]):before{content:"";display:inline-block;width:10px;height:10px;margin-right:var(--spacing-xs);background-color:var(--color-secondary);mask-image:url(/assets/images/icon-divider-small.svg);mask-size:contain;mask-repeat:no-repeat;mask-position:center;-webkit-mask-image:url(/assets/images/icon-divider-small.svg);-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;flex-shrink:0;vertical-align:middle}.research-card-journal-wrapper .research-card-journal[style*="display: none"]~.research-card-level:before,.research-card-journal-wrapper .research-card-journal:empty~.research-card-level:before{display:none}.research-card-journal{font-size:var(--font-size-small);color:var(--color-secondary);font-style:italic;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;user-select:text;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text}.research-card-journal[style*="display: none"]{display:none!important}.research-card-date,.research-card-pages{color:var(--color-secondary)}.research-card-level{font-size:var(--font-size-small);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.05em;color:var(--color-secondary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;display:inline-flex;align-items:center;user-select:text;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text}.research-card-level[style*="display: none"]{display:none!important}.research-card-description-container{margin-top:var(--spacing-xs);flex-shrink:0}.research-card-description-container[style*="display: none"]{display:none!important}.research-card-abstract-toggle{display:inline-block;padding:var(--spacing-xs) var(--spacing-md);margin-bottom:var(--spacing-xs);font-size:var(--font-size-small);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-primary);background-color:transparent;border:var(--line-width) solid var(--color-text-primary);border-radius:0;cursor:pointer;font-family:var(--font-family);transition:background-color var(--transition-duration-base) cubic-bezier(.4,0,.2,1),color var(--transition-duration-base) cubic-bezier(.4,0,.2,1),border-color var(--transition-duration-base) cubic-bezier(.4,0,.2,1);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;border-style:solid;box-sizing:border-box}.research-card-abstract-toggle:hover,.research-card-abstract-toggle:focus{background-color:var(--color-accent);border-color:var(--color-accent);color:var(--color-bg-primary);outline:none}.research-card-description{font-size:var(--font-size-base);line-height:var(--line-height-base);color:var(--color-text-primary);margin-top:var(--spacing-sm);padding:var(--spacing-md);background-color:var(--color-bg-primary);border-left:3px solid var(--color-divider);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;user-select:text;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text}.research-card-keywords{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);flex-shrink:0;margin-top:auto}.research-card-keywords[style*="display: none"]{display:none!important}.research-card-keyword{padding:4px var(--spacing-xs);font-size:var(--font-size-small);border-radius:2px;font-weight:var(--font-weight-medium);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;box-sizing:border-box;position:relative;color:var(--color-bg-primary)}.research-card-keyword:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-color:var(--color-text-primary);opacity:1;border-radius:2px;z-index:-1}.research-card-footer{display:flex;justify-content:space-between;align-items:center;padding-top:var(--spacing-sm);border-top:var(--line-width) solid var(--color-divider);border-bottom:none;border-left:none;border-right:none;flex-shrink:0;box-sizing:border-box;outline:none}.research-card-type{font-size:var(--font-size-small);color:var(--color-divider);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}.research-card-button{padding:var(--spacing-xs) var(--spacing-md);background-color:transparent;border:var(--line-width) solid var(--color-text-primary);color:var(--color-text-primary);font-size:var(--font-size-small);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.05em;cursor:pointer;transition:background-color var(--transition-duration-base) cubic-bezier(.4,0,.2,1),color var(--transition-duration-base) cubic-bezier(.4,0,.2,1),border-color var(--transition-duration-base) cubic-bezier(.4,0,.2,1);font-family:var(--font-family);pointer-events:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;border-style:solid;box-sizing:border-box}.research-card:hover .research-card-button,.research-card:active .research-card-button,.research-card:focus-within .research-card-button{background-color:var(--color-accent);border-color:var(--color-accent);color:var(--color-bg-primary)}.research-card-button:hover,.research-card-button:focus{background-color:var(--color-accent);border-color:var(--color-accent);color:var(--color-bg-primary);outline:none}.research-card-button:disabled{opacity:.5;cursor:not-allowed}.research-card-button:disabled:hover,.research-card-button:disabled:focus{background-color:transparent;border-color:var(--color-text-primary);color:var(--color-text-primary);outline:none}.research-card:hover .research-card-button:disabled,.research-card:active .research-card-button:disabled,.research-card:focus-within .research-card-button:disabled{background-color:transparent;border-color:var(--color-text-primary);color:var(--color-text-primary)}@media(max-width:1023px){.research-card-content{padding:var(--spacing-sm)}.research-card-title{font-size:var(--font-size-h5)}.research-card-description{font-size:var(--font-size-small);padding:var(--spacing-sm)}.research-card:hover{transform:none;box-shadow:none}.research-card:hover .research-card-button{background-color:transparent;border-color:var(--color-text-primary);color:var(--color-text-primary)}.research-card-button:hover,.research-card-button:focus{background-color:transparent;border-color:var(--color-text-primary);color:var(--color-text-primary);outline:none}.research-card:hover .research-card-button,.research-card:active .research-card-button,.research-card:focus-within .research-card-button{background-color:transparent;border-color:var(--color-text-primary);color:var(--color-text-primary)}.research-card-abstract-toggle:hover,.research-card-abstract-toggle:focus{background-color:transparent;border-color:var(--color-text-primary);color:var(--color-text-primary);outline:none}}.media-gallery{position:relative;width:100%}.media-gallery-main{position:relative;width:100%;margin-bottom:var(--spacing-md)}.media-gallery-viewport{position:relative;width:100%;overflow:hidden;border:var(--line-width) solid var(--color-text-primary)}.media-gallery-track{display:flex;transition:transform var(--transition-duration-base) var(--timing-function-ease)}.media-gallery-item{flex-shrink:0;width:100%;position:relative;cursor:pointer}.media-gallery-item img,.media-gallery-item video{width:100%;height:auto;display:block;object-fit:cover}.media-gallery-item iframe{width:100%;aspect-ratio:16/9;border:none}.media-gallery-nav{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;background-color:#000000b3;border:var(--line-width) solid var(--color-text-primary);color:var(--color-bg-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-h2);font-weight:var(--font-weight-bold);transition:background-color var(--transition-duration-base) var(--timing-function-ease),opacity var(--transition-duration-base) var(--timing-function-ease);z-index:10;border:none}.media-gallery-nav:hover{background-color:var(--color-accent)}.media-gallery-nav:active{transform:translateY(-50%) scale(.95)}.media-gallery-nav[hidden]{display:none}.media-gallery-nav span{line-height:1;display:block}.media-gallery-prev{left:var(--spacing-sm)}.media-gallery-next{right:var(--spacing-sm)}.media-gallery-thumbnails{display:flex;gap:var(--spacing-xs);overflow-x:auto;padding:var(--spacing-xs) 0;scrollbar-width:thin;scrollbar-color:var(--color-divider) transparent}.media-gallery-thumbnails::-webkit-scrollbar{height:4px}.media-gallery-thumbnails::-webkit-scrollbar-track{background:transparent}.media-gallery-thumbnails::-webkit-scrollbar-thumb{background-color:var(--color-divider);border-radius:2px}.media-gallery-thumbnails[hidden]{display:none}.media-gallery-thumbnail{flex-shrink:0;width:80px;height:60px;cursor:pointer;border:var(--line-width) solid var(--color-divider);transition:border-color var(--transition-duration-base) var(--timing-function-ease),transform var(--transition-duration-base) var(--timing-function-ease);overflow:hidden}.media-gallery-thumbnail img{width:100%;height:100%;object-fit:cover;display:block}.media-gallery-thumbnail:hover{border-color:var(--color-accent);transform:scale(1.05)}.media-gallery-thumbnail.active{border-color:var(--color-accent);border-width:2px}.media-gallery-lightbox{position:fixed;top:0;left:0;width:100%;height:100%;z-index:2000;display:flex;align-items:center;justify-content:center}.media-gallery-lightbox[hidden]{display:none}.media-gallery-lightbox-backdrop{position:absolute;top:0;left:0;width:100%;height:100%;background-color:#000000f2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.media-gallery-lightbox-container{position:relative;width:90%;max-width:1400px;height:90%;max-height:900px;display:flex;align-items:center;justify-content:center;z-index:2001}.media-gallery-lightbox-close{position:absolute;top:var(--spacing-md);right:var(--spacing-md);width:48px;height:48px;background-color:#ffffff1a;border:var(--line-width) solid rgba(255,255,255,.3);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-h4);transition:background-color var(--transition-duration-base) var(--timing-function-ease),border-color var(--transition-duration-base) var(--timing-function-ease);z-index:2002}.media-gallery-lightbox-close:hover{background-color:#fff3;border-color:#ffffff80}.media-gallery-lightbox-close span{line-height:1;display:block}.media-gallery-lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);width:56px;height:56px;background-color:#ffffff1a;border:var(--line-width) solid rgba(255,255,255,.3);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-h2);font-weight:var(--font-weight-bold);transition:background-color var(--transition-duration-base) var(--timing-function-ease),border-color var(--transition-duration-base) var(--timing-function-ease);z-index:2002}.media-gallery-lightbox-nav:hover{background-color:#fff3;border-color:#ffffff80}.media-gallery-lightbox-nav span{line-height:1;display:block}.media-gallery-lightbox-prev{left:var(--spacing-lg)}.media-gallery-lightbox-next{right:var(--spacing-lg)}.media-gallery-lightbox-content{width:100%;height:100%;display:flex;align-items:center;justify-content:center;position:relative}.media-gallery-lightbox-image,.media-gallery-lightbox-video{max-width:100%;max-height:100%;object-fit:contain}.media-gallery-lightbox-image[hidden],.media-gallery-lightbox-video[hidden]{display:none}.media-gallery-lightbox-iframe{width:100%;height:100%;border:none}.media-gallery-lightbox-iframe[hidden]{display:none}.media-gallery-lightbox-counter{position:absolute;bottom:var(--spacing-md);left:50%;transform:translate(-50%);color:#fff;font-size:var(--font-size-base);background-color:#00000080;padding:var(--spacing-xs) var(--spacing-md);border-radius:4px}@media(max-width:1023px){.media-gallery-nav{width:36px;height:36px;font-size:var(--font-size-h4)}.media-gallery-prev{left:var(--spacing-xs)}.media-gallery-next{right:var(--spacing-xs)}.media-gallery-thumbnail{width:60px;height:45px}.media-gallery-lightbox-container{width:100%;height:100%;max-height:100%}.media-gallery-lightbox-close{top:var(--spacing-sm);right:var(--spacing-sm);width:40px;height:40px;font-size:var(--font-size-h5)}.media-gallery-lightbox-nav{width:44px;height:44px;font-size:var(--font-size-h3)}.media-gallery-lightbox-prev{left:var(--spacing-sm)}.media-gallery-lightbox-next{right:var(--spacing-sm)}.media-gallery-nav:hover{background-color:#000000b3}.media-gallery-thumbnail:hover{border-color:var(--color-divider);transform:none}.media-gallery-lightbox-close:hover,.media-gallery-lightbox-nav:hover{background-color:#ffffff1a;border-color:#ffffff4d}}.cta-buttons{display:flex;flex-direction:column;gap:var(--spacing-md);width:100%;max-width:400px}.cta-button{display:inline-block;padding:var(--spacing-sm) var(--spacing-xxl);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);text-transform:uppercase;text-decoration:none;color:var(--color-text-primary);border:var(--line-width) solid var(--color-text-primary);background-color:transparent;transition:background-color var(--transition-duration-base) var(--timing-function-ease),color var(--transition-duration-base) var(--timing-function-ease),border-color var(--transition-duration-base) var(--timing-function-ease);text-align:center;flex:1;min-width:150px;font-family:var(--font-family);cursor:pointer}.cta-button:hover{background-color:var(--color-accent);border-color:var(--color-accent);color:var(--color-bg-primary)}.cta-button-primary{border-color:var(--color-accent);color:var(--color-accent)}.cta-button-primary:hover{background-color:var(--color-accent);color:var(--color-bg-primary)}.projects-navigation .cta-button.active,.research-navigation .cta-button.active,.cv-navigation .cta-button.active,.community-navigation .cta-button.active,#cta-section .cta-button.active{background-color:var(--color-text-primary);border-color:var(--color-text-primary);color:var(--color-bg-primary)}.projects-navigation .cta-button.active:hover,.research-navigation .cta-button.active:hover,.cv-navigation .cta-button.active:hover,.community-navigation .cta-button.active:hover,#cta-section .cta-button.active:hover{border-color:var(--color-accent);background-color:var(--color-accent);color:var(--color-bg-primary)}@media(max-width:1023px){.cta-button:hover{background-color:transparent;border-color:var(--color-text-primary);color:var(--color-text-primary)}.cta-button-primary:hover{background-color:transparent;border-color:var(--color-accent);color:var(--color-accent)}.projects-navigation .cta-button.active:hover,.research-navigation .cta-button.active:hover,.cv-navigation .cta-button.active:hover,.community-navigation .cta-button.active:hover,#cta-section .cta-button.active:hover{border-color:var(--color-text-primary);background-color:var(--color-text-primary);color:var(--color-bg-primary)}}.project-filters-year-button,.projects-section-expand,.project-filters-option,.button{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);background-color:transparent;border:var(--line-width) solid var(--color-divider);color:var(--color-text-primary);font-size:var(--font-size-small);font-weight:var(--font-weight-medium);line-height:1;cursor:pointer;transition:background-color var(--transition-duration-base) ease,border-color var(--transition-duration-base) ease,color var(--transition-duration-base) ease;font-family:var(--font-family);white-space:nowrap;box-sizing:border-box;min-height:calc(var(--font-size-small) + var(--spacing-xs) * 2 + var(--line-width) * 2 + 4px);height:calc(var(--font-size-small) + var(--spacing-xs) * 2 + var(--line-width) * 2 + 4px)}.project-filters-year-button:hover,.projects-section-expand:hover,.project-filters-option:hover,.button:hover{border-color:var(--color-accent);background-color:var(--color-accent);color:var(--color-bg-primary)}.project-filters-year-button:focus,.projects-section-expand:focus,.project-filters-option:focus,.button:focus{outline:none}.project-filters-option[aria-pressed=true]{background-color:var(--color-text-primary);border-color:var(--color-text-primary);color:var(--color-bg-primary)}.project-filters-option[aria-pressed=true]:hover{border-color:var(--color-accent);background-color:var(--color-accent);color:var(--color-bg-primary)}.projects-section-expand[aria-expanded=true]{background-color:var(--color-text-primary);border-color:var(--color-text-primary);color:var(--color-bg-primary)}.projects-section-expand[aria-expanded=true]:hover{border-color:var(--color-accent);background-color:var(--color-accent);color:var(--color-bg-primary)}.project-filters-year-button{width:auto;min-width:fit-content}.project-filters-year-button[style*=width]{min-width:unset}.project-filters-year-button[aria-expanded=true]{background-color:var(--color-text-primary);border-color:var(--color-text-primary);color:var(--color-bg-primary)}.project-filters-year-button[aria-expanded=true]:hover{border-color:var(--color-accent);background-color:var(--color-accent);color:var(--color-bg-primary)}.project-filters-year-button.has-count{background-color:var(--color-text-primary);border-color:var(--color-text-primary);color:var(--color-bg-primary)}.project-filters-year-button.has-count:hover{border-color:var(--color-accent);background-color:var(--color-accent);color:var(--color-bg-primary)}@media(max-width:1023px){.button:hover,.project-filters-option:hover,.projects-section-expand:hover,.project-filters-year-button:hover{border-color:var(--color-divider);background-color:transparent;color:var(--color-text-primary)}.project-filters-option[aria-pressed=true]:hover,.projects-section-expand[aria-expanded=true]:hover,.project-filters-year-button[aria-expanded=true]:hover,.project-filters-year-button.has-count:hover{border-color:var(--color-text-primary);background-color:var(--color-text-primary);color:var(--color-bg-primary)}}.project-filters-year-button-count,.project-filters-year-option-count,.projects-section-expand-count,.project-filters-option-count{padding:1px calc(var(--spacing-xs) + 2px);border-radius:2px;font-weight:var(--font-weight-bold);display:flex;align-items:center;justify-content:center;line-height:1;transition:background-color var(--transition-duration-base) ease,color var(--transition-duration-base) ease;background-color:var(--theme-light-text-primary);color:var(--theme-light-bg-primary)}[data-theme=dark] .project-filters-year-button-count,[data-theme=dark] .project-filters-year-option-count,[data-theme=dark] .projects-section-expand-count,[data-theme=dark] .project-filters-option-count,[data-theme=dark] .count-badge{background-color:var(--theme-dark-text-primary);color:var(--theme-dark-bg-primary)}.project-filters-option[aria-pressed=true] .project-filters-option-count{background-color:var(--theme-light-bg-primary);color:var(--theme-light-text-primary)}[data-theme=dark] .project-filters-option[aria-pressed=true] .project-filters-option-count{background-color:var(--theme-dark-bg-primary);color:var(--theme-dark-text-primary)}@media(min-width:1024px){.project-filters-option:hover .project-filters-option-count{background-color:var(--theme-light-bg-primary);color:var(--theme-light-text-primary)}[data-theme=dark] .project-filters-option:hover .project-filters-option-count{background-color:var(--theme-dark-bg-primary);color:var(--theme-dark-text-primary)}}.projects-section-expand[aria-expanded=true] .projects-section-expand-count{background-color:var(--theme-light-bg-primary);color:var(--theme-light-text-primary)}[data-theme=dark] .projects-section-expand[aria-expanded=true] .projects-section-expand-count{background-color:var(--theme-dark-bg-primary);color:var(--theme-dark-text-primary)}@media(min-width:1024px){.projects-section-expand:hover .projects-section-expand-count{background-color:var(--theme-light-bg-primary);color:var(--theme-light-text-primary)}[data-theme=dark] .projects-section-expand:hover .projects-section-expand-count{background-color:var(--theme-dark-bg-primary);color:var(--theme-dark-text-primary)}}.project-filters-year-button.has-count .project-filters-year-button-count,.project-filters-year-button.has-count .project-filters-year-option-count{background-color:var(--theme-light-bg-primary);color:var(--theme-light-text-primary)}[data-theme=dark] .project-filters-year-button.has-count .project-filters-year-button-count,[data-theme=dark] .project-filters-year-button.has-count .project-filters-year-option-count{background-color:var(--theme-dark-bg-primary);color:var(--theme-dark-text-primary)}@media(min-width:1024px){.project-filters-year-button:hover .project-filters-year-button-count,.project-filters-year-option:hover .project-filters-year-button-count,.project-filters-year-option:focus .project-filters-year-button-count,.project-filters-year-button:hover .project-filters-year-option-count,.project-filters-year-option:hover .project-filters-year-option-count,.project-filters-year-option:focus .project-filters-year-option-count{background-color:var(--theme-light-bg-primary);color:var(--theme-light-text-primary)}[data-theme=dark] .project-filters-year-button:hover .project-filters-year-button-count,[data-theme=dark] .project-filters-year-option:hover .project-filters-year-button-count,[data-theme=dark] .project-filters-year-option:focus .project-filters-year-button-count,[data-theme=dark] .project-filters-year-button:hover .project-filters-year-option-count,[data-theme=dark] .project-filters-year-option:hover .project-filters-year-option-count,[data-theme=dark] .project-filters-year-option:focus .project-filters-year-option-count{background-color:var(--theme-dark-bg-primary);color:var(--theme-dark-text-primary)}}.project-filters{margin-bottom:var(--spacing-xl)}.project-filters-content{display:flex;flex-wrap:wrap;gap:var(--spacing-md) var(--spacing-lg);align-items:flex-start}.project-filters-group{display:flex;flex-direction:column;gap:var(--spacing-xs);flex:0 1 auto}.project-filters-group-title{font-size:var(--font-size-small);font-weight:var(--font-weight-medium);color:var(--color-secondary);margin:0;text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--spacing-xs)}.project-filters-options{display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.project-filters-option-label{flex-grow:1}.project-filters-results-header{margin:var(--spacing-xl) 0 var(--spacing-md) 0}.project-filters-results-header[hidden]{display:none}.project-filters-results{font-size:var(--font-size-h3);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0;text-transform:uppercase;letter-spacing:var(--letter-spacing-tight);display:flex;align-items:center;gap:var(--spacing-md);flex-wrap:wrap}.project-filters-results .project-filters-option-count{font-size:inherit;line-height:1}@media(max-width:1023px){.project-filters-content{flex-direction:row;flex-wrap:wrap;gap:var(--spacing-md) var(--spacing-lg);align-items:flex-start}.project-filters-group{flex:0 1 auto}.project-filters-group:first-child{flex:1 1 100%;width:100%}.project-filters-results-header{margin:var(--spacing-lg) 0 var(--spacing-sm) 0}.project-filters-results{font-size:var(--font-size-h4);gap:var(--spacing-sm)}}.project-filters-year-dropdown{position:relative;display:inline-block;width:auto;min-width:fit-content}.project-filters-year-button-label{flex-grow:1;text-align:center;position:relative}.project-filters-year-button.has-count .project-filters-year-button-label{text-align:left}.project-filters-year-button:not(.has-count) .project-filters-year-button-label{min-height:var(--font-size-small);line-height:var(--font-size-small)}.project-filters-year-button:not(.has-count) .project-filters-year-button-label:after{content:"";position:absolute;left:calc(50% - 20px);top:50%;margin-top:-.5px;width:40px;height:1px;background-color:var(--color-text-primary);-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:background-color var(--transition-duration-base) var(--timing-function-ease)}.project-filters-year-button:not(.has-count) .project-filters-year-button-label{font-size:0;color:transparent}.project-filters-year-button:not(.has-count)[aria-expanded=true] .project-filters-year-button-label:after{background-color:var(--color-bg-primary)}@media(min-width:1024px){.project-filters-year-button:not(.has-count):hover .project-filters-year-button-label:after{background-color:var(--color-bg-primary)}}.project-filters-year-button-count{display:none}.project-filters-year-button-count[style*="display: flex"],.project-filters-year-button-count[style*="display:flex"]{display:flex!important}.project-filters-year-dropdown-menu{position:absolute;top:calc(100% + var(--spacing-xs));left:0;background-color:transparent;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:var(--line-width) solid var(--color-divider);z-index:1000;max-height:300px;overflow-y:auto;display:flex;flex-direction:column;box-shadow:0 4px 12px #0000001a;width:max-content;min-width:100%}.project-filters-year-dropdown-menu[style*=width]{min-width:unset}.project-filters-year-dropdown-menu[hidden]{display:none!important}[data-theme=dark] .project-filters-year-dropdown-menu{box-shadow:0 4px 12px #0000004d}.project-filters-year-option{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);background-color:transparent;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:none;border-bottom:var(--line-width) solid var(--color-divider);color:var(--color-text-primary);font-size:var(--font-size-small);font-weight:var(--font-weight-medium);line-height:1;cursor:pointer;transition:background-color var(--transition-duration-base) var(--timing-function-ease),color var(--transition-duration-base) var(--timing-function-ease);font-family:var(--font-family);text-align:left;width:100%;box-sizing:border-box}.project-filters-year-option:last-child{border-bottom:none}.project-filters-year-option:hover{background-color:var(--color-accent);color:var(--color-bg-primary)}.project-filters-year-option:focus{outline:none;background-color:var(--color-accent);color:var(--color-bg-primary)}.project-filters-year-option-label{flex-grow:1}.project-filters-year-option-dash .project-filters-year-option-label{text-align:center;flex-grow:1;position:relative;min-height:var(--font-size-small);line-height:var(--font-size-small)}.project-filters-year-option-dash .project-filters-year-option-label:after{content:"";position:absolute;left:calc(50% - 20px);top:50%;margin-top:-.5px;width:40px;height:1px;background-color:var(--color-text-primary);-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:background-color var(--transition-duration-base) ease}.project-filters-year-option-dash .project-filters-year-option-label{font-size:0;color:transparent}@media(min-width:1024px){.project-filters-year-option-dash:hover .project-filters-year-option-label:after,.project-filters-year-option-dash:focus .project-filters-year-option-label:after{background-color:var(--color-bg-primary)}}@media(max-width:1023px){.project-filters-year-dropdown{width:auto;max-width:100%}.project-filters-year-dropdown-menu{max-height:200px;min-width:0!important}.project-filters-year-dropdown-menu[style*=width]{min-width:0!important}.project-filters-year-option:hover,.project-filters-year-option:focus{background-color:transparent;color:var(--color-text-primary)}.project-filters-year-button:not(.has-count)[aria-expanded=true] .project-filters-year-button-label:after{background-color:var(--color-bg-primary)}}.timeline-container{position:relative;padding-left:var(--spacing-xl);margin-top:var(--spacing-lg)}.timeline-container:before{content:"";position:absolute;left:0;top:0;bottom:0;width:1px;background-color:var(--color-divider)}@media(max-width:1023px){.timeline-container{padding-left:var(--spacing-lg)}}.timeline-item{position:relative;margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-lg)}.timeline-item:last-child{margin-bottom:0;padding-bottom:0}@media(max-width:1023px){.timeline-item{margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md)}}.timeline-marker{position:absolute;left:calc(-1 * var(--spacing-xl) - var(--spacing-content-side));top:0;width:var(--spacing-sm);height:var(--spacing-sm);border-radius:0;background-color:var(--color-bg-primary);border:1px solid var(--color-divider);z-index:1}@media(max-width:1023px){.timeline-marker{left:calc(-1 * var(--spacing-lg) - var(--spacing-content-side))}}.timeline-content{display:flex;flex-direction:column;gap:var(--spacing-xs);user-select:text;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text}.timeline-period{font-size:var(--font-size-small);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);letter-spacing:var(--letter-spacing-normal);margin-bottom:var(--spacing-xs);user-select:text;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text}.timeline-title{font-size:var(--font-size-h4);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0;line-height:var(--line-height-heading);user-select:text;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text}@media(max-width:1023px){.timeline-title{font-size:var(--font-size-h5)}}.timeline-subtitle{font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-secondary);margin:0;line-height:var(--line-height-base);user-select:text;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text}@media(max-width:1023px){.timeline-subtitle{font-size:var(--font-size-small)}}.timeline-description{font-size:var(--font-size-small);color:var(--color-secondary);margin-top:var(--spacing-xs);font-style:italic;user-select:text;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text}.timeline-list{list-style:none;padding:0;margin:var(--spacing-sm) 0 0 0;display:flex;flex-direction:column;gap:var(--spacing-xs)}.timeline-list li{position:relative;padding-left:var(--spacing-md);font-size:var(--font-size-base);line-height:var(--line-height-base);color:var(--color-text-primary)}.timeline-list li:before{content:"•";position:absolute;left:0;color:var(--color-accent);font-weight:var(--font-weight-bold)}@media(max-width:1023px){.timeline-list li{font-size:var(--font-size-small);padding-left:var(--spacing-sm)}}.timeline-tags{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);margin-top:var(--spacing-sm)}.timeline-tag{display:inline-block;padding:.25rem var(--spacing-sm);font-size:var(--font-size-small);font-weight:var(--font-weight-medium);color:var(--color-text-primary);background-color:var(--color-bg-primary);border:var(--line-width) solid var(--color-divider);border-radius:0}@media(max-width:1023px){.timeline-tag{font-size:.75rem;padding:.2rem var(--spacing-xs)}}.timeline-work .timeline-item:last-child{margin-bottom:0}.timeline-education .timeline-item:last-child{margin-bottom:0}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-xxl) var(--spacing-xl);opacity:1;transition:opacity var(--transition-duration-base) var(--timing-function-ease-in-out),transform var(--transition-duration-base) var(--timing-function-ease-in-out)}.loading.hidden{opacity:0;transform:translateY(-10px);pointer-events:none}.loading-squares{display:flex;gap:var(--spacing-xs);align-items:center;justify-content:center}.loading-square{width:var(--spacing-sm);height:var(--spacing-sm);background-color:var(--color-accent);animation:loading-bounce 1.4s var(--timing-function-ease-in-out) infinite;flex-shrink:0}.loading-square:nth-child(1){animation-delay:var(--animation-delay-none)}.loading-square:nth-child(2){animation-delay:var(--animation-delay-short)}.loading-square:nth-child(3){animation-delay:var(--animation-delay-medium)}@keyframes loading-bounce{0%,to{transform:translateY(0)}21.4%{transform:translateY(-18px)}42.8%{transform:translateY(0)}}@media(max-width:1023px){.loading{padding:var(--spacing-xl) var(--spacing-lg);transition:padding var(--transition-duration-base) var(--timing-function-ease)}.loading-square{width:var(--loading-square-size);height:var(--loading-square-size);transition:width var(--transition-duration-base) var(--timing-function-ease),height var(--transition-duration-base) var(--timing-function-ease)}}.scroll-to-top{position:fixed;bottom:calc(var(--header-footer-height) + var(--spacing-md) - var(--spacing-content-side));right:max(var(--spacing-lg) - var(--spacing-sm),(100% - var(--max-width-large)) / 2 + var(--spacing-lg) - 24px);width:40px;height:40px;display:none;align-items:center;justify-content:center;background:transparent;border:none;cursor:pointer;z-index:100;opacity:0;visibility:hidden;transform:translateY(0);transition:opacity var(--transition-duration-base) var(--timing-function-ease-in-out),visibility var(--transition-duration-base) var(--timing-function-ease-in-out),bottom var(--transition-duration-base) var(--timing-function-ease),right var(--transition-duration-base) var(--timing-function-ease);will-change:bottom;padding:0;box-sizing:border-box}.scroll-to-top>span,.scroll-to-top svg{width:100%;height:100%;display:block}.scroll-to-top svg path.scroll-to-top-bg,.scroll-to-top path.scroll-to-top-bg,.scroll-to-top svg circle.scroll-to-top-circle,.scroll-to-top circle.scroll-to-top-circle{fill:var(--color-text-primary);transition:fill var(--transition-duration-base) var(--timing-function-ease-in-out)}.scroll-to-top svg path.scroll-to-top-icon,.scroll-to-top path.scroll-to-top-icon{fill:var(--color-bg-primary);transition:fill var(--transition-duration-base) var(--timing-function-ease-in-out)}.scroll-to-top:hover,.scroll-to-top:focus{outline:none}.scroll-to-top:hover svg path.scroll-to-top-bg,.scroll-to-top:hover path.scroll-to-top-bg,.scroll-to-top:hover svg circle.scroll-to-top-circle,.scroll-to-top:hover circle.scroll-to-top-circle,.scroll-to-top:focus svg path.scroll-to-top-bg,.scroll-to-top:focus path.scroll-to-top-bg,.scroll-to-top:focus svg circle.scroll-to-top-circle,.scroll-to-top:focus circle.scroll-to-top-circle{fill:var(--color-accent)}.scroll-to-top.visible{display:flex;opacity:1;visibility:visible;transition:opacity var(--transition-duration-base) var(--timing-function-ease-in-out),visibility var(--transition-duration-base) var(--timing-function-ease-in-out),transform var(--transition-duration-base) var(--timing-function-ease-in-out),bottom var(--transition-duration-base) var(--timing-function-ease),right var(--transition-duration-base) var(--timing-function-ease);will-change:bottom}.scroll-to-top.footer-hidden{bottom:calc(var(--spacing-md) - 8px)}@media(max-width:1023px){.scroll-to-top{bottom:var(--spacing-sm)!important;bottom:max(var(--spacing-sm),env(safe-area-inset-bottom,0px))!important;right:var(--spacing-sm)!important;right:max(var(--spacing-sm),env(safe-area-inset-right,0px))!important;width:32px!important;height:32px!important;z-index:100!important;touch-action:manipulation;-webkit-tap-highlight-color:transparent;cursor:pointer;will-change:auto;transition:opacity var(--transition-duration-base) ease-in-out,visibility var(--transition-duration-base) ease-in-out}.scroll-to-top.visible{display:flex!important;opacity:1!important;visibility:visible!important;transition:opacity var(--transition-duration-base) ease-in-out,visibility var(--transition-duration-base) ease-in-out}.scroll-to-top.footer-hidden{bottom:var(--spacing-sm)!important;bottom:max(var(--spacing-sm),env(safe-area-inset-bottom,0px))!important}.scroll-to-top:hover svg path.scroll-to-top-bg,.scroll-to-top:hover path.scroll-to-top-bg,.scroll-to-top:hover svg circle.scroll-to-top-circle,.scroll-to-top:hover circle.scroll-to-top-circle,.scroll-to-top:focus svg path.scroll-to-top-bg,.scroll-to-top:focus path.scroll-to-top-bg,.scroll-to-top:focus svg circle.scroll-to-top-circle,.scroll-to-top:focus circle.scroll-to-top-circle{fill:var(--color-text-primary)}}@media(max-height:899px){.scroll-to-top{bottom:var(--spacing-sm)!important;bottom:max(var(--spacing-sm),env(safe-area-inset-bottom,0px))!important;right:var(--spacing-sm)!important;right:max(var(--spacing-sm),env(safe-area-inset-right,0px))!important;width:32px!important;height:32px!important;z-index:100!important;touch-action:manipulation;-webkit-tap-highlight-color:transparent;cursor:pointer;will-change:auto;transition:opacity var(--transition-duration-base) ease-in-out,visibility var(--transition-duration-base) ease-in-out}.scroll-to-top.visible{display:flex!important;opacity:1!important;visibility:visible!important;transition:opacity var(--transition-duration-base) ease-in-out,visibility var(--transition-duration-base) ease-in-out}.scroll-to-top.footer-hidden{bottom:var(--spacing-sm)!important;bottom:max(var(--spacing-sm),env(safe-area-inset-bottom,0px))!important}.scroll-to-top:hover svg path.scroll-to-top-bg,.scroll-to-top:hover path.scroll-to-top-bg,.scroll-to-top:hover svg circle.scroll-to-top-circle,.scroll-to-top:hover circle.scroll-to-top-circle,.scroll-to-top:focus svg path.scroll-to-top-bg,.scroll-to-top:focus path.scroll-to-top-bg,.scroll-to-top:focus svg circle.scroll-to-top-circle,.scroll-to-top:focus circle.scroll-to-top-circle{fill:var(--color-text-primary)}}.noise-rings-background{position:fixed;top:0;left:0;right:0;bottom:0;width:100vw;height:calc(var(--vh-dynamic, 1vh) * 100);z-index:-1;pointer-events:none;opacity:1;display:block}@supports not (height: calc(var(--vh-dynamic) * 100)){.noise-rings-background{height:100vh}}.noise-rings-background{transform:translateZ(0);will-change:contents;backface-visibility:hidden;contain:layout style paint;transition:opacity var(--transition-duration-base, .3s) var(--timing-function-ease, ease)}@media(prefers-reduced-motion:reduce){.noise-rings-background{will-change:auto}}@media(max-width:768px){.noise-rings-background{will-change:auto;contain:layout}}@media(min-width:769px)and (max-width:1024px){.noise-rings-background{will-change:contents}}@media(max-width:480px){.noise-rings-background{will-change:auto;contain:layout}}#background-container{position:fixed;top:0;left:0;right:0;bottom:0;width:100%;height:100%;z-index:-1;pointer-events:none;overflow:hidden}.container{width:100%;max-width:var(--max-width-large);margin:0 auto;padding:0 var(--spacing-lg);position:relative}.page-wrapper{position:relative;height:calc(var(--vh-dynamic) * 100);max-height:calc(var(--vh-dynamic) * 100);display:flex;flex-direction:column;overflow:hidden;box-sizing:border-box}.page-wrapper:before,.page-wrapper:after{content:"";position:fixed;top:0;bottom:0;width:var(--line-width);background-color:var(--line-color);z-index:11;pointer-events:none;opacity:1}.page-wrapper:before{left:calc((100% - var(--max-width-large)) / 2 - var(--spacing-content-side))}.page-wrapper:after{right:calc((100% - var(--max-width-large)) / 2 - var(--spacing-content-side))}.content-wrapper{display:grid;flex-grow:1;width:100%;overflow:hidden;height:calc(var(--vh-dynamic) * 100 - var(--header-footer-height) * 2 - var(--line-width) * 2);min-height:calc(var(--vh-dynamic) * 100 - var(--header-footer-height) * 2 - var(--line-width) * 2);max-height:calc(var(--vh-dynamic) * 100 - var(--header-footer-height) * 2 - var(--line-width) * 2);max-width:var(--max-width-content);margin:0 auto;padding:0 var(--spacing-lg)}body.page-with-scroll .content-wrapper{max-width:100%!important;margin:0!important;padding-left:0!important;padding-right:0!important;height:auto!important;min-height:calc(var(--vh-dynamic) * 100 - var(--header-footer-height) * 2)!important;max-height:none!important}@media(max-width:1023px){.content-wrapper{max-width:100%;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}}.decorative-line-horizontal{width:100vw;height:var(--line-width);background-color:var(--line-color);margin:0;flex-shrink:0;position:relative;z-index:12;transition:transform var(--transition-duration-base) var(--timing-function-ease)}.main-grid{display:grid;grid-template-columns:1fr;gap:var(--spacing-md);margin:0 auto;box-sizing:border-box;padding:var(--spacing-lg) 0;align-items:center;justify-items:start;transition:gap var(--transition-duration-base) var(--timing-function-ease);width:100%}@media(max-width:1023px){.main-grid{padding-top:0;padding-bottom:0;gap:var(--spacing-md)}}.main-content-left{min-width:0;display:flex;justify-content:center;align-items:center;width:auto}.portrait-container{width:auto;display:flex;justify-content:center;align-items:center}.portrait-image{width:280px;height:420px;max-width:280px;max-height:420px;border:1px solid var(--color-text-primary);object-fit:cover;-webkit-user-select:none;user-select:none;transition:width var(--transition-duration-base) var(--timing-function-ease),height var(--transition-duration-base) var(--timing-function-ease)}.main-content-top{display:flex;flex-direction:column;text-align:left}.main-content-bottom{display:flex;flex-direction:column;max-width:800px;text-align:left}.main-content-name{font-size:var(--font-size-display);font-weight:900;line-height:1;letter-spacing:var(--letter-spacing-tight);text-transform:uppercase;color:var(--color-text-primary);margin:0;word-spacing:.3em;transition:font-size var(--transition-duration-base) var(--timing-function-ease),color var(--transition-duration-base) var(--timing-function-ease)}.main-content-tagline{font-size:var(--font-size-small);font-weight:var(--font-weight-normal);line-height:1;text-transform:uppercase;color:var(--color-secondary);margin:0;margin-top:var(--spacing-xs);letter-spacing:.15em;transition:color var(--transition-duration-base) var(--timing-function-ease)}.main-content-title{font-size:var(--font-size-h2);font-weight:var(--font-weight-bold);line-height:1;text-transform:uppercase;color:var(--color-text-primary);margin:0;margin-top:var(--spacing-sm);transition:font-size var(--transition-duration-base) var(--timing-function-ease),color var(--transition-duration-base) var(--timing-function-ease)}.main-content-description{font-size:var(--font-size-base);line-height:var(--line-height-base);color:var(--color-text-primary);margin:0;transition:color var(--transition-duration-base) var(--timing-function-ease)}@media(min-width:1025px){.main-grid{grid-template-columns:auto 1fr;grid-template-rows:1fr auto;gap:var(--spacing-md) var(--spacing-lg);align-items:stretch;justify-items:start}.main-content-top{grid-column:2;grid-row:1;text-align:left;align-self:start}.main-content-left{grid-column:1;grid-row:1/span 2}.main-content-bottom{grid-column:2;grid-row:2;text-align:left;align-self:end;justify-content:flex-end}}body.page-404 .content-wrapper{display:flex;align-items:center;justify-content:center;height:calc(var(--vh-dynamic) * 100 - var(--header-footer-height) * 2 - var(--line-width) * 2);min-height:calc(var(--vh-dynamic) * 100 - var(--header-footer-height) * 2 - var(--line-width) * 2);max-height:calc(var(--vh-dynamic) * 100 - var(--header-footer-height) * 2 - var(--line-width) * 2)}.page-404-container{position:relative;width:100%;min-height:400px;display:flex;align-items:center;justify-content:center}.notfound-loading-container{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;z-index:10;min-height:400px;pointer-events:none}@media(max-width:1023px){.notfound-loading-container{min-height:300px}}.notfound-loading-container:has(.loading.hidden),.notfound-loading-container[style*="display: none"]{display:none!important;pointer-events:none!important}.notfound-loading-container .loading:not(.hidden){pointer-events:auto}.header{width:100%;height:var(--header-footer-height);display:flex;align-items:center;position:relative;flex-shrink:0;z-index:10;background-color:color-mix(in srgb,var(--color-bg-primary) 10%,transparent);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);transition:transform var(--transition-duration-base) var(--timing-function-ease),background-color var(--transition-duration-base) var(--timing-function-ease),color var(--transition-duration-base) var(--timing-function-ease);transform:translateZ(0);backface-visibility:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;contain:layout style paint}@media(prefers-reduced-motion:reduce){.header{backdrop-filter:none;-webkit-backdrop-filter:none;background-color:color-mix(in srgb,var(--color-bg-primary) 95%,transparent)}}.header-content{width:100%;max-width:var(--max-width-content);margin:0 auto;padding:0 var(--spacing-sm);display:flex;justify-content:space-between;align-items:center;position:relative;height:100%}@media(max-width:1023px){.header-content{max-width:100%;padding-left:var(--spacing-sm);padding-right:var(--spacing-sm)}}.header-left{display:flex;align-items:center;gap:var(--spacing-xs);transition:color var(--transition-duration-base) var(--timing-function-ease)}.header-left .icon-divider{width:var(--spacing-sm);height:var(--spacing-sm)}.header-language{width:34px;height:20px;display:flex;align-items:center;justify-content:center;background-color:transparent;border:none;cursor:pointer;padding:0;position:relative}.header-language svg{width:auto;height:20px;color:var(--color-text-primary);transition:color var(--transition-duration-base) var(--timing-function-ease);display:block;margin:0 auto}.header-language:hover svg{color:var(--color-accent)}.language-icon-ru,.language-icon-en{position:absolute;display:flex;align-items:center;justify-content:center;width:100%;height:100%;top:0;left:0;opacity:0;visibility:hidden;transition:opacity var(--transition-duration-base) var(--timing-function-ease),visibility var(--transition-duration-base) var(--timing-function-ease)}.language-icon-ru.active,.language-icon-en.active{opacity:1!important;visibility:visible!important}.language-icon-ru:not(.active),.language-icon-en:not(.active){opacity:0!important;visibility:hidden!important}.language-icon-ru svg,.language-icon-en svg{width:34px!important;height:20px!important;max-width:34px;max-height:20px;display:block;margin:0 auto}.header-theme{width:24px;height:24px;display:block;background-color:transparent;border:none;cursor:pointer;padding:0;position:relative}.theme-icon-moon,.theme-icon-sun{position:absolute;display:flex;align-items:center;justify-content:center;width:100%;height:100%;top:0;left:0;opacity:0;visibility:hidden;transition:opacity var(--transition-duration-base) var(--timing-function-ease),visibility var(--transition-duration-base) var(--timing-function-ease)}.header-theme .theme-icon-moon:not(.active),.header-theme .theme-icon-sun:not(.active){opacity:0!important;visibility:hidden!important}.header-theme .theme-icon-moon.active,.header-theme .theme-icon-sun.active{opacity:1!important;visibility:visible!important;display:flex!important}.header-theme:hover svg{fill:var(--color-accent)}.header-theme svg{width:100%;height:100%;fill:var(--color-text-primary);transition:fill var(--transition-duration-base) var(--timing-function-ease)}.header-nav{display:block}.header-nav-list{display:flex;align-items:center;justify-content:center;gap:var(--spacing-md)}.header-nav-list li{flex:1;min-width:0;display:flex;justify-content:center}.header-nav-item{display:flex;align-items:center;justify-content:center;width:100%;padding:var(--spacing-xs) var(--spacing-lg);font-size:var(--font-size-small);font-weight:var(--font-weight-medium);line-height:1;text-transform:uppercase;color:var(--color-text-primary);background-color:transparent;border:var(--line-width) solid var(--color-divider);text-decoration:none;transition:background-color var(--transition-duration-base) var(--timing-function-ease),border-color var(--transition-duration-base) var(--timing-function-ease),color var(--transition-duration-base) var(--timing-function-ease);font-family:var(--font-family);cursor:pointer;white-space:nowrap;box-sizing:border-box;min-height:calc(var(--font-size-small) + var(--spacing-xs) * 2 + var(--line-width) * 2 + 4px);height:calc(var(--font-size-small) + var(--spacing-xs) * 2 + var(--line-width) * 2 + 4px);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}.header-nav-item:hover{border-color:var(--color-accent);background-color:var(--color-accent);color:var(--color-bg-primary)}.header-nav-item.active{background-color:var(--color-text-primary);border-color:var(--color-text-primary);color:var(--color-bg-primary)}.header-nav-item.active:hover{border-color:var(--color-accent);background-color:var(--color-accent);color:var(--color-bg-primary)}.header-nav-item:focus{outline:none}.header-menu-button{display:none;align-items:center;justify-content:center;width:32px;height:32px;color:var(--color-text-primary);font-size:var(--font-size-base);cursor:pointer;transition:color var(--transition-duration-fast) var(--timing-function-ease);background-color:transparent;border:none;padding:0}.header-menu-button svg{width:24px;height:12px;display:block}.header-menu-button:hover{color:var(--color-accent)}@media(max-width:1023px){.header-language:hover svg{color:var(--color-text-primary)}.header-theme:hover svg{fill:var(--color-text-primary)}.header-nav-item:hover{border-color:var(--color-divider);background-color:transparent;color:var(--color-text-primary)}.header-nav-item.active:hover{border-color:var(--color-text-primary);background-color:var(--color-text-primary);color:var(--color-bg-primary)}.header-menu-button:hover{color:var(--color-text-primary)}}.footer{width:100%;height:var(--header-footer-height);display:flex;align-items:center;position:relative;flex-shrink:0;z-index:10;background-color:color-mix(in srgb,var(--color-bg-primary) 10%,transparent);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);transition:transform var(--transition-duration-base) var(--timing-function-ease),background-color var(--transition-duration-base) var(--timing-function-ease),color var(--transition-duration-base) var(--timing-function-ease);transform:translateZ(0);backface-visibility:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;contain:layout style paint}@media(prefers-reduced-motion:reduce){.footer{backdrop-filter:none;-webkit-backdrop-filter:none;background-color:color-mix(in srgb,var(--color-bg-primary) 95%,transparent)}}.footer-content{width:100%;margin:0 auto;display:grid;gap:var(--spacing-md);align-items:center;height:100%;padding:0 var(--spacing-sm);max-width:var(--max-width-content);grid-template-columns:1fr auto 1fr}@media(max-width:1023px){.footer-content{max-width:100%;padding-left:var(--spacing-sm);padding-right:var(--spacing-sm)}}.footer-left{display:flex;flex-direction:column;gap:4px;align-items:flex-start}.footer-social{display:flex;gap:var(--spacing-xs)}.footer-email{font-size:var(--font-size-small);color:var(--color-secondary);text-decoration:none;transition:color var(--transition-duration-fast) var(--timing-function-ease)}.footer-email:hover{color:var(--color-accent)}.footer-center{display:flex;justify-content:center;align-items:center}.footer-decorative{display:flex;gap:var(--spacing-xs);align-items:center;justify-content:center}.footer-decorative-square{width:var(--spacing-sm);height:var(--spacing-sm);border:1px solid var(--color-text-primary);background-color:transparent;cursor:pointer;transition:border-color var(--transition-duration-base) var(--timing-function-ease),background-color var(--transition-duration-base) var(--timing-function-ease);flex-shrink:0}.footer-decorative-square:hover:not(.active){border-color:var(--color-accent)}.footer-decorative-square.active{background-color:var(--color-accent);border-color:var(--color-accent);cursor:default}.footer-right{display:flex;flex-direction:column;gap:4px;align-items:flex-end}.footer-logo{display:flex;align-items:center;gap:var(--spacing-xs);transition:color var(--transition-duration-base) var(--timing-function-ease)}.footer-logo .icon-divider{width:var(--spacing-sm);height:var(--spacing-sm)}.footer-logo-text{display:block;color:var(--color-text-primary);fill:currentColor;transition:color var(--transition-duration-base) var(--timing-function-ease),fill var(--transition-duration-base) var(--timing-function-ease)}.footer-logo-text path{transition:fill var(--transition-duration-base) var(--timing-function-ease)}.footer-logo-icon{width:24px;height:24px;display:block;color:var(--color-text-primary);fill:currentColor;transition:color var(--transition-duration-base) var(--timing-function-ease),fill var(--transition-duration-base) var(--timing-function-ease)}.footer-logo-icon svg,.footer-logo-icon path{transition:fill var(--transition-duration-base) var(--timing-function-ease)}.footer-copyright{font-size:var(--font-size-small);color:var(--color-secondary);user-select:text;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text}@media(max-width:1023px){.footer-email:hover{color:var(--color-secondary)}.footer-decorative-square:hover:not(.active){border-color:var(--color-text-primary)}}@media(min-width:1024px){html.page-with-scroll{height:auto;min-height:calc(var(--vh-dynamic) * 100);overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;scroll-behavior:auto;-ms-overflow-style:none;scrollbar-width:none}html.page-with-scroll::-webkit-scrollbar{display:none}body.page-with-scroll{overflow-y:auto!important;overflow-x:hidden!important;height:auto!important;min-height:calc(var(--vh-dynamic) * 100);-webkit-overflow-scrolling:touch;scroll-behavior:auto;-ms-overflow-style:none;scrollbar-width:none}body.page-with-scroll::-webkit-scrollbar{display:none}body.page-with-scroll .page-wrapper{height:auto!important;min-height:calc(var(--vh-dynamic) * 100);max-height:none!important;overflow:visible!important;display:block!important;padding-bottom:var(--header-footer-height);box-sizing:border-box}body.page-with-scroll .page-wrapper:before,body.page-with-scroll .page-wrapper:after{pointer-events:none;z-index:11}body.page-with-scroll .content-wrapper{overflow:visible!important;min-height:calc(var(--vh-dynamic) * 100 - var(--header-footer-height) * 2);height:auto;display:flex!important;flex-direction:column;padding-top:var(--header-footer-height);padding-bottom:0;max-width:100%!important;margin:0!important;padding-left:0!important;padding-right:0!important;box-sizing:border-box}body.page-with-scroll .header{position:fixed;top:0;left:0;z-index:10;width:100%;height:var(--header-footer-height);display:flex;align-items:center;flex-shrink:0;background-color:color-mix(in srgb,var(--color-bg-primary) 10%,transparent);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);transition:transform var(--transition-duration-base) var(--timing-function-ease),background-color var(--transition-duration-base) var(--timing-function-ease),color var(--transition-duration-base) var(--timing-function-ease);pointer-events:none;transform:translateZ(0);backface-visibility:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body.page-with-scroll .header-content,body.page-with-scroll .header-content *{pointer-events:auto}body.page-with-scroll .header.hidden{transform:translate3d(0,-100%,0)}body.page-with-scroll .footer{position:fixed;bottom:0;left:0;z-index:10;width:100%;height:var(--header-footer-height);display:flex;align-items:center;flex-shrink:0;background-color:color-mix(in srgb,var(--color-bg-primary) 10%,transparent);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);transition:transform var(--transition-duration-base) var(--timing-function-ease),background-color var(--transition-duration-base) var(--timing-function-ease),color var(--transition-duration-base) var(--timing-function-ease);pointer-events:none;transform:translateZ(0);backface-visibility:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body.page-with-scroll .footer-content,body.page-with-scroll .footer-content *{pointer-events:auto}body.page-with-scroll .footer.hidden{transform:translate3d(0,100%,0)}body.page-with-scroll .decorative-line-horizontal{position:fixed;left:0;width:100vw;height:var(--line-width);background-color:var(--line-color);margin:0;flex-shrink:0;transition:transform var(--transition-duration-base) var(--timing-function-ease);z-index:12;pointer-events:none;transform:translateZ(0);backface-visibility:hidden}body.page-with-scroll .header+.decorative-line-horizontal{top:var(--header-footer-height)}body.page-with-scroll main+.decorative-line-horizontal{bottom:var(--header-footer-height)}body.page-with-scroll .header+.decorative-line-horizontal.hidden{transform:translate3d(0,calc(-1 * var(--header-footer-height) - 1px),0)}body.page-with-scroll main+.decorative-line-horizontal.hidden{transform:translate3d(0,calc(var(--header-footer-height) + 1px),0)}}@media(max-height:899px){html:has(.slides-container){overflow:visible;height:100%}body:has(.slides-container){overflow-y:auto;overflow-x:hidden;height:auto;min-height:calc(var(--vh-dynamic) * 100);-webkit-overflow-scrolling:touch;-ms-overflow-style:none;scrollbar-width:none}body:has(.slides-container)::-webkit-scrollbar{display:none}body:has(.slides-container) .header{position:relative;width:100%;background-color:color-mix(in srgb,var(--color-bg-primary) 10%,transparent);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);transition:background-color var(--transition-duration-base) var(--timing-function-ease),color var(--transition-duration-base) var(--timing-function-ease)}body:has(.slides-container) .footer{position:relative;width:100%;background-color:color-mix(in srgb,var(--color-bg-primary) 10%,transparent);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);transition:background-color var(--transition-duration-base) var(--timing-function-ease),color var(--transition-duration-base) var(--timing-function-ease)}body:has(.slides-container) .header+.decorative-line-horizontal,body:has(.slides-container) main+.decorative-line-horizontal{position:relative;top:0!important;bottom:auto!important;left:0!important;right:auto!important}body:has(.slides-container) main+.decorative-line-horizontal{opacity:0;transition:opacity var(--transition-duration-base) var(--timing-function-ease-out)}body:has(.slides-container) main+.decorative-line-horizontal.fade-in-visible{opacity:1}body:has(.slides-container) .content-wrapper{padding-left:0;padding-right:0;max-width:none;width:100vw;margin-left:calc(50% - 50vw);min-height:calc(var(--vh-dynamic) * 100);box-sizing:border-box}body:has(.slides-container) .page-wrapper{display:block;height:auto;min-height:calc(var(--vh-dynamic) * 100);overflow:visible;box-sizing:border-box}}@media(max-width:1023px){body{-ms-overflow-style:none;scrollbar-width:none}body::-webkit-scrollbar{display:none}body:not(.page-with-scroll) .page-wrapper{display:block;height:auto;min-height:calc(var(--vh-dynamic) * 100);overflow:visible;box-sizing:border-box}body:not(.page-with-scroll) .content-wrapper{padding-left:0;padding-right:0;max-width:none;width:100vw;margin-left:calc(50% - 50vw);min-height:calc(var(--vh-dynamic) * 100);box-sizing:border-box}body:not(.page-with-scroll) .header{position:relative;width:100%;background-color:color-mix(in srgb,var(--color-bg-primary) 10%,transparent);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);transition:background-color var(--transition-duration-base) var(--timing-function-ease),color var(--transition-duration-base) var(--timing-function-ease)}body:not(.page-with-scroll) .footer{position:relative;width:100%;background-color:color-mix(in srgb,var(--color-bg-primary) 10%,transparent);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);transition:background-color var(--transition-duration-base) var(--timing-function-ease),color var(--transition-duration-base) var(--timing-function-ease)}body:not(.page-with-scroll) .header+.decorative-line-horizontal,body:not(.page-with-scroll) main+.decorative-line-horizontal{position:relative;top:0!important;bottom:auto!important;left:0!important;right:auto!important}body:not(.page-with-scroll) main+.decorative-line-horizontal{opacity:0;transition:opacity var(--transition-duration-base) var(--timing-function-ease-out)}body:not(.page-with-scroll) main+.decorative-line-horizontal.fade-in-visible{opacity:1}.slides-container.tablet-scroll-mode{display:block;overflow:visible;height:auto;scroll-snap-type:none;box-sizing:border-box;width:100%}.slides-container.tablet-scroll-mode .slide-wrapper{position:relative;width:100%;height:auto;pointer-events:auto}.slides-container.tablet-scroll-mode .slide{display:block!important;position:static!important;opacity:1!important;visibility:visible!important;transform:none!important;height:auto;min-height:auto;width:100%;padding-top:0;padding-bottom:0;pointer-events:auto!important;transition:padding var(--transition-duration-base) var(--timing-function-ease);z-index:auto!important}.slides-container.tablet-scroll-mode .slide:first-child .main-grid,.slides-container.tablet-scroll-mode .project-slide-content,.slides-container.tablet-scroll-mode .cta-slide-content{padding-left:var(--spacing-lg);padding-right:var(--spacing-lg);max-width:var(--max-width-large);margin-left:auto;margin-right:auto;box-sizing:border-box}.slides-container.tablet-scroll-mode .project-slide-content{padding-top:var(--spacing-section-large-mobile);padding-bottom:var(--spacing-section-large-mobile)}.slides-container.tablet-scroll-mode .slide[data-slide="0"] .main-grid{padding-top:var(--spacing-page-top);padding-bottom:var(--spacing-page-top)}.slides-container.tablet-scroll-mode .cta-slide-content{gap:0}.slides-container.tablet-scroll-mode .slide .main-grid{padding-top:0;padding-bottom:0}.slides-container.tablet-scroll-mode #cta-section .cta-slide-content{padding-top:var(--spacing-xl);padding-bottom:var(--spacing-xl)}.slides-container.tablet-scroll-mode #cta-section .cta-slide-content>*:last-child{margin-bottom:0}.slides-container.tablet-scroll-mode .slide[data-slide="1"]~.slide .project-slide-header .section-title{display:none}.slides-container.tablet-scroll-mode .slide-wrapper:not(:last-child):after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:min(100% - 2 * var(--spacing-lg),var(--max-width-large) - 2 * var(--spacing-lg));height:var(--line-width, 1px);background-color:var(--color-divider)}.footer-decorative{display:none}}@media(max-height:899px){html.page-with-scroll{height:auto;min-height:calc(var(--vh-dynamic) * 100);overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;scroll-behavior:auto;-ms-overflow-style:none;scrollbar-width:none}html.page-with-scroll::-webkit-scrollbar{display:none}body.page-with-scroll{overflow-y:auto!important;overflow-x:hidden!important;height:auto!important;min-height:calc(var(--vh-dynamic) * 100);-webkit-overflow-scrolling:touch;scroll-behavior:auto;-ms-overflow-style:none;scrollbar-width:none}body.page-with-scroll::-webkit-scrollbar{display:none}.slides-container.tablet-scroll-mode{display:block;overflow:visible;height:auto;scroll-snap-type:none;box-sizing:border-box;width:100%}.slides-container.tablet-scroll-mode .slide-wrapper{position:relative;width:100%;height:auto;pointer-events:auto}.slides-container.tablet-scroll-mode .slide{display:block!important;position:static!important;opacity:1!important;visibility:visible!important;transform:none!important;height:auto;min-height:auto;width:100%;padding-top:0;padding-bottom:0;pointer-events:auto!important;transition:padding var(--transition-duration-base) var(--timing-function-ease);z-index:auto!important}.slides-container.tablet-scroll-mode .slide:first-child .main-grid,.slides-container.tablet-scroll-mode .project-slide-content,.slides-container.tablet-scroll-mode .cta-slide-content{padding-left:var(--spacing-lg);padding-right:var(--spacing-lg);max-width:var(--max-width-large);margin-left:auto;margin-right:auto;box-sizing:border-box}.slides-container.tablet-scroll-mode .project-slide-content{padding-top:var(--spacing-section-large-mobile);padding-bottom:var(--spacing-section-large-mobile)}.slides-container.tablet-scroll-mode .slide[data-slide="0"] .main-grid{padding-top:var(--spacing-page-top);padding-bottom:var(--spacing-page-top)}.slides-container.tablet-scroll-mode .cta-slide-content{gap:0}.slides-container.tablet-scroll-mode .slide .main-grid{padding-top:0;padding-bottom:0}.slides-container.tablet-scroll-mode #cta-section .cta-slide-content{padding-top:var(--spacing-xl);padding-bottom:var(--spacing-xl)}.slides-container.tablet-scroll-mode #cta-section .cta-slide-content>*:last-child{margin-bottom:0}.slides-container.tablet-scroll-mode .slide[data-slide="1"]~.slide .project-slide-header .section-title{display:none}.slides-container.tablet-scroll-mode .slide-wrapper:not(:last-child):after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:min(100% - 2 * var(--spacing-lg),var(--max-width-large) - 2 * var(--spacing-lg));height:var(--line-width, 1px);background-color:var(--color-divider)}body:has(.slides-container) .footer-decorative{display:none}body.page-with-scroll .page-wrapper{display:block;height:auto;min-height:calc(var(--vh-dynamic) * 100);overflow:visible;box-sizing:border-box;padding-bottom:0!important}body.page-with-scroll .content-wrapper{min-height:calc(var(--vh-dynamic) * 100);box-sizing:border-box;display:block;padding-top:0;padding-bottom:0;max-width:100%!important;margin:0!important;padding-left:0!important;padding-right:0!important}body.page-with-scroll .header,body.page-with-scroll .footer{position:relative;width:100%;height:var(--header-footer-height);display:flex;align-items:center;flex-shrink:0;background-color:color-mix(in srgb,var(--color-bg-primary) 10%,transparent);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);transition:background-color var(--transition-duration-base) var(--timing-function-ease),color var(--transition-duration-base) var(--timing-function-ease)}body.page-with-scroll .header+.decorative-line-horizontal,body.page-with-scroll main+.decorative-line-horizontal{position:relative;width:100%;height:var(--line-width);background-color:var(--line-color);top:0!important;bottom:auto!important;left:0!important;right:auto!important}body.page-with-scroll main+.decorative-line-horizontal{opacity:0;transition:opacity var(--transition-duration-base) var(--timing-function-ease-out)}body.page-with-scroll main+.decorative-line-horizontal.fade-in-visible{opacity:1}html.page-404{overflow:visible;height:100%}body.page-404{overflow-y:auto;overflow-x:hidden;height:auto;min-height:calc(var(--vh-dynamic) * 100);-webkit-overflow-scrolling:touch;-ms-overflow-style:none;scrollbar-width:none}body.page-404::-webkit-scrollbar{display:none}body.page-404 .page-wrapper{display:block;height:auto;min-height:calc(var(--vh-dynamic) * 100);overflow:visible;box-sizing:border-box}body.page-404 .content-wrapper{min-height:calc(var(--vh-dynamic) * 100);box-sizing:border-box;display:flex;align-items:center;justify-content:center;padding-top:var(--spacing-xxl);padding-bottom:var(--spacing-xxl)}.page-404-container{position:relative;width:100%;min-height:400px;display:flex;align-items:center;justify-content:center}.notfound-loading-container{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;z-index:10;min-height:400px;pointer-events:none}.notfound-loading-container:has(.loading.hidden),.notfound-loading-container[style*="display: none"]{display:none!important;pointer-events:none!important}.notfound-loading-container .loading:not(.hidden){pointer-events:auto}}@media(max-width:1023px){body.page-with-scroll{overscroll-behavior-y:auto}body.page-with-scroll .page-wrapper{display:block;height:auto;min-height:calc(var(--vh-dynamic) * 100);overflow:visible;box-sizing:border-box}body.page-with-scroll .content-wrapper{min-height:calc(var(--vh-dynamic) * 100);box-sizing:border-box;display:block;padding-top:0;padding-bottom:0;max-width:100%!important;margin:0!important;padding-left:0!important;padding-right:0!important}body.page-with-scroll .header,body.page-with-scroll .footer{position:relative;width:100%;height:var(--header-footer-height);display:flex;align-items:center;flex-shrink:0;background-color:color-mix(in srgb,var(--color-bg-primary) 10%,transparent);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);transition:background-color var(--transition-duration-base) var(--timing-function-ease),color var(--transition-duration-base) var(--timing-function-ease)}body.page-with-scroll .header+.decorative-line-horizontal,body.page-with-scroll main+.decorative-line-horizontal{position:relative;width:100%;height:var(--line-width);background-color:var(--line-color);top:0!important;bottom:auto!important;left:0!important;right:auto!important}body.page-with-scroll main+.decorative-line-horizontal{opacity:0;transition:opacity var(--transition-duration-base) var(--timing-function-ease-out)}body.page-with-scroll main+.decorative-line-horizontal.fade-in-visible{opacity:1}body.page-404 .page-wrapper{display:block;height:auto;min-height:calc(var(--vh-dynamic) * 100);overflow:visible;box-sizing:border-box}body.page-404 .content-wrapper{min-height:calc(var(--vh-dynamic) * 100);box-sizing:border-box;display:flex;align-items:center;justify-content:center;padding-top:var(--spacing-xxl);padding-bottom:var(--spacing-xxl)}body.page-404 .header,body.page-404 .footer{position:relative;width:100%;height:var(--header-footer-height);display:flex;align-items:center;flex-shrink:0;background-color:color-mix(in srgb,var(--color-bg-primary) 10%,transparent);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);transition:background-color var(--transition-duration-base) var(--timing-function-ease),color var(--transition-duration-base) var(--timing-function-ease)}body.page-404 .header+.decorative-line-horizontal,body.page-404 main+.decorative-line-horizontal{position:relative;width:100%;height:var(--line-width);background-color:var(--line-color);top:0!important;bottom:auto!important;left:0!important;right:auto!important}body.page-404 main+.decorative-line-horizontal{opacity:0;transition:opacity var(--transition-duration-base) var(--timing-function-ease-out)}body.page-404 main+.decorative-line-horizontal.fade-in-visible{opacity:1}}:root{--vh-fallback: 1vh;--vh-dynamic: 1dvh;--theme-light-text-primary: #121212;--theme-light-bg-primary: #f5f5f5;--theme-light-accent: #d90429;--theme-light-accent-bg: #f9d5db;--theme-light-divider: #b3b3b3;--theme-light-placeholder: #444444;--theme-light-secondary: #666666;--theme-dark-text-primary: #f5f5f5;--theme-dark-bg-primary: #121212;--theme-dark-accent: #d90429;--theme-dark-accent-bg: #641912;--theme-dark-divider: #888888;--theme-dark-placeholder: #444444;--theme-dark-secondary: #888888;--color-text-primary: var(--theme-light-text-primary);--color-bg-primary: var(--theme-light-bg-primary);--color-accent: var(--theme-light-accent);--color-accent-bg: var(--theme-light-accent-bg);--color-divider: var(--theme-light-divider);--color-placeholder: var(--theme-light-placeholder);--color-secondary: var(--theme-light-secondary);--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-size-base: 1rem;--font-size-small: .875rem;--font-size-h6: 1rem;--font-size-h5: 1.125rem;--font-size-h4: 1.25rem;--font-size-h3: 1.5rem;--font-size-h2: 2rem;--font-size-h1: 2.5rem;--font-size-display: 3rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-base: 1.6;--line-height-heading: 1.3;--letter-spacing-tight: -.01em;--letter-spacing-normal: 0;--breakpoint-mobile: 480px;--breakpoint-tablet: 481px;--breakpoint-desktop: 1024px;--breakpoint-large: 1025px;--breakpoint-height-small: 900px;--max-width-mobile: 100%;--max-width-tablet: 720px;--max-width-desktop: 960px;--max-width-large: 1200px;--max-width-content: calc(var(--max-width-large) + var(--spacing-sm));--spacing-xs: .5rem;--spacing-sm: 1rem;--spacing-md: 1.5rem;--spacing-lg: 2rem;--spacing-xl: 3rem;--spacing-xxl: 4rem;--spacing-content-side: var(--spacing-xs);--spacing-page-top: var(--spacing-lg);--spacing-section-large: var(--spacing-xxl);--spacing-section-large-mobile: var(--spacing-xl);--spacing-section-medium-mobile: var(--spacing-lg);--line-color: var(--color-text-primary);--line-width: 1px;--animation-duration: .3s;--transition-duration-fast: .2s;--transition-duration-base: .3s;--transition-duration-slow: .5s;--timing-function-ease: ease;--timing-function-ease-in: ease-in;--timing-function-ease-out: ease-out;--timing-function-ease-in-out: ease-in-out;--animation-delay-none: 0s;--animation-delay-short: .1s;--animation-delay-medium: .2s;--animation-delay-base: .3s;--header-footer-height: 64px;--loading-square-size: 14px}[data-theme=dark]{--color-text-primary: var(--theme-dark-text-primary);--color-bg-primary: var(--theme-dark-bg-primary);--color-accent: var(--theme-dark-accent);--color-accent-bg: var(--theme-dark-accent-bg);--color-divider: var(--theme-dark-divider);--color-placeholder: var(--theme-dark-placeholder);--color-secondary: var(--theme-dark-secondary)}@supports not (height: 1dvh){:root{--vh-dynamic: var(--vh-fallback)}}@media(max-width:1023px){body.page-404 .header-menu-button,.header-nav{display:none}.header-menu-button{display:flex;width:24px;height:24px;background-color:transparent;border:none;padding:0;font-size:0;cursor:pointer}.header-menu-button:hover{background-color:transparent;color:var(--color-text-primary)}}@media(max-width:599px){.project-info{flex-direction:column;align-items:flex-start;gap:var(--spacing-xxs)}}@media(max-width:424px){.cta-button{font-size:var(--font-size-small);padding:var(--spacing-xs) var(--spacing-lg);transition:font-size var(--transition-duration-base) var(--timing-function-ease),padding var(--transition-duration-base) var(--timing-function-ease)}.project-meta{font-size:var(--font-size-small);flex-direction:column;align-items:flex-start;gap:0;transition:font-size var(--transition-duration-base) var(--timing-function-ease)}.project-meta span:after{display:none!important}.main-content-name{font-size:var(--font-size-h2);transition:font-size var(--transition-duration-base) var(--timing-function-ease)}.main-content-title{font-size:var(--font-size-h4);transition:font-size var(--transition-duration-base) var(--timing-function-ease)}.section-title{font-size:var(--font-size-h3);transition:font-size var(--transition-duration-base) var(--timing-function-ease)}}@media(max-width:374px){.footer-left{display:none}.footer-content{grid-template-columns:1fr auto}}@media(max-width:342px){.portrait-image{width:clamp(260px,90.9vw - 30.9px,280px);height:clamp(390px,136.4vw - 46.4px,420px);transition:width var(--transition-duration-base) var(--timing-function-ease),height var(--transition-duration-base) var(--timing-function-ease)}}@media(max-width:319px){.page-wrapper{min-width:320px;overflow-x:auto;-ms-overflow-style:none;scrollbar-width:none}.page-wrapper::-webkit-scrollbar{display:none}.slides-container.tablet-scroll-mode .slide:not(:last-child):after{width:320px}}.index-page{padding:0!important;max-width:100%!important;margin:0!important;flex:1;display:flex;flex-direction:column;min-height:0;width:100%;box-sizing:border-box;position:relative}.index-loading-container{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;z-index:10;min-height:400px;pointer-events:none}@media(max-width:1023px){.index-loading-container{min-height:300px}}.index-loading-container:has(.loading.hidden),.index-loading-container[style*="display: none"]{display:none!important;pointer-events:none!important}.index-loading-container .loading:not(.hidden){pointer-events:auto}.index-page .slides-container{width:100%;height:100%;position:relative;flex:1;min-height:0}.index-page .slide:first-child .main-grid{padding:var(--spacing-xl) 0}@media(max-width:1023px){.index-page .slide:first-child .main-grid{padding-top:0;padding-bottom:0}}.index-page .project-slide-content{width:100%;max-width:100%;padding:0}@media(min-width:1025px){.index-page .project-slide-content{padding-left:0;padding-right:0}}.index-page .cta-slide-content{width:100%;max-width:100%;padding:0;gap:0}.index-page .cta-slide-content .section-title{margin-bottom:var(--spacing-lg)}@media(max-width:1023px){.index-page .cta-slide-content .section-title{margin-bottom:var(--spacing-md)}}.index-page .cta-slide-content .cta-buttons{margin-bottom:var(--spacing-md)}.index-page .cta-slide-content .cta-divider{width:100%;max-width:400px;height:var(--line-width);background-color:var(--color-divider);margin:var(--spacing-md) 0;flex-shrink:0}.index-page .cta-slide-content .cta-buttons-primary{margin-top:var(--spacing-md)}.main-content-top .cv-about-text{margin-top:var(--spacing-md);color:var(--color-secondary);font-size:var(--font-size-small);line-height:var(--line-height-base)}@media(max-width:1023px){.index-page .slide{padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.index-page .slide:first-child{padding-left:0;padding-right:0}.index-page .slide{padding-top:0;padding-bottom:0}.index-page .slide:first-child .main-grid{padding-left:var(--spacing-md);padding-right:var(--spacing-md);padding-top:var(--spacing-page-top);padding-bottom:var(--spacing-page-top)}.index-page .project-slide-content{padding-top:var(--spacing-section-large-mobile);padding-bottom:var(--spacing-section-large-mobile)}.index-page #cta-section .cta-slide-content{padding-top:var(--spacing-xl);padding-bottom:var(--spacing-xl)}.index-page #cta-section .cta-slide-content>*:last-child{margin-bottom:0}.index-page .slide[data-slide="2"] .project-slide-header .section-title,.index-page .slide[data-slide="3"] .project-slide-header .section-title{display:none}}.projects-page{padding:var(--spacing-page-top) var(--spacing-lg);padding-bottom:0;max-width:var(--max-width-content);margin:0 auto;flex:1;display:flex;flex-direction:column;min-height:0}@media(max-width:1023px){.projects-page{max-width:100%;padding-top:var(--spacing-page-top);padding-left:var(--spacing-lg);padding-right:var(--spacing-lg);flex:1}}.projects-page{position:relative}@media(max-width:1023px){.projects-page{transition:max-width var(--transition-duration-base) var(--timing-function-ease),padding var(--transition-duration-base) var(--timing-function-ease)}}.projects-loading-container{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;z-index:10;min-height:400px;pointer-events:none}@media(max-width:1023px){.projects-loading-container{min-height:300px}}.projects-loading-container:has(.loading.hidden),.projects-loading-container[style*="display: none"]{display:none!important;pointer-events:none!important}.projects-loading-container .loading:not(.hidden){pointer-events:auto}.projects-filters-container{margin-bottom:var(--spacing-section-large-mobile)}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--spacing-lg);margin-bottom:var(--spacing-section-large-mobile);align-items:stretch}.projects-grid:has(.projects-loading:not(.hidden)){margin-bottom:0;display:flex;flex-direction:column;min-height:0}.projects-grid .project-card{height:100%;width:100%;min-width:0;max-width:100%;display:flex;flex-direction:column}.projects-section{grid-column:1/-1;margin-bottom:var(--spacing-section-large-mobile)}@media(max-width:1023px){.projects-section{margin-bottom:var(--spacing-section-medium-mobile)}}.projects-section{opacity:1}.projects-section:first-child .projects-section-header{margin-top:0}.projects-section-header{margin:var(--spacing-section-large-mobile) 0 var(--spacing-md) 0}.projects-section-title{font-size:var(--font-size-h2);font-weight:900;color:var(--color-text-primary);margin:0;text-transform:uppercase;letter-spacing:var(--letter-spacing-tight);display:flex;align-items:center;gap:var(--spacing-md);flex-wrap:wrap;transition:font-size var(--transition-duration-base) var(--timing-function-ease)}.projects-section-title .project-filters-option-count{font-size:inherit;line-height:1}.projects-section-title#project-filters-results .projects-section-title-text+.project-filters-option-count{margin-left:calc(-1 * var(--spacing-md) + var(--spacing-sm))}.projects-section-title-text{display:inline-block}.projects-section-expand-text{flex-grow:1}.projects-section-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--spacing-lg);align-items:stretch;opacity:1;transition:opacity var(--transition-duration-base) var(--timing-function-ease-in-out)}.projects-section-grid .project-card{height:100%;width:100%;min-width:0;max-width:100%;display:flex;flex-direction:column;opacity:1;transition:opacity var(--transition-duration-base) var(--timing-function-ease-in-out),transform var(--transition-duration-base) var(--timing-function-ease-in-out)}.project-card-hidden{opacity:0;visibility:hidden;transition:opacity var(--transition-duration-base) var(--timing-function-ease-in-out),visibility var(--transition-duration-base) var(--timing-function-ease-in-out)}.project-card-hidden[style*="display: none"]{display:none!important}.project-card-hidden:not([style*="display: none"]){opacity:1;visibility:visible}.projects-loading{grid-column:1/-1;flex:1;min-height:0;box-sizing:border-box}.projects-grid:has(.projects-loading:not(.hidden)){margin-bottom:0;min-height:0}body.page-with-scroll .content-wrapper:has(.projects-loading:not(.hidden)){height:calc(var(--vh-dynamic) * 100 - var(--header-footer-height));min-height:calc(var(--vh-dynamic) * 100 - var(--header-footer-height))}.projects-page:has(.projects-loading:not(.hidden)){min-height:0;display:flex;flex-direction:column;flex:1}@media(max-width:1023px){body.page-with-scroll .content-wrapper:has(.projects-loading:not(.hidden)){height:100%;min-height:100%;display:flex!important;flex-direction:column}.projects-page:has(.projects-loading:not(.hidden)){flex:1;min-height:0;display:flex;flex-direction:column}}.projects-navigation{display:none;margin-top:var(--spacing-xxl);margin-bottom:0;padding-top:var(--spacing-xl);padding-bottom:var(--spacing-xl);text-align:center;width:100%;box-sizing:border-box;position:relative}@media(max-width:1023px){.projects-navigation{display:block}.projects-navigation:before{content:"";position:absolute;top:0;left:0;width:100%;height:var(--line-width, 1px);background-color:var(--color-divider)}.projects-navigation .section-title{margin-bottom:var(--spacing-lg);text-align:center}.projects-navigation .cta-buttons{max-width:400px;margin:0 auto}}@media(min-width:1024px){.projects-navigation{display:none!important}}@media(max-width:599px){.projects-grid,.projects-section-grid{grid-template-columns:1fr;gap:var(--spacing-md);transition:grid-template-columns var(--transition-duration-base) var(--timing-function-ease),gap var(--transition-duration-base) var(--timing-function-ease)}.projects-section-header{margin:var(--spacing-section-medium-mobile) 0 var(--spacing-sm) 0;transition:margin var(--transition-duration-base) var(--timing-function-ease)}.projects-section-title{font-size:var(--font-size-h3);margin:0;gap:var(--spacing-sm);transition:font-size var(--transition-duration-base) var(--timing-function-ease),gap var(--transition-duration-base) var(--timing-function-ease)}.projects-section-expand{font-size:var(--font-size-small);padding:var(--spacing-xs) var(--spacing-sm);transition:font-size var(--transition-duration-base) var(--timing-function-ease),padding var(--transition-duration-base) var(--timing-function-ease)}}@media(min-width:768px)and (max-width:1023px){.projects-grid,.projects-section-grid{grid-template-columns:repeat(2,1fr);gap:var(--spacing-md);transition:grid-template-columns var(--transition-duration-base) var(--timing-function-ease),gap var(--transition-duration-base) var(--timing-function-ease)}.projects-section-header{margin:var(--spacing-section-medium-mobile) 0 var(--spacing-sm) 0;transition:margin var(--transition-duration-base) var(--timing-function-ease)}.projects-section-title{font-size:var(--font-size-h3);margin:0;gap:var(--spacing-sm);transition:font-size var(--transition-duration-base) var(--timing-function-ease),gap var(--transition-duration-base) var(--timing-function-ease)}.projects-section-expand{font-size:var(--font-size-small);padding:var(--spacing-xs) var(--spacing-sm);transition:font-size var(--transition-duration-base) var(--timing-function-ease),padding var(--transition-duration-base) var(--timing-function-ease)}}.research-page{padding:var(--spacing-page-top) var(--spacing-lg);padding-bottom:0;max-width:var(--max-width-content);margin:0 auto;flex:1;display:flex;flex-direction:column;min-height:0}@media(max-width:1023px){.research-page{max-width:100%;padding-top:var(--spacing-page-top);padding-left:var(--spacing-lg);padding-right:var(--spacing-lg);flex:1}}.research-page{position:relative}.research-loading-container{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;z-index:10;min-height:400px;pointer-events:none}@media(max-width:1023px){.research-loading-container{min-height:300px}}.research-loading-container:has(.loading.hidden),.research-loading-container[style*="display: none"]{display:none!important;pointer-events:none!important}.research-loading-container .loading:not(.hidden){pointer-events:auto}.research-page-title{font-size:var(--font-size-h1);font-weight:900;text-transform:uppercase;color:var(--color-text-primary);margin:0 0 var(--spacing-xl) 0;letter-spacing:var(--letter-spacing-tight);line-height:var(--line-height-heading)}@media(max-width:1023px){.research-page-title{font-size:var(--font-size-h2);margin-bottom:var(--spacing-lg)}}.research-diploma-section{margin-bottom:var(--spacing-section-large)}@media(max-width:1023px){.research-diploma-section{margin-bottom:var(--spacing-section-large-mobile)}}.research-diploma{margin-bottom:var(--spacing-section-large-mobile)}.research-section-title{font-size:var(--font-size-h2);font-weight:900;text-transform:uppercase;color:var(--color-text-primary);margin:0 0 var(--spacing-lg) 0;letter-spacing:var(--letter-spacing-tight);line-height:var(--line-height-heading)}@media(max-width:1023px){.research-section-title{font-size:var(--font-size-h3);margin-bottom:var(--spacing-md)}}.research-publications-section{margin-bottom:var(--spacing-section-large-mobile)}@media(max-width:1023px){.research-publications-section{margin-bottom:var(--spacing-section-medium-mobile)}}.research-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-lg);margin-bottom:var(--spacing-section-large-mobile);align-items:stretch}.research-grid .research-card{height:100%;width:100%;min-width:0;max-width:100%;display:flex;flex-direction:column}.research-grid.research-grid-diploma{grid-template-columns:1fr}.research-year-header{font-size:var(--font-size-h3);font-weight:900;text-transform:uppercase;color:var(--color-text-primary);margin:var(--spacing-section-large-mobile) 0 var(--spacing-lg) 0;padding-bottom:var(--spacing-sm);border-bottom:var(--line-width) solid var(--color-divider);letter-spacing:var(--letter-spacing-tight);line-height:var(--line-height-heading)}.research-year-header:first-of-type{margin-top:0}@media(max-width:1023px){.research-year-header{font-size:var(--font-size-h4);margin-top:var(--spacing-section-medium-mobile);margin-bottom:var(--spacing-md)}}.research-publication{margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-lg);border-bottom:1px solid var(--color-divider)}.research-publication:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}@media(max-width:1023px){.research-publication{margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md)}}.research-publication-diploma{background-color:var(--color-accent-bg);padding:var(--spacing-lg);border:var(--line-width) solid var(--color-accent);border-radius:0}@media(max-width:1023px){.research-publication-diploma{padding:var(--spacing-md)}}.research-publication-title{font-size:var(--font-size-h4);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0 0 var(--spacing-md) 0;line-height:var(--line-height-heading)}@media(max-width:1023px){.research-publication-title{font-size:var(--font-size-h5);margin-bottom:var(--spacing-sm)}}.research-publication-meta{display:flex;flex-direction:column;gap:var(--spacing-xs);margin-bottom:var(--spacing-md);font-size:var(--font-size-base);line-height:var(--line-height-base);color:var(--color-text-primary);user-select:text;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text}@media(max-width:1023px){.research-publication-meta{font-size:var(--font-size-small);gap:.25rem;margin-bottom:var(--spacing-sm)}}.research-publication-authors{font-weight:var(--font-weight-medium)}.research-publication-journal{font-style:italic}.research-publication-date{color:var(--color-secondary)}.research-publication-status-level{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-top:var(--spacing-xs)}.research-publication-status{display:inline-block;padding:.25rem var(--spacing-sm);font-size:var(--font-size-small);font-weight:var(--font-weight-semibold);text-transform:uppercase;border:var(--line-width) solid var(--color-text-primary);background-color:transparent;color:var(--color-text-primary)}.research-publication-status.research-publication-status-published{background-color:var(--color-text-primary);color:var(--color-bg-primary)}.research-publication-status.research-publication-status-in-publication{border-color:var(--color-accent);color:var(--color-accent)}.research-publication-status.research-publication-status-in-progress{border-color:var(--color-accent);background-color:var(--color-accent-bg);color:var(--color-accent)}.research-publication-level{display:inline-block;padding:.25rem var(--spacing-sm);font-size:var(--font-size-small);font-weight:var(--font-weight-semibold);text-transform:uppercase;border:var(--line-width) solid var(--color-divider);background-color:transparent;color:var(--color-secondary)}.research-publication-draft-note{margin-top:var(--spacing-sm);padding:var(--spacing-sm);background-color:var(--color-bg-primary);border-left:3px solid var(--color-accent);font-size:var(--font-size-small);color:var(--color-secondary);font-style:italic}.research-publication-pdf-button{display:inline-block;padding:var(--spacing-sm) var(--spacing-lg);margin-top:var(--spacing-md);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);text-transform:uppercase;text-decoration:none;color:var(--color-text-primary);border:var(--line-width) solid var(--color-text-primary);background-color:transparent;transition:background-color var(--transition-duration-base) var(--timing-function-ease),color var(--transition-duration-base) var(--timing-function-ease),border-color var(--transition-duration-base) var(--timing-function-ease);font-family:var(--font-family);cursor:pointer}.research-publication-pdf-button:hover{background-color:var(--color-accent);border-color:var(--color-accent);color:var(--color-bg-primary)}@media(max-width:1023px){.research-publication-pdf-button{font-size:var(--font-size-small);padding:var(--spacing-xs) var(--spacing-md);margin-top:var(--spacing-sm)}}.research-publication-abstract-container{margin-top:var(--spacing-md)}.research-publication-abstract-toggle{display:inline-block;padding:var(--spacing-xs) var(--spacing-sm);margin-bottom:var(--spacing-sm);font-size:var(--font-size-small);font-weight:var(--font-weight-medium);text-decoration:underline;color:var(--color-accent);background:none;border:none;cursor:pointer;font-family:var(--font-family);transition:color var(--transition-duration-base) var(--timing-function-ease)}.research-publication-abstract-toggle:hover{color:var(--color-text-primary)}.research-publication-abstract{font-size:var(--font-size-base);line-height:var(--line-height-base);color:var(--color-text-primary);margin-top:var(--spacing-sm);padding:var(--spacing-md);background-color:var(--color-bg-primary);border-left:3px solid var(--color-divider);user-select:text;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text}@media(max-width:1023px){.research-publication-abstract{font-size:var(--font-size-small);padding:var(--spacing-sm)}}.research-publication-keywords{margin-top:var(--spacing-sm);font-size:var(--font-size-small);line-height:var(--line-height-base);color:var(--color-secondary);user-select:text;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text}.research-publication-keywords strong{font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.research-navigation{display:none;margin-top:var(--spacing-xxl);margin-bottom:0;padding-top:var(--spacing-xl);padding-bottom:var(--spacing-xl);text-align:center;width:100%;box-sizing:border-box;position:relative}@media(max-width:1023px){.research-navigation{display:block}.research-navigation:before{content:"";position:absolute;top:0;left:0;width:100%;height:var(--line-width, 1px);background-color:var(--color-divider)}.research-navigation .section-title{margin-bottom:var(--spacing-lg);text-align:center}.research-navigation .cta-buttons{max-width:400px;margin:0 auto}}@media(min-width:1024px){.research-navigation{display:none!important}}@media(max-width:1023px){.research-grid{grid-template-columns:1fr;gap:var(--spacing-md)}.research-year-header{margin-top:var(--spacing-lg)}.research-publication-pdf-button:hover{background-color:transparent;border-color:var(--color-text-primary);color:var(--color-text-primary)}.research-publication-abstract-toggle:hover{color:var(--color-accent)}}.cv-page{padding:var(--spacing-page-top) var(--spacing-lg);padding-bottom:0;max-width:var(--max-width-content);margin:0 auto;flex:1;display:flex;flex-direction:column;min-height:0}@media(max-width:1023px){.cv-page{max-width:100%;padding-top:var(--spacing-page-top);padding-left:var(--spacing-lg);padding-right:var(--spacing-lg);flex:1}}.cv-page{position:relative}.cv-loading-container{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;z-index:10;min-height:400px;pointer-events:none}@media(max-width:1023px){.cv-loading-container{min-height:300px}}.cv-loading-container:has(.loading.hidden),.cv-loading-container[style*="display: none"]{display:none!important;pointer-events:none!important}.cv-loading-container .loading:not(.hidden){pointer-events:auto}.cv-page-title{font-size:var(--font-size-h1);font-weight:900;text-transform:uppercase;color:var(--color-text-primary);margin:0 0 var(--spacing-xl) 0;letter-spacing:var(--letter-spacing-tight);line-height:var(--line-height-heading)}@media(max-width:1023px){.cv-page-title{font-size:var(--font-size-h2);margin-bottom:var(--spacing-lg)}}.cv-section{margin-bottom:var(--spacing-section-large)}@media(max-width:1023px){.cv-section{margin-bottom:var(--spacing-section-large-mobile)}}.cv-section:empty{display:none}.cv-section:last-of-type{margin-bottom:var(--spacing-section-large-mobile)}@media(max-width:1023px){.cv-section{margin-bottom:var(--spacing-section-large-mobile)}.cv-section:last-of-type{margin-bottom:var(--spacing-section-medium-mobile)}}.cv-section-title{font-size:var(--font-size-h2);font-weight:700;text-transform:uppercase;color:var(--color-text-primary);margin:0 0 var(--spacing-lg) 0;letter-spacing:var(--letter-spacing-tight);line-height:var(--line-height-heading)}@media(max-width:1023px){.cv-section-title{font-size:var(--font-size-h3);margin-bottom:var(--spacing-md)}}.cv-header{margin-top:0}.cv-header .cv-section-title{margin-top:var(--spacing-xl);margin-bottom:var(--spacing-lg)}@media(max-width:1023px){.cv-header .cv-section-title{margin-top:var(--spacing-lg);margin-bottom:var(--spacing-md)}}.cv-header .cv-skills-grid{margin-top:var(--spacing-xl)}@media(max-width:1023px){.cv-header .cv-skills-grid{margin-top:var(--spacing-lg)}}.cv-header-name{font-size:var(--font-size-h1);font-weight:900;text-transform:uppercase;color:var(--color-text-primary);margin:0;letter-spacing:var(--letter-spacing-tight);line-height:1}@media(max-width:1023px){.cv-header-name{font-size:var(--font-size-h2);text-align:left}}.cv-header-role{font-size:var(--font-size-h3);font-weight:600;text-transform:uppercase;color:var(--color-text-primary);margin:0;letter-spacing:var(--letter-spacing-tight);line-height:1}@media(max-width:1023px){.cv-header-role{font-size:var(--font-size-h4);text-align:left}}.cv-header-content{display:grid;grid-template-columns:1fr;gap:var(--spacing-md);margin:0 auto;box-sizing:border-box;align-items:start;justify-items:start;transition:gap var(--transition-duration-base) var(--timing-function-ease);width:100%}@media(min-width:1025px){.cv-header-content{grid-template-columns:auto 1fr;grid-template-rows:1fr auto;gap:var(--spacing-md) var(--spacing-lg);align-items:stretch;justify-items:start}}@media(max-width:1023px){.cv-header-content{gap:var(--spacing-lg);justify-items:start}}.cv-header-photo{flex-shrink:0;display:flex;flex-direction:column;gap:var(--spacing-xs);align-items:center}@media(min-width:1025px){.cv-header-photo{grid-column:1;grid-row:1/span 2;order:0}}@media(max-width:1023px){.cv-header-photo{align-items:center;order:2}}.cv-header-photo-image{width:200px;height:300px;max-width:200px;max-height:300px;border:var(--line-width) solid var(--color-text-primary);object-fit:cover;-webkit-user-select:none;user-select:none}@media(max-width:1023px){.cv-header-photo-image{width:150px;height:225px;max-width:150px;max-height:225px}}.cv-header-top{display:flex;flex-direction:column;gap:6px;text-align:left}@media(min-width:1025px){.cv-header-top{grid-column:2;grid-row:1;text-align:left;align-self:start;order:0}}@media(max-width:1023px){.cv-header-top{text-align:left;align-items:flex-start;order:1}}.cv-header-right{flex:1;display:flex;flex-direction:column;gap:var(--spacing-lg);justify-content:flex-start}@media(min-width:1025px){.cv-header-right{grid-column:2;grid-row:2;text-align:left;align-self:end;justify-content:flex-end}}@media(max-width:1023px){.cv-header-right{width:100%;align-items:flex-start}}.cv-header-contacts{display:flex;align-items:center}@media(max-width:1023px){.cv-header-contacts{width:100%;justify-content:flex-start}}.cv-header-contacts-wrapper{display:flex;flex-direction:column;gap:.125rem;align-items:flex-start;margin-top:.25rem}@media(max-width:1023px){.cv-header-contacts-wrapper{align-items:flex-start}}.cv-header-contact-link{font-size:var(--font-size-small);line-height:var(--line-height-base);color:var(--color-secondary);font-weight:var(--font-weight-normal);text-transform:none;text-decoration:none;cursor:pointer;white-space:nowrap;transition:color var(--transition-duration-base) var(--timing-function-ease);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}.cv-header-contact-link:hover{color:var(--color-text-primary)}.cv-header-about{display:flex;flex-direction:column;gap:0}@media(min-width:1025px){.cv-header-about{grid-column:2;grid-row:2;text-align:left;align-self:start;order:0}}@media(max-width:1023px){.cv-header-about{width:100%;text-align:left;order:3}}.cv-about-contact-buttons{display:flex;flex-direction:column;gap:var(--spacing-xs);width:100%;align-items:stretch}.cv-about-contact-buttons .research-card-journal-wrapper{text-align:center;justify-content:center}.cv-about-contact-buttons .research-card-journal-wrapper .research-card-journal{text-decoration:none;cursor:pointer}@media(max-width:1023px){.cv-about-contact-buttons{gap:var(--spacing-xs)}}.cv-contacts-list{display:flex;flex-wrap:wrap;gap:var(--spacing-md);align-items:center}@media(max-width:1023px){.cv-contacts-list{gap:var(--spacing-sm);justify-content:flex-start}}.cv-contact-item{font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-text-primary);text-decoration:none;transition:color var(--transition-duration-base) var(--timing-function-ease)}.cv-contact-item:hover{color:var(--color-accent)}@media(max-width:1023px){.cv-contact-item{font-size:var(--font-size-small)}}.cv-about-text{font-size:var(--font-size-small);line-height:var(--line-height-base);color:var(--color-secondary);margin:0;max-width:800px}@media(max-width:1023px){.cv-about-text{font-size:var(--font-size-small)}}.cv-about-divider{width:100%;height:var(--line-width);background-color:var(--color-secondary);margin:12px 0;padding:0;max-width:800px;flex-shrink:0}.cv-skills-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-lg);margin-top:var(--spacing-lg)}@media(max-width:1023px){.cv-skills-grid{grid-template-columns:1fr;gap:var(--spacing-md);margin-top:var(--spacing-md)}}.cv-skill-category{display:flex;flex-direction:column;gap:var(--spacing-sm)}.cv-skill-category-title{font-size:var(--font-size-h4);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0;line-height:var(--line-height-heading)}@media(max-width:1023px){.cv-skill-category-title{font-size:var(--font-size-h5)}}.cv-skill-category-description{font-size:var(--font-size-small);line-height:var(--line-height-base);color:var(--color-secondary);margin:0;margin-top:calc(var(--spacing-xs) * -1);margin-bottom:var(--spacing-xs);user-select:text;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text}@media(max-width:1023px){.cv-skill-category-description{font-size:var(--font-size-small)}}.cv-skill-list{display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.cv-skill-tag{padding:4px var(--spacing-xs);font-size:var(--font-size-small);border-radius:2px;font-weight:var(--font-weight-medium);transition:background-color var(--transition-duration-base) var(--timing-function-ease),color var(--transition-duration-base) var(--timing-function-ease);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;box-sizing:border-box;position:relative;color:var(--color-bg-primary)}.cv-skill-tag:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-color:var(--color-text-primary);opacity:1;border-radius:2px;z-index:-1}.cv-certificates-list{display:flex;flex-direction:column;gap:var(--spacing-md);margin-top:var(--spacing-lg)}@media(max-width:1023px){.cv-certificates-list{gap:var(--spacing-sm);margin-top:var(--spacing-md)}}.cv-certificate-item{display:flex;flex-direction:column;gap:var(--spacing-xs);padding-bottom:var(--spacing-md);border-bottom:var(--line-width) solid var(--color-divider)}.cv-certificate-item:last-child{border-bottom:none;padding-bottom:0}@media(max-width:1023px){.cv-certificate-item{padding-bottom:var(--spacing-sm)}}.cv-certificate-title{font-size:var(--font-size-h5);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0;line-height:var(--line-height-heading)}@media(max-width:1023px){.cv-certificate-title{font-size:var(--font-size-base)}}.cv-certificate-meta{display:flex;flex-wrap:wrap;gap:0;align-items:center;user-select:text;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text}.cv-certificate-organization{position:relative;flex-shrink:0;white-space:nowrap;display:inline-flex;align-items:center;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-secondary);transition:color var(--transition-duration-base) var(--timing-function-ease);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}@media(max-width:1023px){.cv-certificate-organization{font-size:var(--font-size-small)}}.cv-certificate-organization:not(:last-child):after{content:"";display:inline-flex;align-items:center;width:10px;height:10px;margin-left:var(--spacing-xs);margin-right:var(--spacing-xs);background-color:var(--color-secondary);mask-image:url(/assets/images/icon-divider-small.svg);mask-size:contain;mask-repeat:no-repeat;mask-position:center;-webkit-mask-image:url(/assets/images/icon-divider-small.svg);-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;flex-shrink:0;transition:opacity var(--transition-duration-base) var(--timing-function-ease-in-out)}.cv-certificate-year{position:relative;flex-shrink:0;white-space:nowrap;display:inline-flex;align-items:center;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-secondary);transition:color var(--transition-duration-base) var(--timing-function-ease);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}@media(max-width:1023px){.cv-certificate-year{font-size:var(--font-size-small)}}.cv-certificate-button{padding:var(--spacing-xs) var(--spacing-md);background-color:transparent;border:var(--line-width) solid var(--color-text-primary);color:var(--color-text-primary);font-size:var(--font-size-small);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.05em;cursor:pointer;transition:background-color var(--transition-duration-base) var(--timing-function-ease),color var(--transition-duration-base) var(--timing-function-ease),border-color var(--transition-duration-base) var(--timing-function-ease);font-family:var(--font-family);margin-top:var(--spacing-xs);align-self:flex-start;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;border-style:solid;box-sizing:border-box}.cv-certificate-button:hover:not(:disabled),.cv-certificate-button:focus:not(:disabled){background-color:var(--color-accent);border-color:var(--color-accent);color:var(--color-bg-primary);outline:none}.cv-certificate-button:disabled{opacity:.5;cursor:not-allowed}.cv-certificate-button:disabled:hover,.cv-certificate-button:disabled:focus{background-color:transparent;border-color:var(--color-text-primary);color:var(--color-text-primary);outline:none}@media(max-width:1023px){.cv-certificate-button{font-size:var(--font-size-small);padding:calc(var(--spacing-xs) * .75) var(--spacing-sm)}}.cv-courses-list{display:flex;flex-direction:column;gap:var(--spacing-md);margin-top:var(--spacing-lg)}@media(max-width:1023px){.cv-courses-list{gap:var(--spacing-sm);margin-top:var(--spacing-md)}}.cv-course-item{display:flex;flex-direction:column;gap:var(--spacing-xs);padding-bottom:var(--spacing-md);border-bottom:var(--line-width) solid var(--color-divider)}.cv-course-item:last-child{border-bottom:none;padding-bottom:0}@media(max-width:1023px){.cv-course-item{padding-bottom:var(--spacing-sm)}}.cv-course-title{font-size:var(--font-size-h5);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0;line-height:var(--line-height-heading)}@media(max-width:1023px){.cv-course-title{font-size:var(--font-size-base)}}.cv-course-meta{display:flex;flex-wrap:wrap;gap:0;align-items:center;user-select:text;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text}.cv-course-organization{position:relative;flex-shrink:0;white-space:nowrap;display:inline-flex;align-items:center;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-secondary);transition:color var(--transition-duration-base) var(--timing-function-ease);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}@media(max-width:1023px){.cv-course-organization{font-size:var(--font-size-small)}}.cv-course-organization:not(:last-child):after{content:"";display:inline-flex;align-items:center;width:10px;height:10px;margin-left:var(--spacing-xs);margin-right:var(--spacing-xs);background-color:var(--color-secondary);mask-image:url(/assets/images/icon-divider-small.svg);mask-size:contain;mask-repeat:no-repeat;mask-position:center;-webkit-mask-image:url(/assets/images/icon-divider-small.svg);-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;flex-shrink:0;transition:opacity var(--transition-duration-base) var(--timing-function-ease-in-out)}.cv-course-year{position:relative;flex-shrink:0;white-space:nowrap;display:inline-flex;align-items:center;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-secondary);transition:color var(--transition-duration-base) var(--timing-function-ease);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}@media(max-width:1023px){.cv-course-year{font-size:var(--font-size-small)}}.cv-languages-list{display:flex;flex-direction:column;gap:var(--spacing-md);margin-top:var(--spacing-lg)}@media(max-width:1023px){.cv-languages-list{gap:var(--spacing-sm);margin-top:var(--spacing-md)}}.cv-language-item{display:flex;flex-direction:column;gap:var(--spacing-xs);padding-bottom:var(--spacing-md);border-bottom:var(--line-width) solid var(--color-divider)}.cv-language-item:last-child{border-bottom:none;padding-bottom:0}@media(max-width:1023px){.cv-language-item{padding-bottom:var(--spacing-sm)}}.cv-language-name{font-size:var(--font-size-h5);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0;line-height:var(--line-height-heading)}@media(max-width:1023px){.cv-language-name{font-size:var(--font-size-base)}}.cv-language-level{font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-secondary)}@media(max-width:1023px){.cv-language-level{font-size:var(--font-size-small)}}.cv-download-section{margin-top:var(--spacing-section-large);margin-bottom:var(--spacing-section-large-mobile);text-align:center}@media(max-width:1023px){.cv-download-section{margin-top:var(--spacing-section-large-mobile);margin-bottom:var(--spacing-section-medium-mobile)}}.cv-download-wrapper{display:flex;justify-content:center;gap:var(--spacing-md);flex-wrap:wrap}@media(max-width:1023px){.cv-download-wrapper{flex-direction:column;align-items:center;gap:var(--spacing-sm)}}.cv-download-button{min-width:200px}@media(max-width:1023px){.cv-download-button{width:100%;min-width:unset}}.cv-navigation{display:none;margin-top:var(--spacing-xxl);margin-bottom:0;padding-top:var(--spacing-xl);padding-bottom:var(--spacing-xl);text-align:center;width:100%;box-sizing:border-box;position:relative}@media(max-width:1023px){.cv-navigation{display:block}.cv-navigation:before{content:"";position:absolute;top:0;left:0;width:100%;height:var(--line-width, 1px);background-color:var(--color-divider)}.cv-navigation .section-title{margin-bottom:var(--spacing-lg);text-align:center}.cv-navigation .cta-buttons{max-width:400px;margin:0 auto}}@media(min-width:1024px){.cv-navigation{display:none!important}}@media(max-width:1023px){.cv-header-contact-link:hover{color:var(--color-secondary)}.cv-contact-item:hover{color:var(--color-text-primary)}.cv-certificate-button:hover:not(:disabled),.cv-certificate-button:focus:not(:disabled){background-color:transparent;border-color:var(--color-text-primary);color:var(--color-text-primary);outline:none}}.community-page{padding:var(--spacing-page-top) var(--spacing-lg);padding-bottom:0;max-width:var(--max-width-content);margin:0 auto;flex:1;display:flex;flex-direction:column;min-height:0}@media(max-width:1023px){.community-page{max-width:100%;padding-top:var(--spacing-page-top);padding-left:var(--spacing-lg);padding-right:var(--spacing-lg);flex:1}}.community-page{position:relative}.community-loading-container{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;z-index:10;min-height:400px;pointer-events:none}@media(max-width:1023px){.community-loading-container{min-height:300px}}.community-loading-container:has(.loading.hidden),.community-loading-container[style*="display: none"]{display:none!important;pointer-events:none!important}.community-loading-container .loading:not(.hidden){pointer-events:auto}.community-section{margin-bottom:var(--spacing-section-large)}@media(max-width:1023px){.community-section{margin-bottom:var(--spacing-section-large-mobile)}}.community-section:last-child{margin-bottom:0}.community-section-title{font-size:var(--font-size-h2);font-weight:900;text-transform:uppercase;color:var(--color-text-primary);margin:0 0 var(--spacing-lg) 0;letter-spacing:var(--letter-spacing-tight);line-height:var(--line-height-heading)}@media(max-width:1023px){.community-section-title{font-size:var(--font-size-h3);margin-bottom:var(--spacing-md)}}.community-section-description{font-size:var(--font-size-base);line-height:var(--line-height-base);color:var(--color-text-secondary);margin:0 0 var(--spacing-lg) 0}@media(max-width:1023px){.community-section-description{font-size:var(--font-size-small);margin-bottom:var(--spacing-md)}}.community-discord-section{margin-bottom:var(--spacing-section-large)}@media(max-width:1023px){.community-discord-section{margin-bottom:var(--spacing-section-large-mobile)}}.community-discord-section .community-card{max-width:100%;width:100%;margin-top:var(--spacing-md)}.community-donations-section{margin-bottom:var(--spacing-section-large)}@media(max-width:1023px){.community-donations-section{margin-bottom:var(--spacing-section-large-mobile)}}.community-donations-links{display:flex;flex-direction:column;gap:var(--spacing-lg);align-items:stretch}@media(max-width:1023px){.community-donations-links{gap:var(--spacing-md)}}.community-card{display:flex;flex-direction:column;background-color:transparent;border:var(--line-width) solid var(--color-divider);transition:background-color var(--transition-duration-base) var(--timing-function-ease),border-color var(--transition-duration-base) var(--timing-function-ease),color var(--transition-duration-base) var(--timing-function-ease);cursor:pointer;overflow:hidden;width:100%;max-width:100%;min-width:0;margin-left:0;margin-right:0;border-style:solid;box-sizing:border-box;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;position:relative;contain:layout style;text-decoration:none}.community-card:hover{border-color:var(--color-accent);background-color:var(--color-accent)}.community-card:hover .community-card-icon svg,.community-card:hover .community-card-icon svg path{fill:var(--color-bg-primary)}.community-card:hover .community-card-title-text,.community-card:hover .community-card-subtitle{color:var(--color-bg-primary)}.community-card:hover .community-card-description{color:var(--color-bg-primary);opacity:.9}@media(min-width:1024px){.community-card.community-card-discord:hover .community-card-icon-left svg,.community-card.community-card-discord:hover .community-card-icon-left svg path{fill:var(--color-bg-primary)!important}.community-card.community-card-discord:hover .community-card-title-text,.community-card.community-card-discord:hover .community-card-subtitle{color:var(--color-bg-primary)}.community-card.community-card-discord:hover .community-card-description{color:var(--color-bg-primary);opacity:.9}}.community-card-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:32px;height:32px;margin-right:var(--spacing-sm);transition:fill var(--transition-duration-base) var(--timing-function-ease-out)}@media(max-width:1023px){.community-card-icon{width:28px;height:28px;margin-right:var(--spacing-xs)}}.community-card-icon>span,.community-card-icon svg{width:100%;height:100%;display:block}.community-card-icon svg{fill:var(--color-text-primary);transition:fill var(--transition-duration-base) var(--timing-function-ease-out)}.community-card-icon svg path{fill:var(--color-text-primary);transition:fill var(--transition-duration-base) var(--timing-function-ease-out)}.community-card-content{display:flex;flex-direction:column;padding:var(--spacing-sm);flex-grow:1;gap:var(--spacing-xs);min-height:0;width:100%;max-width:100%;min-width:0;background-color:transparent;flex-shrink:0;margin:0;border:none;position:relative;z-index:1;box-sizing:border-box}.community-card-discord .community-card-content{flex-direction:row;align-items:stretch;gap:0;padding:0}.community-card-discord .community-card-icon-left{flex-shrink:0!important;margin:0!important;align-self:center!important;display:flex!important;align-items:center;justify-content:center;padding:var(--spacing-sm);box-sizing:border-box;width:128px;min-width:128px;height:128px}.community-card-discord .community-card-icon-left>span{display:flex!important;align-items:center;justify-content:center;width:100%;height:100%;flex-shrink:0;margin:0!important}.community-card-discord .community-card-icon-left svg{width:100%!important;height:100%!important;display:block!important;fill:var(--color-text-primary);transition:fill var(--transition-duration-base) var(--timing-function-ease-in-out)}.community-card-discord .community-card-icon-left svg path{fill:var(--color-text-primary);transition:fill var(--transition-duration-base) var(--timing-function-ease-in-out)}.community-card-discord .community-card-text-block{padding:var(--spacing-sm);padding-left:0;box-sizing:border-box;flex:1}.community-card-text-block{display:flex;flex-direction:column;flex:1;min-width:0;gap:var(--spacing-xs)}.community-card-discord .community-card-title{margin:0}.community-card-title{font-size:var(--font-size-h4);font-weight:var(--font-weight-semibold);line-height:var(--line-height-heading);color:var(--color-text-primary);margin:0;text-transform:uppercase;letter-spacing:var(--letter-spacing-tight);display:flex;align-items:center;flex-shrink:0;min-height:calc(var(--font-size-h4) * var(--line-height-heading));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}.community-card-title-text{transition:color var(--transition-duration-base) var(--timing-function-ease);flex:1;min-width:0}.community-card-subtitle{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);line-height:var(--line-height-base);color:var(--color-accent);margin:0;flex-shrink:0;transition:color var(--transition-duration-base) var(--timing-function-ease);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}@media(max-width:1023px){.community-card-subtitle{font-size:var(--font-size-small)}}.community-card:hover .community-card-subtitle{color:var(--color-bg-primary)}.community-card-description{font-size:var(--font-size-base);line-height:var(--line-height-base);color:var(--color-text-secondary);margin:0;flex-grow:1;flex-shrink:1;min-height:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;transition:color var(--transition-duration-base) var(--timing-function-ease),opacity var(--transition-duration-base) var(--timing-function-ease-in-out);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}@media(max-width:1023px){.community-card-description{font-size:var(--font-size-small);-webkit-line-clamp:2}}.community-social-section{margin-bottom:var(--spacing-section-large)}@media(max-width:1023px){.community-social-section{margin-bottom:var(--spacing-section-large-mobile)}}.community-work-section{margin-bottom:var(--spacing-section-large)}@media(max-width:1023px){.community-work-section{margin-bottom:var(--spacing-section-large-mobile)}}.community-social-links{display:flex;flex-direction:column;gap:var(--spacing-lg);align-items:stretch}@media(max-width:1023px){.community-social-links{gap:var(--spacing-md)}}.community-events-section{margin-bottom:var(--spacing-section-large)}@media(max-width:1023px){.community-events-section{margin-bottom:var(--spacing-section-large-mobile)}}.community-events-list{display:flex;flex-direction:column;gap:var(--spacing-lg)}@media(max-width:1023px){.community-events-list{gap:var(--spacing-md)}}.community-event-item{padding:var(--spacing-lg);border:var(--line-width) solid var(--color-divider);background-color:var(--color-bg-primary);display:flex;flex-direction:column;gap:var(--spacing-sm);transition:border-color var(--transition-duration-base) var(--timing-function-ease)}.community-event-item:hover{border-color:var(--color-accent)}@media(max-width:1023px){.community-event-item{padding:var(--spacing-md);gap:var(--spacing-xs)}}.community-event-title{font-size:var(--font-size-h4);font-weight:700;color:var(--color-text-primary);margin:0;line-height:var(--line-height-heading)}@media(max-width:1023px){.community-event-title{font-size:var(--font-size-h5)}}.community-event-date{font-size:var(--font-size-base);font-weight:600;color:var(--color-accent);margin:0}@media(max-width:1023px){.community-event-date{font-size:var(--font-size-small)}}.community-event-description{font-size:var(--font-size-base);line-height:var(--line-height-base);color:var(--color-text-secondary);margin:0}@media(max-width:1023px){.community-event-description{font-size:var(--font-size-small)}}.community-navigation{display:none;margin-top:var(--spacing-xxl);margin-bottom:0;padding-top:var(--spacing-xl);padding-bottom:var(--spacing-xl);text-align:center;width:100%;box-sizing:border-box;position:relative}@media(max-width:1023px){.community-navigation{display:block}.community-navigation:before{content:"";position:absolute;top:0;left:0;width:100%;height:var(--line-width, 1px);background-color:var(--color-divider)}.community-navigation .section-title{margin-bottom:var(--spacing-lg);text-align:center}.community-navigation .cta-buttons{max-width:400px;margin:0 auto}}@media(min-width:1024px){.community-navigation{display:none!important}}@media(max-width:1023px){.community-page{transition:padding var(--transition-duration-base) var(--timing-function-ease)}.community-card:hover{border-color:var(--color-divider);background-color:transparent}.community-card:hover .community-card-icon svg,.community-card:hover .community-card-icon svg path{fill:var(--color-text-primary)}.community-card:hover .community-card-title-text{color:var(--color-text-primary)}.community-card:hover .community-card-subtitle{color:var(--color-accent)}.community-card:hover .community-card-description{color:var(--color-text-secondary);opacity:1}.community-card.community-card-discord:hover{border-color:var(--color-divider);background-color:transparent}.community-card.community-card-discord:hover .community-card-icon-left svg,.community-card.community-card-discord:hover .community-card-icon-left svg path{fill:var(--color-text-primary)!important}.community-card.community-card-discord:hover .community-card-title-text{color:var(--color-text-primary)}.community-card.community-card-discord:hover .community-card-subtitle{color:var(--color-accent)}.community-card.community-card-discord:hover .community-card-description{color:var(--color-text-secondary);opacity:1}.community-event-item:hover{border-color:var(--color-divider)}}.header-content,.footer-content,.content-wrapper,main{opacity:0;transition:opacity var(--transition-duration-base) var(--timing-function-ease-out)}.header-content.fade-in-visible,.footer-content.fade-in-visible,.content-wrapper.fade-in-visible,main.fade-in-visible{opacity:1}@media(min-width:1024px){.header,.footer{transition:transform var(--transition-duration-base) var(--timing-function-ease),background-color var(--transition-duration-base) var(--timing-function-ease),color var(--transition-duration-base) var(--timing-function-ease)}}@media(max-width:1023px){.header,.footer{opacity:1!important}}@media(min-width:1024px){.decorative-line-horizontal{opacity:1!important}}.page-wrapper:before,.page-wrapper:after{opacity:1!important}
