/*
 * Kogi SAPZ Experience Platform
 * Public design system
 * Author: Pulse Engineering and Consulting Limited
 */

:root {
  --ksapz-primary: #45bea7;
  --ksapz-charcoal: #5b5959;
  --ksapz-ink: #142b25;
  --ksapz-canvas: #f6f7f2;
  --ksapz-accent: #c4893a;
  --ksapz-white: #ffffff;
  --ksapz-paper: #fbfcf8;
  --ksapz-soft: #e8ede6;
  --ksapz-line: rgba(20, 43, 37, 0.18);
  --ksapz-line-light: rgba(255, 255, 255, 0.2);
  --ksapz-muted: #617069;
  --ksapz-danger: #8d2b2b;
  --ksapz-success: #1e6f51;
  --ksapz-font: Abadi, "Abadi MT Condensed Light", "Avenir Next", Avenir, "Segoe UI", Arial, sans-serif;
  --ksapz-serif: Georgia, "Times New Roman", serif;
  --ksapz-wrap: 1360px;
  --ksapz-pad: clamp(20px, 4vw, 64px);
  --ksapz-section: clamp(76px, 9vw, 144px);
  --ksapz-focus: 3px solid #c4893a;
}

html { scroll-behavior: smooth; }
html[data-ksapz-text-size="large"] { font-size: 118%; }
html[data-ksapz-contrast="high"] { --ksapz-canvas: #fff; --ksapz-paper: #fff; --ksapz-line: #142b25; --ksapz-muted: #263a34; }
html[data-ksapz-reduce-motion="true"] { scroll-behavior: auto; }
html[data-ksapz-reduce-motion="true"] *,
html[data-ksapz-reduce-motion="true"] *::before,
html[data-ksapz-reduce-motion="true"] *::after { animation-duration: 0.001ms !important; animation-iteration-count: 1 !important; transition-duration: 0.001ms !important; }

body.ksapz-site {
  margin: 0;
  background: var(--ksapz-canvas);
  color: var(--ksapz-ink);
  font-family: var(--ksapz-font);
  font-size: 17px;
  line-height: 1.58;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
body.ksapz-site *, body.ksapz-site *::before, body.ksapz-site *::after { box-sizing: border-box; }
body.ksapz-site img { display: block; max-width: 100%; height: auto; }
body.ksapz-site button, body.ksapz-site input, body.ksapz-site select, body.ksapz-site textarea { font: inherit; }
body.ksapz-site button { color: inherit; }
body.ksapz-site a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: 0.18em; }
body.ksapz-site a:hover { text-decoration-thickness: 2px; }
body.ksapz-site :focus-visible { outline: var(--ksapz-focus); outline-offset: 4px; }
body.ksapz-site [hidden] { display: none !important; }
body.ksapz-site :where(h1, h2, h3, h4, p) { margin-top: 0; }
body.ksapz-site :where(h1, h2, h3, h4) { line-height: 1.04; letter-spacing: -0.03em; }
body.ksapz-site :where(h1) { font-size: clamp(3.15rem, 7vw, 7.6rem); font-weight: 700; }
body.ksapz-site :where(h2) { font-size: clamp(2.25rem, 4.5vw, 4.85rem); font-weight: 700; }
body.ksapz-site :where(h3) { font-size: clamp(1.35rem, 2vw, 2rem); font-weight: 700; }
body.ksapz-site p:last-child { margin-bottom: 0; }
body.admin-bar .ksapz-site-header { top: 32px; }

.ksapz-wrap { width: min(100% - (var(--ksapz-pad) * 2), var(--ksapz-wrap)); margin-inline: auto; }
.ksapz-section { padding-block: var(--ksapz-section); position: relative; }
.ksapz-section.is-alt { background: var(--ksapz-soft); }
.ksapz-section.is-dark { background: var(--ksapz-ink); color: var(--ksapz-white); }
.ksapz-section.is-dark .ksapz-eyebrow, .ksapz-section.is-dark .ksapz-card-kicker { color: var(--ksapz-primary); }
.ksapz-section.is-dark .ksapz-section-copy { color: #c8d5ce; }
.ksapz-site-frame { min-height: 100vh; overflow: clip; }

.ksapz-skip-link { position: fixed; z-index: 100000; left: 14px; top: 14px; transform: translateY(-160%); padding: 12px 18px; background: var(--ksapz-white); color: var(--ksapz-ink); border: 2px solid var(--ksapz-ink); font-weight: 700; }
.ksapz-skip-link:focus { transform: translateY(0); }
.ksapz-eyebrow, .ksapz-card-kicker { margin: 0 0 18px; color: var(--ksapz-muted); font-size: 0.75rem; font-weight: 800; letter-spacing: 0.16em; line-height: 1.2; text-transform: uppercase; }
.ksapz-lead { max-width: 860px; font-size: clamp(1.18rem, 2vw, 1.55rem); line-height: 1.5; color: inherit; }
.ksapz-icon { display: inline-flex; width: 1.08em; height: 1.08em; vertical-align: -0.14em; flex: 0 0 auto; }
.ksapz-icon svg { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: square; stroke-linejoin: miter; }

.ksapz-button { display: inline-flex; align-items: center; justify-content: center; gap: 11px; min-height: 50px; padding: 13px 20px; border: 1px solid currentColor; border-radius: 0; background: transparent; color: inherit; font-size: 0.91rem; font-weight: 800; line-height: 1.2; text-decoration: none; cursor: pointer; transition: background-color 180ms ease, color 180ms ease, border-color 180ms ease, transform 180ms ease; }
.ksapz-button:hover { transform: translateY(-2px); text-decoration: none; }
.ksapz-button.is-primary { background: var(--ksapz-primary); border-color: var(--ksapz-primary); color: var(--ksapz-ink); }
.ksapz-button.is-primary:hover { background: var(--ksapz-white); border-color: var(--ksapz-white); color: var(--ksapz-ink); }
.ksapz-button.is-dark { background: var(--ksapz-ink); border-color: var(--ksapz-ink); color: var(--ksapz-white); }
.ksapz-button.is-dark:hover { background: var(--ksapz-primary); border-color: var(--ksapz-primary); color: var(--ksapz-ink); }
.ksapz-button.is-quiet { border-color: rgba(255, 255, 255, 0.45); color: var(--ksapz-white); }
.ksapz-button.is-quiet:hover { border-color: var(--ksapz-white); background: var(--ksapz-white); color: var(--ksapz-ink); }
.ksapz-button.is-header { min-height: 44px; padding: 10px 15px; background: var(--ksapz-ink); border-color: var(--ksapz-ink); color: var(--ksapz-white); font-size: 0.78rem; }
.ksapz-button.is-header:hover { background: var(--ksapz-primary); border-color: var(--ksapz-primary); color: var(--ksapz-ink); }
.ksapz-text-link { display: inline-flex; align-items: center; gap: 9px; color: inherit; font-size: 0.84rem; font-weight: 800; line-height: 1.25; text-decoration: none; border-bottom: 1px solid currentColor; padding-bottom: 4px; }
.ksapz-text-link:hover { color: var(--ksapz-accent); text-decoration: none; }
.ksapz-text-link .ksapz-icon { transition: transform 180ms ease; }
.ksapz-text-link:hover .ksapz-icon { transform: translateX(4px); }
.ksapz-icon-button { display: inline-grid; place-items: center; flex: 0 0 44px; width: 44px; height: 44px; padding: 0; border: 1px solid var(--ksapz-line); border-radius: 0; background: transparent; cursor: pointer; }
.ksapz-icon-button:hover { background: var(--ksapz-soft); }

/* Utility and header */
.ksapz-service-bar { background: var(--ksapz-ink); color: #dce5e0; font-size: 0.72rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; }
.ksapz-service-bar .ksapz-wrap { display: flex; align-items: center; justify-content: space-between; min-height: 36px; }
.ksapz-service-bar p { margin: 0; }
.ksapz-service-bar p span { margin: 0 10px; color: var(--ksapz-primary); }
.ksapz-service-bar .ksapz-wrap > div { display: flex; align-items: center; gap: 22px; }
.ksapz-service-bar a, .ksapz-service-button { color: inherit; background: none; border: 0; padding: 0; font: inherit; text-transform: inherit; cursor: pointer; text-decoration: none; }
.ksapz-service-bar a:hover, .ksapz-service-button:hover { color: var(--ksapz-primary); }
.ksapz-site-header { position: sticky; top: 0; z-index: 800; background: rgba(246, 247, 242, 0.97); border-bottom: 1px solid var(--ksapz-line); }
.ksapz-header-inner { display: grid; grid-template-columns: minmax(230px, 0.85fr) minmax(400px, 1.5fr) auto; align-items: center; min-height: 82px; gap: 28px; }
.ksapz-brand { display: inline-flex; align-items: center; gap: 13px; color: var(--ksapz-ink); text-decoration: none; }
.ksapz-brand:hover { text-decoration: none; }
.ksapz-brand > span:last-child { display: grid; gap: 2px; }
.ksapz-brand strong { font-size: 1.05rem; line-height: 1; letter-spacing: 0.01em; }
.ksapz-brand small { max-width: 220px; color: var(--ksapz-muted); font-size: 0.62rem; font-weight: 700; line-height: 1.2; letter-spacing: 0.05em; text-transform: uppercase; }
.ksapz-mark { display: grid; place-items: center; width: 48px; height: 48px; background: var(--ksapz-ink); color: var(--ksapz-primary); }
.ksapz-mark svg { width: 38px; height: 38px; fill: none; stroke: currentColor; stroke-width: 3; stroke-linecap: square; stroke-linejoin: miter; }
.ksapz-mark svg path:nth-child(2) { fill: var(--ksapz-primary); stroke: none; }
.ksapz-mark svg path:nth-child(3) { stroke: var(--ksapz-white); stroke-width: 2.5; }
.ksapz-brand-image { width: auto; max-width: 180px; max-height: 54px; }
.ksapz-desktop-nav { justify-self: center; }
.ksapz-primary-menu { display: flex; align-items: center; justify-content: center; gap: clamp(14px, 2vw, 31px); list-style: none; margin: 0; padding: 0; }
.ksapz-primary-menu li { position: relative; }
.ksapz-primary-menu a { display: block; padding-block: 27px; color: var(--ksapz-ink); font-size: 0.76rem; font-weight: 800; letter-spacing: 0.025em; text-decoration: none; }
.ksapz-primary-menu > li > a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: 19px; height: 2px; background: var(--ksapz-primary); transition: right 180ms ease; }
.ksapz-primary-menu > li:hover > a::after, .ksapz-primary-menu > li.current-menu-item > a::after, .ksapz-primary-menu > li.current_page_item > a::after { right: 0; }
.ksapz-primary-menu .sub-menu { display: none; position: absolute; left: -18px; top: 65px; z-index: 20; width: 250px; margin: 0; padding: 12px 18px; list-style: none; background: var(--ksapz-paper); border: 1px solid var(--ksapz-line); }
.ksapz-primary-menu li:hover > .sub-menu, .ksapz-primary-menu li:focus-within > .sub-menu { display: block; }
.ksapz-primary-menu .sub-menu a { padding: 10px 0; }
.ksapz-header-actions { display: flex; justify-content: flex-end; align-items: center; gap: 9px; }
.ksapz-menu-button { display: none; }
.ksapz-mobile-navigation { border-top: 1px solid var(--ksapz-line); background: var(--ksapz-paper); }
.ksapz-mobile-navigation .ksapz-wrap { padding-block: 18px 28px; }
.ksapz-mobile-navigation .ksapz-primary-menu { display: grid; justify-content: stretch; gap: 0; margin-bottom: 20px; }
.ksapz-mobile-navigation .ksapz-primary-menu a { padding: 14px 0; border-bottom: 1px solid var(--ksapz-line); font-size: 0.9rem; }

/* Home hero */
.ksapz-home-hero { position: relative; min-height: 740px; padding: clamp(70px, 8vw, 126px) 0 88px; background: var(--ksapz-ink); color: var(--ksapz-white); overflow: hidden; }
.ksapz-home-hero::before { content: ""; position: absolute; inset: auto -8% -26% 42%; height: 80%; border: 1px solid rgba(69, 190, 167, 0.28); transform: skewX(-27deg); }
.ksapz-home-hero::after { content: ""; position: absolute; right: 2%; top: 9%; width: 42%; height: 74%; background-image: linear-gradient(rgba(255,255,255,.055) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.055) 1px, transparent 1px); background-size: 54px 54px; pointer-events: none; }
/* The grid above is a precise infrastructure drafting motif, not a decorative colour gradient. */
.ksapz-home-hero-grid { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(0, 1.27fr) minmax(370px, 0.73fr); gap: clamp(52px, 8vw, 126px); align-items: center; }
.ksapz-hero-copy h1 { max-width: 950px; margin: 0 0 33px; font-size: clamp(3.8rem, 7.4vw, 7.8rem); }
.ksapz-hero-copy .ksapz-eyebrow { color: var(--ksapz-primary); }
.ksapz-hero-copy .ksapz-lead { max-width: 780px; color: #cad7d1; }
.ksapz-hero-actions { display: flex; flex-wrap: wrap; gap: 13px; margin-top: 37px; }
.ksapz-hero-basis { display: flex; align-items: center; gap: 12px; margin-top: 38px; color: #a9bcb3; font-size: 0.78rem; }
.ksapz-hero-basis span { width: 30px; height: 1px; background: var(--ksapz-primary); }
.ksapz-system-map { position: relative; padding: 24px 28px 26px; border: 1px solid rgba(255,255,255,.26); background: rgba(20,43,37,.78); }
.ksapz-system-map-head { display: flex; justify-content: space-between; gap: 20px; padding-bottom: 18px; border-bottom: 1px solid var(--ksapz-line-light); color: #9db2a9; font-size: 0.66rem; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; }
.ksapz-system-map-head strong { color: var(--ksapz-primary); }
.ksapz-system-map ol { position: relative; list-style: none; margin: 0; padding: 8px 0; }
.ksapz-system-map ol::before { content: ""; position: absolute; left: 19px; top: 30px; bottom: 30px; width: 1px; background: rgba(69,190,167,.45); }
.ksapz-system-map li { position: relative; display: grid; grid-template-columns: 40px 1fr; align-items: center; gap: 17px; padding: 17px 0; }
.ksapz-system-map li > span { position: relative; z-index: 1; display: grid; place-items: center; width: 40px; height: 40px; background: var(--ksapz-ink); border: 1px solid var(--ksapz-primary); color: var(--ksapz-primary); font-size: 0.68rem; font-weight: 800; }
.ksapz-system-map li strong { display: block; color: var(--ksapz-white); font-size: 0.92rem; line-height: 1.25; }
.ksapz-system-map li small { display: block; margin-top: 3px; color: #9fb2a9; font-size: 0.7rem; line-height: 1.35; }
.ksapz-system-map-footer { display: flex; align-items: center; gap: 8px; padding-top: 17px; border-top: 1px solid var(--ksapz-line-light); color: #98ada4; font-size: 0.58rem; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; }
.ksapz-system-map-footer i { flex: 1; height: 1px; background: rgba(255,255,255,.25); }

.ksapz-proof-strip { background: var(--ksapz-primary); color: var(--ksapz-ink); }
.ksapz-proof-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.ksapz-proof-grid > div { min-height: 150px; padding: 29px clamp(20px, 3vw, 46px); border-right: 1px solid rgba(20,43,37,.28); display: flex; flex-direction: column; justify-content: center; }
.ksapz-proof-grid > div:first-child { border-left: 1px solid rgba(20,43,37,.28); }
.ksapz-proof-grid strong { font-size: clamp(2rem, 3vw, 3.45rem); line-height: 1; letter-spacing: -0.04em; }
.ksapz-proof-grid span { max-width: 220px; margin-top: 9px; font-size: 0.72rem; font-weight: 800; line-height: 1.35; text-transform: uppercase; letter-spacing: 0.04em; }

/* Editorial sections */
.ksapz-editorial-split { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(360px, .75fr); gap: clamp(50px, 9vw, 145px); align-items: start; }
.ksapz-editorial-split h2 { max-width: 920px; }
.ksapz-editorial-split > div:last-child { padding-top: 40px; border-top: 1px solid var(--ksapz-line); }
.ksapz-editorial-split > div:last-child > p { font-size: 1.08rem; color: #40534c; }
.ksapz-editorial-split .ksapz-text-link { margin-top: 18px; }
.ksapz-section-heading { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 40px; align-items: end; margin-bottom: clamp(42px, 6vw, 82px); }
.ksapz-section-heading h2 { max-width: 980px; margin-bottom: 0; }
.ksapz-section-copy { max-width: 760px; margin: 25px 0 0; color: var(--ksapz-muted); font-size: 1.02rem; }

/* Tabs and masterplans */
.ksapz-node-explorer { background: var(--ksapz-paper); }
.ksapz-tabs { border-top: 1px solid var(--ksapz-line); }
.ksapz-tab-list { display: grid; grid-template-columns: repeat(5, 1fr); }
.ksapz-tab-list button { position: relative; min-height: 98px; padding: 20px; border: 0; border-right: 1px solid var(--ksapz-line); border-bottom: 1px solid var(--ksapz-line); background: transparent; color: var(--ksapz-muted); text-align: left; cursor: pointer; }
.ksapz-tab-list button:first-child { border-left: 1px solid var(--ksapz-line); }
.ksapz-tab-list button::before { content: ""; position: absolute; left: -1px; right: -1px; top: -1px; height: 4px; background: transparent; }
.ksapz-tab-list button[aria-selected="true"] { background: var(--ksapz-ink); color: var(--ksapz-white); }
.ksapz-tab-list button[aria-selected="true"]::before { background: var(--ksapz-primary); }
.ksapz-tab-list button small { display: block; margin-top: 6px; color: inherit; opacity: .7; font-size: .67rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; }
.ksapz-node-panel { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(390px, .7fr); min-height: 620px; background: var(--ksapz-soft); }
.ksapz-node-plan { position: relative; min-height: 540px; overflow: hidden; background: #fff; border: 1px solid var(--ksapz-line); }
.ksapz-node-plan img { width: 100%; height: 100%; object-fit: cover; }
.ksapz-node-plan > span { position: absolute; left: 18px; bottom: 18px; padding: 8px 12px; background: var(--ksapz-ink); color: var(--ksapz-white); font-size: .63rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.ksapz-node-panel-content { padding: clamp(38px, 5vw, 76px); display: flex; flex-direction: column; justify-content: center; }
.ksapz-node-panel-content h3 { margin-bottom: 20px; font-size: clamp(2.1rem, 3.6vw, 4rem); }
.ksapz-node-panel-content > p:not(.ksapz-card-kicker) { color: #52645d; }
.ksapz-node-metrics { display: grid; grid-template-columns: 1fr 1fr; gap: 0; margin: 28px 0 34px; border-top: 1px solid var(--ksapz-line); border-left: 1px solid var(--ksapz-line); }
.ksapz-node-metrics > div { min-height: 116px; padding: 16px; border-right: 1px solid var(--ksapz-line); border-bottom: 1px solid var(--ksapz-line); }
.ksapz-node-metrics dt { display: flex; align-items: center; gap: 7px; color: var(--ksapz-muted); font-size: .65rem; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }
.ksapz-node-metrics dd { margin: 10px 0 0; font-size: .78rem; font-weight: 700; line-height: 1.45; }
.ksapz-node-panel-content .ksapz-button { align-self: flex-start; }

/* Operating flow */
.ksapz-flow-section { background: var(--ksapz-canvas); }
.ksapz-flow-track { display: grid; grid-template-columns: 1fr 55px 1fr 55px 1fr 55px 1fr; align-items: stretch; }
.ksapz-flow-track > div { min-height: 260px; padding: 30px; border: 1px solid var(--ksapz-line); background: var(--ksapz-paper); }
.ksapz-flow-track > div span { display: inline-grid; place-items: center; width: 40px; height: 40px; margin-bottom: 52px; border: 1px solid var(--ksapz-ink); font-size: .68rem; font-weight: 800; }
.ksapz-flow-track > div h3 { margin-bottom: 13px; font-size: 1.4rem; }
.ksapz-flow-track > div p { color: var(--ksapz-muted); font-size: .86rem; }
.ksapz-flow-track > i { position: relative; align-self: center; height: 1px; background: var(--ksapz-ink); }
.ksapz-flow-track > i::after { content: ""; position: absolute; right: -1px; top: -4px; width: 8px; height: 8px; border-right: 1px solid var(--ksapz-ink); border-top: 1px solid var(--ksapz-ink); transform: rotate(45deg); }
.ksapz-measurement-band { display: flex; align-items: center; flex-wrap: wrap; gap: 0; margin-top: 24px; border: 1px solid var(--ksapz-line); }
.ksapz-measurement-band > * { padding: 13px 18px; border-right: 1px solid var(--ksapz-line); font-size: .67rem; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; }
.ksapz-measurement-band strong { background: var(--ksapz-ink); color: var(--ksapz-primary); }

/* Opportunity cards */
.ksapz-opportunity-section { background: var(--ksapz-soft); }
.ksapz-opportunity-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--ksapz-line); border-left: 1px solid var(--ksapz-line); }
.ksapz-opportunity-grid.is-three { grid-template-columns: repeat(3, 1fr); }
.ksapz-opportunity-card { position: relative; min-height: 530px; padding: 30px; border-right: 1px solid var(--ksapz-line); border-bottom: 1px solid var(--ksapz-line); background: var(--ksapz-paper); display: flex; flex-direction: column; }
.ksapz-opportunity-card:hover { background: var(--ksapz-white); }
.ksapz-card-number { align-self: flex-end; color: var(--ksapz-primary); font-family: var(--ksapz-serif); font-size: 2.6rem; line-height: 1; }
.ksapz-opportunity-card .ksapz-card-kicker { margin-top: 40px; }
.ksapz-opportunity-card h3 { margin-bottom: 17px; font-size: 1.65rem; }
.ksapz-opportunity-card h3 a { text-decoration: none; }
.ksapz-opportunity-card > p:not(.ksapz-card-kicker) { color: var(--ksapz-muted); font-size: .89rem; }
.ksapz-opportunity-card dl { margin: auto 0 26px; border-top: 1px solid var(--ksapz-line); }
.ksapz-opportunity-card dl > div { padding: 13px 0; border-bottom: 1px solid var(--ksapz-line); }
.ksapz-opportunity-card dt { color: var(--ksapz-muted); font-size: .62rem; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }
.ksapz-opportunity-card dd { margin: 5px 0 0; font-size: .75rem; line-height: 1.45; }
.ksapz-opportunity-card .ksapz-text-link { align-self: flex-start; }

/* Infrastructure */
.ksapz-infrastructure-section { background: var(--ksapz-ink); color: var(--ksapz-white); }
.ksapz-infrastructure-section .ksapz-section-copy { color: #b6c6be; }
.ksapz-asset-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--ksapz-line-light); border-left: 1px solid var(--ksapz-line-light); }
.ksapz-asset-card { min-height: 330px; padding: 32px; border-right: 1px solid var(--ksapz-line-light); border-bottom: 1px solid var(--ksapz-line-light); display: flex; flex-direction: column; color: var(--ksapz-white); }
.ksapz-asset-card:hover { background: rgba(255,255,255,.035); }
.ksapz-asset-icon { display: grid; place-items: center; width: 52px; height: 52px; margin-bottom: 43px; border: 1px solid var(--ksapz-primary); color: var(--ksapz-primary); }
.ksapz-asset-icon .ksapz-icon { width: 27px; height: 27px; }
.ksapz-asset-card h3 { margin-bottom: 14px; font-size: 1.55rem; }
.ksapz-asset-card h3 a { text-decoration: none; }
.ksapz-asset-card > p:not(.ksapz-card-kicker) { color: #b8c9c1; font-size: .88rem; }
.ksapz-asset-card .ksapz-text-link { margin-top: auto; align-self: flex-start; color: var(--ksapz-primary); }
.ksapz-asset-grid.is-page .ksapz-asset-card { min-height: 390px; }

/* Value chains */
.ksapz-chain-section { background: var(--ksapz-paper); }
.ksapz-chain-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.ksapz-chain-card { min-height: 420px; padding: 28px; background: var(--ksapz-soft); border-top: 4px solid transparent; display: flex; flex-direction: column; transition: border-color 180ms ease, background-color 180ms ease; }
.ksapz-chain-card:hover { background: var(--ksapz-white); border-top-color: var(--ksapz-primary); }
.ksapz-chain-top { display: flex; justify-content: space-between; align-items: center; gap: 15px; margin-bottom: 47px; }
.ksapz-chain-top > span { display: grid; place-items: center; width: 48px; height: 48px; border: 1px solid var(--ksapz-line); color: var(--ksapz-primary); }
.ksapz-chain-top strong { max-width: 180px; color: var(--ksapz-muted); font-size: .68rem; line-height: 1.25; text-align: right; text-transform: uppercase; letter-spacing: .04em; }
.ksapz-chain-card h3 { margin-bottom: 14px; font-size: 1.75rem; }
.ksapz-chain-card h3 a { text-decoration: none; }
.ksapz-chain-card > p { color: var(--ksapz-muted); font-size: .88rem; }
.ksapz-chain-route { margin: auto 0 24px; padding-top: 15px; border-top: 1px solid var(--ksapz-line); }
.ksapz-chain-route span { color: var(--ksapz-muted); font-size: .6rem; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }
.ksapz-chain-route p { margin: 6px 0 0; font-size: .72rem; font-weight: 700; line-height: 1.45; }
.ksapz-chain-card .ksapz-text-link { align-self: flex-start; }
.ksapz-chain-grid.is-page { grid-template-columns: repeat(3, 1fr); }

/* Evidence and programmes */
.ksapz-evidence-section { background: var(--ksapz-accent); color: #221b11; }
.ksapz-evidence-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(380px, .85fr); gap: clamp(50px, 9vw, 140px); align-items: center; }
.ksapz-evidence-grid h2 { max-width: 850px; }
.ksapz-evidence-grid > div:first-child > p:not(.ksapz-eyebrow) { max-width: 780px; font-size: 1.05rem; }
.ksapz-programme-stack { border-top: 1px solid rgba(34,27,17,.36); }
.ksapz-programme-stack > div { display: grid; grid-template-columns: 110px 1fr; gap: 20px; padding: 21px 0; border-bottom: 1px solid rgba(34,27,17,.36); }
.ksapz-programme-stack strong { font-size: 1.15rem; }
.ksapz-programme-stack span { font-size: .84rem; }

/* Documents */
.ksapz-library-section { background: var(--ksapz-canvas); }
.ksapz-document-list { border-top: 1px solid var(--ksapz-line); }
.ksapz-document-row { display: grid; grid-template-columns: 56px minmax(0, 1fr) 230px; gap: 28px; align-items: start; padding: 30px 0; border-bottom: 1px solid var(--ksapz-line); }
.ksapz-document-icon { display: grid; place-items: center; width: 50px; height: 50px; border: 1px solid var(--ksapz-line); color: var(--ksapz-primary); }
.ksapz-document-row h3 { margin-bottom: 9px; font-size: 1.34rem; }
.ksapz-document-row h3 a { text-decoration: none; }
.ksapz-document-row > div:nth-child(2) > p:not(.ksapz-card-kicker) { margin-bottom: 0; color: var(--ksapz-muted); font-size: .84rem; }
.ksapz-document-control { display: grid; justify-items: end; gap: 8px; text-align: right; }
.ksapz-document-control small { color: var(--ksapz-muted); font-size: .68rem; }
.ksapz-document-control a, .ksapz-record-only { font-size: .7rem; font-weight: 800; }
.ksapz-status-pill { display: inline-block; padding: 5px 8px; border: 1px solid var(--ksapz-line); color: var(--ksapz-muted); font-size: .57rem; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }
.ksapz-status-pill.is-available { background: var(--ksapz-primary); border-color: var(--ksapz-primary); color: var(--ksapz-ink); }
.ksapz-status-pill.is-controlled { color: var(--ksapz-accent); border-color: var(--ksapz-accent); }

/* Conversion */
.ksapz-conversion-section { padding-block: clamp(70px, 8vw, 120px); background: var(--ksapz-primary); color: var(--ksapz-ink); }
.ksapz-conversion-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(340px, .65fr); gap: clamp(50px, 9vw, 145px); align-items: center; }
.ksapz-conversion-grid h2 { max-width: 870px; margin-bottom: 0; }
.ksapz-conversion-grid > div:last-child p { font-size: 1.02rem; }
.ksapz-conversion-grid .ksapz-button { margin-top: 20px; }

/* Page hero */
.ksapz-page-hero { padding: clamp(88px, 10vw, 165px) 0 clamp(70px, 8vw, 120px); background: var(--ksapz-ink); color: var(--ksapz-white); }
.ksapz-page-hero-grid { display: grid; grid-template-columns: minmax(0, 1fr) 170px; gap: 60px; align-items: end; }
.ksapz-page-hero h1 { max-width: 1150px; margin-bottom: 30px; }
.ksapz-page-hero .ksapz-eyebrow { color: var(--ksapz-primary); }
.ksapz-page-hero .ksapz-lead { color: #c4d2cb; }
.ksapz-page-index { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 15px; align-self: start; padding-top: 20px; color: var(--ksapz-primary); }
.ksapz-page-index span { font-family: var(--ksapz-serif); font-size: 3.2rem; line-height: 1; }
.ksapz-page-index i { height: 1px; background: var(--ksapz-primary); }

/* Goals and governance */
.ksapz-goal-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-left: 1px solid var(--ksapz-line); border-top: 1px solid var(--ksapz-line); }
.ksapz-goal-grid article { min-height: 270px; padding: 28px; border-right: 1px solid var(--ksapz-line); border-bottom: 1px solid var(--ksapz-line); background: rgba(255,255,255,.42); }
.ksapz-goal-grid article > span { display: grid; place-items: center; width: 38px; height: 38px; margin-bottom: 55px; border: 1px solid var(--ksapz-ink); font-size: .72rem; font-weight: 800; }
.ksapz-goal-grid h3 { margin-bottom: 12px; font-size: 1.45rem; }
.ksapz-goal-grid p { color: var(--ksapz-muted); font-size: .85rem; }
.ksapz-governance-stack { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.ksapz-governance-stack article { min-height: 310px; padding: 32px; background: var(--ksapz-ink); color: var(--ksapz-white); border-top: 5px solid var(--ksapz-primary); }
.ksapz-governance-stack article span { color: var(--ksapz-primary); font-size: .67rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.ksapz-governance-stack h3 { margin: 55px 0 15px; font-size: 1.55rem; }
.ksapz-governance-stack p { color: #b7c6bf; font-size: .88rem; }

/* Basis note */
.ksapz-basis-note { display: grid; grid-template-columns: 180px 1fr; gap: 28px; margin-top: 46px; padding: 23px 26px; border-left: 4px solid var(--ksapz-accent); background: rgba(196,137,58,.11); }
.ksapz-basis-note strong { font-size: .72rem; text-transform: uppercase; letter-spacing: .07em; }
.ksapz-basis-note p { color: inherit; font-size: .82rem; }

/* Platform logic */
.ksapz-platform-metrics { display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid var(--ksapz-line); }
.ksapz-platform-metrics > div { min-height: 190px; padding: 28px; border-right: 1px solid var(--ksapz-line); display: flex; flex-direction: column; justify-content: flex-end; }
.ksapz-platform-metrics > div:last-child { border-right: 0; }
.ksapz-platform-metrics strong { font-size: clamp(2rem, 3.4vw, 4rem); line-height: 1; }
.ksapz-platform-metrics span { margin-top: 13px; color: var(--ksapz-muted); font-size: .72rem; font-weight: 800; line-height: 1.35; text-transform: uppercase; }
.ksapz-logic-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--ksapz-line-light); border-left: 1px solid var(--ksapz-line-light); }
.ksapz-logic-grid article { min-height: 310px; padding: 28px; border-right: 1px solid var(--ksapz-line-light); border-bottom: 1px solid var(--ksapz-line-light); }
.ksapz-logic-grid article > span { color: var(--ksapz-primary); font-family: var(--ksapz-serif); font-size: 2rem; }
.ksapz-logic-grid h3 { margin: 65px 0 13px; font-size: 1.35rem; }
.ksapz-logic-grid p { color: #b9c8c1; font-size: .82rem; }
.ksapz-dashboard-table { border: 1px solid var(--ksapz-line); }
.ksapz-dashboard-table > div { display: grid; grid-template-columns: 170px repeat(4, 1fr); border-bottom: 1px solid var(--ksapz-line); }
.ksapz-dashboard-table > div:last-child { border-bottom: 0; }
.ksapz-dashboard-table > div > * { padding: 18px; border-right: 1px solid var(--ksapz-line); }
.ksapz-dashboard-table > div > *:last-child { border-right: 0; }
.ksapz-dashboard-table strong { background: var(--ksapz-soft); font-size: .8rem; text-transform: uppercase; letter-spacing: .04em; }
.ksapz-dashboard-table span { font-size: .76rem; }

/* Filters and cards */
.ksapz-filter-bar { display: flex; flex-wrap: wrap; align-items: stretch; margin-bottom: 42px; border: 1px solid var(--ksapz-line); }
.ksapz-filter-bar > span, .ksapz-filter-bar button { min-height: 46px; padding: 12px 16px; border: 0; border-right: 1px solid var(--ksapz-line); background: transparent; font-size: .69rem; font-weight: 800; cursor: pointer; text-transform: uppercase; letter-spacing: .04em; }
.ksapz-filter-bar > span { background: var(--ksapz-ink); color: var(--ksapz-white); cursor: default; }
.ksapz-filter-bar button:hover, .ksapz-filter-bar button.is-active { background: var(--ksapz-primary); color: var(--ksapz-ink); }
.ksapz-node-card-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 28px; }
.ksapz-node-card { background: var(--ksapz-paper); border: 1px solid var(--ksapz-line); }
.ksapz-node-card-image { display: block; aspect-ratio: 16/9; overflow: hidden; background: var(--ksapz-soft); }
.ksapz-node-card-image img { width: 100%; height: 100%; object-fit: cover; transition: transform 350ms ease; }
.ksapz-node-card:hover .ksapz-node-card-image img { transform: scale(1.018); }
.ksapz-node-card-body { padding: 29px; }
.ksapz-card-meta { display: flex; justify-content: space-between; gap: 20px; margin-bottom: 30px; color: var(--ksapz-muted); font-size: .63rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.ksapz-node-card h3 { margin-bottom: 14px; font-size: 2rem; }
.ksapz-node-card h3 a { text-decoration: none; }
.ksapz-node-card-body > p { color: var(--ksapz-muted); }
.ksapz-node-card .ksapz-text-link { margin-top: 10px; }
.ksapz-node-card.is-hidden, [data-filter-item].is-hidden { display: none !important; }

/* Conversion steps */
.ksapz-conversion-steps { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--ksapz-line); }
.ksapz-conversion-steps li { display: grid; grid-template-columns: 85px 1fr; gap: 28px; padding: 27px 0; border-bottom: 1px solid var(--ksapz-line); }
.ksapz-conversion-steps li > span { color: var(--ksapz-primary); font-family: var(--ksapz-serif); font-size: 2rem; }
.ksapz-conversion-steps h3 { margin-bottom: 8px; font-size: 1.35rem; }
.ksapz-conversion-steps p { color: var(--ksapz-muted); font-size: .88rem; }
.ksapz-centred-action { margin-top: 40px; text-align: center; }

/* Maturity */
.ksapz-maturity-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.ksapz-maturity-grid article { min-height: 280px; padding: 30px; border: 1px solid var(--ksapz-line); }
.ksapz-maturity-grid article > span { color: var(--ksapz-primary); font-size: .68rem; font-weight: 800; text-transform: uppercase; letter-spacing: .07em; }
.ksapz-maturity-grid h3 { margin: 65px 0 14px; }
.ksapz-maturity-grid p { color: var(--ksapz-muted); font-size: .87rem; }

/* Chain and quality */
.ksapz-chain-summary { display: grid; grid-template-columns: 320px 1fr; gap: 70px; align-items: center; margin-bottom: 60px; padding-bottom: 38px; border-bottom: 1px solid var(--ksapz-line); }
.ksapz-chain-summary strong { display: block; font-size: 3.4rem; line-height: 1; }
.ksapz-chain-summary span { display: block; margin-top: 10px; color: var(--ksapz-muted); font-size: .7rem; font-weight: 800; text-transform: uppercase; }
.ksapz-chain-summary p { color: var(--ksapz-muted); }
.ksapz-quality-chain { display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid var(--ksapz-line); }
.ksapz-quality-chain > div { min-height: 260px; padding: 28px; border-right: 1px solid var(--ksapz-line); }
.ksapz-quality-chain > div:last-child { border-right: 0; }
.ksapz-quality-chain span { color: var(--ksapz-primary); font-family: var(--ksapz-serif); font-size: 2rem; }
.ksapz-quality-chain h3 { margin: 58px 0 12px; font-size: 1.35rem; }
.ksapz-quality-chain p { color: var(--ksapz-muted); font-size: .83rem; }

/* Library */
.ksapz-library-intro { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: end; margin-bottom: 55px; }
.ksapz-library-intro h2 { margin-bottom: 0; }
.ksapz-library-intro > p { color: var(--ksapz-muted); font-size: 1rem; }

/* Partners */
.ksapz-partner-grid { display: grid; grid-template-columns: repeat(2, 1fr); border-left: 1px solid var(--ksapz-line); border-top: 1px solid var(--ksapz-line); }
.ksapz-partner-grid article { min-height: 330px; padding: 34px; border-right: 1px solid var(--ksapz-line); border-bottom: 1px solid var(--ksapz-line); }
.ksapz-partner-grid h2 { max-width: 590px; margin: 75px 0 18px; font-size: clamp(2rem, 3vw, 3.2rem); }
.ksapz-partner-grid article > p:last-child { max-width: 620px; color: var(--ksapz-muted); }
.ksapz-engagement-principles { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.ksapz-engagement-principles > div { padding: 27px; border-top: 4px solid var(--ksapz-ink); background: rgba(255,255,255,.44); }
.ksapz-engagement-principles strong { font-size: 1.2rem; }
.ksapz-engagement-principles p { margin-top: 32px; color: var(--ksapz-muted); font-size: .85rem; }

/* Updates */
.ksapz-update-list { border-top: 1px solid var(--ksapz-line); }
.ksapz-update-list article { display: grid; grid-template-columns: 210px 1fr; gap: 45px; padding: 42px 0; border-bottom: 1px solid var(--ksapz-line); }
.ksapz-update-list time { font-family: var(--ksapz-serif); font-size: 1.25rem; }
.ksapz-update-list h2 { margin-bottom: 15px; font-size: 2.1rem; }
.ksapz-update-list h2 a { text-decoration: none; }
.ksapz-update-list article > div > p:last-child { color: var(--ksapz-muted); }
.ksapz-empty-state { padding: clamp(65px, 10vw, 140px) 20px; border: 1px solid var(--ksapz-line); text-align: center; }
.ksapz-empty-state > span { display: inline-grid; place-items: center; width: 68px; height: 68px; margin-bottom: 25px; border: 1px solid var(--ksapz-line); color: var(--ksapz-primary); }
.ksapz-empty-state h2 { max-width: 760px; margin-inline: auto; font-size: clamp(2rem, 4vw, 4rem); }
.ksapz-empty-state p { max-width: 620px; margin-inline: auto; color: var(--ksapz-muted); }

/* Contact and forms */
.ksapz-contact-grid { display: grid; grid-template-columns: minmax(300px, .68fr) minmax(550px, 1.12fr); gap: clamp(55px, 9vw, 145px); align-items: start; }
.ksapz-contact-grid > aside { position: sticky; top: 130px; }
.ksapz-contact-grid > aside h2 { font-size: clamp(2.2rem, 4vw, 4rem); }
.ksapz-contact-grid > aside > p:not(.ksapz-eyebrow) { color: var(--ksapz-muted); }
.ksapz-contact-points { margin-top: 40px; border-top: 1px solid var(--ksapz-line); }
.ksapz-contact-points > div { display: grid; grid-template-columns: 34px 1fr; gap: 14px; padding: 17px 0; border-bottom: 1px solid var(--ksapz-line); }
.ksapz-contact-points .ksapz-icon { color: var(--ksapz-primary); }
.ksapz-contact-points span { display: grid; gap: 2px; font-size: .82rem; }
.ksapz-contact-points strong { font-size: .62rem; text-transform: uppercase; letter-spacing: .06em; }
.ksapz-contact-warning { margin-top: 35px; padding: 22px; background: var(--ksapz-soft); border-left: 4px solid var(--ksapz-accent); }
.ksapz-contact-warning strong { font-size: .8rem; }
.ksapz-contact-warning p { margin-top: 8px; color: var(--ksapz-muted); font-size: .76rem; }
.ksapz-enquiry-module { background: var(--ksapz-paper); border: 1px solid var(--ksapz-line); }
.ksapz-enquiry-form { padding: clamp(25px, 4vw, 52px); }
.ksapz-enquiry-form fieldset { margin: 0 0 45px; padding: 0; border: 0; }
.ksapz-enquiry-form legend { width: 100%; margin-bottom: 27px; padding-bottom: 13px; border-bottom: 1px solid var(--ksapz-line); font-size: .73rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.ksapz-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px 20px; }
.ksapz-field { display: grid; gap: 8px; }
.ksapz-field.is-wide { grid-column: 1 / -1; }
.ksapz-field label { font-size: .76rem; font-weight: 800; }
.ksapz-field label span { color: var(--ksapz-danger); }
.ksapz-field input, .ksapz-field select, .ksapz-field textarea { width: 100%; border: 1px solid var(--ksapz-line); border-radius: 0; background: var(--ksapz-white); color: var(--ksapz-ink); padding: 13px 14px; }
.ksapz-field input, .ksapz-field select { min-height: 50px; }
.ksapz-field textarea { resize: vertical; }
.ksapz-field input:focus, .ksapz-field select:focus, .ksapz-field textarea:focus { border-color: var(--ksapz-primary); outline: 2px solid var(--ksapz-primary); outline-offset: 0; }
.ksapz-field small { color: var(--ksapz-muted); font-size: .68rem; }
.ksapz-consent { display: grid; grid-template-columns: 22px 1fr; gap: 12px; align-items: start; padding: 18px; background: var(--ksapz-soft); font-size: .78rem; }
.ksapz-consent input { width: 18px; height: 18px; margin-top: 2px; accent-color: var(--ksapz-primary); }
.ksapz-form-submit { display: flex; justify-content: space-between; align-items: center; gap: 28px; margin-top: 30px; }
.ksapz-form-submit p { max-width: 360px; color: var(--ksapz-muted); font-size: .66rem; text-align: right; }
.ksapz-form-submit button[disabled] { opacity: .6; cursor: wait; transform: none; }
.ksapz-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.ksapz-form-status:empty { display: none; }
.ksapz-notice { padding: 20px; border-left: 4px solid var(--ksapz-accent); background: rgba(196,137,58,.12); font-size: .84rem; }
.ksapz-notice.is-success { border-color: var(--ksapz-success); background: rgba(30,111,81,.1); }
.ksapz-notice.is-error { border-color: var(--ksapz-danger); background: rgba(141,43,43,.09); }
.ksapz-enquiry-module > .ksapz-form-status:not(:empty) { padding: 24px 24px 0; }
.ksapz-field.has-error input, .ksapz-field.has-error select, .ksapz-field.has-error textarea, .ksapz-consent.has-error { border-color: var(--ksapz-danger); outline: 2px solid rgba(141,43,43,.2); }

/* Prose */
.ksapz-prose { max-width: 900px; }
.ksapz-prose h2 { margin: 1.7em 0 .55em; font-size: clamp(1.8rem, 3vw, 3rem); }
.ksapz-prose h2:first-child { margin-top: 0; }
.ksapz-prose h3 { margin: 1.5em 0 .5em; }
.ksapz-prose p, .ksapz-prose li { color: #40534c; }
.ksapz-prose a { color: #0c6958; }
.ksapz-prose ul, .ksapz-prose ol { padding-left: 1.4em; }

/* Single records */
.ksapz-record-hero { padding: clamp(85px, 10vw, 155px) 0 clamp(70px, 8vw, 115px); background: var(--ksapz-ink); color: var(--ksapz-white); }
.ksapz-record-hero-grid { display: grid; grid-template-columns: minmax(0, 1fr) 210px; gap: 70px; align-items: end; }
.ksapz-record-hero h1 { max-width: 1120px; margin-bottom: 28px; }
.ksapz-record-hero .ksapz-eyebrow { color: var(--ksapz-primary); }
.ksapz-record-hero .ksapz-lead { color: #c4d2cb; }
.ksapz-record-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; }
.ksapz-record-code { align-self: stretch; display: flex; flex-direction: column; justify-content: flex-end; padding: 22px; border: 1px solid var(--ksapz-line-light); }
.ksapz-record-code span, .ksapz-record-code small { color: #9fb2a9; font-size: .62rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.ksapz-record-code strong { margin: auto 0 15px; color: var(--ksapz-primary); font-family: var(--ksapz-serif); font-size: 3.4rem; }
.ksapz-record-visual { padding-top: 55px; background: var(--ksapz-paper); }
.ksapz-node-plan.is-record { min-height: 0; aspect-ratio: 16/9; }
.ksapz-record-layout { display: grid; grid-template-columns: minmax(0, 1fr) 290px; gap: clamp(60px, 9vw, 140px); align-items: start; }
.ksapz-record-content { min-width: 0; }
.ksapz-record-content > h2 { margin: 1.5em 0 .55em; font-size: clamp(2rem, 3.5vw, 3.7rem); }
.ksapz-record-content > p { color: #40534c; }
.ksapz-record-aside { position: sticky; top: 130px; border-top: 4px solid var(--ksapz-primary); background: var(--ksapz-soft); }
.ksapz-record-aside > div { padding: 18px 20px; border-bottom: 1px solid var(--ksapz-line); }
.ksapz-record-aside span { display: block; color: var(--ksapz-muted); font-size: .6rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.ksapz-record-aside strong { display: block; margin-top: 6px; font-size: .78rem; line-height: 1.35; overflow-wrap: anywhere; }
.ksapz-record-aside > a { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 18px 20px; background: var(--ksapz-ink); color: var(--ksapz-white); font-size: .7rem; font-weight: 800; text-decoration: none; }
.ksapz-specification-list { margin: 30px 0 0; border-top: 1px solid var(--ksapz-line); }
.ksapz-specification-list > div { display: grid; grid-template-columns: 220px 1fr; gap: 24px; padding: 18px 0; border-bottom: 1px solid var(--ksapz-line); }
.ksapz-specification-list dt { color: var(--ksapz-muted); font-size: .67rem; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; }
.ksapz-specification-list dd { margin: 0; font-size: .9rem; }
.ksapz-record-cta { margin-top: 55px; padding: 35px; background: var(--ksapz-soft); border-top: 4px solid var(--ksapz-primary); }
.ksapz-record-cta h2 { margin-bottom: 12px; font-size: 2.1rem; }
.ksapz-record-cta p { color: var(--ksapz-muted); }
.ksapz-update-dateline { padding: 15px 0; border-top: 1px solid var(--ksapz-line); border-bottom: 1px solid var(--ksapz-line); }

/* Generic archives and search */
.ksapz-generic-record-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--ksapz-line); border-left: 1px solid var(--ksapz-line); }
.ksapz-generic-record-grid article { min-height: 330px; padding: 28px; border-right: 1px solid var(--ksapz-line); border-bottom: 1px solid var(--ksapz-line); display: flex; flex-direction: column; }
.ksapz-generic-record-grid h2 { margin: 50px 0 15px; font-size: 1.7rem; }
.ksapz-generic-record-grid h2 a { text-decoration: none; }
.ksapz-generic-record-grid article > p:not(.ksapz-card-kicker) { color: var(--ksapz-muted); font-size: .86rem; }
.ksapz-generic-record-grid .ksapz-text-link { margin-top: auto; align-self: flex-start; }
.ksapz-pagination { margin-top: 45px; }
.ksapz-pagination .nav-links { display: flex; flex-wrap: wrap; gap: 8px; }
.ksapz-pagination a, .ksapz-pagination span { display: grid; place-items: center; min-width: 42px; height: 42px; padding: 0 12px; border: 1px solid var(--ksapz-line); text-decoration: none; }
.ksapz-pagination .current { background: var(--ksapz-ink); color: var(--ksapz-white); }
.ksapz-search-page-form { margin-bottom: 55px; }
.ksapz-search-page-form > label { display: block; margin-bottom: 10px; font-size: .74rem; font-weight: 800; }
.ksapz-search-page-form > div { display: grid; grid-template-columns: 1fr auto; }
.ksapz-search-page-form input { min-height: 54px; padding: 13px 16px; border: 1px solid var(--ksapz-line); border-right: 0; background: var(--ksapz-white); }
.ksapz-search-page-results { border-top: 1px solid var(--ksapz-line); }
.ksapz-search-page-results article { padding: 32px 0; border-bottom: 1px solid var(--ksapz-line); }
.ksapz-search-page-results h2 { margin-bottom: 12px; font-size: 2rem; }
.ksapz-search-page-results h2 a { text-decoration: none; }
.ksapz-search-page-results article > p:not(.ksapz-card-kicker) { max-width: 850px; color: var(--ksapz-muted); }

/* Error */
.ksapz-error-page { min-height: 72vh; padding-block: clamp(100px, 14vw, 210px); background: var(--ksapz-ink); color: var(--ksapz-white); }
.ksapz-error-page .ksapz-eyebrow { color: var(--ksapz-primary); }
.ksapz-error-page h1 { max-width: 1060px; }
.ksapz-error-page > .ksapz-wrap > p:not(.ksapz-eyebrow) { max-width: 650px; color: #c5d2cc; font-size: 1.2rem; }
.ksapz-error-page > .ksapz-wrap > div { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 35px; }

/* Footer */
.ksapz-site-footer { background: #0c211c; color: var(--ksapz-white); }
.ksapz-footer-grid { display: grid; grid-template-columns: 1.6fr .7fr .8fr 1fr; gap: clamp(38px, 6vw, 90px); padding-block: 80px 70px; }
.ksapz-brand.is-footer { color: var(--ksapz-white); }
.ksapz-brand.is-footer small { color: #9eb2a9; }
.ksapz-footer-brand > p { max-width: 430px; margin-top: 28px; color: #9eb2a9; font-size: .82rem; }
.ksapz-footer-grid h2 { margin-bottom: 24px; color: var(--ksapz-primary); font-size: .69rem; letter-spacing: .07em; text-transform: uppercase; }
.ksapz-footer-grid ul { list-style: none; margin: 0; padding: 0; }
.ksapz-footer-grid li { margin-bottom: 10px; }
.ksapz-footer-grid li a { color: #d2ddd7; font-size: .78rem; text-decoration: none; }
.ksapz-footer-grid li a:hover { color: var(--ksapz-primary); }
.ksapz-footer-contact p { display: flex; align-items: flex-start; gap: 10px; color: #d2ddd7; font-size: .78rem; }
.ksapz-footer-contact .ksapz-icon { margin-top: .18em; color: var(--ksapz-primary); }
.ksapz-footer-contact a { text-decoration: none; overflow-wrap: anywhere; }
.ksapz-footer-bottom { display: flex; justify-content: space-between; gap: 30px; padding-block: 22px; border-top: 1px solid rgba(255,255,255,.16); color: #829991; font-size: .65rem; }
.ksapz-footer-bottom p { margin: 0; }
.ksapz-footer-bottom > div { display: flex; gap: 25px; }
.ksapz-footer-bottom a { color: inherit; }

/* Overlay, accessibility and search */
.ksapz-overlay { position: fixed; inset: 0; z-index: 1200; background: rgba(8, 22, 18, .72); }
.ksapz-accessibility-panel { position: fixed; z-index: 1300; right: 0; top: 0; bottom: 0; width: min(420px, 100%); padding: 28px; background: var(--ksapz-paper); border-left: 1px solid var(--ksapz-line); box-shadow: -20px 0 45px rgba(0,0,0,.16); }
.ksapz-panel-heading { display: flex; align-items: center; justify-content: space-between; gap: 25px; padding-bottom: 22px; border-bottom: 1px solid var(--ksapz-line); }
.ksapz-panel-heading h2 { margin: 0; font-size: 1.65rem; }
.ksapz-a11y-options > div { padding: 25px 0; border-bottom: 1px solid var(--ksapz-line); }
.ksapz-a11y-options > div > span { display: block; margin-bottom: 11px; font-size: .68rem; font-weight: 800; text-transform: uppercase; }
.ksapz-a11y-options button { min-height: 40px; margin: 0 6px 6px 0; padding: 8px 12px; border: 1px solid var(--ksapz-line); background: var(--ksapz-white); cursor: pointer; }
.ksapz-a11y-options button[aria-pressed="true"] { background: var(--ksapz-primary); border-color: var(--ksapz-primary); }
.ksapz-a11y-options > label { display: flex; gap: 10px; padding-top: 25px; font-size: .82rem; font-weight: 700; }
.ksapz-search-dialog { width: min(960px, calc(100% - 40px)); max-height: min(84vh, 780px); padding: 0; border: 0; border-radius: 0; background: var(--ksapz-paper); color: var(--ksapz-ink); }
.ksapz-search-dialog::backdrop { background: rgba(8,22,18,.78); }
.ksapz-search-shell { padding: clamp(26px, 5vw, 58px); }
.ksapz-search-heading { display: flex; justify-content: space-between; gap: 30px; align-items: start; }
.ksapz-search-heading h2 { font-size: clamp(2.2rem, 4vw, 4rem); }
.ksapz-live-search { margin-top: 30px; }
.ksapz-live-search > label { display: block; margin-bottom: 10px; color: var(--ksapz-muted); font-size: .74rem; }
.ksapz-live-search > div { display: grid; grid-template-columns: 1fr auto; }
.ksapz-live-search input { min-height: 56px; padding: 14px 16px; border: 1px solid var(--ksapz-line); border-right: 0; background: var(--ksapz-white); }
.ksapz-search-results { margin-top: 28px; max-height: 410px; overflow: auto; }
.ksapz-search-result { display: grid; grid-template-columns: 140px 1fr; gap: 24px; padding: 18px 0; border-top: 1px solid var(--ksapz-line); }
.ksapz-search-result > span { color: var(--ksapz-muted); font-size: .62rem; font-weight: 800; text-transform: uppercase; }
.ksapz-search-result h3 { margin-bottom: 7px; font-size: 1.2rem; }
.ksapz-search-result h3 a { text-decoration: none; }
.ksapz-search-result p { color: var(--ksapz-muted); font-size: .78rem; }

/* Motion */
[data-reveal] { transform: translateY(10px); opacity: .96; transition: transform 480ms ease, opacity 480ms ease; }
[data-reveal].is-visible { transform: translateY(0); opacity: 1; }

/* Print */
@media print {
  .ksapz-service-bar, .ksapz-site-header, .ksapz-site-footer, .ksapz-record-hero-actions, .ksapz-accessibility-panel, .ksapz-search-dialog, .ksapz-overlay { display: none !important; }
  body.ksapz-site { background: #fff; color: #000; font-size: 11pt; }
  .ksapz-record-hero { padding: 30px 0; background: #fff; color: #000; border-bottom: 2px solid #000; }
  .ksapz-record-hero .ksapz-lead, .ksapz-record-hero .ksapz-eyebrow { color: #000; }
  .ksapz-record-code { border-color: #000; }
  .ksapz-section { padding-block: 35px; }
  .ksapz-record-layout { grid-template-columns: 1fr; }
  .ksapz-record-aside { position: static; break-inside: avoid; }
  a[href]::after { content: " (" attr(href) ")"; font-size: 8pt; }
}

/* Responsive */
@media (max-width: 1180px) {
  .ksapz-header-inner { grid-template-columns: minmax(220px, 1fr) auto; }
  .ksapz-desktop-nav { display: none; }
  .ksapz-menu-button { display: inline-grid; }
  .ksapz-home-hero-grid { grid-template-columns: minmax(0, 1.1fr) minmax(330px, .7fr); gap: 60px; }
  .ksapz-opportunity-grid { grid-template-columns: repeat(2, 1fr); }
  .ksapz-logic-grid { grid-template-columns: repeat(2, 1fr); }
  .ksapz-flow-track { grid-template-columns: 1fr 32px 1fr; gap: 0; }
  .ksapz-flow-track > div:nth-of-type(3), .ksapz-flow-track > div:nth-of-type(4) { margin-top: 32px; }
  .ksapz-flow-track > i:nth-of-type(2) { display: none; }
  .ksapz-flow-track > i:nth-of-type(3) { grid-column: 2; grid-row: 2; }
  .ksapz-footer-grid { grid-template-columns: 1.4fr 1fr 1fr; }
  .ksapz-footer-contact { grid-column: 2 / -1; }
}

@media (max-width: 920px) {
  body.admin-bar .ksapz-site-header { top: 46px; }
  .ksapz-service-bar .ksapz-wrap { min-height: 42px; }
  .ksapz-service-bar .ksapz-wrap > div a { display: none; }
  .ksapz-button.is-header { display: none; }
  .ksapz-home-hero { min-height: auto; }
  .ksapz-home-hero-grid { grid-template-columns: 1fr; }
  .ksapz-home-hero::after { width: 90%; right: -35%; }
  .ksapz-system-map { max-width: 620px; }
  .ksapz-proof-grid { grid-template-columns: repeat(2, 1fr); }
  .ksapz-proof-grid > div:nth-child(2) { border-right: 0; }
  .ksapz-editorial-split, .ksapz-evidence-grid, .ksapz-conversion-grid, .ksapz-contact-grid, .ksapz-library-intro { grid-template-columns: 1fr; gap: 45px; }
  .ksapz-editorial-split > div:last-child { padding-top: 0; }
  .ksapz-tab-list { grid-template-columns: repeat(3, 1fr); }
  .ksapz-node-panel { grid-template-columns: 1fr; }
  .ksapz-node-plan { min-height: 0; aspect-ratio: 16/9; }
  .ksapz-asset-grid, .ksapz-chain-grid, .ksapz-chain-grid.is-page, .ksapz-goal-grid, .ksapz-governance-stack, .ksapz-maturity-grid, .ksapz-generic-record-grid { grid-template-columns: repeat(2, 1fr); }
  .ksapz-platform-metrics { grid-template-columns: repeat(2, 1fr); }
  .ksapz-platform-metrics > div:nth-child(2) { border-right: 0; }
  .ksapz-platform-metrics > div:nth-child(-n+2) { border-bottom: 1px solid var(--ksapz-line); }
  .ksapz-quality-chain, .ksapz-engagement-principles { grid-template-columns: repeat(2, 1fr); }
  .ksapz-quality-chain > div:nth-child(2) { border-right: 0; }
  .ksapz-quality-chain > div:nth-child(-n+2) { border-bottom: 1px solid var(--ksapz-line); }
  .ksapz-partner-grid { grid-template-columns: 1fr; }
  .ksapz-contact-grid > aside, .ksapz-record-aside { position: static; }
  .ksapz-record-layout { grid-template-columns: 1fr; }
  .ksapz-record-aside { max-width: 500px; }
  .ksapz-record-hero-grid { grid-template-columns: 1fr; }
  .ksapz-record-code { min-height: 180px; max-width: 300px; }
  .ksapz-page-hero-grid { grid-template-columns: 1fr; }
  .ksapz-page-index { max-width: 170px; }
  .ksapz-dashboard-table > div { grid-template-columns: 140px repeat(2, 1fr); }
  .ksapz-dashboard-table > div span:nth-of-type(n+3) { display: none; }
  .ksapz-contact-grid { grid-template-columns: 1fr; }
  .ksapz-contact-grid > aside { max-width: 760px; }
  .ksapz-footer-grid { grid-template-columns: 1fr 1fr; }
  .ksapz-footer-brand { grid-column: 1 / -1; }
  .ksapz-footer-contact { grid-column: auto; }
}

@media (max-width: 680px) {
  :root { --ksapz-pad: 18px; --ksapz-section: 72px; }
  body.ksapz-site { font-size: 16px; }
  body.admin-bar .ksapz-site-header { top: 0; }
  #wpadminbar { display: none; }
  .ksapz-service-bar p span, .ksapz-service-bar p span + * { display: none; }
  .ksapz-header-inner { min-height: 70px; gap: 12px; }
  .ksapz-brand small { display: none; }
  .ksapz-mark { width: 42px; height: 42px; }
  .ksapz-mark svg { width: 33px; height: 33px; }
  .ksapz-header-actions { gap: 5px; }
  .ksapz-icon-button { width: 40px; height: 40px; }
  .ksapz-home-hero { padding-top: 72px; }
  .ksapz-hero-copy h1 { font-size: clamp(3rem, 14vw, 4.5rem); }
  .ksapz-hero-actions { display: grid; }
  .ksapz-hero-actions .ksapz-button { width: 100%; }
  .ksapz-system-map { padding: 19px; }
  .ksapz-proof-grid { grid-template-columns: 1fr; }
  .ksapz-proof-grid > div { min-height: 120px; border-right: 1px solid rgba(20,43,37,.28) !important; border-left: 1px solid rgba(20,43,37,.28); border-bottom: 1px solid rgba(20,43,37,.28); }
  .ksapz-section-heading { grid-template-columns: 1fr; gap: 20px; }
  .ksapz-tab-list { display: flex; overflow-x: auto; }
  .ksapz-tab-list button { flex: 0 0 160px; }
  .ksapz-node-panel-content { padding: 31px 21px; }
  .ksapz-node-metrics { grid-template-columns: 1fr; }
  .ksapz-flow-track { display: grid; grid-template-columns: 1fr; gap: 14px; }
  .ksapz-flow-track > div:nth-of-type(3), .ksapz-flow-track > div:nth-of-type(4) { margin-top: 0; }
  .ksapz-flow-track > i { display: none !important; }
  .ksapz-measurement-band { display: grid; grid-template-columns: 1fr 1fr; }
  .ksapz-measurement-band > * { border-bottom: 1px solid var(--ksapz-line); }
  .ksapz-opportunity-grid, .ksapz-opportunity-grid.is-three, .ksapz-asset-grid, .ksapz-chain-grid, .ksapz-chain-grid.is-page, .ksapz-goal-grid, .ksapz-governance-stack, .ksapz-maturity-grid, .ksapz-node-card-grid, .ksapz-generic-record-grid { grid-template-columns: 1fr; }
  .ksapz-opportunity-card { min-height: 470px; }
  .ksapz-evidence-grid { grid-template-columns: 1fr; }
  .ksapz-programme-stack > div { grid-template-columns: 90px 1fr; }
  .ksapz-document-row { grid-template-columns: 45px 1fr; gap: 16px; }
  .ksapz-document-control { grid-column: 2; justify-items: start; text-align: left; }
  .ksapz-conversion-grid { grid-template-columns: 1fr; }
  .ksapz-page-hero h1 { font-size: clamp(3rem, 14vw, 4.8rem); }
  .ksapz-platform-metrics, .ksapz-logic-grid, .ksapz-quality-chain, .ksapz-engagement-principles, .ksapz-partner-grid { grid-template-columns: 1fr; }
  .ksapz-platform-metrics > div, .ksapz-quality-chain > div { border-right: 0; border-bottom: 1px solid var(--ksapz-line); }
  .ksapz-platform-metrics > div:last-child, .ksapz-quality-chain > div:last-child { border-bottom: 0; }
  .ksapz-dashboard-table > div { grid-template-columns: 110px 1fr; }
  .ksapz-dashboard-table > div span:nth-of-type(n+2) { display: none; }
  .ksapz-filter-bar { display: grid; grid-template-columns: 1fr 1fr; }
  .ksapz-filter-bar > span { grid-column: 1 / -1; }
  .ksapz-filter-bar button { border-bottom: 1px solid var(--ksapz-line); }
  .ksapz-chain-summary { grid-template-columns: 1fr; gap: 28px; }
  .ksapz-form-grid { grid-template-columns: 1fr; }
  .ksapz-form-submit { display: grid; }
  .ksapz-form-submit p { text-align: left; }
  .ksapz-enquiry-form { padding: 23px 18px; }
  .ksapz-specification-list > div { grid-template-columns: 1fr; gap: 6px; }
  .ksapz-record-code { max-width: none; }
  .ksapz-record-hero h1 { font-size: clamp(3rem, 14vw, 4.7rem); }
  .ksapz-basis-note { grid-template-columns: 1fr; gap: 8px; }
  .ksapz-update-list article { grid-template-columns: 1fr; gap: 18px; }
  .ksapz-search-page-form > div, .ksapz-live-search > div { grid-template-columns: 1fr; gap: 8px; }
  .ksapz-search-page-form input, .ksapz-live-search input { border-right: 1px solid var(--ksapz-line); }
  .ksapz-search-result { grid-template-columns: 1fr; gap: 7px; }
  .ksapz-footer-grid { grid-template-columns: 1fr; }
  .ksapz-footer-brand { grid-column: auto; }
  .ksapz-footer-bottom { display: grid; }
  .ksapz-footer-bottom > div { display: grid; gap: 8px; }
}

/* Release train modules: v1.2.0-v2.0.0 */
.ksapz-overlay-open { overflow: hidden; }
.ksapz-section.is-compact { padding-top: 0; }
.ksapz-card-actions { display:flex; flex-wrap:wrap; gap:14px 18px; align-items:center; justify-content:space-between; margin-top:auto; padding-top:24px; border-top:1px solid var(--ksapz-line); }
.ksapz-shortlist-button { appearance:none; padding:0; border:0; background:transparent; color:var(--ksapz-ink); font:inherit; font-size:.78rem; font-weight:800; letter-spacing:.035em; text-transform:uppercase; text-decoration:underline; text-underline-offset:4px; cursor:pointer; }
.ksapz-shortlist-button:hover,.ksapz-shortlist-button:focus-visible,.ksapz-shortlist-button.is-selected { color:#176e5e; }
.ksapz-shortlist-panel { display:grid; grid-template-columns:minmax(240px,.8fr) minmax(320px,1.4fr); gap:30px 54px; padding:34px; border:1px solid var(--ksapz-line); background:#fff; }
.ksapz-shortlist-panel h2 { margin:.2rem 0 .65rem; font-size:clamp(1.65rem,2.4vw,2.35rem); }
.ksapz-shortlist-items { min-height:90px; }
.ksapz-shortlist-items article { display:grid; grid-template-columns:1fr auto; gap:20px; align-items:center; padding:13px 0; border-bottom:1px solid var(--ksapz-line); }
.ksapz-shortlist-items article:first-child { border-top:1px solid var(--ksapz-line); }
.ksapz-shortlist-items article div { display:grid; gap:3px; }
.ksapz-shortlist-items article span { color:var(--ksapz-muted); font-size:.7rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.ksapz-shortlist-items article a { color:var(--ksapz-ink); font-weight:800; text-decoration:none; }
.ksapz-shortlist-items article button { border:0; background:transparent; color:#7c3b2e; font:inherit; font-size:.78rem; font-weight:800; cursor:pointer; }
.ksapz-shortlist-actions { grid-column:1/-1; display:flex; flex-wrap:wrap; gap:12px; justify-content:flex-end; padding-top:20px; border-top:1px solid var(--ksapz-line); }
.ksapz-empty-copy { margin:0; color:var(--ksapz-muted); }

.ksapz-map-module { display:grid; gap:36px; }
.ksapz-map-notice { display:grid; grid-template-columns:180px 1fr; gap:22px; padding:18px 22px; border-left:5px solid var(--ksapz-primary); background:#eef7f3; }
.ksapz-map-notice strong { font-size:.78rem; letter-spacing:.08em; text-transform:uppercase; }
.ksapz-map-notice span { color:#435850; line-height:1.55; }
.ksapz-map-canvas { position:relative; min-height:620px; overflow:hidden; border:1px solid rgba(20,43,37,.25); background:linear-gradient(180deg,#f9faf5,#edf3ed); color:var(--ksapz-ink); }
.ksapz-map-canvas > svg { position:absolute; inset:0; width:100%; height:100%; }
.ksapz-map-route { stroke:var(--ksapz-charcoal); stroke-width:4; stroke-dasharray:10 7; opacity:.5; }
.ksapz-map-node { position:absolute; left:var(--map-x); top:var(--map-y); display:grid; min-width:180px; max-width:220px; gap:3px; padding:15px 17px; border:2px solid var(--ksapz-ink); background:#fff; color:var(--ksapz-ink); box-shadow:7px 7px 0 rgba(69,190,167,.45); text-decoration:none; transform:translate(-50%,-50%); transition:transform .18s ease,box-shadow .18s ease; }
.ksapz-map-node:hover,.ksapz-map-node:focus-visible { transform:translate(-50%,-50%) translateY(-4px); box-shadow:10px 12px 0 rgba(69,190,167,.65); }
.ksapz-map-node span { color:#176e5e; font-size:.68rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.ksapz-map-node strong { font-size:1rem; line-height:1.15; }
.ksapz-map-node small { color:var(--ksapz-muted); line-height:1.3; }
.ksapz-map-register { display:grid; gap:18px; }
.ksapz-map-register h3 { margin:0; font-size:1.55rem; }
.ksapz-table-scroll { max-width:100%; overflow-x:auto; border:1px solid var(--ksapz-line); background:#fff; }
.ksapz-table-scroll table,.ksapz-register-table { width:100%; min-width:760px; border-collapse:collapse; }
.ksapz-table-scroll th,.ksapz-table-scroll td,.ksapz-register-table th,.ksapz-register-table td { padding:15px 17px; border-bottom:1px solid var(--ksapz-line); text-align:left; vertical-align:top; }
.ksapz-table-scroll th,.ksapz-register-table th { background:#edf3ef; font-size:.72rem; letter-spacing:.065em; text-transform:uppercase; }
.ksapz-table-scroll td,.ksapz-register-table td { font-size:.92rem; line-height:1.45; }

.ksapz-status-summary { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); margin-bottom:32px; border-top:1px solid var(--ksapz-line); border-left:1px solid var(--ksapz-line); }
.ksapz-status-summary > div { display:grid; min-height:112px; padding:19px; border-right:1px solid var(--ksapz-line); border-bottom:1px solid var(--ksapz-line); background:#fff; }
.ksapz-status-summary strong { font-size:2.2rem; line-height:1; }
.ksapz-status-summary span { align-self:end; color:var(--ksapz-muted); font-size:.69rem; font-weight:900; letter-spacing:.06em; text-transform:uppercase; }
.ksapz-filter-bar label { align-self:center; font-size:.74rem; font-weight:900; letter-spacing:.06em; text-transform:uppercase; }
.ksapz-filter-bar select { min-height:44px; min-width:220px; padding:8px 36px 8px 12px; border:1px solid var(--ksapz-line); background:#fff; color:var(--ksapz-ink); font:inherit; }
.ksapz-readiness-register { display:grid; gap:0; border-top:1px solid var(--ksapz-line); }
.ksapz-readiness-row { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(350px,.75fr); gap:36px; padding:28px 0; border-bottom:1px solid var(--ksapz-line); }
.ksapz-readiness-row h3 { margin:10px 0 8px; font-size:1.35rem; }
.ksapz-readiness-row h3 a { color:var(--ksapz-ink); text-decoration:none; }
.ksapz-readiness-row p { margin:0; color:var(--ksapz-muted); line-height:1.55; }
.ksapz-readiness-row dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 20px; margin:0; }
.ksapz-readiness-row dl div { padding-top:9px; border-top:1px solid var(--ksapz-line); }
.ksapz-readiness-row dt { color:var(--ksapz-muted); font-size:.68rem; font-weight:900; letter-spacing:.06em; text-transform:uppercase; }
.ksapz-readiness-row dd { margin:4px 0 0; font-size:.88rem; line-height:1.4; }
.ksapz-status-pill,.ksapz-status { display:inline-flex; width:max-content; align-items:center; min-height:26px; padding:4px 9px; border:1px solid currentColor; color:#3f554d; font-size:.68rem; font-weight:900; letter-spacing:.045em; text-transform:uppercase; }
.ksapz-status-pill.is-completed,.ksapz-status-pill.is-active,.ksapz-status-pill.is-approved { color:#176e5e; background:#edf8f4; }
.ksapz-status-pill.is-awarded,.ksapz-status-pill.is-defined,.ksapz-status-pill.is-received { color:#78551f; background:#fff8e8; }
.ksapz-status-pill.is-under-verification,.ksapz-status-pill.is-planned,.ksapz-status-pill.is-pending { color:#6f5249; background:#faf2ef; }
.ksapz-status-pill.is-closed,.ksapz-status-pill.is-revoked,.ksapz-status-pill.is-expired { color:#68413a; background:#f6ece9; }

.ksapz-supply-module { display:grid; gap:38px; }
.ksapz-supply-bars { display:grid; gap:17px; padding:28px; border:1px solid var(--ksapz-line); background:#fff; }
.ksapz-supply-bar { display:grid; grid-template-columns:140px minmax(180px,1fr) 120px; gap:18px; align-items:center; }
.ksapz-supply-bar > span:first-child { font-weight:800; }
.ksapz-supply-track { height:14px; overflow:hidden; border:1px solid rgba(20,43,37,.2); background:#edf1ec; }
.ksapz-supply-track i { display:block; width:var(--supply-width); height:100%; background:var(--ksapz-primary); }
.ksapz-supply-bar strong { text-align:right; font-variant-numeric:tabular-nums; }
.ksapz-tenant-land-record { display:grid; grid-template-columns:minmax(220px,.65fr) minmax(0,1.35fr); gap:32px; padding:28px; border:2px solid var(--ksapz-ink); background:#f8f5ec; }
.ksapz-tenant-land-record h3 { margin:.4rem 0; font-size:1.55rem; }
.ksapz-tenant-land-record p { margin:0; line-height:1.6; }

.ksapz-data-room,.ksapz-stakeholder-module { display:grid; gap:34px; }
.ksapz-data-room-intro,.ksapz-stakeholder-intro { display:grid; grid-template-columns:minmax(230px,.75fr) minmax(0,1.25fr); gap:34px; padding:28px; border:1px solid var(--ksapz-line); background:#fff; }
.ksapz-document-selection { display:grid; gap:12px; }
.ksapz-document-selection label { display:grid; grid-template-columns:24px 1fr; gap:12px; align-items:start; padding:14px; border:1px solid var(--ksapz-line); background:#fff; }
.ksapz-document-selection label:has(input:checked) { border-color:#176e5e; background:#edf8f4; }
.ksapz-grant-shell { display:grid; gap:24px; padding:28px; border:1px solid var(--ksapz-line); background:#fff; }
.ksapz-grant-heading { display:flex; flex-wrap:wrap; gap:18px; justify-content:space-between; align-items:start; }
.ksapz-alert,.ksapz-reference { padding:15px 18px; border-left:5px solid var(--ksapz-primary); background:#eef7f3; }
.ksapz-alert--error { border-left-color:#9e4e3c; background:#faefec; }
.ksapz-alert p,.ksapz-reference { margin:0; }

.ksapz-control-tower { display:grid; gap:42px; }
.ksapz-metric-group { display:grid; gap:18px; }
.ksapz-metric-group > h3 { margin:0; padding-bottom:10px; border-bottom:2px solid var(--ksapz-ink); font-size:1.55rem; }
.ksapz-metric-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; background:var(--ksapz-line); border:1px solid var(--ksapz-line); }
.ksapz-metric-card { display:grid; min-height:190px; padding:23px; background:#fff; }
.ksapz-metric-card > span { color:#176e5e; font-size:.7rem; font-weight:900; letter-spacing:.07em; text-transform:uppercase; }
.ksapz-metric-card strong { margin:.45rem 0; font-size:2rem; line-height:1; }
.ksapz-metric-card p { align-self:end; margin:0; color:var(--ksapz-muted); font-size:.86rem; line-height:1.45; }

.ksapz-portal-entry { display:grid; grid-template-columns:minmax(260px,.8fr) minmax(350px,1.2fr); gap:56px; align-items:start; }
.ksapz-portal-entry > div:first-child { position:sticky; top:150px; }
.ksapz-portal-entry h2 { margin:.25rem 0 1rem; font-size:clamp(2rem,4vw,3.5rem); }
.ksapz-portal-login,.ksapz-portal-entry .ksapz-form { padding:30px; border:1px solid var(--ksapz-line); background:#fff; }
.ksapz-portal-login form { display:grid; gap:16px; }
.ksapz-portal-login form p { display:grid; gap:7px; margin:0; }
.ksapz-portal-login input[type="text"],.ksapz-portal-login input[type="password"] { width:100%; min-height:48px; padding:10px 12px; border:1px solid var(--ksapz-line); font:inherit; }
.ksapz-portal-login input[type="submit"] { min-height:48px; border:2px solid var(--ksapz-ink); background:var(--ksapz-primary); color:var(--ksapz-ink); font:inherit; font-weight:900; cursor:pointer; }
.ksapz-portal-dashboard { display:grid; gap:38px; }
.ksapz-portal-heading { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:end; gap:24px; padding-bottom:28px; border-bottom:2px solid var(--ksapz-ink); }
.ksapz-portal-heading h2 { margin:.25rem 0 .6rem; font-size:clamp(2rem,4.5vw,4rem); }
.ksapz-portal-heading p:last-child { max-width:760px; margin:0; color:var(--ksapz-muted); }
.ksapz-portal-tabs { position:sticky; top:104px; z-index:20; display:flex; flex-wrap:wrap; gap:0; border:1px solid var(--ksapz-line); background:#fff; }
.ksapz-portal-tabs a { padding:13px 18px; border-right:1px solid var(--ksapz-line); color:var(--ksapz-ink); font-size:.77rem; font-weight:900; letter-spacing:.045em; text-decoration:none; text-transform:uppercase; }
.ksapz-portal-tabs a:hover,.ksapz-portal-tabs a:focus-visible { background:#edf7f3; }
.ksapz-portal-section { scroll-margin-top:170px; display:grid; gap:24px; padding:32px; border:1px solid var(--ksapz-line); background:#fff; }
.ksapz-portal-section .ksapz-section-heading { margin:0; }
.ksapz-form--grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.ksapz-field--wide { grid-column:1/-1; }
.ksapz-field { display:grid; gap:7px; }
.ksapz-field label,.ksapz-form label { font-weight:800; }
.ksapz-field input,.ksapz-field select,.ksapz-field textarea,.ksapz-form input,.ksapz-form select,.ksapz-form textarea { width:100%; min-height:46px; padding:10px 12px; border:1px solid var(--ksapz-line); border-radius:0; background:#fff; color:var(--ksapz-ink); font:inherit; }
.ksapz-field textarea,.ksapz-form textarea { min-height:120px; resize:vertical; }
.ksapz-field input:focus,.ksapz-field select:focus,.ksapz-field textarea:focus,.ksapz-form input:focus,.ksapz-form select:focus,.ksapz-form textarea:focus { outline:3px solid rgba(69,190,167,.35); outline-offset:1px; border-color:#176e5e; }
.ksapz-field small { color:var(--ksapz-muted); line-height:1.4; }
.ksapz-check { display:grid!important; grid-template-columns:22px 1fr; gap:11px; align-items:start; padding:14px; border:1px solid var(--ksapz-line); background:#f4f7f3; font-weight:400!important; }
.ksapz-check input { width:auto!important; min-height:0!important; margin-top:3px; }
.ksapz-choice-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.ksapz-choice-card { display:grid; grid-template-columns:23px 1fr; gap:12px; align-items:start; padding:16px; border:1px solid var(--ksapz-line); background:#fff; cursor:pointer; }
.ksapz-choice-card:has(input:checked) { border-color:#176e5e; background:#edf8f4; }
.ksapz-choice-card input { width:auto; margin-top:3px; }
.ksapz-choice-card span { display:grid; gap:4px; }
.ksapz-choice-card small { color:var(--ksapz-muted); }
.ksapz-record-list { display:grid; border-top:1px solid var(--ksapz-line); }
.ksapz-record-row { display:grid; grid-template-columns:minmax(220px,.75fr) auto minmax(300px,1.25fr); gap:22px; align-items:start; padding:18px 0; border-bottom:1px solid var(--ksapz-line); }
.ksapz-record-row > div { display:grid; gap:4px; }
.ksapz-record-row > div span { color:var(--ksapz-muted); font-size:.78rem; }
.ksapz-record-row p { margin:0; color:var(--ksapz-muted); line-height:1.5; }
.ksapz-button--ghost { background:transparent!important; }
.ksapz-footer-basis { font-size:.78rem!important; color:#aabbb4!important; }

@media (max-width: 1040px) {
  .ksapz-status-summary { grid-template-columns:repeat(3,1fr); }
  .ksapz-readiness-row { grid-template-columns:1fr; }
  .ksapz-metric-grid { grid-template-columns:repeat(2,1fr); }
  .ksapz-map-node { min-width:155px; max-width:180px; padding:12px; }
  .ksapz-portal-entry { grid-template-columns:1fr; }
  .ksapz-portal-entry > div:first-child { position:static; }
  .ksapz-shortlist-panel { grid-template-columns:1fr; }
  .ksapz-shortlist-actions { grid-column:auto; }
}

@media (max-width: 760px) {
  .ksapz-map-notice,.ksapz-data-room-intro,.ksapz-stakeholder-intro,.ksapz-tenant-land-record { grid-template-columns:1fr; }
  .ksapz-map-canvas { min-height:720px; overflow:auto; }
  .ksapz-map-node { min-width:138px; max-width:150px; font-size:.82rem; }
  .ksapz-status-summary { grid-template-columns:repeat(2,1fr); }
  .ksapz-readiness-row dl { grid-template-columns:1fr; }
  .ksapz-supply-bar { grid-template-columns:1fr; gap:7px; }
  .ksapz-supply-bar strong { text-align:left; }
  .ksapz-metric-grid { grid-template-columns:1fr; }
  .ksapz-form--grid,.ksapz-choice-grid { grid-template-columns:1fr; }
  .ksapz-field--wide { grid-column:auto; }
  .ksapz-portal-section { padding:22px 17px; }
  .ksapz-portal-tabs { top:70px; overflow-x:auto; flex-wrap:nowrap; }
  .ksapz-portal-tabs a { flex:0 0 auto; }
  .ksapz-record-row { grid-template-columns:1fr; gap:10px; }
  .ksapz-shortlist-panel { padding:24px 18px; }
  .ksapz-shortlist-actions { display:grid; }
}

/* v2.0.1 - agric visual refinement and left navigation */
body.ksapz-site.ksapz-nav-left-sidebar { background: linear-gradient(180deg, #f4f5ef 0%, #eef2ea 100%); }
body.ksapz-site.ksapz-nav-left-sidebar .ksapz-site-frame { padding-left: 84px; }
body.admin-bar.ksapz-nav-left-sidebar .ksapz-left-sidebar { top: 32px; }

.ksapz-left-sidebar {
  position: fixed;
  left: 0;
  top: 0;
  bottom: 0;
  z-index: 930;
  width: 84px;
  background: linear-gradient(180deg, rgba(11,38,32,.98) 0%, rgba(12,53,43,.98) 48%, rgba(10,34,30,.99) 100%);
  border-right: 1px solid rgba(255,255,255,.08);
  color: var(--ksapz-white);
  overflow: hidden;
  transition: width 220ms ease, box-shadow 220ms ease;
  box-shadow: 10px 0 28px rgba(10, 25, 21, 0.16);
}
.ksapz-left-sidebar::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at left bottom, rgba(115,167,94,.14), transparent 38%),
    repeating-linear-gradient(150deg, rgba(127,170,108,.08) 0 2px, transparent 2px 16px);
  pointer-events: none;
  opacity: .9;
}
.ksapz-left-sidebar:hover,
.ksapz-left-sidebar:focus-within { width: 326px; box-shadow: 16px 0 40px rgba(10, 25, 21, 0.24); }
.ksapz-left-sidebar-rail {
  position: absolute;
  inset: 0 auto 0 0;
  width: 84px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  padding: 18px 0 22px;
  z-index: 2;
}
.ksapz-left-sidebar-trigger,
.ksapz-left-sidebar-seed {
  display: inline-grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border: 1px solid rgba(255,255,255,.16);
  background: rgba(255,255,255,.04);
  color: #dfead8;
}
.ksapz-left-sidebar-seed { color: #7fb96d; }
.ksapz-left-sidebar-panel {
  position: relative;
  z-index: 3;
  display: flex;
  flex-direction: column;
  gap: 24px;
  min-height: 100%;
  padding: 26px 24px 26px 108px;
  opacity: 0;
  transform: translateX(-18px);
  transition: opacity 180ms ease, transform 220ms ease;
}
.ksapz-left-sidebar:hover .ksapz-left-sidebar-panel,
.ksapz-left-sidebar:focus-within .ksapz-left-sidebar-panel { opacity: 1; transform: translateX(0); }
.ksapz-side-brand { margin-bottom: 6px; color: var(--ksapz-white); }
.ksapz-side-brand small { color: rgba(227,238,231,.78); max-width: none; }
.ksapz-side-navigation .ksapz-primary-menu { display: grid; gap: 10px; justify-content: stretch; }
.ksapz-side-navigation .ksapz-primary-menu li { list-style: none; }
.ksapz-side-navigation .ksapz-primary-menu a {
  padding: 10px 0;
  color: rgba(240,245,242,.92);
  font-size: 0.9rem;
  font-weight: 700;
  letter-spacing: 0.01em;
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.ksapz-side-navigation .ksapz-primary-menu > li > a::after,
.ksapz-side-navigation .ksapz-primary-menu .sub-menu { display: none !important; }
.ksapz-side-panel-copy {
  margin-top: auto;
  padding: 18px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.04);
}
.ksapz-side-panel-kicker {
  margin: 0 0 10px;
  color: #9fd16c;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.ksapz-side-panel-copy p { color: rgba(239,245,241,.88); font-size: .86rem; }
.ksapz-side-panel-actions { display: grid; gap: 10px; margin-top: 14px; }

.ksapz-nav-left-sidebar .ksapz-header-inner { grid-template-columns: 1fr auto; min-height: 74px; }
.ksapz-nav-left-sidebar .ksapz-site-header .ksapz-brand { display: none; }
.ksapz-nav-left-sidebar .ksapz-header-actions { margin-left: auto; }
.ksapz-nav-left-sidebar .ksapz-site-header { background: rgba(246,247,242,.94); backdrop-filter: blur(12px); }
.ksapz-nav-left-sidebar .ksapz-service-bar { background: #0f2f29; }
.ksapz-nav-left-sidebar .ksapz-service-bar .ksapz-wrap { padding-left: 4px; }

.ksapz-home-hero {
  background:
    linear-gradient(90deg, rgba(8,33,29,.86) 0%, rgba(8,33,29,.72) 30%, rgba(8,33,29,.2) 62%, rgba(8,33,29,.12) 100%),
    linear-gradient(180deg, rgba(8,33,29,.08) 0%, rgba(8,33,29,.24) 100%),
    url('../images/hero-agric.jpg') center/cover no-repeat;
}
.ksapz-home-hero::before { inset: auto -14% -30% 60%; transform: none; border-color: rgba(126,171,97,.24); border-radius: 50%; }
.ksapz-home-hero::after {
  right: 1.5%;
  bottom: 2%;
  top: auto;
  width: 32%;
  height: 42%;
  background-image: repeating-radial-gradient(circle at bottom right, rgba(176,199,128,.16) 0 2px, transparent 2px 22px);
  opacity: .8;
}
.ksapz-hero-copy h1 { max-width: 760px; font-family: var(--ksapz-serif); font-size: clamp(3.4rem, 6.9vw, 7rem); letter-spacing: -0.045em; }
.ksapz-hero-copy .ksapz-lead { max-width: 680px; color: #eef4ef; }
.ksapz-hero-actions .ksapz-button.is-primary { background: #6f9d3d; border-color: #94b25c; color: #f5faf4; }
.ksapz-hero-actions .ksapz-button.is-primary:hover { background: #ffffff; color: var(--ksapz-ink); }
.ksapz-hero-actions .ksapz-button.is-quiet { background: rgba(255,255,255,.06); border-color: rgba(226,235,227,.36); }
.ksapz-system-map { background: rgba(14,41,34,.78); backdrop-filter: blur(8px); }
.ksapz-proof-strip { background: #edf0e5; color: var(--ksapz-ink); border-top: 1px solid rgba(20,43,37,.08); border-bottom: 1px solid rgba(20,43,37,.08); }
.ksapz-proof-grid { grid-template-columns: repeat(4, 1fr); gap: 0; }
.ksapz-proof-grid > div { min-height: 138px; border-right-color: rgba(20,43,37,.12); }
.ksapz-proof-grid strong { color: #456834; font-size: clamp(1.8rem, 2.7vw, 3rem); }
.ksapz-introduction, .ksapz-flow-section, .ksapz-opportunity-section, .ksapz-chain-section, .ksapz-evidence-section, .ksapz-library-section { position: relative; }
.ksapz-introduction::before, .ksapz-evidence-section::before {
  content: "";
  position: absolute;
  inset: 28px auto auto 0;
  width: 180px;
  height: 180px;
  background: radial-gradient(circle, rgba(127,185,109,.12) 0%, rgba(127,185,109,0) 72%);
  pointer-events: none;
}

@media (max-width: 1180px) {
  body.ksapz-site.ksapz-nav-left-sidebar .ksapz-site-frame { padding-left: 0; }
  .ksapz-left-sidebar { display: none; }
  .ksapz-nav-left-sidebar .ksapz-site-header .ksapz-brand { display: inline-flex; }
  .ksapz-nav-left-sidebar .ksapz-header-inner { grid-template-columns: minmax(210px,1fr) auto; }
}

@media (max-width: 980px) {
  .ksapz-proof-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 640px) {
  .ksapz-home-hero { min-height: 620px; }
  .ksapz-proof-grid { grid-template-columns: 1fr; }
}

/* v2.0.2 - mobile, media, news, gallery and strategic programme */
.ksapz-header-actions .ksapz-icon-button { color: var(--ksapz-ink); background: rgba(255,255,255,.72); }
.ksapz-header-actions .ksapz-icon-button .ksapz-icon { width: 1.25rem; height: 1.25rem; }
.ksapz-header-actions .ksapz-icon-button svg { display: block; }

.ksapz-news-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 28px; }
.ksapz-news-card { background: var(--ksapz-paper); border: 1px solid var(--ksapz-line); overflow: hidden; }
.ksapz-news-card > div { padding: 26px; }
.ksapz-news-card h2 { font-size: 1.65rem; }
.ksapz-news-card h2 a { text-decoration: none; }
.ksapz-news-image { display: block; min-height: 240px; background: #e6eadf; overflow: hidden; }
.ksapz-news-image img { width: 100%; height: 240px; object-fit: cover; transition: transform 260ms ease; }
.ksapz-news-card:hover .ksapz-news-image img { transform: scale(1.025); }
.ksapz-news-image-fallback { display: grid; place-items: center; min-height: 240px; color: #55743e; background: repeating-linear-gradient(145deg,#edf0e6 0 18px,#e6ebdf 18px 36px); }
.ksapz-news-image-fallback .ksapz-icon { width: 56px; height: 56px; }

.ksapz-gallery-grid { columns: 3 320px; column-gap: 22px; }
.ksapz-gallery-item { break-inside: avoid; margin: 0 0 22px; background: var(--ksapz-paper); border: 1px solid var(--ksapz-line); }
.ksapz-gallery-item img { width: 100%; max-height: 620px; object-fit: cover; }
.ksapz-gallery-item figcaption { display: grid; gap: 4px; padding: 16px 18px; }
.ksapz-gallery-item figcaption span { color: var(--ksapz-muted); font-size: .82rem; }

.ksapz-strategy-page { background: linear-gradient(180deg,#f4f6ef 0%,#ebf0e5 100%); }
.ksapz-strategy-shell { display: grid; gap: 28px; }
.ksapz-strategy-toolbar { display: flex; justify-content: space-between; gap: 28px; align-items: end; padding: 24px 0; border-top: 1px solid var(--ksapz-line); border-bottom: 1px solid var(--ksapz-line); }
.ksapz-strategy-toolbar h2 { max-width: 850px; margin: 0; font-size: clamp(2rem,4vw,4.2rem); }
.ksapz-future-switch { display: inline-flex; align-items: center; gap: 12px; padding: 13px 16px; border: 1px solid var(--ksapz-ink); background: var(--ksapz-paper); font-weight: 800; cursor: pointer; white-space: nowrap; }
.ksapz-future-switch input { width: 22px; height: 22px; accent-color: #557c3a; }
.ksapz-strategy-goals { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); border: 1px solid var(--ksapz-line); }
.ksapz-strategy-goals button { min-height: 136px; padding: 18px; border: 0; border-right: 1px solid var(--ksapz-line); background: rgba(255,255,255,.56); text-align: left; cursor: pointer; }
.ksapz-strategy-goals button:last-child { border-right: 0; }
.ksapz-strategy-goals button[aria-selected="true"] { background: #153b31; color: #fff; box-shadow: inset 0 5px #88b456; }
.ksapz-strategy-goals button span { display: block; margin-bottom: 18px; color: #77a34f; font-size: .72rem; font-weight: 900; text-transform: uppercase; letter-spacing: .09em; }
.ksapz-strategy-goals button strong { display: block; line-height: 1.22; }
.ksapz-strategy-panel > header { display: grid; grid-template-columns: minmax(0,1fr) minmax(430px,.9fr); gap: 48px; padding: 38px; background: #102f28; color: #fff; }
.ksapz-strategy-panel > header h3 { font-size: clamp(2.1rem,4vw,4.5rem); }
.ksapz-goal-impact { display: grid; grid-template-columns: repeat(3,1fr); border: 1px solid rgba(255,255,255,.18); }
.ksapz-goal-impact span { padding: 18px; border-right: 1px solid rgba(255,255,255,.18); font-size: .78rem; color: #d7e2db; }
.ksapz-goal-impact span:last-child { border-right: 0; }
.ksapz-goal-impact strong { display: block; margin-bottom: 8px; color: #96c365; text-transform: uppercase; letter-spacing: .07em; }
.ksapz-programme-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; margin-top: 18px; }
.ksapz-programme-card { position: relative; min-height: 530px; padding: 28px; overflow: hidden; border: 1px solid var(--ksapz-line); background: #fff; display: flex; flex-direction: column; }
.ksapz-programme-card::before { content:""; position:absolute; inset:0; background: linear-gradient(180deg,rgba(255,255,255,.97) 0%,rgba(255,255,255,.91) 56%,rgba(239,244,234,.96) 100%), var(--ksapz-programme-image,none) center/cover; z-index:0; }
.ksapz-programme-card > * { position: relative; z-index:1; }
.ksapz-programme-card:hover, .ksapz-programme-card:focus-within { transform: translateY(-4px); box-shadow: 0 22px 50px rgba(15,47,39,.14); }
.ksapz-programme-card-head span { color:#608541; font-size:.73rem; font-weight:900; letter-spacing:.1em; }
.ksapz-programme-card-head h4 { margin:12px 0 20px; font-size:1.8rem; }
.ksapz-programme-card > p { color:#50615a; }
.ksapz-impact-reveal { display:grid; gap:10px; margin-top:auto; padding-top:22px; border-top:1px solid var(--ksapz-line); max-height:0; opacity:0; overflow:hidden; transition:max-height 260ms ease,opacity 200ms ease; }
.ksapz-programme-card:hover .ksapz-impact-reveal, .ksapz-programme-card:focus-within .ksapz-impact-reveal, .ksapz-strategy-shell.is-future-view .ksapz-impact-reveal { max-height:360px; opacity:1; }
.ksapz-impact-reveal span { display:block; font-size:.78rem; }
.ksapz-impact-reveal strong { display:block; color:#55783d; margin-bottom:3px; }
.ksapz-programme-card details { margin-top:18px; }
.ksapz-programme-card summary { cursor:pointer; font-weight:800; }
.ksapz-programme-card li { margin:10px 0; }
.ksapz-programme-card li span { display:block; color:var(--ksapz-muted); font-size:.78rem; }
.ksapz-strategy-shell.is-future-view .ksapz-programme-card { background:#eef4e7; }

@media (max-width: 1180px) {
  .ksapz-left-sidebar { display:none !important; }
  body.ksapz-site.ksapz-nav-left-sidebar .ksapz-site-frame { padding-left:0 !important; }
  .ksapz-menu-button { display:inline-grid !important; }
  .ksapz-desktop-nav { display:none !important; }
  .ksapz-mobile-navigation {
    position:fixed; inset:0 0 0 auto; z-index:1200; width:min(88vw,390px); height:100dvh; overflow:auto;
    padding:76px 20px 30px; border:0; background:#103a30; color:#fff; box-shadow:-18px 0 50px rgba(8,28,23,.3);
  }
  .ksapz-mobile-navigation .ksapz-wrap { width:100%; padding:0; }
  .ksapz-mobile-navigation .ksapz-primary-menu { display:grid; gap:0; margin:0 0 22px; }
  .ksapz-mobile-navigation .ksapz-primary-menu a { color:#f2f6f3; padding:14px 4px; border-bottom:1px solid rgba(255,255,255,.12); font-size:.93rem; }
  .ksapz-mobile-navigation .ksapz-primary-menu .sub-menu { display:none !important; }
  body.ksapz-overlay-open::after { content:""; position:fixed; inset:0; z-index:1100; background:rgba(5,20,16,.58); }
  .ksapz-site-header { z-index:1250; }
  .ksapz-news-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ksapz-strategy-goals { grid-template-columns:repeat(3,1fr); }
  .ksapz-strategy-panel > header { grid-template-columns:1fr; }
  .ksapz-programme-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 700px) {
  .ksapz-service-bar .ksapz-wrap { min-height:42px; }
  .ksapz-service-bar p { font-size:.62rem; }
  .ksapz-service-bar p span, .ksapz-service-bar p span + * { display:none; }
  .ksapz-service-bar .ksapz-wrap > div { gap:12px; }
  .ksapz-header-inner { min-height:68px; gap:10px; }
  .ksapz-header-actions .ksapz-button.is-header { display:none; }
  .ksapz-header-actions { gap:6px; }
  .ksapz-news-grid, .ksapz-programme-grid { grid-template-columns:1fr; }
  .ksapz-gallery-grid { columns:1; }
  .ksapz-strategy-toolbar { align-items:flex-start; flex-direction:column; }
  .ksapz-future-switch { width:100%; justify-content:center; }
  .ksapz-strategy-goals { grid-template-columns:repeat(2,1fr); }
  .ksapz-strategy-goals button { min-height:112px; padding:14px; }
  .ksapz-strategy-panel > header { padding:24px; }
  .ksapz-goal-impact { grid-template-columns:1fr; }
  .ksapz-goal-impact span { border-right:0; border-bottom:1px solid rgba(255,255,255,.18); }
  .ksapz-programme-card { min-height:auto; }
}

/* v2.0.3 - plugin-controlled navigation and strategic interaction repair */
.ksapz-header-quick-links { display:flex; align-items:center; gap:clamp(12px,1.6vw,24px); margin-right:8px; }
.ksapz-header-quick-links a { color:var(--ksapz-ink); font-size:.76rem; font-weight:850; letter-spacing:.025em; text-decoration:none; white-space:nowrap; }
.ksapz-header-quick-links a:hover, .ksapz-header-quick-links a:focus-visible { color:#4f7a38; text-decoration:underline; }
.ksapz-programme-card-head h4 a { color:inherit; text-decoration:none; }
.ksapz-programme-card-head h4 a:hover, .ksapz-programme-card-head h4 a:focus-visible { text-decoration:underline; }
.ksapz-programme-card details summary { cursor:pointer; }
.ksapz-programme-card details li a { color:inherit; }
.ksapz-strategy-goals button { touch-action:manipulation; }
.ksapz-strategy-goals button:focus-visible { position:relative; z-index:2; }

@media (max-width: 1180px) {
  .ksapz-header-quick-links { display:none; }
}


/* v2.0.8 navigation assignment and visible left-drawer cue */
.ksapz-left-sidebar-label {
  writing-mode: vertical-rl;
  transform: rotate(180deg);
  color: rgba(241,247,242,.78);
  font-size: .62rem;
  font-weight: 800;
  letter-spacing: .18em;
  text-transform: uppercase;
  margin-top: 10px;
}
.ksapz-nav-left-only .ksapz-desktop-nav { display: none; }
.ksapz-mobile-nav-heading { margin: 18px 0 8px; color: var(--ksapz-muted); font-size: .68rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.ksapz-menu-left a { color: rgba(240,245,242,.92); }
@media (min-width: 1181px) {
  .ksapz-nav-top-only .ksapz-left-sidebar { display: none; }
  .ksapz-nav-top-only .ksapz-site-frame { padding-left: 0 !important; }
}

/* v2.0.8 split navigation layout refinements */
body.ksapz-site.ksapz-nav-split, body.ksapz-site.ksapz-nav-left-only { background: linear-gradient(180deg, #f4f5ef 0%, #eef2ea 100%); }
body.ksapz-site.ksapz-nav-split .ksapz-site-frame, body.ksapz-site.ksapz-nav-left-only .ksapz-site-frame { padding-left: 84px; }
body.admin-bar.ksapz-nav-split .ksapz-left-sidebar, body.admin-bar.ksapz-nav-left-only .ksapz-left-sidebar { top: 32px; }
.ksapz-nav-split .ksapz-header-inner { grid-template-columns: minmax(0, 1fr) auto; min-height: 74px; }
.ksapz-nav-split .ksapz-site-header .ksapz-brand, .ksapz-nav-left-only .ksapz-site-header .ksapz-brand { display: none; }
.ksapz-nav-split .ksapz-desktop-nav { justify-self: start; min-width: 0; }
.ksapz-nav-split .ksapz-primary-menu { gap: clamp(8px, 1.05vw, 18px); }
.ksapz-nav-split .ksapz-primary-menu a { font-size: .68rem; padding-block: 27px; white-space: nowrap; }
.ksapz-nav-split .ksapz-header-actions { margin-left: auto; }
.ksapz-nav-split .ksapz-site-header, .ksapz-nav-left-only .ksapz-site-header { background: rgba(246,247,242,.96); backdrop-filter: blur(12px); }
.ksapz-nav-split .ksapz-service-bar, .ksapz-nav-left-only .ksapz-service-bar { background: #0f2f29; }
@media (max-width: 1180px) {
  body.ksapz-site.ksapz-nav-split .ksapz-site-frame, body.ksapz-site.ksapz-nav-left-only .ksapz-site-frame { padding-left: 0; }
  .ksapz-nav-split .ksapz-site-header .ksapz-brand, .ksapz-nav-left-only .ksapz-site-header .ksapz-brand { display: inline-flex; }
  .ksapz-nav-split .ksapz-header-inner, .ksapz-nav-left-only .ksapz-header-inner { grid-template-columns: minmax(210px,1fr) auto; }
}


/* v2.0.9 - left drawer viewport and scroll correction */
@media (min-width: 1181px) {
  .ksapz-left-sidebar-panel {
    height: 100%;
    min-height: 0;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto;
    align-content: stretch;
    gap: 14px;
    padding-top: 22px;
    padding-bottom: 18px;
    overflow: hidden;
  }
  .ksapz-side-brand { margin-bottom: 0; }
  .ksapz-side-navigation {
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-width: thin;
    scrollbar-color: rgba(159,209,108,.55) rgba(255,255,255,.05);
    padding-right: 8px;
  }
  .ksapz-side-navigation::-webkit-scrollbar { width: 5px; }
  .ksapz-side-navigation::-webkit-scrollbar-track { background: rgba(255,255,255,.05); }
  .ksapz-side-navigation::-webkit-scrollbar-thumb { background: rgba(159,209,108,.55); border-radius: 999px; }
  .ksapz-side-navigation .ksapz-primary-menu { gap: 4px; }
  .ksapz-side-navigation .ksapz-primary-menu a { padding: 8px 0; }
  .ksapz-side-panel-copy {
    margin-top: 0;
    max-height: min(330px, 42vh);
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 15px;
    scrollbar-width: thin;
  }
  .ksapz-side-panel-copy p { margin-bottom: 8px; line-height: 1.45; }
  .ksapz-side-panel-actions { margin-top: 10px; gap: 8px; }
  .ksapz-side-panel-actions .ksapz-button { min-height: 40px; padding: 10px 12px; }
}

@media (min-width: 1181px) and (max-height: 760px) {
  .ksapz-left-sidebar-panel { gap: 10px; padding-top: 16px; padding-bottom: 12px; }
  .ksapz-side-navigation .ksapz-primary-menu a { padding: 6px 0; font-size: .82rem; }
  .ksapz-side-panel-copy { max-height: 34vh; padding: 12px; }
  .ksapz-side-panel-copy p { font-size: .78rem; }
  .ksapz-side-panel-kicker { font-size: .66rem; }
}


/* v2.0.10 - fixed lower proposition; single-scroll drawer */
@media (min-width: 1181px) {
  .ksapz-left-sidebar-panel {
    grid-template-rows: auto minmax(0, 1fr) auto;
  }
  .ksapz-side-navigation {
    overflow-y: auto;
    min-height: 0;
  }
  .ksapz-side-panel-copy {
    max-height: none;
    overflow: visible;
    flex: none;
    padding: 14px;
  }
  .ksapz-side-panel-copy p {
    margin: 0 0 8px;
    font-size: .80rem;
    line-height: 1.42;
  }
  .ksapz-side-panel-kicker {
    margin-bottom: 8px;
    font-size: .68rem;
    line-height: 1.25;
  }
  .ksapz-side-panel-actions {
    margin-top: 10px;
    gap: 8px;
  }
  .ksapz-side-panel-actions .ksapz-button {
    min-height: 38px;
    padding: 9px 12px;
    font-size: .82rem;
  }
  .ksapz-side-panel-copy::-webkit-scrollbar { display: none; }
}

@media (min-width: 1181px) and (max-height: 760px) {
  .ksapz-left-sidebar-panel {
    gap: 8px;
    padding-top: 14px;
    padding-bottom: 10px;
  }
  .ksapz-side-brand small { display: none; }
  .ksapz-side-navigation .ksapz-primary-menu a {
    padding: 5px 0;
    font-size: .80rem;
  }
  .ksapz-side-panel-copy {
    padding: 10px 12px;
  }
  .ksapz-side-panel-copy p {
    font-size: .74rem;
    line-height: 1.35;
  }
  .ksapz-side-panel-kicker {
    font-size: .63rem;
  }
  .ksapz-side-panel-actions .ksapz-button {
    min-height: 34px;
    padding: 7px 10px;
    font-size: .78rem;
  }
}

@media (min-width: 1181px) and (max-height: 650px) {
  .ksapz-side-panel-copy > p:not(.ksapz-side-panel-kicker) {
    display: none;
  }
}


/* v2.0.11 - governance correction and immersive strategic-programme story */
.ksapz-site .ksapz-governance-stack{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.ksapz-site .ksapz-governance-stack article{display:block;min-width:0;min-height:320px;padding:32px;background:var(--ksapz-ink);color:#fff;border:0;border-top:5px solid var(--ksapz-primary);overflow:visible}
.ksapz-site .ksapz-governance-stack article>span{display:block;font-family:inherit;font-size:.72rem;font-weight:900;line-height:1.3;letter-spacing:.08em;text-transform:uppercase;color:var(--ksapz-primary)}
.ksapz-site .ksapz-governance-stack article h3{margin:58px 0 16px;font-size:clamp(1.35rem,2vw,1.85rem);line-height:1.08;color:#fff}
.ksapz-site .ksapz-governance-stack article p{max-width:31ch;margin:0;color:#c9d5cf;font-size:.95rem;line-height:1.6}

.ksapz-strategy-page{background:#eef2e9}
.ksapz-story{position:relative;background:#eef2e9;color:#102f28}
.ksapz-story-progress{position:fixed;top:0;left:0;right:0;height:4px;z-index:1800;background:rgba(255,255,255,.12);pointer-events:none}
.ksapz-story-progress span{display:block;width:var(--ksapz-story-progress);height:100%;background:#45bea7;transition:width 220ms ease}
.ksapz-story-prologue{position:relative;min-height:calc(100svh - 90px);display:flex;align-items:end;overflow:hidden;background:#09261f;color:#fff}
.ksapz-story-prologue-image{position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,27,22,.96) 0%,rgba(6,27,22,.79) 48%,rgba(6,27,22,.28) 100%),url('../images/hero-agric.jpg') center/cover;transform:scale(1.02)}
.ksapz-story-prologue-copy{position:relative;z-index:1;padding-top:clamp(100px,14vh,180px);padding-bottom:clamp(60px,10vh,120px)}
.ksapz-story-overline{margin:0 0 22px;color:#9dd8c9;font-size:.78rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase}
.ksapz-story-prologue h1{max-width:11ch;margin:0;font-size:clamp(3.4rem,8vw,8rem);line-height:.88;letter-spacing:-.055em;color:#fff}
.ksapz-story-deck{max-width:780px;margin:30px 0 0;font-size:clamp(1.08rem,1.8vw,1.45rem);line-height:1.55;color:#dce8e2}
.ksapz-story-actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-top:34px}
.ksapz-story-prologue .ksapz-future-switch{background:rgba(255,255,255,.08);color:#fff;border-color:rgba(255,255,255,.42);backdrop-filter:blur(12px)}
.ksapz-story-premise{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));max-width:980px;margin-top:70px;border-top:1px solid rgba(255,255,255,.24);border-bottom:1px solid rgba(255,255,255,.24)}
.ksapz-story-premise span{padding:20px 24px;border-right:1px solid rgba(255,255,255,.2);color:#cbdad3;font-size:.84rem}
.ksapz-story-premise span:last-child{border-right:0}.ksapz-story-premise strong{display:block;margin-bottom:7px;color:#45bea7;text-transform:uppercase;letter-spacing:.08em;font-size:.68rem}
.ksapz-chapter-rail{position:sticky;top:0;z-index:800;background:rgba(238,242,233,.94);border-bottom:1px solid rgba(16,47,40,.18);backdrop-filter:blur(18px)}
.admin-bar .ksapz-chapter-rail{top:32px}
.ksapz-chapter-rail .ksapz-wrap{display:grid;grid-template-columns:auto repeat(6,minmax(0,1fr));align-items:stretch;padding-top:0;padding-bottom:0}
.ksapz-chapter-rail-label{display:flex;align-items:center;padding-right:22px;color:#607068;font-size:.66rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
.ksapz-chapter-rail button{min-width:0;padding:15px 12px;border:0;border-left:1px solid rgba(16,47,40,.12);background:transparent;text-align:left;cursor:pointer;color:#102f28}
.ksapz-chapter-rail button span{display:block;color:#5f8b43;font-size:.66rem;font-weight:900;letter-spacing:.1em}.ksapz-chapter-rail button strong{display:block;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.73rem}
.ksapz-chapter-rail button[aria-current="step"]{background:#102f28;color:#fff}.ksapz-chapter-rail button[aria-current="step"] span{color:#83c76a}
.ksapz-story-map{padding:clamp(70px,10vw,140px) 0;background:#f7f8f3}.ksapz-story-map h2{max-width:900px;font-size:clamp(2.6rem,5vw,5.2rem);line-height:.98}
.ksapz-story-map-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:60px;border:1px solid rgba(16,47,40,.18)}
.ksapz-story-map-grid div{min-height:270px;padding:28px;border-right:1px solid rgba(16,47,40,.18)}.ksapz-story-map-grid div:last-child{border-right:0}.ksapz-story-map-grid span{font-size:3rem;font-weight:900;color:#45bea7}.ksapz-story-map-grid strong{display:block;margin:40px 0 14px;font-size:1.25rem}.ksapz-story-map-grid p{color:#5c6b64}
.ksapz-chapter{scroll-margin-top:84px;background:#eef2e9}
.ksapz-chapter-hero{position:relative;min-height:78svh;display:flex;align-items:end;overflow:hidden;background:#0b2d25;color:#fff}
.ksapz-chapter-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,30,24,.96) 0%,rgba(7,30,24,.78) 52%,rgba(7,30,24,.22) 100%),var(--ksapz-chapter-image) center/cover;transform:scale(1.015)}
.ksapz-chapter-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:170px minmax(0,1fr);gap:40px;align-items:end;padding-top:120px;padding-bottom:80px}
.ksapz-chapter-number{align-self:start;padding-top:10px;border-top:1px solid rgba(255,255,255,.45)}.ksapz-chapter-number span{display:block;font-size:.68rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:#9cc9bd}.ksapz-chapter-number strong{display:block;margin-top:10px;font-size:5rem;line-height:1;color:#45bea7}
.ksapz-chapter-title p:first-child{margin:0 0 20px;color:#9dd8c9;font-size:.72rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase}.ksapz-chapter-title h2{max-width:12ch;margin:0;color:#fff;font-size:clamp(3.1rem,7vw,7.2rem);line-height:.91;letter-spacing:-.05em}.ksapz-chapter-outcome{max-width:760px;margin:28px 0 0;color:#dce7e1;font-size:clamp(1.05rem,1.8vw,1.35rem);line-height:1.55}
.ksapz-chapter-body{padding-top:clamp(70px,9vw,130px);padding-bottom:clamp(80px,11vw,150px)}
.ksapz-chapter-intro{display:grid;grid-template-columns:minmax(0,.8fr) minmax(520px,1.2fr);gap:60px;align-items:start;margin-bottom:80px}.ksapz-chapter-intro h3{font-size:clamp(2rem,3.4vw,3.8rem);line-height:1.02}.ksapz-chapter-intro .ksapz-goal-impact{background:#102f28;color:#fff}.ksapz-chapter-intro .ksapz-goal-impact span{min-height:190px;padding:24px;color:#d4e0da}.ksapz-chapter-intro .ksapz-goal-impact strong{color:#7ccfba}
.ksapz-programme-stories{display:grid;gap:34px}
.ksapz-programme-story{position:relative;display:grid;grid-template-columns:90px minmax(0,1.1fr) minmax(300px,.8fr);min-height:500px;overflow:hidden;background:#fff;border:1px solid rgba(16,47,40,.18);box-shadow:0 24px 70px rgba(16,47,40,.06)}
.ksapz-programme-story::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.99) 0%,rgba(255,255,255,.97) 57%,rgba(255,255,255,.8) 100%),var(--ksapz-programme-image,none) right center/42% auto no-repeat;pointer-events:none}
.ksapz-programme-story>*{position:relative;z-index:1}.ksapz-programme-story-index{padding:30px 18px;border-right:1px solid rgba(16,47,40,.14);color:#45bea7;font-size:2.6rem;font-weight:900}.ksapz-programme-story-main{padding:46px}.ksapz-programme-story-main h3{max-width:15ch;margin:14px 0 24px;font-size:clamp(2rem,3.5vw,4rem);line-height:.96}.ksapz-programme-story-main h3 a{color:inherit;text-decoration:none}.ksapz-programme-story-main>p{max-width:700px;color:#506059;font-size:1.02rem;line-height:1.65}
.ksapz-programme-world{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:38px;background:rgba(16,47,40,.15);border:1px solid rgba(16,47,40,.15)}.ksapz-programme-world span{padding:17px;background:#f2f5ee;font-size:.77rem;line-height:1.5}.ksapz-programme-world strong{display:block;margin-bottom:6px;color:#547d3d;font-size:.65rem;letter-spacing:.08em;text-transform:uppercase}
.ksapz-project-drawer{padding:42px 32px;background:rgba(16,47,40,.96);color:#fff}.ksapz-project-drawer>a{display:grid;grid-template-columns:34px 1fr;gap:12px;padding:16px 0;border-bottom:1px solid rgba(255,255,255,.15);color:#fff;text-decoration:none}.ksapz-project-drawer>a:last-child{border-bottom:0}.ksapz-project-drawer>a>span{color:#45bea7;font-weight:900}.ksapz-project-drawer strong{display:block;line-height:1.25}.ksapz-project-drawer small{display:block;margin-top:5px;color:#b8cbc3;line-height:1.45}
.ksapz-story.is-future-view .ksapz-programme-story{background:#e9f4e7}.ksapz-story.is-future-view .ksapz-programme-story::after{content:"WHEN COMPLETE";position:absolute;top:22px;right:22px;z-index:2;padding:7px 10px;background:#45bea7;color:#09261f;font-size:.62rem;font-weight:950;letter-spacing:.12em}
.ksapz-chapter-turn{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-top:60px;padding-top:24px;border-top:1px solid rgba(16,47,40,.2)}.ksapz-chapter-turn span{color:#68776f;font-size:.72rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.ksapz-chapter-turn button{border:0;background:transparent;color:#102f28;font-size:1rem;font-weight:900;cursor:pointer}.ksapz-chapter-turn button .ksapz-icon{vertical-align:middle}
.ksapz-story-epilogue{scroll-margin-top:84px;padding:clamp(100px,14vw,190px) 0;background:#09261f;color:#fff}.ksapz-story-epilogue h2{max-width:11ch;margin:0;color:#fff;font-size:clamp(3.3rem,7vw,7.6rem);line-height:.9}.ksapz-epilogue-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:70px;border-top:1px solid rgba(255,255,255,.22);border-bottom:1px solid rgba(255,255,255,.22)}.ksapz-epilogue-grid span{min-height:190px;padding:26px;border-right:1px solid rgba(255,255,255,.18);color:#c6d6cf}.ksapz-epilogue-grid span:last-child{border-right:0}.ksapz-epilogue-grid strong{display:block;margin-bottom:14px;color:#45bea7;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase}
@media(max-width:1180px){.ksapz-site .ksapz-governance-stack{grid-template-columns:1fr}.ksapz-site .ksapz-governance-stack article{min-height:auto}.ksapz-chapter-rail .ksapz-wrap{grid-template-columns:repeat(6,minmax(92px,1fr));overflow-x:auto}.ksapz-chapter-rail-label{display:none}.ksapz-chapter-rail button{min-width:130px}.ksapz-story-map-grid{grid-template-columns:repeat(2,1fr)}.ksapz-story-map-grid div:nth-child(2){border-right:0}.ksapz-story-map-grid div:nth-child(-n+2){border-bottom:1px solid rgba(16,47,40,.18)}.ksapz-chapter-intro{grid-template-columns:1fr}.ksapz-programme-story{grid-template-columns:70px 1fr}.ksapz-project-drawer{grid-column:1/-1}.ksapz-epilogue-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.ksapz-story-prologue h1{font-size:clamp(3rem,16vw,5rem)}.ksapz-story-premise{grid-template-columns:1fr}.ksapz-story-premise span{border-right:0;border-bottom:1px solid rgba(255,255,255,.2)}.ksapz-story-map-grid{grid-template-columns:1fr}.ksapz-story-map-grid div{border-right:0!important;border-bottom:1px solid rgba(16,47,40,.18)}.ksapz-chapter-hero{min-height:88svh}.ksapz-chapter-hero-grid{grid-template-columns:1fr;gap:16px;padding-top:90px;padding-bottom:52px}.ksapz-chapter-number strong{font-size:3.5rem}.ksapz-chapter-title h2{font-size:clamp(3rem,14vw,5rem)}.ksapz-chapter-intro{margin-bottom:50px}.ksapz-programme-story{grid-template-columns:1fr}.ksapz-programme-story-index{padding:18px;border-right:0;border-bottom:1px solid rgba(16,47,40,.14)}.ksapz-programme-story-main{padding:28px 22px}.ksapz-programme-world{grid-template-columns:1fr}.ksapz-project-drawer{padding:28px 22px}.ksapz-chapter-turn{align-items:flex-start;flex-direction:column}.ksapz-epilogue-grid{grid-template-columns:1fr}.ksapz-epilogue-grid span{border-right:0;border-bottom:1px solid rgba(255,255,255,.18)}}
@media(prefers-reduced-motion:reduce){.ksapz-story-progress span{transition:none}.ksapz-story-prologue-image,.ksapz-chapter-hero::before{transform:none}}

/* v2.0.12 - strategic programme interaction, supply and data-room corrections */
.ksapz-modal-open{overflow:hidden}
.ksapz-story-prologue h1{max-width:14ch;text-wrap:balance}
.ksapz-chapter-hero{min-height:auto;padding:clamp(70px,9vh,120px) 0}
.ksapz-chapter-hero-grid{width:100%;grid-template-columns:minmax(110px,150px) minmax(0,1fr);align-items:center;padding-top:30px;padding-bottom:30px}
.ksapz-chapter-title{min-width:0;max-width:1040px}
.ksapz-chapter-title h2{max-width:none;width:min(100%,1000px);font-size:clamp(3.4rem,6.2vw,7rem);line-height:.92;text-wrap:balance;overflow-wrap:normal;word-break:normal}
.ksapz-chapter-outcome{position:relative;z-index:2;max-width:780px;margin-top:24px;padding-top:8px;font-size:clamp(1.05rem,1.45vw,1.3rem);line-height:1.5}
.ksapz-chapter-number{align-self:start;margin-top:10px}
.ksapz-chapter-rail .ksapz-wrap{max-width:none;padding-left:18px;padding-right:18px}
.ksapz-chapter-rail a{display:block;min-width:0;padding:15px 12px;border-left:1px solid rgba(16,47,40,.12);color:#102f28;text-decoration:none}
.ksapz-chapter-rail a span{display:block;color:#5f8b43;font-size:.66rem;font-weight:900;letter-spacing:.1em}
.ksapz-chapter-rail a strong{display:block;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.73rem}
.ksapz-chapter-rail a[aria-current="step"]{background:#102f28;color:#fff}.ksapz-chapter-rail a[aria-current="step"] span{color:#83c76a}
.ksapz-story-premise button,.ksapz-story-map-grid button,.ksapz-goal-impact button,.ksapz-epilogue-grid button{appearance:none;border:0;background:transparent;color:inherit;text-align:left;font:inherit;cursor:pointer}
.ksapz-story-premise button{padding:20px 24px;border-right:1px solid rgba(255,255,255,.2);color:#cbdad3}
.ksapz-story-premise button:last-child{border-right:0}.ksapz-story-premise button:hover,.ksapz-story-premise button:focus-visible{background:rgba(69,190,167,.12)}
.ksapz-story-premise button strong{display:block;margin-bottom:7px;color:#45bea7;text-transform:uppercase;letter-spacing:.08em;font-size:.68rem}.ksapz-story-premise button span{display:block}
.ksapz-story-map-grid button{min-height:270px;padding:28px;border-right:1px solid rgba(16,47,40,.18)}.ksapz-story-map-grid button:last-child{border-right:0}.ksapz-story-map-grid button:hover,.ksapz-story-map-grid button:focus-visible{background:#e8f4ef;transform:translateY(-4px)}
.ksapz-story-map-grid button span{font-size:3rem;font-weight:900;color:#45bea7}.ksapz-story-map-grid button strong{display:block;margin:40px 0 14px;font-size:1.25rem}.ksapz-story-map-grid button p{color:#5c6b64}
.ksapz-goal-impact{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.ksapz-goal-impact button{min-width:0;min-height:200px;padding:24px;border-right:1px solid rgba(255,255,255,.15);color:#d4e0da}.ksapz-goal-impact button:last-child{border-right:0}.ksapz-goal-impact button:hover,.ksapz-goal-impact button:focus-visible{background:rgba(69,190,167,.12)}.ksapz-goal-impact button strong{display:block;margin-bottom:10px;color:#7ccfba}.ksapz-goal-impact button span{display:block;line-height:1.55}
.ksapz-view-as{display:grid;grid-template-columns:minmax(250px,.6fr) minmax(0,1.4fr);gap:34px;margin-bottom:70px;padding:32px;border:1px solid rgba(16,47,40,.18);background:#f8faf5}
.ksapz-view-as h3{margin:.2rem 0 0;font-size:clamp(1.5rem,2.4vw,2.7rem)}
.ksapz-persona-tabs{display:flex;flex-wrap:wrap;gap:8px}.ksapz-persona-tabs button{padding:10px 13px;border:1px solid rgba(16,47,40,.22);background:#fff;color:#102f28;font-weight:800;cursor:pointer}.ksapz-persona-tabs button[aria-selected="true"]{background:#102f28;color:#fff;border-color:#102f28}.ksapz-persona-stage{grid-column:2;padding:22px;background:#102f28;color:#fff}.ksapz-persona-stage>div{display:grid;grid-template-columns:minmax(130px,.35fr) minmax(0,1fr);gap:18px}.ksapz-persona-stage strong{color:#45bea7;text-transform:uppercase;letter-spacing:.08em;font-size:.72rem}.ksapz-persona-stage p{margin:0;color:#fff;font-size:1.05rem;line-height:1.55}.ksapz-persona-stage span{grid-column:2;color:#b8cbc3;font-size:.82rem}
.ksapz-programme-story-main h3 button{appearance:none;padding:0;border:0;background:transparent;color:inherit;text-align:left;font:inherit;font-weight:inherit;cursor:pointer}.ksapz-programme-story-main h3 button:hover,.ksapz-programme-story-main h3 button:focus-visible{color:#177c68}
.ksapz-story-open{margin-top:24px;padding:11px 15px;border:1px solid #102f28;background:transparent;color:#102f28;font-weight:900;cursor:pointer}.ksapz-story-open:hover,.ksapz-story-open:focus-visible{background:#102f28;color:#fff}
.ksapz-project-drawer>button{display:grid;width:100%;grid-template-columns:34px 1fr;gap:12px;padding:16px 0;border:0;border-bottom:1px solid rgba(255,255,255,.15);background:transparent;color:#fff;text-align:left;cursor:pointer}.ksapz-project-drawer>button:last-child{border-bottom:0}.ksapz-project-drawer>button:hover,.ksapz-project-drawer>button:focus-visible{background:rgba(69,190,167,.09)}.ksapz-project-drawer>button>span{color:#45bea7;font-weight:900}.ksapz-project-drawer button strong{display:block}.ksapz-project-drawer button small{display:block;margin-top:5px;color:#b8cbc3}
.ksapz-chapter-turn a{color:#102f28;font-weight:900;text-decoration:none}.ksapz-chapter-turn a:hover,.ksapz-chapter-turn a:focus-visible{color:#177c68}
.ksapz-epilogue-grid button{min-height:190px;padding:26px;border-right:1px solid rgba(255,255,255,.18);color:#c6d6cf}.ksapz-epilogue-grid button:last-child{border-right:0}.ksapz-epilogue-grid button:hover,.ksapz-epilogue-grid button:focus-visible{background:rgba(69,190,167,.1)}.ksapz-epilogue-grid button strong{display:block;margin-bottom:14px;color:#45bea7;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase}.ksapz-epilogue-grid button span{display:block}
.ksapz-story-modal{position:fixed;inset:0;z-index:3000;display:grid;place-items:center;padding:24px;opacity:0;visibility:hidden;transition:opacity .24s ease,visibility .24s ease}.ksapz-story-modal.is-open{opacity:1;visibility:visible}.ksapz-story-modal[hidden]{display:none}.ksapz-story-modal-backdrop{position:absolute;inset:0;background:rgba(4,18,15,.82);backdrop-filter:blur(10px)}
.ksapz-story-modal-card{position:relative;z-index:1;display:grid;grid-template-columns:minmax(260px,.7fr) minmax(0,1.3fr);width:min(1120px,94vw);max-height:88vh;overflow:auto;background:#f6f8f3;box-shadow:0 30px 100px rgba(0,0,0,.35);transform:translateY(25px) scale(.98);transition:transform .28s ease}.ksapz-story-modal.is-open .ksapz-story-modal-card{transform:none}.ksapz-story-modal-card.is-compact{display:block;width:min(680px,92vw)}.ksapz-story-modal-image{min-height:560px;background:#0c3027 center/cover no-repeat}.ksapz-story-modal-content{padding:clamp(30px,5vw,70px)}.ksapz-story-modal-content h2{max-width:14ch;margin:.25rem 0 1.4rem;font-size:clamp(2.2rem,4vw,4.6rem);line-height:.95}.ksapz-story-modal-content>p{font-size:1.05rem;line-height:1.65;color:#506059}.ksapz-story-modal-close{position:absolute;top:14px;right:14px;z-index:3;width:44px;height:44px;border:1px solid rgba(16,47,40,.22);background:#fff;color:#102f28;font-size:1.8rem;cursor:pointer}.ksapz-modal-number{display:flex;gap:14px;align-items:end;margin:20px 0}.ksapz-modal-number strong{font-size:4.5rem;line-height:.8;color:#45bea7}.ksapz-modal-number span{font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.ksapz-modal-impact{display:grid;grid-template-columns:repeat(3,1fr);margin-top:28px;border:1px solid rgba(16,47,40,.18)}.ksapz-modal-impact span{padding:18px;border-right:1px solid rgba(16,47,40,.18);font-size:.8rem;line-height:1.5}.ksapz-modal-impact span:last-child{border-right:0}.ksapz-modal-impact strong{display:block;margin-bottom:8px;color:#177c68;text-transform:uppercase;letter-spacing:.07em;font-size:.65rem}

/* Farmer-cluster register */
.ksapz-supply-bars{gap:0;padding:0;overflow:hidden}.ksapz-supply-bar{grid-template-columns:minmax(220px,.42fr) minmax(280px,1fr) minmax(110px,.22fr);gap:24px;padding:20px 24px;border-bottom:1px solid var(--ksapz-line)}.ksapz-supply-bar:last-child{border-bottom:0}.ksapz-supply-bar>div{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;min-width:0}.ksapz-supply-bar>div strong{min-width:0;text-align:left;font-size:1rem;line-height:1.35}.ksapz-supply-bar>div span{white-space:nowrap;font-weight:900;font-variant-numeric:tabular-nums}.ksapz-supply-bar>small{display:block;text-align:right;overflow-wrap:anywhere}.ksapz-supply-track{width:100%}
.ksapz-tenant-land-record{grid-template-columns:minmax(210px,.5fr) minmax(0,1.5fr);align-items:start}.ksapz-tenant-land-record .ksapz-status-pill{grid-column:1/-1}

/* Controlled data room */
.ksapz-data-room{max-width:1180px;margin-inline:auto}.ksapz-data-room-intro{grid-template-columns:minmax(180px,.45fr) minmax(300px,.8fr) minmax(260px,.75fr);align-items:start}.ksapz-data-room-intro h2{margin:0;font-size:clamp(2rem,3.5vw,3.8rem);line-height:1}.ksapz-data-room-intro p:last-child{margin:0;color:var(--ksapz-muted);line-height:1.6}.ksapz-data-room-form{display:grid;gap:28px}.ksapz-document-selection{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0;border:0}.ksapz-document-selection legend{grid-column:1/-1;margin-bottom:8px;font-size:1rem;font-weight:900}.ksapz-document-selection label{min-height:112px;grid-template-columns:22px minmax(0,1fr);align-content:start;padding:18px}.ksapz-document-selection label span{min-width:0}.ksapz-document-selection label strong{display:block;line-height:1.35;overflow-wrap:anywhere}.ksapz-document-selection label small{display:block;margin-top:8px;color:var(--ksapz-muted);line-height:1.4;overflow-wrap:anywhere}.ksapz-data-room-form .ksapz-consent{display:grid;grid-template-columns:22px minmax(0,1fr);gap:12px;align-items:start;padding:16px;border:1px solid var(--ksapz-line);background:#fff}.ksapz-form-submit{display:flex;justify-content:space-between;gap:24px;align-items:center}.ksapz-form-submit p{max-width:520px;margin:0;color:var(--ksapz-muted);font-size:.8rem}

@media(max-width:900px){.ksapz-view-as{grid-template-columns:1fr}.ksapz-persona-stage{grid-column:1}.ksapz-chapter-title h2{font-size:clamp(3rem,9vw,5.3rem)}.ksapz-goal-impact{grid-template-columns:1fr}.ksapz-goal-impact button{min-height:auto;border-right:0;border-bottom:1px solid rgba(255,255,255,.15)}.ksapz-story-modal-card{grid-template-columns:1fr}.ksapz-story-modal-image{min-height:260px}.ksapz-modal-impact{grid-template-columns:1fr}.ksapz-modal-impact span{border-right:0;border-bottom:1px solid rgba(16,47,40,.18)}.ksapz-data-room-intro{grid-template-columns:1fr}.ksapz-document-selection{grid-template-columns:1fr}.ksapz-form-submit{align-items:flex-start;flex-direction:column}.ksapz-supply-bar{grid-template-columns:1fr;gap:10px}.ksapz-supply-bar>small{text-align:left}}
@media(max-width:700px){.ksapz-story-prologue h1{max-width:10ch}.ksapz-chapter-hero-grid{grid-template-columns:1fr}.ksapz-chapter-title h2{width:100%;font-size:clamp(2.8rem,13vw,4.8rem)}.ksapz-chapter-rail .ksapz-wrap{display:flex;overflow-x:auto}.ksapz-chapter-rail a{min-width:128px}.ksapz-view-as{padding:22px}.ksapz-persona-stage>div{grid-template-columns:1fr}.ksapz-persona-stage span{grid-column:1}.ksapz-story-modal{padding:10px}.ksapz-story-modal-card{width:96vw;max-height:94vh}.ksapz-story-modal-content{padding:28px 22px}.ksapz-story-map-grid button{border-right:0!important;border-bottom:1px solid rgba(16,47,40,.18)}.ksapz-story-premise button{border-right:0;border-bottom:1px solid rgba(255,255,255,.2)}}
@media(prefers-reduced-motion:reduce){.ksapz-story-modal,.ksapz-story-modal-card,.ksapz-story-map-grid button{transition:none!important;transform:none!important}}


/* v2.0.13 - interaction, layout resilience and navigation rebalance */
.ksapz-site *, .ksapz-site *::before, .ksapz-site *::after{box-sizing:border-box}
.ksapz-site h1,.ksapz-site h2,.ksapz-site h3,.ksapz-site h4,.ksapz-site p,.ksapz-site a,.ksapz-site button,.ksapz-site dd,.ksapz-site dt,.ksapz-site span,.ksapz-site strong{min-width:0;overflow-wrap:break-word;word-break:normal}
.ksapz-site .ksapz-button,.ksapz-site button.ksapz-button{color:#102f28;background:#45bea7;border-color:#45bea7;font-weight:900}
.ksapz-site .ksapz-button:hover,.ksapz-site button.ksapz-button:hover{background:#fff;color:#102f28;border-color:#fff}
.ksapz-site .ksapz-button.is-dark,.ksapz-site .ksapz-button.is-header{background:#102f28!important;color:#fff!important;border-color:#102f28!important}
.ksapz-site .ksapz-button.is-dark:hover,.ksapz-site .ksapz-button.is-header:hover{background:#45bea7!important;color:#102f28!important;border-color:#45bea7!important}
.ksapz-site .is-dark .ksapz-text-link,.ksapz-site .ksapz-infrastructure-section .ksapz-text-link,.ksapz-site .ksapz-asset-card a{color:#fff!important}
.ksapz-site .ksapz-infrastructure-section h2,.ksapz-site .ksapz-infrastructure-section h3,.ksapz-site .ksapz-infrastructure-section .ksapz-section-heading h2{color:#fff!important}

/* Compact masterplan explorer - no tall empty canvas. */
.ksapz-node-panel{min-height:0;align-items:stretch;grid-template-columns:minmax(0,1.15fr) minmax(330px,.65fr)}
.ksapz-node-plan{height:clamp(360px,42vw,520px);min-height:0;background:#fff}
.ksapz-node-plan img{object-fit:contain;object-position:top center;background:#fff}
.ksapz-node-panel-content{padding:clamp(28px,3.6vw,52px);justify-content:center}
.ksapz-node-panel-content h3{font-size:clamp(2rem,3vw,3.5rem);line-height:.98}
.ksapz-node-metrics>div{min-height:96px}

/* Flow chart becomes an interactive process map. */
.ksapz-flow-track>button{appearance:none;position:relative;min-height:260px;padding:30px;border:1px solid var(--ksapz-line);background:var(--ksapz-paper);color:var(--ksapz-ink);text-align:left;cursor:pointer;transition:transform .2s ease,background .2s ease,box-shadow .2s ease}
.ksapz-flow-track>button:hover,.ksapz-flow-track>button:focus-visible{background:#fff;transform:translateY(-4px);box-shadow:0 18px 40px rgba(16,47,40,.08);outline:2px solid #45bea7;outline-offset:2px}
.ksapz-flow-track>button span{display:inline-grid;place-items:center;width:50px;height:50px;margin-bottom:52px;border:1px solid var(--ksapz-ink);font-size:.75rem;font-weight:900}
.ksapz-flow-track>button h3{margin-bottom:13px;font-size:1.45rem}.ksapz-flow-track>button p{color:var(--ksapz-muted);font-size:.9rem;line-height:1.55}
.ksapz-measurement-band button{appearance:none;padding:13px 18px;border:0;border-right:1px solid var(--ksapz-line);background:transparent;color:var(--ksapz-ink);font-size:.67rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;cursor:pointer}
.ksapz-measurement-band button:hover,.ksapz-measurement-band button:focus-visible{background:#45bea7;color:#102f28}
.ksapz-info-modal{position:fixed;inset:0;z-index:10020;padding:24px;display:grid;place-items:center;opacity:0;pointer-events:none;transition:opacity .18s ease}.ksapz-info-modal[hidden]{display:none}.ksapz-info-modal.is-open{opacity:1;pointer-events:auto}.ksapz-info-modal-backdrop{position:absolute;inset:0;background:rgba(5,23,19,.78);backdrop-filter:blur(8px)}
.ksapz-info-modal-card{position:relative;z-index:1;width:min(680px,94vw);padding:clamp(30px,5vw,58px);background:#f7f8f3;border:1px solid rgba(255,255,255,.22);box-shadow:0 30px 90px rgba(0,0,0,.25)}.ksapz-info-modal-card h3{font-size:clamp(2rem,4vw,3.8rem);line-height:.96;margin:8px 0 22px}.ksapz-info-modal-card>p:last-child{font-size:1.05rem;line-height:1.7;color:#465950}.ksapz-info-modal-close{position:absolute;right:16px;top:12px;border:0;background:none;font-size:2rem;cursor:pointer}

/* Investment filters: resilient and visibly active. */
.ksapz-filter-bar{display:flex!important;align-items:stretch;flex-wrap:wrap;gap:0;width:100%;overflow:visible!important}
.ksapz-filter-bar>span{flex:0 0 auto}.ksapz-filter-bar>button{flex:0 1 auto;min-width:max-content;white-space:normal!important;line-height:1.2}
.ksapz-opportunity-grid.is-three{grid-template-columns:repeat(3,minmax(0,1fr))}.ksapz-opportunity-card{min-width:0}.ksapz-opportunity-card h3,.ksapz-opportunity-card p,.ksapz-opportunity-card dd{overflow-wrap:break-word;word-break:normal}
.ksapz-shortlist-panel{overflow:hidden}.ksapz-shortlist-items>*{min-width:0;overflow-wrap:break-word}

/* Strategic programme - full-width chapter rhythm and refined perspective control. */
.ksapz-strategy-page,.ksapz-story,.ksapz-chapter,.ksapz-chapter-body{width:100%;max-width:none}
.ksapz-chapter-body.ksapz-wrap{width:min(100% - 48px,1440px);max-width:1440px;margin-inline:auto;padding-left:0;padding-right:0}
.ksapz-programme-stories{margin:0!important;padding:0!important;width:100%}
.ksapz-programme-story{width:100%;margin:0;grid-template-columns:78px minmax(0,1fr) minmax(310px,.72fr)}
.ksapz-programme-story-main h3{max-width:20ch}.ksapz-programme-story-main h3 button{appearance:none;border:0;padding:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}
.ksapz-project-drawer button{appearance:none;width:100%;display:grid;grid-template-columns:34px minmax(0,1fr);gap:12px;padding:16px 0;border:0;border-bottom:1px solid rgba(255,255,255,.15);background:transparent;color:#fff;text-align:left;cursor:pointer}.ksapz-project-drawer button:hover strong{color:#45bea7}
.ksapz-view-as{display:grid!important;grid-template-columns:minmax(220px,.55fr) minmax(0,1.45fr);gap:28px;padding:0!important;margin:0 0 72px;border:0!important;background:transparent!important;box-shadow:none!important;align-items:start}
.ksapz-viewpoint-intro{padding:4px 0 0}.ksapz-viewpoint-intro h3{max-width:12ch;margin:8px 0 12px;font-size:clamp(2rem,3.4vw,3.8rem);line-height:.96}.ksapz-viewpoint-intro>p:last-child{max-width:390px;color:#607068;line-height:1.55}
.ksapz-persona-tabs{display:flex!important;gap:8px;flex-wrap:wrap;border:0!important;background:transparent!important;padding:0!important}.ksapz-persona-tabs button{min-height:42px;padding:10px 14px!important;border:1px solid rgba(16,47,40,.22)!important;background:#f7f8f3!important;color:#102f28!important;border-radius:999px!important;font-size:.78rem!important;cursor:pointer}.ksapz-persona-tabs button[aria-selected=true]{background:#102f28!important;color:#fff!important;border-color:#102f28!important}.ksapz-persona-stage{grid-column:2;margin-top:12px;border:0!important;background:#102f28!important;color:#fff;padding:24px 28px;min-height:120px;box-shadow:0 16px 38px rgba(16,47,40,.08)}.ksapz-persona-stage>div{display:grid;grid-template-columns:140px minmax(0,1fr);gap:12px 24px;align-items:start}.ksapz-persona-stage strong{color:#45bea7;text-transform:uppercase;font-size:.68rem;letter-spacing:.1em}.ksapz-persona-stage p{margin:0;color:#fff;font-size:1.02rem;line-height:1.5}.ksapz-persona-stage span{grid-column:2;color:#c4d4cd;font-size:.78rem}
.ksapz-story-map-grid button,.ksapz-story-premise button,.ksapz-goal-impact button,.ksapz-epilogue-grid button{appearance:none;text-align:left;cursor:pointer}
.ksapz-story-map-grid button{min-height:260px;padding:28px;border:0;border-right:1px solid rgba(16,47,40,.18);background:transparent}.ksapz-story-map-grid button:hover{background:#eef5ee}
.ksapz-story-premise button{padding:20px 24px;border:0;border-right:1px solid rgba(255,255,255,.2);background:transparent;color:#fff}.ksapz-story-premise button:last-child{border-right:0}.ksapz-story-premise button span{padding:0;border:0}
.ksapz-goal-impact button{padding:24px;border:0;border-right:1px solid rgba(255,255,255,.15);background:transparent;color:#fff;text-align:left}.ksapz-goal-impact button:last-child{border-right:0}.ksapz-goal-impact button strong{display:block;color:#7ccfba;margin-bottom:10px}.ksapz-goal-impact button span{padding:0;min-height:0;border:0}
.ksapz-epilogue-grid button{padding:26px;border:0;border-right:1px solid rgba(255,255,255,.18);background:transparent;color:#fff}.ksapz-epilogue-grid button:last-child{border-right:0}.ksapz-epilogue-grid button span{padding:0;border:0;min-height:0}
.ksapz-story-modal-card{overflow:hidden}.ksapz-story-modal-content>*{min-width:0}.ksapz-story-modal-content h2{max-width:18ch;font-size:clamp(2.2rem,4.4vw,4.8rem);line-height:.94}.ksapz-story-modal-lead{font-size:1.08rem!important;line-height:1.65!important}.ksapz-modal-current{margin:24px 0;padding:18px 20px;background:#eef2e9;border-left:3px solid #45bea7}.ksapz-modal-current strong{display:block;margin-bottom:6px;font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;color:#547d3d}.ksapz-modal-current p{margin:0;line-height:1.55}.ksapz-modal-impact i{display:block;font-style:normal;color:#4f6259;line-height:1.5}

/* Data room: prevent one-character columns under every theme/font condition. */
.ksapz-data-room,.ksapz-data-room-form,.ksapz-document-selection{width:100%;min-width:0}
.ksapz-document-selection{display:grid!important;grid-template-columns:repeat(2,minmax(320px,1fr))!important;gap:14px!important}
.ksapz-document-selection label{display:grid!important;grid-template-columns:24px minmax(0,1fr)!important;width:100%!important;min-width:0!important;max-width:none!important;align-items:start!important;gap:12px!important;padding:18px!important}
.ksapz-document-selection label input{width:18px!important;height:18px!important;min-width:18px!important;margin:2px 0 0!important}
.ksapz-document-selection label span{display:block!important;width:auto!important;min-width:0!important;max-width:none!important;white-space:normal!important;writing-mode:horizontal-tb!important;word-break:normal!important;overflow-wrap:break-word!important;line-height:1.35!important}
.ksapz-document-selection label strong,.ksapz-document-selection label small{display:block!important;width:100%!important;white-space:normal!important;writing-mode:horizontal-tb!important;word-break:normal!important;overflow-wrap:break-word!important}
.ksapz-data-room-form .ksapz-consent span{white-space:normal!important;writing-mode:horizontal-tb!important;word-break:normal!important;overflow-wrap:break-word!important}

/* Supply / general overflow containment. */
.ksapz-supply-module,.ksapz-supply-bars,.ksapz-supply-bar,.ksapz-library-intro,.ksapz-partner-grid,.ksapz-register-table{min-width:0}
.ksapz-supply-bar>div{min-width:0}.ksapz-supply-bar strong,.ksapz-supply-bar span,.ksapz-supply-bar small{white-space:normal;word-break:normal;overflow-wrap:break-word}
.ksapz-partner-grid article{min-height:260px}.ksapz-partner-grid h2{margin-top:48px;max-width:16ch;overflow-wrap:break-word}

/* Top navigation now intentionally concise; left rail carries exploration content. */
.ksapz-top-nav{gap:clamp(12px,1.5vw,26px)}.ksapz-top-nav a{white-space:nowrap;font-size:clamp(.66rem,.72vw,.8rem)}

@media(max-width:1180px){.ksapz-node-panel{grid-template-columns:1fr}.ksapz-node-plan{height:auto;aspect-ratio:16/9}.ksapz-opportunity-grid.is-three{grid-template-columns:repeat(2,minmax(0,1fr))}.ksapz-document-selection{grid-template-columns:1fr!important}.ksapz-view-as{grid-template-columns:1fr}.ksapz-persona-stage{grid-column:1}.ksapz-programme-story{grid-template-columns:68px minmax(0,1fr)}.ksapz-project-drawer{grid-column:1/-1}.ksapz-top-nav a{white-space:normal}}
@media(max-width:760px){.ksapz-flow-track{grid-template-columns:1fr!important;gap:10px}.ksapz-flow-track>i{display:none}.ksapz-flow-track>button{min-height:auto}.ksapz-opportunity-grid.is-three{grid-template-columns:1fr}.ksapz-document-selection{grid-template-columns:minmax(0,1fr)!important}.ksapz-persona-stage>div{grid-template-columns:1fr}.ksapz-persona-stage span{grid-column:1}.ksapz-chapter-body.ksapz-wrap{width:min(100% - 28px,1440px)}}


/* v2.0.14 - strategic perspective spacing and modal composition refinement */
.ksapz-view-as{
  display:grid!important;
  grid-template-columns:minmax(220px,.42fr) minmax(0,1.58fr)!important;
  gap:34px!important;
  align-items:start!important;
  margin:0 0 54px!important;
}
.ksapz-viewpoint-intro{align-self:start;padding-top:2px!important}
.ksapz-viewpoint-intro h3{max-width:13ch!important;margin:7px 0 10px!important;font-size:clamp(1.8rem,2.6vw,3rem)!important}
.ksapz-viewpoint-intro>p:last-child{margin:0!important;max-width:340px!important}
.ksapz-viewpoint-control{min-width:0;display:flex;flex-direction:column;gap:12px;align-self:start}
.ksapz-persona-tabs{margin:0!important;align-items:center!important}
.ksapz-persona-stage{grid-column:auto!important;margin:0!important;min-height:0!important;padding:22px 26px!important}
.ksapz-persona-stage>div{grid-template-columns:125px minmax(0,1fr)!important;gap:8px 22px!important}
.ksapz-persona-stage span{grid-column:2!important}

/* Text-only strategic modals must not reserve an empty media column. */
.ksapz-story-modal-card.is-text-only{
  display:block!important;
  width:min(880px,94vw)!important;
  max-height:min(88vh,860px)!important;
}
.ksapz-story-modal-card.is-text-only .ksapz-story-modal-image{display:none!important}
.ksapz-story-modal-card.is-text-only .ksapz-story-modal-content{padding:clamp(34px,5vw,64px)!important}
.ksapz-story-modal-card.is-text-only .ksapz-story-modal-content h2{
  width:100%!important;
  max-width:15ch!important;
  margin-right:60px!important;
  font-size:clamp(2.4rem,5vw,4.9rem)!important;
  line-height:.94!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  hyphens:none!important;
  text-wrap:balance;
}
.ksapz-story-modal-card.is-text-only .ksapz-story-modal-lead{max-width:70ch!important}
.ksapz-story-modal-card.is-text-only .ksapz-modal-current{max-width:72ch}
.ksapz-story-modal-card.is-text-only .ksapz-modal-impact{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  width:100%!important;
}
.ksapz-story-modal-card.is-text-only .ksapz-modal-impact span,
.ksapz-story-modal-card.is-text-only .ksapz-modal-impact i{
  min-width:0!important;
  word-break:normal!important;
  overflow-wrap:break-word!important;
  hyphens:none!important;
}
.ksapz-story-modal-content h2,.ksapz-modal-impact span,.ksapz-modal-impact i{
  word-break:normal!important;
  hyphens:none!important;
}

@media(max-width:900px){
  .ksapz-view-as{grid-template-columns:1fr!important;gap:18px!important;margin-bottom:42px!important}
  .ksapz-viewpoint-intro{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1fr);gap:20px;align-items:end}
  .ksapz-viewpoint-intro h3{max-width:16ch!important}
  .ksapz-viewpoint-intro>p:last-child{max-width:none!important}
  .ksapz-persona-stage>div{grid-template-columns:1fr!important}
  .ksapz-persona-stage span{grid-column:1!important}
  .ksapz-story-modal-card.is-text-only .ksapz-modal-impact{grid-template-columns:1fr!important}
  .ksapz-story-modal-card.is-text-only .ksapz-modal-impact span{border-right:0!important;border-bottom:1px solid rgba(16,47,40,.18)}
  .ksapz-story-modal-card.is-text-only .ksapz-modal-impact span:last-child{border-bottom:0}
}
@media(max-width:620px){
  .ksapz-viewpoint-intro{grid-template-columns:1fr!important}
  .ksapz-persona-tabs{gap:6px!important}
  .ksapz-persona-tabs button{min-height:38px!important;padding:8px 11px!important;font-size:.72rem!important}
  .ksapz-persona-stage{padding:18px 20px!important}
  .ksapz-story-modal-card.is-text-only .ksapz-story-modal-content h2{margin-right:36px!important;font-size:clamp(2.1rem,11vw,3.6rem)!important}
}

/* ==========================================================
   v2.0.15 - Advanced Kogi SAPZ Experience Lab
   Illustrative planning simulation; not live telemetry.
   ========================================================== */
.ksapz-experience-lab{position:relative;padding:clamp(72px,8vw,126px) 0;background:#071f1a;color:#f8fbf7;overflow:hidden}
.ksapz-experience-lab::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(69,190,167,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(69,190,167,.055) 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.9),rgba(0,0,0,.12));pointer-events:none}
.ksapz-experience-lab::after{content:"SIMULATION / PLANNING / EXPERIENCE";position:absolute;right:-78px;top:50%;transform:rotate(90deg) translateY(-50%);transform-origin:center;color:rgba(69,190,167,.18);font-size:.68rem;letter-spacing:.28em;font-weight:900;pointer-events:none}
.ksapz-experience-lab .ksapz-wrap{position:relative;z-index:1}
.ksapz-lab-intro{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:clamp(36px,7vw,110px);align-items:end;margin-bottom:44px}
.ksapz-lab-intro h2{max-width:900px;margin:0;color:#fff;font-size:clamp(2.8rem,5.6vw,6.8rem);line-height:.91;letter-spacing:-.055em}
.ksapz-lab-intro .ksapz-eyebrow{color:var(--ksapz-primary)}
.ksapz-lab-status-note{max-width:500px;padding:22px 0 3px 24px;border-left:1px solid rgba(255,255,255,.22)}
.ksapz-lab-status-note strong{display:inline-block;margin-left:9px;color:#fff;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}
.ksapz-lab-status-note p{margin:12px 0 0;color:#b9cbc4;font-size:.88rem;line-height:1.6}
.ksapz-lab-status-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--ksapz-primary);box-shadow:0 0 0 5px rgba(69,190,167,.1)}
.ksapz-lab-shell{display:grid;grid-template-columns:minmax(310px,.72fr) minmax(0,1.65fr);border:1px solid rgba(255,255,255,.18);background:#0b2a23;box-shadow:0 38px 100px rgba(0,0,0,.22)}
.ksapz-lab-console{min-width:0;padding:22px;border-right:1px solid rgba(255,255,255,.13);background:#0a241f}
.ksapz-lab-console-head,.ksapz-lab-hmi-head{display:flex;justify-content:space-between;gap:20px;align-items:center;padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.14)}
.ksapz-lab-console-head span,.ksapz-lab-hmi-head span{color:var(--ksapz-primary);font-size:.66rem;font-weight:900;letter-spacing:.17em}.ksapz-lab-console-head strong,.ksapz-lab-hmi-head strong{font-size:.68rem;letter-spacing:.12em;color:#e5f2ed}
.ksapz-lab-fieldset{margin:20px 0 0;padding:0;border:0}.ksapz-lab-fieldset+ .ksapz-lab-fieldset{padding-top:20px;border-top:1px solid rgba(255,255,255,.11)}
.ksapz-lab-fieldset legend{margin-bottom:12px;color:#8fa79f;font-size:.64rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.ksapz-lab-fieldset>label{display:grid;grid-template-columns:minmax(0,1fr) minmax(132px,.72fr);gap:12px;align-items:center;margin-bottom:9px;color:#dce9e4;font-size:.75rem}
.ksapz-lab-fieldset select,.ksapz-lab-fieldset input{width:100%;min-width:0;height:38px;padding:0 10px;border:1px solid rgba(255,255,255,.16);border-radius:0;background:#102f28;color:#fff;font:inherit;outline:none}
.ksapz-lab-fieldset select:focus,.ksapz-lab-fieldset input:focus{border-color:var(--ksapz-primary);box-shadow:0 0 0 2px rgba(69,190,167,.12)}
.ksapz-lab-number>span:first-child{min-width:0;overflow-wrap:anywhere}.ksapz-lab-input{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;border:1px solid rgba(255,255,255,.16);background:#102f28}.ksapz-lab-input input{border:0;background:transparent}.ksapz-lab-input small{padding-right:8px;color:#8ea69e;font-size:.62rem;white-space:nowrap}
.ksapz-lab-visual{min-width:0;padding:24px clamp(22px,3.8vw,54px) 32px;background:linear-gradient(180deg,#0d3028 0%,#0a261f 100%)}
.ksapz-lab-hmi-head{padding-bottom:20px}.ksapz-lab-hmi-head>div:first-child{display:grid;gap:5px}.ksapz-frequency{min-width:140px;padding:10px 14px;border:1px solid rgba(69,190,167,.32);text-align:right}.ksapz-frequency small{display:block;color:#83a39a;font-size:.56rem;letter-spacing:.17em}.ksapz-frequency strong{display:block;margin-top:2px;color:#fff;font-size:1.15rem;letter-spacing:0;font-variant-numeric:tabular-nums}
.ksapz-lab-flow{display:grid;grid-template-columns:minmax(110px,1fr) minmax(55px,.6fr) minmax(110px,1fr) minmax(55px,.6fr) minmax(110px,1fr) minmax(55px,.6fr) minmax(110px,1fr);gap:0;align-items:center;margin:30px 0 26px}
.ksapz-lab-node{min-width:0;min-height:142px;padding:18px;border:1px solid rgba(255,255,255,.16);background:#0e342b;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}.ksapz-lab-node span{display:block;margin-bottom:24px;color:var(--ksapz-primary);font-size:.62rem;font-weight:900}.ksapz-lab-node strong{display:block;color:#fff;font-size:.9rem;letter-spacing:.08em}.ksapz-lab-node small{display:block;margin-top:9px;color:#a9c0b8;font-size:.68rem;line-height:1.5}.ksapz-lab-node b{color:#fff;font-variant-numeric:tabular-nums}.ksapz-lab-node.is-active{transform:translateY(-4px);border-color:var(--ksapz-primary);box-shadow:0 14px 32px rgba(0,0,0,.18)}
.ksapz-lab-flow>i{position:relative;height:1px;background:rgba(255,255,255,.2);overflow:visible}.ksapz-lab-flow>i::after{content:"";position:absolute;right:-1px;top:-4px;width:8px;height:8px;border-right:1px solid rgba(255,255,255,.45);border-top:1px solid rgba(255,255,255,.45);transform:rotate(45deg)}.ksapz-lab-flow>i em{display:block;width:0;height:2px;margin-top:-.5px;background:var(--ksapz-primary);box-shadow:0 0 14px rgba(69,190,167,.6);transition:width .8s cubic-bezier(.2,.8,.2,1)}
.ksapz-lab-balance-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid rgba(255,255,255,.13);border-left:1px solid rgba(255,255,255,.13)}.ksapz-lab-balance-grid article{min-width:0;padding:18px;border-right:1px solid rgba(255,255,255,.13);border-bottom:1px solid rgba(255,255,255,.13)}.ksapz-lab-balance-grid span{display:block;color:#7f9d94;font-size:.56rem;font-weight:900;letter-spacing:.12em}.ksapz-lab-balance-grid strong{display:block;margin:8px 0;color:#fff;font-size:1.35rem;font-variant-numeric:tabular-nums}.ksapz-lab-balance-grid small{display:block;color:#a9bdb6;font-size:.67rem;line-height:1.4}
.ksapz-lab-meter{height:4px;margin:11px 0;background:rgba(255,255,255,.08);overflow:hidden}.ksapz-lab-meter i{display:block;width:0;height:100%;background:var(--ksapz-primary);transition:width .55s ease}
.ksapz-lab-output-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:22px;border-top:1px solid rgba(255,255,255,.13);border-left:1px solid rgba(255,255,255,.13)}.ksapz-lab-output-grid article{min-width:0;min-height:112px;padding:16px;border-right:1px solid rgba(255,255,255,.13);border-bottom:1px solid rgba(255,255,255,.13)}.ksapz-lab-output-grid small{display:block;color:#7f9d94;font-size:.6rem;line-height:1.35}.ksapz-lab-output-grid strong{display:block;margin-top:12px;color:#fff;font-size:clamp(.9rem,1.3vw,1.2rem);line-height:1.14;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.ksapz-lab-perspective{display:grid;grid-template-columns:minmax(230px,.75fr) minmax(0,1.25fr);gap:24px;margin-top:22px;padding:22px;border:1px solid rgba(69,190,167,.3);background:rgba(69,190,167,.055)}.ksapz-lab-perspective span{display:block;color:var(--ksapz-primary);font-size:.58rem;font-weight:900;letter-spacing:.14em}.ksapz-lab-perspective strong{display:block;margin-top:7px;color:#fff;font-size:1.15rem;line-height:1.25}.ksapz-lab-perspective p{margin:0;color:#b4c8c1;line-height:1.6;font-size:.84rem}
.ksapz-lab-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.ksapz-experience-lab .ksapz-button.is-quiet{border-color:rgba(255,255,255,.28);color:#fff}.ksapz-experience-lab .ksapz-button.is-dark{background:#f5f7f3;color:#102f28}.ksapz-experience-lab .ksapz-button.is-dark:hover,.ksapz-experience-lab .ksapz-button.is-dark:focus-visible{background:#fff;color:#071f1a}
.ksapz-lab-disclaimer{max-width:900px;margin:18px 0 0;color:#748f86;font-size:.63rem;line-height:1.55}
@keyframes ksapzLabPulse{0%,100%{opacity:.28}50%{opacity:1}}
.ksapz-lab-flow.is-running>i em{animation:ksapzLabPulse .65s ease 2}

@media(max-width:1180px){.ksapz-lab-shell{grid-template-columns:1fr}.ksapz-lab-console{border-right:0;border-bottom:1px solid rgba(255,255,255,.13);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}.ksapz-lab-console-head{grid-column:1/-1}.ksapz-lab-output-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:860px){.ksapz-lab-intro{grid-template-columns:1fr}.ksapz-lab-flow{grid-template-columns:1fr;gap:10px}.ksapz-lab-flow>i{width:1px;height:26px;margin:auto}.ksapz-lab-flow>i::after{right:-4px;top:auto;bottom:0;transform:rotate(135deg)}.ksapz-lab-node{min-height:auto}.ksapz-lab-node span{margin-bottom:10px}.ksapz-lab-balance-grid{grid-template-columns:1fr}.ksapz-lab-perspective{grid-template-columns:1fr}}
@media(max-width:640px){.ksapz-experience-lab{padding:68px 0}.ksapz-lab-console{grid-template-columns:1fr;padding:16px}.ksapz-lab-fieldset>label{grid-template-columns:1fr;gap:6px}.ksapz-lab-output-grid{grid-template-columns:1fr}.ksapz-lab-hmi-head{align-items:flex-start;flex-direction:column}.ksapz-frequency{text-align:left}.ksapz-lab-actions{display:grid;grid-template-columns:1fr}.ksapz-lab-actions .ksapz-button{justify-content:center;width:100%}}
@media(prefers-reduced-motion:reduce){.ksapz-lab-node,.ksapz-lab-meter i,.ksapz-lab-flow>i em{transition:none!important;animation:none!important}}

/* v2.0.16 - Advanced Strategic Programme Experience Lab */
.ksapz-sp-lab{position:relative;background:#071f1a;color:#f7fbf7;padding:clamp(4rem,7vw,7rem) 0;overflow:hidden;isolation:isolate}.ksapz-sp-lab-gridline{position:absolute;inset:0;opacity:.16;background-image:linear-gradient(rgba(69,190,167,.22) 1px,transparent 1px),linear-gradient(90deg,rgba(69,190,167,.16) 1px,transparent 1px);background-size:44px 44px;mask-image:linear-gradient(to bottom,#000,transparent 75%);pointer-events:none}.ksapz-sp-lab>.ksapz-wrap{position:relative;z-index:2}.ksapz-sp-lab-head{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(260px,.55fr);gap:3rem;align-items:end;margin-bottom:2.2rem}.ksapz-sp-lab-head h2{color:#fff;max-width:950px;font-size:clamp(2.7rem,5vw,5.9rem);line-height:.92;letter-spacing:-.055em;margin:.3rem 0 1rem}.ksapz-sp-lab-head>div>p:last-child{max-width:780px;color:#c9d7d2;font-size:1.12rem}.ksapz-sp-sim-status{border-top:1px solid rgba(255,255,255,.28);padding-top:1rem;display:grid;grid-template-columns:12px 1fr;gap:.45rem .7rem;color:#fff}.ksapz-sp-sim-status i{width:10px;height:10px;border-radius:50%;background:#45bea7;box-shadow:0 0 0 5px rgba(69,190,167,.12);margin-top:.25rem}.ksapz-sp-sim-status span{grid-column:2;color:#abc0b9;font-size:.82rem;line-height:1.45}.ksapz-sp-workbench{display:grid;grid-template-columns:92px minmax(0,1fr);border:1px solid rgba(132,176,164,.38);background:rgba(5,27,23,.9);box-shadow:0 28px 80px rgba(0,0,0,.22)}.ksapz-sp-route-rail{position:sticky;top:5.5rem;align-self:start;height:min(82vh,760px);display:grid;grid-template-rows:auto repeat(6,1fr);background:#0d3028;border-right:1px solid rgba(132,176,164,.35);z-index:3}.ksapz-sp-route-rail>span{writing-mode:vertical-rl;transform:rotate(180deg);font-size:.62rem;letter-spacing:.16em;padding:1rem;text-align:center;color:#8db2a7}.ksapz-sp-route-rail button{appearance:none;border:0;border-top:1px solid rgba(255,255,255,.1);background:transparent;color:#fff;padding:.55rem .4rem;cursor:pointer;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:.15rem;transition:.25s ease}.ksapz-sp-route-rail button b{font-size:1rem;color:#45bea7}.ksapz-sp-route-rail button small{font-size:.45rem;text-transform:uppercase;letter-spacing:.08em;color:#7fa69a;text-align:center;line-height:1.1}.ksapz-sp-route-rail button strong{font-size:.72rem}.ksapz-sp-route-rail button[aria-pressed="true"],.ksapz-sp-route-rail button:hover,.ksapz-sp-route-rail button:focus-visible{background:#45bea7;color:#05211b}.ksapz-sp-route-rail button[aria-pressed="true"] b,.ksapz-sp-route-rail button[aria-pressed="true"] small{color:#05211b}.ksapz-sp-console{min-width:0;padding:1.6rem}.ksapz-sp-console-head{display:flex;justify-content:space-between;gap:2rem;border-bottom:1px solid rgba(132,176,164,.35);padding-bottom:1rem;margin-bottom:1.4rem}.ksapz-sp-console-head span,.ksapz-sp-signal small,.ksapz-sp-flow-title span,.ksapz-sp-builder-title span,.ksapz-sp-live-view span{font-size:.65rem;letter-spacing:.16em;color:#45bea7;font-weight:800}.ksapz-sp-console-head strong{display:block;margin-top:.25rem}.ksapz-sp-signal{text-align:right}.ksapz-sp-signal strong{font-size:1.45rem;color:#fff}.ksapz-sp-goal-readout{display:grid;grid-template-columns:90px 1fr;gap:1.4rem;align-items:start;margin-bottom:1.5rem}.ksapz-sp-goal-readout>span{font-size:3rem;line-height:1;color:#45bea7;font-weight:800}.ksapz-sp-goal-readout small{color:#8bb1a6;letter-spacing:.13em}.ksapz-sp-goal-readout h3{font-size:clamp(1.9rem,3.3vw,4rem);line-height:.95;letter-spacing:-.04em;color:#fff;max-width:960px;margin:.35rem 0 .75rem}.ksapz-sp-goal-readout p{max-width:780px;color:#bbcbc6}.ksapz-sp-inputs{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));border:1px solid rgba(132,176,164,.3);margin-bottom:1.5rem}.ksapz-sp-inputs label,.ksapz-sp-case-builders label{display:grid;gap:.35rem;font-size:.62rem;text-transform:uppercase;letter-spacing:.08em;color:#8eb1a7;padding:.85rem;border-right:1px solid rgba(132,176,164,.22)}.ksapz-sp-inputs label:last-child{border-right:0}.ksapz-sp-inputs select,.ksapz-sp-inputs input,.ksapz-sp-case-builders input{width:100%;background:#0f352c;color:#fff;border:1px solid rgba(132,176,164,.35);padding:.72rem;font:inherit;font-size:.83rem;text-transform:none;letter-spacing:0}.ksapz-sp-flow-panel{border:1px solid rgba(132,176,164,.3);padding:1.1rem;margin-bottom:1.5rem}.ksapz-sp-flow-title{display:flex;justify-content:space-between;gap:1rem;margin-bottom:1rem}.ksapz-sp-flow-title small{color:#8fab9f}.ksapz-sp-flow{display:grid;grid-template-columns:1fr 44px 1fr 44px 1fr 44px 1fr;align-items:center}.ksapz-sp-flow button{min-height:116px;text-align:left;background:#0e3028;color:#fff;border:1px solid rgba(132,176,164,.36);padding:1rem;cursor:pointer;transition:.25s}.ksapz-sp-flow button:hover,.ksapz-sp-flow button:focus-visible{transform:translateY(-3px);border-color:#45bea7;background:#123b31}.ksapz-sp-flow button b{display:block;color:#45bea7;font-size:1.25rem}.ksapz-sp-flow button strong{display:block;font-size:.82rem;margin:.9rem 0 .25rem}.ksapz-sp-flow button small{color:#9db9b0;line-height:1.25}.ksapz-sp-flow>i{height:1px;background:rgba(132,176,164,.28);position:relative;overflow:hidden}.ksapz-sp-flow>i em{position:absolute;inset:0 auto 0 0;width:0;background:#45bea7;transition:width .6s ease}.ksapz-sp-flow.is-running>i em{width:100%}.ksapz-sp-project-pulse{display:grid;grid-template-columns:130px 1fr minmax(220px,.6fr);gap:1rem;align-items:center;margin-top:1.1rem}.ksapz-sp-project-pulse>span{font-size:.61rem;letter-spacing:.14em;color:#45bea7;font-weight:800}.ksapz-sp-project-pulse>div{display:grid;grid-template-columns:repeat(12,1fr);gap:.35rem}.ksapz-sp-project-pulse i{height:7px;background:#224d42;transition:.25s}.ksapz-sp-project-pulse i.is-active{background:#45bea7;box-shadow:0 0 15px rgba(69,190,167,.65)}.ksapz-sp-project-pulse small{color:#9ab3ab}.ksapz-sp-balance-panel{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid rgba(132,176,164,.3);margin-bottom:1.5rem}.ksapz-sp-balance-panel article{padding:1.15rem;border-right:1px solid rgba(132,176,164,.22)}.ksapz-sp-balance-panel article:last-child{border-right:0}.ksapz-sp-balance-panel span{font-size:.6rem;color:#45bea7;letter-spacing:.13em;font-weight:800}.ksapz-sp-balance-panel strong{display:block;font-size:1.45rem;margin:.45rem 0}.ksapz-sp-balance-panel small{color:#9db4ad}.ksapz-sp-meter{height:7px;background:#173f35;position:relative;margin:.65rem 0}.ksapz-sp-meter i{position:absolute;inset:0 auto 0 0;background:#45bea7;width:0;transition:.4s}.ksapz-sp-meter em{position:absolute;top:-4px;width:2px;height:15px;background:#d7a14e}.ksapz-sp-linkdots{display:flex;gap:.38rem;margin:.65rem 0}.ksapz-sp-linkdots i{width:9px;height:9px;border-radius:50%;background:#45bea7}.ksapz-sp-wavebar{height:7px;background:#173f35;margin:.65rem 0}.ksapz-sp-wavebar i{display:block;height:100%;background:#45bea7;width:15%;transition:.4s}.ksapz-sp-timeline{border:1px solid rgba(132,176,164,.3);padding:1rem;margin-bottom:1.5rem}.ksapz-sp-timeline-head{display:flex;justify-content:space-between;margin-bottom:.6rem}.ksapz-sp-timeline-head span{font-size:.62rem;letter-spacing:.14em;color:#45bea7;font-weight:800}.ksapz-sp-timeline-head small{color:#8eaaa2}.ksapz-sp-timeline svg{width:100%;height:auto;max-height:250px}.ksapz-sp-grid-lines line{stroke:rgba(163,194,184,.18);stroke-width:1}.ksapz-sp-timeline polyline{fill:none;stroke-width:3}.ksapz-sp-timeline [data-sp-target-line]{stroke:#d6a04b;stroke-dasharray:9 8}.ksapz-sp-timeline [data-sp-actual-line]{stroke:#45bea7}.ksapz-sp-timeline circle.target{fill:#d6a04b}.ksapz-sp-timeline circle.actual{fill:#45bea7}.ksapz-sp-timeline-labels{display:grid;grid-template-columns:repeat(7,1fr);font-size:.58rem;color:#83a69b;text-align:center}.ksapz-sp-case-builders{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(132,176,164,.28);border:1px solid rgba(132,176,164,.3);margin-bottom:1.5rem}.ksapz-sp-case-builders section{background:#0c2b24;padding:1rem}.ksapz-sp-builder-title{min-height:58px}.ksapz-sp-builder-title small{display:block;color:#89aaa0;margin-top:.3rem}.ksapz-sp-case-builders label{padding:.55rem 0;border:0}.ksapz-sp-case-builders output{display:block;border-top:1px solid rgba(132,176,164,.26);padding-top:.75rem;margin-top:.5rem}.ksapz-sp-case-builders output small{display:block;color:#8ca99f}.ksapz-sp-case-builders output strong{display:block;color:#fff;font-size:1.25rem;margin-top:.25rem}.ksapz-sp-output-grid{display:grid;grid-template-columns:repeat(6,1fr);border:1px solid rgba(132,176,164,.3);margin-bottom:1.5rem}.ksapz-sp-output-grid article{padding:1rem;border-right:1px solid rgba(132,176,164,.22)}.ksapz-sp-output-grid article:last-child{border-right:0}.ksapz-sp-output-grid small{display:block;color:#91aca3;min-height:2.4em}.ksapz-sp-output-grid strong{display:block;color:#fff;margin-top:.55rem}.ksapz-sp-inline-number{width:68px;background:transparent;border:0;border-bottom:1px solid #45bea7;color:#fff;font-weight:800;text-align:center}.ksapz-sp-live-view{display:grid;grid-template-columns:1fr 150px;gap:2rem;align-items:center;background:#45bea7;color:#06231c;padding:1.4rem;margin-bottom:1.5rem}.ksapz-sp-live-view span{color:#0c493d}.ksapz-sp-live-view strong{display:block;font-size:1.4rem;margin:.4rem 0}.ksapz-sp-live-view p{max-width:780px}.ksapz-sp-live-ring{--sp-ring:0deg;width:120px;height:120px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#08261f var(--sp-ring),rgba(8,38,31,.16) 0);position:relative}.ksapz-sp-live-ring:after{content:"";position:absolute;inset:9px;border-radius:50%;background:#45bea7}.ksapz-sp-live-ring b,.ksapz-sp-live-ring small{position:relative;z-index:2;grid-area:1/1}.ksapz-sp-live-ring b{font-size:1.45rem;transform:translateY(-8px)}.ksapz-sp-live-ring small{transform:translateY(14px);font-size:.55rem;text-transform:uppercase;letter-spacing:.1em}.ksapz-sp-actions{display:flex;gap:.7rem;flex-wrap:wrap}.ksapz-sp-disclaimer{font-size:.72rem;line-height:1.5;color:#86a69d;max-width:1050px;margin:1rem 0 0}
@media(max-width:1180px){.ksapz-sp-lab-head{grid-template-columns:1fr}.ksapz-sp-inputs{grid-template-columns:repeat(2,1fr)}.ksapz-sp-inputs label:nth-child(even){border-right:0}.ksapz-sp-case-builders{grid-template-columns:repeat(2,1fr)}.ksapz-sp-output-grid{grid-template-columns:repeat(3,1fr)}.ksapz-sp-output-grid article:nth-child(3n){border-right:0}}@media(max-width:780px){.ksapz-sp-lab{padding:3rem 0}.ksapz-sp-workbench{grid-template-columns:1fr}.ksapz-sp-route-rail{position:sticky;top:0;height:auto;grid-template-columns:auto repeat(6,1fr);grid-template-rows:1fr;border-right:0;border-bottom:1px solid rgba(132,176,164,.35);overflow-x:auto}.ksapz-sp-route-rail>span{writing-mode:horizontal-tb;transform:none;padding:.6rem}.ksapz-sp-route-rail button{min-width:72px;border-top:0;border-left:1px solid rgba(255,255,255,.1)}.ksapz-sp-route-rail button small{display:none}.ksapz-sp-console{padding:1rem}.ksapz-sp-console-head,.ksapz-sp-flow-title,.ksapz-sp-timeline-head{align-items:flex-start;flex-direction:column}.ksapz-sp-goal-readout{grid-template-columns:1fr}.ksapz-sp-inputs,.ksapz-sp-case-builders,.ksapz-sp-output-grid,.ksapz-sp-balance-panel{grid-template-columns:1fr}.ksapz-sp-inputs label,.ksapz-sp-output-grid article,.ksapz-sp-balance-panel article{border-right:0;border-bottom:1px solid rgba(132,176,164,.22)}.ksapz-sp-flow{grid-template-columns:1fr;gap:.45rem}.ksapz-sp-flow>i{height:22px;width:1px;justify-self:center}.ksapz-sp-project-pulse{grid-template-columns:1fr}.ksapz-sp-live-view{grid-template-columns:1fr}.ksapz-sp-live-ring{width:100px;height:100px}.ksapz-sp-timeline{overflow-x:auto}.ksapz-sp-timeline svg{min-width:720px}.ksapz-sp-timeline-labels{min-width:720px}.ksapz-sp-actions .ksapz-button{width:100%;justify-content:center}}
@media(prefers-reduced-motion:reduce){.ksapz-sp-lab *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* v2.0.17 - Guided Strategic Programme Navigator */
.ksapz-sp-guide{position:relative;background:#071f1a;color:#f7fbf7;padding:clamp(3.5rem,6vw,6rem) 0;overflow:hidden;isolation:isolate}.ksapz-sp-guide-grid{position:absolute;inset:0;pointer-events:none;opacity:.12;background-image:linear-gradient(rgba(69,190,167,.18) 1px,transparent 1px),linear-gradient(90deg,rgba(69,190,167,.14) 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(#000,transparent 78%)}.ksapz-sp-guide>.ksapz-wrap{position:relative;z-index:1}.ksapz-sp-guide-head{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(290px,.55fr);gap:3rem;align-items:end;margin-bottom:2.2rem}.ksapz-sp-guide-head h2{color:#fff;font-size:clamp(2.7rem,5vw,5.8rem);line-height:.93;letter-spacing:-.055em;max-width:980px;margin:.35rem 0 1rem}.ksapz-sp-guide-head p{max-width:850px;color:#bdd0c9;font-size:1.04rem}.ksapz-sp-guide-proof{display:grid;grid-template-columns:repeat(2,1fr);border:1px solid rgba(132,176,164,.35)}.ksapz-sp-guide-proof span{padding:1rem;border-right:1px solid rgba(132,176,164,.25);border-bottom:1px solid rgba(132,176,164,.25);font-size:.72rem;color:#a9c0b8}.ksapz-sp-guide-proof span:nth-child(even){border-right:0}.ksapz-sp-guide-proof span b{display:block;color:#45bea7;font-size:1.7rem}.ksapz-sp-guide-proof small{grid-column:1/-1;padding:1rem;color:#88a69d;line-height:1.45}.ksapz-sp-guide-shell{display:grid;grid-template-columns:92px minmax(0,1fr);border:1px solid rgba(132,176,164,.35);background:#f4f6ef;color:#0a241e}.ksapz-sp-fixed-rail{position:sticky;top:5.5rem;align-self:start;height:min(82vh,760px);display:grid;grid-template-rows:auto repeat(6,1fr);background:#0d3028;z-index:5}.ksapz-sp-fixed-rail>strong{writing-mode:vertical-rl;transform:rotate(180deg);padding:1rem;font-size:.6rem;letter-spacing:.18em;color:#89aa9f;text-align:center}.ksapz-sp-fixed-rail button{appearance:none;border:0;border-top:1px solid rgba(255,255,255,.1);background:transparent;color:#fff;display:grid;place-items:center;align-content:center;gap:.15rem;padding:.55rem .3rem;cursor:pointer;transition:.2s}.ksapz-sp-fixed-rail button b{font-size:1rem;color:#45bea7}.ksapz-sp-fixed-rail button span{font-weight:800}.ksapz-sp-fixed-rail button small{font-size:.43rem;line-height:1.1;text-transform:uppercase;color:#7fa69a;text-align:center}.ksapz-sp-fixed-rail button[aria-pressed="true"],.ksapz-sp-fixed-rail button:hover,.ksapz-sp-fixed-rail button:focus-visible{background:#45bea7;color:#06231c}.ksapz-sp-fixed-rail button[aria-pressed="true"] b,.ksapz-sp-fixed-rail button[aria-pressed="true"] small{color:#06231c}.ksapz-sp-guide-main{min-width:0}.ksapz-sp-breadcrumb{display:grid;grid-template-columns:auto 28px auto 28px auto 28px auto;align-items:center;padding:.8rem 1rem;background:#fff;border-bottom:1px solid #d6ddd7;position:sticky;top:0;z-index:4}.ksapz-sp-breadcrumb button{appearance:none;border:0;background:none;padding:.35rem .5rem;font-size:.58rem;letter-spacing:.1em;color:#5d6e68;cursor:pointer;text-align:left}.ksapz-sp-breadcrumb button b{display:block;color:#0b2c25;font-size:.78rem;letter-spacing:0;margin-top:.18rem}.ksapz-sp-breadcrumb i{height:1px;background:#abb8b2}.ksapz-sp-goal-stage{display:grid;grid-template-columns:120px minmax(0,1fr) minmax(220px,.35fr);gap:1.5rem;padding:2rem;border-bottom:1px solid #d6ddd7;align-items:start;background:#eaf0e8}.ksapz-sp-goal-number{font-size:4.6rem;font-weight:800;color:#45bea7;line-height:.85}.ksapz-sp-goal-stage small{font-size:.65rem;letter-spacing:.14em;color:#61736c}.ksapz-sp-goal-stage h3{font-size:clamp(2rem,4vw,4.7rem);line-height:.94;letter-spacing:-.045em;margin:.35rem 0 .8rem;color:#091f19;max-width:1050px}.ksapz-sp-goal-stage p{max-width:780px;color:#52645e}.ksapz-sp-goal-status{border-left:1px solid #c7d0ca;padding-left:1rem}.ksapz-sp-goal-status span,.ksapz-sp-section-head span,.ksapz-sp-interconnect-core span,.ksapz-sp-guide-timeline-head span{display:block;font-size:.62rem;letter-spacing:.14em;font-weight:800;color:#16836f}.ksapz-sp-goal-status strong{display:block;font-size:1.4rem;margin:.45rem 0}.ksapz-sp-goal-status small{line-height:1.4;color:#71817b}.ksapz-sp-map-section{padding:2rem;border-bottom:1px solid #d6ddd7;background:#f8f9f5}.ksapz-sp-section-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.45fr);gap:2rem;align-items:end;margin-bottom:1.5rem}.ksapz-sp-section-head h3{font-size:clamp(1.8rem,3vw,3.5rem);line-height:.98;letter-spacing:-.035em;margin:.35rem 0 0;color:#0b241d}.ksapz-sp-section-head p{color:#61726c;max-width:640px}.ksapz-sp-programme-map{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:#cad3cd;border:1px solid #cad3cd}.ksapz-sp-programme-card{appearance:none;background:#fff;border:0;padding:1.25rem;text-align:left;min-height:260px;display:flex;flex-direction:column;cursor:pointer;position:relative;transition:.22s;color:#0a241e}.ksapz-sp-programme-card:hover,.ksapz-sp-programme-card:focus-visible{background:#eef5ef}.ksapz-sp-programme-card[aria-pressed="true"]{background:#0d3028;color:#fff}.ksapz-sp-programme-card>span{font-size:2.2rem;color:#45bea7}.ksapz-sp-programme-card>small{font-size:.62rem;letter-spacing:.12em;margin:.8rem 0;color:#658078}.ksapz-sp-programme-card[aria-pressed="true"]>small{color:#9fc0b6}.ksapz-sp-programme-card>strong{font-size:1.2rem;line-height:1.08;overflow-wrap:anywhere}.ksapz-sp-programme-card>div{margin-top:auto;padding-top:1rem;font-size:.68rem;color:#66766f}.ksapz-sp-programme-card[aria-pressed="true"]>div{color:#b7cbc4}.ksapz-sp-programme-card>div b{font-size:1rem;color:#45bea7}.ksapz-sp-programme-card>div i{display:inline-block;width:14px}.ksapz-sp-programme-card>em{display:block;height:4px;background:#dce5df;margin-top:.85rem;overflow:hidden}.ksapz-sp-programme-card>em i{display:block;height:100%;width:var(--progress);background:#45bea7}.ksapz-sp-project-section{background:#eef2ec}.ksapz-sp-project-filters{display:flex;gap:.45rem;flex-wrap:wrap;align-self:end}.ksapz-sp-project-filters button{appearance:none;border:1px solid #bbc8c1;background:#fff;color:#173b31;padding:.65rem .8rem;border-radius:999px;cursor:pointer}.ksapz-sp-project-filters button[aria-pressed="true"]{background:#0d3028;color:#fff;border-color:#0d3028}.ksapz-sp-project-summary{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid #c8d2cb;margin-bottom:1rem;background:#fff}.ksapz-sp-project-summary article{padding:1rem;border-right:1px solid #d6ddd8}.ksapz-sp-project-summary article:last-child{border-right:0}.ksapz-sp-project-summary small{display:block;font-size:.58rem;letter-spacing:.12em;color:#647871}.ksapz-sp-project-summary strong{display:block;font-size:1.7rem;margin:.35rem 0}.ksapz-sp-project-summary span{font-size:.72rem;color:#697972;line-height:1.4}.ksapz-sp-project-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:#c8d2cb;border:1px solid #c8d2cb}.ksapz-sp-project-card,.ksapz-sp-dependency-card{appearance:none;border:0;background:#fff;color:#09231c;text-align:left;padding:1rem;display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:1rem;align-items:start;cursor:pointer;min-height:150px;transition:.2s}.ksapz-sp-project-card:hover,.ksapz-sp-project-card:focus-visible,.ksapz-sp-dependency-card:hover,.ksapz-sp-dependency-card:focus-visible{background:#e8f3ed}.ksapz-sp-project-card>span,.ksapz-sp-dependency-card>b{width:42px;height:42px;border:1px solid #9cb0a7;display:grid;place-items:center;font-weight:800}.ksapz-sp-project-card small{display:block;font-size:.6rem;letter-spacing:.08em;color:#638078}.ksapz-sp-project-card strong,.ksapz-sp-dependency-card strong{display:block;font-size:1rem;line-height:1.15;margin:.32rem 0;overflow-wrap:anywhere}.ksapz-sp-project-card p,.ksapz-sp-dependency-card small{font-size:.72rem;color:#64756f;line-height:1.4;margin:0}.ksapz-sp-project-card>em{font-size:.62rem;color:#187d6b;max-width:130px;text-align:right}.ksapz-sp-dependency-card{grid-template-columns:48px 1fr;align-content:start}.ksapz-sp-dependency-card small{grid-column:2}.ksapz-sp-more{appearance:none;border:0;border-bottom:1px solid #0c392f;background:transparent;color:#0c392f;font-weight:800;padding:.8rem 0;margin-top:.6rem;cursor:pointer}.ksapz-sp-interconnect{background:#0d3028;color:#fff}.ksapz-sp-interconnect .ksapz-sp-section-head h3{color:#fff}.ksapz-sp-interconnect .ksapz-sp-section-head p{color:#b4c8c1}.ksapz-sp-interconnect-grid{display:grid;grid-template-columns:minmax(260px,.6fr) 1.4fr;border:1px solid rgba(255,255,255,.17)}.ksapz-sp-interconnect-core{padding:1.25rem;border-right:1px solid rgba(255,255,255,.17)}.ksapz-sp-interconnect-core strong{display:block;font-size:1.5rem;line-height:1.08;margin:.55rem 0}.ksapz-sp-interconnect-core small{color:#9fb7af}.ksapz-sp-interconnect-links{display:grid;grid-template-columns:repeat(3,1fr)}.ksapz-sp-interconnect-links button{appearance:none;border:0;border-right:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12);background:transparent;color:#fff;text-align:left;padding:1rem;cursor:pointer}.ksapz-sp-interconnect-links button:hover,.ksapz-sp-interconnect-links button:focus-visible{background:#123c32}.ksapz-sp-interconnect-links span{font-size:.55rem;color:#45bea7;letter-spacing:.11em}.ksapz-sp-interconnect-links strong{display:block;font-size:1.15rem;margin:.35rem 0}.ksapz-sp-interconnect-links p{font-size:.7rem;color:#9fb8af;margin:0;line-height:1.4}.ksapz-sp-scenario{background:#071f1a;color:#fff}.ksapz-sp-scenario .ksapz-sp-section-head h3{color:#fff}.ksapz-sp-scenario .ksapz-sp-section-head p{color:#aac0b8}.ksapz-sp-scenario-controls{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid rgba(255,255,255,.18);margin-bottom:1rem}.ksapz-sp-scenario-controls label{display:grid;gap:.4rem;padding:1rem;border-right:1px solid rgba(255,255,255,.15);font-size:.62rem;text-transform:uppercase;letter-spacing:.1em;color:#8facA3}.ksapz-sp-scenario-controls label:last-child{border-right:0}.ksapz-sp-scenario-controls select,.ksapz-sp-scenario-controls input[type=range]{width:100%}.ksapz-sp-scenario-controls select{background:#0d3028;border:1px solid #3d665b;color:#fff;padding:.7rem}.ksapz-sp-scenario-controls output{color:#45bea7;font-size:1.3rem;font-weight:800}.ksapz-sp-scenario-readout{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid rgba(255,255,255,.18);margin-bottom:1rem}.ksapz-sp-scenario-readout article{padding:1rem;border-right:1px solid rgba(255,255,255,.14)}.ksapz-sp-scenario-readout article:last-child{border-right:0}.ksapz-sp-scenario-readout small{display:block;color:#8fa9a1;min-height:2.2em}.ksapz-sp-scenario-readout strong{display:block;font-size:1.45rem;color:#fff;margin:.4rem 0}.ksapz-sp-scenario-readout span{font-size:.65rem;color:#8ba69d}.ksapz-sp-scenario-readout article>div{height:5px;background:#173e34}.ksapz-sp-scenario-readout article>div i{display:block;height:100%;background:#45bea7;transition:.35s}.ksapz-sp-guided-flow{display:grid;grid-template-columns:1fr 34px 1fr 34px 1fr 34px 1fr 34px 1fr;align-items:center;margin:1.2rem 0}.ksapz-sp-guided-flow button{appearance:none;border:1px solid #31574c;background:#0d3028;color:#fff;padding:.9rem;text-align:left;min-height:105px;cursor:pointer;transition:.2s}.ksapz-sp-guided-flow button:hover,.ksapz-sp-guided-flow button:focus-visible{border-color:#45bea7;transform:translateY(-2px)}.ksapz-sp-guided-flow button b{color:#45bea7}.ksapz-sp-guided-flow button strong{display:block;margin:.45rem 0;font-size:.8rem}.ksapz-sp-guided-flow button small{display:block;color:#92aaa2;font-size:.62rem;line-height:1.3}.ksapz-sp-guided-flow>i{height:1px;background:#31574c;overflow:hidden}.ksapz-sp-guided-flow>i em{display:block;width:0;height:100%;background:#45bea7}.ksapz-sp-guided-flow.is-running>i em{animation:ksapzSpRoute 1.1s ease forwards}.ksapz-sp-guided-flow>i:nth-of-type(2) em{animation-delay:.15s}.ksapz-sp-guided-flow>i:nth-of-type(3) em{animation-delay:.3s}.ksapz-sp-guided-flow>i:nth-of-type(4) em{animation-delay:.45s}@keyframes ksapzSpRoute{to{width:100%}}.ksapz-sp-guide-timeline{border:1px solid rgba(255,255,255,.18);padding:1rem}.ksapz-sp-guide-timeline-head{display:flex;justify-content:space-between;gap:1rem}.ksapz-sp-guide-timeline-head strong{font-size:.8rem;color:#fff}.ksapz-sp-guide-timeline svg{width:100%;height:auto;max-height:240px}.ksapz-sp-guide-grid-lines line{stroke:rgba(163,194,184,.18);stroke-width:1}.ksapz-sp-guide-timeline polyline{fill:none;stroke-width:3}.ksapz-sp-guide-timeline [data-sp-guide-target-line]{stroke:#d6a04b;stroke-dasharray:8 7}.ksapz-sp-guide-timeline [data-sp-guide-actual-line]{stroke:#45bea7}.ksapz-sp-guide-timeline circle.target{fill:#d6a04b}.ksapz-sp-guide-timeline circle.actual{fill:#45bea7}.ksapz-sp-guide-years{display:grid;grid-template-columns:repeat(7,1fr);font-size:.58rem;text-align:center;color:#809f95}.ksapz-sp-guide-actions{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:1rem}.ksapz-sp-guide-disclaimer{font-size:.7rem;color:#82a098;max-width:1100px;line-height:1.5;margin:1rem 0 0}.ksapz-sp-project-modal[hidden]{display:none}.ksapz-sp-project-modal{position:fixed;inset:0;z-index:999999;display:grid;place-items:center;padding:1.5rem}.ksapz-sp-project-modal-backdrop{position:absolute;inset:0;background:rgba(3,18,14,.82);backdrop-filter:blur(8px)}.ksapz-sp-project-modal>section{position:relative;z-index:1;width:min(980px,94vw);max-height:88vh;overflow:auto;background:#f5f7f1;color:#0a241e;padding:clamp(1.5rem,4vw,3.5rem);box-shadow:0 30px 100px rgba(0,0,0,.35)}.ksapz-sp-project-modal-close{position:absolute;top:1rem;right:1rem;width:42px;height:42px;border:1px solid #bac8c0;background:#fff;cursor:pointer;font-size:1.2rem}.ksapz-sp-project-modal-code{font-size:.68rem;letter-spacing:.14em;color:#14836e;font-weight:800;margin-bottom:.75rem}.ksapz-sp-project-modal h3{font-size:clamp(2rem,4vw,4.2rem);line-height:.95;letter-spacing:-.045em;margin:0 3rem 1rem 0;max-width:850px;overflow-wrap:anywhere}.ksapz-sp-project-modal>section>p{max-width:760px;color:#5d6d67}.ksapz-sp-project-modal-grid{display:grid;grid-template-columns:repeat(2,1fr);border:1px solid #cbd5cf;margin-top:1.3rem}.ksapz-sp-project-modal-grid article{padding:1rem;border-right:1px solid #d5ddd8;border-bottom:1px solid #d5ddd8}.ksapz-sp-project-modal-grid article:nth-child(even){border-right:0}.ksapz-sp-project-modal-grid span,.ksapz-sp-project-modal-evidence span{font-size:.58rem;letter-spacing:.12em;color:#16836e}.ksapz-sp-project-modal-grid strong{display:block;margin-top:.35rem;font-size:.9rem;line-height:1.4;overflow-wrap:anywhere}.ksapz-sp-project-modal-evidence{background:#0d3028;color:#fff;padding:1.1rem;margin-top:1rem}.ksapz-sp-project-modal-evidence p{margin:.4rem 0 0;color:#bed0ca}.ksapz-modal-open{overflow:hidden}
@media(max-width:1180px){.ksapz-sp-guide-head{grid-template-columns:1fr}.ksapz-sp-programme-map{grid-template-columns:repeat(2,1fr)}.ksapz-sp-project-list{grid-template-columns:1fr}.ksapz-sp-interconnect-grid{grid-template-columns:1fr}.ksapz-sp-interconnect-core{border-right:0;border-bottom:1px solid rgba(255,255,255,.17)}.ksapz-sp-scenario-readout{grid-template-columns:repeat(2,1fr)}.ksapz-sp-scenario-readout article:nth-child(even){border-right:0}.ksapz-sp-guided-flow{grid-template-columns:1fr 24px 1fr 24px 1fr;gap:.35rem}.ksapz-sp-guided-flow>i:nth-of-type(3),.ksapz-sp-guided-flow>i:nth-of-type(4),.ksapz-sp-guided-flow button:nth-of-type(4),.ksapz-sp-guided-flow button:nth-of-type(5){display:none}}
@media(max-width:780px){.ksapz-sp-guide{padding:2.5rem 0}.ksapz-sp-guide-shell{grid-template-columns:1fr}.ksapz-sp-fixed-rail{position:sticky;top:0;height:auto;grid-template-columns:auto repeat(6,1fr);grid-template-rows:1fr;overflow-x:auto}.ksapz-sp-fixed-rail>strong{writing-mode:horizontal-tb;transform:none;padding:.65rem}.ksapz-sp-fixed-rail button{min-width:70px;border-top:0;border-left:1px solid rgba(255,255,255,.1)}.ksapz-sp-fixed-rail button small{display:none}.ksapz-sp-breadcrumb{grid-template-columns:repeat(4,minmax(90px,1fr));overflow-x:auto;position:relative}.ksapz-sp-breadcrumb i{display:none}.ksapz-sp-goal-stage{grid-template-columns:1fr;padding:1.2rem}.ksapz-sp-goal-number{font-size:3.2rem}.ksapz-sp-goal-status{border-left:0;border-top:1px solid #c7d0ca;padding:1rem 0 0}.ksapz-sp-map-section{padding:1.2rem}.ksapz-sp-section-head{grid-template-columns:1fr}.ksapz-sp-programme-map,.ksapz-sp-project-summary,.ksapz-sp-interconnect-links,.ksapz-sp-scenario-controls,.ksapz-sp-scenario-readout,.ksapz-sp-project-modal-grid{grid-template-columns:1fr}.ksapz-sp-programme-card{min-height:220px}.ksapz-sp-project-summary article,.ksapz-sp-scenario-readout article,.ksapz-sp-scenario-controls label{border-right:0;border-bottom:1px solid #d6ddd8}.ksapz-sp-project-card{grid-template-columns:44px 1fr}.ksapz-sp-project-card>em{grid-column:2;text-align:left}.ksapz-sp-interconnect-links button{border-right:0}.ksapz-sp-guided-flow{grid-template-columns:1fr;gap:.4rem}.ksapz-sp-guided-flow>i{display:block!important;width:1px;height:20px;justify-self:center}.ksapz-sp-guided-flow button{display:block!important;min-height:auto}.ksapz-sp-guide-timeline{overflow-x:auto}.ksapz-sp-guide-timeline svg,.ksapz-sp-guide-years{min-width:700px}.ksapz-sp-guide-actions .ksapz-button{width:100%;justify-content:center}.ksapz-sp-project-modal{padding:.6rem}.ksapz-sp-project-modal>section{padding:1.2rem}.ksapz-sp-project-modal h3{margin-right:2rem}}
@media(prefers-reduced-motion:reduce){.ksapz-sp-guide *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* v2.0.18 - guided, automated homepage Experience Lab */
.ksapz-lab-intro .ksapz-lab-lede{max-width:780px;margin:18px 0 0;color:#b9cbc4;font-size:clamp(.98rem,1.3vw,1.18rem);line-height:1.65}
.ksapz-lab-shell.is-guided{grid-template-columns:minmax(290px,.56fr) minmax(0,1.7fr)}
.ksapz-lab-shell.is-guided .ksapz-lab-console{padding:26px}
.ksapz-lab-auto-note{margin-top:26px;padding:18px;border:1px solid rgba(69,190,167,.28);background:rgba(69,190,167,.055)}
.ksapz-lab-auto-note span{color:#45bea7;font-size:.6rem;font-weight:900;letter-spacing:.14em}.ksapz-lab-auto-note p{margin:.6rem 0 0;color:#a9c0b8;font-size:.74rem;line-height:1.55}
.ksapz-lab-route-summary{display:grid;grid-template-columns:.8fr 1.4fr .55fr;border-left:1px solid rgba(255,255,255,.13);border-top:1px solid rgba(255,255,255,.13);margin-top:24px}
.ksapz-lab-route-summary>div{padding:14px 16px;border-right:1px solid rgba(255,255,255,.13);border-bottom:1px solid rgba(255,255,255,.13);min-width:0}.ksapz-lab-route-summary span{display:block;color:#7f9d94;font-size:.55rem;letter-spacing:.12em;font-weight:900}.ksapz-lab-route-summary strong{display:block;margin-top:.35rem;color:#fff;font-size:.78rem;line-height:1.35;overflow-wrap:anywhere}
.ksapz-lab-assumptions{margin:0 0 24px;border:1px solid rgba(255,255,255,.14);background:#09261f}.ksapz-lab-assumptions-head{display:flex;justify-content:space-between;gap:1rem;padding:12px 15px;border-bottom:1px solid rgba(255,255,255,.12)}.ksapz-lab-assumptions-head span{color:#45bea7;font-size:.58rem;font-weight:900;letter-spacing:.13em}.ksapz-lab-assumptions-head strong{color:#8fa79f;font-size:.62rem}.ksapz-lab-assumption-grid{display:grid;grid-template-columns:repeat(3,1fr)}.ksapz-lab-assumption-grid article{padding:14px 15px;border-right:1px solid rgba(255,255,255,.1);border-bottom:1px solid rgba(255,255,255,.1)}.ksapz-lab-assumption-grid small{display:block;color:#839e95;font-size:.58rem}.ksapz-lab-assumption-grid strong{display:block;margin-top:.35rem;color:#fff;font-size:.88rem}
@media(max-width:1050px){.ksapz-lab-shell.is-guided{grid-template-columns:1fr}.ksapz-lab-shell.is-guided .ksapz-lab-console{border-right:0;border-bottom:1px solid rgba(255,255,255,.13)}.ksapz-lab-route-summary,.ksapz-lab-assumption-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.ksapz-lab-route-summary,.ksapz-lab-assumption-grid{grid-template-columns:1fr}.ksapz-lab-assumptions-head{display:grid}.ksapz-lab-fieldset>label{grid-template-columns:1fr}.ksapz-lab-intro h2{font-size:clamp(2.4rem,13vw,4rem)}}

/* v2.0.19 - Strategic Programme Navigator clarity and agricultural control-room treatment */
.ksapz-chapter-rail a.is-active,.ksapz-chapter-rail a[aria-current="step"]{position:relative;background:#0b342a;color:#fff;box-shadow:inset 0 -4px 0 #45bea7}
.ksapz-chapter-rail a.is-active span,.ksapz-chapter-rail a[aria-current="step"] span{color:#a7d56e}
.ksapz-chapter-rail a.is-active::after,.ksapz-chapter-rail a[aria-current="step"]::after{content:"";position:absolute;left:12px;right:12px;bottom:7px;height:2px;background:#45bea7}
#sp-navigator{scroll-margin-top:100px}
#sp-navigator.is-arrival{animation:ksapzNavigatorArrival .9s ease}
@keyframes ksapzNavigatorArrival{0%{box-shadow:inset 0 0 0 0 rgba(69,190,167,0)}35%{box-shadow:inset 0 0 0 3px rgba(69,190,167,.7)}100%{box-shadow:inset 0 0 0 0 rgba(69,190,167,0)}}

.ksapz-sp-guide{position:relative;background:#f2f5ed;color:#0b2c24;padding:clamp(60px,7vw,110px) 0;overflow:clip}
.ksapz-sp-guide::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(rgba(29,101,75,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(29,101,75,.025) 1px,transparent 1px);background-size:44px 44px}
.ksapz-sp-guide-grid{display:none}
.ksapz-sp-guide-head{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(360px,.65fr);gap:48px;align-items:end;margin-bottom:32px}
.ksapz-sp-guide-head h2{max-width:14ch;margin:.35rem 0 1rem;font-size:clamp(2.8rem,5.2vw,5.8rem);line-height:.92;letter-spacing:-.055em;text-wrap:balance}
.ksapz-sp-guide-head>div>p:last-child{max-width:760px;color:#5d6d66;font-size:1.02rem;line-height:1.6}
.ksapz-sp-guide-proof{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid #b9c8c0;border-left:1px solid #b9c8c0;background:rgba(255,255,255,.5)}
.ksapz-sp-guide-proof span{min-height:108px;padding:18px;border-right:1px solid #b9c8c0;border-bottom:1px solid #b9c8c0}
.ksapz-sp-guide-proof b{display:block;color:#167b67;font-size:2rem;line-height:1}
.ksapz-sp-guide-proof small{display:block;margin-top:.45rem;color:#4c6259;font-size:.63rem;letter-spacing:.09em;text-transform:uppercase}
.ksapz-sp-guide-shell{position:relative;z-index:1;display:grid;grid-template-columns:92px minmax(0,1fr);border:1px solid #b7c7bf;background:#fbfcf7;box-shadow:0 24px 70px rgba(7,45,35,.08)}
.ksapz-sp-fixed-rail{position:sticky;top:84px;align-self:start;height:calc(100vh - 96px);display:grid;grid-template-rows:auto repeat(6,1fr);background:#0b342a;color:#fff;z-index:8}
.ksapz-sp-fixed-rail>strong{padding:18px 12px;color:#a7d56e;font-size:.58rem;letter-spacing:.18em;writing-mode:vertical-rl;transform:rotate(180deg)}
.ksapz-sp-fixed-rail button{appearance:none;position:relative;border:0;border-top:1px solid rgba(255,255,255,.12);background:transparent;color:#c5d7cf;padding:10px 8px;text-align:left;cursor:pointer;overflow:hidden}
.ksapz-sp-fixed-rail button b{display:block;color:#45bea7;font-size:1.1rem}.ksapz-sp-fixed-rail button span{display:block;margin:.2rem 0;color:#fff;font-size:.68rem;font-weight:900}.ksapz-sp-fixed-rail button small{display:block;color:#88a59a;font-size:.48rem;line-height:1.25}
.ksapz-sp-fixed-rail button[aria-pressed="true"]{background:#145543;box-shadow:inset 4px 0 0 #a7d56e}.ksapz-sp-fixed-rail button[aria-pressed="true"]::after{content:"";position:absolute;width:54px;height:54px;border-radius:50%;right:-24px;bottom:-20px;background:rgba(167,213,110,.12)}
.ksapz-sp-guide-main{min-width:0}
.ksapz-sp-breadcrumb{position:sticky;top:84px;z-index:7;display:grid;grid-template-columns:1fr 22px 1.15fr 22px 1fr 22px 1fr 22px 1fr;background:#f8faf4;border-bottom:1px solid #c5d1cb}
.ksapz-sp-breadcrumb button{appearance:none;border:0;background:transparent;padding:12px 14px;text-align:left;cursor:pointer;min-width:0}.ksapz-sp-breadcrumb button:hover,.ksapz-sp-breadcrumb button:focus-visible{background:#e9f3ea}.ksapz-sp-breadcrumb span{display:block;color:#4c8e79;font-size:.52rem;font-weight:900}.ksapz-sp-breadcrumb b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#0b342a;font-size:.72rem}.ksapz-sp-breadcrumb small{display:block;color:#758a81;font-size:.52rem;margin-top:.2rem}.ksapz-sp-breadcrumb i{align-self:center;height:1px;background:#8ea39a;position:relative}.ksapz-sp-breadcrumb i::after{content:"";position:absolute;right:0;top:-3px;border-left:5px solid #8ea39a;border-top:3px solid transparent;border-bottom:3px solid transparent}
.ksapz-sp-goal-stage{display:grid;grid-template-columns:120px minmax(0,1fr) 270px;gap:26px;align-items:center;padding:clamp(28px,4vw,58px);background:linear-gradient(115deg,#f8faf3 0%,#eef4e8 70%,#e7efdf 100%);border-bottom:1px solid #c7d3cd}
.ksapz-sp-goal-number{font-size:clamp(3.8rem,6vw,6.8rem);font-weight:900;color:#45bea7;line-height:.85}.ksapz-sp-goal-stage h3{max-width:20ch;margin:.35rem 0 .7rem;font-size:clamp(2rem,3.8vw,4.5rem);line-height:.95;letter-spacing:-.045em}.ksapz-sp-goal-stage p{max-width:780px;color:#566b61;line-height:1.55}.ksapz-sp-goal-stage>div>small{color:#4f8f43;font-size:.6rem;font-weight:900;letter-spacing:.14em}
.ksapz-sp-goal-status{padding-left:22px;border-left:1px solid #bdcac3}.ksapz-sp-goal-status span{display:block;color:#5f8b43;font-size:.55rem;font-weight:900;letter-spacing:.14em}.ksapz-sp-goal-status strong{display:block;margin:.55rem 0;color:#0b342a;font-size:1.1rem}.ksapz-sp-goal-status small{display:block;color:#6e8278;line-height:1.45}
.ksapz-sp-map-section,.ksapz-sp-route{padding:clamp(28px,4vw,54px);border-bottom:1px solid #c9d4cf}.ksapz-sp-section-head{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:40px;align-items:end;margin-bottom:28px}.ksapz-sp-section-head span{display:block;color:#4d8a43;font-size:.56rem;font-weight:900;letter-spacing:.14em}.ksapz-sp-section-head h3{max-width:18ch;margin:.35rem 0 0;font-size:clamp(1.8rem,3.1vw,3.7rem);line-height:.98;letter-spacing:-.035em}.ksapz-sp-section-head>p{margin:0;color:#607269;line-height:1.55}
.ksapz-sp-programme-map{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid #c3d0c9;border-left:1px solid #c3d0c9}.ksapz-sp-programme-card{appearance:none;min-height:210px;padding:24px;border:0;border-right:1px solid #c3d0c9;border-bottom:1px solid #c3d0c9;background:#fff;text-align:left;cursor:pointer;transition:transform .2s ease,background .2s ease}.ksapz-sp-programme-card:hover,.ksapz-sp-programme-card:focus-visible{background:#eff6eb;transform:translateY(-2px)}.ksapz-sp-programme-card[aria-pressed="true"]{background:#0d3a2f;color:#fff}.ksapz-sp-programme-card>span{color:#52a24e;font-size:.58rem;font-weight:900;letter-spacing:.12em}.ksapz-sp-programme-card strong{display:block;max-width:27ch;margin:32px 0 12px;font-size:1.18rem;line-height:1.12}.ksapz-sp-programme-card p{color:#667a70;font-size:.74rem}.ksapz-sp-programme-card[aria-pressed="true"] p{color:#bcd0c7}.ksapz-sp-programme-card>div{height:4px;margin-top:18px;background:#d8e2dc}.ksapz-sp-programme-card>div i{display:block;height:100%;background:#45bea7}
.ksapz-sp-project-filters{display:flex;flex-wrap:wrap;gap:7px;justify-content:flex-end}.ksapz-sp-project-filters button,.ksapz-sp-more{appearance:none;padding:10px 13px;border:1px solid #b8c7bf;background:#fff;color:#173a31;cursor:pointer;font-weight:800}.ksapz-sp-project-filters button[aria-pressed="true"]{background:#0d3a2f;color:#fff;border-color:#0d3a2f}.ksapz-sp-project-summary{margin-bottom:18px;color:#667970;font-size:.78rem}.ksapz-sp-project-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ksapz-sp-project-card{appearance:none;display:grid;grid-template-columns:82px minmax(0,1fr);gap:8px 18px;min-height:148px;padding:18px;border:1px solid #c2cfc8;background:#fff;text-align:left;cursor:pointer;min-width:0}.ksapz-sp-project-card:hover,.ksapz-sp-project-card:focus-visible{border-color:#45bea7;background:#f2f8ef}.ksapz-sp-project-card>span{grid-row:1/4;color:#4f8f43;font-size:.58rem;font-weight:900;letter-spacing:.08em;overflow-wrap:anywhere}.ksapz-sp-project-card strong{font-size:.95rem;line-height:1.25}.ksapz-sp-project-card p,.ksapz-sp-project-card small{margin:0;color:#6d7e75;font-size:.69rem;line-height:1.35}
.ksapz-sp-interconnect{background:linear-gradient(130deg,#0c3329,#0d4335);color:#fff}.ksapz-sp-interconnect .ksapz-sp-section-head span{color:#a7d56e}.ksapz-sp-interconnect .ksapz-sp-section-head h3{color:#fff}.ksapz-sp-interconnect .ksapz-sp-section-head>p{color:#c2d4cc}.ksapz-sp-interconnect-grid{display:grid;grid-template-columns:minmax(250px,.75fr) minmax(0,1.5fr);border:1px solid rgba(255,255,255,.16)}.ksapz-sp-interconnect-core{padding:24px;border-right:1px solid rgba(255,255,255,.14)}.ksapz-sp-interconnect-core span,.ksapz-sp-interconnect-links span{color:#a7d56e;font-size:.55rem;font-weight:900;letter-spacing:.12em}.ksapz-sp-interconnect-core strong{display:block;margin:28px 0 12px;font-size:1.15rem}.ksapz-sp-interconnect-core small{color:#b9cdc4;line-height:1.5}.ksapz-sp-interconnect-links{display:grid;grid-template-columns:repeat(2,1fr)}.ksapz-sp-interconnect-links button{appearance:none;min-height:150px;padding:18px;border:0;border-right:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12);background:transparent;color:#fff;text-align:left;cursor:pointer}.ksapz-sp-interconnect-links button:hover,.ksapz-sp-interconnect-links button:focus-visible{background:rgba(167,213,110,.08)}.ksapz-sp-interconnect-links strong{display:block;margin:14px 0 7px;color:#fff}.ksapz-sp-interconnect-links p{margin:0;color:#b9cdc4;font-size:.7rem;line-height:1.4}
.ksapz-sp-route{background:#0a2c24;color:#fff}.ksapz-sp-route .ksapz-sp-section-head span{color:#a7d56e}.ksapz-sp-route .ksapz-sp-section-head h3{color:#fff}.ksapz-sp-route .ksapz-sp-section-head>p{color:#c0d1ca}.ksapz-sp-anylogic{position:relative;padding:26px;border:1px solid rgba(255,255,255,.16);background:linear-gradient(rgba(69,190,167,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(69,190,167,.035) 1px,transparent 1px),#07251e;background-size:32px 32px;overflow:hidden}.ksapz-sp-anylogic::before{content:"PROGRAMME CONTROL VIEW";position:absolute;top:10px;right:14px;color:#789d90;font-size:.48rem;letter-spacing:.16em}.ksapz-sp-anylogic-canvas{display:grid;grid-template-columns:minmax(120px,1fr) 40px minmax(140px,1.15fr) 40px minmax(140px,1fr) 40px minmax(130px,.9fr) 40px minmax(150px,1.1fr);align-items:center;gap:0;margin-top:12px}.ksapz-sp-route-node{appearance:none;position:relative;min-height:145px;padding:18px;border:1px solid #326357;background:#0c342b;color:#fff;text-align:left;cursor:pointer;transition:.25s}.ksapz-sp-route-node small{display:block;color:#81a79a;font-size:.52rem;font-weight:900;letter-spacing:.13em}.ksapz-sp-route-node strong{display:block;margin:20px 0 8px;color:#fff;font-size:.9rem}.ksapz-sp-route-node span{display:block;color:#adc4ba;font-size:.62rem;line-height:1.35}.ksapz-sp-route-node.is-source,.ksapz-sp-route-node.is-outcome{border-color:#6fa653}.ksapz-sp-route-node.is-active{transform:translateY(-5px);border-color:#a7d56e;box-shadow:0 0 0 2px rgba(167,213,110,.16),0 12px 35px rgba(0,0,0,.2)}.ksapz-sp-route-node.is-active::after{content:"";position:absolute;right:10px;top:10px;width:8px;height:8px;border-radius:50%;background:#a7d56e;box-shadow:0 0 14px #a7d56e}.ksapz-sp-route-link{position:relative;height:2px;background:#31594f}.ksapz-sp-route-link::after{content:"";position:absolute;right:-1px;top:-4px;border-left:7px solid #6e8f84;border-top:5px solid transparent;border-bottom:5px solid transparent}.ksapz-sp-route-link i{position:absolute;left:0;top:-2px;width:6px;height:6px;border-radius:50%;background:#45bea7;opacity:0}.ksapz-sp-anylogic.is-running .ksapz-sp-route-link i{opacity:1;animation:ksapzSpSignal 1.5s linear infinite}.ksapz-sp-anylogic.is-running .ksapz-sp-route-link:nth-of-type(2) i{animation-delay:.2s}.ksapz-sp-anylogic.is-running .ksapz-sp-route-link:nth-of-type(3) i{animation-delay:.4s}.ksapz-sp-anylogic.is-running .ksapz-sp-route-link:nth-of-type(4) i{animation-delay:.6s}@keyframes ksapzSpSignal{from{left:0}to{left:calc(100% - 6px)}}
.ksapz-sp-project-pulse{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:26px}.ksapz-sp-pulse-project{appearance:none;min-height:86px;padding:10px;border:1px solid #315e52;background:#0b3028;color:#fff;text-align:left;cursor:pointer}.ksapz-sp-pulse-project span{color:#a7d56e;font-size:.52rem;font-weight:900}.ksapz-sp-pulse-project strong{display:block;margin:6px 0;color:#45bea7;font-size:.54rem;overflow-wrap:anywhere}.ksapz-sp-pulse-project small{display:block;color:#9db7ad;font-size:.52rem;line-height:1.25}.ksapz-sp-pulse-project.is-active{border-color:#a7d56e;background:#114536;box-shadow:0 0 18px rgba(167,213,110,.15)}
.ksapz-sp-auto-readout{display:grid;grid-template-columns:repeat(3,1fr);margin-top:18px;border-top:1px solid rgba(255,255,255,.14);border-left:1px solid rgba(255,255,255,.14)}.ksapz-sp-auto-readout article{min-height:128px;padding:18px;border-right:1px solid rgba(255,255,255,.14);border-bottom:1px solid rgba(255,255,255,.14);background:#0b3028}.ksapz-sp-auto-readout small{display:block;color:#8ba99f;font-size:.54rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.ksapz-sp-auto-readout strong{display:block;margin:16px 0 7px;color:#fff;font-size:1.2rem}.ksapz-sp-auto-readout span{display:block;color:#9fb7ae;font-size:.62rem;line-height:1.35}
.ksapz-sp-guide-timeline{margin-top:18px;border:1px solid rgba(255,255,255,.15);padding:18px;background:#08271f}.ksapz-sp-guide-timeline-head{display:flex;justify-content:space-between;gap:1rem}.ksapz-sp-guide-timeline-head span{color:#a7d56e;font-size:.54rem;font-weight:900;letter-spacing:.12em}.ksapz-sp-guide-timeline-head strong{color:#fff;font-size:.7rem}.ksapz-sp-guide-timeline svg{width:100%;max-height:220px}.ksapz-sp-guide-grid-lines line{stroke:rgba(162,194,183,.15)}.ksapz-sp-guide-timeline polyline{fill:none;stroke-width:3}.ksapz-sp-guide-timeline [data-sp-guide-target-line]{stroke:#a7d56e;stroke-dasharray:7 7}.ksapz-sp-guide-timeline [data-sp-guide-actual-line]{stroke:#45bea7}.ksapz-sp-guide-timeline circle.target{fill:#a7d56e}.ksapz-sp-guide-timeline circle.actual{fill:#45bea7}.ksapz-sp-guide-years{display:grid;grid-template-columns:repeat(7,1fr);color:#809f95;font-size:.56rem;text-align:center}.ksapz-sp-guide-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.ksapz-sp-guide-disclaimer{max-width:780px;margin:14px 0 0;color:#9db4ab;font-size:.66rem;line-height:1.45}.ksapz-sp-guide .is-arrival{animation:ksapzSectionArrival .8s ease}@keyframes ksapzSectionArrival{0%{outline:0 solid rgba(69,190,167,0)}40%{outline:3px solid rgba(69,190,167,.4)}100%{outline:0 solid rgba(69,190,167,0)}}

@media(max-width:1180px){.ksapz-sp-guide-head{grid-template-columns:1fr}.ksapz-sp-guide-shell{grid-template-columns:78px minmax(0,1fr)}.ksapz-sp-goal-stage{grid-template-columns:90px 1fr}.ksapz-sp-goal-status{grid-column:1/-1;border-left:0;border-top:1px solid #bdcac3;padding:18px 0 0}.ksapz-sp-anylogic-canvas{grid-template-columns:1fr 24px 1fr 24px 1fr}.ksapz-sp-anylogic-canvas .ksapz-sp-route-node:nth-of-type(n+4),.ksapz-sp-anylogic-canvas .ksapz-sp-route-link:nth-of-type(n+3){display:none}.ksapz-sp-project-pulse{grid-template-columns:repeat(3,1fr)}}
@media(max-width:780px){.ksapz-sp-guide{padding:38px 0}.ksapz-sp-guide-head h2{font-size:clamp(2.4rem,12vw,4.1rem)}.ksapz-sp-guide-proof{grid-template-columns:repeat(2,1fr)}.ksapz-sp-guide-shell{grid-template-columns:1fr}.ksapz-sp-fixed-rail{position:sticky;top:0;height:auto;display:grid;grid-template-columns:auto repeat(6,minmax(78px,1fr));grid-template-rows:1fr;overflow-x:auto}.ksapz-sp-fixed-rail>strong{writing-mode:horizontal-tb;transform:none;padding:10px}.ksapz-sp-fixed-rail button{min-width:78px;border-top:0;border-left:1px solid rgba(255,255,255,.12)}.ksapz-sp-fixed-rail button small{display:none}.ksapz-sp-breadcrumb{position:relative;top:auto;grid-template-columns:repeat(5,minmax(100px,1fr));overflow-x:auto}.ksapz-sp-breadcrumb i{display:none}.ksapz-sp-goal-stage{grid-template-columns:1fr;padding:24px}.ksapz-sp-goal-number{font-size:3rem}.ksapz-sp-map-section,.ksapz-sp-route{padding:24px}.ksapz-sp-section-head{grid-template-columns:1fr;gap:14px}.ksapz-sp-programme-map,.ksapz-sp-project-list,.ksapz-sp-interconnect-links,.ksapz-sp-auto-readout{grid-template-columns:1fr}.ksapz-sp-project-filters{justify-content:flex-start}.ksapz-sp-interconnect-grid{grid-template-columns:1fr}.ksapz-sp-interconnect-core{border-right:0;border-bottom:1px solid rgba(255,255,255,.14)}.ksapz-sp-anylogic-canvas{grid-template-columns:1fr}.ksapz-sp-anylogic-canvas .ksapz-sp-route-node{display:block!important}.ksapz-sp-route-link{display:block!important;width:2px;height:22px;justify-self:center}.ksapz-sp-route-link::after{right:-4px;top:auto;bottom:-1px;border-left:5px solid transparent;border-right:5px solid transparent;border-top:7px solid #6e8f84;border-bottom:0}.ksapz-sp-anylogic.is-running .ksapz-sp-route-link i{animation:ksapzSpSignalVertical 1.2s linear infinite}@keyframes ksapzSpSignalVertical{from{top:0}to{top:calc(100% - 6px)}}.ksapz-sp-project-pulse{grid-template-columns:repeat(2,1fr)}.ksapz-sp-guide-timeline{overflow-x:auto}.ksapz-sp-guide-timeline svg,.ksapz-sp-guide-years{min-width:680px}.ksapz-sp-guide-actions .ksapz-button{width:100%;justify-content:center}}
@media(prefers-reduced-motion:reduce){.ksapz-sp-anylogic *,.ksapz-sp-guide *{animation:none!important;transition:none!important}}


/* v2.0.20 - heading scale, simplified chapters and route reliability */
body.ksapz-site :where(h1){font-size:clamp(2.65rem,5.4vw,6.1rem)}
body.ksapz-site :where(h2){font-size:clamp(1.95rem,3.7vw,4rem)}
body.ksapz-site :where(h3){font-size:clamp(1.2rem,1.75vw,1.8rem)}
.ksapz-story-prologue h1{font-size:clamp(3rem,6.2vw,6.4rem);max-width:13ch}
.ksapz-story-map h2{font-size:clamp(2.1rem,3.7vw,4rem)}
.ksapz-chapter-title h2{font-size:clamp(2.8rem,5vw,5.5rem);max-width:18ch;width:min(100%,1100px)}
.ksapz-story-epilogue h2{font-size:clamp(2.8rem,5vw,5.5rem);max-width:14ch}
.ksapz-story-modal-content h2,.ksapz-sp-project-modal h3{font-size:clamp(1.9rem,3.2vw,3.4rem);max-width:22ch}
.ksapz-sp-guide-head h2{font-size:clamp(2.35rem,4.1vw,4.5rem);max-width:18ch}
.ksapz-sp-goal-stage h3{font-size:clamp(1.8rem,3vw,3.45rem);max-width:24ch}
.ksapz-sp-section-head h3{font-size:clamp(1.55rem,2.4vw,2.75rem);max-width:24ch}
.ksapz-lab-intro h2{font-size:clamp(2.25rem,4vw,4.35rem)!important;max-width:13ch!important}
.ksapz-lab-intro{grid-template-columns:minmax(0,1.05fr) minmax(250px,.45fr)!important;gap:clamp(1.4rem,3vw,3rem)!important}
.ksapz-experience-lab{padding:clamp(58px,7vw,92px) 0!important}
.ksapz-lab-lede{max-width:650px!important}
.ksapz-lab-shell{margin-top:28px!important}
.ksapz-chapter-body{padding-top:clamp(42px,6vw,78px)!important;padding-bottom:clamp(52px,7vw,90px)!important}
.ksapz-chapter-intro{margin-bottom:28px!important}
.ksapz-chapter-turn{margin-top:34px!important}
.ksapz-sp-anylogic.is-running{box-shadow:inset 0 0 0 1px rgba(69,190,167,.28),0 0 38px rgba(69,190,167,.08)}
.ksapz-sp-route-link.is-active{background:#45bea7;box-shadow:0 0 14px rgba(69,190,167,.35)}
.ksapz-sp-anylogic.is-complete .ksapz-sp-route-node{border-color:#5e8d54}
.ksapz-sp-guide-actions [data-sp-guide-run]:disabled{opacity:.8;cursor:progress}
.ksapz-lab-actions .ksapz-button,.ksapz-sp-guide-actions .ksapz-button{min-height:44px}
@media(max-width:780px){
 body.ksapz-site :where(h1){font-size:clamp(2.35rem,10vw,4.4rem)}
 body.ksapz-site :where(h2){font-size:clamp(1.8rem,8vw,3.35rem)}
 .ksapz-story-prologue h1,.ksapz-chapter-title h2,.ksapz-story-epilogue h2{font-size:clamp(2.55rem,11vw,4.5rem)}
 .ksapz-sp-guide-head h2,.ksapz-lab-intro h2{font-size:clamp(2.15rem,10vw,3.75rem)!important}
 .ksapz-lab-intro{grid-template-columns:1fr!important}
}

/* v2.0.21 - continuous operating route simulation */
.ksapz-route-sim{position:relative;overflow:hidden;padding:72px 0 82px;background:#062a22;color:#fff;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08)}
.ksapz-route-sim::before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(69,190,167,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(69,190,167,.045) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to bottom,#000,rgba(0,0,0,.6))}
.ksapz-route-sim>.ksapz-wrap{position:relative;z-index:1;max-width:1560px}
.ksapz-route-sim-head{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(240px,.65fr);gap:48px;align-items:end;margin-bottom:34px}
.ksapz-route-sim-head h2{max-width:13ch;margin:.25rem 0 .7rem;color:#fff;font-size:clamp(2.3rem,4vw,4.6rem);line-height:.94;letter-spacing:-.055em}
.ksapz-route-sim-head>div>p:last-child{max-width:820px;margin:0;color:#b8cec7;font-size:1rem;line-height:1.65}
.ksapz-route-sim-state{justify-self:end;width:min(100%,330px);padding:18px 20px;border:1px solid rgba(255,255,255,.18);background:rgba(3,31,25,.68);box-shadow:0 18px 48px rgba(0,0,0,.15)}
.ksapz-route-sim-state span{display:inline-block;width:8px;height:8px;margin-right:8px;border-radius:50%;background:#45bea7;box-shadow:0 0 0 5px rgba(69,190,167,.12)}
.ksapz-route-sim-state strong{font-size:.72rem;letter-spacing:.12em}.ksapz-route-sim-state small{display:block;margin-top:7px;color:#9db6ad;font-size:.68rem}
.ksapz-route-sim-grid{display:grid;grid-template-columns:260px minmax(0,1fr) 390px;min-height:850px;border:1px solid rgba(255,255,255,.18);background:#082e26;box-shadow:0 28px 70px rgba(0,0,0,.18)}
.ksapz-route-controls,.ksapz-route-finance{background:#06271f}.ksapz-route-controls{padding:22px;border-right:1px solid rgba(255,255,255,.14)}
.ksapz-route-controls-head,.ksapz-route-finance-head{display:flex;justify-content:space-between;gap:12px;padding-bottom:16px;margin-bottom:18px;border-bottom:1px solid rgba(255,255,255,.14)}
.ksapz-route-controls-head span,.ksapz-route-finance-head span{color:#45bea7;font-size:.58rem;font-weight:900;letter-spacing:.14em}.ksapz-route-controls-head strong,.ksapz-route-finance-head strong{color:#dce8e3;font-size:.58rem;letter-spacing:.06em}
.ksapz-route-controls>label{display:block;margin-bottom:16px}.ksapz-route-controls>label>span,.ksapz-route-land>div>span{display:block;margin-bottom:7px;color:#8ea99f;font-size:.56rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase}.ksapz-route-controls select,.ksapz-route-controls input[type=number]{width:100%;min-height:42px;padding:8px 10px;border:1px solid #31594f;background:#0a342b;color:#fff;border-radius:0;font:inherit;font-size:.78rem}.ksapz-route-controls select:focus,.ksapz-route-controls input:focus{outline:2px solid #45bea7;outline-offset:1px}
.ksapz-route-land{margin:6px 0 18px;padding:14px;border:1px solid #31594f;background:#092f27}.ksapz-route-land.is-hidden{display:none}.ksapz-route-land>div{display:flex;justify-content:space-between;gap:12px;align-items:center}.ksapz-route-land>div>span{margin:0}.ksapz-route-land strong{font-size:.8rem}.ksapz-route-land input[type=range]{width:100%;accent-color:#45bea7;margin:12px 0 8px}.ksapz-route-land input[type=number]{min-height:36px}
.ksapz-route-services{margin:0 0 18px;padding:0;border:0}.ksapz-route-services legend{margin-bottom:10px;color:#8ea99f;font-size:.56rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase}.ksapz-route-services label{display:flex;align-items:flex-start;gap:8px;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.08);color:#dbe8e3;font-size:.72rem;line-height:1.25}.ksapz-route-services input{accent-color:#45bea7;margin-top:2px}
.ksapz-route-controls .ksapz-button{width:100%;justify-content:center;min-height:42px;color:#fff;border-color:#4b6f65}
.ksapz-route-engine{min-width:0;background:#0a342b}.ksapz-route-engine-bar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-bottom:1px solid rgba(255,255,255,.14)}.ksapz-route-engine-bar>div{min-height:68px;padding:14px 16px;border-right:1px solid rgba(255,255,255,.12)}.ksapz-route-engine-bar span{display:block;color:#6f978b;font-size:.52rem;font-weight:900;letter-spacing:.13em}.ksapz-route-engine-bar strong{display:block;margin-top:8px;color:#fff;font-size:.7rem;line-height:1.3}
.ksapz-programme-lanes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-bottom:1px solid rgba(255,255,255,.14);background:#082d25}.ksapz-programme-lanes>div{position:relative;min-height:64px;padding:12px 14px 15px;border-right:1px solid rgba(255,255,255,.1);overflow:hidden}.ksapz-programme-lanes b{display:inline-block;margin-right:8px;color:#45bea7;font-size:.58rem}.ksapz-programme-lanes span{color:#9fb9b0;font-size:.62rem;line-height:1.25}.ksapz-programme-lanes i{position:absolute;left:0;bottom:0;width:0;height:3px;background:#45bea7;transition:width .28s ease}.ksapz-programme-lanes .is-active{background:#0d3c31}.ksapz-programme-lanes .is-active i{width:100%}
.ksapz-process-canvas{position:relative;display:grid;grid-template-columns:minmax(120px,1fr) 32px minmax(120px,1fr) 32px minmax(120px,1fr) 32px minmax(120px,1fr) 32px minmax(120px,1fr);align-items:stretch;gap:0;padding:28px 24px 32px;min-height:250px;background-image:radial-gradient(circle at 1px 1px,rgba(69,190,167,.12) 1px,transparent 1.3px);background-size:18px 18px}
.ksapz-process-node{position:relative;z-index:2;min-width:0;padding:16px 14px 18px;border:1px solid #3b665a;background:#082d25;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.ksapz-process-node>span{display:block;color:#45bea7;font-size:.52rem;font-weight:900;letter-spacing:.12em}.ksapz-process-node>strong{display:block;margin:28px 0 8px;color:#fff;font-size:.93rem;line-height:1.05}.ksapz-process-node>small{display:block;min-height:36px;color:#8fa99f;font-size:.62rem;line-height:1.4}.ksapz-process-node dl{display:grid;gap:8px;margin:18px 0 0}.ksapz-process-node dl div{padding-top:8px;border-top:1px solid rgba(255,255,255,.11)}.ksapz-process-node dt{color:#6c9185;font-size:.49rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.ksapz-process-node dd{margin:4px 0 0;color:#d9e8e2;font-size:.63rem;font-weight:800}.ksapz-process-node.is-live{transform:translateY(-4px);border-color:#45bea7;box-shadow:0 0 0 1px rgba(69,190,167,.18),0 15px 38px rgba(0,0,0,.2)}
.ksapz-process-link{position:relative;align-self:center;height:1px;background:#54766c}.ksapz-process-link::after{content:"";position:absolute;right:-1px;top:-4px;border-left:7px solid #6f9187;border-top:4px solid transparent;border-bottom:4px solid transparent}.ksapz-process-link i{position:absolute;left:0;top:-1px;width:0;height:2px;background:#45bea7;animation:ksapzRouteLink 2.4s ease-in-out infinite}.ksapz-process-link em{position:absolute;top:-4px;width:8px;height:8px;border-radius:50%;background:#45bea7;box-shadow:0 0 0 5px rgba(69,190,167,.12);animation:ksapzRouteToken 2.4s linear infinite}
@keyframes ksapzRouteLink{0%,15%{width:0}65%,100%{width:100%}}@keyframes ksapzRouteToken{0%{left:0;opacity:0}12%{opacity:1}88%{opacity:1}100%{left:calc(100% - 8px);opacity:0}}
.ksapz-entity-stream{position:absolute;inset:0;pointer-events:none;overflow:hidden}.ksapz-entity-stream i{position:absolute;top:18px;left:3%;width:7px;height:7px;border:1px solid #45bea7;background:#0e473a;transform:rotate(45deg);opacity:.9;animation:ksapzEntity 8s linear infinite}.ksapz-entity-stream i:nth-child(2){top:225px;animation-delay:-2s}.ksapz-entity-stream i:nth-child(3){top:78px;animation-delay:-4s}.ksapz-entity-stream i:nth-child(4){top:182px;animation-delay:-6s}@keyframes ksapzEntity{0%{left:3%;opacity:0}5%{opacity:1}95%{opacity:1}100%{left:95%;opacity:0}}
.ksapz-route-availability{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.13);border-bottom:1px solid rgba(255,255,255,.13)}.ksapz-route-availability article{min-height:118px;padding:18px;border-right:1px solid rgba(255,255,255,.12)}.ksapz-route-availability span{display:block;color:#6f978b;font-size:.5rem;font-weight:900;letter-spacing:.11em}.ksapz-route-availability strong{display:block;margin:15px 0 5px;color:#fff;font-size:1.03rem}.ksapz-route-availability small{color:#8ea89f;font-size:.58rem;line-height:1.35}
.ksapz-stage-ledger{padding:22px 24px 28px}.ksapz-stage-ledger-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:12px}.ksapz-stage-ledger-head span{color:#45bea7;font-size:.55rem;font-weight:900;letter-spacing:.13em}.ksapz-stage-ledger-head strong{color:#fff;font-size:.82rem}.ksapz-stage-ledger-row{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr 1fr;gap:12px;align-items:center;min-height:48px;padding:9px 10px;border-bottom:1px solid rgba(255,255,255,.1);color:#b9cec7;font-size:.65rem}.ksapz-stage-ledger-row.is-head{min-height:36px;color:#6d9589;font-size:.5rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;border-top:1px solid rgba(255,255,255,.14)}.ksapz-stage-ledger-row strong{color:#e9f3ef}.ksapz-stage-ledger-row .is-negative{color:#efb7aa}
.ksapz-route-finance{padding:22px;border-left:1px solid rgba(255,255,255,.14);min-width:0}.ksapz-finance-kpis{display:grid;grid-template-columns:1fr 1fr;border:1px solid rgba(255,255,255,.13);margin-bottom:18px}.ksapz-finance-kpis article{min-height:110px;padding:15px;border-right:1px solid rgba(255,255,255,.1);border-bottom:1px solid rgba(255,255,255,.1)}.ksapz-finance-kpis span{display:block;color:#6e998b;font-size:.49rem;font-weight:900;letter-spacing:.11em}.ksapz-finance-kpis strong{display:block;margin:13px 0 5px;color:#fff;font-size:1.2rem}.ksapz-finance-kpis small{color:#8da79e;font-size:.55rem}
.ksapz-cashflow-chart{position:relative;margin-bottom:18px;padding:16px;border:1px solid rgba(255,255,255,.13);background:#082d25;overflow:hidden}.ksapz-chart-head{display:flex;justify-content:space-between;gap:10px;margin-bottom:10px}.ksapz-chart-head span{color:#45bea7;font-size:.52rem;font-weight:900;letter-spacing:.12em}.ksapz-chart-head strong{max-width:58%;color:#a9beb7;font-size:.55rem;text-align:right}.ksapz-cashflow-chart svg{display:block;width:100%;height:auto}.ksapz-chart-grid line{stroke:rgba(255,255,255,.07);stroke-width:1}.ksapz-chart-zero{stroke:#64877d;stroke-width:1;stroke-dasharray:4 4}.ksapz-chart-line{fill:none;stroke:#45bea7;stroke-width:2.5}.ksapz-chart-area{fill:rgba(69,190,167,.12)}.ksapz-chart-marker{fill:#fff;stroke:#45bea7;stroke-width:3}.ksapz-cashflow-chart text{fill:#6d8f85;font-size:10px}
.ksapz-sim-event{position:absolute;left:18px;right:18px;bottom:18px;padding:13px 15px;border-left:3px solid #45bea7;background:rgba(4,34,28,.96);box-shadow:0 18px 44px rgba(0,0,0,.28);opacity:0;transform:translateY(10px);transition:.25s ease}.ksapz-sim-event.is-showing{opacity:1;transform:none}.ksapz-sim-event>span{display:block;color:#45bea7;font-size:.55rem;font-weight:900;letter-spacing:.12em}.ksapz-sim-event strong{display:block;margin:5px 0;color:#fff;font-size:.8rem}.ksapz-sim-event p{margin:0;color:#b6cbc4;font-size:.6rem;line-height:1.4}.ksapz-sim-event small{display:block;margin-top:7px;color:#789d91;font-size:.5rem;font-weight:900;letter-spacing:.1em}
.ksapz-tariff-compare{margin-bottom:18px;border:1px solid rgba(255,255,255,.13)}.ksapz-tariff-compare-head{display:flex;justify-content:space-between;gap:12px;padding:12px 13px;border-bottom:1px solid rgba(255,255,255,.12);background:#0a342b}.ksapz-tariff-compare-head span{color:#45bea7;font-size:.49rem;font-weight:900;letter-spacing:.09em}.ksapz-tariff-compare-head strong{color:#8ea99f;font-size:.5rem}.ksapz-tariff-row{display:grid;grid-template-columns:minmax(0,1.2fr) 1fr 1fr;gap:8px;padding:10px 12px;border-bottom:1px solid rgba(255,255,255,.08);font-size:.57rem}.ksapz-tariff-row span{color:#bcd0c9}.ksapz-tariff-row strong{color:#45bea7;font-weight:800}.ksapz-tariff-row b{color:#d7e4df;font-weight:700}.ksapz-empty{padding:12px;color:#8ea99f;font-size:.65rem}
.ksapz-node-capacity{display:grid;grid-template-columns:1fr 1fr;margin-bottom:18px;border:1px solid rgba(255,255,255,.13)}.ksapz-node-capacity>div{min-height:76px;padding:12px;border-right:1px solid rgba(255,255,255,.1);border-bottom:1px solid rgba(255,255,255,.1)}.ksapz-node-capacity span{display:block;color:#6e978a;font-size:.47rem;font-weight:900;letter-spacing:.1em}.ksapz-node-capacity strong{display:block;margin-top:8px;color:#fff;font-size:.64rem;line-height:1.3}.ksapz-route-enquiry{width:100%;justify-content:center}.ksapz-route-model-note{margin:12px 0 0;color:#78958c;font-size:.54rem;line-height:1.45}
@media(max-width:1320px){.ksapz-route-sim-grid{grid-template-columns:240px minmax(0,1fr) 330px}.ksapz-process-node>strong{font-size:.82rem}.ksapz-process-node{padding:14px 10px}.ksapz-stage-ledger-row{font-size:.59rem}}
@media(max-width:1080px){.ksapz-route-sim-grid{grid-template-columns:250px minmax(0,1fr)}.ksapz-route-finance{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:18px;border-left:0;border-top:1px solid rgba(255,255,255,.14)}.ksapz-route-finance-head,.ksapz-route-enquiry,.ksapz-route-model-note{grid-column:1/-1}.ksapz-finance-kpis,.ksapz-cashflow-chart,.ksapz-tariff-compare,.ksapz-node-capacity{margin:0}.ksapz-process-canvas{grid-template-columns:1fr 24px 1fr 24px 1fr}.ksapz-process-node:nth-of-type(n+6),.ksapz-process-link:nth-of-type(n+5){display:none}}
@media(max-width:780px){.ksapz-route-sim{padding:48px 0}.ksapz-route-sim-head{grid-template-columns:1fr;gap:20px}.ksapz-route-sim-state{justify-self:start}.ksapz-route-sim-grid{grid-template-columns:1fr}.ksapz-route-controls{border-right:0;border-bottom:1px solid rgba(255,255,255,.14)}.ksapz-route-engine-bar,.ksapz-programme-lanes,.ksapz-route-availability{grid-template-columns:1fr 1fr}.ksapz-process-canvas{grid-template-columns:1fr;padding:20px}.ksapz-process-node{display:block!important}.ksapz-process-link{display:block!important;width:1px;height:22px;justify-self:center}.ksapz-process-link::after{right:-4px;top:auto;bottom:-1px;border-left:4px solid transparent;border-right:4px solid transparent;border-top:7px solid #6f9187;border-bottom:0}.ksapz-process-link i{width:2px;height:0;animation:ksapzRouteLinkV 2.1s ease-in-out infinite}.ksapz-process-link em{left:-4px;top:0;animation:ksapzRouteTokenV 2.1s linear infinite}@keyframes ksapzRouteLinkV{0%,15%{height:0}65%,100%{height:100%}}@keyframes ksapzRouteTokenV{0%{top:0;opacity:0}12%{opacity:1}88%{opacity:1}100%{top:calc(100% - 8px);opacity:0}}.ksapz-entity-stream{display:none}.ksapz-stage-ledger-row{grid-template-columns:1fr 1fr}.ksapz-stage-ledger-row.is-head{display:none}.ksapz-stage-ledger-row span:first-child{grid-column:1/-1;color:#45bea7;font-weight:900}.ksapz-route-finance{display:block}.ksapz-finance-kpis,.ksapz-node-capacity{grid-template-columns:1fr 1fr}.ksapz-cashflow-chart,.ksapz-tariff-compare,.ksapz-node-capacity{margin-bottom:18px}.ksapz-route-sim-head h2{font-size:clamp(2.2rem,11vw,3.6rem)}}
@media(max-width:520px){.ksapz-route-engine-bar,.ksapz-programme-lanes,.ksapz-route-availability,.ksapz-finance-kpis,.ksapz-node-capacity{grid-template-columns:1fr}.ksapz-tariff-row{grid-template-columns:1fr}.ksapz-tariff-row strong,.ksapz-tariff-row b{display:block}.ksapz-route-sim-head h2{font-size:2.45rem}}
@media(prefers-reduced-motion:reduce){.ksapz-process-link i,.ksapz-process-link em,.ksapz-entity-stream i{animation:none!important}.ksapz-process-link i{width:100%}.ksapz-entity-stream{display:none}}
/* v2.0.21 - farm case and route capacity refinements */
.ksapz-farm-case{border-bottom:1px solid rgba(255,255,255,.13);background:rgba(69,190,167,.045)}
.ksapz-farm-case[hidden]{display:none!important}
.ksapz-farm-case-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding:16px 18px 10px;border-bottom:1px solid rgba(255,255,255,.09)}
.ksapz-farm-case-head span{color:#45bea7;font-size:.5rem;font-weight:900;letter-spacing:.12em}
.ksapz-farm-case-head strong{color:#fff;font-size:.72rem;font-weight:800;text-align:right}
.ksapz-farm-case-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.ksapz-farm-case-grid article{min-width:0;min-height:96px;padding:15px 18px;border-right:1px solid rgba(255,255,255,.1);border-bottom:1px solid rgba(255,255,255,.1)}
.ksapz-farm-case-grid span{display:block;color:#6f978b;font-size:.47rem;font-weight:900;letter-spacing:.1em}
.ksapz-farm-case-grid strong{display:block;margin:10px 0 4px;color:#fff;font-size:.82rem;line-height:1.2;overflow-wrap:anywhere}
.ksapz-farm-case-grid small{display:block;color:#88a49a;font-size:.54rem;line-height:1.4}
.ksapz-node-capacity{grid-template-columns:repeat(2,minmax(0,1fr))}
.ksapz-node-capacity small{display:block;margin-top:4px;color:#78958c;font-size:.49rem;line-height:1.35}
@media(max-width:780px){.ksapz-farm-case-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.ksapz-farm-case-grid{grid-template-columns:1fr}.ksapz-farm-case-head{display:block}.ksapz-farm-case-head strong{display:block;margin-top:8px;text-align:left}}

/* v2.0.22 - tabbed operating workbench */
.ksapz-route-sim-tabbed{padding:54px 0 62px}
.ksapz-route-sim-tabbed .ksapz-route-sim-head{grid-template-columns:minmax(0,1.45fr) minmax(240px,.55fr);margin-bottom:26px}
.ksapz-route-brand{display:flex;align-items:center;gap:12px;margin-bottom:20px}
.ksapz-route-brand img{width:42px;height:42px;display:block}
.ksapz-route-brand span{display:flex;flex-direction:column;gap:2px}
.ksapz-route-brand strong{color:#fff;font-size:1.05rem;line-height:1}
.ksapz-route-brand small{color:#8fb3a8;font-size:.58rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.ksapz-route-sim-tabbed .ksapz-route-sim-head h2{max-width:17ch;font-size:clamp(2.15rem,3.5vw,3.9rem)}
.ksapz-route-sim-grid-tabbed{grid-template-columns:280px minmax(0,1fr);min-height:0}
.ksapz-route-sim-grid-tabbed .ksapz-route-controls{padding:20px 18px;display:flex;flex-direction:column;gap:12px}
.ksapz-route-sim-grid-tabbed .ksapz-route-controls>label{margin:0}
.ksapz-route-control-pair{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.ksapz-route-control-pair label>span{display:block;margin-bottom:7px;color:#8ea99f;font-size:.56rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
.ksapz-route-control-status{margin-top:auto;padding:14px;border:1px solid rgba(255,255,255,.13);background:#082e26}
.ksapz-route-control-status span,.ksapz-route-control-status small{display:block;color:#779c90;font-size:.53rem;font-weight:800;letter-spacing:.1em}
.ksapz-route-control-status strong{display:block;margin:6px 0;color:#fff;font-size:1rem}
.ksapz-route-workbench{min-width:0;background:#0a342b;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto}
.ksapz-route-engine-bar-compact{grid-template-columns:minmax(240px,1.5fr) minmax(180px,1fr) minmax(120px,.6fr)}
.ksapz-route-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-bottom:1px solid rgba(255,255,255,.14);background:#06271f}
.ksapz-route-tabs button{min-height:48px;padding:10px 12px;border:0;border-right:1px solid rgba(255,255,255,.1);background:transparent;color:#9cb6ad;font:inherit;font-size:.68rem;font-weight:850;letter-spacing:.04em;cursor:pointer}
.ksapz-route-tabs button[aria-selected="true"]{background:#45bea7;color:#06271f;box-shadow:inset 0 -3px 0 #d6a049}
.ksapz-route-tabs button:focus-visible{outline:2px solid #fff;outline-offset:-4px}
.ksapz-route-tab-panel{min-height:560px;padding:18px;background:#0a342b}
.ksapz-route-tab-panel[hidden]{display:none!important}
.ksapz-route-tab-panel .ksapz-process-canvas{margin:0 0 18px}
.ksapz-route-tab-panel .ksapz-route-view{margin:0}
.ksapz-route-tab-panel .ksapz-route-availability{margin:0 0 18px}
.ksapz-route-tab-panel .ksapz-farm-case{margin:0}
.ksapz-tab-section-head{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid rgba(255,255,255,.13)}
.ksapz-tab-section-head span{display:block;color:#45bea7;font-size:.55rem;font-weight:900;letter-spacing:.13em}
.ksapz-tab-section-head strong{display:block;margin-top:5px;color:#fff;font-size:1.05rem}
.ksapz-tab-section-head small{max-width:360px;color:#92afa5;font-size:.66rem;text-align:right}
.ksapz-route-services-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0 0 18px}
.ksapz-route-services-grid label{position:relative;display:grid!important;grid-template-columns:22px minmax(0,1fr) auto;gap:8px;align-items:center;min-height:58px;padding:10px 11px!important;border:1px solid rgba(255,255,255,.16)!important;background:#082e26;color:#fff!important;cursor:pointer}
.ksapz-route-services-grid label:has(input:checked){border-color:#45bea7!important;background:#0a4034;box-shadow:inset 3px 0 0 #45bea7}
.ksapz-route-services-grid input{margin:0!important}
.ksapz-route-services-grid label span{font-size:.7rem;font-weight:750;line-height:1.25}
.ksapz-route-services-grid label small{color:#45bea7;font-size:.46rem;font-weight:900;letter-spacing:.08em}
.ksapz-services-split{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);gap:16px}
.ksapz-services-split .ksapz-tariff-compare,.ksapz-services-split .ksapz-node-capacity{margin:0}
.ksapz-finance-kpis-horizontal{grid-template-columns:repeat(6,minmax(0,1fr));margin:0 0 16px}
.ksapz-finance-kpis-horizontal article{min-height:94px}
.ksapz-economics-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(420px,.8fr);gap:16px}
.ksapz-economics-grid .ksapz-stage-ledger,.ksapz-economics-grid .ksapz-cashflow-chart{margin:0}
.ksapz-programme-timeline-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.42fr);gap:18px;margin-top:18px}
.ksapz-programme-timeline-track{display:grid;grid-template-columns:auto 1fr auto 1fr auto 1fr auto 1fr auto 1fr auto 1fr auto;align-items:center;min-height:120px;padding:20px;border:1px solid rgba(255,255,255,.13);background:#082e26;color:#b8cec7;font-size:.62rem;font-weight:900}
.ksapz-programme-timeline-track i{height:2px;background:linear-gradient(90deg,#45bea7,rgba(69,190,167,.2))}
.ksapz-sim-event-static{position:relative!important;inset:auto!important;display:block!important;opacity:1!important;transform:none!important;min-height:120px;margin:0;padding:18px;background:#0b3c31;border:1px solid rgba(69,190,167,.35)}
.ksapz-route-workbench-actions{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 18px;border-top:1px solid rgba(255,255,255,.13);background:#06271f}
.ksapz-route-workbench-actions .ksapz-route-enquiry{white-space:nowrap}
.ksapz-route-workbench-actions .ksapz-route-model-note{margin:0;max-width:760px;text-align:right}
@media(max-width:1260px){.ksapz-route-sim-grid-tabbed{grid-template-columns:250px minmax(0,1fr)}.ksapz-route-services-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.ksapz-finance-kpis-horizontal{grid-template-columns:repeat(3,1fr)}.ksapz-economics-grid,.ksapz-services-split{grid-template-columns:1fr}.ksapz-programme-timeline-panel{grid-template-columns:1fr}}
@media(max-width:860px){.ksapz-route-sim-grid-tabbed{grid-template-columns:1fr}.ksapz-route-controls{border-right:0!important;border-bottom:1px solid rgba(255,255,255,.14)}.ksapz-route-control-status{margin-top:0}.ksapz-route-tabs{grid-template-columns:repeat(5,minmax(120px,1fr));overflow-x:auto}.ksapz-route-tab-panel{min-height:0}.ksapz-route-services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ksapz-finance-kpis-horizontal{grid-template-columns:repeat(2,1fr)}.ksapz-route-workbench-actions{align-items:flex-start;flex-direction:column}.ksapz-route-workbench-actions .ksapz-route-model-note{text-align:left}.ksapz-route-sim-tabbed .ksapz-route-sim-head{grid-template-columns:1fr}.ksapz-route-control-pair{grid-template-columns:1fr 1fr}}
@media(max-width:540px){.ksapz-route-services-grid,.ksapz-finance-kpis-horizontal,.ksapz-route-control-pair{grid-template-columns:1fr}.ksapz-route-tabs{grid-template-columns:repeat(5,140px)}.ksapz-tab-section-head{align-items:flex-start;flex-direction:column}.ksapz-tab-section-head small{text-align:left}.ksapz-route-engine-bar-compact{grid-template-columns:1fr}}

/* v2.0.23 - Controlled Data Room and footer rebuild */
.ksapz-section-data-room{padding-top:clamp(3rem,5vw,5rem)}
.ksapz-data-room{max-width:1280px;margin-inline:auto;display:grid;gap:22px}
.ksapz-dataroom-gateway{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);gap:clamp(28px,5vw,72px);align-items:end;padding:clamp(28px,4vw,54px);border:1px solid var(--ksapz-line);background:linear-gradient(135deg,#f8faf5 0%,#edf4ec 100%)}
.ksapz-dataroom-gateway h2{margin:.45rem 0 1rem!important;max-width:18ch!important;font-size:clamp(2rem,3.5vw,3.65rem)!important;line-height:.96!important;letter-spacing:-.045em}
.ksapz-dataroom-gateway>div>p:last-child{max-width:700px;margin:0;color:var(--ksapz-muted);line-height:1.65}
.ksapz-dataroom-protocol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid #c9d4ce;background:#fff}
.ksapz-dataroom-protocol>div{min-width:0;padding:18px;border-right:1px solid #d8e0db}
.ksapz-dataroom-protocol>div:last-child{border-right:0}
.ksapz-dataroom-protocol span{display:block;color:var(--ksapz-primary);font-size:.65rem;font-weight:900;letter-spacing:.12em}
.ksapz-dataroom-protocol strong{display:block;margin:10px 0 7px;font-size:.9rem;color:#0a2d25}
.ksapz-dataroom-protocol small{display:block;color:#667a71;font-size:.72rem;line-height:1.45}
.ksapz-data-room-form{display:block!important}
.ksapz-dataroom-workbench{display:grid;grid-template-columns:260px minmax(0,1fr);min-width:0;border:1px solid var(--ksapz-line);background:#fff;box-shadow:0 24px 60px rgba(13,52,43,.08)}
.ksapz-dataroom-steps{background:#0b3028;color:#fff;padding:16px;display:grid;align-content:start;gap:8px}
.ksapz-dataroom-steps button{appearance:none;display:grid;grid-template-columns:40px minmax(0,1fr);gap:2px 12px;min-width:0;padding:16px;border:1px solid rgba(255,255,255,.12);background:transparent;color:#dce8e3;text-align:left;cursor:pointer}
.ksapz-dataroom-steps button span{grid-row:1/3;color:#45bea7;font-size:.7rem;font-weight:900;letter-spacing:.08em}
.ksapz-dataroom-steps button strong{font-size:.84rem;line-height:1.25;color:inherit}
.ksapz-dataroom-steps button small{display:block;color:#8ba99f;font-size:.68rem;line-height:1.35}
.ksapz-dataroom-steps button.is-active,.ksapz-dataroom-steps button:hover,.ksapz-dataroom-steps button:focus-visible{background:#45bea7;color:#06271f;border-color:#45bea7}
.ksapz-dataroom-steps button.is-active span,.ksapz-dataroom-steps button.is-active small,.ksapz-dataroom-steps button:hover span,.ksapz-dataroom-steps button:hover small,.ksapz-dataroom-steps button:focus-visible span,.ksapz-dataroom-steps button:focus-visible small{color:#0a493d}
.ksapz-dataroom-panels{min-width:0;padding:clamp(24px,4vw,48px)}
.ksapz-dataroom-panel[hidden]{display:none!important}
.ksapz-dataroom-panel{min-width:0}
.ksapz-dataroom-panel-head{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(240px,.65fr);gap:32px;align-items:end;margin-bottom:28px;padding-bottom:22px;border-bottom:1px solid var(--ksapz-line)}
.ksapz-dataroom-panel-head h3{margin:.35rem 0 0;max-width:22ch;font-size:clamp(1.7rem,3vw,3rem);line-height:1;letter-spacing:-.04em;color:#0a2d25}
.ksapz-dataroom-panel-head>p{margin:0;color:var(--ksapz-muted);font-size:.8rem;line-height:1.55}
.ksapz-dataroom-panel-head>p strong{color:#0a2d25}
.ksapz-dataroom-record-tools{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.35fr);gap:12px;margin-bottom:16px}
.ksapz-dataroom-record-tools label{display:grid;gap:7px;color:#526b62;font-size:.68rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.ksapz-dataroom-record-tools input,.ksapz-dataroom-record-tools select{width:100%;min-width:0;padding:13px 14px;border:1px solid #bdccc4;background:#f9fbf8;color:#0d3028;font:inherit;font-size:.82rem;letter-spacing:0;text-transform:none}
.ksapz-document-selection{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important;padding:0!important;border:0!important;min-inline-size:0!important}
.ksapz-document-selection>[data-dr-record]{position:relative;display:grid!important;grid-template-columns:22px minmax(0,1fr)!important;gap:12px!important;align-items:start!important;min-width:0!important;min-height:132px!important;width:auto!important;padding:16px!important;border:1px solid #ccd7d1!important;background:#fbfcfa!important;cursor:pointer!important;transition:.2s ease!important}
.ksapz-document-selection>[data-dr-record]:hover{border-color:#45bea7!important;transform:translateY(-2px)}
.ksapz-document-selection>[data-dr-record]:has(input:checked){background:#e9f7f2!important;border-color:#16816d!important;box-shadow:inset 4px 0 0 #45bea7}
.ksapz-document-selection>[data-dr-record][hidden]{display:none!important}
.ksapz-document-selection>[data-dr-record] input{width:17px!important;height:17px!important;min-width:17px!important;margin:2px 0 0!important}
.ksapz-dataroom-record-copy{display:block!important;min-width:0!important;width:auto!important;white-space:normal!important;writing-mode:horizontal-tb!important;word-break:normal!important;overflow-wrap:normal!important}
.ksapz-dataroom-record-copy small{display:block!important;margin:0 0 9px!important;color:#16816d!important;font-size:.57rem!important;font-style:normal!important;font-weight:900!important;letter-spacing:.09em!important;text-transform:uppercase!important;white-space:normal!important;writing-mode:horizontal-tb!important;word-break:normal!important;overflow-wrap:normal!important}
.ksapz-dataroom-record-copy strong{display:block!important;width:auto!important;font-size:.85rem!important;line-height:1.25!important;color:#0c2d25!important;white-space:normal!important;writing-mode:horizontal-tb!important;word-break:normal!important;overflow-wrap:break-word!important}
.ksapz-dataroom-record-copy em{display:block;margin-top:12px;color:#73867e;font-size:.63rem;font-style:normal;line-height:1.35;white-space:normal;word-break:normal;overflow-wrap:break-word}
.ksapz-dataroom-review-note{margin-bottom:14px;padding:18px 20px;border-left:4px solid #45bea7;background:#eff6f1}
.ksapz-dataroom-review-note strong{display:block;color:#0a2d25;font-size:.78rem}
.ksapz-dataroom-review-note p{margin:6px 0 0;color:#5f736a;font-size:.78rem;line-height:1.55}
.ksapz-dataroom-panel .ksapz-consent{display:grid!important;grid-template-columns:22px minmax(0,1fr)!important;gap:12px!important;align-items:start!important;padding:15px 17px!important;margin-top:10px;border:1px solid #ccd7d1!important;background:#fff!important}
.ksapz-dataroom-panel .ksapz-consent input{width:17px;height:17px;margin-top:2px}
.ksapz-dataroom-panel .ksapz-consent span{display:block!important;min-width:0!important;white-space:normal!important;writing-mode:horizontal-tb!important;word-break:normal!important;overflow-wrap:break-word!important;line-height:1.5!important;font-size:.78rem}
.ksapz-dataroom-panel-actions{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-top:24px;padding-top:20px;border-top:1px solid var(--ksapz-line)}
.ksapz-dataroom-panel-actions>[data-dr-message]{color:#9a4c28;font-size:.76rem;font-weight:800}
.ksapz-dataroom-panel-actions .ksapz-button{min-width:150px;justify-content:center}

/* route perspective spacing */
.ksapz-route-view{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:28px;align-items:end;padding:20px;border:1px solid rgba(255,255,255,.14);background:#0b3028}
.ksapz-route-view>div:first-child>span{display:block;color:#45bea7;font-size:.6rem;font-weight:900;letter-spacing:.1em;margin-bottom:7px}
.ksapz-route-view>div:first-child>strong{display:block;color:#fff;font-size:1rem;line-height:1.25;margin-bottom:7px}
.ksapz-route-view>div:first-child>p{margin:0;color:#c4d2cd;font-size:.78rem;line-height:1.5}
.ksapz-route-view-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-left:1px solid rgba(255,255,255,.14);border-top:1px solid rgba(255,255,255,.14)}
.ksapz-route-view-metrics article{min-width:0;padding:12px;border-right:1px solid rgba(255,255,255,.14);border-bottom:1px solid rgba(255,255,255,.14)}
.ksapz-route-view-metrics span{display:block;color:#7fa49a;font-size:.55rem;font-weight:900;letter-spacing:.08em}
.ksapz-route-view-metrics strong{display:block;margin-top:6px;color:#fff;font-size:.85rem;line-height:1.2}

/* compact institutional footer */
.ksapz-footer-v223{background:#06261f;color:#dce7e2;border-top:4px solid #45bea7}
.ksapz-footer-main{display:grid;grid-template-columns:minmax(260px,1.05fr) minmax(320px,1.1fr) minmax(260px,.85fr);gap:clamp(28px,5vw,72px);align-items:start;padding-block:48px 38px}
.ksapz-footer-identity .ksapz-brand{margin-bottom:22px}
.ksapz-footer-proposition{margin:0;color:#45bea7;font-size:.84rem;font-weight:900;letter-spacing:.02em}
.ksapz-footer-copy{max-width:390px;margin:10px 0 0;color:#a9bcb4;font-size:.78rem;line-height:1.65}
.ksapz-footer-navigation{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}
.ksapz-footer-heading{margin:0 0 14px!important;color:#45bea7!important;font-size:.64rem!important;line-height:1.2!important;font-weight:900!important;letter-spacing:.13em!important;text-transform:uppercase!important}
.ksapz-footer-navigation ul{list-style:none;margin:0;padding:0}
.ksapz-footer-navigation li{margin:0 0 8px}
.ksapz-footer-navigation a,.ksapz-footer-office a{color:#dce7e2;text-decoration:none;font-size:.76rem;line-height:1.4}
.ksapz-footer-navigation a:hover,.ksapz-footer-navigation a:focus-visible,.ksapz-footer-office a:hover,.ksapz-footer-office a:focus-visible{color:#45bea7}
.ksapz-footer-office>p:not(.ksapz-footer-heading){margin:10px 0 0;color:#a9bcb4;font-size:.76rem;line-height:1.55}
.ksapz-footer-email{display:inline-block;margin-top:2px;font-weight:800}
.ksapz-footer-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.ksapz-footer-actions .ksapz-button{min-height:40px;padding:10px 14px;font-size:.7rem}
.ksapz-footer-bottom-v223{display:grid;grid-template-columns:auto 1fr auto;gap:24px;align-items:center;padding-block:18px;border-top:1px solid rgba(255,255,255,.14);color:#829b91;font-size:.62rem}
.ksapz-footer-bottom-v223 p{margin:0}
.ksapz-footer-bottom-v223 nav{display:flex;justify-content:center;flex-wrap:wrap;gap:18px}
.ksapz-footer-bottom-v223 a{color:#9fb3ab;text-decoration:none}
.ksapz-footer-bottom-v223>span{text-align:right}

@media(max-width:1040px){
 .ksapz-dataroom-gateway{grid-template-columns:1fr}
 .ksapz-dataroom-workbench{grid-template-columns:1fr}
 .ksapz-dataroom-steps{grid-template-columns:repeat(3,1fr)}
 .ksapz-dataroom-steps button{grid-template-columns:30px 1fr;padding:12px}
 .ksapz-dataroom-steps button small{display:none}
 .ksapz-document-selection{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .ksapz-footer-main{grid-template-columns:1fr 1fr}
 .ksapz-footer-identity{grid-column:1/-1}
 .ksapz-footer-bottom-v223{grid-template-columns:1fr;gap:10px;text-align:left}
 .ksapz-footer-bottom-v223 nav{justify-content:flex-start}
 .ksapz-footer-bottom-v223>span{text-align:left}
}
@media(max-width:720px){
 .ksapz-dataroom-protocol{grid-template-columns:1fr}
 .ksapz-dataroom-protocol>div{border-right:0;border-bottom:1px solid #d8e0db}
 .ksapz-dataroom-protocol>div:last-child{border-bottom:0}
 .ksapz-dataroom-steps{grid-template-columns:1fr;padding:10px}
 .ksapz-dataroom-steps button{grid-template-columns:30px 1fr}
 .ksapz-dataroom-steps button strong{font-size:.76rem}
 .ksapz-dataroom-panel-head,.ksapz-dataroom-record-tools{grid-template-columns:1fr;gap:14px}
 .ksapz-document-selection{grid-template-columns:1fr!important}
 .ksapz-dataroom-panels{padding:20px 16px}
 .ksapz-dataroom-panel-actions{align-items:stretch;flex-direction:column-reverse}
 .ksapz-dataroom-panel-actions .ksapz-button{width:100%}
 .ksapz-route-view{grid-template-columns:1fr}
 .ksapz-route-view-metrics{grid-template-columns:1fr 1fr 1fr}
 .ksapz-footer-main{grid-template-columns:1fr;padding-block:38px 30px}
 .ksapz-footer-identity{grid-column:auto}
 .ksapz-footer-navigation{grid-template-columns:1fr 1fr}
}
@media(max-width:480px){
 .ksapz-dataroom-gateway{padding:22px 18px}
 .ksapz-dataroom-gateway h2{font-size:2.15rem!important}
 .ksapz-route-view-metrics,.ksapz-footer-navigation{grid-template-columns:1fr}
}

/* v2.0.24 - annual programme roadmap and container resilience */
.ksapz-sp-project-card{grid-template-columns:118px minmax(0,1fr);align-items:start;overflow:hidden}
.ksapz-sp-project-card>span{grid-row:1/4;display:inline-flex;align-items:center;justify-content:center;min-width:0;width:max-content;max-width:112px;padding:8px 9px;border:1px solid #aebfb6;background:#f8fbf6;color:#4f8f43;font-size:.62rem;line-height:1.1;letter-spacing:.04em;white-space:nowrap;overflow-wrap:normal;word-break:normal}
.ksapz-sp-project-card strong,.ksapz-sp-project-card p,.ksapz-sp-project-card small{min-width:0;max-width:100%;overflow-wrap:break-word;word-break:normal;white-space:normal}
.ksapz-sp-project-card strong{font-size:clamp(.9rem,1.15vw,1.02rem);line-height:1.25}
.ksapz-sp-pulse-project strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;word-break:normal;overflow-wrap:normal}
.ksapz-sp-map-section,.ksapz-sp-route,.ksapz-sp-guide-main,.ksapz-sp-project-list,.ksapz-sp-programme-map{min-width:0}
.ksapz-sp-map-section h3,.ksapz-sp-route h3,.ksapz-sp-guide-main h3,.ksapz-sp-guide-main p,.ksapz-sp-guide-main strong{overflow-wrap:break-word;word-break:normal}

.ksapz-sp-roadmap-v224{margin-top:28px;border:1px solid #31594e;background:#082d25;color:#edf5f1;overflow:hidden}
.ksapz-sp-roadmap-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;padding:18px 20px;border-bottom:1px solid rgba(255,255,255,.14)}
.ksapz-sp-roadmap-head>div:first-child{min-width:0}
.ksapz-sp-roadmap-head span{display:block;color:#a7d56e;font-size:.62rem;font-weight:900;letter-spacing:.12em}
.ksapz-sp-roadmap-head strong{display:block;margin-top:5px;color:#fff;font-size:clamp(1rem,1.7vw,1.35rem);line-height:1.2;overflow-wrap:break-word;word-break:normal}
.ksapz-sp-roadmap-head small{display:block;margin-top:5px;color:#8ca99f;font-size:.66rem}
.ksapz-sp-roadmap-controls{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.ksapz-sp-roadmap-controls button{appearance:none;border:1px solid #507a6f;background:#0d4035;color:#fff;padding:10px 14px;font-weight:800;cursor:pointer}
.ksapz-sp-roadmap-controls button:first-child{background:#45bea7;color:#06261f;border-color:#45bea7}
.ksapz-sp-roadmap-controls button:hover,.ksapz-sp-roadmap-controls button:focus-visible{outline:2px solid #d6a04b;outline-offset:2px}
.ksapz-sp-roadmap-waves{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-bottom:1px solid rgba(255,255,255,.12)}
.ksapz-sp-roadmap-waves button{appearance:none;min-width:0;min-height:84px;padding:12px 10px;border:0;border-right:1px solid rgba(255,255,255,.1);background:#0a332a;color:#d9e7e1;text-align:left;cursor:pointer}
.ksapz-sp-roadmap-waves button:last-child{border-right:0}
.ksapz-sp-roadmap-waves button.is-active{background:#124d3f;box-shadow:inset 0 4px 0 #45bea7}
.ksapz-sp-roadmap-waves span{font-size:.54rem;color:#a7d56e;font-weight:900;letter-spacing:.08em}
.ksapz-sp-roadmap-waves strong{display:block;margin-top:5px;color:#fff;font-size:.78rem}
.ksapz-sp-roadmap-waves small{display:block;margin-top:5px;color:#92aaa1;font-size:.55rem;line-height:1.25;overflow-wrap:break-word}
.ksapz-sp-roadmap-years{display:grid;grid-template-columns:repeat(16,minmax(0,1fr));gap:1px;padding:1px;background:rgba(255,255,255,.12)}
.ksapz-sp-roadmap-years button{appearance:none;position:relative;min-width:0;height:48px;border:0;background:#0d382f;color:#9fb8ae;cursor:pointer;overflow:hidden}
.ksapz-sp-roadmap-years button span{position:relative;z-index:2;font-size:.58rem;font-weight:800}
.ksapz-sp-roadmap-years button i{position:absolute;left:0;bottom:0;width:var(--year-progress,0%);height:4px;background:#45bea7}
.ksapz-sp-roadmap-years button[aria-pressed="true"]{background:#eef4ed;color:#082d25;box-shadow:inset 0 0 0 2px #d6a04b}
.ksapz-sp-roadmap-years button[aria-pressed="true"] i{height:6px;background:#4f8f43}
.ksapz-sp-roadmap-detail{display:grid;grid-template-columns:180px minmax(260px,.9fr) minmax(0,1.75fr);min-width:0}
.ksapz-sp-roadmap-year-block{position:relative;padding:20px;border-right:1px solid rgba(255,255,255,.14);background:#0a342b;min-width:0}
.ksapz-sp-roadmap-year-block small,.ksapz-sp-roadmap-achievement>small,.ksapz-sp-roadmap-metrics article small{color:#45bea7;font-size:.55rem;font-weight:900;letter-spacing:.1em}
.ksapz-sp-roadmap-year-block strong{display:block;margin:6px 0;color:#fff;font-size:2.2rem;line-height:1}
.ksapz-sp-roadmap-year-block span{display:block;color:#9bb1a8;font-size:.66rem;line-height:1.4}
.ksapz-sp-roadmap-year-block i{display:block;position:relative;width:100%;height:7px;margin-top:18px;background:#174a3e;overflow:hidden}
.ksapz-sp-roadmap-year-block i::after{content:"";display:block;width:var(--roadmap-progress,0%);height:100%;background:#45bea7}
.ksapz-sp-roadmap-achievement{padding:20px;border-right:1px solid rgba(255,255,255,.14);min-width:0}
.ksapz-sp-roadmap-achievement h4{margin:7px 0 10px;color:#fff;font-size:clamp(1rem,1.5vw,1.25rem);line-height:1.22;overflow-wrap:break-word}
.ksapz-sp-roadmap-achievement ul{margin:0;padding-left:18px;color:#a9bdb5;font-size:.66rem;line-height:1.45}
.ksapz-sp-roadmap-achievement li+li{margin-top:5px}
.ksapz-sp-roadmap-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));min-width:0}
.ksapz-sp-roadmap-metrics article{padding:16px 18px;border-right:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12);min-width:0}
.ksapz-sp-roadmap-metrics article:nth-child(even){border-right:0}
.ksapz-sp-roadmap-metrics article:nth-last-child(-n+2){border-bottom:0}
.ksapz-sp-roadmap-metrics strong{display:block;margin:7px 0 4px;color:#fff;font-size:clamp(1rem,1.45vw,1.25rem);line-height:1.1;overflow-wrap:break-word;word-break:normal}
.ksapz-sp-roadmap-metrics span{display:block;color:#91a9a0;font-size:.6rem;line-height:1.35;overflow-wrap:break-word}
.ksapz-sp-roadmap-note{margin:0;padding:10px 18px;border-top:1px solid rgba(255,255,255,.12);color:#809b91;font-size:.58rem;line-height:1.4}

@media(max-width:1180px){
  .ksapz-sp-roadmap-waves{grid-template-columns:repeat(4,minmax(0,1fr))}
  .ksapz-sp-roadmap-waves button:nth-child(4n){border-right:0}
  .ksapz-sp-roadmap-years{grid-template-columns:repeat(10,minmax(0,1fr))}
  .ksapz-sp-roadmap-detail{grid-template-columns:150px minmax(0,1fr)}
  .ksapz-sp-roadmap-metrics{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.14)}
  .ksapz-sp-roadmap-achievement{border-right:0}
}
@media(max-width:780px){
  .ksapz-sp-project-card{grid-template-columns:1fr;gap:8px;padding:14px}
  .ksapz-sp-project-card>span{grid-row:auto;width:max-content;max-width:100%;font-size:.6rem}
  .ksapz-sp-roadmap-head{grid-template-columns:1fr}
  .ksapz-sp-roadmap-controls{justify-content:flex-start}
  .ksapz-sp-roadmap-waves{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ksapz-sp-roadmap-waves button{border-bottom:1px solid rgba(255,255,255,.1)}
  .ksapz-sp-roadmap-years{grid-template-columns:repeat(5,minmax(0,1fr))}
  .ksapz-sp-roadmap-detail{grid-template-columns:1fr}
  .ksapz-sp-roadmap-year-block,.ksapz-sp-roadmap-achievement{border-right:0;border-bottom:1px solid rgba(255,255,255,.14)}
  .ksapz-sp-roadmap-metrics{grid-column:auto;grid-template-columns:1fr}
  .ksapz-sp-roadmap-metrics article{border-right:0!important;border-bottom:1px solid rgba(255,255,255,.12)!important}
  .ksapz-sp-roadmap-metrics article:last-child{border-bottom:0!important}
}


/* v2.0.25 - Controlled Data Room form visibility and interaction refinement */
.ksapz-dataroom-request-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;min-width:0}
.ksapz-dataroom-input-card{position:relative;min-width:0;padding:16px;border:1px solid #c7d4ce;background:#f8fbf8;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease,transform .18s ease}
.ksapz-dataroom-input-card:focus-within{border-color:#16816d;background:#fff;box-shadow:0 0 0 3px rgba(69,190,167,.12);transform:translateY(-1px)}
.ksapz-dataroom-input-card.is-complete{border-color:#8fbeb1;box-shadow:inset 3px 0 0 #45bea7}
.ksapz-dataroom-input-card label{display:flex!important;justify-content:space-between;gap:12px;align-items:center;margin:0 0 9px!important;color:#0a2d25!important;font-size:.69rem!important;font-weight:900!important;letter-spacing:.04em!important;text-transform:none!important}
.ksapz-dataroom-input-card label span{color:#0a2d25!important}
.ksapz-dataroom-input-card label b{color:#a33d2f;font-size:.8rem}
.ksapz-dataroom-input-card input[type="text"],.ksapz-dataroom-input-card input[type="email"],.ksapz-dataroom-input-card textarea{display:block!important;position:relative!important;inset:auto!important;float:none!important;opacity:1!important;visibility:visible!important;clip:auto!important;clip-path:none!important;transform:none!important;width:100%!important;max-width:none!important;min-width:0!important;height:auto!important;min-height:54px!important;margin:0!important;padding:13px 14px!important;border:1px solid #9fb6ac!important;border-radius:0!important;background:#fff!important;color:#0a2d25!important;box-shadow:inset 0 1px 0 rgba(10,45,37,.03)!important;font:inherit!important;font-size:.88rem!important;line-height:1.35!important;letter-spacing:0!important;text-transform:none!important;writing-mode:horizontal-tb!important;-webkit-text-fill-color:#0a2d25!important;caret-color:#0a2d25!important}
.ksapz-dataroom-input-card textarea{min-height:142px!important;resize:vertical!important}
.ksapz-dataroom-input-card input::placeholder,.ksapz-dataroom-input-card textarea::placeholder{color:#86978f!important;opacity:1!important}
.ksapz-dataroom-input-card input:focus,.ksapz-dataroom-input-card textarea:focus{outline:2px solid #45bea7!important;outline-offset:0!important;border-color:#16816d!important}
.ksapz-dataroom-input-card small{display:block;margin-top:8px;color:#6e8178!important;font-size:.64rem!important;line-height:1.35}
.ksapz-dataroom-input-card.is-purpose{grid-column:1/-1}
.ksapz-dataroom-purpose-meta{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-top:8px}
.ksapz-dataroom-purpose-meta small{margin:0!important}
.ksapz-dataroom-purpose-meta strong{color:#5d746a;font-size:.63rem;font-weight:800}
.ksapz-dataroom-progress{min-width:220px;padding:13px 15px;border:1px solid #c7d4ce;background:#f8fbf8}
.ksapz-dataroom-progress span{display:block;color:#667b72;font-size:.6rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.ksapz-dataroom-progress strong{display:block;margin:6px 0 8px;color:#0a2d25;font-size:.9rem}
.ksapz-dataroom-progress i{display:block;height:4px;background:#dbe5e0;overflow:hidden}
.ksapz-dataroom-progress i em{display:block;width:0;height:100%;background:#45bea7;transition:width .22s ease}
.ksapz-dataroom-record-tools{grid-template-columns:minmax(0,1fr) minmax(220px,.35fr) auto!important;align-items:end}
.ksapz-dataroom-record-actions{display:flex;gap:8px;align-items:end}
.ksapz-dataroom-record-actions button{min-height:44px;padding:10px 12px;border:1px solid #9fb6ac;background:#fff;color:#0a2d25;font:inherit;font-size:.7rem;font-weight:800;cursor:pointer;white-space:nowrap}
.ksapz-dataroom-record-actions button:hover,.ksapz-dataroom-record-actions button:focus-visible{border-color:#16816d;background:#eaf5f0;outline:2px solid rgba(69,190,167,.22)}
.ksapz-dataroom-request-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin-bottom:16px;border:1px solid #cbd6d0;background:#cbd6d0}
.ksapz-dataroom-request-summary article{min-width:0;padding:16px 18px;background:#fff}
.ksapz-dataroom-request-summary article.is-wide{grid-column:1/-1}
.ksapz-dataroom-request-summary span{display:block;margin-bottom:7px;color:#16816d;font-size:.58rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.ksapz-dataroom-request-summary strong{display:block;color:#0a2d25;font-size:.9rem;line-height:1.35;overflow-wrap:break-word}
.ksapz-dataroom-request-summary small{display:block;margin-top:5px;color:#6e8178;font-size:.7rem;line-height:1.4;overflow-wrap:break-word}
.ksapz-dataroom-request-summary p{margin:0;color:#40584f;font-size:.78rem;line-height:1.55;white-space:pre-wrap;overflow-wrap:break-word}
@media (max-width:900px){.ksapz-dataroom-request-grid{grid-template-columns:1fr}.ksapz-dataroom-input-card.is-purpose{grid-column:auto}.ksapz-dataroom-record-tools{grid-template-columns:1fr!important}.ksapz-dataroom-record-actions{justify-content:flex-start}}
@media (max-width:620px){.ksapz-dataroom-request-summary{grid-template-columns:1fr}.ksapz-dataroom-request-summary article.is-wide{grid-column:auto}.ksapz-dataroom-record-actions{display:grid;grid-template-columns:1fr 1fr}.ksapz-dataroom-record-actions button{white-space:normal}}

/* v2.0.26 - Explicit Controlled Data Room form controls */
.ksapz-dataroom-field{
  min-width:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  transform:none!important;
  display:grid!important;
  gap:8px!important;
}
.ksapz-dataroom-field:focus-within{
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  transform:none!important;
}
.ksapz-dataroom-field.is-complete{box-shadow:none!important;border:0!important}
.ksapz-dataroom-field label{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:5px!important;
  margin:0!important;
  color:#0a2d25!important;
  font-size:.72rem!important;
  font-weight:900!important;
  line-height:1.25!important;
  letter-spacing:.02em!important;
  text-transform:none!important;
}
.ksapz-dataroom-field label span{color:#0a2d25!important}
.ksapz-dataroom-field label b{color:#a33d2f!important}
.ksapz-dataroom-field [data-dr-visible-input]{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  position:static!important;
  float:none!important;
  clear:none!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  height:54px!important;
  min-height:54px!important;
  padding:0 14px!important;
  margin:0!important;
  border:1px solid #8fa69d!important;
  border-radius:0!important;
  background:#fff!important;
  color:#0a2d25!important;
  -webkit-text-fill-color:#0a2d25!important;
  caret-color:#0a2d25!important;
  box-shadow:none!important;
  font-family:inherit!important;
  font-size:16px!important;
  font-weight:400!important;
  line-height:1.3!important;
  overflow:hidden!important;
  resize:none!important;
  white-space:nowrap!important;
  text-indent:0!important;
  letter-spacing:normal!important;
  text-transform:none!important;
  writing-mode:horizontal-tb!important;
  clip:auto!important;
  clip-path:none!important;
  transform:none!important;
  box-sizing:border-box!important;
  -webkit-appearance:none!important;
  appearance:none!important;
}
.ksapz-dataroom-field [data-dr-visible-input]:hover{border-color:#668f82!important}
.ksapz-dataroom-field [data-dr-visible-input]:focus{
  border-color:#14725f!important;
  outline:3px solid rgba(69,190,167,.22)!important;
  outline-offset:0!important;
  box-shadow:0 0 0 1px #45bea7 inset!important;
}
.ksapz-dataroom-field [data-dr-visible-input]::placeholder{
  color:#74877f!important;
  -webkit-text-fill-color:#74877f!important;
  opacity:1!important;
}
.ksapz-dataroom-field small{
  display:block!important;
  margin:0!important;
  color:#6e8178!important;
  font-size:.65rem!important;
  line-height:1.35!important;
}
.ksapz-dataroom-field.is-purpose{grid-column:1/-1!important}
.ksapz-dataroom-field.is-purpose textarea{
  display:block!important;
  width:100%!important;
  min-height:142px!important;
  padding:13px 14px!important;
  border:1px solid #8fa69d!important;
  background:#fff!important;
  color:#0a2d25!important;
  -webkit-text-fill-color:#0a2d25!important;
  caret-color:#0a2d25!important;
  font-family:inherit!important;
  font-size:16px!important;
  line-height:1.45!important;
  box-sizing:border-box!important;
  resize:vertical!important;
}
@media (max-width:900px){.ksapz-dataroom-field.is-purpose{grid-column:auto!important}}


/* v2.0.27 - Investor portal access and functional workspace tabs */
.ksapz-portal-access{grid-template-columns:1fr!important;gap:28px!important}
.ksapz-portal-access-intro{position:static!important;max-width:900px}
.ksapz-portal-access-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:18px;align-items:start}
.ksapz-portal-login-card,.ksapz-portal-signup-card{border:1px solid var(--ksapz-line);background:#fff;padding:28px;min-width:0}
.ksapz-portal-login-card h3,.ksapz-portal-signup-card h3{margin:.2rem 0 .8rem;font-size:clamp(1.5rem,2.8vw,2.35rem);line-height:1}
.ksapz-portal-access-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin-top:18px}
.ksapz-portal-access-form>label:not(.ksapz-check){display:grid;gap:7px;min-width:0;color:#0a2d25;font-size:.72rem;font-weight:900}
.ksapz-portal-access-form .is-wide{grid-column:1/-1}
.ksapz-portal-access-form input[type="text"],.ksapz-portal-access-form input[type="email"],.ksapz-portal-access-form textarea{
 display:block!important;visibility:visible!important;opacity:1!important;position:static!important;width:100%!important;max-width:100%!important;min-width:0!important;
 border:1px solid #8fa69d!important;border-radius:0!important;background:#fff!important;color:#0a2d25!important;-webkit-text-fill-color:#0a2d25!important;
 font:inherit!important;font-size:16px!important;box-sizing:border-box!important;box-shadow:none!important;
}
.ksapz-portal-access-form input[type="text"],.ksapz-portal-access-form input[type="email"]{height:50px!important;padding:0 13px!important}
.ksapz-portal-access-form textarea{min-height:112px!important;padding:12px 13px!important;resize:vertical!important}
.ksapz-portal-access-form input:focus,.ksapz-portal-access-form textarea:focus{outline:3px solid rgba(69,190,167,.22)!important;border-color:#14725f!important}
.ksapz-portal-tabs{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));position:sticky;top:104px;z-index:20;border:1px solid var(--ksapz-line);background:#fff}
.ksapz-portal-tabs button{appearance:none;border:0;border-right:1px solid var(--ksapz-line);background:#fff;color:var(--ksapz-ink);padding:14px 18px;font-family:inherit;font-size:.77rem;font-weight:900;letter-spacing:.045em;text-transform:uppercase;cursor:pointer;text-align:left}
.ksapz-portal-tabs button:last-child{border-right:0}
.ksapz-portal-tabs button:hover,.ksapz-portal-tabs button:focus-visible{background:#edf7f3}
.ksapz-portal-tabs button.is-active{background:#0a3028;color:#fff;box-shadow:inset 0 -3px 0 #45bea7}
.ksapz-portal-section[data-portal-panel][hidden]{display:none!important}
.ksapz-portal-section[data-portal-panel].is-active{display:grid!important}
@media(max-width:860px){.ksapz-portal-access-grid{grid-template-columns:1fr}.ksapz-portal-access-form{grid-template-columns:1fr}.ksapz-portal-access-form .is-wide{grid-column:auto}.ksapz-portal-tabs{grid-template-columns:repeat(2,minmax(0,1fr));position:static}.ksapz-portal-tabs button:nth-child(2){border-right:0}.ksapz-portal-tabs button{border-bottom:1px solid var(--ksapz-line)}}
.ksapz-portal-login input[type="text"],.ksapz-portal-login input[type="password"]{
 display:block!important;visibility:visible!important;opacity:1!important;width:100%!important;max-width:100%!important;height:50px!important;padding:0 13px!important;
 border:1px solid #8fa69d!important;border-radius:0!important;background:#fff!important;color:#0a2d25!important;-webkit-text-fill-color:#0a2d25!important;box-sizing:border-box!important;font-size:16px!important;
}
.ksapz-portal-login input:focus{outline:3px solid rgba(69,190,167,.22)!important;border-color:#14725f!important}

/* v2.0.28 - moving programme journey and current 3D masterplan visuals */
.ksapz-journey-hero{position:relative;min-height:clamp(760px,88vh,940px);overflow:hidden;background:#0b241e;color:#fff;isolation:isolate}
.ksapz-journey-viewport{position:absolute;inset:0;overflow:hidden;background:#0b241e}
.ksapz-journey-track{display:flex;width:100%;height:100%;transform:translate3d(0,0,0);transition:transform .9s cubic-bezier(.22,.61,.36,1);will-change:transform}
.ksapz-journey-slide{position:relative;flex:0 0 100%;height:100%;overflow:hidden;background:#17362e;color:#fff;text-decoration:none}
.ksapz-journey-slide>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(1.02);transition:transform 8s linear;filter:saturate(.92) contrast(1.02)}
.ksapz-journey-slide.is-active>img{transform:scale(1.085)}
.ksapz-journey-shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(4,25,20,.93) 0%,rgba(4,25,20,.78) 39%,rgba(4,25,20,.36) 67%,rgba(4,25,20,.42) 100%),linear-gradient(180deg,rgba(4,25,20,.12) 0%,rgba(4,25,20,.18) 58%,rgba(4,25,20,.72) 100%)}
.ksapz-journey-slide-caption{position:absolute;right:max(4vw,40px);bottom:118px;z-index:1;display:grid;grid-template-columns:48px minmax(0,260px);gap:14px;align-items:start;padding:18px 20px;border:1px solid rgba(255,255,255,.23);background:rgba(7,31,25,.62);backdrop-filter:blur(9px);pointer-events:auto;color:#fff;text-decoration:none}
.ksapz-journey-slide-caption>b{display:grid;place-items:center;width:42px;height:42px;border:1px solid #45bea7;color:#45bea7;font-size:.68rem;letter-spacing:.06em}
.ksapz-journey-slide-caption strong,.ksapz-journey-slide-caption small{display:block}.ksapz-journey-slide-caption strong{font-size:.96rem;line-height:1.2}.ksapz-journey-slide-caption small{margin-top:5px;color:#c6d8d1;font-size:.63rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.ksapz-journey-overlay{position:relative;z-index:3;min-height:clamp(760px,88vh,940px);display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.58fr);gap:clamp(45px,8vw,120px);align-items:center;padding-top:80px;padding-bottom:145px;pointer-events:none}
.ksapz-journey-primary,.ksapz-journey-current{pointer-events:auto}.ksapz-journey-primary{max-width:820px}.ksapz-journey-primary .ksapz-eyebrow{color:#63d0bb}.ksapz-journey-primary h1{max-width:820px;margin:0 0 28px;color:#fff;font-family:var(--ksapz-serif);font-size:clamp(3.55rem,6.5vw,7rem);line-height:.91;letter-spacing:-.045em}.ksapz-journey-primary .ksapz-lead{max-width:690px;color:#d7e3de;font-size:clamp(1rem,1.35vw,1.2rem)}
.ksapz-journey-primary .ksapz-button.is-primary{background:#45bea7;border-color:#45bea7;color:#102f28}.ksapz-journey-primary .ksapz-button.is-primary:hover{background:#fff;border-color:#fff}.ksapz-journey-primary .ksapz-button.is-quiet{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.38);color:#fff}.ksapz-journey-primary .ksapz-button.is-quiet:hover{background:#fff;color:#102f28}.ksapz-journey-primary .ksapz-hero-basis{color:#c0d0ca}
.ksapz-journey-current{align-self:end;margin-bottom:36px;padding:26px 28px 28px;border-top:4px solid #45bea7;background:rgba(6,31,25,.76);backdrop-filter:blur(10px);box-shadow:0 22px 60px rgba(0,0,0,.16)}
.ksapz-journey-current>div{display:flex;justify-content:space-between;gap:18px;align-items:center;color:#91b8aa;font-size:.62rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.ksapz-journey-current>div>span{color:#45bea7}.ksapz-journey-current h2{margin:28px 0 14px;color:#fff;font-size:clamp(2rem,3vw,3.35rem);line-height:.96}.ksapz-journey-current p{margin:0 0 19px;color:#cad8d2;font-size:.86rem;line-height:1.62}.ksapz-journey-current .ksapz-text-link{color:#fff}.ksapz-journey-current .ksapz-text-link::after{background:#45bea7}
.ksapz-journey-controls{position:absolute;left:50%;bottom:0;z-index:5;transform:translateX(-50%);display:grid;grid-template-columns:auto minmax(0,1fr);align-items:stretch;border-top:1px solid rgba(255,255,255,.2);pointer-events:auto}
.ksapz-journey-buttons{display:flex}.ksapz-journey-buttons button{min-width:74px;border:0;border-right:1px solid rgba(255,255,255,.18);background:rgba(5,28,23,.88);color:#fff;font:inherit;font-size:.65rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em;cursor:pointer}.ksapz-journey-buttons button:hover,.ksapz-journey-buttons button:focus-visible{background:#45bea7;color:#102f28;outline:none}
.ksapz-journey-dots{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));background:rgba(5,28,23,.86);overflow:hidden}.ksapz-journey-dots button{min-height:88px;padding:12px 14px;border:0;border-right:1px solid rgba(255,255,255,.13);background:transparent;color:#a9bdb5;text-align:left;cursor:pointer}.ksapz-journey-dots button:last-child{border-right:0}.ksapz-journey-dots button span,.ksapz-journey-dots button small{display:block}.ksapz-journey-dots button span{margin-bottom:7px;color:#6e9889;font-size:.58rem;font-weight:900;letter-spacing:.08em}.ksapz-journey-dots button small{font-size:.61rem;font-weight:800;line-height:1.25}.ksapz-journey-dots button[aria-selected="true"]{background:#45bea7;color:#102f28}.ksapz-journey-dots button[aria-selected="true"] span{color:#102f28}.ksapz-journey-dots button:focus-visible{outline:2px solid #fff;outline-offset:-3px}

/* The masterplan explorer now prefers the current engineering 3D mesh where one exists. */
.ksapz-node-plan.has-3d-model{background:#edf0e5}.ksapz-model-viewer{display:block;width:100%;height:100%;min-height:inherit;background:#edf0e5;--poster-color:#edf0e5}.ksapz-model-poster{position:absolute;inset:0;display:grid;place-items:center;background:#edf0e5}.ksapz-model-poster img{width:100%;height:100%;object-fit:contain!important}.ksapz-node-plan.has-3d-model>span,.ksapz-node-plan.has-site-context>span{right:18px;max-width:calc(100% - 36px);line-height:1.35;white-space:normal}.ksapz-model-cue{position:absolute;right:18px;top:18px;z-index:4;padding:8px 11px;background:rgba(255,255,255,.9);border:1px solid rgba(16,47,40,.2);color:#27463d;font-size:.58rem;font-weight:850;letter-spacing:.05em;text-transform:uppercase;pointer-events:none}.ksapz-node-plan.has-site-context>img{object-fit:cover!important;object-position:center!important}.ksapz-node-plan.is-record.has-3d-model{height:min(68vh,720px);min-height:520px;aspect-ratio:auto}.ksapz-record-visual .ksapz-model-viewer{min-height:520px}
.ksapz-node-card-image.is-current-visual{background:#edf0e5}.ksapz-node-card-image.is-current-visual img{object-fit:cover}.ksapz-node-card-image.is-current-visual.is-3d img{object-fit:contain;background:#edf0e5}

@media(max-width:1080px){.ksapz-journey-overlay{grid-template-columns:minmax(0,1fr) minmax(280px,.5fr);gap:38px}.ksapz-journey-dots button small{font-size:.56rem}.ksapz-journey-slide-caption{display:none}}
@media(max-width:820px){.ksapz-journey-hero,.ksapz-journey-overlay{min-height:860px}.ksapz-journey-overlay{grid-template-columns:1fr;align-content:center;padding-top:88px;padding-bottom:150px}.ksapz-journey-primary h1{font-size:clamp(3.05rem,12vw,5.5rem)}.ksapz-journey-current{align-self:auto;margin:0;max-width:620px;padding:20px 22px}.ksapz-journey-current h2{margin:18px 0 10px}.ksapz-journey-current p{font-size:.79rem}.ksapz-journey-controls{grid-template-columns:auto minmax(0,1fr);overflow:hidden}.ksapz-journey-dots{grid-template-columns:repeat(6,124px);overflow-x:auto;scrollbar-width:none}.ksapz-journey-dots::-webkit-scrollbar{display:none}.ksapz-journey-dots button{min-height:78px}.ksapz-node-plan.is-record.has-3d-model,.ksapz-record-visual .ksapz-model-viewer{min-height:390px;height:56vh}}
@media(max-width:560px){.ksapz-journey-hero,.ksapz-journey-overlay{min-height:900px}.ksapz-journey-overlay{padding-top:76px;padding-bottom:126px;gap:28px}.ksapz-journey-primary h1{font-size:clamp(2.8rem,14vw,4.4rem)}.ksapz-journey-primary .ksapz-lead{font-size:.93rem}.ksapz-journey-primary .ksapz-hero-actions{margin-top:24px}.ksapz-journey-primary .ksapz-hero-basis{margin-top:24px;font-size:.68rem}.ksapz-journey-current{padding:17px 18px}.ksapz-journey-current p{display:none}.ksapz-journey-controls{grid-template-columns:1fr}.ksapz-journey-buttons{display:none}.ksapz-journey-dots{grid-template-columns:repeat(6,110px)}.ksapz-model-cue{display:none}.ksapz-node-plan.has-3d-model>span,.ksapz-node-plan.has-site-context>span{left:12px;right:12px;bottom:12px;max-width:none;font-size:.54rem}.ksapz-node-plan.is-record.has-3d-model,.ksapz-record-visual .ksapz-model-viewer{min-height:320px;height:48vh}}
@media(prefers-reduced-motion:reduce){.ksapz-journey-track,.ksapz-journey-slide>img{transition:none!important;animation:none!important}.ksapz-journey-slide.is-active>img{transform:none}}
.ksapz-site .screen-reader-text{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

/* v2.0.29 live GLB journey objects. */
.ksapz-journey-model{position:absolute;inset:0;width:100%;height:100%;background:radial-gradient(circle at 70% 40%,#244b40 0%,#102f28 64%,#0b241e 100%);--poster-color:transparent;touch-action:pan-y;z-index:0}
.ksapz-journey-slide.has-live-3d .ksapz-journey-shade{background:linear-gradient(90deg,rgba(4,25,20,.95) 0%,rgba(4,25,20,.76) 33%,rgba(4,25,20,.20) 62%,rgba(4,25,20,.18) 100%),linear-gradient(180deg,rgba(4,25,20,.08) 0%,rgba(4,25,20,.12) 58%,rgba(4,25,20,.66) 100%)}
.ksapz-journey-slide:not(.is-active) .ksapz-journey-model{pointer-events:none}
.ksapz-journey-slide.is-active .ksapz-journey-model{pointer-events:auto}
.ksapz-journey-model::part(default-progress-bar){background:#45bea7}
@media(max-width:760px){.ksapz-journey-model{height:100%;}.ksapz-journey-slide.has-live-3d .ksapz-journey-shade{background:linear-gradient(180deg,rgba(4,25,20,.30),rgba(4,25,20,.84) 72%,rgba(4,25,20,.94))}}
