:root { --primary: #0066FF; --primary-dark: #0052CC; --secondary: #111827; --light: #F9FAFB; --dark: #111827; --gray: #6B7280; --light-gray: #E5E7EB; } /* Collage Styles */ .collage-container { padding: 0; margin: 0; background: #121212; } .collage-hero { display: grid; grid-template-columns: repeat(4, 1fr); grid-template-rows: repeat(3, 150px); gap: 8px; padding: 8px; } .collage-item { position: relative; background-size: cover; background-position: center; border-radius: 4px; overflow: hidden; transition: transform 0.3s ease; } .collage-item:hover { transform: scale(1.02); z-index: 1; } .collage-item.large { grid-column: span 2; grid-row: span 2; } .collage-item.wide { grid-column: span 2; } .collage-item.tall { grid-row: span 2; } .collage-content { position: absolute; bottom: 0; left: 0; right: 0; padding: 16px; background: linear-gradient(to top, rgba(0,0,0,0.8), transparent); color: white; } .collage-section-title { text-align: center; font-size: 2.5rem; color: white; margin: 2rem 0; } .collage-services { padding: 2rem; background: #121212; } .collage-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 16px; padding: 16px; } /* Base Styles */ body { font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif; line-height: 1.6; color: white; background: #121212; margin: 0; padding: 0; } /* Typography */ h1, h2, h3, h4 { font-weight: 700; line-height: 1.2; color: white; } h1 { font-size: 2.5rem; } h2 { font-size: 2rem; } h3 { font-size: 1.5rem; } /* Layout */ .container { width: 100%; max-width: 1280px; margin: 0 auto; padding: 0 1.5rem; } .section { padding: 6rem 0; } /* Buttons */ .btn { display: inline-flex; align-items: center; justify-content: center; padding: 0.75rem 1.5rem; border-radius: 4px; font-weight: 600; transition: all 0.2s ease; background: #333; color: white; border: none; } .btn:hover { background: #444; } .btn-primary { background: var(--primary); color: white; } .btn-primary:hover { background: var(--primary-dark); transform: translateY(-2px); } .btn-outline { border: 2px solid var(--primary); color: var(--primary); } .btn-outline:hover { background: var(--primary); color: white; } /* Cards */ .card { background: #1e1e1e; border-radius: 4px; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); overflow: hidden; transition: transform 0.3s ease, box-shadow 0.3s ease; border: 1px solid #333; } .card:hover { transform: translateY(-8px); box-shadow: 0 8px 30px rgba(0, 0, 0, 0.1); } /* Navigation */ .nav-link { position: relative; padding: 0.5rem 1rem; font-weight: 500; } .nav-link::after { content: ''; position: absolute; bottom: 0; left: 1rem; right: 1rem; height: 2px; background: var(--primary); transform: scaleX(0); transition: transform 0.3s ease; } .nav-link:hover::after { transform: scaleX(1); } /* Animations */ @keyframes fadeIn { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } } .fade-in { animation: fadeIn 0.6s ease forwards; } /* Grid */ .grid { display: grid; gap: 2rem; } .grid-cols-2 { grid-template-columns: repeat(2, 1fr); } .grid-cols-3 { grid-template-columns: repeat(3, 1fr); } @media (max-width: 1024px) { .grid-cols-3 { grid-template-columns: repeat(2, 1fr); } } @media (max-width: 640px) { .grid-cols-3 { grid-template-columns: 1fr; } } /* Testimonial Scroll */ .testimonial-scroll-container { position: relative; overflow: hidden; } .testimonial-track { scrollbar-width: none; -ms-overflow-style: none; display: flex; gap: 1.5rem; padding-bottom: 2.5rem; overflow-x: auto; } .testimonial-track::-webkit-scrollbar { display: none; } .testimonial-card { transition: transform 0.3s ease; cursor: grab; } .testimonial-card:active { cursor: grabbing; } .testimonial-card:hover { transform: translateY(-8px); } .line-clamp-4 { display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; } /* Utility Classes */ .text-primary { color: var(--primary); } .bg-primary { background: var(--primary); } .text-center { text-align: center; } .mb-1 { margin-bottom: 0.25rem; } .mb-2 { margin-bottom: 0.5rem; } .mb-4 { margin-bottom: 1rem; } .mb-8 { margin-bottom: 2rem; } .p-6 { padding: 1.5rem; }