/* LAPCO TECH V4 mobile-first improvements */
.ui-icon{display:inline-block;width:1.05em;height:1.05em;flex-shrink:0;vertical-align:-.13em}
.btn:before,.filter:before,.slide-open:before{content:none!important}
button,.btn,.card-link{display:inline-flex;align-items:center;justify-content:center;gap:8px}
button:focus-visible,a:focus-visible,.service-card:focus-visible{outline:3px solid #f59e0b;outline-offset:3px}
.service-card{cursor:pointer;position:relative}.service-card:hover{border-color:#f5a623}
.service-card .card-link{justify-content:flex-start;gap:5px}
/* Keep the full banner visible, avoid squishing or clipping text, image and CTA artwork. */
.hero-slider{background:#061529}
.slider-track{width:min(100%,1280px);margin-inline:auto;aspect-ratio:1672/941;min-height:0!important;max-height:none!important;height:auto!important}
.hero-slide{inset:0}.hero-slide picture,.hero-slide img{width:100%;height:100%}
.hero-slide img{object-fit:contain;object-position:center;background:#061529}
.slide-open{position:absolute;right:1%;top:1%;bottom:auto;padding:8px 13px;font-size:12px;z-index:5;background:#f6a323;color:#071629}
.banner-hotspot{display:block;position:absolute;z-index:7;bottom:2%;height:9%;border-radius:100px;cursor:pointer}
.banner-call{left:3%;width:20%}.banner-wa{left:23%;width:22%}
.hero-slide:nth-child(5) .banner-call{left:3%;width:19%}.hero-slide:nth-child(5) .banner-wa{left:23%;width:20%}
.slider-controls{bottom:2%;left:53%;transform:none}
.slider-controls .slide-dot{display:flex;justify-content:center;align-items:center;gap:2px;width:32px;height:29px}
.slider-controls .ui-icon{width:10px;height:10px}
.banner-action-strip{background:#071b35;color:white;padding:10px 15px}
.banner-action-content{width:min(1100px,100%);margin:auto;display:flex;align-items:center;gap:12px;justify-content:center;flex-wrap:wrap}
.banner-action-content strong{font-size:13px}.banner-price{font-weight:900;color:#ffb442}.banner-price small{display:block;font-size:9px;color:#d1d9e8;font-weight:500}
.banner-action-call,.banner-action-wa{border-radius:11px;padding:9px 15px;font-size:13px;font-weight:850;display:inline-flex;align-items:center;gap:7px}
.banner-action-call{background:#f59e0b;color:#091728}.banner-action-wa{background:#16a34a;color:#fff}
.slide-note{padding:6px 12px;font-size:10px}
/* Entry enquiry modal */
.entry-modal[hidden]{display:none!important}.entry-modal{position:fixed;z-index:999;inset:0;display:grid;place-items:center;padding:14px}
.entry-shade{position:absolute;inset:0;background:rgba(3,13,28,.73);backdrop-filter:blur(4px)}
.entry-dialog{position:relative;z-index:1;width:min(100%,420px);max-height:calc(100dvh - 24px);overflow:auto;background:white;color:#16283c;border-radius:19px;padding:22px;box-shadow:0 24px 65px #0006;animation:modal-up .28s ease-out}
@keyframes modal-up{from{opacity:0;transform:translateY(15px) scale(.98)}to{opacity:1;transform:none}}
.entry-close{position:absolute;right:11px;top:9px;border:none;background:#edf1f6;border-radius:50%;width:34px;height:34px;font-size:25px;line-height:1;display:grid;place-items:center;color:#17324a}
.entry-heading{display:flex;gap:11px;align-items:center;margin-bottom:14px;padding-right:18px}.entry-emblem{display:grid;place-items:center;width:45px;height:45px;border-radius:12px;background:#0b60d4;color:white;font-size:25px}
.entry-heading small{font-size:10px;letter-spacing:.1em;color:#006dc6;font-weight:800}.entry-heading h2{font-size:21px;line-height:1.15;margin:3px 0}.entry-heading p{color:#586a7d;font-size:11px;margin:0}
#quick-enquiry-form{display:grid;gap:5px}#quick-enquiry-form label{font-size:11px;color:#394e65;font-weight:800;margin-top:5px}
#quick-enquiry-form input,#quick-enquiry-form select,#quick-enquiry-form textarea{width:100%;padding:10px 11px;border:1px solid #c9d5e4;border-radius:9px;background:#fff;color:#15253e;font-size:13px;min-height:40px}
#quick-enquiry-form textarea{min-height:46px;resize:vertical}.entry-send{width:100%;margin-top:9px;background:#16883b;font-size:13px}
.quick-wa-fallback{font-size:12px;color:#0868ce;text-decoration:underline;text-align:center}.entry-privacy{color:#64748b;font-size:10px;line-height:1.4;margin:7px 0 0}
body.modal-open{overflow:hidden}
@media(max-width:700px){.slider-track{aspect-ratio:1672/941!important;min-height:0!important;height:auto!important}.slider-controls{right:4px;left:auto;bottom:2%;gap:3px}.slider-controls .slide-dot{width:19px;height:20px;font-size:9px}.slider-controls .ui-icon{display:none}.slide-open{top:2px;right:3px;font-size:9px;padding:4px 6px}.banner-hotspot{height:10%;bottom:2%}.banner-action-content{display:grid;grid-template-columns:1fr 1fr;gap:7px;max-width:450px}.banner-action-content strong{font-size:11px;text-align:right}.banner-price{font-size:14px}.banner-action-call,.banner-action-wa{font-size:12px;padding:10px 8px;justify-content:center}.hero-slider .slide-note{font-size:9px}.entry-dialog{padding:17px 18px}.entry-heading h2{font-size:19px}}
@media(max-width:380px){.slider-controls .slide-dot{width:16px;height:17px}.slide-open{font-size:8px}.service-card h3{font-size:12px}}
@media(prefers-reduced-motion:reduce){.entry-dialog{animation:none!important}}


/* V5 redesign fixes */
.hero-slider{padding:14px 0 0;background:linear-gradient(180deg,#04101f,#07172d 60%,#061224)}
.slider-track{width:min(1320px,calc(100% - 20px));margin:0 auto;border-radius:28px;overflow:hidden;aspect-ratio:1672/941;max-height:none;min-height:0;box-shadow:0 18px 44px rgba(0,0,0,.34);border:1px solid rgba(255,255,255,.12);background:#061528}
.hero-slide img{object-fit:cover;object-position:center center;background:#061528}
.slide-open{display:inline-flex;align-items:center;gap:8px;right:18px;bottom:18px;padding:12px 16px;border-radius:16px;background:linear-gradient(135deg,#ffb23f,#ff8d11);color:#061528;backdrop-filter:blur(8px)}
.slide-open .ui-icon{width:16px;height:16px;box-sizing:content-box;padding:6px;border-radius:999px;background:rgba(255,255,255,.34)}
.slide-open:before{content:none}
.banner-hotspot{position:absolute;display:block;z-index:3;border-radius:18px;opacity:0}
.banner-call{left:3.4%;bottom:4.8%;width:21%;height:9%}
.banner-wa{left:25.9%;bottom:4.8%;width:21%;height:9%}
.slider-controls{bottom:14px;left:18px;transform:none;gap:8px;background:rgba(5,19,36,.45);padding:8px 10px;border-radius:999px;backdrop-filter:blur(8px)}
.slide-dot{display:grid;place-items:center;width:34px;height:34px;border-radius:999px;font-size:12px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.slide-dot .ui-icon{width:12px;height:12px;display:block}
.slide-note{padding:9px 16px;background:#041120}
.cards{gap:22px}
.service-card{position:relative;overflow:hidden;padding:16px 16px 18px;min-height:312px;border-radius:24px;background:linear-gradient(180deg,#ffffff,#fbfdff);border:1px solid #dce8f5;box-shadow:0 10px 26px rgba(17,38,66,.07)}
.service-card:hover{transform:translateY(-6px);box-shadow:0 18px 36px rgba(17,38,66,.14)}
.card-photo{width:calc(100% + 32px);margin:-16px -16px 12px;height:170px;border-radius:24px 24px 14px 14px;object-fit:cover;object-position:center;display:block;box-shadow:0 10px 24px rgba(0,0,0,.16)}
.card-tag{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:#eff6ff;color:#0b5bd2;font-size:10px;letter-spacing:1.2px;margin-bottom:8px}
.card-tag:before{content:'●';font-size:8px;color:#f59e0b}
.service-card h3{font-size:18px;line-height:1.3;margin:4px 0 8px;min-height:47px}
.service-card p{font-size:13px;line-height:1.55;color:#5c6f84;margin-bottom:16px}
.card-link{display:inline-flex;align-items:center;gap:8px;margin-top:auto;padding:12px 14px;border-radius:14px;background:linear-gradient(135deg,#0b73ed,#0b5bd2);color:#fff;font-size:13px;box-shadow:0 10px 22px rgba(11,91,210,.18)}
.card-link .ui-icon{width:16px;height:16px;box-sizing:content-box;padding:4px;border-radius:999px;background:rgba(255,255,255,.16)}
.btn{position:relative;overflow:hidden;gap:10px;padding:13px 18px;border-radius:16px;box-shadow:0 10px 24px rgba(15,35,65,.08);transition:transform .25s ease, box-shadow .25s ease, background .25s ease}
.btn:hover{transform:translateY(-3px);box-shadow:0 14px 28px rgba(15,35,65,.15)}
.btn::after{content:'';position:absolute;inset:-1px auto -1px -35%;width:32%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent);transform:skewX(-20deg);animation:btn-shine 4.2s ease-in-out infinite}
.btn .ui-icon{display:block;flex:none;width:18px;height:18px;box-sizing:content-box;padding:7px;border-radius:12px;background:rgba(255,255,255,.16);stroke-width:2.2}
.btn-primary{background:linear-gradient(135deg,#0b73ed,#00a0ff);color:#fff;border:1px solid rgba(255,255,255,.14)}
.btn-ghost{background:#fff;color:#0d2344;border:1px solid #d3dfec}
.btn-white{background:#fff;color:#0d2344;border:1px solid rgba(255,255,255,.25)}
.btn[href^='tel:']{background:linear-gradient(135deg,#ffb23f,#ff8d11);color:#081629;border:1px solid rgba(255,255,255,.15)}
.btn[href^='tel:'] .ui-icon{background:rgba(255,255,255,.45)}
.btn[href*='wa.me']{background:linear-gradient(135deg,#20bf5a,#0c9444);color:#fff;border:1px solid rgba(255,255,255,.14)}
.btn[href*='wa.me'] .ui-icon{background:rgba(255,255,255,.16)}
.nav-actions .btn-primary,.bottom-cta .btn-primary{background:linear-gradient(135deg,#0b73ed,#00a0ff)!important}
.navlinks a{position:relative}
.navlinks a::after{content:'';position:absolute;left:0;bottom:-4px;width:0;height:2px;background:#0b73ed;transition:width .25s ease}
.navlinks a:hover::after{width:100%}
.hamburger .ui-icon{display:block;width:18px;height:18px;box-sizing:content-box;padding:6px;border-radius:10px;background:#fff}
.formbox .btn,.enquiry-panel .btn{width:100%}
.footer .btn,.bottom-cta .btn{justify-content:center}
@keyframes btn-shine{0%,85%,100%{transform:translateX(0) skewX(-20deg);opacity:0}88%{opacity:.55}100%{transform:translateX(340%) skewX(-20deg);opacity:0}}
@media(max-width:1100px){.card-photo{height:156px}.service-card{min-height:300px}}
@media(max-width:900px){.slider-track{width:min(100%,calc(100% - 16px));aspect-ratio:1672/941}.banner-call{left:3.6%;bottom:5%;width:22%;height:10%}.banner-wa{left:26.4%;bottom:5%;width:22%;height:10%}}
@media(max-width:780px){.cards{gap:14px}.card-photo{height:132px}.service-card{min-height:292px}.slider-track{border-radius:22px}.slide-open{right:12px;bottom:12px;padding:10px 12px;font-size:11px}.slider-controls{left:12px;bottom:12px;padding:6px 8px}.slide-dot{width:30px;height:30px}}
@media(max-width:520px){.slider-track{width:calc(100% - 10px);aspect-ratio:1672/941;border-radius:18px}.hero-slide img{object-fit:contain}.banner-call,.banner-wa{display:none}.slide-open{font-size:10px;padding:8px 10px;border-radius:12px}.slider-controls{gap:6px;padding:5px 7px}.slide-dot{width:26px;height:26px;font-size:10px}.service-card{min-height:278px;padding:12px;border-radius:18px}.card-photo{height:118px;width:calc(100% + 24px);margin:-12px -12px 10px;border-radius:18px 18px 12px 12px}.service-card h3{font-size:15px;min-height:auto}.service-card p{font-size:12px}.card-link{width:100%;justify-content:center;padding:11px 12px}}
