:root{
  --brand:#0d6efd;
  --text:#101828;
  --muted:#667085;
  --bg:#f8f9fb;
}
*{ box-sizing:border-box; }
html,body{ height:100%; }
body{
  font-family: 'Inter', system-ui, -apple-system, Segoe UI, Roboto, 'Helvetica Neue', Arial, 'Noto Sans', 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', sans-serif;
  color:var(--text);
  background:#fff;
}

/* helpers */
.bg-gradient-light{
  background: linear-gradient(180deg, #f9fbff 0%, #ffffff 100%);
}
.section-eyebrow{
  text-transform:uppercase;
  letter-spacing:.12em;
  font-weight:600;
  color:var(--muted);
  font-size:.8rem;
}
.fw-extrabold{ font-weight:800; }
.py-6{ padding-top:4rem; padding-bottom:4rem; }

/* navbar */
.navbar .nav-link{ font-weight:500; }
.navbar .nav-link.active{ color:var(--brand); }

/* hero */
.hero-card .stat{ text-align:center; }
.hero-section .display-5{ line-height:1.1; }

/* services */
.service-card{
  border:1px solid #eee;
  border-radius:1rem;
  transition:transform .15s ease, box-shadow .15s ease;
}
.service-card:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 30px rgba(0,0,0,.06);
}
.feature-list li{ margin-bottom:.4rem; }
.feature-list i{ color:var(--brand); margin-right:.5rem; }

/* portfolio */
.portfolio-card{ position:relative; display:block; }
.portfolio-card .portfolio-meta{
  position:absolute; left:1rem; bottom:1rem;
  background:rgba(255,255,255,.9);
  padding:.35rem .6rem;
  border-radius:999px;
  box-shadow:0 4px 20px rgba(0,0,0,.1);
}

/* process list */
.process-list{ counter-reset: step; padding-left:0; }
.process-list li{
  list-style:none;
  position:relative;
  padding-left:2.4rem;
  margin:.6rem 0;
}
.process-list li::before{
  counter-increment: step;
  content: counter(step);
  position:absolute; left:0; top:.1rem;
  width:1.8rem; height:1.8rem;
  border-radius:50%;
  background:var(--brand);
  color:#fff;
  display:grid; place-items:center;
  font-weight:700;
}

/* pricing */
.pricing-card{ border-radius:1rem; }
.pricing-card .card-body{ padding:1.5rem; }

/* footer */
.footer-link{ color:#bbb; text-decoration:none; }
.footer-link:hover{ color:#fff; }

/* --- Footer logo fix --- */
.logo-footer{
  height: 40px;             /* controla o tamanho */
  width: auto !important;   /* evita “esticar” por regras globais */
  max-width: 100%;
  display: block;
}

/* alinhamento e hover dos ícones */
footer .footer-social a{
  font-size:1.1rem;
  opacity:.9;
}
footer .footer-social a:hover{ opacity:1; }

/* responsivo: centraliza no mobile */
@media (max-width: 767.98px){
  footer .logo-footer{ margin-inline:auto; }
  footer .footer-social{ display:flex; justify-content:center; }
}

/* forms */
.needs-validation .form-control:invalid{ border-color:#dc3545; }
.needs-validation .form-control:valid{ border-color:#198754; }
.service-img {
  max-width: 90%;      /* nunca passa disso */
  height: auto;
  display: block;
  margin: 0 auto;
}
