:root{
  --color-primary:#2D3A2D;
  --color-secondary:#4A5D4A;
  --color-accent:#9C27B0;
  --bg-light:#FAF5FF;
  --bg-alt:#F3E8FF;
}

html{
  scroll-behavior:smooth;
  scroll-padding-top:5rem;
}

body{
  font-family:'Outfit', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

a, button{
  -webkit-tap-highlight-color: transparent;
}

:focus-visible{
  outline: none;
}

button, .btn, [class*="btn-"], a[href="#order_form"]{
  white-space:nowrap;
  min-width:fit-content;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.5rem;
}

form button[type="submit"]{
  white-space:normal;
  width:100%;
}

img{
  max-width:100%;
  height:auto;
}

[data-animate]{
  opacity:0;
  transform:translateX(-24px);
  transition:opacity .6s ease-out, transform .6s ease-out;
  will-change: opacity, transform;
}

[data-animate].is-visible{
  opacity:1;
  transform:translateX(0);
}

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

.no-scroll{
  overflow:hidden;
}

.glass-card{
  background:rgba(255,255,255,.75);
  backdrop-filter: blur(10px);
}

.shadow-accent-soft{
  box-shadow: 0 18px 50px rgba(156,39,176,.20);
}

.hr-fade{
  height:1px;
  background: linear-gradient(90deg, transparent, rgba(156,39,176,.35), transparent);
}

.input-focus{
  transition: box-shadow .2s ease, border-color .2s ease;
}
.input-focus:focus{
  border-color: rgba(156,39,176,.5);
  box-shadow: 0 0 0 4px rgba(156,39,176,.15);
}

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