:root{
  --brand:#E53935;
  --text:#222;
  --muted:#6b7280;
  --bg:#ffffff;
  --soft:#f5f7fb;
}
*{box-sizing:border-box}
body{
  font-family: 'Poppins', system-ui, -apple-system, Segoe UI, Roboto, 'Helvetica Neue', Arial, 'Noto Sans', 'Liberation Sans', 'Apple Color Emoji','Segoe UI Emoji', 'Segoe UI Symbol';
  color:var(--text);
  background:#fff;
}
.navbar .brand-dot{
  width:14px;height:14px;border-radius:50%;
  background: var(--brand);
  display:inline-block;
  box-shadow: 0 0 0 6px rgba(229,57,53,.08);
}
.btn-brand{
  background: var(--brand);
  color:#fff;
  border:none;
  border-radius:.75rem;
  padding:.6rem 1rem;
  box-shadow:0 6px 16px rgba(229,57,53,.25);
}
.btn-brand:hover{opacity:.95;color:#fff}
.hero-section{
  min-height:72vh;
  background: linear-gradient(180deg, #ffffff 0%, #fafafa 100%);
}
.hero-slide{min-height:72vh}
.hero-section h1{letter-spacing:.2px}
.badge.bg-light{border:1px solid #eee}
.card.service-card{
  border:1px solid #eee;
  border-radius:1rem;
  transition:all .2s ease;
}
.card.service-card:hover{
  transform: translateY(-4px);
  box-shadow: 0 10px 24px rgba(0,0,0,.06);
}
.icon-wrap{
  width:52px;height:52px;border-radius:14px;
  display:flex;align-items:center;justify-content:center;
  background:#fff;border:1px solid #eee;margin-bottom:.75rem;
  box-shadow:0 6px 16px rgba(0,0,0,.04);
}
.icon-wrap i{font-size:22px;color:var(--brand)}
#proyectos .project-placeholder{
  background:#fff;border:1px dashed #ddd;border-radius:1rem;color:#555;
}
footer{background:#fff}
.nav-link{color:#444}
.nav-link:hover{color:var(--brand)}
.carousel .carousel-control-prev-icon,
.carousel .carousel-control-next-icon{
  filter: invert(1) grayscale(1);
}
@media (max-width: 768px){
  .display-5{font-size:1.75rem}
}
