*{margin:0;padding:0;box-sizing:border-box;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root{--color-dark: #0f0f0f;--color-light: #f7f7f7;--font-serif: "Playfair Display", serif;--font-sans: "Inter", sans-serif;--transition-speed: .8s;--bg-color: var(--color-dark);--text-color: var(--color-light)}body{background-color:var(--bg-color);color:var(--text-color);font-family:var(--font-sans);overflow-x:auto;overflow-y:hidden;transition:background-color var(--transition-speed) ease,color var(--transition-speed) ease}body.theme--dark{--bg-color: var(--color-dark);--text-color: var(--color-light)}body.theme--light{--bg-color: var(--color-light);--text-color: var(--color-dark)}#custom-cursor{position:fixed;top:0;left:0;width:20px;height:20px;border-radius:50%;background-color:var(--text-color);mix-blend-mode:difference;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);transition:width .3s ease,height .3s ease,background-color var(--transition-speed) ease}body.hovering #custom-cursor{width:60px;height:60px;background-color:var(--color-light);mix-blend-mode:difference}.site-nav{position:fixed;top:0;width:100vw;padding:2rem 4rem;display:flex;justify-content:space-between;align-items:center;z-index:1000;mix-blend-mode:difference;color:#fff}.logo{font-family:var(--font-serif);font-weight:700;letter-spacing:2px;font-size:1.2rem;display:flex;align-items:center}.header-logo{max-height:150px;width:auto;object-fit:contain;transition:opacity .3s ease}.nav-links a{text-decoration:none;color:#fff;margin-left:2rem;font-size:.9rem;font-weight:500;text-transform:uppercase;letter-spacing:1px}.scroll-container{display:flex;height:100vh;width:max-content}.panel{height:100vh;flex-shrink:0;display:flex;align-items:center;position:relative;overflow:hidden}.hero,.about,.contact{width:100vw}.hero{padding:0 10vw;justify-content:flex-start}.hero-content{max-width:800px}.subtitle{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:4px;font-size:.85rem;margin-bottom:1rem;opacity:.7}.title{font-family:var(--font-serif);font-size:clamp(4rem,8vw,10rem);line-height:.9;font-weight:400;font-style:italic}.scroll-indicator{position:absolute;bottom:3rem;left:10vw;display:flex;align-items:center;gap:1rem}.scroll-indicator .line{width:60px;height:1px;background-color:var(--text-color);transition:background-color var(--transition-speed) ease}.scroll-indicator .text{text-transform:uppercase;font-size:.75rem;letter-spacing:2px;opacity:.7}.about{padding:0 10vw;justify-content:center;position:relative}.about-content{z-index:2;text-align:center;max-width:800px}.about h2{font-family:var(--font-serif);font-size:clamp(2.5rem,4vw,5rem);line-height:1.1;font-weight:400;margin-bottom:2rem}.about p{font-size:1.2rem;line-height:1.6;opacity:.8;max-width:600px;margin:0 auto}.about em{font-family:var(--font-serif);font-style:italic;font-weight:700}.marquee{position:absolute;top:50%;left:0;width:100%;transform:translateY(-50%) rotate(-5deg);white-space:nowrap;overflow:hidden;z-index:1;opacity:.03;pointer-events:none}.marquee-track{display:inline-block;animation:scroll-marquee 20s linear infinite}.marquee-track span{font-family:var(--font-sans);font-weight:700;font-size:15vw}@keyframes scroll-marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.gallery{padding:0 5vw;width:max-content;align-items:center;gap:4rem}.gallery-title{writing-mode:vertical-rl;transform:scale(-1);font-family:var(--font-serif);font-size:4rem;opacity:.5;margin-right:2rem}.projects-wrapper{display:flex;gap:3vw;height:65vh}.project-card{width:28vw;min-width:320px;height:100%;display:flex;flex-direction:column;cursor:pointer;position:relative}.image-placeholder{flex:1;background-color:#ffffff0d;border:1px dashed rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;transition:border-color .4s ease}.gallery h3{font-family:var(--font-serif);font-weight:400;font-size:1.5rem;margin-top:1.5rem}.gallery p{font-family:var(--font-sans);font-size:.85rem;text-transform:uppercase;letter-spacing:1px;margin-top:.5rem;opacity:.6}.placeholder-text{text-align:center;font-family:var(--font-sans);font-size:.8rem;opacity:.5;line-height:1.5;z-index:2}.actual-image{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;opacity:0;z-index:3;transition:transform .6s ease}.actual-image[src]:not([src=""]){opacity:1}.project-card:hover .actual-image{transform:scale(1.05)}.contact{padding:0 10vw;justify-content:center;text-align:center}.contact-content{max-width:800px}.contact h2{font-family:var(--font-serif);font-size:clamp(3rem,6vw,8rem);font-weight:400;margin-bottom:2rem}.contact p{font-size:1.2rem;opacity:.7;margin-bottom:3rem}.big-link{font-family:var(--font-sans);font-size:1.5rem;color:var(--text-color);text-decoration:none;border-bottom:2px solid var(--text-color);padding-bottom:5px;transition:opacity .3s;display:inline-block}.big-link:hover{opacity:.6}::-webkit-scrollbar{display:none}@media(max-width:900px){.scroll-container{width:100%;height:auto;flex-direction:column}.panel{width:100%;height:min-content;min-height:100vh;padding:6rem 5vw}.hero,.about,.contact{width:100%}.hero{justify-content:center}.title{font-size:clamp(3rem,15vw,6rem)}.site-nav{padding:1.5rem 5vw;flex-direction:column;justify-content:center;align-items:center;gap:1.2rem;background:linear-gradient(to bottom,var(--bg-color) 70%,transparent);z-index:1000;position:absolute;top:0}.nav-links{display:flex;justify-content:center;gap:1.5rem;width:100%}.nav-links a{margin-left:0;font-size:.85rem}.header-logo{max-height:80px}body,html{overflow-y:auto;overflow-x:hidden}.gallery{width:100%;padding:6rem 0;flex-direction:column;align-items:flex-start}.gallery-title{writing-mode:horizontal-tb;transform:none;margin-right:0;margin-bottom:2rem;font-size:3rem;padding:0 5vw}.projects-wrapper{flex-direction:row;height:auto;width:100%;gap:1.5rem;padding:0 5vw 2rem 5vw;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}.project-card{width:80vw;min-width:unset;height:50vh;scroll-snap-align:center}}@media(hover:none)and (pointer:coarse){#custom-cursor{display:none!important}}.carousel-modal{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#0f0f0ff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:10000;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .4s ease;color:#fff}.carousel-modal.active{opacity:1;pointer-events:all}.carousel-close{position:absolute;top:30px;right:40px;background:none;border:none;color:#fff;font-size:3rem;font-weight:300;cursor:pointer;z-index:10001;transition:opacity .3s}.carousel-close:hover{opacity:.6}.carousel-prev,.carousel-next{position:absolute;top:50%;transform:translateY(-50%);background:none;border:none;color:#fff;font-size:3rem;cursor:pointer;z-index:10001;padding:20px;transition:opacity .3s,transform .3s}.carousel-prev{left:20px}.carousel-next{right:20px}.carousel-prev:hover{opacity:.6;transform:translate(-5px,-50%)}.carousel-next:hover{opacity:.6;transform:translate(5px,-50%)}.carousel-content{width:80vw;height:80vh;overflow:hidden;position:relative}.carousel-track{display:flex;height:100%;width:100%;transition:transform .5s cubic-bezier(.25,1,.5,1);will-change:transform}.carousel-track img{width:100%;height:100%;object-fit:contain;flex-shrink:0}.carousel-dots{position:absolute;bottom:30px;left:50%;transform:translate(-50%);display:flex;gap:12px}.carousel-dot{width:8px;height:8px;border-radius:50%;background-color:#ffffff4d;cursor:pointer;transition:background-color .3s,transform .3s}.carousel-dot.active{background-color:#fff;transform:scale(1.3)}@media(max-width:900px){.carousel-prev,.carousel-next{font-size:2rem;padding:10px}.carousel-content{width:100vw;height:100vh}}
