:root {
  --muted: #59665f;
  --orange-text: #925300;
}

html {
  scroll-behavior: auto;
  overflow-x: hidden;
}

body {
  overflow-x: visible;
}

.hero h1 {
  opacity: 1 !important;
  transform: none !important;
}

.reveal-item {
  opacity: 0;
  transform: translate3d(0, 30px, 0);
  transition: opacity .72s ease var(--reveal-delay, 0ms), transform .72s cubic-bezier(.22, 1, .36, 1) var(--reveal-delay, 0ms);
  will-change: opacity, transform;
}

.reveal-item.is-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  will-change: auto;
}

.button,
.review-google-cta a {
  position: relative;
  overflow: hidden;
}

.floating-whatsapp {
  position: fixed;
  overflow: hidden;
}

.team-photo img {
  object-position: center 28%;
}

.button::after,
.review-google-cta a::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(110deg, transparent 25%, rgba(255,255,255,.34) 48%, transparent 70%);
  transform: translateX(-140%);
  transition: transform .65s ease;
}

.button:hover::after,
.button:focus-visible::after,
.review-google-cta a:hover::after,
.review-google-cta a:focus-visible::after {
  transform: translateX(140%);
}

a:focus-visible,
button:focus-visible,
summary:focus-visible {
  outline: 3px solid #f89900;
  outline-offset: 4px;
}

.review-source,
blockquote footer small,
.reviews .section-label {
  color: rgba(255,255,255,.68);
}

.intro .section-label,
.rating-badge small {
  color: rgba(255,255,255,.72);
}

.note-one,
.service-card > span,
.legal-content .eyebrow,
.faq-list summary span {
  color: var(--orange-text);
}

@media (hover: hover) {
  .floating-whatsapp:hover {
    transform: translateY(-4px) scale(1.04);
    box-shadow: 0 18px 42px rgba(0,0,0,.24);
  }
}

@media (prefers-reduced-motion: reduce) {
  .reveal-item {
    opacity: 1;
    transform: none;
    transition: none;
  }
}
