:root{
  --brand:#ff5a1f;
  --brand-dark:#e94a13;
  --brand-light:#ff8a5c;
  --ink:#14294f;
  --ink-soft:#52627a;
  --page:#ffffff;
  --muted:#f7f6f4;
}
html{scroll-behavior:smooth;}
body{margin:0;background:var(--page);font-family:Arial,Helvetica,sans-serif;}
.onepage-section{scroll-margin-top:72px;}
.text-brand{color:var(--brand)!important}.bg-brand{background-color:var(--brand)!important}
.text-brand-dark{color:var(--brand-dark)!important}.bg-brand-dark{background-color:var(--brand-dark)!important}
.text-brand-light{color:var(--brand-light)!important}
.text-ink{color:var(--ink)!important}.text-ink-soft{color:var(--ink-soft)!important}.bg-ink{background-color:var(--ink)!important}
.bg-grid-dots{
  background-image:radial-gradient(rgba(20,41,79,.12) 1px,transparent 1px);
  background-size:18px 18px;
}
.bg-grid-blueprint{
  background-image:
    linear-gradient(rgba(20,41,79,.055) 1px,transparent 1px),
    linear-gradient(90deg,rgba(20,41,79,.055) 1px,transparent 1px);
  background-size:28px 28px;
}
.animate-line-grow{animation:lineGrow .8s ease-out both;transform-origin:left}
@keyframes lineGrow{from{width:0;opacity:0}to{width:4rem;opacity:1}}
.lift{transition:transform .35s ease,box-shadow .35s ease}.lift:hover{transform:translateY(-6px)}
.glow-orange-hover{transition:box-shadow .35s ease,border-color .35s ease}.glow-orange-hover:hover{box-shadow:0 18px 45px rgba(255,90,31,.18);border-color:#ffb08e}
.fade-up{animation:fadeUp .6s ease forwards;opacity:0}
@keyframes fadeUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
.onepage-nav-active{color:var(--brand)!important}
.onepage-nav-active::after{content:"";position:absolute;bottom:-6px;left:0;height:2px;width:100%;border-radius:999px;background:var(--brand)}
header{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
#mobileMenu.mobile-menu-open{max-height:520px!important;opacity:1!important}
#mobileMenu.mobile-menu-open li{opacity:1!important;transform:translateY(0)!important}
#mobileMenu li{transition:all .45s ease}
.product-card.is-hidden{display:none!important}
.product-filter.is-selected{background:var(--brand)!important;color:#fff!important;border-color:var(--brand)!important;box-shadow:0 8px 20px rgba(255,90,31,.22)}
.quick-contact-fix{z-index:100}
@media (max-width:1023px){
  header nav{min-height:64px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important}
}

/* Fail-safe: if site.js does not run at all, reveal-on-scroll content must not stay invisible. */
@keyframes revealFailsafe{to{opacity:1;transform:none}}
html:not(.js-ready) .transition-all.opacity-0{animation:revealFailsafe .01s 2.5s forwards}
