@import "https://fonts.googleapis.com/css2?family=Montserrat:wght@100;200;300;400;500;600;700&display=swap";*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0a0a0a;--text:#fff;--text-dim:#fff9;--text-dimmer:#ffffff1a;--border:#fff3;--nav-width:192px;--font:"Montserrat", ui-sans-serif, system-ui, sans-serif;--cursor-bg:#ffffff0d;--cursor-border:#fff;--glow-color:#fff;--toggle-knob-x:30px}html.light{--bg:#f5f5f5;--text:#1a1a1a;--text-dim:#1a1a1a99;--text-dimmer:#1a1a1a1a;--border:#1a1a1a33;--cursor-bg:#0000000d;--cursor-border:#1a1a1a;--glow-color:#000;--toggle-knob-x:0px}html{scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:#ffffff40 var(--bg);height:100%;overflow-y:scroll}html.light{scrollbar-color:#00000040 var(--bg)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:#ffffff40;border-radius:9999px;transition:background .3s}::-webkit-scrollbar-thumb:hover{background:#ffffff73}html.light ::-webkit-scrollbar-thumb{background:#00000040}html.light ::-webkit-scrollbar-thumb:hover{background:#00000073}body{height:100%;font-family:var(--font);background-color:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;min-height:100vh;transition:background-color .4s,color .4s;overflow-x:hidden}img{pointer-events:auto;-webkit-user-drag:none!important;-webkit-user-select:none!important;user-select:none!important}input,textarea,p,h1,h2,h3,a,span{-webkit-user-select:text;user-select:text}.sidebar,.carousel-nav,.project-card__img-wrap,.theme-toggle{-webkit-user-select:none!important;user-select:none!important}#root{min-height:100vh}@media (width>=1024px){html,body,a,button,input,textarea,select,[data-cursor]{cursor:none!important}}::selection{background:var(--text);color:var(--bg)}.cursor{pointer-events:none;z-index:9999;display:none;position:fixed;top:0;left:0}@media (width>=1024px){.cursor{display:block}}.cursor__ring{border:2px solid var(--cursor-border);background:var(--cursor-bg);opacity:.4;will-change:transform;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;transition:width .25s cubic-bezier(.25,.46,.45,.94),height .25s cubic-bezier(.25,.46,.45,.94),opacity .25s,border-width .25s,background-color .25s,color .25s;display:flex;position:absolute;transform:translate(-50%,-50%)}.cursor__ring--hover-link{opacity:1;border-width:2.5px;width:64px;height:64px}.cursor__ring--hover-project{opacity:1;background:var(--text);width:80px;height:80px;color:var(--bg);border:none}.cursor__label{font-family:var(--font);letter-spacing:.15em;text-transform:uppercase;color:var(--bg);opacity:0;-webkit-user-select:none;user-select:none;white-space:nowrap;font-size:9px;transition:opacity .15s,transform .15s;transform:scale(.6)}.cursor__ring--hover-project .cursor__label{opacity:1;transform:scale(1)}.preloader{z-index:9998;background:var(--bg);color:var(--text);will-change:opacity;justify-content:center;align-items:center;padding:2rem;transition:opacity 2.2s cubic-bezier(.16,1,.3,1);display:flex;position:fixed;inset:0;overflow:hidden}.preloader--fading{opacity:0;pointer-events:none}.preloader--fading .preloader__minimal-wrap{opacity:0;transform:translateY(-15px)scale(.98)}.preloader__minimal-wrap{text-align:center;flex-direction:column;justify-content:center;align-items:center;transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1);display:flex}.preloader__title-box{margin-bottom:2rem}.preloader__minimal-title{letter-spacing:.55em;text-transform:uppercase;color:var(--text);margin:0;padding-left:.55em;font-size:clamp(1.35rem,4vw,2.5rem);font-weight:200;line-height:1.2}.preloader__minimal-subtitle{letter-spacing:.65em;text-transform:uppercase;opacity:.35;margin-top:.6rem;padding-left:.65em;font-size:10px;font-weight:300}@media (width>=640px){.preloader__minimal-subtitle{font-size:11px}}.preloader__minimal-line-wrap{background:#ffffff14;width:min(280px,65vw);height:1px;margin:0 auto 1.75rem;position:relative;overflow:hidden}.preloader__minimal-line{background:var(--text);transform-origin:50%;width:100%;height:100%;transition:transform 1.4s cubic-bezier(.16,1,.3,1);position:absolute;top:0;left:0;transform:scaleX(0)}.preloader__minimal-line--active{transform:scaleX(1)}.preloader__minimal-meta{justify-content:center;align-items:center;height:1.25rem;display:flex}.preloader__minimal-tag{letter-spacing:.45em;text-transform:uppercase;opacity:.45;padding-left:.45em;font-size:10px;font-weight:300;transition:opacity .5s,transform .5s}@media (width>=640px){.preloader__minimal-tag{font-size:11px}}.app-content{transition:opacity 2.2s cubic-bezier(.16,1,.3,1),transform 2.2s cubic-bezier(.16,1,.3,1)}.app-content--hidden{opacity:0;pointer-events:none;transform:translateY(24px)scale(.985)}.app-content--revealed{opacity:1;pointer-events:auto;transform:none}@keyframes cursorAppear{0%{opacity:0}to{opacity:1}}@keyframes cursorRingAppear{0%{transform:translate(-50%,-50%)scale(.4)}to{transform:translate(-50%,-50%)scale(1)}}.cursor--appeared{animation:.5s forwards cursorAppear}.cursor--appeared .cursor__ring{animation:.5s cubic-bezier(.16,1,.3,1) forwards cursorRingAppear}.theme-toggle{z-index:50;display:none;position:fixed;top:3rem;right:3rem}@media (width>=1024px){.theme-toggle{display:block}}.theme-toggle--mobile{z-index:50;pointer-events:none;justify-content:center;width:100%;display:flex;position:fixed;top:5rem;left:0}@media (width>=1024px){.theme-toggle--mobile{display:none}}.toggle-btn{pointer-events:auto;background:0 0;border:2px solid #fff6;border-radius:9999px;align-items:center;width:4rem;height:2rem;padding:0 6px;transition:border-color .3s;display:flex}html.light .toggle-btn{border-color:#0006}.toggle-btn--mobile{pointer-events:auto;background:0 0;border:2px solid #fff6;border-radius:9999px;align-items:center;width:3rem;height:1.5rem;padding:0 4px;display:flex}html.light .toggle-btn--mobile{border-color:#0006}.toggle-knob{width:1.25rem;height:1.25rem;transform:translateX(var(--toggle-knob-x));background:#fff;border-radius:50%;transition:transform .3s cubic-bezier(.16,1,.3,1)}.toggle-knob--mobile{width:1rem;height:1rem;transform:translateX(var(--toggle-knob-x));background:#fff;border-radius:50%;transition:transform .3s cubic-bezier(.16,1,.3,1)}html.light .toggle-knob,html.light .toggle-knob--mobile{background:#000}.sidebar{z-index:40;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border);background:#0a0a0acc;flex-direction:row;justify-content:space-between;align-items:center;width:100%;padding:1rem;transition:background-color .4s,border-color .4s;display:flex;position:fixed;top:0;left:0}html.light .sidebar{background:#f5f5f5cc}@media (width>=640px){.sidebar{padding:1rem 2.5rem}}@media (width>=1024px){.sidebar{width:var(--nav-width);-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border-bottom:none;flex-direction:column;justify-content:space-between;align-items:flex-start;height:100vh;max-height:100vh;padding:6rem 3rem}html.light .sidebar{background:0 0}}.nav-links{flex-direction:row;align-items:center;gap:1rem;display:flex}@media (width>=640px){.nav-links{gap:1.5rem}}@media (width>=1024px){.nav-links{flex-direction:column;align-items:flex-start;gap:1rem}}.nav-link{width:fit-content;text-decoration:none;display:block}.nav-link__text{letter-spacing:.2em;text-transform:uppercase;color:var(--text-dim);font-size:9px;font-weight:500;transition:color .3s;display:block}@media (width>=640px){.nav-link__text{font-size:12px}}@media (width>=1024px){.nav-link__text{letter-spacing:.5em;font-size:14px}}.nav-link:hover .nav-link__text,.nav-link--active .nav-link__text{color:var(--text)}.nav-link__underline{height:2px;margin-top:4px;position:relative;overflow:hidden}@media (width>=1024px){.nav-link__underline{margin-top:8px}}.nav-link__bar{background:var(--text);transform-origin:0;transition:transform .4s cubic-bezier(.16,1,.3,1);position:absolute;inset:0;transform:scaleX(0)}.nav-link--active .nav-link__bar,.nav-link:hover .nav-link__bar{transform:scaleX(1)}.social-links{flex-direction:row;align-items:center;gap:.5rem;display:flex}@media (width>=640px){.social-links{gap:1.5rem}}@media (width>=1024px){.social-links{flex-direction:column;align-items:center;gap:2rem}}.social-link{color:var(--text-dim);justify-content:center;align-items:center;padding:4px;text-decoration:none;transition:color .3s;display:flex;position:relative}@media (width>=1024px){.social-link{padding:8px}}.social-link:hover{color:var(--text)}.social-glow{background:var(--glow-color);opacity:0;filter:blur(10px);pointer-events:none;border-radius:50%;width:1.25rem;height:1.25rem;transition:opacity .3s,transform .3s;position:absolute;transform:scale(.5)}@media (width>=1024px){.social-glow{width:2rem;height:2rem}}.social-link:hover .social-glow{opacity:.6;transform:scale(1)}.social-icon{z-index:10;justify-content:center;align-items:center;display:flex;position:relative}.social-icon svg{width:16px;height:16px}@media (width>=1024px){.social-icon svg{width:24px;height:24px}}.main{min-height:100vh;padding-top:5rem;padding-bottom:5rem;position:relative}@media (width>=1024px){.main{padding-left:var(--nav-width);padding-top:0;padding-bottom:0}}.site-footer{z-index:40;opacity:.3;pointer-events:none;position:fixed;bottom:1.5rem;left:1.5rem}@media (width>=1024px){.site-footer{bottom:2.5rem;left:2.5rem}}.site-footer p{letter-spacing:.3em;text-transform:uppercase;font-size:9px;font-weight:500}.section-header{margin-bottom:3.5rem}.section-title{letter-spacing:.15em;text-transform:uppercase;color:var(--text);margin-bottom:1.25rem;font-size:clamp(1.25rem,2.5vw,1.875rem);font-weight:400}.section-divider{background:var(--text-dimmer);width:100%;height:1px}.home-grid{grid-template-columns:1fr;align-items:start;gap:3rem;width:100%;max-width:1600px;min-height:85vh;margin:0 auto;padding:0 1.5rem;display:grid}@media (width>=640px){.home-grid{padding:0 2.5rem}}@media (width>=1024px){.home-grid{grid-template-columns:repeat(12,1fr);gap:2rem;padding:0 5rem}}.home-left{padding-top:4rem}@media (width>=640px){.home-left{padding-top:5rem}}@media (width>=1024px){.home-left{grid-column:span 6;padding-top:6.5rem}}.hero-name{letter-spacing:-.04em;text-transform:uppercase;margin-bottom:2.5rem;font-size:clamp(3rem,10vw,9rem);font-weight:100;line-height:.85}@media (width>=640px){.hero-name{margin-bottom:3.5rem}}.hero-title{letter-spacing:.4em;color:var(--text);text-transform:uppercase;font-size:clamp(.7rem,1.5vw,1.125rem);font-weight:300}@media (width>=640px){.hero-title{letter-spacing:.5em}}.hero-inquiry{margin-top:3.5rem}@media (width>=640px){.hero-inquiry{margin-top:4.5rem}}@media (width>=1024px){.hero-inquiry{margin-top:12.35rem}}.hero-inquiry__label{letter-spacing:.3em;text-transform:uppercase;color:var(--text);font-size:10px;line-height:1.6}@media (width>=640px){.hero-inquiry__label{letter-spacing:.4em;font-size:12px}}.hero-inquiry__email{color:var(--text);white-space:nowrap;word-break:normal;margin-top:.5rem;font-size:12px;font-weight:400;text-decoration:none;transition:opacity .3s;display:inline-block}@media (width>=640px){.hero-inquiry__email{margin-top:.75rem;font-size:14px}}@media (width>=768px){.hero-inquiry__email{font-size:1rem}}.hero-inquiry__email:hover{opacity:.7}.home-right{margin-top:5rem}@media (width>=1024px){.home-right{grid-column:span 6;margin-top:15.5rem;padding-left:3rem}}.about-text{max-width:42rem;font-size:clamp(.875rem,1.2vw,1rem);font-weight:300;line-height:1.8}.about-text p{margin-bottom:1rem}.about-text p:last-child{margin-bottom:0}.cv-download{color:var(--text-dim);letter-spacing:.25em;text-transform:uppercase;align-items:center;gap:1.25rem;margin-top:2.5rem;font-size:12px;font-weight:300;text-decoration:none;transition:color .3s;display:inline-flex}.cv-download:hover{color:var(--text)}.cv-download__circle{border:1px solid var(--border);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:3rem;height:3rem;transition:border-color .3s,background-color .3s;display:flex}.cv-download:hover .cv-download__circle{border-color:var(--text);background:#ffffff0d}.cv-download__circle svg{width:1.25rem;height:1.25rem;transition:transform .3s}.cv-download:hover .cv-download__circle svg{transform:translateY(2px)}.motivation{width:100%;padding:8rem 0 4rem;transition:background-color .4s;overflow:hidden}@media (width>=1024px){.motivation{padding:10rem 0 4rem}}.motivation__inner{grid-template-columns:1fr;align-items:center;gap:4rem;max-width:1600px;margin:0 auto;padding:0 1.5rem;display:grid}@media (width>=640px){.motivation__inner{padding:0 2.5rem}}@media (width>=1024px){.motivation__inner{grid-template-columns:repeat(12,1fr);gap:6rem;padding:0 5rem}}.motivation__text{order:1}@media (width>=1024px){.motivation__text{grid-column:span 7}}.motivation__text p{max-width:48rem;margin-bottom:.75rem;font-size:clamp(.875rem,1.2vw,1rem);font-weight:300;line-height:1.8}.motivation__image{order:2}@media (width>=1024px){.motivation__image{grid-column:span 5;justify-content:flex-end;display:flex}}.motivation__img-wrap{aspect-ratio:3/3.7;border-radius:2px;width:100%;max-width:440px;margin:0 auto;position:relative;overflow:hidden;box-shadow:0 25px 50px #00000080}@media (width>=1024px){.motivation__img-wrap{aspect-ratio:3/4;max-width:460px;margin:0}}.motivation__img-inner{will-change:transform;width:100%;height:122%;position:absolute;inset:0}.motivation__img-inner img{object-fit:cover;object-position:center top;filter:brightness(.9)contrast(1.1);width:100%;height:100%}.motivation__img-overlay{background:#0003;position:absolute;inset:0}.skills{width:100%;padding:4rem 0 8rem;transition:background-color .4s}@media (width>=1024px){.skills{padding:5rem 0 10rem}}.skills__inner{max-width:1600px;margin:0 auto;padding:0 1.5rem}@media (width>=640px){.skills__inner{padding:0 2.5rem}}@media (width>=1024px){.skills__inner{padding:0 5rem}}.skills__header{margin-bottom:5rem}@media (width>=1024px){.skills__header{margin-bottom:8rem}}.skills__grid{grid-template-columns:1fr;gap:4rem;display:grid}@media (width>=768px){.skills__grid{grid-template-columns:repeat(2,1fr)}}@media (width>=1024px){.skills__grid{grid-template-columns:repeat(3,1fr);gap:4rem 6rem}}.skills__category h3{letter-spacing:.1em;text-transform:uppercase;margin-bottom:2rem;font-size:clamp(1.125rem,1.8vw,1.5rem);font-weight:400}.skills__tags{flex-wrap:wrap;gap:.75rem;display:flex}.skill-tag{border:1px solid var(--border);color:var(--text-dim);letter-spacing:.05em;border-radius:9999px;padding:.5rem 1.25rem;font-size:12px;font-weight:300;transition:border-color .3s,color .3s}@media (width>=640px){.skill-tag{font-size:14px}}.skill-tag:hover{border-color:var(--text);color:var(--text)}.chapter-nav{width:100%;padding-bottom:8rem;transition:background-color .4s}@media (width>=1024px){.chapter-nav{padding-bottom:14rem}}.chapter-nav__inner{flex-direction:column;gap:3rem;max-width:1600px;margin:0 auto;padding:0 1.5rem;display:flex}@media (width>=640px){.chapter-nav__inner{flex-direction:row;justify-content:space-between;align-items:flex-start;gap:0;padding:0 2.5rem}}@media (width>=1024px){.chapter-nav__inner{padding:0 5rem}}.chapter-link{color:var(--text);text-decoration:none;display:block}.chapter-link__label{letter-spacing:.4em;opacity:.5;text-transform:uppercase;margin-bottom:1rem;font-size:10px}@media (width>=640px){.chapter-link__label{font-size:12px}}.chapter-link__row{align-items:center;gap:1rem;display:flex}.chapter-link__title{letter-spacing:-.04em;text-transform:uppercase;font-size:clamp(2.25rem,8vw,5rem);font-weight:100;transition:opacity .3s}.chapter-link:hover .chapter-link__title{opacity:.7}.chapter-link__arrow{opacity:0;flex-shrink:0;transition:opacity .5s,transform .5s;transform:translate(-1rem)}.chapter-link:hover .chapter-link__arrow{opacity:1;transform:translate(0)}.chapter-link--right .chapter-link__row{justify-content:flex-end}@media (width<=639px){.chapter-link--right .chapter-link__row{justify-content:flex-start}}.chapter-link--right .chapter-link__arrow{transform:translate(1rem)}.chapter-link--right:hover .chapter-link__arrow{opacity:1;transform:translate(0)}.chapter-link__underline{margin-top:1rem;position:relative}.chapter-link__line-base{background:var(--border);width:100%;height:1px}.chapter-link__line-active{background:var(--text);transform-origin:0;width:100%;height:1px;margin-top:-1px;transition:transform .5s cubic-bezier(.16,1,.3,1);transform:scaleX(0)}.chapter-link:hover .chapter-link__line-active{transform:scaleX(1)}.chapter-link--right .chapter-link__line-base,.chapter-link--right .chapter-link__line-active{transform-origin:100%}.works-main{position:relative}@media (width>=1024px){.works-main{height:100dvh;overflow:hidden}}.works-bg-line{pointer-events:none;z-index:0;opacity:.12;position:fixed;inset:0;overflow:hidden}.works-bg-line path{stroke-dasharray:1;stroke-dashoffset:1px}.works-bg-line--animate path{animation:4.5s cubic-bezier(.4,0,.2,1) forwards drawPath}@keyframes drawPath{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}.works-wrapper{height:auto;padding:0 1rem;position:relative}@media (width>=640px){.works-wrapper{padding:0 2.5rem}}@media (width>=1024px){.works-wrapper{align-items:stretch;height:100dvh;padding:0 2.5rem;display:flex;overflow:hidden}}.works-grid{z-index:10;flex-direction:column;gap:0;width:100%;max-width:100%;display:flex;position:relative}@media (width>=1024px){.works-grid{grid-template-columns:repeat(12,1fr);gap:6rem;height:100%;display:grid;overflow:hidden}}.works-left{order:1}@media (width>=1024px){.works-left{order:2;grid-column:span 5}}.works-left__sticky{align-items:flex-start;height:auto;display:flex}@media (width>=1024px){.works-left__sticky{align-items:center;height:100vh;position:sticky;top:0}}.works-left__content{flex-direction:column;width:100%;padding-top:.5rem;display:flex}@media (width>=1024px){.works-left__content{padding-top:0;padding-right:3rem}}.works-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-end;margin-bottom:1rem;padding-bottom:.75rem;display:flex}@media (width>=1024px){.works-header{margin-bottom:2rem}}.works-header h2{letter-spacing:.15em;text-transform:uppercase;font-size:clamp(1.125rem,2vw,1.5rem);font-weight:300}.works-header__github{letter-spacing:.05em;opacity:.6;font-size:10px;font-weight:300}@media (width>=1024px){.works-header__github{font-size:14px}}.works-counter{letter-spacing:.3em;white-space:nowrap;align-items:center;margin-bottom:1rem;font-size:12px;font-weight:300;display:flex}@media (width>=1024px){.works-counter{margin-bottom:1.5rem;font-size:1rem}}.counter-bracket,.counter-sep{margin:0 1.5rem}.counter-digits{align-items:center;gap:0;display:inline-flex}.counter-digit{justify-content:center;align-items:center;width:1.5ch;height:1.5em;display:inline-flex;position:relative;overflow:hidden}.counter-digit span{justify-content:center;align-items:center;line-height:1;transition:transform .4s cubic-bezier(.16,1,.3,1),opacity .4s;display:inline-flex}.counter-digit--exit span{opacity:0;transform:translateY(-100%)}.counter-digit--enter span{opacity:0;transform:translateY(100%)}.works-project__title{letter-spacing:.05em;text-transform:uppercase;margin-bottom:.5rem;font-size:clamp(1.125rem,3vw,2.25rem);font-weight:400;line-height:1.1;transition:opacity .2s}@media (width>=1024px){.works-project__title{margin-bottom:1rem}}.works-project__category{letter-spacing:.05em;opacity:.8;margin-bottom:1rem;font-size:10px;font-weight:500;transition:opacity .2s}@media (width>=1024px){.works-project__category{margin-bottom:2rem;font-size:14px}}.works-project__desc{opacity:.9;max-width:42rem;min-height:3rem;font-size:12px;font-weight:300;line-height:1.7;transition:opacity .2s}@media (width>=1024px){.works-project__desc{min-height:8rem;font-size:1.125rem}}.works-info--fading .works-project__title,.works-info--fading .works-project__category,.works-info--fading .works-project__desc{opacity:0}.works-right{touch-action:pan-x;flex-direction:column;order:2;height:auto;display:flex;position:relative;overflow:hidden}@media (width>=1024px){.works-right{scrollbar-width:none;-ms-overflow-style:none;order:1;grid-column:span 7;height:100%;overflow:hidden scroll}.works-right::-webkit-scrollbar{display:none}}.works-carousel{-ms-overflow-style:none;scrollbar-width:none;scroll-snap-type:x mandatory;gap:1rem;padding-top:1rem;padding-bottom:.5rem;display:flex;overflow:auto hidden}.works-carousel::-webkit-scrollbar{display:none}@media (width>=640px){.works-carousel{gap:2rem}}@media (width>=1024px){.works-carousel{scroll-snap-type:none;flex-direction:column;gap:0;padding-top:29.5vh;padding-bottom:32vh;display:flex;overflow:visible}}.project-card{scroll-snap-align:center;width:85vw;color:var(--text);opacity:1;flex-shrink:0;padding:.5rem;text-decoration:none;display:block;position:relative;transform:none}@media (width>=640px){.project-card{width:70vw}}@media (width>=1024px){.project-card{scroll-snap-align:none;opacity:0;width:100%;margin-bottom:45vh;padding:1rem;transition:opacity .6s,transform .6s cubic-bezier(.16,1,.3,1);transform:translateY(40px)}.project-card.project-card--first,.project-card.project-card--visible{opacity:1;transform:none}.project-card:last-child{margin-bottom:0}}.project-card__img-wrap{aspect-ratio:4/3;border-radius:2px;position:relative;overflow:hidden;box-shadow:0 25px 50px #00000080}@media (width>=1024px){.project-card__img-wrap{aspect-ratio:21/9}}.project-card__img{object-fit:cover;object-position:top;width:100%;height:100%;transition:transform 1s}.project-card:hover .project-card__img{transform:scale(1.03)}.project-card__overlay{background:#0003;transition:background .5s;position:absolute;inset:0}.project-card:hover .project-card__overlay{background:#0000001a}.project-card__mobile-cta{z-index:20;flex-direction:column;justify-content:flex-end;padding:1.5rem;display:flex;position:absolute;inset:0}@media (width>=1024px){.project-card__mobile-cta{display:none}}.project-card__view-btn{background:var(--text);color:var(--bg);font-family:var(--font);letter-spacing:.2em;text-transform:uppercase;cursor:none;border:none;border-radius:9999px;margin-left:auto;padding:.625rem 1.25rem;font-size:9px;font-weight:700;transition:transform .2s;display:block;box-shadow:0 10px 30px #00000080}.carousel-nav{justify-content:center;gap:1rem;margin-top:.5rem;display:flex}@media (width>=1024px){.carousel-nav{display:none}}.carousel-nav__btn{border:1px solid var(--border);color:var(--text);cursor:none;background:0 0;border-radius:50%;justify-content:center;align-items:center;padding:.75rem;transition:background-color .3s;display:flex}.carousel-nav__btn:hover{background:#ffffff1a}html.light .carousel-nav__btn:hover{background:#0000001a}.contact-section{flex-direction:column;justify-content:flex-start;max-width:1600px;min-height:85vh;margin:0 auto;padding:3.5rem 1.5rem 4rem;display:flex}@media (width>=640px){.contact-section{padding:4.5rem 2.5rem 4rem}}@media (width>=1024px){.contact-section{justify-content:flex-start;padding:5rem 5rem 4rem}}.contact-title{letter-spacing:-.04em;text-transform:uppercase;margin-bottom:1.5rem;font-size:clamp(3rem,7vw,4.5rem);font-weight:100}.contact-header{margin-bottom:2.5rem}@media (width>=1024px){.contact-header{margin-bottom:3.5rem}}.contact-grid{grid-template-columns:1fr;align-items:start;gap:4rem;display:grid}@media (width>=1024px){.contact-grid{grid-template-columns:repeat(12,1fr);gap:6rem}}.contact-info{order:2}@media (width>=1024px){.contact-info{order:1;grid-column:span 5}}.contact-tagline{max-width:28rem;margin-bottom:3rem;font-size:1rem;font-weight:300;line-height:1.8}@media (width>=1024px){.contact-tagline{margin-bottom:4rem}}.contact-details{grid-template-columns:1fr;gap:2rem;display:grid}@media (width>=640px){.contact-details{grid-template-columns:repeat(2,1fr);gap:2rem 3rem}}.contact-detail__label{letter-spacing:.4em;text-transform:uppercase;opacity:.6;margin-bottom:.75rem;font-size:10px}.contact-detail__value{letter-spacing:-.01em;color:var(--text);white-space:nowrap;word-break:normal;font-size:14px;font-weight:400;text-decoration:none;transition:opacity .3s;display:inline-block}.contact-detail__value:hover{opacity:.5}.contact-location{margin-top:3rem}@media (width>=1024px){.contact-location{margin-top:4rem}}.contact-form-wrap{order:1}@media (width>=1024px){.contact-form-wrap{order:2;grid-column:span 7;padding-left:3rem}}.contact-form-box{border:1px solid var(--text);border-radius:2px;padding:2rem}@media (width>=640px){.contact-form-box{padding:3rem}}.contact-form{flex-direction:column;gap:2.5rem;display:flex}.form-row{grid-template-columns:1fr;gap:2.5rem;display:grid}@media (width>=640px){.form-row{grid-template-columns:repeat(2,1fr)}}.form-group{flex-direction:column;gap:.75rem;display:flex}.form-label{letter-spacing:.4em;text-transform:uppercase;opacity:.6;font-size:10px}.form-input,.form-textarea{border:none;border-bottom:1px solid var(--text);width:100%;font-family:var(--font);color:var(--text);background:0 0;outline:none;padding:.75rem 0;font-size:14px;font-weight:300;transition:border-color .3s}.form-input::placeholder,.form-textarea::placeholder{color:var(--text);opacity:.5}.form-textarea{resize:none}.form-submit-wrap{padding-top:1.5rem}.form-submit{border:1px solid var(--text);color:var(--text);font-family:var(--font);letter-spacing:.3em;text-transform:uppercase;background:0 0;align-items:center;gap:1rem;padding:1rem 2rem;font-size:12px;font-weight:500;transition:color .5s;display:inline-flex;position:relative;overflow:hidden}.form-submit:before{content:"";background:var(--text);z-index:0;transition:transform .5s cubic-bezier(.16,1,.3,1);position:absolute;inset:0;transform:translate(-101%)}.form-submit:hover:before{transform:translate(0)}.form-submit:hover{color:var(--bg)}.form-submit span,.form-submit svg{z-index:1;position:relative}.form-submit svg{transition:transform .3s}.form-submit:hover svg{transform:translate(4px)}.form-submit:disabled{opacity:.5}.form-feedback{letter-spacing:.05em;border-radius:2px;padding:.75rem 1rem;font-size:13px}.form-feedback--success{border:1px solid #ffffff4d}.form-feedback--error{color:#ff9696;border:1px solid #ff646480}.fade-in{opacity:0;transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1);transform:translateY(24px)}.fade-in--visible{opacity:1;transform:none}.fade-in--d1{transition-delay:.1s}.fade-in--d2{transition-delay:.2s}.fade-in--d3{transition-delay:.3s}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.no-scrollbar::-webkit-scrollbar{display:none}
