/* Approved section palette: light content between the original dark hero and contact. */
.shell {
  --section-light: #e5e5e5;
  --section-ink: #153247;
  --section-muted: #415c6d;
  --section-accent: #086d8d;
  --section-line: #9ebacb;
  --wireframe-opacity: .65;
}
/* Match light section joins; retain navy only beneath the header seam. */
.shell > main { background: linear-gradient(to bottom, var(--page-navy, #09131f) 0 2px, var(--section-light) 2px); }
.shell .hero-atlas .grid-backdrop { display: none; }
.shell > main > section:not(.hero):not(#contact) {
  background: var(--section-light) !important;
  color: var(--section-ink);
}
.shell .flow-section-heading h2,
.shell .ecosystem-heading h2,
.shell .process-heading h2,
.shell .industries-intro h2,
.shell .about-copy h2,
.shell .expertise > .section-heading h2 { color: var(--section-ink) !important; }
.shell .about-copy p,
.shell .industries-intro > p,
.shell .process-intro,
.shell .process-heading > p { color: var(--section-muted); }
.shell .about-copy h2 em,
.shell .industries-intro h2 span,
.shell .ecosystem-heading h2 span {
  color: var(--section-accent);
  background: none;
  -webkit-text-fill-color: currentColor;
}
.shell .about-visual { background-color: transparent; border-color: var(--section-line); }
.shell .about-visual::before { opacity: .25; }
.shell .industries-icon-wall,
.shell .industries-icon-cell { border-color: var(--section-line); }
.shell .industries-icon-cell { color: var(--section-ink); }
.shell .industries-icon { color: var(--section-accent); }
.shell .industries-icon-cell:hover { background: #b4cbd9; }
.shell .industries-grid-mark { filter: brightness(.65); }
.shell .flow-corner-globe { filter: none; opacity: var(--wireframe-opacity); }
.shell .flow-hub small,
.shell .diagonal-flow-caption { color: var(--section-muted); fill: var(--section-muted); }
/* Keep light-surface logos legible even away from the cursor. */
.shell #ecosystem .eco-proximity-enabled .ecosystem-tool:not(.ecosystem-center) {
  opacity: clamp(.88, calc(var(--eco-proximity, .65) + var(--eco-energy, 0) * .38), 1);
}
.shell .ecosystem-tool .ecosystem-tile img { opacity: 1; }
.shell .ecosystem-tool .ecosystem-tile img[alt="LangChain"],
.shell .ecosystem-tool .ecosystem-tile img[alt="React"] { filter: brightness(.6); }
.shell .ecosystem-tool .ecosystem-tile img[alt="OpenAI"],
.shell .ecosystem-tool .ecosystem-tile img[alt="GitHub"],
.shell .ecosystem-tool .ecosystem-tile img[alt="Splunk"] {
  filter: brightness(0) saturate(100%) invert(.18);
}
.shell .ecosystem-map::before,
.shell .ecosystem-map::after { opacity: .18; }
.shell .floating-back-top { background: #d2e1e9aa; color: #176b8b; }

/* One navy pixel surface continues through contact and footer. */
.shell > main > #contact {
  background: var(--page-navy, #09131f);
  color: #eaf4fa;
  position: relative;
  isolation: isolate;
  overflow: visible;
  clip-path: none;
}
.shell #contact > .contact-interactive-field { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 0; pointer-events: none; background: var(--page-navy, #09131f); }
.shell #contact::before,
.shell #contact::after { content: none; display: none; }
.shell #contact .contact-intro h2 { color: #eaf4fa; }
.shell #contact .contact-intro h2 em { color: #83d8eb; }
.shell #contact .contact-intro > p,
.shell #contact .contact-email { color: #b4cad8; }
.shell #contact .contact-form { box-shadow: 0 20px 40px #0003; }

/* The contact canvas extends behind the compact footer. */
.shell > footer {
  background: transparent;
  position: relative;
  isolation: isolate;
  overflow: visible;
  padding-top: 22px;
  padding-bottom: 24px;
}
.shell > footer::before { content: none; display: none; }
.shell > footer .footer-links,
.shell > footer .footer-connect { gap: 6px; color: #f2f8fc; }
.shell > footer .footer-grid .mono { margin-bottom: 3px; }
.shell > footer .footer-grid .footer-copyright { margin-top: 12px; color: #d1e2ec; }
@media (min-width: 701px) {
  .shell > footer .footer-links > a,
  .shell > footer .footer-connect > a { min-height: 28px; }
}
@media (max-width: 700px) {
  .shell > footer { padding-top: 22px; padding-bottom: 38px; }
  .shell > footer .footer-grid { row-gap: 18px; }
  .shell > footer .footer-links,
  .shell > footer .footer-connect { padding-top: 4px; }
}

/* A deep blue reading panel separates the approach card from the light page. */
.shell .work-process .process-steps { background: #123653; color: #f2f8fc; }
.shell .work-process .process-split::before,
.shell .work-process .process-split::after { display: none; }
.shell .work-process .process-step { border-bottom-color: #41617a; }
.shell .work-process .process-step button { color: #d4e4ef; }
.shell .work-process .process-step button:hover,
.shell .work-process .process-step button[aria-expanded="true"] { color: #ffffff; }
.shell .work-process .process-copy h4,
.shell .work-process .process-mobile-title { color: #f2f8fc; }
.shell .work-process .process-copy p { color: #c5dbe9; }
.shell .work-process .process-toggle { color: #98dcec; }
.shell .work-process .process-number,
.shell .work-process .process-mobile-tabs button { background: #1b4463; border-color: #6b93ad; color: #d4e4ef; }
.shell .work-process .process-step.is-active .process-number,
.shell .work-process .process-mobile-tabs button[aria-pressed="true"] { background: #83d8eb; border-color: #83d8eb; color: #123653; box-shadow: none; }
.shell .work-process .process-step:not(.is-active) button:hover .process-number,
.shell .work-process .process-mobile-tabs button:not([aria-pressed="true"]):hover { background: #275574; border-color: #83d8eb; color: #ffffff; }
.shell .work-process .process-step button:focus-visible,
.shell .work-process .process-mobile-tabs button:focus-visible { outline-color: #83d8eb; }
@media (max-width: 743px) {
  .shell .work-process .process-step { border: 0; }
}
