:root{
  --color-primary:#2F4F2F;
  --color-secondary:#4A6B4A;
  --color-accent:#FFB300;
}

html{scroll-behavior:smooth;scroll-padding-top:5rem;}
body{font-family:'Work Sans',system-ui,sans-serif;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}

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

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

/* Header (transparent -> solid) */
.site-header{
  background:transparent;
  color:#fff;
}
.site-header__backdrop{
  background:linear-gradient(to bottom, rgba(0,0,0,.38), rgba(0,0,0,0));
  opacity:1;
  transition:opacity .25s ease, background .25s ease;
}
.site-header .site-header__link,
.site-header .site-header__subbrand,
.site-header .site-header__icon,
.site-header .site-header__brand{
  color:rgba(255,255,255,.92);
}
.site-header .site-header__link{opacity:.9;transition:opacity .2s ease, color .2s ease;}
.site-header .site-header__link:hover{opacity:1;color:#fff;}

.site-header.is-solid{
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(10px);
  border-bottom:1px solid rgba(0,0,0,.06);
  color:#111827;
}
.site-header.is-solid .site-header__backdrop{opacity:0;}
.site-header.is-solid .site-header__link,
.site-header.is-solid .site-header__subbrand,
.site-header.is-solid .site-header__icon,
.site-header.is-solid .site-header__brand{
  color:#111827;
}
.site-header.is-solid .site-header__subbrand{color:rgba(17,24,39,.72);}
.site-header.is-solid .site-header__link{color:rgba(17,24,39,.7);}
.site-header.is-solid .site-header__link:hover{color:#111827;}

/* Mobile links */
.mobile-nav-link{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:.9rem 1rem;
  border-radius:1rem;
  background:rgba(255,255,255,.92);
  border:1px solid rgba(0,0,0,.06);
  color:#111827;
  font-weight:600;
}
.mobile-nav-link:hover{background:#fff;}

/* Footer links */
.footer-link{color:rgba(229,231,235,.82);transition:color .15s ease, opacity .15s ease;}
.footer-link:hover{color:#fff;opacity:1;}

/* Decorative elements */
.decor-grid-dots{
  background-image:radial-gradient(rgba(255,255,255,.25) 1px, transparent 1px);
  background-size:18px 18px;
}
.decor-grid-lines{
  background-image:linear-gradient(to right, rgba(255,255,255,.12) 1px, transparent 1px),
                   linear-gradient(to bottom, rgba(255,255,255,.12) 1px, transparent 1px);
  background-size:42px 42px;
}
.decor-diagonal{
  background-image:repeating-linear-gradient(135deg, rgba(255,255,255,.12) 0, rgba(255,255,255,.12) 1px, transparent 1px, transparent 10px);
}
.decor-mesh{
  background:
    radial-gradient(600px 260px at 20% 10%, rgba(255,179,0,.18), transparent 60%),
    radial-gradient(600px 260px at 80% 40%, rgba(47,79,47,.18), transparent 60%),
    radial-gradient(520px 260px at 50% 110%, rgba(74,107,74,.14), transparent 60%);
}

.decor-subtle{opacity:.06;}
.decor-moderate{opacity:.12;}
.decor-bold{opacity:.2;}

.decor-gradient-blur{position:relative;isolation:isolate;}
.decor-gradient-blur::before,
.decor-gradient-blur::after{
  content:"";
  position:absolute;
  inset:auto;
  width:520px;height:520px;
  border-radius:9999px;
  filter:blur(40px);
  z-index:-1;
  opacity:.28;
}
.decor-gradient-blur::before{
  top:-220px; left:-180px;
  background:radial-gradient(circle at 30% 30%, rgba(255,179,0,.9), rgba(255,179,0,0) 65%);
}
.decor-gradient-blur::after{
  bottom:-240px; right:-200px;
  background:radial-gradient(circle at 60% 50%, rgba(47,79,47,.85), rgba(47,79,47,0) 60%);
}

.decor-corner-tr{position:relative;}
.decor-corner-tr::after{
  content:"";
  position:absolute;
  top:-1px; right:-1px;
  width:110px; height:110px;
  background:radial-gradient(circle at top right, rgba(255,179,0,.35), transparent 65%);
  pointer-events:none;
}
.decor-corner-bl{position:relative;}
.decor-corner-bl::after{
  content:"";
  position:absolute;
  bottom:-1px; left:-1px;
  width:130px; height:130px;
  background:radial-gradient(circle at bottom left, rgba(74,107,74,.32), transparent 65%);
  pointer-events:none;
}

.decor-glow-element{position:relative;}
.decor-glow-element::before{
  content:"";
  position:absolute;
  inset:-20px;
  background:radial-gradient(circle at 50% 50%, rgba(255,179,0,.22), transparent 62%);
  filter:blur(18px);
  z-index:-1;
  border-radius:9999px;
}

.decor-rings-svg{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='720' height='720' viewBox='0 0 720 720'%3E%3Cg fill='none' stroke='rgba(255,255,255,0.18)' stroke-width='2'%3E%3Ccircle cx='360' cy='360' r='120'/%3E%3Ccircle cx='360' cy='360' r='190'/%3E%3Ccircle cx='360' cy='360' r='260'/%3E%3Ccircle cx='360' cy='360' r='330'/%3E%3C/g%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:center;
  background-size:720px 720px;
}

/* Form helpers */
.input-invalid{outline:2px solid rgba(239,68,68,.55);outline-offset:2px;}
.helper-text{font-size:.85rem;color:rgba(107,114,128,1);}
.helper-error{font-size:.85rem;color:rgba(220,38,38,1);}

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