* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body {
  background: #F2ECDF;
  -webkit-font-smoothing: antialiased;
  font-family: Karla, system-ui, sans-serif;
}
a { color: #B0472C; }
a:hover { color: #8E3520; }

@keyframes treeSway {
  0%, 100% { transform: rotate(-1.1deg); }
  50% { transform: rotate(1.2deg); }
}
@keyframes canopySway {
  0%, 100% { transform: rotate(0.9deg) translateX(2px); }
  50% { transform: rotate(-1deg) translateX(-3px); }
}
@keyframes blobDrift {
  0%, 100% { transform: translate(0, 0); }
  50% { transform: translate(-3px, 2px); }
}
@keyframes leafFall {
  0% { transform: translate(0, 0) rotate(0deg); opacity: 0; }
  12% { opacity: 0.95; }
  100% { transform: translate(44px, 210px) rotate(340deg); opacity: 0; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; }
}

/* Box cards */
.box-card,
.both-card {
  transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease;
}
.box-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 2px 4px rgba(60,44,24,0.06), 0 18px 34px -20px rgba(60,44,24,0.6);
  border-color: #C6B693;
}
.both-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 2px 4px rgba(60,44,24,0.06), 0 18px 34px -20px rgba(60,44,24,0.6);
  border-color: #AE9A70;
}
