@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&family=Space+Grotesk:wght@500;700&display=swap";:root{--bg-primary: #ffffff;--bg-secondary: #f3f4f6;--bg-accent: #e5e7eb;--text-primary: #111827;--text-secondary: #4b5563;--text-accent: #4f46e5;--primary-color: #4f46e5;--primary-hover: #4338ca;--border-color: #e5e7eb;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--shadow-xl: 0 25px 50px -12px rgb(0 0 0 / .25);--radius-md: .75rem;--radius-lg: 1.5rem;--radius-full: 9999px;--font-sans: "Inter", sans-serif;--font-heading: "Space Grotesk", sans-serif}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-sans);background-color:var(--bg-primary);color:var(--text-primary);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);letter-spacing:-.03em;color:var(--text-primary)}a{color:inherit;text-decoration:none;transition:color .2s ease}@keyframes fade-up{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes blur-in{0%{opacity:0;filter:blur(10px);transform:translateY(20px)}to{opacity:1;filter:blur(0);transform:translateY(0)}}.reveal-fade-up{opacity:0}.reveal-fade-up.is-visible{animation:blur-in .8s cubic-bezier(.2,.8,.2,1) forwards}button{font-family:inherit;border:none;background:none;cursor:pointer}.container{width:100%;max-width:1400px;margin:0 auto;padding:0 2rem}.section-padding{padding:8rem 0}@media(max-width:1024px){.hero-title{font-size:clamp(3.5rem,6vw,5rem)!important}.about-grid{grid-template-columns:1fr!important;gap:2rem!important}.contact-grid{grid-template-columns:1fr!important;gap:3rem!important}.projects-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))!important}}@media(max-width:900px){.hero-grid{grid-template-columns:1fr!important;text-align:center;gap:3rem!important}.hero-grid>div{align-items:center!important}.hero-title{font-size:clamp(3rem,10vw,4rem)!important}.hero-subtitle{font-size:clamp(1.5rem,6vw,2rem)!important;margin:0 auto}.hero-img-container{justify-content:center!important}.hero-img-container img{max-width:350px!important}}@media(max-width:768px){.section-padding{padding:5rem 0}.container{padding:0 1.5rem}.header-nav{padding:.5rem 1rem!important;gap:1rem!important}.header-nav ul{gap:.75rem!important}.about-grid{grid-template-columns:1fr!important;gap:1.5rem!important}.service-header-grid{grid-template-columns:30px 1fr 30px!important;gap:1rem!important;align-items:center!important}.service-header-grid h3{font-size:1.5rem!important}.service-content-grid{grid-template-columns:1fr!important}.service-content-grid>div:first-child,.service-content-grid>div:last-child{display:none!important}.projects-grid{display:flex!important;overflow-x:auto!important;scroll-snap-type:x mandatory;padding-bottom:2rem!important;-webkit-overflow-scrolling:touch;scroll-padding:0 1.5rem;gap:1.5rem!important;scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.2) transparent}.projects-grid::-webkit-scrollbar{height:6px}.projects-grid::-webkit-scrollbar-track{background:#0000000d;border-radius:4px}.projects-grid::-webkit-scrollbar-thumb{background:#0003;border-radius:4px}.projects-grid>div{min-width:80vw!important;scroll-snap-align:center;flex:0 0 auto}.modal-header-image{height:200px!important}.modal-content-area{padding:1.5rem!important}.modal-title{font-size:2rem!important}.contact-grid{grid-template-columns:1fr!important;gap:2rem!important}.contact-card{padding:2rem 1.5rem!important}.footer-content{flex-direction:column!important;text-align:center!important;justify-content:center!important}}@media(max-width:480px){.header-nav{flex-wrap:wrap;justify-content:center!important}.hero-title{font-size:2.5rem!important}.hero-subtitle,.contact-card h3{font-size:1.25rem!important}.hero-img-container img{max-width:250px!important}}.text-gradient{background:linear-gradient(to right,var(--primary-color),var(--secondary-color));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;color:transparent}@keyframes blink{0%,to{opacity:1}50%{opacity:.5}}.animate-blink{animation:blink 1.5s infinite ease-in-out}
