/* COMPS shared image-based footer - Sep 2026 */
.cf-footer,.cf-footer *{box-sizing:border-box}
.cf-footer{font-family:"DM Sans",Arial,sans-serif;color:#e7f1ff;isolation:isolate}
.cf-wave{background:#f2f8ff;min-height:82px;position:relative;overflow:hidden}
.cf-wave:before{content:"";position:absolute;width:130%;height:110px;left:-10%;top:-90px;background:white;border-radius:0 0 50% 50%}
.cf-wave-inner{position:relative;max-width:1500px;min-height:82px;margin:auto;padding:35px 4% 8px;display:flex;justify-content:flex-end;align-items:center}
.cf-wave span{color:#1750b0;font-size:clamp(15px,1.6vw,22px);font-style:italic;font-weight:700;transform:rotate(-3deg)}
.cf-main{background:linear-gradient(115deg,#061a30 0%,#09294b 49%,#073d73 100%);padding:58px 0 0}
.cf-inner{max-width:1530px;margin:0 auto;padding:0 4%}
.cf-grid{display:grid;grid-template-columns:minmax(195px,1.35fr) minmax(120px,.78fr) minmax(105px,.67fr) minmax(230px,1.2fr) minmax(230px,1.25fr);column-gap:clamp(18px,2.3vw,38px);align-items:start}
.cf-footer h2{color:#fff;font-weight:800;font-size:clamp(17px,1.4vw,21px);line-height:1.3;margin:1px 0 24px}
.cf-footer p,.cf-footer address{color:#d2e0f4;font-size:15px;line-height:1.65;font-weight:400;margin:0}
.cf-footer a{color:#ebf4ff;text-decoration:none!important}
.cf-footer a:hover,.cf-footer a:focus-visible{color:#83c7ff;text-decoration:underline!important}
.cf-footer a:focus-visible{outline:2px solid #81c7ff;outline-offset:3px}
.cf-logo{display:block;height:70px;width:min(100%,245px);overflow:hidden;position:relative}
.cf-logo img{position:absolute;width:100%;height:auto;top:50%;left:0;transform:translateY(-47%);object-fit:contain}
.cf-logo-tagline{font-size:11px;letter-spacing:.14em;color:#f1f7ff;margin:0 0 27px;font-weight:700}
.cf-about>p{max-width:255px;font-size:17px}
.cf-benefits{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-top:37px;max-width:320px}
.cf-benefits span{text-align:center;font-size:10px;line-height:1.35;color:#fff}
.cf-benefits i{display:flex;align-items:center;justify-content:center;margin:0 auto 9px;border:1px solid #b2d4fa;border-radius:50%;width:45px;height:45px;font-size:19px;color:#c8e3ff}
.cf-links>a{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 18px;font-size:15px;font-weight:600}
.cf-links>a span{font-size:22px;font-weight:400}
.cf-brands{display:flex;flex-direction:column;align-items:flex-start;gap:4px}
.cf-brands h2{margin-bottom:11px}
.cf-brands>a{display:flex;align-items:center;justify-content:flex-start;width:120px;height:57px;overflow:hidden;transition:transform .2s ease}
.cf-brands>a:hover{transform:translateX(4px)}
.cf-brands img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 0 2px rgba(255,255,255,.16))}
.cf-info{display:grid;grid-template-columns:25px minmax(0,1fr);align-items:start;gap:10px;margin:0 0 20px;font-size:15px;line-height:1.6;overflow-wrap:anywhere}
.cf-info i{color:#66b1ff;font-size:20px;margin-top:3px}
.cf-cta{display:flex;gap:10px;flex-wrap:wrap;margin-top:29px}
.cf-cta a{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 15px;border-radius:9px;font-size:14px;font-weight:800;color:#fff!important;min-height:45px}
.cf-cta a:hover{filter:brightness(1.15);text-decoration:none!important}
.cf-call{background:#076feb}.cf-wa{background:#0eae60}
.cf-enquiry{display:inline-block;margin-top:15px;font-weight:700}
.cf-social p{margin-bottom:16px}
.cf-mail{display:flex;align-items:center;gap:12px;border-radius:9px;background:#096cf0;padding:13px 14px;color:white!important;min-height:48px;font-weight:700}
.cf-mail:hover{color:#fff!important;background:#247eff;text-decoration:none!important}
.cf-follow-title{margin:27px 0 12px!important}
.cf-social-icons{display:flex;flex-wrap:wrap;gap:10px}
.cf-social-icons img{width:44px;height:44px;object-fit:contain}
.cf-printer{display:block;width:125%;max-width:340px;height:auto;object-fit:contain;margin:16px 0 -4px -5%;filter:drop-shadow(0 9px 16px #030b1599)}
.cf-bottom{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:center;border-top:1px solid #8ab4d959;padding-top:20px;padding-bottom:23px;margin-top:18px}
.cf-bottom p{font-size:12px;color:#dce9f8}.cf-bottom p:nth-child(2){text-align:center}.cf-bottom .cf-up{display:inline-grid;place-items:center;background:#0878f6;width:39px;height:39px;border-radius:50%;font-size:22px;margin-left:12px;color:#fff!important}
@media(max-width:1150px){.cf-grid{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:35px}.cf-social{grid-column:2/4}.cf-printer{max-width:300px;width:100%;margin:10px 0 -5px}}
@media(max-width:700px){.cf-main{padding-top:36px}.cf-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 18px}.cf-about,.cf-contact,.cf-social{grid-column:1/-1}.cf-social{grid-column:1/-1}.cf-contact{grid-row:auto}.cf-about>p{max-width:100%}.cf-social-icons img{width:42px;height:42px}.cf-printer{max-width:310px}.cf-bottom{justify-content:center;text-align:center;flex-direction:column}.cf-wave{min-height:65px}.cf-wave-inner{min-height:65px}}
@media(prefers-reduced-motion:reduce){.cf-brands>a{transition:none}}


/* COMPS footer final alignment – 2026.09 */
.cf-footer{width:100%;overflow:hidden}
.cf-footer .cf-main{padding:56px 0 0}
.cf-footer .cf-inner{width:100%;max-width:1510px;margin:0 auto;padding-inline:clamp(22px,3vw,48px)}
.cf-footer .cf-grid{
  display:grid;
  grid-template-columns:minmax(0,1.13fr) minmax(0,.84fr) minmax(0,.66fr) minmax(0,1.30fr) minmax(0,1.22fr);
  grid-template-areas:"about links brands contact social";
  align-items:start;
  column-gap:clamp(20px,2.3vw,38px);
  row-gap:36px;
}
.cf-footer .cf-grid>*{min-width:0;margin:0;grid-row:auto;grid-column:auto}
.cf-footer .cf-about{grid-area:about}
.cf-footer .cf-links{grid-area:links}
.cf-footer .cf-brands{grid-area:brands;gap:4px;align-items:flex-start}
.cf-footer .cf-contact{grid-area:contact}
.cf-footer .cf-social{grid-area:social;display:grid;align-content:start;justify-items:stretch;grid-template-areas:"heading" "description" "mail" "follow" "icons" "printer";grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto auto auto auto;gap:0}
.cf-footer .cf-grid h2{margin:0 0 22px!important;font-size:clamp(17px,1.35vw,20px);line-height:1.35}
.cf-footer .cf-logo{width:225px;max-width:100%;height:68px}
.cf-footer .cf-logo-tagline{margin-bottom:26px}
.cf-footer .cf-about>p{max-width:260px}
.cf-footer .cf-benefits{width:100%;max-width:300px;gap:7px;margin-top:34px}
.cf-footer .cf-benefits i{width:42px;height:42px}
.cf-footer .cf-links>a{min-height:24px;margin-bottom:15px;gap:10px}
.cf-footer .cf-brands h2{margin-bottom:14px!important}
.cf-footer .cf-brands>a{width:122px;height:47px;min-height:47px;padding:0;justify-content:flex-start;flex:none}
.cf-footer .cf-brands img{width:100%;height:100%;max-height:47px;object-fit:contain;object-position:left center}
.cf-footer .cf-contact .cf-info{grid-template-columns:23px minmax(0,1fr);gap:10px;margin:0 0 18px}
.cf-footer .cf-contact address{font-style:normal}
.cf-footer .cf-cta{margin-top:23px;gap:10px}
.cf-footer .cf-cta a{white-space:nowrap}
.cf-footer .cf-social>h2:first-child{grid-area:heading}
.cf-footer .cf-social>p{grid-area:description;margin:0 0 16px}
.cf-footer .cf-mail{grid-area:mail;width:100%;max-width:none;min-width:0}
.cf-footer .cf-follow-title{grid-area:follow;margin:24px 0 12px!important}
.cf-footer .cf-social-icons{grid-area:icons;display:flex;flex-wrap:wrap;align-items:center;gap:10px;width:100%;margin:0 0 18px}
.cf-footer .cf-social-icons img{display:block;width:43px;height:43px;max-width:43px;object-fit:contain}
.cf-footer .cf-printer{grid-area:printer;display:block;width:100%;max-width:325px;height:auto;object-fit:contain;object-position:center bottom;justify-self:center;margin:0;filter:drop-shadow(0 9px 16px #030b1599)}
.cf-footer .cf-bottom{margin-top:36px;padding-top:20px;padding-bottom:25px;gap:18px;align-items:center;display:grid;grid-template-columns:1fr 1fr 1fr}
.cf-footer .cf-bottom p{margin:0;min-width:0}
.cf-footer .cf-bottom p:nth-child(2){text-align:center}
.cf-footer .cf-bottom p:last-child{text-align:right}
@media(max-width:1250px){
 .cf-footer .cf-grid{grid-template-columns:minmax(0,1.06fr) minmax(0,.85fr) minmax(0,.85fr);grid-template-areas:"about links brands" "contact contact social";column-gap:36px;row-gap:40px}
 .cf-footer .cf-contact .cf-info{max-width:530px}
 .cf-footer .cf-printer{max-width:300px;justify-self:start}
}
@media(max-width:800px){
 .cf-footer .cf-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"about links" "brands contact" "social social";gap:34px 24px}
 .cf-footer .cf-social{max-width:100%}
 .cf-footer .cf-printer{max-width:300px;justify-self:start}
 .cf-footer .cf-bottom{grid-template-columns:1fr;text-align:center;justify-items:center}
 .cf-footer .cf-bottom p:last-child{text-align:center}
}
@media(max-width:540px){
 .cf-footer .cf-main{padding-top:35px}
 .cf-footer .cf-inner{padding-inline:20px}
 .cf-footer .cf-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"about about" "links brands" "contact contact" "social social";gap:34px 16px}
 .cf-footer .cf-about>p{max-width:none}
 .cf-footer .cf-benefits{max-width:320px}
 .cf-footer .cf-brands>a{width:100%;max-width:120px}
 .cf-footer .cf-printer{justify-self:center}
 .cf-footer .cf-bottom{margin-top:25px}
}
@media(prefers-reduced-motion:reduce){.cf-footer .cf-brands>a{transition:none}}


/* COMPS footer exact placement fix – 2026.09 */
.cf-footer .cf-grid, .cf-footer .cf-grid *{float:none!important}
.cf-footer .cf-social,
.cf-footer .cf-social *{position:relative; z-index:1}
.cf-footer .cf-social{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  gap:0!important;
  min-width:0;
}
.cf-footer .cf-social > h2:first-child{margin:0 0 18px!important}
.cf-footer .cf-social > p{margin:0 0 18px!important;max-width:360px}
.cf-footer .cf-mail{
  display:flex!important;
  width:100%!important;
  max-width:345px!important;
  margin:0 0 26px!important;
  padding:14px 16px!important;
}
.cf-footer .cf-follow-title{
  display:block!important;
  width:auto!important;
  margin:0 0 12px!important;
  padding:0!important;
  background:none!important;
  border:none!important;
  box-shadow:none!important;
}
.cf-footer .cf-social-icons{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  justify-content:flex-start!important;
  width:auto!important;
  max-width:100%!important;
  gap:12px!important;
  margin:0 0 18px!important;
  padding:0!important;
  background:none!important;
  border:none!important;
  box-shadow:none!important;
}
.cf-footer .cf-social-icons img{
  display:block!important;
  width:44px!important;
  height:44px!important;
  max-width:44px!important;
  background:none!important;
  border:none!important;
  box-shadow:none!important;
}
.cf-footer .cf-printer{
  display:block!important;
  width:100%!important;
  max-width:330px!important;
  height:auto!important;
  margin:0!important;
  align-self:flex-start!important;
  justify-self:auto!important;
  background:none!important;
  border:none!important;
  box-shadow:none!important;
}
.cf-footer .cf-brands{gap:8px!important}
.cf-footer .cf-brands>a{height:50px!important}
.cf-footer .cf-bottom{
  clear:both!important;
  position:relative;
  z-index:2;
  margin-top:34px!important;
  display:grid!important;
  grid-template-columns:1fr 1fr 1fr!important;
  align-items:center!important;
}
.cf-footer .cf-bottom p:first-child{text-align:left!important}
.cf-footer .cf-bottom p:nth-child(2){text-align:center!important}
.cf-footer .cf-bottom p:last-child{text-align:right!important}
@media (max-width:1250px){
  .cf-footer .cf-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,.82fr) minmax(0,.76fr) minmax(0,1.18fr) minmax(0,1.16fr)!important}
}
@media (max-width:900px){
  .cf-footer .cf-grid{grid-template-columns:1fr 1fr!important;grid-template-areas:"about links" "brands contact" "social social"!important}
  .cf-footer .cf-printer{max-width:300px!important}
  .cf-footer .cf-bottom{grid-template-columns:1fr!important}
  .cf-footer .cf-bottom p:first-child,
  .cf-footer .cf-bottom p:nth-child(2),
  .cf-footer .cf-bottom p:last-child{text-align:center!important}
}
@media (max-width:540px){
  .cf-footer .cf-grid{grid-template-columns:1fr!important;grid-template-areas:"about" "links" "brands" "contact" "social"!important}
  .cf-footer .cf-mail{max-width:none!important}
  .cf-footer .cf-printer{max-width:280px!important;align-self:center!important}
}


/* COMPS footer line-up fix – move bottom row upward */
.cf-footer .cf-social>p{margin-bottom:14px!important}
.cf-footer .cf-mail{margin-bottom:18px!important}
.cf-footer .cf-follow-title{margin-bottom:10px!important}
.cf-footer .cf-social-icons{margin-bottom:10px!important}
.cf-footer .cf-printer{
  max-width:255px!important;
  width:100%!important;
  margin-top:0!important;
  filter:drop-shadow(0 7px 14px #030b1599)!important;
}
.cf-footer .cf-grid{row-gap:28px!important}
.cf-footer .cf-bottom{
  margin-top:14px!important;
  padding-top:16px!important;
  padding-bottom:18px!important;
}
@media (max-width:900px){
  .cf-footer .cf-printer{max-width:220px!important}
  .cf-footer .cf-bottom{margin-top:18px!important}
}

/* COMPS: persistent about and four service highlights (all pages) */
.cf-footer .cf-about{
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  visibility:visible!important;
  opacity:1!important;
  min-width:0!important;
  overflow:visible!important;
}
.cf-footer .cf-about > p{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  color:#e5f0ff!important;
  font-size:16px!important;
  line-height:1.7!important;
  margin:10px 0 0!important;
  max-width:275px!important;
}
.cf-footer .cf-about .cf-benefits{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  align-items:start!important;
  gap:8px!important;
  width:100%!important;
  max-width:310px!important;
  margin:25px 0 0!important;
  visibility:visible!important;
  opacity:1!important;
}
.cf-footer .cf-about .cf-benefits > span{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
  min-width:0!important;
  color:#fff!important;
  font-size:10px!important;
  line-height:1.4!important;
  text-align:center!important;
  visibility:visible!important;
  opacity:1!important;
}
.cf-footer .cf-about .cf-benefits i{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:42px!important;
  height:42px!important;
  min-height:42px!important;
  border:1px solid #b2d4fa!important;
  border-radius:50%!important;
  margin:0 auto 9px!important;
  color:#d3eaff!important;
  font-size:19px!important;
  visibility:visible!important;
  opacity:1!important;
}
@media(max-width:540px){
  .cf-footer .cf-about > p{max-width:100%!important}
  .cf-footer .cf-about .cf-benefits{max-width:320px!important}
}


/* Stable, self-contained service icons: no Font Awesome download required. */
.cf-footer .cf-about .cf-benefits .cf-benefit-icon {
  display:block !important;
  flex:none !important;
  width:43px !important;
  height:43px !important;
  min-width:43px !important;
  min-height:43px !important;
  padding:9px !important;
  margin:0 auto 9px !important;
  border:1px solid #b8d9ff !important;
  border-radius:50% !important;
  background:rgba(255,255,255,.035) !important;
  color:#e1f1ff !important;
  stroke:#e1f1ff !important;
  fill:none !important;
  overflow:visible !important;
  visibility:visible !important;
  opacity:1 !important;
  filter:none !important;
}
@media(max-width:540px){
 .cf-footer .cf-about .cf-benefits .cf-benefit-icon{width:40px!important;height:40px!important;min-width:40px!important;min-height:40px!important;padding:8px!important}
}

/* Real local WebP icons — reliable even if data: images are blocked by hosting CSP. */
.cf-footer .cf-social-icons img{
  display:block!important; flex:0 0 44px!important;
  width:44px!important; height:44px!important;
  min-width:44px!important; min-height:44px!important;
  max-width:44px!important; max-height:44px!important;
  object-fit:contain!important; opacity:1!important; visibility:visible!important;
  margin:0!important; padding:0!important; border:0!important;
  background:transparent!important; box-shadow:none!important;
}
