:root{--bg-color: #000000;--text-color: #ffffff;--accent-color: #1a1a1a;--font-main: "Inter", sans-serif}*{margin:0;padding:0;box-sizing:border-box;cursor:none}body{background-color:var(--bg-color);color:var(--text-color);font-family:var(--font-main);line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased}.cursor{position:fixed;width:20px;height:20px;border:1px solid white;border-radius:50%;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);transition:transform .1s ease,width .3s ease,height .3s ease;mix-blend-mode:difference}.cursor.hovered{width:50px;height:50px;background:#fff;border-color:#fff;mix-blend-mode:difference}.site-header{position:fixed;top:0;width:100%;padding:2rem 5%;display:flex;justify-content:space-between;align-items:center;z-index:1000;background:linear-gradient(to bottom,rgba(0,0,0,.9),transparent)}.logo{font-weight:800;font-size:1.5rem;letter-spacing:-.05em;text-transform:uppercase}nav a{color:var(--text-color);text-decoration:none;margin-left:2rem;font-weight:500;font-size:.9rem;transition:opacity .3s ease;position:relative}nav a:after{content:"";position:absolute;width:0;height:1px;bottom:-5px;left:0;background-color:#fff;transition:width .3s ease}nav a:hover:after{width:100%}.hero{height:100vh;position:relative;display:flex;flex-direction:column;justify-content:center;padding:0 5%;overflow:hidden}.hero-bg{position:absolute;top:0;left:0;width:100%;height:120%;background:url(/images/hero-bg.png) no-repeat center center/cover;opacity:.3;z-index:-1;filter:grayscale(100%)}.hero-content{position:relative;z-index:1}.hero h1{font-size:5rem;line-height:1.1;font-weight:800;margin-bottom:2rem;letter-spacing:-.03em}.subtitle{font-size:1.5rem;color:#ccc;max-width:600px}.services{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;padding:10rem 5%;border-top:1px solid var(--accent-color)}.service-card{padding:2rem;border:1px solid transparent;transition:border-color .3s ease}.service-card:hover{border-color:#333}.service-card h2{font-size:.9rem;color:#555;margin-bottom:1rem}.service-card h3{font-size:2rem;margin-bottom:1rem;font-weight:600}.service-card p{color:#aaa}.featured{padding:5rem 5%}.featured-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:2rem}.work-item{position:relative;overflow:hidden;grid-column:span 4;aspect-ratio:3/4;cursor:none}.work-item:nth-child(2){margin-top:5rem}.work-item img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.25,.46,.45,.94),filter .6s ease;filter:grayscale(100%)}.work-item:hover img{transform:scale(1.05);filter:grayscale(0%)}.work-info{position:absolute;bottom:0;left:0;width:100%;padding:1.5rem;background:linear-gradient(to top,rgba(0,0,0,.8),transparent);transform:translateY(100%);transition:transform .4s ease}.work-item:hover .work-info{transform:translateY(0)}.work-info h3{font-size:1.2rem;font-weight:600}.work-info p{font-size:.8rem;color:#aaa;text-transform:uppercase;letter-spacing:.1em}.about{padding:10rem 5%;background:var(--accent-color)}.about-content h2{font-size:4rem;margin-bottom:2rem;letter-spacing:-.05em}.about-content p{font-size:1.5rem;max-width:800px;color:#ddd}.contact{height:80vh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:0 5%}.contact h2{font-size:6rem;margin-bottom:3rem;letter-spacing:-.05em}.cta-btn{display:inline-block;padding:1rem 3rem;background:var(--text-color);color:var(--bg-color);text-decoration:none;font-weight:600;font-size:1.2rem;border-radius:50px;transition:transform .3s ease}.cta-btn:hover{transform:scale(1.05);background:#eee}footer{padding:2rem 5%;border-top:1px solid var(--accent-color);text-align:center;color:#666;font-size:.8rem}.reveal{opacity:0;transform:translateY(50px);transition:opacity 1s ease,transform 1s ease}.reveal.active{opacity:1;transform:translateY(0)}@media(max-width:1024px){.hero h1{font-size:4rem}.work-item{grid-column:span 6}}@media(max-width:768px){.hero h1,.contact h2{font-size:3rem}.work-item{grid-column:span 12;margin-top:0!important}.featured-grid{display:flex;flex-direction:column;gap:4rem}.site-header{padding:1.5rem 5%}nav a{margin-left:1rem;font-size:.8rem}.cursor{display:none}*{cursor:auto}}
