/* --- GLOBAL COLOR SETTINGS (Yahan se puri site ka color badlo) --- */ :root { --primary: #d32f2f; /* Main Red Color */ --primary-dark: #b71c1c; /* Darker Red (Hover ke liye) */ --secondary: #0b132b; /* Dark Blue Theme Color */ --secondary-light: #1a237e; /* Lighter Blue */ --text-white: #ffffff; --text-grey: #cbd5e1; --bg-light: #f8fafc; } /* --- 1. HERO SECTION (Red & Blue Gradient) --- */ .hero { /* Background ab Variables se aa raha hai */ background: linear-gradient(135deg, var(--secondary) 0%, var(--primary) 100%); padding: 140px 0 100px; position: relative; overflow: hidden; } .hero-container { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 50px; position: relative; z-index: 2; } /* Left Side: Text */ .hero-text { flex: 1; min-width: 300px; color: var(--text-white); } .hero-text h1 { font-size: 3.8rem; font-weight: 800; line-height: 1.2; margin-bottom: 20px; color: var(--text-white); /* Text White rahega dark background par */ } .highlight { /* Yellowish Gold for contrast on Red/Blue bg */ color: #facc15; background: none; -webkit-text-fill-color: #facc15; } .hero-text p { font-size: 1.2rem; color: var(--text-grey); margin-bottom: 35px; max-width: 550px; line-height: 1.6; font-weight: 500; } /* Buttons using Variables */ .hero-btns { display: flex; gap: 15px; flex-wrap: wrap; } .btn-primary { background: var(--text-white); color: var(--primary); /* Text Red */ padding: 14px 35px; border-radius: 50px; font-weight: 700; box-shadow: 0 8px 20px rgba(0,0,0,0.3); transition: 0.3s; border: none; } .btn-primary:hover { transform: translateY(-3px); background: var(--bg-light); box-shadow: 0 12px 25px rgba(0,0,0,0.4); } .btn-secondary { background: transparent; color: var(--text-white); padding: 14px 35px; border-radius: 50px; font-weight: 700; border: 2px solid rgba(255,255,255,0.3); transition: 0.3s; } .btn-secondary:hover { border-color: var(--text-white); background: rgba(255,255,255,0.1); } /* Right Side: Image */ .hero-img-box { flex: 1; min-width: 300px; position: relative; display: flex; justify-content: center; } .hero-img-box img { width: 100%; max-width: 650px; border-radius: 20px; animation: float 4s ease-in-out infinite; box-shadow: 0 25px 50px rgba(0,0,0,0.3); border: 4px solid rgba(255,255,255,0.1); } @keyframes float { 0% { transform: translateY(0px); } 50% { transform: translateY(-20px); } 100% { transform: translateY(0px); } } /* Background Shapes (Using Variables) */ .shape { position: absolute; filter: blur(90px); z-index: 1; opacity: 0.4; } .shape-1 { width: 300px; height: 300px; background: var(--primary); top: -50px; right: -50px; border-radius: 50%; } .shape-2 { width: 400px; height: 400px; background: var(--secondary-light); bottom: -50px; left: -100px; border-radius: 50%; } /* --- 2. STATS SECTION --- */ .stats-section { background: var(--text-white); padding: 60px 0; box-shadow: 0 10px 30px rgba(0,0,0,0.05); position: relative; z-index: 5; } .stats-grid { display: flex; justify-content: space-around; flex-wrap: wrap; text-align: center; gap: 30px; } .stat-box i { font-size: 3rem; margin-bottom: 15px; /* Gradient Icon using Variables */ background: -webkit-linear-gradient(45deg, var(--secondary), var(--primary)); -webkit-background-clip: text; -webkit-text-fill-color: transparent; } .stat-box h3 { font-size: 3rem; font-weight: 800; color: var(--secondary); } .stat-box p { font-size: 1.1rem; color: #64748b; font-weight: 600; } /* --- 3. ABOUT SECTION (Running Border with Variables) --- */ .about-container { display: flex; flex-wrap:wrap; gap:60px; align-items:center; } .about-text { flex:1; } .about-btns { margin-top: 30px; display: flex; gap: 15px; } /* About Buttons using Variables */ .btn-about-primary { background: linear-gradient(90deg, var(--primary), var(--primary-dark)); color: #fff; padding: 14px 35px; border-radius: 50px; font-weight: 700; border: none; transition: 0.3s; } .btn-about-secondary { border: 2px solid var(--primary); color: var(--primary); padding: 14px 35px; border-radius: 50px; font-weight: 700; background: transparent; transition: 0.3s; } .btn-about-secondary:hover { background: var(--primary); color: #fff; } .about-img-wrapper { flex: 1; position: relative; display: flex; justify-content: center; align-items: center; padding: 10px; } /* Running Border Box */ .running-border-box { position: relative; padding: 6px; border-radius: 30% 70% 70% 30% / 30% 30% 70% 70%; background: #fff; overflow: hidden; box-shadow: 0 20px 40px rgba(0,0,0,0.1); } .running-border-box::before { content: ''; position: absolute; top: -50%; left: -50%; width: 200%; height: 200%; /* Gradient using Variables */ background: conic-gradient(transparent, transparent, transparent, var(--primary), var(--secondary)); animation: run-border 4s linear infinite; } .about-blob-img { display: block; width: 100%; max-width: 500px; height: auto; border-radius: 30% 70% 70% 30% / 30% 30% 70% 70%; position: relative; z-index: 1; background: #fff; border: 4px solid #fff; } @keyframes run-border { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } /* --- COMMON STYLES --- */ .section { padding: 100px 0; } .section-title { font-size: 2.8rem; font-weight: 800; color: var(--secondary); margin-bottom: 20px; position: relative; display: inline-block; } .section-title::after { content: ''; position: absolute; width: 60px; height: 4px; background: var(--primary); bottom: -10px; left: 0; border-radius: 2px; } .text-center .section-title::after { left: 50%; transform: translateX(-50%); } .sub-heading { color: var(--primary); font-weight: 700; letter-spacing: 3px; font-size: 14px; margin-bottom: 15px; display: block; text-transform: uppercase; } .bg-light { background: var(--bg-light); } .bg-dark-section { background: var(--secondary); color: #fff; } /* Services */ .services-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 30px; } .service-card { background: #fff; padding: 40px 30px; border-radius: 20px; box-shadow: 0 15px 40px rgba(0,0,0,0.08); transition: 0.3s; border: 1px solid rgba(0,0,0,0.05); position: relative; overflow: hidden; } .service-card:hover { transform: translateY(-10px); box-shadow: 0 25px 50px rgba(211, 47, 47, 0.15); border-color: rgba(211,47,47,0.3); } .service-card::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 5px; background: linear-gradient(90deg, var(--primary), var(--secondary)); transform: scaleX(0); transform-origin: left; transition: 0.4s; } .service-card:hover::before { transform: scaleX(1); } .icon-box { width: 80px; height: 80px; background: rgba(211, 47, 47, 0.08); /* Transparent Red */ color: var(--primary); display: flex; align-items: center; justify-content: center; border-radius: 50%; font-size: 32px; margin-bottom: 25px; transition: 0.3s; } .service-card:hover .icon-box { background: var(--primary); color: #fff; box-shadow: 0 10px 20px rgba(211, 47, 47, 0.3); } /* Projects */ .projects-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 40px; } .project-card { border-radius: 20px; overflow: hidden; background: #fff; box-shadow: 0 15px 40px rgba(0,0,0,0.2); transition: 0.3s; } .project-card:hover { transform: translateY(-10px); } .card-img { height: 240px; overflow: hidden; } .card-img img { width: 100%; height: 100%; object-fit: cover; transition: 0.5s; } .project-card:hover img { transform: scale(1.1); } .card-info { padding: 25px; text-align: left; } .card-info h3 { color: var(--secondary); margin-bottom: 8px; font-size: 1.4rem; font-weight: 700; } .card-info p { color: var(--primary); font-weight: 600; font-size: 14px; text-transform: uppercase; letter-spacing: 1px; } /* Testimonials */ .testimonials-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 30px; } .testi-card { background: #fff; padding: 40px; border-radius: 20px; box-shadow: 0 15px 40px rgba(0,0,0,0.08); position: relative; } .testi-card::before { content: '\f10d'; font-family: 'Font Awesome 6 Free'; font-weight: 900; position: absolute; top: 20px; left: 20px; font-size: 40px; color: rgba(211, 47, 47, 0.1); } .testi-card p { font-style: italic; color: #555; font-size: 1.1rem; line-height: 1.6; margin-bottom: 25px; z-index: 2; position: relative; } .client-info img { width: 60px; height: 60px; border-radius: 50%; border: 3px solid var(--primary); } .client-info h5 { margin:0; font-size:18px; font-weight: 700; color: var(--secondary); } /* CTA Section */ .cta-section { background: linear-gradient(135deg, var(--secondary) 0%, var(--secondary-light) 100%); padding: 100px 0; text-align: center; color: #fff; } .cta-content h2 { font-size: 3rem; font-weight: 800; margin-bottom: 20px; } .btn-cta { background: var(--text-white); color: var(--primary); padding: 18px 45px; border-radius: 50px; font-weight: 800; text-transform: uppercase; margin-top: 30px; display: inline-block; transition: 0.3s; box-shadow: 0 10px 30px rgba(0,0,0,0.2); } .btn-cta:hover { transform: translateY(-5px); box-shadow: 0 15px 40px rgba(255,255,255,0.3); background: #f1f1f1; } /* Responsive */ @media (max-width: 992px) { .hero { padding: 100px 0 60px; } .hero-container { flex-direction: column-reverse; text-align: center; gap: 30px; } .hero-text h1 { font-size: 2.8rem; } .hero-btns { justify-content: center; } .hero-img-box { margin-bottom: 30px; } .about-container { flex-direction: column; text-align: center; } .section-title::after { left: 50%; transform: translateX(-50%); } .about-btns { justify-content: center; } .about-blob-img { max-width: 80%; } }