/* Homepage compactness is limited to phones. No tablet/desktop layout overrides. */
.a360-home-banner{display:block}.a360-home-banner img{display:block;width:100%;height:auto;object-fit:contain}
@media(max-width:767px){
 body:not([data-service-page]) .a360-mobile-form-note{display:none}
 body:not([data-service-page]) .a360-swipe{display:flex!important;flex-wrap:nowrap;overflow-x:auto;gap:16px;scroll-snap-type:x mandatory;scroll-padding-inline:0;overscroll-behavior-x:contain;padding-bottom:12px;scrollbar-width:thin}
 body:not([data-service-page]) .a360-slide{scroll-snap-align:start;flex:0 0 100%;width:100%;min-width:0;max-width:100%;margin:0}
 body:not([data-service-page]) #quick-enquiry,body:not([data-service-page]) #contact form{padding:20px!important}
 body:not([data-service-page]) form .cms-form-grid,body:not([data-service-page]) .cms-quick-fields{gap:12px!important}
 body:not([data-service-page]) form .cms-form-control{min-height:48px}
 body:not([data-service-page]) form button[type=submit]{min-height:48px;margin-top:16px!important}
 body:not([data-service-page]) #quick-enquiry>p{margin-top:8px!important;margin-bottom:12px!important}
 body:not([data-service-page]) #contact form label{margin-bottom:0}
 body:not([data-service-page]) .standalone-faq summary{min-height:56px}
}
/* Desktop gets the same restrained reveal language, without layout changes. */
@media(min-width:1024px) and (prefers-reduced-motion:no-preference){
 .a360-motion .a360-reveal{transition:opacity 560ms cubic-bezier(.2,.7,.2,1),transform 560ms cubic-bezier(.2,.7,.2,1);transition-delay:var(--reveal-delay,0ms)}
 .a360-motion .a360-reveal:not(.is-visible){opacity:0;transform:translateY(16px)}
 .a360-motion .a360-reveal.is-visible{opacity:1;transform:none}
}
/* Shared client strip: intentional automatic scrolling requested by the owner. */
#clients .a360-logo-region{min-width:0;flex:1;width:100%;overflow:hidden}
#clients .a360-logo-window{overflow-x:auto;scrollbar-width:thin}
#clients .a360-logo-track{display:flex;width:max-content}
#clients .a360-logo-group{display:flex!important;flex:none;gap:16px;padding-right:16px}
#clients .a360-logo-group>*{width:160px;flex:0 0 160px;min-height:88px}
#clients .a360-logo-group img{width:100%;height:64px;object-fit:contain}
#clients .a360-logo-group[aria-hidden]{display:none!important}
#clients .a360-logo-running .a360-logo-group[aria-hidden]{display:flex!important}
#clients .a360-logo-running .a360-logo-window{overflow:hidden}
#clients .a360-logo-running .a360-logo-track{animation:a360-client-scroll 38s linear infinite}
#clients .a360-logo-running:hover .a360-logo-track,#clients .a360-logo-running:focus-within .a360-logo-track,#clients .a360-logo-stopped .a360-logo-track{animation-play-state:paused}
#clients .a360-logo-pause{display:block;margin:8px 0 0 auto;min-height:44px;padding:8px 12px;color:var(--color-advantage);font:inherit;font-size:12px;background:transparent;border:1px solid #dbe3ed;border-radius:8px}
#clients .a360-logo-pause[hidden]{display:none}
@keyframes a360-client-scroll{to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){#clients .a360-logo-track{animation:none!important;transform:none!important}}
.a360-platforms{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.a360-platforms>div{display:flex;align-items:center;gap:12px;padding:12px 16px;background:white;border:1px solid #dbe3ed;border-radius:10px}.a360-platforms img{width:64px;height:36px;object-fit:contain}.a360-platforms span{font-size:13px;font-weight:600}
