/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Nov 04 2026 | 03:37:40 */
/* Global – service page components
   1. Service cards: the "Our ... services" / "What we do" grids (svc-hub-what rows)
   2. CTA band: the "CTA band" Global Section (mk-band), built with Scrolling Text elements
   2b. Services CTA band: "Book a free Project Discovery Session" (mk-svc-cta)
   3. Links in the intro section below the banner use the brand green */

/* ---------- 1. Service cards ---------- */
body .svc-hub-what .wpb_row.inner_row { margin-bottom: 0 !important; }
body .svc-hub-what .wpb_row.inner_row > .row_col_wrap_12_inner { align-items: stretch; }
body .svc-hub-what .wpb_row.inner_row > .row_col_wrap_12_inner > .vc_col-sm-6 { margin-bottom: 24px !important; }
body .svc-hub-what .wpb_row.inner_row:last-child > .row_col_wrap_12_inner > .vc_col-sm-6 { margin-bottom: 0 !important; }
@media only screen and (min-width: 1000px) {
  body .svc-hub-what .wpb_row.inner_row > .row_col_wrap_12_inner { margin-left: 0 !important; margin-right: 0 !important; width: 100% !important; }
  body .svc-hub-what .wpb_row.inner_row > .row_col_wrap_12_inner > .vc_col-sm-6 { width: 50% !important; margin-left: 0 !important; margin-right: 0 !important; box-sizing: border-box; }
  body .svc-hub-what .wpb_row.inner_row > .row_col_wrap_12_inner > .vc_col-sm-6:nth-child(2n+1) { padding: 0 12px 0 0 !important; }
  body .svc-hub-what .wpb_row.inner_row > .row_col_wrap_12_inner > .vc_col-sm-6:nth-child(2n) { padding: 0 0 0 12px !important; }
}
body .svc-hub-what .wpb_row.inner_row .vc_col-sm-6 > .vc_column-inner,
body .wpb_row.svc-spacing:not(.svc-hub-faq) .wpb_row.inner_row:last-child .vc_col-sm-6 > .vc_column-inner.svc-card-fix {
  position: relative;
  height: 100%;
  box-sizing: border-box;
  background: #f7f8f5;
  border: 1px solid #e3e6de;
  border-radius: 16px;
  padding: 104px 32px 30px !important;
  transition: border-color .2s ease, box-shadow .2s ease;
}
body .wpb_row.svc-spacing:not(.svc-hub-faq) .wpb_row.inner_row:last-child .svc-hub-what-x { padding-bottom: 30px !important; }
body .wpb_row.svc-hub-what.svc-spacing .wpb_row.inner_row:last-child .vc_col-sm-6 > .vc_column-inner { padding-bottom: 30px !important; }
body .wpb_row:has(> .row-bg-wrap .row-bg[style*="#f0f0f0"], > .row-bg-wrap .row-bg[style*="#f2f2f2"]).svc-hub-what .wpb_row.inner_row .vc_col-sm-6 > .vc_column-inner { background: #ffffff; }
body .svc-hub-what .wpb_row.inner_row .vc_col-sm-6 > .vc_column-inner:hover { border-color: #c5dea8; box-shadow: 0 12px 28px -18px rgba(16, 24, 40, .25); }
/* Icon tile, in the same shapes as the banner artwork */
body .svc-hub-what .wpb_row.inner_row .vc_col-sm-6 > .vc_column-inner::before {
  content: "";
  position: absolute;
  top: 32px;
  left: 32px;
  width: 52px;
  height: 52px;
  border-radius: 14px;
  background: #eef5e5 url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2028%2028'%3E%3Cpath%20d%3D'M0%200h13A13%2013%200%200%201%200%2013z'%20fill%3D'%2366a61b'%2F%3E%3Cpath%20d%3D'M28%200v13A13%2013%200%200%201%2015%200z'%20fill%3D'%23a7dd63'%2F%3E%3Cpath%20d%3D'M0%2028V15a13%2013%200%200%201%2013%2013z'%20fill%3D'%23a7dd63'%2F%3E%3Cpath%20d%3D'M28%2028H15a13%2013%200%200%201%2013-13z'%20fill%3D'%2366a61b'%2F%3E%3C%2Fsvg%3E") center / 26px 26px no-repeat;
}
body .svc-hub-what .wpb_row.inner_row .vc_col-sm-6:nth-child(2) > .vc_column-inner::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2028%2028'%3E%3Cpath%20d%3D'M4%200h9v9l-4%204H0V4z'%20fill%3D'%2366a61b'%2F%3E%3Cpath%20d%3D'M15%200h9l4%204v9h-9l-4-4z'%20fill%3D'%23a7dd63'%2F%3E%3Cpath%20d%3D'M0%2015h9l4%204v9H4l-4-4z'%20fill%3D'%23a7dd63'%2F%3E%3Cpath%20d%3D'M19%2015h9v9l-4%204h-9v-9z'%20fill%3D'%2366a61b'%2F%3E%3C%2Fsvg%3E"); }
body .svc-hub-what .wpb_row.inner_row:nth-of-type(odd) .vc_col-sm-6:nth-child(1) > .vc_column-inner::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2028%2028'%3E%3Ccircle%20cx%3D'7'%20cy%3D'7'%20r%3D'6.5'%20fill%3D'%2366a61b'%2F%3E%3Crect%20x%3D'15'%20y%3D'0.5'%20width%3D'12.5'%20height%3D'12.5'%20rx%3D'3'%20fill%3D'%23a7dd63'%2F%3E%3Crect%20x%3D'0.5'%20y%3D'15'%20width%3D'12.5'%20height%3D'12.5'%20rx%3D'3'%20fill%3D'%23a7dd63'%2F%3E%3Ccircle%20cx%3D'21'%20cy%3D'21'%20r%3D'6.5'%20fill%3D'%2366a61b'%2F%3E%3C%2Fsvg%3E"); }
body .svc-hub-what .wpb_row.inner_row:nth-of-type(odd) .vc_col-sm-6:nth-child(2) > .vc_column-inner::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2028%2028'%3E%3Crect%20x%3D'0'%20y%3D'14'%20width%3D'6'%20height%3D'14'%20rx%3D'3'%20fill%3D'%23a7dd63'%2F%3E%3Crect%20x%3D'11'%20y%3D'7'%20width%3D'6'%20height%3D'21'%20rx%3D'3'%20fill%3D'%2366a61b'%2F%3E%3Crect%20x%3D'22'%20y%3D'0'%20width%3D'6'%20height%3D'28'%20rx%3D'3'%20fill%3D'%2366a61b'%2F%3E%3C%2Fsvg%3E"); }
body .svc-hub-what .wpb_row.inner_row h3 { font-size: 23px; line-height: 1.3; margin: 0 0 10px; color: #000; }
body .svc-hub-what .wpb_row.inner_row .wpb_text_column p { font-size: 17px; line-height: 1.65; color: #5c5c5c; }
body .svc-hub-what .wpb_row.inner_row .wpb_text_column p:empty { display: none; }
body .svc-hub-what .wpb_row.inner_row .wpb_text_column p:last-child { margin-bottom: 0; }
body .svc-hub-what .wpb_row.inner_row .wpb_text_column a {
  color: #66a61b !important;
  font-weight: 500;
  text-decoration: none;
  white-space: nowrap;
}
body .svc-hub-what .wpb_row.inner_row .wpb_text_column a::after { content: "\2192"; display: inline-block; margin-left: 6px; transition: transform .2s ease; }
body .svc-hub-what .wpb_row.inner_row .wpb_text_column a:hover { text-decoration: underline; text-underline-offset: 3px; }
body .svc-hub-what .wpb_row.inner_row .wpb_text_column a:hover::after { transform: translateX(3px); }
@media only screen and (max-width: 999px) {
  body .svc-hub-what .wpb_row.inner_row > .row_col_wrap_12_inner > .vc_col-sm-6 { padding-left: 0 !important; padding-right: 0 !important; margin-bottom: 16px !important; }
  body .svc-hub-what .wpb_row.inner_row:last-child > .row_col_wrap_12_inner > .vc_col-sm-6:not(:last-child) { margin-bottom: 16px !important; }
  body .svc-hub-what .wpb_row.inner_row .vc_col-sm-6 > .vc_column-inner { padding: 92px 24px 24px !important; }
  body .svc-hub-what .wpb_row.inner_row .vc_col-sm-6 > .vc_column-inner::before { top: 24px; left: 24px; width: 48px; height: 48px; }
  body .svc-hub-what .wpb_row.inner_row h3 { font-size: 21px; }
  body .svc-hub-what .wpb_row.inner_row .wpb_text_column p { font-size: 16px; }
  body .svc-hub-what .wpb_row.inner_row .wpb_text_column a { white-space: normal; }
}

/* ---------- 2. CTA band (Global Section "CTA band – Book a Project Discovery Session") ----------
   Built from native Scrolling Text elements; this only overlays the heading and tidies spacing.
   Row positioning is left to Salient (do not override margins on the full-width row). */
body .wpb_row.mk-band-wrap { padding-top: 0 !important; padding-bottom: 0 !important; margin-bottom: 0 !important; }
body .wpb_row.mk-band-wrap > .row_col_wrap_12 > .wpb_column > .vc_column-inner > .wpb_wrapper > .nectar-global-section { margin: 0 !important; }
body .wpb_row.mk-band { padding-top: 36px !important; padding-bottom: 36px !important; margin-bottom: 0 !important; overflow: hidden; }
body .wpb_row.mk-band .mk-band-col > .vc_column-inner { position: relative; }
/* Lines get their own layer so the heading box always sits above the animated text */
body .wpb_row.mk-band .mk-band-lines { margin-bottom: 0 !important; position: relative; z-index: 1; isolation: isolate; }
body .wpb_row.mk-band .mk-band-lines .nectar-scrolling-text { margin: 0 !important; line-height: 1.5 !important; user-select: none; pointer-events: none; }
body .wpb_row.mk-band .mk-band-lines .nectar-scrolling-text p { margin: 0 !important; padding: 0 !important; line-height: 1.5 !important; }
body .wpb_row.mk-band .wpb_row.mk-band-centre {
  position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 5;
  width: max-content; max-width: min(560px, calc(100% - 48px)); box-sizing: border-box;
  margin: 0 !important; padding: 24px 40px 30px; text-align: center;
  background: #000000; box-shadow: 0 0 30px 24px #000000;
}
body .wpb_row.mk-band .wpb_row.mk-band-centre .vc_column-inner, body .wpb_row.mk-band .wpb_row.mk-band-centre .wpb_column { padding: 0 !important; margin: 0 !important; width: 100% !important; }
body .wpb_row.mk-band .mk-band-heading h2 { color: #ffffff !important; font-family: "Aeonik Medium", "Aeonik", Helvetica, Arial, sans-serif; font-weight: 500; font-size: 48px; line-height: 1.22; margin: 0 0 22px !important; text-align: center; }
body .wpb_row.mk-band .mk-band-heading h2 strong { color: #a7dd63 !important; font-weight: inherit; }
body .wpb_row.mk-band .mk-band-heading { margin-bottom: 0 !important; }
body .wpb_row.mk-band .mk-band-centre a.nectar-button { margin: 0 auto !important; float: none !important; }
@media only screen and (max-width: 999px) { body .wpb_row.mk-band .mk-band-heading h2 { font-size: 36px; } }
@media only screen and (max-width: 690px) {
  body .wpb_row.mk-band { padding-top: 24px !important; padding-bottom: 24px !important; }
  body .wpb_row.mk-band .wpb_row.mk-band-centre { padding: 16px 20px 22px; width: calc(100% - 48px); }
  body .wpb_row.mk-band .mk-band-heading h2 { font-size: 28px; margin-bottom: 16px !important; }
}

/* ---------- 2b. Services CTA band ("Book a free Project Discovery Session") ----------
   Full-width black-to-green row (the same gradient as the home page "custom-bg" sections): message and
   site buttons on the left, the five columns of the Services menu as rows of scrolling link chips that run
   off the right edge of the screen. The page row is a full-width-content row, so the grid below works out
   its own gutters (--mk-gut) to keep the text aligned with the 1294px page content.
   Markup lives in the Global Section "CTA panel – Book a Project Discovery Session".
   Scoped to .mk-svc-cta / .mk-band-wrap so it does not touch the older .mk-band styles above. */
/* Gradient on the outer row only; the nested row inside the global section stays transparent */
body .wpb_row.mk-band-wrap > .row-bg-wrap .row-bg { background: linear-gradient(122deg, #000000 0%, #000000 50%, #436c12 75%, #66a61b 100%) !important; }
body .wpb_row.mk-band-wrap .mk-svc-cta-row .row-bg { background: none !important; }
@media only screen and (max-width: 999px) {
  body .wpb_row.mk-band-wrap > .row-bg-wrap .row-bg { background: linear-gradient(165deg, #000000 0%, #000000 45%, #436c12 75%, #66a61b 100%) !important; }
}
.mk-svc-cta {
  --mk-gut: max(35px, calc((100% - 1294px) / 2));
  display: grid;
  grid-template-columns: var(--mk-gut) minmax(0, 5fr) 56px minmax(0, 6fr) var(--mk-gut);
  align-items: center;
  padding: 96px 0;
  color: #ffffff;
}
.mk-svc-cta__text { grid-column: 2; }
.mk-svc-cta__rail { grid-column: 4 / 6; }
.mk-svc-cta__eyebrow { display: flex; align-items: center; gap: 10px; margin: 0 0 16px !important; font-family: "Aeonik Medium", Helvetica, sans-serif; font-size: 16px; line-height: 1; font-weight: 500; color: rgba(255, 255, 255, .7) !important; }
.mk-svc-cta__eyebrow svg { width: 22px; height: 22px; flex: none; }
body .mk-svc-cta h2 { margin: 0 0 16px !important; color: #ffffff !important; font-size: 43px; line-height: 50px; font-weight: 500; }
body .mk-svc-cta h2 strong { color: #66a61b; font-weight: inherit; }
.mk-svc-cta__lead { max-width: 470px; margin: 0 0 30px !important; font-size: 18px; line-height: 27px; color: rgba(255, 255, 255, .7) !important; }
.mk-svc-cta__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 16px; }
.mk-svc-cta__actions .nectar-button { margin: 0 !important; }
body .mk-svc-cta__actions .nectar-button { width: auto !important; max-width: 100%; white-space: nowrap; }
@media only screen and (max-width: 479px) { body .mk-svc-cta__actions .nectar-button { white-space: normal; } }
.mk-svc-cta a:focus-visible { outline: 3px solid #a7dd63; outline-offset: 3px; }

/* Rail of service chips: fades in on the left, runs off the right edge of the screen */
.mk-svc-cta__rail { display: flex; flex-direction: column; gap: 14px; min-width: 0; -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 8%, #000 100%); mask-image: linear-gradient(90deg, transparent 0, #000 8%, #000 100%); }
.mk-svc-cta__row { overflow: hidden; }
.mk-svc-cta__track { display: flex; width: max-content; animation: mk-svc-scroll var(--dur, 55s) linear infinite; animation-direction: var(--dir, normal); animation-delay: var(--delay, 0s); }
.mk-svc-cta__set { display: flex; flex: none; gap: 14px; padding-right: 14px; }
.mk-svc-cta__rail:hover .mk-svc-cta__track, .mk-svc-cta__rail:focus-within .mk-svc-cta__track { animation-play-state: paused; }
@keyframes mk-svc-scroll { from { transform: translateX(0); } to { transform: translateX(-50%); } }
.mk-chip { display: inline-flex; align-items: center; gap: 10px; flex: none; white-space: nowrap; padding: 12px 22px; border: 1px solid rgba(255, 255, 255, .26); border-radius: 999px; background: rgba(0, 0, 0, .3); color: #ffffff !important; font-family: "Aeonik Medium", Helvetica, sans-serif; font-size: 16px; line-height: 1; font-weight: 500; letter-spacing: normal; text-decoration: none !important; transition: background .2s ease, border-color .2s ease, color .2s ease; }
.mk-chip::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: #a7dd63; flex: none; transition: background .2s ease; }
.mk-chip:nth-child(3n+2)::before { background: #ffffff; }
.mk-chip:nth-child(4n) { background: rgba(255, 255, 255, .1); }
.mk-chip:hover, .mk-chip:focus-visible { background: #ffffff; border-color: #ffffff; color: #000000 !important; }
.mk-chip:hover::before, .mk-chip:focus-visible::before { background: #66a61b; }

/* Tablet and phone: stacked; the chips run edge to edge under the text */
@media only screen and (max-width: 999px) {
  .mk-svc-cta { grid-template-columns: 35px minmax(0, 1fr) 35px; row-gap: 40px; padding: 72px 0; }
  .mk-svc-cta__text { grid-column: 2; }
  .mk-svc-cta__rail { grid-column: 1 / -1; -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 6%, #000 94%, transparent 100%); mask-image: linear-gradient(90deg, transparent 0, #000 6%, #000 94%, transparent 100%); }
  body .mk-svc-cta h2 { font-size: 36px; line-height: 42px; }
  .mk-svc-cta__lead { max-width: none; }
}
@media only screen and (max-width: 767px) {
  .mk-svc-cta { padding: 56px 0; row-gap: 32px; }
  body .mk-svc-cta h2 { font-size: 30px; line-height: 36px; }
  .mk-svc-cta__lead { font-size: 16px; line-height: 24px; }
  .mk-chip { padding: 10px 18px; font-size: 15px; }
  .mk-svc-cta__rail { gap: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .mk-svc-cta__track { animation: none; width: auto; }
  .mk-svc-cta__set { flex-wrap: wrap; padding-right: 0; }
  .mk-svc-cta__set:nth-child(2), .mk-svc-cta__track [aria-hidden="true"] { display: none; }
  .mk-svc-cta__rail { -webkit-mask-image: none; mask-image: none; padding-right: 35px; box-sizing: border-box; }
}

/* ---------- 3. Intro section links ---------- */
body .sydney-text .wpb_text_column a:not(.nectar-button) { color: #66a61b !important; text-decoration: underline; text-underline-offset: 3px; }
body .sydney-text .wpb_text_column a:not(.nectar-button):hover { text-decoration-thickness: 2px; }