/*
Theme Name: Lusanga Mining 2026
Theme URI: https://lusanga.com/
Author: Lusanga Group
Description: Modern mining-themed WordPress theme for Lusanga Technical Services and Lusanga Group Holdings.
Version: 1.0.27
Text Domain: lusanga-mining-2026
*/
:root{
 --coal:#090d12;--coal2:#111820;--panel:#151e28;--steel:#7d8997;--line:#283442;
 --blue:#3159ad;--blue2:#4c79cf;--lime:#6495ED;--white:#fff;--off:#f3f5f7;
 --text:#17202a;--muted:#687482;--radius:18px;--shadow:0 22px 65px rgba(0,0,0,.20)
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--text);line-height:1.62;background:#fff}
a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}.wrap{width:min(1240px,calc(100% - 44px));margin:auto}
.topline{background:#05080c;color:#a3aebb;border-bottom:1px solid #1d2630;font-size:12px}.topline .wrap{display:flex;justify-content:flex-end;padding:8px 0}
.site-header{position:sticky;top:0;z-index:99;background:rgba(9,13,18,.97);backdrop-filter:blur(10px);border-bottom:1px solid #202a35}
.header-inner{min-height:86px;display:flex;align-items:center;gap:20px}.brand img{width:300px;max-width:300px;height:58px;display:block;object-fit:contain}.nav{margin-left:auto}.nav ul{display:flex;gap:4px;align-items:center;list-style:none;margin:0;padding:0}
.nav a{display:block;color:#e5ebf2;font-size:12px;text-transform:uppercase;letter-spacing:.045em;font-weight:800;padding:13px 13px;border-radius:8px;white-space:nowrap}.nav a:hover,.nav .current-menu-item>a{background:#1c2733;color:#fff}
.rfq{background:var(--lime);color:#10150a;padding:12px 15px;border-radius:8px;font-size:11px;font-weight:900;text-transform:uppercase;white-space:nowrap;margin-left:8px}.mobile-toggle{display:none;margin-left:auto;background:#16202a;color:#fff;border:1px solid #2a3745;width:45px;height:45px;border-radius:9px;font-size:21px}
.hero{min-height:690px;position:relative;display:flex;align-items:flex-end;color:#fff;background:#0b1016 url('assets/images/hero-conveyor.jpg') center/cover no-repeat}
.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,6,9,.97),rgba(3,6,9,.84) 44%,rgba(3,6,9,.52) 76%,rgba(3,6,9,.34))}
.hero:after{content:"";position:absolute;inset:auto 0 0;height:190px;background:linear-gradient(transparent,#090d12)}
.hero-content{position:relative;z-index:2;max-width:790px;padding:96px 0 108px;transform:translateX(-18px)}.eyebrow{display:flex;gap:13px;align-items:center;text-transform:uppercase;letter-spacing:.18em;font-size:11px;font-weight:900;color:#d1d8e0}
.eyebrow:before{content:"";width:52px;height:3px;background:var(--lime)}
.hero h1{font-size:clamp(52px,6.7vw,88px);line-height:.94;letter-spacing:-.05em;text-transform:uppercase;margin:20px 0 22px}.hero h1 span{color:var(--lime)}
.hero p{font-size:18px;color:#d7dee7;max-width:650px;margin:0 0 30px}.buttons{display:flex;flex-wrap:wrap;gap:12px}.btn{display:inline-flex;justify-content:center;align-items:center;padding:14px 20px;border-radius:8px;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;border:1px solid transparent}.btn-lime{background:var(--lime);color:#11160b}.btn-outline{border-color:#5e6875;color:#fff;background:rgba(8,12,17,.5)}.btn-blue{background:var(--blue);color:#fff}
.solution-strip{background:var(--coal);border-top:1px solid #202b36;border-bottom:1px solid #202b36}.solution-strip .wrap{display:grid;grid-template-columns:repeat(6,1fr)}
.solution-strip a{padding:21px 16px;color:#fff;border-right:1px solid #202b36}.solution-strip a:first-child{border-left:1px solid #202b36}.solution-strip strong{display:block;text-transform:uppercase;font-size:12px}.solution-strip span{display:block;color:#7c8997;font-size:11px;margin-top:3px}
.section{padding:88px 0}.section.dark{background:var(--coal);color:#fff}.section.grey{background:var(--off)}.section-head{display:grid;grid-template-columns:1fr .72fr;gap:55px;align-items:end;margin-bottom:38px}
.kicker{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--blue2);font-weight:900}.dark .kicker{color:var(--lime)}h2{font-size:clamp(34px,4vw,54px);line-height:1.04;letter-spacing:-.036em;margin:9px 0 0}.section-head p{margin:0;color:var(--muted);font-size:16px}.dark .section-head p{color:#99a6b5}
.cap-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.cap{background:#fff;border:1px solid #e1e6eb;border-radius:var(--radius);padding:29px;min-height:260px;position:relative;overflow:hidden}.cap:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--blue)}.cap .num{font-size:11px;font-weight:900;color:#8995a3}.cap h3{font-size:21px;margin:36px 0 10px;color:#172338}.cap p{font-size:14px;color:var(--muted);margin:0 0 18px}.cap a{color:var(--blue);font-size:12px;font-weight:900;text-transform:uppercase}
.brand-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.brand-card{background:#141d27;border:1px solid #293544;border-radius:15px;padding:25px;min-height:205px}.brand-card .tag{font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:var(--lime);font-weight:900}.brand-card h3{font-size:22px;margin:12px 0 8px}.brand-card p{color:#9aa7b5;font-size:13px;margin:0}.brand-card a{display:inline-block;margin-top:14px;color:#d4e873;font-size:11px;font-weight:900;text-transform:uppercase}
.projects{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.project{background:#111820;color:#fff;border-radius:18px;overflow:hidden;box-shadow:var(--shadow)}.project img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;filter:saturate(.9) contrast(1.05)}.project-body{padding:23px}.project .client{font-size:10px;color:var(--lime);text-transform:uppercase;letter-spacing:.13em;font-weight:900}.project h3{font-size:20px;margin:10px 0 7px;line-height:1.15}.project p{font-size:13px;color:#9ba8b6;margin:0}
.partner-section{background:#e9edf2;border-top:1px solid #d7dde5;border-bottom:1px solid #d7dde5}.partner-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#cfd7e0}.partner{background:#fff;padding:31px 25px;min-height:235px;display:flex;flex-direction:column}.partner .type{font-size:10px;text-transform:uppercase;letter-spacing:.13em;color:#768395;font-weight:900}.partner h3{font-size:20px;color:#172338;margin:14px 0 8px}.partner p{font-size:13px;color:#687584;margin:0 0 18px}.partner a{margin-top:auto;color:var(--blue);font-size:11px;font-weight:900;text-transform:uppercase}
.split{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}.history-art{background:#101720;border:1px solid #293644;border-radius:20px;padding:28px}.history-art img{width:100%;max-height:420px;object-fit:contain}.ticks{list-style:none;padding:0;margin:22px 0}.ticks li{position:relative;padding:8px 0 8px 28px;color:#4e5b69}.ticks li:before{content:"";position:absolute;left:2px;top:16px;width:9px;height:9px;background:var(--lime);transform:rotate(45deg)}
.page-hero{background:linear-gradient(115deg,#090d12,#1b2c42);color:#fff;padding:78px 0;border-bottom:4px solid var(--lime)}.page-hero h1{font-size:clamp(40px,5vw,62px);line-height:1;text-transform:uppercase;margin:10px 0}.page-content{padding:70px 0}.entry{max-width:980px}.entry h2,.entry h3{color:#17243a}.entry a{color:var(--blue);font-weight:700}.entry table{width:100%;border-collapse:collapse}.entry td,.entry th{padding:10px;border:1px solid #d7dde4}
.cta{width:min(1240px,calc(100% - 44px));margin:0 auto 85px;background:linear-gradient(115deg,#21458b,#10284f);color:#fff;border-radius:20px;padding:48px;display:flex;justify-content:space-between;align-items:center;gap:25px}.cta h2{font-size:34px;margin:0 0 5px}.cta p{color:#d5dfec;margin:0}
.site-footer{background:#05080c;color:#94a1af;padding:55px 0 25px}.footer-grid{display:grid;grid-template-columns:1.25fr .8fr .8fr;gap:45px}.footer-logo{width:200px;filter:brightness(0) invert(1);margin-bottom:18px}.footer-title{color:#fff;font-size:11px;letter-spacing:.13em;text-transform:uppercase;font-weight:900;margin-bottom:13px}.footer-links{list-style:none;padding:0;margin:0}.footer-links li{margin:7px 0}.footer-links a:hover{color:#fff}.footer-bottom{border-top:1px solid #202832;margin-top:35px;padding-top:20px;display:flex;justify-content:space-between;font-size:11px}

.nav-primary{margin-left:auto}
.nav-primary ul{display:flex;gap:4px;align-items:center;list-style:none;margin:0;padding:0}
.nav-primary li{position:relative}
.nav-primary a{display:block;color:#e5ebf2;font-size:12px;text-transform:uppercase;letter-spacing:.045em;font-weight:800;padding:13px 13px;border-radius:8px;white-space:nowrap}
.nav-primary a:hover,.nav-primary .active>a{background:#1c2733;color:#fff}
.nav-primary .dropdown>a:after{content:" ▾";font-size:10px;color:#9facba}
.nav-primary .submenu{display:none;position:absolute;top:100%;left:0;min-width:250px;padding:9px;background:#0c1218;border:1px solid #293543;border-radius:10px;box-shadow:0 18px 48px rgba(0,0,0,.35);z-index:120}
.nav-primary .submenu li{width:100%}
.nav-primary .submenu a{padding:11px 12px;border-radius:7px;font-size:11px;text-transform:none;letter-spacing:.01em;color:#dce4ed}
.nav-primary .submenu a:hover{background:#1a2632}
.nav-primary .dropdown:hover>.submenu,.nav-primary .dropdown:focus-within>.submenu{display:block}

@media(max-width:1000px){.nav-primary{display:none;position:absolute;left:0;right:0;top:82px;background:#090d12;padding:15px 22px;border-bottom:1px solid #273440}.nav-primary.open{display:block}.nav-primary ul{display:block}.nav-primary a{display:block}.nav-primary .submenu{display:block;position:static;min-width:0;padding:4px 0 4px 14px;border:0;box-shadow:none;background:transparent}.nav-primary .dropdown>a:after{content:""}.mobile-toggle{display:block}.rfq{display:none}.solution-strip .wrap{grid-template-columns:repeat(3,1fr)}.section-head,.split{grid-template-columns:1fr}.cap-grid,.brand-grid,.projects{grid-template-columns:1fr 1fr}.partner-grid{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.wrap{width:calc(100% - 28px)}.topline{display:none}.brand img{width:220px}.hero{min-height:610px}.hero h1{font-size:48px}.hero-content{padding:90px 0 70px}.solution-strip .wrap,.cap-grid,.brand-grid,.projects,.partner-grid,.footer-grid{grid-template-columns:1fr}.section{padding:65px 0}.cta{width:calc(100% - 28px);display:block;padding:34px 25px}.cta .btn{margin-top:20px}.footer-bottom{display:block}}

.cap{padding:0;display:flex;flex-direction:column;min-height:410px}
.cap:before{display:none}
.cap-media{height:170px;overflow:hidden;background:#111820}
.cap-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .28s ease}
.cap:hover .cap-media img{transform:scale(1.035)}
.cap-body{padding:24px 26px 26px;display:flex;flex-direction:column;flex:1;border-left:5px solid var(--blue)}
.cap .num{margin:0 0 16px}
.cap h3{margin:0 0 10px}
.cap p{margin:0 0 18px}
.cap a{margin-top:auto}
.cp-feature{display:grid;grid-template-columns:.7fr 1.3fr;gap:32px;align-items:center;background:#fff;border:1px solid #dfe4ea;border-radius:18px;padding:34px}
.cp-logo{display:flex;align-items:center;justify-content:center;min-height:180px;background:#f8f9fb;border-radius:14px;padding:26px}
.cp-logo img{max-width:310px;width:100%;height:auto}
.cp-copy h3{font-size:30px;margin:7px 0 12px;color:#18263a}
.cp-copy p{color:var(--muted)}
@media(max-width:800px){.cp-feature{grid-template-columns:1fr}}

.partner-page-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-top:34px}
.partner-page-card{border:1px solid #dfe5ec;border-radius:18px;padding:28px;background:#fff;box-shadow:0 10px 30px rgba(16,37,76,.06);display:flex;flex-direction:column;min-height:250px}
.partner-page-card .type{font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--blue);font-weight:900}
.partner-page-card h3{font-size:24px;margin:12px 0 10px;color:#17243a}
.partner-page-card p{color:var(--muted);font-size:14px;margin:0 0 18px}
.partner-page-card a{margin-top:auto;color:var(--blue);font-size:12px;font-weight:900;text-transform:uppercase}
@media(max-width:760px){.partner-page-grid{grid-template-columns:1fr}}

.flexco-hero{display:grid;grid-template-columns:1.15fr .85fr;gap:34px;align-items:center;margin-bottom:44px}
.flexco-photo{border-radius:20px;overflow:hidden;box-shadow:var(--shadow);min-height:360px}
.flexco-photo img{width:100%;height:100%;min-height:360px;object-fit:cover;display:block}
.flexco-intro{background:#101820;color:#fff;border-radius:20px;padding:34px;border:1px solid #263342}
.flexco-intro img{max-width:300px;width:100%;background:#fff;border-radius:12px;padding:14px;margin-bottom:22px}
.flexco-intro .badge{display:inline-block;background:var(--lime);color:#11160b;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;padding:8px 11px;border-radius:999px;margin-bottom:14px}
.flexco-intro h2{color:#fff;font-size:38px;margin:0 0 14px}
.flexco-intro p{color:#c8d1dc;margin:0}
.flexco-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin:34px 0}
.flexco-card{background:#fff;border:1px solid #dfe5ec;border-radius:18px;padding:26px}
.flexco-card .label{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--blue);font-weight:900}
.flexco-card h3{font-size:22px;color:#17243a;margin:10px 0}
.flexco-card ul{margin:0;padding-left:20px;color:#52606f}
.flexco-proof{background:linear-gradient(115deg,#13263f,#234f92);color:#fff;border-radius:20px;padding:30px;margin-top:32px}
.flexco-proof h3{margin:0 0 8px;font-size:27px}
.flexco-proof p{margin:0;color:#d8e3ef}
@media(max-width:850px){.flexco-hero,.flexco-grid{grid-template-columns:1fr}}

.nordbak-hero{position:relative;background:#101820;color:#fff;border-bottom:4px solid var(--lime);overflow:hidden}
.nordbak-hero .wrap{display:grid;grid-template-columns:.78fr 1.22fr;gap:36px;align-items:center;padding:62px 0}
.nordbak-logo-panel{display:flex;flex-direction:column;justify-content:center}
.nordbak-logo-panel img{max-width:430px;width:100%;height:auto;background:#fff;padding:18px 20px;border-radius:14px}
.nordbak-logo-panel .kicker{margin-bottom:18px;color:var(--lime)}
.nordbak-hero-photo{border-radius:22px;overflow:hidden;box-shadow:0 24px 70px rgba(0,0,0,.32)}
.nordbak-hero-photo img{width:100%;height:430px;object-fit:cover;display:block}
.nordbak-lead{max-width:930px;margin:0 0 34px}
.nordbak-lead h2{font-size:42px;color:#17243a;margin:0 0 14px}
.nordbak-lead p{font-size:17px;color:#596777}
.nordbak-feature{display:grid;grid-template-columns:1.05fr .95fr;gap:30px;align-items:center;background:#0f1720;color:#fff;border-radius:22px;overflow:hidden;margin:36px 0}
.nordbak-feature img{width:100%;height:100%;min-height:390px;object-fit:cover}
.nordbak-feature-copy{padding:34px 34px 34px 6px}
.nordbak-feature-copy .tag{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--lime);font-weight:900}
.nordbak-feature-copy h3{font-size:32px;line-height:1.05;margin:10px 0 14px}
.nordbak-feature-copy p{color:#c9d3df}
.nordbak-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:24px}
.nordbak-stat{border:1px solid #314050;border-radius:13px;padding:16px}
.nordbak-stat strong{display:block;color:#fff;font-size:18px}
.nordbak-stat span{display:block;color:#99a8b7;font-size:12px;margin-top:3px}
.nordbak-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.nordbak-card{border:1px solid #dde4eb;border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 10px 30px rgba(16,37,76,.06)}
.nordbak-card img{width:100%;height:220px;object-fit:cover;display:block}
.nordbak-card-body{padding:24px 26px 27px}
.nordbak-card .label{font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:var(--blue);font-weight:900}
.nordbak-card h3{font-size:23px;color:#17243a;margin:10px 0 9px}
.nordbak-card p{font-size:14px;color:#65717f;margin:0}
.nordbak-apps{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:25px}
.nordbak-app{background:#f4f6f8;border:1px solid #e0e5ea;border-radius:14px;padding:18px}
.nordbak-app strong{display:block;color:#17243a}
.nordbak-app span{display:block;color:#687583;font-size:13px;margin-top:4px}
.nordbak-cta{background:linear-gradient(115deg,#b51c21,#741114);color:#fff;border-radius:20px;padding:34px;display:flex;justify-content:space-between;align-items:center;gap:25px;margin-top:40px}
.nordbak-cta h3{font-size:30px;margin:0 0 8px}
.nordbak-cta p{margin:0;color:#f3d9da}
@media(max-width:900px){.nordbak-hero .wrap,.nordbak-feature{grid-template-columns:1fr}.nordbak-feature-copy{padding:30px}.nordbak-grid,.nordbak-apps,.nordbak-stats{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.nordbak-grid,.nordbak-apps,.nordbak-stats{grid-template-columns:1fr}.nordbak-cta{display:block}.nordbak-cta .btn{margin-top:18px}}

.case-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:24px}
.case-photo{border-radius:16px;overflow:hidden;background:#111820;border:1px solid #dfe5ec}
.case-photo img{width:100%;height:240px;object-fit:cover;display:block}
.case-photo div{padding:12px 14px;font-size:12px;font-weight:800;color:#425064;background:#fff}
.case-study{margin-top:44px;padding:34px;border-radius:20px;background:#f6f8fa;border:1px solid #dde4eb}
.case-study .kicker{margin-bottom:7px}
.case-study h3{font-size:32px;color:#17243a;margin:0 0 12px}
.case-study p{color:#5e6c7a}
.case-study-meta{display:flex;gap:10px;flex-wrap:wrap;margin:15px 0 0}
.case-study-meta span{background:#e9eef5;color:#25364b;border-radius:999px;padding:7px 10px;font-size:11px;font-weight:900}
.nordtile-band{margin-top:48px;background:#0f1720;color:#fff;border-radius:22px;padding:34px}
.nordtile-band h3{font-size:32px;margin:0 0 10px}
.nordtile-band p{color:#c8d2de}
.nordtile-band .case-photo div{background:#131e29;color:#d7e0ea}
@media(max-width:900px){.case-strip{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.case-strip{grid-template-columns:1fr}}

.flexco-card.photo-bg{
  position:relative;
  overflow:hidden;
  background-size:cover;
  background-position:center;
  isolation:isolate;
}
.flexco-card.photo-bg:before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(255,255,255,.96),rgba(255,255,255,.90) 58%,rgba(255,255,255,.80));
  z-index:-1;
}
.flexco-card.photo-bg h3,
.flexco-card.photo-bg ul,
.flexco-card.photo-bg .label{position:relative;z-index:1}
.flexco-card.photo-bg:hover:before{
  background:linear-gradient(90deg,rgba(255,255,255,.94),rgba(255,255,255,.87) 58%,rgba(255,255,255,.74));
}
.nordbak-logo-panel img.official-nordbak{
  background:transparent;
  padding:0;
  border-radius:0;
  max-width:430px;
  filter:none;
}

.flexco-card.photo-bg.flexco-graphic{
  background-size:cover;
  background-position:center;
  min-height:230px;
}
.flexco-card.photo-bg.flexco-graphic:before{
  background:
    linear-gradient(90deg,rgba(255,255,255,.97) 0%,rgba(255,255,255,.92) 50%,rgba(255,255,255,.74) 100%);
}
.flexco-card.photo-bg.flexco-graphic:hover:before{
  background:
    linear-gradient(90deg,rgba(255,255,255,.95) 0%,rgba(255,255,255,.88) 50%,rgba(255,255,255,.68) 100%);
}

:root{
  --mapt-lime:#c8d92b;
  --mapt-olive:#5a5a25;
  --mapt-charcoal:#303033;
  --mapt-light:#f2f3f4;
}
.maptsoft-hero{
  background:linear-gradient(115deg,#29292c,#3b3b3f);
  color:#fff;
  border-bottom:4px solid var(--mapt-lime);
}
.maptsoft-hero .wrap{
  display:grid;
  grid-template-columns:.82fr 1.18fr;
  gap:36px;
  align-items:center;
  padding:64px 0;
}
.maptsoft-brand img{max-width:470px;width:100%;height:auto}
.maptsoft-brand .kicker{color:var(--mapt-lime);margin-bottom:18px}
.maptsoft-hero-copy h1{
  font-size:clamp(44px,5vw,72px);
  line-height:.98;
  text-transform:none;
  margin:0 0 16px;
}
.maptsoft-hero-copy p{font-size:18px;color:#d6d7da;max-width:700px}
.maptsoft-pillrow{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}
.maptsoft-pill{background:#202023;border:1px solid #505055;border-radius:999px;padding:8px 11px;font-size:11px;font-weight:900;color:#f4f4f4}
.maptsoft-pill strong{color:var(--mapt-lime)}
.maptsoft-intro{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:center;margin-bottom:48px}
.maptsoft-intro-img{border-radius:20px;overflow:hidden;box-shadow:var(--shadow)}
.maptsoft-intro-img img{width:100%;height:100%;min-height:410px;object-fit:cover}
.maptsoft-intro-copy h2{font-size:44px;color:#1d2733;margin:0 0 14px}
.maptsoft-intro-copy p{font-size:16px;color:#5f6a76}
.maptsoft-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.maptsoft-card{background:#fff;border:1px solid #dde3e8;border-radius:18px;padding:25px;min-height:250px;position:relative;overflow:hidden}
.maptsoft-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--mapt-lime)}
.maptsoft-card .num{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#6c7125;font-weight:900}
.maptsoft-card h3{font-size:21px;margin:34px 0 9px;color:#222b36}
.maptsoft-card p{font-size:14px;color:#67727e;margin:0}
.maptsoft-phones{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:26px}
.maptsoft-phone{background:#f3f4f5;border-radius:16px;padding:22px;text-align:center;border:1px solid #dfe4e8}
.maptsoft-phone img{height:300px;max-width:100%;object-fit:contain}
.maptsoft-phone strong{display:block;margin-top:12px;color:#2e3032}
.maptsoft-phone span{display:block;font-size:12px;color:#6e747a;margin-top:3px}
.maptsoft-darkband{margin-top:52px;background:#2e2f31;color:#fff;border-radius:22px;padding:38px}
.maptsoft-darkband h2{color:#fff;margin-bottom:10px}
.maptsoft-darkband p{color:#d4d6d8}
.maptsoft-splice{display:grid;grid-template-columns:1.05fr .95fr;gap:32px;align-items:center;margin-top:28px}
.maptsoft-splice-visual{background:#1d1e20;border-radius:18px;padding:24px;display:grid;grid-template-columns:1fr 1fr;gap:16px}
.maptsoft-splice-visual img{width:100%;height:320px;object-fit:contain;background:#f3f3f3;border-radius:12px}
.maptsoft-splice-copy ul{margin:14px 0 0;padding-left:20px}
.maptsoft-splice-copy li{margin:7px 0;color:#d9dcdf}
.maptsoft-flir{display:grid;grid-template-columns:.85fr 1.15fr;gap:28px;align-items:center;margin-top:50px}
.maptsoft-flir img{width:100%;border-radius:18px;box-shadow:var(--shadow)}
.maptsoft-flir h3{font-size:32px;color:#202a34;margin:0 0 11px}
.maptsoft-flir p{color:#626e7a}
.maptsoft-assets{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:22px}
.maptsoft-asset{background:#eef1f3;border-radius:12px;padding:16px;text-align:center;font-weight:800;color:#3a444e}
.maptsoft-cta{margin-top:48px;background:linear-gradient(115deg,#9aa51c,#c8d92b);color:#222;border-radius:20px;padding:36px;display:flex;justify-content:space-between;align-items:center;gap:24px}
.maptsoft-cta h3{font-size:31px;margin:0 0 7px}
.maptsoft-cta p{margin:0;color:#363718}
@media(max-width:950px){
 .maptsoft-hero .wrap,.maptsoft-intro,.maptsoft-splice,.maptsoft-flir{grid-template-columns:1fr}
 .maptsoft-grid{grid-template-columns:1fr 1fr}
 .maptsoft-phones{grid-template-columns:1fr 1fr}
 .maptsoft-assets{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
 .maptsoft-grid,.maptsoft-phones,.maptsoft-assets{grid-template-columns:1fr}
 .maptsoft-cta{display:block}.maptsoft-cta .btn{margin-top:18px}
}

/* V1.0.14 card-label legibility */
.flexco-card .label,
.nordbak-card .label{
  font-size:20px !important;
  line-height:1.15;
  letter-spacing:.06em;
}
.maptsoft-card .num{
  font-size:18px !important;
  line-height:1.15;
  letter-spacing:.06em;
}
.cp-logo{
  background:#fff;
}
.cp-logo img{
  max-width:420px;
  width:100%;
  height:auto;
}

.lube-hero{background:linear-gradient(115deg,#11161c,#202a33);color:#fff;border-bottom:4px solid #d91f26}
.lube-hero .wrap{display:grid;grid-template-columns:.85fr 1.15fr;gap:38px;align-items:center;padding:66px 0}
.lube-hero-copy .agency{display:inline-block;background:#d91f26;color:#fff;border-radius:999px;padding:8px 12px;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.09em;margin-bottom:16px}
.lube-hero-copy h1{font-size:clamp(48px,5.4vw,74px);line-height:.96;margin:0 0 16px}
.lube-hero-copy p{font-size:18px;color:#d8dee5;max-width:700px}
.lube-hero-photo{border-radius:22px;overflow:hidden;box-shadow:var(--shadow)}
.lube-hero-photo img{width:100%;height:430px;object-fit:cover;display:block}
.lube-brandline{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:42px 0}
.lube-brand{border:1px solid #dde4eb;border-radius:18px;padding:28px;background:#fff}
.lube-brand .name{font-size:38px;font-weight:900;letter-spacing:.02em}
.lube-brand.fuchs .name{color:#d91f26}
.lube-brand.dropsa .name{color:#0d6fb8}
.lube-brand h3{font-size:24px;color:#17243a;margin:10px 0}
.lube-brand p{color:#66727f;font-size:14px}
.lube-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.lube-card{background:#fff;border:1px solid #dde4eb;border-radius:18px;padding:26px;min-height:240px}
.lube-card .num{font-size:18px;font-weight:900;letter-spacing:.07em;color:#d91f26}
.lube-card h3{font-size:22px;color:#17243a;margin:14px 0 9px}
.lube-card p{font-size:14px;color:#66727f}
.dropsa-section{margin-top:48px;background:#eff5f9;border-radius:22px;padding:36px;border:1px solid #d9e3ea}
.dropsa-section .section-head{margin-bottom:24px}
.dropsa-diagram{display:grid;grid-template-columns:1.05fr .95fr;gap:28px;align-items:center}
.dropsa-diagram img{width:100%;border-radius:18px}
.dropsa-diagram ul{margin:0;padding-left:20px}
.dropsa-diagram li{margin:8px 0;color:#566472}
.service-band{margin-top:46px;background:#111820;color:#fff;border-radius:22px;padding:36px}
.service-band h2{color:#fff;margin-bottom:10px}
.service-band p{color:#cbd5df}
.service-points{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:20px}
.service-point{border:1px solid #304050;border-radius:14px;padding:18px;background:#151f29}
.service-point strong{display:block;color:#fff}
.service-point span{display:block;color:#a6b1bd;font-size:12px;margin-top:4px}
.lube-cta{margin-top:46px;background:linear-gradient(115deg,#9e171c,#d91f26);color:#fff;border-radius:20px;padding:35px;display:flex;justify-content:space-between;align-items:center;gap:24px}
.lube-cta h3{font-size:31px;margin:0 0 7px}
.lube-cta p{margin:0;color:#f3d9da}
@media(max-width:900px){.lube-hero .wrap,.lube-brandline,.dropsa-diagram{grid-template-columns:1fr}.lube-grid{grid-template-columns:1fr 1fr}.service-points{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.lube-grid,.service-points{grid-template-columns:1fr}.lube-cta{display:block}.lube-cta .btn{margin-top:18px}}

/* V1.0.16 DropsA / Control Lube visual expansion */
.dropsa-product-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
  margin-top:28px;
}
.dropsa-product-card{
  border:1px solid #dbe3e9;
  border-radius:18px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 10px 28px rgba(19,41,60,.06);
}
.dropsa-product-card .photo{
  height:210px;
  background:#eef3f7 center/cover no-repeat;
  position:relative;
}
.dropsa-product-card .photo:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(11,29,43,.16));
}
.dropsa-product-card .body{padding:22px 24px 24px}
.dropsa-product-card .eyebrow{
  display:block;
  color:#0d6fb8;
  font-size:14px;
  font-weight:900;
  letter-spacing:.07em;
  text-transform:uppercase;
  margin-bottom:8px;
}
.dropsa-product-card h3{
  color:#17243a;
  font-size:22px;
  margin:0 0 9px;
}
.dropsa-product-card p{color:#65717e;font-size:14px;margin:0}
.dropsa-supplier-note{
  margin-top:28px;
  border-left:5px solid #0d6fb8;
  background:#f3f8fb;
  border-radius:0 14px 14px 0;
  padding:20px 22px;
  color:#445463;
}
.dropsa-supplier-note strong{color:#17324b}
.dropsa-system-photo{
  margin-top:30px;
  border-radius:20px;
  overflow:hidden;
  background:#eef3f7;
  border:1px solid #dce4ea;
}
.dropsa-system-photo img{
  width:100%;
  max-height:460px;
  object-fit:cover;
  display:block;
}
@media(max-width:900px){.dropsa-product-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.dropsa-product-grid{grid-template-columns:1fr}}

/* V1.0.17 Lusanga brand refinement */
:root{
  --lusanga-cornflower:#6495ED;
  --lusanga-lightblue:#7FA8FF;
  --lusanga-blue:#4F78D9;
}
.site-header .brand{
  min-width:340px;
  display:flex;
  align-items:center;
}
.site-header .brand img{
  width:340px !important;
  max-width:340px !important;
  height:72px !important;
  object-fit:contain !important;
}
.rfq,.btn-lime,.header-rfq{
  background:var(--lusanga-cornflower) !important;
  color:#07111f !important;
}
.hero h1 span{color:var(--lusanga-cornflower) !important}
.eyebrow:before{background:var(--lusanga-cornflower) !important}
.page-hero{border-bottom-color:var(--lusanga-cornflower) !important}
.kicker{color:var(--lusanga-blue)}
.dark .kicker{color:var(--lusanga-cornflower) !important}
.cap:before{background:var(--lusanga-blue) !important}
.cap-body{border-left-color:var(--lusanga-blue) !important}
.cap a,.partner a,.partner-page-card a,.entry a{color:var(--lusanga-blue) !important}
.ticks li:before{background:var(--lusanga-cornflower) !important}
@media(max-width:650px){
  .site-header .brand{min-width:auto}
  .site-header .brand img{
    width:230px !important;
    max-width:230px !important;
    height:56px !important;
  }
}

/* V1.0.18 — spacious two-column hero with a prominent, transparent Lusanga Group mark. */
.hero-layout{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:minmax(0,1.14fr) minmax(0,.86fr);
  gap:42px;
  align-items:center;
}
.hero .hero-content{
  width:100%;
  max-width:none;
  transform:none;
  padding:94px 0 108px;
}
/* Original maximum was 88px. This caps it at 66px: exactly 25% smaller. */
.hero h1{
  font-size:clamp(39px,5.025vw,66px) !important;
  line-height:.99;
}
.hero-brand{
  min-width:0;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:28px 0;
}
.hero-brand img{
  display:block;
  width:100%;
  max-width:540px;
  height:auto;
  object-fit:contain;
  background:transparent;
  filter:drop-shadow(0 14px 24px rgba(0,0,0,.32));
}
@media(max-width:1040px){
  .hero-layout{grid-template-columns:1fr;gap:8px}
  .hero .hero-content{padding:86px 0 24px}
  .hero-brand{justify-content:flex-start;padding:0 0 60px}
  .hero-brand img{max-width:430px}
}
@media(max-width:650px){
  .hero h1{font-size:36px !important}
  .hero .hero-content{padding:76px 0 65px}
  /* Mobile already has the brand in the header; avoid pushing CTAs below the fold. */
  .hero-brand{display:none}
}

/* V1.0.19 — exact corporate blue for the large homepage Lusanga logo. */
.hero-brand-logo{
  display:block;
  width:100%;
  max-width:540px;
  aspect-ratio:779 / 270;
  background-color:#4F78D9;
  -webkit-mask-image:url('assets/images/lusanga-group-hero-blue.png');
  mask-image:url('assets/images/lusanga-group-hero-blue.png');
  -webkit-mask-size:contain;
  mask-size:contain;
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
  -webkit-mask-position:center;
  mask-position:center;
  filter:drop-shadow(0 14px 24px rgba(0,0,0,.25));
}

/* Restore slightly more visibility to the real Mufulira West conveyor project on the right,
   keeping the dark, legible foreground under the homepage headline. */
.hero:before{
  background:linear-gradient(90deg,
     rgba(3,6,9,.97) 0%,
     rgba(3,6,9,.80) 44%,
     rgba(3,6,9,.43) 76%,
     rgba(3,6,9,.26) 100%);
}
@media(max-width:1040px){
 .hero-brand-logo{max-width:430px}
}

/* === V1.0.20: Nordbak supplier case studies only. The wider Lusanga
   site remains blue; red is deliberately restricted to these components. === */
.nb-supplier-top{border:1px solid #e8d9db;border-radius:20px;overflow:hidden;display:grid;grid-template-columns:.95fr 1.05fr;align-items:stretch;margin:0 0 54px;background:#fff;box-shadow:0 15px 36px rgba(16,24,34,.07)}
.nb-supplier-top-copy{padding:34px 36px 38px;display:flex;flex-direction:column;justify-content:center}
.nb-supplier-top-label,.nb-supplier-kicker{font-size:12px;line-height:1.4;letter-spacing:.15em;text-transform:uppercase;font-weight:900;color:#ba1829}
.nb-supplier-top-copy h2{font-size:clamp(26px,3.0vw,40px);margin:10px 0 13px;line-height:1.05;color:#182333}
.nb-supplier-top-copy p{color:#60707b;font-size:15px;margin:0 0 19px}
.nb-supplier-top-photo{position:relative;background:#0e1116;min-height:280px}
.nb-supplier-top-photo img{width:100%;height:100%;max-height:360px;object-fit:cover;display:block}
.nb-supplier-top-photo:after{content:'Supplier application video';position:absolute;bottom:16px;left:16px;font-size:12px;background:rgba(0,0,0,.75);color:#fff;border-radius:6px;padding:6px 12px}
.nb-supplier-top-button{display:inline-flex;align-self:flex-start;background:#b9162a;color:white!important;padding:11px 18px;border-radius:8px;font-weight:800;font-size:13px;text-decoration:none}
.nb-profile-panel{text-align:center;margin:45px 0 55px;padding:30px 18px;border:1px solid #e4e5e9;background:#f7f8fa;border-radius:18px}
.nb-profile-panel h3{font-size:clamp(22px,2.4vw,29px);color:#182333;margin:0 0 9px}
.nb-profile-panel p{font-size:14px;color:#65707f;margin:0 0 18px}
.nb-profile-button{display:inline-flex;align-items:center;justify-content:center;padding:14px 24px;border-radius:8px;background:#b8162b;color:#fff!important;font-weight:900;text-decoration:none;font-size:15px}
.nb-profile-button:hover,.nb-supplier-top-button:hover{background:#8e1022;color:white}
.nb-supplier-cases{margin-top:42px;padding:44px 36px 42px;border-radius:22px;background:linear-gradient(142deg,#7e0e1c 0%,#a71124 45%,#c02b36 100%);color:white;isolation:isolate;overflow:hidden}
.nb-supplier-cases .nb-supplier-kicker{color:#ffd2d7}
.nb-supplier-cases h2{color:white;font-size:clamp(32px,4vw,48px);line-height:1.08;margin:8px 0 12px}
.nb-supplier-cases .nb-intro{color:#ffe7e9;max-width:850px;margin:0 0 28px;font-size:15px}
.nb-supplier-video-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:12px 0 34px}
.nb-supplier-video-card{background:#171b21;color:#fff;border:1px solid rgba(255,255,255,.2);border-radius:15px;overflow:hidden;box-shadow:0 12px 28px rgba(13,4,8,.22)}
.nb-supplier-video-card .nb-video-media{position:relative;aspect-ratio:16/9;background:#0b0f15}
.nb-supplier-video-card video,.nb-supplier-video-card .nb-video-link{display:block;width:100%;height:100%;object-fit:cover}
.nb-supplier-video-card video{background:#050505}
.nb-video-link{position:relative;display:block;background-position:center;background-size:cover;text-decoration:none}
.nb-video-link:before{content:'▶';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:rgba(185,22,42,.88);color:white;font-size:24px;padding-left:4px;box-shadow:0 7px 20px rgba(0,0,0,.4)}
.nb-video-link:after{content:'Watch on Nordbak';position:absolute;left:10px;right:10px;bottom:9px;color:white;font-size:12px;font-weight:700;text-align:center;text-shadow:0 1px 5px black}
.nb-supplier-video-card .nb-video-caption{padding:15px 17px 18px}
.nb-supplier-video-card h3{font-size:19px;line-height:1.2;color:white;margin:0 0 8px}
.nb-supplier-video-card p{font-size:13px;line-height:1.5;color:#c5cbd3;margin:0}
.nb-supplier-examples-title{font-size:26px;font-weight:900;margin:32px 0 18px}
.nb-supplier-example-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.nb-supplier-example{background:#fff;color:#17202d;overflow:hidden;border-radius:13px}
.nb-supplier-example img{display:block;width:100%;aspect-ratio:1.8;object-fit:cover}
.nb-supplier-example .details{padding:16px 17px 19px}
.nb-supplier-example strong{display:block;font-size:15px;line-height:1.3;margin-bottom:7px}
.nb-supplier-example p{font-size:13px;color:#626c76;line-height:1.5;margin:0}
.nb-supplier-source{margin-top:24px;border-top:1px solid rgba(255,255,255,.3);padding-top:16px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.nb-supplier-source p{font-size:12px;color:#ffe2e6;margin:0;max-width:780px}
.nb-supplier-source a{color:white;text-decoration:underline;font-weight:800;font-size:13px}
@media(max-width:900px){.nb-supplier-top{grid-template-columns:1fr}.nb-supplier-example-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.nb-supplier-video-grid,.nb-supplier-example-grid{grid-template-columns:1fr}.nb-supplier-cases{padding:28px 17px 30px}.nb-supplier-top-copy{padding:27px}.nb-supplier-top-photo{min-height:220px}}

/* V1.0.21 — Nordbak typography, agency credential, applications */
.nordbak-page .nordbak-hero .wrap{
  grid-template-columns: .90fr 1.10fr;
  gap:34px;
}
.nordbak-page .nordbak-logo-panel{
  align-items:flex-start;
  gap:11px;
}
.nordbak-page .nordbak-logo-panel .kicker{
  margin:0 0 4px;
}
.nordbak-page .nb-approved-applicators{
  width:100%;
  max-width:405px;
  height:auto;
  display:block;
  object-fit:contain;
  background:transparent;
  border:0;
  border-radius:0;
  padding:0;
}
.nordbak-page .nordbak-logo-panel img.official-nordbak.nb-official-red{
  display:block;
  width:min(100%,430px);
  max-width:430px;
  height:auto;
  margin:0;
  padding:0;
  background:transparent;
  border:0;
  border-radius:0;
  /* Tint Nordbak's own current white logo image to brand red without redrawing
     or changing its outline or registered mark. */
  filter:brightness(0) saturate(100%) invert(20%) sepia(94%) saturate(5200%) hue-rotate(349deg) brightness(101%) contrast(105%);
}
.nordbak-page .nb-agency-proof{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:7px;
}
.nordbak-page .nb-agency-proof span{
  border:1px solid #5c6876;
  border-radius:8px;
  background:#1b2633;
  color:#fff;
  font-size:13px;
  font-weight:800;
  padding:9px 12px;
}
/* Improve all small blue/brand section labels on the Nordbak page only. */
.nordbak-page .kicker,
.nordbak-page .nordbak-feature-copy .tag{
  font-size:20px !important;
  line-height:1.25;
  letter-spacing:.065em;
  font-weight:900;
}
.nordbak-page .nordbak-apps{
  gap:16px;
}
.nordbak-page .nordbak-app{
  min-height:132px;
  background:#edf3ff;
  border:2px solid #505b69;
  border-radius:15px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:20px 18px;
  text-align:center;
}
.nordbak-page .nordbak-app strong{
  font-size:22px;
  line-height:1.2;
  color:#4F78D9;
  font-weight:900;
}
.nordbak-page .nordbak-app span{
  font-size:16px;
  line-height:1.4;
  color:#3d4857;
  margin-top:9px;
}
@media(max-width:920px){
  .nordbak-page .nordbak-hero .wrap{grid-template-columns:1fr;}
  .nordbak-page .nordbak-logo-panel{align-items:center;text-align:center}
  .nordbak-page .nb-agency-proof{justify-content:center}
}
@media(max-width:620px){
  .nordbak-page .kicker,
  .nordbak-page .nordbak-feature-copy .tag{font-size:18px !important}
  .nordbak-page .nordbak-app strong{font-size:20px}
}

/* V1.0.22: consolidated Nordbak approved-applicator lockup */
.nordbak-page .nordbak-hero .wrap{
  grid-template-columns:minmax(0, .88fr) minmax(0, 1.12fr);
  align-items:center;
  gap:48px;
  padding-top:54px;
  padding-bottom:54px;
}
.nordbak-page .nordbak-logo-panel{
  align-items:stretch;
  justify-content:center;
  gap:0;
  min-width:0;
  max-width:525px;
}
.nordbak-page .nordbak-logo-panel .kicker{
  font-size:14px !important;
  line-height:1.5;
  letter-spacing:.1em;
  margin:0 0 24px;
  color:#7FA8FF;
}
.nordbak-page .nb-approval-lockup{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:4px;
  background:transparent;
  padding:0;
  border:0;
}
.nordbak-page .nb-approval-top,
.nordbak-page .nb-approval-bottom{
  display:block;
  color:#f5f6f8;
  font-size:clamp(26px,2.6vw,37px);
  line-height:1.12;
  font-weight:500;
  letter-spacing:.006em;
}
.nordbak-page .nb-approval-bottom{
  margin-top:2px;
}
.nordbak-page .nordbak-logo-panel img.official-nordbak.nb-official-red{
  width:min(100%,410px);
  max-width:410px;
  height:auto;
  margin:1px 0;
  padding:0;
  background:transparent;
  border:0;
  border-radius:0;
  filter:brightness(0) saturate(100%) invert(20%) sepia(94%) saturate(5200%) hue-rotate(349deg) brightness(101%) contrast(105%);
}
.nordbak-page .nb-approval-credentials{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:10px;
  margin-top:28px;
  padding-top:17px;
  border-top:2px solid #c92430;
  max-width:465px;
}
.nordbak-page .nb-approval-credentials p{
  margin:0;
  font-size:15px;
  line-height:1.5;
  color:#ecf0f5;
  font-weight:600;
}
.nordbak-page .nb-approval-credentials strong{
  color:#8bb3ff;
  font-weight:900;
}
@media(max-width:920px){
  .nordbak-page .nordbak-hero .wrap{grid-template-columns:1fr;gap:32px}
  .nordbak-page .nordbak-logo-panel{align-items:center;max-width:none}
  .nordbak-page .nordbak-logo-panel .kicker{text-align:center}
  .nordbak-page .nb-approval-lockup{align-items:center}
  .nordbak-page .nb-approval-credentials{align-items:center;text-align:center}
}
@media(max-width:620px){
  .nordbak-page .nb-approval-top,
  .nordbak-page .nb-approval-bottom{font-size:29px}
  .nordbak-page .nb-approval-credentials p{font-size:14px}
}


/* 1.0.23 DRAFT — CCR Composite Roller landing page */
.ccr-page{color:#172334}
.ccr-page .ccr-eyebrow{font-size:14px;line-height:1.4;letter-spacing:.14em;text-transform:uppercase;font-weight:900;color:#4F78D9}
.ccr-page .ccr-hero{background:linear-gradient(110deg,#0b1118,#1a293d);color:white;border-bottom:4px solid #6495ed}
.ccr-hero-layout{display:grid;grid-template-columns:1fr 1.05fr;gap:42px;align-items:center;padding:77px 0}
.ccr-page .ccr-partner-line{color:#b6d164;margin:11px 0}
.ccr-page .ccr-hero h1{font-size:clamp(48px,5vw,76px);line-height:.99;letter-spacing:-.047em;margin:18px 0 21px;text-transform:uppercase}
.ccr-page .ccr-hero h1 span{color:#7fa8ff}
.ccr-page .ccr-hero-copy p{color:#dce4ed;font-size:19px;line-height:1.65;max-width:660px}
.ccr-page .ccr-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:27px}
.ccr-page .ccr-btn{display:inline-flex;align-items:center;justify-content:center;border-radius:9px;padding:15px 19px;text-transform:uppercase;font-size:12px;font-weight:900;letter-spacing:.02em}
.ccr-page .ccr-btn-primary{background:#6495ed;color:#0a1626}
.ccr-page .ccr-btn-secondary{color:#fff;border:1px solid #67778b;background:transparent}
.ccr-page .ccr-hero-visual,.ccr-page .ccr-engineering-photo{position:relative;overflow:hidden;border-radius:19px;box-shadow:0 18px 55px rgba(0,0,0,.3)}
.ccr-page .ccr-hero-visual img{display:block;aspect-ratio:4/3;width:100%;object-fit:cover}
.ccr-page .ccr-hero-visual span,.ccr-page .ccr-engineering-photo span{position:absolute;bottom:0;left:0;right:0;padding:12px 18px;background:linear-gradient(transparent,rgba(6,10,15,.85));color:#fff;font-size:12px;font-weight:700}
.ccr-page .ccr-benefit-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}
.ccr-page .ccr-benefit{border:1px solid #d9e2ec;border-left:5px solid #6495ed;border-radius:15px;padding:22px;background:#f8fafc}
.ccr-page .ccr-benefit strong{display:block;font-size:30px;line-height:1.2;color:#315bb2}
.ccr-page .ccr-benefit span{display:block;margin-top:8px;font-size:13px;color:#5f6b78}
.ccr-page .ccr-disclaimer{font-size:12px;color:#788494;max-width:900px;margin-top:16px}
.ccr-page .ccr-product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.ccr-page .ccr-product-card{background:#fff;border:1px solid #dae3ec;border-radius:17px;overflow:hidden;box-shadow:0 10px 30px rgba(12,35,62,.06)}
.ccr-page .ccr-product-card img{display:block;width:100%;height:245px;object-fit:contain;background:#e9f1f5;padding:14px}
.ccr-page .ccr-product-body{padding:24px 26px 28px}
.ccr-page .ccr-product-label{font-size:14px;font-weight:900;letter-spacing:.07em;color:#4F78D9}
.ccr-page .ccr-product-card h3{font-size:23px;line-height:1.18;margin:14px 0;color:#162b42}
.ccr-page .ccr-product-card p{font-size:14px;color:#5c6a78;margin:0}
.ccr-page .ccr-specialist{margin-top:35px;padding:27px;background:#eaf0f6;border-radius:17px}
.ccr-page .ccr-specialist-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:17px}
.ccr-page .ccr-specialist-grid h3{font-size:20px;line-height:1.16;margin:0 0 9px}
.ccr-page .ccr-specialist-grid p{font-size:14px;color:#576779;margin:0}
.ccr-page .ccr-engineering-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.ccr-page .ccr-engineering-grid p{font-size:16px;color:#566576}
.ccr-page .ccr-checks{list-style:none;margin:24px 0 0;padding:0}
.ccr-page .ccr-checks li{padding:9px 0 9px 28px;border-bottom:1px solid #e8eef3;position:relative;font-size:15px;color:#374657}
.ccr-page .ccr-checks li:before{position:absolute;content:'✓';left:0;top:9px;color:#315bb2;font-weight:900}
.ccr-page .ccr-engineering-photo img{display:block;width:100%;height:435px;object-fit:cover}
.ccr-page .ccr-quote-band .ccr-eyebrow{color:#7fa8ff}
.ccr-page .ccr-quote-band .section-head p{color:#b8c8d8}
.ccr-page .ccr-quote-panel{display:flex;align-items:center;justify-content:space-between;gap:20px;border-radius:18px;border:1px solid #384a61;background:#172438;padding:30px}
.ccr-page .ccr-quote-panel h3{font-size:26px;color:#fff;margin:0 0 9px}
.ccr-page .ccr-quote-panel p{font-size:14px;color:#bdc9d6;margin:0 0 11px}
.ccr-page .ccr-quote-panel small{color:#b9c9da}.ccr-page .ccr-quote-panel small a{color:#9ac0ff;text-decoration:underline}
@media(max-width:1000px){.ccr-hero-layout,.ccr-page .ccr-engineering-grid{grid-template-columns:1fr}.ccr-page .ccr-benefit-grid{grid-template-columns:repeat(2,1fr)}.ccr-page .ccr-product-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.ccr-page .ccr-benefit-grid,.ccr-page .ccr-product-grid,.ccr-page .ccr-specialist-grid{grid-template-columns:1fr}.ccr-page .ccr-quote-panel{flex-direction:column;align-items:flex-start}}


/* V1.0.23: CCR green manufacturer-accent styling; Lusanga global theme stays blue. */
.ccr-page{--ccr-green:#8CC63F;--ccr-green-dark:#49751F}
.ccr-page .ccr-partner-line,
.ccr-page .ccr-hero h1 span,
.ccr-page .ccr-quote-band .ccr-eyebrow{color:var(--ccr-green) !important}
.ccr-page .ccr-btn-primary{background:var(--ccr-green);color:#101a0c}
.ccr-page .ccr-hero{border-bottom-color:var(--ccr-green)}
.ccr-page .ccr-benefit{border-left-color:var(--ccr-green)}
.ccr-page .ccr-benefit strong,
.ccr-page .ccr-product-label,
.ccr-page .ccr-checks li:before{color:var(--ccr-green-dark)}
.ccr-page .ccr-intro .ccr-eyebrow,
.ccr-page #ccr-products .ccr-eyebrow,
.ccr-page .ccr-engineering-grid .ccr-eyebrow{color:var(--ccr-green-dark)}
.ccr-page .ccr-btn-primary:hover{background:#9CD451}

/* V1.0.23: all six Flexco product backdrops more visible behind legible wording. */
.flexco-card.photo-bg:before{
  background:linear-gradient(90deg,rgba(255,255,255,.88) 0%,rgba(255,255,255,.79) 55%,rgba(255,255,255,.58) 100%) !important
}
.flexco-card.photo-bg:hover:before{
  background:linear-gradient(90deg,rgba(255,255,255,.85) 0%,rgba(255,255,255,.75) 55%,rgba(255,255,255,.52) 100%) !important
}
.flexco-card.photo-bg.flexco-graphic:before{
  background:linear-gradient(90deg,rgba(255,255,255,.88) 0%,rgba(255,255,255,.79) 55%,rgba(255,255,255,.58) 100%) !important
}
.flexco-card.photo-bg.flexco-graphic:hover:before{
  background:linear-gradient(90deg,rgba(255,255,255,.85) 0%,rgba(255,255,255,.75) 55%,rgba(255,255,255,.52) 100%) !important
}
.flexco-card.photo-bg .label,
.flexco-card.photo-bg h3,
.flexco-card.photo-bg li{text-shadow:0 1px 2px rgba(255,255,255,.72)}
/* Case-study header and metadata raised to 20px as requested. */
.case-study > .kicker{font-size:20px;font-weight:900;letter-spacing:.065em}
.case-study-meta{gap:12px;margin-top:22px}
.case-study-meta span{font-size:20px;line-height:1.24;padding:11px 16px;border-radius:13px}
@media(max-width:650px){
  .flexco-card.photo-bg:before,.flexco-card.photo-bg.flexco-graphic:before{
    background:rgba(255,255,255,.82) !important
  }
  .case-study-meta span{font-size:17px;padding:10px 13px}
}

/* V1.0.24 — Lubrication and Maptsoft digital asset reporting */
.lube-page .kicker,.maptsoft-page .kicker{font-size:20px;line-height:1.27;letter-spacing:.09em}
.lube-hero-logos{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-top:26px}
.lube-hero-logo{height:87px;min-width:164px;max-width:275px;display:flex;align-items:center;justify-content:center;padding:12px 17px;background:#fff;border:1px solid #e4e7eb;border-radius:13px}
.lube-hero-logo img{display:block;max-height:65px;width:auto;max-width:250px;object-fit:contain}
.lube-brand .lube-card-logo{height:68px;width:auto;max-width:240px;object-fit:contain;display:block;margin:0 0 16px}
.lube-maptsoft-module{margin-top:46px;background:linear-gradient(115deg,#171d20,#282b27);color:#fff;border-radius:22px;padding:36px;border-top:4px solid #bcd23d}
.lube-maptsoft-intro{display:grid;grid-template-columns:1.35fr .85fr;align-items:center;gap:35px}
.lube-maptsoft-module h2{color:#fff;font-size:clamp(31px,3.5vw,49px);margin:12px 0}
.lube-maptsoft-module p{color:#d3dad3;margin:0 0 22px}
.lube-maptsoft-logo-frame{background:#f9faf4;border-radius:16px;padding:26px;min-height:164px;display:flex;align-items:center;justify-content:center}
.lube-maptsoft-logo-frame img{width:100%;max-height:135px;object-fit:contain}
.lube-maptsoft-mini{margin-top:16px;padding:17px;background:rgba(255,255,255,.06);border:1px solid rgba(202,219,91,.28);border-radius:14px}
.lube-maptsoft-mini strong,.lube-maptsoft-mini span{display:block}.lube-maptsoft-mini span{font-size:13px;margin-top:5px;color:#ccd3d2}
.lube-maptsoft-tags{display:flex;gap:9px;flex-wrap:wrap;margin:0 0 24px}
.lube-maptsoft-tags span{font-size:12px;font-weight:800;color:#dbe7b7;border:1px solid #58683a;padding:8px 12px;border-radius:50px}
.lube-maptsoft-stages{margin-top:31px;display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.lube-maptsoft-stages>div{display:flex;flex-direction:column;gap:5px;background:#11181b;border:1px solid #3b4937;border-radius:14px;padding:18px}
.lube-maptsoft-stages b{color:#bcce41;font-size:20px}.lube-maptsoft-stages strong{font-size:19px}.lube-maptsoft-stages span{color:#b6c4bc;font-size:13px}
.maptsoft-hero-brand-panel{background:#f6f7f4;border-radius:17px;padding:25px;max-width:530px;border:1px solid #ced4c0;box-shadow:0 15px 38px rgba(0,0,0,.17)}
.maptsoft-brand .maptsoft-hero-brand-panel img{display:block;max-width:100%;height:auto;max-height:200px;object-fit:contain}
.maptsoft-visual-capabilities{margin-top:58px}
.maptsoft-evidence-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.maptsoft-evidence-card{border:1px solid #dde5dc;background:#fff;border-radius:17px;overflow:hidden;box-shadow:0 8px 30px rgba(14,23,16,.05)}
.maptsoft-evidence-card img{display:block;background:#f6f7f2;width:100%;height:240px;object-fit:contain;padding:12px}
.maptsoft-evidence-card>div{padding:21px}.maptsoft-evidence-card h3{font-size:20px;color:#26322d;margin:0 0 10px;line-height:1.23}.maptsoft-evidence-card p{font-size:14px;color:#59665f;margin:0}
.maptsoft-brochure-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:19px}
.maptsoft-brochure-links a{color:#3e5b15;font-size:13px;font-weight:900;border-bottom:2px solid #aecb4d;padding-bottom:3px}
.maptsoft-demo-report{display:grid;grid-template-columns:.55fr 1.45fr;gap:38px;align-items:center;margin:54px 0;padding:32px;background:#f2f5ec;border:1px solid #dce5c9;border-radius:20px}
.maptsoft-demo-report h2{font-size:clamp(29px,3.4vw,45px);margin:9px 0 16px}.maptsoft-demo-report p{color:#4e5b52;margin:0 0 16px}
.maptsoft-report-preview{background:white;border:1px solid #d4dcd5;border-radius:12px;padding:11px;box-shadow:0 10px 35px rgba(0,0,0,.10)}
.maptsoft-report-preview img{display:block;max-height:430px;width:100%;object-fit:contain}
.maptsoft-demo-note{font-size:14px;border-left:4px solid #afc83b;padding:8px 0 8px 15px}
.nb-lts-completed{margin:56px 0 40px}.nb-lts-completed-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:15px}
.nb-lts-completed-grid figure{margin:0;background:#111b24;border-radius:15px;overflow:hidden;color:white}
.nb-lts-completed-grid img{width:100%;height:265px;object-fit:cover;display:block}
.nb-lts-completed-grid figcaption{padding:12px 15px;font-size:14px;font-weight:700;color:#e7ebed}
.nb-lts-caption{font-size:13px;color:#65717a;margin:13px 0}
@media(max-width:900px){.lube-maptsoft-intro,.maptsoft-demo-report{grid-template-columns:1fr}.maptsoft-evidence-grid{grid-template-columns:1fr 1fr}.lube-maptsoft-stages{grid-template-columns:1fr 1fr}.nb-lts-completed-grid{grid-template-columns:1fr 1fr}.nb-lts-completed-hero{grid-column:span 2}.nb-lts-completed-hero img{height:300px}}
@media(max-width:600px){.lube-page .kicker,.maptsoft-page .kicker{font-size:20px}.lube-maptsoft-module{padding:25px 18px}.lube-maptsoft-stages,.maptsoft-evidence-grid,.nb-lts-completed-grid{grid-template-columns:1fr}.nb-lts-completed-hero{grid-column:auto}.lube-hero-logo{min-width:0;width:calc(50% - 8px);max-width:200px;padding:7px;height:72px}.lube-hero-logo img{max-width:100%;max-height:56px}.maptsoft-demo-report{padding:22px 17px}.lube-maptsoft-logo-frame{padding:15px}}

/* V1.0.25 — original Maptsoft colour branding and dedicated CP page. */
.maptsoft-hero-brand-panel,.lube-maptsoft-logo-frame{background:#fff}
.maptsoft-brand .maptsoft-hero-brand-panel img,.lube-maptsoft-logo-frame img,.cp-map-brand img{filter:none!important;mix-blend-mode:normal!important;opacity:1!important;background:#fff}
.maptsoft-brand .maptsoft-hero-brand-panel img{width:100%;max-width:470px;margin:0 auto;padding:0;max-height:170px}
.maptsoft-brand-tagline{color:#414541!important;text-align:center;font-size:14px!important;line-height:1.5;margin:15px 0 0!important}
.cp-page{--cp-red:#cb2026;--cp-ink:#111b25;--cp-muted:#536170;overflow-wrap:break-word}
.cp-page h1,.cp-page h2,.cp-page h3{line-height:1.12;letter-spacing:-.035em}
.cp-page h2{font-size:clamp(32px,3.6vw,49px);margin:12px 0 20px}
.cp-page h3{font-size:25px;margin:16px 0}
.cp-page p,.cp-page li{line-height:1.7}
.cp-page .kicker{font-size:12px;font-weight:800;letter-spacing:.13em;color:var(--cp-red)}
.cp-hero{background:linear-gradient(120deg,#101a24,#21303c);color:white;padding:80px 0 70px;border-bottom:5px solid var(--cp-red)}
.cp-hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:50px;align-items:center}
.cp-hero .kicker{color:#dfe5ec}.cp-brand-panel{background:white;display:inline-flex;padding:16px 24px;border-radius:9px;margin:24px 0 8px}.cp-brand-panel img{width:230px;max-width:100%;height:80px;object-fit:contain}
.cp-page h1{font-size:clamp(40px,4.5vw,65px);margin:25px 0;color:white}.cp-hero p{color:#d6e0e9;font-size:18px;max-width:650px}
.cp-actions{display:flex;gap:22px;flex-wrap:wrap;align-items:center;margin-top:30px}.cp-text-link{font-weight:800;font-size:14px}.cp-hero .cp-text-link{color:white}
.cp-page .btn-blue{background:var(--cp-red);color:white}.cp-page .btn-blue:hover{background:#a8171c}
.cp-hero-product{margin:0;padding:24px;background:#fff;border-radius:20px;box-shadow:0 25px 60px #0004}.cp-hero-product img{display:block;width:100%;height:350px;object-fit:contain}.cp-hero-product figcaption{color:#56616b;border-top:1px solid #e4e8ec;padding-top:15px;font-size:12px;font-weight:700}
.cp-jump{background:#f0f3f5;border-bottom:1px solid #dce3e8}.cp-jump .wrap{display:flex;gap:30px;flex-wrap:wrap;padding:20px 0}.cp-jump a{color:#263645;font-size:13px;font-weight:800}
.cp-section-heading{max-width:790px;margin-bottom:36px}.cp-section-heading p{color:var(--cp-muted);font-size:17px}
.cp-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.cp-card{display:flex;flex-direction:column;border:1px solid #dce3e9;border-top:4px solid var(--cp-red);padding:30px;border-radius:10px;background:#fff}.cp-card-number{font-weight:800;font-size:11px;letter-spacing:.12em;color:var(--cp-red)}.cp-card p,.cp-card li{font-size:14px;color:var(--cp-muted)}.cp-card ul{padding-left:18px;margin:8px 0 25px}.cp-card a{margin-top:auto;font-weight:800;font-size:13px;color:var(--cp-red)}.cp-card .cp-range-power{font-size:16px;font-weight:800;color:var(--cp-ink);margin-top:0}.cp-card-dark{background:#15232f;color:white}.cp-card-dark h3{color:white}.cp-card-dark p,.cp-card-dark li{color:#d3dce3}.cp-card-dark a,.cp-card-dark .cp-card-number{color:#ff979b}
.cp-technical{background:#f2f5f7}.cp-table-scroll{overflow-x:auto;background:white;border:1px solid #d6dee6;border-radius:12px}.cp-table{width:100%;min-width:590px;border-collapse:collapse;text-align:left;font-size:15px}.cp-table caption{text-align:left;padding:19px 22px;font-size:13px;font-weight:800;color:#4d5c6a}.cp-table th,.cp-table td{padding:18px 22px;border-top:1px solid #e2e7ec}.cp-table thead{background:#182733;color:white}.cp-table tbody th{color:#172735}.cp-note{font-size:12px!important;color:#536170;line-height:1.6!important}.cp-note a{color:#a71920;text-decoration:underline}.cp-selection{margin-top:30px;padding:23px 28px;border-left:4px solid var(--cp-red);background:#fff}.cp-selection h3{font-size:22px;margin:0 0 12px}.cp-selection p{margin:0;color:var(--cp-muted)}
.cp-service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:25px}.cp-service-grid article{border-top:1px solid #b9c5ce;padding-top:20px}.cp-service-grid b{color:var(--cp-red);font-size:30px}.cp-service-grid h3{font-size:22px}.cp-service-grid p{color:var(--cp-muted);font-size:14px}
.cp-digital{background:#13221e;color:white;border-top:4px solid #a7b92e}.cp-digital h2{color:white}.cp-digital p{color:#cdd8d2}.cp-digital .kicker{color:#d4e570}.cp-digital-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:70px;align-items:center}.cp-digital-visual{background:#fff;border-radius:18px;padding:25px;text-align:center}.cp-map-brand img{width:100%;max-width:330px;height:auto}.cp-map-brand p{color:#40473f;font-size:12px;margin:10px 0 20px}.cp-phone{display:block;width:100%;max-height:280px;object-fit:contain}.cp-digital-visual .cp-note{color:#52615a}.cp-workflow{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:18px;counter-reset:cpstep;padding:0;margin:45px 0 25px}.cp-workflow li{counter-increment:cpstep;background:#20362d;border:1px solid #3a5548;border-radius:10px;padding:22px}.cp-workflow b{display:block;font-size:20px;color:white}.cp-workflow b:before{content:'0' counter(cpstep) ' / ';color:#c5d85b;font-size:13px}.cp-workflow span{display:block;font-size:13px;color:#cdd9d1;margin-top:10px}.cp-digital>.wrap>.cp-text-link{color:#d4e570}
.cp-resources-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:65px}.cp-resources-grid a{color:#a71920;font-size:14px;font-weight:800}.cp-resources-grid p{color:var(--cp-muted)}.cp-rfq{background:#e9edf1;padding:55px 0}.cp-rfq .wrap{display:flex;align-items:center;justify-content:space-between;gap:40px}.cp-rfq h2{font-size:34px;max-width:720px}.cp-rfq p{color:var(--cp-muted)}.cp-rfq .btn{flex-shrink:0}
.cp-page a:focus-visible{outline:3px solid #588bd8;outline-offset:5px}.cp-page section[id]{scroll-margin-top:100px}
@media(max-width:1000px){.cp-hero-grid{gap:30px}.cp-card-grid{grid-template-columns:1fr 1fr}.cp-card-dark{grid-column:1/-1}.cp-service-grid,.cp-workflow{grid-template-columns:1fr 1fr}.cp-digital-grid{gap:30px}.cp-rfq .wrap{display:block}.cp-rfq .btn{margin-top:15px}}
@media(max-width:700px){.cp-hero{padding:45px 0}.cp-hero-grid,.cp-card-grid,.cp-digital-grid,.cp-resources-grid{grid-template-columns:1fr}.cp-hero-product img{height:260px}.cp-page h1{font-size:42px}.cp-jump .wrap{gap:14px 22px}.cp-card{padding:24px}.cp-card-dark{grid-column:auto}.cp-resources-grid{gap:25px}.cp-actions{gap:18px}.cp-digital-visual{max-width:450px;width:100%;margin:auto}.cp-brand-panel img{height:65px}.cp-rfq h2{font-size:30px}}
@media(max-width:420px){.cp-service-grid,.cp-workflow{grid-template-columns:1fr}.cp-page h1{font-size:36px}.cp-actions .btn,.cp-rfq .btn{white-space:normal;text-align:center}.cp-hero-product{padding:15px}.cp-hero-product img{height:220px}}

/* V1.0.26 — clearer homepage project photograph. */
.hero:before{background:linear-gradient(90deg,rgba(3,6,9,.78) 0%,rgba(3,6,9,.58) 44%,rgba(3,6,9,.20) 76%,rgba(3,6,9,.10) 100%)}
.hero:after{background:linear-gradient(transparent,rgba(9,13,18,.72))}
.hero .hero-content{text-shadow:0 2px 12px rgba(0,0,0,.65)}

/* V1.0.27 — full Flexco conveyor overview, without cover cropping or overlays. */
.flexco-overview-hero{background:#edf1f6;border-bottom:1px solid #d6dee9;padding:42px 0 0}
.flexco-overview-heading{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-bottom:28px}
.flexco-overview-heading .kicker{color:#3159ad;font-size:12px;letter-spacing:.11em}
.flexco-overview-heading h1{font-size:clamp(29px,3.1vw,44px);line-height:1.1;letter-spacing:-.035em;margin:12px 0 0;color:#162638;max-width:900px}
.flexco-overview-heading .btn{flex-shrink:0}
.flexco-overview-figure{max-width:1600px;margin:0 auto;background:#fff}
.flexco-overview-figure>a{display:block;cursor:zoom-in}
.flexco-overview-figure img{display:block;width:100%;height:auto;max-height:none;object-fit:contain;opacity:1;filter:none}
.flexco-overview-figure figcaption{display:flex;justify-content:space-between;gap:18px;padding:15px 26px;background:#101b2a;color:#dce5f1;font-size:12px}
.flexco-overview-figure figcaption a{font-weight:800;color:white;text-decoration:underline}
.flexco-system-components{padding:65px 0;background:#f5f7fa}
.flexco-system-components .section-head{margin-bottom:28px}
.flexco-system-components h2,.flexco-resource-section h2{font-size:clamp(30px,3vw,42px);line-height:1.1;margin:10px 0 0}
.flexco-component-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.flexco-component-grid article{padding:24px;border:1px solid #dce3ec;background:#fff;border-radius:12px;border-top:3px solid #3159ad}
.flexco-component-grid article>span{font-size:10px;letter-spacing:.12em;font-weight:900;color:#3159ad}
.flexco-component-grid h3{font-size:21px;line-height:1.2;margin:12px 0;color:#1a2b41}
.flexco-component-grid p{font-size:14px;line-height:1.6;color:#5d6a79;margin:0}
.flexco-resource-section{margin:64px 0 40px;padding-top:42px;border-top:1px solid #d8e0e9}
.flexco-resource-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.flexco-resource-grid>a{display:flex;flex-direction:column;align-items:flex-start;padding:25px;background:#f0f4fa;border:1px solid #d4deed;border-radius:13px;transition:background .2s}
.flexco-resource-grid>a:hover{background:#e2ebf9}
.flexco-resource-grid span{font-size:10px;letter-spacing:.11em;font-weight:900;color:#3c6099}
.flexco-resource-grid strong{font-size:21px;color:#1a2b41;line-height:1.2;margin:13px 0}
.flexco-resource-grid p{color:#596a7b;font-size:14px;margin:0 0 24px}
.flexco-resource-grid b{margin-top:auto;color:#3159ad;font-size:12px}
.flexco-resource-note{font-size:12px;color:#617183;margin-top:20px}
#flexco-components{scroll-margin-top:100px}
.flexco-systems-page a:focus-visible{outline:3px solid #3159ad;outline-offset:4px}
@media(max-width:900px){.flexco-overview-heading{display:block}.flexco-overview-heading .btn{margin-top:22px}.flexco-component-grid,.flexco-resource-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.flexco-overview-hero{padding-top:30px}.flexco-overview-heading{margin-bottom:24px}.flexco-overview-heading h1{font-size:32px}.flexco-overview-figure figcaption{display:block;padding:14px 16px}.flexco-overview-figure figcaption span,.flexco-overview-figure figcaption a{display:block}.flexco-overview-figure figcaption a{margin-top:10px}.flexco-component-grid,.flexco-resource-grid{grid-template-columns:1fr}.flexco-system-components{padding:44px 0}.flexco-resource-section{margin-top:45px}}
