/* Nexora V2 — visual remaster layer */

html,
body {
  max-width: 100%;
  overflow-x: hidden;
}

@supports (overflow: clip) {
  html,
  body {
    overflow-x: clip;
  }
}

.nexora-v2 {
  --bg: #020605;
  --panel: #08100c;
  --panel-2: #0c1711;
  --line: rgba(212, 255, 232, .105);
  --line-strong: rgba(91, 255, 177, .24);
  --text: #f6fff9;
  --muted: #93a59a;
  --green: #28ffab;
  --green-2: #00d884;
  --cyan: #58e9ff;
  --purple: #b48cff;
  --coral: #ff786d;
  --amber: #ffd36d;
  background:
    radial-gradient(circle at 50% -10%, rgba(40, 255, 171, .16), transparent 34%),
    radial-gradient(circle at 12% 18%, rgba(88, 233, 255, .08), transparent 32%),
    radial-gradient(circle at 85% 28%, rgba(180, 140, 255, .08), transparent 30%),
    linear-gradient(180deg, #020605 0%, #04100b 42%, #020605 100%);
}

.nexora-v2::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    linear-gradient(115deg, transparent 0 31%, rgba(40, 255, 171, .055) 31.2% 31.55%, transparent 31.8% 100%),
    radial-gradient(circle at 50% 0%, rgba(40, 255, 171, .08), transparent 44%);
  opacity: .82;
}

.nexora-v2 main,
.nexora-v2 .site-footer {
  overflow-x: clip;
}

.nexora-v2 .noise {
  opacity: .052;
  mix-blend-mode: screen;
}

.nexora-v2 .starfield {
  opacity: .88;
  filter: saturate(1.15);
}

.nexora-v2 .section-shell {
  width: min(1200px, calc(100% - 48px));
}

.nexora-v2 .site-header {
  top: 18px;
  height: 72px;
  padding: 0 16px 0 20px;
  border: 1px solid rgba(212, 255, 232, .11);
  border-radius: 24px;
  background:
    linear-gradient(135deg, rgba(9, 22, 16, .88), rgba(4, 9, 7, .72)),
    rgba(3, 8, 6, .82);
  box-shadow:
    0 18px 70px rgba(0, 0, 0, .46),
    inset 0 1px 0 rgba(255, 255, 255, .06);
}

.nexora-v2 .site-header::before {
  content: "";
  position: absolute;
  inset: -1px;
  z-index: -1;
  border-radius: inherit;
  background: linear-gradient(115deg, rgba(40, 255, 171, .36), transparent 32%, rgba(88, 233, 255, .18), transparent 70%);
  opacity: .42;
  filter: blur(10px);
}

.nexora-v2 .brand {
  letter-spacing: .12em;
}

.nexora-v2 .brand-mark {
  width: 35px;
  height: 35px;
  filter: drop-shadow(0 0 18px rgba(40, 255, 171, .36));
}

.nexora-v2 .desktop-nav a,
.nexora-v2 .login-link {
  color: rgba(229, 246, 237, .68);
}

.nexora-v2 .desktop-nav a:hover,
.nexora-v2 .login-link:hover,
.departments-page.nexora-v2 .nav-active {
  color: var(--green);
}

.nexora-v2 .button {
  border-radius: 999px;
}

.nexora-v2 .button-small {
  min-height: 42px;
  color: #00140b;
  background: linear-gradient(135deg, #eafff5, var(--green) 62%, #66ffe5);
  box-shadow: 0 0 28px rgba(40, 255, 171, .18);
}

.nexora-v2 .button-primary {
  position: relative;
  overflow: hidden;
  min-width: 218px;
  color: #00140b;
  background: linear-gradient(135deg, #f1fff7 0%, var(--green) 48%, #55e8ff 100%);
  box-shadow: 0 18px 55px rgba(40, 255, 171, .22), 0 0 0 1px rgba(255, 255, 255, .18) inset;
}

.nexora-v2 .button-primary::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(110deg, transparent 0 34%, rgba(255,255,255,.55), transparent 66% 100%);
  transform: translateX(-140%);
  transition: transform .7s ease;
}

.nexora-v2 .button-primary:hover::after {
  transform: translateX(140%);
}

.nexora-v2 .button-ghost,
.nexora-v2 .button-dark {
  border-color: rgba(212, 255, 232, .13);
  background: linear-gradient(135deg, rgba(255,255,255,.06), rgba(255,255,255,.018));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.045);
}

.nexora-v2 .button-ghost:hover,
.nexora-v2 .button-dark:hover {
  border-color: rgba(40, 255, 171, .36);
  background: rgba(40, 255, 171, .055);
}

.nexora-v2 .hero {
  min-height: 880px;
  padding-top: 205px;
}

.nexora-v2 .hero::before {
  width: min(1120px, 100vw);
  background-image:
    linear-gradient(rgba(40,255,171,.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(88,233,255,.04) 1px, transparent 1px);
  background-size: 54px 54px;
  mask-image: radial-gradient(ellipse 58% 48% at 50% 36%, black 10%, transparent 76%);
}

.nexora-v2 .hero::after {
  width: min(620px, 72vw);
  height: min(620px, 72vw);
  border-color: rgba(40, 255, 171, .08);
  background:
    radial-gradient(circle, rgba(40,255,171,.13), transparent 56%),
    conic-gradient(from 180deg, transparent, rgba(40,255,171,.12), transparent, rgba(88,233,255,.11), transparent);
  animation: v2Spin 18s linear infinite;
}

.nexora-v2 .hero-glow {
  width: min(960px, calc(100vw + 120px));
  background:
    radial-gradient(circle at 50% 42%, rgba(40, 255, 171, .28), transparent 58%),
    radial-gradient(circle at 24% 50%, rgba(88, 233, 255, .15), transparent 52%);
}

.nexora-v2 .v2-badge {
  width: max-content;
  max-width: 100%;
  margin: 0 auto 16px;
  padding: 8px 10px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 1px solid rgba(40,255,171,.18);
  border-radius: 999px;
  color: rgba(235, 255, 245, .82);
  background: linear-gradient(135deg, rgba(40,255,171,.12), rgba(88,233,255,.055));
  box-shadow: 0 0 35px rgba(40, 255, 171, .08), inset 0 1px 0 rgba(255,255,255,.06);
  backdrop-filter: blur(18px);
}

.nexora-v2 .v2-badge span {
  padding: 5px 8px;
  border-radius: 999px;
  color: #00140b;
  background: var(--green);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .16em;
}

.nexora-v2 .v2-badge em {
  padding-right: 4px;
  color: rgba(232, 248, 239, .7);
  font-size: 10px;
  font-style: normal;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.nexora-v2 .eyebrow {
  border-color: rgba(40,255,171,.24);
  background: rgba(3, 17, 11, .72);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.055);
  backdrop-filter: blur(16px);
}

.nexora-v2 .hero h1,
.departments-page.nexora-v2 .department-hero h1 {
  max-width: 1080px;
  text-wrap: balance;
  text-shadow: 0 0 60px rgba(40, 255, 171, .08);
}

.nexora-v2 .hero h1 span,
.departments-page.nexora-v2 .department-hero h1 span {
  background: linear-gradient(105deg, #ffffff 0%, #7bffc7 42%, #55e8ff 64%, #eafff5 100%);
  -webkit-background-clip: text;
  background-clip: text;
}

.nexora-v2 .hero-copy,
.departments-page.nexora-v2 .department-hero-copy > p {
  color: #a7b9ae;
  text-wrap: balance;
}

.nexora-v2 .hero-v2-panel {
  max-width: 900px;
  margin: 38px auto 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}

.nexora-v2 .hero-v2-panel article {
  position: relative;
  overflow: hidden;
  min-height: 122px;
  padding: 18px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  border: 1px solid rgba(212, 255, 232, .11);
  border-radius: 18px;
  background:
    radial-gradient(circle at 100% 0%, rgba(40,255,171,.12), transparent 52%),
    linear-gradient(145deg, rgba(13,24,18,.82), rgba(5,10,8,.62));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.045);
  text-align: left;
  backdrop-filter: blur(18px);
}

.nexora-v2 .hero-v2-panel article::after {
  content: "";
  position: absolute;
  inset: auto 16px 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(40,255,171,.55), transparent);
}

.nexora-v2 .hero-v2-panel span {
  color: rgba(40,255,171,.72);
  font: 800 9px ui-monospace, SFMono-Regular, Consolas, monospace;
}

.nexora-v2 .hero-v2-panel b {
  margin-top: 14px;
  color: #effff6;
  font-size: 14px;
}

.nexora-v2 .hero-v2-panel small {
  margin-top: 8px;
  color: rgba(208, 229, 218, .58);
  font-size: 10px;
  line-height: 1.55;
}

.nexora-v2 .showcase {
  max-width: 100vw;
  overflow: hidden;
  contain: paint;
}

.nexora-v2 .product-card,
.nexora-v2 .bento-card,
.nexora-v2 .story-card,
.nexora-v2 .cta-card,
.departments-page.nexora-v2 .dept-feature-card {
  border-color: rgba(212, 255, 232, .105);
  background:
    radial-gradient(circle at 50% -20%, rgba(40,255,171,.13), transparent 45%),
    linear-gradient(145deg, rgba(12,23,17,.96), rgba(4,8,6,.98));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.055), 0 26px 80px rgba(0,0,0,.28);
}

.nexora-v2 .product-card {
  transition: transform .28s ease, border-color .28s ease, box-shadow .28s ease;
}

.nexora-v2 .product-card:hover {
  transform: translateY(-8px);
  border-color: rgba(40, 255, 171, .24);
  box-shadow: 0 28px 90px rgba(0,0,0,.42), 0 0 40px rgba(40,255,171,.07);
}

.nexora-v2 .mock-window,
.nexora-v2 .dashboard-panel,
.nexora-v2 .app-shell,
.departments-page.nexora-v2 .dept-app-frame,
.departments-page.nexora-v2 .experience-stage {
  border-color: rgba(212,255,232,.13);
  background:
    radial-gradient(circle at 100% 0%, rgba(40,255,171,.06), transparent 38%),
    #07100c;
  box-shadow: 0 44px 110px rgba(0,0,0,.5), inset 0 1px 0 rgba(255,255,255,.045);
}

.nexora-v2 .mock-topbar {
  background: rgba(255,255,255,.035);
  border-bottom-color: rgba(212,255,232,.065);
}

.nexora-v2 .section-heading h2,
.nexora-v2 .control-copy h2,
.nexora-v2 .cta-card h2,
.departments-page.nexora-v2 .experience-heading h2,
.departments-page.nexora-v2 .workflow-heading h2,
.departments-page.nexora-v2 .integration-inner h2 {
  text-wrap: balance;
}

.nexora-v2 .cta-card {
  background:
    radial-gradient(circle at 22% 110%, rgba(40,255,171,.24), transparent 34%),
    radial-gradient(circle at 82% 0%, rgba(88,233,255,.15), transparent 32%),
    linear-gradient(145deg, #06140d, #020605);
}

.nexora-v2 .site-footer {
  border-top: 1px solid rgba(212,255,232,.06);
}

.departments-page.nexora-v2 {
  --dept-blue: var(--cyan);
}

.departments-page.nexora-v2 .department-hero {
  overflow: hidden;
}

.departments-page.nexora-v2 .department-hero::before {
  width: min(1020px, 100vw);
  background:
    radial-gradient(circle at 50% 48%, rgba(40,255,171,.24), transparent 54%),
    radial-gradient(circle at 68% 42%, rgba(88,233,255,.12), transparent 50%);
}

.departments-page.nexora-v2 .department-hero-grid {
  width: min(1180px, calc(100vw - 20px));
  background-image:
    linear-gradient(rgba(40,255,171,.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(88,233,255,.04) 1px, transparent 1px);
  background-size: 52px 52px;
}

.departments-page.nexora-v2 .department-hero-ui::before {
  content: "";
  position: absolute;
  inset: -14px;
  z-index: -1;
  border-radius: 32px;
  background: linear-gradient(115deg, rgba(40,255,171,.24), transparent 40%, rgba(88,233,255,.13));
  filter: blur(26px);
  opacity: .65;
}

.departments-page.nexora-v2 .floating-shift-card,
.departments-page.nexora-v2 .floating-signal-card,
.departments-page.nexora-v2 .shout-card,
.departments-page.nexora-v2 .activity-visual,
.departments-page.nexora-v2 .dispatch-call {
  border-color: rgba(212,255,232,.13);
  background: rgba(7, 16, 12, .9);
  box-shadow: 0 28px 70px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,255,255,.045);
}

.departments-page.nexora-v2 .department-stats {
  border-color: rgba(212,255,232,.08);
}

.departments-page.nexora-v2 .department-stats strong {
  color: transparent;
  background: linear-gradient(105deg, #fff, var(--green), var(--cyan));
  -webkit-background-clip: text;
  background-clip: text;
}

.departments-page.nexora-v2 .integration-band {
  background:
    radial-gradient(circle at 78% 50%, rgba(88,233,255,.1), transparent 35%),
    radial-gradient(circle at 18% 22%, rgba(40,255,171,.08), transparent 34%),
    #030806;
}

@keyframes v2Spin {
  to {
    transform: translateX(-50%) rotate(360deg);
  }
}

@media (max-width: 1080px) {
  .nexora-v2 .section-shell {
    width: min(100% - 36px, 1200px);
  }

  .nexora-v2 .hero-v2-panel {
    max-width: 720px;
  }
}

@media (max-width: 760px) {
  .nexora-v2 .section-shell {
    width: min(100% - 28px, 1200px);
  }

  .nexora-v2 .site-header {
    top: 10px;
    width: calc(100% - 18px);
    height: 62px;
    border-radius: 19px;
  }

  .nexora-v2 .mobile-menu {
    overflow: hidden;
    border-color: rgba(212,255,232,.12);
    border-radius: 18px;
    background: rgba(4, 11, 8, .96);
    box-shadow: 0 24px 80px rgba(0,0,0,.42);
  }

  .nexora-v2 .hero {
    min-height: 820px;
    padding-top: 150px;
  }

  .nexora-v2 .hero::before {
    width: 100vw;
    background-size: 42px 42px;
  }

  .nexora-v2 .hero h1 {
    font-size: clamp(43px, 12vw, 62px);
    letter-spacing: -.058em;
  }

  .nexora-v2 .hero-copy {
    font-size: 14px;
  }

  .nexora-v2 .v2-badge {
    gap: 6px;
    padding: 7px;
  }

  .nexora-v2 .v2-badge span {
    font-size: 8px;
  }

  .nexora-v2 .v2-badge em {
    font-size: 8px;
    letter-spacing: .08em;
  }

  .nexora-v2 .hero-v2-panel {
    width: 100%;
    grid-template-columns: 1fr;
  }

  .nexora-v2 .hero-v2-panel article {
    min-height: 96px;
  }

  .nexora-v2 .showcase {
    padding-bottom: 92px;
  }

  .nexora-v2 .marquee-track {
    gap: 12px;
  }

  .nexora-v2 .product-card {
    width: min(82vw, 320px);
    height: 350px;
  }

  .nexora-v2 .dashboard-panel {
    min-width: 0;
    width: 690px;
  }

  .nexora-v2 .bento-large {
    overflow: hidden;
  }

  .nexora-v2 .bento-large .dashboard-panel {
    margin-right: -250px;
  }

  .nexora-v2 .app-shell {
    width: 700px;
  }

  .departments-page.nexora-v2 .department-hero {
    min-height: 850px;
    padding-top: 138px;
  }

  .departments-page.nexora-v2 .department-hero-grid {
    top: 80px;
    width: 100vw;
    transform: translateX(-50%);
  }

  .departments-page.nexora-v2 .department-hero h1 {
    font-size: clamp(40px, 11vw, 54px);
    letter-spacing: -.058em;
  }

  .departments-page.nexora-v2 .department-hero h1 span {
    overflow-wrap: anywhere;
  }

  .departments-page.nexora-v2 .department-proof {
    max-width: 330px;
    margin-inline: auto;
  }

  .departments-page.nexora-v2 .department-hero-ui {
    width: 100%;
    height: 255px;
    margin: 48px auto 0;
    overflow: hidden;
    transform: none;
  }

  .departments-page.nexora-v2 .department-hero-ui::before,
  .departments-page.nexora-v2 .department-hero-ui::after {
    display: none;
  }

  .departments-page.nexora-v2 .dept-app-frame {
    width: 1040px;
    max-width: none;
    height: 600px;
    margin-left: 50%;
    transform: translateX(-50%) scale(.34);
    transform-origin: top center;
  }

  .departments-page.nexora-v2 .floating-shift-card,
  .departments-page.nexora-v2 .floating-signal-card {
    display: none;
  }

  .departments-page.nexora-v2 .department-stats {
    margin-top: 0;
  }

  .departments-page.nexora-v2 .roster-visual {
    max-width: none;
  }

  .departments-page.nexora-v2 .experience-inner {
    height: 780px;
    overflow: hidden;
  }

  .departments-page.nexora-v2 .experience-stage {
    width: 960px;
    max-width: none;
    transform: scale(.36);
    transform-origin: top left;
  }

  .departments-page.nexora-v2 .integration-orbit {
    max-width: 100%;
  }
}

@media (max-width: 420px) {
  .nexora-v2 .hero h1,
  .departments-page.nexora-v2 .department-hero h1 {
    font-size: clamp(38px, 10.8vw, 48px);
  }

  .nexora-v2 .trust-row {
    align-items: flex-start;
    justify-content: flex-start;
    max-width: 300px;
    margin-inline: auto;
  }

  .departments-page.nexora-v2 .department-hero-ui {
    height: 235px;
  }

  .departments-page.nexora-v2 .dept-app-frame {
    transform: translateX(-50%) scale(.315);
  }
}

@media (prefers-reduced-motion: reduce) {
  .nexora-v2 .hero::after {
    animation: none;
  }
}
