/*
Theme Name: Komborero Freight Solutions
Theme URI: https://komborerofreightsolutions.co.zw/
Author: Komborero Freight Solutions
Description: Production Launch Edition with Google Entity Description: Google Entity & Local SEO Edition of the Komborero Freight Solutions corporate WordPress theme. Local SEO optimisation for Komborero Freight Solutions.
Version: 4.2.0
Text Domain: komborero-freight-solutions
*/

:root{
  --blue:#1556a8;--blue2:#0a3270;--red:#e51d2a;--navy:#071d3b;
  --ink:#17263a;--muted:#637286;--light:#f5f8fc;--line:#e2e8f0;--white:#fff;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,Helvetica,sans-serif;color:var(--ink);line-height:1.65;background:#fff}
.container{width:min(1160px,92%);margin:auto}
header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);backdrop-filter:blur(8px)}
.nav{height:82px;display:flex;align-items:center;justify-content:space-between;gap:25px}
.logo{height:66px;width:auto;max-width:310px;object-fit:contain}
nav{display:flex;align-items:center;gap:23px;font-size:14px;font-weight:800}
nav a:hover{color:var(--red)}
.nav-cta{padding:11px 17px;border-radius:5px;background:var(--blue);color:#fff!important}
.hero{background:linear-gradient(125deg,var(--navy),#0d4e9b);color:#fff;overflow:hidden}
.hero-grid{min-height:680px;display:grid;grid-template-columns:1.08fr .92fr;gap:45px;align-items:center}
.kicker{font-size:13px;letter-spacing:2px;text-transform:uppercase;font-weight:900;color:#ff5360}
.hero h1{font-size:clamp(42px,6vw,72px);line-height:1.03;margin:15px 0 22px;max-width:750px}
.hero h1 span{color:#fff}
.hero p{font-size:19px;max-width:680px;color:#e4edf9}
.motto{font-size:21px;font-weight:800;color:#fff;margin:20px 0}
.actions{display:flex;flex-wrap:wrap;gap:13px;margin-top:30px}
.btn{display:inline-block;padding:14px 22px;border-radius:5px;font-weight:900}
.btn-red{background:var(--red);color:#fff}.btn-white{background:#fff;color:var(--navy)}
.hero-logo{background:#fff;border-radius:16px;padding:24px;box-shadow:0 25px 70px rgba(0,0,0,.22)}
.hero-logo img{width:100%;display:block}
.quick{background:#fff;border-bottom:1px solid var(--line)}
.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.quick-item{padding:24px;border-right:1px solid var(--line);text-align:center}.quick-item:last-child{border:0}
.quick-item strong{display:block;color:var(--blue2);font-size:18px}.quick-item span{font-size:13px;color:var(--muted)}
section{padding:90px 0}.light{background:var(--light)}
.section-head{text-align:center;max-width:780px;margin:0 auto 48px}.section-head h2{font-size:39px;color:var(--navy);margin:8px 0 13px;line-height:1.15}.section-head p{color:var(--muted)}
.about-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:55px;align-items:start}
.about h2{font-size:40px;color:var(--navy);margin:0 0 18px}.about p{color:#4d5d71}
.promise{border-left:5px solid var(--red);padding:22px 25px;background:#fff;box-shadow:0 10px 30px rgba(20,50,90,.07);margin-top:25px;font-size:19px;font-weight:800;color:var(--navy)}
.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:29px;box-shadow:0 8px 24px rgba(20,50,90,.055);transition:.2s}
.card:hover{transform:translateY(-3px);box-shadow:0 14px 32px rgba(20,50,90,.1)}
.icon{font-size:30px;margin-bottom:12px}.card h3{margin:0 0 8px;color:var(--navy);font-size:20px}.card p{margin:0;color:var(--muted)}
.service-list{margin:15px 0 0;padding-left:20px;color:var(--muted);font-size:14px}
.service-list li{margin:5px 0}
.journey{display:grid;grid-template-columns:repeat(6,1fr);gap:0;margin-top:35px}
.step{text-align:center;position:relative;padding:20px 8px}.step:after{content:"→";position:absolute;right:-8px;top:33px;color:var(--red);font-size:24px;font-weight:900}.step:last-child:after{display:none}
.step-no{width:48px;height:48px;margin:auto;border-radius:50%;display:grid;place-items:center;background:var(--blue);color:#fff;font-weight:900}
.step strong{display:block;color:var(--navy);font-size:13px;margin-top:10px}
.audience{display:grid;grid-template-columns:1fr 1fr;gap:24px}.audience .card{padding:34px}
.pills{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px}.pill{padding:8px 12px;border-radius:100px;background:#edf3fb;color:var(--blue2);font-size:13px;font-weight:800}

.market-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.market-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:30px;box-shadow:0 8px 24px rgba(20,50,90,.055);position:relative;overflow:hidden}
.market-card:before{content:"";position:absolute;left:0;top:0;width:100%;height:4px;background:var(--blue)}
.market-card h3{font-size:22px;color:var(--navy);margin:8px 0 9px}.market-card p{color:var(--muted);margin:0 0 18px}
.market-flag{font-size:34px;line-height:1}.market-services{display:grid;gap:7px;font-size:13px;color:#52667f}.market-services strong{color:var(--blue2)}
.market-services span{position:relative;padding-left:16px}.market-services span:before{content:"✓";position:absolute;left:0;color:var(--red);font-weight:900}
.market-cta{margin-top:28px;background:var(--navy);color:#fff;border-radius:12px;padding:26px 30px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.market-cta strong{font-size:19px}.market-cta span{color:#dbe8f8;flex:1;min-width:260px}.market-cta .btn{margin-left:auto}
.values{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.value{text-align:center;padding:25px 15px;background:#fff;border:1px solid var(--line);border-radius:8px}.value strong{display:block;color:var(--navy);margin-bottom:6px}
.why{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.why .card{border-top:4px solid var(--blue)}
.story{max-width:850px;margin:auto;font-size:18px;color:#4b5c70}.story p{margin:0 0 17px}.quote{font-size:25px;font-weight:900;color:var(--navy);border-left:5px solid var(--red);padding-left:22px;margin:28px 0}
.cta{background:linear-gradient(125deg,#071d3b,#1556a8);color:#fff;text-align:center}.cta h2{font-size:42px;margin:0 0 12px}.cta p{max-width:720px;margin:0 auto 28px;color:#dbe8f8}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:45px}.contact-grid h2{font-size:38px;color:var(--navy);margin:0 0 12px}
.contact-list{display:grid;gap:17px;margin-top:25px}.contact-list strong{display:block;color:var(--navy)}
form{display:grid;gap:13px}.input,textarea{font:inherit;width:100%;padding:14px;border:1px solid #d5dee9;border-radius:5px}textarea{min-height:145px;resize:vertical}
footer{background:#04152d;color:#aebfd4;padding:42px 0}.foot{display:flex;justify-content:space-between;gap:30px;align-items:center}.foot strong{color:#fff}.foot small{display:block;margin-top:5px}

.contact-list a{color:var(--blue);font-weight:800}.contact-list a:hover{color:var(--red)}
.wa-float{position:fixed;right:22px;bottom:22px;z-index:120;background:#1aa260;color:#fff;padding:13px 18px;border-radius:999px;font-weight:900;box-shadow:0 10px 28px rgba(0,0,0,.22)}
@media(max-width:900px){
 nav{display:none}.hero-grid,.about-grid,.contact-grid,.audience{grid-template-columns:1fr}.hero-grid{padding:65px 0}.card-grid,.why,.market-grid{grid-template-columns:1fr 1fr}.values{grid-template-columns:1fr 1fr}.quick-grid{grid-template-columns:1fr 1fr}.quick-item:nth-child(2){border-right:0}.quick-item{border-bottom:1px solid var(--line)}
.journey{grid-template-columns:1fr 1fr}.step:after{display:none}
}
@media(max-width:560px){.card-grid,.why,.values,.quick-grid,.journey,.market-grid{grid-template-columns:1fr}.hero h1{font-size:45px}.hero-logo{padding:12px}.logo{height:55px;max-width:250px}section{padding:65px 0}.section-head h2,.about h2,.contact-grid h2{font-size:31px}}

/* Supplier directory */
.market-link{display:inline-block;margin-top:18px;color:var(--blue);font-weight:900;font-size:14px}
.market-link:hover{color:var(--red)}
.supplier-market{padding:32px 0;border-top:1px solid var(--line);scroll-margin-top:100px}
.supplier-market:first-of-type{border-top:0;padding-top:0}
.supplier-market-head{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:18px}
.supplier-market-head>div{display:flex;align-items:center;gap:12px}.supplier-market-head h3{margin:0;color:var(--navy);font-size:28px}.supplier-market-head p{margin:0;max-width:620px;color:var(--muted);text-align:right}
.supplier-flag{font-size:34px}.supplier-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.supplier-card{border:1px solid var(--line);border-radius:10px;padding:23px;background:#fff;display:flex;flex-direction:column;min-height:210px;box-shadow:0 7px 20px rgba(20,50,90,.045)}
.supplier-card h4{margin:0 0 7px;color:var(--navy);font-size:19px}.supplier-card p{margin:0 0 20px;color:var(--muted);font-size:14px;flex:1}
.supplier-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.supplier-actions .btn{padding:10px 13px;font-size:13px}.btn-outline{border:1px solid var(--blue);color:var(--blue);background:#fff}.btn-outline:hover{background:var(--blue);color:#fff}
.source-link{font-size:13px;font-weight:900;color:var(--red)}.source-link:hover{color:var(--blue2)}
.supplier-disclaimer{margin-top:30px;background:#fff8e8;border:1px solid #f0d99a;border-radius:9px;padding:18px 20px;color:#65552f;font-size:13px}
.supplier-bottom-cta{margin-top:24px;background:var(--navy);border-radius:12px;padding:28px 30px;display:flex;align-items:center;justify-content:space-between;gap:24px;color:#fff}.supplier-bottom-cta h3{margin:3px 0 5px;font-size:24px}.supplier-bottom-cta p{margin:0;color:#dbe8f8}
@media(max-width:900px){.supplier-grid{grid-template-columns:1fr 1fr}.supplier-market-head{display:block}.supplier-market-head p{text-align:left;margin-top:7px}.supplier-bottom-cta{align-items:flex-start;flex-direction:column}}
@media(max-width:560px){.supplier-grid{grid-template-columns:1fr}.supplier-market-head h3{font-size:24px}.supplier-bottom-cta h3{font-size:21px}}

/* Contact Us multi-channel chooser */
button.nav-cta{border:0;font:inherit;cursor:pointer}
.contact-float{position:fixed;right:22px;bottom:22px;z-index:120;background:var(--red);color:#fff;padding:14px 20px;border:0;border-radius:999px;font:inherit;font-weight:900;cursor:pointer;box-shadow:0 10px 28px rgba(0,0,0,.22)}
.contact-float:hover{background:var(--blue)}.contact-modal[hidden]{display:none}
.contact-modal{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:20px}
.contact-modal-backdrop{position:absolute;inset:0;background:rgba(4,21,45,.72);backdrop-filter:blur(3px)}
.contact-modal-card{position:relative;z-index:1;width:min(650px,100%);background:#fff;border-radius:16px;padding:34px;box-shadow:0 30px 90px rgba(0,0,0,.3)}
.contact-modal-card h3{font-size:28px;line-height:1.2;color:var(--navy);margin:7px 35px 7px 0}.contact-modal-card>p{margin:0 0 22px;color:var(--muted)}
.contact-modal-close{position:absolute;right:16px;top:12px;border:0;background:transparent;color:var(--navy);font-size:32px;line-height:1;cursor:pointer}
.contact-option-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.contact-option{border:1px solid var(--line);border-radius:10px;padding:20px 14px;text-align:center;color:var(--navy);transition:.2s;background:#fff}
.contact-option:hover{border-color:var(--blue);transform:translateY(-2px);box-shadow:0 9px 24px rgba(20,50,90,.09)}.contact-option-icon{display:block;font-size:28px;color:var(--red);margin-bottom:5px}
.contact-option strong{display:block;font-size:16px}.contact-option small{display:block;margin-top:4px;color:var(--muted);overflow-wrap:anywhere}.contact-alt-call{text-align:center;margin-top:18px;font-size:13px;color:var(--muted)}
.contact-alt-call a{color:var(--blue);font-weight:800}body.contact-modal-open{overflow:hidden}
@media(max-width:650px){.contact-option-grid{grid-template-columns:1fr}.contact-modal-card{padding:28px 20px}.contact-modal-card h3{font-size:24px}.contact-option{padding:14px}.contact-float{right:15px;bottom:15px}}

/* v1.5 — Website Master Content integration */
.hero-master-copy{font-size:15px!important;max-width:760px;opacity:.9;margin-top:-5px!important}
.quick-grid{grid-template-columns:repeat(6,1fr)}
.trust-promise{display:flex;gap:18px;justify-content:center;align-items:center;padding:15px 22px;border-top:1px solid var(--line);color:var(--muted);font-size:14px}
.trust-promise strong{color:var(--navy);white-space:nowrap}.about-subhead{color:var(--blue);font-size:20px;margin:-5px 0 14px}
.core-promise{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:20px;padding:15px 18px;border-radius:8px;background:var(--navy);color:#fff}
.core-promise strong{color:#fff}.core-promise span{color:#dbe8f8;font-weight:800}
.service-cta{display:inline-block;margin-top:18px;color:var(--red);font-weight:900;font-size:13px}.service-cta:hover{color:var(--blue)}
.master-market:before{background:var(--red)}
.global-market-note{margin-top:28px;border-left:5px solid var(--blue);padding:20px 24px;background:#fff;border-radius:0 10px 10px 0}
.global-market-note h3{margin:0 0 7px;color:var(--navy)}.global-market-note p{margin:0;color:var(--muted)}
.source-destination{margin-top:24px;background:linear-gradient(125deg,#071d3b,#1556a8);color:#fff;border-radius:12px;padding:30px;display:flex;gap:28px;align-items:center;justify-content:space-between}
.source-destination h3{font-size:27px;margin:5px 0 8px}.source-destination p{color:#dbe8f8;margin:0;max-width:750px}.source-destination .kicker{color:#fff}
.source-destination-actions{display:flex;gap:10px;flex-wrap:wrap;min-width:260px;justify-content:flex-end}.btn-outline-light{border:1px solid rgba(255,255,255,.7);background:transparent;color:#fff;cursor:pointer}.btn-outline-light:hover{background:#fff;color:var(--navy)}
.master-why{border-top-color:var(--red)!important}
.resource-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.resource-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:24px;box-shadow:0 8px 24px rgba(20,50,90,.05)}
.resource-card span{font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:var(--red)}.resource-card h3{color:var(--navy);font-size:19px;margin:8px 0}.resource-card p{color:var(--muted);font-size:14px;margin:0}
.resource-note{margin-top:22px;padding:15px 18px;border-radius:8px;background:#edf3fb;color:#52667f;font-size:13px}
.quote-title{font-size:18px;color:var(--navy);margin-top:8px}.quote-form label{display:grid;gap:6px;font-size:13px;font-weight:800;color:var(--navy)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:13px}.field-note{font-weight:400;color:var(--muted)}.file-input{background:#fff}
.form-status{padding:12px 14px;border-radius:7px;font-size:13px;font-weight:800}.form-status.success{background:#e7f6ec;color:#176535}.form-status.error{background:#fff0ee;color:#a12720}
.wa-float-v15{position:fixed;right:22px;bottom:76px;z-index:120;background:#1aa260;color:#fff;padding:12px 17px;border-radius:999px;font-weight:900;box-shadow:0 10px 28px rgba(0,0,0,.22)}.wa-float-v15:hover{filter:brightness(.95)}
.footer-grid{display:grid;grid-template-columns:1.35fr 1fr 1.15fr 1fr;gap:30px}.footer-grid strong{color:#fff;display:block;margin-bottom:8px}.footer-grid small{display:block;margin:5px 0}.footer-brand p,.legal-line{font-size:12px;line-height:1.55;color:#aebfd4}.footer-links{display:grid;gap:6px}.footer-links a{color:#aebfd4;font-size:13px}.footer-links a:hover{color:#fff}.footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:28px;padding-top:20px;display:flex;justify-content:space-between;gap:25px;font-size:12px;color:#8fa5bf}
@media(max-width:1050px){.quick-grid{grid-template-columns:repeat(3,1fr)}.footer-grid{grid-template-columns:1fr 1fr}.resource-grid{grid-template-columns:1fr 1fr}.source-destination{align-items:flex-start;flex-direction:column}.source-destination-actions{justify-content:flex-start}}
@media(max-width:650px){.quick-grid,.resource-grid,.footer-grid,.form-row{grid-template-columns:1fr}.quick-item{border-right:0}.trust-promise{align-items:flex-start;flex-direction:column}.trust-promise strong{white-space:normal}.footer-bottom{flex-direction:column}.wa-float-v15{right:15px;bottom:70px}}

/* v1.8 — Compact homepage + dedicated information pages */
.compact-hero{min-height:auto;padding:58px 0 62px}
.homepage-gateway{padding:65px 0 75px;background:#f6f8fb}
.compact-section-head{max-width:760px;margin-bottom:28px}
.gateway-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.gateway-card{display:flex;flex-direction:column;justify-content:space-between;min-height:210px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 8px 24px rgba(20,50,90,.055);overflow:hidden;transition:.2s}
.gateway-card:hover{transform:translateY(-3px);box-shadow:0 15px 34px rgba(20,50,90,.11);border-color:#c7d8ed}
.gateway-card-body{padding:24px 24px 18px}.gateway-card h3{font-size:21px;color:var(--navy);margin:0 0 9px}.gateway-card p{font-size:14px;line-height:1.65;color:var(--muted);margin:0}
.gateway-button{display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid var(--line);padding:14px 24px;color:var(--blue);font-size:13px;font-weight:900;background:#fbfcfe}
.gateway-card:hover .gateway-button{background:#edf4fd;color:var(--red)}
.home-short-cta{padding:46px 0;background:var(--navy);color:#fff}.home-short-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:28px}.home-short-cta h2{font-size:30px;margin:5px 0 7px}.home-short-cta p{margin:0;color:#cbd9e9}.home-short-cta .kicker{color:#fff}
.inner-page{min-height:60vh}.inner-page-top{padding:15px 0;background:#edf3fb;border-bottom:1px solid var(--line)}.inner-page-top-row{display:flex;justify-content:space-between;align-items:center;gap:20px}.back-home,.inner-page-actions a{font-size:13px;font-weight:900;color:var(--blue)}.inner-page-actions a{color:var(--red)}
.page-next-step{padding:42px 0;background:#edf3fb}.page-next-step-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}.page-next-step h2{font-size:28px;color:var(--navy);margin:5px 0 7px}.page-next-step p{margin:0;color:var(--muted)}
.site-header .nav nav{gap:17px}.site-header .nav nav a{white-space:nowrap}
@media(max-width:1000px){.gateway-grid{grid-template-columns:repeat(2,1fr)}.site-header .nav nav{gap:11px;font-size:12px}}
@media(max-width:760px){.gateway-grid{grid-template-columns:1fr}.gateway-card{min-height:0}.home-short-cta-inner,.page-next-step-inner{align-items:flex-start;flex-direction:column}.inner-page-top-row{align-items:flex-start}.site-header .nav{align-items:flex-start}.site-header .nav nav{flex-wrap:wrap;justify-content:flex-end}.compact-hero{padding-top:38px}}


/* v2.1 — market delivery estimates + admin-managed gallery */
.market-estimate{margin:18px 0 15px;padding:14px 15px;background:#f3f7fc;border:1px solid #d8e4f2;border-radius:8px;display:grid;gap:10px}
.market-estimate>div{display:grid;gap:3px}.market-estimate span{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:800}
.market-estimate strong{font-size:13px;line-height:1.45;color:var(--navy)}
.delivery-disclaimer{margin:25px 0 5px;padding:16px 18px;background:#fff8e8;border:1px solid #efd99d;border-radius:9px;color:#665631;font-size:13px;line-height:1.6}
.delivery-disclaimer strong{color:#4e3e18}
.komborero-gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.gallery-item{background:#fff;border:1px solid var(--line);border-radius:11px;overflow:hidden;box-shadow:0 8px 24px rgba(20,50,90,.06)}
.gallery-media{aspect-ratio:16/10;background:#eaf0f7;display:grid;place-items:center;overflow:hidden}
.gallery-media img{width:100%;height:100%;object-fit:cover;display:block}.gallery-media iframe,.gallery-media video{width:100%;height:100%;display:block;border:0}
.gallery-media .wp-video,.gallery-media .wp-video-shortcode{width:100%!important;height:100%!important}.gallery-placeholder{padding:25px;text-align:center;color:var(--muted);font-size:13px}
.gallery-caption{padding:18px 20px}.gallery-caption h3{margin:0 0 7px;color:var(--navy);font-size:18px}.gallery-description{color:var(--muted);font-size:13px;line-height:1.6}.gallery-description p{margin:0}
.gallery-empty{padding:35px;border:1px dashed #bdcada;border-radius:10px;background:#fff;text-align:center}.gallery-empty h3{color:var(--navy);margin:0 0 7px}.gallery-empty p{margin:0;color:var(--muted)}
@media(max-width:980px){.komborero-gallery-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.komborero-gallery-grid{grid-template-columns:1fr}}

/* v2.2 — full-screen Gallery image lightbox */
.gallery-lightbox-trigger{display:block;width:100%;height:100%;padding:0;border:0;background:transparent;cursor:zoom-in;overflow:hidden}
.gallery-lightbox-trigger img{width:100%;height:100%;object-fit:cover;transition:transform .2s ease}
.gallery-lightbox-trigger:hover img{transform:scale(1.025)}
.gallery-lightbox[hidden]{display:none!important}
.gallery-lightbox{position:fixed;inset:0;z-index:999999;background:rgba(2,13,31,.96);display:flex;align-items:center;justify-content:center;padding:28px 70px}
.gallery-lightbox-figure{margin:0;max-width:100%;max-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}
.gallery-lightbox-image{display:block;max-width:calc(100vw - 140px);max-height:calc(100vh - 95px);width:auto;height:auto;object-fit:contain;border-radius:4px;box-shadow:0 18px 60px rgba(0,0,0,.4)}
.gallery-lightbox-caption{margin-top:10px;color:#fff;font-size:14px;text-align:center}
.gallery-lightbox-close,.gallery-lightbox-prev,.gallery-lightbox-next{position:absolute;border:0;background:rgba(255,255,255,.12);color:#fff;cursor:pointer;z-index:2}
.gallery-lightbox-close{right:20px;top:18px;width:44px;height:44px;border-radius:50%;font-size:32px;line-height:40px}
.gallery-lightbox-prev,.gallery-lightbox-next{top:50%;transform:translateY(-50%);width:48px;height:70px;border-radius:8px;font-size:48px;line-height:55px}
.gallery-lightbox-prev{left:16px}.gallery-lightbox-next{right:16px}
.gallery-lightbox-close:hover,.gallery-lightbox-prev:hover,.gallery-lightbox-next:hover{background:rgba(255,255,255,.24)}
body.gallery-lightbox-open{overflow:hidden}
@media(max-width:650px){
  .gallery-lightbox{padding:60px 12px 70px}
  .gallery-lightbox-image{max-width:calc(100vw - 24px);max-height:calc(100vh - 135px)}
  .gallery-lightbox-prev,.gallery-lightbox-next{top:auto;bottom:14px;width:54px;height:44px;font-size:36px;line-height:36px}
  .gallery-lightbox-prev{left:calc(50% - 65px)}.gallery-lightbox-next{right:calc(50% - 65px)}
}


/* v2.3 — Full-width Gallery page */
.gallery-page-full{padding-left:0!important;padding-right:0!important}
.gallery-wide-container{width:100%;max-width:none;margin:0;padding:0 24px}
.gallery-page-full .section-head{max-width:1400px;margin-left:auto;margin-right:auto;padding-left:0;padding-right:0}
.gallery-page-full .komborero-gallery-grid{
    width:100%;
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
    gap:18px;
}
.gallery-page-full .gallery-item{width:100%}
.gallery-page-full .gallery-media{aspect-ratio:4/3}
@media(min-width:1500px){
    .gallery-wide-container{padding-left:36px;padding-right:36px}
    .gallery-page-full .komborero-gallery-grid{grid-template-columns:repeat(4,1fr)}
}
@media(max-width:700px){
    .gallery-wide-container{padding-left:12px;padding-right:12px}
    .gallery-page-full .komborero-gallery-grid{grid-template-columns:1fr;gap:14px}
}


/* v2.4 — Gallery redesigned to match the reference layout */
.kfs-gallery-page{background:#fff}
.kfs-gallery-container{width:min(1200px,calc(100% - 48px));margin:0 auto}
.kfs-gallery-head{background:#f2f6fb;border-bottom:1px solid #dde5ef;padding:54px 0 32px}
.kfs-gallery-head .kicker{margin-bottom:7px}
.kfs-gallery-head h1{margin:0;color:#171b22;font-size:38px;line-height:1.12;letter-spacing:-.025em}
.kfs-gallery-head p{margin:10px 0 0;max-width:760px;color:#596d88;font-size:16px;line-height:1.55}
.kfs-gallery-body{padding:32px 0 70px;background-color:#fbfaf8;background-image:linear-gradient(rgba(29,62,105,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(29,62,105,.035) 1px,transparent 1px);background-size:88px 88px}

.kfs-gallery-toolbar{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:18px}
.kfs-gallery-filters{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.kfs-gallery-filter{appearance:none;border:1px solid #ccd5e1;background:#fff;color:#344963;border-radius:999px;padding:10px 18px;font:inherit;font-size:12px;font-weight:800;letter-spacing:.055em;text-transform:uppercase;cursor:pointer;transition:.18s ease}
.kfs-gallery-filter:hover{border-color:#1e4e9b;color:#1e4e9b}
.kfs-gallery-filter.is-active{background:#214f9d;border-color:#214f9d;color:#fff}
.kfs-gallery-count{font-size:13px;color:#746f6a;white-space:nowrap}.kfs-gallery-count strong{font-weight:500}

.kfs-gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;align-items:start}
.kfs-gallery-card{position:relative;min-width:0;border-radius:12px;background:#fff;overflow:hidden;border:1px solid #e5e0d8;box-shadow:0 1px 2px rgba(16,30,50,.035);transition:transform .18s ease,box-shadow .18s ease}
.kfs-gallery-card[hidden]{display:none!important}
.kfs-gallery-card:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(16,30,50,.10)}
.kfs-gallery-media{display:block;width:100%;min-height:210px;border:0;padding:0;background:#eef1f5;cursor:zoom-in;overflow:hidden}
.kfs-gallery-media img{display:block;width:100%;height:auto;min-height:210px;max-height:430px;object-fit:cover}
.kfs-gallery-video{cursor:default;aspect-ratio:4/3}
.kfs-gallery-video iframe,.kfs-gallery-video video{width:100%!important;height:100%!important;border:0;display:block}
.kfs-gallery-video .wp-video,.kfs-gallery-video .wp-video-shortcode{width:100%!important;height:100%!important}
.kfs-gallery-placeholder{display:grid;place-items:center;color:#6d7c90;font-size:13px;aspect-ratio:4/3}

.kfs-gallery-hover-label{position:absolute;left:0;right:0;bottom:0;padding:36px 14px 13px;background:linear-gradient(transparent,rgba(5,20,43,.82));color:#fff;opacity:0;transform:translateY(4px);transition:.18s ease;pointer-events:none}
.kfs-gallery-card:hover .kfs-gallery-hover-label{opacity:1;transform:none}
.kfs-gallery-hover-label span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.08em;opacity:.82;margin-bottom:3px}
.kfs-gallery-hover-label strong{font-size:13px;line-height:1.35;display:block}

.kfs-gallery-load-wrap{text-align:center;margin-top:30px}
.kfs-gallery-load-more{border:1px solid #1f4f9d;background:#1f4f9d;color:#fff;border-radius:999px;padding:12px 28px;font-weight:800;cursor:pointer}
.kfs-gallery-load-more:hover{background:#173e7f}.kfs-gallery-load-more[hidden]{display:none}
.kfs-gallery-empty{padding:45px;border:1px dashed #c8d2df;border-radius:12px;background:#fff;text-align:center}
.kfs-gallery-empty h3{margin:0 0 8px;color:var(--navy)}.kfs-gallery-empty p{margin:0;color:var(--muted)}

.gallery-lightbox[hidden]{display:none!important}
.gallery-lightbox{position:fixed;inset:0;z-index:999999;background:rgba(2,13,31,.96);display:flex;align-items:center;justify-content:center;padding:28px 70px}
.gallery-lightbox-figure{margin:0;max-width:100%;max-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}
.gallery-lightbox-image{display:block;max-width:calc(100vw - 140px);max-height:calc(100vh - 95px);width:auto;height:auto;object-fit:contain;border-radius:4px;box-shadow:0 18px 60px rgba(0,0,0,.4)}
.gallery-lightbox-caption{margin-top:10px;color:#fff;font-size:14px;text-align:center}
.gallery-lightbox-close,.gallery-lightbox-prev,.gallery-lightbox-next{position:absolute;border:0;background:rgba(255,255,255,.12);color:#fff;cursor:pointer;z-index:2}
.gallery-lightbox-close{right:20px;top:18px;width:44px;height:44px;border-radius:50%;font-size:32px;line-height:40px}
.gallery-lightbox-prev,.gallery-lightbox-next{top:50%;transform:translateY(-50%);width:48px;height:70px;border-radius:8px;font-size:48px;line-height:55px}
.gallery-lightbox-prev{left:16px}.gallery-lightbox-next{right:16px}
.gallery-lightbox-close:hover,.gallery-lightbox-prev:hover,.gallery-lightbox-next:hover{background:rgba(255,255,255,.24)}
body.gallery-lightbox-open{overflow:hidden}

@media(max-width:1000px){
  .kfs-gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:780px){
  .kfs-gallery-container{width:min(100% - 28px,1200px)}
  .kfs-gallery-head{padding:38px 0 26px}.kfs-gallery-head h1{font-size:31px}
  .kfs-gallery-toolbar{align-items:flex-start;flex-direction:column}.kfs-gallery-count{white-space:normal}
  .kfs-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
}
@media(max-width:520px){
  .kfs-gallery-grid{grid-template-columns:1fr}
  .kfs-gallery-filter{padding:9px 14px}
  .gallery-lightbox{padding:60px 12px 70px}
  .gallery-lightbox-image{max-width:calc(100vw - 24px);max-height:calc(100vh - 135px)}
  .gallery-lightbox-prev,.gallery-lightbox-next{top:auto;bottom:14px;width:54px;height:44px;font-size:36px;line-height:36px}
  .gallery-lightbox-prev{left:calc(50% - 65px)}.gallery-lightbox-next{right:calc(50% - 65px)}
}


/* ==========================================================
   v2.9 — Launch Polish
   Header, navigation, hero, mobile menu and floating contacts
   ========================================================== */

/* Global link polish */
a{text-decoration:none}
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible{
  outline:3px solid rgba(21,86,168,.30);
  outline-offset:3px;
}

/* Header */
.site-header{
  background:rgba(255,255,255,.985);
  border-bottom:1px solid #e7ebf1;
  box-shadow:0 4px 18px rgba(7,29,59,.045);
}
.site-header .nav{
  min-height:86px;
  height:auto;
  padding:8px 0;
  gap:34px;
}
.brand-link{
  display:flex;
  align-items:center;
  flex:0 0 auto;
  line-height:0;
}
.site-header .logo{
  width:178px;
  max-width:178px;
  height:auto;
  max-height:70px;
  object-fit:contain;
}
.site-header .main-nav{
  margin-left:auto;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:6px;
  font-size:14px;
  font-weight:800;
}
.site-header .main-nav a{
  position:relative;
  display:inline-flex;
  align-items:center;
  min-height:44px;
  padding:9px 11px;
  border-radius:7px;
  color:#102b50;
  text-decoration:none!important;
  white-space:nowrap;
  transition:background-color .18s ease,color .18s ease,transform .18s ease;
}
.site-header .main-nav a:not(.nav-cta):hover{
  color:var(--blue);
  background:#f1f6fc;
}
.site-header .main-nav a:not(.nav-cta):after{
  content:"";
  position:absolute;
  left:11px;
  right:11px;
  bottom:5px;
  height:2px;
  border-radius:2px;
  background:var(--red);
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .18s ease;
}
.site-header .main-nav a:not(.nav-cta):hover:after{
  transform:scaleX(1);
}
.site-header .nav-cta{
  margin-left:6px;
  min-height:46px;
  padding:10px 18px!important;
  border-radius:7px!important;
  background:linear-gradient(135deg,#1455a8,#0e438b);
  color:#fff!important;
  box-shadow:0 7px 18px rgba(21,86,168,.20);
}
.site-header .nav-cta:hover{
  background:var(--red);
  transform:translateY(-1px);
}

/* Mobile menu toggle */
.mobile-nav-toggle{
  display:none;
  width:46px;
  height:42px;
  margin-left:auto;
  border:1px solid #d9e2ee;
  border-radius:8px;
  background:#fff;
  cursor:pointer;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:5px;
}
.mobile-nav-toggle span{
  width:22px;
  height:2px;
  border-radius:2px;
  background:var(--navy);
  transition:.2s ease;
}
.mobile-nav-toggle[aria-expanded="true"] span:nth-child(1){
  transform:translateY(7px) rotate(45deg);
}
.mobile-nav-toggle[aria-expanded="true"] span:nth-child(2){
  opacity:0;
}
.mobile-nav-toggle[aria-expanded="true"] span:nth-child(3){
  transform:translateY(-7px) rotate(-45deg);
}

/* Hero */
.compact-hero{
  padding:0;
}
.compact-hero .hero-grid{
  min-height:600px;
  padding:54px 0 58px;
  grid-template-columns:1.03fr .97fr;
  gap:58px;
}
.compact-hero .hero h1,
.compact-hero h1{
  font-size:clamp(48px,5.2vw,70px);
  line-height:1.02;
  letter-spacing:-.025em;
  margin-top:14px;
  margin-bottom:20px;
}
.compact-hero .hero-logo{
  max-width:590px;
  margin-left:auto;
  padding:24px;
  border-radius:18px;
  box-shadow:0 24px 60px rgba(0,0,0,.20);
}
.compact-hero .hero-logo img{
  border-radius:8px;
}
.compact-hero .motto{
  margin:18px 0 0;
}
.compact-hero .actions{
  margin-top:26px;
}
.compact-hero .btn{
  min-width:142px;
  text-align:center;
  border-radius:7px;
  transition:transform .18s ease,box-shadow .18s ease;
}
.compact-hero .btn:hover{
  transform:translateY(-2px);
  box-shadow:0 8px 22px rgba(0,0,0,.16);
}

/* Homepage gateway card polish */
.homepage-gateway{
  padding-top:62px;
}
.gateway-card{
  border-color:#e0e7f0;
}
.gateway-card h3{
  letter-spacing:-.01em;
}
.gateway-button{
  text-decoration:none!important;
}

/* Floating contact controls */
.wa-float-v15,
.contact-float{
  right:22px;
  min-width:148px;
  min-height:50px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:12px 18px;
  border-radius:999px;
  line-height:1.1;
  text-decoration:none!important;
  box-shadow:0 10px 28px rgba(0,0,0,.18);
  transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;
}
.contact-float{
  bottom:22px;
}
.wa-float-v15{
  bottom:84px;
}
.wa-float-v15:hover,
.contact-float:hover{
  transform:translateY(-2px);
  box-shadow:0 13px 30px rgba(0,0,0,.22);
}

/* Desktop tuning */
@media (max-width:1180px){
  .site-header .nav{
    gap:18px;
  }
  .site-header .logo{
    width:158px;
    max-width:158px;
  }
  .site-header .main-nav{
    gap:2px;
    font-size:13px;
  }
  .site-header .main-nav a{
    padding-left:8px;
    padding-right:8px;
  }
}

/* Proper tablet/mobile navigation */
@media (max-width:900px){
  .site-header .nav{
    position:relative;
    min-height:76px;
    padding:7px 0;
    align-items:center!important;
  }
  .site-header .logo{
    width:150px;
    max-width:150px;
    max-height:62px;
  }
  .mobile-nav-toggle{
    display:flex;
  }
  .site-header .main-nav{
    display:none!important;
    position:absolute;
    left:0;
    right:0;
    top:100%;
    z-index:999;
    margin:0;
    padding:12px;
    background:#fff;
    border:1px solid #dfe6ef;
    border-top:0;
    border-radius:0 0 12px 12px;
    box-shadow:0 18px 40px rgba(7,29,59,.14);
    flex-direction:column;
    align-items:stretch;
    gap:2px;
    font-size:15px;
  }
  .site-header .main-nav.is-open{
    display:flex!important;
  }
  .site-header .main-nav a{
    width:100%;
    min-height:46px;
    justify-content:flex-start;
    padding:10px 12px;
  }
  .site-header .main-nav a:after{
    display:none;
  }
  .site-header .nav-cta{
    margin:6px 0 0;
    justify-content:center!important;
  }
  body.mobile-menu-open{
    overflow:hidden;
  }

  .compact-hero .hero-grid{
    min-height:auto;
    grid-template-columns:1fr;
    gap:36px;
    padding:58px 0;
  }
  .compact-hero .hero-logo{
    width:min(620px,100%);
    max-width:none;
    margin:0 auto;
  }
}

@media (max-width:600px){
  .site-header .logo{
    width:138px;
    max-width:138px;
  }
  .compact-hero .hero-grid{
    padding:46px 0 50px;
  }
  .compact-hero h1{
    font-size:clamp(41px,13vw,54px);
  }
  .compact-hero p{
    font-size:17px;
  }
  .compact-hero .motto{
    font-size:18px;
  }
  .compact-hero .actions{
    display:grid;
    grid-template-columns:1fr;
  }
  .compact-hero .btn{
    width:100%;
  }

  .wa-float-v15,
  .contact-float{
    right:12px;
    min-width:126px;
    min-height:46px;
    padding:10px 14px;
    font-size:13px;
  }
  .contact-float{
    bottom:12px;
  }
  .wa-float-v15{
    bottom:68px;
  }
}


/* ==========================================================
   v3.2 — User Journey, Clean URLs & Interaction Polish
   ========================================================== */

/* Sticky navigation: keeps the mobile menu control accessible while scrolling. */
.site-header{
  position:sticky;
  top:0;
  z-index:1200;
}
.admin-bar .site-header{top:32px}
@media(max-width:782px){.admin-bar .site-header{top:46px}}
@media(max-width:900px){
  .site-header{
    box-shadow:0 5px 20px rgba(7,29,59,.09);
  }
  .mobile-nav-toggle{
    position:relative;
    z-index:1203;
    flex:0 0 46px;
  }
  .site-header .main-nav{
    max-height:calc(100vh - 86px);
    overflow-y:auto;
    overscroll-behavior:contain;
  }
}

/* Business-first homepage hero. */
.hero-business-visual{
  position:relative;
  min-height:420px;
  border-radius:20px;
  overflow:hidden;
  background:#102f58;
  box-shadow:0 26px 65px rgba(0,0,0,.24);
}
.hero-business-visual img{
  display:block;
  width:100%;
  height:100%;
  min-height:420px;
  object-fit:cover;
  object-position:center;
}
.hero-business-visual:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 45%,rgba(6,28,57,.82) 100%);
  pointer-events:none;
}
.hero-business-caption{
  position:absolute;
  z-index:2;
  left:24px;
  right:24px;
  bottom:22px;
  color:#fff;
}
.hero-business-caption strong{
  display:block;
  font-size:19px;
  letter-spacing:.02em;
}
.hero-business-caption span{
  display:block;
  margin-top:4px;
  font-size:14px;
  opacity:.88;
}
@media(max-width:900px){
  .hero-business-visual,
  .hero-business-visual img{min-height:330px}
}

/* Consistent line-icon visual language. */
.kfs-line-icon{
  width:48px;
  height:48px;
  display:inline-grid;
  place-items:center;
  border-radius:12px;
  background:#edf5ff;
  color:#1556a8;
  flex:0 0 48px;
}
.kfs-line-icon svg{
  width:27px;
  height:27px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

/* Guided homepage hierarchy. */
.kfs-guided-home{background:#f5f8fc}
.kfs-home-groups{
  display:grid;
  gap:28px;
}
.kfs-home-group{
  border:1px solid #dfe7f1;
  background:#fff;
  border-radius:18px;
  padding:24px;
  box-shadow:0 10px 32px rgba(16,47,88,.055);
}
.kfs-home-group-head{
  display:flex;
  gap:14px;
  align-items:flex-start;
  margin-bottom:20px;
}
.kfs-home-group-head>span{
  width:38px;
  height:38px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#102f58;
  color:#fff;
  font-size:12px;
  font-weight:900;
}
.kfs-home-group-head h3{
  margin:0 0 4px;
  color:#102f58;
  font-size:25px;
}
.kfs-home-group-head p{
  margin:0;
  color:#617084;
  font-size:14px;
}
.kfs-home-start{border-top:4px solid #1556a8}
.kfs-home-explore{border-top:4px solid #1a9b70}
.kfs-home-about{border-top:4px solid #e3222a}

.kfs-start-grid{
  display:grid;
  grid-template-columns:1.45fr 1fr;
  gap:16px;
}
.kfs-action-card{
  min-height:180px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:14px;
  padding:22px;
  border-radius:14px;
  border:1px solid #dfe6ef;
  background:#fff;
  color:#102f58;
  box-shadow:0 7px 20px rgba(16,47,88,.045);
  transition:.2s ease;
}
.kfs-action-card:hover,
.kfs-mini-card:hover{
  transform:translateY(-3px);
  border-color:#bdd0e6;
  box-shadow:0 13px 30px rgba(16,47,88,.10);
}
.kfs-action-card strong,
.kfs-mini-card strong{
  display:block;
  color:#102f58;
  font-size:20px;
}
.kfs-action-card small,
.kfs-mini-card small{
  display:block;
  margin-top:5px;
  color:#627286;
  line-height:1.5;
}
.kfs-action-card b,
.kfs-mini-card b{
  margin-top:auto;
  color:#1556a8;
  font-size:13px;
}
.kfs-action-feature{
  grid-row:span 2;
  min-height:376px;
  justify-content:center;
  background:linear-gradient(145deg,#edf6ff,#ffffff);
}
.kfs-action-feature .kfs-line-icon{
  width:62px;height:62px;flex-basis:62px;
}
.kfs-action-feature .kfs-line-icon svg{width:34px;height:34px}
.kfs-action-feature strong{font-size:28px}
.kfs-action-feature small{font-size:15px}
.kfs-action-quote{
  background:linear-gradient(145deg,#e3222a,#b7131a);
  color:#fff;
  border-color:transparent;
}
.kfs-action-quote .kfs-line-icon{
  background:rgba(255,255,255,.14);
  color:#fff;
}
.kfs-action-quote strong,
.kfs-action-quote small,
.kfs-action-quote b{color:#fff}

.kfs-mini-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:14px;
}
.kfs-about-grid{grid-template-columns:repeat(4,1fr)}
.kfs-mini-card{
  min-height:190px;
  padding:18px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:12px;
  border:1px solid #dfe6ef;
  border-radius:13px;
  background:#fff;
  transition:.2s ease;
}
.kfs-mini-card strong{font-size:17px}

@media(max-width:980px){
  .kfs-mini-grid{grid-template-columns:repeat(3,1fr)}
  .kfs-about-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:700px){
  .kfs-home-group{padding:18px}
  .kfs-start-grid{grid-template-columns:1fr}
  .kfs-action-feature{grid-row:auto;min-height:230px}
  .kfs-mini-grid,
  .kfs-about-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:480px){
  .kfs-mini-grid,
  .kfs-about-grid{grid-template-columns:1fr}
}

/* Gallery skeleton shimmer -> smooth fade in. */
.kfs-gallery-image-shell{
  position:relative;
  background:#e9edf2;
}
.kfs-gallery-image-shell:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(90deg,#e9edf2 20%,#f7f9fb 40%,#e9edf2 60%);
  background-size:220% 100%;
  animation:kfs-gallery-shimmer 1.25s linear infinite;
  transition:opacity .28s ease;
  pointer-events:none;
}
.kfs-gallery-image-shell.is-loaded:before{
  opacity:0;
  animation:none;
}
.kfs-gallery-image-shell img{
  opacity:0;
  transform:scale(1.015);
  transition:opacity .38s ease,transform .55s ease;
}
.kfs-gallery-image-shell img.is-loaded{
  opacity:1;
  transform:scale(1);
}
@keyframes kfs-gallery-shimmer{
  from{background-position:200% 0}
  to{background-position:-20% 0}
}
@media(prefers-reduced-motion:reduce){
  .kfs-gallery-image-shell:before{animation:none}
  .kfs-gallery-image-shell img{transition:none}
}

/* Scroll-linked Trade Journey. */
.trade-journey-section{
  background:#f7f9fc;
}
.trade-scroll-progress{
  position:sticky;
  top:104px;
  z-index:30;
  margin:0 auto 26px;
  padding:12px 15px;
  background:rgba(255,255,255,.94);
  border:1px solid #dde6f0;
  border-radius:12px;
  box-shadow:0 8px 26px rgba(16,47,88,.08);
  backdrop-filter:blur(8px);
}
.admin-bar .trade-scroll-progress{top:136px}
.trade-scroll-progress-track{
  height:5px;
  overflow:hidden;
  border-radius:999px;
  background:#e3e9f0;
}
.trade-scroll-progress-track span{
  display:block;
  width:0;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,#1556a8,#e3222a);
  transition:width .12s linear;
}
.trade-scroll-progress-label{
  display:flex;
  justify-content:flex-end;
  gap:5px;
  margin-top:7px;
  color:#6b7888;
  font-size:12px;
  font-weight:700;
}
.trade-journey-steps{
  max-width:900px;
  margin:0 auto;
  display:grid;
  gap:20px;
}
.trade-journey-step{
  min-height:210px;
  display:grid;
  grid-template-columns:66px 1fr;
  gap:24px;
  align-items:center;
  padding:28px;
  background:#fff;
  border:1px solid #dde6f0;
  border-radius:16px;
  box-shadow:0 10px 28px rgba(16,47,88,.05);
  transition:.22s ease;
}
.trade-journey-step.is-active{
  border-color:#9fbfe3;
  box-shadow:0 16px 36px rgba(21,86,168,.12);
  transform:translateY(-2px);
}
.trade-step-number{
  width:56px;
  height:56px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#1556a8;
  color:#fff;
  font-size:19px;
  font-weight:900;
}
.trade-step-kicker{
  color:#e3222a;
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.12em;
}
.trade-journey-step h3{
  margin:5px 0 8px;
  color:#102f58;
  font-size:25px;
}
.trade-journey-step p{
  margin:0;
  color:#5f7084;
  line-height:1.7;
}
@media(max-width:782px){
  .trade-scroll-progress,
  .admin-bar .trade-scroll-progress{top:88px}
}
@media(max-width:560px){
  .trade-journey-step{
    grid-template-columns:1fr;
    min-height:0;
    padding:22px;
  }
}

/* Clean URL migration admin reassurance. */
.kfs-clean-url-note{font-size:12px;color:#68788a}


/* ==========================================================
   v3.3 — Services Naming + High-Visibility Brand Logo
   ========================================================== */

.site-header .nav{
  min-height:98px;
  padding-top:8px;
  padding-bottom:8px;
}

.site-header .brand-link{
  flex:0 0 auto;
  min-width:250px;
}

.site-header .logo{
  width:245px;
  max-width:245px;
  max-height:82px;
  object-fit:contain;
  object-position:left center;
  filter:drop-shadow(0 2px 4px rgba(9,37,75,.08));
}

@media(max-width:1180px){
  .site-header .brand-link{min-width:220px}
  .site-header .logo{
    width:215px;
    max-width:215px;
    max-height:76px;
  }
}

@media(max-width:900px){
  .site-header .nav{
    min-height:82px;
  }
  .site-header .brand-link{
    min-width:0;
    max-width:190px;
  }
  .site-header .logo{
    width:185px;
    max-width:185px;
    max-height:68px;
  }
}

@media(max-width:520px){
  .site-header .brand-link{
    max-width:160px;
  }
  .site-header .logo{
    width:158px;
    max-width:158px;
    max-height:60px;
  }
}

/* Service wording refinement */
.kfs-action-feature strong{
  letter-spacing:-.015em;
}


/* ==========================================================
   v3.4 — Footer Preservation, New Logo & Complete Services
   ========================================================== */

/* High-visibility logo treatment using the supplied Komborero artwork. */
.site-header .brand-link{
  min-width:275px;
}
.site-header .logo{
  width:270px;
  max-width:270px;
  max-height:88px;
  object-fit:contain;
  object-position:left center;
}

@media(max-width:1180px){
  .site-header .brand-link{min-width:238px}
  .site-header .logo{
    width:232px;
    max-width:232px;
    max-height:80px;
  }
}
@media(max-width:900px){
  .site-header .brand-link{max-width:205px;min-width:0}
  .site-header .logo{
    width:198px;
    max-width:198px;
    max-height:72px;
  }
}
@media(max-width:520px){
  .site-header .brand-link{max-width:170px}
  .site-header .logo{
    width:166px;
    max-width:166px;
    max-height:62px;
  }
}

/* Complete homepage services section. */
.kfs-home-services{
  padding:68px 0;
  background:#ffffff;
}
.kfs-services-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.kfs-service-card{
  min-height:180px;
  display:flex;
  gap:16px;
  align-items:flex-start;
  padding:22px;
  border:1px solid #dfe6ef;
  border-radius:15px;
  background:linear-gradient(180deg,#ffffff,#f8fbff);
  color:#102f58;
  box-shadow:0 8px 24px rgba(16,47,88,.05);
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.kfs-service-card:hover{
  transform:translateY(-3px);
  border-color:#b8cde5;
  box-shadow:0 14px 30px rgba(16,47,88,.10);
}
.kfs-service-card h3{
  margin:0 0 8px;
  font-size:20px;
  color:#102f58;
}
.kfs-service-card p{
  margin:0;
  line-height:1.6;
  color:#627286;
  font-size:14px;
}
@media(max-width:900px){
  .kfs-services-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:600px){
  .kfs-home-services{padding:50px 0}
  .kfs-services-grid{grid-template-columns:1fr}
  .kfs-service-card{min-height:0}
}


/* ==========================================================
   v3.5 — Equal Start Here Cards + Equal Core Services Row
   ========================================================== */

/* Start Here: three equal cards on desktop */
.kfs-home-start-equal{
  padding:28px;
}
.kfs-start-equal-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.kfs-start-card{
  min-height:285px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  text-align:center;
  gap:14px;
  padding:28px 22px 24px;
  border:1px solid #dce5ef;
  border-radius:16px;
  background:linear-gradient(180deg,#ffffff,#f8fbff);
  box-shadow:0 8px 24px rgba(16,47,88,.05);
  color:#102f58;
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.kfs-start-card:hover{
  transform:translateY(-3px);
  border-color:#b9cde5;
  box-shadow:0 14px 30px rgba(16,47,88,.10);
}
.kfs-start-card-quote{
  background:linear-gradient(180deg,#fff8f8,#ffffff);
}
.kfs-start-icon{
  width:82px;
  height:82px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#eef5ff;
  color:#1556a8;
  flex:0 0 82px;
}
.kfs-start-card-quote .kfs-start-icon{
  background:#fff0f1;
  color:#e3222a;
}
.kfs-start-icon svg{
  width:40px;
  height:40px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.kfs-start-card strong{
  font-size:25px;
  line-height:1.2;
  color:#102f58;
}
.kfs-start-card small{
  max-width:340px;
  color:#617084;
  font-size:15px;
  line-height:1.55;
}
.kfs-start-card b{
  margin-top:auto;
  color:#1556a8;
  font-size:14px;
}

/* Core services: six equal cards in one row on desktop */
.kfs-core-services{
  background:#fbfdff;
}
.kfs-core-services-head{
  max-width:900px;
  margin-left:auto;
  margin-right:auto;
  text-align:center;
}
.kfs-core-services-row{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:14px;
}
.kfs-core-service-card{
  min-height:360px;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  gap:14px;
  padding:24px 16px 22px;
  border:1px solid #dce5ef;
  border-radius:16px;
  background:#fff;
  box-shadow:0 8px 22px rgba(16,47,88,.045);
  color:#102f58;
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.kfs-core-service-card:hover{
  transform:translateY(-3px);
  border-color:#b9cde5;
  box-shadow:0 14px 30px rgba(16,47,88,.10);
}
.kfs-core-service-icon{
  width:84px;
  height:84px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#eef5ff;
  color:#1556a8;
  flex:0 0 84px;
}
.kfs-core-service-icon svg{
  width:40px;
  height:40px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.kfs-core-service-card h3{
  margin:4px 0 0;
  color:#102f58;
  font-size:18px;
  line-height:1.25;
}
.kfs-core-service-card p{
  margin:0;
  color:#617084;
  font-size:14px;
  line-height:1.55;
}
.kfs-core-service-card b{
  margin-top:auto;
  color:#1556a8;
  font-size:14px;
}

/* Responsive behaviour: equal cards remain balanced rather than stacked unevenly */
@media(max-width:1250px){
  .kfs-core-services-row{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
@media(max-width:900px){
  .kfs-start-equal-grid{
    grid-template-columns:1fr;
  }
  .kfs-start-card{
    min-height:250px;
  }
  .kfs-core-services-row{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:580px){
  .kfs-core-services-row{
    grid-template-columns:1fr;
  }
  .kfs-core-service-card{
    min-height:280px;
  }
}


/* v3.6 Homepage conversion architecture */
.kfs-centered-head{max-width:900px;margin-left:auto;margin-right:auto;text-align:center}
.kfs-about-home{padding:74px 0;background:#fff}
.kfs-about-home-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}
.kfs-about-home-media{border-radius:18px;overflow:hidden;box-shadow:0 18px 42px rgba(16,47,88,.13);min-height:420px}
.kfs-about-home-media img{width:100%;height:100%;min-height:420px;object-fit:cover;display:block}
.kfs-about-home-copy h2{margin:8px 0 16px}.kfs-about-home-copy>p{color:#617084;line-height:1.75}
.kfs-mission-vision{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:24px 0 28px}
.kfs-mission-vision>div{padding:18px;border:1px solid #e0e7ef;border-radius:14px;background:#f8fbff}.kfs-mission-vision h3{margin:0 0 8px;color:#102f58;font-size:18px}.kfs-mission-vision p{margin:0;color:#617084;line-height:1.55;font-size:14px}
.kfs-core-services-v36{padding:74px 0;background:#f7faff}.kfs-core-services-grid-v36{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.kfs-core-service-card-v36{min-height:300px;display:flex;flex-direction:column;align-items:flex-start;gap:14px;padding:26px;border:1px solid #dce5ef;border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(16,47,88,.05);color:#102f58;transition:.2s ease}
.kfs-core-service-card-v36:hover{transform:translateY(-4px);border-color:#b8cde5;box-shadow:0 16px 34px rgba(16,47,88,.11)}.kfs-core-service-card-v36 h3{margin:2px 0 0;color:#102f58;font-size:21px}.kfs-core-service-card-v36 p{margin:0;color:#617084;line-height:1.6}.kfs-core-service-card-v36 b{margin-top:auto;color:#1556a8;font-size:14px}
.kfs-home-trade-journey{padding:76px 0;background:#102f58;color:#fff}.kfs-home-trade-journey .section-head h2,.kfs-home-trade-journey .section-head p{color:#fff}.kfs-home-trade-journey .kicker{color:#ff7d82}
.kfs-journey-track{position:relative;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;margin-top:34px}.kfs-journey-track:before{content:"";position:absolute;top:34px;left:7%;right:7%;height:2px;background:linear-gradient(90deg,#fff,#e3222a);opacity:.55;z-index:0}.kfs-journey-step{position:relative;z-index:1;text-align:center;padding:0 8px}.kfs-journey-step span{width:68px;height:68px;margin:0 auto 16px;display:grid;place-items:center;border-radius:50%;background:#fff;color:#102f58;font-weight:700;box-shadow:0 0 0 7px #102f58}.kfs-journey-step h3{font-size:16px;margin:0 0 8px;color:#fff}.kfs-journey-step p{margin:0;color:rgba(255,255,255,.76);line-height:1.5;font-size:13px}.kfs-journey-more{text-align:center;margin-top:34px}
.kfs-reach-stats{padding:74px 0;background:#fff}.kfs-stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:32px}.kfs-stat-card{padding:30px 24px;border-radius:18px;background:#f8fbff;border:1px solid #dce5ef;text-align:center;box-shadow:0 10px 28px rgba(16,47,88,.06);transition:.25s ease}.kfs-stat-card:hover{transform:translateY(-5px);box-shadow:0 16px 34px rgba(16,47,88,.11)}.kfs-stat-number{font-size:48px;line-height:1;font-weight:800;margin-bottom:12px;color:#e3222a}.kfs-stat-card h3{color:#102f58;margin:0 0 10px}.kfs-stat-card p{color:#617084;line-height:1.55;min-height:72px}.kfs-stats-note{margin:18px 0 0;text-align:center;font-size:12px;color:#7a8795}.kfs-home-final-cta{padding-top:66px;padding-bottom:66px}
@media(max-width:1100px){.kfs-journey-track{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:30px}.kfs-journey-track:before{display:none}}
@media(max-width:900px){.kfs-about-home-grid{grid-template-columns:1fr}.kfs-about-home-media,.kfs-about-home-media img{min-height:320px}.kfs-core-services-grid-v36{grid-template-columns:repeat(2,minmax(0,1fr))}.kfs-stats-grid{grid-template-columns:1fr}}
@media(max-width:620px){.kfs-about-home,.kfs-core-services-v36,.kfs-home-trade-journey,.kfs-reach-stats{padding:52px 0}.kfs-mission-vision,.kfs-core-services-grid-v36,.kfs-journey-track{grid-template-columns:1fr}.kfs-core-service-card-v36{min-height:0}}


/* v3.8 — floating gallery visual and Years of Experience */
.kfs-about-gallery-media{
  position:relative;
  min-height:500px;
  overflow:visible;
  box-shadow:none;
  background:transparent;
  border-radius:0;
}
.kfs-floating-gallery{
  position:relative;
  min-height:500px;
  width:100%;
}
.kfs-floating-media{
  position:absolute;
  overflow:hidden;
  border-radius:18px;
  background:#dfe8f4;
  box-shadow:0 18px 42px rgba(16,47,88,.18);
  border:4px solid #fff;
  animation:kfsGalleryFloat 7s ease-in-out infinite;
}
.kfs-floating-media img,
.kfs-floating-media video{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.kfs-floating-media video{background:#102f58}
.kfs-floating-media-1{width:68%;height:330px;left:0;top:34px;z-index:2}
.kfs-floating-media-2{width:43%;height:210px;right:0;top:0;z-index:4;animation-delay:-1.4s}
.kfs-floating-media-3{width:42%;height:210px;right:3%;bottom:12px;z-index:3;animation-delay:-3.1s}
.kfs-floating-media-4{width:34%;height:150px;left:10%;bottom:0;z-index:5;animation-delay:-4.8s}
.kfs-floating-media-5,.kfs-floating-media-6{display:none}
.kfs-floating-media-fallback{width:88%;height:430px;left:6%;top:20px}
.kfs-floating-gallery-label{
  position:absolute;left:28px;bottom:34px;z-index:8;padding:14px 18px;border-radius:12px;
  background:rgba(10,39,75,.92);color:#fff;box-shadow:0 12px 28px rgba(10,39,75,.2);backdrop-filter:blur(5px)
}
.kfs-floating-gallery-label span{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.11em;opacity:.72;margin-bottom:4px}
.kfs-floating-gallery-label a{color:#fff;font-weight:700;text-decoration:none}
@keyframes kfsGalleryFloat{
  0%,100%{transform:translate3d(0,0,0) rotate(0deg)}
  50%{transform:translate3d(0,-8px,0) rotate(.35deg)}
}
.kfs-stats-grid-v38{grid-template-columns:repeat(4,minmax(0,1fr))}
.kfs-stats-grid-v38 .kfs-stat-card p{min-height:92px}

@media(max-width:1100px){
  .kfs-stats-grid-v38{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:900px){
  .kfs-about-gallery-media,.kfs-floating-gallery{min-height:430px}
  .kfs-floating-media-1{width:72%;height:285px}
  .kfs-floating-media-2,.kfs-floating-media-3{width:40%;height:180px}
}
@media(max-width:620px){
  .kfs-about-gallery-media,.kfs-floating-gallery{min-height:360px}
  .kfs-floating-media{animation:none}
  .kfs-floating-media-1{width:82%;height:255px;left:0;top:20px}
  .kfs-floating-media-2{width:46%;height:145px;right:0;top:0}
  .kfs-floating-media-3{width:44%;height:135px;right:0;bottom:5px}
  .kfs-floating-media-4{display:none}
  .kfs-floating-gallery-label{left:14px;bottom:16px}
  .kfs-stats-grid-v38{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
  .kfs-floating-media{animation:none!important}
}


/* v3.10 — Market sourcing actions. Existing market card layout retained. */
.market-actions{
  display:flex;
  flex-wrap:wrap;
  gap:14px 18px;
  align-items:center;
  margin-top:18px;
}
.market-action{
  display:inline-flex;
  align-items:center;
  font-size:14px;
  font-weight:900;
  line-height:1.35;
  text-decoration:none;
}
.market-browse{color:var(--blue)}
.market-browse:hover{color:var(--navy)}
.market-source{color:var(--red)}
.market-source:hover{color:#b51322}
@media(max-width:560px){
  .market-actions{align-items:flex-start;flex-direction:column;gap:9px}
}


/* ==========================================================
   v3.12 — Slow mixed Gallery slideshow
   One image/video at a time, preserving the v3.8 About layout.
   ========================================================== */
.kfs-about-gallery-media{
  position:relative;
  min-height:500px;
  overflow:hidden;
  border-radius:20px;
  background:#0a274b;
  box-shadow:0 20px 50px rgba(10,39,75,.16);
}
.kfs-gallery-slideshow,
.kfs-gallery-slides{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}
.kfs-gallery-slide{
  position:absolute;
  inset:0;
  opacity:0;
  visibility:hidden;
  transform:scale(1.025);
  transition:
    opacity 1.55s ease,
    visibility 1.55s ease,
    transform 8.5s ease;
  z-index:1;
}
.kfs-gallery-slide.is-active{
  opacity:1;
  visibility:visible;
  transform:scale(1.075);
  z-index:2;
}
.kfs-gallery-slide-media{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
}
.kfs-gallery-slide video{
  background:#081d37;
}
.kfs-gallery-slideshow-overlay{
  position:absolute;
  inset:0;
  z-index:3;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(4,22,43,.03) 46%,rgba(4,22,43,.48) 100%);
}
.kfs-gallery-slideshow .kfs-floating-gallery-label{
  position:absolute;
  left:28px;
  bottom:30px;
  z-index:5;
  padding:14px 18px;
  border-radius:12px;
  background:rgba(10,39,75,.90);
  color:#fff;
  box-shadow:0 12px 28px rgba(10,39,75,.2);
  backdrop-filter:blur(5px);
}
.kfs-gallery-slideshow .kfs-floating-gallery-label span{
  display:block;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.11em;
  opacity:.75;
  margin-bottom:4px;
}
.kfs-gallery-slideshow .kfs-floating-gallery-label a{
  color:#fff;
  font-weight:700;
  text-decoration:none;
}
.kfs-gallery-progress{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:3px;
  z-index:6;
  background:rgba(255,255,255,.20);
  overflow:hidden;
}
.kfs-gallery-progress-bar{
  display:block;
  width:100%;
  height:100%;
  transform:scaleX(0);
  transform-origin:left center;
  background:rgba(255,255,255,.90);
}
@media(max-width:900px){
  .kfs-about-gallery-media{min-height:430px}
}
@media(max-width:620px){
  .kfs-about-gallery-media{min-height:360px}
  .kfs-gallery-slideshow .kfs-floating-gallery-label{
    left:14px;
    bottom:18px;
  }
}
@media(prefers-reduced-motion:reduce){
  .kfs-gallery-slide,
  .kfs-gallery-slide.is-active{
    transform:none !important;
    transition:opacity .5s ease, visibility .5s ease !important;
  }
}


/* v3.16 — mixed-media Gallery items */
.kfs-gallery-video{position:relative}
.kfs-gallery-video video{
  width:100%;
  height:100%;
  object-fit:cover;
  background:#071b31;
}


/* v3.18 — approved Komborero Gallery watermark */
.kfs-gallery-media,
.kfs-gallery-slide {
  position: relative;
}
.kfs-gallery-brand-watermark {
  position: absolute !important;
  z-index: 8;
  width: clamp(72px, 17%, 150px);
  height: auto !important;
  max-height: none !important;
  object-fit: contain !important;
  opacity: .94;
  pointer-events: none;
  user-select: none;
  filter: drop-shadow(0 2px 5px rgba(0,0,0,.22));
}
.kfs-gallery-slide .kfs-gallery-brand-watermark {
  width: clamp(78px, 18%, 155px);
}
@media (max-width: 620px) {
  .kfs-gallery-brand-watermark {
    top: 8px;
    right: 8px;
    width: clamp(64px, 22%, 105px);
  }
}


/* v3.19 branding placement options */
.kfs-gallery-brand-watermark.kfs-pos-top-right{top:12px;right:12px}
.kfs-gallery-brand-watermark.kfs-pos-top-left{top:12px;left:12px}
.kfs-gallery-brand-watermark.kfs-pos-bottom-right{bottom:12px;right:12px}
.kfs-gallery-brand-watermark.kfs-pos-bottom-left{bottom:12px;left:12px}
.kfs-gallery-registration-plate{
  position:absolute!important;
  left:50%;
  bottom:14px;
  transform:translateX(-50%);
  z-index:9;
  width:clamp(110px,24%,230px)!important;
  height:auto!important;
  pointer-events:none;
  filter:drop-shadow(0 2px 5px rgba(0,0,0,.22));
}
@media(max-width:620px){
  .kfs-gallery-brand-watermark.kfs-pos-top-right{top:8px;right:8px}
  .kfs-gallery-brand-watermark.kfs-pos-top-left{top:8px;left:8px}
  .kfs-gallery-brand-watermark.kfs-pos-bottom-right{bottom:8px;right:8px}
  .kfs-gallery-brand-watermark.kfs-pos-bottom-left{bottom:8px;left:8px}
  .kfs-gallery-registration-plate{bottom:8px;width:clamp(90px,32%,155px)}
}


/* v3.20 — grouped Gallery items + round/adjustable branding */
.kfs-gallery-item-trigger{position:relative;display:block;width:100%;cursor:pointer;overflow:hidden;border-radius:inherit}
.kfs-gallery-item-trigger:focus-visible{outline:3px solid #1f5ca8;outline-offset:3px}
.kfs-gallery-item-trigger>img:not(.kfs-gallery-brand-watermark):not(.kfs-gallery-registration-plate),
.kfs-gallery-item-trigger>video{display:block;width:100%;height:100%;object-fit:cover}
.kfs-gallery-media-count{position:absolute;left:12px;bottom:12px;z-index:11;background:rgba(7,31,61,.88);color:#fff;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:800;letter-spacing:.02em}

.kfs-gallery-brand-watermark,.gallery-lightbox-watermark{position:absolute!important;z-index:12;aspect-ratio:1/1;height:auto!important;border-radius:50%!important;object-fit:cover!important;overflow:hidden!important;pointer-events:none;user-select:none;opacity:.96;filter:drop-shadow(0 2px 5px rgba(0,0,0,.22))}
.kfs-gallery-brand-watermark.kfs-pos-top-right,.gallery-lightbox-watermark.kfs-pos-top-right{top:12px;right:12px}
.kfs-gallery-brand-watermark.kfs-pos-top-left,.gallery-lightbox-watermark.kfs-pos-top-left{top:12px;left:12px}
.kfs-gallery-brand-watermark.kfs-pos-bottom-right,.gallery-lightbox-watermark.kfs-pos-bottom-right{bottom:12px;right:12px}
.kfs-gallery-brand-watermark.kfs-pos-bottom-left,.gallery-lightbox-watermark.kfs-pos-bottom-left{bottom:12px;left:12px}

.kfs-gallery-registration-plate,.gallery-lightbox-plate{position:absolute!important;z-index:13;height:auto!important;pointer-events:none;user-select:none;filter:drop-shadow(0 2px 5px rgba(0,0,0,.25))}
.kfs-gallery-registration-plate.kfs-plate-bottom-center,.gallery-lightbox-plate.kfs-plate-bottom-center{left:50%;bottom:12px;transform:translateX(-50%)}
.kfs-gallery-registration-plate.kfs-plate-bottom-left,.gallery-lightbox-plate.kfs-plate-bottom-left{left:12px;bottom:12px}
.kfs-gallery-registration-plate.kfs-plate-bottom-right,.gallery-lightbox-plate.kfs-plate-bottom-right{right:12px;bottom:12px}
.kfs-gallery-registration-plate.kfs-plate-center,.gallery-lightbox-plate.kfs-plate-center{left:50%;top:50%;transform:translate(-50%,-50%)}

.gallery-lightbox-media-shell{position:relative;display:flex;align-items:center;justify-content:center;max-width:min(92vw,1400px);max-height:82vh}
.gallery-lightbox-media-shell .gallery-lightbox-image,.gallery-lightbox-media-shell .gallery-lightbox-video{display:block;max-width:100%;max-height:82vh;width:auto;height:auto;object-fit:contain}
.gallery-lightbox-counter{margin-top:6px;text-align:center;font-size:13px;opacity:.8}

@media(max-width:620px){
.kfs-gallery-brand-watermark.kfs-pos-top-right,.gallery-lightbox-watermark.kfs-pos-top-right{top:8px;right:8px}
.kfs-gallery-brand-watermark.kfs-pos-top-left,.gallery-lightbox-watermark.kfs-pos-top-left{top:8px;left:8px}
.kfs-gallery-brand-watermark.kfs-pos-bottom-right,.gallery-lightbox-watermark.kfs-pos-bottom-right{bottom:8px;right:8px}
.kfs-gallery-brand-watermark.kfs-pos-bottom-left,.gallery-lightbox-watermark.kfs-pos-bottom-left{bottom:8px;left:8px}
}

/* v3.21 — circular Gallery watermark; original approved logo artwork preserved */
.kfs-gallery-brand-watermark,
.gallery-lightbox-watermark,
.kfs-admin-watermark-preview {
  border-radius: 50% !important;
  object-fit: contain !important;
  aspect-ratio: 1 / 1 !important;
}

/* v3.22 professional service icon */
.kfs-professional-icon{display:flex;align-items:center;justify-content:center;width:30px;height:30px;color:#0b4f91}
.kfs-professional-icon svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}

.kfs-gallery-registration-plate.kfs-plate-manual,.gallery-lightbox-plate.kfs-plate-manual{transform:none!important;bottom:auto;right:auto;}


/* v3.23 — WYSIWYG Gallery branding preservation + video publishing fix */
/* Keep the public Gallery media on the same uncropped coordinate system used by Branding Studio. */
.kfs-gallery-media.kfs-gallery-item-trigger{min-height:0;background:#111;line-height:0}
.kfs-gallery-item-trigger>img:not(.kfs-gallery-brand-watermark):not(.kfs-gallery-registration-plate),
.kfs-gallery-item-trigger>video{display:block;width:100%;height:auto!important;min-height:0!important;max-height:none!important;aspect-ratio:auto!important;object-fit:contain!important;background:#111}
.kfs-gallery-media-count{line-height:1.2}
/* Overlays remain percentage-positioned relative to the exact visible media frame. */
.gallery-lightbox-media-shell{line-height:0;overflow:hidden}
.gallery-lightbox-caption,.gallery-lightbox-counter{line-height:1.4}

/* v3.24 — exact Branding Studio -> public Gallery coordinate preservation */
/* The lightbox stage must shrink to the active media itself. Branding percentages are
   therefore calculated against the same visible image/video rectangle used in Studio. */
.gallery-lightbox-media-shell{
  display:inline-grid!important;
  place-items:center;
  width:fit-content!important;
  height:fit-content!important;
  max-width:min(92vw,1400px)!important;
  max-height:82vh!important;
  position:relative;
  overflow:hidden;
}
.gallery-lightbox-media-shell>.gallery-lightbox-image,
.gallery-lightbox-media-shell>.gallery-lightbox-video{
  grid-area:1/1;
  display:block;
  width:auto!important;
  height:auto!important;
  max-width:min(92vw,1400px)!important;
  max-height:82vh!important;
  object-fit:contain!important;
}
/* Never allow the inactive media element to take space in the branding coordinate stage. */
.gallery-lightbox-media-shell>.gallery-lightbox-image[hidden],
.gallery-lightbox-media-shell>.gallery-lightbox-video[hidden]{
  display:none!important;
}
/* Keep the card/overview coordinate box exactly equal to its visible media. */
.kfs-gallery-media.kfs-gallery-item-trigger{
  position:relative;
  display:block;
  width:100%;
  height:auto;
  overflow:hidden;
}
.kfs-gallery-item-trigger>img:not(.kfs-gallery-brand-watermark):not(.kfs-gallery-registration-plate),
.kfs-gallery-item-trigger>video{
  display:block;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  object-fit:contain!important;
}


/* v3.25 — exact manual watermark placement + preview parity */
.kfs-gallery-brand-watermark.kfs-pos-manual,
.gallery-lightbox-watermark.kfs-pos-manual,
.kfs-admin-watermark-preview.kfs-pos-manual{right:auto!important;bottom:auto!important;transform:none!important;}
.kfs-studio-watermark{touch-action:none;user-select:none;}
.kfs-studio-watermark.is-dragging{cursor:grabbing!important;outline:3px solid rgba(11,115,224,.7);outline-offset:2px;}
/* Inline percentage widths/coordinates from Branding Studio are authoritative on cards, viewer and slideshow. */
.kfs-gallery-item-trigger .kfs-gallery-brand-watermark,
.gallery-lightbox-media-shell .gallery-lightbox-watermark,
.kfs-gallery-slide .kfs-gallery-brand-watermark{max-width:none!important;}
.kfs-gallery-item-trigger .kfs-gallery-registration-plate,
.gallery-lightbox-media-shell .gallery-lightbox-plate{max-width:none!important;}


/* v3.26 — one coordinate system everywhere + direct plate drag + 360° plate rotation */
.kfs-gallery-registration-plate,.gallery-lightbox-plate,.kfs-gallery-slide .kfs-gallery-registration-plate{
  height:auto!important;
  transform-origin:center center!important;
  object-fit:contain!important;
}
.kfs-gallery-registration-plate.kfs-plate-bottom-center,.gallery-lightbox-plate.kfs-plate-bottom-center{transform:translateX(-50%) rotate(var(--kfs-plate-rotation,0deg))!important}
.kfs-gallery-registration-plate.kfs-plate-center,.gallery-lightbox-plate.kfs-plate-center{transform:translate(-50%,-50%) rotate(var(--kfs-plate-rotation,0deg))!important}
.kfs-gallery-registration-plate.kfs-plate-bottom-left,.gallery-lightbox-plate.kfs-plate-bottom-left,
.kfs-gallery-registration-plate.kfs-plate-bottom-right,.gallery-lightbox-plate.kfs-plate-bottom-right{transform:rotate(var(--kfs-plate-rotation,0deg))!important}
.kfs-gallery-registration-plate.kfs-plate-manual,.gallery-lightbox-plate.kfs-plate-manual{
  right:auto!important;bottom:auto!important;height:auto!important;
  transform:rotate(var(--kfs-plate-rotation,0deg))!important;
}
/* Never let the mobile card rules replace Branding Studio percentage sizing. */
@media(max-width:620px){
  .kfs-gallery-registration-plate.kfs-plate-manual{bottom:auto!important;width:var(--kfs-manual-width,auto)}
}


/* v3.27 — exact Gallery-card branding parity + fixed video branding overlays
   The old generic `.kfs-gallery-media img` rule applied min-height/max-height to
   every image inside the card, including the watermark and registration plate.
   That made the card overlays much larger/differently positioned than Studio and
   Lightbox. Branding elements are explicitly exempted and remain percentage-based
   against the exact visible media rectangle. */
.kfs-gallery-media.kfs-gallery-item-trigger > .kfs-gallery-brand-watermark,
.kfs-gallery-media.kfs-gallery-item-trigger > .kfs-gallery-registration-plate {
  min-height: 0 !important;
  max-height: none !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* The Gallery overview stage follows the media's intrinsic aspect ratio. */
.kfs-gallery-media.kfs-gallery-item-trigger {
  aspect-ratio: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  line-height: 0;
  isolation: isolate;
}
.kfs-gallery-media.kfs-gallery-item-trigger > img:not(.kfs-gallery-brand-watermark):not(.kfs-gallery-registration-plate),
.kfs-gallery-media.kfs-gallery-item-trigger > video {
  position: relative;
  z-index: 1;
  display: block;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  object-fit: contain !important;
}

/* Branding remains locked to the same X/Y/size percentages for the whole video.
   It is a sibling overlay, not part of the video frames, so playback never moves it. */
.kfs-gallery-media.kfs-gallery-item-trigger > .kfs-gallery-brand-watermark,
.kfs-gallery-media.kfs-gallery-item-trigger > .kfs-gallery-registration-plate,
.gallery-lightbox-media-shell > .gallery-lightbox-watermark,
.gallery-lightbox-media-shell > .gallery-lightbox-plate {
  position: absolute !important;
  z-index: 20 !important;
  pointer-events: none !important;
}
.gallery-lightbox-media-shell > .gallery-lightbox-video {
  position: relative;
  z-index: 1;
}

/* Manual percentage sizing must never be replaced by older responsive rules. */
.kfs-gallery-media.kfs-gallery-item-trigger > .kfs-gallery-brand-watermark.kfs-pos-manual {
  width: var(--kfs-logo-width, auto);
}
.kfs-gallery-media.kfs-gallery-item-trigger > .kfs-gallery-registration-plate.kfs-plate-manual {
  bottom: auto !important;
  right: auto !important;
  min-width: 0 !important;
  width: var(--kfs-manual-width, auto);
}


/* v3.28 — Gallery overview exact Studio parity + stable video branding stage
   These rules intentionally override all legacy Gallery plate sizing rules.
   Studio-saved percentage geometry is authoritative on the overview card. */
.kfs-gallery-media.kfs-gallery-item-trigger > .kfs-gallery-registration-plate.kfs-plate-manual {
  left: var(--kfs-plate-left, auto) !important;
  top: var(--kfs-plate-top, auto) !important;
  right: auto !important;
  bottom: auto !important;
  width: var(--kfs-manual-width, 42%) !important;
  min-width: 0 !important;
  max-width: none !important;
  height: auto !important;
  transform: rotate(var(--kfs-plate-rotation,0deg)) !important;
  transform-origin: center center !important;
}
.kfs-gallery-media.kfs-gallery-item-trigger > .kfs-gallery-brand-watermark.kfs-pos-manual {
  left: var(--kfs-logo-left, auto) !important;
  top: var(--kfs-logo-top, auto) !important;
  right: auto !important;
  bottom: auto !important;
  width: var(--kfs-logo-width,24%) !important;
  min-width: 0 !important;
  max-width: none !important;
  height: auto !important;
}
/* A fixed-ratio coordinate stage prevents cards/videos from changing geometry after metadata loads. */
.kfs-gallery-media.kfs-gallery-item-trigger.kfs-exact-stage {
  position: relative !important;
  overflow: hidden !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: var(--kfs-media-ratio, auto) !important;
  background: #111 !important;
}
.kfs-gallery-media.kfs-gallery-item-trigger.kfs-exact-stage > img:not(.kfs-gallery-brand-watermark):not(.kfs-gallery-registration-plate),
.kfs-gallery-media.kfs-gallery-item-trigger.kfs-exact-stage > video {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
  object-fit: contain !important;
  margin: 0 !important;
  padding: 0 !important;
}
/* Video branding is a stationary sibling overlay, not part of the video element. */
.kfs-gallery-media.kfs-gallery-item-trigger.kfs-exact-stage > .kfs-gallery-registration-plate,
.kfs-gallery-media.kfs-gallery-item-trigger.kfs-exact-stage > .kfs-gallery-brand-watermark {
  position: absolute !important;
  z-index: 30 !important;
}

/* ==========================================================
   v3.32 — single-stage home Gallery slideshow reliability fix
   One stable media stage prevents blank stacked slides.
   ========================================================== */
.kfs-single-stage-slideshow .kfs-gallery-single-stage{
  position:absolute; inset:0; width:100%; height:100%; overflow:hidden;
}
.kfs-single-stage-slideshow .kfs-home-slide-image,
.kfs-single-stage-slideshow .kfs-home-slide-video{
  position:absolute; inset:0; width:100%; height:100%; display:none;
  object-fit:cover; object-position:center; background:#0a274b;
}
.kfs-single-stage-slideshow .kfs-home-watermark,
.kfs-single-stage-slideshow .kfs-home-plate{
  display:none;
}


/* ==========================================================
   v3.33 — Branding Studio coordinate parity on home slideshow
   Manual logo/plate geometry is mapped through the same
   object-fit:cover transform as the active media. This keeps
   overlays attached to the same vehicle position even when the
   homepage stage crops a portrait/landscape source differently.
   ========================================================== */
.kfs-single-stage-slideshow .kfs-gallery-single-stage{
  isolation:isolate;
}
.kfs-single-stage-slideshow .kfs-home-watermark,
.kfs-single-stage-slideshow .kfs-home-plate{
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  transform-origin:center center!important;
}
.kfs-single-stage-slideshow .kfs-home-watermark.kfs-pos-manual{
  right:auto!important;bottom:auto!important;transform:none!important;
}
.kfs-single-stage-slideshow .kfs-home-plate.kfs-plate-manual{
  right:auto!important;bottom:auto!important;
  transform:rotate(var(--kfs-plate-rotation,0deg))!important;
}

/* ==========================================================
   v3.34 — exact Branding Studio parity for HOME slideshow
   The slideshow's outer panel stays fixed, but the inner frame
   exactly matches the visible uncropped image/video rectangle.
   All watermark and registration-plate percentages are therefore
   measured against the same media frame as Branding Studio.
   ========================================================== */
.kfs-single-stage-slideshow .kfs-gallery-single-stage{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
  background:#0a274b!important;
}
.kfs-single-stage-slideshow .kfs-home-media-coordinate-frame{
  position:relative!important;
  flex:0 0 auto!important;
  max-width:100%!important;
  max-height:100%!important;
  overflow:visible!important;
  isolation:isolate!important;
}
.kfs-single-stage-slideshow .kfs-home-media-coordinate-frame>.kfs-home-slide-image,
.kfs-single-stage-slideshow .kfs-home-media-coordinate-frame>.kfs-home-slide-video{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:fill!important;
  object-position:center!important;
  background:transparent!important;
}
.kfs-single-stage-slideshow .kfs-home-media-coordinate-frame>.kfs-home-watermark,
.kfs-single-stage-slideshow .kfs-home-media-coordinate-frame>.kfs-home-plate{
  position:absolute!important;
  z-index:40!important;
  max-width:none!important;
  min-width:0!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  pointer-events:none!important;
}
.kfs-single-stage-slideshow .kfs-home-media-coordinate-frame>.kfs-home-watermark.kfs-pos-manual{
  transform:none!important;
}
.kfs-single-stage-slideshow .kfs-home-media-coordinate-frame>.kfs-home-plate.kfs-plate-manual{
  transform:rotate(var(--kfs-plate-rotation,0deg))!important;
  transform-origin:center center!important;
}
/* Keep the branding above the decorative home-gallery callout so the saved
   plate position is never visually hidden by the 'View Gallery' box. */
.kfs-single-stage-slideshow .kfs-floating-gallery-label{z-index:20!important;}
.kfs-single-stage-slideshow .kfs-home-media-coordinate-frame{z-index:25!important;}


/* ==========================================================
   v3.35 — FINAL HOME SLIDESHOW / BRANDING STUDIO PARITY
   The original v3.19 plate rule declares width with !important.
   That rule was still winning over the percentage width written by
   the homepage slideshow JavaScript, so the plate could appear at a
   different size/position even though Studio and Lightbox matched.
   On the home slideshow the saved Studio geometry is now explicitly
   authoritative, including left, top, width and rotation.
   ========================================================== */
.kfs-single-stage-slideshow .kfs-home-media-coordinate-frame > .kfs-home-plate.kfs-plate-manual{
  left:var(--kfs-home-overlay-left,0%)!important;
  top:var(--kfs-home-overlay-top,0%)!important;
  right:auto!important;
  bottom:auto!important;
  width:var(--kfs-home-overlay-width,42%)!important;
  min-width:0!important;
  max-width:none!important;
  height:auto!important;
  transform:rotate(var(--kfs-plate-rotation,0deg))!important;
  transform-origin:center center!important;
}
.kfs-single-stage-slideshow .kfs-home-media-coordinate-frame > .kfs-home-watermark.kfs-pos-manual{
  left:var(--kfs-home-overlay-left,0%)!important;
  top:var(--kfs-home-overlay-top,0%)!important;
  right:auto!important;
  bottom:auto!important;
  width:var(--kfs-home-overlay-width,24%)!important;
  min-width:0!important;
  max-width:none!important;
  height:auto!important;
  transform:none!important;
}

/* ==========================================================
   v3.36 — HOME SLIDESHOW OVERLAY RESET / TRUE STUDIO PARITY
   The global About-section image rule (.kfs-about-home-media img)
   also matched the watermark and registration-plate overlays and
   forced height:100% plus min-height:420px/320px. That changed the
   overlay box after the Studio percentages were applied. Completely
   neutralise those inherited media-image dimensions for overlays.
   ========================================================== */
.kfs-about-home-media .kfs-home-media-coordinate-frame > img.kfs-home-watermark,
.kfs-about-home-media .kfs-home-media-coordinate-frame > img.kfs-home-plate {
  position:absolute !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  min-width:0 !important;
  max-width:none !important;
  object-fit:contain !important;
  object-position:center !important;
  display:none;
}
.kfs-about-home-media .kfs-home-media-coordinate-frame > img.kfs-home-watermark {
  aspect-ratio:1 / 1 !important;
  object-fit:cover !important;
}
.kfs-about-home-media .kfs-home-media-coordinate-frame > img.kfs-home-plate {
  aspect-ratio:auto !important;
}
.kfs-about-home-media .kfs-home-media-coordinate-frame > img.kfs-home-watermark.kfs-pos-manual,
.kfs-about-home-media .kfs-home-media-coordinate-frame > img.kfs-home-plate.kfs-plate-manual {
  left:var(--kfs-home-overlay-left,0%) !important;
  top:var(--kfs-home-overlay-top,0%) !important;
  right:auto !important;
  bottom:auto !important;
  width:var(--kfs-home-overlay-width,auto) !important;
  min-height:0 !important;
  height:auto !important;
}
.kfs-about-home-media .kfs-home-media-coordinate-frame > img.kfs-home-plate.kfs-plate-manual {
  transform:rotate(var(--kfs-plate-rotation,0deg)) !important;
  transform-origin:center center !important;
}

/* v4.3 growth pages */
.growth-hero{padding:65px 0;background:#f4f7fb}.growth-hero h1{max-width:850px;font-size:clamp(2rem,4vw,3.5rem);line-height:1.15}.growth-hero p{max-width:800px}.growth-content{padding-top:55px;padding-bottom:70px}.growth-content h2{margin-top:35px}.growth-content li{margin:12px 0}.growth-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;margin:20px 0 35px}.growth-links a{padding:14px;border:1px solid #d9e1eb;border-radius:8px;text-decoration:none}.growth-links a:hover{border-color:#d52a32}
