:root{--bg-color:#fff;--text-color:#000;--accent-color:#e5e5e5;--font-display:"Clash Display", sans-serif;--font-sans:"Cabinet Grotesk", sans-serif;--font-body:"Inter", sans-serif;--font-serif:"Cormorant Garamond", serif;--font-modern:"Syne", sans-serif}*{box-sizing:border-box;margin:0;padding:0;cursor:none!important}body{font-family:var(--font-body);background-color:var(--bg-color);color:var(--text-color);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}.custom-cursor{pointer-events:none;z-index:9999;mix-blend-mode:difference;background-color:#fff;border-radius:50%;width:15px;height:15px;transition:width .2s,height .2s,background-color .2s;position:fixed;top:0;left:0;transform:translate(-50%,-50%)}.custom-cursor.hovering{background-color:#0000;border:2px solid #fff;width:40px;height:40px}.custom-cursor.portal-hover{background-color:#fff;border:none;justify-content:center;align-items:center;width:70px;height:70px;display:flex;box-shadow:0 10px 30px #00000080}.custom-cursor.portal-hover:after{content:attr(data-text);color:#000;letter-spacing:2px;text-transform:uppercase;font-size:11px;font-weight:800}.portal-fullscreen{background:#000;z-index:99999!important;border-radius:0!important;width:100vw!important;height:100vh!important;min-height:100vh!important;margin:0!important;position:fixed!important;top:0!important;left:0!important}#canvas-container{z-index:0;width:100vw;height:100vh;position:fixed;top:0;left:0}.container{z-index:10;pointer-events:none;background-color:#0000;width:100%;position:relative}.content-wrapper{z-index:10;position:relative}a,button,.project-row{pointer-events:auto;color:inherit;text-decoration:none}a:visited{color:inherit}.navbar{z-index:100;pointer-events:none;justify-content:space-between;align-items:center;width:100%;padding:2rem 5vw;display:flex;position:fixed;top:0;left:0}.nav-link{font-family:var(--font-body);letter-spacing:.1em;text-transform:uppercase;color:var(--text-color);font-size:.875rem;font-weight:500;text-decoration:none;display:inline-block;position:relative}.nav-link:after{content:"";transform-origin:100%;background-color:currentColor;width:100%;height:1px;transition:transform .4s cubic-bezier(.76,0,.24,1);position:absolute;bottom:-6px;left:0;transform:scaleX(0)}.nav-link:hover:after{transform-origin:0;transform:scaleX(1)}.nav-logo,.nav-link{font-family:var(--font-body);text-transform:uppercase;letter-spacing:.1em;pointer-events:auto;font-size:1rem;font-weight:600}.mask-container{display:inline-block;overflow:hidden}.huge-title{font-family:var(--font-display);letter-spacing:-.04em;text-transform:uppercase;color:var(--text-color);margin:0;font-size:clamp(4rem,12vw,15rem);font-weight:700;line-height:.9}.section-title{font-family:var(--font-serif);letter-spacing:-.01em;text-transform:none;border-bottom:1px solid var(--accent-color);color:var(--text-color);margin-bottom:4rem;padding-bottom:2rem;font-size:clamp(3rem,10vw,9rem);font-style:italic;font-weight:500}.body-text{font-family:var(--font-modern);max-width:1200px;color:var(--text-color);font-size:clamp(1.5rem,3vw,3rem);line-height:1.3}.hero{flex-direction:column;justify-content:flex-end;height:100vh;padding:5vw;display:flex}.hero-bottom{justify-content:space-between;align-items:flex-end;margin-bottom:2vh;display:flex}.hero-sub{color:#555;max-width:400px;font-size:1.25rem;line-height:1.5}.about{padding:20vh 5vw}.projects{padding:10vh 0}.project-row{border-bottom:1px solid var(--accent-color);color:var(--text-color);cursor:none;justify-content:space-between;align-items:center;padding:3rem 5vw;text-decoration:none;transition:background-color .4s;display:flex;position:relative}.project-row:hover{background-color:#00000008}.project-row-title{font-family:var(--font-display);pointer-events:none;font-size:clamp(2rem,5vw,5rem);font-weight:500}.project-row-category{font-family:var(--font-body);text-transform:uppercase;letter-spacing:.1em;color:#666;pointer-events:none;font-size:1rem}.project-modal{z-index:200;-webkit-overflow-scrolling:touch;pointer-events:auto;background-color:#f9f9f9;flex-direction:column;width:100vw;height:100vh;padding:5vw;display:flex;position:fixed;top:0;left:0;overflow-y:auto}.modal-header{justify-content:space-between;align-items:center;margin-bottom:5vh;display:flex}.modal-close{font-family:var(--font-body);text-transform:uppercase;letter-spacing:.1em;background:0 0;border:none;font-size:1rem;font-weight:600}.modal-content{grid-template-columns:1fr 1fr;gap:5vw;margin-bottom:10vh;display:grid}.modal-title{font-family:var(--font-display);margin-bottom:2rem;font-size:clamp(3rem,8vw,8rem);line-height:.9}.modal-desc{font-family:var(--font-body);color:#333;font-size:1.5rem;line-height:1.5}.modal-image-placeholder{aspect-ratio:16/10;background-color:#e5e5e5;border-radius:4px;width:100%}.modal-btn{font-family:var(--font-body);text-transform:uppercase;letter-spacing:.1em;background-color:#000;border-radius:4px;margin-top:2rem;padding:1.5rem 3rem;transition:transform .2s;display:inline-block;color:#fff!important}.modal-btn:hover{transform:translateY(-5px)}.footer-wrapper{z-index:20;width:100%;color:var(--text-color);pointer-events:auto;background-color:#0000;flex-direction:column;justify-content:space-between;display:flex;position:relative}.contact-section{text-align:center;color:#fff;background-color:#000;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:10vh 5vw;display:flex}.contact-title{font-family:var(--font-display);color:#fff;margin-bottom:2rem;font-size:clamp(4rem,10vw,12rem);line-height:.9}.premium-form{flex-direction:column;gap:3rem;width:100%;display:flex}.premium-input{width:100%;font-family:var(--font-body);color:#fff;background:0 0;border:none;border-bottom:1px solid #333;outline:none;padding:1rem 0;font-size:clamp(1.2rem,2vw,2rem);transition:border-color .3s}.premium-input:focus{border-bottom-color:#fff}.premium-input::placeholder{color:#a0a0a0;text-transform:uppercase;font-weight:300}.premium-submit{font-family:var(--font-body);text-transform:uppercase;letter-spacing:.1em;cursor:none;color:#000;background:#fff;border:none;border-radius:4px;align-self:flex-start;margin-top:2rem;padding:1rem 3rem;font-size:.875rem;font-weight:600;transition:transform .3s,box-shadow .3s}.premium-submit:hover{transform:translateY(-2px);box-shadow:0 10px 20px #ffffff1a}.email-link{font-family:var(--font-display);color:#fff;z-index:10;letter-spacing:-.01em;margin-top:2rem;font-size:clamp(2rem,5vw,5rem);font-weight:500;text-decoration:none;display:inline-block;position:relative}.email-link:after{content:"";transform-origin:100%;background-color:#fff;width:100%;height:2px;transition:transform .6s cubic-bezier(.76,0,.24,1);position:absolute;bottom:-4px;left:0;transform:scaleX(0)}.email-link:hover:after{transform-origin:0;transform:scaleX(1)}.footer{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:5vh 5vw;display:flex}.footer-quote{font-size:clamp(2rem,4vw,4rem);font-family:var(--font-display);max-width:1200px;color:var(--text-color);margin-bottom:10vh;line-height:1.1}.canvas-fallback{width:100vw;height:100vh;font-family:var(--font-body);color:#666;text-transform:uppercase;letter-spacing:.1em;text-align:center;background-color:#f5f5f5;justify-content:center;align-items:center;padding:2rem;display:flex}.canvas-fallback-inline{width:100%;height:100%;font-family:var(--font-body);color:#666;text-transform:uppercase;letter-spacing:.1em;text-align:center;background-color:#f5f5f5;justify-content:center;align-items:center;padding:2rem;display:flex}.about-grid{grid-template-columns:1fr 1fr;align-items:center;gap:5vw;display:grid}.contact-grid{color:#fff;background-color:#000;flex:1;grid-template-columns:1fr 1fr;align-items:center;gap:4rem;width:100%;padding:15vh 5vw;display:grid}@media (width<=900px){.about-grid,.contact-grid{grid-template-columns:1fr;gap:8vh}.contact-grid{padding:10vh 5vw}.hero-bottom{flex-direction:column;align-items:flex-start;gap:2rem}.project-row{flex-direction:column;align-items:flex-start;gap:1rem;padding:2rem 5vw}.project-row-title{font-size:clamp(2rem,8vw,3rem)}.huge-title{font-size:clamp(2.5rem,12vw,5rem)}.contact-title{font-size:clamp(3rem,12vw,5rem)}.navbar{padding:1.5rem 5vw}.premium-submit{text-align:center;width:100%}.modal-content{grid-template-columns:1fr;gap:2rem}.hero{justify-content:center;height:auto;min-height:85vh;padding-top:20vh}}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}
