:root{--bg-primary: #000000;--bg-secondary: #1A1A1A;--text-primary: #F5F5F5;--accent: #C9C9C9;--font-heading: "Playfair Display", serif;--font-body: "Inter", sans-serif;--letter-spacing-wide: .2em;--font-weight-light: 300;--transition-slow: .6s ease-out;--transition-medium: .4s ease-out}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-body);font-weight:var(--font-weight-light);background-color:var(--bg-primary);color:var(--text-primary);line-height:1.6;overflow-x:hidden}body:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:9999;opacity:.03;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E")}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);font-weight:400}a{color:var(--text-primary);text-decoration:none;transition:color var(--transition-medium)}a:hover{color:var(--accent)}button{font-family:var(--font-body);font-weight:var(--font-weight-light);cursor:pointer;border:none;background:none}img{max-width:100%;height:auto;filter:grayscale(1) contrast(1.2)}.container{max-width:1400px;margin:0 auto;padding:0 2rem}.section{padding:8rem 0}@media(max-width:768px){.section{padding:5rem 0}.container{padding:0 1.5rem}}.text-center{text-align:center}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes letterFadeIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.fade-in{opacity:0;animation:fadeIn var(--transition-slow) forwards}.slide-up{opacity:0;animation:slideUp var(--transition-slow) forwards}.delay-1{animation-delay:.1s}.delay-2{animation-delay:.2s}.delay-3{animation-delay:.3s}.delay-4{animation-delay:.4s}.delay-5{animation-delay:.5s}.delay-6{animation-delay:.6s}.delay-7{animation-delay:.7s}.delay-8{animation-delay:.8s}.animate-on-scroll{opacity:0;transform:translateY(10px);transition:opacity var(--transition-slow),transform var(--transition-slow)}.animate-on-scroll.visible{opacity:1;transform:translateY(0)}.letter-animate span{display:inline-block;opacity:0;animation:letterFadeIn .4s ease-out forwards}@keyframes lineReveal{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.line-reveal{transform:scaleX(0);transform-origin:left;animation:lineReveal .8s ease-out forwards}.nav{position:fixed;top:0;left:0;right:0;z-index:1000;padding:2rem 3rem;display:flex;justify-content:space-between;align-items:center;background:transparent;transition:background var(--transition-medium),padding var(--transition-medium)}.nav.scrolled{background:#000000f2;padding:1.5rem 3rem}.nav-logo{font-family:var(--font-heading);font-size:1.25rem;letter-spacing:var(--letter-spacing-wide);text-transform:uppercase;position:relative;z-index:1002;color:var(--text-primary)}.nav-links{display:flex;gap:3rem;list-style:none;margin:0;padding:0}.nav-link{font-size:.75rem;letter-spacing:.15em;text-transform:uppercase;position:relative;display:block}.nav-link:after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:1px;background:var(--text-primary);transition:width var(--transition-medium)}.nav-link:hover:after{width:100%}.nav-toggle{display:none;flex-direction:column;justify-content:space-between;width:30px;height:20px;background:transparent;border:none;cursor:pointer;z-index:1002;padding:0}.nav-toggle span{width:100%;height:2px;background-color:var(--text-primary);transition:all var(--transition-medium)}@media(max-width:768px){.nav{padding:1.5rem 2rem}.nav.scrolled{padding:1.25rem 2rem}.nav-toggle{display:flex}.nav-links{position:fixed;top:0;left:0;width:100%;height:100vh;background-color:var(--bg-primary);flex-direction:column;justify-content:center;align-items:center;gap:2.5rem;transform:translateY(-100%);transition:transform var(--transition-medium);z-index:1001}.nav.nav-open .nav-links{transform:translateY(0)}.nav-link{font-size:1.5rem;font-family:var(--font-heading)}.nav.nav-open .nav-toggle span:nth-child(1){transform:translateY(9px) rotate(45deg)}.nav.nav-open .nav-toggle span:nth-child(2){opacity:0}.nav.nav-open .nav-toggle span:nth-child(3){transform:translateY(-9px) rotate(-45deg)}}.btn{display:inline-block;padding:1rem 2rem;font-size:.75rem;letter-spacing:.15em;text-transform:uppercase;border:1px solid var(--text-primary);background:transparent;color:var(--text-primary);cursor:pointer;transition:all var(--transition-medium)}.btn:hover{background:var(--text-primary);color:var(--bg-primary)}.btn-arrow{margin-left:.5rem;transition:transform var(--transition-medium)}.btn:hover .btn-arrow{transform:translate(4px)}.form-group{margin-bottom:2rem}.form-label{display:block;font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;margin-bottom:.75rem;color:var(--accent)}.form-input,.form-textarea,.form-select{width:100%;padding:1rem;font-family:var(--font-body);font-size:1rem;font-weight:var(--font-weight-light);background:var(--bg-secondary);border:1px solid transparent;color:var(--text-primary);transition:border-color var(--transition-medium)}.form-input:focus,.form-textarea:focus,.form-select:focus{outline:none;border-color:var(--accent)}.form-textarea{min-height:150px;resize:vertical}.form-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23F5F5F5' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;cursor:pointer}.form-select option{background:var(--bg-primary);color:var(--text-primary)}.footer{padding:4rem 0;border-top:1px solid var(--bg-secondary);text-align:center}.footer-text{font-size:.75rem;letter-spacing:.1em;color:var(--accent)}.hero{min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:2rem}.hero-title{font-size:clamp(3rem,10vw,8rem);margin-bottom:.5rem;letter-spacing:.3em}.hero-subtitle{font-family:var(--font-heading);font-size:clamp(.875rem,2vw,1.25rem);letter-spacing:.3em;text-transform:uppercase;margin-bottom:3rem;color:var(--accent)}.hero-tagline{font-size:.875rem;letter-spacing:.1em;color:var(--accent)}.intro{padding:10rem 2rem;text-align:center}.intro-text{max-width:600px;margin:0 auto;font-size:clamp(1.5rem,3vw,2.5rem);line-height:1.4;font-weight:var(--font-weight-light)}.services-preview{padding:8rem 2rem}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;max-width:1000px;margin:0 auto}.service-item{text-align:center;padding:3rem 1rem;cursor:pointer;transition:transform var(--transition-medium)}.service-item:hover{transform:translate(-5px)}.service-title{font-size:.875rem;letter-spacing:.2em;position:relative;display:inline-block}.service-title:after{content:"";position:absolute;bottom:-8px;left:0;width:0;height:1px;background:var(--text-primary);transition:width var(--transition-medium)}.service-item:hover .service-title:after{width:100%}.featured-work{padding:0}.work-item{position:relative;width:100%;height:100vh;overflow:hidden}.work-image{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.2)}.work-overlay{position:absolute;bottom:4rem;left:4rem;z-index:10}.work-label{font-size:.7rem;letter-spacing:.15em;color:var(--accent);margin-bottom:.25rem}.work-title{font-size:1.5rem;letter-spacing:.2em}.cta{padding:12rem 2rem;text-align:center}.cta-text{font-family:var(--font-heading);font-size:clamp(1.5rem,3vw,2rem);letter-spacing:.2em;text-transform:uppercase;margin-bottom:4rem}@media(max-width:1024px){.hero-title{font-size:clamp(2.5rem,8vw,6rem)}}@media(max-width:768px){.hero{padding:6rem 1.5rem 2rem;min-height:auto;padding-top:30vh;padding-bottom:20vh}.services-grid{grid-template-columns:1fr;gap:0}.service-item{padding:2rem 1rem;border-bottom:1px solid rgba(255,255,255,.1)}.service-item:last-child{border-bottom:none}.service-item:hover{transform:translate(5px)}.work-item{height:70vh}.work-overlay{left:1.5rem;bottom:2.5rem}.intro{padding:6rem 1.5rem}.cta{padding:8rem 1.5rem}}
