/* First-pass production refinements. Brand tokens and page structures stay intact. */

/* Progressive navigation: without JS the links remain available on small screens. */
.site-header:not([data-nav-ready]) .menu-button { display: none; }
.site-header :is(a, button):focus-visible { outline: 2px solid var(--cyan); outline-offset: 4px; }
.main-nav a { min-height: 44px; display: inline-flex; align-items: center; }
.home-footer-nav a[aria-current="page"] { color: var(--cyan); }
[id] { scroll-margin-top: 112px; }

/* Status is content, not tiny telemetry. The approved homepage layout is unchanged. */
.signal-row__title small { color: var(--muted); font-family: var(--body-font); font-size: 12px; letter-spacing: .04em; }

/* A continuous blue-black canvas, with motion below rather than across the copy. */
.content-body .site-shell {
  background:
    radial-gradient(ellipse at 10% 0, rgba(0,128,255,.12), transparent 35%),
    radial-gradient(ellipse at 92% 35%, rgba(123,92,255,.075), transparent 40%),
    var(--ink);
}
.content-body .site-ambience { opacity: .3; animation-duration: 28s; }
.content-body .site-ambience::before { animation-duration: 18s; }
.content-body .site-ambience::after {
  top: -12vh;
  height: 12vh;
  background: linear-gradient(transparent, rgba(0,234,246,.06) 85%, rgba(0,234,246,.14), transparent);
  box-shadow: none;
  animation-duration: 18s;
}
.content-body .site-shell::before { opacity: .16; }
.content-body .site-shell::after { border-color: color-mix(in srgb, var(--cyan) 18%, transparent); box-shadow: none; }
.content-body .site-header {
  border-color: color-mix(in srgb, var(--cyan) 28%, var(--line));
  box-shadow: 0 6px 24px rgba(0,0,0,.15);
  background: color-mix(in srgb, var(--ink) 96%, transparent);
}

/* Consistent page rhythm; discipline-specific compositions below the hero remain. */
.content-body .page-hero {
  min-height: 520px;
  padding-block: 72px 68px;
  gap: 40px clamp(32px, 5vw, 72px);
  border-inline: 0;
}
.content-body .page-hero::before {
  background: linear-gradient(110deg, color-mix(in srgb, var(--page-accent) 4%, transparent), transparent 55%);
}
.content-body .page-hero h1 {
  max-width: 11em;
  margin-block: 16px 24px;
  font-size: clamp(52px, 5.6vw, 84px);
  line-height: 1.12;
  letter-spacing: -.035em;
  text-wrap: balance;
  overflow-wrap: normal;
}
.content-body .page-hero__lead { max-width: 34em; color: #c1c8d7; font-size: 18px; line-height: 1.8; }
.content-body .page-hero__actions { margin-top: 28px; }
.content-body.service-page .page-hero { padding-top: 32px; row-gap: 24px; }
.content-body .breadcrumb { position: static; grid-column: 1 / -1; font-size: 12px; color: var(--muted); }
.content-body .breadcrumb a { min-height: 44px; }
.content-body .signal-title--page { animation-duration: 12s; filter: drop-shadow(0 0 7px color-mix(in srgb, var(--page-accent) 12%, transparent)); }
.content-body .content-section { padding-block: clamp(48px, 5vw, 72px); }
.content-body .content-section h2 { font-size: clamp(32px, 3.7vw, 52px); line-height: 1.2; letter-spacing: -.025em; text-wrap: balance; }
.content-body .content-section h3 { font-size: clamp(24px, 2.3vw, 34px); line-height: 1.28; }
.content-body .content-section p,
.content-body .content-section dd { font-size: 16px; line-height: 1.8; color: #bac1d1; }
.content-body .page-main .section-kicker { font: 500 11px/1.5 var(--mono-font); letter-spacing: .14em; color: var(--muted); }
.content-body .content-section .section-kicker { margin-bottom: 10px; }
.content-body .dialect-heading { gap: 24px 64px; margin-bottom: 36px; }
.content-body :is(.button-link, .service-route__copy a, .company-focus-list a) { font-size: 14px; letter-spacing: .02em; }
.content-body .button-link--primary { box-shadow: 0 0 14px rgba(0,234,246,.08); }
.content-body .button-link--primary:hover { box-shadow: 0 0 22px rgba(0,234,246,.2); }
.content-body .status-label,
.content-body .project-status,
.content-body .case-ledger__state,
.content-body .article-topic-list strong { font: 500 12px/1.5 var(--body-font); color: var(--muted); }
.content-body .service-rail-wrap { padding-block: 12px; }
.content-body .service-rail a { min-height: 56px; font-size: 16px; }

/* De-emphasize the outer wrapper; keep category color on edges and live details. */
.content-body :is(.service-radar, .editorial-signal, .contact-register) {
  min-height: 300px;
  border-color: color-mix(in srgb, var(--cyan) 18%, var(--line));
  background-color: color-mix(in srgb, var(--ink-soft) 65%, transparent);
  box-shadow: none;
}
.content-body .service-radar { background-size: 40px 40px, 40px 40px, auto, auto; }
.content-body .service-radar__labels span { border: 0; background: none; font-size: 13px; }
.content-body .service-route { border-color: color-mix(in srgb, var(--route-accent) 18%, var(--line)); }
.content-body .service-route__visual { border-bottom-color: var(--line); }
.content-body .service-route__copy { padding: 28px; }
.content-body .service-route__copy > p { font: 500 11px/1.5 var(--mono-font); color: color-mix(in srgb, var(--route-accent) 70%, var(--paper)); }
.content-body .service-route__copy > span { font-size: 16px; color: var(--muted); }
.content-body .service-route__copy h3 { margin-block: 12px; }
.content-body :is(.software-console, .agent-console, .game-build-monitor, .motion-preview) { box-shadow: none; }
.content-body .software-console__metrics strong { font-size: 24px; font-family: var(--heading-font, var(--body-font)); }
.content-body .software-module { border-color: color-mix(in srgb, var(--blue) 16%, var(--line)); }
.content-body .software-module__copy > span { color: var(--muted); font-size: 12px; }
.content-body .software-matrix :is(span, strong) { font-size: 16px; line-height: 1.7; }
.content-body .agent-task-flow article { box-shadow: none; }
.content-body .agent-lanes strong,
.content-body .game-stage-list strong,
.content-body .motion-frame strong { font: 500 12px/1.7 var(--body-font); color: var(--muted); }
.content-body .motion-frame { border-color: color-mix(in srgb, var(--frame-accent) 18%, var(--line)); }
.content-body .motion-frame__visual { min-height: 220px; border-bottom-color: var(--line); }
.content-body .motion-frame--story .motion-frame__visual { min-height: 360px; }
.content-body .motion-frame > div:last-child { padding: 28px; }
.content-body .motion-frame > div:last-child > span { font-size: 12px; }
.content-body .motion-pipeline li { min-height: 170px; }
.content-body .motion-pipeline__note { padding-top: 16px; color: var(--muted); }
.content-body .identity-plate { border: 0; background: none; box-shadow: none; }
.content-body .company-record { border-inline: 0; }
.content-body .contact-channel-status { box-shadow: none; border-color: var(--line); }
.content-body .contact-channel-status__signal { opacity: .6; }
.content-body .home-footer-module { margin-top: 24px; }

@media (max-width: 1024px) {
  .content-body .page-hero { min-height: auto; padding-block: 56px; gap: 36px; }
  .content-body .page-hero h1 { font-size: clamp(48px, 6.5vw, 72px); }
  .content-body .content-section h2 { font-size: clamp(32px, 4.5vw, 44px); }
}
@media (min-width: 681px) and (max-width: 900px) {
  .content-body .software-matrix__head,
  .content-body .software-matrix__row { grid-template-columns: minmax(100px, .6fr) repeat(2, minmax(0, 1fr)); }
  .content-body .software-matrix :is(span, strong) { min-width: 0; overflow-wrap: anywhere; }
}
@media (max-width: 780px) {
  .site-header:not([data-nav-ready]) { flex-wrap: wrap; gap: 12px; }
  .site-header:not([data-nav-ready]) .main-nav {
    position: static; width: 100%; opacity: 1; visibility: visible; transform: none;
    display: flex; flex-wrap: wrap; gap: 4px; border: 0; background: none; box-shadow: none; padding: 0;
  }
  .site-header:not([data-nav-ready]) .main-nav a { padding: 10px 12px; }
  .content-body .page-hero { padding-block: 40px; }
  .content-body .page-hero h1 { font-size: clamp(44px, 10vw, 64px); }
  .content-body .page-hero__lead { font-size: 16px; }
  .content-body .service-rail { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .content-body .service-rail a { padding: 12px; gap: 8px; line-height: 1.5; }
  .content-body .service-rail a span { font-size: 11px; }
  .content-body .content-section { padding-block: 44px; }
  .content-body .content-section h2 { font-size: 34px; }
  .content-body .dialect-heading { gap: 18px; margin-bottom: 28px; }
  .content-body .service-route__copy,
  .content-body .motion-frame > div:last-child { padding: 24px; }
  .content-body .motion-frame--story .motion-frame__visual { min-height: 240px; }
  .content-body :is(.service-radar, .editorial-signal, .contact-register) { min-height: 240px; }
  .content-body .page-hero :is(.software-console, .agent-console, .game-build-monitor, .motion-preview) { min-height: 280px; }
}
@media (prefers-reduced-motion: reduce) {
  .content-body .site-ambience,
  .content-body .site-ambience::before,
  .content-body .site-ambience::after,
  .content-body .signal-title--page { animation: none !important; }
  .content-body .site-ambience::after { display: none; }
  .content-body .button-link { transition: none; }
}
