/* Base Styles */ :root { --primary-color: #000000; --secondary-color: #ffffff; --accent-color: #ff0000; --text-color: #333333; --light-gray: #f5f5f5; } body { font-family: 'Helvetica Neue', Arial, sans-serif; margin: 0; padding: 0; color: var(--text-color); line-height: 1.6; } .container { width: 90%; max-width: 1200px; margin: 0 auto; padding: 2rem 0; } /* Typography */ h1, h2, h3, h4, h5, h6 { font-weight: 700; margin: 0 0 1rem 0; } h1 { font-size: 3rem; text-transform: uppercase; } h2 { font-size: 2rem; text-transform: uppercase; margin-bottom: 2rem; text-align: center; } p { margin-bottom: 1.5rem; } /* Buttons */ .btn { display: inline-block; padding: 0.8rem 2rem; background-color: var(--primary-color); color: var(--secondary-color); text-decoration: none; border: none; cursor: pointer; transition: all 0.3s ease; text-transform: uppercase; font-weight: 600; letter-spacing: 1px; } .btn:hover { background-color: var(--accent-color); color: var(--secondary-color); } /* Hero Section */ .hero { height: 100vh; background: url('http://static.photos/black/1200x630/1') no-repeat center center/cover; position: relative; display: flex; align-items: center; justify-content: center; color: var(--secondary-color); text-align: center; } .hero-content { z-index: 2; } .hero::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.5); } /* About Section */ .about { padding: 4rem 0; text-align: center; } /* Portfolio Section */ .portfolio { background-color: var(--light-gray); padding: 4rem 0; } .portfolio-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 1.5rem; margin-bottom: 2rem; } .portfolio-item { position: relative; overflow: hidden; aspect-ratio: 16/9; } .portfolio-item img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.3s ease; } .portfolio-overlay { position: absolute; bottom: 0; left: 0; right: 0; background-color: rgba(0, 0, 0, 0.7); color: white; padding: 1rem; transform: translateY(100%); transition: transform 0.3s ease; } .portfolio-item:hover .portfolio-overlay { transform: translateY(0); } .portfolio-item:hover img { transform: scale(1.05); } /* Services Section */ .services { padding: 4rem 0; } .services-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 2rem; } .service-card { text-align: center; padding: 2rem; border: 1px solid #eee; transition: all 0.3s ease; } .service-card:hover { box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1); } .service-card i { font-size: 2.5rem; margin-bottom: 1rem; color: var(--accent-color); } /* Contact Section */ .contact { background-color: var(--light-gray); padding: 4rem 0; } .contact form { max-width: 600px; margin: 0 auto; display: grid; gap: 1rem; } .contact input, .contact textarea { width: 100%; padding: 0.8rem; border: 1px solid #ddd; } .contact textarea { min-height: 150px; } /* Responsive */ @media (max-width: 768px) { h1 { font-size: 2rem; } h2 { font-size: 1.5rem; } .portfolio-grid, .services-grid { grid-template-columns: 1fr; } }