:root{--bg-color:#f8f6f2;--text-color:#000;--accent-blue:#06f;--font-main:"Neue Montreal",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--ease-expo:cubic-bezier(.19,1,.22,1);--grid-color:#0000000d}*{box-sizing:border-box;margin:0;padding:0}html,body{background-color:var(--bg-color);color:var(--text-color);font-family:var(--font-main);-webkit-font-smoothing:antialiased;line-height:1.1;overflow-x:hidden}input,textarea,[contenteditable]{cursor:text}a,button{cursor:pointer}body{transition:background-color 1.2s var(--ease-expo),color 1.2s var(--ease-expo)}body.dark-theme{--bg-color:#000;--text-color:#f8f6f2;--grid-color:#f8f6f21a}.noise-overlay{pointer-events:none;z-index:9999;opacity:.04;mix-blend-mode:multiply;background-image:url(https://grainy-gradients.vercel.app/noise.svg);position:fixed;inset:0}.grid-overlay{pointer-events:none;z-index:1;grid-template-columns:repeat(12,1fr);gap:20px;padding:0 40px;display:grid;position:fixed;inset:0}.grid-line{border-left:1px dotted var(--grid-color);height:100%}.grid-line:last-child{border-right:1px dotted var(--grid-color)}.custom-cursor-pro{background-color:var(--text-color);pointer-events:none;z-index:99999;mix-blend-mode:difference;will-change:transform;border-radius:50%;justify-content:center;align-items:center;width:14px;height:14px;transition:background-color .3s;position:fixed;top:0;left:0;transform:translate(-50%,-50%);opacity:1!important;visibility:visible!important;display:flex!important}.cursor-trail{border:1px solid var(--text-color);pointer-events:none;z-index:9999;border-radius:50%;width:40px;height:40px;position:fixed;top:0;left:0}.cursor-label{font-family:var(--font-main);text-transform:uppercase;white-space:nowrap;text-align:center;letter-spacing:.15em;pointer-events:none;color:#000;z-index:1;width:auto;min-width:100%;font-size:3px;font-weight:800;line-height:1;display:block;position:relative}h1{text-transform:none;letter-spacing:-.05em;width:100%;margin-bottom:2rem;margin-left:-.05em;font-size:clamp(3rem,8vw + 2rem,8rem);font-weight:500;line-height:.95;position:relative}.letter{transform-origin:50%;will-change:transform;display:inline-block;position:relative}.sub-label{letter-spacing:.15em;text-transform:uppercase;opacity:.5;font-size:clamp(.6rem,.8vw + .3rem,.85rem);font-weight:600}.hero-desc{opacity:.6;max-width:clamp(300px,40vw,500px);font-size:clamp(.9rem,1.2vw + .5rem,1.3rem);font-weight:400;line-height:1.5}.nav-container{z-index:1000;justify-content:space-between;align-items:center;display:flex;position:fixed;top:30px;left:40px;right:40px}.nav-links{gap:30px;display:flex}.nav-link{color:inherit;text-transform:uppercase;font-size:.8rem;font-weight:500;text-decoration:none;transition:opacity .3s}.nav-link:hover{opacity:.5}.nav-link-highlight{background:var(--text-color);color:var(--bg-color);border-radius:20px;padding:6px 15px}.project-list{z-index:2;width:100%;padding:0 40px;position:relative}.horizontal-scroll-section{min-height:100vh;margin-top:10vh;margin-bottom:10vh}.project-item-wrapper{border-top:1px solid var(--grid-color);position:relative;overflow:hidden}.project-item-wrapper:last-child{border-bottom:1px solid var(--grid-color)}.project-item{color:inherit;transition:all .5s var(--ease-expo);grid-template-columns:60px 2fr 1.5fr;align-items:center;padding:40px 0;text-decoration:none;display:grid;position:relative}.project-item .id{opacity:.4;font-family:monospace;font-size:.6rem;font-weight:600}.project-item .title{letter-spacing:-.04em;font-size:clamp(1.8rem,5vw + 1rem,4.5rem);font-weight:500;line-height:1}.project-item .category{text-transform:uppercase;opacity:.4;text-align:right;letter-spacing:.05em;font-size:.65rem;font-weight:600}.project-description{opacity:0;max-height:0;transition:all .5s var(--ease-expo);padding:0 60px;overflow:hidden}.project-description p{opacity:.7;max-width:600px;padding-bottom:30px;font-size:.95rem;line-height:1.7}.project-item-wrapper:hover .project-description{opacity:1;max-height:200px}.project-item-wrapper:hover .project-item{padding-bottom:20px}.about-section{z-index:2;padding:20vh 40px;position:relative}.about-description{letter-spacing:-.03em;max-width:clamp(300px,80vw,1200px);font-size:clamp(1.5rem,4vw + 1rem,2.8rem);font-weight:400;line-height:1.25}.interactive-grid-section{z-index:2;margin-top:10vh;margin-bottom:10vh;padding:20vh 40px;position:relative}.interactive-grid{grid-template-columns:repeat(12,1fr);gap:20px;display:grid}.grid-item{margin-bottom:80px;transition:opacity .8s,transform .1s linear;position:relative}.grid-item h4{text-transform:uppercase;opacity:.6;margin-top:15px;font-size:.8rem}.stack-layer{pointer-events:none;z-index:-1;opacity:0;transition:transform .6s var(--ease-expo),opacity .4s ease;position:absolute;inset:0}.grid-item:hover .stack-layer{opacity:.15}.bar-button{cursor:pointer;background:0 0;border:none;align-items:center;gap:15px;padding:10px 0;display:flex}.bar-line{background:var(--text-color);width:2px;height:40px;transition:height .6s var(--ease-expo),background .3s ease}.bar-label{letter-spacing:.2em;text-transform:uppercase;opacity:0;transition:all .6s var(--ease-expo);font-size:.65rem;font-weight:700;transform:translate(-10px)}.bar-button:hover .bar-line{width:40px;height:2px}.bar-button:hover .bar-label{opacity:1;transform:translate(0)}.span-4{grid-column:span 4}.span-6{grid-column:span 6}.span-8{grid-column:span 8}.span-12{grid-column:span 12}@media (max-width:768px){.span-4,.span-6,.span-8,.span-12{grid-column:span 12}}.contact-section{background:var(--text-color);color:var(--bg-color);z-index:10;flex-direction:column;align-items:center;margin-top:10vh;margin-bottom:10vh;padding:20vh 40px;display:flex;position:relative}.contact-title{letter-spacing:-.05em;text-align:center;margin-bottom:8vh;font-size:clamp(2.5rem,8vw + 2rem,8rem);line-height:.9}.contact-button-wrapper{margin-bottom:15vh}.contact-button-bar{cursor:pointer;color:var(--bg-color);will-change:transform;background:0 0;border:none;align-items:center;gap:20px;display:flex}.contact-button-bar .bar-line{background:var(--bg-color);will-change:width,height;width:2px;height:60px;transition:all .8s}.contact-button-bar .bar-label{letter-spacing:.3em;text-transform:uppercase;opacity:.4;will-change:opacity,letter-spacing;font-size:.8rem;font-weight:700;transition:all .8s}.contact-button-bar:hover .bar-line{width:60px;height:2px}.contact-button-bar:hover .bar-label{opacity:1;letter-spacing:.5em}.scroll-explore{align-items:center;gap:20px;display:flex;position:absolute;bottom:40px;left:40px}.scroll-line{background:var(--text-color);opacity:.3;width:60px;height:1px}.footer-info-grid{text-align:left;grid-template-columns:repeat(4,1fr);gap:40px;width:100%;display:grid}.footer-column{flex-direction:column;display:flex}.footer-social-link{color:inherit;text-transform:uppercase;opacity:.5;margin-bottom:10px;font-size:.8rem;font-weight:500;text-decoration:none;transition:opacity .3s;display:block}.footer-social-link:hover{opacity:1}@media (max-width:768px){.footer-info-grid{grid-template-columns:1fr 1fr;gap:30px}}.services-showcase{background-color:var(--bg-color);margin-top:10vh;margin-bottom:10vh;padding:20vh clamp(20px,4vw,40px);position:relative}.services-header{flex-direction:column;gap:2rem;margin-bottom:8rem;display:flex}.services-title{letter-spacing:-.02em;color:var(--text-color);margin:0;font-size:clamp(3rem,8vw,7rem);font-weight:400;line-height:1.1}.services-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,500px),1fr));gap:4rem 3rem;margin-bottom:10rem;display:grid}.services-miniatures-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:2rem;margin-bottom:6rem;display:grid}.service-card{color:var(--text-color);cursor:pointer;transition:transform .6s var(--ease-expo);flex-direction:column;gap:1.5rem;text-decoration:none;display:flex;position:relative}.service-card:hover{transform:translateY(-8px)}.service-miniature-card{color:var(--text-color);cursor:pointer;transition:transform .4s var(--ease-expo);background-color:#0000;border:1px solid #0000;border-radius:8px;flex-direction:column;gap:1rem;padding:1.5rem;text-decoration:none;display:flex;position:relative}.service-miniature-card:hover{background-color:#00000005;border-color:#0000001a;transform:translateY(-4px)}body.dark-theme .service-miniature-card:hover{background-color:#f8f6f205;border-color:#f8f6f21a}.service-number{letter-spacing:.1em;opacity:.5;text-transform:uppercase;font-size:.875rem;font-weight:500}.service-image-container{aspect-ratio:4/3;background-color:#0000000d;border-radius:8px;width:100%;position:relative;overflow:hidden}.service-image{object-fit:cover;object-position:center;width:100%;height:120%;transition:transform .6s var(--ease-expo);display:block}.service-miniature-image-container{aspect-ratio:16/9;background-color:#0000000d;border-radius:6px;width:100%;position:relative;overflow:hidden}.service-miniature-image{object-fit:cover;object-position:center;width:100%;height:100%;transition:transform .6s var(--ease-expo);display:block}.service-miniature-card:hover .service-miniature-image{transform:scale(1.05)}.service-miniature-number{letter-spacing:.1em;opacity:.4;text-transform:uppercase;font-size:.75rem;font-weight:500}.service-miniature-content{flex-direction:column;gap:.5rem;display:flex}.service-miniature-title{letter-spacing:-.01em;margin:0;font-size:clamp(1.25rem,2vw,1.5rem);font-weight:500;line-height:1.2}.service-miniature-subtitle{opacity:.6;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:clamp(.875rem,1.2vw,1rem);font-weight:400;line-height:1.4;display:-webkit-box;overflow:hidden}.service-content{flex-direction:column;gap:1rem;display:flex}.service-title{letter-spacing:-.01em;margin:0;font-size:clamp(1.75rem,3vw,2.5rem);font-weight:500;line-height:1.2}.service-subtitle{opacity:.7;margin:0;font-size:clamp(1rem,1.5vw,1.25rem);font-weight:400;line-height:1.4}.service-description{opacity:.6;margin:0;font-size:1rem;line-height:1.6}.service-cta{letter-spacing:.05em;text-transform:uppercase;opacity:0;transition:all .4s var(--ease-expo);align-items:center;gap:.75rem;margin-top:1rem;font-size:.875rem;font-weight:500;display:flex;transform:translate(-10px)}.service-card:hover .service-cta{opacity:1;transform:translate(0)}.service-cta svg{transition:transform .3s}.service-card:hover .service-cta svg{transform:translate(5px)}.services-footer{border-top:1px solid #0000001a;justify-content:center;padding-top:6rem;display:flex}.services-showcase .contact-button{color:var(--text-color);letter-spacing:-.01em;transition:transform .4s var(--ease-expo);flex-direction:column;align-items:center;gap:1rem;padding:2rem 4rem;font-size:1.25rem;font-weight:500;text-decoration:none;display:inline-flex;position:relative}.services-showcase .contact-button:hover{transform:scale(1.05)}.services-showcase .button-line{background-color:var(--text-color);transform-origin:0;width:100%;height:2px;transition:transform .6s var(--ease-expo)}.services-showcase .contact-button:hover .button-line{transform:scaleX(1.2)}body.dark-theme .service-image-container{background-color:#f8f6f20d}body.dark-theme .services-footer{border-top-color:#f8f6f21a}@media (max-width:768px){.services-showcase{padding:10vh 20px}.services-header{margin-bottom:4rem}.services-grid{gap:3rem 0}.services-miniatures-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:1.5rem}.service-card{gap:1rem}.service-miniature-card{padding:1rem}.service-cta{opacity:1;transform:translate(0)}.services-showcase .contact-button{padding:1.5rem 2rem;font-size:1rem}}@media (min-width:769px) and (max-width:1024px){.services-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1440px){.services-grid{grid-template-columns:repeat(2,1fr);gap:5rem 4rem}}
