:root {
  --bg: #07090d;
  --bg-deep: #040509;
  --panel: #0d1118;
  --panel-2: #111722;
  --ink: #edf2f8;
  --muted: #9aa6b7;
  --quiet: #637083;
  --line: rgba(203, 218, 238, .13);
  --line-strong: rgba(203, 218, 238, .22);
  --orange: #ff8b4d;
  --orange-bright: #ffb067;
  --cyan: #67d8ea;
  --violet: #af9aff;
  --lime: #b5e87b;
  --shell: 1240px;
  --display: "Manrope", "DM Sans", system-ui, sans-serif;
  --body: "DM Sans", system-ui, sans-serif;
  --mono: "Space Mono", ui-monospace, monospace;
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--bg-deep); }
body { margin: 0; overflow-x: hidden; color: var(--ink); background: var(--bg); font: 400 16px/1.6 var(--body); -webkit-font-smoothing: antialiased; }
body::before { content: ""; position: fixed; inset: 0; z-index: -3; pointer-events: none; background: radial-gradient(ellipse 70% 54% at 0% 0%, rgba(255, 111, 49, .11), transparent 64%), radial-gradient(ellipse 62% 54% at 100% 22%, rgba(63, 203, 226, .08), transparent 62%), radial-gradient(ellipse 80% 70% at 50% 100%, rgba(38, 42, 89, .19), transparent 70%); }
body::after { content: ""; position: fixed; inset: 0; z-index: -2; pointer-events: none; opacity: .35; background-image: linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px); background-size: 88px 88px; mask-image: linear-gradient(to bottom, #000, transparent 82%); }
a { color: inherit; text-decoration: none; }
button, a { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 2px solid var(--orange-bright); outline-offset: 4px; }
.shell { width: min(calc(100% - 48px), var(--shell)); margin-inline: auto; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; top: 12px; left: 12px; z-index: 100; padding: 10px 14px; color: #08090d; background: var(--orange-bright); border-radius: 9px; transform: translateY(-150%); transition: transform .2s ease; }
.skip-link:focus { transform: none; }
.page-noise { position: fixed; inset: 0; z-index: -1; pointer-events: none; opacity: .07; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.65'/%3E%3C/svg%3E"); }

/* Header */
.site-header { position: fixed; top: 16px; left: 50%; z-index: 30; display: flex; align-items: center; justify-content: space-between; width: min(calc(100% - 48px), 1376px); padding: 8px 10px 8px 12px; border: 1px solid var(--line); border-radius: 18px; background: rgba(8, 10, 15, .74); box-shadow: 0 16px 50px rgba(0,0,0,.2); backdrop-filter: blur(22px) saturate(145%); transform: translateX(-50%); transition: border-color .25s, background .25s, box-shadow .25s; }
.site-header.scrolled { border-color: var(--line-strong); background: rgba(8, 10, 15, .92); box-shadow: 0 18px 56px rgba(0,0,0,.36); }
.brand { display: flex; align-items: center; gap: 12px; min-width: 220px; }
.brand-mark { display: grid; place-items: center; width: 44px; height: 44px; overflow: hidden; border: 1px solid rgba(255, 139, 77, .38); border-radius: 12px; background: linear-gradient(145deg, rgba(255,139,77,.18), rgba(255,255,255,.02)); box-shadow: 0 0 28px rgba(255, 109, 47, .14); }
.brand-mark img { width: 36px; height: 36px; object-fit: contain; }
.brand-copy { display: grid; gap: 1px; }
.brand-copy strong { font: 800 .84rem var(--display); letter-spacing: .17em; text-transform: uppercase; }
.brand-copy small { color: #7b8796; font: .54rem var(--mono); letter-spacing: .07em; text-transform: uppercase; }
.site-nav { display: flex; align-items: center; gap: 3px; }
.site-nav a { padding: 11px 13px; color: #a8b1bf; border-radius: 10px; font-size: .78rem; font-weight: 600; transition: color .2s, background .2s, transform .2s; }
.site-nav a:hover { color: var(--ink); background: rgba(255,255,255,.06); transform: translateY(-1px); }
.site-nav .nav-contact { margin-left: 8px; padding-inline: 17px; color: #100d0a; background: linear-gradient(135deg, var(--orange-bright), var(--orange)); box-shadow: 0 9px 24px rgba(255, 123, 63, .18); }
.site-nav .nav-contact:hover { color: #100d0a; background: linear-gradient(135deg, #ffc184, #ff9760); }
.menu-button { display: none; width: 44px; height: 44px; padding: 0; border: 1px solid var(--line); border-radius: 11px; background: transparent; cursor: pointer; }
.menu-button i { display: block; width: 17px; height: 1px; margin: 5px auto; background: var(--ink); transition: transform .2s; }

/* Shared type and controls */
.section { padding-block: clamp(96px, 12vw, 168px); }
.anchor-target { position: relative; top: -110px; display: block; height: 0; scroll-margin-top: 110px; }
.eyebrow, .section-code, .kicker { display: flex; align-items: center; gap: 11px; color: var(--orange-bright); font: 700 .61rem var(--mono); letter-spacing: .13em; text-transform: uppercase; }
.eyebrow i { width: 32px; height: 1px; background: var(--line-strong); }
.pulse { width: 7px; height: 7px; border-radius: 50%; background: var(--orange); box-shadow: 0 0 0 5px rgba(255,139,77,.09), 0 0 20px var(--orange); }
.section-code span { display: grid; place-items: center; width: 27px; height: 27px; border: 1px solid rgba(255,139,77,.35); border-radius: 50%; color: var(--orange-bright); font-size: .55rem; }
.section-heading { position: relative; z-index: 1; max-width: 980px; margin-bottom: clamp(44px, 6vw, 76px); }
.section-heading.split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, .43fr); align-items: end; gap: clamp(40px, 8vw, 120px); max-width: none; }
.section-heading h2, .company-layout h2 { margin: 19px 0 0; color: var(--ink); font: 800 clamp(2.8rem, 5.5vw, 5.7rem)/.96 var(--display); letter-spacing: -.075em; }
.section-heading h2 em, .company-layout h2 em { color: var(--orange-bright); font-style: normal; }
.section-heading.split > p, .section-intro { margin: 0 0 6px; color: var(--muted); font-size: 1rem; line-height: 1.85; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 48px; padding: 0 18px; border: 1px solid transparent; border-radius: 11px; font-size: .76rem; font-weight: 700; transition: transform .22s, box-shadow .22s, border-color .22s, background .22s; }
.button:hover { transform: translateY(-2px); }
.button.primary { color: #17100b; background: linear-gradient(135deg, #ffbd7d, #ff8050); box-shadow: 0 13px 32px rgba(255, 121, 63, .18); }
.button.primary:hover { box-shadow: 0 18px 42px rgba(255, 121, 63, .3); }
.button.secondary { color: #dce5ef; border-color: var(--line-strong); background: rgba(255,255,255,.025); }
.button.secondary:hover { border-color: rgba(255, 176, 103, .5); background: rgba(255,139,77,.08); }
.button-row { display: flex; flex-wrap: wrap; gap: 11px; margin-top: 30px; }

/* Hero */
.hero { position: relative; display: grid; grid-template-columns: minmax(0, .9fr) minmax(480px, 1.1fr); align-items: center; gap: clamp(45px, 8vw, 120px); min-height: 850px; padding-top: 132px; padding-bottom: 92px; }
.hero::before { content: "01"; position: absolute; top: 195px; left: -8px; color: rgba(255,255,255,.035); font: 800 clamp(9rem, 21vw, 20rem)/1 var(--display); letter-spacing: -.1em; pointer-events: none; }
.hero-copy { position: relative; z-index: 1; }
.hero h1 { max-width: 700px; margin: 24px 0 0; color: var(--ink); font: 800 clamp(3.3rem, 6.2vw, 7.25rem)/.94 var(--display); letter-spacing: -.09em; }
.hero h1 span { color: transparent; background: linear-gradient(103deg, var(--orange-bright), #ff7561 53%, var(--violet)); -webkit-background-clip: text; background-clip: text; }
.hero-lead { max-width: 670px; margin: 27px 0 0; color: var(--muted); font-size: clamp(1rem, 1.5vw, 1.18rem); line-height: 1.72; }
.hero-proof { display: flex; max-width: 600px; margin-top: 58px; }
.hero-proof div { min-width: 145px; padding-right: 24px; margin-right: 24px; border-right: 1px solid var(--line); }
.hero-proof div:last-child { padding-right: 0; margin-right: 0; border-right: 0; }
.hero-proof strong { display: block; color: #e8eef6; font: 800 1rem var(--mono); letter-spacing: -.07em; }
.hero-proof span { display: block; margin-top: 5px; color: var(--quiet); font: .54rem var(--mono); letter-spacing: .08em; text-transform: uppercase; }

/* Orbit visual */
.ecosystem-orbit { position: relative; z-index: 1; overflow: hidden; border: 1px solid var(--line-strong); border-radius: 25px; background: linear-gradient(145deg, rgba(20,25,34,.95), rgba(8,11,17,.92)); box-shadow: 0 35px 100px rgba(0,0,0,.32), inset 0 1px 0 rgba(255,255,255,.035); }
.ecosystem-orbit::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(360px circle at var(--mx, 50%) var(--my, 50%), rgba(255,137,76,.09), transparent 64%); opacity: 0; transition: opacity .3s; }
.ecosystem-orbit:hover::after { opacity: 1; }
.orbit-header, .orbit-footer { display: grid; align-items: center; min-height: 52px; padding-inline: 18px; color: #748092; font: .54rem var(--mono); letter-spacing: .09em; text-transform: uppercase; }
.orbit-header { grid-template-columns: 70px 1fr auto; gap: 12px; border-bottom: 1px solid var(--line); }
.orbit-header > span { display: flex; gap: 5px; }
.orbit-header > span i { width: 6px; height: 6px; border-radius: 50%; background: #586477; }.orbit-header > span i:first-child { background: var(--orange); }.orbit-header > span i:last-child { background: var(--cyan); }
.orbit-header code { color: #8a95a5; font: inherit; }
.orbit-header b { color: var(--cyan); font: inherit; }
.orbit-stage { position: relative; min-height: 570px; overflow: hidden; }
.orbit-grid { position: absolute; inset: 0; opacity: .33; background-image: linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px); background-size: 44px 44px; mask-image: radial-gradient(circle at center, #000 10%, transparent 78%); }
.orbit-ring { position: absolute; top: 50%; left: 50%; border: 1px solid rgba(255,139,77,.19); border-radius: 50%; transform: translate(-50%, -50%) rotate(-16deg); }
.ring-one { width: 330px; height: 330px; }.ring-two { width: 482px; height: 286px; border-color: rgba(103,216,234,.16); }
.orbit-center { position: absolute; top: 50%; left: 50%; display: grid; justify-items: center; gap: 5px; width: 146px; height: 146px; padding-top: 18px; border: 1px solid rgba(255,139,77,.38); border-radius: 50%; background: radial-gradient(circle, rgba(255,139,77,.15), rgba(13,17,24,.98) 68%); box-shadow: 0 0 0 15px rgba(255,139,77,.035), 0 0 50px rgba(255,116,54,.18); transform: translate(-50%, -50%); }
.orbit-center img { width: 55px; height: 55px; object-fit: contain; }.orbit-center strong { font: 700 .73rem var(--display); }.orbit-center small { color: var(--quiet); font: .45rem var(--mono); letter-spacing: .08em; }
.orbit-node { position: absolute; display: grid; grid-template-columns: 31px 1fr; grid-template-rows: 1fr 1fr; column-gap: 8px; min-width: 128px; padding: 10px 12px 10px 9px; border: 1px solid var(--line); border-radius: 12px; background: rgba(12,16,23,.88); transition: transform .22s, border-color .22s, background .22s, box-shadow .22s; }
.orbit-node:hover { z-index: 3; border-color: rgba(255,176,103,.65); background: rgba(30,25,24,.96); box-shadow: 0 14px 30px rgba(0,0,0,.3); transform: translateY(-3px); }
.orbit-node span { grid-row: 1 / span 2; display: grid; place-items: center; width: 31px; height: 31px; align-self: center; border: 1px solid rgba(255,139,77,.4); border-radius: 9px; color: var(--orange-bright); font: 700 .56rem var(--mono); }
.orbit-node strong { align-self: end; font: 700 .75rem var(--display); }.orbit-node small { align-self: start; color: var(--quiet); font: .45rem var(--mono); letter-spacing: .07em; }
.node-kodex { top: 12%; left: 9%; }.node-infx { top: 9%; right: 10%; }.node-kodelabs { top: 43%; right: 3%; }.node-kodeinfra { bottom: 9%; right: 13%; }.node-kodecryptx { bottom: 9%; left: 12%; }.node-kodevault { top: 43%; left: 3%; }
.orbit-footer { grid-template-columns: auto 1fr auto; gap: 14px; border-top: 1px solid var(--line); }.orbit-footer div { height: 3px; overflow: hidden; border-radius: 9px; background: #222a35; }.orbit-footer div i { display: block; width: 100%; height: 100%; background: linear-gradient(90deg, var(--orange), var(--cyan)); }.orbit-footer strong { color: var(--cyan); font: inherit; }

/* Signal rail */
.signal-rail { overflow: hidden; border-block: 1px solid var(--line); background: rgba(13,17,24,.72); }.signal-track { display: flex; width: max-content; align-items: center; gap: 27px; padding-block: 16px; color: #8f9aaa; font: 700 .6rem var(--mono); letter-spacing: .13em; text-transform: uppercase; animation: marquee 38s linear infinite; }.signal-track i { color: var(--orange); font-style: normal; } @keyframes marquee { to { transform: translateX(-50%); } }

/* Architecture */
.architecture-section { border-block: 1px solid var(--line); background: linear-gradient(180deg, rgba(11,15,22,.95), rgba(6,8,12,.96)); }
.architecture-map { position: relative; display: grid; grid-template-columns: repeat(3, 1fr); grid-template-rows: repeat(2, minmax(230px, 1fr)); gap: 15px; min-height: 490px; }
.architecture-node { position: relative; z-index: 2; display: flex; flex-direction: column; min-height: 230px; padding: 25px; overflow: hidden; border: 1px solid var(--line); border-radius: 18px; background: linear-gradient(145deg, rgba(20,25,34,.88), rgba(10,13,19,.9)); transition: transform .25s, border-color .25s, box-shadow .25s; }
.architecture-node::after { content: ""; position: absolute; right: -60px; bottom: -70px; width: 190px; height: 190px; border: 1px solid rgba(255,139,77,.2); border-radius: 50%; box-shadow: 0 0 0 28px rgba(255,139,77,.035), 0 0 0 58px rgba(255,139,77,.018); }
.architecture-node:hover { border-color: rgba(255,176,103,.65); box-shadow: 0 19px 45px rgba(0,0,0,.28); transform: translateY(-5px); }
.node-index { color: #718095; font: .52rem var(--mono); letter-spacing: .1em; }.architecture-node b { display: grid; place-items: center; width: 45px; height: 45px; margin-top: 35px; border: 1px solid rgba(255,139,77,.36); border-radius: 13px; color: var(--orange-bright); font: 700 .71rem var(--mono); }.architecture-node strong { margin-top: auto; font: 700 1.12rem var(--display); }.architecture-node small { margin-top: 7px; color: var(--muted); font-size: .73rem; line-height: 1.55; }
.architecture-node.infra { grid-column: 1; grid-row: 1; --node: var(--lime); }.architecture-node.infx { grid-column: 2; grid-row: 1; --node: var(--cyan); }.architecture-node.labs { grid-column: 3; grid-row: 1; --node: var(--violet); }.architecture-node.kodex { grid-column: 1; grid-row: 2; --node: var(--orange); }.architecture-node.cryptx { grid-column: 2; grid-row: 2; --node: #80b8ff; }.architecture-node.vault { grid-column: 3; grid-row: 2; --node: #ffd184; }
.architecture-node b { color: var(--node, var(--orange-bright)); border-color: color-mix(in srgb, var(--node, var(--orange)) 42%, transparent); }
.architecture-line { position: absolute; z-index: 1; height: 1px; background: linear-gradient(90deg, rgba(255,139,77,.1), rgba(255,139,77,.65), rgba(103,216,234,.1)); transform-origin: left center; }.architecture-line::after { content: ""; position: absolute; right: -1px; top: -3px; width: 7px; height: 7px; border-top: 1px solid var(--cyan); border-right: 1px solid var(--cyan); transform: rotate(45deg); }.architecture-line span { position: absolute; top: -19px; left: 50%; padding: 2px 5px; color: #7d8998; background: var(--bg); font: .44rem var(--mono); letter-spacing: .08em; text-transform: uppercase; transform: translateX(-50%); white-space: nowrap; }.line-one { top: 25%; left: 31%; width: 8%; }.line-two { top: 25%; left: 64%; width: 8%; }.line-three { top: 75%; left: 31%; width: 8%; }.line-four { top: 75%; left: 64%; width: 8%; }
.architecture-note { margin: 28px 0 0; color: var(--quiet); font: .64rem var(--mono); letter-spacing: .02em; }.architecture-note span { margin-right: 8px; color: var(--orange-bright); }

/* Project cards */
.product-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 15px; }
.product-card, .support-card { --accent: var(--orange); position: relative; display: flex; flex-direction: column; min-height: 420px; overflow: hidden; padding: 27px; border: 1px solid var(--line); border-radius: 20px; background: linear-gradient(145deg, rgba(20,25,34,.94), rgba(9,12,17,.94)); transition: transform .25s, border-color .25s, box-shadow .25s; }
.product-card::before, .support-card::before { content: ""; position: absolute; top: 0; left: 25px; width: 42%; height: 2px; background: linear-gradient(90deg, var(--accent), transparent); }.product-card::after, .support-card::after { content: ""; position: absolute; right: -90px; top: -95px; width: 220px; height: 220px; border: 1px solid color-mix(in srgb, var(--accent) 25%, transparent); border-radius: 50%; box-shadow: 0 0 0 28px color-mix(in srgb, var(--accent) 4%, transparent), 0 0 0 56px color-mix(in srgb, var(--accent) 2%, transparent); }
.product-card:hover, .support-card:hover { border-color: color-mix(in srgb, var(--accent) 56%, rgba(203,218,238,.13)); box-shadow: 0 25px 60px rgba(0,0,0,.28); transform: translateY(-6px); }
.product-card > *, .support-card > * { position: relative; z-index: 1; }.product-card.orange, .support-card.orange { --accent: #ff9b61; }.product-card.cyan, .support-card.cyan { --accent: #69d7e9; }.product-card.violet, .support-card.violet { --accent: #b09cff; }.product-card.lime, .support-card.lime { --accent: #b4e977; }.product-card.blue, .support-card.blue { --accent: #80b9ff; }.product-card.gold, .support-card.gold { --accent: #ffd080; }.product-card.rose, .support-card.rose { --accent: #ff8da7; }.product-card.green, .support-card.green { --accent: #91e2ab; }.product-card.pink, .support-card.pink { --accent: #f48cc4; }
.card-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; }.card-index { color: #687587; font: .55rem var(--mono); }.card-status { max-width: 75%; padding: 6px 8px; color: var(--accent); border: 1px solid color-mix(in srgb, var(--accent) 38%, transparent); border-radius: 999px; font: .48rem var(--mono); letter-spacing: .045em; text-align: right; text-transform: uppercase; }
.card-glyph { display: grid; place-items: center; width: 58px; height: 58px; margin-top: 42px; border: 1px solid color-mix(in srgb, var(--accent) 48%, transparent); border-radius: 16px; color: var(--accent); background: color-mix(in srgb, var(--accent) 8%, transparent); font: 700 .72rem var(--mono); }.card-glyph img { width: 45px; height: 45px; object-fit: contain; }.card-kicker { margin: 29px 0 6px; color: var(--accent); font: .54rem var(--mono); letter-spacing: .1em; text-transform: uppercase; }.product-card h3, .support-card h3 { margin: 0 0 13px; font: 700 clamp(1.45rem, 2vw, 1.85rem)/1.05 var(--display); letter-spacing: -.055em; }.product-card p, .support-card p { margin: 0; color: var(--muted); font-size: .79rem; line-height: 1.7; }.card-link { display: inline-flex; align-items: center; gap: 9px; margin-top: auto; padding-top: 22px; color: var(--ink); font-size: .73rem; font-weight: 700; }.card-link b { color: var(--accent); font-size: 1rem; transition: transform .2s; }.card-link:hover b { transform: translateX(4px); }.card-availability { margin-top: 16px !important; color: #748194 !important; font: .54rem var(--mono) !important; letter-spacing: .03em; }.card-availability::before { content: "STATUS / "; color: var(--accent); }
.portfolio { padding-bottom: clamp(105px, 12vw, 160px); }.portfolio-footer { display: flex; align-items: center; justify-content: center; gap: 22px; margin-top: 34px; color: var(--quiet); font-size: .8rem; }.portfolio-footer .button { min-height: 42px; }

/* Evidence and supporting work */
.evidence-section { border-block: 1px solid var(--line); background: linear-gradient(115deg, rgba(17,22,30,.88), rgba(8,11,16,.92)); }.evidence-layout { display: grid; grid-template-columns: .82fr 1.18fr; align-items: start; gap: clamp(50px, 9vw, 130px); }.evidence-layout .section-heading { margin-bottom: 0; }.evidence-list { border-top: 1px solid var(--line); }.evidence-list article { display: grid; grid-template-columns: 36px 1fr; gap: 19px; padding: 24px 0; border-bottom: 1px solid var(--line); }.evidence-list article > span { color: var(--orange-bright); font: .54rem var(--mono); }.evidence-list strong { display: block; font: 700 1.05rem var(--display); }.evidence-list p { margin: 8px 0 11px; color: var(--muted); font-size: .82rem; line-height: 1.7; }.evidence-list a { color: var(--orange-bright); font-size: .7rem; font-weight: 700; }.evidence-list a b { display: inline-block; margin-left: 6px; transition: transform .2s; }.evidence-list a:hover b { transform: translateX(4px); }
.research-section { background: rgba(7,9,13,.52); }.supporting-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 15px; }.support-card { min-height: 355px; }.support-card .card-glyph { margin-top: 36px; }.support-card h3 { font-size: 1.45rem; }.support-card .card-link { padding-top: 19px; }
.company-section { padding-top: clamp(110px, 14vw, 190px); background: radial-gradient(ellipse 55% 70% at 72% 38%, rgba(255,117,63,.11), transparent 67%); }.company-layout { display: grid; grid-template-columns: 210px 1fr; align-items: center; gap: clamp(42px, 9vw, 140px); }.company-mark { display: grid; place-items: center; align-content: center; width: 190px; height: 190px; border: 1px solid rgba(255,139,77,.27); border-radius: 50%; box-shadow: 0 0 0 26px rgba(255,139,77,.035), 0 0 0 52px rgba(255,139,77,.018); }.company-mark img { width: 105px; height: 105px; object-fit: contain; }.company-mark span { color: var(--quiet); font: .5rem var(--mono); letter-spacing: .1em; }.company-layout > div:last-child { max-width: 760px; }.company-layout h2 { font-size: clamp(3rem, 6vw, 6rem); }.company-layout > div:last-child > p:not(.section-code) { max-width: 650px; margin: 25px 0 29px; color: var(--muted); font-size: 1rem; line-height: 1.8; }
.site-footer { display: grid; grid-template-columns: 1fr auto auto; align-items: center; gap: 33px; padding-block: 31px; border-top: 1px solid var(--line); }.footer-brand { display: flex; align-items: center; gap: 12px; }.footer-brand .brand-mark { width: 40px; height: 40px; }.footer-brand .brand-mark img { width: 32px; height: 32px; }.footer-brand div { display: grid; }.footer-brand strong { font: 800 .76rem var(--display); letter-spacing: .11em; text-transform: uppercase; }.footer-brand span { color: var(--quiet); font-size: .62rem; }.site-footer > p { margin: 0; color: var(--quiet); font-size: .72rem; }.site-footer nav { display: flex; flex-wrap: wrap; gap: 17px; }.site-footer nav a { color: #a1adba; font-size: .7rem; }.site-footer nav a:hover { color: var(--orange-bright); }.site-footer > small { grid-column: 1 / -1; color: #617084; font: .53rem var(--mono); }

/* Directory detail page */
.projects-page::after { content: ""; position: fixed; inset: 0; z-index: -2; pointer-events: none; background: radial-gradient(ellipse 70% 50% at 10% 0%, rgba(255,111,49,.1), transparent 70%); }
.projects-hero { padding-top: clamp(170px, 19vw, 250px); padding-bottom: 95px; }.projects-hero h1 { max-width: 1100px; margin: 22px 0 0; font: 800 clamp(3.5rem, 8.2vw, 8.4rem)/.93 var(--display); letter-spacing: -.09em; }.projects-hero h1 em { color: var(--orange-bright); font-style: normal; }.projects-hero-copy { display: grid; grid-template-columns: minmax(0, 650px) auto; justify-content: space-between; align-items: end; gap: 40px; margin-top: 38px; }.projects-hero-copy p { margin: 0; color: var(--muted); font-size: 1.05rem; line-height: 1.8; }.projects-hero-copy span { color: var(--orange-bright); font: .58rem var(--mono); letter-spacing: .1em; text-transform: uppercase; }.directory-section { padding-bottom: 100px; }.directory-filter { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 27px; }.filter-button { padding: 9px 12px; border: 1px solid var(--line); border-radius: 99px; color: var(--muted); background: transparent; font: .56rem var(--mono); letter-spacing: .06em; text-transform: uppercase; cursor: pointer; transition: color .2s, border-color .2s, background .2s; }.filter-button:hover, .filter-button.active { color: #12100d; border-color: var(--orange); background: var(--orange-bright); }.detail-list { display: grid; gap: 18px; }.project-brief { --accent: var(--orange); position: relative; overflow: hidden; scroll-margin-top: 110px; padding: clamp(25px, 4.5vw, 50px); border: 1px solid var(--line); border-radius: 23px; background: linear-gradient(145deg, rgba(18,23,31,.95), rgba(8,11,16,.96)); }.project-brief::before { content: ""; position: absolute; top: 0; left: 0; width: 33%; height: 2px; background: linear-gradient(90deg, var(--accent), transparent); }.project-brief.is-hidden { display: none; }.project-brief header { display: grid; grid-template-columns: 36px 64px minmax(220px, 1fr) auto; align-items: center; gap: 20px; padding-bottom: 30px; border-bottom: 1px solid var(--line); }.brief-number { color: var(--quiet); font: .58rem var(--mono); }.brief-logo { display: grid; place-items: center; width: 64px; height: 64px; border: 1px solid color-mix(in srgb, var(--accent) 36%, transparent); border-radius: 16px; color: var(--accent); background: color-mix(in srgb, var(--accent) 8%, transparent); font: 700 .72rem var(--mono); }.brief-logo img { width: 47px; height: 47px; object-fit: contain; }.project-brief header p { margin: 0 0 4px; color: var(--accent); font: .54rem var(--mono); letter-spacing: .1em; text-transform: uppercase; }.project-brief h2 { margin: 0; font: 700 clamp(1.75rem, 3.2vw, 2.8rem)/1 var(--display); letter-spacing: -.06em; }.brief-status { display: inline-flex; align-items: center; gap: 7px; max-width: 225px; padding: 8px 10px; color: var(--accent); border: 1px solid color-mix(in srgb, var(--accent) 38%, transparent); border-radius: 99px; font: .5rem var(--mono); letter-spacing: .04em; text-align: right; text-transform: uppercase; }.brief-status::before { content: ""; flex: 0 0 6px; width: 6px; height: 6px; border-radius: 50%; background: var(--accent); box-shadow: 0 0 12px var(--accent); }.brief-body { display: grid; grid-template-columns: 1.08fr .92fr; gap: clamp(38px, 8vw, 120px); padding-block: 35px; }.brief-body p { color: var(--muted); font-size: .9rem; line-height: 1.8; }.brief-body .brief-lead { margin-top: 0; color: var(--ink); font: 600 clamp(1.12rem, 1.8vw, 1.45rem)/1.52 var(--display); letter-spacing: -.025em; }.brief-body ul { margin: 0; padding: 0; list-style: none; }.brief-body li { position: relative; padding: 13px 0 13px 19px; border-bottom: 1px solid var(--line); color: #b9c3cf; font-size: .78rem; }.brief-body li::before { content: ""; position: absolute; top: 21px; left: 0; width: 6px; height: 6px; border-radius: 2px; background: var(--accent); }.project-brief footer { display: flex; align-items: center; justify-content: space-between; gap: 22px; padding-top: 23px; border-top: 1px solid var(--line); }.project-brief footer > span { color: var(--quiet); font: .53rem var(--mono); }.detail-link { display: inline-flex; align-items: center; gap: 9px; color: var(--accent); font-size: .72rem; font-weight: 700; }.detail-link b { transition: transform .2s; }.detail-link:hover b { transform: translateX(4px); }.directory-note { margin-top: 30px; color: var(--quiet); font-size: .76rem; }.directory-note a { color: var(--orange-bright); }

/* Motion and responsive */
.js [data-reveal] { opacity: 1; transform: none; }.js [data-reveal].is-visible { animation: reveal-in .7s cubic-bezier(.2,.75,.25,1) both; }.js [data-reveal][data-delay="1"].is-visible { animation-delay: .1s; } @keyframes reveal-in { from { opacity: .001; transform: translateY(18px); } to { opacity: 1; transform: none; } }
@media (max-width: 1120px) { .hero { grid-template-columns: 1fr; min-height: auto; padding-top: 170px; }.hero-copy { max-width: 830px; }.ecosystem-orbit { width: min(100%, 760px); margin-inline: auto; }.product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.evidence-layout { gap: 60px; }.site-nav a { padding-inline: 9px; } }
@media (max-width: 780px) { .shell { width: min(calc(100% - 30px), var(--shell)); }.site-header { top: 9px; width: calc(100% - 18px); border-radius: 15px; }.brand { min-width: auto; }.brand-copy small { display: none; }.menu-button { display: block; }.site-nav { position: absolute; top: calc(100% + 8px); left: 0; right: 0; display: grid; gap: 2px; visibility: hidden; padding: 8px; border: 1px solid var(--line); border-radius: 15px; background: rgba(7,9,13,.97); box-shadow: 0 20px 42px rgba(0,0,0,.38); opacity: 0; transform: translateY(-8px); transition: visibility .2s, opacity .2s, transform .2s; }.site-nav.open { visibility: visible; opacity: 1; transform: none; }.site-nav a { padding: 13px; }.site-nav .nav-contact { margin: 5px 0 0; text-align: center; }.menu-button[aria-expanded="true"] i:first-of-type { transform: translateY(3px) rotate(45deg); }.menu-button[aria-expanded="true"] i:last-of-type { transform: translateY(-3px) rotate(-45deg); }
  .hero { padding-top: 140px; padding-bottom: 75px; }.hero h1 { font-size: clamp(3rem, 14vw, 5.5rem); }.hero-lead { font-size: .98rem; }.hero-proof { justify-content: space-between; margin-top: 42px; }.hero-proof div { min-width: 0; flex: 1; padding-right: 10px; margin-right: 10px; }.hero-proof strong { font-size: .72rem; }.hero-proof span { font-size: .46rem; letter-spacing: .01em; }.orbit-stage { min-height: 490px; }.ring-one { width: 270px; height: 270px; }.ring-two { width: 380px; height: 240px; }.orbit-center { width: 126px; height: 126px; padding-top: 13px; }.orbit-center img { width: 47px; height: 47px; }.orbit-node { min-width: 113px; padding: 8px; }.orbit-node span { width: 27px; height: 27px; }.orbit-node strong { font-size: .64rem; }.orbit-node small { font-size: .4rem; }.node-kodex { left: 3%; }.node-infx { right: 3%; }.node-kodelabs { right: 1%; }.node-kodeinfra { right: 5%; }.node-kodecryptx { left: 5%; }.node-kodevault { left: 1%; }
  .section { padding-block: 92px; }.section-heading.split, .evidence-layout { grid-template-columns: 1fr; gap: 27px; }.section-heading h2, .company-layout h2 { font-size: clamp(2.65rem, 12vw, 4.4rem); }.architecture-map { display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: repeat(3, 1fr); min-height: 0; }.architecture-node { min-height: 185px; padding: 20px; }.architecture-node.infra { grid-column: 1; grid-row: 1; }.architecture-node.infx { grid-column: 2; grid-row: 1; }.architecture-node.labs { grid-column: 1; grid-row: 2; }.architecture-node.kodex { grid-column: 2; grid-row: 2; }.architecture-node.cryptx { grid-column: 1; grid-row: 3; }.architecture-node.vault { grid-column: 2; grid-row: 3; }.architecture-node b { margin-top: 22px; }.architecture-line { display: none; }.product-grid, .supporting-grid { grid-template-columns: 1fr; }.product-card { min-height: 390px; }.portfolio-footer { flex-direction: column; text-align: center; }.company-layout { grid-template-columns: 1fr; gap: 55px; }.company-mark { width: 145px; height: 145px; }.company-mark img { width: 80px; height: 80px; }.site-footer { grid-template-columns: 1fr; gap: 20px; }.site-footer > small { grid-column: 1; }.projects-hero { padding-top: 145px; padding-bottom: 68px; }.projects-hero h1 { font-size: clamp(3.15rem, 14vw, 5.3rem); }.projects-hero-copy { grid-template-columns: 1fr; gap: 20px; }.project-brief header { grid-template-columns: 33px 58px 1fr; gap: 13px; }.brief-logo { width: 58px; height: 58px; }.brief-status { grid-column: 2 / -1; justify-self: start; text-align: left; }.brief-body { grid-template-columns: 1fr; gap: 25px; }.project-brief footer { align-items: flex-start; flex-direction: column; } }
@media (max-width: 430px) { .button-row .button { width: 100%; }.eyebrow i, .eyebrow span:last-child { display: none; }.orbit-header { grid-template-columns: 58px 1fr; }.orbit-header b { display: none; }.orbit-stage { min-height: 410px; }.orbit-node { min-width: 98px; }.orbit-node strong { font-size: .58rem; }.orbit-node small { font-size: .35rem; }.ring-one { width: 222px; height: 222px; }.ring-two { width: 300px; height: 190px; }.orbit-center { width: 106px; height: 106px; font-size: .65rem; }.orbit-center img { width: 38px; height: 38px; }.card-status { font-size: .43rem; }.architecture-node { min-height: 175px; padding: 16px; }.architecture-node strong { font-size: .94rem; }.architecture-node small { font-size: .66rem; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }.signal-track { animation: none; }.js [data-reveal] { opacity: 1; transform: none; }.js [data-reveal].is-visible { animation: none; } }
