 /* clear the fixed 86px Sphere nav */
  .kx-hero { padding-top: 150px; }

  /* global tweaks (this prototype only) */
  h1, h2, h3 { line-height: 1.2; }                   /* roomier titles */
  .main-button.fill { height: 50px; } 
  .main-button.fill:hover { background-color: var(--brand-blue); color: var(--brand-green); }                    /* match standard button height */
  .menu-link-holder:hover .drop-holder { display: flex; } /* live-nav dropdowns on hover */

  /* small green eyebrow label for dark (blue/black) sections */
  .kx-eyebrow {
    font-size: 16px;
    text-transform: uppercase;
    letter-spacing: 2.5px;
    color: var(--brand-green);
    margin-bottom: 10px;
  }
  .kx-left { text-align: left; }

  /* a transparent/white-outline button to pair with .main-button */
  .main-button.ghost {
    background-color: var(--transparent);
    border-color: rgba(255,255,255,.35);
    color: var(--white);
  }
  .main-button.ghost:hover {
    background-color: var(--transparent);
    border-color: var(--white);
    color: var(--white);
  }
  
  .menu-link.w-inline-block.flag { position:relative; display:flex; align-items; center; justify-content:center; }
  .menu-link.w-inline-block.flag .action-nav-flag { position:absolute;left:100%;top:-4px; padding-left:4px; padding-right:4px; height:18px; padding-top:2px; padding-bottom:2px; font-size:10px; border:1px solid var(--brand-green); background-color:var(--brand-blue); color: var(--brand-green);}

  /* ---------- HERO ---------- */
  .kx-hero-layout {
    display: grid;
    grid-template-columns: 1.05fr .95fr;
    grid-column-gap: 64px;
    align-items: center;
    text-align: left;
    position: relative;
    z-index: 1;
    width: 100%;
  }
  .kx-rings {
    position: absolute; left: -5vw; top: 60%;
    transform: translateY(-50%);
    width: 50vw; height: 50vw;
    max-width:720px; max-height: 720px;
    pointer-events: none; z-index: 0;
  }
  .kx-ring {
    position: absolute; border-radius: 50%;
    border: 1px solid rgba(23,255,127,.25);
    top: 50%; left: 50%; transform: translate(-50%,-50%);
    animation: kxPulse 8s ease-in-out infinite;
  }
  .kx-ring:nth-child(1){ width:200px; height:200px; animation-delay:0s; }
  .kx-ring:nth-child(2){ width:360px; height:360px; animation-delay:.5s; }
  .kx-ring:nth-child(3){ width:520px; height:520px; animation-delay:1s; }
  .kx-ring:nth-child(4){ width:680px; height:680px; animation-delay:1.5s; }
  .kx-ring:nth-child(5){ width:840px; height:840px; animation-delay:2s; }
.kx-ring:nth-child(6){ width:1000px; height:1000px; animation-delay:2.5s; }
  .kx-ring-dot {
    position: absolute; width:12px; opacity:0; height:12px;
    background: var(--brand-green); border-radius:50%;
    top:50%; left:75%; transform:translate(-50%,-50%);
    box-shadow: 0 0 20px rgba(23,255,127,.0);
    animation: kxDot 3s ease-in-out infinite;
  }

  .kx-hero-shot-title {
    font-size: 30px; color: var(--brand-green);
    text-shadow: 0 0 32px rgba(23,255,127,.65); margin-bottom: 20px;
  }
  .kx-hero-shot {
    width: 45vw; max-width: 720px;
    border: 1px solid rgba(23,255,127,.25); border-radius: 6px;
    box-shadow: 0 24px 80px rgba(0,0,0,.5);
    position: absolute; left:0;
  }

  .kx-hero-shot-holder {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  min-height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;  /* vertical centre */
  align-items: flex-start;
  padding-top:66px;  /* align left */
}
  .kx-hero-shot-inner-holder { position: relative; width:100%; aspect-ratio: 16 / 9}

  @media screen and (max-width: 991px) {
  .kx-hero-shot {
    width: 100%; max-width: none;
    position: relative; left:0;
  }
  .kx-hero-shot-holder {
    padding-top:0;
  }
}

  /* ---------- STRIP ---------- */
  .kx-strip-tag {
    font-size: 32px; text-transform: uppercase; letter-spacing: 4px;
    color: var(--brand-green); margin-top: 22px;
    text-shadow: 0 0 28px rgba(23,255,127,.55);
  }

  .strip-line {
  font-size: clamp(32px, 5vw, 64px);
  font-weight: 300;
  letter-spacing: -2px;
  line-height: 1.1;
  color: #2A2A2E;
  margin-bottom: 0px;
  margin-top: 32px;
}
.body-section.blue h2{color: var(--white);}
.strip-line span {color:var(--brand-green);}
.strip-line strong { font-weight: 400; color: var(--brand-green); display: block; text-shadow: 0 0 44px rgba(23,255,127,0.65); }
.strip-line.small { font-size: clamp(32px, 5vw, 46px); color:var(--white); }

  /* ---------- PAIN ---------- */
  .kx-pain-bg {
    position: absolute; inset: 0;
    background: url('https://onsphere.com/landing/idea/Trading%20Desk%20CR1JX2.jpg') center/cover no-repeat;
    filter: grayscale(1); opacity: .14; pointer-events: none; z-index: 0;
  }
  .kx-pain-content { position: relative; z-index: 1; text-align: left; }
  .kx-pain-items { border-top: 1px solid rgba(255,255,255,.12); }
  .kx-pain-item {
    padding: 24px 0 24px 20px; border-bottom: 1px solid rgba(255,255,255,.12);
    font-size: 20px; opacity: .45; transition: opacity .2s; position: relative;
  }
  .kx-pain-item::before {
    content:''; position:absolute; left:0; top:50%; transform:translateY(-50%);
    width:3px; height:0; background:var(--brand-green); transition:height .2s;
  }
  .kx-pain-item:hover { opacity: 1; }
  .kx-pain-item:hover::before { height: 60%; }

  .edge-statement {
  font-size: clamp(64px,10vw, 110px);
  font-weight: 400;
  letter-spacing: -5px;
  line-height: 0.95;
  opacity: 1;
  position: relative;
  z-index: 1;
  text-align: left;
}
.edge-statement em { color:var(--brand-green); font-style: normal; opacity: 1; text-shadow: 0 0 44px rgba(23,255,127,0.65); }

.columns.top { margin-top:32px;}
.column.flex { display:flex; flex-direction:column; justify-content:center; align-items:flex-start; }

  /* ---------- ORBIT ---------- */
  .kx-orbit-holder { width:100%;}
  .kx-what-layout {
    display: grid; grid-template-columns: 1fr 1fr; grid-column-gap: 60px;
    align-items: center; text-align: left;
  }
  .kx-orbit { position: relative; width: 100%; max-width: 560px; height: 560px; margin: 0 auto; }
  .kx-orbit-ring {
    position:absolute; top:50%; left:50%; width:430px; height:430px;
    border:1px dashed rgba(255,255,255,.3); border-radius:50%;
    transform:translate(-50%,-50%);
  }
  .kx-orbit-center {
    position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
    width:170px; height:170px; background:var(--brand-green); color:var(--black);
    border-radius:50%; display:flex; align-items:center; justify-content:center;
    font-size:30px; text-transform:uppercase;
    box-shadow:0 0 70px rgba(23,255,127,.45);
  }
  .kx-orbit-node { position:absolute; width:160px; transform:translate(-50%,-50%); text-align:center; }
  .kx-orbit-verb { font-size:16px; letter-spacing:2.5px; text-transform:uppercase; color:var(--brand-green); margin-bottom:6px; }
  .kx-orbit-desc { font-size:14px; line-height:1.5; opacity:.85; }

  @media (max-width: 991px) {
  .kx-orbit {
    position: static;
    width: 100%;
    max-width: none;
    height: auto;
    margin: 0;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px 40px;
    align-items: start;
  }
  .kx-orbit-ring { display: none; }
  .kx-orbit-center {
    position: static;
    transform: none;
    grid-column: 1 / -1;
    width: auto;
    height: auto;
    border-radius: 12px;
    padding: 18px 28px;
    margin-bottom: 8px;
  }
  .kx-orbit-node {
    position: static;
    transform: none;
    width: auto;
    text-align: left;
  }
}

@media (max-width: 767px) {
  .kx-orbit { grid-template-columns: repeat(2, 1fr); }
  .kx-orbit-node:last-child { grid-column: 1 / -1; }
}

  /* ---------- TERMINAL (preserved) — title above, tabs to the right ---------- */
  .kx-action-layout {
    display:grid; grid-template-columns:1.1fr .6fr; grid-column-gap:40px;
    align-items:start; text-align:left; margin-top:48px;
  }
  .kx-action-layout .action-nav {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(3, auto);
  grid-auto-flow: column;
  gap: 12px;
	  padding-top:32px;
	  position:relative;
}

.kx-action-layout .action-nav.single {  grid-template-columns: 1fr;
  grid-template-rows: auto;
  grid-auto-flow: row; }

  .kx-action-layout .action-nav-btn { text-align:left; }
  .terminal-wrap {
    border:1px solid rgba(23,255,127,.2); border-radius:8px;
    background:#0e0e11; overflow:hidden;
  }
  .terminal-header {
    background:rgba(255,255,255,.04); border-bottom:1px solid rgba(255,255,255,.07);
    padding:14px 20px; display:flex; align-items:center; gap:8px;
  }
  .terminal-dot { width:10px; height:10px; border-radius:50%; background:rgba(255,255,255,.1); }
  .terminal-dot:first-child { background:rgba(245,65,60,.5); }
  .terminal-dot:nth-child(2) { background:rgba(255,200,0,.3); }
  .terminal-dot:nth-child(3) { background:rgba(23,255,127,.4); }
  .terminal-title { font-size:12px; opacity:.3; letter-spacing:1px; margin-left:8px; text-transform:uppercase; }
  .terminal-body { padding:32px 28px 36px; min-height:560px; }
  .terminal-prompt-row { display:flex; align-items:flex-start; gap:16px; margin-bottom:24px; }
  .terminal-you { font-size:11px; text-transform:uppercase; letter-spacing:1.5px; color:rgba(255,255,255,.3); margin-top:6px; min-width:36px; }
  .terminal-prompt { font-size:20px; line-height:1.5; color:var(--white); flex:1; text-align:left; }
  .terminal-cursor { color:var(--brand-green); font-size:20px; animation:kxBlink .8s step-end infinite; }
  @keyframes kxBlink { 0%,100%{opacity:1} 50%{opacity:0} }
  .terminal-response {
    margin-left:52px; padding:16px 20px; background:rgba(23,255,127,.04);
    border-left:2px solid var(--brand-green); border-radius:0 6px 6px 0;
    font-size:15px; line-height:1.7; color:rgba(255,255,255,.7); min-height:60px;
    opacity:0; transition:opacity .4s ease; text-align:left;
  }
  .terminal-response.visible { opacity:1; }
  .terminal-response .res-label { font-size:10px; text-transform:uppercase; letter-spacing:1.5px; color:var(--brand-green); margin-bottom:8px; opacity:.8; }
  .action-nav-btn {
    background:transparent; border:1px solid rgba(255,255,255,.15);
    color:rgba(255,255,255,.5); font-family:space-grotesk-variable,sans-serif;
    font-size:14px; padding:8px 16px; border-radius:6px; cursor:pointer; transition:all .15s; display:flex; align-items:center; gap:12px; position:relative; justify-content:start;
  }
  .action-nav-btn:hover { border-color:rgba(255,255,255,.4); color:#fff; }
  .action-nav-btn.active { border-color:var(--brand-green); color:var(--brand-green); background:rgba(23,255,127,.06); }
  
  .action-nav-flag { background-color:var(--brand-green); font-size:12px; border-radius:6px; padding-left: 8px; padding-right: 8px; color: var(--black); position:relative; height: 32px; display:flex; align-items:center; justify-content:center; }

  /* ---------- HOW (light) ---------- */
  .kx-grid-3 { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--soft-grey); margin-top:40px; text-align:left; }
  .kx-how-card { background:var(--white); padding:36px 30px; color:var(--black);font-size:16px;line-height:28px; }
  .kx-num { font-size:14px; letter-spacing:1px; color:var(--brand-blue); margin-bottom:12px; }
  .kx-card-title { font-size:22px; margin-bottom:12px; line-height:1.2; }
  .kx-card-desc { font-size:15px; line-height:1.6; opacity:.65; }
  .kx-how-card.kx-accent { background-color:rgb(23, 255, 127, .25); border:1px solid var(--brand-green); }
  .kx-how-card.kx-accent .kx-card-title { color:#0b8f49; }

  /* ---------- STACK ---------- */
  .kx-stack-layout { display:grid; grid-template-columns:1fr 1fr; grid-column-gap:60px; align-items:start; text-align:left; }
  .kx-stack-layer { padding:20px 28px; margin-bottom:2px; font-size:14px; display:flex; align-items:center; gap:16px; border-radius:2px; transition:transform .2s; }
  .kx-stack-layer:hover { transform:translateX(4px); }
  .kx-layer-kalo { background:var(--brand-green); color:var(--black); text-transform:uppercase; letter-spacing:1px; padding:24px 28px; margin-top:30px;font-size:18px; }
  .kx-layer-intel { background:#1f2cae;font-size:18px; }
  .kx-layer-desk { background:rgba(255,255,255,.14);font-size:18px; }
  .kx-layer-flow { background:rgba(255,255,255,.07);font-size:18px; }
  .kx-layer-dot { width:6px; height:6px; border-radius:50%; background:currentColor; opacity:.5; flex-shrink:0; }

  /* ---------- QUOTE ---------- */
  .kx-quote-mark { font-size:80px; color:var(--brand-green); line-height:.5; display:block; opacity:.5; margin-bottom:-12px;margin-top:52px; }

  /* ---------- PERSONAS (light) ---------- */
  .kx-persona-card { background:var(--white); padding:36px 30px; text-align:left; transition:background .15s; color:var(--black);font-size:16px;line-height:28px; }
  .kx-persona-card:hover { background:var(--light-grey); }
  .kx-persona-role { font-size:22px; margin-bottom:12px; }
  .kx-persona-desc { font-size:15px; line-height:1.6; opacity:.6; }
  .kx-persona-card.kx-accent { background-color:rgb(23, 255, 127, .25); border:1px solid var(--brand-green); }

  /* ---------- FINAL CTA ---------- */
  .kx-cta { position:relative; overflow:hidden; }
  .kx-cta-rings { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); pointer-events:none; z-index:0; }
  .kx-cta-ring { position:absolute; border-radius:50%; border:1px solid rgba(255,255,255,.06); transform:translate(-50%,-50%); }
  .kx-cta-ring:nth-child(1){ width:300px; height:300px; }
  .kx-cta-ring:nth-child(2){ width:500px; height:500px; }
  .kx-cta-ring:nth-child(3){ width:700px; height:700px; }
  .kx-cta-ring:nth-child(4){ width:900px; height:900px; }
  .kx-cta-content { position:relative; z-index:1; }

  /* scroll-reveal default state */
  .kx-reveal { opacity:0; transform:translateY(20px); transition:opacity .6s ease, transform .6s ease; }
  .kx-reveal.kx-in { opacity:1; transform:translateY(0); }

  /* ---------- responsive ---------- */
  @media screen and (max-width: 991px) {
    .kx-hero-layout, .kx-what-layout, .kx-action-layout, .kx-stack-layout { grid-template-columns:1fr; grid-row-gap:48px; }
    .kx-grid-3 { grid-template-columns:1fr 1fr; }
    .kx-rings { display:none; }
    .strip-line { margin-bottom:-12px; }
    .column.flex { align-items: center;}
  }
  @media screen and (max-width: 767px) {
    .kx-grid-3 { grid-template-columns:1fr; }
    .kx-hero { padding-top:120px; }
    .terminal-prompt-row { flex-direction: column;}
    .terminal-response { margin-left:0px; }
    
  }

  .gdpr-text.inner { text-align: left; line-height:1.2;padding:12px 12px;background-color:rgba(241, 241, 241, 0.5);border-radius:4px; margin-top:0px;}