:root{
  --color-primary:#1A1A2E;
  --color-secondary:#2D2D44;
  --color-accent:#FF6B35;
}

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{
  background:linear-gradient(180deg, rgba(26,26,46,.62) 0%, rgba(26,26,46,.25) 55%, rgba(26,26,46,0) 100%);
}
.site-header.is-scrolled{
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  border-bottom:1px solid rgba(17,24,39,.08);
}
.site-header.is-scrolled .header-shine{opacity:0;}
.site-header.is-scrolled a,
.site-header.is-scrolled button{color:rgb(17 24 39 / 1);}
.site-header.is-scrolled .text-white{color:rgb(17 24 39 / 1) !important;}
.site-header.is-scrolled .text-white\/80{color:rgb(55 65 81 / 1) !important;}
.site-header.is-scrolled .text-white\/70{color:rgb(107 114 128 / 1) !important;}
.site-header.is-scrolled .bg-white\/10{background:rgba(17,24,39,.06) !important;}
.site-header.is-scrolled .ring-white\/15{--tw-ring-color: rgba(17,24,39,.10) !important;}
.site-header.is-scrolled .ring-white\/10{--tw-ring-color: rgba(17,24,39,.10) !important;}
.site-header.is-scrolled .border-white\/10{border-color:rgba(17,24,39,.08) !important;}

.header-shine{
  background:
    radial-gradient(800px 200px at 20% 0%, rgba(255,107,53,.30), transparent 55%),
    radial-gradient(700px 240px at 85% 10%, rgba(255,247,237,.18), transparent 60%);
  opacity:1;
  transition:opacity .3s ease;
}

/* Mobile nav links */
.mobile-nav-link{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:.85rem 1rem;
  border-radius:1rem;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.10);
  color:rgba(255,255,255,.88);
  font-size:.95rem;
}
.mobile-nav-link:hover{background:rgba(255,255,255,.08);}

/* Footer links */
.footer-link{
  color:rgb(156 163 175 / 1);
  transition:color .2s ease, text-decoration-color .2s ease;
  text-decoration:underline;
  text-decoration-color:transparent;
  text-underline-offset:4px;
}
.footer-link:hover{
  color:#fff;
  text-decoration-color:rgba(255,255,255,.35);
}

/* Animations */
[data-animate]{
  opacity:0;
  transform:translateY(20px);
  transition:opacity .6s ease-out, transform .6s ease-out;
}
[data-animate].is-visible{opacity:1;transform:translateY(0);}
.rotate-180{transform:rotate(180deg);}

/* Decorative patterns */
.decor-grid-dots{
  background-image:radial-gradient(rgba(255,255,255,.12) 1px, transparent 1px);
  background-size:18px 18px;
}
.decor-grid-lines{
  background-image:
    linear-gradient(rgba(255,255,255,.10) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.10) 1px, transparent 1px);
  background-size:26px 26px;
}
.decor-diagonal{
  background-image:repeating-linear-gradient(45deg, rgba(255,255,255,.12) 0, rgba(255,255,255,.12) 1px, transparent 1px, transparent 10px);
}
.decor-mesh{
  background-image:
    radial-gradient(900px 350px at 10% 20%, rgba(255,107,53,.20), transparent 60%),
    radial-gradient(900px 350px at 90% 10%, rgba(255,237,213,.20), transparent 60%),
    radial-gradient(900px 350px at 40% 95%, rgba(255,247,237,.12), transparent 55%);
}
.decor-gradient-blur::before,
.decor-gradient-blur::after{
  content:"";
  position:absolute;
  inset:auto;
  width:520px;
  height:520px;
  filter:blur(48px);
  border-radius:9999px;
  opacity:.55;
  pointer-events:none;
}
.decor-gradient-blur::before{
  top:-240px; left:-160px;
  background:radial-gradient(circle at 30% 30%, rgba(255,107,53,.55), transparent 60%);
}
.decor-gradient-blur::after{
  bottom:-260px; right:-160px;
  background:radial-gradient(circle at 40% 40%, rgba(255,237,213,.45), transparent 60%);
}

/* Intensity modifiers */
.decor-subtle{opacity:.06;}
.decor-moderate{opacity:.10;}
.decor-bold{opacity:.18;}

/* Form polish */
input, select, textarea{
  outline:none;
}
input:focus, select:focus, textarea:focus{
  box-shadow:0 0 0 4px rgba(255,107,53,.18);
  border-color:rgba(255,107,53,.55) !important;
}
::placeholder{color:rgb(156 163 175 / 1);}

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