/* BeingRobotic interior system. Loaded after page styles so legacy pages share
   a calm, readable surface without changing their markup or application logic. */
:root {
  --br-graphite: #17191a;
  --br-surface: #202324;
  --br-surface-raised: #292d2e;
  --br-offwhite: #f3f2ec;
  --br-muted: #b0b3b1;
  --br-amber: #efb64f;
  --br-line: rgba(243, 242, 236, 0.16);
  --br-max: 1280px;
}

html { background: var(--br-graphite); }

body {
  min-height: 100vh;
  background: var(--br-graphite);
  color: var(--br-offwhite);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 16px;
  line-height: 1.6;
}

body * { text-shadow: none; }

main, .container, .container-sm, .container-md, .container-lg, .container-xl, .container-xxl {
  max-width: var(--br-max);
}

a { color: var(--br-amber); text-underline-offset: 0.18em; }
a:hover { color: var(--br-offwhite); }

h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6,
.text-dark, .text-body, .text-black { color: var(--br-offwhite) !important; }
p, li, .text-muted, .opacity-8 { color: var(--br-muted) !important; }

:focus-visible {
  outline: 3px solid var(--br-amber) !important;
  outline-offset: 3px;
  box-shadow: none !important;
}

button, input, select, textarea { font: inherit; }

.btn, .btn-primary, .btn-outline-primary, .btn-secondary {
  border: 1px solid var(--br-amber) !important;
  border-radius: 0.28rem;
  background: var(--br-amber) !important;
  color: var(--br-graphite) !important;
  box-shadow: none !important;
  font-weight: 700;
  letter-spacing: 0.01em;
}

.btn:hover, .btn:focus, .btn-primary:hover, .btn-outline-primary:hover, .btn-secondary:hover {
  background: var(--br-offwhite) !important;
  border-color: var(--br-offwhite) !important;
  color: var(--br-graphite) !important;
  transform: none !important;
}

.btn-outline-light, .btn-outline-secondary {
  background: transparent !important;
  border-color: var(--br-line) !important;
  color: var(--br-offwhite) !important;
}

.btn-outline-light:hover, .btn-outline-secondary:hover {
  background: var(--br-surface-raised) !important;
  border-color: var(--br-amber) !important;
  color: var(--br-offwhite) !important;
}

.card, .modal-content, .dropdown-menu, .list-group-item {
  background: var(--br-surface) !important;
  border: 1px solid var(--br-line) !important;
  border-radius: 0.35rem;
  box-shadow: none !important;
  color: var(--br-offwhite);
}

.card-header, .card-footer, .modal-header, .modal-footer {
  background: var(--br-surface-raised) !important;
  border-color: var(--br-line) !important;
}

.dropdown-item, .dropdown-header, .modal-title, .close, .btn-close {
  color: var(--br-offwhite) !important;
}

.dropdown-item:hover, .dropdown-item:focus, .dropdown-item.active, .dropdown-item:active {
  background: rgba(239, 182, 79, 0.16) !important;
  color: var(--br-offwhite) !important;
}

.form-control, .form-select, .custom-select, .input-group-text, select, textarea {
  background: var(--br-surface) !important;
  border: 1px solid var(--br-line) !important;
  border-radius: 0.28rem !important;
  color: var(--br-offwhite) !important;
  box-shadow: none !important;
}

.form-control::placeholder, textarea::placeholder { color: var(--br-muted) !important; opacity: 0.8; }
.form-control:focus, .form-select:focus, .custom-select:focus, select:focus, textarea:focus {
  border-color: var(--br-amber) !important;
}
.form-control:disabled, .form-control[readonly], .form-select:disabled { background: #303435 !important; color: var(--br-muted) !important; }

label, .form-label, .form-check-label, legend { color: var(--br-offwhite) !important; }
.form-check-input { background-color: var(--br-surface); border-color: var(--br-muted); }
.form-check-input:checked { background-color: var(--br-amber); border-color: var(--br-amber); }

.table { --bs-table-bg: transparent; --bs-table-color: var(--br-offwhite); --bs-table-border-color: var(--br-line); color: var(--br-offwhite) !important; }
.table > :not(caption) > * > * { background-color: transparent !important; border-color: var(--br-line) !important; color: inherit !important; }
.table > thead { background: var(--br-surface-raised); }
.table-striped > tbody > tr:nth-of-type(odd) > * { background: rgba(255, 255, 255, 0.035) !important; }
.table-hover > tbody > tr:hover > * { background: rgba(239, 182, 79, 0.1) !important; }

.alert { border-radius: 0.3rem; box-shadow: none; }

/* Product and landing-v2 pages: remove WebGL, colour gradients, and reveal
   dependencies while retaining their existing information architecture. */
body.landing-v2 {
  background: var(--br-graphite) !important;
  color: var(--br-offwhite);
}

.landing-v2 .lv2-hero-canvas { display: none !important; }
.landing-v2 .lv2-reveal { opacity: 1 !important; transform: none !important; visibility: visible !important; }
.landing-v2 .lv2-grad-text, .landing-v2 .lv2-stat-num, .landing-v2 .lv2-product-price,
.landing-v2 .lv2-cap-index, .landing-v2 .lv2-steps li::before {
  background: none !important;
  -webkit-text-fill-color: currentColor !important;
  color: var(--br-amber) !important;
}

.landing-v2 .lv2-hero, .landing-v2 .lv2-page-hero {
  min-height: min(74svh, 50rem);
  background: var(--br-graphite) !important;
  border-bottom: 1px solid var(--br-line);
}

.landing-v2 .lv2-hero-inner, .landing-v2 .lv2-page-hero .lv2-hero-inner,
.landing-v2 .lv2-caps, .landing-v2 .lv2-downloads-inner, .landing-v2 .lv2-flow {
  max-width: var(--br-max);
  margin-left: auto;
  margin-right: auto;
}

.landing-v2 .lv2-hero-inner { padding-left: 1.5rem; padding-right: 1.5rem; }
.landing-v2 .lv2-display, .landing-v2 .lv2-h2 { color: var(--br-offwhite) !important; font-weight: 700; letter-spacing: -0.025em; }
.landing-v2 .lv2-eyebrow { color: var(--br-amber); }
.landing-v2 .lv2-sub, .landing-v2 .lv2-cap p, .landing-v2 .lv2-stat p { color: var(--br-muted) !important; }

.landing-v2 .lv2-btn, .landing-v2 .lv2-chip {
  border-radius: 0.28rem;
  background: transparent;
  border-color: var(--br-line);
  color: var(--br-offwhite);
  box-shadow: none;
  transition: border-color 140ms ease, background-color 140ms ease;
}

.landing-v2 .lv2-btn-primary {
  background: var(--br-amber) !important;
  border-color: var(--br-amber) !important;
  color: var(--br-graphite) !important;
}

.landing-v2 .lv2-btn:hover, .landing-v2 .lv2-chip:hover {
  transform: none;
  border-color: var(--br-amber);
  background: var(--br-surface-raised);
  color: var(--br-offwhite);
  box-shadow: none;
}

.landing-v2 .lv2-btn-primary:hover { background: var(--br-offwhite) !important; color: var(--br-graphite) !important; }
.landing-v2 .lv2-stats, .landing-v2 .lv2-downloads { background: var(--br-surface) !important; border-color: var(--br-line); }
.landing-v2 .lv2-caps { padding-left: 1.5rem; padding-right: 1.5rem; }
.landing-v2 .lv2-buybar { background: var(--br-surface) !important; border-color: var(--br-line); box-shadow: none; }
.landing-v2 .lv2-buybar-name, .landing-v2 .lv2-stat h5, .landing-v2 .lv2-downloads h2 { color: var(--br-offwhite) !important; }
.landing-v2 .lv2-buybar .dropdown-menu { background: var(--br-surface) !important; }

.landing-v2 .lv2-flow { max-width: var(--br-max); padding-left: 1.5rem; padding-right: 1.5rem; }
.landing-v2 .lv2-split { gap: clamp(2rem, 5vw, 5rem); border-color: var(--br-line); }
.landing-v2 .lv2-split-copy p, .landing-v2 .lv2-split-copy li, .landing-v2 .lv2-split-copy div,
.landing-v2 .lv2-steps li { color: var(--br-muted) !important; }
.landing-v2 .lv2-split-copy h2, .landing-v2 .lv2-split-copy h3, .landing-v2 .lv2-split-copy strong,
.landing-v2 .lv2-featlist li { color: var(--br-offwhite) !important; }
.landing-v2 .lv2-featlist li::before { background: none; -webkit-text-fill-color: var(--br-amber); }

.landing-v2 .lv2-media, .landing-v2 .lv2-viewer, .landing-v2 .lv2-product {
  border-color: var(--br-line);
  border-radius: 0.35rem;
  background: var(--br-surface) !important;
  box-shadow: none;
}
.landing-v2 .lv2-viewer { background: var(--br-surface) !important; }
.landing-v2 .lv2-product:hover { transform: none; border-color: var(--br-amber); }
.landing-v2 .lv2-product-body h3, .landing-v2 .lv2-product-body p { color: var(--br-offwhite); }
.landing-v2 .lv2-product-more { color: var(--br-amber); }

@media (max-width: 767.98px) {
  .landing-v2 .lv2-hero, .landing-v2 .lv2-page-hero { min-height: 34rem; }
  .landing-v2 .lv2-hero-inner, .landing-v2 .lv2-flow, .landing-v2 .lv2-caps { padding-left: 1rem; padding-right: 1rem; }
  .landing-v2 .lv2-buybar { padding-left: 1rem; padding-right: 1rem; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: 0.01ms !important; }
}
/* Legacy Bootstrap menus must not enlarge the viewport while closed. */
.dropdown-menu:not(.show){display:none!important}
.dropdown-menu-end{right:0;left:auto;max-width:calc(100vw - 32px)}
.dropdown-item{white-space:normal}
.landing-v2{--lv2-cyan:var(--br-amber);--lv2-magenta:var(--br-amber);--lv2-bg:var(--br-graphite);--lv2-bg-soft:var(--br-surface);--lv2-ink:var(--br-offwhite);--lv2-ink-dim:var(--br-muted);--lv2-line:var(--br-line)}
.landing-v2 .lv2-page-hero{min-height:0;align-items:center}
.landing-v2 .lv2-page-hero .lv2-hero-inner{padding:80px 24px}
.landing-v2 .lv2-cta{background:var(--br-surface)!important;border-top:1px solid var(--br-line)}
.landing-v2 .lv2-display{font-weight:500;letter-spacing:-.045em}
.landing-v2 .lv2-buybar{z-index:20}
@media(max-width:767.98px){.landing-v2 .lv2-page-hero .lv2-hero-inner{padding:55px 20px}.landing-v2 .lv2-display{overflow-wrap:anywhere}.landing-v2 .lv2-split{margin-bottom:55px}}
