:root {
  --ks-navy: #120f4f;      /* the wordmark */
  --ks-deep: #0a0a2e;
  --ks-blue: #2a4bff;
  --ks-cyan: #19e0f0;
  --ks-ink: #1b1d33;
  --ks-muted: #5d6178;
  --ks-soft: #f4f6fb;
  --ks-line: #e2e5f0;
  --ks-grad: linear-gradient(120deg, var(--ks-blue) 0%, #1aa3ff 55%, var(--ks-cyan) 100%);
  --ks-food: #e8833a;      /* ProcessCore accent: warm, distinct from the AI blues */
  --ks-food-deep: #1d2b22;
  --bs-body-font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --bs-body-color: var(--ks-ink);
  --bs-link-color-rgb: 42, 75, 255;
}
body { background: #fff; }
h1, h2, h3, .display-font { font-family: "Exo 2", var(--bs-body-font-family); letter-spacing: -.01em; }
.text-muted-ks { color: var(--ks-muted); }
.eyebrow { font: 600 .78rem/1 "Inter", sans-serif; letter-spacing: .14em; text-transform: uppercase; color: var(--ks-blue); }
.grad-text { background: var(--ks-grad); -webkit-background-clip: text; background-clip: text; color: transparent; }
section { scroll-margin-top: 72px; }

/* Nav */
.navbar-ks { background: rgba(10, 10, 46, .82); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border-bottom: 1px solid rgba(255,255,255,.08); }
.navbar-ks .nav-link { color: rgba(255,255,255,.78); font-weight: 500; font-size: .95rem; }
.navbar-ks .nav-link:hover, .navbar-ks .nav-link:focus { color: #fff; }
.brand-logo { height: 22px; width: auto; }
@media (max-width: 374.98px) { .brand-logo { height: 18px; } }
.btn-ks { background: var(--ks-grad); color: #fff; border: 0; font-weight: 600; padding: .65rem 1.4rem; border-radius: 10px; box-shadow: 0 8px 24px rgba(42,75,255,.28); }
.btn-ks:hover { color: #fff; filter: brightness(1.08); }
.btn-outline-light-ks { border: 1px solid rgba(255,255,255,.35); color: #fff; font-weight: 600; padding: .65rem 1.4rem; border-radius: 10px; }
.btn-outline-light-ks:hover { background: rgba(255,255,255,.08); color: #fff; }

/* Hero */
.hero { position: relative; overflow: hidden; color: #fff; padding: 9rem 0 7rem;
  background: radial-gradient(1200px 600px at 85% 10%, rgba(25,224,240,.18), transparent 60%),
              radial-gradient(900px 600px at 0% 100%, rgba(42,75,255,.35), transparent 60%),
              var(--ks-deep); }
.hero h1 { font-size: clamp(2.2rem, 5.4vw, 4rem); font-weight: 800; line-height: 1.05; }
.hero .lead { color: rgba(255,255,255,.78); max-width: 38rem; }
.hero-waves { position: absolute; left: 0; right: 0; bottom: -1px; width: 100%; height: auto; pointer-events: none; }
.partner-pill { display: inline-flex; align-items: center; gap: .6rem; padding: .45rem .9rem .45rem .5rem; border-radius: 999px;
  background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.16); font-size: .88rem; color: #fff; text-decoration: none; }
.partner-pill .dot { width: 26px; height: 26px; border-radius: 50%; background: #d97757; display: grid; place-items: center; font-size: .8rem; }

/* Partner card in hero */
.partner-card { background: linear-gradient(160deg, rgba(255,255,255,.10), rgba(255,255,255,.03)); border: 1px solid rgba(255,255,255,.15);
  border-radius: 20px; padding: 2rem; backdrop-filter: blur(6px); }
.partner-card .seal { width: 76px; height: 76px; border-radius: 18px; display: grid; place-items: center; font-size: 2rem;
  background: linear-gradient(140deg, #d97757, #f0a77f); color: #fff; box-shadow: 0 10px 30px rgba(217,119,87,.35); }
.partner-card ul li { color: rgba(255,255,255,.82); margin-bottom: .45rem; }
.partner-card ul li i { color: var(--ks-cyan); }

/* Trust strip */
.trust { background: var(--ks-soft); border-bottom: 1px solid var(--ks-line); }
.trust span { color: var(--ks-muted); font-weight: 600; font-size: .9rem; white-space: nowrap; }

/* Cards */
.card-ks { border: 1px solid var(--ks-line); border-radius: 18px; padding: 1.75rem; height: 100%; background: #fff; transition: transform .2s ease, box-shadow .2s ease; }
.card-ks:hover { transform: translateY(-4px); box-shadow: 0 18px 40px rgba(18,15,79,.08); }
.icon-tile { width: 48px; height: 48px; border-radius: 12px; display: grid; place-items: center; font-size: 1.35rem; color: #fff; background: var(--ks-grad); margin-bottom: 1.1rem; }

/* Products band */
.products { background: var(--ks-navy); color: #fff; position: relative; overflow: hidden; }
.products .text-muted-ks { color: rgba(255,255,255,.66); }
.products .eyebrow { color: var(--ks-cyan); }
.product-panel { border-radius: 24px; padding: 2.25rem; height: 100%; border: 1px solid rgba(255,255,255,.12);
  background: linear-gradient(170deg, rgba(255,255,255,.07), rgba(255,255,255,.02)); }
.product-panel .tag { display: inline-block; font-size: .75rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase;
  padding: .3rem .7rem; border-radius: 999px; background: rgba(25,224,240,.12); color: var(--ks-cyan); border: 1px solid rgba(25,224,240,.3); }
.product-panel h3 { font-size: 1.9rem; font-weight: 800; }
.feature-row { display: flex; gap: .85rem; margin-bottom: 1rem; }
.feature-row i { color: var(--ks-cyan); font-size: 1.15rem; margin-top: .1rem; }
.feature-row strong { display: block; }
.feature-row span { color: rgba(255,255,255,.66); font-size: .93rem; }
.mode-chip { display: inline-block; padding: .35rem .75rem; border-radius: 8px; background: rgba(255,255,255,.08); font-size: .85rem; margin: 0 .35rem .45rem 0; }
.hosts { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .85rem; background: rgba(0,0,0,.25); border-radius: 12px; padding: 1rem 1.1rem; }
.hosts div { display: flex; justify-content: space-between; gap: 1rem; padding: .2rem 0; }
.hosts .h { color: var(--ks-cyan); }
.hosts .d { color: rgba(255,255,255,.6); text-align: right; }

/* Stewardship */
.steward { background: var(--ks-soft); }
.stat { font: 800 2.4rem/1 "Exo 2", sans-serif; }

/* ProcessCore */
.processcore { background: #fbf7f2; }
.fw-hero { border-radius: 28px; overflow: hidden; color: #fff; position: relative;
  background: radial-gradient(700px 400px at 90% 0%, rgba(232,131,58,.35), transparent 60%), var(--ks-food-deep); }
.fw-hero .eyebrow { color: #f3b07c; }
.fw-hero .lead { color: rgba(255,255,255,.78); }
.fw-word { font: 800 clamp(2.4rem, 6vw, 3.8rem)/1 "Exo 2", sans-serif; }
.fw-word span { color: var(--ks-food); }
.btn-food { background: var(--ks-food); color: #fff; font-weight: 600; border-radius: 10px; padding: .65rem 1.4rem; border: 0; }
.btn-food:hover { background: #d4712b; color: #fff; }
.fw-icon { width: 46px; height: 46px; border-radius: 12px; display: grid; place-items: center; font-size: 1.3rem; background: rgba(232,131,58,.12); color: var(--ks-food); margin-bottom: 1rem; }
.market { border-radius: 20px; background: #fff; border: 1px solid #efe4d8; padding: 1.75rem; height: 100%; }
.market .flag { font-size: 2rem; line-height: 1; }
.market h4 { font-family: "Exo 2", sans-serif; font-weight: 700; margin: .8rem 0 .3rem; }
.market li { margin-bottom: .4rem; color: var(--ks-muted); }
.market li i { color: var(--ks-food); }
.compare { border-radius: 18px; overflow: hidden; border: 1px solid #efe4d8; background: #fff; }
.compare table { margin: 0; }
.compare th { font-family: "Exo 2", sans-serif; background: #f6ece1; white-space: nowrap; }
.compare td:first-child { font-weight: 600; }
.compare .yes { color: #2f8f5b; }
.flow { counter-reset: step; }
.flow .step { position: relative; padding-left: 3.2rem; margin-bottom: 1.4rem; }
.flow .step::before { counter-increment: step; content: counter(step); position: absolute; left: 0; top: 0; width: 2.2rem; height: 2.2rem;
  border-radius: 50%; background: var(--ks-food); color: #fff; font-weight: 700; display: grid; place-items: center; }

/* CTA + footer */
.cta { background: var(--ks-grad); color: #fff; border-radius: 28px; }
.cta .btn-light { font-weight: 600; color: var(--ks-navy); border-radius: 10px; padding: .65rem 1.4rem; }
footer { background: var(--ks-deep); color: rgba(255,255,255,.7); }
footer a { color: rgba(255,255,255,.8); text-decoration: none; }
footer a:hover { color: #fff; }
footer h6 { color: #fff; font-family: "Exo 2", sans-serif; letter-spacing: .04em; }

@media (prefers-reduced-motion: reduce) { .card-ks, .card-ks:hover { transition: none; transform: none; } }
@media (max-width: 575.98px) { .hero { padding: 7.5rem 0 5rem; } .product-panel, .partner-card { padding: 1.5rem; } }

/* ProcessCore page */
.fw-hero { border-radius: 28px; }
.fw-page-hero { border-radius: 0; padding: 9rem 0 6rem; }
.fw-industries { background: #f6ece1; border-bottom: 1px solid #efe4d8; }
.fw-industries span { color: #6b5a48; font-weight: 600; font-size: .9rem; white-space: nowrap; }
.fw-faq .accordion-item { border-color: #efe4d8; }
.fw-faq .accordion-button { font-weight: 600; }
.fw-faq .accordion-button:not(.collapsed) { background: #fbf2e9; color: var(--ks-ink); box-shadow: none; }
.fw-faq .accordion-button:focus { box-shadow: 0 0 0 .2rem rgba(232,131,58,.25); }
.fw-cta { border-radius: 28px; color: #fff; background: linear-gradient(120deg, #c8601f, var(--ks-food) 55%, #f3b07c); }
.navbar-ks .nav-link.active { color: #fff; }
@media (max-width: 575.98px) { .fw-page-hero { padding: 7.5rem 0 4rem; } }

/* Leadership page */
.page-hero { padding: 8.5rem 0 4.5rem; }
.page-hero h1 { font-size: clamp(2.2rem, 5vw, 3.4rem); }
.leader-photo { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; display: block; }
.leader-title { color: var(--ks-blue); font-weight: 600; }
.leader p:last-child { margin-bottom: 0; }
.director-photo { width: 72px; height: 72px; border-radius: 50%; object-fit: cover; flex-shrink: 0; }
@media (max-width: 575.98px) { .page-hero { padding: 7rem 0 3.5rem; } }

/* End-to-end AI infrastructure (home) */
.e2e { background: #fff; }
.stack { max-width: 460px; margin: 0 auto; }
.stack-top { text-align: center; font: 700 1rem/1 "Exo 2", sans-serif; letter-spacing: .06em; text-transform: uppercase; color: #fff;
  background: var(--ks-navy); border-radius: 14px; padding: 1rem; margin-bottom: .75rem; position: relative; }
.stack-body { display: flex; gap: .75rem; }
.stack-layers { flex: 1; display: flex; flex-direction: column; gap: .6rem; }
.layer { display: flex; align-items: center; gap: .8rem; padding: 1.05rem 1.2rem; border-radius: 14px; font-weight: 600; color: #fff;
  box-shadow: 0 10px 24px rgba(18,15,79,.10); }
.layer i { font-size: 1.3rem; opacity: .95; }
.layer.l4 { background: linear-gradient(120deg, #19c6e6, #19e0f0); color: var(--ks-deep); margin: 0 1.2rem; }
.layer.l3 { background: linear-gradient(120deg, #1a8cff, #19b9ee); margin: 0 .8rem; }
.layer.l2 { background: linear-gradient(120deg, #2a4bff, #1a8cff); margin: 0 .4rem; }
.layer.l1 { background: linear-gradient(120deg, #1b1a8a, #2a4bff); }
.stack-eval { width: 3.4rem; border-radius: 14px; background: repeating-linear-gradient(180deg, #fbf2e9 0 10px, #f6e6d6 10px 20px);
  border: 1px dashed #e8833a; display: flex; align-items: center; justify-content: center; }
.stack-eval span { writing-mode: vertical-rl; transform: rotate(180deg); font-weight: 700; font-size: .85rem; letter-spacing: .06em;
  text-transform: uppercase; color: #b8601f; white-space: nowrap; }
.e2e-item { display: flex; gap: 1.2rem; padding: 1.05rem 0; border-bottom: 1px solid var(--ks-line); }
.e2e-item:first-child { padding-top: 0; }
.e2e-item:last-child { border-bottom: 0; padding-bottom: 0; }
.e2e-num { font: 800 1.5rem/1 "Exo 2", sans-serif; min-width: 2.6rem; background: var(--ks-grad); -webkit-background-clip: text; background-clip: text; color: transparent; }
.e2e-band { background: var(--ks-soft); border: 1px solid var(--ks-line); border-radius: 20px; padding: 1.5rem 1.75rem; }
.e2e-band i { font-size: 1.6rem; color: var(--ks-blue); }
@media (max-width: 575.98px) { .layer { padding: .9rem 1rem; font-size: .95rem; } .layer.l4 { margin: 0 .6rem; } .layer.l3 { margin: 0 .4rem; } .layer.l2 { margin: 0 .2rem; } }

/* About page */
.about-quote { border-left: 3px solid var(--ks-cyan); padding-left: 1.25rem; max-width: 46rem; }
.about-quote p { color: rgba(255,255,255,.85); font-style: italic; }
.about-quote footer { color: rgba(255,255,255,.6); font-size: .9rem; }
.timeline li { position: relative; padding: 0 0 1.5rem 2rem; border-left: 2px solid var(--ks-line); }
.timeline li:last-child { padding-bottom: 0; border-left-color: transparent; }
.timeline li::before { content: ""; position: absolute; left: -8px; top: .2rem; width: 14px; height: 14px; border-radius: 50%; background: var(--ks-grad); }
.timeline .when { font: 700 1.1rem/1.2 "Exo 2", sans-serif; color: var(--ks-blue); margin-bottom: .5rem; }
.ir-highlight { border-radius: 20px; padding: 1.5rem; border: 1px solid rgba(255,255,255,.12); background: linear-gradient(170deg, rgba(255,255,255,.08), rgba(255,255,255,.02)); }
.ir-links .list-group-item { display: flex; gap: 1rem; align-items: flex-start; background: rgba(255,255,255,.04); border-color: rgba(255,255,255,.1); color: #fff; padding: 1rem 1.1rem; }
.ir-links .list-group-item:hover { background: rgba(255,255,255,.09); color: #fff; }
.ir-links i { color: var(--ks-cyan); font-size: 1.25rem; }
.ir-links span { display: block; color: rgba(255,255,255,.62); font-size: .88rem; }
.safe-harbor { border-top: 1px solid rgba(255,255,255,.12); padding-top: 1.5rem; color: rgba(255,255,255,.6); }
.ticker-pill .dot { background: var(--ks-grad); }

/* Ask Me Anything (home) */
.ask { background: #fff; }
.ask-pillar { display: flex; gap: 1rem; margin-top: 1.4rem; }
.ask-pillar .icon-tile { flex-shrink: 0; margin-bottom: 0; }
.ask-demo { background: var(--ks-deep); border-radius: 24px; padding: 1.5rem; color: #fff; box-shadow: 0 30px 60px rgba(18,15,79,.22);
  background-image: radial-gradient(500px 300px at 100% 0%, rgba(25,224,240,.16), transparent 60%); }
.ask-bar { display: flex; gap: .75rem; align-items: flex-start; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.16);
  border-radius: 14px; padding: .9rem 1rem; font-weight: 500; }
.ask-bar i { color: var(--ks-cyan); font-size: 1.15rem; }
.ask-answer { margin-top: 1rem; background: rgba(255,255,255,.04); border-radius: 14px; padding: 1.1rem 1.1rem 1rem; border-left: 3px solid var(--ks-cyan); }
.ask-answer p { color: rgba(255,255,255,.88); }
.ask-rows div { display: flex; justify-content: space-between; gap: 1rem; padding: .45rem 0; border-top: 1px solid rgba(255,255,255,.08); font-size: .93rem; }
.ask-rows div span:last-child { color: rgba(255,255,255,.65); white-space: nowrap; }
.ask-sources { font-size: .82rem; color: rgba(255,255,255,.6); }
.ask-footnote { margin-top: 1rem; font-size: .82rem; color: rgba(255,255,255,.6); text-align: center; }
.ask-compare { border: 1px solid var(--ks-line); border-radius: 20px; overflow: hidden; }
.ask-compare li { margin-bottom: .45rem; }
.ask-compare-ours { background: var(--ks-grad); color: #fff; }
.ask-compare-ours i { color: #fff; }
