/* latin-ext */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/jakarta-a2a773567f.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/jakarta-d64f550475.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/jakarta-94d65887a8.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/jakarta-d8c30647ab.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/jakarta-94d65887a8.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/jakarta-d8c30647ab.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/jakarta-94d65887a8.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/jakarta-d8c30647ab.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/jakarta-94d65887a8.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/jakarta-d8c30647ab.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(/fonts/jakarta-94d65887a8.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(/fonts/jakarta-d8c30647ab.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root{
/* Core */
--cp-coal:#141A24;
--cp-deep-coal:#0F141C;
--cp-blue:#0A6CDF;
--cp-blue-pressed:#0857B3;
--cp-diamond:#5BC2F7;
--cp-bright-blue:#3D9BFF;
/* Supporting */
--cp-navy:#0F3E7A;
--cp-pale-blue:#9FCFF5;
--cp-ice:#F4F8FD;
--cp-ice-border:#DCE7F5;
--cp-ink:#1C2230;
--cp-grey:#4A5568;
--cp-on-dark-1:#C9D2E0;
--cp-on-dark-2:#B7C1D1;
--cp-on-dark-muted:#8C98AB;
--cp-divider-dark:#2C3647;
--cp-outline-dark:#3A4558;
--cp-white:#FFFFFF;
/* Coal mid-tones for dark UI surfaces (portal) */
--cp-coal-2:#1A212D;
--cp-coal-3:#222B39;
/* Logo facets */
--cp-facet-coal-1:#1A1F28;--cp-facet-coal-2:#2B3240;--cp-facet-coal-3:#5A6475;
--cp-facet-dia-1:#CFEBFD;--cp-facet-dia-2:#A6DCFC;--cp-facet-dia-3:#4FC0F7;--cp-facet-dia-4:#0A6CDF;
/* Status (intentional addition for the portal; harmonised to palette) */
--cp-success:#1F8A5B;--cp-success-bg:#E6F4EC;
--cp-warning:#B26A00;--cp-warning-bg:#FDF2DE;
--cp-danger:#C2362F;--cp-danger-bg:#FBE9E7;
--cp-info:var(--cp-blue);--cp-info-bg:#E5F0FD;

/* Semantic — light */
--surface-page:var(--cp-white);
--surface-subtle:var(--cp-ice);
--surface-card:var(--cp-white);
--surface-dark:var(--cp-coal);
--surface-deepest:var(--cp-deep-coal);
--border-default:var(--cp-ice-border);
--border-strong:#C3D3E8;
--text-heading:var(--cp-ink);
--text-body:var(--cp-grey);
--text-muted:#6B7689;
--text-link:var(--cp-blue);
--text-link-hover:var(--cp-blue-pressed);
--accent:var(--cp-blue);
--accent-hover:var(--cp-blue-pressed);
--accent-contrast:var(--cp-white);
--focus-ring:0 0 0 3px rgba(10,108,223,.32);
/* Semantic — on dark */
--text-on-dark:var(--cp-white);
--text-on-dark-body:var(--cp-on-dark-1);
--text-on-dark-secondary:var(--cp-on-dark-2);
--text-on-dark-muted:var(--cp-on-dark-muted);
--text-highlight-dark:var(--cp-diamond);
--eyebrow-dark:var(--cp-pale-blue);
--border-dark:var(--cp-divider-dark);
--outline-dark:var(--cp-outline-dark);
}

:root{
--font-sans:'Plus Jakarta Sans','Segoe UI',system-ui,sans-serif;
--font-mono:'JetBrains Mono',ui-monospace,'SFMono-Regular',monospace;
--fw-regular:400; /* @kind font */
--fw-medium:500; /* @kind font */
--fw-semibold:600; /* @kind font */
--fw-bold:700; /* @kind font */
--fw-black:800; /* @kind font */
--fs-hero:clamp(44px,7vw,92px); /* @kind font */
--fs-section:clamp(32px,4.2vw,52px); /* @kind font */
--fs-h3:22px; /* @kind font */
--fs-card-title:21px; /* @kind font */
--fs-body-lg:19px; /* @kind font */
--fs-body:16px; /* @kind font */
--fs-small:14px; /* @kind font */
--fs-eyebrow:13px; /* @kind font */
--fs-button:15px; /* @kind font */
--fs-button-lg:17px; /* @kind font */
--fs-caption:12px; /* @kind font */
--ls-hero:-0.035em; /* @kind font */
--ls-section:-0.03em; /* @kind font */
--ls-title:-0.01em; /* @kind font */
--ls-eyebrow:0.22em; /* @kind font */
--lh-hero:1.02; /* @kind font */
--lh-section:1.1; /* @kind font */
--lh-title:1.25; /* @kind font */
--lh-body:1.6; /* @kind font */
--lh-body-lg:1.65; /* @kind font */
}

:root{
--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--space-24:96px;--space-32:128px;
--container-max:1200px;
--container-pad:clamp(20px,4vw,40px);
--section-pad-y:clamp(72px,10vw,128px);
--sidebar-w:248px;
--topbar-h:60px;
}

:root{
--radius-xs:4px;--radius-sm:6px;--radius-md:8px;--radius-lg:14px;--radius-xl:20px;--radius-pill:999px;
--shadow-sm:0 1px 2px rgba(20,26,36,.06);
--shadow-md:0 4px 14px rgba(20,26,36,.08),0 1px 3px rgba(20,26,36,.06);
--shadow-lg:0 18px 48px rgba(20,26,36,.16),0 4px 12px rgba(20,26,36,.08);
--shadow-overlay:0 24px 64px rgba(15,20,28,.32);
--ease-out:cubic-bezier(.2,.7,.2,1); /* @kind other */
--dur-fast:120ms; /* @kind other */
--dur-base:180ms; /* @kind other */
--dur-slow:320ms; /* @kind other */
--seam:1.5px solid #FFFFFF; /* @kind other */
}

html{-webkit-font-smoothing:antialiased}
body{margin:0;font-family:var(--font-sans);font-size:var(--fs-body);line-height:var(--lh-body);color:var(--text-body);background:var(--surface-page)}
h1,h2,h3,h4{color:var(--text-heading);font-weight:var(--fw-black);margin:0;text-wrap:balance}
p{text-wrap:pretty}
a{color:var(--text-link);text-decoration:none}
a:hover{color:var(--text-link-hover)}
::selection{background:var(--cp-diamond);color:var(--cp-coal)}

/* Site layout on top of the design tokens. */
html { scroll-behavior: smooth; scroll-padding-top: 72px; }
body { background: #141A24; }
.mk-wrap { max-width: var(--container-max); margin: 0 auto; padding: 0 var(--container-pad); box-sizing: border-box; }
.mk-grid3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.mk-grid2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.mk-grid4 { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
@media (max-width: 900px) { .mk-grid3, .mk-grid2, .mk-grid4 { grid-template-columns: 1fr; } .mk-hide-sm { display: none !important; } }
@media (max-width: 1000px) { .mk-hide-nav { display: none !important; } }

.mk-nav { font-size: 15px; font-weight: 700; white-space: nowrap; color: var(--cp-on-dark-1); transition: color var(--dur-base); }
.mk-nav:hover, .mk-nav:focus-visible { color: #fff; }
.mk-login { padding-left: clamp(0px, 1.6vw, 22px); border-left: 1px solid rgba(255, 255, 255, .14); }
@media (max-width: 1000px) { .mk-login { border-left: 0; padding-left: 0; } }
@media (max-width: 420px) { .mk-login { font-size: 14px; } }
.mk-ondark { color: var(--cp-diamond); font-weight: 600; }
.mk-ondark:hover { color: #fff; }

.mk-skip { position: absolute; left: 16px; top: -48px; z-index: 100; padding: 10px 14px; border-radius: var(--radius-md); background: #fff; color: var(--cp-ink); font-weight: 700; }
.mk-skip:focus { top: 12px; }

.mk-form { position: relative; display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
@media (max-width: 520px) { .mk-form { grid-template-columns: 1fr; } }

/* Footer */
.mk-footer { display: grid; grid-template-columns: minmax(240px, 2fr) repeat(2, minmax(140px, 1fr)); gap: 40px 32px; padding-bottom: 40px; border-bottom: 1px solid rgba(255, 255, 255, .08); }
@media (max-width: 900px) { .mk-footer { grid-template-columns: 1fr 1fr; } .mk-footer > :first-child { grid-column: 1 / -1; } }
@media (max-width: 480px) { .mk-footer { grid-template-columns: 1fr; } }
.mk-foot { font-size: 15px; color: var(--cp-on-dark-1); transition: color var(--dur-base); }
.mk-foot:hover, .mk-foot:focus-visible { color: #fff; }
.mk-linkbtn { all: unset; cursor: pointer; font-size: 15px; color: var(--cp-on-dark-1); }
.mk-linkbtn:focus-visible { outline: 2px solid var(--cp-diamond); outline-offset: 3px; }
.mk-footbar { display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; padding-top: 24px; font-size: 12.5px; color: var(--cp-on-dark-muted); }
.mk-footbar .mk-legal { font-size: 13px; color: var(--cp-on-dark-muted); }
.mk-footbar .mk-legal:hover { color: #fff; }

/* Standalone pages (client portal placeholder, 404) */
.mk-standalone { min-height: 100vh; margin: 0; display: grid; place-items: center; padding: 24px; box-sizing: border-box; background: var(--cp-coal); color: var(--cp-on-dark-1); }
.mk-standalone main { max-width: 520px; }
.mk-standalone h1 { color: #fff; font-size: clamp(30px, 5vw, 40px); letter-spacing: -0.02em; margin: 8px 0 18px; }
.mk-standalone p { font-size: 17px; line-height: 1.6; }
.mk-standalone a { color: var(--cp-diamond); }
.mk-standalone .eyebrow { margin: 28px 0 0; font-size: 13px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; color: var(--cp-diamond); }
.mk-standalone .small { font-size: 14.5px; color: var(--cp-on-dark-muted); margin-top: 28px; }
.mk-standalone b { color: #fff; }

@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
