/* Home-page motion stays light so the interface remains usable and calm. */
#home.active .hero>div:first-child{animation:homeReveal .65s both}.hero-art .bin{animation:floatBin 4.2s ease-in-out infinite}.hero-art .circle-one{animation:driftOne 7s ease-in-out infinite}.hero-art .circle-two{animation:driftTwo 8s ease-in-out infinite}.hero-art .float-card{animation:cardFloat 4s ease-in-out infinite}.hero-art .pickups{animation-delay:-1.7s}.booking-card .status-dot{animation:statusPulse 1.7s ease-in-out infinite}.booking-card .progress i{animation:progressShimmer 2.4s ease-in-out infinite}.service-card.featured{animation:homeReveal .5s both}.service-card.featured:nth-child(2){animation-delay:.07s}.service-card.featured:nth-child(3){animation-delay:.14s}.service-card.featured:nth-child(4){animation-delay:.21s}.rewards-card{animation:homeReveal .6s .18s both}.tips-card{animation:homeReveal .6s .26s both}@keyframes homeReveal{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}@keyframes floatBin{0%,100%{transform:rotate(4deg) translateY(0)}50%{transform:rotate(1deg) translateY(-11px)}}@keyframes driftOne{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-13px,9px) scale(1.04)}}@keyframes driftTwo{0%,100%{transform:translate(0,0)}50%{transform:translate(-11px,-8px)}}@keyframes cardFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}@keyframes statusPulse{0%,100%{box-shadow:0 0 0 0 #39c66b55}50%{box-shadow:0 0 0 6px #39c66b00}}@keyframes progressShimmer{0%,100%{filter:brightness(1)}50%{filter:brightness(1.25)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}@media(max-width:750px){.logo-only,.logo-only img{width:50px;height:50px}.topbar{height:68px}}

/* Fast, polished interaction motion and responsive brand sizing. */
.topbar .brand.logo-only{display:flex;align-items:center;justify-content:flex-start;width:auto;height:50px;flex:0 0 auto;overflow:hidden}
.topbar .brand.logo-only img{display:block;width:auto!important;height:46px!important;max-width:160px;object-fit:contain;object-position:left center}
input,textarea,select,.input-wrap,.choice,.category-price-line,.photo-upload span{transition:border-color .14s ease,box-shadow .14s ease,background-color .14s ease,color .14s ease,transform .12s ease}
input:hover,textarea:hover,select:hover,.input-wrap:hover{border-color:#a9b49d}
input:focus,textarea:focus,select:focus{border-color:#586246;outline:0;box-shadow:0 0 0 3px #5862461f;transform:translateY(-1px)}
.input-wrap:focus-within{border-color:#586246;box-shadow:0 0 0 3px #5862461f;transform:translateY(-1px)}
.input-wrap input:focus{box-shadow:none;transform:none}
button,.button,[role="button"]{transition:transform .12s ease,box-shadow .16s ease,background-color .14s ease,border-color .14s ease,color .14s ease}
button:hover,.button:hover,[role="button"]:hover{transition-duration:.12s}
button:active,.button:active,[role="button"]:active{transform:translateY(1px) scale(.985)!important;box-shadow:none!important}
button:focus-visible,.button:focus-visible,[role="button"]:focus-visible{outline:2px solid #586246;outline-offset:3px}
.choice.selected,.category-price-line.selected{animation:quickSelect .18s ease-out both}
@keyframes quickSelect{from{transform:scale(.985)}to{transform:scale(1)}}
@media(max-width:750px){
  .topbar .brand.logo-only{height:44px;max-width:132px}
  .topbar .brand.logo-only img{height:40px!important;max-width:132px}
}
@media(prefers-reduced-motion:reduce){
  input,textarea,select,.input-wrap,.choice,.category-price-line,.photo-upload span,button,.button,[role="button"]{transition:none!important}
  .choice.selected,.category-price-line.selected{animation:none!important}
}
