/* Brand marks stay within a fixed visual area without distortion. */
.brand-logos img{width:108px!important;height:42px!important;max-height:none!important;object-fit:contain;flex:0 0 108px}
@media(max-width:760px){.brand-logos img{width:70px!important;height:32px!important;flex-basis:70px}}

/* Motion: retained from the original experience, with a reduced-motion fallback. */
.reveal{animation:fade-up .7s .08s both}.hero-visual-animated{animation:float-in .85s .2s both}.hero-visual-animated .card-main{animation:phone-float 4.5s ease-in-out 1s infinite}.hero-visual-animated .float-pill{animation:pill-float 3.5s ease-in-out 1s infinite}.brand-marquee{overflow:hidden;flex:1}.brand-logos{width:max-content;animation:brand-scroll 22s linear infinite}.brand-logos:hover{animation-play-state:paused}.product-card{transition:transform .25s ease,background .25s ease,box-shadow .25s ease}.product-card:hover{transform:translateY(-6px);box-shadow:0 15px 28px rgba(30,25,10,.1)}.card-icon{transition:transform .25s}.product-card:hover .card-icon{transform:rotate(-7deg) scale(1.08)}.scroll-reveal{opacity:0;transform:translateY(24px);transition:opacity .65s ease var(--delay,0ms),transform .65s ease var(--delay,0ms)}.scroll-reveal.is-visible{opacity:1;transform:translateY(0)}@keyframes fade-up{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@keyframes float-in{from{opacity:0;transform:translateX(32px) scale(.95)}to{opacity:1;transform:none}}@keyframes phone-float{50%{transform:rotate(8deg) translateY(-10px)}}@keyframes pill-float{50%{transform:translateY(-8px)}}@keyframes brand-scroll{to{transform:translateX(-50%)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}
