/* Hallmark: studied-DNA, owner-supplied Landing V3; shared public visual system. */
html {
  scroll-padding-top: 88px;
  scrollbar-color: var(--color-rule-strong) var(--color-paper);
}
body,
body.page-inner,
body.page-home {
  background: var(--color-paper);
  color: var(--color-ink);
  font-family: var(--font-body);
}
body main :is(h1, h2, h3) {
  min-width: 0;
  font-family: var(--font-display);
  font-style: normal;
  font-weight: 500;
  letter-spacing: -0.04em;
  overflow-wrap: anywhere;
}
body.page-inner main h1,
body.page-home main h1 {
  font-size: var(--text-display);
  line-height: 1.08;
}
body main h2 {
  font-size: var(--text-section);
  line-height: 1.12;
}
body:is(.page-home, .page-inner) main :is(h1, h2, h3) em {
  font-style: normal;
  color: var(--color-muted);
}
body.page-home main p,
body.page-inner main p {
  color: var(--color-body);
  line-height: 1.65;
}
.container {
  width: min(1280px, calc(100% - 112px));
}
::selection {
  color: var(--color-paper);
  background: var(--color-accent);
}
:focus-visible {
  outline: 2px solid var(--color-accent);
  outline-offset: 4px;
}
input,
textarea {
  caret-color: var(--color-accent);
}
table {
  font-variant-numeric: tabular-nums;
}
body .button,
body.page-inner .button,
body .floating-demo,
body.page-home .floating-header:not(.scrolled) .floating-demo {
  border-radius: var(--radius-control);
  background: var(--action-fill);
  border-color: var(--action-fill);
  color: var(--action-ink);
  box-shadow: none;
  min-height: 44px;
  font-weight: 500;
}
body .button-secondary,
body.page-inner .button-secondary {
  background: transparent;
  color: var(--color-ink);
  border-color: var(--color-rule-strong);
}
body .button:hover,
body .floating-demo:hover {
  background: var(--action-fill-hover);
  border-color: var(--action-fill-hover);
  transform: none;
}
body .button-secondary:hover {
  color: var(--color-ink);
  background: var(--color-surface-raised);
  border-color: var(--color-muted);
}
body .button:active,
body .floating-demo:active {
  background: var(--action-fill-active);
}
body .button-secondary:active {
  background: var(--color-surface);
  border-color: var(--color-accent);
  color: var(--color-ink);
}
body .text-link {
  color: var(--color-ink);
  font-weight: 500;
  border-color: var(--color-rule-strong);
}
body .text-link:hover {
  color: var(--color-accent);
}
.floating-header,
.floating-header.scrolled {
  inset: 0 0 auto;
  background: var(--color-paper);
  border-bottom: 1px solid var(--color-rule);
}
.floating-bar,
.floating-header.scrolled .floating-bar {
  width: min(1280px, calc(100% - 112px));
  min-height: 64px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: var(--color-paper);
  box-shadow: none;
  backdrop-filter: none;
}
.floating-header .brand,
.page-home .floating-header:not(.scrolled) .brand {
  color: var(--color-ink);
  font-size: 19px;
}
.brand-sub {
  display: inline-block;
  margin: 0 0 0 10px;
  font: 9px var(--font-mono);
  letter-spacing: 0.18em;
  color: var(--color-muted);
}
.floating-header .brand-mark {
  width: 21px;
  height: 21px;
  gap: 2px;
}
.brand-mark i {
  border-radius: 0;
}
.brand-mark {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-template-rows: repeat(3, minmax(0, 1fr));
}
.floating-header .brand > span:last-child {
  font-size: 20px;
  letter-spacing: -0.04em;
}
.glass-nav,
.floating-header.scrolled .glass-nav {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
  box-shadow: none;
  backdrop-filter: none;
  color: var(--color-muted);
}
.nav-trigger {
  min-height: 44px;
  padding: 12px 14px;
  border-radius: var(--radius-control);
  font-size: 13px;
}
.nav-trigger:hover,
.nav-trigger[aria-expanded='true'] {
  background: var(--color-surface);
  color: var(--color-ink);
}
.floating-demo {
  padding: 10px 16px;
  gap: 14px;
}
.mega-panel {
  top: calc(100% + 10px);
  border-radius: 0;
  border-color: var(--color-rule-strong);
  background: var(--color-surface);
  box-shadow: none;
  backdrop-filter: none;
}
.mega-copy > p,
.mega-link small,
.mega-bottom {
  color: var(--color-body);
}
.mega-link,
.mega-icon,
.mega-feature {
  border-radius: 0;
}
.mega-link strong,
.mega-feature-cta {
  color: var(--color-ink);
}
.mega-link:hover,
.mega-link[aria-current] {
  background: var(--color-surface-raised);
  transform: none;
}
.mega-icon {
  color: var(--color-accent);
  background: transparent;
  border-color: var(--color-rule);
}
.mega-feature,
.mega-bottom {
  background: var(--color-paper);
  border-color: var(--color-rule);
}
.mega-feature-art svg {
  filter: none;
  color: var(--color-accent);
}
.mega-feature .mega-workstation-render,
.mega-feature:hover .mega-workstation-render {
  height: 205px;
  object-fit: contain;
  transform: none;
  filter: none;
}
.page-inner {
  padding-top: 96px;
}
.page-inner main {
  animation: none;
}
.inner-atmosphere,
body.page-inner::before,
.art-grid,
.art-corner,
.fx-dust,
.fx-edge,
.cta-orbits,
.cta-decoration {
  display: none;
}
.inner-art,
.inner-art:hover,
.fx-surface,
.fx-surface:hover {
  transform: none;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  filter: none;
}
.inner-art::before,
.inner-art::after,
.fx-surface::before,
.fx-surface::after {
  display: none;
}
.inner-art *,
.page-inner .fx-scene * {
  animation: none;
}
.page-hero,
.article-hero,
.research-hero {
  padding-top: var(--space-2xl);
  padding-bottom: var(--space-2xl);
}
.page-hero .lead,
.research-hero .lead,
.article-hero .lead {
  max-width: 58ch;
}
.badge {
  border-radius: var(--radius-control);
  border-color: var(--color-rule);
  background: transparent;
  color: var(--color-body);
}
.story-section,
.solution-section {
  padding-block: var(--space-section);
}
body :is(.overview-links, .product-system-parts, .industry-workflow-grid, .capability-grid) {
  gap: 0;
}
body:is(.page-home, .page-inner)
  main
  :is(
    .product-architecture,
    .featured-solution,
    .case-evidence,
    .chat-request,
    .table-scroll,
    .governed-workspace,
    .governed-core,
    .security-flow,
    .research-key-points > article,
    .research-process-map li,
    .research-scope-note,
    .sizing-guidance,
    .workflow-output,
    .person-art,
    .sidebar-card,
    .article-next,
    .sales-contact,
    .demo-form-card,
    .local-notice
  ) {
  border-radius: var(--radius-surface);
  border-color: var(--color-rule);
  background: var(--color-surface);
  box-shadow: none;
}
body:is(.page-home, .page-inner)
  main
  :is(
    .product-architecture,
    .product-part,
    .featured-solution,
    .governed-workspace,
    .security-flow,
    .research-key-points > article
  ) {
  background: transparent;
}
body:is(.page-home, .page-inner) main .governed-core {
  background: var(--color-accent-tint);
  border-color: var(--color-rule-strong);
}
body
  :is(
    .overview-link,
    .product-system-part,
    .industry-workflow-grid article,
    .comparison-card,
    .benchmark-panel,
    .sizing-card,
    .agent-console,
    .demo-form-card,
    .workflow-story,
    .solution-deliverables,
    .review-boundary,
    .research-key-points,
    .research-process-map,
    .research-role-grid article,
    .sector-system,
    .sector-system-core,
    .sector-system-foundation,
    .sector-judgment,
    .industry-pilot,
    .industry-operating-band,
    .privacy-control-row,
    .assistant-task,
    .overview-feature,
    .product-system-parts > *,
    .control-item,
    .trust-card,
    .legal-panel
  ) {
  border-radius: 0;
  border-color: var(--color-rule);
  background: transparent;
  box-shadow: none;
}
body :is(.overview-link, .industry-workflow-grid article, .product-system-parts > *) {
  border-top: 1px solid var(--color-rule);
  border-bottom: 1px solid var(--color-rule);
}
body :is(.overview-link, .comparison-card, .sizing-card):hover {
  transform: none;
  border-color: var(--color-rule-strong);
  background: var(--color-surface);
}
body .sector-system {
  background: var(--color-surface);
}
body
  :is(
    .sector-source-stack span,
    .case-inputs li,
    .sample-files > span,
    .scroll-demo-source i,
    .step-icon,
    .workflow-steps button,
    .size-picker button
  ) {
  border-radius: var(--radius-control);
  border-color: var(--color-rule-strong);
  background: var(--color-surface);
  box-shadow: none;
}
body :is(.deployment-matrix, .compare-table, .science-table) :is(th, td) {
  border-color: var(--color-rule);
}
body main .deployment-matrix,
body main .deployment-matrix th,
body main .deployment-matrix td,
.comparison-context {
  background: transparent;
  color: var(--color-body);
}
body main .deployment-matrix tr > :nth-child(2) {
  border-color: var(--color-rule);
  background: var(--color-accent-tint);
  color: var(--color-ink);
}
body main .deployment-matrix thead th,
body main .deployment-matrix tbody th,
body main .comparison-context h3 {
  color: var(--color-ink);
}
.home-work,
.home-industries,
.home-comparison {
  padding-block: var(--space-section);
  border-color: var(--color-rule);
}
.home-work,
.home-industries {
  gap: var(--space-2xl);
}
.home-setup-steps h3 {
  font-size: 22px;
}
.home-industries .sector-links a {
  font-size: 20px;
  border-color: var(--color-rule);
}
.home-industries .sector-links a:hover {
  color: var(--color-accent);
}
body:is(.page-home, .page-inner) main .cta-section {
  margin-block: 0;
  padding-block: var(--space-section);
  border: 0;
  border-top: 1px solid var(--color-rule);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.cta-section::before,
.cta-section::after {
  display: none;
}
.site-footer {
  background: var(--color-paper);
  border-top: 1px solid var(--color-rule);
}
.footer-main,
.footer-bottom {
  border-color: var(--color-rule);
}
.footer-links a,
.footer-bottom,
.footer-status,
.site-footer .muted {
  color: var(--color-muted);
}
.footer-links a:hover,
.footer-legal-link:hover {
  color: var(--color-ink);
}
body:is(.page-home, .page-inner) main :is(input, select, textarea) {
  border-radius: var(--radius-control);
  border-color: var(--color-rule-strong);
  color: var(--color-ink);
  background: var(--field-bg);
  box-shadow: none;
}
body :is(input, textarea)::placeholder {
  color: var(--color-muted);
  opacity: 1;
}
body :is(input, select, textarea):focus-visible {
  border-color: var(--color-accent);
  outline: 2px solid var(--color-accent);
  outline-offset: 3px;
}
body:is(.page-home, .page-inner)
  main
  :is(input:not([type='checkbox']), select, textarea):is(:user-invalid, [aria-invalid='true']) {
  border-color: var(--color-error);
  background: var(--color-error-surface);
  box-shadow: 0 0 0 1px var(--color-error);
}
body:is(.page-home, .page-inner) main :is(input:not([type='checkbox']), select, textarea):disabled {
  background: var(--field-disabled);
  border-color: var(--color-rule);
  color: var(--field-disabled-ink);
  cursor: not-allowed;
}
.tower-story {
  --scene-height: clamp(680px, calc(100svh - 64px), 1000px);
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  isolation: isolate;
  overflow: clip;
  padding-top: 64px;
  border-bottom: 1px solid var(--color-rule);
}
.tower-stage {
  position: absolute;
  inset: 64px 0 auto;
  width: 100%;
  height: var(--scene-height);
  visibility: hidden;
  pointer-events: none;
}
.tower-stage canvas {
  display: block;
  width: 100%;
  height: 100%;
  touch-action: pan-y;
}
.tower-stage-layout {
  display: grid;
  grid-template-columns: minmax(0, 0.46fr) minmax(0, 0.54fr);
  column-gap: var(--space-lg);
  height: 100%;
}
.tower-scene {
  grid-column: 2;
  height: 100%;
  min-width: 0;
  overflow: clip;
}
.tower-story[data-enhanced='true'] .tower-stage {
  position: sticky;
  grid-column: 1;
  grid-row: 1 / span 3;
  align-self: start;
  top: 64px;
  visibility: visible;
}
.tower-story[data-enhanced='true'] .tower-static {
  visibility: hidden;
}
.tower-chapter,
.tower-story .home-product {
  position: relative;
  grid-column: 1;
  display: grid;
  grid-template-columns: minmax(0, 0.46fr) minmax(0, 0.54fr);
  column-gap: var(--space-lg);
  align-items: center;
  min-height: var(--scene-height);
  padding-block: var(--space-xl);
  border: 0;
  background: none;
  scroll-margin-top: 64px;
}
.tower-copy {
  max-width: 480px;
  min-width: 0;
  padding: 0;
  grid-area: auto;
}
.tower-story .home-product-intro {
  align-self: center;
}
.tower-story .home-product {
  grid-row: 2;
}
.tower-story .tower-inside {
  grid-row: 3;
}
.tower-intro {
  grid-row: 1;
  padding-bottom: 112px;
}
body.page-home main .tower-copy h1,
body.page-home main .tower-copy h2 {
  font-size: clamp(38px, 3.7vw, 54px);
  line-height: 1.08;
  margin-bottom: var(--space-lg);
  text-wrap: initial;
}
.tower-copy > p {
  max-width: 47ch;
  margin: 0 0 var(--space-lg);
}
.tower-copy .button-row {
  align-items: center;
  gap: 12px 24px;
}
.tower-copy .button-row .text-link {
  border-bottom: 0;
}
body.page-home main .tower-privacy {
  margin-top: var(--space-xl);
  padding-top: var(--space-md);
  border-top: 1px solid var(--color-rule);
  color: var(--color-muted);
  font-size: 14px;
}
.tower-visual {
  position: relative;
  grid-area: auto;
  height: 580px;
  min-width: 0;
  margin: 0;
  overflow: clip;
}
.tower-visual img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.tower-scroll-cue {
  position: absolute;
  left: 0;
  bottom: var(--space-lg);
  display: flex;
  gap: 20px;
  align-items: center;
  color: var(--color-muted);
  font: 10px var(--font-mono);
}
.tower-scroll-cue svg {
  width: 14px;
  height: 14px;
  color: var(--color-accent);
}
.tower-static {
  min-width: 0;
  margin: 0;
  grid-area: auto;
}
.tower-ghost {
  display: none;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.tower-story .home-product-details {
  padding: 0;
}
.tower-story .home-product-includes {
  margin-block: var(--space-lg);
}
.tower-story .home-product-includes dt,
.tower-story .home-product-includes dd {
  font-size: 15px;
}
.tower-story .home-product-includes > div {
  grid-template-columns: minmax(0, 0.6fr) minmax(0, 1fr);
  gap: var(--space-sm);
  padding-block: 16px;
}
body.page-home main .tower-caption {
  margin-top: var(--space-xl);
  font-size: 13px;
  color: var(--color-muted);
}
.tower-fallback-status {
  grid-column: 1;
  grid-row: 4;
  display: flex;
  gap: var(--space-md);
  align-items: center;
}
.tower-fallback-status:has([data-tower-status]:not([hidden])) {
  padding-block: var(--space-md);
  border-top: 1px solid var(--color-rule);
}
.tower-fallback-status button {
  flex-shrink: 0;
  min-height: 44px;
  border: 1px solid var(--color-rule-strong);
  border-radius: var(--radius-control);
  background: var(--color-surface);
  padding: 10px 16px;
}
body .workstation-scan {
  border-radius: 0;
  border-color: var(--color-rule);
  background: var(--color-paper);
  box-shadow: none;
}
.ws-viewport,
.ws-toolbar {
  background: var(--color-paper);
}
.ws-heading,
.ws-toolbar,
.ws-status-row {
  border-color: var(--color-rule);
}
.ws-heading,
.ws-heading span:last-child,
.ws-stage-bottom,
.ws-scan-labels,
.ws-scan-labels span:last-child,
.ws-scan-readout {
  color: var(--color-muted);
  font-family: var(--font-mono);
}
.ws-scan-handle,
.ws-scan-prompt,
.ws-loading,
.workstation-scan button {
  border-radius: var(--radius-control);
  background: var(--color-surface);
  border-color: var(--color-rule-strong);
  color: var(--color-ink);
  box-shadow: none;
  font-family: var(--font-mono);
}
.ws-scan-line {
  background: var(--color-accent);
  box-shadow: none;
}
.ws-scan-line::before {
  display: none;
}
.ws-scan-handle:hover,
.ws-curtain:focus-visible .ws-scan-handle {
  border-color: var(--color-accent);
  box-shadow: none;
}
.workstation-scan button {
  min-height: 44px;
}
.workstation-scan .ws-poster {
  object-fit: contain;
}
@media (max-width: 1100px) {
  .container,
  .floating-bar,
  .floating-header.scrolled .floating-bar {
    width: calc(100% - 64px);
  }
  .floating-bar {
    gap: 12px;
  }
  .nav-trigger {
    padding-inline: 10px;
    gap: 6px;
  }
  .tower-visual {
    height: 520px;
  }
  .tower-copy {
    padding-right: 20px;
  }
}
@media (max-width: 1000px) {
  .tower-story {
    --scene-height: clamp(300px, 42svh, 420px);
  }
  .tower-story[data-enhanced='true'] .tower-stage {
    position: absolute;
    grid-area: auto;
    inset: 0 auto auto 0;
    width: var(--tower-slot-width, 100%);
    height: var(--tower-slot-height, var(--scene-height));
    transform: translate(var(--tower-slot-x, 0px), var(--tower-slot-y, 0px));
    z-index: 1;
  }
  .tower-stage .tower-stage-layout {
    display: block;
    width: 100%;
    margin: 0;
  }
  .tower-story[data-enhanced='true'] .tower-static {
    visibility: visible;
  }
  .tower-story[data-enhanced='true']:not([data-active-visual]) .tower-stage {
    visibility: hidden;
  }
  .tower-story[data-enhanced='true'] .tower-visual[data-live-view] .tower-static {
    visibility: hidden;
  }
  .tower-story[data-enhanced='true'] .tower-visual[data-ghost] .tower-static {
    visibility: hidden;
  }
  .tower-story[data-enhanced='true'] .tower-visual[data-ghost] .tower-ghost {
    display: block;
  }
  .tower-chapter,
  .tower-story .home-product {
    grid-template-columns: minmax(0, 1fr);
    align-content: start;
    align-items: start;
    min-height: calc(100svh - 64px);
    padding-block: var(--space-lg);
    gap: var(--space-md);
  }
  .tower-copy {
    max-width: 680px;
    padding: 0;
  }
  .tower-visual {
    width: 100%;
    max-width: 680px;
    height: var(--scene-height);
    justify-self: center;
  }
  .tower-scroll-cue {
    display: none;
  }
  .glass-nav,
  .floating-header.scrolled .glass-nav {
    background: var(--color-surface);
    border: 1px solid var(--color-rule);
    border-radius: 0;
  }
  .glass-nav.open {
    top: 72px;
    max-height: calc(100dvh - 88px);
  }
  .mobile-nav-toggle,
  .mobile-nav-demo {
    border-radius: var(--radius-control);
    border-color: var(--color-rule-strong);
  }
  .mobile-nav-toggle {
    background: var(--color-surface);
  }
  .mega-panel {
    border: 0;
    background: var(--color-paper);
  }
  .page-inner {
    padding-top: 80px;
  }
}
@media (max-width: 760px) {
  .container,
  .floating-bar,
  .floating-header.scrolled .floating-bar {
    width: calc(100% - 40px);
  }
  .floating-header .brand > span:last-child,
  .floating-header.scrolled .brand > span:last-child {
    display: block;
  }
  .brand-sub {
    display: none;
  }
  .floating-header .brand {
    font-size: 18px;
    gap: 8px;
  }
  .floating-demo {
    padding-inline: 12px;
    gap: 8px;
  }
  .tower-copy {
    max-width: none;
    padding: 0;
  }
  body.page-home main .tower-copy h1,
  body.page-home main .tower-copy h2 {
    font-size: clamp(29px, 8.7vw, 48px);
    margin-bottom: var(--space-md);
  }
  body.page-home main .tower-copy h2 {
    font-size: clamp(36px, 8.7vw, 48px);
  }
  body.page-home main .tower-copy p {
    font-size: 16px;
  }
  .tower-copy > p {
    margin-bottom: var(--space-md);
  }
  .tower-copy .button-row {
    gap: 8px 16px;
  }
  .tower-copy .button {
    padding: 12px 14px;
  }
  .tower-copy .text-link {
    font-size: 13px;
    gap: 10px;
  }
  body.page-home main .tower-copy .tower-privacy {
    margin-top: var(--space-md);
    padding-top: var(--space-sm);
    font-size: 13px;
  }
  .tower-story .home-product-includes {
    margin-block: var(--space-md);
  }
  .tower-story .home-product-includes > div {
    padding-block: 12px;
  }
  .tower-story .home-product-includes dt,
  .tower-story .home-product-includes dd {
    font-size: 14px;
  }
  body.page-home main .tower-copy .tower-caption {
    font-size: 13px;
  }
  .desktop-break {
    display: none;
  }
  .tower-fallback-status {
    flex-direction: column;
    align-items: flex-start;
  }
  .home-work,
  .home-industries,
  .story-heading {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-lg);
  }
  .home-industries .sector-links {
    grid-template-columns: minmax(0, 1fr);
  }
  .home-industries .sector-links a {
    min-height: 92px;
  }
  .page-hero,
  .article-hero,
  .research-hero {
    padding-top: var(--space-xl);
    padding-bottom: var(--space-xl);
  }
  body main h1 {
    font-size: clamp(34px, 9vw, 54px);
  }
  .home-work,
  .home-industries,
  .home-comparison,
  .cta-section {
    padding-block: var(--space-2xl);
  }
}
body .product-part h3 {
  margin-top: 0;
}
.industry-workflow-grid article {
  grid-template-rows: 1fr auto;
}
.industry-workflow-grid .industry-workflow-lead {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  grid-template-rows: auto;
}
@media (max-width: 1000px) {
  .industry-workflow-grid .industry-workflow-lead {
    grid-template-columns: minmax(0, 1fr);
  }
}
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  .tower-stage {
    display: none;
  }
}
