/* Public dark paint only. Layout and typography live in the shared design layer.
 * Brand opening, blue product overlays and original image pixels stay unchanged. */
html[data-theme="dark"] body.public-site.public-design-page:not(.page-home) #public-main {
  --public-muted: #a9b8c9;
  --public-line: #334155;
  --public-error-text: #ffb4b4;
}
html[data-theme="dark"] body.public-site.public-design-page:not(.page-home) #public-main .public-design-hero {
  --public-text: #f8fafc;
  --public-muted: #a9b8c9;
  --public-hero-text: #f8fafc;
  --public-hero-muted: #a9b8c9;
}
html[data-theme="dark"] body.public-site.public-design-page:not(.page-home) #public-main .public-page-hero::before { opacity: .32; }
@media (max-width: 767px) {
  /* Keep small summary text readable even over the brightest decorative pixels. */
  html[data-theme="dark"] body.public-site.public-design-page:not(.page-home) #public-main .public-page-hero::before { opacity: .18; }
}
html[data-theme="dark"] body.public-site.public-design-page:not(.page-home) #public-main :is([data-contact-submit], .service-contact-section a) {
  background: #8bb4e8;
  color: #08111d;
}
html[data-theme="dark"] body.public-site {
  --public-footer-bg: var(--public-bg);
  --public-footer-text: #a9b8c9;
  --public-footer-heading: var(--public-text);
}

html[data-theme="dark"] body.public-site > footer a:is(:hover, :focus-visible) {
  color: var(--public-accent-bright);
}

/* Match the light layout's paint roles without importing its fixed colors. */
html[data-theme="dark"] body.public-site.public-design-page #public-main :is(.contact-form-panel, .securepoint-process .process-flow > li) {
  border-color: var(--public-line);
}

html[data-theme="dark"] body.public-site.public-design-page #public-main .product-feature-list li::before {
  background: var(--public-accent);
}

html[data-theme="dark"] body.public-site.public-design-page #public-main :is(h1, h2, h3) {
  color: var(--public-text);
}

html[data-theme="dark"] body.public-site.public-design-page #public-main :is(.section-number, .section-label) {
  color: var(--public-accent);
}

html[data-theme="dark"] body.public-site.public-design-page #public-main :is(.support-hero p, .business-domain__heading h2 [lang="en"], .portfolio-case-group__count),
html[data-theme="dark"] body.public-site.public-design-page #public-main.public-document article > h1 + div > p:first-child {
  color: var(--public-muted);
}

html[data-theme="dark"] body.public-site.public-design-page #public-main .public-design-hero::before {
  opacity: 1;
}

/* Keep the existing dark gradient, with the solid fallback as a color, not an
 * extra empty image layer. Image geometry then matches the shared light layout. */
html[data-theme="dark"] body.public-site.public-design-page #public-main .solution-relationship-band {
  background: linear-gradient(105deg, rgba(5, 15, 27, 0.98), rgba(8, 28, 39, 0.96)) var(--public-tech-bg);
}

html[data-theme="dark"] body.public-site.public-design-page #public-main :is(.public-design-section, .public-design-list, .public-design-list > li) {
  border-color: var(--public-line);
}

html[data-theme="dark"] body.public-site.public-design-page #public-main :is(.public-anchor-nav, .public-subnav, .portfolio-view-tabs, .public-design-article) {
  background: var(--public-surface);
  border-color: var(--public-line);
}

html[data-theme="dark"] body.public-site.public-design-page #public-main :is(.content-action, .business-text-link, .service-contact-section a, .recruit-contact-section a, .portfolio-partner-meta a, .public-design-article > footer a, .public-design-list a.min-h-11, [data-contact-submit], [data-contact-reset]) {
  border-color: var(--public-accent);
  background: var(--public-surface);
  color: var(--public-accent);
}

html[data-theme="dark"] body.public-site.public-design-page #public-main :is(.content-action, .business-text-link, .service-contact-section a, .recruit-contact-section a, .portfolio-partner-meta a, .public-design-article > footer a, .public-design-list a.min-h-11, [data-contact-submit], [data-contact-reset]):is(:hover, :focus-visible) {
  background: var(--public-button);
  color: var(--public-button-text);
}

html[data-theme="dark"] body.public-site.public-design-page :is(a, button, input, select, textarea, summary):focus-visible {
  outline-color: var(--public-accent);
}

html[data-theme="dark"] body.public-site.public-design-page #public-main .public-design-list a.min-h-11:not([data-track-download]) {
  border-color: transparent;
  background: transparent;
}

html[data-theme="dark"] body.public-site.public-design-page #public-main .public-design-list a.min-h-11:not([data-track-download]):is(:hover, :focus-visible) {
  color: var(--public-text);
}

html[data-theme="dark"] body.public-site.public-design-page #public-main [data-contact-success] h2 {
  color: var(--public-success-text);
}

html[data-theme="dark"] body.public-site.public-design-page #public-main [data-contact-form] :is(input:not([type="checkbox"]):not([type="hidden"]), select, textarea) {
  border-color: var(--public-subtle);
  background: var(--public-surface);
  color: var(--public-text);
}

html[data-theme="dark"] body.public-site.public-design-page #public-main [data-contact-form] :is(input, textarea)::placeholder {
  color: var(--public-muted);
}

html[data-theme="dark"] body.public-site.public-design-page #public-main [data-contact-form] :is(input:not([type="checkbox"]):not([type="hidden"]), select, textarea)[aria-invalid="true"] {
  border-color: var(--public-error-text);
}

html[data-theme="dark"] body.public-site.public-design-page #public-main [data-content-block="text"] a {
  color: var(--public-accent);
}

/* Home reuses the existing public dark palette, not a second theme system. */
html[data-theme="dark"] body.public-site.page-home {
  --home-ink: var(--public-text);
  --home-muted: var(--public-muted);
  --home-blue: var(--public-accent);
  --home-orange: var(--public-warm-accent);
  --home-project-muted: var(--public-muted);
  --home-grid-ink-rgb: 203, 213, 225;
  --home-grid-blue-rgb: 139, 180, 232;
  --home-grid-orange-rgb: 255, 154, 106;
}

html[data-theme="dark"] body.public-site.page-home .home-landing-hero {
  background: var(--public-bg);
}

html[data-theme="dark"] body.public-site.page-home :is(.home-statement, .home-future) {
  background: var(--public-surface);
}

html[data-theme="dark"] body.public-site.page-home .home-built {
  background: var(--public-surface-alt);
}

html[data-theme="dark"] body.public-site.page-home :is(.home-section-index, .home-landing-section__eyebrow),
html[data-theme="dark"] body.public-site.page-home .home-future__copy .home-landing-section__eyebrow {
  color: var(--public-accent);
}

html[data-theme="dark"] body.public-site.page-home .home-future__copy > p:last-child,
html[data-theme="dark"] body.public-site.page-home .home-landing-hero__hint {
  color: var(--public-muted);
}

html[data-theme="dark"] body.public-site.page-home .home-built__project-list::after {
  background: linear-gradient(to bottom, rgba(13, 21, 32, 0), rgba(13, 21, 32, 0.72));
}

html[data-theme="dark"] body.public-site.page-home .home-portfolio-cta:is(:hover, :focus-visible) {
  color: var(--public-button-text);
}

html[data-theme="dark"] body.public-site.page-home .home-hero-scroll-cue span {
  background: var(--public-line);
}

html[data-theme="dark"] body.public-site.page-home .home-hero-stage::before {
  background: radial-gradient(circle, rgba(139, 180, 232, 0.09), rgba(139, 180, 232, 0.025) 52%, transparent 70%);
}

html[data-theme="dark"] body.public-site.page-home .home-hero-stage::after {
  background: conic-gradient(from 12deg, transparent 0 82%, rgba(139, 180, 232, 0.11) 91%, transparent 100%);
}

html[data-theme="dark"] body.public-site.page-home .home-hero-orbit--outer {
  border-color: rgba(139, 180, 232, 0.2);
  box-shadow: inset 0 0 0 1px rgba(13, 21, 32, 0.65), 0 0 4.8rem rgba(139, 180, 232, 0.045);
}

html[data-theme="dark"] body.public-site.page-home .home-hero-orbit--inner {
  border-color: rgba(203, 213, 225, 0.16);
}

html[data-theme="dark"] body.public-site.page-home .home-hero-core {
  border-color: rgba(139, 180, 232, 0.24);
  background: radial-gradient(circle at 36% 30%, rgba(13, 21, 32, 0.98), rgba(16, 27, 41, 0.9) 42%, rgba(139, 180, 232, 0.72) 100%);
  box-shadow: 0 1.6rem 6.4rem rgba(139, 180, 232, 0.13), inset 0 0 4rem rgba(13, 21, 32, 0.8);
}

html[data-theme="dark"] body.public-site.page-home .home-hero-core::after {
  box-shadow: 0 0 0 0.88rem rgba(255, 154, 106, 0.12), 0 0 2.4rem rgba(255, 154, 106, 0.4);
}

html[data-theme="dark"] body.public-site.page-home .home-hero-node {
  border-color: rgba(139, 180, 232, 0.22);
  background: rgba(13, 21, 32, 0.9);
  color: var(--public-accent-bright);
  box-shadow: 0 1.04rem 3.2rem rgba(139, 180, 232, 0.1);
}

html[data-theme="dark"] body.public-site.page-home .home-hero-node::before {
  box-shadow: 0 0 0 0.4rem rgba(255, 154, 106, 0.1);
}
