/* Global Styles */ .container { min-height: 100vh; display: flex; flex-direction: column; font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif; color: #333; line-height: 1.6; } /* Section Styling */ .section { padding: 5rem 1.5rem; max-width: 1200px; margin: 0 auto; width: 100%; } .sectionTitle { font-size: 2.5rem; font-weight: 700; text-align: center; margin-bottom: 3rem; color: #1a1a1a; } /* Hero Section */ .hero { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); color: white; padding: 8rem 1.5rem; text-align: center; position: relative; overflow: hidden; } .heroContent { max-width: 800px; margin: 0 auto; position: relative; z-index: 2; } .hero h1 { font-size: 3rem; font-weight: 800; margin-bottom: 1.5rem; line-height: 1.2; } .subtitle { font-size: 1.5rem; margin-bottom: 2.5rem; opacity: 0.9; } /* CTA Button */ .ctaButton { display: inline-flex; align-items: center; background: white; color: #667eea; padding: 1rem 2rem; border-radius: 50px; font-weight: 600; text-decoration: none; transition: all 0.3s ease; box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); } .ctaButton:hover { transform: translateY(-3px); box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15); } .ctaButton svg { margin-left: 0.5rem; transition: transform 0.3s ease; } .ctaButton:hover svg { transform: translateX(3px); } /* Services Grid */ .servicesGrid { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 2rem; margin-top: 3rem; } .serviceCard { background: white; border-radius: 12px; padding: 2rem; box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05); transition: all 0.3s ease; text-align: center; } .serviceCard:hover { transform: translateY(-5px); box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1); } .serviceIcon { font-size: 2.5rem; color: #667eea; margin-bottom: 1.5rem; } .serviceCard h3 { font-size: 1.5rem; margin-bottom: 1rem; color: #1a1a1a; } /* Portfolio Grid */ .portfolioGrid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 2rem; margin-top: 3rem; } .projectCard { border-radius: 12px; overflow: hidden; box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05); transition: all 0.3s ease; } .projectCard:hover { transform: translateY(-5px); box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1); } .projectImage { height: 200px; background-size: cover; background-position: center; } .projectContent { padding: 1.5rem; background: white; } .projectContent h3 { font-size: 1.25rem; margin-bottom: 0.5rem; color: #1a1a1a; } /* Testimonials */ .testimonialsGrid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 2rem; margin-top: 3rem; } .testimonialCard { background: white; border-radius: 12px; padding: 2rem; box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05); } .testimonialText { font-style: italic; margin-bottom: 1.5rem; color: #555; } .testimonialAuthor { display: flex; align-items: center; } .testimonialAuthor img { width: 50px; height: 50px; border-radius: 50%; margin-right: 1rem; object-fit: cover; } .testimonialAuthor h4 { font-size: 1rem; margin-bottom: 0.25rem; color: #1a1a1a; } .testimonialAuthor p { font-size: 0.875rem; color: #666; } /* Contact Form */ .contactContainer { max-width: 600px; margin: 0 auto; } .contactForm { background: white; border-radius: 12px; padding: 2rem; box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05); } .formGroup { margin-bottom: 1.5rem; } .formGroup label { display: block; margin-bottom: 0.5rem; font-weight: 500; color: #1a1a1a; } .inputWithIcon { position: relative; } .inputWithIcon svg { position: absolute; left: 1rem; top: 50%; transform: translateY(-50%); color: #667eea; } .inputWithIcon input, .inputWithIcon textarea { width: 100%; padding: 0.75rem 1rem 0.75rem 3rem; border: 1px solid #ddd; border-radius: 8px; font-family: inherit; transition: border-color 0.3s ease; } .inputWithIcon textarea { padding-left: 3rem; resize: vertical; } .inputWithIcon input:focus, .inputWithIcon textarea:focus { outline: none; border-color: #667eea; } .submitButton { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); color: white; border: none; padding: 1rem 2rem; border-radius: 8px; font-weight: 600; cursor: pointer; transition: all 0.3s ease; width: 100%; } .submitButton:hover { transform: translateY(-2px); box-shadow: 0 4px 8px rgba(102, 126, 234, 0.3); } /* Footer */ .footer { background: #1a1a1a; color: white; padding: 4rem 1.5rem 2rem; margin-top: auto; } .footerContent { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 3rem; } .footerAbout h3 { font-size: 1.5rem; margin-bottom: 1rem; } .footerLinks h4, .footerContact h4 { font-size: 1.25rem; margin-bottom: 1.5rem; } .footerLinks ul { list-style: none; padding: 0; } .footerLinks li { margin-bottom: 0.75rem; } .footerLinks a { color: #ccc; text-decoration: none; transition: color 0.3s ease; } .footerLinks a:hover { color: white; } .footerBottom { max-width: 1200px; margin: 3rem auto 0; padding-top: 2rem; border-top: 1px solid #333; text-align: center; color: #999; font-size: 0.875rem; } /* Responsive Adjustments */ @media (max-width: 768px) { .hero h1 { font-size: 2.25rem; } .subtitle { font-size: 1.25rem; } .section { padding: 3rem 1.5rem; } .sectionTitle { font-size: 2rem; } } @media (max-width: 480px) { .hero { padding: 6rem 1.5rem; } .hero h1 { font-size: 2rem; } .ctaButton { padding: 0.75rem 1.5rem; } }