:root{
  --primary: #E32227;
  --secondary: #0B1F3A;
  --accent: #FFC107;
  --font-family: 'Poppins', sans-serif;
  --heading-size: inherit;
  --heading-color: inherit;
  --para-size: inherit;
  --para-color: #555;
}
*{box-sizing:border-box;}
body{
  font-family: var(--font-family);
  color:#333;
  overflow-x:hidden;
  padding-bottom:62px; /* space for mobile bottom nav */
}
h1,h2,h3,h4,h5,h6{ font-family: var(--font-family); font-weight:700; color: var(--heading-color); }
h1{ font-size: var(--heading-size, 2.4rem); }
p{ font-size: var(--para-size, 1rem); color: var(--para-color, #555); }
a{ text-decoration:none; }
.btn-primary-custom{
  background:var(--primary); border:none; color:#fff; font-weight:600;
  padding:.75rem 1.75rem; border-radius:50px; display:inline-block; transition:.25s;
}
.btn-primary-custom:hover{ background:#c81b20; color:#fff; transform:translateY(-2px); }
.btn-outline-custom{
  border:2px solid var(--primary); color:var(--primary); font-weight:600;
  padding:.7rem 1.7rem; border-radius:50px; display:inline-block; background:#fff;
}
.section-tag{ color:var(--primary); font-weight:700; letter-spacing:1px; text-transform:uppercase; font-size:.85rem;}
.section-title{ font-weight:800; margin-bottom:.5rem; }
.section-title .accent{ color:var(--primary); }

/* Top bar */
.top-bar{ background:var(--secondary); color:#fff; font-size:.85rem; }
.top-bar a{ color:#fff; }
.social-ico{ margin-left:10px; color:#fff !important; }

/* Header */
.site-header{ background:#fff; box-shadow:0 2px 12px rgba(0,0,0,.08); z-index:1000; }
.main-menu .nav-link{ font-weight:600; color:var(--secondary) !important; padding:.6rem 1rem !important; }
.main-menu .nav-link:hover{ color:var(--primary) !important; }
.call-btn{
  width:42px;height:42px;border-radius:50%;background:var(--primary);color:#fff;
  display:inline-flex;align-items:center;justify-content:center;font-size:1.1rem;
}
.call-btn:hover{ color:#fff; background:#c81b20; }

/* Hero Slider */
.hero-slide{
  position:relative; height:var(--slider-h-desktop); background-size:var(--slider-fit); background-position:center; background-repeat:no-repeat;
  display:flex; align-items:center;
}
.hero-slide::before{
  content:''; position:absolute; inset:0;
  background:linear-gradient(90deg, rgba(11,31,58,.85) 0%, rgba(11,31,58,.35) 55%, rgba(11,31,58,.05) 100%);
}
.hero-slide .hero-content{ position:relative; z-index:2; color:#fff; max-width:640px; }
.hero-slide .hero-content .highlight{ color:var(--accent); }
.hero-badges{ display:flex; gap:1rem; flex-wrap:wrap; margin-top:1.5rem;}
.hero-badge{ display:flex; align-items:center; gap:.5rem; background:rgba(255,255,255,.12); padding:.5rem 1rem; border-radius:8px; font-size:.85rem; }
@media (max-width: 767px){
  .hero-slide{ height:var(--slider-h-mobile); }
  .hero-slide .hero-content{ max-width:100%; }
  .hero-slide .hero-content h1{ font-size:1.6rem; }
}

/* Popular Services grid (home) */
.popular-service-item{
  text-align:center; padding:1.2rem .5rem; border-radius:12px; background:#fff; box-shadow:0 4px 14px rgba(0,0,0,.06);
  transition:.25s; height:100%;
}
.popular-service-item:hover{ transform:translateY(-6px); box-shadow:0 10px 24px rgba(0,0,0,.12); }
.popular-service-item .icon-wrap{
  width:64px;height:64px;border-radius:50%;background:rgba(227,34,39,.1);color:var(--primary);
  display:flex;align-items:center;justify-content:center;font-size:1.8rem;margin:0 auto .75rem;
}
.popular-service-item img{ width:64px;height:64px;object-fit:cover;border-radius:50%;margin:0 auto .75rem; }
.popular-service-item h6{ font-weight:700; font-size:.92rem; margin-bottom:0; }

/* Why Choose Us badges (home top strip) */
.trust-badges{ display:flex; gap:1.5rem; flex-wrap:wrap; }
.trust-badge{ display:flex; align-items:center; gap:.6rem; }
.trust-badge .badge-icon{ width:44px;height:44px;border-radius:50%; display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.2rem; }

/* Services listing cards */
.service-card{ background:#fff; border-radius:14px; overflow:hidden; box-shadow:0 4px 16px rgba(0,0,0,.08); height:100%; transition:.25s; }
.service-card:hover{ transform:translateY(-6px); box-shadow:0 12px 28px rgba(0,0,0,.14); }
.service-card .img-wrap{ aspect-ratio:1/1; overflow:hidden; }
.service-card .img-wrap img{ width:100%;height:100%;object-fit:cover; }
.service-card .body{ padding:1.2rem; }

/* Service detail */
.service-hero{ background:var(--secondary); color:#fff; padding:3rem 0; background-size:cover; background-position:center; position:relative; }
.service-hero::before{ content:''; position:absolute; inset:0; background:rgba(11,31,58,.75); }
.service-hero .content{ position:relative; z-index:2; }
.why-feature-badge{ display:flex; align-items:center; gap:.6rem; padding:.9rem 1rem; background:#f7f8fa; border-radius:10px; margin-bottom:.6rem; }
.why-feature-badge i{ color:#28a745; font-size:1.2rem; }
.process-step{ text-align:center; padding:1.5rem 1rem; }
.process-step .step-icon{ width:70px;height:70px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.6rem;margin:0 auto 1rem;position:relative; }
.process-step .step-no{ position:absolute; top:-6px; right:-6px; background:var(--secondary); color:#fff; width:26px;height:26px;border-radius:50%; font-size:.75rem; display:flex;align-items:center;justify-content:center; }

/* About page */
.about-hero{ background:var(--secondary); color:#fff; padding:3.5rem 0; position:relative; background-size:cover; background-position:center; }
.about-hero::before{ content:''; position:absolute; inset:0; background:rgba(11,31,58,.6); }
.about-hero .content{ position:relative; z-index:2; }
.counter-box{ text-align:center; padding:1.5rem; background:#fff; border-radius:12px; box-shadow:0 4px 14px rgba(0,0,0,.06); }
.counter-box .icon-circle{ width:56px;height:56px;border-radius:50%;background:rgba(227,34,39,.1);color:var(--primary);display:flex;align-items:center;justify-content:center;font-size:1.4rem;margin:0 auto .75rem; }
.mission-vision-card{ padding:1.5rem; border-radius:12px; background:#f7f8fa; height:100%; }
.mission-vision-card .icon-circle{ width:48px;height:48px;border-radius:50%;background:var(--accent);color:var(--secondary);display:flex;align-items:center;justify-content:center;font-size:1.2rem;margin-bottom:1rem; }

/* Gallery */
.gallery-filter .btn{ border-radius:50px; margin:0 .3rem .6rem; font-weight:600; }
.gallery-item{ border-radius:12px; overflow:hidden; aspect-ratio:1/1; position:relative; }
.gallery-item img{ width:100%;height:100%;object-fit:cover;transition:.3s; }
.gallery-item:hover img{ transform:scale(1.08); }
.gallery-item .play-overlay{ position:absolute; inset:0; background:rgba(0,0,0,.35); display:flex; align-items:center; justify-content:center; color:#fff; font-size:2rem; }

/* Testimonials */
.testimonial-card{ background:#fff; border-radius:14px; box-shadow:0 4px 16px rgba(0,0,0,.08); padding:1.5rem; height:100%; }
.testimonial-card .stars{ color:var(--accent); margin-bottom:.5rem; }
.testimonial-card .avatar{ width:52px;height:52px;border-radius:50%;object-fit:cover; }

/* Contact page */
.contact-info-item{ display:flex; gap:1rem; align-items:flex-start; padding:1.2rem; background:#f7f8fa; border-radius:12px; margin-bottom:1rem; }
.contact-info-item .icon-circle{ width:48px;height:48px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0; }

/* Areas page */
.area-chip{ display:inline-block; background:#fff; border:1px solid #e2e2e2; border-radius:50px; padding:.6rem 1.4rem; margin:0 .4rem .8rem 0; font-weight:600; color:var(--secondary); }
.areas-hero{ background:var(--secondary); background-size:cover; background-position:center; padding:3.5rem 0; position:relative; color:#fff; }
.areas-hero::before{ content:''; position:absolute; inset:0; background:rgba(11,31,58,.65); }
.areas-hero .content{ position:relative; z-index:2; }

/* FAQ */
.accordion-button:not(.collapsed){ background:rgba(227,34,39,.08); color:var(--primary); }
.accordion-button:focus{ box-shadow:none; }

/* CTA */
.cta-section{ background:var(--primary); color:#fff; padding:3rem 0; border-radius:16px; }

/* Floating actions */
.floating-actions{ position:fixed; right:16px; bottom:80px; z-index:1200; display:flex; flex-direction:column; gap:12px; }
.fab{ width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.4rem;box-shadow:0 4px 14px rgba(0,0,0,.25); }
.fab-whatsapp{ background:#25D366; }
.fab-call{ background:var(--primary); animation:pulse 2s infinite; }
.fab-book{ background:var(--accent); color:var(--secondary); }
@keyframes pulse{ 0%{box-shadow:0 0 0 0 rgba(227,34,39,.6);} 70%{box-shadow:0 0 0 14px rgba(227,34,39,0);} 100%{box-shadow:0 0 0 0 rgba(227,34,39,0);} }
@media (max-width:991px){ .floating-actions{ bottom:78px; } }

/* Mobile bottom nav */
.mobile-bottom-nav{
  position:fixed; bottom:0; left:0; right:0; background:#fff; box-shadow:0 -2px 12px rgba(0,0,0,.1);
  display:flex; justify-content:space-around; padding:.4rem 0; z-index:1100;
}
.mobile-bottom-nav a{ color:#888; text-align:center; font-size:.68rem; flex:1; }
.mobile-bottom-nav a i{ display:block; font-size:1.2rem; margin-bottom:2px; }
.mobile-bottom-nav a.active{ color:var(--primary); }

/* Footer */
.site-footer{ background:var(--secondary); color:#fff; }
.footer-heading{ color:#fff; font-weight:700; margin-bottom:1rem; }
.footer-links li{ margin-bottom:.5rem; }
.footer-links a{ color:rgba(255,255,255,.65); }
.footer-links a:hover{ color:var(--accent); }
.footer-socials a{ display:inline-flex; width:38px;height:38px;border-radius:50%; background:rgba(255,255,255,.1); color:#fff; align-items:center; justify-content:center; margin-right:8px; }
.footer-socials a:hover{ background:var(--primary); }
.footer-bottom{ background:rgba(0,0,0,.25); }

/* Popular services home icons block */
.icon-badge-row{ display:flex; gap:1rem; flex-wrap:wrap; }
.icon-badge{ text-align:center; }
.icon-badge .circle{ width:70px;height:70px;border-radius:50%;background:#fff;box-shadow:0 4px 12px rgba(0,0,0,.08);display:flex;align-items:center;justify-content:center;color:var(--primary);font-size:1.6rem;margin:0 auto .5rem; }
