/* Kabako 2.0. The approved canvas design (desktop, tablet and phone), merged from the nine pages. */
.sc-placeholder{background:color-mix(in srgb,currentColor 8%,transparent); border:1px solid color-mix(in srgb,currentColor 50%,transparent); border-radius:2px;box-sizing:border-box;overflow:hidden}
@keyframes sc-shine{0%{background-position:100% 50%}100%{background-position:0% 50%}}
html.sc-dc-streaming .sc-placeholder, html.sc-dc-streaming .sc-interp.sc-missing{position:relative; background:color-mix(in srgb,currentColor 5%,transparent); border-color:transparent}
html.sc-dc-streaming .sc-placeholder::before, html.sc-dc-streaming .sc-interp.sc-missing::before{content:""; position:absolute;inset:0;pointer-events:none; background:linear-gradient(90deg,rgba(217,119,87,0) 25%,rgba(247,225,211,.95) 37%,rgba(217,119,87,0) 63%); background-size:400% 100%;animation:sc-shine 1.4s ease infinite}
html.sc-dc-streaming .sc-placeholder:nth-child(n/**/+9 of .sc-placeholder)::before, html.sc-dc-streaming .sc-interp.sc-missing:nth-child(n/**/+9 of .sc-interp.sc-missing)::before{animation:none; background:color-mix(in srgb,currentColor 8%,transparent)}
.sc-placeholder-error{padding:4px 8px;font:11px/1.4 ui-monospace,monospace; color:color-mix(in srgb,currentColor 70%,transparent);word-break:break-word}
.sc-interp.sc-missing{display:inline-block;width:2em;height:1em;overflow:hidden; vertical-align:text-bottom;background:rgba(255,255,255,.3);border:1px solid rgba(0,0,0,.5); border-radius:2px;box-sizing:border-box;color:transparent; user-select:none}
.sc-interp.sc-unresolved{font-family:ui-monospace,monospace;font-size:.85em; color:color-mix(in srgb,currentColor 50%,transparent); background:color-mix(in srgb,currentColor 10%,transparent);border-radius:3px; padding:0 3px}
.sc-host.sc-has-error{position:relative}
.sc-logic-error{position:absolute;top:8px;left:8px;z-index:2147483647;max-width:60ch; padding:6px 10px;background:#b00020;color:#fff;font:12px/1.4 ui-monospace,monospace; border-radius:4px;white-space:pre-wrap;pointer-events:none}
@media print{figure, table{break-inside: avoid;}}
@media print{#dc-root, #dc-root > .sc-host{height: auto;}}
@media print{*, *::before, *::after{print-color-adjust: exact; -webkit-print-color-adjust: exact; backdrop-filter: none !important; -webkit-backdrop-filter: none !important; animation-delay: -99s !important; animation-duration: .001s !important; animation-iteration-count: 1 !important; animation-fill-mode: both !important; animation-play-state: running !important; transition-duration: 0s !important;}}
x-dc{display:none!important}
body{margin:0;background:#fff;color:#171f25;font-family:Inter,system-ui,sans-serif;font-weight:500;-webkit-font-smoothing:antialiased}
html{scroll-behavior:smooth;scroll-padding-top:110px}
a{color:#171f25}
a:hover{color:#171f25}
.wrap{width:min(1280px,calc(100% - 104px));margin-inline:auto}
.sec{padding:96px 0}
.eyebrow{display:block;margin:0 0 24px;font:600 14px/1.3 Inter,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#5a6064}
.h1{margin:0;font:800 104px/1.04 Manrope,sans-serif;letter-spacing:-.035em;color:#171f25;-webkit-text-stroke:.5px currentColor}
.h2{margin:0;font:800 68px/1.08 Manrope,sans-serif;letter-spacing:-.03em;color:#171f25;-webkit-text-stroke:.5px currentColor;text-wrap:balance}
.o{color:#e34c1b}
:focus{outline:none}
:focus-visible{outline:2px solid #e34c1b;outline-offset:3px}
.on-orange :focus-visible{outline-color:#171f25}
.fcard :focus-visible{outline-color:#ffffff}
.fld:focus-visible{outline:none}
p,blockquote,li,h3{text-wrap:pretty}
.lead{margin:0;font:500 19px/1.6 Inter,sans-serif;color:#5a6064}
.arw{display:block;flex:none;width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform .25s ease}
.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;min-height:58px;box-sizing:border-box;padding:0 22px 0 24px;border:0;border-radius:6px;background:#e34c1b;color:#ffffff;font:700 17px/1 Inter,sans-serif;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease}
:where(.kb-p-home) .btn{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;min-height:58px;box-sizing:border-box;padding:0 22px 0 24px;border:0;border-radius:6px;background:#e34c1b;color:#ffffff;font:700 17px/1 Inter,sans-serif;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background .2s ease}
.btn:hover{color:#ffffff;background:#cf4418}
.btn:hover .arw,.tlink:hover .arw{transform:translate(2px,-2px)}
.btn.ink{background:#171f25}
.btn.ink:hover{background:#e34c1b}
.btn.line-ink{background:transparent;border:1px solid #171f25;color:#171f25}
.btn.line-ink:hover{background:transparent;border-color:#e34c1b;color:#e34c1b}
.btn.line-light{background:transparent;border:1px solid #ffffff;color:#ffffff}
.btn.line-light:hover{background:#ffffff;color:#171f25}
.btn.line{background:transparent;border:1px solid rgba(255,255,255,.8)}
.btn.line:hover{background:transparent;border-color:#e34c1b;color:#e34c1b}
.tlink{display:inline-flex;align-items:center;gap:20px;padding:8px 0;border-bottom:1px solid currentColor;color:#171f25;font:700 17px/1.2 Inter,sans-serif;text-decoration:none;white-space:nowrap}
.nav a,.phone{text-decoration:none;transition:color .2s ease}
.nav a:hover{color:#5a6064}
.foot a{color:#ced3d6;text-decoration:none;transition:color .2s ease}
.foot a:hover{color:#ffffff}
.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:16px}
.span2{grid-column:span 2}
.head{align-items:last baseline;margin-bottom:48px}
.head > .lead,.hlead{font-weight:500}
.cover{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:opacity 1.3s ease;animation:drift 12s ease-in-out infinite alternate;transform-origin:50% 30%}
:where(.kb-p-home) .slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 0%;display:block;transition:opacity 1.3s ease;animation:drift 12s ease-in-out infinite alternate;transform-origin:50% 30%}
@keyframes drift{from{transform:scale(1.015) translateX(-.25%)}to{transform:scale(1.045) translateX(.25%)}}
.fcard{position:relative;overflow:hidden;border-radius:8px;background:#171f25;isolation:isolate}
.fcard .zimg{transform:scale(var(--z,1));transition:transform .7s ease}
.fcard .fo{position:absolute;inset:0;background:rgba(227,76,27,.96);opacity:0;transition:opacity .3s ease}
.fcard .reveal{max-height:0;opacity:0;margin-top:0;overflow:hidden;transition:max-height .38s ease,opacity .25s ease,margin .38s ease;pointer-events:none}
.fcard .tog{transition:background .3s ease}
.fcard .vbar{transform-box:fill-box;transform-origin:center;transition:transform .25s ease}
.fcard:hover .zimg,.fcard.pinned .zimg{transform:scale(calc(var(--z,1) + .05))}
.fcard:hover .fo,.fcard.pinned .fo,.fcard:has(:focus-visible) .fo{opacity:1}
.fcard:hover .reveal,.fcard.pinned .reveal,.fcard:has(:focus-visible) .reveal{max-height:240px;opacity:1;margin-top:16px;pointer-events:auto}
.fcard:hover .tog,.fcard.pinned .tog{background:rgba(255,255,255,.24)}
.fcard:hover .vbar,.fcard.pinned .vbar{transform:scaleY(0)}
.svc .zimg{transition:transform .6s ease}
.svc:hover .zimg,.svc:focus-visible .zimg{transform:scale(1.05)}
.svc .svc-ic{transition:background .3s ease}
.svc:hover .svc-ic{background:rgba(255,255,255,.3)}
.pill{width:65px;height:44px;border-radius:24px;border:1px solid #abb2b6;background:transparent;color:#171f25;display:grid;place-items:center;cursor:pointer;transition:background .2s ease,border-color .2s ease}
.pill:hover{background:#f1f3f4;border-color:#171f25}
.quote{transition:opacity .35s ease}
.faqq{transition:color .2s ease}
.faqq:hover{color:#5a6064}
.fld{box-sizing:border-box;width:100%;height:53px;padding:0 16px;border:1px solid #c2c7ca;border-radius:6px;background:#ffffff;color:#171f25;font:500 16px/1.4 Inter,sans-serif;appearance:none;-webkit-appearance:none;transition:border-color .2s ease,box-shadow .2s ease}
.fld::placeholder{color:#5a6064;opacity:1}
.fld:hover{border-color:#8a9095}
.fld:focus{outline:none;border-color:#e34c1b;box-shadow:inset 0 0 0 1px #e34c1b}
textarea.fld{display:block;height:128px;padding:15px 16px;line-height:1.5;resize:none}
select.fld{padding-right:48px;cursor:pointer}
input[type=date].fld{position:relative;padding-right:48px;cursor:pointer}
input[type=date].fld::-webkit-calendar-picker-indicator{position:absolute;inset:0;width:auto;height:auto;margin:0;padding:0;opacity:0;cursor:pointer}
input[type=date].fld::-webkit-datetime-edit{padding:0}
input[type=date].fld.empty::-webkit-datetime-edit{color:transparent}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media (max-width:1180px){.wrap{width:calc(100% - 64px)}}
@media (max-width:1180px){.sec{padding:80px 0}}
@media (max-width:1180px){.h1{font-size:80px}}
@media (max-width:1180px){.h2{font-size:56px!important}}
@media (max-width:1180px){.nav,.phone{display:none!important}}
@media (max-width:1180px){.burger{display:grid!important}}
@media (max-width:1180px){.fw{width:auto!important;max-width:100%!important}}
@media (max-width:1180px){.fit{width:var(--wt,auto)!important;max-width:100%!important}}
@media (max-width:1180px){.vgrid h3.fit{width:auto!important;text-wrap:balance!important}}
@media (max-width:1180px){.tc{text-wrap:balance!important}}
@media (max-width:1180px){.grid3{grid-template-columns:minmax(0,1fr)!important;row-gap:24px}}
@media (max-width:1180px){.span2{grid-column:auto!important}}
@media (max-width:1180px){.head{margin-bottom:40px}}
@media (max-width:1180px){.hhead{row-gap:24px!important;margin-bottom:40px!important}}
@media (max-width:1180px){.hhead>div:last-child{padding-bottom:0!important}}
@media (max-width:1180px){.himg{height:480px!important}}
@media (max-width:1180px){.two{grid-template-columns:minmax(0,1fr)!important;row-gap:40px!important}}
@media (max-width:1180px){.pad40{padding-left:0!important}}
@media (max-width:1180px){.three{grid-template-columns:repeat(3,minmax(0,1fr))!important;column-gap:32px!important}}
@media (max-width:1180px){.svcgrid{grid-template-columns:repeat(2,minmax(0,1fr))!important;column-gap:16px}}
@media (max-width:1180px){.svcgrid>.svc:last-child{grid-column:1/-1}}
@media (max-width:1180px){.svc{height:460px!important}}
@media (max-width:1180px){.fgrid{grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-rows:none!important;grid-auto-rows:460px!important}}
@media (max-width:1180px){.g4{grid-template-columns:repeat(2,minmax(0,1fr))!important;row-gap:48px!important;column-gap:40px!important}}
@media (max-width:1180px){.ar{width:100%!important;height:auto!important;aspect-ratio:var(--ar)!important;max-height:none!important;max-width:calc(700px * var(--ar));margin-left:0!important;margin-right:0!important}}
@media (max-width:1180px){.bento{grid-template-rows:var(--rows)!important;margin-top:0!important}}
@media (max-width:1180px){.djs{grid-template-columns:minmax(0,1fr)!important;height:auto!important}}
@media (max-width:1180px){.logos{column-gap:24px!important}}
@media (max-width:1180px){.footgrid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media (max-width:1180px){.footgrid>div:first-child{grid-column:1/-1}}
@media (max-width:1180px){.footgrid>div:nth-child(2){grid-column:auto!important}}
@media (max-width:1180px){.stmt>div{justify-content:flex-start!important}}
@media (max-width:1180px){.stmt>p{padding-right:0!important}}
@media (max-width:1180px){.foot span[style*="nowrap"]{white-space:normal!important}}
@media (max-width:1180px){.fhc{height:var(--hp)!important}}
@media (max-width:1180px){.two>.mcol{order:2}}
@media (max-width:1180px){.hero,.hero>.wrap{padding-bottom:64px!important}}
@media (max-width:1180px){.lead{width:auto!important;max-width:520px!important}}
@media (max-width:1180px){.opanel p{max-width:520px;text-wrap:pretty}}
@media (max-width:1180px){blockquote{max-width:600px}}
@media (max-width:1180px){.team{grid-template-columns:repeat(2,minmax(0,1fr))!important;column-gap:24px;row-gap:56px!important}}
@media (max-width:1180px){.h3big{font-size:48px!important;text-wrap:balance}}
@media (max-width:1180px){.bento{margin-left:0!important;margin-right:0!important}}
@media (max-width:1180px){blockquote{font-size:30px!important}}
@media (max-width:1180px){.himg:has(a[href="#video"]) .hbadges{display:none!important}}
@media (max-width:1180px){.two.keep2{grid-template-columns:repeat(2,minmax(0,1fr))!important;column-gap:16px!important}}
@media (max-width:640px){.fit{width:var(--wp,auto)!important}}
@media (max-width:640px){.lead{max-width:100%!important}}
@media (max-width:640px){.pc{text-wrap:balance!important}}
@media (max-width:640px){.wrap{width:calc(100% - 40px)}}
@media (max-width:640px){.sec{padding:64px 0}}
@media (max-width:640px){.hdr{height:72px!important;gap:12px!important}}
@media (max-width:640px){.hdr .logo,.hdr .logo img{width:120px!important}}
@media (max-width:640px){.hright{gap:4px!important}}
@media (max-width:640px){.hq{min-height:40px!important;padding:0 12px 0 14px!important;gap:10px!important;font-size:14px!important}}
@media (max-width:640px){.hq .arw{width:16px;height:16px}}
@media (max-width:640px){.himg>a[href="#video"]{left:12px!important;bottom:12px!important;padding:6px 14px 6px 6px!important;gap:10px!important;font-size:15px!important}}
@media (max-width:640px){.himg>a[href="#video"]>span{width:30px!important;height:30px!important}}
@media (max-width:640px){.himg>a[href="#video"] svg{width:16px;height:16px}}
@media (max-width:640px){button[aria-label^="Play"]{width:68px!important;height:68px!important;box-shadow:0 0 0 8px rgba(255,255,255,.3)!important}}
@media (max-width:640px){button[aria-label^="Play"] svg{width:28px;height:28px}}
@media (max-width:640px){.opanel{padding:28px 24px!important}}
@media (max-width:640px){.fgrid>div{padding:28px 24px!important}}
@media (max-width:640px){.hero,.hero>.wrap{padding-bottom:48px!important}}
@media (max-width:640px){.clinks{flex-direction:column;align-items:flex-start;gap:16px!important}}
@media (max-width:640px){.h1{font-size:48px;line-height:1.06}}
@media (max-width:640px){.h2{font-size:40px!important;line-height:1.1}}
@media (max-width:640px){.head{margin-bottom:32px}}
@media (max-width:640px){.hhead{margin-bottom:32px!important}}
@media (max-width:640px){.hbtns{flex-wrap:wrap;row-gap:16px!important}}
@media (max-width:640px){.himg{height:300px!important}}
@media (max-width:640px){.three{grid-template-columns:minmax(0,1fr)!important;row-gap:40px!important}}
@media (max-width:640px){.svcgrid{grid-template-columns:minmax(0,1fr)!important}}
@media (max-width:640px){.svcgrid>.svc:last-child{grid-column:auto}}
@media (max-width:640px){.svc{height:440px!important}}
@media (max-width:640px){.fgrid{grid-template-columns:minmax(0,1fr)!important;grid-auto-rows:auto!important}}
@media (max-width:640px){.fgrid>article{height:440px}}
@media (max-width:640px){.fgrid>div{grid-row:auto!important;grid-column:auto!important;order:9}}
@media (max-width:640px){.g4{grid-template-columns:minmax(0,1fr)!important;row-gap:40px!important}}
@media (max-width:640px){.bento{gap:10px!important}}
@media (max-width:640px){.logos{grid-template-columns:repeat(3,minmax(0,1fr))!important;row-gap:28px!important}}
@media (max-width:640px){.footgrid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media (max-width:640px){.footgrid>div:last-child{grid-column:1/-1}}
@media (max-width:640px){.formgrid{grid-template-columns:minmax(0,1fr)!important}}
@media (max-width:640px){.quote{font-size:24px!important;min-height:0!important}}
@media (max-width:640px){figure.pad40{padding-right:0!important;min-height:0!important}}
@media (max-width:640px){.stmt>p{font-size:24px!important}}
@media (max-width:640px){.hbadges{left:12px!important;right:12px!important;bottom:12px!important;flex-wrap:wrap;gap:6px!important}}
@media (max-width:640px){.hbadges>span{height:38px!important;font-size:13px!important;padding:0 12px 0 8px!important;gap:8px!important}}
@media (max-width:640px){.hbadges>span>span{width:20px!important;height:20px!important}}
@media (max-width:640px){.team{grid-template-columns:minmax(0,1fr)!important;row-gap:48px!important}}
@media (max-width:640px){.team p{padding-right:0!important}}
@media (max-width:640px){.h3big{font-size:36px!important}}
@media (max-width:640px){blockquote{font-size:24px!important;line-height:1.35!important;min-height:0!important}}
@media (max-width:640px){.btn{white-space:normal;max-width:100%;line-height:1.2;text-align:left}}
@media (max-width:640px){.two.keep2{grid-template-columns:minmax(0,1fr)!important;row-gap:16px!important}}
.btn.ink-on-orange{background:#171f25}
.btn.ink-on-orange:hover{background:#2c363e}
.nav a[aria-current=page]{box-shadow:inset 0 -2px 0 #171f25;padding-bottom:6px}
.on-orange .eyebrow{color:#ffffff}
.hdr-dark .nav a,.hdr-dark .phone{color:#ffffff}
.hdr-dark .nav a:hover{color:#c5cbcf}
.hdr-dark .nav a[aria-current=page]{box-shadow:inset 0 -2px 0 #ffffff}
.legal{max-width:760px}
.legal p,.legal li{font:500 17px/1.65 Inter,sans-serif;color:#5a6064}
.legal p{margin:0 0 20px}
.legal strong{font-weight:700;color:#171f25}
.legal h2{margin:56px 0 20px;font:800 32px/1.1 Manrope,sans-serif;letter-spacing:-.02em;color:#171f25}
.legal ul{margin:0 0 20px;padding-left:22px}
.legal li{margin:0 0 10px;padding-left:4px}
.legal li::marker{color:#e34c1b}
.legal a{color:#171f25;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.legal a:hover{color:#e34c1b}
.legal code{font:500 15px/1 ui-monospace,monospace;background:#eef0f1;padding:2px 6px;border-radius:4px;color:#171f25}
.legal .cblock{margin:0 0 20px}
.legal .cblock p{margin:0}
.legal .cblock p+p{margin-top:6px}
.legal{max-width:760px}
.legal p,.legal li{font:500 17px/1.65 Inter,sans-serif;color:#5a6064}
.legal p{margin:0 0 20px}
.legal strong{font-weight:700;color:#171f25}
.legal h2{margin:56px 0 20px;font:800 32px/1.1 Manrope,sans-serif;letter-spacing:-.02em;color:#171f25}
.legal ul{margin:0 0 20px;padding-left:22px}
.legal li{margin:0 0 10px;padding-left:4px}
.legal li::marker{color:#e34c1b}
.legal a{color:#171f25;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.legal a:hover{color:#e34c1b}
.legal code{font:500 15px/1 ui-monospace,monospace;background:#eef0f1;padding:2px 6px;border-radius:4px;color:#171f25}
.legal .cblock{margin:0 0 20px}
.legal .cblock p{margin:0}
.legal .cblock p+p{margin-top:6px}

/* =====================================================================
 * WordPress adaptations: template wrappers take no part in the layout,
 * so the header stays sticky and sections sit edge to edge.
 * ===================================================================== */
.wp-site-blocks{padding:0}
.wp-site-blocks>*{margin-block:0}
.wp-block-template-part,.kb-part{display:contents}
main.wp-block-post-content,main.wp-block-group{display:block;margin:0}
main.wp-block-post-content>*{margin-block:0}
figure{margin:0}
[hidden]{display:none!important}
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.nw{white-space:nowrap}
.lead strong{font-weight:700;color:#171f25}
img{max-width:none}
body{overflow-x:clip}

@media (max-width:1180px){.foot .nw{white-space:normal}}

/* Header logo and the phone and tablet menu */
header .logo img,.mnav .logo img{display:block}
.mnav{position:fixed;inset:0;z-index:60;background:#ffffff;color:#171f25;display:flex;flex-direction:column;overflow-y:auto}
.mnav nav a[aria-current=page]{color:#e34c1b!important}
html.kb-menu-open{overflow:hidden}
.admin-bar .mnav{top:32px}
@media (max-width:782px){.admin-bar .mnav{top:46px}}
@media (min-width:1181px){.mnav{display:none!important}}

/* Video frames */
video.cover{background:#171f25}

/* =====================================================================
 * Testimonials (one quote at a time, from the shared collection)
 * ===================================================================== */
.tq{margin:0;padding:4px 65px 0 40px;display:flex;flex-direction:column;min-height:334px}
.tq blockquote{margin:16px 0 0;min-height:134px;font:500 33px/1.35 Inter,sans-serif;letter-spacing:-.02em;color:#171f25;transition:opacity .18s ease}
.tq figcaption{display:flex;align-items:center;flex-wrap:wrap;gap:4px 12px;margin-top:24px;font:500 16px/1.4 Inter,sans-serif;color:#5a6064}
.tq figcaption strong{font-weight:700;color:#171f25}
.tq-dots{display:flex;align-items:center;gap:11px;height:44px;margin-top:auto;padding-top:16px}
.tq-dots button{width:10px;height:10px;padding:0;border:0;border-radius:50%;background:#cdd0d2;cursor:pointer;transition:background .2s ease;position:relative}
.tq-dots button::after{content:"";position:absolute;inset:-7px}
.tq-dots button[aria-current=true]{background:#e34c1b}
.tq script{display:none}

/* =====================================================================
 * Client logos: one row that loops, faded at the container edges
 * ===================================================================== */
.logos.is-looping{display:block!important;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 10%,#000 90%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 10%,#000 90%,transparent 100%)}
.logos-track{display:flex;align-items:center;gap:72px;width:max-content;animation:kb-logos 64s linear infinite}
/* Logos show in full colour; the row pauses while the pointer is over it. */
.logos img{mix-blend-mode:multiply}
.logos-track>*{flex:none}
.logos.is-looping:hover .logos-track{animation-play-state:paused}
@keyframes kb-logos{to{transform:translateX(calc(-50% - 36px))}}
@media (max-width:640px){.logos-track{gap:48px;animation-duration:48s}@keyframes kb-logos{to{transform:translateX(calc(-50% - 24px))}}}
@media (prefers-reduced-motion:reduce){.logos-track{animation:none;flex-wrap:wrap;width:auto;justify-content:center;row-gap:28px}.logos-track>[aria-hidden=true]{display:none}.logos.is-looping{-webkit-mask-image:none;mask-image:none}}

/* =====================================================================
 * Enquiry forms (Fluent Forms), styled to match the design's form:
 * placeholders inside 53px fields, labels kept for screen readers,
 * orange focus, two fields per row (one on phones).
 * ===================================================================== */
.form .fluentform,.form .frm-fluent-form,.form .frm-fluent-form fieldset{margin:0;padding:0;border:0;min-width:0}
.form .frm-fluent-form fieldset{display:flex;flex-direction:column;gap:14px}
/* Fluent's clearfix pseudo-elements would add an extra gap inside these flex and grid boxes. */
.form .frm-fluent-form fieldset::before,.form .frm-fluent-form fieldset::after,.form .frm-fluent-form .ff-el-group::before,.form .frm-fluent-form .ff-el-group::after,.form .frm-fluent-form .ff-t-container::before,.form .frm-fluent-form .ff-t-container::after{content:none;display:none}
.form .frm-fluent-form .ff-t-container{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0}
.form .frm-fluent-form .ff-t-cell{min-width:0;width:auto;flex:none;padding:0}
.form .frm-fluent-form .ff-el-group{position:relative;margin:0;display:flex;flex-direction:column;gap:6px}
.form .frm-fluent-form .ff-el-input--label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.form .frm-fluent-form .ff-el-input--content{position:relative}
.form .frm-fluent-form .ff-el-form-control{display:block;width:100%;box-sizing:border-box;margin:0;font:500 16px/1.4 Inter,sans-serif;height:53px;padding:0 16px;border:1px solid #c2c7ca;border-radius:6px;background-color:#ffffff;color:#171f25;appearance:none;-webkit-appearance:none;transition:border-color .2s ease,box-shadow .2s ease}
.form .frm-fluent-form .ff-el-form-control:hover{border-color:#8a9095}
.form .frm-fluent-form textarea.ff-el-form-control{height:128px;min-height:128px;padding:15px 16px;line-height:1.5;resize:none}
.form .frm-fluent-form select.ff-el-form-control{padding-right:48px;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%235a6064' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center}
.form .frm-fluent-form select.ff-el-form-control:has(option[value=""]:checked){color:#5a6064}
.form .frm-fluent-form select.ff-el-form-control option{color:#171f25}
.form .frm-fluent-form .ff-el-form-control::placeholder{color:#5a6064;opacity:1}
.form .frm-fluent-form .ff-el-form-control:focus{outline:none;border-color:#e34c1b;box-shadow:inset 0 0 0 1px #e34c1b}
.form .frm-fluent-form input[type=number]{-moz-appearance:textfield}
.form .frm-fluent-form input[type=number]::-webkit-inner-spin-button,.form .frm-fluent-form input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.form .frm-fluent-form input[type=date]{position:relative;cursor:pointer;padding-right:48px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%235a6064' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.5' y='5' width='17' height='15' rx='2'/%3E%3Cpath d='M3.5 10h17M8 3v4M16 3v4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center}
.form .frm-fluent-form input[type=date]::-webkit-datetime-edit,.form .frm-fluent-form input[type=date]::-webkit-datetime-edit-fields-wrapper{padding:0}
.form .frm-fluent-form input[type=date]::-webkit-calendar-picker-indicator{color:transparent;background:none;position:absolute;inset:0;width:auto;height:auto;margin:0;padding:0;opacity:0;cursor:pointer}
.form .frm-fluent-form input[data-empty]:not(:focus){color:transparent}
.form .frm-fluent-form .date-ph{display:none;position:absolute;left:17px;right:48px;top:50%;transform:translateY(-50%);font:500 16px/1 Inter,sans-serif;color:#5a6064;pointer-events:none;white-space:nowrap;overflow:hidden}
.form .frm-fluent-form .ff-el-input--content:has(input[data-empty]:not(:focus)) .date-ph{display:block}
.form .frm-fluent-form .ff_submit_btn_wrapper{margin:8px 0 0;display:flex;flex-direction:row;align-items:center}
.form .frm-fluent-form .ff-btn-submit{width:auto;justify-content:flex-start}
.form .frm-fluent-form .ff-btn-submit{display:inline-flex;align-items:center;gap:28px;min-height:58px;box-sizing:border-box;padding:0 22px 0 24px;border:0;border-radius:6px;background:#e34c1b;color:#ffffff;font:700 17px/1 Inter,sans-serif;cursor:pointer;transition:background .2s ease}
.form .frm-fluent-form .ff-btn-submit::after{content:"";flex:none;width:23px;height:23px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 20L20 4M7 4h13v13'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 20L20 4M7 4h13v13'/%3E%3C/svg%3E") center/contain no-repeat}
.form .frm-fluent-form .ff-btn-submit:hover{background:#cf4418}
.form .frm-fluent-form .ff-btn-submit:disabled{opacity:.7;cursor:progress}
.form .frm-fluent-form .ff-el-is-error .ff-el-form-control{border-color:#b42318}
.form .frm-fluent-form .error.text-danger{margin:0;font:500 13px/1.4 Inter,sans-serif;color:#b42318}
.form .ff-errors-in-stack:empty{display:none}
.form .ff-message-success{display:flex;flex-direction:column;align-items:flex-start;gap:18px;margin:0;padding:24px 0;border:0;background:none;box-shadow:none;font:500 17px/1.55 Inter,sans-serif;color:#171f25}
.form .ff-message-success::before{content:"";flex:none;width:56px;height:56px;border-radius:50%;background:#e34c1b url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/28px no-repeat}
.form .ff-message-success p{margin:0;font:800 28px/1.15 Manrope,sans-serif;letter-spacing:-.02em}
.form .ff_honeypot,.form .ff-el-group.ff-hidden{display:none}
@media (max-width:640px){
.form .frm-fluent-form .ff-t-container{grid-template-columns:minmax(0,1fr)}
.form .frm-fluent-form .ff-btn-submit{width:100%;justify-content:space-between}
}

/* Between 1181px and 1439px the desktop layout applies in narrower columns, so text boxes may not exceed their column. */
@media (min-width:1181px) and (max-width:1439px){.fit,.fw{max-width:100%}}

/* Client logo band at the foot of the home hero: on tablet and phone the hero's own bottom padding
   doubled the space under the logos. The band keeps its own spacing instead. */
@media (max-width:1180px){.hero:has(.logos){padding-bottom:0!important}}
@media (max-width:640px){.hero div:has(> .logos){padding-bottom:48px!important}}

/* =====================================================================
 * Dark section: add the class "sec-dark" to a section's layout box
 * (Advanced > Additional CSS class) for a charcoal shelf with white
 * headings, light grey text, orange accents and a white outline button.
 * ===================================================================== */
.sec-dark{background:#171f25!important}
.sec-dark .eyebrow{color:#b8bec2!important}
.sec-dark h2,.sec-dark h3{color:#ffffff!important}
.sec-dark p{color:#b8bec2!important}
.sec-dark .stmt p{color:#ffffff!important}
.sec-dark .o{color:#e34c1b!important}
.sec-dark .stmt{border-top-color:rgba(255,255,255,.18)!important}
.sec-dark svg [fill="#f8f9f9"]{fill:#171f25}
.sec-dark svg [stroke="#f8f9f9"]{stroke:#171f25}
.sec-dark .btn.line-ink{border-color:#ffffff;color:#ffffff}
.sec-dark .btn.line-ink:hover{background:#ffffff;border-color:#ffffff;color:#171f25}
