/* ==========================================================================
   xmido · light edition
   White / soft blue surfaces, cobalt accents, friendly tech.
   Loaded after xmido.css so the whole page keeps one bright tone.
   ========================================================================== */

:root {
  --bg: #f5f8fd;
  --bg-2: #eef4fc;
  --bg-3: #e7f0fb;
  --panel: #ffffff;
  --panel-2: #f8fbff;
  --ice: #17263c;
  --muted: #66778e;
  --muted-2: rgba(23, 38, 60, 0.55);
  --line: rgba(34, 77, 137, 0.14);
  --line-strong: rgba(34, 77, 137, 0.26);
  --blue: #2f7bff;
  --cyan: #0fb6de;
  --lime: #20b66a;
  --warm: #ef8b3e;
}

html {
  background: var(--bg);
}

body {
  background: var(--bg);
  color: var(--ice);
}

::selection {
  background: var(--blue);
  color: #fff;
}

:focus-visible {
  outline-color: var(--blue);
}

.xm-grain {
  opacity: 0.022;
  mix-blend-mode: multiply;
}

.xm-progress {
  background: linear-gradient(90deg, var(--cyan), var(--blue));
}

/* ---------- cursor ---------- */
.xm-cursor-ring {
  border-color: rgba(47, 123, 255, 0.55);
}

.xm-cursor-dot {
  background: var(--blue);
  box-shadow: 0 0 12px rgba(47, 123, 255, 0.45);
}

.xm-cursor.is-hover .xm-cursor-ring {
  background: rgba(47, 123, 255, 0.07);
  border-color: rgba(47, 123, 255, 0.28);
}

/* ---------- shared ---------- */
.xm-label,
.xm-section-note,
.xm-manifesto-side > p:not(.xm-lede),
.xm-manifesto-side .xm-text-link,
.xm-hero-lede,
.xm-kicker,
.xm-hero-note,
.xm-hero-foot,
.xm-product > p,
.xm-product-top,
.xm-product-foot,
.xm-product-slim p,
.xm-ai-intro,
.xm-ai-intro li,
.xm-ai-steps li,
.xm-ai-note,
.xm-ai-editor-top,
.xm-ai-editor-foot,
.xm-ai-prompt-panel .xm-ai-panel-label,
.xm-life-copy p,
.xm-life-meta,
.xm-life-tag,
.xm-know-head > p,
.xm-know-bar,
.xm-know-tip,
.xm-know-answer-top,
.xm-know-response,
.xm-know-source span,
.xm-know-tags span,
.xm-know-steps p,
.xm-pulse-copy > p:not(.xm-label),
.xm-number p,
.xm-industries > span,
.xm-cta-meta,
.xm-footer-brand > p,
.xm-footer-status,
.xm-footer-cols a,
.xm-footer-cols p,
.xm-footer-bottom {
  color: var(--muted);
}

.xm-section-head {
  border-top-color: var(--line);
}

.xm-section-head .xm-section-note {
  color: var(--muted);
}

.xm-display,
.xm-section-title,
.xm-hero-title,
.xm-manifesto .xm-display,
.xm-products-head .xm-display,
.xm-ai-head .xm-display,
.xm-life-head .xm-display,
.xm-know-head .xm-display,
.xm-pulse .xm-display,
.xm-product h3,
.xm-ai-copy h3,
.xm-cap-copy h3,
.xm-life-copy h3,
.xm-know-question,
.xm-know-steps strong,
.xm-number strong,
.xm-cta h2 {
  color: var(--ice);
}

.xm-accent,
.xm-title-line.xm-accent {
  background: linear-gradient(100deg, #0b6cff 8%, #0faee0 92%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.xm-title-dot {
  color: #0fa8da !important;
  -webkit-text-fill-color: #0fa8da;
  text-shadow: 0 0 22px rgba(15, 168, 218, 0.25);
}

.xm-warm {
  background: linear-gradient(100deg, #ea7d32, #f0a743);
  -webkit-background-clip: text;
  background-clip: text;
}

.xm-text-link {
  color: var(--ice);
  border-bottom-color: rgba(34, 77, 137, 0.32);
}

.xm-text-link:hover {
  color: var(--blue);
  border-color: var(--blue);
}

/* ---------- buttons ---------- */
.xm-btn {
  border-color: rgba(34, 77, 137, 0.2);
  background: #fff;
  color: var(--ice);
  box-shadow: 0 8px 24px rgba(34, 77, 137, 0.07);
}

.xm-btn:hover {
  background: #f2f7ff;
  border-color: rgba(47, 123, 255, 0.55);
  color: var(--blue);
}

.xm-btn--primary,
.xm-btn--primary:hover {
  border-color: transparent;
  background: linear-gradient(100deg, #2f7bff, #0aaee0);
  color: #fff;
  box-shadow: 0 14px 28px rgba(47, 123, 255, 0.24);
}

.xm-btn--primary:hover {
  background: linear-gradient(100deg, #1d6cf5, #009ed2);
  color: #fff;
}

/* ---------- header ---------- */
.xm-header {
  color: var(--ice);
}

.xm-header::before {
  background: rgba(248, 251, 255, 0.78);
}

.xm-header.is-scrolled {
  border-bottom-color: var(--line);
}

.xm-word {
  color: var(--ice);
}

.xm-mark svg path:first-of-type {
  stroke: var(--blue);
}

.xm-mark svg path:nth-of-type(2) {
  stroke: var(--ice);
}

.xm-mark svg circle:first-of-type {
  fill: var(--blue);
}

.xm-mark svg circle:last-of-type {
  fill: var(--cyan);
}

.xm-nav a {
  color: rgba(23, 38, 60, 0.58);
}

.xm-nav a:hover,
.xm-nav a.is-active {
  color: var(--ice);
}

.xm-nav a::after {
  background: var(--blue);
}

.xm-nav a span {
  color: var(--blue);
}

.xm-system {
  color: rgba(23, 38, 60, 0.42);
}

.xm-header .xm-btn--small {
  border-color: transparent;
  background: linear-gradient(100deg, var(--blue), #0aaee0);
  color: #fff;
  box-shadow: 0 8px 20px rgba(47, 123, 255, 0.22);
}

.xm-header .xm-btn--small:hover {
  background: linear-gradient(100deg, #1d6cf5, #009ed2);
  color: #fff;
}

.xm-mobile-foot .xm-btn {
  border-color: transparent;
  background: linear-gradient(100deg, var(--blue), #0aaee0);
  color: #fff;
  box-shadow: 0 10px 24px rgba(47, 123, 255, 0.2);
}

.xm-menu-toggle span {
  background: var(--ice);
}

/* ---------- mobile menu ---------- */
.xm-mobile {
  background: #f8fbff;
  background-image: radial-gradient(ellipse at 86% 0%, rgba(47, 123, 255, 0.13), transparent 56%);
  color: var(--ice);
}

.xm-mobile-nav {
  border-top-color: var(--line);
}

.xm-mobile-nav a {
  border-bottom-color: var(--line);
  color: var(--ice);
}

.xm-mobile-nav a span {
  color: var(--blue);
}

.xm-mobile-meta {
  color: var(--muted);
}

/* ---------- hero ---------- */
.xm-hero {
  background: radial-gradient(ellipse 62% 58% at 74% 38%, rgba(173, 210, 255, 0.55), transparent 68%),
    radial-gradient(ellipse 44% 44% at 10% 88%, rgba(174, 236, 255, 0.3), transparent 70%),
    linear-gradient(180deg, #f8fbff 0%, #eef5fd 100%);
  color: var(--ice);
}

#pulse-canvas {
  opacity: 0.62;
}

.xm-hero-grid {
  background-image: linear-gradient(rgba(47, 123, 255, 0.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(47, 123, 255, 0.06) 1px, transparent 1px);
  opacity: 0.8;
}

.xm-glow--one {
  background: rgba(47, 123, 255, 0.12);
}

.xm-glow--two {
  background: rgba(15, 182, 222, 0.08);
}

.xm-kicker {
  color: #687a92;
}

.xm-hero-title {
  color: var(--ice);
}

.xm-hero-lede {
  color: #5e7088;
}

.xm-hero-note {
  color: #8191a7;
}

.xm-hero-foot {
  border-top-color: var(--line);
  color: #8392a7;
}

.xm-hero-foot-meta span {
  color: var(--blue);
}

.xm-hero-version {
  color: var(--blue);
}

.xm-scroll i {
  background: rgba(34, 77, 137, 0.16);
}

.xm-scroll i::after {
  background: var(--blue);
}

.xm-orbit {
  border-color: rgba(47, 123, 255, 0.14);
}

.xm-orbit--mid {
  border-color: rgba(47, 123, 255, 0.22);
}

.xm-orbit--inner {
  border-color: rgba(34, 77, 137, 0.12);
}

.xm-orbit-node {
  background: var(--blue);
  box-shadow: 0 0 14px rgba(47, 123, 255, 0.55);
}

.xm-orbit-node--b {
  background: var(--cyan);
}

.xm-orbit-node--c {
  background: #0b9ed0;
}

.xm-core-halo {
  background: radial-gradient(circle, rgba(47, 123, 255, 0.2), transparent 68%);
}

.xm-core {
  border-color: rgba(34, 77, 137, 0.16);
  background: linear-gradient(155deg, rgba(255, 255, 255, 0.95), rgba(241, 247, 255, 0.94));
  box-shadow: 0 30px 70px rgba(34, 77, 137, 0.16),
    0 0 0 1px rgba(255, 255, 255, 0.65) inset;
}

.xm-core::before {
  background: linear-gradient(120deg, rgba(47, 123, 255, 0.07), transparent 42%);
}

.xm-core-top,
.xm-core-foot {
  border-color: var(--line);
  color: #7d8da2;
}

.xm-core-brand i {
  background: linear-gradient(135deg, var(--cyan), var(--blue));
}

.xm-core-live {
  color: #5f7189;
}

.xm-core-live i {
  background: var(--lime);
}

.xm-core-head small {
  color: #8796a9;
}

.xm-core-head strong {
  color: var(--ice);
}

.xm-core-badge {
  border-color: rgba(32, 182, 106, 0.25);
  background: rgba(32, 182, 106, 0.08);
  color: #14985a;
}

.xm-wave-grid path {
  stroke: rgba(47, 123, 255, 0.12);
}

.xm-wave-soft {
  stroke: rgba(15, 182, 222, 0.18);
}

.xm-wave-line {
  stroke: url(#wave-grad);
}

.xm-wave-dot {
  fill: var(--blue);
  filter: drop-shadow(0 0 5px rgba(47, 123, 255, 0.4));
}

.xm-core-stats {
  background: var(--line);
  border-color: var(--line);
}

.xm-core-stats > div {
  background: rgba(255, 255, 255, 0.66);
}

.xm-core-stats small {
  color: #8796a9;
}

.xm-core-stats strong {
  color: var(--ice);
}

.xm-core-stats em {
  color: var(--blue);
}

.xm-core-foot i {
  background: var(--lime);
}

.xm-chip {
  border-color: rgba(34, 77, 137, 0.16);
  background: rgba(255, 255, 255, 0.86);
  color: #64758c;
  box-shadow: 0 12px 28px rgba(34, 77, 137, 0.1);
}

.xm-chip i {
  background: var(--cyan);
}

/* ---------- ticker ---------- */
.xm-ticker {
  background: #eaf2ff;
  border-color: rgba(34, 77, 137, 0.12);
}

.xm-ticker span {
  color: #6a7d96;
}

.xm-ticker span:nth-child(even) {
  color: var(--blue);
}

/* ---------- sections ---------- */
.xm-manifesto {
  background: radial-gradient(ellipse 46% 42% at 82% 14%, rgba(47, 123, 255, 0.07), transparent 68%),
    #f8fbff;
}

.xm-manifesto-side .xm-lede,
.xm-lede {
  color: #465a73;
}

.xm-mini-pulse {
  border-color: var(--line);
}

.xm-mini-pulse path {
  stroke: var(--blue);
}

.xm-mini-pulse span {
  color: #8b9aad;
}

.xm-principles {
  background: var(--line);
  border-color: var(--line);
}

.xm-principles > div {
  background: #f8fbff;
}

.xm-principles span {
  color: var(--blue);
}

.xm-principles strong {
  color: var(--ice);
}

.xm-principles p {
  color: var(--muted);
}

/* ---------- products ---------- */
.xm-products {
  background: #ffffff;
  border-top-color: var(--line);
}

.xm-products-head > p,
.xm-ai-intro,
.xm-life-head > p,
.xm-know-head > p {
  color: var(--muted);
}

.xm-product {
  border-color: rgba(34, 77, 137, 0.13);
  background: linear-gradient(155deg, #ffffff, #f5f9ff);
  box-shadow: 0 16px 42px rgba(34, 77, 137, 0.06);
}

.xm-product::before {
  background: radial-gradient(circle, rgba(47, 123, 255, 0.09), transparent 66%);
}

.xm-product::after {
  background-image: linear-gradient(rgba(47, 123, 255, 0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(47, 123, 255, 0.04) 1px, transparent 1px);
}

.xm-product:hover {
  border-color: rgba(47, 123, 255, 0.4);
  background: #ffffff;
  box-shadow: 0 26px 56px rgba(34, 77, 137, 0.12);
}

.xm-product-top {
  color: #8090a5;
}

.xm-product-state {
  color: var(--blue);
}

.xm-product-state i {
  background: var(--blue);
  box-shadow: 0 0 8px rgba(47, 123, 255, 0.55);
}

.xm-product h3 {
  color: var(--ice);
}

.xm-product > p {
  color: var(--muted);
}

.xm-product-foot {
  border-top-color: var(--line);
  color: #8494a8;
}

.xm-product-arrow {
  color: var(--blue);
}

.xm-pv-phone {
  border-color: rgba(34, 77, 137, 0.16);
  box-shadow: 0 18px 36px rgba(34, 77, 137, 0.16);
}

.xm-pv-float {
  border-color: rgba(47, 123, 255, 0.24);
  background: #fff;
  color: var(--blue);
  box-shadow: 0 12px 26px rgba(34, 77, 137, 0.12);
}

.xm-pv-iot-ring {
  border-color: rgba(47, 123, 255, 0.3);
  background: radial-gradient(circle, rgba(173, 210, 255, 0.55), rgba(255, 255, 255, 0.4) 70%);
  box-shadow: 0 0 50px rgba(47, 123, 255, 0.12);
}

.xm-pv-iot-ring::before,
.xm-pv-iot-ring::after {
  border-color: rgba(47, 123, 255, 0.16);
}

.xm-pv-iot-ring span {
  color: var(--blue);
}

.xm-pv-iot-ring small {
  color: var(--muted);
}

.xm-pv-sensor {
  border-color: var(--line);
  background: rgba(255, 255, 255, 0.88);
  color: #6c7d93;
}

.xm-pv-sensor strong {
  color: #15975b;
}

.xm-pv-code {
  border-color: rgba(34, 77, 137, 0.16);
  background: #f8fbff;
  box-shadow: 0 18px 36px rgba(34, 77, 137, 0.1);
}

.xm-pv-code-top {
  border-bottom-color: var(--line);
  color: #8494a8;
}

.xm-pv-code-top span:last-child {
  color: var(--blue);
}

.xm-pv-code-lines {
  color: #26578e;
}

.xm-pv-code-lines i {
  color: #a8b5c5;
}

.xm-pv-code-lines b {
  color: var(--blue);
}

.xm-pv-know svg path {
  stroke: rgba(47, 123, 255, 0.24);
}

.xm-pv-know-node {
  border-color: rgba(34, 77, 137, 0.16);
  background: #fff;
  color: #62748b;
}

.xm-pv-know-core {
  border-color: rgba(47, 123, 255, 0.4);
  background: radial-gradient(circle, #dcecff, #ffffff 78%);
  color: var(--blue);
  box-shadow: 0 0 30px rgba(47, 123, 255, 0.16);
}

.xm-product-slim a {
  border-color: var(--line);
  background: #f8fbff;
}

.xm-product-slim a:hover {
  border-color: rgba(47, 123, 255, 0.35);
  background: #eef5ff;
}

.xm-product-slim span {
  color: var(--blue);
}

.xm-product-slim p {
  color: var(--muted);
}

/* ---------- AI studio ---------- */
.xm-ai {
  background: radial-gradient(ellipse 50% 46% at 82% 12%, rgba(47, 123, 255, 0.08), transparent 68%),
    #f6faff;
  border-top-color: var(--line);
}

.xm-ai-intro li {
  border-color: var(--line);
  color: #61748d;
}

.xm-ai-stage {
  border-color: var(--line);
  background: #ffffff;
  box-shadow: 0 22px 58px rgba(34, 77, 137, 0.08);
}

.xm-ai-stage-top {
  border-bottom-color: var(--line);
  color: #7f90a5;
}

.xm-ai-replay {
  border-color: var(--line);
  color: var(--muted);
}

.xm-ai-prompt-panel {
  border-right-color: var(--line);
  background: linear-gradient(150deg, #f0f7ff, #ffffff 75%);
}

.xm-ai-panel-label {
  color: var(--blue);
}

.xm-ai-prompt-line {
  color: var(--ice);
}

.xm-ai-prompt-line > span:first-child {
  color: var(--blue);
}

.xm-ai-caret {
  background: var(--blue);
}

.xm-ai-chips button {
  border-color: var(--line);
  color: #61748d;
}

.xm-ai-chips button:hover {
  border-color: rgba(47, 123, 255, 0.4);
  color: var(--blue);
}

.xm-ai-chips button.is-active {
  border-color: rgba(47, 123, 255, 0.45);
  background: #e8f2ff;
  color: var(--blue);
}

.xm-ai-steps {
  border-top-color: var(--line);
}

.xm-ai-steps li {
  border-bottom-color: var(--line);
  color: #9aa8b9;
}

.xm-ai-steps li span {
  color: #a2b0c1;
}

.xm-ai-steps li.is-active {
  color: var(--ice);
}

.xm-ai-steps li.is-active span {
  color: var(--blue);
}

.xm-ai-note {
  color: #8d9caf;
}

.xm-ai-editor {
  background: #ffffff;
}

.xm-ai-editor-top {
  border-bottom-color: var(--line);
  color: #7f90a5;
}

.xm-ai-dots i {
  background: #c3cfdd;
}

.xm-ai-dots i:first-child {
  background: var(--blue);
}

.xm-ai-editor-state {
  color: var(--blue);
}

.xm-ai-editor-state i {
  background: var(--blue);
}

.xm-ai-code-wrap {
  background: #f8fbff;
}

.xm-ai-gutter {
  border-right-color: var(--line);
  color: #b1becd;
}

.xm-ai-code-wrap pre {
  color: #244f86;
}

.xm-ai-code-wrap .tok-kw {
  color: #0b63c9;
}

.xm-ai-code-wrap .tok-str {
  color: #12824a;
}

.xm-ai-code-wrap .tok-fn {
  color: #008ab5;
}

.xm-ai-editor-foot {
  border-top-color: var(--line);
  color: #8d9caf;
}

.xm-ai-editor-foot span:first-child {
  color: var(--blue);
}

/* ---------- life ---------- */
.xm-life {
  background: radial-gradient(ellipse 46% 46% at 16% 34%, rgba(159, 224, 255, 0.24), transparent 68%),
    #f7fcff;
  border-top-color: var(--line);
}

.xm-life-head .xm-warm {
  background: linear-gradient(100deg, #0b6cff, #0bb8c9);
  -webkit-background-clip: text;
  background-clip: text;
}

.xm-life-card {
  border-color: rgba(34, 77, 137, 0.13);
  background: linear-gradient(160deg, #ffffff, #f7fcff);
  box-shadow: 0 16px 40px rgba(34, 77, 137, 0.06);
}

.xm-life-card:hover {
  border-color: rgba(47, 123, 255, 0.35);
  box-shadow: 0 24px 52px rgba(34, 77, 137, 0.1);
}

.xm-life-meta {
  color: #8494a8;
}

.xm-life-meta span:first-child {
  color: var(--blue);
}

.xm-life-art {
  color: rgba(47, 123, 255, 0.48);
}

.xm-life-copy h3 {
  color: var(--ice);
}

.xm-life-copy p {
  color: #61748b;
}

.xm-life-tag {
  border-top-color: var(--line);
  color: #0b9bb5;
}

.xm-life-note {
  color: #7f91a6;
}

/* ---------- knowledge ---------- */
.xm-knowledge {
  background: radial-gradient(ellipse 52% 50% at 64% 30%, rgba(47, 123, 255, 0.07), transparent 70%),
    #f6faff;
  border-top-color: var(--line);
}

.xm-know-graph {
  border-color: var(--line);
  background: radial-gradient(circle at 50% 50%, rgba(173, 210, 255, 0.36), transparent 62%),
    #ffffff;
}

.xm-know-bar {
  border-bottom-color: var(--line);
  color: #8292a7;
}

.xm-know-bar span:last-child {
  color: var(--blue);
}

.xm-know-canvas::before {
  background-image: linear-gradient(rgba(47, 123, 255, 0.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(47, 123, 255, 0.05) 1px, transparent 1px);
}

.xm-know-lines path,
.xm-know-lines circle {
  stroke: rgba(47, 123, 255, 0.2);
}

.xm-know-core {
  border-color: rgba(47, 123, 255, 0.38);
  background: radial-gradient(circle, #dcecff, #ffffff 76%);
  box-shadow: 0 0 42px rgba(47, 123, 255, 0.14);
}

.xm-know-core span {
  color: var(--blue);
}

.xm-know-core i {
  background: var(--cyan);
  box-shadow: 0 0 10px rgba(15, 182, 222, 0.4);
}

.xm-know-node {
  border-color: rgba(34, 77, 137, 0.16);
  background: rgba(255, 255, 255, 0.94);
  color: #62748b;
  box-shadow: 0 6px 18px rgba(34, 77, 137, 0.05);
}

.xm-know-node:hover {
  border-color: rgba(47, 123, 255, 0.5);
  color: var(--blue);
}

.xm-know-node.is-active {
  border-color: var(--blue);
  background: var(--blue);
  color: #fff;
  box-shadow: 0 0 20px rgba(47, 123, 255, 0.22);
}

.xm-know-tip {
  color: #98a6b7;
}

.xm-know-answer {
  border-color: var(--line);
  background: linear-gradient(160deg, #ffffff, #f5f9ff);
  box-shadow: 0 20px 46px rgba(34, 77, 137, 0.07);
}

.xm-know-answer-top {
  border-bottom-color: var(--line);
  color: #8292a7;
}

.xm-know-answer-top span:last-child {
  color: var(--blue);
}

.xm-know-question {
  color: var(--ice);
}

.xm-know-response {
  color: #556880;
}

.xm-know-source {
  border-top-color: var(--line);
}

.xm-know-source span {
  color: #98a6b7;
}

.xm-know-source b {
  color: var(--blue);
}

.xm-know-tags span {
  border-color: var(--line);
  color: #64768d;
}

.xm-know-answer .xm-text-link {
  color: var(--ice);
}

.xm-know-steps {
  border-color: var(--line);
  background: var(--line);
}

.xm-know-steps > div {
  background: #ffffff;
}

.xm-know-steps span {
  color: var(--blue);
}

.xm-know-steps strong {
  color: var(--ice);
}

.xm-know-steps p {
  color: var(--muted);
}

/* ---------- pulse ---------- */
.xm-pulse {
  background: radial-gradient(ellipse 45% 50% at 72% 42%, rgba(47, 123, 255, 0.1), transparent 65%),
    #f7fbff;
  border-top-color: var(--line);
}

.xm-pulse-copy .xm-display {
  color: var(--ice);
}

.xm-pulse-stage::before,
.xm-pulse-stage::after {
  border-color: rgba(47, 123, 255, 0.12);
}

.xm-pulse-core {
  border-color: rgba(47, 123, 255, 0.28);
  background: radial-gradient(circle at 50% 50%, #e6f1ff, #ffffff 70%);
  box-shadow: 0 20px 60px rgba(47, 123, 255, 0.1);
}

.xm-pulse-core:hover {
  border-color: rgba(47, 123, 255, 0.55);
}

.xm-pulse-ring {
  border-color: rgba(47, 123, 255, 0.15);
}

.xm-pulse-orbit i {
  background: var(--blue);
  box-shadow: 0 0 12px rgba(47, 123, 255, 0.5);
}

.xm-pulse-orbit i:nth-child(2) {
  background: var(--cyan);
}

.xm-pulse-mark svg path:first-of-type {
  stroke: var(--blue);
}

.xm-pulse-mark svg path:nth-of-type(2) {
  stroke: var(--ice);
}

.xm-pulse-mark svg circle {
  fill: var(--blue);
}

.xm-pulse-ecg path {
  stroke: var(--blue);
  filter: drop-shadow(0 0 4px rgba(47, 123, 255, 0.25));
}

.xm-pulse-hint,
.xm-node-label,
.xm-bpm span,
.xm-bpm small {
  color: #8494a8;
}

.xm-node-label::before {
  background: var(--blue);
}

.xm-bpm {
  border-color: var(--line);
  background: rgba(255, 255, 255, 0.86);
  box-shadow: 0 8px 22px rgba(34, 77, 137, 0.07);
}

.xm-bpm strong {
  color: var(--blue);
}

.xm-burst {
  border-color: rgba(47, 123, 255, 0.45);
}

/* ---------- numbers ---------- */
.xm-numbers {
  background: #eef5ff;
  border-top-color: var(--line);
}

.xm-number {
  border-right-color: var(--line);
}

.xm-number strong {
  background: linear-gradient(180deg, #17345a 10%, #2f7bff 78%, #0faee0);
  -webkit-background-clip: text;
  background-clip: text;
}

.xm-number strong em {
  color: var(--blue);
  -webkit-text-fill-color: var(--blue);
}

.xm-number p {
  color: #7b8ba0;
}

.xm-industries {
  border-top-color: var(--line);
}

.xm-industries > span {
  color: #8292a7;
}

.xm-industries li {
  border-color: var(--line);
  color: #5f7289;
  background: rgba(255, 255, 255, 0.5);
}

/* ---------- CTA ---------- */
.xm-cta {
  background: radial-gradient(ellipse 55% 80% at 68% 34%, rgba(120, 220, 255, 0.38), transparent 64%),
    linear-gradient(118deg, #2f7bff 0%, #147be8 48%, #02a6d4 100%);
  border-top-color: transparent;
}

.xm-cta-grid {
  background-image: linear-gradient(rgba(255, 255, 255, 0.1) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.1) 1px, transparent 1px);
}

.xm-cta-rings i {
  border-color: rgba(255, 255, 255, 0.12);
}

.xm-cta .xm-label {
  color: rgba(255, 255, 255, 0.7);
}

.xm-cta h2 {
  color: #fff;
}

.xm-cta h2 .xm-accent {
  background: linear-gradient(100deg, #ffffff 10%, #c9f4ff 90%);
  -webkit-background-clip: text;
  background-clip: text;
}

.xm-cta-lede {
  color: rgba(255, 255, 255, 0.74);
}

.xm-cta-mail {
  color: #fff;
}

.xm-cta-mail span {
  color: rgba(255, 255, 255, 0.58);
}

.xm-cta .xm-btn--primary {
  background: #fff;
  color: var(--blue);
  box-shadow: 0 14px 30px rgba(6, 68, 142, 0.18);
}

.xm-cta .xm-btn--primary:hover {
  background: #eef7ff;
  color: #0b63c9;
}

.xm-cta-meta {
  color: rgba(255, 255, 255, 0.62);
  border-top-color: rgba(255, 255, 255, 0.2);
}

/* ---------- footer ---------- */
.xm-footer {
  background: #eef5fd;
  border-top-color: var(--line);
  color: var(--ice);
}

.xm-footer-brand .xm-word {
  color: var(--ice);
}

.xm-footer-brand > p {
  color: #5f7188;
}

.xm-footer-status {
  color: #7f90a4;
}

.xm-footer-cols h3 {
  color: #8a99ab;
}

.xm-footer-cols a,
.xm-footer-cols p {
  color: #50647b;
}

.xm-footer-cols a:hover {
  color: var(--blue);
}

.xm-footer-word {
  -webkit-text-stroke-color: rgba(47, 123, 255, 0.22);
}

.xm-footer-bottom {
  border-top-color: var(--line);
  color: #8493a6;
}

.xm-footer-bottom a:hover {
  color: var(--blue);
}

.xm-clock {
  color: var(--blue);
}

.xm-footer .xm-mark svg path:first-of-type {
  stroke: var(--blue);
}

.xm-footer .xm-mark svg path:nth-of-type(2) {
  stroke: var(--ice);
}

.xm-footer .xm-mark svg circle:first-of-type {
  fill: var(--blue);
}

.xm-footer .xm-mark svg circle:last-of-type {
  fill: var(--cyan);
}

/* ---------- responsive fine tuning ---------- */
@media (max-width: 760px) {
  .xm-hero {
    background: radial-gradient(ellipse 90% 55% at 70% 28%, rgba(173, 210, 255, 0.48), transparent 70%),
      linear-gradient(180deg, #f8fbff, #eef5fd);
  }

  .xm-cta h2 {
    color: #fff;
  }

  .xm-cta-lede {
    color: rgba(255, 255, 255, 0.78);
  }
}

/* ---------- English / mono labels: 12–14px floor ---------- */
.xm-kicker {
  font-size: 14px;
  letter-spacing: 0.14em;
}

.xm-hero-foot {
  font-size: 14px;
  letter-spacing: 0.1em;
}

.xm-hero-note {
  font-size: 12px;
  letter-spacing: 0.12em;
}

.xm-label {
  font-size: 13px;
}

.xm-system {
  font-size: 12px;
}

.xm-nav a span {
  font-size: 11px;
}

.xm-product-top {
  font-size: 12px;
}

.xm-product-foot {
  font-size: 12px;
}

.xm-product-slim span {
  font-size: 12px;
}

.xm-ai-panel-label {
  font-size: 12px;
}

.xm-ai-intro li {
  font-size: 11px;
}

.xm-ai-chips button {
  font-size: 12px;
}

.xm-ai-steps li span {
  font-size: 10px;
}

.xm-ai-note {
  font-size: 12px;
}

.xm-ai-editor-top,
.xm-ai-editor-foot {
  font-size: 11px;
}

.xm-life-meta {
  font-size: 12px;
}

.xm-life-tag {
  font-size: 12px;
}

.xm-know-bar {
  font-size: 11px;
}

.xm-know-tip {
  font-size: 11px;
}

.xm-know-answer-top {
  font-size: 11px;
}

.xm-know-source span {
  font-size: 11px;
}

.xm-know-source b {
  font-size: 12px;
}

.xm-know-tags span {
  font-size: 11px;
}

.xm-know-steps span {
  font-size: 11px;
}

.xm-pulse-hint {
  font-size: 11px;
}

.xm-node-label {
  font-size: 12px;
}

.xm-bpm span {
  font-size: 11px;
}

.xm-bpm small {
  font-size: 10px;
}

.xm-number p {
  font-size: 12px;
}

.xm-industries > span {
  font-size: 12px;
}

.xm-cta-mail span {
  font-size: 11px;
}

.xm-cta-meta {
  font-size: 12px;
}

.xm-footer-status {
  font-size: 12px;
}

.xm-footer-cols h3 {
  font-size: 12px;
}

.xm-footer-bottom {
  font-size: 12px;
}

.xm-clock {
  font-size: 12px;
}

/* Keep secondary English labels at 12px on desktop. */
.xm-ai-intro li,
.xm-ai-editor-top,
.xm-ai-editor-foot,
.xm-know-bar,
.xm-know-answer-top,
.xm-know-source span,
.xm-know-tip,
.xm-pulse-hint,
.xm-bpm span,
.xm-cta-mail span {
  font-size: 12px;
}

@media (max-width: 760px) {
  .xm-kicker {
    font-size: 12px;
    letter-spacing: 0.08em;
  }

  .xm-hero-foot {
    font-size: 12px;
  }

  .xm-label {
    font-size: 12px;
  }

  .xm-product-top,
  .xm-product-foot {
    font-size: 11px;
  }

  .xm-ai-panel-label,
  .xm-ai-note {
    font-size: 11px;
  }

  .xm-ai-editor-top,
  .xm-ai-editor-foot {
    font-size: 10px;
  }

  .xm-life-meta,
  .xm-life-tag {
    font-size: 11px;
  }

  .xm-know-bar,
  .xm-know-answer-top {
    font-size: 10px;
  }

  .xm-node-label {
    font-size: 10px;
  }

  .xm-number p {
    font-size: 11px;
  }

  .xm-industries > span,
  .xm-cta-meta {
    font-size: 10px;
  }

  .xm-footer-cols h3,
  .xm-footer-status {
    font-size: 11px;
  }
}

/* ---------- body copy: one readable size across the page ---------- */
.xm-hero-lede,
.xm-lede,
.xm-manifesto-side > p,
.xm-product > p,
.xm-ai-intro,
.xm-ai-intro .xm-lede,
.xm-life-copy p,
.xm-life-note,
.xm-know-head > p,
.xm-know-response,
.xm-know-steps p,
.xm-pulse-copy > p,
.xm-product-slim p {
  font-size: 18px;
  line-height: 1.85;
}

.xm-product > p {
  max-width: 380px;
}

.xm-footer-brand > p {
  font-size: 16px;
  line-height: 1.85;
}

@media (max-width: 760px) {
  .xm-hero-lede,
  .xm-lede,
  .xm-manifesto-side > p,
  .xm-product > p,
  .xm-ai-intro,
  .xm-ai-intro .xm-lede,
  .xm-life-copy p,
  .xm-life-note,
  .xm-know-head > p,
  .xm-know-response,
  .xm-know-steps p,
  .xm-pulse-copy > p,
  .xm-product-slim p {
    font-size: 16.5px;
    line-height: 1.8;
  }
}

/* ---------- parent-brand integration ---------- */
.xm-word {
  position: relative;
}

.xm-byline {
  display: block;
  margin-top: 2px;
  color: #8d9aae;
  font-family: var(--mono);
  font-size: 8.5px;
  font-style: normal;
  font-weight: 500;
  letter-spacing: 0.12em;
  line-height: 1.2;
  white-space: nowrap;
}

.xm-parent-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding-left: 14px;
  border-left: 1px solid var(--line);
  color: #68798e;
  font-size: 12px;
  font-weight: 500;
  white-space: nowrap;
  transition: color 0.2s ease;
}

.xm-parent-link span {
  color: var(--orange);
  font-size: 13px;
}

.xm-parent-link:hover {
  color: var(--orange);
}

.xm-parent-link--footer {
  margin-top: 14px;
  padding-left: 0;
  border-left: 0;
  color: #7b8a9c;
}

.xm-parent-mobile {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 7px;
  color: #7b8a9c;
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.05em;
}

.xm-parent-mobile span {
  color: var(--orange);
}

@media (max-width: 1180px) {
  .xm-parent-link {
    font-size: 11px;
    padding-left: 10px;
  }
}

@media (max-width: 1024px) {
  .xm-header-side .xm-parent-link {
    display: none;
  }
}
