:root {
  color-scheme: dark;
  --bg: #09080d;
  --bg-deep: #06060a;
  --surface: #121019;
  --surface-raised: #171321;
  --surface-soft: #1c1729;
  --ink: #faf8ff;
  --ink-soft: #b7aec8;
  --ink-dim: #81788f;
  --brand: #6734ba;
  --brand-2: #7d49d6;
  --accent: #9d6bff;
  --accent-light: #c5a5ff;
  --line: rgb(224 207 255 / 12%);
  --line-strong: rgb(224 207 255 / 24%);
  --content: 1180px;
  --header-height: 76px;
  --radius: 6px;
  --ease: cubic-bezier(.16, 1, .3, 1);
  --ease-soft: cubic-bezier(.22, .61, .36, 1);
  --pointer-x: 50%;
  --pointer-y: 50%;
  --scene-scroll: 0px;
  --scene-pan-x: 0px;
  --scene-pan-y: 0px;
  --tilt-x: 0deg;
  --tilt-y: 0deg;
}

:root[data-theme="light"] {
  color-scheme: light;
  --bg: #f6f3fb;
  --bg-deep: #ece7f4;
  --surface: #ffffff;
  --surface-raised: #ffffff;
  --surface-soft: #f0eafa;
  --ink: #17111f;
  --ink-soft: #5d5367;
  --ink-dim: #786e83;
  --line: rgb(35 20 55 / 13%);
  --line-strong: rgb(35 20 55 / 24%);
}

* { box-sizing: border-box; }
html { background: var(--bg); }
body { margin: 0; min-width: 0; overflow-x: clip; background: var(--bg); color: var(--ink); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; line-height: 1.55; }
body::selection { background: var(--accent); color: #fff; }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
button { color: inherit; }
p, h1, h2, h3 { margin: 0; }
h1, h2, h3 { font-weight: 760; letter-spacing: -.055em; line-height: .98; }
h1 { font-size: clamp(3.4rem, 7.8vw, 7.2rem); }
h2 { font-size: clamp(2.55rem, 5.6vw, 5.2rem); }
h3 { font-size: clamp(1.35rem, 2vw, 1.9rem); }
small, .eyebrow, .capability-code, .case-type, .footer-label, .mono { font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace; }
.container { width: min(var(--content), calc(100% - 48px)); margin-inline: auto; }
.skip-link { position: fixed; top: 10px; left: 10px; z-index: 100; padding: 10px 14px; border-radius: 4px; background: var(--accent); color: #fff; transform: translateY(-150%);  }
.skip-link:focus { transform: translateY(0); }

.site-header { position: fixed; top: 0; right: 0; left: 0; z-index: 50; padding: 12px 0; border-bottom: 1px solid transparent;  }
.site-header.is-scrolled { padding: 8px 0; border-color: var(--line); background: rgb(9 8 13 / 78%); backdrop-filter: blur(18px); }
.nav-shell { min-height: 52px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 26px; padding: 6px 10px 6px 8px; border: 1px solid rgb(225 209 255 / 9%); border-radius: 5px; background: rgb(12 10 18 / 60%); box-shadow: 0 18px 50px -40px #000; backdrop-filter: blur(18px); }
.brand { display: inline-flex; align-items: center; gap: 10px; min-width: 0; }
.brand img { width: 42px; height: 42px; flex: 0 0 42px; }
.brand > span { display: grid; min-width: 0; }
.brand strong { font-size: 1rem; letter-spacing: -.04em; line-height: 1; }
.brand small { margin-top: 4px; overflow: hidden; color: var(--ink-dim); font-size: .49rem; letter-spacing: .11em; line-height: 1; text-overflow: ellipsis; white-space: nowrap; }
.site-nav { display: flex; justify-content: center; align-items: center; gap: clamp(14px, 2.3vw, 30px); }
.site-nav a { position: relative; padding: 8px 0; color: var(--ink-soft); font-size: .76rem;  }
.site-nav a::after { position: absolute; right: 100%; bottom: 2px; left: 0; height: 1px; background: var(--accent-light); content: "";  }
.site-nav a:hover, .site-nav a[aria-current="page"] { color: var(--ink); }
.site-nav a:hover::after, .site-nav a[aria-current="page"]::after { right: 0; }
.nav-actions { display: flex; align-items: center; gap: 8px; }
.icon-button { width: 38px; height: 38px; display: grid; place-items: center; padding: 0; border: 1px solid var(--line); border-radius: 4px; background: rgb(255 255 255 / 3%); color: var(--ink-soft); cursor: pointer;  }
.icon-button:hover { border-color: var(--line-strong); background: rgb(157 107 255 / 12%); color: var(--ink); transform: translateY(-2px); }
.menu-button { display: none; font-size: 1.2rem; }
.button { display: inline-flex; min-height: 46px; align-items: center; justify-content: center; gap: 10px; padding: 0 18px; border: 1px solid transparent; border-radius: 4px; font-size: .78rem; font-weight: 740; letter-spacing: -.01em; cursor: pointer;  }
.button:hover { transform: translateY(-3px); }
.button--small { min-height: 38px; padding-inline: 13px; font-size: .69rem; }
.button--accent { background: linear-gradient(125deg, #a370ff, #6a35bd); color: #fff; box-shadow: 0 16px 36px -20px rgb(125 73 214 / 90%), inset 0 1px 0 rgb(255 255 255 / 32%); }
.button--accent:hover { box-shadow: 0 24px 48px -20px rgb(157 107 255 / 86%), inset 0 1px 0 rgb(255 255 255 / 36%); }
.button--ghost { border-color: var(--line-strong); background: rgb(255 255 255 / 2%); color: var(--ink-soft); }
.button--ghost:hover { border-color: rgb(197 165 255 / 44%); background: rgb(157 107 255 / 9%); color: var(--ink); }
.text-link { display: inline-flex; align-items: center; gap: 9px; margin-top: 22px; color: var(--accent-light); font-size: .82rem; font-weight: 720;  }
.text-link:hover { color: var(--ink); gap: 14px; }
.eyebrow { display: inline-flex; align-items: center; gap: 9px; color: var(--accent-light); font-size: .63rem; font-weight: 700; letter-spacing: .17em; line-height: 1.3; }
.status-led { width: 7px; height: 7px; border-radius: 50%; background: var(--accent-light); box-shadow: 0 0 0 5px rgb(197 165 255 / 10%), 0 0 22px rgb(157 107 255 / 88%); }
.lead { color: var(--ink-soft); font-size: clamp(1rem, 1.4vw, 1.16rem); line-height: 1.7; }

.hero { position: relative; min-height: min(900px, 100svh); padding: calc(var(--header-height) + 86px) 0 104px; isolation: isolate; overflow: hidden; }
.hero--signal { background: radial-gradient(ellipse at 73% 44%, rgb(104 52 186 / 16%), transparent 34rem), radial-gradient(ellipse at 23% 110%, rgb(125 73 214 / 12%), transparent 34rem), var(--bg-deep); }
.hero--signal::before { position: absolute; inset: 0; z-index: -2; content: ""; background-image: linear-gradient(rgb(220 200 255 / 4%) 1px, transparent 1px), linear-gradient(90deg, rgb(220 200 255 / 4%) 1px, transparent 1px); background-size: 84px 84px; mask-image: linear-gradient(to bottom, #000 0%, rgb(0 0 0 / 55%) 55%, transparent 96%); }
.hero--signal::after { position: absolute; right: -10%; bottom: -30%; z-index: -2; width: 65vw; max-width: 860px; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle, rgb(125 73 214 / 10%), transparent 70%); content: ""; filter: blur(15px); }
.hero-layout { position: relative; z-index: 4; display: grid; grid-template-columns: minmax(0, .78fr) minmax(360px, 1.22fr); align-items: center; gap: clamp(36px, 6vw, 94px); min-height: 610px; }
.hero-copy { max-width: 720px; }
.hero-copy h1 { max-width: 8.4ch; margin-top: 25px; font-size: clamp(3.55rem, 7.4vw, 7.1rem); line-height: .88; }
.hero-copy h1 strong { display: inline; color: transparent; background: linear-gradient(104deg, #a97dff, #d5baff 48%, #7440d4); background-clip: text; -webkit-background-clip: text; }
.hero-lead { max-width: 600px; margin-top: 28px; color: #c6bed1; font-size: clamp(1.05rem, 1.55vw, 1.22rem); line-height: 1.7; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 32px; }
.hero-signature { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 36px; color: var(--ink-dim); font-family: "SFMono-Regular", Consolas, monospace; font-size: .58rem; letter-spacing: .12em; }
.hero-signature span::before { display: inline-block; width: 5px; height: 5px; margin-right: 7px; border-radius: 1px; background: var(--brand-2); content: ""; }
.hero-side { align-self: end; justify-self: end; padding: 0 2vw 44px 0; color: var(--ink-dim); font-family: "SFMono-Regular", Consolas, monospace; font-size: .59rem; letter-spacing: .13em; text-align: right; }
.hero-side__index { display: block; color: var(--accent-light); }
.hero-side__caption { display: block; margin-top: 16px; color: var(--ink-dim); line-height: 1.7; text-transform: uppercase; }
.hero-foot { position: absolute; right: 0; bottom: 58px; left: 0; z-index: 6; display: flex; justify-content: space-between; color: var(--ink-dim); font-family: "SFMono-Regular", Consolas, monospace; font-size: .56rem; letter-spacing: .14em; }
.ticker { position: absolute; right: 0; bottom: 0; left: 0; z-index: 7; overflow: hidden; border-top: 1px solid var(--line); background: rgb(5 5 9 / 68%); color: #a28fbf; font-family: "SFMono-Regular", Consolas, monospace; font-size: .6rem; letter-spacing: .16em; white-space: nowrap; }
.ticker__track { display: flex; width: max-content; gap: 19px; padding: 13px 0;  }
.ticker i { color: var(--accent-light); font-style: normal; }

.signal-field { position: absolute; inset: 0; z-index: 1; pointer-events: none; perspective: 1300px; transform-style: preserve-3d; }
.signal-field__glow, .signal-field__grid, .signal-field__line, .signal-field__ring, .signal-node, .signal-particle, .signal-artifact, .signal-interface { position: absolute; display: block; }
.signal-field__glow { border-radius: 50%; filter: blur(20px); mix-blend-mode: screen; }
.signal-field__glow--one { top: 5%; right: 7%; width: min(56vw, 680px); aspect-ratio: 1; background: radial-gradient(circle, rgb(187 124 255 / 26%), rgb(102 44 194 / 10%) 48%, transparent 71%);  }
.signal-field__glow--two { right: 31%; bottom: 4%; width: min(30vw, 390px); aspect-ratio: 1; background: radial-gradient(circle, rgb(91 42 181 / 24%), transparent 70%);  }
.signal-field__grid { right: -6%; bottom: -28%; width: 75%; height: 64%; transform: perspective(900px) rotateX(68deg) translateY(calc(44px + var(--scene-scroll))); transform-origin: center top; background-image: linear-gradient(rgb(196 159 255 / 24%) 1px, transparent 1px), linear-gradient(90deg, rgb(196 159 255 / 20%) 1px, transparent 1px); background-size: 56px 56px; mask-image: linear-gradient(to bottom, transparent, #000 35%, transparent); opacity: .36;   }
.signal-field__line { height: 1px; background: linear-gradient(90deg, transparent, rgb(219 192 255 / 52%), transparent); box-shadow: 0 0 22px rgb(157 107 255 / 55%); opacity: .62; transform-origin: left center; }
.signal-field__line--one { top: 47%; right: 3%; left: 45%; transform: rotate(-24deg) translateZ(22px); }
.signal-field__line--two { top: 24%; right: 5%; left: 53%; opacity: .35; transform: rotate(36deg) translateZ(12px); }
.signal-field__ring { border: 1px solid rgb(211 180 255 / 22%); border-radius: 50%; box-shadow: inset 0 0 26px rgb(167 102 255 / 12%), 0 0 34px rgb(157 107 255 / 13%); transform-style: preserve-3d; }
.signal-field__ring::before, .signal-field__ring::after { position: absolute; inset: 0; border-radius: inherit; content: ""; }
.signal-field__ring::before { border-top: 2px solid rgb(244 232 255 / 70%); border-right: 1px solid transparent; }
.signal-field__ring::after { inset: 18%; border: 1px dashed rgb(205 167 255 / 28%); }
.signal-field__ring--one { top: 11%; right: -1%; width: min(55vw, 710px); aspect-ratio: 1.12; transform: rotate(-18deg) rotateX(62deg);  }
.signal-field__ring--two { top: 16%; right: 9%; width: min(47vw, 610px); aspect-ratio: 1.12; transform: rotate(24deg) rotateY(66deg); opacity: .65;  }
.signal-field__ring--three { top: 28%; right: 21%; width: min(29vw, 370px); aspect-ratio: 1; transform: rotate(-5deg) rotateX(73deg); opacity: .78;  }
.signal-node { width: clamp(30px, 3vw, 58px); aspect-ratio: 1; border: 1px solid rgb(225 200 255 / 38%); border-radius: 22% 50% 45% 50%; background: linear-gradient(145deg, rgb(208 169 255 / 18%), rgb(65 30 125 / 44%)); box-shadow: 0 0 22px rgb(152 89 246 / 38%), inset 0 0 14px rgb(255 255 255 / 13%); transform: translateZ(26px) rotate(24deg);  }
.signal-node::before { position: absolute; inset: 29%; border: 1px solid rgb(246 232 255 / 72%); border-radius: 50%; box-shadow: 0 0 14px rgb(213 177 255 / 68%); content: ""; }
.signal-node--one { top: 19%; right: 32%;  }
.signal-node--two { top: 24%; right: 11%; transform: translateZ(48px) rotate(-18deg);  }
.signal-node--three { top: 43%; right: 4%; transform: translateZ(34px) rotate(8deg);  }
.signal-node--four { top: 59%; right: 17%; transform: translateZ(41px) rotate(-20deg);  }
.signal-node--five { bottom: 19%; right: 31%; transform: translateZ(28px) rotate(14deg);  }
.signal-node--six { top: 33%; right: 42%; width: clamp(22px, 2.2vw, 36px); opacity: .72;  }
.signal-node--seven { bottom: 29%; right: 9%; width: clamp(22px, 2.2vw, 36px); opacity: .64;  }
.signal-node--eight { bottom: 14%; right: 49%; width: clamp(18px, 1.8vw, 30px); opacity: .55;  }
.signal-particle { width: 5px; height: 5px; border-radius: 50%; background: #eadbff; box-shadow: 0 0 0 6px rgb(176 110 255 / 10%), 0 0 22px rgb(203 151 255 / 95%);  }
.signal-particle--one { top: 24%; right: 40%;  }
.signal-particle--two { right: 19%; bottom: 27%;  }
.signal-particle--three { right: 38%; bottom: 16%;  }
.signal-artifact { top: 31%; right: 28%; width: min(21vw, 270px); aspect-ratio: 1; display: grid; place-items: center; border: 1px solid rgb(244 231 255 / 74%); border-radius: 43% 49% 47% 52%; background: radial-gradient(circle at 32% 23%, rgb(255 250 255 / 84%), transparent 9%), radial-gradient(circle at 47% 43%, rgb(212 165 255 / 67%), rgb(83 38 154 / 57%) 42%, rgb(10 8 18 / 80%) 73%); box-shadow: 0 0 0 12px rgb(175 108 255 / 6%), 0 0 78px rgb(167 102 255 / 48%), inset 0 0 34px rgb(255 255 255 / 18%); transform: translate3d(calc(var(--scene-pan-x) * .4), calc(var(--scene-pan-y) * .4 - var(--scene-scroll) * .15), 0) rotate(19deg) translateZ(60px); transform-style: preserve-3d;   }
.signal-artifact::before { position: absolute; inset: 16%; border: 2px solid rgb(250 240 255 / 78%); border-radius: 50%; box-shadow: 0 0 24px rgb(237 211 255 / 67%), inset 0 0 16px rgb(255 255 255 / 25%); content: ""; }
.signal-artifact::after { position: absolute; right: -22%; bottom: 1%; width: 43%; height: 16%; border-right: 7px solid rgb(225 202 255 / 75%); border-bottom: 7px solid rgb(225 202 255 / 75%); border-radius: 0 0 28px 0; content: ""; transform: rotate(35deg); filter: drop-shadow(0 0 11px rgb(167 103 255 / 72%)); }
.signal-artifact__halo { position: absolute; inset: -16%; border: 1px solid rgb(220 190 255 / 15%); border-radius: 50%; box-shadow: 0 0 0 20px rgb(180 110 255 / 3%); }
.signal-artifact__lens { position: absolute; inset: 28%; border: 1px dashed rgb(248 232 255 / 42%); border-radius: 50%; transform: rotate(-32deg); }
.signal-artifact__beam { position: absolute; left: -50%; width: 200%; height: 1px; background: linear-gradient(90deg, transparent, rgb(226 198 255 / 50%), transparent); transform: rotate(-38deg); }
.signal-artifact__mark { position: relative; z-index: 1; color: rgb(255 250 255 / 88%); font-family: "SFMono-Regular", Consolas, monospace; font-size: clamp(.72rem, 1.3vw, 1rem); font-weight: 800; letter-spacing: -.12em; text-shadow: 0 0 18px rgb(255 242 255 / 94%); transform: rotate(-19deg); }
.signal-interface { right: 7%; bottom: 10%; width: min(310px, 27vw); padding: 15px; border: 1px solid rgb(222 200 255 / 18%); border-radius: 4px; background: linear-gradient(145deg, rgb(18 14 30 / 76%), rgb(8 8 14 / 64%)); box-shadow: 0 30px 70px -40px #000, inset 0 1px 0 rgb(255 255 255 / 8%); transform: translate3d(calc(var(--scene-pan-x) * -.4), calc(var(--scene-pan-y) * -.4), 90px) rotateX(5deg) rotateY(-8deg); transform-style: preserve-3d;  }
.interface-top, .interface-bottom { display: flex; justify-content: space-between; gap: 8px; color: var(--ink-dim); font-family: "SFMono-Regular", Consolas, monospace; font-size: .5rem; letter-spacing: .12em; }
.interface-top { padding-bottom: 12px; border-bottom: 1px solid var(--line); }
.interface-top b { color: var(--accent-light); font-weight: 500; }
.interface-map { position: relative; height: 120px; margin: 14px 0; overflow: hidden; border: 1px solid var(--line); background-image: linear-gradient(rgb(202 168 255 / 6%) 1px, transparent 1px), linear-gradient(90deg, rgb(202 168 255 / 6%) 1px, transparent 1px); background-size: 22px 22px; }
.interface-map::before, .interface-map::after { position: absolute; top: 50%; left: 50%; border: 1px solid rgb(214 181 255 / 33%); border-radius: 50%; content: ""; transform: translate(-50%, -50%); }
.interface-map::before { width: 55%; aspect-ratio: 1; }
.interface-map::after { width: 26%; aspect-ratio: 1; box-shadow: 0 0 30px rgb(157 107 255 / 60%); }
.interface-map i { position: absolute; width: 6px; height: 6px; border-radius: 50%; background: var(--accent-light); box-shadow: 0 0 13px var(--accent); }
.interface-map i:nth-child(1) { top: 22%; left: 26%; }.interface-map i:nth-child(2) { top: 69%; left: 24%; }.interface-map i:nth-child(3) { top: 27%; right: 20%; }.interface-map i:nth-child(4) { right: 21%; bottom: 19%; }.interface-map i:nth-child(5) { top: 51%; left: 48%; }.interface-map i:nth-child(6) { top: 14%; right: 49%; }
.interface-bottom { padding-top: 11px; border-top: 1px solid var(--line); }

.metric-rail { position: relative; z-index: 5; border-block: 1px solid var(--line); background: linear-gradient(90deg, rgb(103 52 186 / 8%), transparent 35%, rgb(103 52 186 / 8%)), var(--surface); }
.metric-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.metric { min-height: 98px; display: grid; grid-template-columns: auto 1fr; align-content: center; gap: 13px; padding: 16px 24px; border-right: 1px solid var(--line); }
.metric:last-child { border-right: 0; }
.metric b { grid-row: 1 / -1; color: var(--ink); font-family: "SFMono-Regular", Consolas, monospace; font-size: clamp(1.7rem, 3.5vw, 2.8rem); letter-spacing: -.12em; }
.metric span { align-self: center; color: var(--ink-soft); font-size: .75rem; line-height: 1.45; }

.section { position: relative; padding: clamp(92px, 11vw, 160px) 0; overflow: clip; }
.section--intro { background: linear-gradient(180deg, var(--bg), var(--surface) 50%, var(--bg)); }
.section--intro::before, .section--capabilities::before, .section--cases::before { position: absolute; inset: 0; content: ""; pointer-events: none; background-image: linear-gradient(rgb(220 201 255 / 4%) 1px, transparent 1px), linear-gradient(90deg, rgb(220 201 255 / 4%) 1px, transparent 1px); background-size: 78px 78px; mask-image: linear-gradient(to bottom, transparent, #000 22%, #000 72%, transparent); }
.split-layout { display: grid; grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr); gap: clamp(50px, 10vw, 150px); }
.section-sticky { max-width: 560px; }
.section-sticky h2 { margin-top: 22px; }
.section-sticky .lead { margin-top: 25px; }
.signal-steps { border-top: 1px solid var(--line); }
.signal-step { position: relative; display: grid; grid-template-columns: 45px 1fr 54px; gap: 18px; align-items: center; min-height: 162px; padding: 26px 0; border-bottom: 1px solid var(--line); }
.step-number { align-self: start; color: var(--accent-light); font-family: "SFMono-Regular", Consolas, monospace; font-size: .66rem; letter-spacing: .1em; }
.signal-step h3 { font-size: clamp(1.4rem, 2.3vw, 2rem); }
.signal-step p { max-width: 520px; margin-top: 10px; color: var(--ink-soft); font-size: .92rem; }
.step-mark { position: relative; width: 48px; height: 48px; border: 1px solid var(--line-strong); border-radius: 50%; opacity: .8; }
.step-mark::before, .step-mark::after { position: absolute; content: ""; }
.step-mark--scan::before { inset: 11px; border: 1px solid var(--accent-light); border-radius: 50%; box-shadow: 0 0 20px rgb(157 107 255 / 55%); }
.step-mark--scan::after { top: 23px; right: -4px; left: 24px; height: 1px; background: var(--accent-light); transform: rotate(-40deg); }
.step-mark--flow::before { inset: 11px; border: 1px dashed var(--accent-light); border-radius: 50%; }.step-mark--flow::after { inset: 18px 7px; border-block: 1px solid var(--accent-light); transform: rotate(45deg); }
.step-mark--core::before { inset: 14px; border-radius: 2px; background: var(--accent); box-shadow: 0 0 24px rgb(157 107 255 / 72%); transform: rotate(45deg); }.step-mark--core::after { inset: 8px; border: 1px solid var(--accent-light); transform: rotate(45deg); }
.section-heading { position: relative; z-index: 1; display: flex; align-items: end; justify-content: space-between; gap: 40px; margin-bottom: 48px; }
.section-heading h2 { max-width: 770px; margin-top: 20px; }
.section-heading > .lead { max-width: 420px; }
.section--capabilities { background: var(--bg-deep); }
.capability-grid { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; border: 1px solid var(--line); background: var(--line); }
.capability { position: relative; min-height: 365px; padding: 28px; overflow: hidden; background: rgb(15 13 22 / 95%);  }
.capability:hover { z-index: 1; background: linear-gradient(145deg, rgb(29 21 46 / 98%), rgb(13 11 20 / 98%)); transform: translateY(-4px); }
.capability--feature { background: radial-gradient(circle at 82% 13%, rgb(157 107 255 / 17%), transparent 35%), rgb(20 15 33 / 96%); }
.capability--wide { grid-column: 1 / -1; display: grid; grid-template-columns: 84px minmax(0, 1fr) 220px; gap: 25px; align-items: center; min-height: 220px; }
.capability-icon { position: relative; display: block; width: 60px; height: 60px; margin-bottom: 54px; border: 1px solid rgb(208 178 255 / 26%); border-radius: 12px; background: rgb(157 107 255 / 8%); box-shadow: inset 0 0 22px rgb(157 107 255 / 8%); }
.capability--wide .capability-icon { margin: 0; }
.capability-icon::before, .capability-icon::after { position: absolute; content: ""; }
.capability-icon--signal::before { top: 17px; left: 16px; width: 26px; height: 26px; border: 1px solid var(--accent-light); border-radius: 50%; box-shadow: 0 0 18px rgb(157 107 255 / 58%); }.capability-icon--signal::after { top: 10px; right: 9px; width: 16px; height: 1px; background: var(--accent-light); transform: rotate(36deg); }
.capability-icon--web::before { inset: 14px 12px; border: 1px solid var(--accent-light); box-shadow: inset 0 7px 0 rgb(157 107 255 / 14%); }.capability-icon--web::after { top: 23px; left: 21px; width: 19px; height: 1px; background: var(--accent-light); box-shadow: 0 5px 0 rgb(197 165 255 / 70%); }
.capability-icon--system::before { inset: 16px; border: 1px dashed var(--accent-light); transform: rotate(45deg); }.capability-icon--system::after { top: 28px; right: 11px; left: 11px; height: 1px; background: var(--accent-light); }
.capability-icon--security::before { inset: 12px; border: 1px solid var(--accent-light); border-radius: 50%; box-shadow: 0 0 18px rgb(157 107 255 / 48%); }.capability-icon--security::after { inset: 20px; border: 1px solid var(--accent-light); transform: rotate(45deg); }
.capability-code { color: var(--accent-light); font-size: .6rem; letter-spacing: .12em; }
.capability h3 { max-width: 480px; margin-top: 15px; font-size: clamp(1.65rem, 3vw, 2.8rem); }
.capability p:not(.capability-code) { max-width: 480px; margin-top: 14px; color: var(--ink-soft); }
.capability-wire { position: relative; height: 130px; border: 1px solid var(--line); background-image: linear-gradient(rgb(214 184 255 / 6%) 1px, transparent 1px), linear-gradient(90deg, rgb(214 184 255 / 6%) 1px, transparent 1px); background-size: 25px 25px; }
.capability-wire::before, .capability-wire::after { position: absolute; top: 50%; left: 8%; width: 84%; height: 1px; background: linear-gradient(90deg, transparent, var(--accent-light), transparent); content: ""; transform: rotate(23deg); }
.capability-wire::after { transform: rotate(-23deg); opacity: .45; }
.capability-wire span { position: absolute; width: 8px; height: 8px; border-radius: 50%; background: var(--accent-light); box-shadow: 0 0 16px var(--accent); }.capability-wire span:nth-child(1) { top: 20%; left: 17%; }.capability-wire span:nth-child(2) { top: 45%; left: 49%; }.capability-wire span:nth-child(3) { right: 16%; bottom: 20%; }
.section--cases { background: linear-gradient(180deg, var(--surface), var(--bg)); }
.case-grid { position: relative; z-index: 1; display: grid; grid-template-columns: 1.22fr .78fr; gap: 16px; }
.case-card { border: 1px solid var(--line); background: rgb(12 11 17 / 90%);  }
.case-card:hover { border-color: rgb(197 165 255 / 38%); background: rgb(22 16 34 / 95%); transform: translateY(-5px); }
.case-card--large { grid-row: span 2; }
.case-art { position: relative; min-height: 250px; display: flex; flex-direction: column; justify-content: space-between; padding: 22px; overflow: hidden; isolation: isolate; }
.case-card--large .case-art { min-height: 440px; }
.case-art::before { position: absolute; inset: 0; z-index: -2; content: ""; background-image: linear-gradient(rgb(255 255 255 / 4%) 1px, transparent 1px), linear-gradient(90deg, rgb(255 255 255 / 4%) 1px, transparent 1px); background-size: 32px 32px; }
.case-art::after { position: absolute; top: 20%; right: 8%; z-index: -1; width: 55%; aspect-ratio: 1; border: 1px solid rgb(235 217 255 / 44%); border-radius: 50%; content: ""; box-shadow: 0 0 0 24px rgb(157 107 255 / 5%), 0 0 45px rgb(157 107 255 / 25%); transform: rotateX(62deg) rotate(-18deg); }
.case-art--review { background: radial-gradient(circle at 80% 36%, rgb(157 107 255 / 32%), transparent 30%), linear-gradient(145deg, #321b58, #0c0914 72%); }.case-art--b2b { background: radial-gradient(circle at 76% 32%, rgb(95 51 172 / 28%), transparent 30%), linear-gradient(145deg, #1e1930, #0b0910 75%); }.case-art--ops { background: radial-gradient(circle at 76% 32%, rgb(187 130 255 / 24%), transparent 28%), linear-gradient(145deg, #44236e, #0b0910 75%); }
.case-art__label { color: var(--accent-light); font-family: "SFMono-Regular", Consolas, monospace; font-size: .6rem; letter-spacing: .14em; }
.case-art strong { position: relative; z-index: 2; font-size: clamp(2.5rem, 5vw, 5rem); letter-spacing: -.08em; line-height: .84; }
.case-art small { color: var(--ink-soft); font-size: .6rem; letter-spacing: .12em; }.case-art i { position: absolute; top: 38%; right: 20%; width: 86px; height: 86px; border: 5px solid rgb(243 229 255 / 78%); border-radius: 50%; box-shadow: 0 0 30px rgb(157 107 255 / 66%); transform: rotate(-10deg); }.case-art i::after { position: absolute; right: -36px; bottom: -25px; width: 48px; height: 9px; border-radius: 10px; background: rgb(243 229 255 / 76%); content: ""; transform: rotate(46deg); }
.case-copy { padding: 22px; }.case-type { color: var(--ink-dim); font-size: .58rem; letter-spacing: .13em; }.case-copy h3 { margin-top: 12px; font-size: clamp(1.35rem, 2.2vw, 2.05rem); }.case-copy p:not(.case-type) { margin-top: 12px; color: var(--ink-soft); font-size: .9rem; }
.section--security { background: linear-gradient(145deg, #0d0915, #171029 58%, #0a080e); }.security-layout { display: grid; grid-template-columns: minmax(0, .9fr) minmax(380px, 1.1fr); align-items: center; gap: clamp(52px, 9vw, 130px); }.security-layout h2 { max-width: 600px; margin-top: 20px; }.security-layout .lead { max-width: 600px; margin-top: 25px; }.security-panel { border: 1px solid rgb(216 191 255 / 17%); background: linear-gradient(145deg, rgb(24 18 38 / 92%), rgb(9 8 15 / 90%)); box-shadow: 0 36px 100px -60px #000, inset 0 1px 0 rgb(255 255 255 / 7%); }.security-panel__top, .security-panel__foot { display: flex; justify-content: space-between; gap: 14px; padding: 17px 20px; color: var(--ink-dim); font-family: "SFMono-Regular", Consolas, monospace; font-size: .59rem; letter-spacing: .12em; }.security-panel__top { border-bottom: 1px solid var(--line); }.security-panel__top b { color: var(--accent-light); font-weight: 500; }.security-panel__top b i { display: inline-block; width: 6px; height: 6px; margin-right: 7px; border-radius: 50%; background: var(--accent-light); box-shadow: 0 0 14px var(--accent); }.security-check { display: grid; grid-template-columns: 32px 1fr auto; gap: 12px; align-items: center; padding: 21px 20px; border-bottom: 1px solid var(--line); }.security-check > span { color: var(--accent-light); font-family: "SFMono-Regular", Consolas, monospace; font-size: .65rem; }.security-check b, .security-check small { display: block; }.security-check b { font-size: .92rem; }.security-check small { margin-top: 3px; color: var(--ink-dim); font-size: .72rem; }.security-check > strong { color: var(--accent-light); font-family: "SFMono-Regular", Consolas, monospace; font-size: .59rem; font-weight: 500; }.security-panel__foot { border-top: 0; }
.section--cta { padding-top: 82px; padding-bottom: 110px; background: var(--bg); }.cta-panel { display: flex; align-items: end; justify-content: space-between; gap: 32px; padding: clamp(28px, 5vw, 58px); border: 1px solid rgb(224 201 255 / 22%); background: radial-gradient(circle at 82% 14%, rgb(208 171 255 / 25%), transparent 28%), linear-gradient(125deg, #6734ba, #27143f 74%); box-shadow: 0 34px 90px -56px #000; }.cta-panel h2 { max-width: 760px; margin-top: 18px; font-size: clamp(2.4rem, 4.9vw, 4.9rem); }.cta-panel .button { flex: 0 0 auto; background: #f8f2ff; color: #2b1250; }
.site-footer { padding: 70px 0 36px; border-top: 1px solid var(--line); background: #07070b; }.footer-grid { display: grid; grid-template-columns: 1.8fr .7fr .7fr; gap: 45px; }.brand--footer img { width: 38px; height: 38px; }.footer-grid > div:first-child > p { max-width: 300px; margin-top: 22px; color: var(--ink-dim); font-size: .83rem; }.footer-grid > div:not(:first-child) { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }.footer-label { margin-bottom: 6px; color: var(--accent-light); font-size: .58rem; letter-spacing: .15em; }.footer-grid a:not(.brand) { color: var(--ink-soft); font-size: .8rem;  }.footer-grid a:not(.brand):hover { color: var(--ink); }.footer-meta { margin-top: 16px; color: var(--ink-dim); font-family: "SFMono-Regular", Consolas, monospace; font-size: .6rem; letter-spacing: .08em; }
.toast { position: fixed; right: 20px; bottom: 20px; z-index: 100; max-width: min(360px, calc(100% - 40px)); padding: 12px 15px; border: 1px solid var(--line-strong); border-radius: 4px; background: rgb(23 19 33 / 94%); color: var(--ink); box-shadow: 0 22px 60px -34px #000; opacity: 0; pointer-events: none; transform: translateY(12px);  }.toast.is-visible { opacity: 1; transform: translateY(0); }

/* Rutas internas comparten el mismo sistema de marca. */
.page-hero { position: relative; padding: calc(var(--header-height) + 90px) 0 78px; border-bottom: 1px solid var(--line); background: radial-gradient(circle at 78% 20%, rgb(157 107 255 / 16%), transparent 30rem), var(--bg-deep); overflow: hidden; }.page-hero::before { position: absolute; inset: 0; content: ""; background-image: linear-gradient(rgb(220 200 255 / 4%) 1px, transparent 1px), linear-gradient(90deg, rgb(220 200 255 / 4%) 1px, transparent 1px); background-size: 70px 70px; mask-image: linear-gradient(to bottom, #000, transparent); }.page-hero .container { position: relative; z-index: 1; }.page-hero h1 { max-width: 950px; margin-top: 22px; }.page-hero .lead { max-width: 700px; margin-top: 24px; }.page-index { display: flex; justify-content: space-between; margin-top: 56px; color: var(--ink-dim); font-family: "SFMono-Regular", Consolas, monospace; font-size: .59rem; letter-spacing: .14em; }.content-section { padding: 100px 0; }.content-section--surface { background: var(--surface); }.content-section h2 { max-width: 840px; }.content-section > .container > .lead { max-width: 700px; margin-top: 22px; }.card-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-top: 48px; }.info-card { position: relative; min-height: 290px; padding: 28px; border: 1px solid var(--line); background: linear-gradient(145deg, rgb(24 18 37 / 92%), rgb(12 11 18 / 92%));  }.info-card:hover { border-color: var(--line-strong); transform: translateY(-4px); }.info-card .capability-code { color: var(--accent-light); }.info-card h3 { margin-top: 40px; }.info-card p { margin-top: 14px; color: var(--ink-soft); }.info-card--wide { grid-column: 1 / -1; min-height: 220px; }.pill-list { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 22px; }.pill { padding: 7px 10px; border: 1px solid var(--line); border-radius: 999px; color: var(--ink-soft); font-family: "SFMono-Regular", Consolas, monospace; font-size: .61rem; }
.detail-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-top: 44px; }.detail-card { padding: 24px; border-top: 1px solid var(--line-strong); background: rgb(17 14 25 / 68%); }.detail-card h3 { font-size: 1.45rem; }.detail-card p { margin-top: 12px; color: var(--ink-soft); font-size: .9rem; }.case-detail { display: grid; grid-template-columns: minmax(280px, .7fr) minmax(0, 1.3fr); gap: 36px; padding: 42px 0; border-top: 1px solid var(--line); }.case-detail:first-child { border-top: 0; }.case-detail h3 { font-size: clamp(1.8rem, 3vw, 3rem); }.case-detail p { margin-top: 14px; color: var(--ink-soft); }.case-detail__meta { color: var(--accent-light); font-family: "SFMono-Regular", Consolas, monospace; font-size: .6rem; letter-spacing: .12em; }.case-detail__visual { min-height: 220px; display: grid; place-items: center; border: 1px solid var(--line); background: radial-gradient(circle, rgb(157 107 255 / 20%), transparent 60%), #0c0912; }.case-detail__visual strong { font-size: clamp(2rem, 4vw, 4rem); letter-spacing: -.08em; }.about-layout { display: grid; grid-template-columns: .8fr 1.2fr; gap: 80px; align-items: start; }.about-mark { position: sticky; top: 120px; min-height: 360px; display: grid; place-items: center; border: 1px solid var(--line); background: radial-gradient(circle, rgb(157 107 255 / 25%), transparent 54%), #0b0910; }.about-mark img { width: 120px; height: 120px; border-radius: 28px; box-shadow: 0 0 60px rgb(157 107 255 / 45%); }.about-copy p + p { margin-top: 18px; }.contact-layout { display: grid; grid-template-columns: .75fr 1.25fr; gap: 80px; align-items: start; }.contact-note { position: sticky; top: 120px; }.contact-note h2 { margin-top: 20px; }.contact-note p { margin-top: 22px; color: var(--ink-soft); }.project-form { display: grid; gap: 16px; padding: 28px; border: 1px solid var(--line); background: linear-gradient(145deg, rgb(24 18 37 / 92%), rgb(10 9 15 / 92%)); }.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }.field { display: grid; gap: 7px; }.field--full { grid-column: 1 / -1; }.field label { color: var(--ink-soft); font-family: "SFMono-Regular", Consolas, monospace; font-size: .62rem; letter-spacing: .08em; text-transform: uppercase; }.field input, .field textarea, .field select { width: 100%; border: 1px solid var(--line); border-radius: 3px; outline: 0; background: #0d0b13; color: var(--ink); padding: 12px 13px;  }.field textarea { min-height: 150px; resize: vertical; }.field input:focus, .field textarea:focus, .field select:focus { border-color: rgb(197 165 255 / 60%); box-shadow: 0 0 0 3px rgb(157 107 255 / 14%); }.form-note { color: var(--ink-dim); font-size: .76rem; }.form-result { min-height: 22px; color: var(--accent-light); font-size: .8rem; }
.faq { max-width: 900px; margin-top: 40px; border-top: 1px solid var(--line); }.faq details { padding: 20px 0; border-bottom: 1px solid var(--line); }.faq summary { cursor: pointer; font-size: 1.05rem; font-weight: 720; }.faq p { max-width: 720px; margin-top: 12px; color: var(--ink-soft); }.legal-copy { max-width: 840px; }.legal-copy h2 { margin-top: 42px; font-size: 2rem; }.legal-copy p, .legal-copy li { color: var(--ink-soft); }.legal-copy p { margin-top: 15px; }.legal-copy ul { margin: 14px 0 0; padding-left: 20px; }













@media (max-width: 980px) {
  :root { --header-height: 68px; }
  .nav-shell { grid-template-columns: auto auto; justify-content: space-between; }
  .site-nav { position: absolute; top: calc(100% + 7px); right: 24px; left: 24px; display: grid; gap: 0; padding: 8px; border: 1px solid var(--line); background: rgb(16 13 24 / 96%); box-shadow: 0 30px 70px -38px #000; opacity: 0; pointer-events: none; transform: translateY(-8px);  }
  .site-nav.is-open { opacity: 1; pointer-events: auto; transform: translateY(0); }
  .site-nav a { padding: 13px 12px; border-bottom: 1px solid var(--line); }.site-nav a:last-child { border-bottom: 0; }.site-nav a::after { display: none; }
  .menu-button { display: grid; }
  .nav-actions .button--small { display: none; }
  .hero-layout { grid-template-columns: minmax(0, .9fr) minmax(320px, 1.1fr); }
  .signal-artifact { right: 23%; width: 230px; }.signal-interface { right: 2%; width: 260px; }
  .hero-side { padding-right: 0; }
  .metric { padding-inline: 14px; }
  .security-layout, .about-layout, .contact-layout { gap: 45px; }
}

@media (max-width: 760px) {
  .container { width: min(var(--content), calc(100% - 32px)); }
  .site-header { padding: 7px 0; }.nav-shell { padding-inline: 8px; }.brand img { width: 38px; height: 38px; flex-basis: 38px; }.brand small { max-width: 160px; }
  .hero { min-height: auto; padding-top: 126px; padding-bottom: 104px; }.hero-layout { grid-template-columns: 1fr; min-height: 690px; align-items: start; }.hero-copy { position: relative; z-index: 5; }.hero-copy h1 { max-width: 8ch; font-size: clamp(3.5rem, 15vw, 5.9rem); }.hero-lead { max-width: 530px; }.hero-side { display: none; }.hero-foot { display: none; }.signal-field__ring--one { top: 2%; right: -44%; width: 680px; }.signal-field__ring--two { top: 8%; right: -31%; width: 560px; }.signal-field__ring--three { top: 15%; right: -7%; width: 380px; }.signal-field__glow--one { top: -4%; right: -22%; width: 560px; opacity: .8; }.signal-field__grid { right: -35%; bottom: -5%; width: 130%; height: 49%; opacity: .28; }.signal-artifact { top: 34%; right: -2%; width: 210px; opacity: .82; }.signal-interface { right: 2%; bottom: 17%; width: 250px; opacity: .72; }.signal-node--one { right: 36%; }.signal-node--two { right: 9%; }.signal-node--three { right: -1%; }.signal-node--four { right: 12%; }.signal-node--five { right: 29%; }.signal-field__line--one { top: 45%; right: -4%; left: 28%; }.hero-signature { max-width: 330px; gap: 10px; }
  .metric-grid { grid-template-columns: repeat(2, 1fr); }.metric { min-height: 78px; padding: 11px 12px; border-bottom: 1px solid var(--line); }.metric:nth-child(2) { border-right: 0; }.metric:nth-child(3), .metric:nth-child(4) { border-bottom: 0; }.metric b { font-size: 1.45rem; }.metric span { font-size: .67rem; }
  .section { padding: 82px 0; }.split-layout, .security-layout, .about-layout, .contact-layout { grid-template-columns: 1fr; }.section-sticky, .contact-note { position: static; }.signal-step { grid-template-columns: 32px 1fr 44px; gap: 12px; min-height: 140px; }.step-mark { width: 40px; height: 40px; }.section-heading { display: block; }.section-heading > .lead { margin-top: 20px; }.capability-grid, .case-grid, .card-grid { grid-template-columns: 1fr; }.capability--wide, .info-card--wide { grid-column: auto; }.capability--wide { display: block; min-height: 330px; }.capability--wide .capability-icon { margin-bottom: 30px; }.capability-wire { display: none; }.case-card--large { grid-row: auto; }.case-card--large .case-art { min-height: 310px; }.detail-grid { grid-template-columns: 1fr; }.case-detail { grid-template-columns: 1fr; }.about-mark { position: static; min-height: 280px; }.contact-layout { gap: 30px; }.form-grid { grid-template-columns: 1fr; }.field--full { grid-column: auto; }.cta-panel { display: block; }.cta-panel .button { margin-top: 28px; }.footer-grid { grid-template-columns: 1fr 1fr; }.footer-grid > div:first-child { grid-column: 1 / -1; }
}

@media (max-width: 520px) {
  h2 { font-size: 2.65rem; }.hero-copy h1 { font-size: clamp(3.4rem, 16vw, 5rem); }.hero-actions { display: grid; }.hero-actions .button { width: 100%; }.hero-signature { font-size: .5rem; }.signal-artifact { top: 33%; right: -17%; width: 190px; opacity: .68; }.signal-interface { right: -8%; bottom: 15%; width: 230px; opacity: .58; }.signal-node--six, .signal-node--seven, .signal-node--eight, .signal-particle--three { display: none; }.metric span { font-size: .61rem; }.metric b { font-size: 1.2rem; }.section-heading h2 { font-size: 2.5rem; }.capability, .info-card { min-height: 300px; padding: 22px; }.case-art strong { font-size: 3.1rem; }.security-panel__top, .security-panel__foot { font-size: .5rem; }.security-check { grid-template-columns: 24px 1fr; }.security-check > strong { grid-column: 2; }.footer-grid { grid-template-columns: 1fr; }.footer-grid > div:first-child { grid-column: auto; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {    }
  .ticker__track {  }
  .signal-field__grid, .signal-artifact, .signal-interface {  }
}

@media print {
  .site-header, .ticker, .hero-foot, .hero-side, .signal-field, .nav-actions, .button { display: none !important; }
  .hero { min-height: auto; padding: 30px 0; }.section, .content-section { padding: 30px 0; }.site-footer { padding: 30px 0; }
}

.space-top-36 { margin-top: 36px; }
.space-top-44 { margin-top: 44px; }

/* Escala de presentación al 100%: más aire, columnas equilibradas y jerarquía contenida. */
:root { --content: 1280px; }
.nav-shell { max-width: 1280px; }
.hero { min-height: min(820px, 100svh); padding-top: calc(var(--header-height) + 70px); padding-bottom: 90px; }
.hero-layout { grid-template-columns: minmax(0, .96fr) minmax(0, 1.04fr); min-height: 530px; gap: clamp(30px, 4.5vw, 72px); }
.hero-copy h1 { max-width: 10.8ch; margin-top: 20px; font-size: clamp(3.05rem, 5.7vw, 5.55rem); line-height: .93; }
.hero-lead { max-width: 560px; margin-top: 22px; font-size: clamp(.98rem, 1.25vw, 1.1rem); line-height: 1.62; }
.hero-actions { margin-top: 26px; }
.hero-signature { margin-top: 28px; }
.hero-side { padding-bottom: 20px; }
.hero-foot { bottom: 48px; }
.signal-artifact { width: min(18vw, 235px); }
.signal-interface { width: min(285px, 25vw); }
.interface-map { height: 108px; }
.metric { min-height: 86px; padding-block: 12px; }
.section { padding-block: clamp(82px, 9vw, 126px); }
.section-heading { margin-bottom: 40px; }
.capability { min-height: 330px; padding: 25px; }
.capability--wide { min-height: 190px; }
.case-card--large .case-art { min-height: 390px; }
.cta-panel h2 { max-width: 700px; font-size: clamp(2.2rem, 4vw, 4rem); }

.language-switcher { position: relative; display: inline-flex; align-items: center; height: 38px; border: 1px solid var(--line); border-radius: 4px; background: rgb(255 255 255 / 3%); }
.language-switcher::after { position: absolute; right: 9px; width: 5px; height: 5px; border-right: 1px solid var(--ink-soft); border-bottom: 1px solid var(--ink-soft); content: ""; pointer-events: none; transform: rotate(45deg) translateY(-2px); }
.language-switcher select { height: 100%; padding: 0 24px 0 10px; border: 0; outline: 0; appearance: none; background: transparent; color: var(--ink-soft); cursor: pointer; font-family: "SFMono-Regular", Consolas, monospace; font-size: .62rem; letter-spacing: .08em; }
.language-switcher select:focus-visible { box-shadow: 0 0 0 3px rgb(157 107 255 / 18%); }
.language-switcher option { background: #121019; color: #faf8ff; }
.visually-hidden { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(1px, 1px, 1px, 1px) !important; white-space: nowrap !important; }

@media (max-width: 980px) {
  .hero { min-height: 780px; }
  .hero-layout { grid-template-columns: minmax(0, .92fr) minmax(320px, 1.08fr); }
  .hero-copy h1 { font-size: clamp(3rem, 6.4vw, 5rem); }
  .signal-artifact { width: 215px; }
  .signal-interface { width: 250px; }
}

@media (max-width: 760px) {
  .hero { min-height: auto; padding-top: 118px; padding-bottom: 94px; }
  .hero-layout { min-height: 650px; }
  .hero-copy h1 { max-width: 9.5ch; font-size: clamp(3.15rem, 13vw, 5rem); }
  .language-switcher { height: 40px; }
  .language-switcher select { padding-left: 8px; font-size: .58rem; }
}

@media (max-width: 520px) {
  .hero-copy h1 { max-width: 8.5ch; font-size: clamp(3rem, 14.5vw, 4.6rem); }
  .language-switcher select { max-width: 54px; padding-right: 20px; }
}

/* Identidad transparente: el wordmark completo vive en el pie sin caja de fondo. */
.brand--footer img {
  content: url("../img/brand/knx04/01_LOGOS/svg/KNX04_Name_Dark.svg?v=20260830-knx04");
  width: min(320px, 100%);
  height: auto;
  flex: 0 1 auto;
}
.brand--footer > span { display: none; }

/* Segunda dirección visual: modo claro editorial, frío y de bajo resplandor. */
:root[data-theme="light"] {
  --bg: #f4f6f8;
  --bg-deep: #e8edf1;
  --surface: #ffffff;
  --surface-raised: #fbfcfd;
  --surface-soft: #eef1f4;
  --ink: #18202a;
  --ink-soft: #56616d;
  --ink-dim: #7b8792;
  --brand: #334254;
  --brand-2: #5b4f68;
  --accent: #776780;
  --accent-light: #665873;
  --line: rgb(28 39 51 / 13%);
  --line-strong: rgb(28 39 51 / 25%);
}

:root[data-theme="light"] .site-header.is-scrolled {
  background: rgb(244 246 248 / 88%);
  box-shadow: 0 16px 40px -34px rgb(27 36 47 / 34%);
}
:root[data-theme="light"] .nav-shell {
  border-color: rgb(28 39 51 / 14%);
  background: rgb(255 255 255 / 80%);
  box-shadow: 0 18px 50px -40px rgb(27 36 47 / 42%);
}
:root[data-theme="light"] .brand img { filter: brightness(.32) saturate(.62); }
:root[data-theme="light"] .brand--footer img { filter: brightness(.42) saturate(.62); }
:root[data-theme="light"] .icon-button {
  background: rgb(28 39 51 / 3%);
}
:root[data-theme="light"] .icon-button:hover {
  border-color: rgb(91 79 104 / 38%);
  background: rgb(91 79 104 / 9%);
}
:root[data-theme="light"] .button--accent {
  background: linear-gradient(125deg, #455365, #5b4f68);
  box-shadow: 0 16px 36px -20px rgb(42 50 61 / 52%), inset 0 1px 0 rgb(255 255 255 / 26%);
}
:root[data-theme="light"] .button--accent:hover {
  box-shadow: 0 24px 48px -20px rgb(42 50 61 / 46%), inset 0 1px 0 rgb(255 255 255 / 34%);
}
:root[data-theme="light"] .button--ghost {
  background: rgb(28 39 51 / 2%);
}
:root[data-theme="light"] .button--ghost:hover {
  border-color: rgb(91 79 104 / 42%);
  background: rgb(91 79 104 / 8%);
}
:root[data-theme="light"] .status-led {
  box-shadow: 0 0 0 5px rgb(119 103 128 / 12%), 0 0 18px rgb(119 103 128 / 38%);
}
:root[data-theme="light"] .hero--signal {
  background: radial-gradient(ellipse at 73% 44%, rgb(119 103 128 / 13%), transparent 34rem), radial-gradient(ellipse at 23% 110%, rgb(91 105 122 / 12%), transparent 34rem), var(--bg-deep);
}
:root[data-theme="light"] .hero--signal::before,
:root[data-theme="light"] .section--intro::before,
:root[data-theme="light"] .section--capabilities::before,
:root[data-theme="light"] .section--cases::before,
:root[data-theme="light"] .page-hero::before {
  background-image: linear-gradient(rgb(66 78 91 / 8%) 1px, transparent 1px), linear-gradient(90deg, rgb(66 78 91 / 8%) 1px, transparent 1px);
}
:root[data-theme="light"] .hero--signal::after {
  background: radial-gradient(circle, rgb(119 103 128 / 13%), transparent 70%);
}
:root[data-theme="light"] .hero-copy h1 strong {
  background: linear-gradient(104deg, #5c4f68, #7d6d86 48%, #425469);
  background-clip: text;
  -webkit-background-clip: text;
}
:root[data-theme="light"] .hero-lead { color: var(--ink-soft); }
:root[data-theme="light"] .ticker {
  background: rgb(244 246 248 / 78%);
  color: #6a6271;
  backdrop-filter: blur(12px);
}
:root[data-theme="light"] .signal-field__glow { mix-blend-mode: multiply; filter: blur(28px); }
:root[data-theme="light"] .signal-field__glow--one {
  background: radial-gradient(circle, rgb(151 132 159 / 19%), rgb(91 105 122 / 7%) 48%, transparent 71%);
}
:root[data-theme="light"] .signal-field__glow--two {
  background: radial-gradient(circle, rgb(91 105 122 / 11%), transparent 70%);
}
:root[data-theme="light"] .signal-field__grid {
  background-image: linear-gradient(rgb(86 98 111 / 16%) 1px, transparent 1px), linear-gradient(90deg, rgb(86 98 111 / 13%) 1px, transparent 1px);
  opacity: .3;
}
:root[data-theme="light"] .signal-field__line {
  background: linear-gradient(90deg, transparent, rgb(91 79 104 / 44%), transparent);
  box-shadow: 0 0 18px rgb(91 79 104 / 18%);
}
:root[data-theme="light"] .signal-field__ring {
  border-color: rgb(74 87 101 / 25%);
  box-shadow: inset 0 0 26px rgb(91 79 104 / 7%), 0 0 34px rgb(91 79 104 / 7%);
}
:root[data-theme="light"] .signal-field__ring::before { border-top-color: rgb(66 78 91 / 54%); }
:root[data-theme="light"] .signal-field__ring::after { border-color: rgb(91 79 104 / 22%); }
:root[data-theme="light"] .signal-node {
  border-color: rgb(66 78 91 / 35%);
  background: linear-gradient(145deg, rgb(255 255 255 / 86%), rgb(202 193 207 / 62%));
  box-shadow: 0 0 22px rgb(91 79 104 / 15%), inset 0 0 14px rgb(255 255 255 / 72%);
}
:root[data-theme="light"] .signal-node::before { border-color: rgb(66 78 91 / 62%); box-shadow: 0 0 12px rgb(91 79 104 / 18%); }
:root[data-theme="light"] .signal-particle { background: #5b4f68; box-shadow: 0 0 0 6px rgb(91 79 104 / 10%), 0 0 18px rgb(91 79 104 / 30%); }
:root[data-theme="light"] .signal-artifact {
  border-color: rgb(66 78 91 / 48%);
  background: radial-gradient(circle at 32% 23%, rgb(255 255 255 / 96%), transparent 9%), radial-gradient(circle at 47% 43%, rgb(205 194 211 / 84%), rgb(230 233 236 / 88%) 42%, rgb(171 179 188 / 84%) 73%);
  box-shadow: 0 0 0 12px rgb(91 79 104 / 5%), 0 0 62px rgb(91 79 104 / 18%), inset 0 0 34px rgb(255 255 255 / 62%);
}
:root[data-theme="light"] .signal-artifact::before { border-color: rgb(66 78 91 / 56%); box-shadow: 0 0 22px rgb(91 79 104 / 16%), inset 0 0 16px rgb(255 255 255 / 54%); }
:root[data-theme="light"] .signal-artifact::after { border-color: rgb(66 78 91 / 45%); filter: drop-shadow(0 0 9px rgb(91 79 104 / 22%)); }
:root[data-theme="light"] .signal-artifact__halo { border-color: rgb(91 79 104 / 16%); box-shadow: 0 0 0 20px rgb(91 79 104 / 3%); }
:root[data-theme="light"] .signal-artifact__lens { border-color: rgb(66 78 91 / 32%); }
:root[data-theme="light"] .signal-artifact__beam { background: linear-gradient(90deg, transparent, rgb(91 79 104 / 28%), transparent); }
:root[data-theme="light"] .signal-artifact__mark { color: rgb(28 39 51 / 76%); text-shadow: 0 0 14px rgb(255 255 255 / 82%); }
:root[data-theme="light"] .signal-interface {
  border-color: rgb(66 78 91 / 19%);
  background: linear-gradient(145deg, rgb(255 255 255 / 92%), rgb(231 235 239 / 88%));
  box-shadow: 0 30px 70px -40px rgb(27 36 47 / 28%), inset 0 1px 0 rgb(255 255 255 / 86%);
}
:root[data-theme="light"] .interface-map {
  background-image: linear-gradient(rgb(86 98 111 / 8%) 1px, transparent 1px), linear-gradient(90deg, rgb(86 98 111 / 8%) 1px, transparent 1px);
}
:root[data-theme="light"] .interface-map::before,
:root[data-theme="light"] .interface-map::after { border-color: rgb(91 79 104 / 28%); }
:root[data-theme="light"] .interface-map::after { box-shadow: 0 0 26px rgb(91 79 104 / 18%); }
:root[data-theme="light"] .metric-rail { background: linear-gradient(90deg, rgb(91 79 104 / 5%), transparent 35%, rgb(91 79 104 / 5%)), var(--surface); }
:root[data-theme="light"] .section--capabilities { background: var(--bg-deep); }
:root[data-theme="light"] .capability { background: rgb(255 255 255 / 88%); }
:root[data-theme="light"] .capability:hover { background: linear-gradient(145deg, #ffffff, #edf0f3); }
:root[data-theme="light"] .capability--feature { background: radial-gradient(circle at 82% 13%, rgb(119 103 128 / 12%), transparent 35%), rgb(248 249 250 / 96%); }
:root[data-theme="light"] .capability-icon { border-color: rgb(91 79 104 / 28%); background: rgb(91 79 104 / 6%); box-shadow: inset 0 0 22px rgb(91 79 104 / 5%); }
:root[data-theme="light"] .capability-wire { background-image: linear-gradient(rgb(86 98 111 / 8%) 1px, transparent 1px), linear-gradient(90deg, rgb(86 98 111 / 8%) 1px, transparent 1px); }
:root[data-theme="light"] .case-card { background: rgb(255 255 255 / 92%); }
:root[data-theme="light"] .case-card:hover { border-color: rgb(91 79 104 / 38%); background: #ffffff; }
:root[data-theme="light"] .case-art::before { background-image: linear-gradient(rgb(66 78 91 / 8%) 1px, transparent 1px), linear-gradient(90deg, rgb(66 78 91 / 8%) 1px, transparent 1px); }
:root[data-theme="light"] .case-art::after { border-color: rgb(66 78 91 / 36%); box-shadow: 0 0 0 24px rgb(91 79 104 / 5%), 0 0 45px rgb(91 79 104 / 14%); }
:root[data-theme="light"] .case-art--review { background: radial-gradient(circle at 80% 36%, rgb(151 132 159 / 24%), transparent 30%), linear-gradient(145deg, #e7e1eb, #c2c9d0 72%); }
:root[data-theme="light"] .case-art--b2b { background: radial-gradient(circle at 76% 32%, rgb(91 105 122 / 18%), transparent 30%), linear-gradient(145deg, #e7edf1, #c4ccd4 75%); }
:root[data-theme="light"] .case-art--ops { background: radial-gradient(circle at 76% 32%, rgb(151 132 159 / 20%), transparent 28%), linear-gradient(145deg, #ece8ef, #c9c0d0 75%); }
:root[data-theme="light"] .case-art i { border-color: rgb(66 78 91 / 64%); box-shadow: 0 0 28px rgb(91 79 104 / 22%); }
:root[data-theme="light"] .case-art i::after { background: rgb(66 78 91 / 58%); }
:root[data-theme="light"] .section--security { background: linear-gradient(145deg, #e4e9ee, #f8fafb 58%, #e8e5ed); }
:root[data-theme="light"] .security-panel { border-color: rgb(66 78 91 / 18%); background: linear-gradient(145deg, rgb(255 255 255 / 96%), rgb(232 236 240 / 92%)); box-shadow: 0 36px 100px -60px rgb(27 36 47 / 30%), inset 0 1px 0 rgb(255 255 255 / 90%); }
:root[data-theme="light"] .section--cta { background: var(--bg); }
:root[data-theme="light"] .cta-panel { border-color: rgb(66 78 91 / 20%); background: radial-gradient(circle at 82% 14%, rgb(255 255 255 / 52%), transparent 28%), linear-gradient(125deg, #d9d3df, #eef1f4 74%); box-shadow: 0 34px 90px -56px rgb(27 36 47 / 28%); }
:root[data-theme="light"] .cta-panel .button { background: #334254; color: #fff; }
:root[data-theme="light"] .site-footer { background: #e5e9ed; }
:root[data-theme="light"] .toast { background: rgb(255 255 255 / 96%); box-shadow: 0 22px 60px -34px rgb(27 36 47 / 28%); }
:root[data-theme="light"] .page-hero { background: radial-gradient(circle at 78% 20%, rgb(119 103 128 / 12%), transparent 30rem), var(--bg-deep); }
:root[data-theme="light"] .info-card { background: linear-gradient(145deg, rgb(255 255 255 / 96%), rgb(236 240 243 / 92%)); }
:root[data-theme="light"] .detail-card { background: rgb(255 255 255 / 66%); }
:root[data-theme="light"] .case-detail__visual { background: radial-gradient(circle, rgb(119 103 128 / 13%), transparent 60%), #edf0f3; }
:root[data-theme="light"] .about-mark { background: radial-gradient(circle, rgb(151 132 159 / 18%), transparent 54%), #edf0f3; }
:root[data-theme="light"] .about-mark img { border-radius: 0; filter: brightness(.42) saturate(.62) drop-shadow(0 0 28px rgb(91 79 104 / 18%)); }
:root[data-theme="light"] .project-form { background: linear-gradient(145deg, rgb(255 255 255 / 96%), rgb(236 240 243 / 92%)); }
:root[data-theme="light"] .field input,
:root[data-theme="light"] .field textarea,
:root[data-theme="light"] .field select { background: #ffffff; color: var(--ink); }
:root[data-theme="light"] .field input:focus,
:root[data-theme="light"] .field textarea:focus,
:root[data-theme="light"] .field select:focus { border-color: rgb(91 79 104 / 52%); box-shadow: 0 0 0 3px rgb(91 79 104 / 11%); }
:root[data-theme="light"] .language-switcher { background: rgb(28 39 51 / 3%); }
:root[data-theme="light"] .language-switcher option { background: #ffffff; color: var(--ink); }





/* Pulido final: una sola marca en todas las rutas y un núcleo realmente circular. */
.brand img {
  content: url("../img/brand/knx04/01_LOGOS/svg/KNX04_Mark_Dark.svg?v=20260830-knx04");
}
.brand--footer img {
  content: url("../img/brand/knx04/01_LOGOS/svg/KNX04_Name_Dark.svg?v=20260830-knx04");
  width: min(320px, 100%);
  height: auto;
  flex: 0 1 auto;
}
:root[lang="en"] .brand--footer img {
  content: url("../img/brand/knx04/01_LOGOS/svg/KNX04_Name_Dark.svg?v=20260830-knx04");
}
:root[data-theme="light"] .brand img {
  content: url("../img/brand/knx04/01_LOGOS/svg/KNX04_Mark_Light.svg?v=20260830-knx04");
}
:root[data-theme="light"] .brand--footer img {
  content: url("../img/brand/knx04/01_LOGOS/svg/KNX04_Name_Light.svg?v=20260830-knx04");
}
:root[data-theme="light"][lang="en"] .brand--footer img {
  content: url("../img/brand/knx04/01_LOGOS/svg/KNX04_Name_Light.svg?v=20260830-knx04");
}
:root[data-theme="light"] .brand img,
:root[data-theme="light"] .brand--footer img {
  filter: none;
}
.about-mark {
  min-height: 260px;
  padding: 22px;
  border: 0;
  background: transparent;
  box-shadow: none;
}
.about-mark img {
  content: url("../img/brand/knx04/01_LOGOS/svg/KNX04_Mark_Dark.svg?v=20260830-knx04");
  width: min(230px, 80%);
  height: auto;
  border-radius: 0;
  box-shadow: none;
  filter: none;
}
:root[data-theme="light"] .about-mark {
  border: 0;
  background: transparent;
}
:root[data-theme="light"] .about-mark img {
  content: url("../img/brand/knx04/01_LOGOS/svg/KNX04_Mark_Light.svg?v=20260830-knx04");
  filter: drop-shadow(0 0 28px rgb(91 79 104 / 18%));
}
.about-copy h2 {
  max-width: 760px;
  margin-bottom: 24px;
  line-height: .95;
}
.about-copy h2 + .lead { margin-top: 0; }
.signal-artifact {
  border-radius: 50%;
  will-change: transform, filter;
}
.signal-artifact::after {
  right: -16%;
  bottom: 5%;
  width: 31%;
  height: 14%;
  border-right-width: 4px;
  border-bottom-width: 4px;
  border-radius: 0 0 22px 0;
}
.signal-artifact__halo {
transform-origin: center;
}
.signal-artifact__lens {
transform-origin: center;
}
.signal-interface {  }
.signal-node, .signal-particle, .signal-field__ring { will-change: transform, opacity; }




:root[data-theme="light"] .signal-artifact__halo {  }
:root[data-theme="light"] .signal-interface {  }



/* Segunda piel clara: contraste suave, profundidad mate y movimiento legible. */
:root[data-theme="light"] {
  --bg: #e9eef1;
  --bg-deep: #dfe6eb;
  --surface: #edf2f4;
  --surface-raised: #f2f5f6;
  --surface-soft: #e2e8ec;
  --ink: #17212b;
  --ink-soft: #53616d;
  --ink-dim: #74808a;
  --line: rgb(28 39 51 / 14%);
  --line-strong: rgb(28 39 51 / 27%);
}
:root[data-theme="light"] body { background: var(--bg); }
:root[data-theme="light"] .hero--signal {
  background: radial-gradient(ellipse at 73% 44%, rgb(119 103 128 / 10%), transparent 34rem), radial-gradient(ellipse at 23% 110%, rgb(91 105 122 / 10%), transparent 34rem), var(--bg-deep);
}
:root[data-theme="light"] .nav-shell { background: rgb(242 245 247 / 88%); }
:root[data-theme="light"] .signal-artifact {
  background: radial-gradient(circle at 32% 23%, rgb(255 255 255 / 78%), transparent 9%), radial-gradient(circle at 47% 43%, rgb(198 192 204 / 72%), rgb(218 223 227 / 84%) 42%, rgb(151 162 171 / 76%) 73%);
  box-shadow: 0 0 0 12px rgb(91 79 104 / 4%), 0 0 48px rgb(91 79 104 / 14%), inset 0 0 26px rgb(255 255 255 / 42%);
}
:root[data-theme="light"] .signal-interface { background: linear-gradient(145deg, rgb(242 245 247 / 90%), rgb(216 224 229 / 88%)); }
:root[data-theme="light"] .capability,
:root[data-theme="light"] .case-card,
:root[data-theme="light"] .info-card,
:root[data-theme="light"] .security-panel,
:root[data-theme="light"] .project-form { background: linear-gradient(145deg, rgb(244 247 248 / 94%), rgb(222 229 233 / 94%)); }
:root[data-theme="light"] .case-card:hover,
:root[data-theme="light"] .info-card:hover { background: linear-gradient(145deg, #f0f4f5, #dce4e8); }
:root[data-theme="light"] .site-footer { background: #dbe2e7; }
:root[data-theme="light"] .ticker { background: rgb(226 232 236 / 84%); }

.service-intent-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-top: 48px; }
.service-intent-grid .info-card { min-height: 315px; }
.signal-artifact__beam {  transform-origin: center; }
.signal-field__ring--one {  }
.signal-field__ring--two {  }
.signal-field__ring--three {  }

@media (max-width: 980px) { .service-intent-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 760px) { .service-intent-grid { grid-template-columns: 1fr; } }
