body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--secondary-color:#ffffffb3;--accent-color:#575757;--transition-fast:0.3s ease;--transition-medium:0.6s ease;--transition-slow:1.2s ease;--transition-extra-slow:1.8s ease;--border-radius:4px;--padding-base:20px}*{box-sizing:border-box}*,body,html{margin:0;padding:0}body,html{background:linear-gradient(135deg,#575757,#646464);color:#fff;color:var(--primary-color);font-family:Inter,sans-serif;height:100%;overflow-x:hidden;overflow-y:auto;width:100%}.cursor{border:2px solid #fff;border:2px solid var(--primary-color);border-radius:50%;height:20px;opacity:0;pointer-events:none;position:fixed;transition:all .3s ease;transition:all var(--transition-fast);width:20px;z-index:9999}.cursor.active{opacity:1;transform:scale(1.5)}@keyframes slideInFromTop{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}.header{align-items:center;display:flex;height:90px;justify-content:space-between;left:0;padding:var(--padding-base) var(--padding-large);position:fixed;top:0;transition:all var(--transition-medium);width:100%;z-index:1000}.logo{animation:slideInFromTop 1s ease forwards;animation-delay:.2s;opacity:0;transform:translateY(-20px)}.logo img{height:auto;max-height:90px;object-fit:contain;transition:transform var(--transition-fast);width:auto}.logo:hover img{transform:scale(1.05)}.brand-logo{height:90px;object-fit:contain;width:auto}.brand-logo--menu{height:64px;object-fit:contain;width:auto}.row-header{align-items:center;display:flex;gap:12px;justify-content:space-between;padding:4px 8px}.logo:hover .brand-logo{transform:scale(1.03)}.nav-menu{display:flex;gap:16px}.hamburger,.menu-toggle{align-items:center;animation:slideInFromTop 1s ease forwards;animation-delay:.4s;background:none;border:2px solid #ffffff4d;border-radius:var(--border-radius);cursor:pointer;display:flex;flex-direction:column;height:50px;justify-content:center;opacity:0;overflow:hidden;position:relative;transform:translateY(-20px);transition:all var(--transition-medium);width:50px}.menu-toggle:before{background:linear-gradient(90deg,#0000,#ffffff1a,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left var(--transition-slow);width:100%}.menu-toggle:hover:before{left:100%}.menu-toggle:hover{border-color:var(--primary-color);transform:scale(1.05)}.menu-toggle span{background:var(--primary-color);border-radius:2px;height:2px;margin:3px 0;transition:all var(--transition-medium);width:25px}.menu-toggle.active span:first-child{transform:rotate(45deg) translate(6px,6px)}.menu-toggle.active span:nth-child(2){opacity:0}.menu-toggle.active span:nth-child(3){transform:rotate(-45deg) translate(6px,-6px)}.menu-text{border:1px solid #fff;height:10px;width:25px}.hamburger:before{background:linear-gradient(90deg,#0000,#ffffff1a,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left var(--transition-slow);width:100%}.hamburger:hover:before{left:100%}.hamburger:hover{border-color:var(--primary-color);transform:scale(1.05)}.hamburger span{background:var(--primary-color);border-radius:2px;height:2px;margin:3px 0;transition:all var(--transition-medium);width:25px}.hamburger.active span:first-child{transform:rotate(45deg) translate(6px,6px)}.hamburger.active span:nth-child(2){opacity:0}.hamburger.active span:nth-child(3){transform:rotate(-45deg) translate(6px,-6px)}.fullscreen-menu-overlay{animation:fadeIn .3s ease-in-out;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0a0a0ae6;display:flex;flex-direction:column;inset:0;padding:20px;position:fixed;z-index:9998}.close-menu-btn{align-self:center;background:none;border:none;color:#fff;cursor:pointer;font-size:28px;opacity:1;transition:opacity .4s ease,visibility .4s ease;visibility:visible}.close-menu-btn.hidden{opacity:0;visibility:hidden}.fullscreen-menu-overlay.fade-out{opacity:0;transition:opacity .4s ease,visibility .4s ease;visibility:hidden}.fullscreen-menu{align-items:center;display:flex;flex:1 1;justify-content:center}.fullscreen-menu ul{list-style:none;padding:0;text-align:center}.fullscreen-menu li{margin:20px 0}.fullscreen-menu a{color:#fff;font-size:26px;text-decoration:none;transition:opacity .3s}.fullscreen-menu ul li button{background:none;border:none;color:#fff;cursor:pointer;font-family:inherit;font-size:1.5rem;padding:10px 0;text-transform:uppercase}.fullscreen-menu a:hover{opacity:.6}.overlay-open .header{visibility:hidden}.overlay-open .header.header--overlay{visibility:visible}.hero-section{height:100vh;overflow:visible;position:relative;width:100vw}.hero-section.overview-active .main-view{opacity:0;transform:scale(.8) translateY(20px);transition:all var(--transition-slow);visibility:hidden}.hero-section.overview-active .project-card-overview,.main-view{opacity:1;transform:scale(1) translateY(0);transition:all var(--transition-slow);visibility:visible}.main-view,.slide{height:100vh;height:100svh;height:100dvh;left:0;min-height:100svh;position:absolute;top:0;width:100%}.slide{align-items:center;display:flex;flex-direction:column;justify-content:center;opacity:0;text-align:center;transition:opacity var(--transition-extra-slow)}.slide.active{opacity:1}.slide-background{background-attachment:fixed;background-position:50%;background-size:cover;transition:all var(--transition-extra-slow)}.slide-background,.slide-background:before{height:100%;left:0;position:absolute;top:0;width:100%}.slide-background:before{background:linear-gradient(135deg,#0009,#0000004d);content:"";transition:all var(--transition-slow)}.slide.active .slide-background{transform:scale(1.08)}.slide-content{bottom:4rem;left:4rem;max-width:700px;opacity:0;padding:0;position:absolute;text-align:left;transform:translateY(40px);transition:all var(--transition-slow);z-index:10}.slide.active .slide-content{opacity:1;transform:translateY(0);transition-delay:.3s}.project-title{color:#fff;font-size:clamp(2.8rem,5vw,4.5rem);font-weight:500;letter-spacing:.05em;line-height:1.1;opacity:0;transform:translateY(30px);transition:all var(--transition-slow)}.slide.active .project-title{opacity:1;transform:translateY(0);transition-delay:.8s}.project-sub-title{color:#fff9;font-size:.9rem;font-weight:400;letter-spacing:.12em;line-height:1.3;margin-bottom:.5rem;opacity:0;text-transform:uppercase;transform:translateY(20px);transition:all var(--transition-slow)}.slide.active .project-sub-title{opacity:1;transform:translateY(0);transition-delay:.6s}.project-sub-title:after{background-color:var(--primary-color);content:"";display:block;height:2px;margin-top:.75rem;width:50px}.project-description{color:#fff;font-size:1.2rem;font-weight:300;line-height:1.6;margin-bottom:5px;margin-left:5px;max-width:550px;opacity:0;transform:translateY(20px);transition:all var(--transition-slow)}.slide.active .project-description{opacity:1;transform:translateY(0);transition-delay:1s}.read-more-btn{background:#0000;border:2px solid var(--primary-color);color:var(--primary-color);cursor:pointer;font-size:1.1rem;font-weight:500;letter-spacing:.1em;margin-top:2rem;opacity:0;overflow:hidden;padding:15px 40px;position:relative;text-transform:uppercase;transform:translateY(20px);transition:all var(--transition-medium)}.slide.active .read-more-btn{opacity:1;transform:translateY(0);transition-delay:1.1s}.read-more-btn:before{background:var(--primary-color);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left var(--transition-medium);width:100%;z-index:-1}.read-more-btn:hover:before{left:0}.read-more-btn:hover{color:var(--accent-color);transform:translateY(-2px)}.slide--overlay{inset:0;pointer-events:auto;position:fixed;z-index:9999}.slide--overlay .slide-background:before{background:linear-gradient(135deg,#0009,#00000059)}.overlay-header-wrap{left:0;position:absolute;right:0;top:0;z-index:10}.overlay-close{background:#00000080;border:1px solid #fff6;border-radius:50%;color:#fff;cursor:pointer;height:42px;position:fixed;right:20px;top:20px;width:42px;z-index:4010}.overlay-close:hover{background:#000000a6}.project-card-overview{flex-direction:column;height:100%;justify-content:center;left:0;opacity:0;padding-top:60px;position:absolute;top:0;transform:scale(1.2) translateY(-20px);transition:all .6s;transition:all var(--transition-slow);visibility:hidden}.cards-wrapper,.project-card-overview{align-items:center;display:flex;width:100%}.cards-wrapper{-webkit-overflow-scrolling:touch;gap:30px;height:73vh;overflow-x:auto;padding:0 40px;padding:0 var(--padding-large);scroll-behavior:smooth;scroll-snap-type:x mandatory;scrollbar-width:none}.cards-wrapper::-webkit-scrollbar{display:none}.spacer{flex-basis:calc(50% - 17.5vw);flex-grow:0;flex-shrink:0;pointer-events:none}.project-card{animation:slideInFromBottom .8s ease forwards;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:0;cursor:pointer;flex-shrink:0;height:80%;max-width:800px;opacity:0;overflow:hidden;position:relative;scroll-snap-align:center;transform:translateY(50px);transition:all .35s;transition:all var(--transition-medium);width:42vw}.project-card:nth-child(2){animation-delay:.1s}.project-card:nth-child(3){animation-delay:.2s}.project-card:nth-child(4){animation-delay:.3s}.project-card:nth-child(5){animation-delay:.4s}.project-card:nth-child(6){animation-delay:.5s}.project-card:before{background:linear-gradient(135deg,#ffffff1a,#0000);content:"";height:100%;left:0;opacity:0;position:absolute;top:0;transition:opacity .35s;transition:opacity var(--transition-medium);width:100%}.project-card:hover:before{opacity:1}.project-card:hover{border-color:#ffffff4d;transform:translateY(-10px) scale(1.02)}.project-card.active-card{border-color:#fff;border-color:var(--primary-color);box-shadow:0 20px 40px #0000004d;transform:translateY(-5px) scale(1.05)}.project-overview-wrapper.active-wrapper .project-card{border:2px solid #fff;box-shadow:0 0 0 2px #ffffff4d;transform:scale(1.05);z-index:2}.project-detail-section{background-color:#f4f4f4;border-top:1px solid #ddd;color:#333;padding:100px 40px;scroll-margin-top:100px}.card-header{margin-bottom:20px;margin-top:25px}.card-image{aspect-ratio:5/3;background-position:50%;background-size:cover;overflow:hidden;position:relative;transition:transform .6s;transition:transform var(--transition-slow);width:100%}.card-footer{align-items:center;display:flex;flex-direction:column;gap:4px;justify-content:flex-start;padding:20px 10px 10px;text-align:center}.card-image:after{background:linear-gradient(180deg,#0000 0,#000000b3);content:"";height:100%;left:0;position:absolute;top:0;width:100%}.project-card:hover .card-image{transform:scale(1.1)}.card-content{align-items:center;display:flex;flex-direction:column;height:30%;justify-content:center;padding:20px;position:relative;z-index:2}.card-title{font-size:1.4rem;font-weight:600;margin-bottom:8px}.card-sub-title,.card-title{transition:color .2s;transition:color var(--transition-fast)}.card-sub-title{color:#ddd;color:var(--secondary-color);font-size:1rem;font-weight:300}.overview-nav-btn,.project-card:hover .card-title{color:#fff;color:var(--primary-color)}.overview-nav-btn{align-items:center;animation:fadeIn .5s ease forwards;animation-delay:.8s;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#000c;border:1px solid #fff3;border-radius:50%;cursor:pointer;display:flex;height:50px;justify-content:center;opacity:0;position:fixed;top:50%;transform:translateY(-50%);transition:all .35s;transition:all var(--transition-medium);width:50px;z-index:100}.overview-nav-btn:hover{background:#ffffff1a;border-color:#fff;border-color:var(--primary-color);transform:translateY(-50%) scale(1.1)}.overview-nav-btn.prev-btn{left:20px}.overview-nav-btn.next-btn{right:20px}.overview-progress-bar-wrapper{animation:fadeIn .5s ease forwards;animation-delay:1s;background:#fff3;border-radius:2px;height:3px;margin-top:40px;max-width:600px;opacity:0;overflow:hidden;width:60%}.overview-progress-bar{background:linear-gradient(90deg,#fff,#fffc);background:linear-gradient(90deg,var(--primary-color),#fffc);border-radius:2px;height:100%;transition:width .2s;transition:width var(--transition-fast);width:0}.project-card-overview--page{height:auto;left:auto;opacity:1;padding-top:150px;position:relative;top:auto;transform:none;visibility:visible}@keyframes slideInFromBottom{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}:root{--transition-fast:.2s;--transition-medium:.35s;--transition-slow:.6s;--primary-color:#fff;--secondary-color:#ddd;--padding-large:40px}@media (max-width:1024px){.project-card{max-width:400px;width:45vw}.cards-wrapper{gap:20px;padding:0 30px}.readme-block,.readme-block--dark,.readme-block--reverse,.readme-block--textOnly{display:block!important;padding:0!important}.readme-block__media{align-self:auto!important;height:auto!important}.readme-block__img{aspect-ratio:4/3;border-radius:0;display:block;height:auto!important;margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;max-width:none!important;object-fit:cover;width:100vw!important}.readme-block__body{border:0!important;min-height:0!important;padding:28px 24px 40px!important}}@media (max-width:920px){.slide-background{background-attachment:scroll!important;background-position:top}.slide.active .slide-background{transform:none!important}.slide-content{bottom:clamp(12px,6vh,32px);left:1rem;max-width:92vw;padding-bottom:max(0px,env(safe-area-inset-bottom));right:1rem}.project-title{margin-bottom:.5rem}.project-description{max-width:90vw}.read-more-btn{margin-bottom:1rem;margin-top:1rem}}@media (max-width:768px){.header{padding:15px 20px}.card-image{aspect-ratio:3/4}.project-card{height:auto;max-height:53vh;width:85vw}.cards-wrapper{gap:15px;padding:0 20px}.overview-nav-btn{display:none;height:40px;width:40px}.card-content h3{font-size:16px}.card-content p{font-size:12px}.slide-content{bottom:2rem;left:1.5rem;max-width:95%;padding:0}.project-title{font-size:2rem}.project-sub-title{font-size:.85rem}.project-description,.read-more-btn{font-size:.9rem}.read-more-btn{margin-bottom:3rem;margin-top:1.5rem;padding:10px 20px}.readme-block__img{aspect-ratio:3/2!important}.readme-block__body{padding:24px 18px 36px!important}.readme-block__title{font-size:clamp(22px,6vw,28px);line-height:1.25;margin-bottom:12px}.readme-block__text{font-size:clamp(14px,3.8vw,16px);line-height:1.75}}.readme-section{margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);overflow-x:clip;scroll-margin-top:96px;width:100vw}.readme-stack{display:flex;flex-direction:column}.readme-block{--px:clamp(16px,4vw,48px);--py:clamp(48px,7vw,96px);--mediaH:clamp(300px,30vw,480px);grid-gap:clamp(24px,4vw,56px);align-items:start;background:#fff;color:#111;display:grid;gap:clamp(24px,4vw,56px);grid-template-areas:"media body";grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);padding:var(--py) var(--px);width:100%}.readme-block--reverse{grid-template-areas:"body media";grid-template-columns:minmax(0,1fr) minmax(0,1.08fr)}.readme-block--textOnly{grid-template-areas:"body";grid-template-columns:1fr}.readme-block--dark{background:#1c1c1e;color:#e7e7e7}.readme-block__media{align-self:stretch;grid-area:media;height:var(--mediaH)}.readme-block__img{aspect-ratio:auto;border-radius:0;display:block;height:100%;object-fit:cover;width:100%}.readme-block__body{border-left:1px solid #0000001f;display:flex;flex-direction:column;grid-area:body;justify-content:center;min-height:var(--mediaH);padding-left:36px}.readme-block--reverse .readme-block__body{border-left:0;border-right:1px solid #0000001f;padding-left:0;padding-right:36px}.readme-block--dark .readme-block__body{border-color:#fff3}.readme-block__title{font-size:28px;font-weight:700;line-height:1.25;margin:0 0 16px}.readme-block__text{font-size:16px;line-height:1.9;margin:0;opacity:.92}.readmorePortfolio{margin-top:90px}.slide--overlay .overlay-scroll{-webkit-overflow-scrolling:touch;height:100vh;overflow-y:auto;position:relative}.slide--overlay .overlay-readme .readme-section{margin-left:0;margin-right:0;scroll-margin-top:96px;width:100%}.footer-hero{color:#fff;height:40vh;height:var(--footer-h-desktop,40vh);isolation:isolate;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);overflow:clip;position:relative;width:100vw}.footer-hero__bg{inset:0;position:absolute;z-index:-2}.footer-hero__bg img{display:block;height:100%;object-fit:cover;width:100%}.footer-hero__overlay{background:linear-gradient(90deg,rgba(0,0,0,.4),#00000059 40%,#00000059);background:linear-gradient(90deg,rgba(0,0,0,calc(var(--footer-overlay, .35) + .05)) 0,rgba(0,0,0,var(--footer-overlay,.35)) 40%,rgba(0,0,0,var(--footer-overlay,.35)) 100%);inset:0;position:absolute;z-index:-1}.footer-hero__inner{display:grid;height:100%;margin:0 auto;max-width:1280px;padding-inline:clamp(18px,4vw,48px)}.footer-hero__content{align-self:center;max-width:1100px}.footer-hero__title{font-size:clamp(28px,6vw,84px);font-weight:400;letter-spacing:.04em;line-height:1.05;margin:0}.footer-hero__caption{font-size:clamp(14px,1.6vw,18px);line-height:1.7;margin:.8rem 0 0;max-width:72ch;opacity:.9}.footer-hero.is-left .footer-hero__inner{justify-items:start}.footer-hero.is-center.footer-hero .footer-hero__inner{justify-items:center;text-align:center}.footer-hero.is-right .footer-hero__inner{justify-items:end;text-align:right}@media (max-width:1024px){.footer-hero{height:36vh;height:var(--footer-h-mobile,36vh)}}.footer-hero__click{display:block;inset:0;position:absolute;z-index:3}.footer-hero__inner{pointer-events:none;position:relative;z-index:2}.intro-wrapper{background-color:initial;height:100vh;left:0;overflow:hidden;pointer-events:none;position:fixed;top:0;transition:opacity .5s ease-out;width:100%;z-index:9999}.intro-wrapper.hide{opacity:0}.logo-container{align-items:center;display:flex;height:100%;justify-content:center;pointer-events:none;position:absolute;transition:opacity 1s ease-out;width:100%;z-index:10000}.logo-container.fade-out-logo{opacity:0}.full-logo{max-height:60%;max-width:60%;opacity:0;transform:scale(.8);transition:opacity 2s ease-out,transform 2s ease-out}.logo-container.show .full-logo{opacity:1;transform:scale(1)}.intro-half{background:#575757;height:50%;position:absolute;transition:transform 1.2s cubic-bezier(.77,0,.175,1);width:100%;z-index:9998}.intro-half.top{top:0;transform:translateY(0)}.intro-half.bottom{bottom:0;transform:translateY(0)}.intro-wrapper .intro-half.top.split{transform:translateY(-100%)}.intro-wrapper .intro-half.bottom.split{transform:translateY(100%)}
/*# sourceMappingURL=main.d31263be.css.map*/