@font-face {
  font-family: "Onest";
  src: url("assets/fonts/onest-cyrillic-ext.woff2") format("woff2");
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: "Onest";
  src: url("assets/fonts/onest-cyrillic.woff2") format("woff2");
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
  font-family: "Onest";
  src: url("assets/fonts/onest-latin-ext.woff2") format("woff2");
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: "Onest";
  src: url("assets/fonts/onest-latin.woff2") format("woff2");
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
  --ink: #10110f;
  --ink-2: #171814;
  --ink-3: #26291f;
  --panel-deep: #10110f;
  --panel: #171814;
  --panel-raised: #1d1f19;
  --panel-hover: #263d34;
  --panel-line: #3a3d32;
  --line-dark-strong: #4b4f41;
  --paper: #f5f6ee;
  --white: #ffffff;
  --line: rgba(18, 20, 15, 0.14);
  --line-dark: rgba(255, 255, 255, 0.14);
  --text: #12140f;
  --muted: #5d645b;
  --muted-dark: #c7c9bc;
  --cyan: #c9f54a;
  --cyan-dark: #0e6b4f;
  --green: #c9f54a;
  --green-dark: #0a523d;
  --amber: #e5a84b;
  --red: #ff9aaa;
  --blue: #526578;
  --coral: #ff9aaa;
  --radius: 8px;
  --shadow: 0 24px 80px rgba(16, 17, 15, 0.16);
  --ease: cubic-bezier(0.22, 1, 0.36, 1);
  --header-height: 72px;
  --shell: 1440px;
  --font-onest: "Onest";
  --font-sans: var(--font-onest);
  --font-mono: var(--font-onest);
}

[data-page-contract],
.page-contract,
.page-contract-strip,
.content-contract { display: none !important; }

*, *::before, *::after { box-sizing: border-box; font-family: inherit; }
html { scroll-behavior: smooth; background: var(--ink); font-family: var(--font-onest); }
main section[id] { scroll-margin-top: calc(var(--header-height) + 14px); }
body {
  margin: 0;
  color: var(--text);
  background: var(--paper);
  font-family: var(--font-sans);
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: 0;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}
body.dialog-open { overflow: hidden; }
button, input, select, textarea { font: inherit; letter-spacing: 0; }
button, a { -webkit-tap-highlight-color: transparent; }
button { color: inherit; }
a { color: inherit; }
img { display: block; max-width: 100%; }
svg { display: block; }
[hidden] { display: none !important; }
::selection { color: var(--ink); background: var(--cyan); }

.skip-link {
  position: fixed;
  top: 8px;
  left: 8px;
  z-index: 2000;
  padding: 12px 16px;
  color: var(--ink);
  background: var(--white);
  border-radius: var(--radius);
  transform: translateY(-140%);
}
.skip-link:focus { transform: translateY(0); }

:focus-visible {
  outline: 3px solid var(--cyan-dark);
  outline-offset: 3px;
}

.page-shell {
  width: min(calc(100% - 64px), var(--shell));
  margin-inline: auto;
}

.site-header {
  position: fixed;
  inset: 0 0 auto;
  z-index: 1000;
  min-height: var(--header-height);
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  padding: 0 32px;
  color: var(--white);
  border-bottom: 1px solid transparent;
  transition: background 240ms ease, border-color 240ms ease, color 240ms ease;
}
.site-header.scrolled {
  color: var(--ink);
  background: rgba(245, 246, 238, 0.94);
  border-color: var(--line);
  backdrop-filter: blur(18px);
}
.brand {
  display: inline-flex;
  align-items: center;
  width: max-content;
  text-decoration: none;
}
.brand-logo {
  width: 82px;
  height: 46px;
  object-fit: cover;
  background: transparent;
}
.ui-cshark-wordmark {
  width: 82px;
  height: 46px;
  display: block;
  flex: 0 0 auto;
  object-fit: cover;
  background: transparent;
}
.site-header.scrolled .brand-logo,
.inner-page .site-header .brand-logo { content: url("assets/cshark-logo-on-light.svg?v=20260719-transparent"); }
.desktop-nav { display: flex; align-items: center; gap: 28px; }
.desktop-nav a {
  position: relative;
  padding: 8px 0;
  color: inherit;
  text-decoration: none;
  font-size: 14px;
  font-weight: 600;
}
.desktop-nav a::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 2px;
  left: 0;
  height: 1px;
  background: var(--cyan);
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 220ms var(--ease);
}
.desktop-nav a:hover::after { transform: scaleX(1); transform-origin: left; }
.desktop-nav a.active::after { transform: scaleX(1); }
.site-header.scrolled .desktop-nav a::after,
.inner-page .desktop-nav a::after { background: var(--cyan-dark); }
.header-actions { justify-self: end; display: flex; align-items: center; gap: 10px; }
.mobile-nav, .menu-button { display: none; }

.button {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 0 20px;
  border: 1px solid transparent;
  border-radius: var(--radius);
  cursor: pointer;
  text-decoration: none;
  font-weight: 700;
  transition: transform 180ms var(--ease), background 180ms ease, color 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}
.button svg { width: 18px; height: 18px; stroke-width: 2; }
.button:hover { transform: translateY(-2px); }
.button:active { transform: scale(0.98); }
.button-small { min-height: 42px; padding-inline: 16px; font-size: 14px; }
.button-light { color: var(--ink); background: var(--white); }
.site-header.scrolled .button-light { color: var(--white); background: var(--ink); }
.button-primary { color: var(--ink); background: var(--cyan); box-shadow: 0 12px 40px rgba(201, 245, 74, 0.18); }
.button-primary:hover { background: #d5ff5c; box-shadow: 0 18px 48px rgba(201, 245, 74, 0.26); }
.inner-page .button-primary { color: var(--white); background: var(--cyan-dark); box-shadow: 0 12px 36px rgba(14, 107, 79, .18); }
.page-band-dark .button-primary { color: var(--ink); background: var(--cyan); }
.button-ghost { color: var(--white); border-color: rgba(255, 255, 255, 0.38); background: rgba(7, 16, 23, 0.16); backdrop-filter: blur(10px); }
.button-ghost:hover { border-color: var(--white); background: rgba(7, 16, 23, 0.46); }
.button-dark { color: var(--white); background: var(--ink); }
.icon-button {
  width: 44px;
  height: 44px;
  display: inline-grid;
  place-items: center;
  padding: 0;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  color: inherit;
  background: transparent;
  cursor: pointer;
}
.icon-button svg { width: 18px; height: 18px; }
.site-header .menu-button { display: none; }

.hero {
  position: relative;
  min-height: 90dvh;
  display: flex;
  align-items: flex-end;
  color: var(--white);
  background: var(--ink);
  isolation: isolate;
  overflow: hidden;
}
.hero-media {
  position: absolute;
  inset: 0;
  z-index: -4;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  animation: heroDrift 18s ease-in-out infinite alternate;
}
.hero-shade {
  position: absolute;
  inset: 0;
  z-index: -3;
  background: linear-gradient(90deg, rgba(16, 17, 15, 0.96) 0%, rgba(16, 17, 15, 0.79) 37%, rgba(16, 17, 15, 0.12) 74%), linear-gradient(0deg, rgba(16, 17, 15, 0.86) 0%, transparent 48%);
}
@keyframes heroDrift { from { transform: scale(1.02); } to { transform: scale(1.075) translateX(-1.5%); } }
.hero-content {
  min-height: 90dvh;
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(330px, 0.9fr);
  align-items: end;
  gap: 64px;
  padding-top: calc(var(--header-height) + 72px);
  padding-bottom: 88px;
}
.hero-copy {
  align-self: center;
  max-width: 820px;
  animation: heroContentIn 720ms var(--ease) 120ms both;
}

@keyframes heroContentIn {
  from { opacity: 0; transform: translateY(20px); }
}
.live-label, .eyebrow {
  margin: 0 0 18px;
  font-family: var(--font-mono);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.4;
  text-transform: uppercase;
}
.live-label { display: flex; align-items: center; gap: 10px; color: var(--cyan); }
.eyebrow { color: var(--cyan-dark); }
.section-dark .eyebrow,
.deployment-section .deployment-copy > .eyebrow,
.final-cta .final-cta-content > .eyebrow,
.scope-preview .scope-preview-copy > .eyebrow { color: var(--cyan); }
.live-label > span { width: 7px; height: 7px; border-radius: 50%; background: var(--green); box-shadow: 0 0 18px var(--green); animation: pulse 1.5s ease-in-out infinite; }
@keyframes pulse { 50% { opacity: 0.45; transform: scale(0.75); } }
.hero-brand-title {
  margin: 0;
  display: flex;
  align-items: center;
  gap: 24px;
  letter-spacing: 0;
}
.hero-brand-title > img {
  flex: 0 0 auto;
  width: 176px;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  background: transparent;
}
.hero-brand-title > span {
  max-width: 560px;
  font-size: 38px;
  line-height: 1.1;
  font-weight: 760;
}
.hero-lead {
  max-width: 680px;
  margin: 26px 0 0;
  color: rgba(255, 255, 255, 0.72);
  font-size: 19px;
  line-height: 1.6;
}
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; }
.hero-signal {
  align-self: end;
  margin-bottom: 6px;
  border-top: 1px solid rgba(255, 255, 255, 0.28);
  border-bottom: 1px solid rgba(255, 255, 255, 0.18);
  backdrop-filter: blur(16px);
  animation: heroContentIn 720ms var(--ease) 240ms both;
}
.signal-head { display: flex; align-items: center; justify-content: space-between; padding: 14px 0; color: rgba(255, 255, 255, 0.62); font-family: var(--font-mono); font-size: 11px; text-transform: uppercase; }
.signal-online { display: inline-flex; align-items: center; gap: 6px; color: var(--green); }
.signal-online svg { width: 14px; height: 14px; }
.signal-metrics { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid rgba(255, 255, 255, 0.16); }
.signal-metrics > div { min-width: 0; padding: 18px 14px 18px 0; }
.signal-metrics > div + div { padding-left: 18px; border-left: 1px solid rgba(255, 255, 255, 0.16); }
.signal-metrics strong { display: block; font-family: var(--font-mono); font-size: 24px; font-weight: 700; }
.signal-metrics span { display: block; margin-top: 4px; color: rgba(255, 255, 255, 0.52); font-size: 12px; }
.scroll-cue {
  position: absolute;
  right: 24px;
  bottom: 22px;
  display: flex;
  align-items: center;
  gap: 10px;
  color: rgba(255, 255, 255, 0.64);
  font-size: 12px;
  text-decoration: none;
}
.scroll-cue svg { width: 16px; animation: scrollCue 1.8s ease-in-out infinite; }
@keyframes scrollCue { 50% { transform: translateY(5px); } }

.capability-strip { height: 10dvh; min-height: 78px; display: flex; align-items: center; overflow: hidden; color: var(--ink); background: var(--cyan); }
.ticker { width: 100%; height: 100%; overflow: hidden; }
.ticker-track { position: relative; width: 100%; height: 100%; }
.ticker-group { position: absolute; top: 0; left: 0; width: max-content; min-width: max-content; height: 100%; display: flex; align-items: center; gap: 28px; padding-right: 28px; will-change: transform; }
.ticker-group:first-child { animation: tickerPrimary 34s linear infinite; }
.ticker-group:nth-child(2) { animation: tickerSecondary 34s linear infinite; }
.ticker-track span { font-size: 15px; font-weight: 800; text-transform: uppercase; white-space: nowrap; }
.ticker-track b { width: 5px; height: 5px; flex: 0 0 5px; border-radius: 50%; background: currentColor; }
@keyframes tickerPrimary { from { transform: translateX(0); } to { transform: translateX(-100%); } }
@keyframes tickerSecondary { from { transform: translateX(100%); } to { transform: translateX(0); } }

.section-dark { color: var(--white); background: var(--ink); }
.live-demo, .operating-model, .roles-section, .scope-section, .deployment-section, .delivery-section { padding: 128px 0; }
.section-heading { margin-bottom: 56px; }
.heading-split { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(300px, 0.65fr); align-items: end; gap: 80px; }
.section-heading h2, .scope-intro h2, .deployment-copy h2, .final-cta h2 {
  margin: 0;
  font-size: 56px;
  line-height: 1.04;
  font-weight: 780;
  letter-spacing: 0;
}
.section-heading > p, .deployment-copy > p, .final-cta-content > p:not(.eyebrow) { margin: 0; color: var(--muted-dark); font-size: 18px; line-height: 1.7; }
.eyebrow-dark,
.section-dark .eyebrow-dark { color: var(--cyan-dark); }

.simulator {
  overflow: hidden;
  color: var(--white);
  background: var(--panel-deep);
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}
.simulator-toolbar {
  min-height: 72px;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 20px;
  padding: 12px 16px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}
.window-identity { display: flex; align-items: center; gap: 12px; }
.window-mark { width: 38px; height: 38px; display: grid; place-items: center; color: var(--ink); background: var(--cyan); border-radius: 6px; }
.window-mark svg { width: 19px; }
.window-identity .ui-cshark-wordmark { width: 78px; height: 44px; }
.window-identity div { display: grid; }
.window-identity strong { font-family: var(--font-mono); font-size: 9px; }
.window-identity span { color: var(--muted-dark); font-family: var(--font-mono); font-size: 10px; }
.scenario-switch { display: flex; gap: 3px; padding: 3px; background: rgba(255, 255, 255, 0.06); border: 1px solid rgba(255, 255, 255, 0.08); border-radius: 7px; }
.scenario-button { min-height: 38px; padding: 0 14px; color: var(--muted-dark); background: transparent; border: 0; border-radius: 5px; font-size: 12px; font-weight: 700; cursor: pointer; }
.scenario-button.active { color: var(--white); background: rgba(255, 255, 255, 0.12); }
.button-run { justify-self: end; min-height: 42px; color: var(--ink); background: var(--green); }
.button-run.running { color: var(--white); background: var(--ink-3); pointer-events: none; }
.simulator-body { display: grid; grid-template-columns: minmax(0, 1fr) 380px; min-height: 720px; }
.object-view { position: relative; min-width: 0; padding: 16px; border-right: 1px solid rgba(255, 255, 255, 0.12); overflow: hidden; }
.object-topline { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.floor-tabs { display: flex; align-items: center; gap: 4px; }
.floor-tabs button { min-width: 56px; height: 40px; padding: 0 10px; color: var(--muted-dark); background: transparent; border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 6px; font-family: var(--font-mono); font-size: 11px; cursor: pointer; }
.floor-tabs button span { margin-left: 4px; color: var(--green); }
.floor-tabs button.active { color: var(--ink); background: var(--white); border-color: var(--white); }
.floor-tabs button.active span { color: var(--green-dark); }
.object-clock { display: flex; align-items: center; gap: 8px; color: var(--muted-dark); font-family: var(--font-mono); font-size: 11px; }
.object-clock span { width: 6px; height: 6px; border-radius: 50%; background: var(--green); animation: pulse 1.5s infinite; }

.lane-scene {
  position: relative;
  height: 170px;
  margin-top: 16px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 6px;
  background: var(--panel);
}
.lane-scene::before, .lane-scene::after { content: ""; position: absolute; right: 0; left: 0; height: 1px; background: rgba(255, 255, 255, 0.18); }
.lane-scene::before { top: 46px; }
.lane-scene::after { bottom: 34px; }
.lane-camera { position: absolute; top: 17px; left: 20px; display: flex; align-items: center; gap: 7px; color: var(--cyan); font-family: var(--font-mono); font-size: 10px; }
.lane-camera svg { width: 19px; }
.scan-beam { position: absolute; z-index: 3; top: 43px; bottom: 31px; left: 88px; width: 2px; opacity: 0; background: var(--cyan); box-shadow: 0 0 22px 7px rgba(201, 245, 74, 0.32); }
.lane-scene.scanning .scan-beam { animation: scan 1.1s var(--ease) forwards; }
@keyframes scan { 0% { opacity: 0; transform: translateX(-50px); } 15%, 80% { opacity: 1; } 100% { opacity: 0; transform: translateX(230px); } }
.vehicle { position: absolute; z-index: 2; left: -180px; bottom: 47px; width: 148px; height: 54px; display: flex; align-items: flex-end; justify-content: center; background: #dfe5e6; border-radius: 42px 48px 12px 12px; box-shadow: 0 8px 18px rgba(0, 0, 0, 0.32); transition: transform 1.4s var(--ease); }
.vehicle::before, .vehicle::after { content: ""; position: absolute; bottom: -7px; width: 25px; height: 25px; background: #10171a; border: 5px solid #526068; border-radius: 50%; }
.vehicle::before { left: 18px; }
.vehicle::after { right: 18px; }
.vehicle-roof { position: absolute; top: -22px; left: 34px; width: 77px; height: 35px; background: #bfcacd; border-radius: 35px 35px 5px 5px; transform: skewX(-10deg); }
.vehicle-plate { position: relative; z-index: 2; margin-bottom: 5px; padding: 1px 5px; color: #101820; background: var(--white); border: 1px solid #9ba7ad; border-radius: 2px; font-family: var(--font-mono); font-size: 8px; }
.lane-scene.arrive .vehicle { transform: translateX(330px); }
.lane-scene.pass .vehicle { transform: translateX(920px); }
.lane-scene.denied .vehicle { transform: translateX(330px); }
.lane-display { position: absolute; top: 16px; right: 128px; width: 212px; min-height: 54px; padding: 8px 12px; color: var(--green); background: #03090c; border: 1px solid #314049; border-radius: 4px; font-family: var(--font-mono); }
.lane-display small { display: block; color: #71838d; font-size: 8px; }
.lane-display strong { display: block; margin-top: 2px; font-size: 11px; line-height: 1.25; }
.lane-display.is-deny strong { color: var(--red); }
.lane-display.is-alert strong { color: var(--amber); }
.lane-waypoint { position: absolute; z-index: 4; right: 28px; bottom: 28px; display: grid; justify-items: center; gap: 4px; color: var(--cyan); font-family: var(--font-mono); font-size: 7px; }
.lane-waypoint svg { width: 20px; height: 20px; padding: 4px; color: var(--ink); background: var(--cyan); border-radius: 50%; box-shadow: 0 0 18px rgba(201, 245, 74, .3); }
.lane-arrow { position: absolute; right: 370px; bottom: 11px; display: flex; color: rgba(255, 255, 255, 0.23); }
.lane-arrow svg { width: 22px; }

.map-topline { display: flex; justify-content: space-between; align-items: end; gap: 24px; margin-top: 22px; }
.map-topline > div:first-child { display: grid; gap: 4px; }
.map-label { color: var(--muted-dark); font-family: var(--font-mono); font-size: 10px; text-transform: uppercase; }
.map-topline strong { font-size: 20px; }
.map-legend { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 12px; color: var(--muted-dark); font-size: 10px; }
.map-legend span { display: inline-flex; align-items: center; gap: 5px; }
.map-legend i { width: 9px; height: 9px; border-radius: 2px; }
.map-legend svg { width: 12px; height: 12px; color: var(--green); }
.state-free { background: rgba(201, 245, 74, 0.14); border: 1px solid var(--green); }
.state-busy { background: var(--panel-raised); border: 1px solid var(--line-dark-strong); }
.state-reserved { background: rgba(201, 245, 74, 0.16); border: 1px solid var(--cyan); }
.state-alert { background: rgba(255, 154, 170, 0.15); border: 1px solid var(--red); }
.parking-map { position: relative; margin-top: 14px; }
.parking-layout {
  position: relative;
  min-height: 356px;
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 8px 68px 8px 8px;
  overflow: hidden;
  background: var(--panel-deep);
  border: 1px solid var(--panel-line);
  border-radius: 6px;
}
.parking-layout::before {
  content: none;
}
.parking-row {
  position: relative;
  z-index: 1;
  height: 30px;
  display: grid;
  grid-template-columns: repeat(10, minmax(0, 1fr));
  gap: 4px;
}
.parking-spot {
  position: relative;
  min-width: 0;
  height: 30px;
  display: block;
  overflow: visible;
  color: #a4a89b;
  background: var(--panel-raised);
  border: 1px solid var(--panel-line);
  border-radius: 2px;
  font-family: var(--font-mono);
  font-size: 7px;
  cursor: pointer;
  transition: transform 180ms ease, color 180ms ease, background 180ms ease, border-color 180ms ease;
}
.parking-spot::after {
  content: "";
  position: absolute;
  right: 24%;
  left: 24%;
  height: 2px;
  background: var(--line-dark-strong);
  border-radius: 2px;
}
.faces-up .parking-spot { border-top-style: dashed; }
.faces-up .parking-spot::after { bottom: 3px; }
.faces-down .parking-spot { border-bottom-style: dashed; }
.faces-down .parking-spot::after { top: 3px; }
.parking-spot:hover { z-index: 6; transform: scale(1.08); border-color: #a4a89b; }
.spot-id { position: absolute; z-index: 2; right: 3px; bottom: 2px; line-height: 1; }
.faces-down .spot-id { top: 2px; bottom: auto; }
.spot-led {
  position: absolute;
  z-index: 4;
  left: 50%;
  width: 5px;
  height: 5px;
  background: #66777f;
  border: 1px solid #0b151a;
  border-radius: 50%;
  transform: translateX(-50%);
}
.faces-up .spot-led { top: -3px; }
.faces-down .spot-led { bottom: -3px; }
.spot-car {
  position: absolute;
  z-index: 2;
  top: 50%;
  left: 50%;
  width: 54%;
  height: 11px;
  background: #c6d0d3;
  border: 2px solid #596971;
  border-radius: 5px 5px 3px 3px;
  box-shadow: inset 0 0 0 2px #e4eaeb;
  transform: translate(-50%, -50%);
}
.spot-car::before, .spot-car::after { content: ""; position: absolute; top: 2px; bottom: 2px; width: 2px; background: #10191e; }
.spot-car::before { left: -3px; }
.spot-car::after { right: -3px; }
.parking-spot.free { color: var(--green); background: rgba(201, 245, 74, 0.08); border-color: rgba(201, 245, 74, 0.32); }
.parking-spot.free .spot-led { background: var(--green); box-shadow: 0 0 7px rgba(201, 245, 74, 0.72); }
.parking-spot.busy .spot-led { background: var(--red); box-shadow: 0 0 7px rgba(255, 154, 170, 0.62); }
.parking-spot.guided { z-index: 2; color: var(--green); background: rgba(201, 245, 74, 0.12); border-color: var(--green); box-shadow: 0 0 18px rgba(201, 245, 74, 0.2); animation: guidedSpot 800ms ease-in-out infinite alternate; }
.parking-spot.guided .spot-led { background: var(--green); box-shadow: 0 0 11px var(--green); animation: pulse 650ms ease-in-out infinite alternate; }
.parking-spot.reserved { z-index: 2; color: var(--cyan); background: rgba(201, 245, 74, 0.14); border-color: var(--cyan); box-shadow: 0 0 18px rgba(201, 245, 74, 0.2); animation: assignedSpot 900ms ease-in-out infinite alternate; }
.parking-spot.reserved .spot-led { background: var(--cyan); box-shadow: 0 0 9px var(--cyan); }
.parking-spot.alert { color: var(--red); background: rgba(255, 154, 170, 0.13); border-color: var(--red); animation: alertSpot 700ms ease-in-out infinite alternate; }
.parking-spot.alert .spot-led { background: var(--red); box-shadow: 0 0 9px var(--red); }
.parking-spot.selected { z-index: 8; border-color: var(--cyan); box-shadow: 0 0 0 2px rgba(201, 245, 74, 0.26), 0 0 18px rgba(201, 245, 74, 0.22); transform: scale(1.08); }
.parking-spot.alert.selected { border-color: var(--red); box-shadow: 0 0 0 2px rgba(255, 154, 170, 0.28), 0 0 18px rgba(255, 154, 170, 0.24); }
.parking-spot.scenario-target { outline: 1px solid rgba(201, 245, 74, .64); outline-offset: 2px; }
.parking-spot.scenario-parked { color: var(--red); background: rgba(255, 154, 170, .1); border-color: rgba(255, 154, 170, .76); box-shadow: 0 0 18px rgba(255, 154, 170, .24); animation: occupiedSpotConfirmed 900ms var(--ease) both; }
.parking-spot.scenario-parked .spot-car { opacity: .28; }
.parking-spot.scenario-parked .spot-id { color: #ffd5dc; }
.spot-plate { position: absolute; z-index: 5; top: 50%; left: 50%; min-width: 52px; padding: 2px 3px; color: #10110f; background: #f5f6ee; border: 1px solid #8f9386; border-radius: 2px; font-family: var(--font-mono); font-size: 5px; font-weight: 800; line-height: 1; white-space: nowrap; transform: translate(-50%, -50%); }
@keyframes guidedSpot { to { background: rgba(201, 245, 74, .22); box-shadow: 0 0 26px rgba(201, 245, 74, .4); } }
@keyframes occupiedSpotConfirmed { from { background: rgba(201, 245, 74, .3); box-shadow: 0 0 30px rgba(201, 245, 74, .56); } }
@keyframes assignedSpot { to { box-shadow: 0 0 28px rgba(201, 245, 74, 0.38); } }
@keyframes alertSpot { to { background: rgba(255, 154, 170, 0.25); } }

.space-inspector {
  position: absolute;
  top: 8px;
  right: 68px;
  z-index: 30;
  width: min(720px, calc(100% - 84px));
  max-height: calc(100% - 16px);
  overflow: hidden;
  color: var(--white);
  background: var(--panel-deep);
  border: 1px solid var(--line-dark-strong);
  border-radius: 6px;
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.58);
  animation: spaceInspectorIn 220ms var(--ease) both;
}
.space-inspector[hidden] { display: none; }
@keyframes spaceInspectorIn { from { opacity: 0; transform: translateX(16px); } }
.space-inspector > header { min-height: 40px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 4px 7px 4px 11px; border-bottom: 1px solid var(--panel-line); }
.space-inspector > header > div { min-width: 0; display: grid; }
.space-inspector > header small { color: #69808a; font-family: var(--font-mono); font-size: 6px; }
.space-inspector > header strong { margin-top: 2px; font-size: 12px; }
.space-inspector > header span { position: absolute; top: 15px; left: 92px; color: #71858e; font-family: var(--font-mono); font-size: 6px; }
.space-inspector-close { width: 30px; height: 30px; display: grid; place-items: center; flex: 0 0 auto; color: #a4a89b; background: var(--panel-raised); border: 1px solid var(--line-dark-strong); border-radius: 4px; cursor: pointer; }
.space-inspector-close:hover, .space-inspector-close:focus-visible { color: var(--white); border-color: var(--cyan-dark); outline: none; }
.space-inspector-close svg { width: 15px; height: 15px; }
.space-inspector-summary { display: grid; grid-template-columns: minmax(0, .78fr) minmax(0, 1.22fr); min-height: 116px; border-bottom: 1px solid var(--panel-line); }
.space-evidence { position: relative; min-width: 0; height: 116px; overflow: hidden; background: var(--panel); border-right: 1px solid var(--panel-line); }
.space-evidence > img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: center 58%; filter: saturate(.72) contrast(1.03); }
.space-evidence::after { content: ""; position: absolute; inset: 0; pointer-events: none; border: 1px solid rgba(255,255,255,.04); box-shadow: inset 0 -54px 40px rgba(3, 10, 14, .72); }
.space-evidence-top { position: absolute; top: 8px; right: 8px; left: 8px; z-index: 2; display: flex; align-items: center; justify-content: space-between; gap: 10px; font-family: var(--font-mono); font-size: 6px; }
.space-evidence-top > span { display: flex; align-items: center; gap: 5px; padding: 4px 6px; color: #d2dde0; background: rgba(5, 16, 21, .84); border: 1px solid rgba(129, 157, 167, .28); border-radius: 3px; }
.space-evidence-top i { width: 5px; height: 5px; background: var(--green); border-radius: 50%; box-shadow: 0 0 7px var(--green); }
.space-evidence-top b { font-weight: 600; }
.space-evidence-top time { padding: 4px 6px; color: #d2dde0; background: rgba(5, 16, 21, .84); border-radius: 3px; }
.space-evidence-plate { position: absolute; right: 10px; bottom: 10px; left: 10px; z-index: 2; display: flex; align-items: end; justify-content: space-between; gap: 12px; }
.space-evidence-plate span { color: #91a6ae; font-size: 7px; }
.space-evidence-plate strong { padding: 5px 8px; color: #061014; background: var(--white); border-radius: 3px; font-family: var(--font-mono); font-size: 14px; line-height: 1; }
.space-session-summary { min-width: 0; display: grid; grid-template-rows: 44px 1fr; }
.space-vehicle { min-height: 44px; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 12px; padding: 5px 10px; border-bottom: 1px solid var(--panel-line); }
.space-vehicle > div { min-width: 0; display: grid; }
.space-vehicle span { width: max-content; padding: 3px 5px; color: var(--green); background: rgba(201, 245, 74, .08); border: 1px solid rgba(201, 245, 74, .2); border-radius: 2px; font-family: var(--font-mono); font-size: 6px; }
.space-vehicle span.alert { color: var(--red); background: rgba(255, 154, 170, .08); border-color: rgba(255, 154, 170, .28); }
.space-vehicle strong { margin-top: 3px; overflow: hidden; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.space-vehicle small { margin-top: 2px; color: #708690; font-size: 6px; }
.space-vehicle > b { color: var(--cyan); font-family: var(--font-mono); font-size: 11px; }
.space-session-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.space-session-grid > div { min-width: 0; display: grid; align-content: center; gap: 3px; padding: 5px 9px; border-right: 1px solid var(--panel-line); border-bottom: 1px solid var(--panel-line); }
.space-session-grid > div:nth-child(3n) { border-right: 0; }
.space-session-grid > div:nth-child(n+4) { border-bottom: 0; }
.space-session-grid span { color: #627780; font-family: var(--font-mono); font-size: 5px; text-transform: uppercase; }
.space-session-grid strong { overflow: hidden; color: #c5d1d5; font-family: var(--font-mono); font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.space-session-grid .is-due { background: rgba(255, 193, 92, .05); }
.space-session-grid .is-due strong { color: var(--amber); }
.space-inspector-tabs { min-height: 30px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--panel-line); }
.space-inspector-tabs button { min-width: 0; display: inline-flex; align-items: center; justify-content: center; gap: 6px; padding: 0 8px; color: #8f9386; background: var(--panel); border: 0; cursor: pointer; font-size: 7px; font-weight: 750; }
.space-inspector-tabs button:hover, .space-inspector-tabs button:focus-visible { color: var(--white); background: var(--panel-hover); outline: none; }
.space-inspector-tabs button.active { color: var(--ink); background: var(--cyan); }
.space-inspector-tabs svg { width: 12px; height: 12px; }
.space-inspector-panels { min-height: 84px; background: var(--panel); border-bottom: 1px solid var(--panel-line); }
.space-inspector-panel { min-height: 84px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)) minmax(150px, 1.35fr); }
.space-inspector-panel[hidden] { display: none; }
.inspector-metric { min-width: 0; display: grid; align-content: center; gap: 5px; padding: 9px; border-right: 1px solid var(--panel-line); }
.inspector-metric span, .inspector-chart > span { color: #627780; font-family: var(--font-mono); font-size: 5px; text-transform: uppercase; }
.inspector-metric strong { color: #d3dcdf; font-family: var(--font-mono); font-size: 10px; }
.inspector-metric small { color: #6e838c; font-size: 6px; line-height: 1.35; }
.inspector-chart { min-width: 0; display: grid; grid-template-rows: auto 1fr auto; gap: 4px; align-items: end; padding: 9px 10px; }
.inspector-chart > div { height: 34px; display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; align-items: end; gap: 3px; border-bottom: 1px solid var(--line-dark-strong); }
.inspector-chart > div i { min-height: 4px; height: var(--bar); background: var(--cyan-dark); border-radius: 2px 2px 0 0; opacity: .78; }
.inspector-chart > small { color: #546a74; font-family: var(--font-mono); font-size: 5px; word-spacing: 2px; }
.space-inspector-panel.space-panel { grid-template-columns: repeat(3, minmax(0, .62fr)) minmax(260px, 2.15fr); }
.space-history { min-width: 0; display: grid; grid-template-rows: auto 1fr; gap: 4px; padding: 6px 9px; border-left: 1px solid var(--panel-line); }
.space-history-head { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }
.space-history-head span { color: #627780; font-family: var(--font-mono); font-size: 5px; text-transform: uppercase; }
.space-history-head strong { color: #9aadb4; font-size: 6px; font-weight: 600; white-space: nowrap; }
.space-history ol { min-width: 0; display: grid; gap: 1px; margin: 0; padding: 0; list-style: none; }
.space-history li { min-width: 0; display: grid; grid-template-columns: 32px 5px minmax(0, 1fr); align-items: center; gap: 5px; }
.space-history time { color: #61757e; font-family: var(--font-mono); font-size: 5px; }
.space-history li > i { width: 5px; height: 5px; background: #526578; border-radius: 50%; }
.space-history li.current > i, .space-history li.success > i { background: var(--green); box-shadow: 0 0 6px rgba(201, 245, 74, .55); }
.space-history li.warning > i { background: var(--amber); box-shadow: 0 0 6px rgba(229, 168, 75, .48); }
.space-history li > div { min-width: 0; display: flex; align-items: baseline; gap: 5px; }
.space-history li strong { flex: 0 0 auto; color: #cbd4d7; font-size: 6px; }
.space-history li span { min-width: 0; overflow: hidden; color: #687d86; font-size: 5px; text-overflow: ellipsis; white-space: nowrap; }
.space-inspector-panel.tariff-panel { grid-template-columns: minmax(220px, .8fr) minmax(0, 1.7fr); }
.tariff-current { display: grid; align-content: center; gap: 6px; padding: 12px; border-right: 1px solid #21353e; }
.tariff-current span { color: #627780; font-family: var(--font-mono); font-size: 5px; text-transform: uppercase; }
.tariff-current strong { color: var(--amber); font-size: 11px; }
.tariff-current b { color: var(--white); font-family: var(--font-mono); font-size: 13px; }
.tariff-current small { color: #7a8f97; font-size: 7px; line-height: 1.45; }
.tariff-rule-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.tariff-rule-list > div { min-width: 0; display: grid; align-content: center; gap: 6px; padding: 9px 11px; border-right: 1px solid #21353e; }
.tariff-rule-list > div:last-child { border-right: 0; }
.tariff-rule-list span { color: #627780; font-family: var(--font-mono); font-size: 5px; text-transform: uppercase; }
.tariff-rule-list strong { color: #b9c5c9; font-size: 7px; line-height: 1.4; }
.zone-a { color: #007f70; }
.zone-b { color: #526578; }
.zone-premium { color: #c9f54a; }
.space-inspector-panel.heatmap-panel { display: grid; grid-template-columns: 170px minmax(0, 1fr) 76px; gap: 10px; align-items: center; padding: 8px 10px; }
.space-inspector-panel.heatmap-panel[hidden] { display: none; }
.space-heatmap-head { display: grid; gap: 9px; }
.space-heatmap-head > div:first-child { display: grid; gap: 4px; }
.space-heatmap-head strong { font-size: 10px; }
.space-heatmap-head span { color: #687d86; font-size: 6px; }
.space-heatmap-head > div:last-child { display: flex; flex-wrap: wrap; gap: 5px 8px; }
.space-heatmap-head > div:last-child span { display: inline-flex; align-items: center; gap: 4px; font-family: var(--font-mono); font-size: 5px; }
.space-heatmap-head i { width: 7px; height: 7px; }
.space-heatmap { display: grid; gap: 3px; }
.space-heatmap-row { min-width: 0; display: grid; grid-template-columns: 18px 1fr; gap: 5px; align-items: center; }
.space-heatmap-row b { color: #647a84; font-family: var(--font-mono); font-size: 6px; }
.space-heatmap-row span { min-width: 0; display: grid; grid-template-columns: repeat(14, minmax(0, 1fr)); gap: 2px; }
.space-heatmap-row i { height: 9px; border: 1px solid transparent; border-radius: 1px; }
.heat-low { background: #174a45; }
.heat-medium { background: #2b8590; }
.heat-high { background: #ef9e4d; }
.space-heatmap-row i.zone-a { border-bottom-color: #007f70; }
.space-heatmap-row i.zone-b { border-bottom-color: #526578; }
.space-heatmap-row i.zone-premium { border-bottom-color: #c9f54a; }
.space-heatmap-row i.selected { outline: 1px solid var(--white); outline-offset: 1px; box-shadow: 0 0 6px var(--cyan); }
.space-heatmap-zones { display: grid; gap: 6px; }
.space-heatmap-zones span { padding: 4px 5px; border-left: 2px solid currentColor; background: rgba(255,255,255,.03); font-family: var(--font-mono); font-size: 5px; }
.space-inspector-meta { min-height: 28px; display: grid; grid-template-columns: 1fr 1fr; border-bottom: 1px solid var(--panel-line); }
.space-inspector-meta > div { min-width: 0; display: grid; align-content: center; gap: 2px; padding: 5px 10px; }
.space-inspector-meta > div + div { border-left: 1px solid var(--panel-line); }
.space-inspector-meta span { color: #657b84; font-family: var(--font-mono); font-size: 5px; text-transform: uppercase; }
.space-inspector-meta strong { overflow: hidden; color: #aebdc3; font-family: var(--font-mono); font-size: 6px; text-overflow: ellipsis; white-space: nowrap; }
.space-inspector-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--panel-line); }
.space-inspector-actions button { min-height: 30px; display: flex; align-items: center; justify-content: center; gap: 7px; color: #c7c9bc; background: var(--panel-raised); border: 0; font-size: 7px; font-weight: 700; cursor: pointer; }
.space-inspector-actions button:hover, .space-inspector-actions button:focus-visible { color: var(--white); background: var(--panel-hover); outline: none; }
.space-inspector-actions svg { width: 12px; height: 12px; color: var(--cyan); }

.drive-aisle {
  position: relative;
  z-index: 2;
  width: calc(100% + 60px);
  height: 28px;
  flex: 0 0 28px;
  overflow: hidden;
  color: #8f9386;
  background: var(--panel-raised);
  border-top: 1px solid var(--panel-line);
  border-bottom: 1px solid var(--panel-line);
}
.drive-aisle::before { content: ""; position: absolute; top: 50%; right: 5px; left: 5px; border-top: 1px dashed rgba(255, 255, 255, 0.22); }
.aisle-name { position: absolute; z-index: 2; top: 3px; left: 5px; font-family: var(--font-mono); font-size: 5px; line-height: 1; }
.aisle-flow { position: absolute; top: 50%; left: 34%; display: flex; gap: 17px; color: rgba(255, 255, 255, 0.27); transform: translate(-50%, -50%); }
.aisle-flow svg { width: 12px; height: 12px; }
.flow-left .aisle-flow { transform: translate(-50%, -50%) rotate(180deg); }
.aisle-camera {
  position: absolute;
  z-index: 3;
  top: 50%;
  width: 25px;
  height: 20px;
  display: grid;
  grid-template-columns: 13px 4px;
  align-items: center;
  gap: 2px;
  padding: 2px 3px;
  color: #c7c9bc;
  background: var(--panel-deep);
  border: 1px solid var(--line-dark-strong);
  border-radius: 3px;
  transform: translate(-50%, -50%);
}
.drive-aisle > .aisle-camera:nth-child(3) { left: 23%; }
.drive-aisle > .aisle-camera:nth-child(4) { left: 49%; }
.drive-aisle > .aisle-camera:nth-child(5) { left: 72%; }
.aisle-camera svg { width: 11px; height: 11px; }
.aisle-camera b { width: 4px; height: 4px; background: var(--green); border-radius: 50%; box-shadow: 0 0 6px var(--green); }
.aisle-camera small { position: absolute; right: 2px; bottom: 0; color: #8da0a8; font-family: var(--font-mono); font-size: 4px; }
.aisle-sign { position: absolute; z-index: 4; top: 3px; right: 63px; min-width: 48px; height: 20px; display: grid; grid-template-columns: 1fr auto auto; align-items: center; gap: 3px; padding: 2px 4px; color: var(--green); background: #03100d; border: 1px solid #245341; border-radius: 2px; }
.aisle-sign small { color: #718a7f; font-size: 4px; text-transform: uppercase; }
.aisle-sign strong { font-family: var(--font-mono); font-size: 8px; }
.aisle-sign svg { width: 8px; height: 8px; }
.collector-lane {
  position: absolute;
  z-index: 3;
  top: 8px;
  right: 8px;
  bottom: 8px;
  width: 52px;
  overflow: hidden;
  color: #b7baae;
  background: var(--panel-raised);
  border: 1px solid var(--line-dark-strong);
  border-radius: 3px;
}
.collector-lane::before { content: ""; position: absolute; top: 6px; bottom: 6px; left: 50%; border-left: 1px dashed rgba(255, 255, 255, 0.28); }
.collector-lane span { position: absolute; top: 50%; left: 4px; color: #8da0a8; font-family: var(--font-mono); font-size: 5px; writing-mode: vertical-rl; transform: translateY(-50%) rotate(180deg); }
.collector-lane svg { position: absolute; left: 50%; width: 11px; height: 11px; transform: translateX(-50%); }
.collector-lane svg:nth-of-type(1) { top: 24%; }
.collector-lane svg:nth-of-type(2) { bottom: 24%; }
.map-board {
  position: absolute;
  z-index: 6;
  top: 4px;
  right: 66px;
  width: 112px;
  min-height: 32px;
  display: grid;
  grid-template-columns: 1fr auto;
  align-content: center;
  gap: 0 6px;
  padding: 4px 6px;
  color: var(--green);
  background: #02090c;
  border: 1px solid #39505a;
  border-radius: 3px;
  box-shadow: 0 7px 18px rgba(0, 0, 0, 0.25);
}
.map-board small { grid-column: 1 / -1; color: #71858e; font-family: var(--font-mono); font-size: 5px; }
.map-board strong { font-family: var(--font-mono); font-size: 8px; }
.map-board span { display: flex; align-items: center; gap: 2px; color: var(--cyan); font-family: var(--font-mono); font-size: 6px; }
.map-board svg { width: 8px; height: 8px; }
.ramp-portal { position: absolute; z-index: 7; right: 4px; bottom: 3px; width: 60px; min-height: 38px; display: grid; grid-template-columns: 15px 1fr; align-content: center; gap: 1px 3px; padding: 4px; color: var(--white); background: #09141a; border: 1px solid #50636c; border-radius: 3px; }
.ramp-portal svg { grid-row: 1 / 3; width: 14px; color: var(--cyan); }
.ramp-portal strong { font-family: var(--font-mono); font-size: 6px; }
.ramp-portal span { color: #80939c; font-size: 4px; }
.map-device { position: absolute; z-index: 6; width: 24px; height: 24px; display: grid; place-items: center; padding: 0; color: #c7c9bc; background: var(--panel); border: 1px solid var(--line-dark-strong); border-radius: 4px; cursor: pointer; }
.map-device svg { width: 12px; height: 12px; }
.map-device span { position: absolute; top: 2px; right: 2px; width: 4px; height: 4px; background: var(--green); border-radius: 50%; box-shadow: 0 0 5px var(--green); }
.device-intercom { right: 70px; bottom: 5px; }
.device-ev { left: 9px; bottom: 8px; color: var(--green); }
.map-route { position: absolute; z-index: 8; inset: 0; opacity: 0; pointer-events: none; transition: opacity 240ms ease; }
.map-route.visible { opacity: 1; }
.map-route-path { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.map-route-path path { fill: none; stroke: var(--green); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 4 5; filter: drop-shadow(0 0 4px rgba(201, 245, 74, .7)); vector-effect: non-scaling-stroke; animation: routeLineFlow 900ms linear infinite; }
@keyframes routeLineFlow { to { stroke-dashoffset: -18; } }
.map-route-target { position: absolute; width: 14px; height: 14px; background: var(--green); border: 3px solid #f5f6ee; border-radius: 50%; box-shadow: 0 0 18px rgba(201, 245, 74, .85); transform: translate(-50%, -50%); animation: routeTargetPulse 800ms ease-in-out infinite alternate; }
@keyframes routeTargetPulse { to { box-shadow: 0 0 28px rgba(201, 245, 74, 1); transform: translate(-50%, -50%) scale(1.14); } }
.map-route-vehicle { position: absolute; top: 0; left: 0; width: 84px; min-height: 27px; display: grid; grid-template-columns: 20px minmax(0, 1fr); align-items: center; gap: 4px; padding: 3px 5px; color: #10110f; background: #f5f6ee; border: 1px solid #a9ad9f; border-radius: 4px; box-shadow: 0 8px 20px rgba(0, 0, 0, .48), 0 0 0 2px rgba(201, 245, 74, .2); transition: transform 1.3s cubic-bezier(.45, 0, .2, 1); will-change: transform; }
.map-route-vehicle.no-transition { transition: none; }
.map-route-vehicle svg { width: 17px; height: 17px; color: #0e6b4f; }
.map-route-vehicle b { min-width: 0; font-family: var(--font-mono); font-size: 6px; line-height: 1.1; white-space: nowrap; }
.map-route-progress { position: absolute; z-index: 2; top: 7px; left: 10px; min-width: 182px; display: grid; gap: 2px; padding: 5px 7px; color: #cbd5d9; background: rgba(3, 9, 12, .92); border: 1px solid #39505a; border-radius: 3px; box-shadow: 0 8px 20px rgba(0, 0, 0, .35); }
.map-route-progress span { color: var(--green); font-family: var(--font-mono); font-size: 6px; }
.map-route-progress strong { font-family: var(--font-mono); font-size: 6px; }
.aisle-camera.route-camera { color: var(--green); border-color: rgba(201, 245, 74, .56); box-shadow: 0 0 12px rgba(201, 245, 74, .16); }
.aisle-camera.route-camera b { animation: pulse 600ms ease-in-out infinite alternate; }

.decision-view { min-width: 0; display: flex; flex-direction: column; background: var(--panel); }
.decision-header { min-height: 76px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 12px; padding: 14px 16px; border-bottom: 1px solid rgba(255, 255, 255, 0.1); }
.decision-header > span { width: 38px; height: 38px; display: grid; place-items: center; color: var(--cyan); background: rgba(201, 245, 74, 0.08); border: 1px solid rgba(201, 245, 74, 0.24); border-radius: 6px; }
.decision-header > span svg { width: 19px; }
.decision-header > div { display: grid; }
.decision-header small { color: var(--muted-dark); font-family: var(--font-mono); font-size: 9px; }
.decision-header strong { font-size: 14px; }
.decision-header > b { padding: 4px 7px; color: #a4a89b; background: var(--panel-raised); border-radius: 4px; font-family: var(--font-mono); font-size: 9px; }
.decision-header > b.allow { color: var(--green); background: rgba(201, 245, 74, 0.09); }
.decision-header > b.deny { color: var(--red); background: rgba(255, 154, 170, 0.1); }
.decision-header > b.review { color: var(--amber); background: rgba(229, 168, 75, 0.1); }
.decision-steps { margin: 0; padding: 8px 16px; list-style: none; }
.decision-steps li { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 10px; min-height: 62px; border-bottom: 1px solid rgba(255, 255, 255, 0.08); color: #8da0a8; transition: color 180ms ease, background 180ms ease; }
.decision-steps li > svg { width: 19px; }
.decision-steps li > span { display: grid; }
.decision-steps li strong { color: inherit; font-size: 12px; }
.decision-steps li small { color: #8da0a8; font-size: 10px; }
.decision-steps li > b { font-family: var(--font-mono); font-size: 10px; }
.decision-steps li.running { color: var(--cyan); }
.decision-steps li.running > svg { animation: rotateIcon 900ms linear infinite; }
@keyframes rotateIcon { to { transform: rotate(360deg); } }
.decision-steps li.success { color: var(--green); }
.decision-steps li.error { color: var(--red); }
.decision-steps li.warning { color: var(--amber); }
.event-stream { flex: 1; min-height: 250px; display: flex; flex-direction: column; border-top: 1px solid rgba(255, 255, 255, 0.1); }
.event-stream-head { display: flex; align-items: center; justify-content: space-between; padding: 8px 10px 8px 16px; color: var(--muted-dark); font-family: var(--font-mono); font-size: 9px; text-transform: uppercase; }
.event-stream-head .icon-button { width: 32px; height: 32px; border-color: rgba(255, 255, 255, 0.08); }
.event-stream-head svg { width: 14px; }
.event-list { max-height: 238px; overflow: hidden auto; padding: 0 16px 12px; scrollbar-width: thin; scrollbar-color: #30424c transparent; }
.event-placeholder { padding: 24px 0; color: #8fa1a9; font-size: 11px; line-height: 1.6; }
.event-item { display: grid; grid-template-columns: 50px 1fr; gap: 10px; padding: 9px 0; border-top: 1px solid rgba(255, 255, 255, 0.06); animation: eventIn 280ms var(--ease) both; }
@keyframes eventIn { from { opacity: 0; transform: translateY(8px); } }
.event-item time { color: #647984; font-family: var(--font-mono); font-size: 9px; }
.event-item div { min-width: 0; }
.event-item strong { display: block; overflow: hidden; color: #cbd5d9; font-family: var(--font-mono); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.event-item span { color: #71858f; font-size: 9px; }
.event-item.success strong { color: var(--green); }
.event-item.error strong { color: var(--red); }
.event-item.warning strong { color: var(--amber); }
.decision-metrics { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid rgba(255, 255, 255, 0.1); }
.decision-metrics div { min-width: 0; padding: 12px 8px; text-align: center; }
.decision-metrics div + div { border-left: 1px solid rgba(255, 255, 255, 0.1); }
.decision-metrics span { display: block; color: #8da0a8; font-size: 8px; text-transform: uppercase; }
.decision-metrics strong { display: block; margin-top: 4px; overflow: hidden; font-family: var(--font-mono); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }

.operating-model { background: var(--paper); }
.operating-model .section-heading > p { color: var(--muted); }
.logic-rail { position: relative; display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.logic-rail article { position: relative; min-height: 280px; display: grid; grid-template-rows: auto auto 1fr; gap: 28px; padding: 26px 26px 34px 0; }
.logic-rail article + article { padding-left: 26px; border-left: 1px solid var(--line); }
.logic-rail article > svg { width: 32px; height: 32px; color: var(--cyan-dark); stroke-width: 1.6; }
.logic-index { color: var(--muted); font-family: var(--font-mono); font-size: 10px; }
.logic-rail h3 { margin: 0; font-size: 25px; }
.logic-rail p { margin: 10px 0 0; color: var(--muted); font-size: 14px; line-height: 1.65; }
.logic-packet { position: absolute; z-index: 3; top: -4px; left: 0; width: 8px; height: 8px; border-radius: 50%; background: var(--cyan); box-shadow: 0 0 14px rgba(201, 245, 74, 0.48); animation: logicPacket 8s ease-in-out infinite; }
@keyframes logicPacket { 0%, 6% { left: 0; } 28% { left: 25%; } 52% { left: 50%; } 76% { left: 75%; } 96%, 100% { left: calc(100% - 8px); } }
.platform-tabs { margin-top: 72px; }
.platform-nav { display: flex; gap: 8px; padding-bottom: 12px; overflow-x: auto; border-bottom: 1px solid var(--line); }
.platform-nav button { min-height: 44px; padding: 0 16px; color: var(--muted); background: transparent; border: 1px solid transparent; border-radius: 6px; font-weight: 700; white-space: nowrap; cursor: pointer; }
.platform-nav button.active { color: var(--ink); background: var(--white); border-color: var(--line); }
.platform-stage { min-height: 470px; display: grid; grid-template-columns: minmax(360px, 0.82fr) minmax(560px, 1.18fr); gap: clamp(44px, 5vw, 80px); align-items: stretch; padding: 52px 0 0; }
.platform-copy { min-width: 0; align-self: center; padding-block: 12px; }
.platform-copy h3 { max-width: 600px; margin: 0; font-size: 40px; line-height: 1.08; }
.platform-copy > p { max-width: 620px; margin: 20px 0 0; color: var(--muted); font-size: 17px; line-height: 1.7; }
.module-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; margin-top: 30px; background: var(--line); border: 1px solid var(--line); }
.module-list span { min-width: 0; min-height: 50px; display: flex; align-items: center; gap: 9px; padding: 10px 12px; overflow-wrap: anywhere; background: var(--paper); font-size: 12px; font-weight: 700; }
.module-list i { width: 6px; height: 6px; flex: 0 0 6px; border-radius: 50%; background: var(--cyan-dark); }
.platform-visual { position: relative; min-width: 0; min-height: 440px; display: grid; grid-template-rows: auto 1fr auto; padding: 22px 24px 18px; overflow: hidden; color: var(--white); background: var(--ink-2); border: 1px solid var(--panel-line); border-radius: var(--radius); }
.platform-visual-top { min-height: 28px; display: flex; justify-content: space-between; align-items: center; gap: 18px; padding-bottom: 14px; color: #8a9c95; border-bottom: 1px solid rgba(255, 255, 255, 0.11); font-family: var(--font-mono); font-size: 9px; text-transform: uppercase; }
.platform-live { display: inline-flex; align-items: center; gap: 7px; color: var(--green); white-space: nowrap; }
.platform-live i { width: 6px; height: 6px; border-radius: 50%; background: currentColor; box-shadow: 0 0 12px currentColor; }
.module-nodes { position: relative; min-height: 310px; display: grid; grid-template-rows: repeat(3, minmax(82px, 1fr)); gap: 10px; margin: 16px 0; }
.module-spine { position: absolute; z-index: 0; top: 15%; bottom: 15%; left: 50%; width: 1px; background: rgba(201, 245, 74, 0.34); transform: translateX(-50%); }
.module-row { position: relative; z-index: 1; min-width: 0; display: grid; grid-template-columns: minmax(120px, 1fr) minmax(128px, .82fr) minmax(120px, 1fr); align-items: center; }
.module-row-line { width: 100%; height: 1px; background: rgba(201, 245, 74, 0.34); }
.module-node { position: relative; z-index: 2; min-width: 0; min-height: 70px; display: grid; grid-template-columns: 28px minmax(0, 1fr); align-items: center; gap: 10px; padding: 12px 14px; color: #d3d7cd; background: #1d1f19; border: 1px solid #3a3d32; border-radius: 6px; }
.module-node small { color: var(--green); font-family: var(--font-mono); font-size: 8px; }
.module-node strong { min-width: 0; font-size: 11px; line-height: 1.25; overflow-wrap: anywhere; }
.module-node:not(.core)::after { content: ""; position: absolute; top: 50%; width: 7px; height: 7px; background: var(--green); border: 2px solid var(--ink-2); border-radius: 50%; box-shadow: 0 0 10px rgba(201, 245, 74, 0.66); transform: translateY(-50%); }
.module-node.is-left { margin-right: 8px; }
.module-node.is-left::after { right: -12px; }
.module-node.is-right { margin-left: 8px; }
.module-node.is-right::after { left: -12px; }
.module-node.core { position: absolute; z-index: 4; top: 50%; left: 50%; width: 136px; min-height: 88px; display: grid; grid-template-columns: 1fr; place-items: center; gap: 0; padding: 10px; color: var(--ink); background: var(--cyan); border-color: var(--cyan); box-shadow: 0 0 0 8px var(--ink-2), 0 0 34px rgba(201, 245, 74, 0.2); transform: translate(-50%, -50%); }
.module-node.core .ui-cshark-wordmark { width: 74px; height: 40px; }
.module-node.core small { margin-top: -5px; color: var(--ink); font-family: var(--font-mono); font-size: 7px; }
.platform-visual-bottom { min-height: 30px; display: flex; justify-content: space-between; align-items: end; gap: 20px; padding-top: 13px; color: #81928c; border-top: 1px solid rgba(255, 255, 255, 0.11); font-family: var(--font-mono); font-size: 8px; line-height: 1.4; text-transform: uppercase; }
.platform-visual-bottom span:last-child { color: #adb8b0; text-align: right; }

.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.functions-section { padding: 112px 0 124px; background: var(--paper); border-top: 1px solid var(--line); }
.functions-section .section-heading > p { color: var(--muted); }
.function-summary { display: grid; grid-template-columns: repeat(4, 1fr); margin-bottom: 46px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.function-summary > div { min-width: 0; padding: 24px 20px 24px 0; }
.function-summary > div + div { padding-left: 24px; border-left: 1px solid var(--line); }
.function-summary strong { display: block; font-family: var(--font-mono); font-size: 30px; line-height: 1; }
.function-summary span { display: block; margin-top: 8px; color: var(--muted); font-size: 12px; }
.function-tools { display: grid; grid-template-columns: minmax(280px, 0.72fr) minmax(0, 1.28fr); gap: 18px; align-items: center; }
.function-search { position: relative; min-height: 52px; display: flex; align-items: center; gap: 10px; padding: 0 8px 0 16px; background: var(--white); border: 1px solid #bfc9c7; border-radius: 6px; }
.function-search:focus-within { border-color: var(--cyan-dark); box-shadow: 0 0 0 3px rgba(14, 107, 79, 0.14); }
.function-search > svg { width: 19px; color: var(--muted); }
.function-search input { min-width: 0; flex: 1; height: 48px; padding: 0; color: var(--ink); background: transparent; border: 0; outline: 0; font: inherit; font-size: 14px; }
.function-search input::-webkit-search-cancel-button { display: none; -webkit-appearance: none; }
.function-search input::placeholder { color: #85939a; }
.function-search .icon-button { width: 36px; height: 36px; color: var(--muted); border: 0; }
.function-search .icon-button[hidden] { display: none; }
.function-filters { min-width: 0; display: flex; gap: 4px; padding: 4px; overflow-x: auto; background: #f1f2e8; border: 1px solid rgba(18,20,15,.12); border-radius: 7px; }
.function-filters button { min-height: 42px; flex: 1 0 auto; padding: 0 13px; color: #66767d; background: transparent; border: 0; border-radius: 5px; font-size: 11px; font-weight: 750; white-space: nowrap; cursor: pointer; }
.function-filters button.active { color: var(--white); background: var(--ink); }
.function-result-line { min-height: 54px; display: flex; justify-content: space-between; align-items: center; gap: 20px; color: var(--muted); font-size: 11px; }
.function-result-line > span:first-child { color: var(--ink); font-family: var(--font-mono); font-weight: 700; }
.function-result-actions { display: flex; align-items: center; justify-content: flex-end; gap: 18px; text-align: right; }
.function-expand-all { min-height: 36px; display: inline-flex; align-items: center; gap: 7px; padding: 0 10px; color: var(--ink); background: transparent; border: 1px solid #c6d0ce; border-radius: 5px; font-size: 10px; font-weight: 750; white-space: nowrap; cursor: pointer; }
.function-expand-all svg { width: 15px; height: 15px; }
.function-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.function-card { position: relative; min-height: 360px; padding: 22px; overflow: hidden; background: var(--white); border: 1px solid var(--line); border-radius: var(--radius); animation: functionCardIn 320ms var(--ease) both; }
@keyframes functionCardIn { from { opacity: 0; transform: translateY(10px); } }
.function-card::after { content: ""; position: absolute; inset: auto 0 0; height: 3px; background: var(--function-accent, var(--cyan-dark)); transform: scaleX(0); transform-origin: left; transition: transform 300ms var(--ease); }
.function-card:hover::after { transform: scaleX(1); }
.function-card-head { display: grid; grid-template-columns: 42px 1fr auto; align-items: start; gap: 12px; padding-bottom: 18px; border-bottom: 1px solid var(--line); }
.function-card-icon { width: 42px; height: 42px; display: grid; place-items: center; color: var(--ink); background: color-mix(in srgb, var(--function-accent, var(--cyan)) 22%, white); border-radius: 6px; }
.function-card-icon svg { width: 21px; height: 21px; stroke-width: 1.8; }
.function-card h3 { margin: 1px 0 0; font-size: 18px; line-height: 1.2; }
.function-card-code { margin-top: 5px; color: var(--muted); font-family: var(--font-mono); font-size: 9px; text-transform: uppercase; }
.function-card-count { color: var(--muted); font-family: var(--font-mono); font-size: 10px; white-space: nowrap; }
.function-card > p { min-height: 58px; margin: 16px 0; color: var(--muted); font-size: 12px; line-height: 1.55; }
.function-list { display: grid; grid-template-columns: 1fr; gap: 0; margin: 0; padding: 0; list-style: none; }
.function-list li { border-top: 1px solid #e5eae8; }
.function-item-toggle { width: 100%; min-height: 42px; display: grid; grid-template-columns: 10px 1fr 18px; align-items: start; gap: 8px; padding: 10px 0; color: var(--ink); background: transparent; border: 0; text-align: left; cursor: pointer; }
.function-item-toggle::before { content: ""; width: 5px; height: 5px; margin-top: 6px; border-radius: 50%; background: var(--function-accent, var(--cyan-dark)); }
.function-item-toggle span { font-size: 11px; font-weight: 680; line-height: 1.45; }
.function-item-toggle svg { width: 16px; height: 16px; margin-top: 1px; color: #849199; transition: transform 220ms var(--ease); }
.function-item-toggle[aria-expanded="true"] svg { color: var(--function-accent, var(--cyan-dark)); transform: rotate(180deg); }
.function-item-description { margin: -2px 18px 12px; padding: 10px 12px; color: var(--muted); background: #f7f8f3; border-left: 2px solid var(--function-accent, var(--cyan-dark)); font-size: 11px; line-height: 1.55; animation: functionDescriptionIn 220ms var(--ease) both; }
.function-item-description[hidden] { display: none; }
@keyframes functionDescriptionIn { from { opacity: 0; transform: translateY(-4px); } }
.function-empty { min-height: 360px; display: grid; place-items: center; align-content: center; gap: 12px; text-align: center; border: 1px dashed #b9c5c2; }
.function-empty[hidden] { display: none; }
.function-empty > svg { width: 34px; height: 34px; color: var(--muted); }
.function-empty strong { font-size: 21px; }
.function-empty span { color: var(--muted); font-size: 13px; }
.function-empty .button { margin-top: 8px; }

.roles-section { background: #0b151c; }
.role-experience { display: grid; grid-template-columns: 230px minmax(0, 1fr); gap: 24px; }
.role-selector { display: flex; flex-direction: column; gap: 6px; }
.role-selector button { min-height: 58px; display: grid; grid-template-columns: 28px 1fr; align-items: center; gap: 10px; padding: 0 14px; color: var(--muted-dark); background: transparent; border: 1px solid transparent; border-radius: 6px; text-align: left; cursor: pointer; }
.role-selector button svg { width: 19px; }
.role-selector button.active { color: var(--white); background: rgba(255, 255, 255, 0.07); border-color: rgba(255, 255, 255, 0.12); }
.role-stage { min-height: 620px; overflow: hidden; color: var(--text); background: #f7f8f3; border: 1px solid rgba(18,20,15,.12); border-radius: var(--radius); box-shadow: var(--shadow); }
.role-ui { min-height: 620px; display: grid; grid-template-rows: 58px 1fr; animation: roleIn 360ms var(--ease) both; }
@keyframes roleIn { from { opacity: 0; transform: translateY(12px); } }
.role-ui-bar { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 0 18px; color: var(--white); background: var(--ink); }
.role-ui-brand { display: flex; align-items: center; gap: 9px; font-weight: 800; }
.role-ui-brand .ui-cshark-wordmark { width: 74px; height: 42px; }
.role-ui-brand > span { color: #8ca0a9; font-family: var(--font-mono); font-size: 8px; }
.role-ui-status { display: flex; align-items: center; gap: 8px; color: #9eb0b9; font-family: var(--font-mono); font-size: 9px; }
.role-ui-status span { width: 6px; height: 6px; border-radius: 50%; background: var(--green); }
.role-ui-body { display: grid; grid-template-columns: 180px 1fr; min-height: 0; }
.role-ui-nav { padding: 18px 12px; border-right: 1px solid var(--line); background: var(--paper); }
.role-ui-nav strong { display: block; margin: 0 8px 12px; color: #5d6b70; font-family: var(--font-mono); font-size: 9px; text-transform: uppercase; }
.role-ui-nav span { min-height: 38px; display: flex; align-items: center; gap: 8px; padding: 0 9px; color: #607079; border-radius: 5px; font-size: 11px; font-weight: 700; }
.role-ui-nav span.active { color: var(--ink); background: rgba(201, 245, 74, 0.28); }
.role-ui-nav i { width: 7px; height: 7px; border-radius: 2px; background: #9ba9af; }
.role-ui-nav span.active i { background: var(--cyan-dark); }
.role-ui-main { min-width: 0; padding: 22px; overflow: hidden; }
.role-ui-heading { display: flex; justify-content: space-between; align-items: center; margin-bottom: 18px; }
.role-ui-heading div { display: grid; }
.role-ui-heading small { color: var(--muted); font-size: 10px; }
.role-ui-heading strong { font-size: 22px; }
.role-ui-heading button { min-height: 36px; padding: 0 12px; color: var(--white); background: var(--ink); border: 0; border-radius: 5px; font-size: 10px; font-weight: 700; }
.ui-metrics { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
.ui-metric { min-height: 82px; padding: 12px; background: var(--white); border: 1px solid var(--line); border-radius: 5px; }
.ui-metric span { display: block; color: var(--muted); font-size: 9px; }
.ui-metric strong { display: block; margin-top: 6px; font-family: var(--font-mono); font-size: 21px; }
.ui-workspace { display: grid; grid-template-columns: 1.35fr 0.65fr; gap: 10px; margin-top: 10px; }
.ui-panel { min-height: 280px; padding: 14px; background: var(--white); border: 1px solid var(--line); border-radius: 5px; }
.ui-panel-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px; }
.ui-panel-head strong { font-size: 12px; }
.ui-panel-head span { color: var(--muted); font-family: var(--font-mono); font-size: 8px; }
.ui-floor-mini { display: grid; grid-template-columns: repeat(10, 1fr); gap: 4px; }
.ui-floor-mini i { aspect-ratio: 1.25; background: #e2e7e6; border: 1px solid #d0d8d7; border-radius: 2px; }
.ui-floor-mini i.free { background: rgba(201, 245, 74, 0.34); border-color: rgba(14, 107, 79, 0.35); }
.ui-floor-mini i.alert { background: rgba(255, 154, 170, 0.17); border-color: rgba(255, 154, 170, 0.55); }
.ui-list { display: grid; gap: 7px; }
.ui-list-row { min-height: 42px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 8px; padding: 7px 8px; background: #f5f7f6; border-radius: 4px; }
.ui-list-row > i { width: 8px; height: 8px; border-radius: 50%; background: var(--green-dark); }
.ui-list-row.warn > i { background: #c87900; }
.ui-list-row.error > i { background: #d94f55; }
.ui-list-row span { display: grid; font-size: 9px; }
.ui-list-row span b { font-size: 10px; }
.ui-list-row > b { color: var(--muted); font-family: var(--font-mono); font-size: 8px; }
.driver-phone { width: min(330px, 100%); min-height: 480px; margin: 8px auto; padding: 10px; color: var(--white); background: var(--ink); border: 7px solid var(--panel-raised); border-radius: 28px; box-shadow: 0 26px 60px rgba(16, 17, 15, 0.24); }
.driver-phone-top { display: flex; justify-content: space-between; padding: 6px 4px 14px; color: #9fb0b8; font-size: 9px; }
.driver-assignment { padding: 20px; color: var(--ink); background: var(--cyan); border-radius: 8px; }
.driver-assignment small { font-size: 10px; }
.driver-assignment strong { display: block; margin-top: 6px; font-size: 30px; line-height: 1; }
.driver-assignment span { display: block; margin-top: 7px; font-size: 11px; }
.driver-route { position: relative; height: 150px; margin-top: 10px; overflow: hidden; background: var(--panel-raised); border: 1px solid var(--panel-line); border-radius: 7px; }
.driver-route::before { content: ""; position: absolute; inset: 16px 20px; border-left: 3px solid var(--cyan); border-bottom: 3px solid var(--cyan); border-radius: 0 0 0 18px; }
.driver-route::after { content: "P3 · C-07"; position: absolute; right: 18px; top: 18px; padding: 6px; color: var(--ink); background: var(--green); border-radius: 4px; font-family: var(--font-mono); font-size: 8px; }
.driver-route i { position: absolute; left: 13px; top: 14px; width: 16px; height: 16px; border-radius: 50%; background: var(--white); box-shadow: 0 0 0 5px rgba(255, 255, 255, 0.14); animation: driverDot 3.8s var(--ease) infinite; }
@keyframes driverDot { 0% { transform: translate(0, 105px); } 55% { transform: translate(0, 20px); } 100% { transform: translate(240px, 20px); } }
.driver-actions-mini { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 10px; }
.driver-actions-mini button { min-height: 48px; color: var(--white); background: var(--panel-raised); border: 1px solid var(--panel-line); border-radius: 6px; font-size: 10px; }

.interface-mockups { position: relative; padding: 124px 0 136px; overflow: hidden; color: var(--ink); background: #f1f2e8; border-top: 1px solid var(--line); }
.interface-mockups .section-heading { margin-bottom: 62px; }
.interface-mockups .section-heading h2 { font-size: 56px; }
.interface-mockups .section-heading > p { color: var(--muted); }
.interface-mockup-stage { position: relative; min-height: 730px; }
.desktop-product-mockup { position: relative; width: calc(100% - 118px); overflow: hidden; color: var(--white); background: var(--panel-deep); border: 1px solid var(--panel-line); border-radius: 8px; box-shadow: 0 38px 100px rgba(16, 17, 15, .24); transform: perspective(1600px) rotateX(1.5deg) rotateY(-1.5deg); transform-origin: left center; transition: transform 420ms var(--ease), box-shadow 420ms ease; }
.desktop-product-mockup:hover { box-shadow: 0 44px 120px rgba(4, 14, 20, .3); transform: perspective(1600px) rotateX(0) rotateY(0) translateY(-4px); }
.desktop-product-bar { min-height: 48px; display: grid; grid-template-columns: 84px 1fr auto; align-items: center; gap: 18px; padding: 0 16px; border-bottom: 1px solid var(--panel-line); }
.desktop-product-bar > div { display: flex; gap: 6px; }
.desktop-product-bar > div span { width: 7px; height: 7px; background: #344b55; border-radius: 50%; }
.desktop-product-bar > div span:nth-child(2) { background: var(--cyan-dark); }
.desktop-product-bar > div span:nth-child(3) { background: var(--green-dark); }
.desktop-product-bar strong { font-family: var(--font-mono); font-size: 8px; }
.desktop-product-bar small { display: flex; align-items: center; gap: 6px; color: var(--green); font-family: var(--font-mono); font-size: 7px; text-transform: uppercase; }
.desktop-product-bar small i { width: 5px; height: 5px; background: var(--green); border-radius: 50%; box-shadow: 0 0 8px var(--green); }
.desktop-product-mockup figure { margin: 0; overflow: hidden; background: var(--panel-deep); aspect-ratio: 1.875; }
.desktop-product-mockup figure img { width: 100%; height: 100%; display: block; object-fit: cover; }
.mobile-product-mockup { position: absolute; right: 8px; bottom: 4px; z-index: 5; width: 274px; padding: 10px 9px 12px; color: var(--white); background: #050d12; border: 1px solid #324750; border-radius: 34px; box-shadow: 0 34px 80px rgba(3, 11, 16, .4); animation: mobileMockupFloat 5.6s ease-in-out infinite; }
@keyframes mobileMockupFloat { 50% { transform: translateY(-10px); } }
.mobile-device-top { height: 18px; display: flex; align-items: center; justify-content: center; gap: 18px; }
.mobile-device-top span { width: 54px; height: 4px; background: #263942; border-radius: 4px; }
.mobile-device-top i { width: 5px; height: 5px; background: #263942; border-radius: 50%; }
.mobile-product-mockup > img { width: 100%; display: block; border-radius: 24px; }
.mobile-device-label { display: flex; align-items: center; justify-content: space-between; padding: 10px 8px 0; font-family: var(--font-mono); font-size: 7px; }
.mobile-device-label > span { color: #7f949d; }
.mobile-device-label b { display: flex; align-items: center; gap: 5px; color: var(--green); font-weight: 500; }
.mobile-device-label b i { width: 5px; height: 5px; background: var(--green); border-radius: 50%; box-shadow: 0 0 7px var(--green); }
.mockup-context-label { position: absolute; z-index: 7; min-width: 190px; display: grid; gap: 5px; padding: 11px 13px; color: var(--white); background: var(--panel-raised); border: 1px solid var(--line-dark-strong); border-radius: 5px; box-shadow: 0 16px 40px rgba(16, 17, 15, .2); }
.mockup-context-label span { color: var(--cyan); font-family: var(--font-mono); font-size: 6px; }
.mockup-context-label strong { font-size: 10px; }
.mockup-context-control { top: 72px; left: -18px; }
.mockup-context-mobile { right: 72px; bottom: 6px; transform: translateX(-100%); }
.interface-outcomes { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 52px; border-top: 1px solid #bdc9c6; border-bottom: 1px solid #bdc9c6; }
.interface-outcomes > div { min-height: 148px; display: grid; grid-template-columns: 38px 1fr; align-content: center; gap: 5px 12px; padding: 22px 28px; }
.interface-outcomes > div + div { border-left: 1px solid #bdc9c6; }
.interface-outcomes span { grid-row: 1 / 3; color: var(--cyan-dark); font-family: var(--font-mono); font-size: 9px; }
.interface-outcomes strong { font-size: 17px; }
.interface-outcomes p { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.55; }

.scope-section { background: var(--white); }
.scope-intro { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 56px; }
.scope-intro .eyebrow { align-self: start; }
.scope-lines { border-top: 1px solid var(--line); }
.scope-line { width: 100%; min-height: 94px; display: grid; grid-template-columns: 68px minmax(200px, 0.75fr) minmax(300px, 1fr) 44px; align-items: center; gap: 20px; padding: 0 12px 0 0; background: transparent; border: 0; border-bottom: 1px solid var(--line); text-align: left; cursor: pointer; transition: background 200ms ease, padding 200ms var(--ease); }
.scope-line:hover, .scope-line.active { padding-left: 12px; background: #edf1ef; }
.scope-line > span { color: var(--muted); font-family: var(--font-mono); font-size: 10px; }
.scope-line > strong { font-size: 25px; }
.scope-line > small { color: var(--muted); font-size: 14px; }
.scope-line > svg { width: 20px; }
.scope-preview { min-height: 330px; display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: center; margin-top: 32px; padding: 38px; color: var(--white); background: var(--ink); border-radius: var(--radius); overflow: hidden; }
.scope-preview-copy h3 { margin: 0; font-size: 36px; }
.scope-preview-copy p { margin: 16px 0 0; color: var(--muted-dark); line-height: 1.7; }
.scope-preview-tags { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 22px; }
.scope-preview-tags span { padding: 7px 9px; color: #c7c9bc; border: 1px solid var(--panel-line); border-radius: 4px; font-size: 10px; }
.scope-preview-diagram { position: relative; min-height: 250px; }
.scope-ring { position: absolute; inset: 15px 10%; border: 1px solid var(--panel-line); border-radius: 50%; animation: spin 22s linear infinite; }
.scope-ring::before, .scope-ring::after { content: ""; position: absolute; width: 11px; height: 11px; border-radius: 50%; background: var(--cyan); box-shadow: 0 0 16px rgba(201, 245, 74, 0.42); }
.scope-ring::before { top: 12%; left: 8%; }
.scope-ring::after { right: 8%; bottom: 10%; background: var(--green); }
@keyframes spin { to { transform: rotate(360deg); } }
.scope-center { position: absolute; top: 50%; left: 50%; width: 130px; height: 130px; display: grid; place-items: center; align-content: center; color: var(--ink); background: var(--cyan); border-radius: 50%; transform: translate(-50%, -50%); font-weight: 800; text-align: center; }
.scope-center .ui-cshark-wordmark { width: 78px; height: 44px; }
.scope-center span { max-width: 98px; margin-top: -4px; font-size: 10px; line-height: 1.2; }

.deployment-section { color: var(--white); background: #101c23; }
.deployment-layout { display: grid; grid-template-columns: minmax(0, 0.78fr) minmax(520px, 1.22fr); align-items: center; gap: 70px; }
.deployment-copy > p { margin-top: 24px; }
.deployment-choice-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 24px; }
.deployment-choice-grid article {
  min-width: 0;
  min-height: 154px;
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  gap: 11px;
  align-content: start;
  padding: 15px;
  background: #15262f;
  border: 1px solid #2d424c;
  border-radius: 7px;
}
.deployment-choice-grid article > svg { width: 22px; height: 22px; color: var(--green); }
.deployment-choice-grid article > div { min-width: 0; }
.deployment-choice-grid span { display: block; color: #7f929c; font-family: var(--font-mono); font-size: 7px; }
.deployment-choice-grid strong { display: block; margin-top: 5px; font-size: 14px; line-height: 1.2; }
.deployment-choice-grid p { margin: 9px 0 0; color: #9aabb3; font-size: 10px; line-height: 1.55; }
.check-list { display: grid; gap: 12px; margin: 32px 0; padding: 0; list-style: none; color: #c0cdd3; }
.check-list li { display: flex; align-items: flex-start; gap: 10px; }
.check-list svg { flex: 0 0 auto; width: 18px; color: var(--green); }
.deployment-visual { position: relative; min-height: 520px; }
.deploy-core, .deploy-node { position: absolute; z-index: 3; display: grid; place-items: center; text-align: center; }
.deploy-core {
  inset: 0;
  width: 184px;
  height: 184px;
  margin: auto;
  align-content: center;
  gap: 4px;
  padding: 24px 18px 22px;
  color: var(--ink);
  background: var(--cyan);
  border-radius: 50%;
  box-shadow: 0 0 0 20px rgba(201, 245, 74, 0.05), 0 0 60px rgba(201, 245, 74, 0.15);
}
.deploy-core .ui-cshark-wordmark { display: block; width: 100px; height: 56px; margin: -9px 0 -8px; }
.deploy-core-copy { display: grid; justify-items: center; gap: 8px; }
.deploy-core strong { font-size: 12px; font-weight: 800; line-height: 1; }
.deploy-core small { max-width: 138px; font-size: 9px; font-weight: 550; line-height: 1.35; white-space: nowrap; }
.deploy-node { width: 146px; min-height: 104px; padding: 12px; color: inherit; background: #15262f; border: 1px solid #2d424c; border-radius: 7px; text-decoration: none; }
.deploy-node svg { width: 24px; color: var(--green); }
.deploy-node strong { margin-top: 7px; font-size: 12px; }
.deploy-node span { color: #7f929c; font-size: 9px; }
.node-edge { top: 40px; left: 30px; }
.node-cloud { top: 40px; right: 25px; }
.node-devices { bottom: 35px; left: 30px; }
.node-api { right: 25px; bottom: 35px; }
.deploy-links { position: absolute; inset: 0; z-index: 1; width: 100%; height: 100%; }
.deploy-links path { fill: none; stroke: #2e5662; stroke-width: 1.5; stroke-dasharray: 6 7; }
.deploy-pulse { position: absolute; z-index: 2; width: 7px; height: 7px; border-radius: 50%; background: var(--cyan); box-shadow: 0 0 12px var(--cyan); }
.pulse-a { animation: pulseA 4s var(--ease) infinite; }
.pulse-b { animation: pulseB 4s var(--ease) 1s infinite; }
.pulse-c { animation: pulseC 4s var(--ease) 2s infinite; }
.pulse-d { animation: pulseD 4s var(--ease) 3s infinite; }
@keyframes pulseA { from { top: 50%; left: 50%; } to { top: 20%; left: 15%; } }
@keyframes pulseB { from { top: 50%; left: 50%; } to { top: 20%; left: 84%; } }
@keyframes pulseC { from { top: 50%; left: 50%; } to { top: 80%; left: 15%; } }
@keyframes pulseD { from { top: 50%; left: 50%; } to { top: 80%; left: 84%; } }

.delivery-section { background: var(--paper); }
.delivery-section .section-heading > p { color: var(--muted); }
.delivery-track { display: grid; grid-template-columns: repeat(4, 1fr); margin: 0; padding: 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); list-style: none; }
.delivery-track li { min-height: 250px; display: grid; grid-template-rows: auto 1fr; padding: 24px 24px 30px 0; }
.delivery-track li + li { padding-left: 24px; border-left: 1px solid var(--line); }
.delivery-track li > span { color: var(--cyan-dark); font-family: var(--font-mono); font-size: 11px; }
.delivery-track div { align-self: end; }
.delivery-track strong { font-size: 21px; }
.delivery-track p { margin: 10px 0 0; color: var(--muted); font-size: 13px; line-height: 1.65; }

.final-cta { position: relative; min-height: 680px; display: flex; align-items: center; color: var(--white); background: var(--ink); overflow: hidden; }
.final-cta-media { position: absolute; inset: 0; opacity: 0.48; background: url("assets/cshark-parking-hero.jpg") center 58% / cover no-repeat; filter: saturate(0.65) contrast(1.15); }
.final-cta::after { content: ""; position: absolute; inset: 0; background: rgba(3, 11, 16, 0.65); }
.final-cta-content {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.final-cta-content h2 { margin-inline: auto; }
.final-cta-content > p:not(.eyebrow) { max-width: 640px; margin: 22px auto 0; }
.final-cta .button { margin-top: 32px; }

.site-footer { color: #aab9c0; background: #050c10; }
.footer-main { display: grid; grid-template-columns: 1.4fr repeat(3, 1fr); gap: 48px; padding-top: 64px; padding-bottom: 64px; }
.brand-footer .brand-logo { width: 128px; height: 72px; content: url("assets/cshark-logo-on-dark.svg?v=20260719-transparent"); }
.footer-main > div { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }
.footer-main > div:first-child p { max-width: 260px; color: #71848e; }
.footer-main strong { margin-bottom: 6px; color: var(--white); font-size: 12px; }
.footer-main a, .footer-link { padding: 3px 0; color: #81949e; background: none; border: 0; text-decoration: none; font-size: 12px; cursor: pointer; }
.footer-main a:hover, .footer-link:hover { color: var(--cyan); }
.footer-bottom { min-height: 64px; display: flex; align-items: center; justify-content: space-between; gap: 20px; border-top: 1px solid rgba(255, 255, 255, 0.09); font-family: var(--font-mono); font-size: 9px; text-transform: uppercase; }
.footer-bottom a { text-decoration: none; }

.cshark-footer { color: #a9b4af; background: #0c110d; border-top: 1px solid #202a23; }
.cshark-footer-main { display: grid; grid-template-columns: minmax(300px, 1.35fr) repeat(4, minmax(135px, 1fr)); gap: 42px; padding-top: 76px; padding-bottom: 66px; }
.cshark-footer-identity { min-width: 0; }
.cshark-footer-brand { width: max-content; display: block; }
.cshark-footer-brand img { width: 154px; height: auto; display: block; }
.cshark-footer-identity > p { max-width: 360px; margin: 28px 0 0; color: #9ca8a2; font-size: 13px; line-height: 1.7; }
.cshark-footer-contacts { display: grid; gap: 8px; margin-top: 24px; }
.cshark-footer-contacts a { width: max-content; max-width: 100%; color: #e2e7e4; font-size: 13px; font-weight: 650; text-decoration: none; }
.cshark-footer-contacts a:hover { color: var(--cyan); }
.cshark-footer-tags { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 26px; }
.cshark-footer-tags span { padding: 7px 9px; color: #b4c0ba; border: 1px solid #2b362e; border-radius: 4px; font-family: var(--font-mono); font-size: 8px; line-height: 1.25; }
.cshark-footer-nav { min-width: 0; display: flex; flex-direction: column; align-items: flex-start; }
.cshark-footer-nav h2 { margin: 0 0 18px; color: var(--white); font-size: 13px; line-height: 1.2; }
.cshark-footer-nav a { min-height: 34px; display: inline-flex; align-items: center; padding: 5px 0; color: #929f99; font-size: 11px; line-height: 1.45; text-decoration: none; transition: color 180ms ease, transform 180ms var(--ease); }
.cshark-footer-nav a:hover { color: var(--cyan); transform: translateX(3px); }
.cshark-footer-docs { min-height: 76px; display: flex; flex-wrap: wrap; align-items: center; gap: 8px 22px; padding-top: 16px; padding-bottom: 16px; border-top: 1px solid #28322b; border-bottom: 1px solid #28322b; }
.cshark-footer-docs strong { margin-right: auto; color: var(--white); font-size: 11px; }
.cshark-footer-docs a { min-height: 34px; display: inline-flex; align-items: center; color: #a4afa9; font-size: 10px; font-weight: 650; text-decoration: none; }
.cshark-footer-docs a:hover { color: var(--cyan); }
.cshark-footer-bottom { min-height: 96px; display: grid; grid-template-columns: 230px minmax(0, 1fr); gap: 34px; align-items: center; }
.cshark-footer-bottom strong { color: var(--white); font-family: var(--font-mono); font-size: 10px; }
.cshark-footer-bottom p { max-width: 980px; margin: 0; color: #7f8d86; font-size: 10px; line-height: 1.6; }

@media (max-width: 1180px) {
  .cshark-footer-main { grid-template-columns: minmax(260px, 1.25fr) repeat(4, minmax(120px, 1fr)); gap: 24px; }
}

@media (max-width: 900px) {
  .cshark-footer-main { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 44px 28px; }
  .cshark-footer-identity { grid-column: 1 / -1; }
  .cshark-footer-identity > p { max-width: 600px; }
  .cshark-footer-docs strong { width: 100%; margin-right: 0; }
}

@media (max-width: 600px) {
  .cshark-footer-main { grid-template-columns: 1fr; gap: 38px; padding-top: 56px; padding-bottom: 48px; }
  .cshark-footer-identity { grid-column: auto; }
  .cshark-footer-nav { padding-top: 24px; border-top: 1px solid #28322b; }
  .cshark-footer-nav h2 { margin-bottom: 12px; font-size: 15px; }
  .cshark-footer-nav a { width: 100%; min-height: 42px; font-size: 12px; }
  .cshark-footer-docs { align-items: flex-start; flex-direction: column; gap: 0; padding-top: 24px; padding-bottom: 24px; }
  .cshark-footer-docs a { width: 100%; min-height: 42px; }
  .cshark-footer-bottom { grid-template-columns: 1fr; gap: 14px; padding-top: 28px; padding-bottom: 32px; }
}

.demo-dialog {
  position: fixed;
  width: min(920px, calc(100% - 32px));
  max-height: min(820px, calc(100dvh - 32px));
  padding: 0;
  overflow: auto;
  color: var(--text);
  background: var(--paper);
  border: 0;
  border-radius: var(--radius);
  box-shadow: 0 30px 120px rgba(0, 0, 0, 0.55);
}
.demo-dialog::backdrop { background: rgba(2, 8, 12, 0.78); backdrop-filter: blur(10px); }
.dialog-close { position: absolute; z-index: 2; top: 14px; right: 14px; background: var(--white); }
.dialog-intro { padding: 50px 50px 30px; }
.dialog-intro h2 { margin: 0; font-size: 44px; line-height: 1.05; }
.dialog-intro > p:last-child { max-width: 680px; color: var(--muted); }
.demo-dialog form { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; padding: 0 50px 50px; }
.demo-dialog label { display: grid; gap: 7px; font-size: 12px; font-weight: 700; }
.demo-dialog input, .demo-dialog select, .demo-dialog textarea { width: 100%; min-height: 48px; padding: 10px 12px; color: var(--text); background: var(--white); border: 1px solid var(--line); border-radius: 6px; outline: none; }
.demo-dialog textarea { resize: vertical; }
.demo-dialog input:focus, .demo-dialog select:focus, .demo-dialog textarea:focus { border-color: var(--cyan-dark); box-shadow: 0 0 0 3px rgba(14, 107, 79, 0.12); }
.demo-dialog [aria-invalid="true"] { border-color: #ce3c45; }
.field-wide { grid-column: 1 / -1; }
.field-error { min-height: 16px; color: #b72f38; font-weight: 500; }
.form-trap { position: absolute !important; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.form-error-message { margin: -4px 0 0; padding: 11px 13px; color: #861f2d; background: #fff0f2; border: 1px solid #efb8c0; border-radius: 6px; font-size: 12px; font-weight: 600; }
.demo-dialog button[aria-busy="true"] svg { animation: formLoaderSpin 900ms linear infinite; }
.form-note { margin: -6px 0 0; color: var(--muted); font-size: 10px; font-weight: 400; }
.form-success { padding: 80px 50px; text-align: center; }
.form-success > svg { width: 54px; height: 54px; margin: 0 auto; color: var(--green-dark); }
.form-success h3 { margin: 18px 0 0; font-size: 30px; }
.form-success p { max-width: 600px; margin: 14px auto 24px; color: var(--muted); }
.form-success p strong { color: var(--text); font-variant-numeric: tabular-nums; }
@keyframes formLoaderSpin { to { transform: rotate(360deg); } }
.toast { position: fixed; z-index: 1500; right: 24px; bottom: 24px; max-width: 360px; padding: 14px 16px; color: var(--white); background: var(--ink); border: 1px solid #28404b; border-radius: var(--radius); box-shadow: var(--shadow); opacity: 0; pointer-events: none; transform: translateY(15px); transition: opacity 180ms ease, transform 180ms var(--ease); }
.toast.visible { opacity: 1; transform: translateY(0); }

[data-reveal] { opacity: 0; transform: translateY(18px); transition: opacity 560ms ease, transform 560ms var(--ease); }
[data-reveal].revealed { opacity: 1; transform: none; }

@media (max-width: 1180px) {
  .hero-brand-title > img { width: 158px; }
  .hero-brand-title > span { font-size: 34px; }
  .heading-split { gap: 48px; }
  .section-heading h2, .scope-intro h2, .deployment-copy h2, .final-cta h2 { font-size: 48px; }
  .simulator-body { grid-template-columns: minmax(0, 1fr) 330px; }
  .parking-map { gap: 5px; }
  .platform-stage { gap: 42px; }
  .interface-mockups .section-heading h2 { font-size: 48px; }
  .interface-mockup-stage { min-height: 640px; }
  .desktop-product-mockup { width: calc(100% - 92px); }
  .mobile-product-mockup { width: 236px; }
  .mockup-context-mobile { right: 48px; }
  .deployment-layout { grid-template-columns: 0.8fr 1.2fr; gap: 30px; }
}

@media (max-width: 1120px) {
  .platform-stage { grid-template-columns: 1fr; gap: 36px; }
  .platform-copy { max-width: 820px; }
  .platform-visual { width: 100%; }
}

@media (max-width: 980px) {
  :root { --header-height: 64px; }
  .page-shell { width: min(calc(100% - 40px), var(--shell)); }
  .site-header { grid-template-columns: 1fr auto; padding-inline: 20px; }
  .desktop-nav, .header-actions .button-light { display: none; }
  .site-header .menu-button { display: grid; color: inherit; border-color: currentColor; }
  .mobile-nav { position: absolute; top: calc(100% + 1px); right: 0; left: 0; display: grid; gap: 4px; padding: 18px 20px 22px; color: var(--ink); background: var(--paper); border-bottom: 1px solid var(--line); box-shadow: 0 18px 38px rgba(7, 16, 23, 0.16); }
  .mobile-nav[hidden] { display: none; }
  .mobile-nav a { min-height: 46px; display: flex; align-items: center; text-decoration: none; font-weight: 700; }
  .hero { min-height: 88dvh; }
  .hero-content { min-height: 88dvh; grid-template-columns: 1fr; gap: 36px; padding-top: 120px; padding-bottom: 64px; }
  .hero-copy { align-self: end; }
  .hero-brand-title > img { width: 164px; }
  .hero-brand-title > span { max-width: 620px; font-size: 36px; }
  .hero-signal { width: min(620px, 100%); justify-self: end; }
  .capability-strip { height: 12dvh; }
  .heading-split { grid-template-columns: 1fr; gap: 24px; }
  .heading-split > p { max-width: 720px; }
  .simulator-toolbar { grid-template-columns: 1fr auto; }
  .scenario-switch { grid-column: 1 / -1; grid-row: 2; justify-content: stretch; }
  .scenario-button { flex: 1; }
  .simulator-body { grid-template-columns: 1fr; }
  .object-view { border-right: 0; border-bottom: 1px solid rgba(255, 255, 255, 0.12); }
  .decision-view { min-height: 650px; }
  .decision-steps { display: grid; grid-template-columns: repeat(5, 1fr); gap: 5px; }
  .decision-steps li { min-height: 112px; grid-template-columns: 1fr; align-content: center; justify-items: center; gap: 5px; text-align: center; border: 1px solid rgba(255, 255, 255, 0.08); border-radius: 5px; }
  .event-list { max-height: 210px; }
  .logic-rail { grid-template-columns: repeat(2, 1fr); }
  .logic-rail article:nth-child(3) { border-left: 0; border-top: 1px solid var(--line); }
  .logic-rail article:nth-child(4) { border-top: 1px solid var(--line); }
  .logic-packet { display: none; }
  .platform-stage { grid-template-columns: 1fr; }
  .platform-visual { min-height: 420px; }
  .function-tools { grid-template-columns: 1fr; }
  .function-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .role-experience { grid-template-columns: 1fr; }
  .role-selector { flex-direction: row; overflow-x: auto; }
  .role-selector button { flex: 0 0 auto; grid-template-columns: auto auto; min-width: 145px; }
  .interface-mockup-stage { min-height: 590px; }
  .desktop-product-mockup { width: calc(100% - 58px); }
  .mobile-product-mockup { width: 214px; }
  .mockup-context-control { top: 62px; left: -8px; }
  .mockup-context-mobile { display: none; }
  .interface-outcomes > div { padding-inline: 18px; }
  .scope-intro { display: grid; }
  .scope-line { grid-template-columns: 48px minmax(200px, 0.8fr) 1fr 32px; }
  .scope-preview { grid-template-columns: 1fr; }
  .deployment-layout { grid-template-columns: 1fr; }
  .deployment-copy { max-width: 720px; }
  .deployment-visual { width: min(680px, 100%); margin: 0 auto; }
  .delivery-track { grid-template-columns: repeat(2, 1fr); }
  .delivery-track li:nth-child(3) { padding-left: 0; border-left: 0; border-top: 1px solid var(--line); }
  .delivery-track li:nth-child(4) { border-top: 1px solid var(--line); }
  .footer-main { grid-template-columns: 1.3fr 1fr 1fr; }
  .footer-main > div:last-child { grid-column: 2 / -1; }
}

@media (max-width: 680px) {
  .page-shell { width: min(calc(100% - 28px), var(--shell)); }
  .site-header { padding-inline: 14px; }
  .hero-media { object-position: 64% center; }
  .hero-shade { background: linear-gradient(0deg, rgba(16, 17, 15, 0.96) 0%, rgba(16, 17, 15, 0.72) 64%, rgba(16, 17, 15, 0.32) 100%); }
  .hero-content { gap: 20px; padding-top: 82px; padding-bottom: 40px; }
  .hero-brand-title { align-items: flex-start; flex-direction: column; gap: 14px; }
  .hero-brand-title > img { width: 126px; }
  .hero-brand-title > span { max-width: 100%; font-size: 27px; line-height: 1.08; }
  .hero-lead { margin-top: 18px; font-size: 16px; line-height: 1.55; }
  .hero-actions { margin-top: 24px; }
  .hero-actions .button { width: 100%; }
  .signal-head { padding: 10px 0; }
  .signal-metrics strong { font-size: 19px; }
  .signal-metrics span { font-size: 9px; }
  .signal-metrics > div { padding-block: 12px; }
  .signal-metrics > div + div { padding-left: 10px; }
  .scroll-cue { display: none; }
  .live-demo, .operating-model, .functions-section, .roles-section, .interface-mockups, .scope-section, .deployment-section, .delivery-section { padding: 88px 0; }
  .section-heading { margin-bottom: 36px; }
  .section-heading h2, .scope-intro h2, .deployment-copy h2, .final-cta h2 { font-size: 36px; }
  .section-heading > p, .deployment-copy > p, .final-cta-content > p:not(.eyebrow) { font-size: 16px; }
  .simulator-toolbar { grid-template-columns: 1fr auto; gap: 10px; }
  .window-identity span { display: none; }
  .button-run { width: 44px; padding: 0; }
  .button-run span { display: none; }
  .scenario-switch {
    display: grid;
    grid-template-columns: 1.2fr 0.8fr 1fr;
    overflow: visible;
  }
  .scenario-button {
    min-width: 0;
    padding-inline: 5px;
    font-size: 11px;
    line-height: 1.15;
  }
  .function-summary { grid-template-columns: repeat(2, 1fr); }
  .function-summary > div:nth-child(3) { padding-left: 0; border-top: 1px solid var(--line); border-left: 0; }
  .function-summary > div:nth-child(4) { border-top: 1px solid var(--line); }
  .function-filters { width: calc(100vw - 28px); }
  .function-result-line { align-items: flex-start; flex-direction: column; padding: 14px 0; }
  .function-result-actions { width: 100%; align-items: flex-start; flex-direction: column; gap: 10px; text-align: left; }
  .function-grid { grid-template-columns: 1fr; }
  .function-card { min-height: 0; }
  .object-topline { align-items: flex-start; }
  .floor-tabs { display: grid; grid-template-columns: repeat(auto-fit, minmax(56px, 1fr)); width: 100%; }
  .floor-tabs button { min-width: 0; padding: 0 4px; }
  .object-clock { display: none; }
  .lane-scene { height: 150px; }
  .lane-display { right: 74px; width: 150px; }
  .lane-display strong { font-size: 9px; }
  .lane-waypoint { right: 18px; }
  .vehicle { transform: scale(0.8); transform-origin: left bottom; }
  .lane-scene.arrive .vehicle { transform: translateX(235px) scale(0.8); }
  .lane-scene.pass .vehicle { transform: translateX(650px) scale(0.8); }
  .lane-scene.denied .vehicle { transform: translateX(235px) scale(0.8); }
  .map-topline { align-items: start; }
  .map-legend { display: none; }
  .parking-layout { min-height: 300px; gap: 1px; padding: 6px 48px 6px 6px; }
  .parking-row { height: 26px; gap: 2px; }
  .parking-spot { height: 26px; font-size: 5px; }
  .spot-id { right: 2px; font-size: 5px; }
  .spot-car { width: 58%; height: 9px; border-width: 1px; box-shadow: inset 0 0 0 1px #e4eaeb; }
  .drive-aisle { width: calc(100% + 42px); height: 24px; flex-basis: 24px; }
  .aisle-name, .aisle-camera small { display: none; }
  .aisle-flow { left: 28%; gap: 7px; }
  .aisle-flow svg { width: 9px; height: 9px; }
  .aisle-camera { width: 18px; height: 16px; grid-template-columns: 10px 3px; gap: 1px; padding: 1px 2px; }
  .aisle-camera svg { width: 9px; height: 9px; }
  .aisle-camera b { width: 3px; height: 3px; }
  .drive-aisle > .aisle-camera:nth-child(3) { left: 30%; }
  .drive-aisle > .aisle-camera:nth-child(4) { left: 54%; }
  .drive-aisle > .aisle-camera:nth-child(5) { left: 76%; }
  .aisle-sign { right: 42px; min-width: 36px; height: 17px; padding: 1px 3px; }
  .aisle-sign small { display: none; }
  .collector-lane { top: 6px; right: 6px; bottom: 6px; width: 36px; }
  .collector-lane span { display: none; }
  .map-board { top: 3px; right: 47px; width: 88px; min-height: 27px; padding: 3px 4px; }
  .map-board small { font-size: 4px; }
  .map-board strong { font-size: 7px; }
  .map-board span { font-size: 5px; }
  .ramp-portal { right: 2px; width: 45px; min-height: 34px; grid-template-columns: 12px 1fr; }
  .ramp-portal svg { width: 11px; }
  .ramp-portal strong { font-size: 5px; }
  .device-intercom { right: 49px; }
  .map-route-vehicle { width: 72px; min-height: 24px; grid-template-columns: 16px minmax(0, 1fr); padding: 2px 4px; }
  .map-route-vehicle svg { width: 14px; height: 14px; }
  .map-route-vehicle b { font-size: 5px; }
  .map-route-progress { min-width: 146px; padding: 4px 5px; }
  .map-route-progress span, .map-route-progress strong { font-size: 5px; }
  .spot-plate { min-width: 44px; font-size: 4px; }
  .space-inspector { top: 5px; right: 44px; width: calc(100% - 50px); max-height: calc(100% - 10px); overflow-y: auto; }
  .space-inspector > header { position: sticky; top: 0; z-index: 5; min-height: 38px; padding-block: 3px; background: var(--panel-deep); }
  .space-inspector > header strong { font-size: 11px; }
  .space-inspector > header span { top: 14px; left: 86px; }
  .space-inspector-close { width: 28px; height: 28px; }
  .space-inspector-summary { grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr); min-height: 108px; }
  .space-evidence { height: 108px; }
  .space-evidence-plate span { display: none; }
  .space-evidence-plate strong { font-size: 11px; }
  .space-vehicle { min-height: 42px; padding: 4px 7px; }
  .space-vehicle strong { font-size: 8px; }
  .space-vehicle small { display: none; }
  .space-session-summary { grid-template-rows: 42px 1fr; }
  .space-session-grid > div { padding: 4px 5px; }
  .space-session-grid strong { font-size: 6px; }
  .space-inspector-tabs button { gap: 3px; padding-inline: 3px; font-size: 5px; }
  .space-inspector-tabs svg { width: 10px; height: 10px; }
  .space-inspector-panel { grid-template-columns: repeat(2, minmax(0, 1fr)); min-height: 150px; }
  .space-inspector-panel.space-panel { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .space-history { grid-column: 1 / -1; min-height: 80px; border-top: 1px solid var(--panel-line); border-left: 0; }
  .inspector-metric { min-height: 64px; }
  .inspector-chart { grid-column: 1 / -1; min-height: 72px; }
  .space-inspector-panel.tariff-panel { grid-template-columns: 1fr; }
  .tariff-current { border-right: 0; border-bottom: 1px solid #21353e; }
  .tariff-rule-list { grid-template-columns: 1fr; }
  .tariff-rule-list > div { min-height: 48px; border-right: 0; border-bottom: 1px solid #21353e; }
  .tariff-rule-list > div:last-child { border-bottom: 0; }
  .space-inspector-panel.heatmap-panel { grid-template-columns: 1fr; min-height: 190px; }
  .space-heatmap-zones { grid-template-columns: repeat(3, 1fr); }
  .space-inspector-meta { min-height: 28px; }
  .space-inspector-actions button { min-height: 30px; font-size: 6px; }
  .decision-steps { grid-template-columns: 1fr; }
  .decision-steps li { min-height: 58px; grid-template-columns: auto 1fr auto; justify-items: start; text-align: left; }
  .decision-view { min-height: 720px; }
  .logic-rail { grid-template-columns: 1fr; }
  .logic-rail article { min-height: 210px; padding: 22px 0; border-top: 1px solid var(--line); }
  .logic-rail article + article { padding-left: 0; border-left: 0; }
  .platform-tabs { margin-top: 48px; }
  .platform-stage { min-height: auto; padding-top: 36px; }
  .platform-copy h3 { font-size: 32px; }
  .module-list { grid-template-columns: 1fr; }
  .platform-visual { min-height: 430px; padding: 16px; }
  .module-node { min-height: 64px; padding: 9px 11px; }
  .module-node.core { width: 122px; min-height: 82px; padding: 9px; }
  .role-selector button { min-width: 52px; grid-template-columns: 1fr; justify-items: center; padding-inline: 8px; }
  .role-selector button span { display: none; }
  .role-stage, .role-ui { min-height: 690px; }
  .role-ui-body { grid-template-columns: 1fr; }
  .role-ui-nav { display: none; }
  .role-ui-main { padding: 14px; }
  .role-ui-heading strong { font-size: 18px; }
  .ui-metrics { grid-template-columns: repeat(2, 1fr); }
  .ui-workspace { grid-template-columns: 1fr; }
  .ui-panel { min-height: 230px; }
  .interface-mockups .section-heading { margin-bottom: 38px; }
  .interface-mockups .section-heading h2 { font-size: 35px; }
  .interface-mockup-stage { min-height: 0; display: grid; }
  .desktop-product-mockup { width: 100%; transform: none; }
  .desktop-product-mockup:hover { transform: translateY(-3px); }
  .desktop-product-bar { min-height: 42px; grid-template-columns: 1fr auto; gap: 8px; padding-inline: 10px; }
  .desktop-product-bar > div { display: none; }
  .desktop-product-bar strong { font-size: 6px; }
  .desktop-product-bar small { font-size: 5px; }
  .mobile-product-mockup { position: relative; right: auto; bottom: auto; width: 218px; margin: -22px auto 0; animation-duration: 6.2s; }
  .mockup-context-label { display: none; }
  .interface-outcomes { grid-template-columns: 1fr; margin-top: 42px; }
  .interface-outcomes > div { min-height: 122px; padding: 20px 8px; }
  .interface-outcomes > div + div { border-top: 1px solid #bdc9c6; border-left: 0; }
  .scope-line { min-height: 92px; grid-template-columns: 30px 1fr 32px; gap: 10px; }
  .scope-line > small { grid-column: 2; font-size: 11px; }
  .scope-line > svg { grid-column: 3; grid-row: 1 / 3; }
  .scope-line > strong { font-size: 20px; }
  .scope-preview { padding: 24px; }
  .scope-preview-copy h3 { font-size: 28px; }
  .deployment-visual { min-height: 510px; }
  .deploy-core { width: 140px; height: 140px; gap: 2px; padding: 18px 10px 16px; }
  .deploy-core .ui-cshark-wordmark { width: 84px; height: 47px; margin: -8px 0 -7px; }
  .deploy-core-copy { gap: 6px; }
  .deploy-core strong { font-size: 10px; }
  .deploy-core small { font-size: 7px; }
  .deploy-node { width: 112px; min-height: 90px; }
  .node-edge, .node-devices { left: 0; }
  .node-cloud, .node-api { right: 0; }
  .deployment-visual svg, .deploy-pulse { display: none; }
  .delivery-track { grid-template-columns: 1fr; }
  .delivery-track li { min-height: 180px; padding: 22px 0; border-top: 1px solid var(--line); border-left: 0 !important; }
  .final-cta { min-height: 600px; }
  .footer-main { grid-template-columns: 1fr 1fr; gap: 32px; }
  .footer-main > div:first-child, .footer-main > div:last-child { grid-column: 1 / -1; }
  .footer-bottom { min-height: 96px; flex-direction: column; align-items: flex-start; justify-content: center; }
  .dialog-intro { padding: 52px 22px 22px; }
  .dialog-intro h2 { font-size: 34px; }
  .demo-dialog form { grid-template-columns: 1fr; padding: 0 22px 32px; }
  .field-wide { grid-column: auto; }
  .form-success { padding: 72px 22px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: 1ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: 1ms !important; }
  [data-reveal] { opacity: 1; transform: none; }
  .hero-copy, .hero-signal { animation: none; }
}

/* Multi-page product encyclopedia */
body.inner-page { padding-top: var(--header-height); background: var(--paper); }
.inner-page .site-header { color: var(--ink); background: rgba(245, 246, 238, 0.96); border-color: var(--line); backdrop-filter: blur(18px); }
.inner-page .site-header .button-light { color: var(--white); background: var(--ink); }
.inner-page .desktop-nav a.active { color: var(--ink); }
.inner-page .desktop-nav a.active::after { transform: scaleX(1); }
.inner-main { overflow: hidden; }
.inner-hero { position: relative; min-height: 610px; display: grid; align-items: center; background: var(--paper); border-bottom: 1px solid var(--line); }
.inner-hero::before { content: none; }
.inner-hero-layout { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 0.82fr) minmax(460px, 1.18fr); gap: 72px; align-items: center; padding: 74px 0; }
.breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 22px; color: var(--muted); font-family: var(--font-mono); font-size: 10px; text-transform: uppercase; }
.breadcrumb a { text-decoration: none; }
.breadcrumb i { color: var(--muted); font-style: normal; }
.inner-hero h1 { max-width: 760px; margin: 0; font-size: 68px; line-height: 0.98; letter-spacing: 0; }
.inner-lead { max-width: 720px; margin: 26px 0 0; color: #56666e; font-size: 19px; line-height: 1.65; }
.inner-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 30px; }
.inner-hero-visual { position: relative; min-height: 430px; padding: 24px; overflow: hidden; color: var(--white); background: var(--ink-2); border: 1px solid #283b45; border-radius: var(--radius); box-shadow: var(--shadow); }
.visual-toolbar { display: flex; justify-content: space-between; align-items: center; color: #81949d; font-family: var(--font-mono); font-size: 9px; text-transform: uppercase; }
.visual-toolbar span:last-child { color: var(--green); }
.encyclopedia-rail { display: grid; gap: 8px; margin-top: 28px; }
.encyclopedia-rail div { min-height: 58px; display: grid; grid-template-columns: 42px 1fr auto; align-items: center; gap: 12px; padding: 10px 12px; background: var(--panel-raised); border: 1px solid var(--panel-line); border-radius: 5px; }
.encyclopedia-rail div:nth-child(2) { margin-left: 34px; }
.encyclopedia-rail div:nth-child(3) { margin-left: 68px; }
.encyclopedia-rail div:nth-child(4) { margin-left: 102px; }
.encyclopedia-rail div:nth-child(5) { margin-left: 136px; }
.encyclopedia-rail i { width: 34px; height: 34px; display: grid; place-items: center; color: var(--cyan); background: #0e1b22; border-radius: 4px; font-style: normal; font-family: var(--font-mono); font-size: 9px; }
.encyclopedia-rail strong { font-size: 13px; }
.encyclopedia-rail span { color: #82959e; font-family: var(--font-mono); font-size: 9px; }
.rail-brand-title { display: flex; align-items: center; gap: 8px; }
.rail-brand-title .ui-cshark-wordmark { width: 68px; height: 38px; }
.rail-brand-title b { color: #8da0a8; font-family: var(--font-mono); font-size: 8px; }
.inner-stat-strip { display: grid; grid-template-columns: repeat(4, 1fr); border-bottom: 1px solid var(--line); background: var(--white); }
.inner-stat-strip > div { min-height: 116px; display: grid; align-content: center; padding: 18px 32px; }
.inner-stat-strip > div + div { border-left: 1px solid var(--line); }
.inner-stat-strip strong { font-family: var(--font-mono); font-size: 28px; line-height: 1; }
.inner-stat-strip span { margin-top: 8px; color: var(--muted); font-size: 11px; }
.module-delivery-status { width: max-content; max-width: 100%; margin-top: 14px; padding: 5px 7px; color: #075c56; background: #dff0eb; border: 1px solid #b8d8ce; border-radius: 3px; font-family: var(--font-mono); font-size: 7px; text-transform: uppercase; }
.page-band { padding: 104px 0; }
.page-band-white { background: var(--white); }
.page-band-dark { color: var(--white); background: var(--ink); }
.page-band-cyan { color: var(--ink); background: var(--cyan); }
.page-intro { display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, 0.72fr); gap: 72px; align-items: end; margin-bottom: 54px; }
.page-intro h2 { max-width: 820px; margin: 0; font-size: 50px; line-height: 1.04; }
.page-intro > p { margin: 0; color: var(--muted); font-size: 16px; line-height: 1.7; }
.page-intro-title-only { grid-template-columns: minmax(0, 1fr); }
.page-intro-title-only h2 { max-width: 1040px; text-wrap: balance; }
.page-band-dark .page-intro > p { color: #93a4ac; }
.section-kicker { margin: 0 0 16px; color: var(--cyan-dark); font-family: var(--font-mono); font-size: 11px; font-weight: 700; text-transform: uppercase; }
.page-band-dark .section-kicker { color: var(--cyan); }
.link-arrow { display: inline-flex; align-items: center; gap: 8px; margin-top: 20px; color: var(--ink); font-size: 12px; font-weight: 800; text-decoration: none; }
.link-arrow svg { width: 16px; }
.page-band-dark .link-arrow { color: var(--cyan); }
.system-layer-list { border-top: 1px solid var(--line); }
.system-layer { min-height: 164px; display: grid; grid-template-columns: 90px minmax(220px, 0.7fr) minmax(0, 1.3fr); gap: 28px; align-items: center; border-bottom: 1px solid var(--line); }
.system-layer > span { color: var(--cyan-dark); font-family: var(--font-mono); font-size: 12px; }
.system-layer h3 { margin: 0; font-size: 25px; }
.system-layer p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.65; }
.module-matrix { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.module-tile { min-height: 214px; display: grid; grid-template-rows: auto auto 1fr auto; padding: 18px; background: #101e26; border: 1px solid #263943; border-radius: 6px; }
.module-tile > span:not(.module-delivery-status) { color: var(--cyan); font-family: var(--font-mono); font-size: 10px; }
.module-tile h3 { margin: 18px 0 0; font-size: 17px; line-height: 1.25; }
.module-tile p { margin: 12px 0 0; color: #8fa1a9; font-size: 11px; line-height: 1.55; }
.module-tile small { align-self: end; margin-top: 20px; color: #8da0a8; font-family: var(--font-mono); font-size: 8px; text-transform: uppercase; }
.module-tile-extension { background: #15262d; border-color: #36515a; }
.module-tile-extension > span:not(.module-delivery-status) { color: var(--coral); }
.module-tile-extension small { color: #b58956; }
.product-contours { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.product-contour { min-height: 310px; padding: 24px; background: var(--white); border: 1px solid var(--line); border-radius: var(--radius); }
.product-contour > svg { width: 31px; height: 31px; color: var(--cyan-dark); }
.product-contour h3 { margin: 40px 0 0; font-size: 25px; }
.product-contour p { margin: 14px 0 0; color: var(--muted); font-size: 13px; line-height: 1.65; }
.product-contour ul { display: grid; gap: 8px; margin: 22px 0 0; padding: 0; list-style: none; }
.product-contour li { color: #34464e; font-size: 11px; }
.product-contour li::before { content: "+"; margin-right: 8px; color: var(--cyan-dark); font-family: var(--font-mono); }
.page-band-dark .product-contour { background: var(--panel); border-color: var(--panel-line); }
.page-band-dark .product-contour > svg { color: var(--cyan); }
.page-band-dark .product-contour p { color: #a9b5b9; }
.page-band-dark .product-contour li { color: #d4dcde; }
.page-band-dark .product-contour li::before { color: var(--cyan); }
.implementation-support-section .product-contour { color: var(--white); background: var(--panel); border-color: var(--panel-line); }
.implementation-support-section .product-contour h3 { color: var(--white); }
.implementation-support-section .product-contour p { color: #a9b5b9; }
.implementation-support-section .product-contour li { color: #d4dcde; }
.domain-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.domain-card { position: relative; min-height: 330px; display: grid; align-content: space-between; padding: 24px; overflow: hidden; background: var(--white); border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); text-decoration: none; }
.domain-card::after { content: ""; position: absolute; right: 0; bottom: 0; left: 0; height: 4px; background: var(--domain-accent, var(--cyan)); transform: scaleX(0); transform-origin: left; transition: transform 260ms var(--ease); }
.domain-card:hover::after { transform: scaleX(1); }
.domain-card-top { display: flex; justify-content: space-between; align-items: center; }
.domain-card-top svg { width: 28px; height: 28px; color: var(--domain-accent, var(--cyan-dark)); }
.domain-card-top span { color: var(--muted); font-family: var(--font-mono); font-size: 9px; }
.domain-card h3 { margin: 44px 0 0; font-size: 25px; line-height: 1.15; }
.domain-card p { margin: 14px 0 0; color: var(--muted); font-size: 12px; line-height: 1.6; }
.domain-card-bottom { display: flex; justify-content: space-between; align-items: center; margin-top: 30px; color: var(--muted); font-size: 10px; }
.domain-card-bottom strong { color: var(--ink); font-family: var(--font-mono); font-size: 18px; }
.situation-flow { display: grid; grid-template-columns: repeat(5, 1fr); border-top: 1px solid var(--line-dark); border-bottom: 1px solid var(--line-dark); }
.situation-flow article { min-height: 260px; padding: 24px 18px; }
.situation-flow article + article { border-left: 1px solid var(--line-dark); }
.situation-flow span { color: var(--cyan); font-family: var(--font-mono); font-size: 10px; }
.situation-flow h3 { margin: 50px 0 0; font-size: 19px; }
.situation-flow p { margin: 12px 0 0; color: #91a3ab; font-size: 11px; line-height: 1.6; }

/* Scenario bank */
.scenario-hero { min-height: 500px; }
.scenario-console { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; margin-top: 28px; }
.scenario-console div { min-height: 108px; padding: 16px; background: var(--panel-raised); border: 1px solid var(--panel-line); border-radius: 5px; }
.scenario-console strong { display: block; color: var(--white); font-family: var(--font-mono); font-size: 30px; }
.scenario-console span { display: block; margin-top: 7px; color: #8598a1; font-size: 10px; }
.scenario-regulation { padding: 74px 0 78px; color: #21312d; background: #e7ede9; border-bottom: 1px solid #c9d4cf; }
.scenario-regulation-intro { display: grid; grid-template-columns: minmax(300px, .88fr) minmax(0, 1.12fr); gap: 72px; align-items: end; }
.scenario-regulation-intro h2 { max-width: 640px; margin: 8px 0 0; font-size: 42px; line-height: 1.08; text-wrap: balance; }
.scenario-regulation-intro > div:last-child > p { max-width: 720px; margin: 0; color: #4d605a; font-size: 15px; line-height: 1.68; }
.scenario-regulation-intro > div:last-child > span { max-width: 720px; display: flex; gap: 10px; align-items: flex-start; margin-top: 22px; padding-top: 18px; color: #5b6d67; border-top: 1px solid #c2cec9; font-size: 11px; line-height: 1.55; }
.scenario-regulation-intro > div:last-child > span svg { flex: 0 0 17px; width: 17px; margin-top: 1px; color: var(--cyan-dark); }
.scenario-case { display: grid; grid-template-columns: minmax(290px, .72fr) minmax(0, 1.28fr); margin-top: 52px; border-top: 1px solid #b9c7c2; border-bottom: 1px solid #b9c7c2; }
.scenario-case-context { padding: 32px 38px 34px 0; border-right: 1px solid #b9c7c2; }
.scenario-case-context > span { color: var(--cyan-dark); font-family: var(--font-mono); font-size: 9px; text-transform: uppercase; }
.scenario-case-context h3 { max-width: 440px; margin: 34px 0 0; font-size: 29px; line-height: 1.12; text-wrap: balance; }
.scenario-case-context > p { max-width: 480px; margin: 16px 0 0; color: #556862; font-size: 12px; line-height: 1.65; }
.scenario-case-context > div { margin-top: 30px; padding-top: 20px; border-top: 1px solid #c2cec9; }
.scenario-case-context small { display: block; color: #50645d; font-family: var(--font-mono); font-size: 8px; text-transform: uppercase; }
.scenario-case-context strong { display: block; max-width: 460px; margin-top: 9px; font-size: 13px; line-height: 1.5; }
.scenario-case-steps { margin: 0; padding: 0 0 0 34px; list-style: none; }
.scenario-case-steps li { min-height: 128px; display: grid; grid-template-columns: 42px minmax(0, 1fr); gap: 20px; align-items: center; padding: 22px 10px 22px 0; border-bottom: 1px solid #c2cec9; }
.scenario-case-steps li:last-child { border-bottom: 0; }
.scenario-case-steps li > span { width: 42px; height: 42px; display: grid; place-items: center; color: var(--cyan); background: var(--ink); border-radius: 5px; font-family: var(--font-mono); font-size: 9px; }
.scenario-case-steps small { color: var(--cyan-dark); font-family: var(--font-mono); font-size: 8px; text-transform: uppercase; }
.scenario-case-steps strong { display: block; margin-top: 6px; font-size: 15px; line-height: 1.35; }
.scenario-case-steps p { max-width: 760px; margin: 7px 0 0; color: #5b6d67; font-size: 11px; line-height: 1.55; }
.scenario-regulation-options { display: grid; grid-template-columns: minmax(250px, .62fr) minmax(0, 1.38fr); gap: 52px; margin-top: 42px; }
.scenario-regulation-options > div { padding: 12px 0 0; }
.scenario-regulation-options > div > svg { width: 23px; color: var(--cyan-dark); }
.scenario-regulation-options h3 { margin: 24px 0 0; font-size: 23px; }
.scenario-regulation-options > div > p { max-width: 390px; margin: 12px 0 0; color: #5b6d67; font-size: 11px; line-height: 1.6; }
.scenario-regulation-options dl { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0; border-top: 1px solid #c2cec9; border-left: 1px solid #c2cec9; }
.scenario-regulation-options dl > div { min-height: 118px; padding: 18px; border-right: 1px solid #c2cec9; border-bottom: 1px solid #c2cec9; }
.scenario-regulation-options dt { color: #263934; font-size: 11px; font-weight: 750; }
.scenario-regulation-options dd { margin: 9px 0 0; color: #5b6d67; font-size: 10px; line-height: 1.55; }
.scenario-catalog { padding: 56px 0 110px; }
@media (max-width: 980px) {
  .scenario-regulation-intro, .scenario-case, .scenario-regulation-options { grid-template-columns: 1fr; }
  .scenario-regulation-intro { gap: 26px; }
  .scenario-case-context { padding-right: 0; border-right: 0; border-bottom: 1px solid #b9c7c2; }
  .scenario-case-steps { padding-left: 0; }
  .scenario-regulation-options { gap: 28px; }
}
@media (max-width: 680px) {
  .scenario-regulation { padding: 54px 0 58px; }
  .scenario-regulation-intro h2 { font-size: 34px; }
  .scenario-case { margin-top: 36px; }
  .scenario-case-context { padding: 26px 0 28px; }
  .scenario-case-context h3 { margin-top: 24px; font-size: 25px; }
  .scenario-case-steps li { grid-template-columns: 38px minmax(0, 1fr); gap: 14px; padding-block: 20px; }
  .scenario-case-steps li > span { width: 38px; height: 38px; }
  .scenario-regulation-options dl { grid-template-columns: 1fr; }
  .equipment-acceptance-table > div { display: none; }
  .equipment-acceptance-table article { grid-template-columns: 1fr; }
  .equipment-acceptance-table article > span { color: var(--cyan); }
}
.scenario-toolbar { position: sticky; z-index: 20; top: var(--header-height); display: grid; grid-template-columns: minmax(260px, 1.2fr) repeat(3, minmax(150px, 0.45fr)); gap: 8px; padding: 12px 0; background: rgba(244, 246, 245, 0.96); backdrop-filter: blur(16px); }
.scenario-control { min-height: 50px; display: flex; align-items: center; gap: 9px; padding: 0 14px; background: var(--white); border: 1px solid #c7d0ce; border-radius: 6px; }
.scenario-control svg { width: 17px; color: var(--muted); }
.scenario-control input, .scenario-control select { width: 100%; height: 46px; min-width: 0; color: var(--ink); background: transparent; border: 0; outline: 0; font-size: 12px; }
.scenario-result-bar { min-height: 62px; display: flex; justify-content: space-between; align-items: center; gap: 18px; color: var(--muted); font-size: 11px; border-bottom: 1px solid var(--line); }
.scenario-result-bar strong { color: var(--ink); font-family: var(--font-mono); }
.scenario-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; padding-top: 22px; }
.scenario-card { min-height: 320px; display: grid; grid-template-rows: auto auto 1fr auto; padding: 20px; background: var(--white); border: 1px solid var(--line); border-radius: var(--radius); animation: functionCardIn 300ms var(--ease) both; }
.scenario-card-head { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.scenario-id { color: var(--muted); font-family: var(--font-mono); font-size: 9px; white-space: nowrap; }
.priority-badge { min-width: 31px; min-height: 23px; display: grid; place-items: center; padding: 0 7px; color: var(--ink); background: #e8eceb; border-radius: 4px; font-family: var(--font-mono); font-size: 9px; font-weight: 800; white-space: nowrap; }
.priority-badge.p0 { color: #6b181b; background: #ffe1e2; }
.priority-badge.p1 { color: #714600; background: #fff0ca; }
.scenario-card h2 { margin: 22px 0 0; font-size: 19px; line-height: 1.28; }
.scenario-card > p { margin: 14px 0 0; color: var(--muted); font-size: 11px; line-height: 1.6; }
.scenario-card-meta { align-self: end; display: grid; grid-template-columns: 1fr 1fr; gap: 6px; margin-top: 24px; }
.scenario-card-meta span { min-height: 38px; display: flex; align-items: center; padding: 7px 8px; color: #5b6c74; background: #f3f6f5; border-radius: 4px; font-size: 9px; }
.scenario-open { width: 100%; min-height: 40px; margin-top: 10px; display: flex; justify-content: space-between; align-items: center; padding: 0 11px; color: var(--white); background: var(--ink); border: 0; border-radius: 5px; font-size: 10px; font-weight: 750; cursor: pointer; }
.scenario-open svg { width: 15px; }
.load-more-wrap { display: grid; place-items: center; padding: 34px 0 0; }
.load-more-wrap[hidden] { display: none; }
.scenario-empty { min-height: 380px; display: grid; place-items: center; align-content: center; gap: 12px; text-align: center; border: 1px dashed #b8c4c1; }
.scenario-empty[hidden] { display: none; }
.scenario-empty svg { width: 34px; color: var(--muted); }
.scenario-dialog { width: min(1000px, calc(100% - 30px)); max-height: calc(100dvh - 30px); padding: 0; color: var(--ink); background: #f4f6f5; border: 1px solid #bac6c3; border-radius: var(--radius); box-shadow: 0 30px 100px rgba(0, 0, 0, 0.34); }
.scenario-dialog::backdrop { background: rgba(3, 10, 15, 0.78); backdrop-filter: blur(8px); }
.scenario-dialog-inner { display: grid; grid-template-columns: minmax(0, 0.76fr) minmax(0, 1.24fr); min-height: 660px; }
.scenario-dialog-summary { padding: 32px; color: var(--white); background: var(--ink); }
.scenario-dialog-summary h2 { margin: 34px 0 0; font-size: 32px; line-height: 1.08; }
.scenario-dialog-summary > p { margin: 18px 0 0; color: #93a5ad; font-size: 13px; line-height: 1.65; }
.scenario-dialog-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 26px; }
.scenario-dialog-tags span { padding: 7px 9px; color: #c7c9bc; background: var(--panel-raised); border: 1px solid var(--panel-line); border-radius: 4px; font-size: 9px; }
.scenario-dialog-content { padding: 32px; overflow-y: auto; }
.scenario-detail-flow { display: grid; }
.scenario-detail-step { position: relative; min-height: 102px; display: grid; grid-template-columns: 36px 1fr; gap: 15px; padding: 0 0 22px; }
.scenario-detail-step:not(:last-child)::after { content: ""; position: absolute; top: 36px; bottom: 0; left: 17px; width: 1px; background: #cbd4d2; }
.scenario-detail-step > span { z-index: 1; width: 36px; height: 36px; display: grid; place-items: center; color: var(--ink); background: var(--cyan); border-radius: 5px; font-family: var(--font-mono); font-size: 9px; font-weight: 800; }
.scenario-detail-step small { color: var(--muted); font-family: var(--font-mono); font-size: 9px; text-transform: uppercase; }
.scenario-detail-step strong { display: block; margin-top: 5px; font-size: 15px; }
.scenario-detail-step p { margin: 6px 0 0; color: var(--muted); font-size: 11px; line-height: 1.55; }
.scenario-detail-step ul { display: grid; gap: 5px; margin: 7px 0 0; padding-left: 18px; }
.scenario-detail-step li { color: var(--muted); font-size: 11px; line-height: 1.5; }
.scenario-regulation-note { margin-top: 8px; padding: 20px; background: #e7ede9; border-left: 3px solid var(--cyan-dark); }
.scenario-regulation-note > span { color: var(--cyan-dark); font-family: var(--font-mono); font-size: 8px; text-transform: uppercase; }
.scenario-regulation-note > strong { display: block; margin-top: 8px; font-size: 15px; line-height: 1.35; }
.scenario-regulation-note > p { margin: 8px 0 0; color: #556862; font-size: 11px; line-height: 1.55; }
.scenario-related { margin-top: 16px; padding-top: 20px; border-top: 1px solid var(--line); }
.scenario-related strong { font-size: 12px; }
.scenario-related a { display: block; margin-top: 8px; color: var(--cyan-dark); font-size: 11px; font-weight: 750; text-decoration: none; }
.scenario-dialog-close { position: sticky; z-index: 4; top: 14px; float: right; margin: 14px 14px -58px 0; color: var(--ink); background: var(--white); }

/* Knowledge base */
.knowledge-layout { display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: 34px; }
.knowledge-sidebar { position: sticky; top: calc(var(--header-height) + 22px); align-self: start; }
.knowledge-sidebar strong { display: block; margin-bottom: 12px; font-family: var(--font-mono); font-size: 10px; text-transform: uppercase; }
.knowledge-sidebar nav { display: grid; gap: 4px; }
.knowledge-sidebar button { min-height: 42px; display: flex; justify-content: space-between; align-items: center; padding: 0 11px; color: var(--muted); background: rgba(255,255,255,.58); border: 1px solid var(--line); border-radius: 5px; text-align: left; font-size: 11px; font-weight: 700; cursor: pointer; }
.knowledge-sidebar button:hover { color: var(--ink); background: var(--white); }
.knowledge-sidebar button.active { color: var(--white); background: var(--ink); border-color: var(--ink); }
.knowledge-sidebar button span { font-family: var(--font-mono); font-size: 9px; }
.knowledge-search { margin-bottom: 16px; }
.knowledge-list { display: grid; gap: 8px; }
.knowledge-empty { min-height: 280px; display: grid; place-items: center; align-content: center; gap: 10px; color: var(--muted); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); text-align: center; }
.knowledge-empty svg { width: 28px; }
.knowledge-empty strong { color: var(--ink); font-size: 16px; }
.knowledge-empty p { margin: 0; font-size: 11px; }
.knowledge-item { display: grid; grid-template-columns: 120px 1fr auto; gap: 20px; align-items: center; min-height: 126px; padding: 18px; background: var(--white); border: 1px solid var(--line); border-radius: 6px; }
.knowledge-item-code { color: var(--cyan-dark); font-family: var(--font-mono); font-size: 10px; }
.knowledge-item h2 { margin: 0; font-size: 18px; }
.knowledge-item p { margin: 8px 0 0; color: var(--muted); font-size: 11px; line-height: 1.55; }
.knowledge-item-meta { margin-top: 10px; color: #607079; font-family: var(--font-mono); font-size: 8px; text-transform: uppercase; }
.knowledge-item a { width: 38px; height: 38px; display: grid; place-items: center; color: var(--ink); border: 1px solid var(--line); border-radius: 5px; }
.knowledge-item a svg { width: 17px; }
.knowledge-open { width: 38px; height: 38px; display: grid; place-items: center; color: var(--ink); background: transparent; border: 1px solid var(--line); border-radius: 5px; cursor: pointer; }
.knowledge-open svg { width: 17px; }
.knowledge-callout { margin-top: 34px; padding: 30px; color: var(--white); background: var(--ink); border-radius: var(--radius); }
.knowledge-callout strong { font-size: 24px; }
.knowledge-callout p { max-width: 720px; margin: 12px 0 0; color: #91a3ab; font-size: 13px; }
.knowledge-callout .link-arrow { color: var(--cyan); }
.scenario-kb-callout { margin: 0 0 18px; }
.scenario-kb-callout .scenario-id { display: block; margin-bottom: 14px; color: var(--cyan); }
.knowledge-article-body { color: var(--text); }
.knowledge-article-body h2 { margin: 30px 0 10px; font-size: 22px; }
.knowledge-article-body h2:first-child { margin-top: 0; }
.knowledge-article-body h3 { margin: 24px 0 8px; font-size: 17px; }
.knowledge-article-body p { margin: 10px 0; color: #4f6169; font-size: 12px; line-height: 1.65; }
.knowledge-article-body ul, .knowledge-article-body ol { display: grid; gap: 7px; margin: 10px 0 18px; padding-left: 22px; }
.knowledge-article-body li { color: #4f6169; font-size: 12px; line-height: 1.55; }
.knowledge-article-body code { padding: 2px 4px; color: #174f56; background: #dff2f0; border-radius: 3px; font-family: var(--font-mono); font-size: 10px; }

/* Architecture and implementation */
.deployment-model-section { background: var(--paper); }
.deployment-model-grid { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.deployment-model-grid article { min-height: 360px; padding: 28px; background: var(--white); border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.deployment-model-grid article > svg { width: 28px; height: 28px; color: var(--cyan-dark); }
.deployment-model-grid article > span { display: block; margin-top: 44px; color: var(--cyan-dark); font-family: var(--font-mono); font-size: 9px; }
.deployment-model-grid h3 { max-width: 460px; margin: 11px 0 0; font-size: 26px; line-height: 1.1; }
.deployment-model-grid p { max-width: 620px; margin: 16px 0 0; color: var(--muted); font-size: 13px; line-height: 1.65; }
.deployment-model-grid ul { display: grid; gap: 9px; margin: 24px 0 0; padding: 20px 0 0 18px; color: #53666e; border-top: 1px solid var(--line); font-size: 11px; line-height: 1.55; }
.deployment-model-common { min-height: 116px; display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 18px; align-items: center; padding: 22px 28px; color: var(--white); background: var(--ink); }
.deployment-model-common > svg { width: 27px; height: 27px; color: var(--cyan); }
.deployment-model-common strong { font-size: 15px; }
.deployment-model-common p { max-width: 980px; margin: 7px 0 0; color: #91a4ac; font-size: 11px; line-height: 1.6; }
.architecture-map { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; }
.architecture-node { min-height: 180px; display: grid; align-content: space-between; padding: 18px; color: var(--white); background: var(--ink-2); border: 1px solid #2b3d46; border-radius: 6px; }
.architecture-node svg { width: 25px; color: var(--cyan); }
.architecture-node h3 { margin: 26px 0 0; font-size: 17px; }
.architecture-node p { margin: 10px 0 0; color: #8da0a8; font-size: 10px; line-height: 1.55; }
.architecture-node span { color: #8da0a8; font-family: var(--font-mono); font-size: 8px; }
.architecture-brand-title { display: flex; align-items: center; gap: 8px; }
.architecture-brand-title .ui-cshark-wordmark { width: 68px; height: 38px; }
.architecture-brand-title b { color: #9db0b8; font-family: var(--font-mono); font-size: 8px; }
.architecture-node-link { color: inherit; text-decoration: none; transition: border-color 200ms ease, transform 200ms var(--ease); }
.architecture-node-link:hover { border-color: var(--cyan-dark); transform: translateY(-3px); }
.architecture-node-link span { color: var(--cyan); }
.integration-table { border-top: 1px solid var(--line); }
.integration-row { min-height: 94px; display: grid; grid-template-columns: 220px 1fr 160px; gap: 24px; align-items: center; border-bottom: 1px solid var(--line); }
.integration-row strong { font-size: 15px; }
.integration-row p { margin: 0; color: var(--muted); font-size: 12px; }
.integration-row span { color: var(--green-dark); font-family: var(--font-mono); font-size: 9px; text-align: right; }
.implementation-track { counter-reset: stage; border-top: 1px solid var(--line); }
.implementation-stage { counter-increment: stage; min-height: 220px; display: grid; grid-template-columns: 90px minmax(240px, 0.6fr) 1fr 140px; gap: 16px 24px; align-items: center; padding: 22px 0; border-bottom: 1px solid var(--line); }
.implementation-stage::before { content: counter(stage, decimal-leading-zero); color: var(--cyan-dark); font-family: var(--font-mono); font-size: 12px; }
.implementation-stage h3 { margin: 0; font-size: 22px; }
.implementation-stage p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.65; }
.implementation-stage span { color: var(--muted); font-family: var(--font-mono); font-size: 10px; text-align: right; }
.implementation-stage-contract { grid-column: 3 / -1; display: grid; grid-template-columns: 100px 1fr; gap: 6px 14px; padding-top: 14px; border-top: 1px solid #d7dedb; }
.implementation-stage-contract small { color: #5d6d68; font-family: var(--font-mono); font-size: 7px; text-transform: uppercase; }
.implementation-stage-contract strong { color: #35443f; font-size: 9px; line-height: 1.45; }
.equipment-acceptance-section { color: var(--white); background: #0c181e; }
.equipment-acceptance-section .section-kicker { color: var(--cyan); }
.equipment-acceptance-section .page-intro > p { color: var(--muted-dark); }
.equipment-acceptance-table { border-top: 1px solid #2a3e46; border-left: 1px solid #2a3e46; }
.equipment-acceptance-table > div,
.equipment-acceptance-table article { display: grid; grid-template-columns: .65fr 1.2fr 1.2fr; }
.equipment-acceptance-table > div > strong,
.equipment-acceptance-table article > * { min-width: 0; padding: 16px 18px; border-right: 1px solid #2a3e46; border-bottom: 1px solid #2a3e46; }
.equipment-acceptance-table > div > strong { color: var(--cyan); font-family: var(--font-mono); font-size: 8px; text-transform: uppercase; }
.equipment-acceptance-table article > span { color: var(--white); font-size: 11px; font-weight: 750; }
.equipment-acceptance-table article p { margin: 0; color: #9aaab0; font-size: 10px; line-height: 1.55; }
@media (max-width: 680px) {
  .equipment-acceptance-table > div { display: none; }
  .equipment-acceptance-table article { display: block; }
  .equipment-acceptance-table article > * { display: block; padding: 14px 16px; }
  .equipment-acceptance-table article > span { color: var(--cyan); background: rgba(255,255,255,.025); }
  .equipment-acceptance-table article p { position: relative; padding-top: 36px; font-size: 11px; line-height: 1.6; }
  .equipment-acceptance-table article p::before { position: absolute; top: 13px; left: 16px; color: var(--cyan); font-family: var(--font-mono); font-size: 7px; text-transform: uppercase; }
  .equipment-acceptance-table article p:nth-of-type(1)::before { content: "Что фиксирует проект"; }
  .equipment-acceptance-table article p:nth-of-type(2)::before { content: "Что проверяет приемка"; }
}
.acceptance-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.acceptance-item { min-height: 150px; padding: 18px; background: var(--white); border: 1px solid var(--line); border-radius: 6px; }
.acceptance-item span { color: var(--cyan-dark); font-family: var(--font-mono); font-size: 9px; }
.acceptance-item strong { display: block; margin-top: 18px; font-size: 15px; }
.acceptance-item p { margin: 8px 0 0; color: var(--muted); font-size: 10px; line-height: 1.55; }

/* Integration API */
.api-hero { min-height: 670px; }
.api-page .inner-hero h1 { font-size: 56px; }
.api-hero-visual { min-height: 470px; }
.api-hero-visual .visual-toolbar span:last-child { display: inline-flex; align-items: center; gap: 6px; }
.api-hero-visual .visual-toolbar i { width: 5px; height: 5px; background: var(--green); border-radius: 50%; box-shadow: 0 0 0 4px rgba(201, 245, 74, 0.08); }
.api-flow-map { min-height: 238px; display: grid; grid-template-columns: minmax(150px, 0.9fr) 72px minmax(190px, 1.1fr); align-items: center; margin-top: 24px; }
.api-flow-sources { display: grid; gap: 7px; }
.api-flow-sources div { min-height: 56px; display: grid; grid-template-columns: 30px 1fr; align-items: center; gap: 10px; padding: 9px 11px; color: #c7c9bc; background: var(--panel-raised); border: 1px solid var(--panel-line); border-radius: 5px; }
.api-flow-sources svg { width: 18px; color: var(--cyan); }
.api-flow-sources span { font-size: 11px; font-weight: 700; }
.api-flow-channel { position: relative; height: 100%; overflow: hidden; }
.api-flow-channel::before { content: ""; position: absolute; top: 50%; right: 0; left: 0; border-top: 1px solid #38505a; }
.api-flow-channel::after { content: ">"; position: absolute; top: calc(50% - 9px); right: 0; color: var(--cyan); font-family: var(--font-mono); font-size: 12px; }
.api-flow-channel span, .api-flow-channel b { position: absolute; top: calc(50% - 3px); left: -7px; width: 7px; height: 7px; background: var(--cyan); border-radius: 50%; box-shadow: 0 0 12px var(--cyan); animation: apiPacket 2.8s linear infinite; }
.api-flow-channel b:nth-of-type(1) { animation-delay: 0.65s; }
.api-flow-channel b:nth-of-type(2) { animation-delay: 1.3s; }
.api-flow-channel b:nth-of-type(3) { animation-delay: 1.95s; }
.api-flow-core { min-height: 190px; display: grid; place-items: center; align-content: center; padding: 22px; text-align: center; background: #12130f; border: 1px solid rgba(255,255,255,.16); border-radius: 6px; box-shadow: inset 0 0 0 1px rgba(201, 245, 74, 0.05), 0 18px 50px rgba(16, 17, 15, 0.24); }
.api-flow-core .ui-cshark-wordmark { width: 96px; height: 54px; }
.api-flow-core strong { margin-top: 12px; font-size: 19px; }
.api-flow-core span { margin-top: 5px; color: var(--cyan); font-family: var(--font-mono); font-size: 8px; text-transform: uppercase; }
.api-flow-core small { margin-top: 15px; padding: 5px 7px; color: var(--green); background: rgba(201, 245, 74, 0.07); border: 1px solid rgba(201, 245, 74, 0.2); border-radius: 3px; font-family: var(--font-mono); font-size: 7px; text-transform: uppercase; }
.api-live-events { border-top: 1px solid var(--panel-line); }
.api-live-events div { min-height: 41px; display: grid; grid-template-columns: 90px 1fr auto; align-items: center; gap: 12px; border-bottom: 1px solid #1d3039; }
.api-live-events time { color: #8da0a8; font-family: var(--font-mono); font-size: 7px; }
.api-live-events strong { color: #c2cdd2; font-family: var(--font-mono); font-size: 8px; font-weight: 500; }
.api-live-events span { color: var(--green); font-family: var(--font-mono); font-size: 7px; }
.api-section-lead { max-width: 960px; margin-bottom: 52px; }
.api-section-lead h2 { max-width: 900px; margin: 0; font-size: 50px; line-height: 1.04; }
.api-section-lead > p:not(.section-kicker) { max-width: 760px; margin: 22px 0 0; color: var(--muted); font-size: 16px; line-height: 1.72; }
.page-band-dark .api-section-lead > p:not(.section-kicker) { color: #93a4ac; }
.api-domain-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.api-domain-grid article { position: relative; min-height: 310px; display: grid; grid-template-rows: auto auto auto 1fr auto; padding: 25px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.api-domain-grid article:nth-child(2), .api-domain-grid article:nth-child(6) { background: #f1f2e8; }
.api-domain-grid article:nth-child(4) { color: var(--white); background: var(--ink-2); }
.api-domain-grid > article > span { color: var(--cyan-dark); font-family: var(--font-mono); font-size: 9px; font-weight: 700; }
.api-domain-grid article:nth-child(4) > span { color: var(--cyan); }
.api-domain-grid svg { width: 29px; height: 29px; margin-top: 34px; color: var(--cyan-dark); }
.api-domain-grid article:nth-child(4) svg { color: var(--cyan); }
.api-domain-grid h3 { margin: 24px 0 0; font-size: 23px; }
.api-domain-grid p { margin: 12px 0 0; color: var(--muted); font-size: 12px; line-height: 1.68; }
.api-domain-grid article:nth-child(4) p { color: #91a3ab; }
.api-domain-grid small { align-self: end; margin-top: 24px; color: #5d6b70; font-family: var(--font-mono); font-size: 8px; text-transform: uppercase; }
.api-domain-grid article:nth-child(4) small { color: #a9b5b9; }
.api-playground-section { overflow: hidden; }
.api-demo-tabs { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; margin-bottom: 8px; }
.api-demo-tabs button { min-height: 54px; display: inline-flex; align-items: center; justify-content: center; gap: 9px; padding: 0 14px; color: #80939c; background: #101d24; border: 1px solid #253943; border-radius: 5px; cursor: pointer; font-size: 11px; font-weight: 750; transition: color 180ms ease, background 180ms ease, border-color 180ms ease, transform 180ms var(--ease); }
.api-demo-tabs button:hover { color: var(--white); border-color: #49616c; }
.api-demo-tabs button:active { transform: scale(0.98); }
.api-demo-tabs button.active { color: var(--ink); background: var(--cyan); border-color: var(--cyan); }
.api-demo-tabs svg { width: 17px; height: 17px; }
.api-playground { display: grid; grid-template-columns: minmax(0, 1fr) 260px minmax(0, 1fr); min-height: 570px; border: 1px solid var(--panel-line); background: var(--panel-deep); border-radius: var(--radius); overflow: hidden; }
.api-code-panel { min-width: 0; display: grid; grid-template-rows: auto auto 1fr; background: var(--panel); }
.api-code-head { min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 0 20px; border-bottom: 1px solid #22343d; }
.api-code-head div { min-width: 0; }
.api-code-head span { display: block; color: #8da0a8; font-family: var(--font-mono); font-size: 8px; }
.api-code-head strong { display: block; margin-top: 5px; color: #d6dfe2; font-size: 13px; }
.api-code-head > b { flex: 0 0 auto; padding: 6px 8px; color: var(--ink); background: var(--cyan); border-radius: 3px; font-family: var(--font-mono); font-size: 9px; }
.api-code-head > b.ok { color: var(--cyan); background: rgba(201, 245, 74, 0.12); border: 1px solid rgba(201, 245, 74, 0.32); }
.api-endpoint { min-height: 52px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 0 20px; color: var(--cyan); background: #0d1b22; border-bottom: 1px solid #20333c; font-family: var(--font-mono); font-size: 9px; }
.api-endpoint > span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.api-endpoint > svg { flex: 0 0 auto; width: 16px; color: var(--green); }
.api-copy-button { flex: 0 0 auto; width: 32px; height: 32px; display: grid; place-items: center; padding: 0; color: #82969f; background: transparent; border: 1px solid #2c414b; border-radius: 4px; cursor: pointer; }
.api-copy-button:hover, .api-copy-button.copied { color: var(--cyan); border-color: var(--cyan-dark); }
.api-copy-button svg { width: 14px; }
.api-code-panel pre { min-width: 0; min-height: 440px; margin: 0; padding: 22px 20px 30px; overflow: auto; color: #b8c9cf; font-family: var(--font-mono); font-size: 10px; line-height: 1.68; tab-size: 2; }
.api-code-panel code { font-family: inherit; }
.api-trace-panel { position: relative; padding: 20px 18px; color: var(--white); background: var(--panel-raised); border-right: 1px solid var(--panel-line); border-left: 1px solid var(--panel-line); overflow: hidden; }
.api-trace-panel::before { content: ""; position: absolute; top: 85px; bottom: 35px; left: 33px; border-left: 1px dashed #34505b; }
.api-trace-brand { position: relative; z-index: 1; display: grid; grid-template-columns: 78px 1fr; gap: 10px; align-items: center; padding-bottom: 22px; border-bottom: 1px solid var(--panel-line); }
.api-trace-brand .ui-cshark-wordmark { width: 78px; height: 44px; }
.api-trace-brand strong { color: #91a4ac; font-family: var(--font-mono); font-size: 8px; }
.api-trace-brand span { grid-column: 2; margin-top: -15px; color: #8da0a8; font-family: var(--font-mono); font-size: 7px; }
.api-trace-panel ol { position: relative; z-index: 1; display: grid; gap: 20px; margin: 24px 0 0; padding: 0; list-style: none; }
.api-trace-panel li { display: grid; grid-template-columns: 30px 1fr; gap: 10px; align-items: start; opacity: 0.38; transition: opacity 260ms ease, transform 260ms var(--ease); transform: translateY(6px); }
.api-trace-panel li > i { width: 30px; height: 30px; display: grid; place-items: center; background: #172e38; border: 1px solid #34505c; border-radius: 4px; }
.api-trace-panel li > i::after { content: ""; width: 5px; height: 5px; background: #55717d; border-radius: 50%; }
.api-trace-panel li.complete { opacity: 1; transform: none; }
.api-trace-panel li.complete > i { border-color: rgba(201, 245, 74, 0.42); }
.api-trace-panel li.complete > i::after { background: var(--green); box-shadow: 0 0 9px var(--green); }
.api-trace-panel strong { display: block; color: var(--cyan); font-family: var(--font-mono); font-size: 8px; }
.api-trace-panel li span { display: block; margin-top: 5px; color: #94a6ae; font-size: 9px; line-height: 1.45; }
.api-playground.is-updating .api-code-panel pre { animation: apiPanelIn 360ms var(--ease); }
.mall-integration-section { overflow: hidden; }
.api-object-tabs { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 6px; margin: -18px 0 14px; }
.api-object-tabs button { min-height: 58px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 10px 12px; color: var(--muted); background: var(--white); border: 1px solid var(--line); border-radius: 5px; cursor: pointer; font-size: 10px; font-weight: 750; transition: color 180ms ease, background 180ms ease, border-color 180ms ease, transform 180ms var(--ease); }
.api-object-tabs button:hover { color: var(--ink); border-color: #9eb7bc; }
.api-object-tabs button:active { transform: scale(0.985); }
.api-object-tabs button.active { color: var(--white); background: var(--ink); border-color: var(--ink); }
.api-object-tabs svg { flex: 0 0 auto; width: 17px; height: 17px; color: var(--cyan-dark); }
.api-object-tabs button.active svg { color: var(--cyan); }
.api-object-scope { min-height: 54px; display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: 11px; align-items: center; margin: 0 0 42px; padding: 12px 15px; color: var(--ink); background: #f1f2e8; border-left: 3px solid var(--cyan-dark); font-size: 11px; line-height: 1.55; }
.api-object-scope svg { width: 20px; color: var(--cyan-dark); }
.mall-integration-flow { display: grid; grid-template-columns: minmax(250px, 0.72fr) minmax(390px, 1.3fr) minmax(250px, 0.82fr); gap: 38px; align-items: center; }
.mall-phone { width: min(100%, 310px); min-height: 575px; justify-self: center; padding: 18px 16px 16px; color: var(--white); background: var(--ink); border: 8px solid var(--panel-raised); border-radius: 30px; box-shadow: 0 24px 70px rgba(16, 17, 15, 0.24); }
.mall-phone-status { display: flex; align-items: center; justify-content: space-between; color: #8fa1aa; font-family: var(--font-mono); font-size: 8px; }
.mall-phone-status svg { width: 13px; }
.mall-app-brand { display: flex; align-items: center; gap: 7px; margin-top: 22px; font-size: 12px; font-weight: 800; }
.mall-app-brand svg { width: 19px; color: var(--cyan); }
.mall-app-title { margin-top: 36px; }
.mall-app-title small { color: #71858f; font-family: var(--font-mono); font-size: 7px; }
.mall-app-title strong { display: block; margin-top: 8px; font-size: 21px; line-height: 1.18; }
.mall-app-title span { display: block; margin-top: 7px; color: #8fa1aa; font-size: 10px; }
.mall-floor-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 5px; margin-top: 26px; }
.mall-floor-list div { min-height: 62px; display: grid; align-content: center; justify-items: center; padding: 6px; background: #122129; border: 1px solid #283b45; border-radius: 5px; }
.mall-floor-list div.active { color: var(--ink); background: var(--cyan); border-color: var(--cyan); }
.mall-floor-list span { font-family: var(--font-mono); font-size: 9px; }
.mall-floor-list b { margin-top: 5px; color: #87a0aa; font-size: 7px; font-weight: 600; }
.mall-floor-list div.active b { color: #1e535b; }
.mall-route-mini { min-height: 78px; display: grid; grid-template-columns: 36px 1fr 16px; align-items: center; gap: 9px; margin-top: 10px; padding: 10px; color: var(--ink); background: #eff6f4; border-radius: 5px; }
.mall-route-mini > svg:first-child { width: 25px; color: var(--cyan-dark); }
.mall-route-mini > svg:last-child { width: 15px; }
.mall-route-mini strong { display: block; font-size: 10px; }
.mall-route-mini span { display: block; margin-top: 4px; color: #5c7078; font-size: 8px; }
.mall-session-mini { display: flex; justify-content: space-between; align-items: center; margin-top: 30px; padding-top: 15px; border-top: 1px solid #2a3c45; }
.mall-session-mini span { color: #82959e; font-family: var(--font-mono); font-size: 8px; }
.mall-session-mini strong { color: var(--green); font-family: var(--font-mono); font-size: 12px; }
.mall-api-journey { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.mall-api-journey li { position: relative; min-height: 128px; display: grid; grid-template-columns: 42px minmax(0, 1fr); gap: 14px; align-content: center; padding: 18px 0; border-bottom: 1px solid var(--line); }
.mall-api-journey li > span { width: 34px; height: 34px; display: grid; place-items: center; color: var(--ink); background: var(--cyan); border-radius: 4px; font-family: var(--font-mono); font-size: 8px; font-weight: 800; }
.mall-api-journey strong { font-size: 15px; }
.mall-api-journey p { margin: 6px 0 0; color: var(--muted); font-size: 10px; line-height: 1.5; }
.mall-api-journey code { grid-column: 2; width: max-content; max-width: 100%; margin-top: -4px; padding: 5px 7px; overflow: hidden; color: var(--cyan-dark); background: #f1f2e8; border-radius: 3px; font-family: var(--font-mono); font-size: 8px; text-overflow: ellipsis; }
.mall-cshark-core { padding: 18px; color: var(--white); background: var(--ink-2); border: 1px solid var(--panel-line); border-radius: var(--radius); box-shadow: var(--shadow); }
.mall-core-head { display: grid; grid-template-columns: 78px 1fr 8px; gap: 10px; align-items: center; padding-bottom: 16px; border-bottom: 1px solid var(--panel-line); }
.mall-core-head .ui-cshark-wordmark { width: 78px; height: 44px; }
.mall-core-head strong { display: block; font-size: 14px; }
.mall-core-head span { display: block; margin-top: 4px; color: #788d96; font-family: var(--font-mono); font-size: 7px; }
.mall-core-head b { width: 7px; height: 7px; background: var(--green); border-radius: 50%; box-shadow: 0 0 10px var(--green); }
.mall-core-state { min-height: 66px; display: grid; grid-template-columns: 1fr auto; align-content: center; gap: 3px 10px; border-bottom: 1px solid #22343d; }
.mall-core-state span { color: #8da0a8; font-family: var(--font-mono); font-size: 7px; }
.mall-core-state strong { color: var(--green); font-family: var(--font-mono); font-size: 9px; }
.mall-core-state small { grid-column: 1 / -1; color: #9aabb2; font-family: var(--font-mono); font-size: 7px; }
.mall-core-foot { display: grid; grid-template-columns: 24px 1fr; gap: 8px; align-items: center; margin-top: 16px; color: #899ca4; font-size: 8px; line-height: 1.45; }
.mall-core-foot svg { width: 17px; color: var(--cyan); animation: apiRotate 5s linear infinite; }
.api-contract-section { background: #f1f2e8; }
.api-contract-table { border-top: 1px solid var(--line); }
.api-contract-table > div { min-height: 116px; display: grid; grid-template-columns: 190px minmax(0, 1fr) 150px; gap: 28px; align-items: center; border-bottom: 1px solid var(--line); }
.api-contract-table strong { font-size: 16px; }
.api-contract-table p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.6; }
.api-contract-table span { justify-self: end; color: var(--green-dark); font-family: var(--font-mono); font-size: 9px; text-transform: uppercase; }
.api-delivery-track { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line-dark); border-left: 1px solid var(--line-dark); }
.api-delivery-track article { min-height: 250px; display: grid; grid-template-rows: auto auto 1fr auto; padding: 24px; border-right: 1px solid var(--line-dark); border-bottom: 1px solid var(--line-dark); }
.api-delivery-track span { color: var(--cyan); font-family: var(--font-mono); font-size: 10px; }
.api-delivery-track h3 { margin: 38px 0 0; font-size: 20px; }
.api-delivery-track p { margin: 12px 0 0; color: #91a3ab; font-size: 11px; line-height: 1.62; }
.api-delivery-track small { align-self: end; margin-top: 22px; color: #8da0a8; font-family: var(--font-mono); font-size: 8px; text-transform: uppercase; }
.api-final-cta { padding: 76px 0; }
.api-final-cta-layout { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 48px; align-items: center; }
.api-final-cta-layout > div > span { font-family: var(--font-mono); font-size: 10px; font-weight: 800; text-transform: uppercase; }
.api-final-cta h2 { max-width: 900px; margin: 14px 0 0; font-size: 42px; line-height: 1.08; }
.module-tile-link { color: inherit; text-decoration: none; transition: transform 200ms var(--ease), border-color 200ms ease, background 200ms ease; }
.module-tile-link:hover { z-index: 1; background: #152831; border-color: var(--cyan-dark); transform: translateY(-3px); }
.deployment-api-link { margin-left: 16px; color: var(--cyan); font-size: 12px; font-weight: 800; text-decoration: none; }
.deployment-api-link svg { display: inline-block; width: 15px; margin-left: 5px; vertical-align: -3px; }

@keyframes apiPacket { from { transform: translateX(0); opacity: 0; } 12%, 82% { opacity: 1; } to { transform: translateX(78px); opacity: 0; } }
@keyframes apiPanelIn { from { opacity: 0.45; transform: translateY(7px); } to { opacity: 1; transform: none; } }
@keyframes apiRotate { to { transform: rotate(360deg); } }

.inner-footer { color: var(--white); background: #050c11; }
.inner-footer-grid { display: grid; grid-template-columns: 1.4fr repeat(3, 1fr); gap: 44px; padding: 62px 0; }
.inner-footer-grid > div { display: flex; flex-direction: column; align-items: flex-start; gap: 9px; }
.inner-footer-grid strong { margin-bottom: 5px; color: #73868f; font-family: var(--font-mono); font-size: 9px; text-transform: uppercase; }
.inner-footer-grid a { color: #b2c0c6; font-size: 11px; text-decoration: none; }
.inner-footer-grid p { max-width: 260px; color: #71838c; font-size: 12px; }

@media (max-width: 1180px) {
  .inner-hero-layout { grid-template-columns: 1fr 1fr; gap: 36px; }
  .inner-hero h1 { font-size: 58px; }
  .module-matrix { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .scenario-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .domain-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .api-page .inner-hero h1 { font-size: 48px; }
  .api-playground { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .api-trace-panel { grid-column: 1 / -1; grid-row: 1; min-height: 230px; border-right: 0; border-bottom: 1px solid var(--panel-line); border-left: 0; }
  .api-trace-panel::before { display: none; }
  .api-trace-panel ol { grid-template-columns: repeat(4, 1fr); gap: 12px; }
}

@media (max-width: 980px) {
  body.inner-page { padding-top: 64px; }
  .inner-hero-layout { grid-template-columns: 1fr; }
  .inner-hero-visual { min-height: 390px; }
  .page-intro { grid-template-columns: 1fr; gap: 20px; }
  .module-matrix { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .product-contours { grid-template-columns: 1fr 1fr; }
  .situation-flow { grid-template-columns: repeat(2, 1fr); }
  .situation-flow article:nth-child(3), .situation-flow article:nth-child(5) { border-left: 0; }
  .situation-flow article:nth-child(n+3) { border-top: 1px solid var(--line-dark); }
  .scenario-toolbar { top: 64px; grid-template-columns: 1fr 1fr; }
  .scenario-dialog-inner { grid-template-columns: 1fr; }
  .scenario-dialog-summary { min-height: 320px; }
  .knowledge-layout { grid-template-columns: 1fr; }
  .knowledge-sidebar { position: static; }
  .knowledge-sidebar nav { grid-template-columns: repeat(4, 1fr); }
  .architecture-map { grid-template-columns: repeat(3, 1fr); }
  .inner-footer-grid { grid-template-columns: repeat(2, 1fr); }
  .api-page .inner-hero h1 { font-size: 56px; }
  .api-domain-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .api-object-tabs { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .mall-integration-flow { grid-template-columns: minmax(250px, 0.72fr) minmax(0, 1.28fr); }
  .mall-cshark-core { grid-column: 1 / -1; }
  .api-delivery-track { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 680px) {
  .inner-hero { min-height: auto; }
  .inner-hero-layout { gap: 38px; padding: 54px 0; }
  .inner-hero h1 { font-size: 43px; }
  .inner-lead { font-size: 16px; }
  .inner-hero-visual { min-height: 330px; padding: 16px; }
  .encyclopedia-rail div:nth-child(n) { margin-left: 0; }
  .encyclopedia-rail div { grid-template-columns: 34px 1fr auto; }
  .inner-stat-strip { grid-template-columns: repeat(2, 1fr); }
  .inner-stat-strip > div { min-height: 92px; padding: 14px; }
  .inner-stat-strip > div:nth-child(3) { border-top: 1px solid var(--line); border-left: 0; }
  .inner-stat-strip > div:nth-child(4) { border-top: 1px solid var(--line); }
  .inner-stat-strip strong { font-size: 22px; }
  .page-band { padding: 76px 0; }
  .page-intro { margin-bottom: 34px; }
  .page-intro h2 { font-size: 36px; }
  .system-layer { grid-template-columns: 42px 1fr; gap: 14px; padding: 22px 0; }
  .system-layer p { grid-column: 2; }
  .module-matrix, .product-contours, .domain-grid, .scenario-grid, .architecture-map, .acceptance-grid, .deployment-model-grid { grid-template-columns: 1fr; }
  .module-tile { min-height: 190px; }
  .domain-card { min-height: 280px; }
  .situation-flow { grid-template-columns: 1fr; }
  .situation-flow article:nth-child(n) { min-height: 210px; border-top: 1px solid var(--line-dark); border-left: 0; }
  .situation-flow article:first-child { border-top: 0; }
  .scenario-toolbar { position: static; grid-template-columns: 1fr; }
  .scenario-result-bar { align-items: flex-start; flex-direction: column; padding: 14px 0; }
  .scenario-dialog { width: calc(100% - 16px); max-height: calc(100dvh - 16px); }
  .scenario-dialog-summary, .scenario-dialog-content { padding: 24px 20px; }
  .scenario-dialog-summary h2 { font-size: 27px; }
  .knowledge-sidebar nav { grid-template-columns: 1fr 1fr; }
  .knowledge-item { grid-template-columns: 1fr auto; gap: 12px; }
  .knowledge-item-code { grid-column: 1 / -1; }
  .integration-row { grid-template-columns: 1fr; gap: 8px; padding: 20px 0; }
  .integration-row span { text-align: left; }
  .implementation-stage { grid-template-columns: 40px 1fr; gap: 12px; padding: 24px 0; }
  .implementation-stage p, .implementation-stage span { grid-column: 2; text-align: left; }
  .implementation-stage-contract { grid-column: 2; grid-template-columns: 1fr; }
  .inner-footer-grid { grid-template-columns: 1fr 1fr; gap: 30px 16px; }
  .inner-footer-grid > div:first-child { grid-column: 1 / -1; }
  .api-page .inner-hero h1 { font-size: 43px; }
  .api-hero .inner-hero-layout { gap: 26px; padding: 42px 0 32px; }
  .api-hero .inner-lead { margin-top: 18px; }
  .api-hero .inner-actions { margin-top: 22px; }
  .api-hero-visual { min-height: auto; padding: 12px; }
  .api-flow-map { min-height: 0; grid-template-columns: 1fr; gap: 0; margin-top: 10px; }
  .api-flow-sources { grid-template-columns: repeat(3, 1fr); gap: 4px; }
  .api-flow-sources div { min-height: 46px; grid-template-columns: 1fr; justify-items: center; gap: 2px; padding: 5px 3px; text-align: center; }
  .api-flow-sources svg { width: 15px; }
  .api-flow-sources span { font-size: 7px; }
  .api-flow-channel { height: 22px; }
  .api-flow-channel::before { top: 0; right: auto; bottom: 0; left: 50%; border-top: 0; border-left: 1px solid #38505a; }
  .api-flow-channel::after { content: "v"; top: auto; right: auto; bottom: 0; left: calc(50% - 3px); }
  .api-flow-channel span, .api-flow-channel b { top: -7px; left: calc(50% - 3px); animation-name: apiPacketMobile; }
  .api-flow-core { min-height: 104px; padding: 8px; }
  .api-flow-core .ui-cshark-wordmark { width: 70px; height: 39px; }
  .api-flow-core strong { margin-top: 5px; font-size: 14px; }
  .api-flow-core span { margin-top: 2px; font-size: 6px; }
  .api-flow-core small { display: none; }
  .api-live-events { display: none; }
  .api-live-events div { grid-template-columns: 65px minmax(0, 1fr) auto; gap: 7px; }
  .api-live-events strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .api-section-lead { margin-bottom: 34px; }
  .api-section-lead h2 { font-size: 35px; }
  .api-section-lead > p:not(.section-kicker) { font-size: 14px; }
  .api-domain-grid { grid-template-columns: 1fr; }
  .api-domain-grid article { min-height: 270px; }
  .api-demo-tabs { grid-template-columns: repeat(2, 1fr); }
  .api-demo-tabs button { min-height: 50px; padding-inline: 8px; font-size: 9px; }
  .api-object-tabs { grid-template-columns: 1fr 1fr; margin-top: -8px; }
  .api-object-tabs button { min-height: 52px; justify-content: flex-start; padding-inline: 12px; }
  .api-object-tabs button:last-child { grid-column: 1 / -1; }
  .api-object-scope { margin-bottom: 30px; }
  .api-playground { grid-template-columns: 1fr; }
  .api-trace-panel { grid-column: auto; grid-row: auto; min-height: auto; }
  .api-trace-panel ol { grid-template-columns: 1fr; }
  .api-code-panel pre { min-height: 350px; max-height: 430px; font-size: 9px; }
  .mall-integration-flow { grid-template-columns: 1fr; gap: 34px; }
  .mall-cshark-core { grid-column: auto; }
  .api-contract-table > div { grid-template-columns: 1fr; gap: 8px; padding: 22px 0; }
  .api-contract-table span { justify-self: start; }
  .api-delivery-track { grid-template-columns: 1fr; }
  .api-delivery-track article { min-height: 220px; }
  .api-final-cta-layout { grid-template-columns: 1fr; gap: 30px; }
  .api-final-cta h2 { font-size: 32px; }
  .api-final-cta .button { justify-self: start; }
  .deployment-api-link { display: block; margin: 16px 0 0; }
}

@keyframes apiPacketMobile { from { transform: translateY(0); opacity: 0; } 12%, 82% { opacity: 1; } to { transform: translateY(52px); opacity: 0; } }

/* Global parking control plane */
.desktop-nav { gap: 24px; }
.network-page section[id] { scroll-margin-top: var(--header-height); }
.network-page .inner-hero h1 { font-size: 62px; }
.network-hero { min-height: 690px; }
.network-hero .inner-hero-layout { grid-template-columns: minmax(0, 0.84fr) minmax(560px, 1.16fr); gap: 64px; padding-block: 58px; }
.network-hero-visual { min-height: 520px; display: flex; flex-direction: column; padding: 20px; background: var(--panel-deep); }
.network-hero-visual .visual-toolbar span:last-child { display: inline-flex; align-items: center; gap: 6px; }
.network-hero-visual .visual-toolbar span:last-child i { width: 6px; height: 6px; background: var(--green); border-radius: 50%; box-shadow: 0 0 9px var(--green); }
.network-scale-switch { display: grid; grid-template-columns: repeat(3, 1fr); gap: 4px; margin-top: 20px; padding: 4px; background: #111f27; border: 1px solid #293d47; border-radius: 6px; }
.network-scale-switch button { min-width: 0; min-height: 36px; padding: 0 8px; color: #7f929b; background: transparent; border: 0; border-radius: 3px; cursor: pointer; font-family: var(--font-mono); font-size: 8px; font-weight: 800; white-space: nowrap; }
.network-scale-switch button:hover { color: var(--white); }
.network-scale-switch button:active { transform: scale(0.98); }
.network-scale-switch button.active { color: var(--ink); background: var(--cyan); }
.network-console-summary { min-height: 84px; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 22px; align-items: center; padding: 15px 2px; border-bottom: 1px solid #263942; }
.network-console-summary span, .network-console-summary small { display: block; color: #80959d; font-family: var(--font-mono); font-size: 7px; }
.network-console-summary strong { display: block; margin-top: 6px; font-size: 17px; line-height: 1.1; }
.network-console-summary small { margin-top: 5px; color: #82959d; }
.network-live-kpi { min-width: 112px; text-align: right; }
.network-live-kpi strong { color: var(--green); font-family: var(--font-mono); font-size: 26px; }
.network-topology { flex: 1; min-height: 250px; display: grid; grid-template-columns: 155px minmax(0, 1fr); gap: 14px; padding: 14px 0; }
.network-hierarchy-mini { display: grid; grid-template-rows: auto auto 20px auto auto 1fr; align-content: start; padding: 13px; background: var(--panel); border: 1px solid var(--panel-line); border-radius: 5px; }
.network-hierarchy-mini span { color: #8da0a8; font-family: var(--font-mono); font-size: 6px; }
.network-hierarchy-mini strong { margin-top: 5px; font-size: 10px; }
.network-hierarchy-mini > svg { width: 12px; align-self: center; color: var(--cyan); }
.network-hierarchy-mini small { align-self: end; color: var(--green); font-family: var(--font-mono); font-size: 6px; line-height: 1.45; }
.network-topology-canvas { position: relative; min-width: 0; overflow: hidden; background-color: #12130f; border: 1px solid rgba(255,255,255,.16); border-radius: 5px; }
.network-topology-canvas::before, .network-topology-canvas::after { content: ""; position: absolute; z-index: 0; background: #2c4854; opacity: .66; }
.network-topology-canvas::before { top: 50%; right: 20px; left: 20px; height: 1px; }
.network-topology-canvas::after { top: 18px; bottom: 18px; left: 50%; width: 1px; }
.network-core-node { position: absolute; top: 50%; left: 50%; z-index: 3; width: 104px; height: 76px; display: grid; align-content: center; justify-items: center; background: #263d34; border: 1px solid #007f70; border-radius: 5px; transform: translate(-50%, -50%); box-shadow: 0 0 0 8px rgba(201,245,74,.05), 0 0 28px rgba(201,245,74,.12); }
.network-core-node .ui-cshark-wordmark { width: 66px; height: 37px; }
.network-core-node span { color: var(--cyan); font-family: var(--font-mono); font-size: 5px; }
.network-object-grid { position: absolute; inset: 14px; z-index: 2; display: grid; align-content: space-between; justify-content: space-between; pointer-events: none; }
.network-object-grid.is-single { grid-template-columns: repeat(4, 42px); grid-template-rows: repeat(2, 38px); }
.network-object-grid.is-portfolio { grid-template-columns: repeat(8, 25px); grid-template-rows: repeat(3, 25px); }
.network-object-grid.is-global { grid-template-columns: repeat(12, 16px); grid-template-rows: repeat(4, 16px); }
.network-object-node { position: relative; min-width: 0; display: grid; place-items: center; color: #7f929b; background: #13252e; border: 1px solid #2b4652; border-radius: 3px; font-family: var(--font-mono); font-size: 6px; }
.network-object-node i { position: absolute; top: -2px; right: -2px; width: 5px; height: 5px; background: var(--green); border: 1px solid var(--panel-deep); border-radius: 50%; }
.network-object-node.warning i { background: var(--amber); }
.network-object-node.alert i { background: var(--red); }
.network-object-grid.is-global .network-object-node { font-size: 0; }
.network-node-remainder { position: absolute; right: 8px; bottom: 6px; z-index: 4; color: var(--cyan); font-family: var(--font-mono); font-size: 7px; }
.network-console-foot { min-height: 54px; display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid #263942; }
.network-console-foot div { display: grid; align-content: center; padding: 8px 10px; }
.network-console-foot div + div { border-left: 1px solid #263942; }
.network-console-foot span { color: #8da0a8; font-family: var(--font-mono); font-size: 6px; }
.network-console-foot strong { margin-top: 4px; color: #d7e1e5; font-family: var(--font-mono); font-size: 12px; }
.network-stat-strip strong { white-space: nowrap; }

.network-scale-modes { display: grid; grid-template-columns: minmax(0, 1fr) 92px minmax(0, 1fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.network-scale-modes article { min-height: 430px; display: flex; flex-direction: column; padding: 34px 38px 32px; }
.network-scale-modes article:first-child { padding-left: 0; }
.network-scale-modes article:last-child { padding-right: 0; }
.network-mode-head { display: flex; align-items: center; justify-content: space-between; color: var(--cyan-dark); font-family: var(--font-mono); font-size: 9px; }
.network-mode-head svg { width: 28px; height: 28px; }
.network-scale-modes h3 { max-width: 420px; margin: 70px 0 0; font-size: 31px; line-height: 1.08; }
.network-scale-modes p { max-width: 570px; margin: 18px 0 0; color: var(--muted); font-size: 13px; line-height: 1.72; }
.network-scale-modes ul { display: grid; gap: 9px; margin: 25px 0 0; padding: 0; list-style: none; }
.network-scale-modes li { color: #35474f; font-size: 11px; }
.network-scale-modes li::before { content: "+"; margin-right: 9px; color: var(--cyan-dark); font-family: var(--font-mono); }
.network-scale-modes article > small { margin-top: auto; padding-top: 24px; color: #5d6d73; font-family: var(--font-mono); font-size: 8px; }
.network-scale-bridge { position: relative; display: grid; grid-template-rows: 1fr 48px 1fr; justify-items: center; align-items: center; border-right: 1px solid var(--line); border-left: 1px solid var(--line); }
.network-scale-bridge > span { width: 1px; height: 100%; background: var(--line); }
.network-scale-bridge .ui-cshark-wordmark { width: 62px; height: 35px; }
.network-scale-bridge small { position: absolute; top: calc(50% + 42px); width: 110px; color: #5d6b70; font-family: var(--font-mono); font-size: 7px; text-align: center; transform: rotate(-90deg); }

.overlay-section { overflow: hidden; }
.overlay-workbench { background: var(--panel-deep); border: 1px solid var(--panel-line); border-radius: var(--radius); overflow: hidden; }
.adapter-selector { display: grid; grid-template-columns: repeat(4, 1fr); min-height: 64px; border-bottom: 1px solid #2a3e48; }
.adapter-selector button { display: flex; align-items: center; justify-content: center; gap: 9px; padding: 0 12px; color: #8f9386; background: var(--panel); border: 0; border-right: 1px solid var(--panel-line); cursor: pointer; font-size: 10px; font-weight: 800; }
.adapter-selector button:last-child { border-right: 0; }
.adapter-selector button:hover { color: var(--white); }
.adapter-selector button:active { transform: scale(.98); }
.adapter-selector button.active { color: var(--ink); background: var(--cyan); }
.adapter-selector svg { width: 17px; }
.overlay-flow { min-height: 290px; display: grid; grid-template-columns: minmax(135px,.85fr) 58px minmax(150px,.95fr) minmax(210px,1.25fr) 58px minmax(135px,.85fr); align-items: center; gap: 10px; padding: 30px 22px; }
.overlay-system, .overlay-adapter { min-width: 0; min-height: 160px; display: grid; align-content: center; justify-items: center; padding: 18px 12px; text-align: center; background: #101f27; border: 1px solid #2c414b; border-radius: 5px; }
.overlay-system > span, .overlay-adapter > span { color: #8da0a8; font-family: var(--font-mono); font-size: 6px; }
.overlay-system > svg { width: 30px; height: 30px; margin-top: 18px; color: var(--cyan); }
.overlay-system strong, .overlay-adapter strong { max-width: 100%; margin-top: 14px; font-size: 11px; line-height: 1.3; }
.overlay-system small, .overlay-adapter small { max-width: 100%; margin-top: 7px; color: #8da0a8; font-family: var(--font-mono); font-size: 6px; line-height: 1.5; overflow-wrap: anywhere; }
.overlay-adapter { border-color: #31505c; }
.overlay-adapter strong { color: var(--cyan); }
.overlay-core { min-height: 205px; display: grid; grid-template-columns: 1fr 28px 1fr; align-items: center; gap: 8px; padding: 20px 14px; background: #171814; border: 1px solid rgba(255,255,255,.16); border-radius: 5px; box-shadow: 0 0 34px rgba(201,245,74,.07); }
.overlay-core > div { min-width: 0; display: grid; justify-items: center; text-align: center; }
.overlay-core > div:first-of-type { grid-column: 1; grid-row: 1; }
.overlay-brand-module .ui-cshark-wordmark { width: 82px; height: 46px; margin-bottom: 4px; }
.overlay-core > svg { grid-column: 2; grid-row: 1; width: 22px; color: var(--cyan); }
.overlay-core > div:last-child { grid-column: 3; grid-row: 1; }
.overlay-core strong { font-size: 11px; }
.overlay-core span { margin-top: 5px; color: #79909a; font-size: 7px; line-height: 1.4; }
.overlay-wire { position: relative; height: 30px; }
.overlay-wire::before { content: ""; position: absolute; top: 50%; right: 0; left: 0; border-top: 1px solid #38545f; }
.overlay-wire::after { content: ">"; position: absolute; top: calc(50% - 8px); right: -1px; color: var(--cyan); font-family: var(--font-mono); font-size: 10px; }
.overlay-wire span, .overlay-wire b { position: absolute; top: calc(50% - 2px); left: 0; width: 4px; height: 4px; background: var(--cyan); border-radius: 50%; box-shadow: 0 0 8px var(--cyan); animation: overlayPacket 2.6s linear infinite; }
.overlay-wire b { animation-delay: .9s; }
.overlay-wire b + b { animation-delay: 1.8s; }
.overlay-wire small { position: absolute; top: 0; left: 50%; color: #8da0a8; font-family: var(--font-mono); font-size: 5px; transform: translateX(-50%); }
.overlay-wire-return::after { content: ">"; }
.overlay-contract { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid #2a3e48; }
.overlay-contract div { min-height: 90px; display: grid; align-content: center; padding: 14px 18px; }
.overlay-contract div + div { border-left: 1px solid #2a3e48; }
.overlay-contract span { color: #8da0a8; font-family: var(--font-mono); font-size: 6px; }
.overlay-contract strong { margin-top: 8px; color: #aebdc3; font-size: 9px; line-height: 1.45; }
.overlay-workbench.is-updating .overlay-adapter, .overlay-workbench.is-updating .overlay-system { animation: networkPanelIn 360ms var(--ease); }

.space-workbench { background: #f1f2e8; border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; box-shadow: 0 18px 60px rgba(16,17,15,.1); }
.space-workbench-head { min-height: 78px; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 20px; padding: 14px 20px; color: var(--white); background: var(--ink); }
.space-workbench-head > div:first-child span { display: block; color: #69808a; font-family: var(--font-mono); font-size: 7px; }
.space-workbench-head > div:first-child strong { display: block; margin-top: 5px; font-size: 15px; }
.space-selector { display: flex; gap: 4px; }
.space-selector button { min-width: 52px; min-height: 34px; padding: 0 8px; color: #8f9386; background: var(--panel-raised); border: 1px solid var(--panel-line); border-radius: 4px; cursor: pointer; font-family: var(--font-mono); font-size: 8px; font-weight: 800; }
.space-selector button:hover { color: var(--white); border-color: #4b6670; }
.space-selector button:active { transform: scale(.98); }
.space-selector button.active { color: var(--ink); background: var(--cyan); border-color: var(--cyan); }
.space-workbench-body { display: grid; grid-template-columns: minmax(250px,.7fr) minmax(390px,1.2fr) minmax(270px,.82fr); min-height: 540px; }
.space-map-panel, .space-profile-panel, .space-recommendation { min-width: 0; padding: 24px; }
.space-map-panel { background: #e6ecea; border-right: 1px solid var(--line); }
.space-row-label { display: flex; justify-content: space-between; color: #51636b; font-family: var(--font-mono); font-size: 7px; }
.space-row-label small { color: var(--green-dark); }
.space-row-visual { display: grid; grid-template-columns: repeat(10, minmax(0,1fr)); height: 270px; margin-top: 22px; background: #d8e0dd; border: 1px solid #bcc9c5; }
.space-row-visual button { position: relative; min-width: 0; display: flex; align-items: flex-start; justify-content: center; padding: 9px 2px; color: #4f6268; background: #eaf0ee; border: 0; border-right: 1px solid #bcc9c5; cursor: default; font-family: var(--font-mono); font-size: 6px; }
.space-row-visual button:last-child { border-right: 0; }
.space-row-visual button::after { content: ""; position: absolute; right: 3px; bottom: 4px; left: 3px; height: 150px; border: 1px dashed #a2b2ad; }
.space-row-visual button > i { position: absolute; right: 6px; bottom: 34px; left: 6px; z-index: 1; height: 82px; background: #75868d; border: 2px solid #eef2f1; border-radius: 4px 4px 7px 7px; box-shadow: inset 0 0 0 1px #4d5f67; }
.space-row-visual button.free > i, .space-row-visual button.reserved > i { display: none; }
.space-row-visual button.reserved { background: rgba(113,166,255,.17); }
.space-row-visual button.alert { background: rgba(255,154,170,.15); }
.space-row-visual button.charging { background: rgba(201,245,74,.24); }
.space-row-visual button.selected { color: var(--ink); background: rgba(201,245,74,.32); box-shadow: inset 0 -4px 0 var(--cyan-dark); }
.space-aisle-mini { min-height: 48px; display: flex; align-items: center; justify-content: space-between; padding: 0 12px; color: #43574f; background: #cfd9d6; border: 1px solid #b9c7c3; border-top: 0; font-family: var(--font-mono); font-size: 6px; }
.space-aisle-mini svg { width: 13px; color: var(--cyan-dark); }
.space-device-line { display: grid; gap: 8px; margin-top: 22px; color: #50636a; font-family: var(--font-mono); font-size: 6px; }
.space-device-line span { display: flex; align-items: center; gap: 7px; }
.space-device-line i { width: 5px; height: 5px; background: var(--green-dark); border-radius: 50%; }
.space-profile-panel { background: var(--white); border-right: 1px solid var(--line); }
.space-profile-head { min-height: 62px; display: flex; justify-content: space-between; gap: 18px; align-items: start; }
.space-profile-head span { color: #586b72; font-family: var(--font-mono); font-size: 7px; }
.space-profile-head h3 { margin: 4px 0 0; font-size: 25px; }
.space-status { flex: 0 0 auto; padding: 7px 9px; color: var(--green-dark); background: rgba(201,245,74,.2); border: 1px solid rgba(14,107,79,.2); border-radius: 3px; font-family: var(--font-mono); font-size: 7px; }
.space-status.is-busy { color: #52656d; background: #e2e8e6; border-color: #c8d3cf; }
.space-status.is-reserved { color: #3e69a7; background: rgba(113,166,255,.12); border-color: rgba(113,166,255,.34); }
.space-status.is-charging { color: var(--green-dark); }
.space-status.is-alert { color: var(--red); background: rgba(255,154,170,.1); border-color: rgba(255,154,170,.32); }
.space-chart-head { display: flex; justify-content: space-between; margin-top: 28px; color: #59696f; font-family: var(--font-mono); font-size: 7px; }
.space-chart-head strong { color: var(--text); font-size: 10px; }
.space-activity-chart { height: 128px; display: grid; grid-template-columns: repeat(24, 1fr); align-items: end; gap: 3px; margin-top: 12px; padding-bottom: 20px; border-bottom: 1px solid var(--line); }
.space-activity-chart i { position: relative; height: var(--h); min-height: 5px; background: #b9c8c4; border-radius: 2px 2px 0 0; }
.space-activity-chart i.busy { background: var(--cyan-dark); }
.space-activity-chart span { display: none; position: absolute; top: calc(100% + 7px); left: 0; color: #3b4e55; background: var(--white); font-family: var(--font-mono); font-size: 5px; font-style: normal; }
.space-activity-chart i:nth-child(1) span, .space-activity-chart i:nth-child(7) span, .space-activity-chart i:nth-child(13) span, .space-activity-chart i:nth-child(19) span { display: block; }
.space-metrics { display: grid; grid-template-columns: repeat(3,1fr); margin-top: 20px; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.space-metrics div { min-height: 78px; display: grid; align-content: center; padding: 9px 10px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.space-metrics span { color: #5d6b70; font-family: var(--font-mono); font-size: 5px; }
.space-metrics strong { margin-top: 7px; font-size: 10px; overflow-wrap: anywhere; }
.space-recommendation { color: var(--white); background: #102029; }
.space-rec-kicker { display: flex; align-items: center; gap: 8px; color: var(--cyan); font-family: var(--font-mono); font-size: 7px; }
.space-rec-kicker svg { width: 18px; }
.space-recommendation > strong { display: block; margin-top: 56px; font-size: 23px; line-height: 1.15; }
.space-recommendation > p { margin: 16px 0 0; color: #91a4ac; font-size: 11px; line-height: 1.65; }
.space-recommendation dl { margin: 34px 0 0; border-top: 1px solid #293d46; }
.space-recommendation dl div { min-height: 52px; display: flex; align-items: center; justify-content: space-between; gap: 12px; border-bottom: 1px solid #293d46; }
.space-recommendation dt { color: #8da0a8; font-family: var(--font-mono); font-size: 6px; }
.space-recommendation dd { margin: 0; color: #c5d1d6; font-family: var(--font-mono); font-size: 7px; text-align: right; }
.space-explain-button { min-height: 38px; display: flex; align-items: center; gap: 8px; margin-top: 24px; padding: 0; color: var(--cyan); background: transparent; border: 0; cursor: pointer; font-size: 9px; font-weight: 800; }
.space-explain-button svg { width: 15px; }
.space-explanation { margin-top: 9px; padding: 12px; color: #91a4ac; background: #152a34; border-left: 2px solid var(--cyan); font-size: 8px; line-height: 1.55; }

.decision-scenario-tabs { display: grid; grid-template-columns: repeat(4,1fr); border: 1px solid #2b3e47; border-bottom: 0; }
.decision-scenario-tabs button { min-height: 80px; display: grid; grid-template-columns: 28px 1fr; align-items: center; gap: 10px; padding: 12px 16px; color: #758a94; background: #0c171e; border: 0; border-right: 1px solid #2b3e47; cursor: pointer; text-align: left; }
.decision-scenario-tabs button:last-child { border-right: 0; }
.decision-scenario-tabs button:hover { color: var(--white); }
.decision-scenario-tabs button:active { transform: scale(.98); }
.decision-scenario-tabs button.active { color: var(--ink); background: var(--cyan); }
.decision-scenario-tabs span { font-family: var(--font-mono); font-size: 8px; }
.decision-scenario-tabs strong { font-size: 10px; }
.decision-engine-workbench { display: grid; grid-template-columns: minmax(280px,.78fr) minmax(430px,1.22fr); border: 1px solid var(--panel-line); background: var(--panel-deep); }
.decision-context { padding: 30px; border-right: 1px solid #2b3e47; }
.decision-context > span { color: var(--cyan); font-family: var(--font-mono); font-size: 8px; }
.decision-context h3 { margin: 58px 0 0; font-size: 28px; line-height: 1.1; }
.decision-context > p { margin: 15px 0 0; color: #8fa1a9; font-size: 11px; line-height: 1.65; }
.decision-guardrails { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 32px; }
.decision-guardrails span { display: flex; align-items: center; gap: 5px; padding: 6px 7px; color: #8fa4ad; background: #11222a; border: 1px solid #283e48; border-radius: 3px; font-family: var(--font-mono); font-size: 6px; }
.decision-guardrails svg { width: 12px; color: var(--green); }
.decision-pipeline { margin: 0; padding: 0; list-style: none; }
.decision-pipeline li { position: relative; min-height: 82px; display: grid; grid-template-columns: 42px 1fr; gap: 12px; align-items: center; padding: 12px 20px; border-bottom: 1px solid var(--panel-line); opacity: .38; transform: translateY(5px); }
.decision-pipeline li:last-child { border-bottom: 0; }
.decision-pipeline li > span { width: 32px; height: 32px; display: grid; place-items: center; color: #8f9386; background: var(--panel-raised); border: 1px solid var(--line-dark-strong); border-radius: 4px; font-family: var(--font-mono); font-size: 7px; }
.decision-pipeline small { display: block; color: #8da0a8; font-family: var(--font-mono); font-size: 6px; }
.decision-pipeline strong { display: block; margin-top: 5px; color: #c7d3d8; font-family: var(--font-mono); font-size: 9px; overflow-wrap: anywhere; }
.decision-pipeline.is-running li { animation: decisionStepIn 420ms var(--ease) forwards; }
.decision-pipeline.is-running li:nth-child(2) { animation-delay: 70ms; }
.decision-pipeline.is-running li:nth-child(3) { animation-delay: 140ms; }
.decision-pipeline.is-running li:nth-child(4) { animation-delay: 210ms; }
.decision-pipeline.is-running li:nth-child(5) { animation-delay: 280ms; }
.decision-pipeline.is-running li > span { border-color: rgba(201,245,74,.4); }
.decision-outcome { grid-column: 1 / -1; min-height: 92px; display: grid; grid-template-columns: 190px minmax(0,1fr) minmax(240px,.8fr); gap: 24px; align-items: center; padding: 18px 30px; color: var(--ink); background: var(--cyan); }
.decision-outcome span { font-family: var(--font-mono); font-size: 7px; }
.decision-outcome strong { font-size: 15px; }
.decision-outcome small { color: #195a63; font-size: 8px; line-height: 1.5; }

.network-governance-section { background: #f1f2e8; }
.governance-layout { display: grid; grid-template-columns: minmax(360px,.88fr) minmax(0,1.12fr); gap: 80px; align-items: center; }
.governance-hierarchy { display: grid; gap: 7px; }
.governance-hierarchy > div { min-height: 66px; display: grid; grid-template-columns: 38px minmax(0,1fr) auto; align-items: center; gap: 12px; padding: 10px 14px; background: var(--white); border: 1px solid var(--line); border-radius: 5px; }
.governance-hierarchy > div:nth-child(2) { margin-left: 26px; }
.governance-hierarchy > div:nth-child(3) { margin-left: 52px; }
.governance-hierarchy > div:nth-child(4) { margin-left: 78px; }
.governance-hierarchy > div:nth-child(5) { margin-left: 104px; }
.governance-hierarchy > div:nth-child(6) { margin-left: 130px; color: var(--white); background: var(--ink); }
.governance-hierarchy span { color: var(--cyan-dark); font-family: var(--font-mono); font-size: 8px; }
.governance-hierarchy strong { font-size: 13px; }
.governance-hierarchy small { color: #5d6b70; font-family: var(--font-mono); font-size: 6px; text-align: right; }
.governance-hierarchy > div:nth-child(6) small { color: #83969e; }
.governance-hierarchy > div:nth-child(6) > span { color: var(--cyan); }
.governance-controls { border-top: 1px solid var(--line); }
.governance-controls article { min-height: 104px; display: grid; grid-template-columns: 34px minmax(0,1fr) 90px; gap: 16px; align-items: center; border-bottom: 1px solid var(--line); }
.governance-controls svg { width: 25px; color: var(--cyan-dark); }
.governance-controls h3 { margin: 0; font-size: 17px; }
.governance-controls p { margin: 7px 0 0; color: var(--muted); font-size: 10px; line-height: 1.5; }
.governance-controls article > span { justify-self: end; color: var(--green-dark); font-family: var(--font-mono); font-size: 7px; text-transform: uppercase; }
.network-rollout-track { display: grid; grid-template-columns: repeat(4,1fr); margin: 0; padding: 0; border-top: 1px solid var(--line); border-left: 1px solid var(--line); list-style: none; }
.network-rollout-track li { min-height: 300px; display: grid; grid-template-rows: auto 1fr auto; padding: 26px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.network-rollout-track li > span { color: var(--cyan-dark); font-family: var(--font-mono); font-size: 11px; }
.network-rollout-track div { align-self: center; }
.network-rollout-track strong { font-size: 20px; }
.network-rollout-track p { margin: 12px 0 0; color: var(--muted); font-size: 11px; line-height: 1.6; }
.network-rollout-track small { color: #5d6b70; font-family: var(--font-mono); font-size: 7px; text-transform: uppercase; }
.network-final-cta { padding-block: 76px; }
.network-final-cta-layout { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 48px; align-items: center; }
.network-final-cta-layout > div > span { font-family: var(--font-mono); font-size: 9px; font-weight: 800; text-transform: uppercase; }
.network-final-cta h2 { max-width: 980px; margin: 14px 0 0; font-size: 40px; line-height: 1.1; }

/* Network preview on the overview page */
.network-preview-section { padding: 112px 0; overflow: hidden; }
.network-preview-layout { display: grid; grid-template-columns: minmax(0,.78fr) minmax(520px,1.22fr); gap: 90px; align-items: center; }
.network-preview-copy h2 { max-width: 700px; margin: 15px 0 0; font-size: 50px; line-height: 1.04; }
.network-preview-copy > p:not(.eyebrow) { max-width: 650px; margin: 24px 0 0; color: #93a4ac; font-size: 16px; line-height: 1.7; }
.network-preview-list { display: grid; gap: 0; margin: 30px 0 0; padding: 0; border-top: 1px solid var(--line-dark); list-style: none; }
.network-preview-list li { min-height: 52px; display: flex; align-items: center; gap: 10px; border-bottom: 1px solid var(--line-dark); color: #bdc9ce; font-size: 11px; }
.network-preview-list svg { width: 16px; color: var(--cyan); }
.network-preview-console { min-height: 580px; padding: 20px; background: var(--panel); border: 1px solid var(--panel-line); border-radius: var(--radius); box-shadow: var(--shadow); }
.network-preview-console-head { min-height: 48px; display: flex; align-items: center; justify-content: space-between; gap: 18px; color: #72847c; border-bottom: 1px solid #2b392f; font-family: var(--font-mono); font-size: 8px; }
.network-preview-console-head span:last-child { display: inline-flex; align-items: center; gap: 7px; color: var(--green); white-space: nowrap; }
.network-preview-console-head span:last-child i { width: 5px; height: 5px; border-radius: 50%; background: currentColor; box-shadow: 0 0 10px currentColor; }
.network-preview-topology { position: relative; height: 400px; margin-top: 16px; overflow: hidden; background-color: #12130f; border: 1px solid rgba(255,255,255,.16); border-radius: 5px; }
.network-preview-topology::after { content: ""; position: absolute; top: 52px; bottom: 52px; left: 50%; width: 1px; background: rgba(201,245,74,.24); transform: translateX(-50%); }
.network-preview-core { position: absolute; top: 50%; left: 50%; z-index: 4; width: 132px; height: 98px; display: grid; place-items: center; align-content: center; color: var(--white); background: #263d34; border: 1px solid #007f70; border-radius: 5px; transform: translate(-50%,-50%); box-shadow: 0 0 0 10px #12130f, 0 0 32px rgba(201,245,74,.14); }
.network-preview-core .ui-cshark-wordmark { width: 82px; height: 46px; }
.network-preview-core small { color: var(--cyan); font-family: var(--font-mono); font-size: 5px; }
.network-preview-sites { position: absolute; inset: 20px; z-index: 2; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); grid-template-rows: repeat(3,minmax(0,1fr)); gap: 10px clamp(144px,23%,210px); }
.network-preview-site { position: relative; min-width: 0; display: grid; grid-template-columns: 38px minmax(0,1fr); align-items: center; gap: 10px; padding: 10px 24px 10px 11px; color: #cbd3cb; background: #1d1f19; border: 1px solid #3a3d32; border-radius: 5px; }
.network-preview-site:nth-child(odd)::after, .network-preview-site:nth-child(even)::before { content: ""; position: absolute; top: 50%; z-index: -1; width: clamp(72px,12vw,112px); height: 1px; background: rgba(201,245,74,.28); }
.network-preview-site:nth-child(odd)::after { left: 100%; }
.network-preview-site:nth-child(even)::before { right: 100%; }
.network-preview-site > svg { width: 28px; height: 28px; padding: 5px; color: var(--cyan); border: 1px solid #3c5142; border-radius: 4px; }
.network-preview-site > div { min-width: 0; display: grid; }
.network-preview-site span { overflow: hidden; color: #7f9289; font-family: var(--font-mono); font-size: 7px; text-overflow: ellipsis; white-space: nowrap; }
.network-preview-site strong { margin-top: 2px; overflow: hidden; font-size: 11px; line-height: 1.25; text-overflow: ellipsis; white-space: nowrap; }
.network-preview-site small { margin-top: 4px; overflow: hidden; color: #9eaaa3; font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.network-preview-site > b { position: absolute; top: 9px; right: 9px; width: 5px; height: 5px; border-radius: 50%; background: var(--green); box-shadow: 0 0 10px rgba(201,245,74,.72); }
.network-preview-metrics { min-height: 82px; display: grid; grid-template-columns: repeat(4,1fr); margin-top: 16px; border-top: 1px solid #263943; }
.network-preview-metrics div { display: grid; align-content: center; padding: 10px 14px; }
.network-preview-metrics div + div { border-left: 1px solid #263943; }
.network-preview-metrics span { color: #8da0a8; font-family: var(--font-mono); font-size: 7px; }
.network-preview-metrics strong { margin-top: 7px; color: #d2dde1; font-family: var(--font-mono); font-size: 13px; }

/* Place dwell and aisle traffic analytics on the overview page */
.analytics-heatmap-section { padding: 124px 0 72px; background: #eef1ea; }
.analytics-heatmap-section + .functions-section { padding-top: 72px; }
.analytics-heatmap-section .section-heading h2 { max-width: 900px; }
.analytics-heatmap-workbench { margin-top: 58px; overflow: hidden; color: #d7dfdb; background: #101713; border: 1px solid #2a352e; border-radius: var(--radius); box-shadow: 0 28px 80px rgba(16,17,15,.16); }
.analytics-heatmap-toolbar { min-height: 80px; display: grid; grid-template-columns: minmax(220px,1fr) auto auto; align-items: center; gap: 22px; padding: 13px 18px; background: #0c110d; border-bottom: 1px solid #2a352e; }
.analytics-heatmap-brand { min-width: 0; display: flex; align-items: center; gap: 14px; }
.analytics-heatmap-brand img { width: 82px; height: 46px; object-fit: contain; }
.analytics-heatmap-brand div { min-width: 0; display: grid; gap: 4px; }
.analytics-heatmap-brand span, .analytics-heatmap-period span { color: #718078; font-family: var(--font-mono); font-size: 7px; }
.analytics-heatmap-brand strong { overflow: hidden; color: var(--white); font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.analytics-heatmap-switch { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 3px; padding: 3px; background: #171e1a; border: 1px solid #344038; border-radius: 6px; }
.analytics-heatmap-switch button { min-width: 184px; height: 42px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 0 14px; color: #8e9a94; background: transparent; border: 0; border-radius: 4px; cursor: pointer; font-size: 10px; font-weight: 700; transition: color 180ms ease, background 180ms ease, transform 180ms var(--ease); }
.analytics-heatmap-switch button:hover { color: var(--white); background: #243029; }
.analytics-heatmap-switch button:active { transform: translateY(1px); }
.analytics-heatmap-switch button.active { color: var(--ink); background: var(--cyan); }
.analytics-heatmap-switch svg { width: 15px; height: 15px; }
.analytics-heatmap-period { min-width: 116px; display: grid; justify-items: end; gap: 4px; }
.analytics-heatmap-period strong { color: #d7dfdb; font-family: var(--font-mono); font-size: 9px; }
.analytics-heatmap-body { display: grid; grid-template-columns: 250px minmax(540px,1fr) 280px; min-height: 620px; }
.analytics-heatmap-summary, .analytics-heatmap-detail { min-width: 0; padding: 30px 24px; background: #111a16; }
.analytics-heatmap-summary { border-right: 1px solid #2a352e; }
.analytics-heatmap-summary > span, .analytics-heatmap-detail-head span, .analytics-heatmap-use > span { color: var(--cyan); font-family: var(--font-mono); font-size: 7px; font-weight: 700; }
.analytics-heatmap-summary h3, .analytics-heatmap-detail h3 { margin: 18px 0 0; color: var(--white); font-size: 23px; line-height: 1.14; text-wrap: balance; }
.analytics-heatmap-summary > p, .analytics-heatmap-detail > p { margin: 16px 0 0; color: #8f9d96; font-size: 11px; line-height: 1.65; }
.analytics-heatmap-summary dl { display: grid; margin: 34px 0 0; }
.analytics-heatmap-summary dl > div { min-height: 88px; display: grid; align-content: center; gap: 5px; border-top: 1px solid #2a352e; }
.analytics-heatmap-summary dt, .analytics-heatmap-detail dt { color: #8fa099; font-size: 8px; }
.analytics-heatmap-summary dd, .analytics-heatmap-detail dd { margin: 0; color: var(--white); font-family: var(--font-mono); font-size: 18px; font-weight: 750; }
.analytics-heatmap-summary small { color: #8fa099; font-size: 7px; }
.analytics-heatmap-map { min-width: 0; padding: 20px; background: #e6ebe5; }
.analytics-heatmap-map-head { min-height: 44px; display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.analytics-heatmap-map-head > div { display: grid; gap: 5px; }
.analytics-heatmap-map-head > div span { color: #4f6158; font-family: var(--font-mono); font-size: 7px; }
.analytics-heatmap-map-head > div strong { color: var(--text); font-size: 12px; }
.analytics-heatmap-map-head > span { display: inline-flex; align-items: center; gap: 6px; color: #52645c; font-family: var(--font-mono); font-size: 6px; }
.analytics-heatmap-map-head > span i { width: 6px; height: 6px; background: var(--green-dark); border-radius: 50%; box-shadow: 0 0 0 3px rgba(14,107,79,.1); }
.analytics-heatmap-canvas { margin-top: 10px; overflow-x: auto; overscroll-behavior-inline: contain; background: #d9e0da; border: 1px solid #bac6be; }
.analytics-heatmap-plan { position: relative; min-width: 620px; min-height: 492px; display: grid; grid-template-columns: minmax(0,1fr) 72px; gap: 10px; padding: 12px; }
.analytics-heatmap-pairs { min-width: 0; display: grid; gap: 13px; }
.analytics-heatmap-pair { min-width: 0; display: grid; grid-template-rows: 48px 60px 48px; }
.analytics-heatmap-row { min-width: 0; display: grid; grid-template-columns: repeat(10,minmax(0,1fr)); gap: 4px; }
.analytics-heatmap-spot { position: relative; min-width: 0; display: grid; align-content: space-between; justify-items: center; padding: 6px 3px; overflow: hidden; color: #42534a; background: #edf1ed; border: 1px solid #aebcb3; border-radius: 2px; cursor: pointer; font-family: var(--font-mono); transition: color 180ms ease, background 220ms ease, border-color 180ms ease, transform 180ms var(--ease), opacity 180ms ease; }
.analytics-heatmap-spot span { position: relative; z-index: 2; font-size: 6px; }
.analytics-heatmap-spot i { position: relative; z-index: 2; width: 54%; height: 3px; background: currentColor; border-radius: 2px; opacity: .64; }
.analytics-heatmap-row.faces-down .analytics-heatmap-spot { align-content: end; }
.analytics-heatmap-row.faces-down .analytics-heatmap-spot span { order: 2; }
.analytics-heatmap-row.faces-down .analytics-heatmap-spot i { order: 1; }
.analytics-heatmap-lane { position: relative; min-width: 0; display: grid; grid-template-columns: 110px 1fr 80px; align-items: center; gap: 10px; padding: 0 14px; overflow: visible; color: #3f5148; background: #cbd4cd; border: 1px solid #aab8af; cursor: pointer; transition: color 180ms ease, background 220ms ease, border-color 180ms ease, box-shadow 220ms ease; }
.analytics-heatmap-lane > span { font-family: var(--font-mono); font-size: 6px; text-align: left; }
.analytics-heatmap-lane > strong { font-family: var(--font-mono); font-size: 7px; text-align: right; }
.analytics-heatmap-lane > div { display: flex; align-items: center; justify-content: center; gap: 22px; }
.analytics-heatmap-lane > div i { width: 9px; height: 9px; border-right: 1px solid currentColor; border-bottom: 1px solid currentColor; transform: rotate(-45deg); opacity: .56; }
.analytics-heatmap-camera { position: absolute; z-index: 2; top: 50%; width: 22px; height: 18px; display: grid; place-items: center; color: #0e6b4f; background: #edf1ed; border: 1px solid #92a79a; border-radius: 3px; transform: translateY(-50%); }
.analytics-heatmap-camera svg { width: 11px; height: 11px; }
.analytics-heatmap-camera.camera-one { left: 24%; }
.analytics-heatmap-camera.camera-two { left: 50%; transform: translate(-50%, -50%); }
.analytics-heatmap-camera.camera-three { right: 24%; }
.analytics-heatmap-collector { position: relative; min-width: 0; display: grid; justify-items: center; align-content: center; gap: 20px; padding: 12px 6px; color: #3f5148; background: #cbd4cd; border: 1px solid #aab8af; cursor: pointer; transition: color 180ms ease, background 220ms ease, border-color 180ms ease, box-shadow 220ms ease; }
.analytics-heatmap-collector > span { writing-mode: vertical-rl; color: currentColor; font-family: var(--font-mono); font-size: 6px; transform: rotate(180deg); }
.analytics-heatmap-collector > div { display: grid; gap: 14px; }
.analytics-heatmap-collector > div i { width: 9px; height: 9px; border-right: 1px solid currentColor; border-bottom: 1px solid currentColor; transform: rotate(45deg); opacity: .56; }
.analytics-heatmap-collector > strong { display: grid; justify-items: center; color: currentColor; font-family: var(--font-mono); font-size: 12px; }
.analytics-heatmap-collector > strong small { font-size: 5px; font-weight: 500; }
.analytics-heatmap-workbench [data-level="0"] { --analytics-heat: #31594f; --analytics-heat-text: #d9e9e3; }
.analytics-heatmap-workbench [data-level="1"] { --analytics-heat: #0f806b; --analytics-heat-text: #ecfff8; }
.analytics-heatmap-workbench [data-level="2"] { --analytics-heat: #9eaf39; --analytics-heat-text: #152014; }
.analytics-heatmap-workbench [data-level="3"] { --analytics-heat: #d49b45; --analytics-heat-text: #24180a; }
.analytics-heatmap-workbench [data-level="4"] { --analytics-heat: #db7374; --analytics-heat-text: #2a1012; }
.analytics-heatmap-workbench[data-mode="dwell"] .analytics-heatmap-spot { color: var(--analytics-heat-text); background: var(--analytics-heat); border-color: rgba(255,255,255,.2); }
.analytics-heatmap-workbench[data-mode="traffic"] .analytics-heatmap-spot { color: #607068; background: #d8dfda; border-color: #b4c0b8; opacity: .72; }
.analytics-heatmap-workbench[data-mode="traffic"] .analytics-heatmap-lane, .analytics-heatmap-workbench[data-mode="traffic"] .analytics-heatmap-collector { color: var(--analytics-heat-text); background: var(--analytics-heat); border-color: rgba(255,255,255,.28); }
.analytics-heatmap-spot.selected, .analytics-heatmap-lane.selected, .analytics-heatmap-collector.selected { z-index: 4; border-color: var(--white); outline: 2px solid #101713; outline-offset: 2px; box-shadow: 0 0 0 4px rgba(201,245,74,.42), 0 8px 18px rgba(16,17,15,.2); transform: translateY(-1px); }
.analytics-heatmap-spot:not(:disabled):hover, .analytics-heatmap-lane:not(:disabled):hover, .analytics-heatmap-collector:not(:disabled):hover { border-color: var(--white); transform: translateY(-1px); }
.analytics-heatmap-spot:focus-visible, .analytics-heatmap-lane:focus-visible, .analytics-heatmap-collector:focus-visible, .analytics-heatmap-switch button:focus-visible { outline: 2px solid var(--cyan); outline-offset: 2px; }
.analytics-heatmap-spot:disabled, .analytics-heatmap-lane:disabled, .analytics-heatmap-collector:disabled { cursor: default; }
.analytics-heatmap-workbench[data-mode="traffic"] .analytics-heatmap-lane > div i { animation: analyticsTrafficFlow 1.8s linear infinite; }
.analytics-heatmap-workbench[data-mode="traffic"] .analytics-heatmap-lane > div i:nth-child(2) { animation-delay: -.6s; }
.analytics-heatmap-workbench[data-mode="traffic"] .analytics-heatmap-lane > div i:nth-child(3) { animation-delay: -1.2s; }
@keyframes analyticsTrafficFlow { 0% { opacity: .18; transform: translateX(-8px) rotate(-45deg); } 50% { opacity: .9; } 100% { opacity: .18; transform: translateX(8px) rotate(-45deg); } }
.analytics-heatmap-legend { min-height: 48px; display: flex; flex-wrap: wrap; align-items: center; gap: 9px 16px; padding-top: 12px; }
.analytics-heatmap-legend span { display: inline-flex; align-items: center; gap: 6px; color: #52645c; font-family: var(--font-mono); font-size: 7px; }
.analytics-heatmap-legend i { width: 18px; height: 8px; background: var(--analytics-heat); border: 1px solid rgba(16,17,15,.12); }
.analytics-heatmap-detail { border-left: 1px solid #2a352e; }
.analytics-heatmap-detail-head { display: flex; align-items: center; justify-content: space-between; }
.analytics-heatmap-detail-head svg { width: 18px; height: 18px; color: var(--cyan); }
.analytics-heatmap-detail dl { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1px; margin: 30px 0 0; background: #2a352e; }
.analytics-heatmap-detail dl > div { min-height: 82px; display: grid; align-content: center; gap: 7px; padding: 11px; background: #141e19; }
.analytics-heatmap-detail dd { font-size: 13px; }
.analytics-heatmap-use { margin-top: 30px; padding-top: 24px; border-top: 1px solid #2a352e; }
.analytics-heatmap-use p { margin: 12px 0 0; color: #93a099; font-size: 10px; line-height: 1.65; }
.analytics-heatmap-note { min-height: 76px; display: grid; grid-template-columns: 18px minmax(0,1fr) auto; align-items: center; gap: 14px; padding: 14px 20px; background: #0c110d; border-top: 1px solid #2a352e; }
.analytics-heatmap-note > svg { width: 16px; height: 16px; color: var(--cyan); }
.analytics-heatmap-note p { max-width: 920px; margin: 0; color: #7d8b84; font-size: 9px; line-height: 1.55; }
.analytics-heatmap-note a { min-height: 40px; display: inline-flex; align-items: center; gap: 8px; color: var(--white); font-size: 9px; font-weight: 700; text-decoration: none; }
.analytics-heatmap-note a:hover { color: var(--cyan); }
.analytics-heatmap-note a svg { width: 14px; }

@media (max-width: 1240px) {
  .analytics-heatmap-body { grid-template-columns: 220px minmax(500px,1fr) 244px; }
  .analytics-heatmap-summary, .analytics-heatmap-detail { padding-inline: 19px; }
  .analytics-heatmap-switch button { min-width: 164px; }
}

@media (max-width: 1040px) {
  .analytics-heatmap-toolbar { grid-template-columns: 1fr auto; }
  .analytics-heatmap-switch { grid-column: 1 / -1; grid-row: 2; }
  .analytics-heatmap-switch button { min-width: 0; }
  .analytics-heatmap-body { grid-template-columns: 230px minmax(0,1fr); }
  .analytics-heatmap-detail { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(170px,.7fr) minmax(220px,1fr) minmax(260px,1.2fr); gap: 24px; align-items: start; border-top: 1px solid #2a352e; border-left: 0; }
  .analytics-heatmap-detail > h3 { grid-column: 1; margin-top: 14px; }
  .analytics-heatmap-detail > p { grid-column: 1; }
  .analytics-heatmap-detail dl { grid-column: 2; grid-row: 1 / 4; margin: 0; }
  .analytics-heatmap-use { grid-column: 3; grid-row: 1 / 4; margin: 0; padding: 0; border: 0; }
}

@media (max-width: 760px) {
  .analytics-heatmap-section { padding: 88px 0 64px; }
  .analytics-heatmap-workbench { margin-top: 38px; }
  .analytics-heatmap-toolbar { grid-template-columns: 1fr; gap: 12px; padding: 16px; }
  .analytics-heatmap-period { justify-items: start; }
  .analytics-heatmap-switch { grid-column: auto; grid-row: auto; }
  .analytics-heatmap-switch button { min-height: 48px; height: auto; padding-block: 8px; font-size: 9px; }
  .analytics-heatmap-body { grid-template-columns: 1fr; }
  .analytics-heatmap-summary { border-right: 0; border-bottom: 1px solid #2a352e; }
  .analytics-heatmap-summary dl { grid-template-columns: repeat(3,minmax(0,1fr)); margin-top: 26px; border-top: 1px solid #2a352e; }
  .analytics-heatmap-summary dl > div { min-height: 92px; padding: 8px; border-top: 0; }
  .analytics-heatmap-summary dl > div + div { border-left: 1px solid #2a352e; }
  .analytics-heatmap-summary dd { font-size: 13px; }
  .analytics-heatmap-map { padding: 14px; }
  .analytics-heatmap-map-head { align-items: flex-start; flex-direction: column; }
  .analytics-heatmap-detail { display: block; padding: 24px 20px; }
  .analytics-heatmap-detail > h3, .analytics-heatmap-detail > p, .analytics-heatmap-detail dl, .analytics-heatmap-use { grid-column: auto; grid-row: auto; }
  .analytics-heatmap-detail dl { margin-top: 24px; }
  .analytics-heatmap-use { margin-top: 24px; padding-top: 20px; border-top: 1px solid #2a352e; }
  .analytics-heatmap-note { grid-template-columns: 18px minmax(0,1fr); }
  .analytics-heatmap-note a { grid-column: 2; justify-self: start; }
}

@media (max-width: 480px) {
  .analytics-heatmap-brand img { width: 68px; }
  .analytics-heatmap-brand strong { font-size: 11px; }
  .analytics-heatmap-switch { grid-template-columns: 1fr; }
  .analytics-heatmap-summary h3, .analytics-heatmap-detail h3 { font-size: 21px; }
  .analytics-heatmap-summary dl { grid-template-columns: 1fr; }
  .analytics-heatmap-summary dl > div { min-height: 72px; }
  .analytics-heatmap-summary dl > div + div { border-top: 1px solid #2a352e; border-left: 0; }
  .analytics-heatmap-plan { min-width: 620px; }
}

.product-contour-link { display: block; color: inherit; text-decoration: none; transition: transform 200ms var(--ease), border-color 200ms ease; }
.product-contour-link:hover { border-color: var(--cyan-dark); transform: translateY(-3px); }

@keyframes overlayPacket { from { transform: translateX(0); opacity: 0; } 12%,82% { opacity: 1; } to { transform: translateX(54px); opacity: 0; } }
@keyframes networkPanelIn { from { opacity: .45; transform: translateY(6px); } to { opacity: 1; transform: none; } }
@keyframes decisionStepIn { to { opacity: 1; transform: none; } }

@media (max-width: 1180px) {
  .network-page .inner-hero h1 { font-size: 51px; }
  .network-hero .inner-hero-layout { grid-template-columns: minmax(0,.8fr) minmax(500px,1.2fr); gap: 34px; }
  .network-scale-modes { grid-template-columns: minmax(0,1fr) 72px minmax(0,1fr); }
  .overlay-flow { grid-template-columns: minmax(120px,.8fr) 38px minmax(130px,.9fr) minmax(190px,1.2fr) 38px minmax(120px,.8fr); gap: 6px; padding-inline: 14px; }
  .space-workbench-body { grid-template-columns: minmax(0,.8fr) minmax(380px,1.2fr); }
  .space-recommendation { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(250px,.7fr) minmax(0,1.3fr); gap: 8px 42px; }
  .space-recommendation > strong { margin-top: 30px; }
  .space-recommendation > p { margin-top: 30px; }
  .space-recommendation dl { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3,1fr); }
  .space-recommendation dl div { padding-inline: 12px; border: 1px solid #293d46; }
  .space-explain-button, .space-explanation { grid-column: 1 / -1; }
  .governance-layout { gap: 46px; }
  .network-preview-layout { grid-template-columns: minmax(0,.78fr) minmax(470px,1.22fr); gap: 50px; }
}

@media (max-width: 980px) {
  .network-hero { min-height: auto; }
  .network-hero .inner-hero-layout { grid-template-columns: 1fr; gap: 34px; }
  .network-page .inner-hero h1 { font-size: 58px; }
  .network-hero-copy { max-width: 760px; }
  .network-hero-visual { min-height: 470px; }
  .network-scale-modes { grid-template-columns: 1fr 58px 1fr; }
  .network-scale-modes article { padding-inline: 26px; }
  .network-scale-modes h3 { margin-top: 48px; }
  .overlay-flow { grid-template-columns: 1fr; gap: 0; padding: 20px; }
  .overlay-system, .overlay-adapter { min-height: 112px; }
  .overlay-system > svg { margin-top: 10px; }
  .overlay-system strong, .overlay-adapter strong { margin-top: 8px; }
  .overlay-wire { width: 30px; height: 34px; justify-self: center; }
  .overlay-wire::before { top: 0; bottom: 0; left: 50%; border-top: 0; border-left: 1px solid #38545f; }
  .overlay-wire::after { content: "v"; top: auto; right: auto; bottom: -2px; left: calc(50% - 3px); }
  .overlay-wire span, .overlay-wire b { top: 0; left: calc(50% - 2px); animation-name: overlayPacketMobile; }
  .overlay-wire small { top: 12px; left: calc(50% + 14px); }
  .overlay-core { width: 100%; min-height: 130px; }
  .overlay-contract { grid-template-columns: repeat(2,1fr); }
  .overlay-contract div:nth-child(3) { border-top: 1px solid #2a3e48; border-left: 0; }
  .overlay-contract div:nth-child(4) { border-top: 1px solid #2a3e48; }
  .decision-engine-workbench { grid-template-columns: 1fr; }
  .decision-context { border-right: 0; border-bottom: 1px solid #2b3e47; }
  .decision-context h3 { margin-top: 34px; }
  .decision-outcome { grid-template-columns: 150px minmax(0,1fr); }
  .decision-outcome small { grid-column: 1 / -1; }
  .governance-layout { grid-template-columns: 1fr; }
  .governance-hierarchy { max-width: 650px; }
  .network-rollout-track { grid-template-columns: repeat(2,1fr); }
  .network-preview-layout { grid-template-columns: 1fr; }
  .network-preview-copy { max-width: 760px; }
  .network-preview-console { width: min(720px,100%); }
}

@media (max-width: 1080px) {
  .governance-layout { grid-template-columns: 1fr; }
  .governance-hierarchy { max-width: 650px; }
}

@media (max-width: 680px) {
  .network-hero .inner-hero-layout { gap: 20px; padding: 26px 0 18px; }
  .network-page .inner-hero h1 { font-size: 41px; }
  .network-hero .inner-lead { margin-top: 18px; font-size: 14px; line-height: 1.52; }
  .network-hero .inner-actions { display: grid; grid-template-columns: 1fr; margin-top: 20px; }
  .network-hero .inner-actions .button { min-height: 44px; font-size: 12px; }
  .network-hero .inner-actions .button-dark { display: none; }
  .network-hero-visual { min-height: 270px; padding: 10px; }
  .network-scale-switch { margin-top: 10px; }
  .network-scale-switch button { min-height: 31px; padding-inline: 3px; font-size: 6px; }
  .network-console-summary { min-height: 54px; padding-block: 6px; }
  .network-console-summary strong { font-size: 12px; }
  .network-console-summary small { max-width: 175px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .network-live-kpi { min-width: 82px; }
  .network-live-kpi strong { font-size: 18px; }
  .network-topology { min-height: 76px; grid-template-columns: 1fr; padding: 6px 0; }
  .network-hierarchy-mini { display: none; }
  .network-core-node { width: 76px; height: 58px; }
  .network-core-node .ui-cshark-wordmark { width: 50px; height: 28px; }
  .network-core-node strong { font-size: 8px; }
  .network-object-grid { inset: 7px; }
  .network-object-grid.is-single { grid-template-columns: repeat(4,31px); grid-template-rows: repeat(2,26px); }
  .network-object-grid.is-portfolio { grid-template-columns: repeat(8,18px); grid-template-rows: repeat(3,18px); }
  .network-object-grid.is-global { grid-template-columns: repeat(12,10px); grid-template-rows: repeat(4,10px); }
  .network-console-foot { min-height: 34px; }
  .network-console-foot div { padding: 4px 5px; }
  .network-console-foot span { font-size: 5px; }
  .network-console-foot strong { font-size: 9px; }
  .network-scale-modes { grid-template-columns: 1fr; border-bottom: 0; }
  .network-scale-modes article { min-height: 390px; padding: 26px 0; border-bottom: 1px solid var(--line); }
  .network-scale-modes h3 { margin-top: 42px; font-size: 28px; }
  .network-scale-bridge { display: none; }
  .adapter-selector button { min-height: 56px; gap: 4px; padding: 4px; font-size: 7px; }
  .adapter-selector svg { width: 14px; }
  .overlay-flow { padding: 14px; }
  .overlay-core { grid-template-columns: 1fr 20px 1fr; }
  .overlay-brand-module .ui-cshark-wordmark { width: 66px; height: 37px; }
  .overlay-contract { grid-template-columns: 1fr; }
  .overlay-contract div { min-height: 74px; }
  .overlay-contract div:nth-child(n) { border-top: 1px solid #2a3e48; border-left: 0; }
  .overlay-contract div:first-child { border-top: 0; }
  .space-workbench-head { grid-template-columns: 1fr; }
  .space-selector { overflow-x: auto; }
  .space-selector button { flex: 0 0 50px; }
  .space-workbench-body { grid-template-columns: 1fr; }
  .space-map-panel, .space-profile-panel, .space-recommendation { padding: 18px; border-right: 0; border-bottom: 1px solid var(--line); }
  .space-row-visual { height: 220px; }
  .space-row-visual button { font-size: 5px; }
  .space-row-visual button::after { height: 122px; }
  .space-row-visual button > i { right: 3px; bottom: 31px; left: 3px; height: 66px; }
  .space-metrics { grid-template-columns: repeat(2,1fr); }
  .space-recommendation { display: block; }
  .space-recommendation > strong { margin-top: 36px; }
  .space-recommendation > p { margin-top: 14px; }
  .space-recommendation dl { display: block; }
  .decision-scenario-tabs { grid-template-columns: repeat(2,1fr); }
  .decision-scenario-tabs button { min-height: 66px; border-bottom: 1px solid #2b3e47; }
  .decision-scenario-tabs button:nth-child(2) { border-right: 0; }
  .decision-context { padding: 22px 18px; }
  .decision-context h3 { font-size: 23px; }
  .decision-pipeline li { padding-inline: 14px; }
  .decision-outcome { grid-template-columns: 1fr; gap: 8px; padding: 18px; }
  .decision-outcome small { grid-column: auto; }
  .governance-hierarchy > div:nth-child(n) { margin-left: 0; grid-template-columns: 32px 1fr; }
  .governance-hierarchy small { grid-column: 2; text-align: left; }
  .governance-controls article { grid-template-columns: 28px 1fr; padding: 16px 0; }
  .governance-controls article > span { grid-column: 2; justify-self: start; }
  .network-rollout-track { grid-template-columns: 1fr; }
  .network-rollout-track li { min-height: 230px; }
  .network-final-cta-layout { grid-template-columns: 1fr; gap: 28px; }
  .network-final-cta h2 { font-size: 31px; }
  .network-final-cta .button { justify-self: start; }
  .network-preview-section { padding: 88px 0; }
  .network-preview-copy h2 { font-size: 36px; }
  .network-preview-copy > p:not(.eyebrow) { font-size: 15px; }
  .network-preview-console { min-height: 0; padding: 12px; }
  .network-preview-console-head { min-height: 44px; gap: 10px; font-size: 6px; }
  .network-preview-topology { height: auto; padding: 12px; }
  .network-preview-topology::after { display: none; }
  .network-preview-core { position: relative; top: auto; left: auto; width: 100%; height: 78px; transform: none; box-shadow: none; }
  .network-preview-core .ui-cshark-wordmark { width: 72px; height: 40px; }
  .network-preview-sites { position: relative; inset: auto; grid-template-columns: repeat(2,minmax(0,1fr)); grid-template-rows: repeat(3,minmax(88px,auto)); gap: 8px; margin-top: 10px; }
  .network-preview-site { min-height: 88px; grid-template-columns: 28px minmax(0,1fr); gap: 7px; padding: 8px 13px 8px 8px; }
  .network-preview-site:nth-child(odd)::after, .network-preview-site:nth-child(even)::before { display: none; }
  .network-preview-site > svg { width: 21px; height: 21px; padding: 4px; }
  .network-preview-site span { font-size: 5px; }
  .network-preview-site strong { overflow: visible; font-size: 9px; line-height: 1.2; white-space: normal; }
  .network-preview-site small { overflow: visible; font-size: 6px; line-height: 1.3; white-space: normal; }
  .network-preview-site > b { top: 7px; right: 7px; }
  .network-preview-metrics { grid-template-columns: repeat(2,1fr); }
  .network-preview-metrics div { min-height: 62px; padding-inline: 8px; }
  .network-preview-metrics div:nth-child(3) { border-top: 1px solid #263943; border-left: 0; }
  .network-preview-metrics div:nth-child(4) { border-top: 1px solid #263943; }
  .network-preview-metrics strong { font-size: 10px; }
}

@keyframes overlayPacketMobile { from { transform: translateY(0); opacity: 0; } 12%,82% { opacity: 1; } to { transform: translateY(34px); opacity: 0; } }

@media (prefers-reduced-motion: reduce) {
  .overlay-wire span, .overlay-wire b, .decision-pipeline.is-running li, .overlay-workbench.is-updating .overlay-adapter, .overlay-workbench.is-updating .overlay-system { animation: none; opacity: 1; transform: none; }
}

/* Conversion hero with product result */
.hero-conversion { min-height: 1000px; display: block; overflow: visible; }
.hero-conversion .hero-media { animation: heroPanContained 18s ease-in-out infinite alternate; transform: none; }
.hero-conversion .hero-shade { background: linear-gradient(90deg, rgba(16,17,15,.97) 0%, rgba(16,17,15,.9) 42%, rgba(16,17,15,.34) 70%, rgba(16,17,15,.08) 100%), linear-gradient(0deg, rgba(16,17,15,.68) 0%, transparent 50%); }
.hero-conversion .hero-content { min-height: 1000px; display: block; padding-top: 128px; padding-bottom: 350px; }
.hero-conversion .hero-copy { width: min(920px, 100%); max-width: none; }
.hero-conversion-title { max-width: 920px; margin: 0; color: var(--white); font-size: 60px; font-weight: 780; line-height: 1.02; letter-spacing: 0; }
.hero-conversion-title > span { color: var(--cyan); }
.hero-conversion .hero-lead { max-width: 720px; margin-top: 20px; font-size: 18px; line-height: 1.55; }
.hero-configurator { width: min(720px, 100%); display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 8px; margin-top: 26px; }
.hero-config-object { grid-column: 1 / -1; min-height: 50px; display: grid; grid-template-columns: 170px minmax(0,1fr); align-items: center; gap: 14px; }
.hero-config-object > span, .hero-config-field > span { color: rgba(255,255,255,.66); font-size: 11px; font-weight: 650; }
.hero-object-switch { display: grid; grid-template-columns: repeat(3,1fr); gap: 4px; padding: 4px; background: rgba(13,25,33,.78); border: 1px solid rgba(255,255,255,.18); border-radius: 7px; backdrop-filter: blur(16px); }
.hero-object-switch button { min-height: 38px; min-width: 0; padding: 0 10px; color: #9fb0b8; background: transparent; border: 0; border-radius: 4px; cursor: pointer; font-size: 11px; font-weight: 750; }
.hero-object-switch button:hover { color: var(--white); }
.hero-object-switch button:active { transform: scale(.98); }
.hero-object-switch button.active { color: var(--ink); background: var(--white); }
.hero-config-field { min-height: 62px; display: grid; align-content: center; gap: 4px; padding: 8px 14px; background: rgba(13,25,33,.76); border: 1px solid rgba(255,255,255,.19); border-radius: var(--radius); backdrop-filter: blur(16px); }
.hero-config-field:focus-within { border-color: var(--cyan); box-shadow: 0 0 0 1px rgba(201,245,74,.28); }
.hero-config-field input, .hero-config-field select { width: 100%; height: 25px; padding: 0; color: var(--white); background: transparent; border: 0; outline: 0; font-size: 14px; font-weight: 700; }
.hero-config-field input::placeholder { color: #728790; font-weight: 500; }
.hero-config-field select { color-scheme: dark; cursor: pointer; }
.hero-config-submit { min-height: 62px; }
.hero-config-note { grid-column: 1 / -1; margin: 2px 0 0; color: rgba(255,255,255,.4); font-size: 9px; text-align: center; }

.hero-product-wrap { position: absolute; right: 0; bottom: -220px; left: 0; z-index: 6; pointer-events: none; }
.hero-product-showcase { position: relative; width: min(1240px, calc(100% - 96px)); height: 540px; margin: 0 auto; overflow: visible; color: var(--text); background: #eff3f1; border: 1px solid rgba(255,255,255,.5); border-radius: var(--radius); box-shadow: 0 38px 110px rgba(2,9,14,.42); pointer-events: auto; }
.hero-product-toolbar { height: 60px; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 0 18px; color: var(--white); background: var(--panel-deep); border-radius: 7px 7px 0 0; }
.hero-product-toolbar > div { display: flex; align-items: center; gap: 10px; }
.hero-product-toolbar img { width: 34px; height: 34px; }
.hero-product-toolbar .ui-cshark-wordmark { width: 78px; height: 44px; }
.hero-product-toolbar span { display: grid; }
.hero-product-toolbar strong { font-size: 11px; }
.hero-product-toolbar small { color: #6f838c; font-family: var(--font-mono); font-size: 6px; }
.hero-product-status span { display: flex; grid-auto-flow: column; align-items: center; gap: 6px; color: var(--green); font-family: var(--font-mono); font-size: 6px; text-transform: uppercase; }
.hero-product-status span i { width: 5px; height: 5px; background: var(--green); border-radius: 50%; box-shadow: 0 0 8px var(--green); }
.hero-product-status b { padding: 6px 8px; color: #a4a89b; background: var(--panel-raised); border: 1px solid var(--panel-line); border-radius: 3px; font-family: var(--font-mono); font-size: 6px; }
.hero-product-body { height: calc(100% - 60px); display: grid; grid-template-columns: 62px minmax(0,1fr) 286px; }
.hero-product-rail { display: grid; align-content: start; justify-items: center; gap: 6px; padding-top: 16px; background: var(--white); border-right: 1px solid var(--line); border-radius: 0 0 0 7px; }
.hero-product-rail button { width: 38px; height: 38px; display: grid; place-items: center; padding: 0; color: #8a999f; background: transparent; border: 0; border-radius: 5px; cursor: pointer; }
.hero-product-rail button:hover { color: var(--cyan-dark); background: #f1f2e8; }
.hero-product-rail button.active { color: var(--ink); background: var(--cyan); }
.hero-product-rail svg { width: 17px; }
.hero-product-main { min-width: 0; padding: 18px; overflow: hidden; }
.hero-product-heading { min-height: 48px; display: flex; align-items: start; justify-content: space-between; gap: 20px; }
.hero-product-heading small { color: #4f6269; font-family: var(--font-mono); font-size: 6px; }
.hero-product-heading h2 { margin: 4px 0 0; font-size: 21px; line-height: 1.1; }
.hero-product-heading > span { display: flex; align-items: center; gap: 6px; color: #586a72; font-family: var(--font-mono); font-size: 7px; }
.hero-product-heading svg { width: 13px; color: var(--cyan-dark); }
.hero-product-metrics { display: grid; grid-template-columns: repeat(4,1fr); margin-top: 10px; background: var(--white); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.hero-product-metrics > div { min-height: 72px; display: grid; align-content: center; padding: 8px 12px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.hero-product-metrics span { color: #5d6b70; font-family: var(--font-mono); font-size: 5px; }
.hero-product-metrics strong { margin-top: 4px; font-family: var(--font-mono); font-size: 16px; line-height: 1; }
.hero-product-metrics > div:nth-child(3) strong { color: var(--green-dark); }
.hero-product-metrics small { margin-top: 4px; color: #5d6b70; font-size: 6px; }
.hero-product-workspace { min-height: 284px; display: grid; grid-template-columns: 146px minmax(0,1fr); gap: 10px; margin-top: 10px; }
.hero-floor-summary { display: grid; grid-template-rows: repeat(5,1fr); background: var(--white); border: 1px solid var(--line); }
.hero-floor-summary > div { position: relative; display: grid; grid-template-columns: 30px 26px 1fr; align-items: center; gap: 6px; padding: 0 9px; border-bottom: 1px solid var(--line); }
.hero-floor-summary > div:last-child { border-bottom: 0; }
.hero-floor-summary > div.active { background: #eef3de; box-shadow: inset 3px 0 0 var(--cyan-dark); }
.hero-floor-summary span { font-family: var(--font-mono); font-size: 7px; font-weight: 800; }
.hero-floor-summary b { color: var(--green-dark); font-family: var(--font-mono); font-size: 8px; }
.hero-floor-summary i { position: relative; height: 4px; overflow: hidden; background: #e1e7e5; border-radius: 2px; }
.hero-floor-summary i::after { content: ""; position: absolute; inset: 0 auto 0 0; width: var(--load); background: var(--cyan-dark); }
.hero-preview-map { position: relative; min-width: 0; overflow: hidden; background-color: #f1f2e8; border: 1px solid var(--line); }
.hero-preview-map-head { position: absolute; top: 0; right: 0; left: 0; z-index: 3; height: 32px; display: flex; align-items: center; justify-content: space-between; padding: 0 10px; background: rgba(255,255,255,.88); border-bottom: 1px solid var(--line); backdrop-filter: blur(8px); }
.hero-preview-map-head span { color: #50636a; font-family: var(--font-mono); font-size: 6px; }
.hero-preview-map-head strong { color: var(--green-dark); font-size: 8px; }
.hero-preview-spots { position: absolute; top: 44px; right: 10px; left: 10px; display: grid; grid-template-columns: repeat(12,1fr); grid-template-rows: repeat(2,64px); gap: 34px 3px; }
.hero-preview-spots span { position: relative; display: grid; place-items: start center; padding-top: 5px; color: #4f6269; background: rgba(255,255,255,.72); border: 1px solid #b7c4c0; font-family: var(--font-mono); font-size: 4px; }
.hero-preview-spots span::before { content: ""; position: absolute; right: 3px; bottom: 6px; left: 3px; height: 28px; background: #788991; border: 1px solid #53656d; border-radius: 2px 2px 4px 4px; }
.hero-preview-spots span.free::before, .hero-preview-spots span.assigned::before { display: none; }
.hero-preview-spots span.free { background: rgba(201,245,74,.24); border-color: rgba(14,107,79,.32); }
.hero-preview-spots span.assigned { color: var(--ink); background: rgba(201,245,74,.38); border: 2px solid var(--cyan-dark); box-shadow: 0 0 0 3px rgba(14,107,79,.1); }
.hero-preview-aisle { position: absolute; top: 111px; right: 9px; left: 9px; height: 30px; display: flex; align-items: center; justify-content: center; gap: 16px; color: #769096; border-top: 1px dashed #9eaeaa; border-bottom: 1px dashed #9eaeaa; }
.hero-preview-aisle svg { width: 13px; color: var(--cyan-dark); }
.hero-preview-aisle b { position: absolute; right: 8px; font-family: var(--font-mono); font-size: 5px; }
.hero-preview-route { position: absolute; top: 126px; right: 45%; z-index: 4; width: 32%; border-top: 2px solid var(--cyan-dark); }
.hero-preview-route::before { content: ""; position: absolute; top: -2px; left: 0; height: 58px; border-left: 2px solid var(--cyan-dark); }
.hero-preview-route i { position: absolute; top: 52px; left: -4px; width: 8px; height: 8px; background: var(--cyan); border: 2px solid var(--white); border-radius: 50%; box-shadow: 0 0 0 2px var(--cyan-dark); }
.hero-preview-route span { position: absolute; top: 40px; left: 10px; color: var(--cyan-dark); font-family: var(--font-mono); font-size: 6px; font-weight: 800; }
.hero-preview-camera { position: absolute; right: 12px; bottom: 9px; display: flex; align-items: center; gap: 4px; padding: 4px 6px; color: #546970; background: rgba(255,255,255,.9); border: 1px solid #b6c4c0; border-radius: 3px; }
.hero-preview-camera svg { width: 12px; color: var(--cyan-dark); }
.hero-preview-camera b { width: 4px; height: 4px; background: var(--green-dark); border-radius: 50%; }
.hero-preview-camera span { font-family: var(--font-mono); font-size: 5px; }
.hero-preview-board { position: absolute; bottom: 9px; left: 10px; min-width: 62px; padding: 5px 7px; color: var(--green); background: var(--ink); border-radius: 3px; }
.hero-preview-board small { display: block; color: #8da0a8; font-family: var(--font-mono); font-size: 4px; }
.hero-preview-board strong { display: block; margin-top: 2px; font-family: var(--font-mono); font-size: 7px; }
.hero-product-decision { min-width: 0; padding: 20px; color: var(--white); background: var(--panel-raised); border-radius: 0 0 7px 0; }
.hero-decision-head { display: flex; align-items: center; justify-content: space-between; color: var(--cyan); font-family: var(--font-mono); font-size: 6px; }
.hero-decision-head span { display: flex; align-items: center; gap: 6px; }
.hero-decision-head svg { width: 15px; }
.hero-decision-head b { padding: 5px 7px; color: var(--ink); background: var(--green); border-radius: 3px; font-size: 6px; }
.hero-product-decision > small { display: block; margin-top: 40px; color: #8da0a8; font-family: var(--font-mono); font-size: 5px; }
.hero-product-decision h3 { margin: 8px 0 0; font-size: 23px; line-height: 1.12; }
.hero-product-decision > p { margin: 12px 0 0; color: #91a4ac; font-size: 9px; line-height: 1.55; }
.hero-product-decision ol { display: grid; gap: 0; margin: 24px 0 0; padding: 0; border-top: 1px solid #2a3f49; list-style: none; }
.hero-product-decision li { min-height: 41px; display: flex; align-items: center; gap: 8px; color: #b8c6cb; border-bottom: 1px solid #2a3f49; font-size: 8px; }
.hero-product-decision li svg { width: 13px; color: var(--green); }
.hero-decision-result { display: grid; grid-template-columns: 1fr auto; gap: 4px 10px; margin-top: 18px; padding: 10px; background: #142a34; border-left: 2px solid var(--cyan); }
.hero-decision-result span { color: #8da0a8; font-family: var(--font-mono); font-size: 5px; }
.hero-decision-result strong { color: var(--cyan); font-family: var(--font-mono); font-size: 10px; }
.hero-decision-result small { grid-column: 1 / -1; color: #8da0a8; font-family: var(--font-mono); font-size: 5px; }
.hero-network-float { position: absolute; right: 18px; bottom: -54px; z-index: 8; width: 248px; min-height: 140px; padding: 15px; color: var(--ink); background: var(--white); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: 0 24px 60px rgba(3,12,17,.22); }
.hero-network-float > div:first-child { display: flex; align-items: center; justify-content: space-between; color: #708087; font-family: var(--font-mono); font-size: 5px; }
.hero-network-float > div:first-child b { display: flex; align-items: center; gap: 5px; color: var(--green-dark); font-size: 5px; }
.hero-network-float > div:first-child i { width: 5px; height: 5px; background: var(--green-dark); border-radius: 50%; }
.hero-network-float > strong { display: block; margin-top: 10px; font-size: 13px; }
.hero-network-bars { height: 34px; display: grid; grid-template-columns: repeat(10,1fr); align-items: end; gap: 3px; margin-top: 10px; }
.hero-network-bars i { height: var(--h); background: var(--cyan-dark); border-radius: 2px 2px 0 0; }
.hero-network-kpis { display: flex; justify-content: space-between; gap: 10px; margin-top: 8px; color: #77878e; font-size: 6px; }
.hero-network-kpis b { color: var(--text); font-family: var(--font-mono); }
.hero-conversion + .capability-strip { height: 420px; align-items: flex-end; padding-bottom: 0; color: var(--ink); background: #eef2f1; }
.hero-conversion + .capability-strip .ticker { height: 88px; display: flex; align-items: center; background: var(--cyan); }

@keyframes heroPanContained {
  from { object-position: 52% center; }
  to { object-position: 48% center; }
}

@media (max-width: 1180px) {
  .hero-conversion-title { font-size: 53px; }
  .hero-product-showcase { width: calc(100% - 48px); }
  .hero-product-body { grid-template-columns: 56px minmax(0,1fr) 250px; }
  .hero-product-main { padding: 14px; }
  .hero-product-workspace { grid-template-columns: 126px minmax(0,1fr); }
  .hero-product-decision { padding: 16px; }
  .hero-product-decision h3 { font-size: 20px; }
}

@media (max-width: 980px) {
  .hero-conversion { min-height: 1000px; }
  .hero-conversion .hero-content { min-height: 1000px; display: block; padding-top: 108px; padding-bottom: 350px; }
  .hero-conversion-title { max-width: 760px; font-size: 52px; }
  .hero-conversion .hero-copy { width: min(820px,100%); }
  .hero-product-showcase { width: 100%; }
  .hero-product-body { grid-template-columns: 54px minmax(0,1fr) 230px; }
  .hero-product-metrics > div { padding-inline: 8px; }
  .hero-product-workspace { grid-template-columns: 112px minmax(0,1fr); }
  .hero-product-decision h3 { font-size: 18px; }
  .hero-network-float { right: 10px; }
}

@media (max-width: 820px) {
  .hero-conversion { min-height: auto; overflow: hidden; }
  .hero-conversion .hero-content { min-height: auto; padding-top: 104px; padding-bottom: 26px; }
  .hero-product-wrap { position: relative; right: auto; bottom: auto; left: auto; margin-top: 0; padding-bottom: 28px; }
  .hero-product-showcase { height: 460px; }
  .hero-product-body { grid-template-columns: minmax(0,1fr) 220px; }
  .hero-product-rail { display: none; }
  .hero-product-main { padding: 14px; }
  .hero-network-float { display: none; }
  .hero-conversion + .capability-strip { height: 88px; padding: 0; }
  .hero-conversion + .capability-strip .ticker { height: 88px; }
}

@media (max-width: 680px) {
  .hero-conversion .hero-media { object-position: 64% center; animation: none; }
  .hero-conversion .hero-shade { background: linear-gradient(0deg,rgba(16,17,15,.97) 0%,rgba(16,17,15,.84) 72%,rgba(16,17,15,.56) 100%); }
  .hero-conversion .hero-content { padding-top: 88px; padding-bottom: 20px; }
  .hero-conversion-title { font-size: 40px; line-height: 1.03; }
  .hero-conversion .hero-lead { margin-top: 16px; font-size: 14px; line-height: 1.52; }
  .hero-configurator { grid-template-columns: repeat(2,minmax(0,1fr)); margin-top: 20px; }
  .hero-config-object { grid-template-columns: 1fr; gap: 6px; }
  .hero-config-object > span { font-size: 9px; }
  .hero-object-switch button { min-height: 34px; padding-inline: 3px; font-size: 9px; }
  .hero-config-field { min-height: 55px; padding: 7px 9px; }
  .hero-config-field > span { font-size: 8px; }
  .hero-config-field input, .hero-config-field select { font-size: 11px; }
  .hero-contact-field, .hero-config-submit { grid-column: 1 / -1; }
  .hero-config-submit { min-height: 50px; font-size: 12px; }
  .hero-config-note { font-size: 7px; }
  .hero-product-wrap { width: min(calc(100% - 20px),var(--shell)); padding-bottom: 20px; }
  .hero-product-showcase { height: 350px; }
  .hero-product-toolbar { height: 46px; padding-inline: 10px; }
  .hero-product-toolbar .ui-cshark-wordmark { width: 62px; height: 35px; }
  .hero-product-toolbar strong { font-size: 9px; }
  .hero-product-status span, .hero-product-toolbar small { font-size: 5px; }
  .hero-product-status b { display: none; }
  .hero-product-body { position: relative; height: calc(100% - 46px); display: block; }
  .hero-product-main { height: 100%; padding: 10px; }
  .hero-product-heading { min-height: 38px; }
  .hero-product-heading h2 { font-size: 15px; }
  .hero-product-heading > span { display: none; }
  .hero-product-metrics { margin-top: 5px; }
  .hero-product-metrics > div { min-height: 56px; padding: 5px; }
  .hero-product-metrics span { font-size: 4px; }
  .hero-product-metrics strong { font-size: 11px; }
  .hero-product-metrics small { display: none; }
  .hero-product-workspace { min-height: 192px; grid-template-columns: 76px minmax(0,1fr); gap: 5px; margin-top: 5px; }
  .hero-floor-summary > div { grid-template-columns: 20px 18px; gap: 2px; padding: 0 5px; }
  .hero-floor-summary span, .hero-floor-summary b { font-size: 5px; }
  .hero-floor-summary i { display: none; }
  .hero-preview-map-head { height: 25px; padding-inline: 6px; }
  .hero-preview-map-head span, .hero-preview-map-head strong { font-size: 5px; }
  .hero-preview-spots { top: 34px; right: 5px; left: 5px; grid-template-columns: repeat(12,1fr); grid-template-rows: repeat(2,42px); gap: 24px 1px; }
  .hero-preview-spots span { padding-top: 2px; font-size: 3px; }
  .hero-preview-spots span::before { right: 1px; bottom: 3px; left: 1px; height: 19px; border-width: 1px; }
  .hero-preview-aisle { top: 77px; right: 4px; left: 4px; height: 23px; gap: 7px; }
  .hero-preview-aisle svg { width: 8px; }
  .hero-preview-aisle b { display: none; }
  .hero-preview-route { top: 88px; }
  .hero-preview-route::before { height: 34px; }
  .hero-preview-route i { top: 30px; width: 6px; height: 6px; }
  .hero-preview-route span { top: 23px; font-size: 4px; }
  .hero-preview-camera { right: 5px; bottom: 5px; padding: 2px 3px; }
  .hero-preview-camera span { display: none; }
  .hero-preview-camera svg { width: 9px; }
  .hero-preview-board { bottom: 5px; left: 5px; min-width: 44px; padding: 3px 4px; }
  .hero-preview-board strong { font-size: 5px; }
  .hero-product-decision { position: absolute; right: 15px; bottom: 13px; width: 190px; min-height: 40px; padding: 9px 10px; border: 1px solid #314a55; border-radius: 4px; box-shadow: 0 12px 28px rgba(3,12,17,.3); }
  .hero-product-decision .hero-decision-head, .hero-product-decision > small, .hero-product-decision > p, .hero-product-decision ol, .hero-decision-result { display: none; }
  .hero-product-decision h3 { margin: 0; color: var(--white); font-size: 11px; }
}

@media (prefers-reduced-motion: reduce) {
  .hero-conversion .hero-copy { animation: none; }
}

/* Spatial Control redesign · 2026 */
body { animation: 280ms var(--ease) both pageFadeIn; }
@keyframes pageFadeIn { from { opacity: 0; } }

.site-progress {
  position: fixed;
  inset: 0 0 auto;
  z-index: 1400;
  height: 3px;
  pointer-events: none;
}
.site-progress::after {
  content: "";
  width: 100%;
  height: 100%;
  display: block;
  background: var(--cyan);
  box-shadow: 0 0 14px rgba(201, 245, 74, .46);
  transform: scaleX(0);
  transform-origin: left;
  animation: siteProgress linear both;
  animation-timeline: scroll(root block);
}
@keyframes siteProgress { to { transform: scaleX(1); } }

.site-header { transition-duration: 180ms; }
.site-header.scrolled {
  background: rgba(247, 249, 248, .9);
  box-shadow: 0 8px 30px rgba(7, 16, 23, .06);
}
.desktop-nav a { font-size: 13px; }
.button { font-weight: 760; }

.hero-conversion .hero-content { padding-top: 108px; }
.hero-conversion-title { max-width: 860px; font-size: 52px; }
.hero-conversion .hero-lead { max-width: 660px; }
.hero-audience {
  width: min(800px, 100%);
  display: grid;
  grid-template-columns: 112px 300px minmax(0, 1fr);
  gap: 8px 12px;
  align-items: center;
  margin-top: 22px;
}
.hero-audience > span {
  color: rgba(255, 255, 255, .52);
  font-size: 10px;
  font-weight: 700;
}
.hero-audience > div {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3px;
  padding: 3px;
  background: rgba(8, 19, 26, .62);
  border: 1px solid rgba(255, 255, 255, .17);
  border-radius: 6px;
  backdrop-filter: blur(14px);
}
.hero-audience button {
  min-height: 34px;
  padding: 0 10px;
  color: #9caeb6;
  background: transparent;
  border: 0;
  border-radius: 4px;
  cursor: pointer;
  font-size: 10px;
  font-weight: 750;
}
.hero-audience button.active { color: var(--ink); background: var(--white); }
.hero-audience p {
  grid-column: 3;
  min-height: 34px;
  margin: 0;
  color: rgba(255, 255, 255, .72);
  font-size: 11px;
  line-height: 1.5;
}
.hero-configurator { margin-top: 18px; }
.hero-product-wrap { bottom: -200px; }

.capability-strip,
.hero-conversion + .capability-strip { height: auto; padding: 0; background: var(--cyan); }
.capability-strip .ticker,
.hero-conversion + .capability-strip .ticker { height: 76px; overflow: hidden; }
.capability-strip .ticker::-webkit-scrollbar { display: none; }
.capability-strip .ticker-track {
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: 0;
}
.capability-strip .ticker-track span { flex: 0 0 auto; font-size: 11px; }

.system-entry-paths { padding: 112px 0 0; color: var(--ink); background: #eef2f1; border-bottom: 1px solid var(--line); }
.system-entry-heading { display: grid; grid-template-columns: minmax(0, 1fr) minmax(340px, .7fr); gap: 82px; align-items: end; }
.system-entry-heading h2 { max-width: 850px; margin: 10px 0 0; font-size: 50px; line-height: 1.04; text-wrap: balance; }
.system-entry-heading > p { max-width: 650px; margin: 0; color: var(--muted); font-size: 15px; line-height: 1.72; }
.system-entry-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 52px; border-top: 1px solid #c7d1ce; border-left: 1px solid #c7d1ce; }
.system-entry-path { min-height: 460px; display: grid; grid-template-rows: auto auto auto 1fr auto; padding: 30px; background: rgba(255, 255, 255, .52); border-right: 1px solid #c7d1ce; border-bottom: 1px solid #c7d1ce; transition: background 200ms ease; }
.system-entry-path:hover { background: rgba(255, 255, 255, .84); }
.system-entry-path-head { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.system-entry-path-head span { color: var(--cyan-dark); font-family: var(--font-mono); font-size: 9px; font-weight: 700; }
.system-entry-path-head svg { width: 26px; height: 26px; color: var(--cyan-dark); }
.system-entry-path h3 { max-width: 580px; margin: 48px 0 0; font-size: 28px; line-height: 1.12; text-wrap: balance; }
.system-entry-path > p { max-width: 650px; margin: 16px 0 0; color: #5a6a66; font-size: 12px; line-height: 1.68; }
.system-entry-path ul { display: grid; gap: 9px; align-content: start; margin: 26px 0 0; padding: 20px 0 0; border-top: 1px solid #d0d8d5; list-style: none; }
.system-entry-path li { position: relative; padding-left: 17px; color: #43534f; font-size: 11px; line-height: 1.55; }
.system-entry-path li::before { content: "+"; position: absolute; left: 0; color: var(--cyan-dark); font-family: var(--font-mono); font-weight: 800; }
.system-entry-path > a { width: max-content; max-width: 100%; display: inline-flex; align-items: center; gap: 8px; margin-top: 28px; color: var(--ink); font-size: 11px; font-weight: 800; text-decoration: none; }
.system-entry-path > a svg { width: 16px; transition: transform 180ms var(--ease); }
.system-entry-path > a:hover svg { transform: translate(2px, -2px); }
.system-entry-result { min-height: 126px; display: grid; grid-template-columns: 34px minmax(0, 1fr) auto; gap: 20px; align-items: center; padding: 24px 30px; color: var(--white); background: var(--ink); }
.system-entry-result > svg { width: 27px; color: var(--cyan); }
.system-entry-result strong { font-size: 15px; }
.system-entry-result p { max-width: 900px; margin: 7px 0 0; color: #91a4ac; font-size: 11px; line-height: 1.6; }
.system-entry-result > a { min-height: 44px; display: inline-flex; align-items: center; gap: 8px; padding: 0 14px; color: var(--white); border: 1px solid #344850; border-radius: 5px; font-size: 10px; font-weight: 750; text-decoration: none; white-space: nowrap; }
.system-entry-result > a:hover { color: var(--ink); background: var(--cyan); border-color: var(--cyan); }
.system-entry-result > a svg { width: 15px; }

.object-types-overview { padding: 132px 0 104px; background: var(--paper); border-bottom: 1px solid var(--line); }
.object-types-heading { display: grid; grid-template-columns: minmax(0, .95fr) minmax(320px, .65fr); gap: 80px; align-items: end; margin-bottom: 44px; }
.object-types-heading h2 { margin: 10px 0 0; font-size: 50px; line-height: 1.04; }
.object-types-heading > p { margin: 0; color: var(--muted); font-size: 15px; line-height: 1.7; }
.object-types-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.object-types-grid a { min-height: 210px; display: grid; grid-template-rows: auto auto 1fr; padding: 22px; color: inherit; background: var(--white); border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); text-decoration: none; transition: color 180ms ease, background 180ms ease, transform 200ms var(--ease); }
.object-types-grid a:hover { color: var(--ink); background: #f1f2e8; transform: translateY(-3px); }
.object-types-grid svg { width: 25px; color: var(--cyan-dark); }
.object-types-grid strong { margin-top: 34px; font-size: 18px; line-height: 1.2; }
.object-types-grid span { align-self: end; margin-top: 20px; color: var(--muted); font-family: var(--font-mono); font-size: 8px; line-height: 1.55; text-transform: uppercase; }
.control-outcomes-section { padding: 112px 0; color: var(--ink); background: #eef1ed; border-bottom: 1px solid var(--line); }
.control-outcomes-section .section-heading > p { color: var(--muted); }
.control-outcome-ledger { border-top: 1px solid #cbd4d0; }
.control-outcome-ledger article { min-height: 132px; display: grid; grid-template-columns: 42px 36px minmax(240px, 1fr) minmax(230px, .85fr) minmax(220px, .75fr); align-items: center; gap: 22px; padding: 22px 0; border-bottom: 1px solid #cbd4d0; }
.control-outcome-ledger article > span { color: #5d6d68; font-family: var(--font-mono); font-size: 8px; }
.control-outcome-ledger article > svg { width: 22px; color: var(--cyan-dark); }
.control-outcome-ledger h3 { margin: 0; font-size: 19px; }
.control-outcome-ledger p { margin: 7px 0 0; color: #61706c; font-size: 12px; line-height: 1.55; }
.control-outcome-ledger strong { color: #263631; font-size: 11px; line-height: 1.55; }
.control-outcome-ledger small { color: #566a63; font-family: var(--font-mono); font-size: 8px; line-height: 1.55; }
@media (max-width: 1100px) {
  .system-entry-heading { gap: 46px; }
  .system-entry-path { min-height: 490px; }
  .object-types-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .control-outcome-ledger article { grid-template-columns: 36px 30px minmax(220px, 1fr) minmax(220px, .8fr); }
  .control-outcome-ledger small { grid-column: 3 / -1; padding-bottom: 4px; }
}
@media (max-width: 760px) {
  .system-entry-paths { padding-top: 76px; }
  .system-entry-heading, .system-entry-grid { grid-template-columns: 1fr; }
  .system-entry-heading { gap: 22px; }
  .system-entry-heading h2 { font-size: 36px; }
  .system-entry-heading > p { font-size: 13px; }
  .system-entry-grid { margin-top: 34px; }
  .system-entry-path { min-height: 0; padding: 24px; }
  .system-entry-path h3 { margin-top: 34px; font-size: 25px; }
  .system-entry-result { grid-template-columns: 28px 1fr; padding: 24px; }
  .system-entry-result > a { grid-column: 2; width: max-content; }
  .object-types-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .control-outcomes-section { padding: 76px 0; }
  .control-outcome-ledger article { grid-template-columns: 30px 28px 1fr; gap: 14px; padding: 24px 0; }
  .control-outcome-ledger article > div { grid-column: 3; }
  .control-outcome-ledger article > strong,
  .control-outcome-ledger article > small { grid-column: 3; }
}

.operating-model,
.functions-section,
.roles-section,
.deployment-section { padding-top: 104px; padding-bottom: 112px; }
.section-heading { margin-bottom: 48px; }
.section-heading h2,
.scope-intro h2,
.deployment-copy h2,
.final-cta h2 { max-width: 820px; font-size: 52px; }
.heading-split { grid-template-columns: minmax(0, .9fr) minmax(320px, .6fr); gap: 80px; }

.capability-ledger-section { background: var(--paper); }
.section-action-copy { align-self: end; }
.section-action-copy p { margin: 0; color: var(--muted); font-size: 16px; line-height: 1.7; }
.section-action-copy .link-arrow { margin-top: 22px; }
.capability-ledger { border-top: 1px solid var(--line); }
.capability-ledger-row {
  min-height: 106px;
  display: grid;
  grid-template-columns: 44px 42px minmax(190px, .72fr) minmax(320px, 1fr) 100px;
  gap: 20px;
  align-items: center;
  color: inherit;
  border-bottom: 1px solid var(--line);
  text-decoration: none;
  transition: color 180ms ease, background 180ms ease, padding 220ms var(--ease);
}
.capability-ledger-row > span,
.capability-ledger-row > small { color: #5d6d73; font-family: var(--font-mono); font-size: 9px; }
.capability-ledger-row > svg { width: 22px; color: var(--cyan-dark); }
.capability-ledger-row > strong { font-size: 19px; }
.capability-ledger-row > p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.55; }
.capability-ledger-row > small { justify-self: end; }
.capability-ledger-row:hover { padding-inline: 14px; color: var(--cyan-dark); background: var(--white); }

.roles-section { position: relative; overflow: hidden; }
.roles-section::before {
  content: none;
}
.roles-section > .page-shell { position: relative; }
.role-selector button { min-height: 54px; }
.role-stage { min-height: 570px; }
.role-ui { min-height: 570px; }

.deployment-layout { gap: 84px; }
.deployment-visual { min-height: 520px; }
.final-cta { min-height: 620px; }
.final-cta-content { min-height: 620px; }

/* A distinct opening composition for every product area. */
.inner-page .inner-hero { min-height: 610px; }
.inner-page .inner-hero-layout { min-height: 610px; padding-block: 64px; }
.inner-page .inner-hero h1 { max-width: 760px; font-size: 64px; line-height: 1.02; }
.inner-page .inner-lead { max-width: 690px; font-size: 17px; }
.inner-page .inner-hero-visual { min-height: 420px; }
.inner-page .section-kicker { margin-bottom: 14px; }

body[data-page="platform"] .inner-hero-layout { grid-template-columns: minmax(0, .82fr) minmax(560px, 1.18fr); }
body[data-page="platform"] .inner-hero-visual { background: #e9efed; border-color: #becac7; color: var(--ink); }
body[data-page="platform"] .visual-toolbar { color: #52646b; border-color: #c7d1cf; }
body[data-page="platform"] .visual-toolbar span:last-child { color: var(--cyan-dark); }
body[data-page="platform"] .encyclopedia-rail div { background: #f8faf9; border-color: #c8d2d0; }
body[data-page="platform"] .encyclopedia-rail span { color: #52646b; }

body[data-page="network"] .inner-hero-layout { grid-template-columns: minmax(0, .86fr) minmax(620px, 1.14fr); }
body[data-page="network"] .inner-hero h1 { font-size: 56px; }
body[data-page="network"] .inner-hero-visual { min-height: 470px; }

body[data-page="api"] .inner-hero-layout > :first-child { order: 2; }
body[data-page="api"] .inner-hero-layout > :last-child { order: 1; }

body[data-page="solutions"] .inner-hero-layout { grid-template-columns: minmax(0, 1.08fr) minmax(420px, .72fr); }
body[data-page="solutions"] .inner-hero-visual { min-height: 340px; align-self: end; }

body[data-page="scenarios"] .inner-hero,
body[data-page="knowledge"] .inner-hero { min-height: 520px; }
body[data-page="scenarios"] .inner-hero-layout,
body[data-page="knowledge"] .inner-hero-layout { min-height: 520px; grid-template-columns: minmax(0, 1fr) minmax(420px, .72fr); padding-block: 48px; }
body[data-page="scenarios"] .inner-hero-visual,
body[data-page="knowledge"] .inner-hero-visual { min-height: 320px; }

body[data-page="architecture"] .inner-hero-layout,
body[data-page="implementation"] .inner-hero-layout { grid-template-columns: 1fr; gap: 34px; }
body[data-page="architecture"] .inner-hero-visual,
body[data-page="implementation"] .inner-hero-visual { min-height: 220px; }
body[data-page="architecture"] .encyclopedia-rail,
body[data-page="implementation"] .encyclopedia-rail { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; }
body[data-page="architecture"] .encyclopedia-rail div,
body[data-page="implementation"] .encyclopedia-rail div { margin-left: 0; }

/* Scenarios read like an operational register, not a marketing card wall. */
.scenario-grid { grid-template-columns: 1fr; gap: 0; border-top: 1px solid var(--line); }
.scenario-card {
  min-height: 170px;
  display: grid;
  grid-template-columns: 150px minmax(240px, .78fr) minmax(360px, 1.2fr) 210px;
  gap: 24px;
  align-items: center;
  padding: 24px 0;
  border: 0;
  border-bottom: 1px solid var(--line);
  border-radius: 0;
  background: transparent;
}
.scenario-card:hover { background: rgba(255, 255, 255, .65); }
.scenario-card-head { align-self: start; display: grid; justify-items: start; gap: 10px; }
.scenario-card h2 { margin: 0; font-size: 19px; }
.scenario-card > p { margin: 0; font-size: 12px; }
.scenario-card > div:last-child { align-self: stretch; display: flex; flex-direction: column; justify-content: space-between; }

.knowledge-sidebar { top: calc(var(--header-height) + 24px); }
.knowledge-item { min-height: 150px; transition: background 180ms ease, padding 220ms var(--ease); }
.knowledge-item:hover { padding-inline: 14px; background: var(--white); }
.knowledge-open { width: 44px; height: 44px; }

.footer-main a,
.footer-link,
.inner-footer-grid a { min-height: 44px; display: inline-flex; align-items: center; padding-block: 8px; }
.footer-bottom a { min-height: 44px; display: inline-flex; align-items: center; }

.legal-main { min-height: calc(100dvh - var(--header-height)); padding: 96px 0 120px; background: var(--paper); }
.legal-layout { display: grid; grid-template-columns: 240px minmax(0, 760px); gap: 90px; justify-content: center; }
.legal-layout > * { min-width: 0; }
.legal-layout aside { position: sticky; top: 110px; height: max-content; }
.legal-layout aside > span { display: block; margin-top: 24px; color: var(--muted); font-family: var(--font-mono); font-size: 9px; text-transform: uppercase; }
.legal-layout article h1 { max-width: 680px; margin: 0; overflow-wrap: anywhere; font-size: 60px; line-height: 1.02; }
.legal-lead { margin: 26px 0 60px; color: var(--muted); font-size: 19px; line-height: 1.7; }
.legal-layout article h2 { margin: 42px 0 12px; padding-top: 20px; border-top: 1px solid var(--line); font-size: 23px; }
.legal-layout article p:not(.section-kicker) { color: var(--muted); line-height: 1.75; }
.legal-layout article > .button { margin-top: 54px; }
.legal-footer { min-height: 96px; display: flex; align-items: center; justify-content: space-between; gap: 24px; color: #8b9ca4; font-size: 12px; }
.legal-footer a { min-height: 44px; display: inline-flex; align-items: center; }

.not-found-page { color: var(--white); background: var(--ink); }
.not-found-main { min-height: 100dvh; width: min(calc(100% - 64px), 940px); display: flex; flex-direction: column; justify-content: center; margin-inline: auto; padding: 70px 0; }
.not-found-main > .brand { position: absolute; top: 28px; }
.not-found-main .section-kicker { color: var(--cyan); }
.not-found-signal { height: 118px; display: flex; align-items: end; gap: 8px; margin-bottom: 36px; border-bottom: 1px solid rgba(255,255,255,.16); }
.not-found-signal span { margin-right: auto; color: var(--cyan); font-family: var(--font-mono); font-size: 84px; line-height: 1; }
.not-found-signal i { width: 8px; background: #28404b; animation: signalBars 1.8s ease-in-out infinite alternate; }
.not-found-signal i:nth-child(2) { height: 28%; }
.not-found-signal i:nth-child(3) { height: 52%; animation-delay: -1.2s; }
.not-found-signal i:nth-child(4) { height: 38%; animation-delay: -.8s; }
.not-found-signal i:nth-child(5) { height: 75%; animation-delay: -.35s; }
.not-found-signal i:nth-child(6) { height: 44%; animation-delay: -1.55s; }
@keyframes signalBars { to { height: 12%; background: var(--cyan); } }
.not-found-main h1 { max-width: 830px; margin: 0; font-size: 60px; line-height: 1.03; }
.not-found-main > p:not(.section-kicker) { max-width: 620px; margin: 22px 0 34px; color: var(--muted-dark); font-size: 18px; }
.not-found-main > div:last-child { display: flex; gap: 10px; }

@media (max-width: 1180px) {
  .hero-conversion-title { font-size: 50px; }
  .heading-split { gap: 48px; }
  .capability-ledger-row { grid-template-columns: 36px 34px minmax(170px, .7fr) minmax(260px, 1fr) 80px; gap: 14px; }
  .inner-page .inner-hero-layout,
  body[data-page="platform"] .inner-hero-layout,
  body[data-page="network"] .inner-hero-layout { grid-template-columns: 1fr 1fr; }
  .inner-page .inner-hero h1 { font-size: 54px; }
  .scenario-card { grid-template-columns: 125px minmax(210px, .8fr) minmax(300px, 1.2fr) 180px; gap: 18px; }
}

@media (max-width: 980px) {
  .hero-audience { grid-template-columns: 112px 280px minmax(0, 1fr); }
  .heading-split { grid-template-columns: 1fr; gap: 22px; }
  .capability-ledger-row { grid-template-columns: 36px 34px minmax(180px, .75fr) minmax(260px, 1fr); }
  .capability-ledger-row > small { display: none; }
  .inner-page .inner-hero,
  body[data-page="scenarios"] .inner-hero,
  body[data-page="knowledge"] .inner-hero { min-height: auto; }
  .inner-page .inner-hero-layout,
  body[data-page="platform"] .inner-hero-layout,
  body[data-page="network"] .inner-hero-layout,
  body[data-page="solutions"] .inner-hero-layout,
  body[data-page="scenarios"] .inner-hero-layout,
  body[data-page="knowledge"] .inner-hero-layout { min-height: auto; grid-template-columns: 1fr; }
  body[data-page="api"] .inner-hero-layout > :first-child,
  body[data-page="api"] .inner-hero-layout > :last-child { order: initial; }
  .scenario-card { grid-template-columns: 120px minmax(220px, .75fr) minmax(300px, 1.25fr); }
  .scenario-card > div:last-child { grid-column: 2 / -1; flex-direction: row; align-items: center; }
}

@media (max-width: 680px) {
  .site-progress { height: 2px; }
  .hero-conversion .hero-content { padding-top: 76px; }
  .hero-conversion-title { font-size: 35px; }
  .hero-product-wrap { bottom: auto; }
  .hero-audience { grid-template-columns: 1fr; margin-top: 18px; }
  .hero-audience > span { font-size: 9px; }
  .hero-audience p { grid-column: 1; min-height: 32px; font-size: 10px; }
  .hero-audience button { min-height: 40px; padding-inline: 5px; font-size: 9px; }
  .hero-configurator { margin-top: 14px; }
  .capability-strip .ticker,
  .hero-conversion + .capability-strip .ticker { height: 64px; }
  .capability-strip .ticker-group { gap: 18px; padding-right: 18px; }
  .capability-strip .ticker-track b { flex-basis: 4px; }
  .object-types-overview { padding: 72px 0 76px; }
  .object-types-heading { grid-template-columns: 1fr; gap: 20px; margin-bottom: 30px; }
  .object-types-heading h2 { font-size: 35px; }
  .object-types-heading > p { font-size: 13px; }
  .object-types-grid { grid-template-columns: 1fr; }
  .object-types-grid a { min-height: 148px; }
  .object-types-grid strong { margin-top: 24px; }
  .platform-nav {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
    overflow: visible;
  }
  .platform-nav button {
    min-width: 0;
    min-height: 48px;
    padding: 8px 10px;
    white-space: normal;
    text-align: left;
  }
  .platform-nav button:last-child { grid-column: 1 / -1; }
  .platform-visual { min-height: 420px; padding: 14px; }
  .platform-visual-top { gap: 8px; font-size: 7px; }
  .module-nodes { min-height: 304px; gap: 8px; margin-block: 14px; }
  .module-row { grid-template-columns: minmax(0, 1fr) 104px minmax(0, 1fr); }
  .module-node { min-height: 64px; grid-template-columns: 1fr; gap: 3px; padding: 8px; text-align: center; }
  .module-node small { font-size: 7px; }
  .module-node strong { font-size: 9px; }
  .module-node.is-left { margin-right: 6px; }
  .module-node.is-right { margin-left: 6px; }
  .module-node.is-left::after { right: -10px; }
  .module-node.is-right::after { left: -10px; }
  .module-node.core { width: 98px; min-height: 76px; padding: 8px; }
  .module-node.core .ui-cshark-wordmark { width: 62px; height: 34px; }
  .module-node.core small { margin-top: -3px; font-size: 6px; }
  .platform-visual-bottom { gap: 8px; font-size: 6px; }
  .operating-model,
  .functions-section,
  .roles-section,
  .deployment-section { padding-top: 72px; padding-bottom: 76px; }
  .section-heading h2,
  .scope-intro h2,
  .deployment-copy h2,
  .final-cta h2 { font-size: 35px; }
  .section-action-copy p { font-size: 14px; }
  .capability-ledger-row {
    min-height: 0;
    grid-template-columns: 30px 28px 1fr;
    gap: 12px;
    padding: 22px 0;
  }
  .capability-ledger-row > strong { font-size: 17px; }
  .capability-ledger-row > p { grid-column: 3; font-size: 12px; }
  .capability-ledger-row:hover { padding-inline: 8px; }
  .inner-page .inner-hero-layout,
  body[data-page="scenarios"] .inner-hero-layout,
  body[data-page="knowledge"] .inner-hero-layout { gap: 30px; padding-block: 42px; }
  .inner-page .inner-hero h1 { font-size: 38px; line-height: 1.04; }
  .inner-page .inner-lead { font-size: 15px; }
  .inner-page .inner-hero-visual,
  body[data-page="scenarios"] .inner-hero-visual,
  body[data-page="knowledge"] .inner-hero-visual { min-height: 280px; }
  body[data-page="architecture"] .encyclopedia-rail,
  body[data-page="implementation"] .encyclopedia-rail { grid-template-columns: 1fr; }
  .scenario-card { grid-template-columns: 1fr auto; gap: 12px; padding: 22px 0; }
  .scenario-card-head { grid-column: 1 / -1; }
  .scenario-card h2 { font-size: 18px; }
  .scenario-card > p { grid-column: 1 / -1; }
  .scenario-card > div:last-child { grid-column: 1 / -1; align-items: flex-start; flex-direction: column; gap: 16px; }
  .knowledge-item:hover { padding-inline: 8px; }
  .final-cta,
  .final-cta-content { min-height: 520px; }
  .legal-main { padding: 54px 0 80px; }
  .legal-layout { grid-template-columns: 1fr; gap: 34px; }
  .legal-layout aside { position: static; }
  .legal-layout article h1 { font-size: 38px; }
  .legal-lead { margin-bottom: 40px; font-size: 16px; }
  .legal-footer { align-items: flex-start; flex-direction: column; justify-content: center; }
  .not-found-main { width: calc(100% - 36px); }
  .not-found-signal { height: 90px; }
  .not-found-signal span { font-size: 58px; }
  .not-found-main h1 { font-size: 38px; }
  .not-found-main > p:not(.section-kicker) { font-size: 16px; }
  .not-found-main > div:last-child { align-items: stretch; flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
  body,
  .site-progress::after { animation: none; }
  .site-progress::after { transform: scaleX(1); opacity: .45; }
}

/* Product capability catalog. */
.capabilities-page .inner-hero { background: var(--paper); }
.capabilities-page .inner-hero-layout { grid-template-columns: minmax(0, .9fr) minmax(540px, 1.1fr); }
.capabilities-page .inner-hero h1 { max-width: 720px; }
.capabilities-page .inner-hero-visual,
body[data-page="platform"].capabilities-page .inner-hero-visual {
  min-height: 448px;
  color: var(--white);
  background: var(--panel-deep);
  border-color: var(--panel-line);
}
.capabilities-page .inner-hero-visual .visual-toolbar { color: #8da0a8; }
.capabilities-page .inner-hero-visual .visual-toolbar span:last-child { color: var(--cyan); }
.coverage-summary { min-height: 116px; display: grid; grid-template-columns: auto 1fr auto; gap: 18px; align-items: end; padding: 18px 0 20px; border-bottom: 1px solid #263943; }
.coverage-summary strong { color: var(--cyan); font-family: var(--font-mono); font-size: 76px; line-height: .82; }
.coverage-summary span { color: #d7e0e3; font-size: 14px; line-height: 1.35; }
.coverage-summary i { padding: 7px 9px; color: var(--ink); background: var(--green); border-radius: 4px; font-family: var(--font-mono); font-size: 9px; font-style: normal; font-weight: 800; }
.coverage-domains { display: grid; gap: 0; }
.coverage-domains a { min-height: 46px; display: grid; grid-template-columns: 28px minmax(118px, .8fr) minmax(100px, 1fr) 22px; gap: 12px; align-items: center; color: inherit; border-bottom: 1px solid #1c2f38; text-decoration: none; }
.coverage-domains a:hover strong { color: var(--cyan); }
.coverage-domains span,
.coverage-domains small { color: #70858e; font-family: var(--font-mono); font-size: 8px; }
.coverage-domains strong { font-size: 11px; transition: color 160ms ease; }
.coverage-domains i { position: relative; height: 3px; overflow: hidden; background: #22363f; }
.coverage-domains i b { position: absolute; inset: 0 auto 0 0; width: var(--coverage); background: var(--cyan); }
.coverage-domains small { justify-self: end; color: var(--white); }

.capability-catalog { scroll-margin-top: var(--header-height); }
.capability-toolbar { position: sticky; z-index: 20; top: var(--header-height); display: grid; grid-template-columns: minmax(260px, .85fr) minmax(520px, 1.6fr) auto; gap: 14px; align-items: center; margin: 0 0 54px; padding: 14px; background: rgba(247, 249, 248, .96); border: 1px solid var(--line); box-shadow: 0 12px 34px rgba(7, 16, 23, .08); backdrop-filter: blur(18px); }
.capability-search { min-height: 46px; display: flex; align-items: center; gap: 10px; padding: 0 13px; background: var(--white); border: 1px solid #c5d0ce; border-radius: 5px; }
.capability-search:focus-within { border-color: var(--cyan-dark); box-shadow: 0 0 0 3px rgba(14, 107, 79, .14); }
.capability-search svg { flex: 0 0 auto; width: 17px; color: var(--cyan-dark); }
.capability-search input { min-width: 0; width: 100%; height: 44px; padding: 0; color: var(--ink); background: transparent; border: 0; outline: 0; font: inherit; font-size: 12px; }
.capability-search input::placeholder { color: #7b898f; }
.capability-filters { min-width: 0; display: flex; gap: 5px; overflow-x: auto; scrollbar-width: thin; }
.capability-filters button { min-height: 38px; flex: 0 0 auto; padding: 0 11px; color: #53656d; background: transparent; border: 1px solid transparent; border-radius: 4px; font-size: 9px; font-weight: 800; cursor: pointer; }
.capability-filters button:hover { color: var(--ink); border-color: #bcc9c6; }
.capability-filters button.active { color: var(--white); background: var(--ink); border-color: var(--ink); }
.capability-count { margin: 0; color: var(--muted); font-family: var(--font-mono); font-size: 9px; white-space: nowrap; }

.capability-register { border-top: 1px solid var(--ink); }
.capability-domain { scroll-margin-top: calc(var(--header-height) + 96px); }
.capability-domain + .capability-domain { margin-top: 94px; }
.capability-domain-head { min-height: 188px; display: grid; grid-template-columns: 86px minmax(280px, .9fr) minmax(320px, 1.1fr); gap: 30px; align-items: center; border-bottom: 1px solid var(--ink); }
.capability-domain-head > div { align-self: stretch; display: grid; align-content: center; justify-items: start; border-right: 1px solid var(--line); }
.capability-domain-head span { color: var(--cyan-dark); font-family: var(--font-mono); font-size: 10px; }
.capability-domain-head svg { width: 28px; height: 28px; margin-top: 20px; color: var(--ink); }
.capability-domain-head h2 { max-width: 500px; margin: 0; font-size: 34px; line-height: 1.05; }
.capability-domain-head p { max-width: 520px; margin: 0; color: var(--muted); font-size: 14px; line-height: 1.65; }
.capability-spec-list { border-bottom: 1px solid var(--ink); }
.capability-spec { min-height: 170px; display: grid; grid-template-columns: 64px minmax(280px, 1.2fr) minmax(300px, .8fr); gap: 30px; align-items: center; padding: 28px 0; border-bottom: 1px solid var(--line); }
.capability-spec:last-child { border-bottom: 0; }
.capability-spec:hover { background: #f4f7f6; }
.capability-spec > span { align-self: start; padding-top: 4px; color: #5f7077; font-family: var(--font-mono); font-size: 11px; }
.capability-spec h3 { margin: 0; font-size: 22px; line-height: 1.18; }
.capability-spec > div:nth-child(2) > p { max-width: 670px; margin: 13px 0 0; color: var(--muted); font-size: 13px; line-height: 1.68; }
.capability-result { align-self: stretch; display: grid; align-content: center; gap: 8px; padding: 18px 0 18px 26px; border-left: 2px solid var(--cyan-dark); }
.capability-result small { color: var(--cyan-dark); font-family: var(--font-mono); font-size: 8px; font-weight: 800; text-transform: uppercase; }
.capability-result strong { max-width: 420px; font-size: 13px; line-height: 1.55; }
.capability-empty { margin: 46px 0 0; padding: 34px; color: var(--muted); border: 1px dashed #aebdb9; text-align: center; }

.capability-proof { color: var(--white); background: var(--ink); }
.capability-proof .page-intro > p { color: #93a4ac; }
.capability-proof .section-kicker { color: var(--cyan); }
.capability-proof-links { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid #31434c; border-left: 1px solid #31434c; }
.capability-proof-links a { min-height: 260px; display: grid; align-content: space-between; padding: 24px; color: var(--white); border-right: 1px solid #31434c; border-bottom: 1px solid #31434c; text-decoration: none; transition: color 180ms ease, background 180ms ease; }
.capability-proof-links a:hover { color: var(--ink); background: var(--cyan); }
.capability-proof-links svg { width: 29px; height: 29px; color: var(--cyan); }
.capability-proof-links a:hover svg { color: var(--ink); }
.capability-proof-links span { align-self: end; margin-top: 58px; color: #8fa1a9; font-family: var(--font-mono); font-size: 9px; }
.capability-proof-links a:hover span,
.capability-proof-links a:hover small { color: #164850; }
.capability-proof-links strong { margin-top: 10px; font-size: 19px; line-height: 1.25; }
.capability-proof-links small { margin-top: 16px; color: var(--cyan); font-family: var(--font-mono); font-size: 8px; text-transform: uppercase; }

@media (max-width: 1180px) {
  .capabilities-page .inner-hero-layout { grid-template-columns: 1fr 1fr; gap: 38px; }
  .capability-toolbar { grid-template-columns: minmax(250px, .8fr) minmax(0, 1.2fr); }
  .capability-count { grid-column: 1 / -1; }
  .capability-domain-head { grid-template-columns: 74px minmax(250px, .9fr) minmax(280px, 1.1fr); gap: 24px; }
  .capability-spec { grid-template-columns: 48px minmax(260px, 1.1fr) minmax(270px, .9fr); gap: 24px; }
}

@media (max-width: 980px) {
  .capabilities-page .inner-hero-layout { grid-template-columns: 1fr; }
  .capability-toolbar { position: relative; top: auto; grid-template-columns: 1fr; }
  .capability-count { grid-column: auto; }
  .capability-domain-head { grid-template-columns: 70px 1fr; padding: 34px 0; }
  .capability-domain-head > div { grid-row: 1 / 3; }
  .capability-domain-head p { grid-column: 2; }
  .capability-spec { grid-template-columns: 46px 1fr; }
  .capability-result { grid-column: 2; min-height: 110px; }
  .capability-proof-links { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 680px) {
  .capabilities-page .inner-hero-visual,
  body[data-page="platform"].capabilities-page .inner-hero-visual { min-height: 390px; }
  .coverage-summary strong { font-size: 58px; }
  .coverage-domains a { grid-template-columns: 24px minmax(106px, .9fr) minmax(70px, 1fr) 18px; gap: 8px; }
  .capability-catalog .page-intro { margin-bottom: 34px; }
  .capability-toolbar { margin-bottom: 42px; padding: 10px; }
  .capability-filters {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
    overflow: visible;
    margin-inline: 0;
    padding-inline: 0;
  }
  .capability-filters button {
    width: 100%;
    min-height: 42px;
    padding-inline: 8px;
    background: var(--white);
    border-color: var(--line);
    font-size: 10px;
  }
  .capability-filters button:first-child { grid-column: 1 / -1; }
  .capability-domain + .capability-domain { margin-top: 66px; }
  .capability-domain-head { min-height: 0; grid-template-columns: 48px 1fr; gap: 16px; padding: 28px 0; }
  .capability-domain-head > div { border-right: 0; }
  .capability-domain-head svg { width: 23px; height: 23px; margin-top: 12px; }
  .capability-domain-head h2 { font-size: 26px; }
  .capability-domain-head p { font-size: 12px; }
  .capability-spec { min-height: 0; grid-template-columns: 34px 1fr; gap: 12px; padding: 26px 0; }
  .capability-spec h3 { font-size: 19px; }
  .capability-spec > div:nth-child(2) > p { font-size: 12px; }
  .capability-result { grid-column: 2; min-height: 0; padding: 14px 0 0; border-top: 2px solid var(--cyan-dark); border-left: 0; }
  .capability-result strong { font-size: 12px; }
  .capability-proof-links { grid-template-columns: 1fr; }
  .capability-proof-links a { min-height: 210px; }
}

/* Equipment and physical infrastructure. */
.equipment-page .inner-hero-layout { grid-template-columns: minmax(0, .9fr) minmax(560px, 1.1fr); }
.equipment-page .inner-hero h1 { max-width: 720px; font-size: 56px; }
.equipment-page .inner-hero-visual,
body[data-page="platform"].equipment-page .inner-hero-visual { min-height: 470px; color: var(--white); background: var(--panel-deep); border-color: var(--panel-line); }
.equipment-page .equipment-hero-visual .visual-toolbar { color: #8da0a8; }
.equipment-page .equipment-hero-visual .visual-toolbar span:last-child { display: flex; align-items: center; gap: 7px; color: var(--green); }
.equipment-hero-visual .visual-toolbar span:last-child i { width: 6px; height: 6px; background: var(--green); border-radius: 50%; box-shadow: 0 0 8px var(--green); }
.equipment-live-topology { display: grid; gap: 8px; margin-top: 26px; }
.equipment-live-topology > div { position: relative; min-height: 65px; display: grid; grid-template-columns: 28px 34px minmax(0, 1fr) auto; grid-template-rows: auto auto; column-gap: 11px; align-items: center; padding: 10px 12px; background: var(--panel-raised); border: 1px solid var(--panel-line); border-radius: 5px; }
.equipment-live-topology > div:not(:last-child)::after { content: ""; position: absolute; z-index: 2; left: 58px; bottom: -9px; width: 1px; height: 9px; background: var(--cyan); }
.equipment-live-topology > div:nth-child(2) { margin-inline: 18px; }
.equipment-live-topology > div:nth-child(3) { margin-inline: 36px; }
.equipment-live-topology > div:nth-child(4) { margin-inline: 54px; }
.equipment-live-topology > div:nth-child(5) { margin-inline: 72px; background: #17313a; border-color: var(--cyan-dark); }
.equipment-live-topology > .equipment-brand-node { grid-template-columns: 28px 82px minmax(0, 1fr) auto; }
.equipment-live-topology > div > span { grid-row: 1 / 3; color: #9aabb2; font-family: var(--font-mono); font-size: 8px; }
.equipment-live-topology > div > svg,
.equipment-live-topology > div > img { grid-row: 1 / 3; width: 26px; height: 26px; color: var(--cyan); }
.equipment-live-topology > .equipment-brand-node > .ui-cshark-wordmark { width: 78px; height: 44px; }
.equipment-live-topology strong { align-self: end; font-size: 12px; }
.equipment-live-topology small { align-self: start; margin-top: 4px; color: #91a4ac; font-family: var(--font-mono); font-size: 7px; }
.equipment-live-topology b { grid-column: 4; grid-row: 1 / 3; color: var(--green); font-family: var(--font-mono); font-size: 7px; }

.equipment-ledger { border-top: 1px solid var(--ink); }
.equipment-ledger-row { min-height: 190px; display: grid; grid-template-columns: 50px 50px minmax(360px, 1.2fr) minmax(300px, .8fr); gap: 24px; align-items: center; border-bottom: 1px solid var(--line); }
.equipment-ledger-row > span { align-self: start; padding-top: 38px; color: #5d6d73; font-family: var(--font-mono); font-size: 10px; }
.equipment-ledger-row > svg { width: 30px; height: 30px; color: var(--cyan-dark); }
.equipment-ledger-row h3 { margin: 0; font-size: 24px; }
.equipment-ledger-row p { max-width: 700px; margin: 13px 0 0; color: var(--muted); font-size: 13px; line-height: 1.68; }
.equipment-ledger-row ul { display: flex; flex-wrap: wrap; gap: 7px; margin: 0; padding: 0; list-style: none; }
.equipment-ledger-row li { padding: 7px 9px; color: #3d5159; background: #edf2f0; border-left: 2px solid #9fb2ae; font-family: var(--font-mono); font-size: 8px; }

.display-lab { background: #f1f2e8; }
.display-variants { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.display-variants article { min-height: 360px; display: grid; grid-template-rows: 150px auto 1fr auto; padding: 18px; background: var(--white); border: 1px solid var(--line); border-radius: 6px; }
.display-variants h3 { margin: 24px 0 0; font-size: 20px; line-height: 1.2; }
.display-variants article > p { margin: 12px 0 0; color: var(--muted); font-size: 12px; line-height: 1.6; }
.display-variants article > small { align-self: end; margin-top: 22px; color: var(--cyan-dark); font-family: var(--font-mono); font-size: 8px; text-transform: uppercase; }
.led-board { min-width: 0; height: 150px; display: grid; align-items: center; padding: 15px; overflow: hidden; color: #86ff9a; background: #07110d; border: 6px solid #243039; border-radius: 3px; box-shadow: inset 0 0 22px rgba(84, 255, 114, .08); font-family: var(--font-mono); }
.led-board svg { filter: drop-shadow(0 0 5px rgba(134,255,154,.6)); }
.led-board-line { grid-template-columns: 42px 1fr auto; gap: 12px; }
.led-board-line svg { width: 34px; height: 34px; }
.led-board-line strong { font-size: 22px; }
.led-board-line b { font-size: 42px; }
.led-board-split { grid-template-columns: 1fr 1fr; gap: 10px; }
.led-board-split span { height: 100%; display: flex; align-items: center; justify-content: center; gap: 7px; border: 1px solid #1c3a26; }
.led-board-split span + span { color: var(--cyan); border-color: #3a3d32; }
.led-board-split svg { width: 24px; }
.led-board-split b { font-size: 34px; }
.led-board-floor { grid-template-columns: 1fr auto; grid-template-rows: auto 1fr; }
.led-board-floor small { grid-column: 1 / -1; color: #8fac98; font-size: 8px; }
.led-board-floor strong { font-size: 34px; }
.led-board-floor b { color: var(--cyan); font-size: 54px; }
.led-board-media { grid-template-columns: 1fr auto; grid-template-rows: auto 1fr auto; color: var(--white); background: #10212e; }
.led-board-media .ui-cshark-wordmark { width: 62px; height: 35px; margin: -10px 0 -7px -7px; }
.led-board-media strong { color: var(--cyan); font-size: 28px; }
.led-board-media p { grid-column: 1 / -1; align-self: center; margin: 0; color: var(--white); font-family: var(--font-sans); font-size: 15px; }
.led-board-media b { grid-column: 1 / -1; padding-top: 7px; color: var(--coral); border-top: 1px solid #414438; font-size: 7px; }

.camera-lab { overflow: hidden; }
.camera-layout { display: grid; grid-template-columns: minmax(330px, .65fr) minmax(600px, 1.35fr); gap: 76px; align-items: center; }
.camera-copy h2 { max-width: 570px; margin: 0; font-size: 48px; line-height: 1.04; }
.camera-copy > p:not(.section-kicker) { max-width: 560px; margin: 24px 0 0; color: #97a9b1; font-size: 15px; line-height: 1.7; }
.camera-rules { display: grid; gap: 0; margin-top: 38px; border-top: 1px solid #31434c; }
.camera-rules span { min-height: 62px; display: grid; grid-template-columns: 28px 100px 1fr; gap: 12px; align-items: center; border-bottom: 1px solid #31434c; }
.camera-rules svg { width: 20px; color: var(--cyan); }
.camera-rules b { font-size: 12px; }
.camera-rules small { color: #82959e; font-family: var(--font-mono); font-size: 8px; }
.camera-variants { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.camera-variants article { min-height: 480px; display: grid; grid-template-rows: 200px auto auto 1fr auto; padding: 22px; background: var(--panel-raised); border: 1px solid var(--panel-line); border-radius: 6px; }
.camera-device { position: relative; height: 200px; display: flex; align-items: center; justify-content: center; gap: 18px; background: #0a161c; border-bottom: 1px solid #2c4049; }
.camera-device > span { width: 112px; height: 76px; display: grid; place-items: center; color: #d9e3e6; background: #253640; border: 1px solid #4b606a; border-radius: 5px; transform: skewX(-8deg); }
.camera-device > span svg { width: 45px; height: 45px; transform: skewX(8deg); }
.camera-device > b { position: absolute; right: 12px; bottom: 12px; width: 8px; height: 8px; background: var(--green); border-radius: 50%; box-shadow: 0 0 10px var(--green); }
.camera-dual > span { width: 86px; }
.camera-dual > span:nth-child(2) { transform: skewX(8deg); }
.camera-dual > span:nth-child(2) svg { transform: skewX(-8deg); }
.camera-variants article > small { margin-top: 20px; color: var(--cyan); font-family: var(--font-mono); font-size: 8px; }
.camera-variants h3 { margin: 12px 0 0; font-size: 24px; }
.camera-variants article > p { margin: 14px 0 0; color: #91a4ac; font-size: 12px; line-height: 1.65; }
.camera-variants ul { align-self: end; display: grid; gap: 8px; margin: 24px 0 0; padding: 0; list-style: none; }
.camera-variants li { color: #b6c3c8; font-size: 10px; }
.camera-variants li::before { content: "+"; margin-right: 8px; color: var(--cyan); font-family: var(--font-mono); }

.f4a-camera-section { position: relative; overflow: hidden; color: var(--white); background: var(--panel-deep); border-top: 1px solid var(--panel-line); }
.f4a-camera-section::before { content: none; }
.f4a-camera-section .page-shell { position: relative; z-index: 1; }
.f4a-section-intro > p { color: #97a9b1; }
.f4a-section-intro .section-kicker { color: var(--cyan); }
.camera-environment-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); margin: 0 0 34px; border-top: 1px solid var(--panel-line); border-left: 1px solid var(--panel-line); }
.camera-environment-grid article { min-height: 230px; display: grid; grid-template-rows: auto auto 1fr auto; padding: 22px; background: rgba(29,31,25,.72); border-right: 1px solid var(--panel-line); border-bottom: 1px solid var(--panel-line); }
.camera-environment-grid svg { width: 25px; color: var(--cyan); }
.camera-environment-grid h3 { margin: 28px 0 0; font-size: 17px; line-height: 1.2; }
.camera-environment-grid p { margin: 12px 0 0; color: #8fa2aa; font-size: 10px; line-height: 1.6; }
.camera-environment-grid span { align-self: end; margin-top: 18px; color: #8da0a8; font-family: var(--font-mono); font-size: 7px; text-transform: uppercase; }
.f4a-product-layout { display: grid; grid-template-columns: minmax(470px, .9fr) minmax(480px, 1.1fr); min-height: 680px; margin-top: 20px; background: var(--panel); border: 1px solid var(--panel-line); }
.f4a-product-visual { position: relative; min-width: 0; min-height: 680px; display: grid; place-items: center; margin: 0; overflow: hidden; background-color: #12130f; border-right: 1px solid rgba(255,255,255,.16); }
.f4a-product-visual::after { content: ""; position: absolute; width: 430px; height: 430px; border: 1px solid rgba(255,255,255,.16); border-radius: 50%; box-shadow: 0 0 80px rgba(201,245,74,.12), inset 0 0 80px rgba(201,245,74,.06); }
.f4a-product-toolbar { position: absolute; z-index: 5; top: 0; right: 0; left: 0; min-height: 46px; display: flex; align-items: center; justify-content: space-between; padding: 0 16px; color: #8f9386; border-bottom: 1px solid var(--panel-line); font-family: var(--font-mono); font-size: 7px; }
.f4a-product-toolbar b { display: flex; align-items: center; gap: 7px; color: var(--green); font-weight: 500; }
.f4a-product-toolbar b i { width: 6px; height: 6px; background: var(--green); border-radius: 50%; box-shadow: 0 0 8px var(--green); animation: f4aStatusPulse 1.8s ease-in-out infinite; }
@keyframes f4aStatusPulse { 50% { opacity: .42; box-shadow: 0 0 2px var(--green); } }
.f4a-product-visual > img { position: relative; z-index: 3; width: min(78%, 520px); height: auto; display: block; filter: drop-shadow(0 38px 38px rgba(0,0,0,.34)); animation: f4aProductFloat 6s ease-in-out infinite; }
@keyframes f4aProductFloat { 50% { transform: translateY(-10px); } }
.f4a-product-visual figcaption { position: absolute; z-index: 5; right: 18px; bottom: 18px; left: 18px; min-height: 64px; display: flex; align-items: center; gap: 14px; padding: 0 16px; background: rgba(23,24,20,.92); border: 1px solid var(--line-dark-strong); backdrop-filter: blur(12px); }
.f4a-product-visual figcaption strong { font-size: 18px; }
.f4a-product-visual figcaption span { color: var(--cyan); font-family: var(--font-mono); font-size: 7px; }
.f4a-orbit { position: absolute; z-index: 4; display: grid; place-items: center; border: 1px solid rgba(201,245,74,.42); border-radius: 50%; animation: f4aOrbitSpin 18s linear infinite; }
.f4a-orbit::before { content: ""; position: absolute; top: 50%; left: -3px; width: 6px; height: 6px; background: var(--cyan); border-radius: 50%; box-shadow: 0 0 9px var(--cyan); }
.f4a-orbit span { padding: 5px 7px; color: var(--cyan); background: #0b1a21; border: 1px solid #31505b; font-family: var(--font-mono); font-size: 7px; animation: f4aOrbitSpin 18s linear infinite reverse; }
.f4a-orbit-one { width: 510px; height: 510px; }
.f4a-orbit-two { width: 590px; height: 590px; animation-duration: 26s; animation-direction: reverse; }
.f4a-orbit-two span { animation-duration: 26s; animation-direction: normal; }
@keyframes f4aOrbitSpin { to { transform: rotate(360deg); } }
.f4a-product-copy { display: flex; flex-direction: column; justify-content: center; padding: 52px; }
.f4a-product-copy .section-kicker { color: var(--cyan); }
.f4a-product-copy h3 { max-width: 650px; margin: 0; font-size: 42px; line-height: 1.06; }
.f4a-product-copy > p:not(.section-kicker) { max-width: 650px; margin: 22px 0 0; color: #9aadb5; font-size: 14px; line-height: 1.72; }
.f4a-primary-metrics { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 34px; border-top: 1px solid var(--panel-line); border-left: 1px solid var(--panel-line); }
.f4a-primary-metrics > div { min-height: 105px; display: grid; align-content: center; padding: 15px 18px; border-right: 1px solid var(--panel-line); border-bottom: 1px solid var(--panel-line); }
.f4a-primary-metrics strong { color: var(--white); font-family: var(--font-mono); font-size: 30px; font-weight: 700; font-variant-numeric: tabular-nums; }
.f4a-primary-metrics strong span { color: var(--cyan); font-size: 12px; }
.f4a-primary-metrics small { max-width: 160px; margin-top: 6px; color: #7f939c; font-size: 8px; line-height: 1.4; }
.f4a-function-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; margin: 32px 0 0; padding: 0; border-top: 1px solid var(--panel-line); list-style: none; }
.f4a-function-list li { min-height: 92px; display: grid; grid-template-columns: 30px 1fr; align-content: center; gap: 11px; padding: 14px 14px 14px 0; border-bottom: 1px solid var(--panel-line); }
.f4a-function-list li:nth-child(odd) { border-right: 1px solid var(--panel-line); }
.f4a-function-list li:nth-child(even) { padding-left: 14px; }
.f4a-function-list svg { width: 20px; color: var(--cyan); }
.f4a-function-list span { display: grid; gap: 5px; }
.f4a-function-list b { font-size: 10px; }
.f4a-function-list small { color: #82969e; font-size: 8px; line-height: 1.45; }

.f4a-coverage-layout { display: grid; grid-template-columns: minmax(360px, .72fr) minmax(620px, 1.28fr); gap: 64px; align-items: center; margin-top: 112px; }
.f4a-coverage-copy .section-kicker { color: var(--cyan); }
.f4a-coverage-copy h3 { max-width: 570px; margin: 0; font-size: 40px; line-height: 1.08; }
.f4a-coverage-copy > p:not(.section-kicker) { max-width: 560px; margin: 22px 0 0; color: #96a8b0; font-size: 13px; line-height: 1.7; }
.f4a-status-legend { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 30px; color: #9badb4; font-family: var(--font-mono); font-size: 7px; }
.f4a-status-legend span { display: flex; align-items: center; gap: 7px; }
.f4a-status-legend i { width: 7px; height: 7px; border-radius: 50%; }
.f4a-status-legend .is-free { background: var(--green); box-shadow: 0 0 7px var(--green); }
.f4a-status-legend .is-occupied { background: var(--red); box-shadow: 0 0 7px var(--red); }
.f4a-status-legend .is-reserved { background: var(--cyan); box-shadow: 0 0 7px var(--cyan); }
.f4a-event-sequence { margin: 36px 0 0; padding: 0; border-top: 1px solid var(--panel-line); list-style: none; }
.f4a-event-sequence li { min-height: 78px; display: grid; grid-template-columns: 38px 1fr; align-items: center; border-bottom: 1px solid var(--panel-line); }
.f4a-event-sequence li > span { color: var(--cyan); font-family: var(--font-mono); font-size: 8px; }
.f4a-event-sequence p { display: grid; gap: 5px; margin: 0; }
.f4a-event-sequence b { font-size: 11px; }
.f4a-event-sequence small { color: #7f939b; font-size: 8px; line-height: 1.45; }
.f4a-coverage-board { --board-light: #62ed71; --board-light-rgb: 98 237 113; position: relative; min-width: 0; overflow: hidden; scroll-margin-top: 86px; background: var(--panel-deep); border: 1px solid var(--line-dark-strong); box-shadow: 0 34px 80px rgba(0,0,0,.2); }
.f4a-coverage-board[data-camera-state="full"] { --board-light: #ff4d52; --board-light-rgb: 255 77 82; }
.f4a-board-header, .f4a-board-footer { position: relative; z-index: 8; min-height: 46px; display: flex; align-items: center; justify-content: space-between; padding: 0 15px; color: #8f9386; background: var(--panel); border-bottom: 1px solid var(--panel-line); font-family: var(--font-mono); font-size: 7px; }
.f4a-board-live { display: flex; align-items: center; gap: 12px; }
.f4a-board-count { display: flex; align-items: baseline; gap: 4px; color: var(--board-light); transition: color 260ms ease; }
.f4a-board-count strong { color: currentColor; font-size: 11px; font-variant-numeric: tabular-nums; }
.f4a-board-header b { display: flex; align-items: center; gap: 6px; color: var(--board-light); font-weight: 500; transition: color 260ms ease; }
.f4a-board-header b i { width: 6px; height: 6px; background: var(--board-light); border-radius: 50%; box-shadow: 0 0 7px var(--board-light); transition: background 260ms ease, box-shadow 260ms ease; }
.f4a-board-toggle { width: 28px; height: 28px; display: grid; place-items: center; padding: 0; color: #91a3aa; background: #102029; border: 1px solid #304750; border-radius: 3px; cursor: pointer; transition: color 160ms ease, background 160ms ease, transform 160ms var(--ease); }
.f4a-board-toggle:hover { color: var(--white); background: #19313a; }
.f4a-board-toggle:active { transform: scale(.95); }
.f4a-board-toggle:focus-visible { outline: 2px solid var(--board-light); outline-offset: 2px; }
.f4a-board-toggle svg { width: 12px; height: 12px; }
.f4a-space-row { position: relative; z-index: 3; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 5px; padding: 6px 6px 0; }
.f4a-space-row-bottom { padding: 0 6px 6px; }
.f4a-space { position: relative; min-width: 0; height: 154px; display: grid; place-items: center; align-content: center; gap: 6px; overflow: hidden; background: var(--panel-raised); border: 1px solid var(--line-dark-strong); transition: color 260ms ease, background 260ms ease, border-color 260ms ease; }
.f4a-space-row-top .f4a-space { border-bottom-style: dashed; }
.f4a-space-row-bottom .f4a-space { border-top-style: dashed; }
.f4a-space > span { position: absolute; top: 8px; left: 9px; color: #90a1a8; font-family: var(--font-mono); font-size: 7px; }
.f4a-space > svg { width: 48px; height: 48px; color: #d9e2e5; opacity: .75; }
.f4a-space > strong { color: currentColor; font-family: var(--font-mono); font-size: 7px; }
.f4a-space > .f4a-space-state { min-height: 9px; letter-spacing: 0; }
.f4a-space [hidden] { display: none !important; }
.f4a-space::after { content: ""; position: absolute; right: 8px; top: 8px; width: 6px; height: 6px; border-radius: 50%; background: currentColor; box-shadow: 0 0 8px currentColor; }
.f4a-space.free { color: var(--green); background: rgba(201,245,74,.06); border-color: rgba(201,245,74,.34); }
.f4a-space.occupied { color: var(--red); background: rgba(255,154,170,.07); border-color: rgba(255,154,170,.38); }
.f4a-space.reserved { color: var(--cyan); background: rgba(201,245,74,.09); border-color: rgba(201,245,74,.5); }
.f4a-space.reserved > svg { width: 34px; height: 34px; color: var(--cyan); }
.f4a-space.is-updating { animation: f4aSpaceUpdate 620ms ease; }
@keyframes f4aSpaceUpdate { 45% { box-shadow: inset 0 0 0 2px currentColor, 0 0 20px rgb(var(--board-light-rgb) / .18); } }
.ru-plate { width: 94px; height: 28px; display: grid; grid-template-columns: 1fr 28px; overflow: hidden; color: #101315; background: #f5f6f3; border: 2px solid #13181a; border-radius: 3px; box-shadow: 0 5px 12px rgba(0,0,0,.2); font-family: var(--font-mono); }
.ru-plate > b { display: grid; place-items: center; font-size: 11px; font-weight: 800; }
.ru-plate > small { display: grid; place-items: center; align-content: center; gap: 0; border-left: 1px solid #13181a; font-size: 7px; line-height: 1; }
.ru-plate em { font-size: 4px; font-style: normal; }
.f4a-drive-aisle { position: relative; z-index: 4; height: 190px; display: grid; place-items: center; overflow: visible; background: repeating-linear-gradient(90deg, transparent 0 52px, rgba(255,255,255,.08) 52px 72px, transparent 72px 124px) center / auto 1px no-repeat, var(--panel); border-block: 1px solid var(--line-dark-strong); }
.f4a-drive-aisle::before, .f4a-drive-aisle::after { content: ""; position: absolute; right: 20px; left: 20px; height: 1px; background: repeating-linear-gradient(90deg, #5d645b 0 18px, transparent 18px 32px); }
.f4a-drive-aisle::before { top: 32px; }
.f4a-drive-aisle::after { bottom: 32px; }
.f4a-vision-cone { position: absolute; z-index: 1; left: 8%; width: 84%; pointer-events: none; background: rgb(var(--board-light-rgb) / .1); border-inline: 1px solid rgb(var(--board-light-rgb) / .3); transition: background 320ms ease, border-color 320ms ease; }
.f4a-vision-cone-top { bottom: 50%; height: 280px; clip-path: polygon(48% 100%, 52% 100%, 100% 0, 0 0); }
.f4a-vision-cone-bottom { top: 50%; height: 280px; clip-path: polygon(48% 0, 52% 0, 100% 100%, 0 100%); }
.f4a-map-camera { position: relative; z-index: 6; width: 104px; height: 104px; display: grid; place-items: center; background: rgb(var(--board-light-rgb) / .12); border: 1px solid var(--board-light); border-radius: 50%; box-shadow: 0 0 0 10px rgb(var(--board-light-rgb) / .05), 0 0 36px rgb(var(--board-light-rgb) / .32); transition: background 320ms ease, border-color 320ms ease, box-shadow 320ms ease; }
.f4a-map-camera::after { content: ""; position: absolute; z-index: 2; top: 50%; left: 50%; width: 81%; height: 81%; pointer-events: none; background: linear-gradient(180deg, transparent 0 64%, rgb(var(--board-light-rgb) / .42) 70%, rgb(var(--board-light-rgb)) 100%); clip-path: polygon(13.5% 65.1%,16% 66.3%,18.5% 67.5%,21.5% 69%,25% 70.5%,29% 72%,33% 73.4%,37% 74.5%,41.5% 75.4%,46% 75.9%,50% 76.1%,54% 75.9%,58.5% 75.4%,63% 74.5%,67% 73.4%,71% 72%,75% 70.5%,78.5% 69%,81.5% 67.5%,84% 66.3%,86.5% 65.1%,77% 100%,23% 100%); -webkit-mask: url("assets/cshark-spc-dspc-camera.png?v=20260721-product-render") center / contain no-repeat; mask: url("assets/cshark-spc-dspc-camera.png?v=20260721-product-render") center / contain no-repeat; mix-blend-mode: multiply; filter: saturate(2.24) brightness(1.5); transform: translate(-50%, -50%); transition: background 320ms ease; }
.f4a-map-camera img { position: relative; z-index: 1; width: 84px; height: 84px; object-fit: contain; }
.f4a-map-camera span { position: absolute; z-index: 3; bottom: -19px; color: var(--board-light); font-family: var(--font-mono); font-size: 7px; transition: color 260ms ease; }
.f4a-aisle-label { position: absolute; z-index: 5; right: 16px; bottom: 12px; display: flex; align-items: center; gap: 6px; color: #71858e; font-family: var(--font-mono); font-size: 6px; }
.f4a-aisle-label svg { width: 13px; }
.f4a-board-footer { min-height: 42px; border-top: 1px solid var(--panel-line); border-bottom: 0; }
.f4a-board-footer span { display: flex; align-items: center; gap: 6px; }
.f4a-board-footer svg { width: 13px; color: var(--cyan); }
.f4a-board-footer b { color: var(--board-light); font-weight: 500; transition: color 260ms ease; }

.f4a-specification { margin-top: 112px; padding-top: 52px; border-top: 1px solid var(--line-dark-strong); }
.f4a-spec-heading { display: grid; grid-template-columns: 1fr minmax(320px, .62fr); gap: 70px; align-items: end; }
.f4a-spec-heading .section-kicker { color: var(--cyan); }
.f4a-spec-heading h3 { margin: 0; font-size: 38px; }
.f4a-spec-heading > p { margin: 0; color: #94a6ae; font-size: 13px; line-height: 1.65; }
.f4a-spec-table-wrap { margin-top: 38px; overflow-x: auto; border: 1px solid var(--line-dark-strong); }
.f4a-spec-table { width: 100%; min-width: 820px; border-collapse: collapse; color: #c1cdd2; font-size: 11px; }
.f4a-spec-table th, .f4a-spec-table td { padding: 17px 20px; text-align: left; vertical-align: top; border-bottom: 1px solid #2c414a; }
.f4a-spec-table th + th, .f4a-spec-table td + td { border-left: 1px solid #2c414a; }
.f4a-spec-table thead th { color: var(--white); background: var(--panel-raised); font-size: 12px; }
.f4a-spec-table thead th:first-child { color: #7f939c; font-family: var(--font-mono); font-size: 8px; }
.f4a-spec-table tbody th { width: 190px; color: #a4a89b; background: var(--panel); font-family: var(--font-mono); font-size: 8px; font-weight: 500; }
.f4a-spec-table tbody td { line-height: 1.55; background: rgba(29,31,25,.68); }
.f4a-spec-table tbody tr:last-child th, .f4a-spec-table tbody tr:last-child td { border-bottom: 0; }
.f4a-common-specs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-right: 1px solid var(--line-dark-strong); border-bottom: 1px solid var(--line-dark-strong); border-left: 1px solid var(--line-dark-strong); }
.f4a-common-specs span { min-height: 110px; display: grid; align-content: center; gap: 10px; padding: 18px; color: #a7b6bc; font-size: 9px; line-height: 1.55; }
.f4a-common-specs span + span { border-left: 1px solid var(--line-dark-strong); }
.f4a-common-specs b { color: var(--cyan); font-family: var(--font-mono); font-size: 7px; text-transform: uppercase; }
.f4a-spec-note { max-width: 920px; margin: 18px 0 0; color: #71868f; font-size: 8px; line-height: 1.55; }

.f4a-system-flow { display: grid; grid-template-columns: repeat(9, auto); align-items: center; gap: 14px; margin-bottom: 34px; padding: 18px; background: var(--panel); border: 1px solid var(--panel-line); }
.f4a-system-flow > div { min-width: 0; min-height: 124px; display: grid; grid-template-columns: 30px 1fr; grid-template-rows: auto auto auto; align-content: center; column-gap: 11px; padding: 16px; background: var(--panel-raised); border: 1px solid var(--line-dark-strong); }
.f4a-system-flow > div > svg { grid-row: 1 / 4; width: 24px; color: var(--cyan); }
.f4a-system-flow > div span { color: #758a93; font-family: var(--font-mono); font-size: 6px; }
.f4a-system-flow > div strong { margin-top: 8px; font-size: 11px; }
.f4a-system-flow > div small { margin-top: 5px; color: #80949d; font-size: 7px; line-height: 1.4; }
.f4a-system-flow > svg { width: 15px; color: #607680; }

.connection-section { color: var(--white); background: var(--panel-deep); }
.connection-section .page-intro > p { color: #93a4ac; }
.connection-section .section-kicker { color: var(--cyan); }
.connection-legend { display: flex; flex-wrap: wrap; gap: 20px; margin-bottom: 18px; color: #a6b5bb; font-family: var(--font-mono); font-size: 8px; }
.connection-legend span { display: flex; align-items: center; gap: 7px; }
.connection-legend i { width: 24px; height: 3px; }
.legend-data { background: var(--cyan); }
.legend-fiber { background: var(--coral); }
.legend-control { background: var(--green); }
.legend-power { background: var(--cyan); }
.topology-schematic { padding: 18px; background: var(--panel); border: 1px solid var(--panel-line); }
.topology-tier { border: 1px solid var(--panel-line); }
.topology-tier > header { min-height: 62px; display: grid; grid-template-columns: 90px minmax(220px, .8fr) minmax(260px, 1.2fr); gap: 20px; align-items: center; padding: 0 18px; background: var(--panel-raised); border-bottom: 1px solid var(--panel-line); }
.topology-tier > header span { color: var(--cyan); font-family: var(--font-mono); font-size: 8px; }
.topology-tier > header strong { font-size: 14px; }
.topology-tier > header small { color: #80949d; font-family: var(--font-mono); font-size: 8px; text-align: right; }
.topology-brand-title { display: flex; align-items: center; gap: 9px; }
.topology-brand-title .ui-cshark-wordmark { width: 72px; height: 40px; }
.topology-brand-title b { color: #93a6ae; font-family: var(--font-mono); font-size: 8px; }
.topology-nodes { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); }
.topology-node { min-height: 152px; display: grid; align-content: center; justify-items: start; padding: 18px; }
.topology-node + .topology-node { border-left: 1px solid var(--panel-line); }
.topology-node svg { width: 25px; height: 25px; color: var(--cyan); }
.topology-node strong { margin-top: 20px; font-size: 12px; }
.topology-node small { margin-top: 6px; color: #83969e; font-size: 8px; }
.topology-node b { margin-top: 18px; color: var(--green); font-family: var(--font-mono); font-size: 7px; }
.topology-link { position: relative; min-height: 68px; display: grid; grid-template-columns: 1fr 1fr; align-items: center; padding: 0 28px; color: #8599a1; font-family: var(--font-mono); font-size: 8px; }
.topology-link::before { content: ""; position: absolute; top: 0; bottom: 0; left: 50%; width: 3px; transform: translateX(-50%); }
.topology-link::after { content: ""; position: absolute; bottom: 5px; left: calc(50% - 5px); width: 9px; height: 9px; border-right: 2px solid; border-bottom: 2px solid; transform: rotate(45deg); }
.topology-link span { padding-right: 36px; text-align: right; }
.topology-link b { padding-left: 36px; color: #aebbc0; font-weight: 500; }
.topology-link-copper::before { background: var(--cyan); }
.topology-link-copper::after { border-color: var(--cyan); }
.topology-link-fiber::before { background: var(--coral); }
.topology-link-fiber::after { border-color: var(--coral); }
.topology-link-api::before { background: var(--green); }
.topology-link-api::after { border-color: var(--green); }
.cabinet-rack { min-height: 128px; display: grid; grid-template-columns: repeat(7, auto); align-items: center; justify-content: center; gap: 18px; padding: 18px; }
.cabinet-rack > div { min-width: 170px; min-height: 76px; display: grid; grid-template-columns: 28px 1fr; align-content: center; column-gap: 10px; padding: 12px; background: #101f27; border: 1px solid #30434c; }
.cabinet-rack > div > svg { grid-row: 1 / 3; width: 22px; color: var(--cyan); }
.cabinet-rack > div strong { font-size: 10px; }
.cabinet-rack > div small { margin-top: 5px; color: #82969e; font-size: 7px; }
.cabinet-rack > svg { width: 16px; color: #647a83; }
.core-rack-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); }
.core-rack-grid > div { min-height: 120px; display: grid; grid-template-columns: 34px 1fr; align-content: center; column-gap: 10px; padding: 18px; }
.core-rack-grid > div + div { border-left: 1px solid #263a43; }
.core-rack-grid svg { grid-row: 1 / 3; width: 24px; color: var(--coral); }
.core-rack-grid .core-brand-node { grid-template-columns: 74px 1fr; }
.core-rack-grid .core-brand-node .ui-cshark-wordmark { grid-row: 1 / 3; width: 68px; height: 38px; }
.core-rack-grid strong { font-size: 11px; }
.core-rack-grid small { margin-top: 5px; color: #82969e; font-size: 8px; }
.platform-flow { min-height: 124px; display: grid; grid-template-columns: repeat(9, auto); align-items: center; justify-content: center; gap: 16px; padding: 18px; }
.platform-flow > div { min-width: 155px; min-height: 74px; display: grid; grid-template-columns: 28px 1fr; align-content: center; column-gap: 10px; padding: 11px; background: #10242c; border: 1px solid #2e4852; }
.platform-flow > div > svg,
.platform-flow > div > img { grid-row: 1 / 3; width: 23px; height: 23px; color: var(--green); }
.platform-flow > .platform-brand-node { grid-template-columns: 64px 1fr; }
.platform-flow > .platform-brand-node > .ui-cshark-wordmark { width: 60px; height: 34px; }
.platform-flow > div strong { font-size: 10px; }
.platform-flow > div small { margin-top: 5px; color: #82969e; font-size: 7px; }
.platform-flow > svg { width: 15px; color: #647a83; }
.power-backbone { margin-top: 18px; color: var(--ink); background: var(--cyan); border: 1px solid #d8ff67; }
.power-backbone > header { min-height: 48px; display: flex; align-items: center; gap: 10px; padding: 0 18px; border-bottom: 1px solid #a6cf32; }
.power-backbone > header svg { width: 18px; }
.power-backbone > header span { font-family: var(--font-mono); font-size: 8px; font-weight: 800; }
.power-backbone > div { min-height: 112px; display: grid; grid-template-columns: repeat(9, auto); align-items: center; justify-content: center; gap: 16px; padding: 16px; }
.power-backbone > div > span { min-width: 150px; display: grid; gap: 6px; }
.power-backbone > div strong { font-size: 10px; }
.power-backbone > div small { color: #725b37; font-size: 7px; }
.power-backbone > div svg { width: 15px; }

.equipment-profile-selector { display: inline-flex; flex-wrap: wrap; gap: 5px; margin-bottom: 18px; padding: 5px; background: #e5ebe9; border: 1px solid #c8d2cf; }
.equipment-profile-selector button { min-height: 42px; padding: 0 16px; color: #52646b; background: transparent; border: 0; border-radius: 4px; font-size: 10px; font-weight: 800; cursor: pointer; }
.equipment-profile-selector button.active { color: var(--white); background: var(--ink); }
.equipment-profile-stage { display: grid; grid-template-columns: minmax(360px, .8fr) minmax(520px, 1.2fr); min-height: 510px; border: 1px solid var(--line); }
.equipment-profile-copy { display: flex; flex-direction: column; justify-content: center; padding: 48px; background: var(--white); }
.equipment-profile-copy h3 { max-width: 520px; margin: 0; font-size: 35px; line-height: 1.08; }
.equipment-profile-copy > p:not(.section-kicker) { max-width: 580px; margin: 20px 0 0; color: var(--muted); font-size: 14px; line-height: 1.68; }
.equipment-profile-copy ul { display: grid; gap: 10px; margin: 30px 0 0; padding: 0; list-style: none; }
.equipment-profile-copy li { color: #41545c; font-size: 11px; }
.equipment-profile-copy li::before { content: "+"; margin-right: 8px; color: var(--cyan-dark); font-family: var(--font-mono); }
.equipment-profile-diagram { position: relative; display: grid; grid-template-columns: repeat(2, 1fr); grid-template-rows: auto auto 1fr; gap: 1px; padding: 1px; overflow: hidden; color: var(--white); background: var(--panel-line); }
.profile-metric { min-height: 102px; display: grid; align-content: center; padding: 18px; background: var(--panel-raised); }
.profile-metric span { color: #8da0a8; font-family: var(--font-mono); font-size: 7px; }
.profile-metric strong { margin-top: 9px; font-size: 14px; }
.floor-stack { grid-column: 1 / -1; position: relative; min-height: 300px; display: grid; align-content: center; gap: 7px; padding: 30px 60px; background: var(--panel); }
.floor-stack::before { content: ""; position: absolute; top: 28px; bottom: 44px; left: 50%; width: 3px; background: var(--coral); transform: translateX(-50%); }
.floor-stack span { position: relative; z-index: 2; min-height: 35px; display: grid; grid-template-columns: 50px 1fr; align-items: center; padding: 0 12px; color: #c7c9bc; background: var(--panel-raised); border: 1px solid var(--panel-line); font-family: var(--font-mono); font-size: 8px; }
.floor-stack span i { height: 3px; background: var(--cyan); }
.floor-stack b { position: relative; z-index: 2; justify-self: center; min-width: 92px; min-height: 36px; display: grid; place-items: center; color: var(--ink); background: var(--coral); font-family: var(--font-mono); font-size: 8px; }
.floor-stack[data-profile="compact"] span { width: 62%; justify-self: center; }
.floor-stack[data-profile="network"] span { border-color: var(--cyan-dark); }

.project-delivery { background: #f1f2e8; }
.equipment-delivery-track { margin: 0; padding: 0; border-top: 1px solid var(--ink); list-style: none; }
.equipment-delivery-track li { min-height: 166px; display: grid; grid-template-columns: 64px minmax(250px, .55fr) minmax(360px, 1fr) 160px; gap: 28px; align-items: center; border-bottom: 1px solid var(--line); }
.equipment-delivery-track li > span { color: var(--cyan-dark); font-family: var(--font-mono); font-size: 10px; }
.equipment-delivery-track strong { font-size: 21px; }
.equipment-delivery-track p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.65; }
.equipment-delivery-track small { color: #596a70; font-family: var(--font-mono); font-size: 8px; text-align: right; text-transform: uppercase; }
.engineering-deliverables { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 70px; border-top: 1px solid #becbc8; border-left: 1px solid #becbc8; }
.engineering-deliverables > div { min-height: 160px; display: grid; grid-template-columns: 40px 1fr; align-content: center; column-gap: 12px; padding: 22px; background: rgba(255,255,255,.55); border-right: 1px solid #becbc8; border-bottom: 1px solid #becbc8; }
.engineering-deliverables svg { grid-row: 1 / 3; width: 27px; color: var(--cyan-dark); }
.engineering-deliverables strong { font-size: 14px; }
.engineering-deliverables span { margin-top: 7px; color: var(--muted); font-family: var(--font-mono); font-size: 8px; }

.capability-detail-link { display: inline-flex; align-items: center; gap: 7px; color: var(--cyan-dark); font-size: 10px; font-weight: 800; text-decoration: none; }
.capability-detail-link svg { width: 14px; }

@media (max-width: 1180px) {
  .equipment-page .inner-hero-layout { grid-template-columns: 1fr 1fr; gap: 38px; }
  .equipment-ledger-row { grid-template-columns: 42px 40px minmax(300px, 1fr) minmax(260px, .75fr); gap: 18px; }
  .display-variants { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .camera-environment-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .camera-layout { grid-template-columns: 1fr; }
  .f4a-product-layout { grid-template-columns: minmax(380px, .85fr) minmax(400px, 1.15fr); }
  .f4a-product-copy { padding: 38px; }
  .f4a-product-copy h3 { font-size: 37px; }
  .f4a-coverage-layout { gap: 38px; }
  .f4a-system-flow { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .f4a-system-flow > svg { display: none; }
  .cabinet-rack,
  .platform-flow,
  .power-backbone > div { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .cabinet-rack > svg,
  .platform-flow > svg,
  .power-backbone > div > svg { display: none; }
  .cabinet-rack > div,
  .platform-flow > div,
  .power-backbone > div > span { min-width: 0; }
}

@media (max-width: 980px) {
  .equipment-page .inner-hero-layout { grid-template-columns: 1fr; }
  .equipment-page .inner-hero h1 { font-size: 50px; }
  .equipment-ledger-row { grid-template-columns: 42px 38px 1fr; padding: 28px 0; }
  .equipment-ledger-row > span { padding-top: 5px; }
  .equipment-ledger-row ul { grid-column: 3; }
  .camera-environment-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .f4a-product-layout { grid-template-columns: 1fr; }
  .f4a-product-visual { min-height: 620px; border-right: 0; border-bottom: 1px solid #304550; }
  .f4a-coverage-layout { grid-template-columns: 1fr; gap: 44px; }
  .f4a-coverage-copy { display: grid; grid-template-columns: 1fr 1fr; column-gap: 34px; }
  .f4a-coverage-copy .section-kicker,
  .f4a-coverage-copy h3,
  .f4a-coverage-copy > p { grid-column: 1 / -1; }
  .f4a-status-legend { align-self: start; }
  .f4a-event-sequence { margin-top: 30px; }
  .f4a-spec-heading { grid-template-columns: 1fr; gap: 22px; }
  .f4a-common-specs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .f4a-common-specs span:nth-child(3) { border-left: 0; border-top: 1px solid var(--line-dark-strong); }
  .f4a-common-specs span:nth-child(4) { border-top: 1px solid var(--line-dark-strong); }
  .topology-nodes,
  .core-rack-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .topology-node + .topology-node,
  .core-rack-grid > div + div { border-left: 0; }
  .topology-node:nth-child(even),
  .core-rack-grid > div:nth-child(even) { border-left: 1px solid #263a43; }
  .topology-node,
  .core-rack-grid > div { border-bottom: 1px solid #263a43; }
  .cabinet-rack,
  .platform-flow,
  .power-backbone > div { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .equipment-profile-stage { grid-template-columns: 1fr; }
  .equipment-delivery-track li { grid-template-columns: 48px minmax(220px, .7fr) minmax(300px, 1.3fr); }
  .equipment-delivery-track small { grid-column: 2 / -1; text-align: left; }
}

@media (max-width: 680px) {
  .equipment-page .inner-hero h1 { font-size: 38px; }
  .equipment-page .inner-hero-visual,
  body[data-page="platform"].equipment-page .inner-hero-visual { min-height: 430px; padding: 14px; }
  .equipment-live-topology > div:nth-child(n) { margin-inline: 0; }
  .equipment-live-topology > div { grid-template-columns: 22px 28px minmax(0, 1fr); }
  .equipment-live-topology > .equipment-brand-node { grid-template-columns: 22px 66px minmax(0, 1fr); }
  .equipment-live-topology > .equipment-brand-node > .ui-cshark-wordmark { width: 62px; height: 35px; }
  .equipment-live-topology b { display: none; }
  .equipment-ledger-row { min-height: 0; grid-template-columns: 30px 28px 1fr; gap: 12px; padding: 25px 0; }
  .equipment-ledger-row > svg { width: 23px; height: 23px; }
  .equipment-ledger-row h3 { font-size: 20px; }
  .equipment-ledger-row p { font-size: 12px; }
  .equipment-ledger-row ul { grid-column: 2 / -1; }
  .display-variants { grid-template-columns: 1fr; }
  .display-variants article { min-height: 330px; }
  .camera-copy h2 { font-size: 35px; }
  .camera-rules span { grid-template-columns: 25px 80px 1fr; }
  .camera-variants { grid-template-columns: 1fr; }
  .camera-environment-grid { grid-template-columns: 1fr; }
  .camera-environment-grid article { min-height: 190px; }
  .camera-variants article { min-height: 440px; }
  .f4a-product-layout { min-height: 0; }
  .f4a-product-visual { min-height: 490px; }
  .f4a-product-visual::after { width: 300px; height: 300px; }
  .f4a-product-visual > img { width: min(84%, 390px); }
  .f4a-product-visual figcaption { right: 10px; bottom: 10px; left: 10px; min-height: 56px; padding-inline: 12px; }
  .f4a-product-visual figcaption strong { font-size: 15px; }
  .f4a-orbit-one { width: 340px; height: 340px; }
  .f4a-orbit-two { width: 410px; height: 410px; }
  .f4a-product-copy { padding: 34px 20px; }
  .f4a-product-copy h3 { font-size: 31px; }
  .f4a-primary-metrics > div { min-height: 92px; padding: 13px; }
  .f4a-primary-metrics strong { font-size: 24px; }
  .f4a-function-list { grid-template-columns: 1fr; }
  .f4a-function-list li:nth-child(odd) { border-right: 0; }
  .f4a-function-list li:nth-child(even) { padding-left: 0; }
  .f4a-coverage-layout { margin-top: 78px; }
  .f4a-coverage-copy { display: block; }
  .f4a-coverage-copy h3 { font-size: 31px; }
  .f4a-space { height: 124px; gap: 6px; }
  .f4a-space > span { top: 6px; left: 6px; font-size: 5px; }
  .f4a-space > svg { width: 35px; height: 35px; }
  .f4a-space > strong { font-size: 5px; }
  .ru-plate { width: 72px; height: 23px; grid-template-columns: 1fr 22px; }
  .ru-plate > b { font-size: 8px; }
  .ru-plate > small { font-size: 5px; }
  .f4a-drive-aisle { height: 152px; }
  .f4a-map-camera { width: 76px; height: 76px; }
  .f4a-map-camera img { width: 61px; height: 61px; }
  .f4a-aisle-label { right: 8px; font-size: 4px; }
  .f4a-board-header, .f4a-board-footer { padding-inline: 8px; font-size: 5px; }
  .f4a-board-header > span { display: none; }
  .f4a-board-live { width: 100%; justify-content: space-between; gap: 6px; }
  .f4a-board-count strong { font-size: 8px; }
  .f4a-board-toggle { width: 25px; height: 25px; }
  .f4a-board-footer { align-items: flex-start; flex-direction: column; justify-content: center; gap: 5px; }
  .f4a-specification { margin-top: 78px; padding-top: 40px; }
  .f4a-spec-heading h3 { font-size: 30px; }
  .f4a-spec-table-wrap { margin-right: -10px; }
  .f4a-common-specs { grid-template-columns: 1fr; }
  .f4a-common-specs span + span { border-top: 1px solid var(--line-dark-strong); border-left: 0; }
  .f4a-common-specs span { min-height: 88px; }
  .f4a-system-flow { grid-template-columns: 1fr; padding: 8px; }
  .f4a-system-flow > div { min-height: 96px; }
  .connection-legend { gap: 12px; }
  .topology-schematic { margin-inline: -10px; padding: 8px; }
  .topology-tier > header { grid-template-columns: 1fr; gap: 7px; padding-block: 14px; }
  .topology-tier > header small { text-align: left; }
  .topology-nodes,
  .core-rack-grid { grid-template-columns: 1fr; }
  .topology-node:nth-child(even),
  .core-rack-grid > div:nth-child(even) { border-left: 0; }
  .topology-node { min-height: 120px; }
  .topology-link { grid-template-columns: 1fr; min-height: 76px; padding: 8px 20px 8px 54%; }
  .topology-link span,
  .topology-link b { padding: 0; text-align: left; }
  .cabinet-rack,
  .platform-flow,
  .power-backbone > div { grid-template-columns: 1fr; }
  .cabinet-rack > div,
  .platform-flow > div { width: 100%; }
  .power-backbone > div { justify-content: stretch; }
  .power-backbone > div > span { min-height: 58px; padding: 10px; border-bottom: 1px solid #a6cf32; }
  .equipment-profile-selector { width: 100%; display: grid; }
  .equipment-profile-copy { padding: 30px 22px; }
  .equipment-profile-copy h3 { font-size: 28px; }
  .equipment-profile-diagram { grid-template-columns: 1fr; }
  .floor-stack { grid-column: 1; min-height: 260px; padding: 24px 22px; }
  .equipment-delivery-track li { grid-template-columns: 34px 1fr; gap: 12px; padding: 25px 0; }
  .equipment-delivery-track p,
  .equipment-delivery-track small { grid-column: 2; }
  .engineering-deliverables { grid-template-columns: 1fr; margin-top: 48px; }
}

.equipment-page section[id] { scroll-margin-top: calc(var(--header-height) + 14px); }

/* Recalculation of an existing parking project */
.retrofit-project-section {
  padding-block: 118px 132px;
  background: #eef2f0;
  scroll-margin-top: var(--header-height);
}
.retrofit-project-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(420px, .92fr);
  gap: 68px;
  align-items: start;
}
.retrofit-project-copy h2 {
  max-width: 820px;
  margin: 14px 0 0;
  font-size: clamp(40px, 4.5vw, 66px);
  line-height: 1.03;
  letter-spacing: 0;
  text-wrap: balance;
}
.retrofit-project-copy > p:not(.section-kicker) {
  max-width: 760px;
  margin: 26px 0 0;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.72;
}
.retrofit-project-copy ol {
  margin: 42px 0 0;
  padding: 0;
  border-top: 1px solid var(--line);
  list-style: none;
}
.retrofit-project-copy li {
  min-height: 104px;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 20px;
  align-items: center;
  border-bottom: 1px solid var(--line);
}
.retrofit-project-copy li > span { color: var(--cyan-dark); font-size: 10px; font-weight: 760; }
.retrofit-project-copy li strong { font-size: 15px; }
.retrofit-project-copy li p { max-width: 660px; margin: 6px 0 0; color: var(--muted); font-size: 11px; line-height: 1.55; }
.retrofit-project-links { display: flex; flex-wrap: wrap; align-items: center; gap: 22px; margin-top: 34px; }
.retrofit-project-links > a:not(.button) { display: inline-flex; align-items: center; gap: 8px; font-size: 11px; font-weight: 700; text-decoration: none; }
.retrofit-project-links > a:not(.button) svg { width: 16px; height: 16px; }
.retrofit-project-output {
  position: sticky;
  top: calc(var(--header-height) + 28px);
  overflow: hidden;
  color: var(--white);
  background: var(--ink);
  border: 1px solid var(--panel-line);
  border-radius: 8px;
}
.retrofit-project-output > header {
  min-height: 62px;
  display: grid;
  grid-template-columns: 1fr 24px 1fr;
  gap: 12px;
  align-items: center;
  padding: 0 24px;
  border-bottom: 1px solid var(--line-dark);
}
.retrofit-project-output > header span { color: rgba(255,255,255,.48); font-size: 8px; font-weight: 760; }
.retrofit-project-output > header svg { width: 17px; height: 17px; color: var(--cyan); }
.retrofit-project-output > header strong { justify-self: end; color: var(--cyan); font-size: 12px; }
.retrofit-project-doc {
  min-height: 126px;
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr);
  gap: 18px;
  align-items: center;
  margin: 24px;
  padding: 22px;
  background: #171814;
  border: 1px solid var(--panel-line);
  border-radius: 6px;
}
.retrofit-project-doc > svg { width: 32px; height: 32px; color: var(--cyan); }
.retrofit-project-doc span,
.retrofit-project-doc strong,
.retrofit-project-doc small { display: block; }
.retrofit-project-doc span { color: var(--cyan); font-size: 8px; font-weight: 760; }
.retrofit-project-doc strong { margin-top: 5px; font-size: 17px; }
.retrofit-project-doc small { margin-top: 4px; color: rgba(255,255,255,.5); font-size: 9px; }
.retrofit-project-process {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin: 0 24px 24px;
  border-block: 1px solid var(--line-dark);
}
.retrofit-project-process span { min-height: 66px; display: flex; align-items: center; justify-content: center; gap: 7px; color: rgba(255,255,255,.66); font-size: 9px; }
.retrofit-project-process span + span { border-left: 1px solid var(--line-dark); }
.retrofit-project-process svg { width: 16px; height: 16px; color: var(--cyan); }
.retrofit-project-result { margin: 0 24px; padding: 24px; color: var(--ink); background: var(--cyan); border-radius: 6px; }
.retrofit-project-result span { font-size: 8px; font-weight: 760; }
.retrofit-project-result strong { display: block; margin-top: 7px; font-size: 24px; line-height: 1.12; }
.retrofit-project-result p { margin: 12px 0 0; font-size: 10px; line-height: 1.55; }
.retrofit-project-output > ul { display: grid; gap: 10px; margin: 24px; padding: 0; list-style: none; }
.retrofit-project-output > ul li { display: flex; align-items: center; gap: 9px; color: rgba(255,255,255,.68); font-size: 10px; }
.retrofit-project-output > ul svg { width: 14px; height: 14px; color: var(--cyan); }

@media (max-width: 1020px) {
  .retrofit-project-layout { grid-template-columns: 1fr; }
  .retrofit-project-output { position: static; }
}

@media (max-width: 680px) {
  .retrofit-project-section { padding-block: 88px 100px; }
  .retrofit-project-copy h2 { font-size: 38px; }
  .retrofit-project-copy li { grid-template-columns: 30px minmax(0, 1fr); gap: 12px; padding-block: 18px; }
  .retrofit-project-links { align-items: stretch; flex-direction: column; }
  .retrofit-project-links .button { width: 100%; }
  .retrofit-project-doc,
  .retrofit-project-process,
  .retrofit-project-result,
  .retrofit-project-output > ul { margin-inline: 16px; }
  .retrofit-project-output > header { padding-inline: 16px; }
  .retrofit-project-process span { align-items: center; flex-direction: column; gap: 5px; }
}

/* Project design and fast recalculation */
.project-engineering-section {
  padding: 112px 0 124px;
  background: #eef2f0;
  scroll-margin-top: var(--header-height);
}
.project-engineering-section .section-heading { margin-bottom: 50px; }
.project-engineering-section .section-heading h2 {
  max-width: 760px;
  margin: 0;
  font-size: clamp(42px, 4.6vw, 72px);
  line-height: 1.02;
  letter-spacing: 0;
  text-wrap: balance;
}
.project-engineering-section .section-heading > p {
  align-self: end;
  max-width: 620px;
  margin: 0;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.72;
}
.project-engineering-console {
  overflow: hidden;
  background: var(--white);
  border: 1px solid rgba(18, 20, 15, .18);
  border-radius: 8px;
  box-shadow: 0 34px 90px rgba(22, 40, 34, .09);
}
.project-mode-tabs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-bottom: 1px solid var(--line);
}
.project-mode-tabs button {
  min-height: 68px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 12px 20px;
  color: var(--muted);
  background: #f7f9f8;
  border: 0;
  cursor: pointer;
  font-size: 13px;
  font-weight: 720;
  transition: color 180ms ease, background 180ms ease;
}
.project-mode-tabs button + button { border-left: 1px solid var(--line); }
.project-mode-tabs button svg { width: 18px; height: 18px; }
.project-mode-tabs button:hover { color: var(--ink); background: rgba(201, 245, 74, .24); }
.project-mode-tabs button.active { color: var(--ink); background: var(--cyan); }
.project-engineering-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(430px, .92fr);
  align-items: stretch;
}
.project-mode-panels {
  min-width: 0;
  background: var(--white);
}
.project-mode-panels article {
  min-height: 690px;
  padding: 58px 54px 52px;
  animation: projectPanelIn 280ms var(--ease) both;
}
@keyframes projectPanelIn {
  from { opacity: 0; transform: translateY(8px); }
}
.project-panel-index {
  color: var(--cyan-dark);
  font-size: 10px;
  font-weight: 760;
}
.project-mode-panels h3 {
  max-width: 670px;
  margin: 18px 0 0;
  font-size: clamp(30px, 3vw, 45px);
  line-height: 1.08;
  letter-spacing: 0;
  text-wrap: balance;
}
.project-mode-panels article > p {
  max-width: 700px;
  margin: 24px 0 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.72;
}
.project-calculation-steps {
  margin: 38px 0 0;
  padding: 0;
  border-top: 1px solid var(--line);
  list-style: none;
}
.project-calculation-steps li {
  min-height: 76px;
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 16px;
  align-items: center;
  border-bottom: 1px solid var(--line);
}
.project-calculation-steps li > span {
  color: var(--cyan-dark);
  font-size: 10px;
  font-weight: 760;
}
.project-calculation-steps strong,
.project-calculation-steps small { display: block; }
.project-calculation-steps strong { font-size: 13px; }
.project-calculation-steps small { margin-top: 4px; color: var(--muted); font-size: 10px; line-height: 1.45; }
.project-panel-result {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
  margin-top: 28px;
  padding: 18px;
  color: var(--white);
  background: var(--cyan-dark);
  border-radius: 6px;
}
.project-panel-result > svg { width: 22px; height: 22px; }
.project-panel-result p { margin: 0; }
.project-panel-result strong,
.project-panel-result span { display: block; }
.project-panel-result strong { font-size: 12px; }
.project-panel-result span { margin-top: 4px; color: var(--white); font-size: 10px; line-height: 1.5; }
.project-infrastructure-scheme {
  min-width: 0;
  margin: 0;
  padding: 30px;
  color: var(--white);
  background: var(--ink);
  border-left: 1px solid var(--line-dark);
}
.project-infrastructure-scheme figcaption {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--line-dark);
}
.project-infrastructure-scheme figcaption span { font-size: 11px; font-weight: 760; }
.project-infrastructure-scheme figcaption small { max-width: 190px; color: rgba(255,255,255,.5); font-size: 9px; text-align: right; }
.project-scheme-flow {
  display: grid;
  grid-template-columns: 1fr;
  justify-items: stretch;
  padding: 20px 0;
}
.project-scheme-flow > svg {
  width: 16px;
  height: 22px;
  justify-self: center;
  padding-block: 3px;
  color: var(--cyan);
}
.project-scheme-node {
  position: relative;
  min-height: 108px;
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  grid-template-rows: auto auto 1fr;
  gap: 2px 14px;
  align-content: center;
  padding: 16px 18px;
  background: #171814;
  border: 1px solid var(--panel-line);
  border-radius: 6px;
}
.project-scheme-node > svg,
.project-scheme-node > img {
  grid-row: 1 / 4;
  align-self: center;
}
.project-scheme-node > svg { width: 28px; height: 28px; color: var(--cyan); }
.project-scheme-node > img { width: 44px; height: 28px; object-fit: cover; }
.project-scheme-node span { color: var(--cyan); font-size: 8px; font-weight: 760; }
.project-scheme-node strong { font-size: 15px; }
.project-scheme-node small { color: rgba(255,255,255,.58); font-size: 9px; line-height: 1.45; }
.project-infrastructure-advantage {
  padding: 20px;
  background: var(--cyan);
  border-radius: 6px;
  color: var(--ink);
}
.project-infrastructure-advantage > span { display: flex; align-items: center; gap: 10px; }
.project-infrastructure-advantage svg { width: 19px; height: 19px; }
.project-infrastructure-advantage b { font-size: 12px; }
.project-infrastructure-advantage p { margin: 10px 0 0; font-size: 10px; line-height: 1.55; }
.project-engineering-actions {
  min-height: 86px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 24px;
  padding: 18px 28px;
  border-top: 1px solid var(--line);
  background: #f7f9f8;
}
.project-text-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--ink);
  font-size: 11px;
  font-weight: 700;
  text-decoration: none;
}
.project-text-link svg { width: 15px; height: 15px; transition: transform 180ms var(--ease); }
.project-text-link:hover svg { transform: translateX(4px); }

@media (max-width: 1080px) {
  .project-engineering-layout { grid-template-columns: 1fr; }
  .project-mode-panels article { min-height: 0; }
  .project-infrastructure-scheme { border-top: 1px solid var(--line-dark); border-left: 0; }
  .project-scheme-flow { grid-template-columns: repeat(7, minmax(0, 1fr)); align-items: center; gap: 8px; }
  .project-scheme-flow > svg { width: 20px; height: 20px; padding: 0; transform: rotate(-90deg); }
  .project-scheme-node { min-height: 170px; grid-template-columns: 1fr; grid-template-rows: 34px auto auto 1fr; gap: 5px; }
  .project-scheme-node > svg,
  .project-scheme-node > img { grid-row: auto; }
}

@media (max-width: 760px) {
  .project-engineering-section { padding: 80px 0 88px; }
  .project-engineering-section .section-heading h2 { font-size: 41px; }
  .project-mode-tabs button { min-height: 70px; padding-inline: 12px; font-size: 11px; }
  .project-mode-panels article { padding: 38px 24px; }
  .project-mode-panels h3 { font-size: 32px; }
  .project-infrastructure-scheme { padding: 24px; }
  .project-scheme-flow { grid-template-columns: 1fr; gap: 0; }
  .project-scheme-flow > svg { transform: none; }
  .project-scheme-node { min-height: 108px; grid-template-columns: 40px minmax(0, 1fr); grid-template-rows: auto auto 1fr; }
  .project-scheme-node > svg,
  .project-scheme-node > img { grid-row: 1 / 4; }
  .project-engineering-actions { align-items: stretch; flex-direction: column; gap: 14px; padding: 22px; }
  .project-engineering-actions .button { width: 100%; }
}

@media (max-width: 480px) {
  .project-mode-tabs { grid-template-columns: 1fr; }
  .project-mode-tabs button + button { border-top: 1px solid var(--line); border-left: 0; }
  .project-mode-panels article { padding-inline: 20px; }
  .project-calculation-steps li { grid-template-columns: 28px minmax(0, 1fr); gap: 10px; }
  .project-infrastructure-scheme { padding: 20px; }
  .project-infrastructure-scheme figcaption { align-items: flex-start; flex-direction: column; }
  .project-infrastructure-scheme figcaption small { max-width: none; text-align: left; }
}

/* Organized product navigation */
.desktop-nav-organized {
  gap: 4px;
}
.desktop-nav-organized > .nav-direct,
.nav-cluster > summary {
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 0 12px;
  border: 1px solid transparent;
  border-radius: 6px;
  color: inherit;
  font-size: 13px;
  font-weight: 650;
  line-height: 1;
  text-decoration: none;
  cursor: pointer;
  transition: color 180ms ease, background 180ms ease, border-color 180ms ease;
}
.desktop-nav-organized > .nav-direct::after { display: none; }
.desktop-nav-organized > .nav-direct:hover,
.desktop-nav-organized > .nav-direct.active,
.nav-cluster > summary:hover,
.nav-cluster[open] > summary,
.nav-cluster.is-active > summary {
  color: var(--ink);
  background: var(--cyan);
}
.site-header.scrolled .desktop-nav-organized > .nav-direct:hover,
.site-header.scrolled .desktop-nav-organized > .nav-direct.active,
.site-header.scrolled .nav-cluster > summary:hover,
.site-header.scrolled .nav-cluster[open] > summary,
.site-header.scrolled .nav-cluster.is-active > summary,
.inner-page .desktop-nav-organized > .nav-direct:hover,
.inner-page .desktop-nav-organized > .nav-direct.active,
.inner-page .nav-cluster > summary:hover,
.inner-page .nav-cluster[open] > summary,
.inner-page .nav-cluster.is-active > summary {
  color: var(--white);
  background: var(--cyan-dark);
}
.nav-cluster {
  position: relative;
}
.nav-cluster > summary {
  list-style: none;
}
.nav-cluster > summary::-webkit-details-marker { display: none; }
.nav-cluster > summary svg {
  width: 14px;
  height: 14px;
  transition: transform 180ms var(--ease);
}
.nav-cluster[open] > summary svg { transform: rotate(180deg); }
.nav-dropdown {
  position: absolute;
  top: calc(100% + 14px);
  left: 50%;
  width: min(680px, calc(100vw - 48px));
  padding: 10px;
  color: var(--ink);
  background: rgba(247, 249, 248, .98);
  border: 1px solid rgba(18, 20, 15, .18);
  border-radius: 8px;
  box-shadow: 0 26px 70px rgba(16, 17, 15, .18);
  transform: translateX(-50%);
  backdrop-filter: blur(20px);
  animation: navDropdownIn 180ms var(--ease) both;
}
.nav-dropdown-solutions { width: min(560px, calc(100vw - 48px)); }
.nav-dropdown-engineering { width: min(720px, calc(100vw - 48px)); }
.nav-dropdown > header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 20px;
  padding: 10px 12px 16px;
  border-bottom: 1px solid var(--line);
}
.nav-dropdown > header span { font-size: 12px; font-weight: 760; }
.nav-dropdown > header small { color: var(--muted); font-size: 10px; }
.nav-dropdown > div {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2px;
  padding-top: 8px;
}
.nav-dropdown a {
  min-width: 0;
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  padding: 13px 12px;
  border-radius: 6px;
  text-decoration: none;
  transition: color 180ms ease, background 180ms ease, transform 180ms var(--ease);
}
.nav-dropdown a::after { display: none; }
.nav-dropdown a:hover,
.nav-dropdown a.active {
  color: var(--ink);
  background: rgba(201, 245, 74, .46);
  transform: translateY(-1px);
}
.nav-dropdown a > svg {
  width: 19px;
  height: 19px;
  margin-top: 2px;
  color: var(--cyan-dark);
}
.nav-dropdown a span { min-width: 0; }
.nav-dropdown a strong,
.nav-dropdown a small { display: block; }
.nav-dropdown a strong { font-size: 13px; font-weight: 720; line-height: 1.3; }
.nav-dropdown a small { margin-top: 3px; color: var(--muted); font-size: 10px; font-weight: 450; line-height: 1.4; }
@keyframes navDropdownIn {
  from { opacity: 0; transform: translate(-50%, -8px); }
}

@media (max-width: 980px) {
  .mobile-nav {
    max-height: calc(100dvh - var(--header-height));
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 24px;
    overflow-y: auto;
    padding-top: 14px;
  }
  .mobile-nav-group {
    padding: 12px 0 16px;
    border-bottom: 1px solid var(--line);
  }
  .mobile-nav-group > span {
    display: block;
    margin-bottom: 6px;
    color: var(--cyan-dark);
    font-size: 10px;
    font-weight: 760;
    text-transform: uppercase;
  }
  .mobile-nav-group > div { display: grid; }
  .mobile-nav .mobile-nav-group a {
    min-height: 36px;
    font-size: 13px;
    font-weight: 620;
  }
  .mobile-nav-cta {
    grid-column: 1 / -1;
    min-height: 46px !important;
    justify-content: space-between;
    margin-top: 14px;
    padding: 0 14px;
    color: var(--white);
    background: var(--ink);
    border-radius: 6px;
  }
  .mobile-nav-cta svg { width: 17px; height: 17px; }
}

@media (max-width: 560px) {
  .mobile-nav { grid-template-columns: 1fr; }
}

/* Main page live scenario */
.hero-conversion {
  min-height: 0;
  overflow: hidden;
}
.hero-conversion .hero-media {
  object-position: 50% center;
  filter: saturate(.84) contrast(1.04);
}
.hero-conversion .hero-shade {
  background:
    linear-gradient(90deg, rgba(8, 15, 20, .97) 0%, rgba(8, 15, 20, .86) 48%, rgba(8, 15, 20, .24) 78%, rgba(8, 15, 20, .08) 100%),
    linear-gradient(0deg, rgba(8, 15, 20, .9) 0%, rgba(8, 15, 20, .06) 58%);
}
.hero-conversion .hero-content {
  min-height: 0;
  padding-top: 124px;
  padding-bottom: 62px;
}
.hero-conversion .hero-copy { width: min(1040px, 100%); }
.hero-conversion-title {
  max-width: 1040px;
  font-size: clamp(48px, 4.15vw, 64px);
  line-height: 1.01;
  text-wrap: balance;
}
.hero-conversion .hero-lead {
  max-width: 760px;
  margin-top: 22px;
  color: rgba(255, 255, 255, .76);
  font-size: 18px;
  line-height: 1.55;
  text-wrap: pretty;
}
.hero-conversion-actions { margin-top: 28px; }
.hero-conversion-actions .button { min-height: 54px; }
.hero-conversion-actions .button svg { width: 18px; height: 18px; }
.hero-secondary-action {
  color: var(--white);
  background: rgba(8, 20, 27, .66);
  border: 1px solid rgba(255, 255, 255, .24);
  backdrop-filter: blur(16px);
}
.hero-secondary-action:hover { color: var(--ink); background: var(--white); }

.hero-product-wrap {
  position: relative;
  inset: auto;
  z-index: 6;
  padding-bottom: 74px;
  pointer-events: auto;
}
.hero-product-showcase {
  width: min(1320px, 100%);
  height: 600px;
  overflow: visible;
  border-color: rgba(255, 255, 255, .58);
  box-shadow: 0 40px 120px rgba(2, 9, 14, .5);
}
.hero-product-toolbar {
  height: 68px;
  display: grid;
  grid-template-columns: minmax(190px, .72fr) minmax(390px, 1.2fr) minmax(220px, .82fr);
  padding: 0 16px;
}
.hero-product-brand { min-width: 0; }
.hero-product-brand span { min-width: 0; }
.hero-product-brand small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hero-scenario-switch {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 3px;
  padding: 3px;
  background: #132630;
  border: 1px solid #29404a;
  border-radius: 6px;
}
.hero-scenario-switch button {
  min-width: 0;
  min-height: 34px;
  padding: 0 10px;
  overflow: hidden;
  color: #8ea1aa;
  background: transparent;
  border: 0;
  border-radius: 4px;
  font-size: 9px;
  font-weight: 720;
  text-overflow: ellipsis;
  white-space: nowrap;
  cursor: pointer;
  transition: color 180ms ease, background 180ms ease, transform 180ms var(--ease);
}
.hero-scenario-switch button:hover { color: var(--white); background: #1b323d; }
.hero-scenario-switch button:active { transform: scale(.98); }
.hero-scenario-switch button.active { color: var(--ink); background: var(--white); }
.hero-product-status { justify-content: flex-end; }
.hero-product-status > span { white-space: nowrap; }
.hero-product-status > button {
  min-height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 0 12px;
  color: var(--ink);
  background: var(--cyan);
  border: 0;
  border-radius: 5px;
  cursor: pointer;
  transition: background 180ms ease, transform 180ms var(--ease), opacity 180ms ease;
}
.hero-product-status > button:hover { background: var(--white); }
.hero-product-status > button:active { transform: scale(.97); }
.hero-product-status > button:disabled { cursor: progress; opacity: .78; }
.hero-product-status > button svg { width: 13px; height: 13px; }
.hero-product-status > button b { font-size: 8px; }
.hero-product-status > button.is-running svg { animation: heroRunPulse 900ms ease-in-out infinite alternate; }
@keyframes heroRunPulse { to { opacity: .35; transform: scale(.72); } }

.hero-product-body {
  height: calc(100% - 68px);
  grid-template-columns: 58px minmax(0, 1fr) 300px;
}
.hero-product-rail { gap: 5px; padding-top: 17px; }
.hero-product-rail button {
  position: relative;
  width: 36px;
  height: 36px;
}
.hero-product-rail button::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  width: 1px;
  height: 5px;
  background: var(--line);
}
.hero-product-rail button:last-child::after { display: none; }
.hero-product-rail button.complete { color: var(--cyan-dark); background: rgba(201, 245, 74, .26); }
.hero-product-rail button.complete::before {
  content: "";
  position: absolute;
  top: 4px;
  right: 4px;
  width: 4px;
  height: 4px;
  background: var(--green-dark);
  border-radius: 50%;
}
.hero-product-rail button.active { box-shadow: 0 0 0 3px rgba(201, 245, 74, .2); }
.hero-product-main { padding: 17px; }
.hero-product-heading { min-height: 45px; }
.hero-product-heading h2 {
  max-width: 640px;
  font-size: 20px;
  text-wrap: balance;
}
.hero-product-metrics { margin-top: 8px; }
.hero-product-metrics > div { min-height: 68px; }
.hero-product-metrics > div:nth-child(1) strong { color: var(--green-dark); }
.hero-product-metrics > div:nth-child(3) strong { color: var(--text); }
.hero-product-workspace {
  min-height: 315px;
  grid-template-columns: 154px minmax(0, 1fr);
  margin-top: 9px;
}
.hero-signal-summary {
  display: grid;
  grid-template-rows: repeat(5, minmax(0, 1fr));
  background: var(--white);
  border: 1px solid var(--line);
}
.hero-signal-summary > div {
  position: relative;
  min-width: 0;
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr);
  grid-template-rows: auto auto;
  column-gap: 7px;
  align-content: center;
  padding: 6px 9px;
  border-bottom: 1px solid var(--line);
  transition: color 240ms ease, background 240ms ease, box-shadow 240ms ease;
}
.hero-signal-summary > div:last-child { border-bottom: 0; }
.hero-signal-summary svg {
  grid-row: 1 / 3;
  align-self: center;
  width: 15px;
  height: 15px;
  color: #90a0a6;
}
.hero-signal-summary span { font-size: 8px; font-weight: 760; }
.hero-signal-summary b {
  min-width: 0;
  overflow: hidden;
  color: #5d6b70;
  font-family: var(--font-mono);
  font-size: 6px;
  font-weight: 500;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.hero-signal-summary > div.active {
  background: rgba(201, 245, 74, .24);
  box-shadow: inset 3px 0 0 var(--cyan-dark);
}
.hero-signal-summary > div.active svg { color: var(--cyan-dark); animation: heroSignal 620ms ease-in-out infinite alternate; }
.hero-signal-summary > div.complete svg { color: var(--green-dark); }
.hero-signal-summary > div.complete b { color: var(--green-dark); }
@keyframes heroSignal { to { opacity: .45; transform: scale(.9); } }

.hero-preview-map { min-height: 315px; }
.hero-preview-spots { top: 46px; grid-template-rows: repeat(2, 72px); gap: 64px 3px; }
.hero-preview-spots span { transition: color 280ms ease, background 280ms ease, border-color 280ms ease, box-shadow 280ms ease; }
.hero-preview-spots span.occupied-confirmed { background: #dce6e3; border-color: #7d9097; }
.hero-preview-spots span.occupied-confirmed::before { background: #53676f; }
.hero-preview-spots span.violation {
  color: #8b2723;
  background: #ffe3df;
  border: 2px solid #c84b42;
  box-shadow: 0 0 0 4px rgba(200, 75, 66, .12);
}
.hero-preview-spots span.violation::before { background: #7c3430; border-color: #5d2420; }
.hero-preview-aisle {
  top: 119px;
  height: 62px;
  display: grid;
  grid-template-rows: repeat(2, minmax(0, 1fr));
  align-items: stretch;
  justify-content: stretch;
  gap: 0;
  background: rgba(255, 255, 255, .18);
  border-top: 1px dashed #9eaeaa;
  border-bottom: 1px dashed #9eaeaa;
}
.hero-preview-lane-divider {
  position: absolute;
  top: 50%;
  right: 0;
  left: 0;
  z-index: 1;
  border-top: 1px dashed rgba(100, 122, 129, .62);
  transform: translateY(-.5px);
}
.hero-preview-flow {
  position: relative;
  z-index: 2;
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(14px, 4vw, 34px);
  padding-inline: 44px 94px;
  overflow: hidden;
}
.hero-preview-flow svg {
  flex: 0 0 auto;
  width: 13px;
  height: 13px;
  color: var(--cyan-dark);
  opacity: .76;
}
.hero-preview-flow-in svg { animation: heroLaneFlowIn 2.4s linear infinite; }
.hero-preview-flow-out svg { animation: heroLaneFlowOut 2.4s linear infinite; }
.hero-preview-flow svg:nth-of-type(2) { animation-delay: -.8s; }
.hero-preview-flow svg:nth-of-type(3) { animation-delay: -1.6s; }
.hero-preview-aisle b {
  top: 4px;
  right: 7px;
  z-index: 3;
  padding: 2px 3px;
  color: #50635a;
  background: rgba(241, 242, 232, .88);
}
@keyframes heroLaneFlowIn {
  0% { opacity: .32; transform: translateX(7px); }
  50% { opacity: .9; }
  100% { opacity: .32; transform: translateX(-7px); }
}
@keyframes heroLaneFlowOut {
  0% { opacity: .32; transform: translateX(-7px); }
  50% { opacity: .9; }
  100% { opacity: .32; transform: translateX(7px); }
}
.hero-preview-route {
  top: 135px;
  right: 9%;
  width: 38%;
  opacity: 0;
  transform: scaleX(.2);
  transform-origin: right;
  transition: opacity 320ms ease, transform 640ms var(--ease);
}
.hero-preview-map[data-scenario="guidance"][data-phase="3"] .hero-preview-route,
.hero-preview-map[data-scenario="guidance"][data-phase="4"] .hero-preview-route,
.hero-preview-map[data-scenario="guidance"][data-phase="5"] .hero-preview-route,
.hero-preview-map[data-scenario="find"][data-phase="3"] .hero-preview-route,
.hero-preview-map[data-scenario="find"][data-phase="4"] .hero-preview-route,
.hero-preview-map[data-scenario="find"][data-phase="5"] .hero-preview-route {
  opacity: 1;
  transform: scaleX(1);
}
.hero-preview-route::before { top: -56px; height: 56px; }
.hero-preview-route i { top: -61px; }
.hero-preview-route span { top: -51px; }
.hero-preview-gate {
  position: absolute;
  right: 52px;
  top: 119px;
  z-index: 6;
  width: 42px;
  height: 42px;
  color: #687b83;
  font-family: var(--font-mono);
  font-size: 5px;
  pointer-events: none;
}
.hero-preview-gate span {
  position: absolute;
  top: -9px;
  right: 50%;
  padding: 2px 3px;
  color: #50636a;
  background: rgba(241, 242, 232, .9);
  transform: translateX(50%);
}
.hero-preview-gate::after {
  content: none;
}
.hero-preview-gate svg {
  position: absolute;
  top: 8px;
  right: 9px;
  width: 22px;
  height: 22px;
  padding: 5px;
  color: var(--ink);
  background: var(--cyan);
  border-radius: 50%;
  box-shadow: 0 0 18px rgba(201, 245, 74, .35);
}
.hero-preview-vehicle {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 7;
  min-width: 74px;
  display: flex;
  align-items: center;
  gap: 5px;
  padding: 4px 6px;
  color: var(--white);
  background: var(--panel-deep);
  border: 1px solid #314852;
  border-radius: 4px;
  box-shadow: 0 8px 16px rgba(4, 15, 20, .22);
  transform: translate3d(var(--vehicle-x, 0), var(--vehicle-y, 0), 0);
  transition: opacity 240ms ease, transform 790ms linear;
  will-change: transform;
}
.hero-preview-vehicle.is-resetting { transition: none; }
.hero-preview-vehicle svg { width: 12px; height: 12px; color: var(--cyan); }
.hero-preview-vehicle b { font-family: var(--font-mono); font-size: 5px; white-space: nowrap; }
.hero-preview-map[data-scenario="incident"] .hero-preview-vehicle { opacity: 0; }
.hero-preview-camera { right: 10px; bottom: 9px; }
.hero-preview-board { bottom: 9px; }

.hero-product-decision { padding: 20px 19px; }
.hero-decision-head b { transition: color 180ms ease, background 180ms ease; }
.hero-product-decision > small { margin-top: 32px; }
.hero-product-decision h3 { min-height: 52px; font-size: 22px; text-wrap: balance; }
.hero-product-decision > p { min-height: 56px; font-size: 9px; text-wrap: pretty; }
.hero-product-decision li { transition: color 220ms ease; }
.hero-product-decision li svg { color: #536a74; }
.hero-product-decision li.complete { color: var(--white); }
.hero-product-decision li.complete svg { color: var(--green); }
.hero-decision-result { margin-top: 16px; }

.hero-driver-float {
  position: absolute;
  right: 22px;
  bottom: -20px;
  z-index: 8;
  width: 286px;
  min-height: 224px;
  padding: 15px;
  color: var(--ink);
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: 0 24px 70px rgba(3, 12, 17, .25);
}
.hero-driver-float > div:first-child {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  color: #52646b;
  font-family: var(--font-mono);
  font-size: 5px;
}
.hero-driver-float > div:first-child span,
.hero-driver-float > div:first-child b { display: inline-flex; align-items: center; gap: 4px; }
.hero-driver-float > div:first-child svg { width: 11px; height: 11px; color: var(--cyan-dark); }
.hero-driver-float > div:first-child b { color: var(--green-dark); }
.hero-driver-float > div:first-child b i { width: 5px; height: 5px; background: var(--green-dark); border-radius: 50%; }
.hero-driver-float > small { display: block; margin-top: 13px; color: #586a72; font-family: var(--font-mono); font-size: 6px; }
.hero-driver-facts {
  display: grid;
  grid-template-columns: 1fr 1fr;
  margin-top: 9px;
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}
.hero-driver-facts > span {
  min-width: 0;
  min-height: 42px;
  display: grid;
  align-content: center;
  gap: 3px;
  padding: 6px 8px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.hero-driver-facts small { color: #5d6b70; font-family: var(--font-mono); font-size: 5px; }
.hero-driver-facts b { overflow: hidden; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.hero-driver-facts > span:last-child b { color: var(--cyan-dark); }
.hero-driver-float > p { min-height: 34px; margin: 9px 0 0; color: #65767d; font-size: 8px; line-height: 1.45; }
.hero-driver-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid var(--line);
  color: #596c74;
  font-size: 7px;
}
.hero-driver-actions span { min-width: 0; display: inline-flex; align-items: center; gap: 5px; }
.hero-driver-actions b { overflow: hidden; font-size: 7px; text-overflow: ellipsis; white-space: nowrap; }
.hero-driver-actions svg { width: 11px; height: 11px; flex: 0 0 auto; color: var(--cyan-dark); }

.hero-conversion + .capability-strip { height: 76px; }

@media (max-width: 1180px) {
  .hero-product-toolbar { grid-template-columns: minmax(170px, .6fr) minmax(360px, 1.15fr) minmax(190px, .72fr); }
  .hero-product-status > span { display: none; }
  .hero-product-body { grid-template-columns: 54px minmax(0, 1fr) 270px; }
  .hero-product-workspace { grid-template-columns: 138px minmax(0, 1fr); }
}

@media (max-width: 980px) {
  .hero-conversion .hero-content { padding-top: 108px; padding-bottom: 52px; }
  .hero-conversion-title { font-size: 50px; }
  .hero-product-wrap { padding-bottom: 64px; }
  .hero-product-showcase { height: 590px; }
  .hero-product-toolbar { grid-template-columns: minmax(160px, .7fr) minmax(340px, 1.4fr) 96px; }
  .hero-product-status > button { width: 88px; padding-inline: 8px; }
  .hero-product-body { grid-template-columns: minmax(0, 1fr) 248px; }
  .hero-product-rail { display: none; }
  .hero-product-main { padding: 14px; }
  .hero-product-workspace { grid-template-columns: 124px minmax(0, 1fr); }
  .hero-product-decision { padding: 17px; }
  .hero-driver-float { right: 14px; }
}

@media (max-width: 820px) {
  .hero-conversion .hero-content { padding-bottom: 44px; }
  .hero-product-wrap { margin-top: 0; padding-bottom: 54px; }
  .hero-product-showcase { height: 640px; }
  .hero-product-toolbar {
    height: 112px;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-rows: 52px 46px;
    gap: 0 10px;
    padding-block: 7px;
  }
  .hero-scenario-switch { grid-column: 1 / -1; grid-row: 2; }
  .hero-product-status { grid-column: 2; grid-row: 1; }
  .hero-product-body { height: calc(100% - 112px); grid-template-columns: minmax(0, 1fr) 220px; }
  .hero-product-metrics > div { padding-inline: 7px; }
  .hero-product-workspace { grid-template-columns: 110px minmax(0, 1fr); }
  .hero-product-decision h3 { font-size: 18px; }
  .hero-driver-float { display: none; }
}

@media (max-width: 680px) {
  .hero-conversion .hero-media { object-position: 62% center; }
  .hero-conversion .hero-content { padding-top: 88px; padding-bottom: 34px; }
  .hero-conversion-title { font-size: 32px; line-height: 1.06; }
  .hero-conversion .hero-lead { font-size: 15px; }
  .hero-conversion-actions { display: grid; grid-template-columns: 1fr; margin-top: 22px; }
  .hero-conversion-actions .button { width: 100%; min-height: 50px; }
  .hero-product-wrap { width: min(calc(100% - 18px), var(--shell)); padding-bottom: 24px; }
  .hero-product-showcase { height: 556px; }
  .hero-product-toolbar { height: 104px; grid-template-rows: 46px 44px; padding: 7px 8px; }
  .hero-product-toolbar .ui-cshark-wordmark { width: 60px; height: 34px; }
  .hero-product-brand strong { font-size: 8px; }
  .hero-product-brand small { font-size: 4px; }
  .hero-product-status > button { width: 42px; min-height: 34px; padding: 0; }
  .hero-product-status > button b { display: none; }
  .hero-scenario-switch button { min-height: 32px; padding-inline: 4px; font-size: 7px; }
  .hero-product-body { position: relative; height: calc(100% - 104px); display: block; }
  .hero-product-main { height: 368px; padding: 9px; }
  .hero-product-heading { min-height: 36px; }
  .hero-product-heading small { font-size: 4px; }
  .hero-product-heading h2 { max-width: 270px; margin-top: 2px; font-size: 14px; }
  .hero-product-heading > span { display: none; }
  .hero-product-metrics { margin-top: 4px; }
  .hero-product-metrics > div { min-height: 50px; padding: 4px; }
  .hero-product-metrics span { font-size: 3px; }
  .hero-product-metrics strong { font-size: 10px; }
  .hero-product-metrics small { display: none; }
  .hero-product-workspace { min-height: 244px; grid-template-columns: 78px minmax(0, 1fr); gap: 4px; margin-top: 4px; }
  .hero-signal-summary > div { grid-template-columns: 15px minmax(0, 1fr); column-gap: 4px; padding: 3px 5px; }
  .hero-signal-summary svg { width: 10px; height: 10px; }
  .hero-signal-summary span { font-size: 5px; }
  .hero-signal-summary b { font-size: 3px; }
  .hero-preview-map { min-height: 244px; }
  .hero-preview-spots { top: 34px; right: 5px; left: 5px; grid-template-columns: repeat(12, 1fr); grid-template-rows: repeat(2, 54px); gap: 49px 1px; }
  .hero-preview-spots span { padding-top: 2px; font-size: 3px; }
  .hero-preview-spots span::before { right: 1px; bottom: 3px; left: 1px; height: 24px; }
  .hero-preview-aisle { top: 89px; right: 4px; left: 4px; height: 47px; }
  .hero-preview-flow { gap: 10px; padding-inline: 18px 48px; }
  .hero-preview-flow svg { width: 9px; height: 9px; }
  .hero-preview-aisle b { top: 2px; right: 3px; font-size: 3px; }
  .hero-preview-route { top: 101px; }
  .hero-preview-route::before { top: -40px; height: 40px; }
  .hero-preview-route i { top: -44px; }
  .hero-preview-route span { top: -36px; }
  .hero-preview-gate { top: 89px; right: 18px; transform: scale(.75); transform-origin: right top; }
  .hero-preview-vehicle { min-width: 28px; padding: 3px; }
  .hero-preview-vehicle svg { width: 9px; height: 9px; }
  .hero-preview-vehicle b { display: none; }
  .hero-product-decision {
    position: absolute;
    right: 9px;
    bottom: 9px;
    left: 9px;
    width: auto;
    min-height: 66px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 5px 10px;
    padding: 9px 10px;
    border: 1px solid #314a55;
    border-radius: 5px;
    box-shadow: 0 12px 28px rgba(3, 12, 17, .3);
  }
  .hero-product-decision .hero-decision-head { grid-column: 1 / -1; display: flex; }
  .hero-product-decision > small,
  .hero-product-decision > p,
  .hero-product-decision ol,
  .hero-decision-result { display: none; }
  .hero-product-decision h3 { min-height: 0; margin: 0; font-size: 13px; }
  .deployment-choice-grid { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .hero-product-status > button.is-running svg,
  .hero-signal-summary > div.active svg,
  .hero-preview-flow svg { animation: none; }
  .hero-preview-route,
  .hero-preview-gate svg,
  .hero-preview-vehicle { transition-duration: 1ms; }
}

/* CShark camera lower indicator */
.camera-indicator-demo {
  --camera-light: #62ed71;
  --camera-light-rgb: 98 237 113;
  transition: box-shadow 320ms ease;
}
.camera-indicator-demo[data-camera-light="full"] { --camera-light: #ff4d52; --camera-light-rgb: 255 77 82; }
.camera-indicator-demo[data-camera-light="accessible"] { --camera-light: #a86cff; --camera-light-rgb: 168 108 255; }
.camera-indicator-demo[data-camera-light="search"] { --camera-light: #c9f54a; --camera-light-rgb: 201 245 74; }
.camera-indicator-demo[data-camera-light="service"] { --camera-light: #ff9e35; --camera-light-rgb: 255 158 53; }
.camera-indicator-demo .f4a-product-toolbar b { color: var(--camera-light); transition: color 320ms ease; }
.camera-indicator-demo .f4a-product-toolbar b i {
  background: var(--camera-light);
  box-shadow: 0 0 10px var(--camera-light);
  transition: background 320ms ease, box-shadow 320ms ease;
}
.f4a-camera-render {
  position: relative;
  z-index: 3;
  width: min(78%, 520px);
  animation: f4aProductFloat 6s ease-in-out infinite;
  isolation: isolate;
}
.f4a-camera-render > img {
  position: relative;
  z-index: 2;
  width: 100%;
  height: auto;
  display: block;
  filter: drop-shadow(0 38px 38px rgba(0, 0, 0, .34));
}
.f4a-camera-light-surface {
  position: absolute;
  z-index: 3;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(180deg, transparent 0 64%, rgb(var(--camera-light-rgb) / .4) 70%, rgb(var(--camera-light-rgb)) 100%);
  clip-path: polygon(
    13.5% 65.1%, 16% 66.3%, 18.5% 67.5%, 21.5% 69%, 25% 70.5%,
    29% 72%, 33% 73.4%, 37% 74.5%, 41.5% 75.4%, 46% 75.9%,
    50% 76.1%,
    54% 75.9%, 58.5% 75.4%, 63% 74.5%, 67% 73.4%, 71% 72%,
    75% 70.5%, 78.5% 69%, 81.5% 67.5%, 84% 66.3%, 86.5% 65.1%,
    77% 100%, 23% 100%
  );
  -webkit-mask: url("assets/cshark-spc-dspc-camera.png?v=20260721-product-render") center / contain no-repeat;
  mask: url("assets/cshark-spc-dspc-camera.png?v=20260721-product-render") center / contain no-repeat;
  mix-blend-mode: multiply;
  filter: saturate(2.24) brightness(1.5);
  opacity: 1;
  transition: background 320ms ease, opacity 320ms ease;
}
.f4a-camera-light-glow {
  position: absolute;
  z-index: 1;
  right: 18%;
  bottom: 2%;
  left: 18%;
  height: 31%;
  pointer-events: none;
  background: radial-gradient(ellipse at center, rgb(var(--camera-light-rgb)), rgb(var(--camera-light-rgb) / .4) 47%, transparent 74%);
  border-radius: 50%;
  filter: blur(19px) saturate(2.24) brightness(4.5);
  opacity: 1;
  transform: translateY(8%);
  transition: background 320ms ease, opacity 320ms ease;
}
.camera-indicator-demo[data-camera-light="search"] .f4a-camera-light-surface,
.camera-indicator-demo[data-camera-light="search"] .f4a-camera-light-glow,
.camera-indicator-demo[data-camera-light="search"] .f4a-product-toolbar b i {
  animation: cameraSearchBlink 720ms steps(2, end) infinite;
}
@keyframes cameraSearchBlink { 50% { opacity: .13; } }

.camera-light-controller {
  margin-top: 28px;
  padding: 15px;
  background: #10222b;
  border: 1px solid #2d444e;
  border-radius: 6px;
}
.camera-light-current {
  min-height: 74px;
  display: grid;
  grid-template-columns: 13px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
}
.camera-light-current > i {
  width: 10px;
  height: 10px;
  margin-top: 4px;
  background: var(--camera-light);
  border-radius: 50%;
  box-shadow: 0 0 14px var(--camera-light);
  transition: background 320ms ease, box-shadow 320ms ease;
}
.camera-light-current span { min-width: 0; }
.camera-light-current small,
.camera-light-current strong,
.camera-light-current p { display: block; }
.camera-light-current small { color: #8da0a8; font-family: var(--font-mono); font-size: 6px; }
.camera-light-current strong { margin-top: 5px; color: var(--white); font-size: 15px; }
.camera-light-current p { margin: 6px 0 0; color: #90a3ab; font-size: 9px; line-height: 1.5; text-wrap: pretty; }
.camera-light-modes {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 3px;
  margin-top: 12px;
  padding: 3px;
  background: #0a171d;
  border: 1px solid #263d47;
  border-radius: 5px;
}
.camera-light-modes button {
  min-width: 0;
  min-height: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 0 6px;
  overflow: hidden;
  color: #8fa0a7;
  background: transparent;
  border: 0;
  border-radius: 3px;
  cursor: pointer;
  font-size: 7px;
  font-weight: 720;
  transition: color 180ms ease, background 180ms ease, transform 180ms var(--ease);
}
.camera-light-modes button:hover { color: var(--white); background: #19303a; }
.camera-light-modes button:active { transform: scale(.97); }
.camera-light-modes button.active { color: var(--ink); background: var(--white); }
.camera-light-modes button i { flex: 0 0 auto; width: 7px; height: 7px; border-radius: 50%; box-shadow: 0 0 8px currentColor; }
.camera-light-modes [data-camera-light-mode="free"] i { color: #62ed71; background: #62ed71; }
.camera-light-modes [data-camera-light-mode="full"] i { color: #ff4d52; background: #ff4d52; }
.camera-light-modes [data-camera-light-mode="accessible"] i { color: #a86cff; background: #a86cff; }
.camera-light-modes [data-camera-light-mode="search"] i { color: #c9f54a; background: #c9f54a; animation: cameraSearchBlink 720ms steps(2, end) infinite; }
.camera-light-modes [data-camera-light-mode="service"] i { color: #ff9e35; background: #ff9e35; }

.f4a-object-alert {
  min-height: 106px;
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr) auto;
  gap: 13px;
  align-items: center;
  margin-top: 24px;
  padding: 16px;
  background: rgba(255, 158, 53, .08);
  border: 1px solid rgba(255, 158, 53, .34);
  border-left: 3px solid #ff9e35;
}
.f4a-object-alert > svg { width: 23px; height: 23px; color: #ff9e35; }
.f4a-object-alert span { min-width: 0; }
.f4a-object-alert b,
.f4a-object-alert small { display: block; }
.f4a-object-alert b { color: var(--white); font-size: 12px; }
.f4a-object-alert small { margin-top: 6px; color: #94a6ad; font-size: 9px; line-height: 1.55; text-wrap: pretty; }
.f4a-object-alert a {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #ffc37f;
  font-size: 8px;
  font-weight: 720;
  text-decoration: none;
  white-space: nowrap;
}
.f4a-object-alert a svg { width: 13px; height: 13px; }

@media (max-width: 1180px) {
  .camera-light-modes button { padding-inline: 4px; font-size: 6px; }
  .f4a-object-alert { grid-template-columns: 28px minmax(0, 1fr); }
  .f4a-object-alert a { grid-column: 2; }
}

@media (max-width: 680px) {
  .f4a-camera-render { width: min(84%, 390px); }
  .camera-light-controller { margin-top: 22px; padding: 12px; }
  .camera-light-current { min-height: 84px; }
  .camera-light-modes { grid-template-columns: repeat(5, minmax(54px, 1fr)); overflow-x: auto; }
  .camera-light-modes button { min-height: 40px; }
  .f4a-object-alert { grid-template-columns: 25px minmax(0, 1fr); padding: 14px; }
  .f4a-object-alert a { grid-column: 2; }
}

@media (prefers-reduced-motion: reduce) {
  .f4a-camera-render,
  .camera-indicator-demo[data-camera-light="search"] .f4a-camera-light-surface,
  .camera-indicator-demo[data-camera-light="search"] .f4a-camera-light-glow,
  .camera-indicator-demo[data-camera-light="search"] .f4a-product-toolbar b i,
  .camera-light-modes [data-camera-light-mode="search"] i { animation: none; }
}
/* Video-navigation product positioning */
.find-car-hero-visual {
  min-height: 31rem;
  overflow: hidden;
  background: #0f1619;
}

.find-car-hero-phone {
  position: absolute;
  z-index: 2;
  left: clamp(1.5rem, 7%, 4rem);
  bottom: 3.5rem;
  width: min(22rem, 58%);
  padding: 1.35rem;
  border: 1px solid rgba(201, 245, 74, .36);
  border-radius: 8px;
  background: rgba(13, 21, 24, .94);
  box-shadow: 0 1.5rem 4rem rgba(2, 10, 13, .36);
}

.find-car-hero-phone > div,
.find-car-console-head,
.find-car-camera-frame figcaption {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.find-car-hero-phone img { width: 5.25rem; }
.find-car-hero-phone > div span,
.find-car-hero-phone > span,
.find-car-console-head span,
.find-car-location > span,
.find-car-route > div > span {
  font-size: .68rem;
  font-weight: 650;
  color: #9cadb3;
}
.find-car-hero-phone > strong {
  display: block;
  margin-top: 2.25rem;
  font-size: clamp(1.65rem, 4vw, 2.6rem);
  font-variant-numeric: tabular-nums;
  color: #f5f7f6;
}
.find-car-hero-phone p { margin: .45rem 0 1.65rem; color: #c1cbd0; }
.find-car-hero-phone > span { display: flex; align-items: center; gap: .5rem; color: #c9f54a; }
.find-car-hero-phone > span svg { width: 1rem; }
.find-car-hero-path { position: absolute; inset: 7rem 2.5rem 2rem 45%; }
.find-car-hero-path::before {
  content: "";
  position: absolute;
  inset: 8% 8% 16% 0;
  border-top: 1px dashed rgba(201, 245, 74, .55);
  border-right: 1px dashed rgba(201, 245, 74, .55);
  transform: skewY(-18deg);
}
.find-car-hero-path > i { position: absolute; width: .45rem; height: .45rem; border-radius: 50%; background: #c9f54a; box-shadow: 0 0 1rem rgba(201, 245, 74, .75); }
.find-car-hero-path > i:nth-child(1) { left: 0; top: 8%; }
.find-car-hero-path > i:nth-child(2) { left: 34%; top: 8%; }
.find-car-hero-path > i:nth-child(3) { right: 8%; top: 37%; }
.find-car-hero-path > i:nth-child(4) { right: 8%; bottom: 16%; }
.find-car-hero-path > b { position: absolute; right: 4%; bottom: 8%; display: grid; place-items: center; width: 4.5rem; aspect-ratio: 1; border: 1px solid #c9f54a; border-radius: 50%; color: #c9f54a; }
.find-car-hero-path > b svg { width: 1.5rem; }

.find-car-demo-section { padding-bottom: clamp(5rem, 9vw, 9rem); }
.find-car-console { overflow: hidden; border: 1px solid #314148; border-radius: 8px; background: #0c1519; }
.find-car-console-head { min-height: 4.5rem; padding: 1rem 1.35rem; border-bottom: 1px solid #314148; color: #f4f7f6; }
.find-car-console-head > div { display: flex; align-items: center; gap: 1rem; }
.find-car-console-head img { width: 5rem; }
.find-car-console-head > span { color: #c9f54a; }
.find-car-console-head > span i,
.find-car-camera-frame figcaption span i { display: inline-block; width: .45rem; height: .45rem; margin-right: .35rem; border-radius: 50%; background: #c9f54a; box-shadow: 0 0 .8rem rgba(201, 245, 74, .75); }
.find-car-search { padding: clamp(1.35rem, 3vw, 2.4rem); border-bottom: 1px solid #314148; }
.find-car-search label { display: block; margin-bottom: .65rem; font-size: .82rem; font-weight: 650; color: #dbe2e1; }
.find-car-search > div { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .75rem; max-width: 48rem; }
.find-car-search input { min-width: 0; height: 3.4rem; padding: 0 1rem; border: 1px solid #43545b; border-radius: 6px; background: #121e23; color: #fff; font: 650 1rem/1 Onest, sans-serif; text-transform: uppercase; }
.find-car-search input:focus { outline: 2px solid #c9f54a; outline-offset: 2px; }
.find-car-search p { margin: .65rem 0 0; color: #809198; font-size: .72rem; }
.find-car-search button.is-loading svg { animation: find-car-spin .7s linear infinite; }
@keyframes find-car-spin { to { transform: rotate(360deg); } }
.find-car-result { display: grid; grid-template-columns: 1.15fr .9fr .95fr; min-height: 24rem; }
.find-car-result > * { min-width: 0; }
.find-car-result > * + * { border-left: 1px solid #314148; }
.find-car-camera-frame { position: relative; min-height: 24rem; margin: 0; overflow: hidden; background: #091014; }
.find-car-camera-frame img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.78) contrast(1.06); transition: opacity .25s ease; }
.find-car-camera-frame::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(4, 12, 15, .04), rgba(4, 12, 15, .62)); pointer-events: none; }
.find-car-camera-frame figcaption { position: absolute; z-index: 2; top: 0; left: 0; right: 0; padding: .8rem 1rem; color: #f4f7f6; font-size: .67rem; }
.find-car-camera-frame > b { position: absolute; z-index: 2; right: 1rem; bottom: 1rem; padding: .55rem .75rem; border-radius: 4px; background: #fff; color: #0e171b; font-size: 1rem; font-variant-numeric: tabular-nums; }
.find-car-location,
.find-car-route { padding: clamp(1.5rem, 3vw, 2.5rem); }
.find-car-location h3 { margin: .65rem 0 1rem; color: #fff; font-size: clamp(2rem, 4vw, 3.3rem); }
.find-car-location p { color: #aebbc0; line-height: 1.65; }
.find-car-location dl { margin: 2rem 0 0; }
.find-car-location dl div { display: flex; justify-content: space-between; gap: 1rem; padding: .85rem 0; border-top: 1px solid #314148; }
.find-car-location dt { color: #7f9199; font-size: .72rem; }
.find-car-location dd { margin: 0; color: #f4f7f6; font-weight: 650; text-align: right; }
.find-car-route h3 { margin: .65rem 0 1.5rem; color: #f4f7f6; font-size: 1.15rem; }
.find-car-route ol { margin: 0; padding: 0; list-style: none; }
.find-car-route li { display: grid; grid-template-columns: 2rem 1fr; gap: .75rem; padding: .85rem 0; border-top: 1px solid #314148; color: #cbd4d5; font-size: .82rem; line-height: 1.45; }
.find-car-route li i { color: #c9f54a; font-style: normal; font-size: .66rem; }
.find-car-result.is-updating { animation: find-car-result-in .42s ease both; }
.find-car-result.is-not-found .find-car-camera-frame { opacity: .42; }
@keyframes find-car-result-in { from { opacity: .55; transform: translateY(.3rem); } to { opacity: 1; transform: translateY(0); } }

.find-car-flow { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.find-car-channels-section .product-contours { align-items: stretch; }

@media (max-width: 1080px) {
  .find-car-result { grid-template-columns: 1fr 1fr; }
  .find-car-route { grid-column: 1 / -1; border-top: 1px solid #314148; border-left: 0 !important; }
  .find-car-flow { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 720px) {
  .find-car-hero-visual { min-height: 25rem; }
  .find-car-hero-phone { width: calc(100% - 3rem); left: 1.5rem; bottom: 2rem; }
  .find-car-hero-path { left: 20%; opacity: .36; }
  .find-car-search > div,
  .find-car-result { grid-template-columns: 1fr; }
  .find-car-result > * + * { border-left: 0; border-top: 1px solid #314148; }
  .find-car-camera-frame { min-height: 18rem; }
  .find-car-route { grid-column: auto; }
  .find-car-flow { grid-template-columns: 1fr; }
}

/* Knowledge base: operational instructions for the video-navigation product */
.knowledge-procedure-list {
  border-top: 1px solid var(--line);
}

.knowledge-procedure-list article {
  display: grid;
  grid-template-columns: 5rem minmax(0, 1fr) 8rem;
  gap: clamp(1.25rem, 3vw, 3rem);
  align-items: start;
  padding: clamp(1.4rem, 2.7vw, 2.4rem) 0;
  border-bottom: 1px solid var(--line);
}

.knowledge-procedure-list article > span,
.knowledge-procedure-list article > strong {
  padding-top: .25rem;
  color: var(--green-dark);
  font-size: .68rem;
  font-weight: 650;
  font-variant-numeric: tabular-nums;
}

.knowledge-procedure-list h3 {
  margin: 0;
  color: var(--ink);
  font-size: clamp(1.15rem, 2vw, 1.55rem);
  line-height: 1.2;
  text-wrap: balance;
}

.knowledge-procedure-list p {
  max-width: 58rem;
  margin: .65rem 0 0;
  color: var(--muted);
  line-height: 1.65;
  text-wrap: pretty;
}

.knowledge-procedure-list article > strong {
  color: var(--muted);
  text-align: right;
}

.scenario-steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: clamp(2rem, 4vw, 4rem);
  border-top: 1px solid var(--panel-line);
  border-left: 1px solid var(--panel-line);
}

.scenario-steps article {
  min-height: 13rem;
  padding: clamp(1.3rem, 2.7vw, 2.2rem);
  border-right: 1px solid var(--panel-line);
  border-bottom: 1px solid var(--panel-line);
}

.scenario-steps span {
  color: var(--cyan);
  font-size: .68rem;
  font-weight: 650;
}

.scenario-steps h3 {
  margin: 3.5rem 0 .65rem;
  color: var(--white);
  font-size: 1.15rem;
}

.scenario-steps p {
  margin: 0;
  color: #9cadaf;
  font-size: .82rem;
  line-height: 1.55;
  text-wrap: pretty;
}

@media (max-width: 900px) {
  .knowledge-procedure-list article { grid-template-columns: 4.25rem minmax(0, 1fr); }
  .knowledge-procedure-list article > strong { grid-column: 2; text-align: left; }
  .scenario-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 620px) {
  .knowledge-procedure-list article { grid-template-columns: 1fr; gap: .6rem; }
  .knowledge-procedure-list article > strong { grid-column: auto; }
  .scenario-steps { grid-template-columns: 1fr; }
  .scenario-steps article { min-height: 10rem; }
  .scenario-steps h3 { margin-top: 2.25rem; }
}

/* Homepage: concise product overview */
.home-chapter-nav {
  color: var(--ink);
  background: var(--white);
  border-bottom: 1px solid var(--line);
}

.home-chapter-nav .page-shell {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.home-chapter-nav a {
  display: grid;
  grid-template-columns: 2.25rem minmax(0, 1fr);
  gap: .15rem 1rem;
  min-height: 7.25rem;
  padding: 1.5rem 1.25rem;
  border-left: 1px solid var(--line);
  color: inherit;
  text-decoration: none;
  transition: background 220ms ease, color 220ms ease;
}

.home-chapter-nav a:last-child { border-right: 1px solid var(--line); }
.home-chapter-nav a:hover { color: var(--white); background: var(--green-dark); }
.home-chapter-nav span {
  grid-row: 1 / 3;
  padding-top: .2rem;
  color: var(--cyan-dark);
  font-size: .68rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}
.home-chapter-nav a:hover span { color: var(--cyan); }
.home-chapter-nav strong { align-self: end; font-size: .95rem; line-height: 1.25; }
.home-chapter-nav small { color: var(--muted); font-size: .7rem; }
.home-chapter-nav a:hover small { color: var(--muted-dark); }

.home-overview-section,
.home-business-section { padding: 8rem 0 8.75rem; }
.home-overview-section { background: var(--paper); }
.home-business-section { background: var(--white); border-top: 1px solid var(--line); }
.home-business-section .section-heading > p { color: var(--muted); }
.network-heatmap-section .section-heading > p { color: var(--muted); }
.home-overview-section .section-action-copy,
.home-interface-section .section-action-copy { align-self: end; }

.home-five-ledger,
.home-business-ledger { border-top: 1px solid var(--line); }

.home-five-ledger article {
  display: grid;
  grid-template-columns: 3.25rem 3rem minmax(18rem, .8fr) minmax(20rem, 1fr);
  gap: 1.25rem;
  align-items: center;
  min-height: 9rem;
  padding: 1.4rem 0;
  border-bottom: 1px solid var(--line);
}
.home-five-ledger article > span {
  color: var(--cyan-dark);
  font-size: .68rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}
.home-five-ledger article > svg { width: 1.65rem; height: 1.65rem; color: var(--green-dark); stroke-width: 1.6; }
.home-five-ledger h3 { margin: 0 0 .55rem; font-size: 1.35rem; line-height: 1.2; text-wrap: balance; }
.home-five-ledger p { max-width: 48rem; margin: 0; color: var(--muted); line-height: 1.65; text-wrap: pretty; }
.home-five-ledger article > small { justify-self: end; color: var(--muted); font-size: .7rem; font-weight: 600; text-align: right; }

.home-composition-section { padding: 8rem 0 8.75rem; color: var(--white); background: var(--ink); }
.home-composition-section .section-heading > p { color: var(--muted-dark); }
.home-composition-layout {
  display: grid;
  grid-template-columns: minmax(24rem, .82fr) minmax(34rem, 1.18fr);
  gap: 4rem;
  align-items: stretch;
}

.home-camera-stage {
  position: relative;
  display: grid;
  grid-template-rows: auto minmax(20rem, 1fr) auto auto;
  min-width: 0;
  margin: 0;
  overflow: hidden;
  border: 1px solid var(--panel-line);
  background: var(--panel);
}
.home-camera-stage::after {
  content: "";
  position: absolute;
  left: 18%;
  right: 18%;
  top: 64%;
  height: 2px;
  background: var(--cyan);
  box-shadow: 0 0 2rem rgba(201, 245, 74, .72);
  pointer-events: none;
}
.home-camera-stage-head {
  position: relative;
  z-index: 2;
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.15rem 1.35rem;
  border-bottom: 1px solid var(--panel-line);
  color: var(--muted-dark);
  font-size: .68rem;
  font-weight: 650;
}
.home-camera-stage-head b { color: var(--cyan); font-weight: 650; }
.home-camera-stage-head b i { display: inline-block; width: .45rem; height: .45rem; margin-right: .45rem; border-radius: 50%; background: var(--cyan); box-shadow: 0 0 .9rem rgba(201, 245, 74, .8); }
.home-camera-stage > img {
  position: relative;
  z-index: 1;
  align-self: center;
  justify-self: center;
  width: min(88%, 34rem);
  height: auto;
  aspect-ratio: 1;
  object-fit: contain;
  filter: drop-shadow(0 1.8rem 2.4rem rgba(0, 0, 0, .34));
}
.home-camera-stage figcaption { position: relative; z-index: 2; padding: 1.5rem 1.5rem 1.25rem; border-top: 1px solid var(--panel-line); background: var(--panel); }
.home-camera-stage figcaption strong { display: block; margin-bottom: .5rem; font-size: 1.15rem; }
.home-camera-stage figcaption p { margin: 0; color: #aeb4a9; font-size: .82rem; line-height: 1.65; text-wrap: pretty; }
.home-camera-states { position: relative; z-index: 2; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--panel-line); background: var(--panel); }
.home-camera-states span { display: flex; align-items: center; gap: .65rem; min-height: 3.15rem; padding: .75rem 1rem; color: #aeb4a9; font-size: .68rem; border-right: 1px solid var(--panel-line); border-bottom: 1px solid var(--panel-line); }
.home-camera-states span:nth-child(even) { border-right: 0; }
.home-camera-states i { width: .58rem; height: .58rem; flex: 0 0 auto; border-radius: 50%; background: currentColor; box-shadow: 0 0 .8rem currentColor; }
.home-camera-states .state-green { color: #6be3a1; }
.home-camera-states .state-red { color: #ff8695; }
.home-camera-states .state-violet { color: #b79cff; }
.home-camera-states .state-orange { color: #ffb35e; }
.home-camera-states .state-blink { color: var(--cyan); }
.home-camera-states .state-blink i { animation: home-camera-blink 1.25s steps(2, end) infinite; }
@keyframes home-camera-blink { 50% { opacity: .18; } }

.home-system-chain { align-self: stretch; border-top: 1px solid var(--panel-line); }
.home-system-chain article {
  display: grid;
  grid-template-columns: 2.5rem 2.75rem minmax(0, 1fr);
  gap: 1.15rem;
  align-items: start;
  min-height: 8rem;
  padding: 1.4rem 0;
  border-bottom: 1px solid var(--panel-line);
}
.home-system-chain article > span { padding-top: .25rem; color: var(--cyan); font-size: .68rem; font-weight: 700; }
.home-system-chain article > svg { width: 1.55rem; height: 1.55rem; color: var(--cyan); stroke-width: 1.55; }
.home-system-chain h3 { margin: 0 0 .45rem; color: var(--white); font-size: 1.2rem; line-height: 1.25; }
.home-system-chain p { max-width: 48rem; margin: 0; color: #aeb4a9; font-size: .84rem; line-height: 1.6; text-wrap: pretty; }
.home-system-chain-actions { display: flex; align-items: center; gap: 1.5rem; padding-top: 1.75rem; }
.home-system-chain-actions > a:not(.button) { color: var(--white); font-size: .78rem; font-weight: 650; text-decoration: none; }
.home-system-chain-actions > a:not(.button):hover { color: var(--cyan); }
.home-system-chain-actions svg { width: 1rem; height: 1rem; }

.home-interface-section { background: #f1f2e8; }
.home-interface-section .section-heading > .section-action-copy p { color: var(--muted); }
.home-interface-section .desktop-product-mockup figure { position: relative; }
.home-interface-section .desktop-product-mockup figure img {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 150%;
  max-width: none;
  height: auto;
  object-fit: initial;
}
.mobile-find-screen { padding: .6rem .55rem .75rem; color: var(--white); background: #071116; border-radius: 24px; }
.mobile-find-status { display: flex; justify-content: space-between; padding: .15rem .15rem .55rem; color: #8fa2aa; font-size: .48rem; }
.mobile-find-status b { font-weight: 600; }
.mobile-find-result { display: grid; gap: .25rem; padding: .85rem; color: #071116; background: #74d8e8; border-radius: 5px; }
.mobile-find-result small,
.mobile-find-evidence figcaption small { font-size: .5rem; font-weight: 700; text-transform: uppercase; }
.mobile-find-result strong { font-size: 1.28rem; line-height: 1; letter-spacing: 0; }
.mobile-find-result span { display: flex; align-items: center; gap: .32rem; margin-top: .15rem; font-size: .5rem; }
.mobile-find-result span i { width: .38rem; height: .38rem; border-radius: 50%; background: #087653; box-shadow: 0 0 .5rem rgba(8, 118, 83, .55); }
.mobile-find-evidence { position: relative; height: 9.35rem; margin: .45rem 0; overflow: hidden; border: 1px solid #30464f; border-radius: 5px; background: #0f2028; }
.mobile-find-evidence > img { width: 100%; height: 100%; display: block; object-fit: cover; }
.mobile-find-evidence::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 38%, rgba(4, 12, 17, .88) 100%); }
.mobile-find-evidence figcaption { position: absolute; z-index: 1; right: .7rem; bottom: .65rem; left: .7rem; display: grid; gap: .16rem; }
.mobile-find-evidence figcaption small { color: #8fa2aa; }
.mobile-find-evidence figcaption strong { font-size: 1.15rem; line-height: 1; }
.mobile-find-evidence figcaption span { color: #c4d0d4; font-size: .52rem; }
.mobile-find-route { display: grid; grid-template-columns: 1fr; gap: .28rem; padding: .65rem .7rem; border: 1px solid #30464f; border-radius: 5px; color: #c4d0d4; background: #0f2028; }
.mobile-find-route span { display: flex; align-items: center; gap: .35rem; font-size: .52rem; }
.mobile-find-route span svg { width: .72rem; height: .72rem; color: #74d8e8; }
.mobile-find-route > b { width: 1px; height: .6rem; margin-left: .35rem; background: #74d8e8; }
.mobile-find-screen > button { width: 100%; min-height: 2.45rem; margin-top: .45rem; display: flex; align-items: center; justify-content: center; gap: .4rem; color: #071116; background: var(--cyan); border: 0; border-radius: 5px; font: inherit; font-size: .58rem; font-weight: 750; }
.mobile-find-screen > button svg { width: .82rem; height: .82rem; }

.home-business-ledger article {
  display: grid;
  grid-template-columns: 8rem 3rem minmax(0, 1fr) 13rem;
  gap: 1.4rem;
  align-items: center;
  min-height: 10rem;
  padding: 1.5rem 0;
  border-bottom: 1px solid var(--line);
}
.home-business-ledger article > span { color: var(--cyan-dark); font-size: .68rem; font-weight: 700; }
.home-business-ledger article > svg { width: 1.65rem; height: 1.65rem; color: var(--green-dark); stroke-width: 1.55; }
.home-business-ledger h3 { margin: 0 0 .55rem; font-size: 1.3rem; line-height: 1.25; text-wrap: balance; }
.home-business-ledger p { max-width: 52rem; margin: 0; color: var(--muted); line-height: 1.65; text-wrap: pretty; }
.home-business-ledger a { display: inline-flex; align-items: center; justify-content: flex-end; gap: .45rem; color: var(--green-dark); font-size: .75rem; font-weight: 700; text-align: right; text-decoration: none; }
.home-business-ledger a:hover { color: var(--ink); }
.home-business-ledger a svg { width: 1rem; height: 1rem; }

@media (max-width: 1080px) {
  .home-chapter-nav .page-shell { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-chapter-nav a:nth-child(2) { border-right: 1px solid var(--line); }
  .home-five-ledger article { grid-template-columns: 3rem 2.75rem minmax(0, 1fr); }
  .home-five-ledger article > small { grid-column: 3; justify-self: start; text-align: left; }
  .home-composition-layout { grid-template-columns: 1fr; }
  .home-camera-stage { grid-template-rows: auto minmax(24rem, 36rem) auto auto; }
  .home-business-ledger article { grid-template-columns: 7rem 2.75rem minmax(0, 1fr); }
  .home-business-ledger article > a { grid-column: 3; justify-content: flex-start; text-align: left; }
}

@media (max-width: 720px) {
  .home-chapter-nav .page-shell { width: 100%; grid-template-columns: 1fr 1fr; }
  .home-chapter-nav a { min-height: 6.4rem; padding: 1rem; }
  .home-chapter-nav a:nth-child(odd) { border-left: 0; }
  .home-chapter-nav a strong { font-size: .82rem; }
  .home-chapter-nav a small { font-size: .62rem; }
  .home-overview-section,
  .home-composition-section,
  .home-business-section { padding: 5.25rem 0 5.75rem; }
  .home-five-ledger article,
  .home-business-ledger article { grid-template-columns: 2.25rem minmax(0, 1fr); gap: .8rem 1rem; padding: 1.4rem 0; }
  .home-five-ledger article > svg,
  .home-business-ledger article > svg { grid-row: 1; grid-column: 1; }
  .home-five-ledger article > span,
  .home-business-ledger article > span { grid-row: 2; grid-column: 1; padding-top: .25rem; }
  .home-five-ledger article > div,
  .home-business-ledger article > div { grid-row: 1 / 3; grid-column: 2; }
  .home-five-ledger article > small,
  .home-business-ledger article > a { grid-row: 3; grid-column: 2; justify-self: start; }
  .home-five-ledger h3,
  .home-business-ledger h3 { font-size: 1.12rem; }
  .home-five-ledger p,
  .home-business-ledger p { font-size: .84rem; }
  .home-composition-layout { gap: 2.5rem; }
  .home-camera-stage { grid-template-rows: auto minmax(17rem, 24rem) auto auto; }
  .home-camera-stage-head { align-items: flex-start; flex-direction: column; }
  .home-camera-states { grid-template-columns: 1fr; }
  .home-camera-states span,
  .home-camera-states span:nth-child(even) { border-right: 0; }
  .home-system-chain article { grid-template-columns: 2rem 2.25rem minmax(0, 1fr); gap: .8rem; }
  .home-system-chain-actions { align-items: flex-start; flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
  .home-camera-states .state-blink i { animation: none; }
}
