:root{
  --primary: #c62828;
  --dark: #333;
  --muted: #666;
  --white: #fff;
}
.clsprime { color:#c62828 !important; }
/* Typography */
body {
  font-family: 'Roboto', Arial, sans-serif;
  color: var(--dark);
  background: #fff;
}
.brand { font-family: 'Roboto Slab', serif; margin:0; font-size:1.15rem; font-weight:700;}
.brand-red { color: var(--white); background: var(--primary); padding:3px 6px; border-radius:4px; margin-right:6px; font-weight:700;}
.topbar .brand {color:var(--primary); font-size:1.4rem;}
.section-title{ font-family: 'Roboto Slab', serif; color:var(--dark); font-weight:700; margin-bottom:0.6rem;}
.lead { font-size:1rem; }

/* Hero */
#hero { position: relative; }
.hero-img { height: 60vh; object-fit: cover; filter: contrast(0.95) saturate(0.95); }
.carousel-caption { text-shadow: 0 2px 6px rgba(0,0,0,0.45); }
@media (max-width:767px){
  .hero-img { height: 40vh; }
  .carousel-caption { font-size:0.9rem; }
}

/* cards */
.card .card-title { font-weight:700; font-size:1rem; }
.card img { height: 170px; object-fit: cover; }

/* brand logos */
.brand-logo { width:140px; max-width:22%; opacity:0.95; }

/* footer */
footer { font-size:0.95rem; }
footer a { text-decoration:none; }

/* sticky call button mobile */
#stickyCall { position: fixed; right:14px; bottom:14px; z-index:999; }

/* small tweaks */
.list-unstyled li { margin-bottom:0.4rem; }

/* contact mini for header on smaller screens */
#mobileContactBtn { border-color: rgba(255,255,255,0.2); color: white; }
.topbar .contact-mini a { text-decoration: none; color: var(--dark); }

/* copyright */
copyright {
  text-align:center;
}

/* make brand logos responsive and nicely spaced */
.brand-logos img { max-height:60px; opacity:0.88; }
