/* Pro-free token definitions: Elementor emits color/font variable custom-properties
   without Pro, but NOT global-size-variables — define the full kx token set ourselves
   (identical values; Elementor re-declares color/font later with the same values). */
:root{--kx-bg:#0b0b0f;--kx-panel:#121219;--kx-ink:#ffffff;--kx-muted:#9a9aa8;--kx-muted2:#74747f;--kx-orange:#ec5a1e;--kx-orange-hi:#ff7a3c;--kx-line:rgba(255,255,255,0.10);--kx-font:Geist, Helvetica, Arial, sans-serif;--kx-fs-h1:80px;--kx-fs-h2:52.8px;--kx-fs-h3:33.6px;--kx-fs-h4:17.6px;--kx-fs-body:16.8px;--kx-fs-btn:12.8px;--kx-fs-kicker:11.52px;--kx-fs-label:11.84px;--kx-content-w:1240px;--kx-gutter:32px;--kx-sec-pad:100px;--kx-sec-pad-lg:110px;--kx-band-pad:96px;--kx-gap-lg:64px;--kx-gap-md:56px;--kx-gap-sm:24px;--kx-fs2-h1:64px;--kx-fs2-h2:44.8px;--kx-fs2-lead:17.92px;--kx-fs2-sub:16.64px;}
/* Geist (Vercel, OFL) — self-hosted variable font, weights 100-900.
   Live declares Geist but ships no files (paints system fallback); we serve it properly. */
/* ============================================================
   KX SigmaX site chrome — shared layer for the kit-built pages.
   Was: per-page html-widget <style> copies; now enqueued once.
   ============================================================ */
body{background:#0b0b0f;}
.elementor-widget-html{position:static!important;}
.elementor-widget-html:has(.kx-logo){width:auto;flex:none;}
/* logo */
.kx-logo{display:flex;align-items:center;gap:9px;text-decoration:none;}
.kx-logo svg{height:32px;width:auto;display:block;color:#ffffff;}
.kx-word{font-family:Geist, Helvetica, Arial, sans-serif;font-weight:800;font-size:1.18rem;letter-spacing:.14em;color:#ffffff;line-height:1;}
.kx-x{color:#ec5a1e;text-transform:uppercase;}
@media (max-width:880px){.kx-word{font-size:1.05rem;}}
/* hero shader canvases */
.hh-hero-liquid,.px-hero-liquid{position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none;}
.hh-hero-liquid{opacity:0.22;}
/* orange-band corner crosses */
.kx-cross{position:absolute;width:18px;height:18px;pointer-events:none;min-width:0;}
.kx-cross::before{content:"";position:absolute;left:50%;top:0;transform:translateX(-50%);width:1.5px;height:100%;background:rgba(0,0,0,0.55);}
.kx-cross::after{content:"";position:absolute;top:50%;left:0;transform:translateY(-50%);height:1.5px;width:100%;background:rgba(0,0,0,0.55);}
/* disciplines marquee */
.kx-disc{margin-top:52px;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 8%,#000 92%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0%,#000 8%,#000 92%,transparent 100%);}
.kx-disc-row{overflow:hidden;}
.kx-disc-flow{display:flex;align-items:center;width:max-content;padding:6px 0;white-space:nowrap;will-change:transform;animation:rkDiscA 50s linear infinite;}
.kx-disc:hover .kx-disc-flow{animation-play-state:paused;}
.kx-disc-item{display:inline-flex;align-items:center;font-family:Geist, Helvetica, Arial, sans-serif;font-size:0.92rem;font-weight:500;text-transform:uppercase;letter-spacing:0.08em;line-height:1;color:#9a9aa8;}
.kx-disc-item::after{content:"";width:5px;height:5px;margin:0 28px;flex:0 0 auto;background:#ec5a1e;opacity:0.7;transform:rotate(45deg);}
@keyframes rkDiscA{from{transform:translateX(0);}to{transform:translateX(-50%);}}
@media (max-width:560px){.kx-disc-item::after{margin:0 18px;}}
/* mobile nav (markup emitted by the mu-plugin, relocated into <header> by kx-site.js) */
.kx-burger{display:none;flex-direction:column;align-items:center;justify-content:center;gap:5px;background:none;border:0;cursor:pointer;padding:10px;min-width:44px;min-height:44px;margin-right:-10px;}
.kx-burger span{width:26px;height:2px;background:#ffffff;transition:.3s;}
.kx-drawer{display:none;}
@media (max-width:880px){
  .kx-desknav{display:none!important;}
  .kx-burger{display:flex;}
  .kx-drawer{position:absolute;top:100%;left:0;right:0;display:flex;flex-direction:column;align-items:stretch;gap:0;padding:12px 22px 18px;background:#0b0b0f;z-index:50;border-bottom:1px solid rgba(255,255,255,0.10);box-shadow:0 16px 40px rgba(0,0,0,0.4);transform:translateY(-12px);opacity:0;pointer-events:none;transition:.3s;}
  .kx-drawer.open{transform:translateY(0);opacity:1;pointer-events:auto;}
  .kx-dlink{display:block;width:100%;padding:15px 4px;font-family:Geist, Helvetica, Arial, sans-serif;font-size:0.95rem;font-weight:500;letter-spacing:.13em;text-transform:uppercase;color:#ffffff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,0.08);}
  .kx-dcta{display:block;width:100%;text-align:center;margin-top:16px;padding:14px 22px;font-family:Geist, Helvetica, Arial, sans-serif;font-size:0.95rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#ffffff;background:#ec5a1e;text-decoration:none;}
}
/* footer social */
.kx-social{display:flex;gap:10px;}
.kx-social a{width:42px;height:42px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,0.14);color:#9a9aa8;transition:.25s;text-decoration:none;}
.kx-social svg{width:18px;height:18px;}
.kx-social a:hover{color:#fff;border-color:#ec5a1e;background:#ec5a1e;}
/* hero entrance + reduced motion */
@keyframes hhFadeInUp{from{opacity:0;transform:translate3d(0,16px,0);}to{opacity:1;transform:translate3d(0,0,0);}}
@media (prefers-reduced-motion: reduce){*{animation:none!important;}}
/* theme toggle — live's CSS verbatim (both modes) */
#sx-theme-toggle{position:fixed;right:22px;bottom:22px;z-index:99999;width:52px;height:52px;border-radius:999px;display:flex;align-items:center;justify-content:center;cursor:pointer;background:#15151b;color:#ec5a1e;border:1px solid rgba(255,255,255,0.18);box-shadow:0 8px 24px rgba(0,0,0,0.35);transition:transform 0.25s ease,background 0.25s ease,color 0.25s ease,border-color 0.25s ease,box-shadow 0.25s ease;-webkit-tap-highlight-color:transparent;}
#sx-theme-toggle:hover{transform:translateY(-3px) scale(1.05);}
#sx-theme-toggle:active{transform:translateY(-1px) scale(0.98);}
#sx-theme-toggle svg{width:22px;height:22px;display:block;}
#sx-theme-toggle .sx-i-moon{display:none;}
#sx-theme-toggle .sx-i-sun{display:block;}
html.sx-light #sx-theme-toggle{background:#ffffff;color:#ec5a1e;border-color:rgba(13,15,23,0.12);box-shadow:0 8px 24px rgba(13,15,23,0.16);}
html.sx-light #sx-theme-toggle .sx-i-sun{display:none;}
html.sx-light #sx-theme-toggle .sx-i-moon{display:block;}
@media (max-width:880px){#sx-theme-toggle{right:16px;bottom:16px;width:48px;height:48px;}}
/* ============================================================
   Shared light-mode (html.sx-light) — chrome + global-class rules.
   Per-element walker rules stay per-page (element ids collide across pages).
   ============================================================ */
html.sx-light body{background:#ffffff!important;}
html.sx-light h1 span{color:#ec5a1e!important;}
html.sx-light h1 em{color:#ec5a1e!important;}
html.sx-light .kx-header{background:#ffffff!important;border-bottom:1px solid rgba(13,15,23,0.10)!important;box-shadow:0 6px 24px rgba(13,15,23,0.08)!important;}
html.sx-light .kx-logo svg{color:#11131a!important;}
html.sx-light .kx-word{color:#11131a!important;}
html.sx-light .kx-desknav a{color:#20232c!important;}
html.sx-light .kx-burger span{background:#20232c!important;}
html.sx-light .kx-drawer{background:#ffffff!important;border-bottom-color:rgba(13,15,23,0.10)!important;box-shadow:0 16px 40px rgba(13,15,23,0.12)!important;}
html.sx-light .kx-dlink{color:#20232c!important;border-bottom-color:rgba(13,15,23,0.08)!important;}
html.sx-light .kx-disc-item{color:#565b67!important;}
html.sx-light .kx-social a{border-color:rgba(13,15,23,0.16)!important;color:#565b67!important;}
html.sx-light .kx-card:hover{background:#f4f6f8!important;}
html.sx-light .kx-h2{color:#11131a!important;}
html.sx-light .kx-h3{color:#11131a!important;}
html.sx-light .kx-body{color:#565b67!important;}
html.sx-light .kx-btn-ghost{color:#11131a!important;border-color:rgba(13,15,23,0.30)!important;}
html.sx-light .kx-footer-link{color:#565b67!important;}
/* NOTE: hero + footer light backgrounds are PAGE-owned (per-page sheet, after the walker) —
   theme-level copies lost the !important order battle to the walker's auto-flips. */
/* Pro form fields: flip the white-alpha borders in light mode */
html.sx-light form.elementor-form input:not([type=hidden]),html.sx-light form.elementor-form textarea,html.sx-light form.elementor-form select{border-color:rgba(13,15,23,0.15)!important;}
/* ── Pro-free copies of the global-class custom_css (class-level Custom CSS is Pro-gated) ── */
.kx-kicker,.kx2-kicker{letter-spacing:.22em;text-transform:uppercase;text-wrap:wrap;}
.kx-h2{line-height:1.06;letter-spacing:-0.02em;text-wrap:pretty;}
.kx-h2 em,.kx2-h1 em,.kx2-h2 em{color:var(--kx-orange);font-style:normal;}
.kx-h3{line-height:1.1;letter-spacing:-0.02em;text-wrap:pretty;}
.kx-body{line-height:1.75;text-wrap:wrap;}
.kx-btn{letter-spacing:.12em;text-transform:uppercase;text-wrap:wrap;transition:background .25s ease,border-color .25s ease,color .25s ease,transform .25s ease,box-shadow .25s ease;}
.kx-btn-primary:hover{transform:translateY(-2px);}
.kx-btn-ghost{border:1px solid rgba(255,255,255,0.30);}
.kx-btn-ghost:hover{border-color:var(--kx-orange);color:var(--kx-orange);}
.kx-card{transition:background .3s ease;}
.kx-footer-link{overflow-wrap:anywhere;transition:.22s;}
.kx-footer-link:hover{padding-left:5px;}
.kx-band-label{letter-spacing:.18em;text-transform:uppercase;}
.kx2-h1{line-height:1.04;letter-spacing:-0.01em;text-wrap:pretty;}
.kx2-h2{line-height:1.1;letter-spacing:-0.01em;text-wrap:pretty;}
.kx2-lead{line-height:1.7;max-width:760px;text-wrap:wrap;}
.kx2-sub{line-height:1.7;text-wrap:wrap;}
/* Pro-free font-size fallbacks: Pro-off, class rules render size-variable refs as the raw
   id (invalid, dropped by the parser) — these token-referencing rules stand in; when Pro is
   active the class rules resolve to the same values and win by order. */
.kx-kicker,.kx2-kicker{font-size:var(--kx-fs-kicker);}
.kx-h2{font-size:var(--kx-fs-h2);}
.kx-h3{font-size:var(--kx-fs-h3);}
.kx-body{font-size:var(--kx-fs-body);}
.kx-btn{font-size:var(--kx-fs-btn);}
.kx-band-label{font-size:var(--kx-fs-label);}
.kx2-h1{font-size:var(--kx-fs2-h1);}
.kx2-h2{font-size:var(--kx-fs2-h2);}
.kx2-lead{font-size:var(--kx-fs2-lead);}
.kx2-sub{font-size:var(--kx-fs2-sub);}
@media (max-width:767px){.kx-h2{font-size:32px;}.kx2-h1{font-size:35.2px;}.kx2-h2{font-size:28.8px;}}
/* CF7 wpautop injects <br> between the form grid divs — each becomes an empty grid row */
.kxf-grid br{display:none;}
/* Static V4 global-classes CSS — generated from the class DEFINITIONS (not scraped files).
   Selectors carry the .elementor prefix so they beat widget base styles regardless of load
   order; variable refs resolve to var(--kx-*) (tokens defined in :root above). */
body .elementor .kx2-h1{width:100%;max-width:980px;font-family:var(--kx-font);font-weight:800;font-size:var(--kx-fs2-h1);color:var(--kx-ink);text-align:center;margin-block-start:0px;margin-inline-end:auto;margin-block-end:24px;margin-inline-start:auto;}
body .elementor .kx2-h1{line-height:1.04;letter-spacing:-0.01em;text-wrap:pretty;}
body .elementor .kx2-h1 em{color:var(--kx-orange);font-style:normal;}
@media (max-width:767px){body .elementor .kx2-h1{font-size:35.2px;}}
body .elementor .kx2-h2{width:100%;font-family:var(--kx-font);font-weight:800;font-size:var(--kx-fs2-h2);color:var(--kx-ink);text-align:center;}
body .elementor .kx2-h2{line-height:1.1;letter-spacing:-0.01em;text-wrap:pretty;}
body .elementor .kx2-h2 em{color:var(--kx-orange);font-style:normal;}
@media (max-width:767px){body .elementor .kx2-h2{font-size:28.8px;}}
body .elementor .kx2-kicker{font-family:var(--kx-font);font-weight:700;font-size:var(--kx-fs-kicker);color:var(--kx-orange);text-align:center;margin-block-start:12px;margin-inline-end:0px;margin-block-end:22px;margin-inline-start:0px;}
body .elementor .kx2-kicker{letter-spacing:.22em;text-transform:uppercase;text-wrap:wrap;}
body .elementor .kx2-lead{font-family:var(--kx-font);font-weight:400;font-size:var(--kx-fs2-lead);color:var(--kx-muted);text-align:center;margin-block-start:0px;margin-inline-end:auto;margin-block-end:0px;margin-inline-start:auto;}
body .elementor .kx2-lead{line-height:1.7;max-width:760px;text-wrap:wrap;}
body .elementor .kx2-sub{font-family:var(--kx-font);font-weight:400;font-size:var(--kx-fs2-sub);color:var(--kx-muted);text-align:center;margin-block-start:0px;margin-inline-end:auto;margin-block-end:0px;margin-inline-start:auto;}
body .elementor .kx2-sub{line-height:1.7;text-wrap:wrap;}
body .elementor .kx-band-label{font-family:var(--kx-font);font-weight:600;font-size:var(--kx-fs-label);color:rgba(255,255,255,0.88);text-align:center;margin-block-start:12px;margin-inline-end:0px;margin-block-end:22px;margin-inline-start:0px;}
body .elementor .kx-band-label{letter-spacing:.18em;text-transform:uppercase;}
body .elementor .kx-body{font-family:var(--kx-font);font-weight:400;font-size:var(--kx-fs-body);color:var(--kx-muted);}
body .elementor .kx-body{line-height:1.75;text-wrap:wrap;}
body .elementor .kx-btn{font-family:var(--kx-font);font-weight:600;font-size:var(--kx-fs-btn);border-radius:0px 0px 0px 0px;}
body .elementor .kx-btn{letter-spacing:.12em;text-transform:uppercase;text-wrap:wrap;transition:background .25s ease,border-color .25s ease,color .25s ease,transform .25s ease,box-shadow .25s ease;}
body .elementor .kx-btn-ghost{color:var(--kx-ink);padding-block-start:16px;padding-inline-end:30px;padding-block-end:16px;padding-inline-start:30px;background-color:rgba(0,0,0,0);}
body .elementor .kx-btn-ghost{border:1px solid rgba(255,255,255,0.30);}
body .elementor .kx-btn-ghost:hover{border-color:var(--kx-orange);color:var(--kx-orange);}
body .elementor .kx-btn-primary{color:#ffffff;padding-block-start:16px;padding-inline-end:32px;padding-block-end:16px;padding-inline-start:32px;background-color:var(--kx-orange);}
body .elementor .kx-btn-primary:hover{transform:translateY(-2px);}
body .elementor .kx-btn-primary:hover{background-color:#cf4a13;}
body .elementor .kx-card{display:flex;flex-direction:column;align-items:flex-start;}
body .elementor .kx-card{transition:background .3s ease;}
body .elementor .kx-card:hover{background-color:var(--kx-panel);}
body .elementor .kx-footer-link{width:100%;font-family:var(--kx-font);font-weight:400;font-size:14.88px;color:var(--kx-muted);text-align:start;padding-block-start:0px;padding-inline-end:0px;padding-block-end:0px;padding-inline-start:0px;margin-block-start:0px;margin-inline-end:0px;margin-block-end:13px;margin-inline-start:0px;border-radius:0px 0px 0px 0px;background-color:rgba(0,0,0,0);}
body .elementor .kx-footer-link{overflow-wrap:anywhere;transition:.22s;}
body .elementor .kx-footer-link:hover{padding-left:5px;}
body .elementor .kx-footer-link:hover{color:var(--kx-orange);}
body .elementor .kx-h2{width:100%;font-family:var(--kx-font);font-weight:700;font-size:var(--kx-fs-h2);color:var(--kx-ink);}
body .elementor .kx-h2{line-height:1.06;letter-spacing:-0.02em;text-wrap:pretty;}
body .elementor .kx-h2 em{color:var(--kx-orange);font-style:normal;}
@media (max-width:767px){body .elementor .kx-h2{font-size:32px;}}
body .elementor .kx-h3{width:100%;font-family:var(--kx-font);font-weight:700;font-size:var(--kx-fs-h3);color:var(--kx-ink);}
body .elementor .kx-h3{line-height:1.1;letter-spacing:-0.02em;text-wrap:pretty;}
body .elementor .kx-kicker{font-family:var(--kx-font);font-weight:600;font-size:var(--kx-fs-kicker);color:var(--kx-orange);margin-block-start:12px;margin-inline-end:0px;margin-block-end:18px;margin-inline-start:0px;}
body .elementor .kx-kicker{letter-spacing:.22em;text-transform:uppercase;text-wrap:wrap;}
body .elementor .kx-section{width:100%;padding-block-start:var(--kx-sec-pad);padding-inline-end:0px;padding-block-end:var(--kx-sec-pad);padding-inline-start:0px;display:flex;flex-direction:column;align-items:stretch;}
body .elementor .kx-stat{width:fit-content;display:flex;flex-direction:column;align-items:flex-start;}
body .elementor .kx-wrap{width:100%;max-width:var(--kx-content-w);padding-block-start:0px;padding-inline-end:var(--kx-gutter);padding-block-end:0px;padding-inline-start:var(--kx-gutter);margin-block-start:0px;margin-inline-end:auto;margin-block-end:0px;margin-inline-start:auto;display:flex;flex-direction:column;align-items:flex-start;}
/* kx2 sub-scale light rules */
html.sx-light .kx2-h1,html.sx-light .kx2-h2{color:#11131a!important;}
html.sx-light .kx2-lead,html.sx-light .kx2-sub{color:#565b67!important;}

/* Client: hide the Inside SigmaX 3-screenshot section on home (reversible). */
.elementor-element-u0003x{display:none !important;}
