:root {
  --color-primary: #3D3D29;
  --color-secondary: #7A7A5E;
  --color-accent: #E07B39;
  --bg-light: #FAFAF5;
  --bg-alt: #F5F5EB;
}

html { scroll-behavior: smooth; scroll-padding-top: 5rem; }
body { font-family: 'Inter', system-ui, sans-serif; background: var(--bg-light); }

[data-animate] {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.6s ease-out, transform 0.6s ease-out;
  will-change: opacity, transform;
}
[data-animate].is-visible {
  opacity: 1;
  transform: translateY(0);
}

.rotate-180 { transform: rotate(180deg); }

::selection {
  background: color-mix(in srgb, var(--color-accent) 22%, transparent);
  color: #111827;
}

.focus-ring:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--color-accent) 75%, white);
  outline-offset: 3px;
}

.glass-card {
  background: color-mix(in srgb, #ffffff 80%, transparent);
  border: 1px solid rgba(17, 24, 39, 0.06);
  backdrop-filter: blur(14px);
}

.btn-premium {
  border-radius: 1rem;
  box-shadow: 0 18px 40px rgba(17, 24, 39, 0.15);
}

.container-safe {
  padding-left: max(1rem, env(safe-area-inset-left));
  padding-right: max(1rem, env(safe-area-inset-right));
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  [data-animate] { transition: none; transform: none; opacity: 1; }
}