/* Focused repairs and CMS presentation using the supplied component design. */
:root{--header-height:112px;--contact-strip-height:0px}
html{scroll-padding-top:110px}body{overflow-wrap:break-word}a{color:var(--primary-color)}a:hover{color:var(--accent-color)}
/* The legacy .page-faqs section spacing must not apply to the page body. */
body.page-faqs{padding:0}
:focus-visible{outline:3px solid var(--accent-color);outline-offset:4px}a:focus-visible{outline:3px solid var(--accent-color)}
.skip-link{position:fixed;top:8px;left:8px;transform:translateY(-150%);z-index:110;background:white;color:var(--primary-color);padding:12px}.skip-link:focus{transform:none}
img{height:auto}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:wait}figure{max-width:100%}.row>*{min-width:0}
header.main-header{position:absolute;inset:var(--contact-strip-height) 0 auto;height:var(--header-height)}
.navbar{padding:26px 0}.navbar-brand img{width:190px;height:auto;display:block}.main-menu .nav-menu-wrapper{margin-left:20px}.main-menu ul li{margin:0 2px}.main-menu ul li a{padding:15px 10px!important}.header-btn{margin-left:20px;flex-shrink:0}.header-btn .btn-default{white-space:nowrap}
.main-menu ul ul,.main-menu ul li.submenu:first-child ul{width:285px;max-width:calc(100vw - 30px);min-width:0;background:var(--primary-color);border-radius:8px;padding:12px 0;box-shadow:0 10px 30px #0005}
.main-menu ul li:is(:hover,:focus-within,.menu-open)>ul{visibility:visible;opacity:1;transform:scaleY(1);padding:12px 0}
.main-menu ul li.menu-dismissed>ul{visibility:hidden;opacity:0;pointer-events:none}
.main-menu ul ul li a{display:block;padding:10px 20px!important;line-height:1.4}.main-menu ul ul li a:hover,.main-menu ul ul li a:focus{padding:10px 20px!important;background:#ffffff14;color:var(--accent-color)}.company-title,.company-desc{display:block}.company-title{font-size:15px;font-weight:600}.company-desc{font-size:13px;margin-top:3px}.main-menu a[aria-current]{color:var(--accent-color)}
.slicknav_btn{min-width:44px;min-height:44px}.slicknav_nav{max-height:calc(100dvh - 90px);overflow-y:auto}.slicknav_nav .company-desc{font-size:13px}.slicknav_nav a:focus-visible{outline-offset:-4px;outline-color:white}.slicknav_nav ul{margin:0}.responsive-menu{z-index:2}
.hero{margin-top:0;min-height:0;padding:190px 0 100px;background-attachment:scroll;background-image:url('/images/veritalis-global-network.webp')}.hero-content{position:relative;z-index:2;padding:0}.hero .section-title h1{font-size:clamp(32px,4.1vw,60px);line-height:1.15;cursor:auto}.hero .section-title p{max-width:680px;font-size:16px;line-height:1.7}.hero-btn{display:flex;gap:18px;flex-wrap:wrap;align-items:center}.hero-content .btn-default{margin:0}.btn-default{border-radius:0;max-width:100%;white-space:normal;line-height:1.25;text-align:center;min-height:48px}.btn-default::after{pointer-events:none}
.section-title h1,.section-title h2,.page-header-box h1{cursor:auto}.section-title h3{padding-left:0}.section-title h3:before{display:none}.section-title p{margin-top:24px}.section-title h2{font-size:clamp(28px,3.2vw,46px)}
.page-header{margin-top:0;padding:200px 0 90px;background:var(--primary-color)}.page-header-box h1{font-size:clamp(30px,4.1vw,60px);line-height:1.15;overflow-wrap:normal}.page-intro{max-width:850px;margin:16px auto 22px;color:white}.page-header-box ol li.breadcrumb-item{font-size:16px}.page-header-box .breadcrumb{flex-wrap:wrap;row-gap:8px}
.missing-image{background:var(--secondery-color);border:1px solid var(--divider-color);width:100%;aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;color:var(--primary-color);font-size:13px;padding:20px;text-align:center}.reveal{width:100%}.image-anime:after{pointer-events:none}.about-img-1 .missing-image,.about-img-2 .missing-image{aspect-ratio:1/.76}.why-choose-img-1 .missing-image{aspect-ratio:1/.756}.why-choose-img-2 .missing-image{aspect-ratio:1/1.01}.why-choose-img-3 .missing-image{aspect-ratio:1/.746}.why-choose-img-4 .missing-image{aspect-ratio:1/1.55}.best-selling-content-img .missing-image{aspect-ratio:1/.42}.best-selling-iamge .missing-image{aspect-ratio:1/.93}.contact-us-image .missing-image{aspect-ratio:1/1.1}
.company-cards{row-gap:30px}.company-cards .service-item{height:100%;margin:0;display:grid;grid-template-columns:minmax(0,1fr);border-radius:12px;overflow:hidden;background:var(--primary-color)}.company-cards .service-image,.company-cards .service-content{grid-area:1/1}.company-cards .service-image{min-height:100%;position:relative}.company-cards .service-image>a,.company-cards figure{height:100%;width:100%}.company-cards .service-image img{height:100%;min-height:360px;aspect-ratio:auto}.company-cards .missing-image{height:100%;min-height:360px;aspect-ratio:auto;background:var(--primary-color);border:0;color:white;align-items:flex-start;justify-content:flex-start;padding:20px 80px 20px 20px}.company-cards .missing-image span{font-size:12px;opacity:.75}.company-cards .service-content{position:relative;left:auto;right:auto;bottom:auto;align-self:end;padding:100px 25px 28px;pointer-events:none}.company-cards .service-content a{pointer-events:auto}.company-cards .service-content h3{line-height:1.25}.company-cards .service-btn{top:20px;right:20px}.company-cards .service-btn a{width:48px;height:48px}.sector-label{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;display:inline-block;margin:0 0 14px}.company-cards .sector-label{background:#0088cc;color:white;border-radius:20px;padding:4px 12px}.icon-box i{position:relative;font-size:24px;color:var(--primary-color);z-index:1}.why-choose-item:hover .icon-box i,.vision-mission-item:hover .icon-box i{color:white}.why-choose-item .icon-box{flex-shrink:0}.about-us-content-body>*{min-width:0}.connection-heading{margin:26px 0 16px;font-size:24px}
.content-section,.service-single{padding:80px 0}.content-section h2{margin-bottom:24px}.narrow{max-width:1000px}.service-sidebar{position:sticky;top:110px;margin-left:30px}.service-featured-img{margin-bottom:35px}.service-featured-img .missing-image{aspect-ratio:16/9}.service-copy{margin:0 0 40px}.service-copy h2{font-size:30px;line-height:1.2;margin-bottom:20px}.service-copy h3{font-size:20px;margin-bottom:12px}.service-copy p:last-child{margin:0}.sidebar-widget{padding:25px;background:var(--secondery-color);margin-bottom:30px}.sidebar-widget h3{font-size:24px;line-height:1.25;margin-bottom:20px}.categories-widget ul{list-style:none;margin:0;padding:0}.categories-widget li+li{border-top:1px solid var(--divider-color)}.categories-widget a{display:flex;gap:12px;justify-content:space-between;align-items:center;padding:15px 0}.categories-widget a[aria-current]{color:var(--accent-color)}.content-pending,.publication-note{border-left:3px solid var(--divider-color);padding:12px 18px}.capability{border-bottom:1px solid var(--divider-color);padding:14px 0}.trade-list{padding-left:24px}.trade-list li{padding:8px 0}.development-steps{padding-left:25px}.development-steps li{padding:10px 0}
.content-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.content-grid>*{min-width:0}.post-item{margin:0;height:auto}.post-item>img{width:100%;aspect-ratio:4/3;object-fit:cover;margin-bottom:20px}.post-item h2,.post-item h3{font-size:24px;line-height:1.25;margin:0 0 16px}.post-item p{margin-bottom:18px}.post-item .sector-label{color:var(--primary-color)}.product-card,.article-card{padding-bottom:24px;border-bottom:1px solid var(--divider-color)}.card-link{display:inline-block;font-weight:600;padding:8px 0}.article-body{max-width:900px;overflow-wrap:anywhere}.article-body>img{width:100%;max-height:600px;object-fit:contain;margin-bottom:30px}.article-meta{font-size:14px}.preview-banner{background:var(--secondery-color);padding:120px 20px 20px;text-align:center}.catalogue-filters{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:30px}.catalogue-filters a{border:1px solid var(--divider-color);padding:10px 16px}.catalogue-filters a[aria-current]{background:var(--primary-color);color:white}.category-intro{margin:25px 0}.category-intro img{max-height:320px;object-fit:contain}.pagination{display:flex;gap:24px;justify-content:center;flex-wrap:wrap;margin-top:35px;align-items:center}.pagination a{padding:12px}
.faq-list details{border-bottom:1px solid var(--divider-color);margin-bottom:16px}.faq-list summary{font-weight:600;font-size:20px;padding:20px;cursor:pointer;color:var(--primary-color)}.faq-list details>div{padding:0 20px 20px}.faq-list details[open] summary{color:var(--accent-color)}
.contact-us{padding:80px 0}.contact-us-form{margin-left:30px}.contact-info-box{margin-top:25px;padding:25px}.contact-info-content{min-width:0;overflow-wrap:anywhere}.contact-form .form-control{border:1px solid var(--divider-color);background:var(--secondery-color);padding:12px 14px;border-radius:0;box-shadow:none;min-height:48px;line-height:1.5;color:var(--text-color)}.contact-form .form-control:focus{outline:2px solid var(--accent-color);outline-offset:2px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:20px}.form-grid .full{grid-column:1/-1}.form-group{min-width:0}.form-group label{display:block;font-size:14px;margin-bottom:8px}.enquiry-form input,.enquiry-form select,.enquiry-form textarea{max-width:100%;width:100%;min-width:0}.form-note{font-size:14px}.form-note a{text-decoration:underline}.form-honeypot{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.form-response:not(:empty),.form-banner{padding:16px;margin:0 0 20px;border:1px solid var(--accent-color);background:var(--secondery-color)}.form-error,.form-response[data-error=true]{border-color:var(--error-color)}
.enquiry-dialog{position:fixed;margin:auto;border:0;border-radius:0;padding:24px;width:min(640px,calc(100% - 24px));max-height:calc(100dvh - 24px);overflow:auto;overscroll-behavior:contain;color:var(--text-color)}.enquiry-dialog::backdrop{background:rgb(0 0 0 / 65%)}.enquiry-dialog h2{font-size:28px;margin-bottom:12px;padding-right:35px}.dialog-close{position:sticky;top:0;float:right;z-index:2;width:44px;height:44px;background:var(--accent-color);color:white;border:0;border-radius:0;font-size:28px;line-height:1;margin:-10px -10px 0 8px}.enquiry-dialog .contact-form{padding:0;background:white;border:0}.enquiry-dialog textarea{min-height:78px;height:78px}.enquiry-dialog .form-grid{gap:12px;margin-bottom:12px}.enquiry-dialog .form-note{margin-bottom:12px;font-size:13px;line-height:1.5}.enquiry-dialog #enquiry-description{font-size:15px;line-height:1.55;margin-bottom:18px}.enquiry-dialog .form-control{padding:9px 12px;min-height:44px}body:has(.enquiry-dialog[open]){overflow:hidden}body:has(.enquiry-dialog[open]) .whatsapp-button{visibility:hidden}
.whatsapp-button{position:fixed;right:max(18px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));z-index:90;display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;background:var(--accent-color);color:white;border:2px solid white;font-size:28px;transition:background .3s}.whatsapp-button:hover{background:var(--primary-color);color:white}.whatsapp-button i{color:inherit}body:has(.whatsapp-button) .main-footer{padding-bottom:10px}
.footer-logo img{width:165px;height:auto}.footer-links p,.footer-links a,.footer-contact-content a,.footer-copyright a{color:white}.footer-links p{max-width:440px}.footer-contact-content{overflow-wrap:anywhere;min-width:0}.footer-copyright nav{margin-top:10px;font-size:14px}.main-footer .icon-box i{color:white}.footer-header{margin-bottom:24px}
@media(min-width:992px) and (max-width:1199px){.navbar-brand img{width:155px}.main-menu .nav-menu-wrapper{margin-left:10px}.main-menu ul li a{padding:15px 7px!important;font-size:14px}.header-btn{margin-left:8px}.header-btn .btn-default{font-size:14px;padding-left:12px}.company-cards .service-content{padding:100px 20px 25px}.service-sidebar{margin-left:0}}
@media(max-width:991px){:root{--header-height:86px}.navbar{padding:20px 0}.navbar-brand img{width:175px}.hero{padding:145px 0 70px}.page-header{padding:150px 0 65px}.hero .section-title h1{font-size:44px}.main-menu{display:none!important}.navbar-toggle,.responsive-menu{display:block}.navbar-toggle{position:relative;width:44px;height:44px}.navbar-toggle .slicknav_btn{position:static}.content-section,.service-single,.contact-us{padding:60px 0}.service-sidebar{position:static;margin:30px 0 0}.content-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-us-form{margin:35px 0 0}.contact-us-image .missing-image{aspect-ratio:16/9}.best-selling-iamge{margin-top:30px}.why-choose-images{margin-top:30px}.company-cards .service-content{padding-top:100px}}
@media(max-width:767px){.hero{padding:125px 0 60px}.hero .section-title h1{font-size:32px}.hero-content .section-title p{font-size:16px}.hero-btn{gap:14px}.page-header{padding:135px 0 55px}.page-header-box h1{font-size:32px}.page-intro{font-size:16px}.section-title h2{font-size:28px}.section-title-content{margin-left:0}.content-section,.service-single,.contact-us{padding:50px 0}.company-cards{row-gap:24px}.company-cards .service-content{padding:100px 22px 25px}.company-cards .service-image img,.company-cards .missing-image{min-height:330px}.content-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.enquiry-dialog{padding:24px 18px}.enquiry-dialog h2{font-size:28px}.service-copy h2{font-size:26px}.service-sidebar .btn-default{width:auto}.vision-mission-box{padding:30px 22px}.vision-mission-item{width:100%}.vision-mission-item:before{display:none}.best-selling-content-img{margin-bottom:30px}.about-us-images{margin-right:0}.experience-counter{transform:translate(-20%,-6px)}.why-choose-images{gap:12px}.why-choose-img-box-1,.why-choose-img-box-2{gap:12px}.missing-image{padding:12px}.footer-header{margin-bottom:22px}.footer-logo img{width:155px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-delay:0ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.reveal,.wow{visibility:visible!important;transform:none!important}.cb-cursor{display:none!important}}
@media(hover:none){.cb-cursor{display:none!important}.service-image a{cursor:pointer}}
/* Progressive fallback: all content and navigation remain available without scripts. */
body:not(.frontend-ready) .reveal,body:not(.frontend-ready) .wow{visibility:visible}
@media(max-width:991px){body:not(.frontend-ready) header.main-header{position:relative;background:var(--primary-color);height:auto}body:not(.frontend-ready) .main-menu{display:block!important}body:not(.frontend-ready) .main-menu .navbar-nav{display:flex;flex-direction:column}body:not(.frontend-ready) .main-menu ul ul{position:static;visibility:visible;opacity:1;transform:none}body:not(.frontend-ready) .navbar-toggle{display:none}}
.split-word{white-space:nowrap}.btn-default.btn-highlighted::before{background-image:url('/images/arrow-white.svg');filter:brightness(0) saturate(100%) invert(57%) sepia(99%) saturate(1661%) hue-rotate(158deg) brightness(99%) contrast(88%)}
.company-cards .service-content{align-self:stretch}.how-we-work-list .how-we-work-item{width:calc((100% - 60px)/3)}.how-we-work .icon-box i{font-size:40px;color:var(--accent-color)}.how-we-work h3 a{color:inherit}@media(max-width:991px){.how-we-work-list .how-we-work-item{width:calc((100% - 30px)/2)}}@media(max-width:767px){.how-we-work-list .how-we-work-item{width:100%}}
/* Contact page contains one contact item, not the original three-item row. */
.contact-info-box .contact-info-item{width:100%;display:flex;gap:18px;align-items:flex-start}.contact-info-box .contact-info-item .icon-box{flex:0 0 60px;margin:0}.contact-info-box .contact-info-content{flex:1;width:auto}.contact-info-box .contact-info-content a{overflow-wrap:anywhere}
/* Clip only animated heading paint: translated glyphs must not widen the page mid-reveal. */
.text-anime-style-1,.text-anime-style-2,.text-anime-style-3{overflow:clip;overflow-clip-margin:2px}
.our-faqs-image .missing-image{aspect-ratio:1/1.26}@media(max-width:991px){.our-faqs-image .missing-image{aspect-ratio:1/.8}}
/* Original loader animation, with a no-script fallback and no pointer interception. */
.preloader{display:none;pointer-events:none}.js .preloader{display:flex}@media(prefers-reduced-motion:reduce){.js .preloader{display:none}}
.post-item-btn a::after{background-image:url('/images/arrow-white.svg');filter:brightness(0)}
/* These detail lists have no adjacent image column; use the available content width. */
.service-entry-content .service-entry-list{width:100%}.company-cards .product-card{padding-bottom:0;border-bottom:0}.service-entry-content .product-cards{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:767px){.service-entry-content .product-cards{grid-template-columns:1fr}}

/* Targeted compact typography and company-section polish. Forms/navigation retain their sizing. */
main p{font-size:15px;line-height:1.65}.hero .section-title p,.page-intro{font-size:16px}.article-body p,.enquiry-form p{font-size:16px}
.about-us,.our-services,.why-choose-us,.how-we-work,.our-faqs{padding-top:64px;padding-bottom:64px}.section-row{margin-bottom:40px}.section-title-content{margin-left:45px}
#our-companies.how-we-work{padding:56px 0}#our-companies.how-we-work .section-row{margin-bottom:32px}#our-companies.how-we-work .section-title h3{margin-bottom:12px}#our-companies.how-we-work .section-title h2{font-size:clamp(28px,3vw,40px)}
#our-companies .how-we-work-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}#our-companies .how-we-work-item{width:auto;min-width:0;display:flex;flex-direction:column}#our-companies .how-we-work-item .icon-box{height:34px;margin-bottom:18px;display:flex;align-items:center}#our-companies .icon-box i{font-size:32px}#our-companies .how-we-work-content{display:flex;flex-direction:column;flex:1}#our-companies .how-we-work-content h3{font-size:20px;line-height:1.3;margin-bottom:12px}#our-companies .how-we-work-content p{font-size:15px;line-height:1.65;max-width:39ch;margin:0 0 16px}.company-explore{font-size:14px;font-weight:600;color:var(--accent-color);margin-top:auto;padding:8px 0}.company-explore i{font-size:12px;margin-left:6px}.company-explore:hover{color:white}
.main-footer .footer-links{font-size:14px}.main-footer .footer-links p{font-size:14px;line-height:1.65;margin:0;max-width:46ch}.footer-links h3{margin-bottom:14px}.footer-links ul li{margin-bottom:4px}.footer-links ul li a{padding:4px 0}.footer-contact-item{margin-bottom:12px}.footer-contact-item:last-child{margin-bottom:0}.footer-contact-content p{font-size:14px}.footer-copyright-text{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.footer-copyright-text p{font-size:13px}.footer-copyright nav{margin:0;font-size:13px}
/* Two identical groups produce a continuous loop with a constant repeat interval. */
.contact-marquee{height:var(--contact-strip-height);display:flex;position:relative;background:var(--primary-color);color:white;border-bottom:1px solid var(--dark-divider-color);font-size:12px;line-height:1.4}.contact-marquee-window{overflow:hidden;flex:1;min-width:0}.contact-marquee-track{display:flex;width:max-content;height:100%;animation:contact-ticker 42s linear infinite}.contact-marquee-group{display:flex;align-items:center;justify-content:space-around;flex-shrink:0;width:max(100vw,1440px)}.contact-marquee-item{display:flex;align-items:center;gap:14px;white-space:nowrap;padding:0 18px}.contact-marquee a{color:var(--accent-color)}.marquee-dot{color:var(--accent-color)}.marquee-pause{width:36px;flex-shrink:0;border:0;background:var(--primary-color);color:white;font-size:11px}.contact-marquee:is(:hover,:focus-within,.is-paused) .contact-marquee-track{animation-play-state:paused}@keyframes contact-ticker{to{transform:translateX(-50%)}}
.quick-enquiry{padding:38px 0 0;background:var(--white-color)}.quick-enquiry-card{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:28px 32px;background:var(--primary-color);border-left:4px solid var(--accent-color)}.quick-enquiry-card h2{font-size:clamp(22px,2vw,28px);line-height:1.25;color:white;margin:0 0 8px}.quick-enquiry-card p{color:white;margin:0}.quick-enquiry-card .btn-default{flex-shrink:0}.quick-enquiry-card .btn-default:after{background:var(--accent-color)}.quick-enquiry-card .btn-default:hover{color:var(--primary-color)}
.partner-feedback{padding:32px 0 38px;text-align:center;background:var(--white-color)}.partner-feedback h2{font-size:24px;margin-bottom:12px}.testimonial-placeholder{margin:0 auto;max-width:55ch;padding:16px 24px;border:1px solid var(--divider-color);font-size:14px;color:var(--text-color)}
@media(max-width:991px){.about-us,.our-services,.why-choose-us,.how-we-work,.our-faqs{padding-top:48px;padding-bottom:48px}.section-title-content{margin-left:0}#our-companies .how-we-work-list{gap:22px}#our-companies .how-we-work-content h3{font-size:18px}.quick-enquiry-card{padding:24px}.footer-links{margin-bottom:22px}}
@media(max-width:767px){main p{font-size:16px;line-height:1.65}.section-row{margin-bottom:28px}.section-title,.section-title-content,.page-intro{text-align:center}.hero-content .section-title p,.section-title-content p{max-width:38ch;margin-left:auto;margin-right:auto}.hero-btn{justify-content:center}.company-cards{text-align:center}.company-cards .service-content{padding-left:22px;padding-right:22px}.company-cards .service-content p{max-width:37ch;margin:0 auto}.company-cards .missing-image{justify-content:center;padding-right:75px;padding-left:75px}.contact-widget{text-align:center}.contact-widget p{max-width:36ch;margin-left:auto;margin-right:auto}#our-companies.how-we-work{padding:44px 0}#our-companies .how-we-work-list{grid-template-columns:1fr;gap:28px}#our-companies .how-we-work-item{text-align:center;max-width:39ch;margin:auto;width:100%}#our-companies .how-we-work-item .icon-box{justify-content:center;margin-bottom:14px}#our-companies .how-we-work-content h3{font-size:20px}#our-companies .how-we-work-content p{font-size:16px;margin-bottom:10px}.quick-enquiry{padding-top:28px}.quick-enquiry-card{flex-direction:column;text-align:center;gap:20px;padding:24px 18px}.quick-enquiry-card p{max-width:36ch}.partner-feedback{padding:26px 0 30px}.partner-feedback h2{font-size:22px}.testimonial-placeholder{padding:14px 16px}.main-footer{padding-top:30px;text-align:center}.footer-logo img{margin:auto}.footer-links p{margin-left:auto!important;margin-right:auto!important}.footer-links ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px;max-width:340px;margin:auto}.footer-contact-item{justify-content:center}.footer-contact-content{width:auto}.footer-copyright-text{justify-content:center;flex-direction:column}.enquiry-dialog{padding:20px 16px}.enquiry-dialog .form-grid{gap:10px}.enquiry-dialog .form-note{font-size:13px}.enquiry-dialog .form-control{font-size:16px}body:not(.frontend-ready) header.main-header{top:0}}
@media(prefers-reduced-motion:reduce){.contact-marquee-track{animation:none;width:100%;transform:none}.contact-marquee-group{width:100%;justify-content:center}.contact-marquee-group[aria-hidden],.contact-marquee-item:not(:first-child),.marquee-dot,.marquee-pause{display:none}.contact-marquee-item{padding:0 10px}.contact-marquee-item>span:first-child{display:none}}

/* Black text on cyan keeps compact buttons readable. */
.btn-default::before{filter:brightness(0)}.btn-default:hover::before{filter:brightness(0) invert(1)}.btn-default.btn-highlighted{color:var(--primary-color)}.btn-default.btn-highlighted::before,.btn-default.btn-highlighted:hover::before,.quick-enquiry-card .btn-default:hover::before{filter:brightness(0)}.btn-default.btn-highlighted:hover{color:var(--primary-color)}

/* Focused catalogue extension and touch refinements; supplied components stay in place. */
.testimonial-placeholder{display:flex;align-items:center;gap:24px;text-align:left;max-width:760px;padding:24px 28px;background:var(--primary-color);border:0;border-top:2px solid var(--accent-color);border-radius:12px;color:white}.testimonial-quote{font-size:38px;color:var(--accent-color);flex-shrink:0}.testimonial-placeholder .sector-label{color:var(--accent-color);font-size:12px;margin-bottom:6px}.testimonial-placeholder p{margin:0 0 8px}.testimonial-status{font-size:12px;color:#ccc}
.home-approach{background:var(--secondery-color);padding:56px 0}.home-principles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.home-principles article{border-top:2px solid var(--accent-color);padding-top:22px}.home-principles i{color:var(--accent-color);font-size:26px;margin-bottom:16px}.home-principles h3{font-size:21px;margin-bottom:12px}.home-principles p{max-width:38ch;margin-bottom:0}.home-focus{padding:56px 0}.home-focus .section-title p{max-width:72ch}.focus-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.focus-links a{display:flex;align-items:center;gap:14px;border-top:1px solid var(--divider-color);padding:20px 0;font-weight:600}.focus-links a>i{color:var(--accent-color);font-size:22px}.focus-links a>i:last-child{margin-left:auto;font-size:15px}.focus-links small{display:block;font-size:13px;font-weight:400;margin-top:5px}
.product-cards .product-card{display:flex;flex-direction:column;background:var(--primary-color);color:white;max-width:100%;border-radius:12px}.product-visual{overflow:hidden}.product-visual>a{display:block}.product-visual img{display:block;width:100%;aspect-ratio:4/3;object-fit:contain;background:var(--secondery-color)}.product-image-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;aspect-ratio:4/3;background:var(--secondery-color);padding:24px;text-align:center;color:var(--primary-color);font-size:13px}.product-image-placeholder i{font-size:48px;color:var(--accent-color)}.product-card-content{padding:24px;display:flex;align-items:flex-start;flex:1;flex-direction:column}.product-card-content h2{font-size:24px;margin:10px 0 14px;line-height:1.25}.product-card-content h2 a{color:white}.product-card-content p{margin-bottom:16px}.product-cards .sector-label{background:transparent;color:var(--accent-color);padding:0;margin-bottom:8px;border-radius:0}.placeholder-label{display:block;font-size:12px!important;font-weight:600;padding:5px 10px;border:1px solid currentColor;width:fit-content;margin-bottom:12px}.product-meta{margin-top:auto;margin-bottom:18px}.product-meta p{margin:0}.product-meta .product-price{font-size:17px;font-weight:600}.product-meta .product-review{font-size:13px;margin-top:4px}.product-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:48px}.product-detail-image{border-radius:12px;overflow:hidden}.product-detail-image img{width:100%;max-height:520px;object-fit:contain}.product-detail-copy h2{font-size:30px;margin-bottom:18px}.product-detail-copy .hero-btn{margin-top:24px}.product-detail-copy p{max-width:58ch}.catalogue-filters a{border-radius:8px;min-height:44px}.catalogue-filters a[aria-current]{border-color:var(--primary-color)}.catalogue-filters a:active,.btn-default:active{transform:translateY(1px)}
@media(min-width:992px) and (max-width:1399px){.navbar-brand img{width:165px}.main-menu .nav-menu-wrapper{margin-left:12px}.main-menu ul li a{padding-left:8px!important;padding-right:8px!important}.header-btn{margin-left:12px}.header-btn .btn-default{padding-left:14px}}
@media(max-width:767px){
 main p,.hero-content .section-title p,.page-intro,#our-companies .how-we-work-content p{font-size:15px;line-height:1.65} .enquiry-form p,.article-body p{font-size:16px}
 .container{padding-left:20px;padding-right:20px}.row{--bs-gutter-x:24px}
 .hero-btn{gap:12px}.hero-btn .btn-default,.quick-enquiry-card .btn-default,.product-card-content .btn-default,.enquiry-dialog button[type=submit]{width:100%;max-width:340px;min-height:48px}.btn-default{display:inline-flex;align-items:center;justify-content:center;padding-top:14px;padding-bottom:14px}
 .about-us-content-body,.about-us-contact-list,.why-choose-item,.vision-mission-item,.service-copy,.best-selling-content,.home-principles{text-align:center}.about-us-contact-list{justify-content:center}.about-contact-item{justify-content:center}.about-us-content-list ul{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 18px}.about-us-content-list ul li{width:auto;margin:0}.why-choose-item{flex-direction:column;align-items:center;gap:14px}.why-choose-item .icon-box{margin:0}.why-choose-item-content{width:100%}.vision-mission-item .icon-box{margin-left:auto;margin-right:auto}.service-copy p,.best-selling-content>p{max-width:40ch;margin-left:auto;margin-right:auto}.service-copy ul,.service-copy ol{text-align:left}
 .slicknav_nav a,.slicknav_nav .slicknav_row{min-height:44px;padding:12px 18px;line-height:1.45}.slicknav_nav .slicknav_row a{padding:0}.slicknav_nav{max-height:calc(100dvh - 125px);overscroll-behavior:contain}.slicknav_nav a[aria-current]{text-decoration:underline;text-underline-offset:5px}
 .company-explore,.card-link{min-height:44px;padding:12px 4px}.footer-links ul li a{display:flex;justify-content:center;align-items:center;min-height:44px;padding:10px 0}.footer-links ul li{margin:0}.footer-copyright nav a{display:inline-block;min-height:44px;padding:12px 4px}.footer-contact-content a{display:inline-block;padding:10px 0}
 .home-approach,.home-focus{padding:40px 0}.home-principles,.focus-links{grid-template-columns:1fr;gap:22px}.home-principles article{max-width:400px;margin:auto;width:100%;padding-top:18px}.home-principles p{margin-left:auto;margin-right:auto}.home-focus .section-title p{margin-left:auto;margin-right:auto}.focus-links a{justify-content:center;flex-wrap:wrap;text-align:center;padding:18px 12px;gap:10px}.focus-links a>i:last-child{margin-left:4px}.focus-links small{font-size:13px}
 .testimonial-placeholder{flex-direction:column;text-align:center;gap:12px;padding:22px 18px}.testimonial-quote{font-size:30px}.testimonial-placeholder .sector-label{margin-bottom:8px}
 .catalogue-filters{justify-content:center;gap:8px}.category-intro{text-align:center}.product-cards{max-width:420px;margin-left:auto;margin-right:auto}.product-card-content{align-items:center;text-align:center;padding:22px}.product-card-content h2{font-size:23px}.product-card-content p{max-width:36ch}.product-card-content .product-meta p{margin:0 auto}.product-detail-grid{grid-template-columns:1fr;gap:26px;max-width:500px}.product-detail-copy{text-align:center}.product-detail-copy h2{font-size:26px}.product-detail-copy .placeholder-label{margin-left:auto;margin-right:auto}.product-detail-copy p{margin-left:auto;margin-right:auto}.product-detail-copy .hero-btn{flex-direction:column}.product-detail-copy .hero-btn .card-link{padding:12px}.enquiry-dialog{border-radius:12px}.enquiry-dialog button[type=submit]{display:flex;margin-left:auto;margin-right:auto}.dialog-close{color:var(--primary-color)}
}

/* Homepage composition: one container and rhythm, without changing shared pages. */
.page-home .container { width:100%; max-width:1240px; padding-inline:24px; margin-inline:auto; }
.page-home :is(.about-us,.our-services,.home-approach,.home-focus) { padding-block:120px; }
.page-home main > :not(.hero) .section-title { margin-bottom:48px; max-width:820px; }
.page-home main > :not(.hero) .section-title h3 { margin-bottom:12px; }
.page-home main > :not(.hero) .section-title h2 { margin-bottom:0; }
.page-home main > :not(.hero) .section-title p { margin:20px 0 0; max-width:68ch; }
.page-home .our-services { border-top:0; }
.page-home #our-companies .company-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); grid-auto-rows:1fr; gap:24px; margin:0; }
.page-home #our-companies .company-cards > div { width:auto; padding:0; }
.page-home #our-companies .service-item { height:100%; }
.page-home #our-companies .service-content { display:flex; flex-direction:column; padding:32px 28px 100px; align-self:stretch; }
.page-home #our-companies .service-content h3 { font-size:22px; min-height:2.5em; margin:0 0 14px; }
.page-home #our-companies .sector-label { align-self:flex-start; margin-bottom:24px; padding:0; border-radius:0; background:none; color:#d5d3cf; }
.page-home #our-companies .service-content p { margin:0; max-width:none; }
.page-home #our-companies .service-btn { top:auto; bottom:28px; right:28px; }
.page-home #our-companies .missing-image { min-height:0; padding:0; }
.page-home #our-companies .missing-image span { display:none; }
.page-home .home-principles { gap:32px; }
.page-home .home-principles article { display:flex; flex-direction:column; align-items:flex-start; padding-top:26px; }
.page-home .home-principles article > i { margin-bottom:20px; }
.page-home .home-principles h3 { margin-bottom:12px; }
.page-home .home-principles .sector-label { font-size:11px; min-height:3em; margin-bottom:16px; }
.page-home .home-principles p { max-width:none; margin:0 0 14px; }
.page-home .home-principles p:last-child { margin-bottom:0; }
.page-home .focus-links { gap:24px; }
.page-home .focus-links a { flex-direction:column; align-items:flex-start; gap:24px; padding:32px 24px; border:0; border-top:1px solid #d9d7d2; border-radius:0; background:none; }
.page-home .focus-links a > i:first-child { font-size:30px; }
.page-home .focus-links a > span { font-size:21px; }
.page-home .focus-links small { font-size:14px; margin-top:10px; }
.page-home .focus-links a > i:last-child { margin:4px 0 0; }


.page-home .partner-feedback h2 { font-size:clamp(28px,3vw,38px); margin-bottom:28px; }
.page-home .testimonial-placeholder { max-width:820px; padding:30px 36px; gap:28px; }
.page-home .main-footer .footer-header { margin-bottom:24px; }
@media(max-width:991px) {
 .page-home #our-companies .company-cards,.page-home .home-principles,.page-home .focus-links { gap:20px; }
 .page-home #our-companies .service-content { padding-inline:20px; }
 .page-home #our-companies .service-content h3 { font-size:19px; }
 .page-home .focus-links a { padding:24px 20px; }
}
@media(max-width:767px) {
 .page-home .container { padding-inline:20px; }
 .page-home :is(.about-us,.our-services,.home-approach,.home-focus,.partner-feedback) { padding-block:64px; }
 .page-home main > :not(.hero) .section-title { text-align:center; margin:0 auto 32px; }
 .page-home main > :not(.hero) .section-title p { max-width:40ch; margin:18px auto 0; }
 .page-home #our-companies .company-cards,.page-home .home-principles,.page-home .focus-links { grid-template-columns:1fr; gap:24px; }
 .page-home #our-companies .service-content { align-items:center; padding:28px 24px 96px; }
 .page-home #our-companies .service-content h3 { font-size:22px; min-height:0; }
 .page-home #our-companies .sector-label { align-self:center; }
 .page-home #our-companies .service-btn { right:calc(50% - 24px); bottom:24px; }
 .page-home .home-principles article { align-items:center; text-align:center; max-width:none; padding-top:24px; }
 .page-home .home-principles .sector-label { min-height:0; }
 .page-home .home-principles p { max-width:40ch; }
 .page-home .focus-links a { align-items:center; padding:28px 24px; gap:18px; }

 .page-home .testimonial-placeholder { padding:26px 22px; gap:18px; }
}

/* Homepage hierarchy: neutral surfaces, with cyan reserved for interaction. */
.page-home .hero {
    min-height: 100vh;
    min-height: 100svh;
    display: flex;
    align-items: center;
    padding: 160px 0 96px;
}
.page-home .hero .section-title { max-width:860px; }
.page-home .hero .section-title h1 { font-size:clamp(40px,4.5vw,64px); line-height:1.12; }
.page-home .hero .section-title h3 { color:#d5d3cf; }
.page-home .hero .btn-highlighted::before { filter:brightness(0) invert(1); }
.page-home .hero .btn-highlighted { background:transparent; color:white; border:1px solid #ffffff80; }
.page-home main > :not(.hero) .section-title h3 { color:#686661; }
.page-home main > :not(.hero) .section-title h2 span { color:inherit; }
.page-home .experience-counter { background:#f4f4f4; color:#111; }
.page-home .experience-counter :is(h3,p) { color:#111; }
.page-home .feedback-counter p { background:#111; color:white; }
.page-home .feedback-counter h3 { color:#333; }
.page-home .home-approach { background:#f4f4f4; }
.page-home .about-us-content-list ul li::before { color:#686661; }
.page-home :is(.about-contact-item,.why-choose-item) .icon-box { background:#f4f4f4; border-color:#dedcd7; }
.page-home :is(.about-contact-item,.why-choose-item) .icon-box i { color:#333; }
.page-home .why-choose-item .icon-box::before { background:#dedcd7; }
.page-home .home-approach .why-choose-item-content a { color:inherit; text-decoration:underline; text-underline-offset:4px; }
.page-home .home-approach .why-choose-item-content a:hover { color:var(--accent-color); }
.page-home .focus-links a > i:first-child { color:#686661; }
.page-home .focus-links a:is(:hover,:focus-visible) { border-color:var(--accent-color); }
.page-home .focus-links a:is(:hover,:focus-visible) > i { color:var(--accent-color); }
.page-home .partner-feedback { padding-block:96px; }
.page-home .partner-card { border-radius:0; background:#f4f4f4; }
.page-home .partner-card > i { color:#686661; }
.page-home .home-enquiry { padding:48px 0; background:#f4f4f4; }
.page-home .home-enquiry .quick-enquiry { padding:0; margin:0; background:none; }
.page-home .home-enquiry .quick-enquiry-card { padding:32px 0; border:0; background:none; color:#111; }
.page-home .home-enquiry .quick-enquiry-card :is(h2,p) { color:#111; }
.page-home .main-footer { padding-top:64px; }
.page-home .footer-header { position:relative; padding-top:24px; }
.page-home .footer-header::before { content:""; position:absolute; top:0; left:0; width:96px; height:1px; background:var(--accent-color); }
.page-home .footer-header::after { content:""; position:absolute; top:-2px; left:96px; width:5px; height:5px; border-radius:50%; background:var(--accent-color); }
.page-home #our-companies,.page-home #our-approach { scroll-margin-top:112px; }
.page-home .operating-stages { display:flex; list-style:none; margin:0 0 40px; padding:0; }
.page-home .operating-stages li { position:relative; flex:1; padding:24px 8px 0 0; border-top:1px solid var(--accent-color); font-size:14px; font-weight:600; }
.page-home .operating-stages li::before { content:""; position:absolute; top:-3px; left:0; width:5px; height:5px; border-radius:50%; background:var(--accent-color); }
@media (min-width:768px) and (max-width:991px) {
 .page-home .hero { min-height:80vh; min-height:80svh; }
}
@media (max-width:767px) {
 .page-home .hero { min-height:0; padding:144px 0 72px; }
 .page-home .hero .section-title h1 { font-size:clamp(34px,8vw,44px); }
 .page-home .hero .section-title { text-align:center; }
 .page-home .partner-feedback { padding-block:64px; }
 .page-home .home-enquiry { padding:32px 0; }
 .page-home .home-enquiry .quick-enquiry-card { padding:0; gap:24px; }
 .page-home .operating-stages { margin-bottom:32px; text-align:center; }
 .page-home .operating-stages li { padding-inline:4px; font-size:13px; }
 .page-home .operating-stages li::before { left:calc(50% - 2px); }
 .page-home .footer-header::before { left:calc(50% - 48px); }
 .page-home .footer-header::after { left:calc(50% + 48px); }
}

/* Preserve the original photo compositions without public asset-status labels. */
.page-home :is(.about-us-images,.why-choose-images) .missing-image span{display:none}

/* Partner cards above the enquiry/footer, using the existing Swiper controls. */
.partner-feedback { padding:64px 0; background:white; color:#000; }
.partner-feedback > .container > .sector-label { color:#000; margin-bottom:12px; }
.partner-feedback h2,.page-home .partner-feedback h2 { font-size:clamp(28px,3vw,38px); margin-bottom:14px; }
.partner-feedback-intro { max-width:55ch; margin:0 auto 32px; color:#000; }
.partner-carousel .swiper-wrapper { align-items:stretch; }
.partner-card { background:#f4f4f4; color:#000; border-radius:12px; padding:30px; height:auto; text-align:left; display:flex; flex-direction:column; }
.partner-card > i { font-size:30px; color:var(--accent-color); margin-bottom:22px; }
.partner-card h3 { font-size:20px; margin-bottom:12px; color:#000; }
.partner-card p { margin-bottom:22px; color:#000; }
.partner-card .testimonial-author { color:#000; margin-top:auto; padding-top:16px; border-top:1px solid #ddd; font-size:12px; }
.partner-carousel:not(.swiper-initialized) .swiper-wrapper { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.partner-carousel-controls { display:flex; align-items:center; justify-content:center; gap:18px; margin-top:24px; }
.partner-carousel-controls[hidden],.partner-carousel-controls:has(.swiper-button-lock) { display:none; }
.partner-carousel-controls button { width:44px; height:44px; flex-shrink:0; border:1px solid #ddd; border-radius:50%; background:#f4f4f4; color:#000; }
.partner-carousel-controls button:disabled { opacity:.4; cursor:default; }
.partner-pagination { width:auto!important; display:flex; align-items:center; }
.partner-pagination .swiper-pagination-bullet { background:#000; width:10px; height:10px; margin:0 7px!important; }
.partner-pagination .swiper-pagination-bullet-active { background:var(--accent-color); }
.main-footer.footer-with-enquiry { padding-top:0; }
.main-footer .quick-enquiry,.page-home .main-footer .quick-enquiry { padding:0; background:var(--primary-color); margin:0 0 40px; }
.main-footer .quick-enquiry-card { border:0; border-bottom:1px solid var(--dark-divider-color); padding:40px 0; gap:32px; background:var(--primary-color); }
.main-footer.footer-with-enquiry .footer-header { padding-bottom:0; margin-bottom:30px; border:0; }
.main-footer.footer-with-enquiry .footer-logo { padding-top:0; }
.main-footer .quick-enquiry-card p { font-size:15px; line-height:1.65; }
.footer-product-categories li { overflow-wrap:anywhere; }
.partner-card blockquote { margin:0 0 24px; }
.partner-card blockquote p { margin:0; }
.partner-card .testimonial-author strong { display:block; font-size:15px; margin-bottom:6px; }
.partner-card .testimonial-author span { display:block; font-size:13px; line-height:1.5; color:#5b6169; }
.partner-card .testimonial-author a { color:#000; font-weight:600; line-height:1.5; text-decoration:underline; text-underline-offset:3px; }
.partner-card .testimonial-author a:is(:hover,:focus-visible) { color:var(--accent-color); outline:2px solid var(--accent-color); outline-offset:3px; }
.personal-references { margin-top:48px; }
.personal-references > h3 { font-size:24px; margin:0 0 20px; }
.personal-reference-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.personal-reference { min-height:100%; }
.personal-reference h4 { color:#000; font-size:18px; margin:0 0 14px; }
.page-home .partner-feedback h2 { margin-bottom:32px; }
/* Split-image enquiry dialog; all fields still use the shared enquiry handler. */
.enquiry-dialog { width:min(760px,calc(100% - 48px)); padding:0; border-radius:8px; overflow:hidden; background:#fff; max-height:min(680px,82dvh); box-shadow:0 24px 80px #0004; }
.enquiry-dialog[open] { display:grid; grid-template-columns:30% minmax(0,1fr); }
.enquiry-dialog::backdrop { background:rgb(20 28 32 / 48%); }
.enquiry-visual { position:relative; min-width:0; background:#f4f4f4; }
.enquiry-visual img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:62% center; }
.enquiry-panel { padding:28px; overflow-y:auto; overscroll-behavior:contain; max-height:min(680px,82dvh); min-width:0; }
.enquiry-panel > .sector-label { font-size:11px; margin:0 40px 12px 0; color:#000; }
.enquiry-dialog h2 { font-size:28px; margin-bottom:8px; color:#000; }
.enquiry-dialog #enquiry-description { font-size:14px; margin-bottom:16px; color:#333; max-width:45ch; }
.enquiry-dialog .dialog-close { position:absolute; top:10px; right:10px; float:none; margin:0; border-radius:50%; background:#f4f4f4; color:#000; z-index:3; }
.enquiry-dialog .form-group label { margin-bottom:6px; font-size:13px; color:#000; }
.enquiry-dialog .form-control { background:#fff; border:1px solid #d5d5d5; border-radius:4px; font-size:16px; }
.enquiry-dialog .form-grid { gap:12px; margin-bottom:12px; }
.enquiry-dialog .form-note { font-size:12px; line-height:1.5; }
.enquiry-dialog textarea { min-height:64px; height:64px; }
.enquiry-dialog button[type=submit] { display:block; width:100%; max-width:none; margin-top:16px; }
@media(max-width:767px) {
 .partner-feedback { padding:48px 0; }
 .partner-card { padding:26px 22px; text-align:center; }
 .partner-feedback-intro { margin-bottom:26px; }
 .partner-carousel:not(.swiper-initialized) .swiper-wrapper { grid-template-columns:1fr; }
 .personal-reference-grid { grid-template-columns:1fr; }
 .main-footer .quick-enquiry-card { padding:28px 0; }
 .main-footer .quick-enquiry { margin-bottom:28px; }
 .main-footer .footer-product-categories ul { grid-template-columns:1fr; }
 .enquiry-dialog { width:min(440px,calc(100% - 40px)); max-height:80dvh; }
 .enquiry-dialog[open] { grid-template-columns:1fr; }
 .enquiry-visual { display:none; }
 .enquiry-panel { padding:24px 20px; max-height:80dvh; }
 .enquiry-dialog h2 { font-size:28px; }
 .enquiry-dialog .form-grid { gap:12px; }
}

/* Muted YouTube background stays behind the existing hero copy and black scrim. */
.hero.hero-video { overflow:hidden; isolation:isolate; }
.hero.hero-video .hero-bg-video { position:absolute; inset:0; width:100%; height:100%; overflow:hidden; pointer-events:none; z-index:0; opacity:0; transition:opacity .6s ease; }
.hero.hero-video.video-playing .hero-bg-video { opacity:1; }
.hero.hero-video .hero-bg-video iframe { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); border:0; max-width:none; pointer-events:none; }
.hero.hero-video::before { background:rgba(0,0,0,.6); pointer-events:none; z-index:1; }
.hero.hero-video > .container { position:relative; z-index:2; }
@media(prefers-reduced-motion:reduce) { .hero.hero-video .hero-bg-video { display:none; transition:none; } }

/* Supplied photography fills existing frames; unmatched slots stay black. */
.missing-image,.product-image-placeholder { background:var(--primary-color); color:white; border:0; }
.company-cards .service-image img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.company-cards .service-image a figure::before { background:linear-gradient(180deg,rgba(0,0,0,.62),rgba(0,0,0,.78)); }
.service-featured-img img { display:block; width:100%; aspect-ratio:16/9; object-fit:cover; }
.main-footer .footer-credit { margin:20px 0 0; text-align:center; font-size:13px; }
.main-footer .footer-credit a { display:inline-block; padding:8px; color:white; text-underline-offset:4px; }
.main-footer .footer-credit a:hover { color:var(--accent-color); text-decoration:underline; }

/* FAQ page: centered accordion without the image column. */
body.page-faqs .our-faqs .col-lg-5 {
    display: none;
}
body.page-faqs .our-faqs .row {
    justify-content: center;
}
body.page-faqs .our-faqs .col-lg-7 {
    flex: 0 1 960px;
    width: 100%;
    max-width: 100%;
}
body.page-faqs .our-faqs-content {
    margin: 0;
}
body.page-faqs .our-faqs .section-title {
    text-align: center;
}
body.page-faqs .faq-list {
    text-align: left;
}

/* Let each repeated ticker group fit its text without overlap. */
@media (prefers-reduced-motion: no-preference) {
    .contact-marquee-group {
        width: max-content;
        min-width: 100vw;
        flex: 0 0 auto;
        justify-content: space-around;
        gap: 48px;
        padding-right: 48px;
    }
    .contact-marquee-item {
        flex: 0 0 auto;
        gap: 14px;
        padding: 0;
    }
}

/* Product cards: light surface, contained images and aligned actions. */
.product-cards .product-card {
    background: #fff;
    color: #111;
    border: 1px solid #e5e7eb;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 8px 28px rgb(0 0 0 / 5%);
}
.product-cards .product-visual {
    background: #f4f4f4;
    border-bottom: 1px solid #e5e7eb;
}
.product-cards .product-visual img {
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 3;
    object-fit: contain;
    padding: 16px;
    background: #f4f4f4;
}
.product-cards .product-card-content {
    flex: 1;
    padding: 24px;
    align-items: flex-start;
    text-align: left;
}
.product-cards .sector-label {
    background: #eaf8fd;
    color: #06749b;
    border-radius: 50px;
    padding: 7px 12px;
    margin: 0 0 16px;
    font-size: 11px;
    line-height: 1.4;
    letter-spacing: .7px;
}
.product-cards .product-card-content h2 {
    font-size: 24px;
    line-height: 1.25;
    margin: 0 0 12px;
}
.product-cards .product-card-content h2 a {
    color: #111;
}
.product-cards .product-card-content p {
    color: #5b6169;
    font-size: 15px;
    line-height: 1.65;
    max-width: none;
    margin: 0 0 24px;
}
.product-cards .product-card-content .btn-default {
    margin-top: auto;
    width: 100%;
    max-width: none;
    border-radius: 9px;
    text-align: center;
}
@media (min-width: 768px) and (max-width: 991px) {
    .content-grid.product-cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* Compact contact prompt, separate from the enquiry modal. */
.whatsapp-widget { position:fixed; right:max(18px,env(safe-area-inset-right)); bottom:max(18px,env(safe-area-inset-bottom)); z-index:90; display:flex; align-items:flex-end; gap:12px; max-width:calc(100vw - 36px); }
.whatsapp-widget .whatsapp-button { position:static; flex:0 0 52px; background:#000000; color:#ffffff; }
.whatsapp-widget .whatsapp-button:hover { background:#128c46; color:white; }
.whatsapp-greeting { position:relative; background:white; color:#111; border:1px solid #e5e7eb; box-shadow:0 6px 24px #0002; border-radius:12px; padding:14px 44px 14px 16px; }
.whatsapp-greeting[hidden] { display:none; }
.whatsapp-greeting a { display:block; color:#111; }
.whatsapp-greeting strong,.whatsapp-greeting span { display:block; }
.whatsapp-greeting strong { font-size:14px; }
.whatsapp-greeting span { margin-top:4px; font-size:12px; }
.whatsapp-dismiss { position:absolute; right:0; top:0; width:44px; height:44px; border:0; background:transparent; color:#555; font-size:22px; }
body:has(.enquiry-dialog[open]) .whatsapp-widget { visibility:hidden; }
.enquiry-dialog .contact-form .form-control { min-height:44px; padding:8px 10px; }
@media(max-width:480px) { .whatsapp-greeting { padding-left:12px; } .whatsapp-widget { gap:8px; } }
