:root{
  --color-primary:#1C1917;
  --color-secondary:#2C2825;
  --color-accent:#D4B896;
}

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

/* Button fixes */
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%
}

/* Header: transparent -> solid on scroll */
#site-header{
  transition: background-color .35s ease, border-color .35s ease, box-shadow .35s ease, backdrop-filter .35s ease;
}
#site-header::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(12,10,9,.72) 0%, rgba(12,10,9,.25) 65%, rgba(12,10,9,0) 100%);
  pointer-events:none;
  opacity:1;
  transition:opacity .35s ease;
}
#site-header.is-scrolled{
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(17,24,39,.08);
  box-shadow:0 12px 30px rgba(0,0,0,.08);
}
#site-header.is-scrolled::before{opacity:0}
#site-header.is-scrolled a, 
#site-header.is-scrolled button,
#site-header.is-scrolled #topbar{
  color:inherit;
}
#site-header.is-scrolled .text-white,
#site-header.is-scrolled .text-white\/80,
#site-header.is-scrolled .text-white\/70,
#site-header.is-scrolled .text-white\/85,
#site-header.is-scrolled .text-white\/90{
  color:rgb(17 24 39 / 1) !important;
}
#site-header.is-scrolled .ring-white\/15,
#site-header.is-scrolled .ring-white\/10{
  --tw-ring-color: rgb(17 24 39 / 0.10) !important;
}
#site-header.is-scrolled .bg-white\/10,
#site-header.is-scrolled .bg-white\/5{
  background-color: rgb(17 24 39 / 0.03) !important;
}
#site-header.is-scrolled #mobile-menu-btn{
  background-color: rgb(17 24 39 / 0.05) !important;
}

/* Animations (context: slide_right) */
[data-animate]{
  will-change: transform, opacity;
}
[data-animate="slide_right"]{
  opacity:0;
  transform:translateX(-2rem);
  transition:opacity .6s ease-out, transform .6s ease-out;
}
[data-animate="fade_up"]{
  opacity:0;
  transform:translateY(1.25rem);
  transition:opacity .6s ease-out, transform .6s ease-out;
}
[data-animate="fade_in"]{
  opacity:0;
  transition:opacity .6s ease-out;
}
[data-animate="slide_left"]{
  opacity:0;
  transform:translateX(2rem);
  transition:opacity .6s ease-out, transform .6s ease-out;
}
[data-animate="zoom_in"]{
  opacity:0;
  transform:scale(.96);
  transition:opacity .6s ease-out, transform .6s ease-out;
}
[data-animate].is-visible{
  opacity:1;
  transform:translateX(0) translateY(0) scale(1);
}
.rotate-180{transform:rotate(180deg)}

/* Premium decorative layers */
.decor-grid-dots{
  background-image:radial-gradient(circle at 1px 1px, rgba(212,184,150,.18) 1px, transparent 0);
  background-size:18px 18px;
}
.decor-grid-lines{
  background-image:
    linear-gradient(to right, rgba(212,184,150,.10) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(212,184,150,.10) 1px, transparent 1px);
  background-size:42px 42px;
}
.decor-diagonal{
  background-image:repeating-linear-gradient(135deg, rgba(212,184,150,.10) 0 1px, transparent 1px 11px);
}
.decor-mesh{
  background:
    radial-gradient(1200px circle at 15% 10%, rgba(212,184,150,.18), transparent 42%),
    radial-gradient(900px circle at 85% 25%, rgba(212,184,150,.10), transparent 45%),
    radial-gradient(800px circle at 60% 85%, rgba(255,255,255,.06), transparent 55%);
}
.decor-gradient-blur{
  filter:blur(40px);
  background:
    radial-gradient(circle at 30% 30%, rgba(212,184,150,.55), transparent 52%),
    radial-gradient(circle at 70% 60%, rgba(212,184,150,.28), transparent 55%);
}
.decor-glow-element{
  filter:blur(26px);
  background:radial-gradient(circle, rgba(212,184,150,.35), transparent 58%);
}
.decor-rings-svg{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140' viewBox='0 0 140 140'%3E%3Cg fill='none' stroke='rgba(212,184,150,0.28)' stroke-width='1'%3E%3Ccircle cx='70' cy='70' r='22'/%3E%3Ccircle cx='70' cy='70' r='38'/%3E%3Ccircle cx='70' cy='70' r='56'/%3E%3C/g%3E%3C/svg%3E");
  background-size:140px 140px;
  background-repeat:no-repeat;
  background-position:center;
  opacity:.7;
}
.decor-subtle{opacity:.06}
.decor-moderate{opacity:.12}
.decor-bold{opacity:.20}

/* Form field polish */
input[type="text"], input[type="tel"], input[type="email"], textarea, select{
  outline:none;
}
input:focus, textarea:focus, select:focus{
  box-shadow:0 0 0 4px rgba(212,184,150,.20);
  border-color: rgba(212,184,150,.65) !important;
}

/* Reduce motion */
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  #site-header, #site-header::before, [data-animate]{
    transition:none !important;
  }
}