:root {
  --color-primary: #1A1A1A;
  --color-secondary: #6B6B6B;
  --color-accent: #404040;
}

html { scroll-behavior: smooth; scroll-padding-top: 5rem; }
body { font-family: 'Manrope', system-ui, sans-serif; }

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

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

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

.glass {
  background: rgba(255,255,255,0.72);
  backdrop-filter: blur(12px);
}

.focus-ring:focus {
  outline: none;
  box-shadow: 0 0 0 4px rgba(26,26,26,0.12);
}

::selection {
  background: rgba(64,64,64,0.18);
}

input[type="text"], input[type="tel"], input[type="email"], select, textarea {
  -webkit-tap-highlight-color: transparent;
}

#cookie-consent .shadow-2xl {
  box-shadow: 0 24px 70px rgba(0,0,0,0.18);
}

#cookie-modal .shadow-2xl {
  box-shadow: 0 24px 70px rgba(0,0,0,0.22);
}