.brand-curtain { position: fixed; inset: 0; z-index: 1000; display: grid; place-items: center; background: #f8f6f2; opacity: 1; transition: opacity .18s ease; }
.brand-curtain.leaving { opacity: 0; pointer-events: none; }
.loading-dots { display: flex; align-items: center; gap: 5px; height: 20px; }
.loading-dots i { display: block; width: 5px; height: 5px; border-radius: 50%; background: #365f58; animation: loading-dot 1.7s ease-in-out infinite; }
.loading-dots i:nth-child(2) { animation-delay: -.57s; }
.loading-dots i:nth-child(3) { animation-delay: -1.14s; }
@keyframes loading-dot { 0%,100% { opacity: .35; transform: translateY(0); } 50% { opacity: 1; transform: translateY(-4px); } }
.header button, .button, .filters button, .mode-tabs button, .steps button, .product-popover-visit { transition: transform .2s ease, background-color .2s ease, opacity .2s ease; }
.header button:active, .button:active, .filters button:active, .mode-tabs button:active, .steps button:active, .product-popover-visit:active { transform: scale(.96); }
.design-card { animation: card-arrive .38s cubic-bezier(.22,1,.36,1) both; }
@keyframes card-arrive { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
@media (prefers-reduced-motion: reduce) {
  .loading-dots i, .design-card { animation: none; }
  .brand-curtain, .header button, .button, .filters button, .mode-tabs button, .steps button, .product-popover-visit { transition: none; }
}

.brand .brand-logo { width: 156px; max-width: 34vw; height: auto; flex-shrink: 0; }
