/* Public V2 theme layer. Light declarations above remain the visual source of truth. */
:where(.homepage-presentation-v2-root[data-public-theme-enabled], body[data-public-theme-enabled]) .theme-logo-slot {
  position: relative;
  overflow: hidden;
}

:where(.homepage-presentation-v2-root[data-public-theme-enabled], body[data-public-theme-enabled]) .theme-logo {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  image-rendering: auto;
  object-fit: contain;
}

:where(.homepage-presentation-v2-root[data-public-theme-enabled], body[data-public-theme-enabled]) .theme-logo-dark { display: none; }

html[data-public-theme="dark"] :where(.homepage-presentation-v2-root[data-public-theme-enabled], body[data-public-theme-enabled]) .theme-icon-moon { display: none; }
html[data-public-theme="dark"] :where(.homepage-presentation-v2-root[data-public-theme-enabled], body[data-public-theme-enabled]) .theme-icon-sun { display: block; }
html[data-public-theme="dark"] :where(.homepage-presentation-v2-root[data-public-theme-enabled], body[data-public-theme-enabled]) .theme-logo-light { display: none; }
html[data-public-theme="dark"] :where(.homepage-presentation-v2-root[data-public-theme-enabled], body[data-public-theme-enabled]) .theme-logo-dark { display: block; }

html[data-public-theme="dark"] :where(.homepage-presentation-v2-root[data-public-theme-enabled], body[data-public-theme-enabled]) {
  --dark-page-background: #000000;
  --dark-primary-surface: #0a0a0a;
  --dark-secondary-surface: #111111;
  --dark-elevated-surface: #161616;
  --dark-border: #242424;
  --dark-primary-text: #ffffff;
  --dark-secondary-text: #b8b8b8;
  --dark-muted-text: #7a7a7a;
  --dark-accent-orange: #f45724;
  --v2-black: var(--dark-primary-text);
  --v2-black-soft: var(--dark-secondary-text);
  --v2-white: var(--dark-primary-surface);
  --v2-paper: var(--dark-page-background);
  --v2-gray: var(--dark-secondary-text);
  --v2-gray-light: var(--dark-border);
  --v2-orange: #f45724;
  --v2-orange-dark: #f45724;
  --revision-ink: var(--dark-primary-text);
  --revision-dark: var(--dark-page-background);
  --revision-paper: var(--dark-page-background);
  --revision-soft: var(--dark-secondary-surface);
  --revision-line: var(--dark-border);
  --round02-ink: var(--dark-primary-text);
  --round02-muted: var(--dark-secondary-text);
  --round02-paper: var(--dark-page-background);
  --round02-soft: var(--dark-secondary-surface);
  --round02-line: var(--dark-border);
  --round02-stage: var(--dark-page-background);
  --pixel-node: var(--dark-primary-text);
  --pixel-idle: var(--dark-muted-text);
  --pixel-active: #f45724;
  --pixel-path: #f45724;
  --pixel-surface: var(--dark-secondary-surface);
  min-height: 100dvh;
  background: var(--dark-page-background);
  color: var(--dark-primary-text);
  color-scheme: dark;
}

html[data-public-theme="dark"] body:has(.homepage-presentation-v2-root[data-public-theme-enabled]) { background: #000000; }

html[data-public-theme="dark"] :where(.homepage-presentation-v2-root[data-public-theme-enabled], body[data-public-theme-enabled]) .site-header,
html[data-public-theme="dark"] :where(.homepage-presentation-v2-root[data-public-theme-enabled], body[data-public-theme-enabled]) .site-header.is-scrolled,
html[data-public-theme="dark"] :where(.homepage-presentation-v2-root[data-public-theme-enabled], body[data-public-theme-enabled]) .site-header:has(.mobile-menu:not([hidden])) {
  border-color: var(--dark-border);
  background: color-mix(in srgb, var(--dark-page-background) 92%, transparent);
  box-shadow: 0 8px 30px rgb(0 0 0 / 22%);
}

html[data-public-theme="dark"] :where(.homepage-presentation-v2-root[data-public-theme-enabled], body[data-public-theme-enabled]) .hero { background: radial-gradient(circle at 78% 24%, #111111 0, #050505 25%, #000000 58%); }
html[data-public-theme="dark"] :where(.homepage-presentation-v2-root[data-public-theme-enabled], body[data-public-theme-enabled]) :is(.page-section, .process-section) { background: var(--dark-page-background); }
html[data-public-theme="dark"] :where(.homepage-presentation-v2-root[data-public-theme-enabled], body[data-public-theme-enabled]) :is(.hero-stage, .line-card, .process-board, .capability-panel, .capability-grid button) { background-color: var(--dark-primary-surface); }
html[data-public-theme="dark"] :where(.homepage-presentation-v2-root[data-public-theme-enabled], body[data-public-theme-enabled]) .process-board {
  background-image: linear-gradient(rgb(255 255 255 / 4%) 1px, transparent 1px), linear-gradient(90deg, rgb(255 255 255 / 4%) 1px, transparent 1px);
}
html[data-public-theme="dark"] :where(.homepage-presentation-v2-root[data-public-theme-enabled], body[data-public-theme-enabled]) :is(.line-card:hover, .problem-entry:hover, .problem-entry:focus-visible, .problem-entry[data-state="ACTIVE"]) { background: var(--dark-secondary-surface); border-color: var(--dark-secondary-text); }
html[data-public-theme="dark"] :where(.homepage-presentation-v2-root[data-public-theme-enabled], body[data-public-theme-enabled]) .pixel-diagram { background-image: radial-gradient(circle, rgb(255 255 255 / 18%) 1px, transparent 1.5px); }
html[data-public-theme="dark"] :where(.homepage-presentation-v2-root[data-public-theme-enabled], body[data-public-theme-enabled]) .system-module { background: var(--dark-primary-surface); box-shadow: 0 8px 20px rgb(0 0 0 / 22%); }
html[data-public-theme="dark"] :where(.homepage-presentation-v2-root[data-public-theme-enabled], body[data-public-theme-enabled]) :is(.system-module:hover, .system-module:focus-visible, .system-module.is-route-active) { background: var(--dark-secondary-surface); color: var(--dark-primary-text); }
html[data-public-theme="dark"] :where(.homepage-presentation-v2-root[data-public-theme-enabled], body[data-public-theme-enabled]) :is(.hero-stage, .problem-fragment, .system-module, .capability-panel) { border-color: var(--dark-border); }
html[data-public-theme="dark"] :where(.homepage-presentation-v2-root[data-public-theme-enabled], body[data-public-theme-enabled]) .system-module small { color: var(--dark-secondary-text); }

html[data-public-theme="dark"] :where(.homepage-presentation-v2-root[data-public-theme-enabled], body[data-public-theme-enabled]) .work-section { background: var(--dark-page-background); color: var(--dark-primary-text); }
html[data-public-theme="dark"] :where(.homepage-presentation-v2-root[data-public-theme-enabled], body[data-public-theme-enabled]) .work-tabs { border-color: var(--dark-border); }
html[data-public-theme="dark"] :where(.homepage-presentation-v2-root[data-public-theme-enabled], body[data-public-theme-enabled]) .work-tabs button { border-color: var(--dark-border); color: var(--dark-muted-text); }
html[data-public-theme="dark"] :where(.homepage-presentation-v2-root[data-public-theme-enabled], body[data-public-theme-enabled]) .work-tabs button[aria-selected="true"] { background: var(--dark-secondary-surface); color: var(--dark-primary-text); }
html[data-public-theme="dark"] :where(.homepage-presentation-v2-root[data-public-theme-enabled], body[data-public-theme-enabled]) .work-panel { border-color: var(--dark-border); background: var(--dark-primary-surface); }
html[data-public-theme="dark"] :where(.homepage-presentation-v2-root[data-public-theme-enabled], body[data-public-theme-enabled]) .work-media { border-color: var(--dark-secondary-surface); background: var(--dark-secondary-surface); }
html[data-public-theme="dark"] :where(.homepage-presentation-v2-root[data-public-theme-enabled], body[data-public-theme-enabled]) .window-bar { border-color: var(--dark-border); background: var(--dark-secondary-surface); }
html[data-public-theme="dark"] :where(.homepage-presentation-v2-root[data-public-theme-enabled], body[data-public-theme-enabled]) .window-bar i { background: var(--dark-muted-text); }
html[data-public-theme="dark"] :where(.homepage-presentation-v2-root[data-public-theme-enabled], body[data-public-theme-enabled]) .window-bar i:first-child { background: var(--dark-accent-orange); }
html[data-public-theme="dark"] :where(.homepage-presentation-v2-root[data-public-theme-enabled], body[data-public-theme-enabled]) .window-bar small { color: var(--dark-muted-text); }
html[data-public-theme="dark"] :where(.homepage-presentation-v2-root[data-public-theme-enabled], body[data-public-theme-enabled]) .work-media img { border-color: var(--dark-border); background: var(--dark-primary-surface); }
html[data-public-theme="dark"] :where(.homepage-presentation-v2-root[data-public-theme-enabled], body[data-public-theme-enabled]) .work-copy dl, html[data-public-theme="dark"] :where(.homepage-presentation-v2-root[data-public-theme-enabled], body[data-public-theme-enabled]) .work-copy dl div { border-color: var(--dark-border); }
html[data-public-theme="dark"] :where(.homepage-presentation-v2-root[data-public-theme-enabled], body[data-public-theme-enabled]) .work-copy dd { color: var(--dark-secondary-text); }
html[data-public-theme="dark"] :where(.homepage-presentation-v2-root[data-public-theme-enabled], body[data-public-theme-enabled]) .work-links .button-dark { border-color: var(--dark-border); background: var(--dark-primary-surface); color: var(--dark-primary-text); }

:where(.homepage-presentation-v2-root[data-public-theme-enabled], body[data-public-theme-enabled]) .work-links .text-link,
:where(.homepage-presentation-v2-root[data-public-theme-enabled], body[data-public-theme-enabled]) .work-links .text-link:visited { color: var(--v2-white); }
:where(.homepage-presentation-v2-root[data-public-theme-enabled], body[data-public-theme-enabled]) .work-links .text-link:hover,
:where(.homepage-presentation-v2-root[data-public-theme-enabled], body[data-public-theme-enabled]) .work-links .text-link:focus-visible { color: var(--v2-orange); }
html[data-public-theme="dark"] :where(.homepage-presentation-v2-root[data-public-theme-enabled], body[data-public-theme-enabled]) .work-links .text-link,
html[data-public-theme="dark"] :where(.homepage-presentation-v2-root[data-public-theme-enabled], body[data-public-theme-enabled]) .work-links .text-link:visited { color: var(--dark-primary-text); }

html[data-public-theme="dark"] :where(.homepage-presentation-v2-root[data-public-theme-enabled], body[data-public-theme-enabled]) .contact-section { background: var(--dark-primary-surface); color: var(--dark-primary-text); }
html[data-public-theme="dark"] :where(.homepage-presentation-v2-root[data-public-theme-enabled], body[data-public-theme-enabled]) .contact-links { border-color: var(--dark-border); background: var(--dark-border); }
html[data-public-theme="dark"] :where(.homepage-presentation-v2-root[data-public-theme-enabled], body[data-public-theme-enabled]) .contact-links a { background: var(--dark-primary-surface); }
html[data-public-theme="dark"] :where(.homepage-presentation-v2-root[data-public-theme-enabled], body[data-public-theme-enabled]) .contact-links a:hover { background: var(--dark-secondary-surface); }
html[data-public-theme="dark"] :where(.homepage-presentation-v2-root[data-public-theme-enabled], body[data-public-theme-enabled]) .contact-links span { color: var(--dark-secondary-text); }

html[data-public-theme="dark"] :where(.homepage-presentation-v2-root[data-public-theme-enabled], body[data-public-theme-enabled]) .site-footer { border-color: var(--dark-border); background: var(--dark-secondary-surface); }
html[data-public-theme="dark"] :where(.homepage-presentation-v2-root[data-public-theme-enabled], body[data-public-theme-enabled]) :is(.footer-brand p, .footer-brand small, .footer-meta small, .footer-links span) { color: var(--dark-secondary-text); }
html[data-public-theme="dark"] :where(.homepage-presentation-v2-root[data-public-theme-enabled], body[data-public-theme-enabled]) .footer-links a { border-color: var(--dark-border); }
html[data-public-theme="dark"] :where(.homepage-presentation-v2-root[data-public-theme-enabled], body[data-public-theme-enabled]) .footer-wordmark { color: var(--dark-border); }

html[data-public-theme="dark"] :where(.homepage-presentation-v2-root[data-public-theme-enabled], body[data-public-theme-enabled]) :is(.button-accent, .header-cta, .contact-button) { border-color: var(--dark-accent-orange); background: var(--dark-accent-orange); color: #fff; }
html[data-public-theme="dark"] :where(.homepage-presentation-v2-root[data-public-theme-enabled], body[data-public-theme-enabled]) :is(.button-accent, .header-cta, .contact-button):hover { border-color: var(--dark-primary-text); background: var(--dark-accent-orange); color: #fff; }
html[data-public-theme="dark"] :where(.homepage-presentation-v2-root[data-public-theme-enabled], body[data-public-theme-enabled]) :is(.button-accent, .header-cta, .contact-button):active { border-color: var(--dark-page-background); background: var(--dark-accent-orange); box-shadow: inset 0 0 0 2px var(--dark-page-background); color: #fff; }
html[data-public-theme="dark"] :where(.homepage-presentation-v2-root[data-public-theme-enabled], body[data-public-theme-enabled]) :is(.button-line, .work-links .button-dark) { border-color: var(--dark-border); background: var(--dark-primary-surface); color: var(--dark-primary-text); }
html[data-public-theme="dark"] :where(.homepage-presentation-v2-root[data-public-theme-enabled], body[data-public-theme-enabled]) :is(.button-line, .work-links .button-dark):hover { border-color: var(--dark-accent-orange); background: var(--dark-secondary-surface); color: var(--dark-primary-text); }
html[data-public-theme="dark"] :where(.homepage-presentation-v2-root[data-public-theme-enabled], body[data-public-theme-enabled]) :is(.button-line, .work-links .button-dark):active { border-color: var(--dark-accent-orange); background: var(--dark-page-background); color: var(--dark-accent-orange); }
html[data-public-theme="dark"] :where(.homepage-presentation-v2-root[data-public-theme-enabled], body[data-public-theme-enabled]) :is(.text-link, .hero-contact-link):hover { color: var(--dark-accent-orange); }
html[data-public-theme="dark"] :where(.homepage-presentation-v2-root[data-public-theme-enabled], body[data-public-theme-enabled]) .capability-secondary,
html[data-public-theme="dark"] :where(.homepage-presentation-v2-root[data-public-theme-enabled], body[data-public-theme-enabled]) .capability-secondary:is(:visited, :hover, :active, :focus-visible) { color: var(--dark-primary-text); }
html[data-public-theme="dark"] :where(.homepage-presentation-v2-root[data-public-theme-enabled], body[data-public-theme-enabled]) :is(.button, button):is(:disabled, [aria-disabled="true"]) { border-color: var(--dark-border); background: var(--dark-secondary-surface); box-shadow: none; color: var(--dark-muted-text); cursor: not-allowed; }
html[data-public-theme="dark"] :where(.homepage-presentation-v2-root[data-public-theme-enabled], body[data-public-theme-enabled]) :is(.button, .menu-button, .text-link, .footer-links a, .contact-links a):focus-visible { outline: 3px solid var(--dark-accent-orange); outline-offset: 3px; }
html[data-public-theme="dark"] :where(.homepage-presentation-v2-root[data-public-theme-enabled], body[data-public-theme-enabled]) .menu-button { border-color: var(--dark-border); background: var(--dark-primary-surface); color: var(--dark-primary-text); }
html[data-public-theme="dark"] :where(.homepage-presentation-v2-root[data-public-theme-enabled], body[data-public-theme-enabled]) .menu-button:hover { border-color: var(--dark-accent-orange); background: var(--dark-secondary-surface); }
html[data-public-theme="dark"] :where(.homepage-presentation-v2-root[data-public-theme-enabled], body[data-public-theme-enabled]) .menu-button:active { background: var(--dark-page-background); }
html[data-public-theme="dark"] :where(.homepage-presentation-v2-root[data-public-theme-enabled], body[data-public-theme-enabled]) :is(.mobile-menu a, .footer-links a):hover { background: var(--dark-secondary-surface); color: var(--dark-primary-text); }
html[data-public-theme="dark"] :where(.homepage-presentation-v2-root[data-public-theme-enabled], body[data-public-theme-enabled]) :is(.mobile-menu a, .footer-links a):active { background: var(--dark-page-background); color: var(--dark-accent-orange); }

@media (max-width: 1100px) {
  html[data-public-theme="dark"] :where(.homepage-presentation-v2-root[data-public-theme-enabled], body[data-public-theme-enabled]) .mobile-menu { border-color: var(--dark-border); background: var(--dark-secondary-surface); }
}

/* Final Brand Asset Package v1.0.0: preserve the approved lockup and symbol geometry. */
:where(.homepage-presentation-v2-root[data-public-theme-enabled], body[data-public-theme-enabled]) .brand-lockup {
  width: 194px;
  height: 44px;
  flex: 0 0 194px;
  display: block;
}

:where(.homepage-presentation-v2-root[data-public-theme-enabled], body[data-public-theme-enabled]) .footer-brand {
  grid-template-columns: 52px minmax(0, 1fr);
  align-items: center;
  column-gap: 14px;
  row-gap: 0;
}

:where(.homepage-presentation-v2-root[data-public-theme-enabled], body[data-public-theme-enabled]) .footer-brand-symbol {
  width: 52px;
  height: 52px;
  display: block;
}

:where(.homepage-presentation-v2-root[data-public-theme-enabled], body[data-public-theme-enabled]) .footer-brand-copy {
  display: grid;
  justify-items: start;
  gap: 10px;
  text-align: left;
}

@media (max-width: 760px) {
  :where(.homepage-presentation-v2-root[data-public-theme-enabled], body[data-public-theme-enabled]) .brand-lockup {
    width: 174px;
    height: 40px;
    flex-basis: 174px;
  }
}

@media (max-width: 760px) {
  :where(.homepage-presentation-v2-root[data-public-theme-enabled], body[data-public-theme-enabled]) .header-inner { gap: 8px; }
  :where(.homepage-presentation-v2-root[data-public-theme-enabled], body[data-public-theme-enabled]) .brand { min-width: 0; flex: 1 1 auto; }
  :where(.homepage-presentation-v2-root[data-public-theme-enabled], body[data-public-theme-enabled]) .brand-lockup { width: min(174px, 100%); min-width: 0; flex: 1 1 174px; }
  :where(.homepage-presentation-v2-root[data-public-theme-enabled], body[data-public-theme-enabled]) .menu-button { min-width: 104px; flex: 0 0 104px; margin-left: 0; white-space: nowrap; }
  :where(.homepage-presentation-v2-root[data-public-theme-enabled], body[data-public-theme-enabled]) .footer-brand {
    width: max-content;
    max-width: 100%;
    grid-template-columns: 44px max-content;
    justify-self: center;
    justify-content: center;
    justify-items: start;
    align-items: center;
    column-gap: 10px;
    text-align: left;
  }
  :where(.homepage-presentation-v2-root[data-public-theme-enabled], body[data-public-theme-enabled]) .footer-brand-symbol { width: 44px; height: 44px; align-self: center; }
  :where(.homepage-presentation-v2-root[data-public-theme-enabled], body[data-public-theme-enabled]) .footer-brand-copy { gap: 6px; }
}


/* 16 Public Primary CTA lock: shared 14/15 visual contract, 15 interaction authority. */
.homepage-presentation-v2-root[data-public-theme-enabled] :is(
  .hero-entry-row .button-accent,
  .work-links [data-work-live],
  .capability-panel-actions [data-capability-cta],
  .contact-button
) {
  min-height: 48px;
  gap: 10px;
  padding: 0 18px;
  border: 1px solid #e84a2a;
  border-radius: 0;
  background: #e84a2a;
  box-shadow: 5px 5px 0 color-mix(in srgb, #e84a2a 22%, transparent);
  color: #fff;
  font-size: 13px;
  font-weight: 760;
  transform: none;
  transition: background-color 180ms ease;
}

.homepage-presentation-v2-root[data-public-theme-enabled] :is(
  .hero-entry-row .button-accent,
  .work-links [data-work-live],
  .capability-panel-actions [data-capability-cta],
  .contact-button
):is(:hover, :active) {
  border-color: #e84a2a;
  background: color-mix(in srgb, #e84a2a 86%, #000);
  box-shadow: 5px 5px 0 color-mix(in srgb, #e84a2a 22%, transparent);
  transform: none;
}

.homepage-presentation-v2-root[data-public-theme-enabled] :is(
  .hero-entry-row .button-accent,
  .work-links [data-work-live],
  .capability-panel-actions [data-capability-cta],
  .contact-button
):focus-visible {
  outline: 3px solid #e84a2a;
  outline-offset: 3px;
}

.homepage-presentation-v2-root[data-public-theme-enabled] :is(
  .hero-entry-row .button-accent,
  .work-links [data-work-live],
  .capability-panel-actions [data-capability-cta],
  .contact-button
)::before {
  display: none;
}

.homepage-presentation-v2-root[data-public-theme-enabled] :is(
  .hero-entry-row .button-accent,
  .work-links [data-work-live],
  .capability-panel-actions [data-capability-cta],
  .contact-button
) > span,
.homepage-presentation-v2-root[data-public-theme-enabled] :is(
  .hero-entry-row .button-accent,
  .work-links [data-work-live],
  .capability-panel-actions [data-capability-cta],
  .contact-button
):is(:hover, :focus-visible) > span {
  animation: none;
  transform: none;
  transition: none;
}

html[data-public-theme="dark"] .homepage-presentation-v2-root[data-public-theme-enabled] :is(
  .hero-entry-row .button-accent,
  .work-links [data-work-live],
  .capability-panel-actions [data-capability-cta],
  .contact-button
) {
  border-color: #f45724;
  background: #f45724;
  box-shadow: 5px 5px 0 color-mix(in srgb, #f45724 22%, transparent);
}

html[data-public-theme="dark"] .homepage-presentation-v2-root[data-public-theme-enabled] :is(
  .hero-entry-row .button-accent,
  .work-links [data-work-live],
  .capability-panel-actions [data-capability-cta],
  .contact-button
):is(:hover, :active) {
  border-color: #f45724;
  background: color-mix(in srgb, #f45724 86%, #000);
  box-shadow: 5px 5px 0 color-mix(in srgb, #f45724 22%, transparent);
}

html[data-public-theme="dark"] .homepage-presentation-v2-root[data-public-theme-enabled] :is(
  .hero-entry-row .button-accent,
  .work-links [data-work-live],
  .capability-panel-actions [data-capability-cta],
  .contact-button
):focus-visible {
  outline-color: #f45724;
}

@media (prefers-reduced-motion: reduce) {
  .homepage-presentation-v2-root[data-public-theme-enabled] :is(
    .hero-entry-row .button-accent,
    .work-links [data-work-live],
    .capability-panel-actions [data-capability-cta],
    .contact-button
  ) {
    transition: none;
  }
}

/* Public CTA air adjustment: preserve family interaction and shadow geometry. */
.homepage-presentation-v2-root[data-public-theme-enabled] .hero-entry-row :is(.button-accent, .button-line) {
  min-height: 48px;
  padding: 0 22px;
  font-size: 14px;
  font-weight: 700;
}

@media (max-width: 760px) {
  .homepage-presentation-v2-root[data-public-theme-enabled] .hero-entry-row {
    grid-template-columns: max-content max-content;
  }
}
