/* Base styles shared across all pages */
body {
  margin: 0;
  -webkit-font-smoothing: antialiased;
}

@keyframes czGrow {
  from { transform: scaleY(.14); }
  to { transform: scaleY(1); }
}

@keyframes czUnfurl {
  from { transform: scale(.12) rotate(-12deg); opacity: 0; }
  to { transform: scale(1) rotate(0deg); opacity: 1; }
}

@keyframes czFade {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes czSway {
  0%, 100% { transform: rotate(-1.4deg); }
  50% { transform: rotate(1.4deg); }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    transition: none !important;
    animation: none !important;
  }
}

a:focus-visible,
button:focus-visible {
  outline: 3px solid #2f6b4f;
  outline-offset: 2px;
}

/* Phone numbers: keep LTR in RTL pages */
[dir="rtl"] .tel-ltr,
[dir="rtl"] a[href^="tel:"] {
  direction: ltr;
  unicode-bidi: embed;
}
