:root{
  --primary:#007bff; /* A shade of blue from the reference site */
  --dark:#343a40; /* Dark grey for text */
  --accent:#17a2b8; /* A teal/cyan accent color */
  --muted:#6c757d; /* Muted grey for secondary text */
  --bg:#f8f9fa; /* Light background */
  --card:#ffffff; /* White card background */
}
*{box-sizing:border-box}
body{font-family:Arial, sans-serif;margin:0;background:var(--bg);color:var(--dark);line-height:1.6}
.cctv-products{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-top:20px}
.product-card{background:var(--card);padding:20px;border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,0.08);border:1px solid rgba(0,0,0,0.05);text-align:center}
.product-card img{width:100%;height:150px;object-fit:cover;border-radius:8px;margin-bottom:15px}
.product-card p{color:var(--muted);font-size:15px}
.header{background:var(--dark);color:white;padding:12px 20px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;box-shadow:0 2px 8px rgba(0,0,0,0.1)}
.header .brand{display:flex;align-items:center;gap:10px}
.header img{height:48px;width:auto;border-radius:6px;background:white;padding:4px}
.header nav a{color:white;text-decoration:none;margin-left:15px;font-weight:600;padding:5px 0;transition:color 0.3s ease, transform 0.2s ease}
.header nav a:hover{color:var(--accent);transform:translateY(-2px)}
.hero{display:flex;gap:30px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:40px;background:linear-gradient(135deg, var(--primary), var(--accent));border-radius:15px;box-shadow:0 10px 30px rgba(0,0,0,0.15);color:white;animation:fadeIn 1s ease-out}
.hero .left{flex:1;min-width:300px}
.hero h1{margin:0;font-size:38px;color:white}
.hero p{color:rgba(255,255,255,0.9);margin-top:10px;font-size:17px}
.cta{margin-top:25px;display:flex;gap:15px;flex-wrap:wrap}
.btn{padding:12px 20px;border-radius:8px;text-decoration:none;display:inline-flex;gap:8px;align-items:center;font-weight:700;transition:background-color 0.3s ease, color 0.3s ease, transform 0.2s ease, box-shadow 0.2s ease}
.btn:hover{transform:translateY(-2px);box-shadow:0 4px 10px rgba(0,0,0,0.2)}
.btn-primary{background:white;color:var(--primary);border:2px solid white}
.btn-primary:hover{background:var(--dark);color:white;border-color:var(--dark)}
.btn-ghost{background:transparent;border:2px solid white;color:white}
.btn-ghost:hover{background:white;color:var(--primary)}
.hero .right{width:350px;min-width:280px;background:var(--card);padding:25px;border-radius:10px;box-shadow:0 5px 20px rgba(0,0,0,0.1);color:var(--dark)}
.hero .right h3{color:var(--primary);margin-top:0}
.hero .right p{color:var(--muted);font-size:15px}
.hero .right .btn{width:100%;justify-content:center;margin-top:10px}
.hero .right .btn-primary{background:var(--primary);color:white;border-color:var(--primary)}
.hero .right .btn-primary:hover{background:var(--dark);border-color:var(--dark)}
.services {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 20px;
  margin-top: 20px;
}
.services .card img {
  width: 100%;
  height: 150px;
  object-fit: cover;
  border-radius: 8px;
  margin-bottom: 15px;
}
.card{background:var(--card);padding:22px;border-radius:12px;box-shadow:0 8px 25px rgba(0,0,0,0.08);border:1px solid rgba(0,0,0,0.03);transition:transform 0.3s ease, box-shadow 0.3s ease}
.card:hover{transform:translateY(-8px);box-shadow:0 15px 40px rgba(0,0,0,0.2)}
.card h3{margin:0 0 10px 0;color:var(--primary);font-size:20px}
.card p{margin:0;color:var(--muted);font-size:15px}
.testimonial-grid, .process-steps {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 20px;
  margin-top: 20px;
}

.testimonials .card p {
  font-style: italic;
  color: var(--dark);
}

.testimonials .card h4 {
  text-align: right;
  color: var(--primary);
  margin-top: 15px;
}

.process .step-card h3 {
  color: var(--primary);
  font-size: 18px;
  margin-bottom: 10px;
}

.process .step-card p {
  color: var(--muted);
  font-size: 15px;
}

.testimonials, .process, .office-gallery {
  margin-top: 40px;
  background: var(--card);
  padding: 30px;
  border-radius: 15px;
  box-shadow: 0 8px 25px rgba(0,0,0,0.08);
}

.gallery-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 20px;
  margin-top: 20px;
}

.gallery-grid img {
  width: 100%;
  height: 200px;
  object-fit: cover;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.08);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.gallery-grid img:hover {
  transform: scale(1.03);
  box-shadow: 0 8px 20px rgba(0,0,0,0.15);
}
.about .col-md-6 img {
  max-width: 100%;
  height: auto;
  border-radius: 8px;
  margin-top: 20px;
}
.footer{background:var(--dark);color:#e9ecef;padding:25px;text-align:center;margin-top:40px;border-top:1px solid rgba(255,255,255,0.1)}
.fixed-whatsapp{position:fixed;right:25px;bottom:25px;background:linear-gradient(135deg,#25D366,#128C7E);color:white;padding:14px 18px;border-radius:999px;box-shadow:0 10px 30px rgba(36,123,90,0.25);text-decoration:none;font-weight:700;display:flex;align-items:center;gap:10px;font-size:16px;z-index:1000;transition:transform 0.3s ease, box-shadow 0.3s ease}
.fixed-whatsapp:hover{transform:scale(1.05) translateY(-5px);box-shadow:0 18px 45px rgba(36,123,90,0.4)}

@keyframes fadeIn {
  from { opacity: 0; transform: translateY(20px); }
  to { opacity: 1; transform: translateY(0); }
}

@media(max-width:768px){.contact-grid{grid-template-columns:1fr} .hero{padding:30px} .hero .right{width:100%} .header{padding:15px}}
.form{display:grid;gap:15px;margin-top:20px}
.form label{font-weight:600;color:var(--dark)}
.form input[type="text"], .form input[type="email"], .form textarea{width:100%;padding:12px;border:1px solid #ced4da;border-radius:8px;font-size:16px;transition:border-color 0.3s ease, box-shadow 0.3s ease}
.form input[type="text"]:focus, .form input[type="email"]:focus, .form textarea:focus{border-color:var(--primary);box-shadow:0 0 0 0.2rem rgba(0,123,255,0.25);outline:none}
.form button[type="submit"]{background:var(--primary);color:white;border:none;padding:12px 25px;border-radius:8px;font-size:18px;font-weight:700;cursor:pointer;transition:background-color 0.3s ease, transform 0.2s ease}
.form button[type="submit"]:hover{background:var(--dark);transform:translateY(-2px)}
.faq details{background:var(--card);border:1px solid rgba(0,0,0,0.05);border-radius:8px;margin-bottom:10px;box-shadow:0 2px 8px rgba(0,0,0,0.05)}
.faq summary{padding:18px 20px;font-weight:600;cursor:pointer;color:var(--primary);outline:none}
.faq summary:hover{background:rgba(0,123,255,0.05)}
.faq p{padding:10px 20px 15px;margin:0;color:var(--muted);font-size:15px;border-top:1px solid rgba(0,0,0,0.05)}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:20px}
.contact-grid h3{color:var(--primary);margin-top:0}
.contact-grid p{color:var(--muted);font-size:15px}
.contact-grid a{color:var(--primary);text-decoration:none}
.contact-grid a:hover{text-decoration:underline}
.contact-grid iframe{border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,0.05)}
.popup-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.8);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1000;
}

.popup-container {
    position: relative;
    background-color: white;
    padding: 20px;
    border-radius: 8px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
    max-width: 90%;
    max-height: 90%;
    overflow: auto;
}

.popup-container img {
    max-width: 100%;
    height: auto;
    display: block;
}

.popup-close {
    position: absolute;
    top: 10px;
    right: 20px;
    font-size: 30px;
    cursor: pointer;
    color: #333;
}

.popup-close:hover {
    color: #007bff;
}