/* Generated file. Source: shared/brand/styles/web-primitives.css. Do not edit directly. Run: node tools/brand/sync-shared-brand.mjs */
.btn{
  font-family:var(--font-mono);
  font-size:9px;
  letter-spacing:.2em;
  text-transform:uppercase;
  font-weight:400;
  padding:12px 24px;
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  cursor:pointer;
  border:none;
  transition:all .2s;
  text-align:center;
}
.btn-contact{background:transparent;color:var(--theme-contact-accent);border:1px solid var(--theme-contact-accent)}
.btn-contact:hover{background:var(--theme-contact-accent);color:var(--theme-contact-accent-contrast);box-shadow:0 0 20px var(--glow-r)}
.btn-contact--filled-default{background:var(--theme-contact-accent);color:var(--theme-contact-accent-contrast);border:1px solid var(--theme-contact-accent)}
.btn-contact--filled-default:hover{background:rgba(255,75,43,0.88);color:var(--theme-contact-accent-contrast)}
.btn-product{background:transparent;color:var(--theme-product-accent);border:1px solid var(--theme-product-accent)}
.btn-product:hover{background:var(--theme-product-accent);color:var(--theme-product-accent-contrast);box-shadow:0 0 20px rgba(255,222,14,0.18)}
.btn-scenario{background:transparent;color:var(--theme-scenario-accent);border:1px solid var(--theme-scenario-accent)}
.btn-scenario:hover{background:var(--theme-scenario-accent);color:var(--theme-scenario-accent-contrast);box-shadow:0 0 20px rgba(67,163,22,0.18)}
.btn-tech{background:transparent;color:var(--theme-tech-accent);border:1px solid var(--theme-tech-accent)}
.btn-tech:hover{background:var(--theme-tech-accent);color:var(--theme-tech-accent-contrast);box-shadow:0 0 20px rgba(7,137,210,0.18)}
.hero-btns .btn{justify-content:center}
.page-loading{
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:16px;
  color:var(--muted);
  position:relative;
  z-index:1;
}
.page-loading-text{
  font-family:var(--font-mono);
  font-size:9px;
  letter-spacing:.3em;
  text-transform:uppercase;
}
.spinner{
  width:24px;
  height:24px;
  border:1px solid var(--line);
  border-top-color:var(--brand-spinner);
  border-radius:50%;
  animation:brand-spin .8s linear infinite;
}
@keyframes brand-spin{to{transform:rotate(360deg)}}
.rv{opacity:0;transition:opacity .6s ease,transform .6s ease}
.rv-up{transform:translateY(18px)}
.rv-lft{transform:translateX(-18px)}
.rv-rgt{transform:translateX(18px)}
.rv.on{opacity:1;transform:none}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  .rv,.rv.on{transition:none !important;transform:none !important}
  .spinner{animation:none}
}
