:root {
  --page: #d8e0ea;
  --ink: #101827;
  --ink-soft: #263446;
  --muted: #4f5f72;
  --quiet: #738195;
  --panel: #edf2f7;
  --panel-2: #e4ebf3;
  --panel-3: #d7e0eb;
  --line: rgba(15, 23, 42, 0.16);
  --line-strong: rgba(15, 23, 42, 0.24);
  --blue: #2563eb;
  --blue-deep: #1d4ed8;
  --cyan: #7c3aed;
  --atlas-red: #ef4444;
  --atlas-gray: #64748b;
  --nova-yellow: #b7791f;
  --nova-blue: #3b82f6;
  --maple-green: #15803d;
  --maple-white: #f8fafc;
  --echo-purple: #7c3aed;
  --echo-gray: #71717a;
  --white: #ffffff;
  --shadow: 0 22px 70px rgba(15, 23, 42, 0.16);
  --max: 1180px;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  background: var(--page);
}

body {
  margin: 0;
  background:
    linear-gradient(180deg, #eef2f7 0%, #e5ebf3 44%, #d8e0ea 100%),
    var(--page);
  color: var(--ink);
  font-family:
    Inter, Manrope, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont,
    "Segoe UI", sans-serif;
  line-height: 1.5;
}

body::selection {
  background: rgba(124, 58, 237, 0.18);
}

a {
  color: inherit;
  text-decoration: none;
}

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

button {
  cursor: pointer;
}

img {
  display: block;
  max-width: 100%;
}

main {
  overflow: hidden;
}

.pageTheme,
.themeSuite {
  --theme-accent: var(--echo-purple);
  --theme-accent-rgb: 124 58 237;
  --theme-accent-2: var(--atlas-red);
  --theme-accent-2-rgb: 239 68 68;
  --theme-line: rgb(var(--theme-accent-rgb) / 0.38);
  --theme-soft: rgb(var(--theme-accent-rgb) / 0.11);
  --theme-glow: rgb(var(--theme-accent-rgb) / 0.18);
}

.themeAtlas {
  --theme-accent: var(--atlas-red);
  --theme-accent-rgb: 239 68 68;
  --theme-accent-2: var(--atlas-gray);
  --theme-accent-2-rgb: 163 170 182;
  --theme-line: rgb(239 68 68 / 0.4);
  --theme-soft: rgb(239 68 68 / 0.1);
  --theme-glow: rgb(239 68 68 / 0.16);
}

.themeNova {
  --theme-accent: var(--nova-yellow);
  --theme-accent-rgb: 250 204 21;
  --theme-accent-2: var(--nova-blue);
  --theme-accent-2-rgb: 59 130 246;
  --theme-line: rgb(250 204 21 / 0.4);
  --theme-soft: rgb(250 204 21 / 0.1);
  --theme-glow: rgb(59 130 246 / 0.18);
}

.themeMaple {
  --theme-accent: var(--maple-green);
  --theme-accent-rgb: 34 197 94;
  --theme-accent-2: var(--maple-white);
  --theme-accent-2-rgb: 248 250 252;
  --theme-line: rgb(34 197 94 / 0.4);
  --theme-soft: rgb(34 197 94 / 0.1);
  --theme-glow: rgb(34 197 94 / 0.16);
}

.themeEcho {
  --theme-accent: var(--echo-purple);
  --theme-accent-rgb: 168 85 247;
  --theme-accent-2: var(--echo-gray);
  --theme-accent-2-rgb: 161 161 170;
  --theme-line: rgb(168 85 247 / 0.42);
  --theme-soft: rgb(168 85 247 / 0.11);
  --theme-glow: rgb(168 85 247 / 0.18);
}

.themeSuite {
  --theme-accent: var(--atlas-red);
  --theme-accent-rgb: 239 68 68;
  --theme-accent-2: var(--nova-yellow);
  --theme-accent-2-rgb: 183 121 31;
  --theme-line: rgb(239 68 68 / 0.24);
  --theme-soft: rgb(239 68 68 / 0.06);
  --theme-glow: rgb(124 58 237 / 0.1);
}

.siteHeader {
  position: sticky;
  top: 0;
  z-index: 20;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 24px;
  width: min(100% - 32px, var(--max));
  min-height: 64px;
  margin: 14px auto 0;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(237, 242, 247, 0.9);
  color: var(--ink);
  box-shadow: 0 18px 54px rgba(15, 23, 42, 0.1);
  backdrop-filter: blur(18px);
}

.navLinks {
  display: flex;
  min-width: 0;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: nowrap;
  gap: clamp(12px, 2.6vw, 28px);
  overflow-x: auto;
  color: var(--muted);
  font-size: 0.92rem;
  font-weight: 760;
  white-space: nowrap;
}

.navLinks a,
.footer a,
.contactDetails a {
  transition:
    color 180ms ease,
    opacity 180ms ease;
}

.navLinks a:hover,
.footer a:hover,
.contactDetails a:hover {
  color: var(--cyan);
}

.navCta,
.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 0 18px;
  border-radius: 8px;
  border: 1px solid transparent;
  font-weight: 820;
  line-height: 1.1;
  transition:
    transform 180ms ease,
    border-color 180ms ease,
    background 180ms ease,
    box-shadow 180ms ease;
}

.navActions {
  display: flex;
  justify-self: end;
  align-items: center;
  gap: 10px;
}

.navCta {
  background: rgba(248, 250, 252, 0.78);
  border-color: rgba(15, 23, 42, 0.18);
  color: var(--ink);
  font-size: 0.9rem;
}

.requestNavCta {
  border-color: rgba(124, 58, 237, 0.24);
  background:
    linear-gradient(90deg, rgba(239, 68, 68, 0.08), rgba(250, 204, 21, 0.08), rgba(34, 197, 94, 0.08), rgba(124, 58, 237, 0.08)),
    rgba(248, 250, 252, 0.78);
}

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

.hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(380px, 1.1fr);
  align-items: center;
  gap: clamp(28px, 5vw, 72px);
  width: min(100% - 32px, var(--max));
  min-height: min(760px, calc(100vh - 104px));
  margin: -86px auto 0;
  padding: 150px 0 58px;
}

.hero::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -2;
  background:
    linear-gradient(90deg, rgba(15, 23, 42, 0.035) 1px, transparent 1px),
    linear-gradient(180deg, rgba(15, 23, 42, 0.028) 1px, transparent 1px),
    #e5ebf3;
  background-size: 72px 72px;
}

.hero::after {
  content: "";
  position: absolute;
  inset: 92px -22vw auto -22vw;
  z-index: -1;
  height: 260px;
  background:
    linear-gradient(90deg, transparent 0 15%, rgba(239, 68, 68, 0.14) 15.5% 16%, transparent 16.5% 100%),
    linear-gradient(0deg, transparent 0 82%, rgba(124, 58, 237, 0.1) 82.5% 83%, transparent 83.5% 100%);
  background-size: 118px 118px;
  opacity: 0.48;
  mask-image: linear-gradient(90deg, transparent, black 18%, black 82%, transparent);
}

.heroCopy {
  color: var(--ink);
}

.eyebrow {
  margin: 0 0 16px;
  color: var(--cyan);
  font-size: 0.76rem;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
}

.eyebrow.dark {
  color: var(--cyan);
}

h1,
h2,
h3 {
  overflow-wrap: normal;
  word-break: normal;
}

p {
  overflow-wrap: anywhere;
}

h1,
h2,
h3 {
  margin: 0;
  line-height: 1.04;
}

h1 {
  max-width: 11ch;
  color: var(--ink);
  font-size: clamp(2.45rem, 5vw, 4.8rem);
}

h2 {
  max-width: 13ch;
  color: var(--ink);
  font-size: clamp(1.8rem, 3.4vw, 3.25rem);
}

h3 {
  color: var(--ink);
  font-size: clamp(1.08rem, 1.4vw, 1.28rem);
}

.heroLead {
  max-width: 720px;
  margin: 26px 0 0;
  color: var(--ink-soft);
  font-size: clamp(1.14rem, 2.05vw, 1.5rem);
}

.heroText {
  max-width: 690px;
  margin: 18px 0 0;
  color: var(--muted);
  font-size: 1rem;
}

.heroActions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 34px;
}

.primaryButton {
  background: linear-gradient(135deg, var(--atlas-red), var(--echo-purple));
  color: var(--white);
  box-shadow: 0 18px 42px rgba(124, 58, 237, 0.16);
}

.primaryButton:hover {
  background: linear-gradient(135deg, #dc2626, #6d28d9);
}

.secondaryButton {
  border-color: rgba(15, 23, 42, 0.16);
  background: rgba(237, 242, 247, 0.9);
  color: var(--ink);
}

.lightButton {
  border-color: rgba(15, 23, 42, 0.16);
  background: rgba(237, 242, 247, 0.92);
  color: var(--ink);
}

.heroVisual {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--line-strong);
  border-radius: 8px;
  background: var(--panel);
  box-shadow: var(--shadow);
}

.heroVisual::after {
  content: "";
  position: absolute;
  inset: 0;
  border: 1px solid rgba(124, 58, 237, 0.18);
  border-radius: inherit;
  pointer-events: none;
}

.heroVisual img {
  width: 100%;
  min-height: 360px;
  object-fit: cover;
}

.pageHero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 0.86fr) minmax(340px, 0.92fr);
  align-items: center;
  gap: clamp(24px, 5vw, 64px);
  width: min(100% - 32px, var(--max));
  margin: -86px auto 0;
  padding: 138px 0 50px;
}

.pageHero::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -2;
  background:
    linear-gradient(90deg, rgba(15, 23, 42, 0.035) 1px, transparent 1px),
    linear-gradient(180deg, rgba(15, 23, 42, 0.028) 1px, transparent 1px),
    #e5ebf3;
  background-size: 72px 72px;
}

.pageHero h1 {
  max-width: 14ch;
  font-size: clamp(2.15rem, 4.2vw, 3.9rem);
}

.pageHeroCopy p:not(.eyebrow) {
  max-width: 780px;
  margin: 24px 0 0;
  color: var(--ink-soft);
  font-size: clamp(1.02rem, 1.7vw, 1.22rem);
}

.pageHeroImage {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--line-strong);
  border-radius: 8px;
  background: var(--panel);
  box-shadow: var(--shadow);
}

.pageHeroImage::after {
  content: "";
  position: absolute;
  inset: 0;
  border: 1px solid rgba(124, 58, 237, 0.18);
  border-radius: inherit;
  pointer-events: none;
}

.pageHeroImage img {
  width: 100%;
  min-height: 300px;
  object-fit: cover;
}

.pageHeroCenter {
  grid-template-columns: minmax(0, 1fr);
  justify-items: center;
  gap: 34px;
  text-align: center;
}

.pageHeroCenter .pageHeroCopy {
  max-width: 960px;
}

.pageHeroCenter h1 {
  max-width: 19ch;
  margin: 0 auto;
}

.pageHeroCenter .pageHeroCopy p:not(.eyebrow) {
  margin-right: auto;
  margin-left: auto;
}

.pageHeroCenter .pageHeroImage {
  width: min(100%, 1040px);
}

.pageHeroCenter .pageHeroImage img {
  min-height: 330px;
  max-height: 430px;
}

.pageHeroRight {
  grid-template-columns: minmax(380px, 1.04fr) minmax(0, 0.86fr);
}

.pageHeroRight .pageHeroImage {
  order: 1;
}

.pageHeroRight .pageHeroCopy {
  order: 2;
  justify-self: end;
  text-align: right;
}

.pageHeroRight h1,
.pageHeroRight .pageHeroCopy p:not(.eyebrow) {
  margin-left: auto;
}

.pageHeroBanner {
  grid-template-columns: minmax(0, 1fr);
  gap: 30px;
}

.pageHeroBanner .pageHeroCopy {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(320px, 0.75fr);
  gap: clamp(24px, 5vw, 70px);
  align-items: end;
}

.pageHeroBanner .eyebrow {
  grid-column: 1 / -1;
}

.pageHeroBanner h1 {
  max-width: 18ch;
}

.pageHeroBanner .pageHeroCopy p:not(.eyebrow) {
  margin: 0 0 4px;
}

.pageHeroBanner .pageHeroImage img {
  min-height: 270px;
  max-height: 390px;
}

.pageHeroImageFirst {
  grid-template-columns: minmax(390px, 1.05fr) minmax(0, 0.82fr);
}

.pageHeroImageFirst .pageHeroImage {
  order: 1;
}

.pageHeroImageFirst .pageHeroCopy {
  order: 2;
}

.pageHeroImageFirst .pageHeroImage img {
  min-height: 320px;
  max-height: 420px;
}

.pageHeroCompact {
  grid-template-columns: minmax(0, 0.8fr) minmax(380px, 1fr);
  align-items: end;
  padding-bottom: 36px;
}

.pageHeroCompact h1 {
  max-width: 12ch;
}

.pageHeroCompact .pageHeroImage img {
  min-height: 250px;
  max-height: 330px;
}

.pageTheme .pageHero::before,
.themeSuite .hero::before {
  background:
    linear-gradient(90deg, rgb(var(--theme-accent-rgb) / 0.055) 1px, transparent 1px),
    linear-gradient(180deg, rgb(var(--theme-accent-2-rgb) / 0.045) 1px, transparent 1px),
    radial-gradient(circle at 18% 14%, rgb(var(--theme-accent-rgb) / 0.12), transparent 31%),
    radial-gradient(circle at 82% 20%, rgb(var(--theme-accent-2-rgb) / 0.1), transparent 28%),
    #e5ebf3;
}

.pageTheme .pageHero::after {
  content: "";
  position: absolute;
  inset: 114px -18vw auto -18vw;
  z-index: -1;
  height: 220px;
  background:
    linear-gradient(90deg, transparent, rgb(var(--theme-accent-rgb) / 0.2), transparent),
    linear-gradient(0deg, transparent 0 68%, rgb(var(--theme-accent-2-rgb) / 0.1) 68% 69%, transparent 70%);
  opacity: 0.72;
  mask-image: linear-gradient(90deg, transparent, black 24%, black 76%, transparent);
}

.pageTheme .eyebrow,
.themeSuite .eyebrow.dark,
.pageTheme .eyebrow.dark {
  color: var(--theme-accent);
}

.pageTheme .navLinks a:hover,
.themeSuite .navLinks a:hover,
.pageTheme .footer a:hover,
.themeSuite .footer a:hover,
.pageTheme .contactDetails a:hover {
  color: var(--theme-accent);
}

.pageTheme .navCta:hover,
.themeSuite .navCta:hover {
  border-color: var(--theme-line);
  box-shadow: 0 14px 34px var(--theme-glow);
}

.pageTheme .primaryButton,
.themeSuite .primaryButton {
  background: linear-gradient(135deg, var(--theme-accent), var(--theme-accent-2));
  color: #07101d;
  box-shadow: 0 18px 42px var(--theme-glow);
}

.themeAtlas .primaryButton,
.themeEcho .primaryButton {
  color: var(--white);
}

.pageTheme .secondaryButton,
.pageTheme .lightButton,
.themeSuite .secondaryButton,
.themeSuite .lightButton {
  border-color: var(--theme-line);
  background:
    linear-gradient(135deg, rgb(var(--theme-accent-rgb) / 0.06), rgb(var(--theme-accent-2-rgb) / 0.05)),
    rgba(237, 242, 247, 0.92);
}

.pageTheme .pageHeroImage,
.themeSuite .heroVisual {
  border-color: var(--theme-line);
  box-shadow:
    var(--shadow),
    0 0 58px var(--theme-glow);
}

.pageTheme .pageHeroImage::after,
.themeSuite .heroVisual::after {
  border-color: rgb(var(--theme-accent-2-rgb) / 0.24);
}

.pageTheme .pageHeroImage img {
  filter: saturate(1.05) contrast(1.03);
}

.themeAtlas .pageHeroCenter .pageHeroImage {
  width: min(100%, 960px);
}

.themeNova .pageHeroBanner .pageHeroCopy {
  padding: 0 0 26px;
  border-bottom: 1px solid var(--theme-line);
}

.themeMaple .pageHeroImageFirst .pageHeroCopy {
  padding-left: clamp(0px, 3vw, 26px);
  border-left: 1px solid var(--theme-line);
}

.themeEcho .pageHeroCompact .pageHeroCopy {
  padding-bottom: 18px;
  border-bottom: 1px solid var(--theme-line);
}

.themeSuite .hero::after {
  background:
    linear-gradient(90deg, transparent 0 10%, rgb(239 68 68 / 0.14) 10.5% 11%, transparent 12% 36%, rgb(250 204 21 / 0.12) 36.5% 37%, transparent 38% 63%, rgb(34 197 94 / 0.12) 63.5% 64%, transparent 65% 100%),
    linear-gradient(0deg, transparent 0 80%, rgb(124 58 237 / 0.12) 80.5% 81%, transparent 82% 100%);
  background-size: 128px 128px;
}

.pageSection {
  padding-top: clamp(48px, 6vw, 76px);
}

.signalBand {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  width: min(100% - 32px, var(--max));
  margin: 0 auto;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--line);
  box-shadow: var(--shadow);
}

.signalBand div {
  min-height: 112px;
  padding: 24px;
  background: rgba(237, 242, 247, 0.96);
}

.signalBand strong,
.signalBand span {
  display: block;
}

.signalBand strong {
  color: var(--ink);
  font-size: 1.05rem;
}

.signalBand span {
  margin-top: 8px;
  color: var(--muted);
}

.section {
  width: min(100% - 32px, var(--max));
  margin: 0 auto;
  padding: clamp(76px, 10vw, 124px) 0;
}

.section.pageSection {
  padding-top: clamp(48px, 6vw, 76px);
}

.sectionHeader {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(260px, 0.85fr);
  align-items: end;
  gap: clamp(24px, 5vw, 70px);
}

.sectionHeader.compact {
  display: block;
  max-width: 760px;
}

.sectionHeader.compact h2 {
  max-width: 14ch;
}

.sectionHeader.compact p:not(.eyebrow),
.wideHeader p,
.whyGrid p,
.contactCopy p {
  color: var(--muted);
  font-size: 1.05rem;
}

.introSection {
  padding-top: clamp(52px, 6vw, 82px);
}

.splitText {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(24px, 5vw, 70px);
  margin-top: 42px;
  color: var(--ink-soft);
  font-size: clamp(1.03rem, 1.3vw, 1.16rem);
}

.splitText p {
  margin: 0;
}

.suiteSection {
  padding-top: clamp(42px, 5vw, 68px);
}

.suiteSection .sectionHeader {
  margin-bottom: 28px;
}

.sectionHeader.compact.suiteModuleHeader {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(280px, 0.65fr);
  align-items: end;
  gap: clamp(22px, 5vw, 58px);
  max-width: 980px;
}

.sectionHeader.compact.suiteModuleHeader .eyebrow {
  grid-column: 1 / -1;
}

.sectionHeader.compact.suiteModuleHeader h2 {
  max-width: none;
}

.sectionHeader.compact.suiteModuleHeader p:not(.eyebrow) {
  margin: 0 0 4px;
  color: var(--muted);
  font-size: 1.05rem;
}

.suiteGrid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
  gap: 16px;
  margin-top: 42px;
  max-width: 980px;
}

.suiteSection .sectionHeader + .suiteGrid {
  margin-top: 0;
}

.suiteCard,
.missionGrid article,
.serviceCard,
.teamCard,
.processTimeline article,
.contactForm {
  border: 1px solid var(--line);
  border-radius: 8px;
  background:
    linear-gradient(180deg, rgba(15, 23, 42, 0.018), transparent),
    var(--panel);
  box-shadow: 0 16px 48px rgba(15, 23, 42, 0.08);
}

.suiteCard {
  min-height: 318px;
  padding: 26px;
  transition:
    transform 180ms ease,
    border-color 180ms ease,
    background 180ms ease;
}

.suiteModule {
  display: block;
  min-height: 0;
  padding: 24px 28px;
}

.suiteModule[open] {
  border-color: rgba(124, 58, 237, 0.36);
  background:
    linear-gradient(180deg, rgba(15, 23, 42, 0.035), transparent),
    var(--panel-2);
}

.suiteModule summary {
  display: block;
  cursor: pointer;
  list-style: none;
}

.suiteModule summary::-webkit-details-marker {
  display: none;
}

.moduleHeader {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
}

.moduleLogo {
  width: 52px;
  height: 52px;
  margin: 0 0 12px;
  object-fit: contain;
}

.moduleToggle {
  position: relative;
  flex: 0 0 auto;
  width: 34px;
  height: 34px;
  border: 1px solid rgba(124, 58, 237, 0.24);
  border-radius: 8px;
  background: rgba(237, 242, 247, 0.88);
}

.moduleToggle::before,
.moduleToggle::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 14px;
  height: 2px;
  border-radius: 999px;
  background: var(--cyan);
  transform: translate(-50%, -50%);
}

.moduleToggle::after {
  transform: translate(-50%, -50%) rotate(90deg);
}

.suiteModule[open] .moduleToggle::after {
  opacity: 0;
}

.moduleCue {
  display: inline-flex;
  align-items: center;
  margin-top: 18px;
  color: var(--cyan);
  font-size: 0.82rem;
  font-weight: 900;
}

.moduleCue::after {
  content: "";
  width: 7px;
  height: 7px;
  margin-left: 8px;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
  transform: rotate(45deg);
}

.suiteDetails {
  display: grid;
  gap: 18px;
  margin-top: 22px;
  padding-top: 22px;
  border-top: 1px solid rgba(148, 163, 184, 0.18);
}

.detailBlock span {
  display: block;
  color: var(--cyan);
  font-size: 0.78rem;
  font-weight: 900;
  text-transform: uppercase;
}

.detailBlock p {
  margin: 8px 0 0;
}

.detailBlock ul {
  display: grid;
  gap: 10px;
  margin: 10px 0 0;
  padding: 0;
  list-style: none;
}

.detailBlock li {
  position: relative;
  padding-left: 18px;
  color: var(--muted);
  font-size: 0.95rem;
}

.detailBlock li::before {
  content: "";
  position: absolute;
  top: 0.7em;
  left: 0;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--cyan);
}

.moduleRequestLink {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  min-height: 42px;
  padding: 0 14px;
  border: 1px solid rgba(124, 58, 237, 0.24);
  border-radius: 8px;
  background: rgba(124, 58, 237, 0.07);
  color: var(--ink);
  font-size: 0.9rem;
  font-weight: 900;
  transition:
    transform 180ms ease,
    border-color 180ms ease,
    background 180ms ease;
}

.moduleRequestLink:hover {
  transform: translateY(-2px);
  border-color: rgba(124, 58, 237, 0.42);
  background: rgba(124, 58, 237, 0.11);
}

.moduleThemeAtlas {
  --module-accent: var(--atlas-red);
  --module-accent-rgb: 239 68 68;
  --module-accent-2: var(--atlas-gray);
  --module-accent-2-rgb: 163 170 182;
  --module-line: rgb(239 68 68 / 0.42);
  --module-soft: rgb(239 68 68 / 0.1);
  --module-glow: rgb(239 68 68 / 0.16);
  --module-button-text: #fff;
}

.moduleThemeNova {
  --module-accent: var(--nova-yellow);
  --module-accent-rgb: 250 204 21;
  --module-accent-2: var(--nova-blue);
  --module-accent-2-rgb: 59 130 246;
  --module-line: rgb(250 204 21 / 0.44);
  --module-soft: rgb(250 204 21 / 0.11);
  --module-glow: rgb(59 130 246 / 0.15);
  --module-button-text: #111827;
}

.moduleThemeMaple {
  --module-accent: var(--maple-green);
  --module-accent-rgb: 34 197 94;
  --module-accent-2: var(--maple-white);
  --module-accent-2-rgb: 248 250 252;
  --module-line: rgb(34 197 94 / 0.42);
  --module-soft: rgb(34 197 94 / 0.1);
  --module-glow: rgb(34 197 94 / 0.15);
  --module-button-text: #fff;
}

.moduleThemeEcho {
  --module-accent: var(--echo-purple);
  --module-accent-rgb: 168 85 247;
  --module-accent-2: var(--echo-gray);
  --module-accent-2-rgb: 161 161 170;
  --module-line: rgb(168 85 247 / 0.44);
  --module-soft: rgb(168 85 247 / 0.11);
  --module-glow: rgb(168 85 247 / 0.16);
  --module-button-text: #fff;
}

.suiteModule[class*="moduleTheme"] {
  border-color: var(--module-line);
  background:
    linear-gradient(145deg, var(--module-soft), transparent 58%),
    linear-gradient(180deg, rgba(15, 23, 42, 0.018), transparent),
    var(--panel);
}

.suiteModule[class*="moduleTheme"][open],
.suiteModule[class*="moduleTheme"]:hover {
  border-color: var(--module-line);
  background:
    linear-gradient(145deg, var(--module-soft), transparent 62%),
    linear-gradient(180deg, rgb(var(--module-accent-2-rgb) / 0.045), transparent),
    var(--panel-2);
  box-shadow:
    0 18px 56px rgba(15, 23, 42, 0.12),
    0 0 44px var(--module-glow);
}

.suiteModule[class*="moduleTheme"] strong,
.suiteModule[class*="moduleTheme"] .moduleCue,
.suiteModule[class*="moduleTheme"] .detailBlock span {
  color: var(--module-accent);
}

.suiteModule[class*="moduleTheme"] .moduleToggle,
.suiteModule[class*="moduleTheme"] .moduleRequestLink {
  border-color: var(--module-line);
  background: var(--module-soft);
}

.suiteModule[class*="moduleTheme"] .moduleToggle::before,
.suiteModule[class*="moduleTheme"] .moduleToggle::after,
.suiteModule[class*="moduleTheme"] .detailBlock li::before {
  background: var(--module-accent);
}

.suiteModule[class*="moduleTheme"] .moduleRequestLink:hover {
  border-color: var(--module-line);
  background: rgb(var(--module-accent-rgb) / 0.15);
}

.suiteCard:hover,
.serviceCard:hover,
.teamCard:hover {
  transform: translateY(-4px);
  border-color: rgba(124, 58, 237, 0.34);
  background:
    linear-gradient(180deg, rgba(15, 23, 42, 0.03), transparent),
    var(--panel-2);
}

.cardNumber {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 32px;
  margin-bottom: 24px;
  border: 1px solid rgba(124, 58, 237, 0.28);
  border-radius: 8px;
  color: var(--cyan);
  font-size: 0.78rem;
  font-weight: 900;
}

.suiteCard strong {
  display: block;
  margin-top: 10px;
  color: var(--cyan);
  font-size: 0.9rem;
}

.suiteCard p,
.missionGrid p,
.serviceCard p,
.teamCard p,
.processTimeline p {
  color: var(--muted);
}

.missionGrid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin-top: 36px;
}

.missionGrid article {
  min-height: 188px;
  padding: 28px;
}

.missionGrid span {
  color: var(--cyan);
  font-weight: 900;
}

.darkSection,
.contrastSection {
  width: 100%;
  max-width: none;
  padding-right: max(16px, calc((100vw - var(--max)) / 2));
  padding-left: max(16px, calc((100vw - var(--max)) / 2));
  background:
    linear-gradient(180deg, rgba(15, 23, 42, 0.035), transparent 100%),
    #e5ebf3;
  color: var(--ink);
  border-top: 1px solid rgba(15, 23, 42, 0.08);
  border-bottom: 1px solid rgba(15, 23, 42, 0.08);
}

.darkSection .sectionHeader p:not(.eyebrow),
.teamSection .sectionHeader p {
  color: var(--muted);
}

.serviceGrid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin-top: 42px;
}

.serviceCard,
.teamCard {
  min-height: 256px;
  padding: 26px;
  transition:
    transform 180ms ease,
    border-color 180ms ease,
    background 180ms ease;
}

.wideHeader {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(280px, 0.72fr);
  align-items: end;
  gap: clamp(28px, 5vw, 80px);
}

.wideHeader h2 {
  max-width: 13ch;
}

.industryGrid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 42px;
}

.industryGrid span,
.techStack span {
  display: flex;
  align-items: center;
  min-height: 54px;
  padding: 12px 16px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel);
  color: var(--ink-soft);
  font-weight: 800;
}

.whyGrid {
  display: grid;
  grid-template-columns: minmax(0, 0.82fr) minmax(320px, 1fr);
  gap: clamp(28px, 6vw, 92px);
  align-items: start;
}

.checkList {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.checkList li {
  position: relative;
  min-height: 64px;
  padding: 18px 18px 18px 46px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel);
  color: var(--ink-soft);
  font-weight: 780;
}

.checkList li::before {
  content: "";
  position: absolute;
  top: 23px;
  left: 18px;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: var(--cyan);
  box-shadow: 0 0 0 5px rgba(124, 58, 237, 0.1);
}

.techSection {
  padding-bottom: clamp(56px, 7vw, 92px);
}

.techStack {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 36px;
}

.techStack span {
  width: auto;
  min-height: 44px;
  color: var(--ink-soft);
}

.processSection {
  padding-top: clamp(52px, 7vw, 92px);
}

.processTimeline {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
  margin-top: 42px;
}

.processTimeline article {
  min-height: 246px;
  padding: 24px;
}

.processTimeline span {
  display: inline-grid;
  place-items: center;
  width: 38px;
  height: 38px;
  margin-bottom: 32px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--atlas-red), var(--echo-purple));
  color: var(--white);
  font-weight: 900;
}

.processTimeline h3 {
  min-height: 58px;
}

.teamGrid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  margin-top: 42px;
}

.teamCard {
  min-height: 364px;
}

.avatar {
  display: grid;
  place-items: center;
  width: 92px;
  height: 92px;
  margin-bottom: 24px;
  border-radius: 8px;
  border: 1px solid rgba(15, 23, 42, 0.14);
  background: linear-gradient(135deg, var(--atlas-red), var(--echo-purple));
  color: var(--white);
  font-size: 0.92rem;
  font-weight: 900;
  box-shadow: 0 12px 32px rgba(15, 23, 42, 0.12);
  overflow: hidden;
}

.photoAvatar {
  display: block;
  object-fit: cover;
  object-position: center;
}

.teamCard span {
  display: block;
  margin-top: 8px;
  color: var(--cyan);
  font-weight: 800;
}

.ctaSection {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 28px;
  width: min(100% - 32px, var(--max));
  margin: clamp(62px, 9vw, 112px) auto clamp(34px, 5vw, 64px);
  padding: clamp(34px, 5vw, 56px);
  border: 1px solid var(--line-strong);
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(239, 68, 68, 0.1), rgba(124, 58, 237, 0.08)),
    var(--panel-2);
  color: var(--ink);
  box-shadow: var(--shadow);
}

.ctaSection h2 {
  max-width: 16ch;
}

.ctaSection p:not(.eyebrow) {
  max-width: 720px;
  color: var(--ink-soft);
}

.contactSection {
  display: grid;
  grid-template-columns: minmax(0, 0.82fr) minmax(420px, 1fr);
  gap: clamp(28px, 5vw, 78px);
  align-items: start;
}

.requestSection {
  padding-top: clamp(38px, 5vw, 60px);
}

.contactCopy h2 {
  max-width: 16ch;
}

.contactDetails {
  display: grid;
  gap: 10px;
  margin-top: 28px;
  color: var(--cyan);
  font-weight: 900;
}

.requestHighlights {
  display: grid;
  gap: 10px;
  margin-top: 28px;
}

.requestHighlights span {
  padding: 12px 14px;
  border: 1px solid rgba(124, 58, 237, 0.18);
  border-radius: 8px;
  background: rgba(237, 242, 247, 0.86);
  color: var(--ink-soft);
  font-weight: 800;
}

.contactForm {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  padding: 26px;
}

.contactForm label {
  display: grid;
  gap: 8px;
  color: var(--ink);
  font-size: 0.9rem;
  font-weight: 850;
}

.honeypot {
  position: absolute;
  left: -10000px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.contactForm input,
.contactForm select,
.contactForm textarea {
  width: 100%;
  min-height: 48px;
  border: 1px solid rgba(148, 163, 184, 0.26);
  border-radius: 8px;
  padding: 12px 14px;
  background: #f3f6fa;
  color: var(--ink);
  outline: none;
  transition:
    border-color 160ms ease,
    box-shadow 160ms ease,
    background 160ms ease;
}

.contactForm textarea {
  resize: vertical;
}

.contactForm input:focus,
.contactForm select:focus,
.contactForm textarea:focus {
  border-color: var(--cyan);
  background: #eef2f7;
  box-shadow: 0 0 0 4px rgba(124, 58, 237, 0.1);
}

.contactForm button:disabled {
  cursor: wait;
  opacity: 0.72;
  transform: none;
}

.fullSpan {
  grid-column: 1 / -1;
}

.formNote {
  margin: 0;
  padding: 12px 14px;
  border: 1px solid rgba(124, 58, 237, 0.2);
  border-radius: 8px;
  background: rgba(124, 58, 237, 0.07);
  color: var(--ink-soft);
  font-weight: 800;
}

.formNote.sent {
  border-color: rgba(34, 197, 94, 0.34);
  background: rgba(34, 197, 94, 0.09);
}

.formNote.error {
  border-color: rgba(248, 113, 113, 0.34);
  background: rgba(248, 113, 113, 0.09);
}

.pageTheme .darkSection,
.pageTheme .contrastSection {
  background:
    linear-gradient(180deg, var(--theme-soft), transparent 100%),
    #e5ebf3;
  border-color: rgb(var(--theme-accent-rgb) / 0.16);
}

.pageTheme .sectionHeader.compact.suiteModuleHeader,
.themeSuite .sectionHeader.compact.suiteModuleHeader {
  max-width: var(--max);
}

.pageTheme .suiteGrid,
.themeSuite .suiteGrid {
  max-width: var(--max);
}

.pageTheme .missionGrid article,
.pageTheme .serviceCard,
.pageTheme .teamCard,
.pageTheme .processTimeline article,
.pageTheme .contactForm {
  border-color: rgb(var(--theme-accent-rgb) / 0.22);
  background:
    linear-gradient(145deg, var(--theme-soft), transparent 64%),
    linear-gradient(180deg, rgba(15, 23, 42, 0.018), transparent),
    var(--panel);
}

.pageTheme .serviceCard:hover,
.pageTheme .teamCard:hover,
.pageTheme .missionGrid article:hover,
.pageTheme .processTimeline article:hover {
  border-color: var(--theme-line);
  background:
    linear-gradient(145deg, var(--theme-soft), transparent 64%),
    linear-gradient(180deg, rgb(var(--theme-accent-2-rgb) / 0.04), transparent),
    var(--panel-2);
}

.pageTheme .cardNumber,
.pageTheme .missionGrid span,
.pageTheme .teamCard span,
.pageTheme .contactDetails,
.pageTheme .processTimeline span {
  color: var(--theme-accent);
}

.pageTheme .cardNumber {
  border-color: var(--theme-line);
  background: var(--theme-soft);
}

.pageTheme .processTimeline span {
  background:
    linear-gradient(135deg, var(--theme-accent), var(--theme-accent-2));
  color: #07101d;
}

.themeAtlas .processTimeline span,
.themeEcho .processTimeline span {
  color: var(--white);
}

.pageTheme .checkList li::before {
  background: var(--theme-accent);
}

.pageTheme .industryGrid span,
.pageTheme .techStack span,
.pageTheme .requestHighlights span {
  border-color: rgb(var(--theme-accent-rgb) / 0.2);
  background:
    linear-gradient(135deg, var(--theme-soft), rgba(237, 242, 247, 0.9));
}

.pageTheme .contactForm input:focus,
.pageTheme .contactForm select:focus,
.pageTheme .contactForm textarea:focus {
  border-color: var(--theme-accent);
  box-shadow: 0 0 0 4px var(--theme-soft);
}

.pageTheme .formNote {
  border-color: rgb(var(--theme-accent-rgb) / 0.26);
  background: var(--theme-soft);
}

.pageTheme .formNote.sent {
  border-color: rgba(34, 197, 94, 0.34);
  background: rgba(34, 197, 94, 0.09);
}

.pageTheme .formNote.error {
  border-color: rgba(248, 113, 113, 0.34);
  background: rgba(248, 113, 113, 0.09);
}

.pageTheme .ctaSection,
.themeSuite .ctaSection,
.themeSuite .signalBand {
  border-color: var(--theme-line);
  background:
    linear-gradient(135deg, rgb(239 68 68 / 0.1), transparent 30%),
    linear-gradient(225deg, rgb(168 85 247 / 0.1), transparent 35%),
    linear-gradient(90deg, rgb(250 204 21 / 0.08), rgb(34 197 94 / 0.08)),
    var(--panel-2);
}

.themeSuite .signalBand div {
  border-color: rgb(124 58 237 / 0.16);
}

.themeSuite .signalBand div:nth-child(1) strong {
  color: var(--nova-yellow);
}

.themeSuite .signalBand div:nth-child(2) strong {
  color: var(--atlas-red);
}

.themeSuite .signalBand div:nth-child(3) strong {
  color: var(--maple-green);
}

.themeSuite .signalBand div:nth-child(4) strong {
  color: var(--echo-purple);
}

.themeSuite .requestHighlights span:nth-child(1) {
  border-color: rgb(239 68 68 / 0.34);
  background: rgb(239 68 68 / 0.1);
}

.themeSuite .requestHighlights span:nth-child(2) {
  border-color: rgb(250 204 21 / 0.34);
  background: rgb(250 204 21 / 0.09);
}

.themeSuite .requestHighlights span:nth-child(3) {
  border-color: rgb(34 197 94 / 0.34);
  background: rgb(34 197 94 / 0.09);
}

.themeSuite .requestHighlights span:nth-child(4) {
  border-color: rgb(168 85 247 / 0.34);
  background: rgb(168 85 247 / 0.1);
}

.footer {
  display: grid;
  grid-template-columns: 1.1fr 1fr auto;
  gap: 28px;
  align-items: start;
  width: 100%;
  padding: 52px max(16px, calc((100vw - var(--max)) / 2));
  border-top: 1px solid rgba(15, 23, 42, 0.1);
  background: #dfe7f1;
  color: var(--ink);
}

.footer p {
  color: var(--muted);
}

.footerIntro p {
  max-width: 480px;
  margin: 0;
}

.footer nav,
.socialLinks {
  display: grid;
  gap: 10px;
  color: var(--muted);
  font-weight: 800;
}

.copyright {
  grid-column: 1 / -1;
  margin: 0;
  padding-top: 24px;
  border-top: 1px solid rgba(15, 23, 42, 0.1);
  font-size: 0.9rem;
}

/* Enterprise polish layer */
:root {
  --page: #c7d0dc;
  --ink: #0f1724;
  --ink-soft: #273444;
  --muted: #4d5c6f;
  --quiet: #6f7e91;
  --panel: #e8edf4;
  --panel-2: #dfe7f1;
  --panel-3: #d2dce8;
  --line: rgba(15, 23, 42, 0.18);
  --line-strong: rgba(15, 23, 42, 0.28);
  --shadow: 0 22px 58px rgba(15, 23, 42, 0.16);
}

body {
  background:
    linear-gradient(180deg, #dfe7f1 0%, #cbd5e1 48%, #b9c4d2 100%),
    var(--page);
}

.siteHeader {
  overflow: hidden;
  border-color: rgba(15, 23, 42, 0.22);
  background: rgba(229, 235, 243, 0.92);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.38) inset,
    0 20px 50px rgba(15, 23, 42, 0.16);
}

.siteHeader::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--atlas-red), var(--nova-yellow), var(--maple-green), var(--echo-purple));
}

.navLinks {
  color: #334155;
}

.navCta,
.secondaryButton,
.lightButton {
  background: rgba(238, 242, 247, 0.84);
  border-color: rgba(15, 23, 42, 0.22);
  color: #0f1724;
}

.requestNavCta {
  background:
    linear-gradient(90deg, rgba(239, 68, 68, 0.1), rgba(183, 121, 31, 0.12), rgba(21, 128, 61, 0.1), rgba(124, 58, 237, 0.1)),
    rgba(238, 242, 247, 0.86);
}

.hero,
.pageHero {
  gap: clamp(26px, 4.2vw, 56px);
}

.hero::before,
.pageHero::before,
.pageTheme .pageHero::before,
.themeSuite .hero::before {
  background:
    linear-gradient(90deg, rgba(15, 23, 42, 0.05) 1px, transparent 1px),
    linear-gradient(180deg, rgba(15, 23, 42, 0.04) 1px, transparent 1px),
    radial-gradient(circle at 20% 10%, rgb(var(--theme-accent-rgb) / 0.12), transparent 26%),
    radial-gradient(circle at 82% 16%, rgb(var(--theme-accent-2-rgb) / 0.1), transparent 24%),
    #cbd5e1;
  background-size: 78px 78px, 78px 78px, auto, auto, auto;
}

.hero::after,
.pageTheme .pageHero::after {
  opacity: 0.38;
}

h1 {
  max-width: 12.5ch;
  letter-spacing: 0;
}

h2,
h3,
p {
  letter-spacing: 0;
}

.heroLead,
.pageHeroCopy p:not(.eyebrow) {
  color: #1f2d3d;
}

.heroText,
.sectionHeader.compact p:not(.eyebrow),
.wideHeader p,
.whyGrid p,
.contactCopy p,
.suiteCard p,
.missionGrid p,
.serviceCard p,
.teamCard p,
.processTimeline p {
  color: #455568;
}

.heroVisual,
.pageHeroImage {
  isolation: isolate;
  background:
    linear-gradient(145deg, rgba(15, 23, 42, 0.96), rgba(25, 32, 44, 0.94)),
    #111827;
  border-color: rgba(15, 23, 42, 0.5);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.16) inset,
    0 26px 58px rgba(15, 23, 42, 0.28);
}

.heroVisual::before,
.pageHeroImage::before {
  content: "";
  position: absolute;
  inset: 20px;
  z-index: 2;
  border: 1px solid rgba(226, 232, 240, 0.18);
  border-radius: 6px;
  background:
    linear-gradient(90deg, rgba(226, 232, 240, 0.1) 1px, transparent 1px),
    linear-gradient(180deg, rgba(226, 232, 240, 0.07) 1px, transparent 1px),
    linear-gradient(135deg, rgb(var(--theme-accent-rgb) / 0.2), transparent 35%),
    linear-gradient(315deg, rgb(var(--theme-accent-2-rgb) / 0.16), transparent 38%),
    rgba(15, 23, 42, 0.26);
  background-size: 34px 34px, 34px 34px, auto, auto, auto;
  box-shadow:
    0 0 0 1px rgba(15, 23, 42, 0.45),
    0 18px 48px rgba(15, 23, 42, 0.28);
  pointer-events: none;
}

.heroVisual::after,
.pageHeroImage::after,
.pageTheme .pageHeroImage::after,
.themeSuite .heroVisual::after {
  z-index: 3;
  border-color: rgba(226, 232, 240, 0.16);
}

.heroVisual img,
.pageHeroImage img,
.pageTheme .pageHeroImage img {
  position: relative;
  z-index: 1;
  opacity: 0.4;
  filter: grayscale(0.88) saturate(0.45) contrast(0.94) brightness(0.74);
}

.pageHeroCenter .pageHeroImage img,
.pageHeroImageFirst .pageHeroImage img,
.pageHeroBanner .pageHeroImage img {
  max-height: 360px;
}

.signalBand,
.ctaSection,
.suiteCard,
.missionGrid article,
.serviceCard,
.teamCard,
.processTimeline article,
.contactForm,
.industryGrid span,
.techStack span,
.checkList li,
.requestHighlights span {
  border-color: rgba(15, 23, 42, 0.2);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.18), transparent),
    var(--panel);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.34) inset,
    0 18px 42px rgba(15, 23, 42, 0.1);
}

.signalBand {
  background: rgba(15, 23, 42, 0.2);
}

.signalBand div {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.2), transparent),
    var(--panel);
}

.suiteModule,
.serviceCard,
.teamCard,
.processTimeline article,
.missionGrid article {
  position: relative;
  overflow: hidden;
}

.suiteModule::before,
.serviceCard::before,
.teamCard::before,
.processTimeline article::before,
.missionGrid article::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 3px;
  background: linear-gradient(90deg, rgb(var(--theme-accent-rgb) / 0.88), rgb(var(--theme-accent-2-rgb) / 0.72));
}

.suiteModule[class*="moduleTheme"] {
  border-color: rgb(var(--module-accent-rgb) / 0.32);
  background:
    linear-gradient(135deg, var(--module-soft), transparent 52%),
    var(--panel);
}

.suiteModule[class*="moduleTheme"][open],
.suiteModule[class*="moduleTheme"]:hover,
.pageTheme .serviceCard:hover,
.pageTheme .teamCard:hover,
.pageTheme .missionGrid article:hover,
.pageTheme .processTimeline article:hover {
  background:
    linear-gradient(135deg, var(--theme-soft), transparent 58%),
    var(--panel-2);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.28) inset,
    0 24px 56px rgba(15, 23, 42, 0.16);
}

.suiteModule[class*="moduleTheme"][open],
.suiteModule[class*="moduleTheme"]:hover {
  background:
    linear-gradient(135deg, var(--module-soft), transparent 58%),
    var(--panel-2);
}

.moduleToggle {
  background: rgba(229, 235, 243, 0.9);
}

.moduleRequestLink {
  background: rgba(229, 235, 243, 0.86);
}

.cardNumber {
  background: rgba(229, 235, 243, 0.9);
}

.darkSection,
.contrastSection,
.pageTheme .darkSection,
.pageTheme .contrastSection {
  background:
    linear-gradient(180deg, rgb(var(--theme-accent-rgb) / 0.055), transparent 100%),
    #cbd5e1;
  border-color: rgba(15, 23, 42, 0.16);
}

.contactForm input,
.contactForm select,
.contactForm textarea {
  background: #dfe7f1;
  border-color: rgba(15, 23, 42, 0.24);
  color: #0f1724;
}

.contactForm input:focus,
.contactForm select:focus,
.contactForm textarea:focus {
  background: #e8edf4;
}

.footer {
  border-top-color: rgba(15, 23, 42, 0.18);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.12), transparent),
    #bac6d5;
}

.copyright {
  border-top-color: rgba(15, 23, 42, 0.16);
}

/* Reference match: charcoal glass surfaces with red-purple edge glow */
:root {
  --page: #c5ccd6;
  --ink: #0f1724;
  --ink-soft: #253041;
  --muted: #465568;
  --quiet: #677589;
  --panel: #161d29;
  --panel-2: #1c2431;
  --panel-3: #222b39;
  --line: rgba(107, 114, 128, 0.32);
  --line-strong: rgba(168, 85, 247, 0.3);
  --shadow: 0 24px 64px rgba(15, 23, 42, 0.22);
}

body {
  background:
    linear-gradient(180deg, #d5dbe4 0%, #c8d0db 48%, #b9c2cf 100%),
    var(--page);
}

.siteHeader,
.heroVisual,
.pageHeroImage,
.signalBand div,
.ctaSection,
.suiteCard,
.missionGrid article,
.serviceCard,
.teamCard,
.processTimeline article,
.contactForm,
.industryGrid span,
.techStack span,
.checkList li,
.requestHighlights span {
  color: #f3f6fb;
  border-color: rgba(199, 105, 132, 0.35);
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.055), transparent 42%),
    linear-gradient(180deg, rgba(10, 14, 22, 0.94), rgba(21, 27, 38, 0.96));
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.08) inset,
    0 0 0 1px rgba(124, 58, 237, 0.08),
    0 20px 58px rgba(15, 23, 42, 0.28),
    0 0 32px rgba(239, 68, 68, 0.08);
}

.siteHeader {
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.055), transparent 42%),
    rgba(15, 20, 30, 0.9);
  border-color: rgba(199, 105, 132, 0.35);
}

.navLinks,
.footer nav,
.socialLinks {
  color: #aeb8c7;
}

.navCta,
.secondaryButton,
.lightButton,
.moduleRequestLink {
  color: #f3f6fb;
  border-color: rgba(199, 105, 132, 0.34);
  background:
    linear-gradient(135deg, rgba(239, 68, 68, 0.12), rgba(124, 58, 237, 0.1)),
    rgba(16, 22, 33, 0.86);
}

.hero::before,
.pageHero::before,
.pageTheme .pageHero::before,
.themeSuite .hero::before {
  background:
    linear-gradient(90deg, rgba(15, 23, 42, 0.06) 1px, transparent 1px),
    linear-gradient(180deg, rgba(15, 23, 42, 0.045) 1px, transparent 1px),
    radial-gradient(circle at 18% 8%, rgba(124, 58, 237, 0.12), transparent 24%),
    radial-gradient(circle at 82% 14%, rgba(239, 68, 68, 0.11), transparent 24%),
    #c7ced8;
  background-size: 78px 78px, 78px 78px, auto, auto, auto;
}

.heroVisual,
.pageHeroImage {
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.05), transparent 40%),
    linear-gradient(180deg, rgba(9, 13, 22, 0.96), rgba(20, 26, 37, 0.98));
}

.heroVisual::before,
.pageHeroImage::before {
  inset: 22px 30px;
  border-color: rgba(151, 162, 181, 0.2);
  background:
    linear-gradient(90deg, rgba(151, 162, 181, 0.14) 1px, transparent 1px),
    linear-gradient(180deg, rgba(151, 162, 181, 0.1) 1px, transparent 1px),
    linear-gradient(100deg, rgba(124, 58, 237, 0.18), transparent 38%),
    linear-gradient(270deg, rgba(239, 68, 68, 0.14), transparent 42%),
    rgba(11, 16, 25, 0.34);
  background-size: 42px 42px, 42px 42px, auto, auto, auto;
}

.heroVisual img,
.pageHeroImage img,
.pageTheme .pageHeroImage img {
  opacity: 0.34;
  filter: grayscale(0.92) saturate(0.35) contrast(0.9) brightness(0.62);
}

.suiteCard h3,
.missionGrid h3,
.serviceCard h3,
.teamCard h3,
.processTimeline h3,
.contactForm label,
.ctaSection h2,
.signalBand strong {
  color: #f8fafc;
}

.suiteCard p,
.missionGrid p,
.serviceCard p,
.teamCard p,
.processTimeline p,
.contactForm p,
.ctaSection p:not(.eyebrow),
.signalBand span,
.checkList li,
.industryGrid span,
.techStack span,
.requestHighlights span {
  color: #aeb8c7;
}

.suiteModule[class*="moduleTheme"],
.suiteModule[class*="moduleTheme"][open],
.suiteModule[class*="moduleTheme"]:hover {
  background:
    linear-gradient(145deg, var(--module-soft), transparent 44%),
    linear-gradient(180deg, rgba(10, 14, 22, 0.94), rgba(21, 27, 38, 0.96));
}

.suiteModule[class*="moduleTheme"]::before,
.serviceCard::before,
.teamCard::before,
.processTimeline article::before,
.missionGrid article::before {
  height: 2px;
  background: linear-gradient(90deg, rgba(239, 68, 68, 0.86), rgba(124, 58, 237, 0.72));
}

.contactForm input,
.contactForm select,
.contactForm textarea {
  color: #f8fafc;
  background: rgba(9, 13, 22, 0.62);
  border-color: rgba(151, 162, 181, 0.24);
}

.contactForm input:focus,
.contactForm select:focus,
.contactForm textarea:focus {
  background: rgba(13, 18, 28, 0.74);
}

.footer {
  color: #dbe3ee;
  border-top-color: rgba(199, 105, 132, 0.28);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.04), transparent),
    #151b26;
}

.footer p {
  color: #9facbd;
}

@media (max-width: 980px) {
  .siteHeader {
    grid-template-columns: 1fr auto;
  }

  .navLinks {
    justify-content: flex-start;
    gap: clamp(12px, 2vw, 20px);
  }

  .navActions {
    gap: 8px;
  }

  .hero {
    grid-template-columns: 1fr;
    min-height: auto;
    padding-top: 152px;
  }

  .pageHero {
    grid-template-columns: 1fr;
    padding-top: 150px;
  }

  .pageHeroRight .pageHeroImage,
  .pageHeroImageFirst .pageHeroImage {
    order: initial;
  }

  .pageHeroRight .pageHeroCopy,
  .pageHeroImageFirst .pageHeroCopy {
    order: initial;
    text-align: left;
  }

  .pageHeroRight h1,
  .pageHeroRight .pageHeroCopy p:not(.eyebrow) {
    margin-left: 0;
  }

  .themeMaple .pageHeroImageFirst .pageHeroCopy {
    padding-left: 0;
    border-left: 0;
  }

  .pageHeroBanner .pageHeroCopy,
  .sectionHeader.compact.suiteModuleHeader {
    grid-template-columns: 1fr;
  }

  .pageHeroBanner .pageHeroCopy p:not(.eyebrow),
  .sectionHeader.compact.suiteModuleHeader p:not(.eyebrow) {
    margin-top: 16px;
  }

  h1 {
    max-width: 12ch;
  }

  .sectionHeader,
  .wideHeader,
  .whyGrid,
  .contactSection,
  .ctaSection,
  .footer {
    grid-template-columns: 1fr;
  }

  .serviceGrid,
  .industryGrid,
  .processTimeline,
  .teamGrid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .suiteGrid {
    grid-template-columns: minmax(0, 1fr);
  }

  .ctaSection .button {
    width: fit-content;
  }
}

@media (max-width: 680px) {
  .siteHeader {
    width: min(100% - 20px, var(--max));
    margin-top: 10px;
    gap: 12px;
    padding: 10px;
  }

  .navCta {
    min-height: 40px;
    padding: 0 12px;
    font-size: 0.82rem;
  }

  .navActions {
    justify-content: flex-end;
  }

  .navLinks {
    gap: 16px;
    font-size: 0.86rem;
  }

  .hero {
    width: min(100% - 24px, var(--max));
    padding-top: 152px;
    padding-bottom: 36px;
  }

  h1 {
    font-size: clamp(2.25rem, 12vw, 3.55rem);
  }

  h2 {
    max-width: 13ch;
  }

  .pageHero {
    width: min(100% - 24px, var(--max));
    padding-top: 142px;
    padding-bottom: 42px;
  }

  .pageHero h1 {
    font-size: clamp(2rem, 10.5vw, 3.25rem);
  }

  .pageHeroCenter h1,
  .pageHeroBanner h1,
  .sectionHeader.compact.suiteModuleHeader h2 {
    max-width: none;
  }

  .heroActions,
  .heroActions .button,
  .ctaSection .button {
    width: 100%;
  }

  .heroVisual img {
    min-height: 250px;
  }

  .pageHeroImage img {
    min-height: 235px;
  }

  .signalBand,
  .splitText,
  .missionGrid,
  .serviceGrid,
  .industryGrid,
  .checkList,
  .processTimeline,
  .teamGrid,
  .contactForm {
    grid-template-columns: 1fr;
  }

  .suiteGrid {
    grid-template-columns: minmax(0, 1fr);
  }

  .section,
  .signalBand,
  .ctaSection {
    width: min(100% - 24px, var(--max));
  }

  .section {
    padding: 64px 0;
  }

  .requestSection {
    padding-top: 42px;
  }

  .darkSection,
  .contrastSection {
    padding-right: 12px;
    padding-left: 12px;
  }

  .contactSection {
    grid-template-columns: minmax(0, 1fr);
  }

  .contactForm {
    padding: 18px;
  }

  .footer {
    padding-right: 12px;
    padding-left: 12px;
  }
}

/* Site-wide charcoal base requested from reference screenshot */
:root {
  --page: #232731;
  --ink: #f4f7fb;
  --ink-soft: #d7dee9;
  --muted: #aeb8c7;
  --quiet: #8894a5;
  --panel: #171c25;
  --panel-2: #1c222d;
  --panel-3: #252b36;
  --line: rgba(174, 184, 199, 0.2);
  --line-strong: rgba(199, 105, 132, 0.34);
  --shadow: 0 24px 64px rgba(5, 9, 15, 0.28);
}

html,
body,
main {
  background: #232731;
}

body {
  background:
    linear-gradient(180deg, rgba(35, 39, 49, 0.98) 0%, #232731 42%, #232731 100%),
    #232731;
  color: var(--ink);
}

.hero::before,
.pageHero::before,
.pageTheme .pageHero::before,
.themeSuite .hero::before {
  background:
    linear-gradient(90deg, rgba(174, 184, 199, 0.035) 1px, transparent 1px),
    linear-gradient(180deg, rgba(174, 184, 199, 0.028) 1px, transparent 1px),
    radial-gradient(circle at 18% 8%, rgba(124, 58, 237, 0.1), transparent 24%),
    radial-gradient(circle at 82% 14%, rgba(239, 68, 68, 0.09), transparent 24%),
    #232731;
}

h1,
h2,
h3,
.heroCopy,
.ctaSection,
.contactCopy,
.suiteCard h3,
.missionGrid h3,
.serviceCard h3,
.teamCard h3,
.processTimeline h3,
.contactForm label,
.ctaSection h2,
.signalBand strong {
  color: var(--ink);
}

.heroLead,
.pageHeroCopy p:not(.eyebrow),
.ctaSection p:not(.eyebrow) {
  color: var(--ink-soft);
}

.heroText,
.sectionHeader.compact p:not(.eyebrow),
.wideHeader p,
.whyGrid p,
.contactCopy p,
.suiteCard p,
.missionGrid p,
.serviceCard p,
.teamCard p,
.processTimeline p,
.contactForm p,
.signalBand span,
.checkList li,
.industryGrid span,
.techStack span,
.requestHighlights span {
  color: var(--muted);
}

.siteHeader,
.heroVisual,
.pageHeroImage,
.signalBand div,
.ctaSection,
.suiteCard,
.missionGrid article,
.serviceCard,
.teamCard,
.processTimeline article,
.contactForm,
.industryGrid span,
.techStack span,
.checkList li,
.requestHighlights span {
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.045), transparent 42%),
    linear-gradient(180deg, rgba(12, 16, 25, 0.94), rgba(23, 28, 37, 0.96));
  border-color: rgba(199, 105, 132, 0.32);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.07) inset,
    0 0 0 1px rgba(124, 58, 237, 0.06),
    0 20px 54px rgba(5, 9, 15, 0.24);
}

.siteHeader {
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.045), transparent 42%),
    rgba(18, 23, 32, 0.9);
}

.darkSection,
.contrastSection,
.pageTheme .darkSection,
.pageTheme .contrastSection {
  background:
    linear-gradient(180deg, rgb(var(--theme-accent-rgb) / 0.055), transparent 100%),
    #232731;
  color: var(--ink);
  border-color: rgba(174, 184, 199, 0.12);
}

.pageTheme .missionGrid article,
.pageTheme .serviceCard,
.pageTheme .teamCard,
.pageTheme .processTimeline article,
.pageTheme .contactForm,
.pageTheme .ctaSection,
.themeSuite .ctaSection,
.themeSuite .signalBand {
  background:
    linear-gradient(145deg, var(--theme-soft), transparent 50%),
    linear-gradient(180deg, rgba(12, 16, 25, 0.94), rgba(23, 28, 37, 0.96));
}

.navCta,
.secondaryButton,
.lightButton,
.moduleRequestLink,
.contactForm input,
.contactForm select,
.contactForm textarea {
  color: var(--ink);
  background: rgba(18, 23, 32, 0.88);
  border-color: rgba(174, 184, 199, 0.22);
}

.contactForm input:focus,
.contactForm select:focus,
.contactForm textarea:focus {
  background: rgba(23, 28, 37, 0.96);
}

.footer {
  color: var(--ink-soft);
  border-top-color: rgba(174, 184, 199, 0.14);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.035), transparent),
    #232731;
}

.footer p {
  color: var(--muted);
}

/* Final image lift: keep the dark theme, but stop page pictures from looking buried */
.heroVisual::before,
.pageHeroImage::before {
  opacity: 0.72;
  background:
    linear-gradient(90deg, rgba(151, 162, 181, 0.1) 1px, transparent 1px),
    linear-gradient(180deg, rgba(151, 162, 181, 0.075) 1px, transparent 1px),
    linear-gradient(100deg, rgba(124, 58, 237, 0.12), transparent 38%),
    linear-gradient(270deg, rgba(239, 68, 68, 0.1), transparent 42%),
    rgba(11, 16, 25, 0.16);
}

.heroVisual img,
.pageHeroImage img,
.pageTheme .pageHeroImage img {
  opacity: 0.84;
  filter: grayscale(0.04) saturate(0.96) contrast(1.04) brightness(0.92);
}

/* Atlas public desktop download */
.moduleActions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}

.platformOptions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.platformOption {
  display: grid;
  align-content: space-between;
  gap: 14px;
  min-height: 178px;
  padding: 16px;
  border: 1px solid rgb(var(--module-accent-rgb, 239 68 68) / 0.28);
  border-radius: 12px;
  background:
    linear-gradient(145deg, rgb(var(--module-accent-rgb, 239 68 68) / 0.075), transparent 62%),
    rgba(8, 13, 22, 0.34);
}

.platformOption span {
  display: block;
  color: var(--ink);
  font-size: 0.98rem;
  font-weight: 900;
}

.platformOption strong {
  margin-top: 6px;
  color: var(--module-accent, var(--atlas-red));
  font-size: 0.78rem;
  text-transform: uppercase;
}

.platformOption p {
  margin: 8px 0 0 !important;
  color: var(--muted) !important;
  font-size: 0.86rem !important;
  line-height: 1.5;
}

.platformAction {
  width: 100%;
}

.platformDownloads {
  display: grid;
  gap: 10px;
}

.moduleDownloadLink {
  color: var(--module-button-text, #fff) !important;
  border-color: rgb(var(--module-accent-rgb, 239 68 68) / 0.78) !important;
  background: linear-gradient(
    135deg,
    var(--module-accent, #ef4444),
    rgb(var(--module-accent-rgb, 239 68 68) / 0.72)
  ) !important;
  box-shadow: 0 12px 30px rgb(var(--module-accent-rgb, 239 68 68) / 0.22);
}

.moduleDownloadLink:hover {
  border-color: var(--module-accent, #fb7185) !important;
  background: linear-gradient(
    135deg,
    rgb(var(--module-accent-rgb, 239 68 68) / 0.92),
    rgb(var(--module-accent-rgb, 239 68 68) / 0.66)
  ) !important;
}

.moduleDownloadMeta {
  margin: -4px 0 0 !important;
  color: var(--quiet) !important;
  font-size: 0.8rem !important;
}

.moduleDownloadMeta a {
  color: var(--atlas-red);
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.suiteModule[class*="moduleTheme"] .moduleDownloadMeta a {
  color: var(--module-accent);
}

/* Keep the technology list calm, uniform, and centered at every width. */
.techSection .techStack {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: stretch;
  gap: 12px;
  max-width: 1460px;
  margin: 34px auto 0;
}

.pageTheme .techSection .techStack span {
  flex: 1 1 220px;
  width: min(100%, 280px);
  max-width: 280px;
  min-height: 62px;
  justify-content: center;
  padding: 14px 18px;
  border: 1px solid rgb(var(--theme-accent-rgb) / 0.32);
  border-radius: 12px;
  color: #eef2f7;
  background:
    linear-gradient(145deg, rgb(var(--theme-accent-rgb) / 0.08), transparent 56%),
    rgba(13, 18, 27, 0.9);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.055) inset,
    0 10px 28px rgba(5, 9, 15, 0.16);
  font-size: clamp(0.86rem, 1.15vw, 1rem);
  line-height: 1.25;
  text-align: center;
}

@media (max-width: 560px) {
  .techSection .techStack {
    gap: 10px;
    margin-top: 26px;
  }

  .pageTheme .techSection .techStack span {
    flex-basis: calc(50% - 5px);
    width: calc(50% - 5px);
    min-height: 58px;
    padding: 12px 10px;
    font-size: 0.82rem;
  }
}

.moduleStatus {
  color: var(--module-accent, var(--atlas-red));
  font-size: 0.72em;
  font-weight: 800;
}

.modulePreviewNotice {
  margin: 0 !important;
  padding: 10px 12px;
  border: 1px solid rgb(var(--module-accent-rgb, 124 58 237) / 0.34);
  border-radius: 10px;
  color: var(--quiet) !important;
  background: rgb(var(--module-accent-rgb, 124 58 237) / 0.07);
  font-size: 0.82rem !important;
}

@media (max-width: 620px) {
  .platformOptions {
    grid-template-columns: 1fr;
  }

  .moduleActions,
  .moduleActions .moduleRequestLink,
  .platformAction {
    width: 100%;
  }
}

/* Keep each AI module's identity clear: one product, one accent line. */
.suiteModule[class*="moduleTheme"]::before {
  background: var(--module-accent);
  box-shadow: 0 0 14px rgb(var(--module-accent-rgb) / 0.34);
}

.teamAccentRed {
  --team-accent: #ef4444;
  --team-accent-rgb: 239 68 68;
}

.teamAccentPurple {
  --team-accent: #a855f7;
  --team-accent-rgb: 168 85 247;
}

.teamAccentYellow {
  --team-accent: #facc15;
  --team-accent-rgb: 250 204 21;
}

.teamAccentGreen {
  --team-accent: #22c55e;
  --team-accent-rgb: 34 197 94;
}

.teamCard[class*="teamAccent"] {
  border-color: rgb(var(--team-accent-rgb) / 0.32);
}

.teamCard[class*="teamAccent"]::before {
  background: var(--team-accent);
  box-shadow: 0 0 14px rgb(var(--team-accent-rgb) / 0.34);
}

.pageTheme .teamCard[class*="teamAccent"] > span {
  color: var(--team-accent);
}

.teamCard[class*="teamAccent"] .photoAvatar {
  border-color: rgb(var(--team-accent-rgb) / 0.72);
  box-shadow:
    0 0 0 1px rgb(var(--team-accent-rgb) / 0.18),
    0 12px 32px rgb(var(--team-accent-rgb) / 0.14);
}

.pageTheme .teamCard[class*="teamAccent"]:hover {
  border-color: rgb(var(--team-accent-rgb) / 0.58);
}

/* Page cards inherit their page identity instead of the old red-purple bar. */
.pageTheme .serviceCard::before,
.pageTheme .processTimeline article::before,
.pageTheme .missionGrid article::before {
  background: var(--theme-accent);
  box-shadow: 0 0 14px rgb(var(--theme-accent-rgb) / 0.3);
}

/* Homepage CTAs: strong contrast and clear four-color brand hierarchy. */
.themeSuite .heroActions .primaryButton {
  color: #fff;
  border-color: rgb(239 68 68 / 0.7);
  background: linear-gradient(135deg, #ef4444, #be123c);
  box-shadow: 0 14px 34px rgb(239 68 68 / 0.22);
}

.themeSuite .heroActions .primaryButton:hover {
  border-color: #fb7185;
  background: linear-gradient(135deg, #f43f5e, #be123c);
}

.themeSuite .heroActions .secondaryButton {
  color: #f8fafc;
  border-color: rgb(168 85 247 / 0.58);
  background:
    linear-gradient(135deg, rgb(168 85 247 / 0.2), rgb(124 58 237 / 0.08)),
    #121720;
  box-shadow: 0 14px 34px rgb(124 58 237 / 0.14);
}

.themeSuite .heroActions .secondaryButton:hover {
  border-color: rgb(192 132 252 / 0.82);
  background:
    linear-gradient(135deg, rgb(168 85 247 / 0.3), rgb(124 58 237 / 0.14)),
    #171d28;
}

.themeSuite .ctaSection .lightButton {
  color: #fff;
  border-color: rgb(168 85 247 / 0.72);
  background: linear-gradient(135deg, #7c3aed, #a855f7);
  box-shadow: 0 14px 34px rgb(124 58 237 / 0.22);
}

.themeSuite .ctaSection .lightButton:hover {
  border-color: #c084fc;
  background: linear-gradient(135deg, #6d28d9, #9333ea);
}

/* Clean, consistent industry cards without the old metallic glare. */
.industryGrid {
  gap: 12px;
  max-width: 1460px;
  margin: 34px auto 0;
}

.pageTheme .industryGrid span {
  min-height: 64px;
  justify-content: center;
  padding: 14px 18px;
  border: 1px solid rgb(var(--theme-accent-rgb) / 0.32);
  border-radius: 12px;
  color: #eef2f7;
  background:
    linear-gradient(145deg, rgb(var(--theme-accent-rgb) / 0.08), transparent 56%),
    rgba(13, 18, 27, 0.9);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.055) inset,
    0 10px 28px rgba(5, 9, 15, 0.16);
  line-height: 1.25;
  text-align: center;
}

/* Header actions remain readable and evenly spaced with the review action. */
.siteHeader .navActions {
  flex-wrap: nowrap;
  gap: 8px;
}

.siteHeader .navCta {
  min-height: 42px;
  padding: 0 15px;
  border: 1px solid rgba(174, 184, 199, 0.25);
  border-radius: 10px;
  color: #f1f5f9;
  background: rgba(13, 18, 27, 0.9);
  box-shadow: none;
  white-space: nowrap;
}

.siteHeader .requestNavCta {
  border-color: rgba(168, 85, 247, 0.5);
  background:
    linear-gradient(135deg, rgba(168, 85, 247, 0.18), transparent 70%),
    rgba(13, 18, 27, 0.92);
}

.siteHeader .reviewNavCta {
  border-color: rgba(239, 68, 68, 0.56);
  background:
    linear-gradient(135deg, rgba(239, 68, 68, 0.2), transparent 70%),
    rgba(13, 18, 27, 0.92);
}

.siteHeader .reviewNavCta:hover {
  border-color: rgba(251, 113, 133, 0.9);
  box-shadow: 0 12px 28px rgba(239, 68, 68, 0.16);
}

/* Review form; reviewer emails remain private. */
.reviewSection {
  align-items: start;
}

.reviewPrivacy {
  display: grid;
  gap: 6px;
  margin-top: 24px;
  padding: 18px;
  border: 1px solid rgba(239, 68, 68, 0.3);
  border-radius: 12px;
  background: rgba(13, 18, 27, 0.72);
}

.reviewPrivacy strong {
  color: #f8fafc;
}

.reviewPrivacy span {
  color: var(--muted);
  font-size: 0.92rem;
}

.reviewConsent {
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-start;
  gap: 10px !important;
  color: var(--muted) !important;
  font-size: 0.88rem;
  font-weight: 650 !important;
  line-height: 1.45;
}

.reviewConsent input {
  flex: 0 0 auto;
  width: 18px !important;
  min-height: 18px !important;
  margin-top: 2px;
  accent-color: var(--atlas-red);
}

@media (max-width: 860px) {
  .siteHeader {
    grid-template-columns: minmax(0, 1fr);
  }

  .siteHeader .navLinks {
    justify-content: center;
  }

  .siteHeader .navActions {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    width: 100%;
  }

  .siteHeader .navCta {
    width: 100%;
    min-width: 0;
    padding: 0 9px;
    text-align: center;
    white-space: normal;
  }
}

@media (max-width: 980px) {
  .industryGrid span:last-child:nth-child(odd) {
    grid-column: 1 / -1;
    width: calc(50% - 6px);
    justify-self: center;
  }
}

@media (max-width: 680px) {
  .industryGrid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-top: 26px;
  }

  .pageTheme .industryGrid span {
    min-height: 58px;
    padding: 12px 10px;
    font-size: 0.82rem;
  }

  .siteHeader .navCta {
    min-height: 44px;
    font-size: 0.72rem;
    line-height: 1.15;
  }

}

/* Neutral header: no product colors in the navigation bar */
.siteHeader {
  border-color: rgba(174, 184, 199, 0.22);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.035), transparent),
    rgba(17, 22, 31, 0.94);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.055) inset,
    0 18px 46px rgba(5, 9, 15, 0.2);
}

.siteHeader::before {
  display: none;
}

.siteHeader .navLinks {
  color: #b6c0ce;
}

.siteHeader .navLinks a:hover {
  color: #eef2f7;
}

.siteHeader .navCta,
.siteHeader .requestNavCta,
.siteHeader .reviewNavCta {
  border-color: rgba(174, 184, 199, 0.28);
  background: rgba(13, 18, 27, 0.9);
  color: #f1f5f9;
  box-shadow: none;
}

.siteHeader .navCta:hover,
.siteHeader .requestNavCta:hover,
.siteHeader .reviewNavCta:hover,
.pageTheme .siteHeader .navCta:hover,
.themeSuite .siteHeader .navCta:hover {
  border-color: rgba(226, 232, 240, 0.42);
  background: rgba(23, 29, 40, 0.95);
  box-shadow: none;
}

/* Neutral content accents: no red, purple, or gradient CTA styling */
.eyebrow,
.eyebrow.dark,
.pageTheme .eyebrow,
.pageTheme .eyebrow.dark,
.themeSuite .eyebrow,
.themeSuite .eyebrow.dark,
.sectionHeader.compact.suiteModuleHeader .eyebrow,
.ctaSection .eyebrow,
.moduleStatus {
  color: #c4cedb;
}

.primaryButton,
.secondaryButton,
.lightButton,
.pageTheme .primaryButton,
.pageTheme .secondaryButton,
.pageTheme .lightButton,
.themeSuite .primaryButton,
.themeSuite .secondaryButton,
.themeSuite .lightButton,
.themeSuite .heroActions .primaryButton,
.themeSuite .heroActions .secondaryButton,
.themeSuite .ctaSection .lightButton,
.contactForm .primaryButton {
  border: 1px solid rgba(174, 184, 199, 0.3);
  background: rgba(13, 18, 27, 0.9);
  color: #f1f5f9;
  box-shadow: none;
}

.primaryButton:hover,
.secondaryButton:hover,
.lightButton:hover,
.pageTheme .primaryButton:hover,
.pageTheme .secondaryButton:hover,
.pageTheme .lightButton:hover,
.themeSuite .primaryButton:hover,
.themeSuite .secondaryButton:hover,
.themeSuite .lightButton:hover,
.themeSuite .heroActions .primaryButton:hover,
.themeSuite .heroActions .secondaryButton:hover,
.themeSuite .ctaSection .lightButton:hover,
.contactForm .primaryButton:hover {
  border-color: rgba(226, 232, 240, 0.44);
  background: rgba(23, 29, 40, 0.95);
  color: #f8fafc;
  box-shadow: none;
}

.ctaSection,
.pageTheme .ctaSection,
.themeSuite .ctaSection {
  border-color: rgba(174, 184, 199, 0.22);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.035), transparent),
    linear-gradient(180deg, rgba(12, 16, 25, 0.94), rgba(23, 28, 37, 0.96));
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.055) inset,
    0 18px 46px rgba(5, 9, 15, 0.18);
}

/* Public, product-specific reviews inside each AI Suite module. */
.reviewDisclosure {
  overflow: hidden;
  border: 1px solid rgb(var(--module-accent-rgb, 148 163 184) / 0.3);
  border-radius: 12px;
  background: rgba(8, 13, 22, 0.34);
}

.reviewDisclosure > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 15px 16px;
  color: var(--ink);
  cursor: pointer;
  font-weight: 900;
  list-style: none;
}

.reviewDisclosure > summary::-webkit-details-marker {
  display: none;
}

.reviewSummary {
  color: var(--module-accent, var(--quiet));
  font-size: 0.82rem;
  text-align: right;
}

.aiReviewPanel {
  display: grid;
  gap: 14px;
  padding: 0 16px 16px;
  border-top: 1px solid rgb(var(--module-accent-rgb, 148 163 184) / 0.22);
}

.aiReviewList {
  display: grid;
  gap: 10px;
  padding-top: 14px;
}

.aiReviewCard {
  display: grid;
  gap: 8px;
  padding: 14px;
  border: 1px solid rgba(174, 184, 199, 0.18);
  border-radius: 10px;
  background: rgba(13, 18, 27, 0.72);
}

.aiReviewHeader {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.aiReviewHeader strong {
  margin: 0;
  color: var(--ink);
}

.reviewStars {
  color: var(--module-accent, #facc15);
  font-size: 0.92rem;
  letter-spacing: 0.08em;
  white-space: nowrap;
}

.aiReviewCard p,
.reviewEmpty {
  margin: 0 !important;
  color: var(--muted) !important;
  white-space: pre-wrap;
}

.aiReviewCard time {
  color: var(--quiet);
  font-size: 0.76rem;
}

.reviewEmpty {
  padding-top: 14px;
}

.reviewAction {
  width: fit-content;
}

@media (max-width: 560px) {
  .reviewDisclosure > summary,
  .aiReviewHeader {
    align-items: flex-start;
    flex-direction: column;
    gap: 6px;
  }

  .reviewSummary {
    text-align: left;
  }

  .reviewAction {
    width: 100%;
  }
}
