/**
 * Mejoras visuales globales MobiBC — refino corporativo sin alterar identidad.
 */
:root {
  --mobibc-primary: #2563eb;
  --mobibc-primary-hover: #1d4ed8;
  --mobibc-radius: 10px;
  --mobibc-shadow: 0 2px 12px rgba(15, 23, 42, 0.08);
  --mobibc-text: #1e293b;
  --mobibc-muted: #64748b;
}

html {
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
}

body {
  color: var(--mobibc-text);
  -webkit-font-smoothing: antialiased;
}

img {
  max-width: 100%;
  height: auto;
}

a:focus-visible,
button:focus-visible,
.btn:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
  outline: 2px solid var(--mobibc-primary);
  outline-offset: 2px;
}

.btn,
.button,
.primary__btn {
  border-radius: var(--mobibc-radius);
  transition: background-color 0.2s ease, transform 0.15s ease, box-shadow 0.2s ease;
}

.btn:hover,
.button:hover {
  transform: translateY(-1px);
}

.blog__card,
.team__card,
.hero__content {
  border-radius: var(--mobibc-radius);
}

.blog__card--thumbnail__img,
.hero__thumbnail--img {
  object-fit: cover;
}

form input,
form textarea,
form select {
  border-radius: 8px;
}

@media (max-width: 768px) {
  .header__sticky,
  .header__menu {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
  }

  h1, .hero__title {
    font-size: clamp(1.5rem, 5vw, 2.25rem);
    line-height: 1.25;
  }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
}
