:root{--alpama-float-size:56px;--alpama-float-right:20px;--alpama-float-bottom:calc(20px + env(safe-area-inset-bottom,0px))}
.alpama-contact-dock{position:fixed;right:var(--alpama-float-right);bottom:var(--alpama-float-bottom);z-index:99990;margin:0;padding:0;border:0;font:16px/1.5 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#1c3442}
.alpama-contact-dock>summary{list-style:none;width:var(--alpama-float-size);height:var(--alpama-float-size);padding:0;margin:0;display:flex;align-items:center;justify-content:center;box-sizing:border-box;border-radius:8px!important;border:1px solid #fff;background:#15529b;color:#fff;cursor:pointer;box-shadow:0 5px 22px #15384a40}
.alpama-contact-dock>summary::-webkit-details-marker{display:none}.alpama-contact-dock>summary:hover{background:#103f78}.alpama-contact-dock summary>svg{width:27px;height:27px}.alpama-dock-close{display:none;font-size:32px;line-height:1}.alpama-contact-dock[open] summary>svg{display:none}.alpama-contact-dock[open] .alpama-dock-close{display:block}
.alpama-contact-panel{position:absolute;right:calc(var(--alpama-float-size) + 12px);bottom:0;box-sizing:border-box;width:min(280px,calc(100vw - 108px));max-height:calc(100dvh - 60px);overflow-y:auto;background:#fffffff5;backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);border:1px solid #dde2d8;border-radius:15px;box-shadow:0 12px 45px #15384a30;padding:18px}
.alpama-contact-heading{font-size:17px;font-weight:700;line-height:1.4;margin:0 0 12px;color:#15384a}.alpama-contact-panel a.alpama-contact-link{display:flex;align-items:center;gap:12px;padding:11px 8px;min-height:46px;box-sizing:border-box;border-radius:7px;color:#15529b;text-decoration:none;font-size:15px;font-weight:650}.alpama-contact-panel a.alpama-contact-link:hover{background:#edf2f8}.alpama-contact-link svg{width:23px;height:23px;flex-shrink:0}.alpama-contact-panel .alpama-appointment-note{font-size:11px;line-height:1.6;color:#516167;margin:12px 0 0;border-top:1px solid #dde2d8;padding-top:12px}.alpama-contact-dock :is(a,summary):focus-visible{outline:3px solid #4f6819;outline-offset:3px}
body a.generate-back-to-top{right:var(--alpama-float-right);bottom:calc(var(--alpama-float-bottom) + var(--alpama-float-size) + 14px);width:var(--alpama-float-size);height:var(--alpama-float-size);padding:0;display:flex;align-items:center;justify-content:center;border-radius:8px!important;background:transparent;color:#15529b;box-sizing:border-box;line-height:1;border:2px solid currentColor;box-shadow:none;z-index:99980}body a.generate-back-to-top:is(:hover,:focus,:active){background:transparent;color:#103f78}body a.generate-back-to-top:focus-visible{outline:3px solid #4f6819;outline-offset:3px}body a.generate-back-to-top .gp-icon{display:flex;align-items:center;justify-content:center;line-height:1;margin:0;width:100%;height:100%}body a.generate-back-to-top svg{display:block;width:30px;height:30px;top:0;margin:0}
body.offside-js--is-open .slideout-overlay{background:rgba(13,35,48,.4);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
body.offside-js--is-open :is(.alpama-contact-dock,.generate-back-to-top){visibility:hidden;pointer-events:none}
/* Carousel frame is visible without JavaScript; controls are progressively added. */
.alpama-home .alpama-home-hero-media{min-width:0;width:100%}.alpama-home .alpama-hero-carousel{grid-auto-columns:100%;gap:0;margin:0;padding:0;scrollbar-width:none;border-radius:9px}.alpama-hero-carousel::-webkit-scrollbar{display:none}.alpama-hero-slide{scroll-snap-align:start;min-width:0;margin:0!important}.alpama-home .alpama-hero-slide img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:9px}.alpama-home .alpama-hero-slide figcaption{font-size:11px;line-height:1.5;color:#516167;margin-top:8px;text-align:right}.alpama-home-hero-media .alpama-carousel-controls{margin-top:14px}
.alpama-home .alpama-logos-carousel{display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:calc((100% - 72px)/4);gap:24px;justify-items:stretch;align-items:stretch;overflow-x:auto;padding-bottom:12px;scroll-snap-type:x mandatory;scrollbar-width:thin}.alpama-home .alpama-logos-carousel .alpama-home-client-logo{height:118px;width:100%;padding:14px;background:#fff;border:1px solid #dde2d8;border-radius:10px;scroll-snap-align:start}.alpama-home .alpama-logos-carousel .alpama-home-client-logo img{filter:none;max-width:160px;max-height:88px;width:auto;height:auto;object-fit:contain}.alpama-logos-carousel+.alpama-carousel-controls{margin-top:8px}
.alpama-home .alpama-services-carousel{display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:calc((100% - 48px)/3);gap:24px;align-items:stretch;padding-bottom:14px;margin-bottom:0;overflow-x:auto;scroll-snap-type:x mandatory}.alpama-services-carousel .alpama-home-service{position:relative;scroll-snap-align:start;padding:24px;border-radius:10px;overflow:hidden}.alpama-home .alpama-services-carousel .alpama-service-image{width:calc(100% + 48px);margin:-24px -24px 28px}.alpama-services-carousel .alpama-service-image img{display:block;width:100%;height:180px;object-fit:cover;border-radius:0}.alpama-services-carousel .alpama-service-image figcaption{position:absolute;top:8px;right:8px;padding:3px 7px;border-radius:4px;background:#ffffffed;font-size:10px;line-height:1.4;color:#516167}.alpama-services-carousel .alpama-home-service::before{position:absolute;top:158px;left:36px;z-index:2;width:30px;height:30px;margin:0;background:#fff}.alpama-services-carousel .alpama-home-service::after{content:"";position:absolute;top:146px;left:24px;width:54px;height:54px;border:4px solid #fff;border-radius:11px;box-sizing:border-box;background:#15529b;z-index:1}.alpama-services-carousel .alpama-home-number{padding-left:72px;min-height:25px;margin-bottom:16px}.alpama-services-carousel+.alpama-carousel-controls{margin-bottom:30px}
.alpama-carousel-controls button.alpama-carousel-play{font-size:13px;font-weight:650;min-width:98px;line-height:1.3;padding:8px 12px}.alpama-carousel-controls{flex-wrap:wrap}.alpama-carousel-controls button:focus-visible{outline:3px solid #4f6819;outline-offset:3px}
@media(max-width:1000px){.alpama-home .alpama-services-carousel{grid-auto-columns:calc((100% - 24px)/2)}}
@media(max-width:780px){:root{--alpama-float-right:16px;--alpama-float-bottom:calc(16px + env(safe-area-inset-bottom,0px))}.alpama-home .alpama-logos-carousel{grid-auto-columns:calc((100% - 18px)/2);gap:18px}.alpama-home .alpama-logos-carousel .alpama-home-client-logo{height:120px;padding:14px}.alpama-home .alpama-logos-carousel .alpama-home-client-logo img{max-width:100%;max-height:90px}.alpama-home .alpama-services-carousel{grid-auto-columns:calc(100% - 24px);gap:18px}.alpama-home .alpama-hero-slide img{aspect-ratio:16/10}.alpama-carousel-controls{justify-content:flex-start;gap:12px}.alpama-carousel-controls .alpama-carousel-play{margin-right:auto}.alpama-contact-panel{padding:16px}}
@media(prefers-reduced-motion:reduce){.alpama-carousel{scroll-behavior:auto!important}}
@media(max-width:780px){.alpama-home .alpama-logos-carousel .alpama-home-client-logo{height:160px}.alpama-home .alpama-logos-carousel .alpama-home-client-logo img{width:140px;height:140px;max-height:132px;object-fit:contain}}
/* Reserve the floating control lane beside desktop carousel navigation. */
@media(min-width:781px){.alpama-carousel-controls{padding-right:76px}}

/* Keep mobile enquiry submission and privacy links clear of fixed controls. */
@media(max-width:780px){
 .alpama-enquiry .wpforms-submit-container,
 .alpama-enquiry .alpama-enquiry-form>p:last-child,
 .alpama-enquiry .alpama-enquiry-form>.wp-block-group__inner-container>p:last-child{box-sizing:border-box;padding-inline-end:calc(var(--alpama-float-size) + var(--alpama-float-right))}
 .alpama-enquiry div.wpforms-container button[type=submit]{max-width:100%;height:auto;white-space:normal;padding-inline:16px}
}
