/* Refinamento visual. A marca (tinta #1F2A2E e lima #C1FF72) mantém-se. */

body {
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

h1, .h1, h2, .h2, h3, .h3 {
  letter-spacing: -0.03em;
}

.comfortaa-font {
  letter-spacing: -0.04em;
}

.banner-section .fs-16 {
  font-size: clamp(2.6rem, 6vw, 5rem) !important;
  line-height: 0.95;
}

.banner-section.min-vh-100 {
  min-height: min(88vh, 820px) !important;
}

.banner-inner-section {
  min-height: 440px;
}

.banner-section::before {
  background: linear-gradient(180deg, rgba(31, 42, 46, 0.28) 0%, rgba(31, 42, 46, 0.18) 42%, rgba(31, 42, 46, 0.78) 100%);
}

.banner-section .text-opacity-70 {
  --bs-text-opacity: 0.9;
}

.animate-spin {
  animation: none;
}

.header.border-top {
  border-top-width: 2px !important;
}

.header.fixed-header {
  padding: 14px 0;
  background-color: rgba(31, 42, 46, 0.94);
  backdrop-filter: saturate(1.2) blur(14px);
  box-shadow: 0 10px 28px rgba(31, 42, 46, 0.16);
}

.header.fixed-header .logo .logo-white {
  display: block;
}

.header.fixed-header .logo .logo-dark {
  display: none;
}

.header.fixed-header .toggle-menu {
  background-color: #fff !important;
}

.header.fixed-header .toggle-menu .menu-icon {
  color: #1F2A2E !important;
}

.btn:not(.toggle-menu):not(.rounded-circle) {
  padding: 11px 52px 11px 22px;
}

.btn:not(.toggle-menu) .btn-text {
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0.01em;
}

.card {
  border: 1px solid rgba(31, 42, 46, 0.08) !important;
  border-radius: 16px !important;
  box-shadow: 0 12px 32px rgba(31, 42, 46, 0.05);
}

.portfolio-img .portfolio-overlay,
.meet-team-img .meet-team-overlay {
  transform: none;
  opacity: 0;
  background: linear-gradient(180deg, rgba(31, 42, 46, 0.05), rgba(31, 42, 46, 0.82));
  transition: opacity 0.35s ease;
}

.portfolio-img:hover .portfolio-overlay,
.meet-team-img:hover .meet-team-overlay {
  transform: none;
  opacity: 1;
}

@media (min-width: 1200px) {
  .py-xl-12 {
    padding-top: 104px !important;
    padding-bottom: 104px !important;
  }

  .pt-xl-12 {
    padding-top: 88px !important;
  }

  .footer.pt-xl-12 {
    padding-top: 72px !important;
  }
}

::selection {
  background: #C1FF72;
  color: #1F2A2E;
}

:focus-visible {
  outline: 2px solid #1F2A2E;
  outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
  .btn .btn-text,
  .btn .btn-icon,
  .portfolio-img .portfolio-overlay {
    transition: none;
  }
}
