.AboutMe-module-scss-module__9fFcZq__container{width:100%;max-width:1280px;margin:0 auto;padding:30px 0 50px}.AboutMe-module-scss-module__9fFcZq__hero{background:linear-gradient(110deg,var(--color-tertiary),var(--color-primary));border-radius:20px;grid-template-columns:240px minmax(0,1fr);align-items:center;gap:48px;margin-bottom:48px;padding:46px;display:grid}.AboutMe-module-scss-module__9fFcZq__hero h1{overflow-wrap:anywhere;margin:0 0 22px;font-size:48px;line-height:1.1}.AboutMe-module-scss-module__9fFcZq__hero p{max-width:650px;margin:0;font-size:20px;line-height:1.65}.AboutMe-module-scss-module__9fFcZq__imageWrapper{border-radius:48% 48% 10px 10px;width:240px;height:280px;position:relative;overflow:hidden}.AboutMe-module-scss-module__9fFcZq__avatar{object-fit:cover}.AboutMe-module-scss-module__9fFcZq__heroText{min-width:0}.AboutMe-module-scss-module__9fFcZq__flagRow{flex-wrap:wrap;gap:16px;margin-top:24px;display:flex}.AboutMe-module-scss-module__9fFcZq__flag{display:inline-flex}.AboutMe-module-scss-module__9fFcZq__flag svg{border-radius:4px;width:34px;height:23px}.AboutMe-module-scss-module__9fFcZq__grid3{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 60px;margin-bottom:52px;display:grid}.AboutMe-module-scss-module__9fFcZq__card{border-top:2px solid var(--color-primary);min-width:0;padding-top:20px}.AboutMe-module-scss-module__9fFcZq__card h2{vertical-align:middle;color:var(--color-text);margin:0;font-size:23px;line-height:1.3;display:inline}.AboutMe-module-scss-module__9fFcZq__card p{max-width:65ch;margin:14px 0 0;font-size:16px;line-height:1.7}.AboutMe-module-scss-module__9fFcZq__cardIcon{width:36px;height:36px;color:var(--color-secondary-contrast);background:var(--color-tertiary);vertical-align:middle;border-radius:10px;margin-right:12px;padding:8px}.AboutMe-module-scss-module__9fFcZq__timeline{background:linear-gradient(135deg,var(--color-secondary),var(--color-tertiary),var(--color-primary));border-radius:20px;margin-bottom:35px;padding:36px}.AboutMe-module-scss-module__9fFcZq__timeline h2{margin:0 0 30px;font-size:28px;line-height:1.2}.AboutMe-module-scss-module__9fFcZq__timelineList{margin:0;padding:0 0 0 56px;list-style:none;position:relative}.AboutMe-module-scss-module__9fFcZq__timelineList:before{content:"";background:rgb(var(--color-contrast-rgb)/.5);border-radius:2px;width:2px;position:absolute;top:20px;bottom:40px;left:17px}.AboutMe-module-scss-module__9fFcZq__timelineItem{margin-bottom:18px;position:relative}.AboutMe-module-scss-module__9fFcZq__timelineItem:last-child{margin-bottom:0}.AboutMe-module-scss-module__9fFcZq__timelineNode{background:var(--color-secondary);width:36px;height:36px;color:var(--color-text);border:1px solid var(--color-contrast);z-index:1;border-radius:50%;place-items:center;display:grid;position:absolute;top:17px;left:-56px}.AboutMe-module-scss-module__9fFcZq__timelineIcon{font-size:15px;display:flex}.AboutMe-module-scss-module__9fFcZq__timelineCard{background:var(--color-secondary);border:1px solid rgb(var(--color-text-rgb)/.09);box-shadow:var(--box-shadow);border-radius:16px;padding:22px 26px}.AboutMe-module-scss-module__9fFcZq__timelineText h3{margin:0 0 8px;font-size:17px;line-height:1.3}.AboutMe-module-scss-module__9fFcZq__timelineText p{color:var(--color-text);margin:0;font-size:15px;line-height:1.7}.AboutMe-module-scss-module__9fFcZq__timelineItemActive .AboutMe-module-scss-module__9fFcZq__timelineNode{background:var(--color-contrast);color:#333}.AboutMe-module-scss-module__9fFcZq__timelineItemActive .AboutMe-module-scss-module__9fFcZq__timelineCard{border-color:var(--color-contrast)}.AboutMe-module-scss-module__9fFcZq__funFacts{flex-wrap:wrap;justify-content:center;gap:60px;padding:15px 0;display:flex}.AboutMe-module-scss-module__9fFcZq__fact{text-align:center;min-width:0}.AboutMe-module-scss-module__9fFcZq__factIcon{background:var(--color-tertiary);width:52px;height:52px;color:var(--color-secondary-contrast);border-radius:14px;place-items:center;margin:0 auto 12px;font-size:28px;display:grid}.AboutMe-module-scss-module__9fFcZq__factLabel{font-size:16px}@media (max-width:768px){.AboutMe-module-scss-module__9fFcZq__hero{grid-template-columns:1fr;gap:24px;padding:25px}.AboutMe-module-scss-module__9fFcZq__hero h1{font-size:36px}.AboutMe-module-scss-module__9fFcZq__hero p{font-size:17px}.AboutMe-module-scss-module__9fFcZq__imageWrapper{justify-self:center;width:190px;height:215px}.AboutMe-module-scss-module__9fFcZq__grid3{grid-template-columns:1fr;gap:24px}.AboutMe-module-scss-module__9fFcZq__timeline{padding:22px 14px}.AboutMe-module-scss-module__9fFcZq__timeline h2{font-size:25px}.AboutMe-module-scss-module__9fFcZq__timelineList{padding-left:36px}.AboutMe-module-scss-module__9fFcZq__timelineList:before{left:12px}.AboutMe-module-scss-module__9fFcZq__timelineNode{width:26px;height:26px;left:-36px}.AboutMe-module-scss-module__9fFcZq__timelineIcon{font-size:12px}.AboutMe-module-scss-module__9fFcZq__timelineCard{padding:18px 16px}.AboutMe-module-scss-module__9fFcZq__funFacts{justify-content:space-around;gap:12px}.AboutMe-module-scss-module__9fFcZq__factLabel{font-size:14px}}
.Reveal-module-scss-module__QWIu3G__reveal{min-width:0}.Reveal-module-scss-module__QWIu3G__reveal[data-reveal=pending]{opacity:0;transform:translateY(14px)}.Reveal-module-scss-module__QWIu3G__reveal[data-reveal=visible]{animation:.65s cubic-bezier(.22,1,.36,1) both Reveal-module-scss-module__QWIu3G__arrive}@keyframes Reveal-module-scss-module__QWIu3G__arrive{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.Reveal-module-scss-module__QWIu3G__reveal[data-reveal]{opacity:1;animation:none;transform:none}}
.PhotoGallery-module-scss-module__dDrrWG__homeGallery{align-items:center;gap:clamp(6px,1vw,10px);width:100%;max-width:1376px;height:280px;margin:0 auto;padding:0;display:flex;position:relative;overflow:hidden}@media (max-width:768px){.PhotoGallery-module-scss-module__dDrrWG__homeGallery{flex-direction:column;gap:8px;height:auto;padding:0}}.PhotoGallery-module-scss-module__dDrrWG__homeGallery:has(.PhotoGallery-module-scss-module__dDrrWG__galleryItem:hover) .PhotoGallery-module-scss-module__dDrrWG__galleryItem:not(:hover){filter:brightness(.85)blur(1px)}@media (max-width:768px){.PhotoGallery-module-scss-module__dDrrWG__homeGallery:has(.PhotoGallery-module-scss-module__dDrrWG__activeMobile) .PhotoGallery-module-scss-module__dDrrWG__galleryItem:not(.PhotoGallery-module-scss-module__dDrrWG__activeMobile){filter:brightness(.85)blur(1px)}.PhotoGallery-module-scss-module__dDrrWG__galleryItem.PhotoGallery-module-scss-module__dDrrWG__activeMobile{height:320px}}.PhotoGallery-module-scss-module__dDrrWG__galleryItem{appearance:none;width:56px;height:100%;box-shadow:var(--box-shadow);cursor:pointer;background:var(--color-secondary);border:0;border-radius:10px;flex-grow:1;padding:0;transition:flex-grow .55s cubic-bezier(.22,1,.36,1),filter .3s,box-shadow .3s,transform .3s;position:relative;overflow:hidden}.PhotoGallery-module-scss-module__dDrrWG__galleryItem img{filter:var(--media-filter);transition:filter .3s,transform .3s}.PhotoGallery-module-scss-module__dDrrWG__galleryItem:after{content:"";background:linear-gradient(to top,rgb(var(--color-text-rgb)/.22),transparent 55%);opacity:0;transition:opacity .3s;position:absolute;inset:0}.PhotoGallery-module-scss-module__dDrrWG__galleryItem:hover,.PhotoGallery-module-scss-module__dDrrWG__galleryItem:focus-visible{box-shadow:var(--box-shadow-hover);flex-grow:3}.PhotoGallery-module-scss-module__dDrrWG__galleryItem:hover img,.PhotoGallery-module-scss-module__dDrrWG__galleryItem:focus-visible img{filter:none}.PhotoGallery-module-scss-module__dDrrWG__galleryItem:hover:after,.PhotoGallery-module-scss-module__dDrrWG__galleryItem:focus-visible:after{opacity:1}.PhotoGallery-module-scss-module__dDrrWG__galleryItem:focus-visible{outline:3px solid rgb(var(--color-focus-rgb)/.35);outline-offset:4px}@media (max-width:768px){.PhotoGallery-module-scss-module__dDrrWG__galleryItem{flex-grow:0;width:100%;height:80px;transition:height .5s cubic-bezier(.22,1,.36,1),filter .3s,box-shadow .3s}.PhotoGallery-module-scss-module__dDrrWG__galleryItem:hover{flex-grow:0}}.PhotoGallery-module-scss-module__dDrrWG__gradientOverlay{pointer-events:none;z-index:10;width:50px;position:absolute;top:0;bottom:0}@media (max-width:768px){.PhotoGallery-module-scss-module__dDrrWG__gradientOverlay{display:none}}.PhotoGallery-module-scss-module__dDrrWG__gradientOverlay.PhotoGallery-module-scss-module__dDrrWG__left{background:linear-gradient(to right,var(--color-background),transparent);left:0}.PhotoGallery-module-scss-module__dDrrWG__gradientOverlay.PhotoGallery-module-scss-module__dDrrWG__right{background:linear-gradient(to left,var(--color-background),transparent);right:0}
.ProjectGallery-module-scss-module__Wr4mra__homeProjects{border-top:1px solid rgb(var(--color-text-rgb)/.12);width:100%;max-width:1020px;margin:0 auto 32px;padding-top:32px}.ProjectGallery-module-scss-module__Wr4mra__homeProjects h2{margin:0 0 30px;font-size:30px;line-height:1.2}.ProjectGallery-module-scss-module__Wr4mra__projectsContainer{gap:42px;margin-bottom:30px;display:grid}.ProjectGallery-module-scss-module__Wr4mra__projectItem{grid-template-columns:1.1fr 1fr;align-items:center;gap:36px;min-width:0;display:grid}.ProjectGallery-module-scss-module__Wr4mra__projectItem:nth-child(2n){grid-template-columns:1fr 1.1fr}.ProjectGallery-module-scss-module__Wr4mra__projectItem:nth-child(2n) .ProjectGallery-module-scss-module__Wr4mra__imageLink{order:2}@media (max-width:768px){.ProjectGallery-module-scss-module__Wr4mra__projectItem,.ProjectGallery-module-scss-module__Wr4mra__projectItem:nth-child(2n){grid-template-columns:1fr;gap:20px}.ProjectGallery-module-scss-module__Wr4mra__projectItem:nth-child(2n) .ProjectGallery-module-scss-module__Wr4mra__imageLink{order:0}}.ProjectGallery-module-scss-module__Wr4mra__imageLink{background:var(--color-primary);border-radius:8px;min-width:0;padding:18px;display:block}.ProjectGallery-module-scss-module__Wr4mra__imageWrapper{aspect-ratio:1.6;width:100%;position:relative}.ProjectGallery-module-scss-module__Wr4mra__projectImage{object-fit:contain;filter:var(--media-filter);box-shadow:var(--box-shadow);border-radius:5px;transition:filter .35s}.ProjectGallery-module-scss-module__Wr4mra__imageLink:hover .ProjectGallery-module-scss-module__Wr4mra__projectImage,.ProjectGallery-module-scss-module__Wr4mra__imageLink:focus-visible .ProjectGallery-module-scss-module__Wr4mra__projectImage{filter:none}.ProjectGallery-module-scss-module__Wr4mra__projectText{min-width:0}.ProjectGallery-module-scss-module__Wr4mra__projectText h3{margin:0 0 16px;font-size:24px;line-height:1.25}.ProjectGallery-module-scss-module__Wr4mra__projectText h3 a{text-decoration:none}.ProjectGallery-module-scss-module__Wr4mra__projectText p{margin:0 0 22px;font-size:15px;line-height:1.65}.ProjectGallery-module-scss-module__Wr4mra__tags{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.ProjectGallery-module-scss-module__Wr4mra__tags li{background:var(--color-tertiary);border-radius:5px;padding:4px 10px;font-size:12px}
.Loader-module-scss-module__biOeea__wrap{flex-direction:column;justify-content:center;align-items:center;gap:10px;height:100%;min-height:500px;display:flex}.Loader-module-scss-module__biOeea__brackets{align-items:center;gap:48px;display:flex}.Loader-module-scss-module__biOeea__bracket{color:#2a2a2a;font-family:monospace;font-size:2.5rem;font-weight:300;animation:1.2s ease-in-out infinite Loader-module-scss-module__biOeea__blink}.Loader-module-scss-module__biOeea__bracket.Loader-module-scss-module__biOeea__right{animation-delay:.4s}.Loader-module-scss-module__biOeea__cherry{animation:.8s ease-in-out infinite alternate Loader-module-scss-module__biOeea__bounce}.Loader-module-scss-module__biOeea__text{color:var(--color-footer-text);letter-spacing:.1em;margin:0}.Loader-module-scss-module__biOeea__text span{animation:1.5s ease-in-out infinite Loader-module-scss-module__biOeea__fade}.Loader-module-scss-module__biOeea__text span:nth-child(2){animation-delay:.3s}.Loader-module-scss-module__biOeea__text span:nth-child(3){animation-delay:.6s}@keyframes Loader-module-scss-module__biOeea__bounce{0%{transform:translateY(0)}to{transform:translateY(-12px)}}@keyframes Loader-module-scss-module__biOeea__blink{0%,to{opacity:.2}50%{opacity:1}}@keyframes Loader-module-scss-module__biOeea__fade{0%,to{opacity:.3}50%{opacity:1}}
