/* Site-wide black, white, and neutral-gray palette override. */
:root {
  --bg-dark: #050505;
  --cyan: #a3a3a3;
  --purple: #a3a3a3;
  --pink: #a3a3a3;
  --primary: #a3a3a3;
  --secondary: #a3a3a3;
  --accent: #a3a3a3;
  --research-bg: #050505;
  --research-surface: #0a0a0a;
  --research-text: #ffffff;
  --research-muted: #a3a3a3;
  --research-line: #262626;
  --research-cyan: #a3a3a3;
  --research-pink: #a3a3a3;
  --research-violet: #a3a3a3;
  --content-max: 1650px;
  --page-gutter: clamp(24px, 6.6vw, 127px);
  color-scheme: dark;
}

html, body {
  background-color: #050505 !important;
  background-image: none !important;
}

[class*="bg-gradient-"] { background-image: none !important; }

#particles-js, #particles, .css-particle { display: none !important; }

:is([class*="text-cyan-"], [class*="text-blue-"], [class*="text-red-"], [class*="text-purple-"], [class*="text-pink-"], [class*="text-violet-"], [class*="text-indigo-"], [class*="text-green-"], [class*="text-orange-"], [class*="text-yellow-"], [class*="text-emerald-"], [class*="text-sky-"], [class*="text-teal-"], [class*="text-fuchsia-"], [class*="text-lime-"], [class*="text-rose-"], [class*="text-amber-"]) {
  color: #a3a3a3 !important;
}

:is([class*="border-cyan-"], [class*="border-blue-"], [class*="border-red-"], [class*="border-purple-"], [class*="border-pink-"], [class*="border-violet-"], [class*="border-indigo-"], [class*="border-green-"], [class*="border-orange-"], [class*="border-yellow-"], [class*="border-emerald-"], [class*="border-sky-"], [class*="border-teal-"], [class*="border-fuchsia-"], [class*="border-lime-"], [class*="border-rose-"], [class*="border-amber-"]) {
  border-color: #333333 !important;
}

:is([class*="bg-cyan-"], [class*="bg-blue-"], [class*="bg-red-"], [class*="bg-purple-"], [class*="bg-pink-"], [class*="bg-violet-"], [class*="bg-indigo-"], [class*="bg-green-"], [class*="bg-orange-"], [class*="bg-yellow-"], [class*="bg-emerald-"], [class*="bg-sky-"], [class*="bg-teal-"], [class*="bg-fuchsia-"], [class*="bg-lime-"], [class*="bg-rose-"], [class*="bg-amber-"]) {
  background-color: #1a1a1a !important;
  background-image: none !important;
}

:is([class*="from-cyan-"], [class*="from-blue-"], [class*="from-red-"], [class*="from-purple-"], [class*="from-pink-"], [class*="from-violet-"], [class*="from-indigo-"], [class*="from-green-"], [class*="from-orange-"], [class*="from-yellow-"], [class*="from-emerald-"], [class*="from-sky-"], [class*="from-teal-"], [class*="from-fuchsia-"], [class*="from-lime-"], [class*="from-rose-"], [class*="from-amber-"], [class*="via-cyan-"], [class*="via-blue-"], [class*="via-red-"], [class*="via-purple-"], [class*="via-pink-"], [class*="via-violet-"], [class*="via-indigo-"], [class*="via-green-"], [class*="via-orange-"], [class*="via-yellow-"], [class*="via-emerald-"], [class*="via-sky-"], [class*="via-teal-"], [class*="via-fuchsia-"], [class*="via-lime-"], [class*="via-rose-"], [class*="via-amber-"], [class*="to-cyan-"], [class*="to-blue-"], [class*="to-red-"], [class*="to-purple-"], [class*="to-pink-"], [class*="to-violet-"], [class*="to-indigo-"], [class*="to-green-"], [class*="to-orange-"], [class*="to-yellow-"], [class*="to-emerald-"], [class*="to-sky-"], [class*="to-teal-"], [class*="to-fuchsia-"], [class*="to-lime-"], [class*="to-rose-"], [class*="to-amber-"]) {
  --tw-gradient-from: #1a1a1a !important;
  --tw-gradient-via: #1a1a1a !important;
  --tw-gradient-to: #1a1a1a !important;
  --tw-gradient-stops: #1a1a1a !important;
}

:is([class*="shadow-cyan-"], [class*="shadow-blue-"], [class*="shadow-red-"], [class*="shadow-purple-"], [class*="shadow-pink-"], [class*="shadow-violet-"], [class*="shadow-fuchsia-"], [class*="shadow-lime-"], [class*="shadow-rose-"], [class*="shadow-amber-"]) {
  --tw-shadow-color: transparent !important;
  box-shadow: none !important;
}

.container {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: calc(var(--content-max) + 2 * var(--page-gutter)) !important;
  margin-inline: auto !important;
  padding-inline: var(--page-gutter) !important;
}

.container.footer-divider {
  position: relative;
  border-top: 0 !important;
}

.container.footer-divider::before {
  position: absolute;
  top: 0;
  right: var(--page-gutter);
  left: var(--page-gutter);
  border-top: 1px solid rgba(255, 255, 255, .1);
  content: "";
}

form[role="search"], .search-field, .filter-details, .filter-grid,
.search-field input, .filter-field input, .filter-field select {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
}

hr {
  box-sizing: border-box;
  width: 100%;
  margin: 32px 0;
  border: 0;
  border-top: 1px solid #262626;
}

[class*="text-slate-"] { color: #a3a3a3 !important; }
[class*="text-slate-950"] { color: #000000 !important; }
[class*="bg-slate-"] { background-color: #171717 !important; }
[class*="border-slate-"] { border-color: #333333 !important; }
[class*="text-gray-100"] { color: #f5f5f5 !important; }
[class*="text-gray-200"] { color: #e5e5e5 !important; }
[class*="text-gray-300"] { color: #d4d4d4 !important; }
[class*="text-gray-400"] { color: #a3a3a3 !important; }
[class*="text-gray-500"] { color: #737373 !important; }
[class*="text-gray-600"] { color: #525252 !important; }
[class*="text-gray-700"] { color: #404040 !important; }
[class*="text-gray-800"] { color: #262626 !important; }
[class*="text-gray-900"] { color: #171717 !important; }
[class*="text-gray-950"] { color: #0a0a0a !important; }
[class*="bg-gray-"] { background-color: #171717 !important; }
.home-cta { background-color: #ffffff !important; color: #000000 !important; }
.home-cta:hover { background-color: #d4d4d4 !important; color: #000000 !important; }
a[class*="bg-white"][class*="text-black"],
a[class*="bg-cyan-"][class*="text-slate-950"] {
  border-color: #ffffff !important;
  background-color: #ffffff !important;
  color: #000000 !important;
}
a[class*="bg-white"][class*="text-black"]:hover,
a[class*="bg-cyan-"][class*="text-slate-950"]:hover {
  border-color: #d4d4d4 !important;
  background-color: #d4d4d4 !important;
  color: #000000 !important;
}
[class*="border-gray-"] { border-color: #333333 !important; }
header a[href*="luminousai.vercel.app"], #mobileMenu a[href*="luminousai.vercel.app"] {
  border-color: #ffffff !important;
  background-color: #ffffff !important;
  color: #000000 !important;
  box-shadow: none !important;
}
header a[href*="luminousai.vercel.app"]:hover, #mobileMenu a[href*="luminousai.vercel.app"]:hover {
  border-color: #d4d4d4 !important;
  background-color: #d4d4d4 !important;
  color: #000000 !important;
}
::selection { color: #000000; background: #ffffff; }

.gradient-text {
  background: none !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}
.outer-cont {
  background: #ffffff !important;
  color: #000000 !important;
  box-shadow: none !important;
  transition: background-color .18s ease, color .18s ease !important;
}
.outer-cont:hover { background: #d4d4d4 !important; }
.outer-cont::before { display: none !important; }
.outer-cont:active { box-shadow: none !important; }
#particles-js, #particles, .css-particle { display: none !important; }
.animate-float { filter: none !important; }

:focus-visible, a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, summary:focus-visible {
  outline: 2px solid #ffffff !important;
  outline-offset: 4px !important;
  box-shadow: none !important;
}

/* Research stays editorial: plain rules and rows instead of colored cards. */
.featured-card {
  border-color: #333333 !important;
  background: #0a0a0a !important;
  box-shadow: none !important;
}
.featured-card::before { display: none !important; }
.featured-meta, .publication-meta, .publication-date, .section-kicker, .eyebrow,
.accent-label, .featured-product, .product-label, .article-label { color: #a3a3a3 !important; }
.area-item, .area-item:nth-child(n) { border-color: #333333 !important; }
.publication-grid { display: block !important; border-top: 1px solid #262626 !important; }
.publication-card, .publication-card:nth-child(2n) {
  display: grid !important;
  grid-template-columns: minmax(140px, .34fr) minmax(0, 1fr) !important;
  column-gap: 24px !important;
  border: 0 !important;
  border-bottom: 1px solid #262626 !important;
  padding: 24px 0 !important;
}
.publication-card .publication-meta,
.publication-card .publication-date,
.publication-card .product-label { grid-column: 1 !important; }
.publication-card .publication-title,
.publication-card .publication-summary,
.publication-card .tag-list,
.publication-card .text-link { grid-column: 2 !important; }
.publication-card .publication-title { grid-row: 1 / span 2 !important; align-self: end; }
.publication-card .publication-summary { margin-top: 4px !important; }
.publication-card .tag-list { margin: 8px 0 !important; }
.tag-list { gap: 0 12px !important; }
.tag { border: 0 !important; padding: 2px 0 !important; color: #737373 !important; }
.text-link, .back-link { color: #ffffff !important; text-decoration-color: #737373 !important; }
.text-link:hover, .back-link:hover { color: #a3a3a3 !important; }
.filter-field input, .filter-field select, .article-tools button {
  border-color: #333333 !important;
  border-radius: 0 !important;
  background-color: #0a0a0a !important;
  color: #ffffff !important;
  box-shadow: none !important;
}
.checkbox-field input { accent-color: #a3a3a3 !important; }
.principle-list li { border-color: #262626 !important; }
.article-toc h2 { color: #a3a3a3 !important; }
.article-toc a:hover { color: #ffffff !important; }
.article-section, .related-research, .references { border-color: #262626 !important; }

@media (max-width: 700px) {
  .publication-card, .publication-card:nth-child(2n) { display: block !important; }
  .publication-card .publication-meta,
  .publication-card .publication-date,
  .publication-card .product-label,
  .publication-card .publication-title,
  .publication-card .publication-summary,
  .publication-card .tag-list,
  .publication-card .text-link { grid-column: auto !important; }
  .publication-card .publication-title { margin-top: 12px !important; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

.orecube-footer {
  border-top: 1px solid rgba(255, 255, 255, .12);
  background: #050505;
  color: #a3a3a3;
  padding: 52px 0 24px;
}

.orecube-footer__intro {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 32px;
  border-bottom: 1px solid #262626;
  padding-bottom: 36px;
}

.orecube-footer__brand { max-width: 640px; }
.orecube-footer__wordmark { display: inline-flex; align-items: center; gap: 12px; color: #fff; text-decoration: none; }
.orecube-footer__wordmark img { width: 32px; height: 32px; border-radius: 50%; object-fit: cover; }
.orecube-footer__wordmark span { font-size: 21px; font-weight: 600; }
.orecube-footer__brand p { max-width: 58ch; margin: 18px 0 0; color: #a3a3a3; font-size: 15px; line-height: 1.7; }
.orecube-footer__action { display: inline-flex; align-items: center; gap: 8px; margin-top: 16px; color: #fff; font-size: 14px; font-weight: 500; text-decoration: none; }
.orecube-footer__action svg { width: 16px; height: 16px; transition: transform .18s ease; }
.orecube-footer__action:hover svg { transform: translateX(3px); }

.orecube-footer__navigation {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 32px;
  padding: 36px 0 40px;
}

.orecube-footer__group h2,
.orecube-footer__social h2,
.orecube-footer__policies h2 {
  margin: 0 0 16px;
  color: #f5f5f5;
  font-size: 14px;
  font-weight: 600;
}

.orecube-footer__group ul,
.orecube-footer__policies ul {
  display: grid;
  gap: 11px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.orecube-footer__group a,
.orecube-footer__policies a,
.orecube-footer__legal a {
  color: #a3a3a3;
  font-size: 14px;
  line-height: 1.5;
  text-decoration: none;
  text-underline-offset: 4px;
  transition: color .16s ease, text-decoration-color .16s ease;
}

.orecube-footer__group a:hover,
.orecube-footer__policies a:hover,
.orecube-footer__legal a:hover { color: #fff; text-decoration: underline; }

.orecube-footer__utility {
  display: flex;
  justify-content: space-between;
  gap: 48px;
  border-top: 1px solid #262626;
  padding: 28px 0 30px;
}

.orecube-footer__social-links { display: flex; flex-wrap: wrap; gap: 8px; }
.orecube-footer__social-links a {
  display: inline-flex;
  width: 44px;
  height: 44px;
  align-items: center;
  justify-content: center;
  border-radius: 2px;
  color: #a3a3a3;
  transition: color .16s ease, background-color .16s ease;
}
.orecube-footer__social-links a:hover { background: #171717; color: #fff; }
.orecube-footer__social-links svg { width: 20px; height: 20px; fill: currentColor; }
.orecube-footer__social-links .orecube-footer__sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  clip-path: inset(50%);
}

.orecube-footer__legal {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  border-top: 1px solid #262626;
  padding-top: 20px;
}
.orecube-footer__legal p { margin: 0; color: #a3a3a3; font-size: 13px; }
.orecube-footer__legal nav { display: flex; flex-wrap: wrap; gap: 20px; }
.orecube-footer__legal a { font-size: 13px; }
.orecube-footer a:focus-visible { outline: 2px solid #fff; outline-offset: 4px; }

@media (max-width: 900px) {
  .orecube-footer__navigation { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 32px; }
  .orecube-footer__utility { flex-direction: column; gap: 28px; }
}

@media (max-width: 560px) {
  .orecube-footer { padding-top: 40px; }
  .orecube-footer__intro { align-items: flex-start; flex-direction: column; gap: 20px; padding-bottom: 28px; }
  .orecube-footer__navigation { gap: 28px 20px; padding: 30px 0; }
  .orecube-footer__legal { align-items: flex-start; flex-direction: column; gap: 14px; }
  .orecube-footer__legal nav { gap: 10px 18px; }
}

.orecube-policy-page { min-height: 100vh; color: #f5f5f5; font-family: "Space Grotesk", sans-serif; }
.orecube-policy-page__header { padding-top: 28px; }
.orecube-policy-page__wordmark { display: inline-flex; align-items: center; gap: 10px; color: #fff; font-size: 18px; font-weight: 600; text-decoration: none; }
.orecube-policy-page__wordmark img { width: 30px; height: 30px; border-radius: 50%; object-fit: cover; }
.orecube-policy-page__main { max-width: calc(820px + 2 * var(--page-gutter)) !important; padding-top: 120px; padding-bottom: 100px; }
.orecube-policy-page__eyebrow { margin: 0 0 14px; color: #a3a3a3; font-size: 13px; }
.orecube-policy-page__main h1 { margin: 0; color: #fff; font-size: 48px; font-weight: 500; line-height: 1.15; }
.orecube-policy-page__notice { margin-top: 38px; border-top: 1px solid #333; border-bottom: 1px solid #333; padding: 24px 0; }
.orecube-policy-page__notice h2 { margin: 0; color: #f5f5f5; font-size: 17px; font-weight: 500; }
.orecube-policy-page__notice p { max-width: 68ch; margin: 12px 0 0; color: #b3b3b3; font-size: 15px; line-height: 1.7; }
.orecube-policy-page__back { display: inline-block; margin-top: 28px; color: #fff; font-size: 14px; text-underline-offset: 4px; }
.orecube-policy-page__footer { display: flex; flex-wrap: wrap; gap: 12px 24px; border-top: 1px solid #262626; padding-top: 20px; padding-bottom: 24px; color: #a3a3a3; font-size: 13px; }
.orecube-policy-page__footer a { color: #a3a3a3; text-underline-offset: 4px; }
.orecube-policy-page__footer a:hover { color: #fff; }
.orecube-policy-page a:focus-visible { outline: 2px solid #fff; outline-offset: 4px; }

@media (max-width: 560px) {
  .orecube-policy-page__main { padding-top: 88px; padding-bottom: 72px; }
  .orecube-policy-page__main h1 { font-size: 38px; }
}
