:root {
  color-scheme: dark;
  --black: #000000;
  --background: #030101;
  --background-elevated: #080203;
  --panel: #0d0305;
  --panel-soft: rgba(18, 5, 8, 0.78);
  --white: #fff8f5;
  --text: #eadbd7;
  --muted: #bca5a4;
  --muted-deep: #806c6d;
  --orange: #ff9d2f;
  --coral: #ff6a4b;
  --pink: #e978b4;
  --ob-gradient: linear-gradient(105deg, var(--orange) 0%, var(--coral) 49%, var(--pink) 100%);
  --ob-gradient-reverse: linear-gradient(105deg, var(--pink) 0%, var(--coral) 51%, var(--orange) 100%);
  --line: rgba(255, 164, 116, 0.22);
  --line-soft: rgba(255, 199, 176, 0.12);
  --line-strong: rgba(255, 143, 79, 0.42);
  --shell: min(1240px, calc(100vw - 3.5rem));
  --header-height: 5.25rem;
  --sans: Inter, "Avenir Next", Avenir, "Segoe UI", Helvetica, Arial, sans-serif;
  --mono: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;
  --shadow: 0 32px 90px rgba(0, 0, 0, 0.52);
}

*,
*::before,
*::after { box-sizing: border-box; }

html {
  min-width: 320px;
  scroll-behavior: smooth;
  scroll-padding-top: calc(var(--header-height) + 1.5rem);
  background: var(--black);
}

body {
  min-width: 320px;
  min-height: 100vh;
  margin: 0;
  padding-top: var(--header-height);
  overflow-x: hidden;
  background:
    radial-gradient(circle at 8% 10%, rgba(255, 126, 34, 0.055), transparent 28rem),
    radial-gradient(circle at 94% 28%, rgba(232, 102, 174, 0.05), transparent 30rem),
    var(--background);
  color: var(--text);
  font-family: var(--sans);
  font-size: 1rem;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

body.menu-open {
  height: 100%;
  overflow: hidden;
  overscroll-behavior: none;
}

[hidden] { display: none !important; }
a { color: inherit; text-decoration: none; }
button, a { -webkit-tap-highlight-color: transparent; }
button { font: inherit; }
img, canvas { display: block; max-width: 100%; }
.shell { width: var(--shell); margin-inline: auto; }

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.skip-link {
  position: fixed;
  z-index: 1000;
  top: 0.8rem;
  left: 0.8rem;
  padding: 0.75rem 1rem;
  border: 1px solid var(--orange);
  border-radius: 0.2rem;
  background: var(--black);
  color: var(--white);
  transform: translateY(-180%);
}

.skip-link:focus { transform: translateY(0); }
:focus-visible { outline: 2px solid #ffb55f; outline-offset: 4px; }

/* Fixed navigation */
.site-header {
  position: fixed;
  z-index: 100;
  inset: 0 0 auto;
  height: var(--header-height);
  border-bottom: 1px solid var(--line-soft);
  background: rgba(0, 0, 0, 0.9);
  box-shadow: 0 14px 42px rgba(0, 0, 0, 0.26);
  backdrop-filter: blur(20px) saturate(125%);
  -webkit-backdrop-filter: blur(20px) saturate(125%);
}

.site-header::before {
  content: "";
  position: absolute;
  inset: 0 50% 0 0;
  background: var(--black);
  pointer-events: none;
}

.site-header::after {
  content: "";
  position: absolute;
  z-index: 2;
  inset: auto 0 -1px;
  height: 1px;
  opacity: 0.34;
  background: linear-gradient(90deg, transparent 5%, var(--orange) 25%, var(--coral) 52%, var(--pink) 75%, transparent 95%);
  transform: scaleX(0.82);
  transition: opacity 200ms ease, transform 200ms ease;
}

.site-header.scrolled::after,
.site-header.menu-visible::after { opacity: 0.72; transform: scaleX(1); }

.header-inner {
  position: relative;
  z-index: 1;
  height: 100%;
  display: flex;
  align-items: center;
  gap: 1.65rem;
}

.brand {
  width: 13.6rem;
  height: 4.25rem;
  flex: 0 0 auto;
  background: url("./assets/brand/openbrain-eclipse-wordmark-header.png") center / contain no-repeat;
}

.brand > * { display: none; }

.desktop-nav {
  height: 100%;
  display: flex;
  align-items: stretch;
  gap: clamp(1.25rem, 2vw, 2.15rem);
  margin-left: auto;
}

.desktop-nav a {
  position: relative;
  display: flex;
  align-items: center;
  color: #b9a4a2;
  font-size: 0.84rem;
  font-weight: 620;
  letter-spacing: 0.012em;
  transition: color 160ms ease;
}

.desktop-nav a::after {
  content: "";
  position: absolute;
  inset: auto 0 -1px;
  height: 2px;
  background: var(--ob-gradient);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 180ms ease;
}

.desktop-nav a:hover,
.desktop-nav a:focus-visible,
.desktop-nav a.active { color: var(--white); }

.desktop-nav a:hover::after,
.desktop-nav a:focus-visible::after,
.desktop-nav a.active::after { transform: scaleX(1); }

.header-actions { display: flex; align-items: center; gap: 0.55rem; }

.language-switch {
  display: flex;
  padding: 0.18rem;
  border: 1px solid var(--line-soft);
  border-radius: 0.2rem;
  background: rgba(255, 255, 255, 0.018);
}

.language-switch button {
  min-width: 2.15rem;
  min-height: 2rem;
  border: 0;
  border-radius: 0.12rem;
  padding: 0.35rem 0.44rem;
  background: transparent;
  color: var(--muted);
  cursor: pointer;
  font-family: var(--mono);
  font-size: 0.7rem;
  font-weight: 760;
  letter-spacing: 0.05em;
}

.language-switch button[aria-pressed="true"] { background: var(--ob-gradient); color: #190402; }

.menu-button {
  display: none;
  width: 2.8rem;
  height: 2.8rem;
  place-items: center;
  border: 1px solid var(--line-soft);
  border-radius: 0.2rem;
  background: rgba(255, 255, 255, 0.018);
  color: var(--white);
  cursor: pointer;
}

.menu-lines,
.menu-lines::before,
.menu-lines::after {
  display: block;
  width: 1.08rem;
  height: 1px;
  background: currentColor;
  transition: transform 160ms ease, opacity 160ms ease;
}

.menu-lines { position: relative; }
.menu-lines::before, .menu-lines::after { content: ""; position: absolute; left: 0; }
.menu-lines::before { top: -0.34rem; }
.menu-lines::after { top: 0.34rem; }
.menu-button[aria-expanded="true"] .menu-lines { background: transparent; }
.menu-button[aria-expanded="true"] .menu-lines::before { transform: translateY(0.34rem) rotate(45deg); }
.menu-button[aria-expanded="true"] .menu-lines::after { transform: translateY(-0.34rem) rotate(-45deg); }
.mobile-nav { display: none; }

/* Type and shared components */
h1, h2, h3, p { text-wrap: pretty; }
h1, h2, h3 { margin-top: 0; color: var(--white); line-height: 1.02; }
h1, .closing-panel h2, .hybrid-grid h2 { white-space: pre-line; }

h1 {
  margin-bottom: 1.8rem;
  font-size: clamp(3.7rem, 7.3vw, 7.25rem);
  font-weight: 520;
  letter-spacing: -0.064em;
}

h2 {
  margin-bottom: 1.35rem;
  font-size: clamp(2.65rem, 5vw, 4.8rem);
  font-weight: 520;
  letter-spacing: -0.052em;
}

h3 {
  margin-bottom: 0.8rem;
  font-size: clamp(1.3rem, 2vw, 1.58rem);
  font-weight: 620;
  letter-spacing: -0.028em;
}

.eyebrow,
.section-index {
  margin: 0;
  font-family: var(--mono);
  font-size: 0.72rem;
  font-weight: 760;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.eyebrow { display: flex; align-items: center; gap: 0.75rem; margin-bottom: 1.8rem; }

.eyebrow span,
.section-index,
.project-code,
.roadmap-code {
  color: transparent;
  background: var(--ob-gradient);
  -webkit-background-clip: text;
  background-clip: text;
}

.eyebrow i { width: 2.6rem; height: 1px; background: var(--ob-gradient); }
.section-index { margin-bottom: 1.35rem; }
.section { position: relative; padding: clamp(6rem, 9vw, 9rem) 0; }
.section-heading { margin-bottom: clamp(3.5rem, 6vw, 6rem); }

.heading-split {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(19rem, 0.7fr);
  gap: clamp(3rem, 7vw, 7rem);
  align-items: end;
}

.heading-split h2 { margin-bottom: 0; }
.heading-split > p,
.architecture-copy > p:not(.section-index),
.lead-copy,
.roadmap-body > p:not(.section-index) { color: var(--muted); }

.heading-split > p { margin: 0 0 0.45rem; font-size: 1.04rem; line-height: 1.78; }

.button {
  min-height: 3.45rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 1.4rem;
  border: 1px solid var(--line-soft);
  border-radius: 0.22rem;
  padding: 0.82rem 1.42rem;
  background: transparent;
  color: var(--white);
  cursor: pointer;
  font-size: 0.88rem;
  font-weight: 720;
  transition: transform 170ms ease, border-color 170ms ease, background 170ms ease, color 170ms ease;
}

.button:hover, .button:focus-visible { transform: translateY(-2px); }

.button-primary {
  border-color: transparent;
  background: var(--ob-gradient);
  color: #180301;
  box-shadow: 0 0 34px rgba(255, 107, 48, 0.15), 0 0 46px rgba(231, 106, 174, 0.07);
}

.button-primary:hover, .button-primary:focus-visible { background: linear-gradient(105deg, #ffb449, #ff795b 49%, #f18bc5); }
.button-ghost { background: rgba(15, 3, 6, 0.7); backdrop-filter: blur(10px); }
.button-ghost:hover, .button-ghost:focus-visible { border-color: rgba(255, 123, 65, 0.58); color: #ffd4c2; }

.text-link {
  display: inline-flex;
  align-items: center;
  gap: 1.1rem;
  margin-top: 2rem;
  color: #ffb15d;
  font-size: 0.9rem;
  font-weight: 680;
}

.text-link:hover, .text-link:focus-visible { text-decoration: underline; text-underline-offset: 0.35rem; }

/* Home hero */
.hero {
  position: relative;
  min-height: calc(100svh - var(--header-height));
  display: flex;
  align-items: center;
  overflow: hidden;
  border-bottom: 1px solid var(--line-soft);
  background:
    radial-gradient(ellipse at 75% 48%, rgba(255, 123, 31, 0.11), transparent 28rem),
    radial-gradient(ellipse at 84% 57%, rgba(231, 105, 174, 0.09), transparent 31rem),
    linear-gradient(118deg, #000 0%, #070102 50%, #020001 100%);
}

.globe-canvas { position: absolute; z-index: 0; inset: 0; width: 100%; height: 100%; opacity: 0.9; }
.globe-primary { opacity: 1; }

.hero-vignette {
  position: absolute;
  z-index: 1;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(0, 0, 0, 0.97) 0%, rgba(4, 0, 1, 0.84) 35%, rgba(4, 0, 1, 0.14) 62%, rgba(4, 0, 1, 0.3) 82%, rgba(0, 0, 0, 0.78) 100%),
    linear-gradient(180deg, rgba(0, 0, 0, 0.48), transparent 22%, rgba(0, 0, 0, 0.12) 56%, rgba(0, 0, 0, 0.9));
}

.hero-home::before {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
  pointer-events: none;
  opacity: 0.28;
  background:
    linear-gradient(115deg, transparent 24%, rgba(255, 139, 57, 0.06) 50%, transparent 72%),
    radial-gradient(circle at 73% 48%, transparent 0 18rem, rgba(255, 139, 52, 0.065) 18.05rem 18.12rem, transparent 18.2rem);
}

.hero-scanline { display: none; }
.hero-content { position: relative; z-index: 3; padding: clamp(5.5rem, 10vw, 9rem) 0 clamp(8rem, 12vw, 10rem); }
.hero-content h1 { max-width: 61rem; }

.hero-lead,
.page-hero-content > p:last-child {
  max-width: 48rem;
  margin: 0;
  color: #ddc9c5;
  font-size: clamp(1.06rem, 1.6vw, 1.3rem);
  line-height: 1.78;
}

.hero-actions { display: flex; flex-wrap: wrap; gap: 0.85rem; margin-top: 2.55rem; }

.hero-status {
  position: absolute;
  z-index: 3;
  left: 50%;
  bottom: 2rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  transform: translateX(-50%);
  color: var(--muted-deep);
  font-family: var(--mono);
  font-size: 0.7rem;
  letter-spacing: 0.1em;
}

.hero-status > span { display: flex; align-items: center; gap: 0.65rem; }
.hero-status b { color: #d7c1bd; font-size: inherit; }
.live-dot { width: 0.48rem; aspect-ratio: 1; border-radius: 50%; background: var(--orange); box-shadow: 0 0 15px rgba(255, 141, 39, 0.88); }

/* Product system */
.system-overview { background: radial-gradient(circle at 10% 5%, rgba(255, 132, 36, 0.045), transparent 25rem), #030101; }
.system-rail { display: grid; grid-template-columns: 1fr 3.4rem 1fr 3.4rem 1fr; align-items: center; }

.system-node {
  position: relative;
  min-height: 27rem;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  padding: 1.65rem;
  border: 1px solid var(--line-soft);
  border-radius: 0.28rem;
  background: linear-gradient(145deg, rgba(255, 123, 32, 0.065), transparent 46%), rgba(13, 3, 5, 0.84);
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.025);
  transition: transform 190ms ease, border-color 190ms ease, background 190ms ease;
}

.system-node::before { content: ""; position: absolute; inset: 0 0 auto; height: 2px; background: var(--ob-gradient); }
.system-node:hover, .system-node:focus-visible { transform: translateY(-5px); border-color: rgba(235, 113, 173, 0.42); background: linear-gradient(145deg, rgba(255, 126, 39, 0.1), transparent 48%), rgba(17, 4, 7, 0.96); }
.node-number, .system-node small { color: var(--muted); font-family: var(--mono); font-size: 0.7rem; letter-spacing: 0.1em; }
.system-node > div { margin-top: auto; }
.system-node strong { display: block; margin-bottom: 0.45rem; color: var(--white); font-size: clamp(3.2rem, 5.2vw, 5.1rem); font-weight: 650; line-height: 0.92; letter-spacing: -0.08em; }
.system-node small { color: #ff9975; }
.system-node p { min-height: 5.4rem; margin: 1.75rem 2.3rem 0 0; color: var(--muted); font-size: 0.92rem; }
.rail-link { height: 1px; background: var(--ob-gradient); opacity: 0.54; }
.rail-link span { display: block; width: 0.45rem; aspect-ratio: 1; margin: -0.2rem auto 0; border-radius: 50%; background: var(--orange); box-shadow: 0 0 14px var(--orange); }

/* Infrastructure */
.architecture-section {
  overflow: hidden;
  border-block: 1px solid var(--line-soft);
  background: radial-gradient(circle at 78% 52%, rgba(229, 99, 171, 0.075), transparent 29rem), var(--background-elevated);
}

.architecture-section::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: 0.36;
  background: repeating-radial-gradient(circle at 77% 50%, transparent 0 5.5rem, rgba(255, 134, 47, 0.06) 5.55rem 5.62rem);
  mask-image: linear-gradient(90deg, transparent 20%, black 65%, transparent);
}

.architecture-layout { position: relative; display: grid; grid-template-columns: minmax(0, 0.86fr) minmax(32rem, 1.14fr); gap: clamp(4rem, 7vw, 7rem); align-items: center; }
.architecture-copy > p:not(.section-index) { margin: 0; font-size: 1.03rem; line-height: 1.84; }
.architecture-visual { --orbit-turn: 0turn; --orbit-counter-turn: 0turn; position: relative; min-height: 37rem; display: grid; place-items: center; }
.architecture-visual::before, .architecture-visual::after { content: ""; position: absolute; border: 1px solid rgba(255, 143, 72, 0.2); border-radius: 50%; }
.architecture-visual::before { inset: 8%; }
.architecture-visual::after { inset: 19%; border-style: dashed; border-color: rgba(234, 111, 177, 0.24); animation: slow-spin 48s linear infinite; }
@keyframes slow-spin { to { transform: rotate(360deg); } }

.architecture-core {
  position: relative;
  z-index: 2;
  width: 13.4rem;
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  align-content: center;
  border: 1px solid transparent;
  border-radius: 50%;
  background: linear-gradient(#050102, #050102) padding-box, var(--ob-gradient) border-box;
  box-shadow: inset 0 0 55px rgba(229, 100, 170, 0.07), 0 0 65px rgba(255, 119, 30, 0.09);
  text-align: center;
}

.architecture-core strong { color: var(--white); font-family: var(--mono); font-size: 1.02rem; line-height: 1.45; letter-spacing: 0.12em; }
.architecture-core small { max-width: 9rem; margin-top: 0.8rem; color: var(--muted); font-family: var(--mono); font-size: 0.66rem; line-height: 1.55; }
.core-pulse { position: absolute; inset: -0.55rem; border: 1px solid rgba(255, 128, 37, 0.25); border-radius: 50%; animation: pulse 3.8s ease-out infinite; }
@keyframes pulse { 0% { transform: scale(0.96); opacity: 0.8; } 80%, 100% { transform: scale(1.24); opacity: 0; } }
.architecture-orbit { position: absolute; inset: 0; }
.architecture-visual.scroll-orbit-ready .architecture-orbit {
  transform: rotate(var(--orbit-turn));
  transform-origin: 50% 50%;
  will-change: transform;
}

.infra-node {
  position: absolute;
  z-index: 3;
  display: flex;
  align-items: center;
  gap: 0.55rem;
  padding: 0.75rem 0.9rem;
  border: 1px solid var(--line-soft);
  border-radius: 0.18rem;
  background: rgba(8, 1, 3, 0.92);
  color: #d1b9b6;
  box-shadow: 0 14px 35px rgba(0, 0, 0, 0.24);
  font-family: var(--mono);
  font-size: 0.68rem;
  letter-spacing: 0.06em;
}

.architecture-visual.scroll-orbit-ready .infra-node {
  transform: rotate(var(--orbit-counter-turn));
  transform-origin: 50% 50%;
  backface-visibility: hidden;
  will-change: transform;
}

.infra-node i { width: 0.42rem; aspect-ratio: 1; border-radius: 50%; background: var(--orange); box-shadow: 0 0 12px var(--orange); }
.infra-local { top: 8%; right: 13%; }
.infra-rented { left: 1%; bottom: 28%; }
.infra-cloud { right: 2%; bottom: 11%; }

/* Portfolio */
.development-preview, .roadmap-section, .product-detail, .contact-topics, .chain-strip, .status-legend { background: #030101; }
.project-list { border-top: 1px solid var(--line-strong); }

.project-row {
  display: grid;
  grid-template-columns: 6rem minmax(0, 1fr) auto;
  gap: 2rem;
  align-items: center;
  min-height: 7.6rem;
  border-bottom: 1px solid var(--line-soft);
  transition: padding 180ms ease, background 180ms ease;
}

.project-row:hover, .project-row:focus-visible { padding-inline: 1rem; background: linear-gradient(90deg, rgba(255, 126, 40, 0.055), rgba(229, 102, 173, 0.026)); }
.project-row-featured { background: linear-gradient(90deg, rgba(255, 130, 38, 0.035), rgba(232, 105, 175, 0.02)); }
.project-code { font-family: var(--mono); font-size: 0.72rem; font-weight: 760; }
.project-row strong { color: var(--white); font-size: clamp(1.06rem, 1.8vw, 1.42rem); font-weight: 580; }

.project-state,
.legend-row > span { display: inline-flex; align-items: center; gap: 0.55rem; margin: 0; font-family: var(--mono); font-size: 0.68rem; font-weight: 750; letter-spacing: 0.07em; white-space: nowrap; }
.project-state i, .legend-row i { width: 0.42rem; aspect-ratio: 1; border-radius: 50%; background: currentColor; box-shadow: 0 0 10px currentColor; }
.state-active { color: #ff9732; }
.state-built { color: #f188bd; }
.state-pilot { color: #ffc46f; }
.state-custom { color: #ffc46f; }
.state-active-research { color: #ff7356; }
.state-product { color: #f188bd; }
.state-research { color: #e982b3; }
.state-lab { color: #ff7356; }

/* Closing and footer */
.closing-section { padding-top: 2rem; background: #030101; }

.closing-panel {
  position: relative;
  overflow: hidden;
  padding: clamp(3rem, 7vw, 6.5rem);
  border: 1px solid transparent;
  border-radius: 0.35rem;
  background: linear-gradient(125deg, rgba(18, 3, 6, 0.97), rgba(5, 1, 2, 0.99)) padding-box, var(--ob-gradient) border-box;
  box-shadow: var(--shadow), inset 0 1px rgba(255, 255, 255, 0.025);
}

.closing-panel::after { content: ""; position: absolute; width: 25rem; aspect-ratio: 1; right: -8rem; top: -10rem; border: 1px solid rgba(235, 110, 176, 0.2); border-radius: 50%; box-shadow: 0 0 0 5rem rgba(255, 128, 39, 0.018), 0 0 0 10rem rgba(230, 101, 171, 0.012); }
.closing-panel h2 { position: relative; z-index: 1; max-width: 59rem; margin-bottom: 2.55rem; }
.closing-panel .button { position: relative; z-index: 2; }

.site-footer { border-top: 1px solid var(--line-soft); padding: 3.1rem 0 2.1rem; background: var(--black); }
.footer-layout { display: grid; grid-template-columns: 1fr auto; gap: 2.4rem; align-items: center; }
.footer-brand { width: 14rem; height: 4.4rem; background: url("./assets/brand/openbrain-eclipse-wordmark-header.png") center / contain no-repeat; }
.footer-brand > * { display: none; }
.footer-layout nav { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 1.5rem; }
.footer-layout nav a { color: #ad9393; font-size: 0.82rem; }
.footer-layout nav a:hover, .footer-layout nav a:focus-visible { color: var(--orange); }
.footer-layout > p { grid-column: 1 / -1; margin: 0; padding-top: 1.5rem; border-top: 1px solid var(--line-soft); color: #786366; font-size: 0.74rem; }

/* Inner page heroes */
.page-hero {
  position: relative;
  min-height: 72svh;
  display: flex;
  align-items: center;
  overflow: hidden;
  padding: clamp(6rem, 10vw, 9rem) 0;
  border-bottom: 1px solid var(--line-soft);
  background: radial-gradient(circle at 78% 44%, rgba(255, 125, 32, 0.1), transparent 28rem), radial-gradient(circle at 86% 57%, rgba(230, 103, 174, 0.08), transparent 31rem), #020001;
}

.page-hero-content { position: relative; z-index: 3; }
.page-hero-content h1 { max-width: 66rem; font-size: clamp(3.4rem, 6.5vw, 6.55rem); }
.page-hero-globe .globe-canvas { left: 30%; width: 80%; opacity: 0.82; }
.page-hero-globe .hero-vignette { background: linear-gradient(90deg, #020001 0%, rgba(4, 0, 1, 0.88) 42%, rgba(4, 0, 1, 0.22) 75%, #020001 100%), linear-gradient(0deg, #020001, transparent 34%); }
.wide-copy > p:last-child { max-width: 52rem; }

.editorial-hero::after {
  content: "K+F";
  position: absolute;
  right: -0.04em;
  bottom: -0.15em;
  color: rgba(235, 109, 177, 0.08);
  font-size: clamp(10rem, 25vw, 24rem);
  font-weight: 800;
  line-height: 1;
  letter-spacing: -0.09em;
}

html[lang="en"] .editorial-hero::after { content: "R&D"; }

.research-field { position: absolute; inset: 0; opacity: 0.28; background: linear-gradient(115deg, transparent 30%, rgba(255, 130, 39, 0.045) 52%, transparent 73%), repeating-linear-gradient(90deg, transparent 0 6rem, rgba(232, 103, 175, 0.045) 6rem calc(6rem + 1px)); mask-image: linear-gradient(90deg, transparent 5%, black, transparent 92%); }

/* Systems page */
.chain-strip, .status-legend { border-bottom: 1px solid var(--line-soft); }
.chain-flow { min-height: 8rem; display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; align-items: center; gap: 2rem; }
.chain-flow > span { display: flex; align-items: center; gap: 1rem; }
.chain-flow b { color: var(--orange); font-family: var(--mono); font-size: 1.5rem; }
.chain-flow small { color: var(--muted); font-family: var(--mono); font-size: 0.68rem; letter-spacing: 0.06em; }
.chain-flow > i { width: 3.4rem; height: 1px; background: var(--ob-gradient); font-size: 0; }

.product-detail-alt, .principles-section, .identity-section, .contact-company { border-block: 1px solid var(--line-soft); background: var(--background-elevated); }
.product-detail-grid { display: grid; grid-template-columns: minmax(15rem, 0.38fr) minmax(0, 1fr); gap: clamp(4rem, 7vw, 6.5rem); }
.product-identity { position: sticky; top: calc(var(--header-height) + 2.5rem); align-self: start; }
.product-big-code { display: block; color: transparent; font-size: clamp(6rem, 12vw, 11rem); font-weight: 780; line-height: 0.85; letter-spacing: -0.12em; -webkit-text-stroke: 1px rgba(255, 133, 43, 0.7); text-shadow: 0 0 46px rgba(231, 103, 174, 0.11); }
.product-identity .project-state { margin-top: 2rem; }
.lead-copy { max-width: 52rem; margin: 0 0 3.4rem; font-size: clamp(1.08rem, 1.7vw, 1.32rem); line-height: 1.78; }

.capability-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--line-strong); }
.capability-grid > div { min-height: 15rem; padding: 1.6rem; border-right: 1px solid var(--line-soft); border-bottom: 1px solid var(--line-soft); background: linear-gradient(145deg, rgba(255, 125, 36, 0.028), rgba(231, 101, 173, 0.012)); }
.capability-grid > div:nth-child(2n) { border-right: 0; }
.capability-grid span, .principle-list article > span, .topic-grid article > span, .layer-code { color: var(--orange); font-family: var(--mono); font-size: 0.7rem; letter-spacing: 0.08em; }
.capability-grid strong { display: block; margin-top: 3.4rem; color: var(--white); font-size: 1.03rem; }
.capability-grid p { margin: 0.8rem 0 0; color: var(--muted); font-size: 0.9rem; }

/* Development page */
.status-legend { background: #050102; }
.legend-row { min-height: 6rem; display: flex; flex-wrap: wrap; align-items: center; gap: 1.4rem 2.5rem; }

.roadmap-item {
  display: grid;
  grid-template-columns: minmax(13rem, 0.3fr) minmax(0, 1fr);
  gap: clamp(3rem, 7vw, 6rem);
  padding: 5rem 0;
  border-bottom: 1px solid var(--line-soft);
  scroll-margin-top: calc(var(--header-height) + 1.5rem);
}

.roadmap-aside { display: flex; flex-direction: column; gap: 2rem; }
.roadmap-code { font-family: var(--mono); font-size: clamp(2.6rem, 5vw, 4.6rem); font-weight: 650; line-height: 1; letter-spacing: -0.08em; -webkit-text-stroke: 1px rgba(239, 114, 171, 0.55); }
.roadmap-body > p:not(.section-index) { max-width: 52rem; margin: 0; font-size: 1.04rem; line-height: 1.82; }

.roadmap-item-featured {
  position: relative;
  margin-block: 1.5rem;
  padding-inline: clamp(1.5rem, 3vw, 3rem);
  border: 1px solid transparent;
  border-radius: 0.35rem;
  background: linear-gradient(135deg, rgba(15, 3, 6, 0.97), rgba(5, 1, 2, 0.99)) padding-box, var(--ob-gradient) border-box;
  box-shadow: 0 28px 80px rgba(0, 0, 0, 0.34), inset 0 1px rgba(255, 255, 255, 0.025);
}

.research-loop { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; margin: 3rem 0; padding: 1px; list-style: none; background: var(--ob-gradient); }
.research-loop li { min-height: 8.5rem; display: flex; flex-direction: column; justify-content: space-between; padding: 1.1rem; background: #080204; }
.research-loop span { color: var(--pink); font-family: var(--mono); font-size: 0.65rem; letter-spacing: 0.08em; }
.research-loop b { color: var(--white); font-size: 0.9rem; font-weight: 620; }

.evidence-list { margin: 2.5rem 0 0; padding: 0; list-style: none; border-top: 1px solid var(--line-strong); }
.evidence-list li { position: relative; padding: 1rem 0 1rem 1.45rem; border-bottom: 1px solid var(--line-soft); color: #cdb8b5; font-size: 0.9rem; }
.evidence-list li::before { content: ""; position: absolute; top: 1.55rem; left: 0; width: 0.42rem; height: 0.42rem; border-radius: 50%; background: var(--orange); box-shadow: 0 0 10px rgba(255, 145, 43, 0.72); }

.claims-section { padding: 0 0 clamp(6rem, 9vw, 9rem); background: #030101; }
.claims-panel { display: grid; grid-template-columns: auto 1fr; gap: 2rem; padding: clamp(2rem, 4vw, 3.5rem); border: 1px solid var(--line-soft); background: linear-gradient(125deg, rgba(255, 126, 38, 0.04), rgba(231, 102, 173, 0.018)); }
.claims-mark { color: var(--orange); font-size: 2.4rem; line-height: 1; }
.claims-panel h2 { font-size: clamp(2rem, 4vw, 3.8rem); }
.claims-panel p:last-child { max-width: 52rem; margin-bottom: 0; color: var(--muted); }

/* Company page */
.mission-section { background: radial-gradient(circle at 12% 18%, rgba(255, 128, 32, 0.06), transparent 28rem), #030101; }
.mission-grid { display: grid; grid-template-columns: minmax(10rem, 0.28fr) minmax(0, 1fr); gap: clamp(3rem, 7vw, 7rem); }
.two-column-copy { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2.5rem; margin-top: 3rem; }
.two-column-copy p, .identity-grid > div > p:last-child, .contact-company-grid > div > p:last-child { margin: 0; color: var(--muted); }

.principle-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--line-strong); }
.principle-list article, .topic-grid article { min-height: 19rem; padding: 1.6rem; border-right: 1px solid var(--line-soft); border-bottom: 1px solid var(--line-soft); background: linear-gradient(145deg, rgba(255, 125, 35, 0.045), transparent 48%); }
.principle-list article:last-child, .topic-grid article:last-child { border-right: 0; }
.principle-list h3, .topic-grid h3 { margin-top: 6rem; }
.principle-list p, .topic-grid p { color: var(--muted); font-size: 0.9rem; }

.hybrid-section { border-bottom: 1px solid var(--line-soft); background: #030101; }
.hybrid-grid { display: grid; grid-template-columns: minmax(0, 0.7fr) minmax(0, 1.3fr); gap: clamp(4rem, 8vw, 8rem); }
.hybrid-grid > div:first-child { position: sticky; top: calc(var(--header-height) + 2.5rem); align-self: start; }
.hybrid-grid > div:first-child > p:last-child { color: var(--muted); }
.hybrid-layers { border-top: 1px solid var(--line-strong); }
.hybrid-layers article { padding: 2.2rem 0; border-bottom: 1px solid var(--line-soft); }
.hybrid-layers h3 { margin: 1.2rem 0 0.7rem; }
.hybrid-layers p { margin: 0; color: var(--muted); font-size: 0.92rem; }

.leadership-section { border-bottom: 1px solid var(--line-soft); background: radial-gradient(circle at 84% 4%, rgba(229, 102, 173, 0.07), transparent 28rem), linear-gradient(180deg, #030101, #080204); }
.leadership-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; }

.leader-card.business-card-panel {
  min-height: 0;
  overflow: hidden;
  padding: 1px;
  border: 0;
  border-radius: 0.3rem;
  background: var(--ob-gradient);
  box-shadow: 0 28px 72px rgba(0, 0, 0, 0.42), 0 0 42px rgba(255, 116, 34, 0.055);
}

.business-card-image { width: 100%; height: auto; background: var(--black); }
.identity-grid, .contact-company-grid { display: grid; grid-template-columns: minmax(15rem, 0.72fr) minmax(0, 1.28fr); gap: clamp(4rem, 8vw, 7rem); }
.legal-grid { margin: 0; border-top: 1px solid var(--line-strong); }
.legal-grid > div { display: grid; grid-template-columns: minmax(10rem, 0.65fr) 1fr; gap: 2rem; padding: 1.25rem 0; border-bottom: 1px solid var(--line-soft); }
.legal-grid dt, .legal-grid dd { margin: 0; }
.legal-grid dt { color: var(--muted); font-family: var(--mono); font-size: 0.7rem; letter-spacing: 0.04em; text-transform: uppercase; }
.legal-grid dd { color: #dbc6c3; font-size: 0.9rem; }

/* Contact page */
.contact-hero {
  position: relative;
  min-height: calc(100svh - var(--header-height));
  display: flex;
  align-items: center;
  overflow: hidden;
  padding: clamp(5rem, 8vw, 8rem) 0;
  background: radial-gradient(circle at 78% 34%, rgba(255, 125, 32, 0.09), transparent 27rem), radial-gradient(circle at 89% 63%, rgba(229, 100, 172, 0.075), transparent 29rem), #020001;
}

.contact-grid-bg { position: absolute; inset: 0; opacity: 0.52; background: repeating-radial-gradient(circle at 78% 50%, transparent 0 6rem, rgba(255, 131, 45, 0.055) 6.04rem 6.1rem), linear-gradient(118deg, transparent 20%, rgba(232, 103, 175, 0.035) 54%, transparent 80%); mask-image: linear-gradient(90deg, transparent 12%, black 55%, transparent 98%); }
.contact-hero-layout { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(36rem, 1.1fr); gap: clamp(2.25rem, 4vw, 4rem); align-items: center; }
.contact-intro { min-width: 0; }
.contact-intro h1 { max-width: 11ch; font-size: clamp(3.1rem, 4.7vw, 5.25rem); line-height: 0.98; }
.contact-intro > p:last-child { color: #cfb7b4; font-size: 1.06rem; }

.contact-terminal { overflow: hidden; border: 1px solid transparent; border-radius: 0.35rem; background: linear-gradient(rgba(3, 0, 1, 0.96), rgba(3, 0, 1, 0.96)) padding-box, var(--ob-gradient) border-box; box-shadow: var(--shadow), 0 0 50px rgba(232, 101, 173, 0.06); }
.terminal-top { min-height: 3.2rem; display: flex; align-items: center; gap: 0.5rem; padding: 0 1rem; border-bottom: 1px solid var(--line-soft); }
.terminal-top span { width: 0.48rem; aspect-ratio: 1; border: 1px solid var(--muted); border-radius: 50%; }
.terminal-top span:first-child { border-color: var(--orange); background: rgba(255, 132, 34, 0.34); }
.terminal-top span:nth-child(2) { border-color: var(--coral); }
.terminal-top span:nth-child(3) { border-color: var(--pink); }
.terminal-top b { margin-left: auto; color: var(--muted); font-family: var(--mono); font-size: 0.65rem; font-weight: 520; letter-spacing: 0.08em; }
.contact-card-panel .terminal-body { padding: 1rem; }
.contact-card-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.contact-card-grid .business-card-image { border: 1px solid var(--line-soft); border-radius: 0.18rem; box-shadow: 0 18px 44px rgba(0, 0, 0, 0.36); }
.contact-card-footer { padding: 0.5rem 0.5rem 0.35rem; }
.email-link { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 1.3rem; padding: 1rem 0; border-block: 1px solid var(--line-soft); color: #ffc6ad; overflow-wrap: anywhere; font-family: var(--mono); font-size: clamp(0.82rem, 1.3vw, 0.98rem); }
.contact-actions { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-top: 1.4rem; }
.copy-status { min-height: 1.35rem; margin: 0.8rem 0 0; color: var(--orange); font-family: var(--mono); font-size: 0.7rem; }
.topic-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--line-strong); }

/* Synchronized solar identity
   The original PNG remains the no-script/error fallback. Canvas is revealed only
   after the source image, sizing and first complete animation frame are ready. */
.solar-brand-host {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}

.solar-brand-host.solar-animation-ready { background-image: none; }

.solar-logo-canvas {
  position: absolute;
  z-index: 2;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  opacity: 0;
  pointer-events: none;
  transition: opacity 260ms ease;
}

.brand > .solar-logo-canvas,
.footer-brand > .solar-logo-canvas { display: block; }

.solar-animation-ready > .solar-logo-canvas { opacity: 1; }

.solar-media {
  position: relative;
  display: block;
  width: 100%;
  min-width: 0;
  overflow: hidden;
  isolation: isolate;
  line-height: 0;
  background: #000;
}

.solar-media > .solar-source-image {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  height: auto;
  margin: 0;
  opacity: 1;
  transition: opacity 260ms ease;
}

.solar-media.solar-animation-ready > .solar-source-image { opacity: 0; }

.solar-media--card { aspect-ratio: 1559 / 1009; }
.solar-media--card > .solar-source-image { aspect-ratio: 1559 / 1009; object-fit: contain; }

.contact-card-grid .solar-media--card {
  border: 1px solid var(--line-soft);
  border-radius: 0.18rem;
  box-shadow: 0 18px 44px rgba(0, 0, 0, 0.36);
}

.contact-card-grid .solar-media--card > .business-card-image {
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.leader-card .solar-media--card { height: auto; }

.brand-showcase-logo.solar-media--showcase { height: auto; }
.brand-showcase-logo.solar-media--showcase > .solar-source-image { width: 100%; max-width: none; }

/* Privacy notice */
.privacy-hero {
  position: relative;
  min-height: min(44rem, calc(100svh - var(--header-height)));
  display: flex;
  align-items: center;
  overflow: hidden;
  border-bottom: 1px solid var(--line-soft);
  background:
    radial-gradient(circle at 78% 40%, rgba(232, 103, 175, 0.09), transparent 25rem),
    radial-gradient(circle at 72% 48%, rgba(255, 137, 32, 0.07), transparent 34rem),
    #020001;
}

.privacy-orbits {
  position: absolute;
  top: 50%;
  right: clamp(-20rem, -9vw, -5rem);
  width: min(58vw, 48rem);
  aspect-ratio: 1;
  border: 1px solid rgba(255, 142, 44, 0.17);
  border-radius: 50%;
  transform: translateY(-50%);
  box-shadow: 0 0 0 7rem rgba(255, 122, 44, 0.018), 0 0 0 14rem rgba(231, 105, 177, 0.012);
}

.privacy-orbits::before,
.privacy-orbits::after { content: ""; position: absolute; border-radius: 50%; }
.privacy-orbits::before { inset: 16%; border: 1px dashed rgba(232, 105, 178, 0.2); }
.privacy-orbits::after { inset: 34%; background: radial-gradient(circle, rgba(255, 142, 42, 0.17), rgba(8, 1, 3, 0.72) 48%, transparent 70%); box-shadow: 0 0 46px rgba(255, 111, 56, 0.08); }

.privacy-hero-inner { position: relative; z-index: 1; padding-block: clamp(5rem, 10vw, 8rem); }
.privacy-hero-inner h1 { max-width: 9ch; margin: 1.8rem 0 1.5rem; font-size: clamp(4rem, 8vw, 7.4rem); line-height: 0.88; }
.privacy-hero-inner > p:not(.eyebrow) { max-width: 43rem; margin: 0; color: #ccb6b2; font-size: clamp(1.05rem, 1.55vw, 1.28rem); line-height: 1.75; }
.privacy-version { display: flex; align-items: center; gap: 1rem; margin-top: 2.5rem; font-family: var(--mono); font-size: 0.68rem; letter-spacing: 0.08em; }
.privacy-version span { padding: 0.35rem 0.55rem; border: 1px solid var(--line-strong); color: var(--orange); }
.privacy-version strong { color: #bba3a2; font-weight: 560; }

.privacy-body-section { padding: clamp(5rem, 9vw, 8rem) 0; background: linear-gradient(180deg, #030101, #050102 65%, #020001); }
.privacy-layout { display: grid; grid-template-columns: minmax(13rem, 0.28fr) minmax(0, 1fr); gap: clamp(3rem, 7vw, 7rem); align-items: start; }
.privacy-aside { position: sticky; top: calc(var(--header-height) + 2rem); }
.privacy-aside nav { display: grid; margin-top: 1.8rem; border-top: 1px solid var(--line-soft); }
.privacy-aside nav a { padding: 0.82rem 0; border-bottom: 1px solid var(--line-soft); color: #a89090; font-family: var(--mono); font-size: 0.68rem; letter-spacing: 0.035em; transition: color 160ms ease, padding-left 160ms ease; }
.privacy-aside nav a:hover,
.privacy-aside nav a:focus-visible { padding-left: 0.4rem; color: var(--orange); }
.privacy-contact-chip { margin-top: 2rem; padding: 1rem; border: 1px solid var(--line-soft); background: rgba(255, 127, 41, 0.025); }
.privacy-contact-chip span { display: block; color: var(--orange); font-family: var(--mono); font-size: 0.62rem; letter-spacing: 0.08em; }
.privacy-contact-chip a { display: block; margin-top: 0.65rem; overflow-wrap: anywhere; color: #e4ceca; font-size: 0.76rem; }

.privacy-document { min-width: 0; border-top: 1px solid var(--line-strong); }
.privacy-block { display: grid; grid-template-columns: 4.5rem minmax(0, 1fr); gap: clamp(1.5rem, 3vw, 3rem); padding: clamp(3.2rem, 6vw, 5.5rem) 0; border-bottom: 1px solid var(--line-soft); scroll-margin-top: calc(var(--header-height) + 2rem); }
.privacy-number { margin: 0; color: transparent; font-family: var(--mono); font-size: 2.5rem; line-height: 1; -webkit-text-stroke: 1px rgba(255, 146, 47, 0.62); }
.privacy-block h2 { margin: -0.25rem 0 1.6rem; font-size: clamp(2rem, 4vw, 3.5rem); line-height: 1; }
.privacy-block h3 { margin: 0.7rem 0 0.8rem; font-size: clamp(1.18rem, 2vw, 1.55rem); }
.privacy-block p { max-width: 54rem; color: #c4adab; }
.privacy-block strong { color: var(--white); }
.privacy-block a { color: #ffc3ad; text-decoration: underline; text-decoration-color: rgba(255, 139, 76, 0.4); text-underline-offset: 0.22em; }
.privacy-block code { padding: 0.08rem 0.32rem; border: 1px solid var(--line-soft); background: #0b0204; color: #ffc1a6; font-family: var(--mono); font-size: 0.86em; }

.privacy-facts { margin: 2rem 0; border-top: 1px solid var(--line-soft); }
.privacy-facts > div { display: grid; grid-template-columns: minmax(9rem, 0.35fr) minmax(0, 1fr); gap: 1.4rem; padding: 0.85rem 0; border-bottom: 1px solid var(--line-soft); }
.privacy-facts dt,
.privacy-facts dd { margin: 0; }
.privacy-facts dt { color: #8f797a; font-family: var(--mono); font-size: 0.66rem; letter-spacing: 0.05em; text-transform: uppercase; }
.privacy-facts dd { color: #dbc5c1; font-size: 0.88rem; overflow-wrap: anywhere; }
.privacy-facts.compact { max-width: 45rem; }

.privacy-purpose-list { display: grid; gap: 1rem; margin-top: 2rem; }
.privacy-purpose-list > article { padding: clamp(1.4rem, 3vw, 2.2rem); border: 1px solid var(--line-soft); background: linear-gradient(135deg, rgba(255, 128, 31, 0.042), rgba(231, 105, 178, 0.012)); }
.privacy-purpose-list > article > span,
.privacy-sources > span { color: var(--orange); font-family: var(--mono); font-size: 0.64rem; font-weight: 720; letter-spacing: 0.09em; }
.privacy-purpose-list > article > p { margin-bottom: 1.7rem; }
.privacy-purpose-list dl { margin: 0; border-top: 1px solid var(--line-soft); }
.privacy-purpose-list dl > div { display: grid; grid-template-columns: 7rem minmax(0, 1fr); gap: 1rem; padding: 0.82rem 0; border-bottom: 1px solid var(--line-soft); }
.privacy-purpose-list dt,
.privacy-purpose-list dd { margin: 0; }
.privacy-purpose-list dt { color: #8f797a; font-family: var(--mono); font-size: 0.64rem; letter-spacing: 0.05em; text-transform: uppercase; }
.privacy-purpose-list dd { color: #cdb6b3; font-size: 0.84rem; }
.privacy-note { padding: 1.25rem 1.4rem; border-left: 2px solid var(--orange); background: rgba(255, 140, 38, 0.035); font-size: 0.86rem; }

.processor-list { margin: 2rem 0; padding: 0; list-style: none; border-top: 1px solid var(--line-strong); }
.processor-list li { display: grid; grid-template-columns: minmax(12rem, 0.42fr) minmax(0, 1fr); gap: 1.5rem; padding: 1.1rem 0; border-bottom: 1px solid var(--line-soft); }
.processor-list strong { font-size: 0.9rem; }
.processor-list span { color: #a99191; font-size: 0.86rem; }
.privacy-sources { display: grid; gap: 0.75rem; margin-top: 2.4rem; padding: 1.4rem; border: 1px solid var(--line-soft); }
.privacy-sources a { width: fit-content; font-family: var(--mono); font-size: 0.72rem; }

/* OpenBrain ERP supplier landing page */
.supplier-hero {
  position: relative;
  min-height: min(58rem, calc(100svh - var(--header-height)));
  display: flex;
  align-items: center;
  overflow: hidden;
  border-bottom: 1px solid var(--line-soft);
  background:
    radial-gradient(circle at 82% 30%, rgba(232, 105, 180, 0.105), transparent 25rem),
    radial-gradient(circle at 68% 62%, rgba(255, 130, 34, 0.11), transparent 31rem),
    linear-gradient(112deg, #000 0%, #070102 52%, #020001 100%);
}

.supplier-field { position: absolute; inset: 0; pointer-events: none; opacity: 0.52; }
.supplier-field::before,
.supplier-field::after,
.supplier-field span { content: ""; position: absolute; border-radius: 50%; }
.supplier-field::before { width: 48rem; aspect-ratio: 1; top: 50%; right: -13rem; border: 1px solid rgba(255, 151, 48, 0.14); transform: translateY(-50%); box-shadow: 0 0 0 7rem rgba(255, 118, 37, 0.015), 0 0 0 14rem rgba(233, 105, 180, 0.01); }
.supplier-field::after { width: 18rem; aspect-ratio: 1; top: 50%; right: 2rem; border: 1px dashed rgba(235, 112, 180, 0.2); transform: translateY(-50%); }
.supplier-field span:first-child { width: 0.42rem; aspect-ratio: 1; top: 19%; right: 24%; background: var(--orange); box-shadow: 0 0 18px 4px rgba(255, 145, 42, 0.48); }
.supplier-field span:nth-child(2) { width: 0.32rem; aspect-ratio: 1; right: 9%; bottom: 26%; background: var(--pink); box-shadow: 0 0 16px 3px rgba(233, 112, 181, 0.42); }
.supplier-field span:last-child { width: 1px; height: 64%; top: 18%; right: 34%; background: linear-gradient(transparent, rgba(255, 139, 46, 0.24), transparent); transform: rotate(21deg); }

.supplier-hero-grid { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(0, 0.94fr) minmax(31rem, 0.82fr); gap: clamp(3rem, 6vw, 6.5rem); align-items: center; padding-block: clamp(5rem, 9vw, 8rem); }
.supplier-intro h1 { max-width: 11ch; margin-bottom: 1.6rem; font-size: clamp(3.5rem, 6.3vw, 6.45rem); line-height: 0.9; }
.supplier-lead { max-width: 47rem; margin: 0; color: #d4bfbb; font-size: clamp(1.03rem, 1.45vw, 1.22rem); line-height: 1.78; }
.supplier-hero-note { display: flex; align-items: center; gap: 0.72rem; margin: 2.3rem 0 0; color: #b49d9b; font-family: var(--mono); font-size: 0.67rem; font-weight: 700; letter-spacing: 0.08em; }
.supplier-hero-note .live-dot { width: 0.4rem; }

.supplier-dossier { overflow: hidden; border: 1px solid transparent; border-radius: 0.35rem; background: linear-gradient(rgba(3, 0, 1, 0.96), rgba(3, 0, 1, 0.96)) padding-box, var(--ob-gradient) border-box; box-shadow: 0 34px 90px rgba(0, 0, 0, 0.58), 0 0 60px rgba(231, 101, 175, 0.07); }
.dossier-top { min-height: 3.1rem; display: flex; align-items: center; gap: 0.48rem; padding: 0 1rem; border-bottom: 1px solid var(--line-soft); }
.dossier-top > span { width: 0.45rem; aspect-ratio: 1; border: 1px solid var(--muted-deep); border-radius: 50%; }
.dossier-top > span:first-child { border-color: var(--orange); background: rgba(255, 141, 42, 0); }
.dossier-top > span:nth-child(2) { border-color: var(--coral); }
.dossier-top > span:nth-child(3) { border-color: var(--pink); }
.dossier-top b { margin-left: auto; color: #897475; font-family: var(--mono); font-size: 0.58rem; font-weight: 650; letter-spacing: 0.1em; }
.dossier-body { padding: clamp(1.45rem, 3vw, 2.3rem); }
.dossier-title { position: relative; min-height: 13.5rem; display: flex; flex-direction: column; justify-content: flex-end; overflow: hidden; padding: 1.55rem; border: 1px solid var(--line-soft); background: radial-gradient(circle at 82% 24%, rgba(233, 105, 179, 0.11), transparent 12rem), linear-gradient(145deg, rgba(255, 131, 36, 0.08), rgba(8, 1, 3, 0.72)); }
.dossier-title::after { content: "ERP"; position: absolute; right: -0.06em; bottom: -0.2em; color: rgba(235, 109, 177, 0.075); font-size: 9.5rem; font-weight: 820; line-height: 1; letter-spacing: -0.12em; }
.dossier-title > span { position: absolute; z-index: 1; top: 1.4rem; left: 1.5rem; color: var(--orange); font-family: var(--mono); font-size: 0.62rem; font-weight: 750; letter-spacing: 0.11em; }
.dossier-title strong { position: relative; z-index: 1; color: var(--white); font-size: clamp(2.7rem, 5vw, 4.6rem); font-weight: 650; line-height: 0.8; letter-spacing: -0.08em; }
.dossier-title small { position: relative; z-index: 1; width: fit-content; margin-top: 1rem; color: transparent; background: var(--ob-gradient); background-clip: text; -webkit-background-clip: text; font-family: var(--mono); font-size: 0.64rem; font-weight: 780; letter-spacing: 0.09em; }
.dossier-facts { margin: 1.4rem 0 0; border-top: 1px solid var(--line-soft); }
.dossier-facts > div { display: grid; grid-template-columns: 7rem minmax(0, 1fr); gap: 1rem; padding: 0.72rem 0; border-bottom: 1px solid var(--line-soft); }
.dossier-facts dt, .dossier-facts dd { margin: 0; }
.dossier-facts dt { color: #7f6a6c; font-family: var(--mono); font-size: 0.6rem; letter-spacing: 0.06em; text-transform: uppercase; }
.dossier-facts dd { color: #d9c3c0; font-size: 0.77rem; line-height: 1.52; }
.dossier-price { display: grid; gap: 0.45rem; margin-top: 1.4rem; padding: 1.15rem; background: var(--ob-gradient); color: #160302; }
.dossier-price > span { font-family: var(--mono); font-size: 0.57rem; font-weight: 800; letter-spacing: 0.07em; }
.dossier-price strong { font-size: clamp(1.8rem, 3.8vw, 2.7rem); font-weight: 780; line-height: 1; letter-spacing: -0.045em; }
.dossier-price strong span { margin-left: 0.25em; font-size: 0.45em; letter-spacing: 0; }

.supplier-jump { position: sticky; z-index: 40; top: var(--header-height); border-bottom: 1px solid var(--line-soft); background: rgba(3, 1, 1, 0.94); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); }
.supplier-jump .shell { min-height: 4.8rem; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); }
.supplier-jump a { display: flex; align-items: center; justify-content: center; gap: 0.75rem; border-right: 1px solid var(--line-soft); color: #a88f90; font-size: 0.73rem; transition: color 160ms ease, background 160ms ease; }
.supplier-jump a:first-child { border-left: 1px solid var(--line-soft); }
.supplier-jump a:hover, .supplier-jump a:focus-visible { color: var(--white); background: rgba(255, 128, 41, 0.04); }
.supplier-jump span { color: var(--orange); font-family: var(--mono); font-size: 0.58rem; }
.supplier-jump b { font-weight: 650; }

.supplier-product, .supplier-functions, .supplier-delivery, .supplier-commercial, .supplier-contact, .supplier-program { scroll-margin-top: calc(var(--header-height) + 5.8rem); }
.supplier-product, .supplier-contact { background: #030101; }
.supplier-functions, .supplier-commercial { border-block: 1px solid var(--line-soft); background: var(--background-elevated); }
.supplier-delivery { background: radial-gradient(circle at 10% 40%, rgba(255, 128, 38, 0.05), transparent 24rem), #030101; }
.supplier-program { padding-top: 2rem; background: #030101; }
.supplier-section-grid { display: grid; grid-template-columns: minmax(14rem, 0.3fr) minmax(0, 1fr); gap: clamp(3rem, 7vw, 7rem); }
.supplier-section-aside { align-self: start; }
.supplier-section-aside > p:not(.section-index) { max-width: 18rem; margin: 2rem 0 0; color: var(--muted); font-size: 0.9rem; }
.supplier-ghost-code { display: block; margin-top: 2.5rem; color: transparent; font-size: clamp(6rem, 12vw, 11rem); font-weight: 800; line-height: 0.85; letter-spacing: -0.14em; -webkit-text-stroke: 1px rgba(255, 139, 46, 0.58); }
.supplier-section-body > h2 { max-width: 50rem; }
.supplier-definition-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--line-strong); }
.supplier-definition-grid article { min-height: 17rem; padding: 1.65rem; border-right: 1px solid var(--line-soft); border-bottom: 1px solid var(--line-soft); background: linear-gradient(145deg, rgba(255, 128, 38, 0.025), rgba(232, 105, 180, 0.01)); }
.supplier-definition-grid article:nth-child(2n) { border-right: 0; }
.supplier-definition-grid article > span, .supplier-module-grid article > span, .commercial-notes article > span { color: var(--orange); font-family: var(--mono); font-size: 0.64rem; font-weight: 760; letter-spacing: 0.08em; }
.supplier-definition-grid h3 { margin-top: 3.7rem; }
.supplier-definition-grid p, .supplier-module-grid p, .commercial-notes p { margin: 0; color: var(--muted); font-size: 0.88rem; line-height: 1.72; }

.supplier-module-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--line-strong); border-left: 1px solid var(--line-soft); }
.supplier-module-grid article { min-height: 18rem; padding: 1.55rem; border-right: 1px solid var(--line-soft); border-bottom: 1px solid var(--line-soft); background: linear-gradient(145deg, rgba(255, 130, 36, 0.04), rgba(232, 104, 179, 0.013)); transition: background 180ms ease, transform 180ms ease; }
.supplier-module-grid article:hover { background: linear-gradient(145deg, rgba(255, 130, 36, 0.075), rgba(232, 104, 179, 0.028)); transform: translateY(-2px); }
.supplier-module-grid h3 { margin-top: 4.5rem; font-size: 1.18rem; }
.supplier-scope-note { max-width: 55rem; margin: 2rem 0 0 auto; padding: 1rem 1.2rem; border-left: 2px solid var(--orange); background: rgba(255, 137, 37, 0.035); color: #ab9493; font-size: 0.76rem; }

.supplier-timeline { margin: 3rem 0 0; padding: 0; list-style: none; border-top: 1px solid var(--line-strong); }
.supplier-timeline li { position: relative; display: grid; grid-template-columns: 5rem minmax(0, 1fr); gap: 2rem; padding: 2.2rem 0; border-bottom: 1px solid var(--line-soft); }
.supplier-timeline li > span { color: transparent; font-family: var(--mono); font-size: 1.8rem; line-height: 1; -webkit-text-stroke: 1px rgba(255, 145, 45, 0.64); }
.supplier-timeline h3 { margin: 0 0 0.65rem; }
.supplier-timeline p { max-width: 51rem; margin: 0; color: var(--muted); font-size: 0.92rem; }

.commercial-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(20rem, 0.7fr); gap: clamp(2.5rem, 5vw, 5.5rem); align-items: stretch; }
.price-card { position: relative; overflow: hidden; padding: clamp(2rem, 5vw, 4.5rem); border: 1px solid transparent; border-radius: 0.35rem; background: linear-gradient(135deg, rgba(15, 3, 6, 0.97), rgba(3, 1, 2, 0.99)) padding-box, var(--ob-gradient) border-box; box-shadow: var(--shadow); }
.price-card::after { content: "ERP"; position: absolute; right: -0.04em; bottom: -0.18em; color: rgba(234, 108, 179, 0.055); font-size: 12rem; font-weight: 820; line-height: 1; letter-spacing: -0.1em; pointer-events: none; }
.price-card > * { position: relative; z-index: 1; }
.price-summary-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.8rem; margin: clamp(2.6rem, 5vw, 4.2rem) 0 2rem; }
.price-tier { min-height: 13.5rem; display: flex; flex-direction: column; padding: 1.35rem; border: 1px solid var(--line-soft); background: rgba(0, 0, 0, 0.38); }
.price-tier-featured { border-color: rgba(255, 134, 54, 0.44); background: linear-gradient(145deg, rgba(255, 128, 38, 0.085), rgba(232, 105, 180, 0.025)); }
.price-tier > span { color: var(--orange); font-family: var(--mono); font-size: 0.61rem; font-weight: 780; letter-spacing: 0.08em; }
.price-tier strong { margin-top: auto; color: var(--white); font-size: clamp(1.85rem, 3vw, 3.05rem); font-weight: 650; line-height: 0.96; letter-spacing: -0.055em; }
.price-tier strong b { display: block; margin-top: 0.55rem; color: #ff9973; font-family: var(--mono); font-size: 0.68rem; letter-spacing: 0.03em; }
.price-tier p { margin: 0.85rem 0 0; color: #a9908f; font-size: 0.73rem; line-height: 1.55; }
.price-card > p:not(.section-index) { max-width: 48rem; margin-bottom: 2rem; color: #c3acab; font-size: 0.9rem; }
.commercial-notes { border-top: 1px solid var(--line-strong); }
.commercial-notes article { padding: 1.65rem 0; border-bottom: 1px solid var(--line-soft); }
.commercial-notes h3 { margin: 1.5rem 0 0.7rem; }

.supplier-contact-grid { display: grid; grid-template-columns: minmax(0, 0.88fr) minmax(0, 1.12fr); gap: 1rem; }
.responsible-card, .supplier-company-card, .supplier-proof-grid article { border: 1px solid var(--line-soft); background: linear-gradient(145deg, rgba(255, 128, 38, 0.044), rgba(232, 105, 178, 0.012)); }
.responsible-card { min-height: 29rem; display: flex; flex-direction: column; padding: clamp(1.6rem, 4vw, 3rem); }
.responsible-code, .supplier-proof-grid article > span, .program-panel aside > span { color: var(--orange); font-family: var(--mono); font-size: 0.62rem; font-weight: 760; letter-spacing: 0.09em; }
.responsible-card h3 { margin: auto 0 0.7rem; font-size: clamp(2.6rem, 5vw, 4.8rem); font-weight: 560; }
.responsible-card > p { margin: 0; color: var(--muted); }
.responsible-links { display: grid; margin-top: 2rem; border-top: 1px solid var(--line-soft); }
.responsible-links a { display: flex; justify-content: space-between; gap: 1rem; padding: 0.9rem 0; border-bottom: 1px solid var(--line-soft); color: #ffc1aa; overflow-wrap: anywhere; font-family: var(--mono); font-size: 0.74rem; }
.supplier-company-card { display: grid; align-content: stretch; }
.supplier-company-card > div { display: grid; grid-template-columns: minmax(8rem, 0.34fr) minmax(0, 1fr); gap: 1.5rem; align-items: center; padding: 1.25rem 1.45rem; border-bottom: 1px solid var(--line-soft); }
.supplier-company-card > div:last-child { border-bottom: 0; }
.supplier-company-card span { color: #846f71; font-family: var(--mono); font-size: 0.6rem; letter-spacing: 0.06em; text-transform: uppercase; }
.supplier-company-card strong { color: #d9c3c0; font-size: 0.84rem; font-weight: 570; line-height: 1.55; }
.supplier-proof-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin-top: 1rem; }
.supplier-proof-grid article { padding: clamp(1.5rem, 3vw, 2.4rem); }
.supplier-proof-grid h3 { margin: 2.8rem 0 0.9rem; }
.supplier-proof-grid p { margin: 0; color: var(--muted); font-size: 0.86rem; }

.program-panel { display: grid; grid-template-columns: minmax(0, 1fr) minmax(20rem, 0.62fr); gap: clamp(3rem, 7vw, 7rem); align-items: end; padding: clamp(2.4rem, 6vw, 5.5rem); border: 1px solid transparent; border-radius: 0.35rem; background: linear-gradient(125deg, rgba(16, 3, 6, 0.97), rgba(4, 1, 2, 0.99)) padding-box, var(--ob-gradient) border-box; box-shadow: var(--shadow); }
.program-panel h2 { margin-top: 1.2rem; }
.program-panel > div > p:not(.section-index) { max-width: 46rem; color: #c6afad; }
.program-panel .button { margin-top: 1.4rem; }
.program-panel aside { padding: 1.45rem; border: 1px solid var(--line-soft); background: rgba(0, 0, 0, 0.34); }
.program-panel aside > p { margin: 1rem 0 0; color: #a99191; font-size: 0.78rem; line-height: 1.72; }

/* Quote */
.quote-hero { position: relative; min-height: calc(88svh - var(--header-height)); display: flex; align-items: center; overflow: hidden; border-bottom: 1px solid var(--line-soft); background: #020001; }
.quote-field { position: absolute; inset: 0; pointer-events: none; background: radial-gradient(circle at 76% 46%, rgba(238, 103, 162, 0.12), transparent 23rem), radial-gradient(circle at 17% 72%, rgba(255, 128, 32, 0.08), transparent 24rem); }
.quote-field::before, .quote-field::after { content: ""; position: absolute; border-radius: 50%; border: 1px solid rgba(255, 136, 38, 0.12); }
.quote-field::before { width: min(62vw, 56rem); aspect-ratio: 1; right: -8rem; top: 50%; transform: translateY(-50%); box-shadow: 0 0 0 6rem rgba(255, 132, 34, 0.015), 0 0 0 12rem rgba(232, 103, 174, 0.012); }
.quote-field::after { width: min(34vw, 30rem); aspect-ratio: 1; left: -12rem; bottom: -18rem; border-color: rgba(236, 106, 174, 0.15); }
.quote-hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 0.82fr) minmax(28rem, 0.68fr); gap: clamp(3rem, 8vw, 8rem); align-items: center; padding-block: clamp(5.5rem, 10vw, 9rem); }
.quote-intro { max-width: 49rem; }
.quote-intro h1 { max-width: 50rem; margin: 2.2rem 0 1.7rem; }
.quote-intro > p:last-child { max-width: 45rem; color: #c5afad; font-size: clamp(1rem, 1.4vw, 1.18rem); line-height: 1.72; }
.quote-price-panel { border: 1px solid transparent; border-radius: 0.35rem; padding: 0.7rem; background: linear-gradient(145deg, rgba(13, 3, 5, 0.98), rgba(2, 1, 1, 0.99)) padding-box, var(--ob-gradient) border-box; box-shadow: var(--shadow); }
.quote-price-row { min-height: 12.6rem; display: flex; flex-direction: column; padding: 1.45rem; border: 1px solid var(--line-soft); background: rgba(0, 0, 0, 0.38); }
.quote-price-row + .quote-price-row { margin-top: 0.65rem; }
.quote-price-row > span { color: var(--orange); font-family: var(--mono); font-size: 0.61rem; font-weight: 800; letter-spacing: 0.09em; }
.quote-price-row strong { margin-top: auto; color: var(--white); font-size: clamp(2rem, 3.4vw, 3.4rem); font-weight: 650; line-height: 0.98; letter-spacing: -0.055em; }
.quote-price-row p { margin: 0.85rem 0 0; color: #a9908f; font-size: 0.75rem; line-height: 1.58; }
.quote-price-full { border-color: rgba(238, 111, 163, 0.35); background: linear-gradient(135deg, rgba(255, 127, 33, 0.075), rgba(234, 105, 177, 0.055)); }
.quote-price-full > span { color: #f28fc0; }
.quote-price-note { margin: 0; padding: 1.25rem 0.75rem 0.55rem; color: #9b8483; font-size: 0.72rem; line-height: 1.62; }

.quote-workspace { border-bottom: 1px solid var(--line-soft); background: #030101; }
.quote-layout { display: grid; grid-template-columns: minmax(17rem, 0.38fr) minmax(0, 1fr); gap: clamp(3rem, 7vw, 7rem); align-items: start; }
.quote-product-summary { position: sticky; top: calc(var(--header-height) + 2rem); }
.quote-product-card { margin-top: 2rem; padding: 1.65rem; border-top: 1px solid var(--line-strong); border-bottom: 1px solid var(--line-soft); background: linear-gradient(145deg, rgba(255, 126, 38, 0.052), rgba(232, 105, 175, 0.018)); }
.quote-product-card > span { color: var(--orange); font-family: var(--mono); font-size: 0.64rem; font-weight: 780; letter-spacing: 0.1em; }
.quote-product-card h2 { margin: 4.5rem 0 1rem; font-size: clamp(2.6rem, 5vw, 4.8rem); }
.quote-product-card p { margin: 0; color: var(--muted); font-size: 0.88rem; line-height: 1.72; }
.quote-form { padding: clamp(1.5rem, 4vw, 3.2rem); border: 1px solid transparent; border-radius: 0.35rem; background: linear-gradient(145deg, rgba(14, 3, 6, 0.97), rgba(3, 1, 2, 0.99)) padding-box, var(--ob-gradient) border-box; box-shadow: var(--shadow); }
.quote-form-heading { max-width: 50rem; }
.quote-form-heading h2 { margin: 1.4rem 0 1rem; }
.quote-form-heading > p:last-child { color: #b7a09f; font-size: 0.9rem; line-height: 1.7; }
.quote-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin-top: 2.5rem; }
.quote-field-control { display: grid; gap: 0.65rem; }
.quote-field-control > span, .quote-modules legend { color: #d9c2be; font-family: var(--mono); font-size: 0.68rem; font-weight: 680; letter-spacing: 0.045em; }
.quote-field-wide { grid-column: 1 / -1; }
.quote-field-control input, .quote-field-control textarea { width: 100%; min-height: 3.55rem; border: 1px solid var(--line-soft); border-radius: 0.18rem; padding: 0.85rem 0.95rem; outline: 0; background: rgba(0, 0, 0, 0.55); color: var(--white); caret-color: var(--orange); font: inherit; transition: border-color 160ms ease, box-shadow 160ms ease, background 160ms ease; }
.quote-field-control textarea { min-height: 9rem; resize: vertical; line-height: 1.6; }
.quote-field-control input:hover, .quote-field-control textarea:hover { border-color: rgba(255, 128, 48, 0.34); }
.quote-field-control input:focus, .quote-field-control textarea:focus { border-color: var(--orange); background: rgba(13, 3, 5, 0.82); box-shadow: 0 0 0 3px rgba(255, 128, 39, 0.1); }
.quote-field-control input:user-invalid, .quote-field-control textarea:user-invalid { border-color: #f07e9d; }
.quote-modules { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.65rem; margin: 2rem 0 0; padding: 1.3rem; border: 1px solid var(--line-soft); }
.quote-modules legend { padding: 0 0.55rem; color: var(--orange); }
.quote-modules label { min-height: 3rem; display: flex; align-items: center; gap: 0.75rem; padding: 0.55rem 0.7rem; border: 1px solid transparent; color: #c7b0ad; cursor: pointer; font-size: 0.8rem; transition: border-color 160ms ease, background 160ms ease, color 160ms ease; }
.quote-modules label:hover { border-color: var(--line-soft); background: rgba(255, 128, 40, 0.035); color: var(--white); }
.quote-modules input { width: 1.05rem; height: 1.05rem; margin: 0; accent-color: #ff8b2e; }
.quote-actions { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-top: 2rem; }
.quote-status { min-height: 1.5rem; margin: 0.8rem 0 0; color: #ffb278; font-family: var(--mono); font-size: 0.68rem; }
.quote-disclosure { margin: 1rem 0 0; padding-top: 1rem; border-top: 1px solid var(--line-soft); color: #8f7a7a; font-size: 0.72rem; line-height: 1.62; }
.quote-disclosure a { color: #ffc2aa; text-decoration: underline; text-underline-offset: 0.22rem; }
.quote-direct { background: radial-gradient(circle at 84% 50%, rgba(234, 104, 176, 0.07), transparent 25rem), #020001; }
.quote-direct-panel { display: grid; grid-template-columns: minmax(0, 0.78fr) minmax(28rem, 1fr); gap: clamp(3rem, 8vw, 8rem); align-items: center; padding: clamp(2rem, 5vw, 4.5rem); border: 1px solid var(--line-soft); background: rgba(8, 2, 4, 0.72); }
.quote-direct-panel h2 { margin: 1.4rem 0 1rem; }
.quote-direct-panel > div:first-child > p:last-child { color: var(--muted); }
.quote-direct-actions .email-link { display: block; padding-bottom: 1.2rem; border-bottom: 1px solid var(--line-soft); }
.quote-phone { display: inline-block; margin-top: 1rem; color: #ffc1aa; font-family: var(--mono); font-size: 0.8rem; }

/* Responsive */
@media (max-width: 1120px) {
  .brand { width: 11.8rem; }
  .desktop-nav { gap: 1.15rem; }
  .architecture-layout { grid-template-columns: minmax(0, 0.8fr) minmax(28rem, 1.2fr); gap: 3rem; }
  .contact-hero-layout { grid-template-columns: minmax(0, 0.85fr) minmax(34rem, 1.15fr); gap: 2.25rem; }
}

@media (max-width: 980px) {
  .system-rail { grid-template-columns: 1fr; gap: 1rem; }
  .rail-link { width: 1px; height: 2rem; justify-self: center; background: var(--ob-gradient); }
  .rail-link span { margin: 0 0 0 -0.2rem; }
  .system-node { min-height: 21rem; }
  .system-node p { min-height: 0; }
  .architecture-layout, .hybrid-grid, .identity-grid, .contact-company-grid, .contact-hero-layout, .quote-hero-grid, .quote-layout, .quote-direct-panel { grid-template-columns: 1fr; gap: 3.5rem; }
  .architecture-copy, .contact-intro { max-width: 52rem; }
  .hybrid-grid > div:first-child, .product-identity { position: static; }
  .contact-terminal { max-width: 54rem; }
  .privacy-layout { grid-template-columns: 1fr; }
  .privacy-aside { position: static; }
  .privacy-aside nav { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 1.5rem; }
  .privacy-contact-chip { max-width: 26rem; }
  .supplier-hero { min-height: auto; }
  .supplier-hero-grid { grid-template-columns: 1fr; }
  .supplier-intro { max-width: 52rem; }
  .supplier-dossier { width: min(100%, 42rem); }
  .supplier-section-grid, .commercial-grid, .supplier-contact-grid, .program-panel { grid-template-columns: 1fr; }
  .supplier-section-aside > p:not(.section-index) { max-width: 38rem; }
  .supplier-ghost-code { margin: 1.8rem 0 0; font-size: 7rem; }
  .supplier-module-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .quote-product-summary { position: static; }
  .quote-product-card { max-width: 48rem; }
  .quote-price-panel { width: min(100%, 42rem); }
}

@media (max-width: 900px) {
  :root { --header-height: 4.5rem; --shell: min(1240px, calc(100vw - 2rem)); }
  .desktop-nav { display: none; }
  .menu-button { display: grid; }
  .header-actions { margin-left: auto; }
  .brand { width: 10.2rem; height: 3.8rem; }

  .mobile-nav {
    position: fixed;
    z-index: 99;
    top: var(--header-height);
    right: 0;
    bottom: auto;
    left: 0;
    display: grid;
    align-content: start;
    gap: 0;
    width: 100%;
    height: calc(100vh - var(--header-height));
    height: calc(100dvh - var(--header-height));
    max-height: calc(100dvh - var(--header-height));
    padding: clamp(2.2rem, 8vh, 5rem) 1rem;
    padding-bottom: max(2rem, env(safe-area-inset-bottom));
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    background: radial-gradient(circle at 80% 18%, rgba(232, 103, 175, 0.08), transparent 24rem), radial-gradient(circle at 18% 82%, rgba(255, 129, 35, 0.07), transparent 22rem), #030101;
  }

  .mobile-nav::before { content: "OPEN BRAIN / NAVIGATION"; display: block; margin-bottom: 1.4rem; color: var(--muted-deep); font-family: var(--mono); font-size: 0.65rem; letter-spacing: 0.12em; }
  .mobile-nav a { display: flex; align-items: center; justify-content: space-between; min-height: 5.2rem; border-bottom: 1px solid var(--line-soft); color: #dbc8c4; font-size: clamp(1.7rem, 7vw, 2.35rem); font-weight: 520; letter-spacing: -0.035em; }
  .mobile-nav a.active { color: var(--white); }
  .mobile-nav a.active::before { content: ""; width: 0.42rem; height: 0.42rem; margin-right: 0.8rem; border-radius: 50%; background: var(--orange); box-shadow: 0 0 12px var(--orange); }

  .heading-split { grid-template-columns: 1fr; gap: 1.5rem; }
  .hero { min-height: max(42rem, calc(100svh - var(--header-height))); }
  .hero-vignette { background: linear-gradient(90deg, rgba(0, 0, 0, 0.93), rgba(6, 0, 2, 0.58)), linear-gradient(0deg, #020001 0%, transparent 38%, rgba(4, 0, 1, 0.25)); }
  .globe-canvas { opacity: 0.72; }
  .globe-primary { opacity: 0.84; }
  .hero-coordinate { display: none !important; }
  .page-hero { min-height: 66svh; }
  .page-hero-globe .globe-canvas { left: 0; width: 100%; }

  .chain-flow { grid-template-columns: 1fr; gap: 1rem; padding: 2rem 0; }
  .chain-flow > i { transform: rotate(90deg); justify-self: center; }
  .product-detail-grid, .roadmap-item, .mission-grid { grid-template-columns: 1fr; gap: 2.8rem; }
  .product-big-code { font-size: 6.2rem; }
  .roadmap-aside { flex-direction: row; justify-content: space-between; align-items: center; }
  .roadmap-item { padding: 4rem 0; }
  .roadmap-item-featured { padding-inline: 1.5rem; }
  .research-loop { grid-template-columns: repeat(2, minmax(0, 1fr)); }

  .capability-grid, .two-column-copy, .principle-list, .topic-grid, .leadership-grid { grid-template-columns: 1fr; }
  .principle-list article, .topic-grid article { min-height: 15rem; border-right: 0; }
  .principle-list h3, .topic-grid h3 { margin-top: 4rem; }
  .contact-hero { min-height: auto; }
  .footer-layout { grid-template-columns: 1fr; }
  .footer-layout nav { justify-content: flex-start; }
  .privacy-orbits { right: -19rem; width: 42rem; opacity: 0.72; }
  .supplier-jump { top: var(--header-height); overflow-x: auto; }
  .supplier-jump .shell { width: max-content; min-width: 100%; grid-template-columns: repeat(5, minmax(8.5rem, 1fr)); }
  .supplier-field::before { right: -24rem; opacity: 0.65; }
  .supplier-field::after { right: -8rem; }
}

@media (max-width: 640px) {
  :root { --shell: calc(100vw - 1.5rem); }
  body { font-size: 0.97rem; }
  h1 { font-size: clamp(2.85rem, 14.5vw, 4rem); }
  h2 { font-size: clamp(2.25rem, 11vw, 3.35rem); }
  .page-hero-content h1, .contact-intro h1 { font-size: clamp(2.85rem, 14vw, 4rem); }
  .section { padding: 5.2rem 0; }
  .brand { width: 9rem; height: 3.35rem; }
  .header-inner { gap: 0.45rem; }
  .header-actions { gap: 0.38rem; }
  .language-switch button { min-width: 1.9rem; padding-inline: 0.28rem; }
  .menu-button { width: 2.55rem; height: 2.55rem; }

  .hero-content { padding: 5rem 0 8rem; }
  .hero-lead, .page-hero-content > p:last-child { font-size: 1rem; line-height: 1.72; }
  .hero-actions, .contact-actions { display: grid; }
  .hero-actions .button, .contact-actions .button { width: 100%; }
  .hero-status { bottom: 1.35rem; font-size: 0.64rem; }

  .system-node { min-height: 18.5rem; padding: 1.35rem; }
  .system-node p { margin-right: 1.5rem; }
  .architecture-visual { min-height: auto; display: block; padding-top: 2rem; }
  .architecture-visual::before, .architecture-visual::after { display: none; }
  .architecture-core { width: 11.2rem; margin: 0 auto 2rem; }
  .architecture-orbit { position: static; display: grid; gap: 0.65rem; }
  .infra-node { position: static; width: 100%; }
  .architecture-visual.scroll-orbit-ready .architecture-orbit,
  .architecture-visual.scroll-orbit-ready .infra-node { transform: none; will-change: auto; }

  .project-row { grid-template-columns: 3.9rem minmax(0, 1fr); gap: 0.8rem; min-height: 0; padding: 1.45rem 0; }
  .project-state { grid-column: 2; grid-row: 2; justify-self: start; white-space: normal; }

  .closing-panel { padding: 2.2rem 1.25rem; }
  .closing-panel::after { right: -15rem; }
  .footer-brand { width: 11.5rem; height: 3.8rem; }
  .page-hero { min-height: 34rem; padding: 5rem 0; }
  .status-legend { padding: 1.1rem 0; }
  .legend-row { min-height: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 0.8rem; }
  .legend-row > span { white-space: normal; }
  .roadmap-aside { align-items: flex-start; flex-direction: column; gap: 1rem; }
  .roadmap-item-featured { margin-inline: -0.35rem; padding: 2rem 1rem; }
  .research-loop { grid-template-columns: 1fr; }
  .research-loop li { min-height: 6.5rem; }

  .capability-grid { grid-template-columns: 1fr; }
  .capability-grid > div, .capability-grid > div:nth-child(2n) { min-height: 12.5rem; border-right: 0; }
  .two-column-copy { gap: 1rem; }
  .identity-grid, .contact-company-grid { gap: 2.5rem; }
  .legal-grid > div { grid-template-columns: 1fr; gap: 0.35rem; }

  .contact-hero { padding: 4.5rem 0; }
  .contact-card-grid { grid-template-columns: 1fr; }
  .terminal-top b { max-width: 70%; text-align: right; }
  .email-link { align-items: flex-start; }
  .claims-panel { grid-template-columns: 1fr; }
  .privacy-hero { min-height: 37rem; }
  .privacy-hero-inner { padding-block: 5rem; }
  .privacy-hero-inner h1 { font-size: clamp(3.45rem, 17vw, 5rem); }
  .privacy-hero-inner > p:not(.eyebrow) { font-size: 0.98rem; }
  .privacy-version { align-items: flex-start; flex-direction: column; }
  .privacy-aside nav { grid-template-columns: 1fr; }
  .privacy-block { grid-template-columns: 1fr; gap: 1.1rem; padding: 3.4rem 0; }
  .privacy-number { font-size: 1.8rem; }
  .privacy-facts > div,
  .privacy-purpose-list dl > div,
  .processor-list li { grid-template-columns: 1fr; gap: 0.35rem; }
  .supplier-hero-grid { padding-block: 4.8rem; }
  .supplier-intro h1 { font-size: clamp(3rem, 15vw, 4.35rem); }
  .supplier-hero-note { align-items: flex-start; font-size: 0.6rem; line-height: 1.55; }
  .supplier-dossier { border-radius: 0.25rem; }
  .dossier-body { padding: 0.85rem; }
  .dossier-title { min-height: 12rem; padding: 1.15rem; }
  .dossier-title > span { top: 1rem; left: 1.05rem; }
  .dossier-title strong { font-size: 3.25rem; }
  .dossier-title::after { font-size: 7rem; }
  .dossier-facts > div { grid-template-columns: 1fr; gap: 0.25rem; }
  .dossier-price strong { font-size: 2rem; }
  .supplier-section-grid { gap: 2rem; }
  .supplier-ghost-code { display: none; }
  .supplier-definition-grid, .supplier-module-grid, .supplier-proof-grid { grid-template-columns: 1fr; }
  .supplier-definition-grid article, .supplier-definition-grid article:nth-child(2n) { min-height: 14rem; border-right: 0; }
  .supplier-module-grid article { min-height: 15rem; }
  .supplier-timeline li { grid-template-columns: 2.7rem minmax(0, 1fr); gap: 1rem; padding: 1.7rem 0; }
  .supplier-timeline li > span { font-size: 1.25rem; }
  .price-card { padding: 1.55rem; }
  .price-card::after { font-size: 8rem; }
  .price-summary-grid { grid-template-columns: 1fr; margin-top: 3rem; }
  .price-tier { min-height: 11.5rem; }
  .price-card .button { width: 100%; }
  .responsible-card { min-height: 24rem; }
  .supplier-company-card > div { grid-template-columns: 1fr; gap: 0.35rem; }
  .program-panel { padding: 1.5rem; }
  .program-panel .button { width: 100%; }
  .quote-hero { min-height: auto; }
  .quote-hero-grid { padding-block: 4.8rem; }
  .quote-intro h1 { font-size: clamp(3rem, 15vw, 4.35rem); }
  .quote-price-row { min-height: 11.5rem; padding: 1.2rem; }
  .quote-price-row strong { font-size: clamp(2rem, 9vw, 3.1rem); }
  .quote-form { padding: 1.25rem; }
  .quote-form-grid, .quote-modules { grid-template-columns: 1fr; }
  .quote-field-wide { grid-column: auto; }
  .quote-actions, .quote-direct-actions .contact-actions { display: grid; }
  .quote-actions .button, .quote-direct-actions .button { width: 100%; }
  .quote-direct-panel { padding: 1.4rem; }
}

@media (max-width: 370px) {
  .brand { width: 8.2rem; }
  .language-switch button { min-width: 1.75rem; font-size: 0.64rem; }
  .header-inner { gap: 0.3rem; }
  .mobile-nav { padding-inline: 0.75rem; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .architecture-visual.scroll-orbit-ready .architecture-orbit,
  .architecture-visual.scroll-orbit-ready .infra-node { transform: none; will-change: auto; }
  .solar-logo-canvas,
  .solar-source-image { transition: none !important; }
  *, *::before, *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

@media print {
  :root { color-scheme: light; }
  body { padding-top: 0; background: #fff; color: #111; }
  .site-header, .mobile-nav, .supplier-jump, .site-footer, .hero-actions, .closing-section, .supplier-field { display: none !important; }
  .supplier-hero, .supplier-product, .supplier-functions, .supplier-delivery, .supplier-commercial, .supplier-contact, .supplier-program { min-height: 0; padding: 2rem 0; background: #fff; color: #111; break-inside: avoid; }
  .supplier-hero-grid, .supplier-section-grid, .commercial-grid, .supplier-contact-grid, .program-panel { grid-template-columns: 1fr; gap: 1.5rem; }
  h1, h2, h3, .dossier-title strong, .responsible-card h3 { color: #111; }
  .supplier-lead, .lead-copy, .supplier-definition-grid p, .supplier-module-grid p, .commercial-notes p, .supplier-timeline p, .price-card > p:not(.section-index), .responsible-card > p, .supplier-proof-grid p, .program-panel > div > p:not(.section-index), .program-panel aside > p { color: #333; }
  .supplier-dossier, .price-card, .program-panel { box-shadow: none; background: #fff; border: 1px solid #777; }
  .dossier-title, .responsible-card, .supplier-company-card, .supplier-proof-grid article, .supplier-definition-grid article, .supplier-module-grid article { background: #fff; border-color: #bbb; }
  .dossier-facts dd, .supplier-company-card strong { color: #222; }
  .dossier-price { color: #111; background: #eee; border: 1px solid #777; }
  .price-amount > strong { color: #111; }
  a { color: #111; }
}
