*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}::-webkit-scrollbar{display:none}html{scrollbar-width:none;-ms-overflow-style:none}:root{--color-bg: #f4f3f0;--color-dark: #1a3a3a;--color-green: #1a3a3a;--color-text: #1a3a3a;--color-text-light: #999999;--color-circle-outline: rgba(26, 58, 58, .08);--font-serif: "DM Serif Display", serif;--font-sans: "Inter", sans-serif;--circle-size: min(62vh, 62vw, 520px);--photo-width: calc(var(--circle-size) * .33);--photo-height: calc(var(--circle-size) * .48);--green-size: calc(var(--circle-size) * .42);--letter-spacing: .05em;--letter-spacing-lg: .12em}html.lenis{height:auto}.lenis.lenis-smooth{scroll-behavior:auto}.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}.lenis.lenis-stopped{overflow:hidden}.lenis.lenis-scrolling iframe{pointer-events:none}html,body{width:100%;height:100%;background-color:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow:hidden}.preloader{position:fixed;top:0;left:0;width:100%;height:100%;background-color:var(--color-bg);z-index:10000;display:flex;justify-content:center;align-items:center}.preloader__content{display:flex;flex-direction:column;align-items:center;gap:1.5rem}.preloader__name{font-family:var(--font-serif);font-style:italic;font-size:1.5rem;color:var(--color-dark);letter-spacing:.1em}.preloader__bar{width:200px;height:2px;background-color:#1a3a3a1a;overflow:hidden}.preloader__progress{width:0%;height:100%;background-color:var(--color-dark)}.grained-container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:50;opacity:.05}.hero{position:relative;width:100vw;height:100vh;display:flex;justify-content:center;align-items:center}.hero__circle-outline{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:var(--circle-size);height:var(--circle-size);border-radius:50%;border:1px solid var(--color-circle-outline);pointer-events:none;z-index:1}.hero__green-circle{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:var(--green-size);height:var(--green-size);border-radius:50%;background-color:var(--color-green);z-index:3;pointer-events:none}.hero__heading{position:absolute;top:50%;left:50%;transform:translate(-50%,calc(-1 * var(--circle-size) / 2 - 100% - .5rem));text-align:center;z-index:10;line-height:1;white-space:nowrap}.hero__greeting{display:block;font-family:var(--font-serif);font-style:italic;font-size:clamp(1.6rem,3.2vw,2.8rem);font-weight:400;color:var(--color-dark);margin-bottom:.05em;letter-spacing:var(--letter-spacing)}.hero__name{display:block;font-family:var(--font-serif);font-size:clamp(2.5rem,5vw,4rem);font-weight:400;color:var(--color-dark);letter-spacing:-.02em}.hero__nav{position:absolute;z-index:15;text-decoration:none;color:var(--color-text);font-family:var(--font-sans);font-size:clamp(.75rem,1vw,.9rem);font-weight:400;letter-spacing:.02em;cursor:pointer;padding:.5rem 1rem;transform:translate(-50%,-50%)}.hero__nav--top-left{top:10vh;left:10vw}.hero__nav--top-right{top:10vh;left:90vw}.hero__nav--bottom-left{top:90vh;left:10vw}.hero__nav--bottom-right{top:90vh;left:90vw}.hero__photo-wrapper{position:relative;z-index:5;width:var(--photo-width);height:var(--photo-height);overflow:hidden;border-radius:3px;box-shadow:0 4px 30px #0000000f;flex-shrink:0}.hero__photo{width:100%;height:100%;object-fit:cover;object-position:center 15%;display:block}.hero__text-left,.hero__text-right{position:absolute;z-index:10;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;justify-content:center}.hero__text-left{right:calc(50% + var(--photo-width) / 2 + 3.5vw);text-align:right;align-items:flex-end}.hero__text-right{left:calc(50% + var(--photo-width) / 2 + 3.5vw);text-align:left;align-items:flex-start}.hero__star{font-size:1.3rem;color:var(--color-dark);margin-bottom:.8rem;opacity:.5}.hero__description{font-family:var(--font-sans);font-size:clamp(.72rem,1vw,.88rem);font-weight:400;line-height:1.7;color:var(--color-text);white-space:nowrap}.hero__description em{font-style:italic;font-family:var(--font-serif);font-size:clamp(.78rem,1.05vw,.92rem)}.hero__tagline{position:absolute;bottom:4vh;left:50%;transform:translate(-50%);text-align:center;font-size:.6rem;color:var(--color-text-light);letter-spacing:.05em;line-height:1.6;z-index:10;white-space:nowrap}@media (max-width: 1024px){:root{--circle-size: min(55vh, 55vw, 420px)}.hero__text-left{right:calc(50% + var(--photo-width) / 2 + 3vw)}.hero__text-right{left:calc(50% + var(--photo-width) / 2 + 3vw)}}@media (max-width: 768px){:root{--circle-size: min(60vw, 300px)}.hero{flex-direction:column;justify-content:center}.hero__heading{position:absolute;top:10vh;left:50%;transform:translate(-50%);display:flex;flex-direction:row;align-items:baseline;justify-content:center;gap:.4rem;width:100%}.hero__greeting{display:inline-block;font-size:clamp(1.8rem,6.5vw,2.5rem);font-family:var(--font-serif);font-style:italic}.hero__name{display:inline-block;font-size:clamp(1.8rem,6.5vw,2.5rem);font-family:var(--font-sans);font-weight:300}.hero__text-left,.hero__text-right{display:flex;position:absolute;left:50%;transform:translate(-50%);text-align:center;align-items:center;width:90%}.hero__text-left{top:17vh;right:auto}.hero__text-right{top:auto;bottom:12vh;left:50%}.hero__star{display:none}.hero__description{font-size:.95rem;line-height:1.4;white-space:normal;color:var(--color-dark)}.hero__description em{font-size:1.05rem}.hero__photo-wrapper{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) rotate(-3deg);width:55vw;height:70vw;max-width:260px;max-height:330px;border-radius:0}.hero__green-circle{width:70vw!important;height:70vw!important;max-width:330px!important;max-height:330px!important;transform:translate(-50%,-50%)!important;z-index:1!important}.hero__circle-outline,.hero__nav,.hero__tagline{display:none}}.hero__mobile-nav{display:none}@media (max-width: 768px){.hero__mobile-nav{display:flex;position:absolute;bottom:0;left:0;width:100%;height:8vh;border-top:1px solid rgba(26,58,58,.15);align-items:center;justify-content:center;gap:.8rem;font-size:.9rem;font-family:var(--font-sans);color:var(--color-dark);z-index:50;cursor:pointer;background:transparent}.hero__mobile-hamburger{width:22px;height:22px}}@media (max-width: 480px){:root{--circle-size: min(70vw, 250px)}.hero__nav--top-left{top:10vh;left:15vw}.hero__nav--top-right{top:10vh;left:85vw}.hero__nav--bottom-left{top:90vh;left:15vw}.hero__nav--bottom-right{top:90vh;left:85vw}}.portfolio{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:var(--color-dark);z-index:200;opacity:0;pointer-events:none;display:flex;flex-direction:column;overflow:hidden}.portfolio.is-active,.about.is-active,.expertise.is-active,.contact.is-active{opacity:1!important;visibility:visible!important;z-index:100!important;pointer-events:auto!important}.portfolio,.about,.expertise,.contact{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:10;opacity:0;visibility:hidden;pointer-events:none}.portfolio__back{position:absolute;top:3vh;left:50%;transform:translate(-50%);color:#fff9;text-decoration:none;font-family:var(--font-sans);font-size:.75rem;letter-spacing:.03em;z-index:110;transition:color .3s;cursor:pointer}.portfolio__back:hover,.portfolio__nav:hover{color:#fff}.portfolio__nav-indicator{position:absolute;width:105px;height:105px;background-color:#fff;border-radius:50%;z-index:95;pointer-events:auto;touch-action:none;display:none;opacity:0}.portfolio.is-active .portfolio__nav-indicator{display:block}.portfolio__nav{position:absolute;z-index:9999;text-decoration:none;color:#fff;font-family:var(--font-sans);font-size:clamp(.75rem,1vw,.9rem);font-weight:500;letter-spacing:.02em;cursor:pointer;transition:color .4s;background:transparent!important;transform:translate(-50%,-50%)}.portfolio__nav-active-text{color:var(--color-dark)!important}.portfolio__circle-outline{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:var(--circle-size);height:var(--circle-size);border-radius:50%;border:1px solid var(--color-circle-outline);pointer-events:none;z-index:1}.portfolio__nav--top-left{top:10vh;left:10vw}.portfolio__nav--top-right{top:10vh;left:90vw}.portfolio__nav--bottom-left{top:90vh;left:10vw}.portfolio__nav--bottom-right{top:90vh;left:90vw}.portfolio__subtitle{position:absolute;top:7vh;left:0;width:100%;text-align:center;color:#ffffff80;font-family:var(--font-sans);font-size:.78rem;line-height:1.6;letter-spacing:.02em;z-index:105;white-space:nowrap}.portfolio__link{color:#ffffffb3;text-decoration:underline;text-underline-offset:3px;transition:color .3s}.portfolio__link:hover{color:#fff}.portfolio__grid{display:flex;gap:1.8rem;align-items:center;padding:40px 8vw;margin-top:auto;margin-bottom:auto;height:68vh;min-height:420px;overflow-x:auto;overflow-y:hidden;cursor:grab;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.portfolio__grid::-webkit-scrollbar{display:none}.portfolio__grid.is-dragging{cursor:grabbing;-webkit-user-select:none;user-select:none}.portfolio__card{flex:0 0 min(38vw,420px);height:52vh;min-height:320px;display:flex;flex-direction:column;border-radius:8px;overflow:hidden;cursor:pointer;position:relative;transition:transform .4s ease}.portfolio__card:hover{transform:translateY(-4px)}.portfolio__card-image{position:relative;flex:1;overflow:hidden;border-radius:8px 8px 0 0}.portfolio__card-image img{width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(100%);transition:transform .6s ease,filter .6s ease}.portfolio__card:hover .portfolio__card-image img{transform:scale(1.05);filter:grayscale(0%)}.portfolio__card-overlay{position:absolute;bottom:0;left:0;right:0;padding:2rem;background:linear-gradient(transparent,#0009);color:#fff}.portfolio__card-title{font-family:var(--font-serif);font-size:clamp(1.2rem,2vw,1.8rem);font-weight:400;line-height:1.3}.portfolio__card-desc{font-family:var(--font-sans);font-size:.75rem;color:#fffc;margin-top:.5rem;line-height:1.5}.portfolio__card-footer{position:absolute;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:1.2rem 1.5rem;background-color:transparent;transition:background-color .4s ease;z-index:10}.portfolio__card:hover .portfolio__card-footer{background-color:#fff}.portfolio__card-label-wrap{position:relative;display:flex;align-items:center}.portfolio__card-label{font-family:var(--font-sans);font-size:.78rem;letter-spacing:.02em;transition:opacity .4s ease,color .4s ease}.portfolio__card-label--cat{color:#fffc;opacity:1}.portfolio__card-label--more{position:absolute;left:0;color:#1a3a3a;font-weight:600;opacity:0;white-space:nowrap}.portfolio__card:hover .portfolio__card-label--cat{opacity:0}.portfolio__card:hover .portfolio__card-label--more{opacity:1}.portfolio__card-arrow{font-size:1.1rem;color:#fff9;transition:transform .4s ease,color .4s ease}.portfolio__card:hover .portfolio__card-arrow{transform:translate(4px);color:#1a3a3a}.portfolio__tagline{position:absolute;bottom:2vh;left:50%;transform:translate(-50%);text-align:center;font-size:.55rem;color:#ffffff4d;letter-spacing:.05em;line-height:1.6;z-index:105;white-space:nowrap}@media (max-width: 1024px){.portfolio__grid{padding:0 4vw;gap:1rem;height:50vh}.portfolio__nav--active{width:80px;height:80px}}@media (max-width: 768px){.portfolio__grid{flex-direction:column;height:auto;padding:12vh 5vw 10vh;gap:1rem;overflow-y:auto}.portfolio__card{min-height:200px}.portfolio__card-image{min-height:160px}.portfolio__subtitle{top:auto;bottom:auto;font-size:.7rem}.portfolio__nav--active{width:70px;height:70px;font-size:.7rem}.portfolio__nav--bottom-left{top:88vh;left:15vw}.portfolio__nav--bottom-right{top:88vh;left:85vw}}.project-detail{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:var(--color-dark);color:#fff;z-index:200;display:flex;flex-direction:column;visibility:hidden;opacity:0;pointer-events:none}.project-detail.is-active{visibility:visible;opacity:1;pointer-events:all}.project-detail__container{flex:1;display:flex;overflow:hidden;padding:8vh 8vw;gap:5vw}.project-detail__info{flex:0 0 35%;display:flex;flex-direction:column;justify-content:center;gap:2.5rem}.project-detail__group{display:flex;flex-direction:column;gap:.5rem}.project-detail__label{font-family:var(--font-sans);font-size:.72rem;text-transform:lowercase;color:#fff6;letter-spacing:.05em}.project-detail__title{font-family:var(--font-serif);font-size:clamp(2rem,3.5vw,4rem);font-weight:400;line-height:1.1}.project-detail__value{font-family:var(--font-sans);font-size:clamp(.95rem,1.1vw,1.2rem);color:#fff}.project-detail__team{display:flex;gap:8px}.project-detail__avatar{width:34px;height:34px;border-radius:50%;object-fit:cover;border:1px solid rgba(255,255,255,.2)}.project-detail__group--desc{margin-top:1rem}.project-detail__description{font-family:var(--font-sans);font-size:clamp(.85rem,1vw,1.05rem);line-height:1.7;color:#ffffffd9;max-width:440px}.project-detail__link{display:inline-block;margin-top:2rem;color:#fff;text-decoration:none;font-family:var(--font-sans);font-size:.95rem;padding-bottom:4px;border-bottom:1px solid rgba(255,255,255,.3);transition:border-color .3s;width:fit-content}.project-detail__link-arrow{margin-left:5px;font-size:1rem;vertical-align:middle}.project-detail__link:hover{border-bottom-color:#fff}.project-detail__media{flex:1;display:flex;align-items:center;justify-content:center;background-color:#ffffff08;border-radius:12px;overflow:hidden;position:relative}.project-detail__img{width:90%;max-height:70vh;object-fit:contain;border-radius:8px;box-shadow:0 30px 100px #0006}.project-detail__nav{height:10vh;min-height:80px;display:flex;justify-content:space-between;align-items:center;padding:0 8vw;border-top:1px solid rgba(255,255,255,.1);background:#081a1af2;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px)}.project-detail__btn{background:none;border:none;color:#fff9;font-family:var(--font-sans);font-size:.9rem;cursor:pointer;transition:color .3s,transform .3s;display:flex;align-items:center;gap:10px}.project-detail__btn:hover{color:#fff;transform:translateY(-2px)}.project-detail__btn--close{font-weight:500;letter-spacing:.05em;text-transform:lowercase}@media (max-width: 992px){.project-detail__container{flex-direction:column;overflow-y:auto;padding:10vh 6vw 5vh;gap:2rem}.project-detail__info{order:2;flex:none;margin-top:2rem;padding-bottom:5vh}.project-detail__media{order:1;min-height:35vh;flex:none;width:100%}.project-detail__img{width:100%}.project-detail__nav{padding:0 6vw}.project-detail__btn{font-size:.8rem}}.about{background-color:var(--color-dark);color:#fff;display:flex;justify-content:center;align-items:center;overflow:hidden}.about__container{position:relative;width:100%;height:100%;z-index:5;pointer-events:none}.hero__outer-circle{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border-radius:50%;border:1px solid var(--color-circle-outline);pointer-events:none;z-index:1}.portfolio__outer-circle{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border-radius:50%;border:1px solid rgba(255,255,255,.05);pointer-events:none;z-index:1}.about__orbit{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border-radius:50%;border:1px solid rgba(255,255,255,.1);pointer-events:none;z-index:1}.about__orbit--1{width:55vw;height:55vw}.about__orbit--2{width:85vw;height:85vw}.about__orbit--3{width:115vw;height:115vw}.about__memory{position:absolute;top:50%;left:50%;width:90px;height:65px;overflow:hidden;border-radius:4px;transform:translate(-50%,-50%);z-index:2;box-shadow:0 10px 30px #0006;transition:transform .4s}.about__memory img{width:100%;height:100%;object-fit:cover}.about__memory:hover{transform:translate(-50%,-50%) scale(1.1);z-index:10}.about__memory--1{margin-left:-400px;margin-top:-150px}.about__memory--2{margin-left:280px;margin-top:-380px}.about__memory--3{margin-left:-500px;margin-top:250px}.about__memory--4{margin-left:450px;margin-top:150px}.about__memory--5{margin-left:-80px;margin-top:450px}.about__content{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:90%;max-width:650px;display:flex;flex-direction:column;align-items:center;text-align:center;z-index:10;pointer-events:auto}.about__photo-wrapper{width:400px;height:220px;border-radius:2px;overflow:hidden;margin-bottom:2.5rem;box-shadow:0 20px 60px #0000004d}.about__photo{width:100%;height:100%;object-fit:cover;object-position:center 45%}.about__bio-main{font-family:var(--font-sans);font-size:clamp(1.1rem,1.8vw,1.8rem);font-weight:300;line-height:1.4;color:#fff;margin-bottom:2rem}.about__bio-main i{font-family:var(--font-serif);font-style:italic;font-weight:400}.about__bio-sub{font-family:var(--font-sans);font-size:.85rem;line-height:1.6;color:#fff9;max-width:450px;margin:0 auto}.about__nav{position:absolute;z-index:100;text-decoration:none;color:#fff9;font-family:var(--font-sans);font-size:clamp(.75rem,1vw,.9rem);cursor:pointer;transition:color .4s;pointer-events:auto;transform:translate(-50%,-50%)}.about__nav:hover{color:#fff}.about__nav--top-left{top:10vh;left:10vw}.about__nav--top-right{top:10vh;left:90vw}.about__nav--bottom-left{top:90vh;left:10vw}.about__nav--bottom-right{top:90vh;left:90vw}.about__nav-indicator{position:absolute;width:130px;height:130px;background-color:#fff;border-radius:50%;z-index:95;pointer-events:none;display:none;opacity:0;top:0;left:0}.about.is-active .about__nav-indicator{display:block}.about__nav-active-text{color:var(--color-dark)!important}.about__back{position:absolute;top:4vh;left:50%;transform:translate(-50%);color:#fffc;text-decoration:none;font-family:var(--font-sans);font-size:.8rem;z-index:110;transition:color .3s;pointer-events:auto}.about__back:hover{color:#fff}.about__tagline{position:absolute;bottom:2vh;left:50%;transform:translate(-50%);text-align:center;font-family:var(--font-serif);font-size:.65rem;font-style:italic;color:#ffffff80;text-transform:lowercase;line-height:1.6;letter-spacing:.05em}.about__mobile-bottom-bar,.portfolio__mobile-bottom-bar{display:none!important}@media (max-width: 768px){.about{flex-direction:column;justify-content:flex-start;overflow-y:auto!important;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-y:auto}.about__orbit{display:none!important}.about__container{width:100%;height:auto;min-height:100vh;position:relative;display:flex;flex-direction:column;justify-content:flex-start;align-items:center;padding-top:12vh;padding-bottom:20vh;z-index:5}.about__content{position:relative;top:auto;left:auto;transform:none;width:85%;display:flex;flex-direction:column;align-items:center;text-align:center;z-index:10!important}.about__photo-wrapper{width:100%;height:auto;aspect-ratio:16/9;max-width:400px;margin:0 auto 2.5rem;box-shadow:none;border-radius:0}.about__bio-main{font-size:1.15rem;font-weight:300;line-height:1.5;margin-bottom:2rem;text-align:center!important;color:#fff;letter-spacing:.02em}.about__bio-main i{font-family:var(--font-serif)!important;font-style:italic!important;font-weight:400!important;font-size:inherit!important;opacity:.9}.about__bio-sub{font-size:.85rem;font-weight:300;max-width:90%;text-align:center!important;color:#fff9;line-height:1.6}.about__bio-sub i{font-family:var(--font-serif)!important;font-style:italic!important;font-weight:400!important;font-size:inherit!important;opacity:.8}.about__memory--1{position:fixed!important;top:50px!important;left:-15px!important;margin:0!important;transform:rotate(-10deg)!important;width:90px!important;height:65px!important;z-index:10!important;opacity:1!important;pointer-events:none;display:block!important}.about__memory--2{position:fixed!important;top:30px!important;left:auto!important;right:-15px!important;margin:0!important;transform:rotate(10deg)!important;width:100px!important;height:75px!important;z-index:10!important;opacity:1!important;pointer-events:none;display:block!important}.about__memory--3{display:none!important}.about__memory--5{position:fixed!important;top:auto!important;bottom:80px!important;left:-25px!important;margin:0!important;transform:rotate(5deg)!important;width:140px!important;height:100px!important;z-index:10!important;opacity:1!important;pointer-events:none;display:block!important}.about__memory--4{position:fixed!important;top:auto!important;bottom:100px!important;left:auto!important;right:-25px!important;margin:0!important;transform:rotate(-8deg)!important;width:130px!important;height:95px!important;z-index:10!important;opacity:1!important;pointer-events:none;display:block!important}.about__nav,.about__back,.about__nav-indicator,.about__tagline,.portfolio__nav,.portfolio__back,.portfolio__nav-indicator,.portfolio__tagline{display:none!important}.about__mobile-bottom-bar{position:fixed!important;bottom:0!important;left:0!important;width:100vw!important;height:9vh!important;min-height:50px!important;border-top:1px solid rgba(255,255,255,.1)!important;display:flex!important;z-index:1000!important;background-color:var(--color-dark)!important;pointer-events:auto!important}.about__mobile-btn{flex:1;display:flex;justify-content:center;align-items:center;gap:.6rem;color:#fff!important;text-decoration:none!important;font-family:var(--font-sans)!important;font-size:.85rem!important;border-right:1px solid rgba(255,255,255,.1)!important;cursor:pointer!important;pointer-events:auto!important}.about__mobile-btn:last-child{border-right:none!important}}.memory-lightbox{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#0e1e1ef2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:200;display:flex;flex-direction:column;justify-content:center;align-items:center;opacity:0;visibility:hidden;pointer-events:none}.memory-lightbox.is-active{opacity:1;visibility:visible;pointer-events:auto}.memory-lightbox__container{flex:1;display:flex;align-items:center;justify-content:center;width:100%;padding:5vh 5vw}.memory-lightbox__img{max-width:90vw;max-height:75vh;object-fit:contain;box-shadow:0 40px 100px #00000080;border-radius:4px}.memory-lightbox__nav{height:10vh;min-height:80px;display:flex;justify-content:center;align-items:center;gap:3rem;padding-bottom:2vh}.memory-lightbox__btn{background:none;border:none;color:#fff9;font-family:var(--font-sans);font-size:.85rem;cursor:pointer;transition:color .3s,transform .3s}.memory-lightbox__btn:hover{color:#fff;transform:translateY(-2px)}.memory-lightbox__btn--close{font-family:var(--font-serif);font-size:1rem}.expertise{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:var(--color-dark);color:#fff;z-index:10;opacity:0;visibility:hidden;display:flex;justify-content:center;align-items:center;overflow:hidden}.expertise.is-active{opacity:1;visibility:visible}.expertise__outer-circle,.expertise__orbit{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border-radius:50%;border:1px solid rgba(255,255,255,.05);pointer-events:none;z-index:1}.expertise__nav{position:absolute;z-index:100;text-decoration:none;color:#fff9;font-family:var(--font-sans);font-size:clamp(.75rem,1vw,.9rem);cursor:pointer;transition:color .4s;pointer-events:auto;transform:translate(-50%,-50%)}.expertise__nav:hover{color:#fff}.expertise__nav--top-left{top:10vh;left:10vw;text-decoration:none}.expertise__nav--top-right{top:10vh;left:90vw}.expertise__nav--bottom-left{top:90vh;left:10vw}.expertise__nav--bottom-right{top:90vh;left:90vw}.expertise__nav-indicator{position:absolute;width:130px;height:130px;background-color:#fff;border-radius:50%;z-index:95;pointer-events:none;display:none;opacity:0;top:0;left:0}.expertise.is-active .expertise__nav-indicator{display:block}.expertise__nav-active-text{color:var(--color-dark)!important}.expertise__back{position:absolute;top:4vh;left:50%;transform:translate(-50%);color:#fffc;text-decoration:none;font-family:var(--font-sans);font-size:.8rem;z-index:110;transition:color .3s;pointer-events:auto}.expertise__back:hover{color:#fff}.expertise__tagline{position:absolute;bottom:2vh;left:50%;transform:translate(-50%);text-align:center;font-family:var(--font-serif);font-size:.65rem;font-style:italic;color:#ffffff80;text-transform:lowercase;line-height:1.6;letter-spacing:.05em;z-index:10}.expertise__tabs{position:absolute;top:15vh;left:50%;transform:translate(-50%);display:flex;gap:clamp(2rem,5vw,4rem);z-index:20}.expertise__tab{background:none;border:none;color:#fff6;font-family:var(--font-sans);font-size:clamp(2.5rem,4vw,3.5rem);font-weight:300;cursor:pointer;padding-bottom:.5rem;transition:color .4s}.expertise__tab:hover{color:#fffc}.expertise__tab--active{color:#fff;cursor:default;position:relative}.expertise__tab--active:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:2px;background-color:#fff}.expertise__content{position:relative;z-index:10;max-width:600px;text-align:center;padding:0 2rem}.expertise__description{font-family:var(--font-sans);font-size:clamp(1.2rem,1.8vw,1.8rem);font-weight:300;line-height:1.4;color:#fff}.expertise__description i,.expertise__description em,.expertise__description .italic{font-family:var(--font-serif);font-style:italic;font-weight:400}.expertise__tags{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:100%;height:100%;pointer-events:none;z-index:5}.expertise__tag{position:absolute;background:transparent;border:1px solid rgba(255,255,255,.15);color:#ffffffe6;padding:.8rem 1.8rem;border-radius:4px;font-family:var(--font-sans);font-size:.85rem;white-space:nowrap;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);cursor:pointer;pointer-events:auto;transition:background-color .3s,color .3s}.expertise__tag-img,.expertise__mobile-bar{display:none}.expertise__tag:hover{background-color:#fff;color:var(--color-dark)}.expertise__hover-media{position:absolute;top:50%;left:50%;width:65vw;max-width:900px;z-index:4;pointer-events:none;opacity:0;border-radius:6px;box-shadow:0 40px 80px #0009;overflow:hidden}.expertise__hover-img{width:100%;height:auto;display:block}.contact{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:var(--color-dark);color:#fff;z-index:10;opacity:0;visibility:hidden;display:flex;justify-content:center;align-items:center;overflow:hidden}.contact.is-active{opacity:1;visibility:visible}.contact__outer-circle,.contact__orbit{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border-radius:50%;border:1px solid rgba(255,255,255,.05);pointer-events:none;z-index:1}.contact__nav{position:absolute;z-index:100;text-decoration:none;color:#fff9;font-family:var(--font-sans);font-size:clamp(.75rem,1vw,.9rem);cursor:pointer;transition:color .4s;pointer-events:auto;transform:translate(-50%,-50%)}.contact__nav:hover{color:#fff}.contact__nav--top-left{top:10vh;left:10vw}.contact__nav--top-right{top:10vh;left:90vw}.contact__nav--bottom-left{top:90vh;left:10vw}.contact__nav--bottom-right{top:90vh;left:90vw}.contact__nav-indicator{position:absolute;width:130px;height:130px;background-color:#fff;border-radius:50%;z-index:95;pointer-events:none;display:none;opacity:0;top:0;left:0}.contact.is-active .contact__nav-indicator{display:block}.contact__nav-active-text{color:var(--color-dark)!important}.contact__back{position:absolute;top:4vh;left:50%;transform:translate(-50%);color:#fffc;text-decoration:none;font-family:var(--font-sans);font-size:.8rem;z-index:110;transition:color .3s;pointer-events:auto}.contact__back:hover{color:#fff}.contact__tagline{position:absolute;bottom:2vh;left:50%;transform:translate(-50%);text-align:center;font-family:var(--font-serif);font-size:.65rem;font-style:italic;color:#ffffff80;line-height:1.6;letter-spacing:.05em;z-index:10}.contact__content{position:relative;z-index:10;display:flex;flex-direction:column;align-items:center;gap:2.5rem;text-align:center}.contact__title{font-family:var(--font-serif);font-size:clamp(3.5rem,6vw,6rem);font-weight:400;line-height:1.1;color:#fff;letter-spacing:-.02em}.contact__title i{font-weight:300}.contact__actions{display:flex;gap:2rem;align-items:center;margin-top:1rem}.contact__btn{display:flex;align-items:center;justify-content:center;gap:.6rem;font-family:var(--font-sans);font-size:.9rem;font-weight:500;text-decoration:none;padding:1rem 1.8rem;border-radius:4px;cursor:pointer;transition:transform .3s ease,background-color .3s,opacity .3s}.contact__btn--primary{background-color:#fff;color:var(--color-dark)}.contact__btn--primary:hover{transform:translateY(-2px);background-color:#f0f0f0}.contact__btn--secondary{background-color:transparent;color:#fff;padding:1rem 0;border-radius:0;border-bottom:1px solid rgba(255,255,255,.5)}.contact__btn--secondary:hover{border-bottom-color:#fff}.contact__divider{font-family:var(--font-sans);font-size:1.2rem;color:#fffc;margin-top:1.5rem}.contact__divider i{font-family:var(--font-serif);font-size:1.4rem}.contact__socials{display:flex;gap:1.5rem;align-items:center}.contact__social-icon{display:flex;justify-content:center;align-items:center;color:#fff;width:44px;height:44px;border-radius:50%;background-color:#ffffff0d;transition:background-color .3s,transform .3s}.contact__social-icon:hover{background-color:#ffffff26;transform:translateY(-2px)}.contact__email{display:flex;align-items:center;gap:.5rem;font-family:var(--font-sans);font-size:.9rem;color:#ffffffb3;cursor:pointer;padding:.5rem 1rem;border-radius:4px;transition:color .3s,background-color .3s;margin-top:.5rem}.contact__email:hover{color:#fff;background-color:#ffffff0d}.contact__email-copy{opacity:.5;transition:opacity .3s}.contact__email:hover .contact__email-copy{opacity:1}.contact__form-wrapper{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:90%;max-width:600px;z-index:20;display:none;opacity:0;flex-direction:column;align-items:center;gap:2rem}.contact__form{width:100%;display:flex;flex-direction:column;gap:2rem}.contact__form-row{display:flex;gap:2rem}.contact__form-group{flex:1;display:flex;flex-direction:column;gap:.5rem;text-align:left}.contact__form-group label{font-family:var(--font-sans);font-size:.75rem;font-weight:700;color:#fff;text-transform:lowercase}.contact__form-group input,.contact__form-group textarea{background:transparent;border:none;border-bottom:1px solid rgba(255,255,255,.2);padding:.5rem 0;color:#fff;font-family:var(--font-sans);font-size:1rem;outline:none;transition:border-color .3s}.contact__form-group input:focus,.contact__form-group textarea:focus{border-bottom-color:#fff}.contact__submit-btn{width:100%;background-color:#fff;color:var(--color-dark);border:none;padding:1.2rem;font-family:var(--font-sans);font-size:1rem;font-weight:500;cursor:pointer;margin-top:1rem;transition:background-color .3s}.contact__submit-btn:hover{background-color:#f0f0f0}.contact__close-form{background:transparent;border:none;color:#fff;font-family:var(--font-sans);font-size:.9rem;cursor:pointer;display:flex;align-items:center;gap:.5rem;opacity:.8;transition:opacity .3s}.contact__close-form:hover{opacity:1}@media (max-width: 768px){:root{--circle-size: 85vw;--photo-width: calc(var(--circle-size) * .45);--photo-height: calc(var(--circle-size) * .65);--green-size: calc(var(--circle-size) * .55)}html,body{overflow-y:auto!important}.lenis.lenis-smooth{scroll-behavior:auto}.hero{height:auto;min-height:100vh;padding:80px 20px;flex-direction:column;justify-content:flex-start}.hero__heading{position:relative;top:0;left:0;transform:none!important;margin-bottom:2rem;order:1;text-align:center}.hero__greeting{font-size:1.5rem}.hero__name{font-size:2.5rem}.hero__photo-wrapper{position:relative;top:0;left:0;transform:none!important;margin:2rem 0;order:2;width:200px;height:280px}.hero__nav{position:relative!important;top:0!important;left:0!important;transform:none!important;margin:.8rem 0;font-size:1.1rem;order:4;text-align:center;background:transparent!important}.hero__text-left,.hero__text-right{position:relative;top:0;left:0;transform:none!important;width:100%;text-align:center;margin:1.2rem 0;order:3}.hero__circle-outline,.hero__green-circle,.hero__outer-circle{display:none!important}.hero__tagline{position:relative;bottom:0;left:0;transform:none!important;margin-top:3rem;order:5;text-align:center;font-size:.8rem}.portfolio{height:100vh!important;padding:60px 0 100px;overflow-y:auto!important;-webkit-overflow-scrolling:touch;overscroll-behavior-y:auto;display:flex;flex-direction:column;align-items:center}.portfolio__subtitle{position:relative;top:auto;left:0!important;transform:none!important;margin:10vh auto 2rem auto!important;padding:0 20px;font-size:1.35rem;font-weight:300;line-height:1.4;text-align:center;color:#fff;width:100%;max-width:90%}.portfolio__subtitle i{font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:1.45rem}.portfolio__link{text-decoration:none;color:inherit;border-bottom:1px solid rgba(255,255,255,.5);padding-bottom:2px}.portfolio__grid{display:flex;flex-direction:column;padding:0;gap:3rem;height:auto;width:100%;margin-top:2rem;transform:none!important}.portfolio__card{width:100%;height:auto;max-width:100%;aspect-ratio:4/3;flex:none;border-radius:0;margin:0}.portfolio__card-image{width:100%;height:100%;border-radius:0}.portfolio__card-overlay,.portfolio__card-footer{display:none!important}.expertise{height:100vh!important;padding:60px 20px 100px;overflow-y:auto!important;-webkit-overflow-scrolling:touch;overscroll-behavior-y:auto;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:flex-start!important}.expertise__outer-circle,.expertise__nav-indicator,.expertise__nav,.expertise__tagline,.expertise__hover-media,.expertise__back{display:none!important}.expertise__content{position:relative;top:0;left:0;transform:none!important;width:100%;margin-top:2rem}.expertise__orbit{display:none!important}.expertise__tabs{position:relative!important;top:auto!important;left:0!important;transform:none!important;justify-content:center!important;width:100%!important;margin-bottom:2rem!important;gap:2rem!important;display:flex!important}.expertise__tab{font-size:2rem!important;font-weight:300!important;color:#ffffff59!important;padding:0 5px!important;letter-spacing:-.02em!important;font-family:var(--font-serif)!important;font-style:italic!important}.expertise__tab--active{color:#fff!important;font-family:var(--font-sans)!important;font-style:normal!important;font-weight:400!important}.expertise__tab--active:after{height:2px!important;background-color:#fff!important;bottom:-8px!important;width:100%!important;left:0!important;transform:none!important}.expertise__description{text-align:center!important;font-size:1.1rem!important;font-weight:300!important;line-height:1.5!important;padding:0 10px!important;margin-bottom:3rem!important;color:#ffffffe6!important;max-width:90%!important;margin-left:auto!important;margin-right:auto!important}.expertise__tags{position:relative!important;top:auto!important;left:auto!important;transform:none!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:1.2rem!important;width:100%!important;height:auto!important;margin-top:2rem!important;pointer-events:auto!important;margin-bottom:80px!important}.expertise__tag{position:relative!important;background:transparent!important;border:none!important;padding:0!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:.6rem!important;white-space:normal!important;opacity:1!important;visibility:visible!important;transform:none!important;left:auto!important;top:auto!important}.expertise__tag-img{display:block!important;width:100%!important;aspect-ratio:4/3!important;object-fit:cover!important;border-radius:4px!important;box-shadow:0 4px 15px #0000004d}.expertise__tag-text{font-size:.8rem!important;color:#fffc!important;text-align:left!important;font-weight:300!important}.expertise__mobile-bar{display:flex!important;position:fixed;bottom:0;left:0;width:100%;z-index:200;background:#0a2323f2;border-top:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.expertise__mobile-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem;color:#fffc;font-family:var(--font-sans);font-size:.85rem;cursor:pointer;transition:background .3s}.expertise__mobile-btn:first-child{border-right:1px solid rgba(255,255,255,.1)}.expertise__mobile-btn:active{background:#ffffff0d}.contact{height:100vh!important;padding:60px 20px 100px;overflow-y:auto!important;-webkit-overflow-scrolling:touch;overscroll-behavior-y:auto;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:flex-start!important}.contact__outer-circle,.contact__orbit,.contact__nav-indicator,.contact__nav,.contact__tagline{display:none!important}.contact__content{position:relative;top:0;left:0;transform:none!important;width:100%;margin-top:2rem}.contact__title{font-size:2.5rem!important}.contact__actions{flex-direction:column;gap:1rem;width:100%}.contact__btn{width:100%;justify-content:center}.contact__form-row{flex-direction:column;gap:2rem}.contact__form-wrapper{position:relative;top:0;left:0;transform:none!important;width:100%;margin-top:2rem;padding-bottom:2rem}.contact__socials{flex-wrap:wrap;justify-content:center;gap:1rem;margin-top:2rem}.contact__back{position:relative!important;top:0!important;left:0!important;transform:none!important;display:block;margin-bottom:2rem;text-align:center}}.mobile-menu{position:fixed!important;top:auto!important;bottom:0!important;left:0!important;width:100vw!important;height:auto!important;background-color:var(--color-bg)!important;z-index:999999!important;display:flex;flex-direction:column;visibility:hidden;transform:translateY(100%);transition:transform .4s cubic-bezier(.25,1,.5,1),visibility .4s ease;box-shadow:0 -100vh 0 100vh #1a3a3a66}.mobile-menu.is-active{transform:translateY(0);visibility:visible}.mobile-menu__links{display:flex;flex-direction:column;width:100%}.mobile-menu__link{color:var(--color-dark);text-decoration:none;font-family:var(--font-sans);font-size:1.25rem;font-weight:400;text-align:center;padding:1.5rem 0;border-bottom:1px solid rgba(26,58,58,.15);width:100%;display:block}.mobile-menu__link:active{background-color:#1a3a3a0d}.mobile-menu__close{display:flex;justify-content:center;align-items:center;gap:.5rem;padding:1.5rem 0;background:none;border:none;color:var(--color-dark);font-family:var(--font-sans);font-size:.85rem;cursor:pointer;width:100%}.mobile-menu__close-icon{width:14px;height:14px}
