/*
 * JDO shared design foundation
 * Keeps page-specific compositions intact while standardising responsive type,
 * touch targets and horizontal-control affordances across the public site.
 */

:root {
  --jdo-accent: #e21914;
  --jdo-accent-ink: #df1813;
  --jdo-accent-soft: #ff625b;
  --jdo-ink: #171717;
  --jdo-copy: #64686d;
  --jdo-paper: #f7f7f5;
  --jdo-paper-raised: #ffffff;
  --jdo-paper-soft: #eef1f4;
  --jdo-night: #070b10;
  --jdo-night-soft: #111820;
  --jdo-line: rgba(23, 23, 23, 0.13);
  --jdo-line-dark: rgba(255, 255, 255, 0.14);
  --jdo-radius-card: 18px;
  --jdo-radius-stage: 28px;
  --jdo-hero-copy-top: 176px;
  --jdo-hero-copy-top-dark: 208px;
  --jdo-hero-title-size: clamp(64px, 5.3vw, 90px);
  --jdo-hero-title-line: 1;
  --jdo-hero-summary-size: 20px;
  --jdo-hero-summary-line: 33px;
  /* Shared semantic type roles. Page compositions may change geometry, but
     copy with the same reading role must keep the same optical scale. */
  --jdo-type-chapter: clamp(48px, 4.6vw, 72px);
  --jdo-type-chapter-compact: clamp(40px, 3.6vw, 54px);
  --jdo-type-stage: clamp(34px, 3.2vw, 48px);
  --jdo-type-card: clamp(22px, 2vw, 28px);
  --jdo-type-card-compact: clamp(20px, 1.7vw, 24px);
  --jdo-type-lead: 20px;
  --jdo-type-body: 16px;
  --jdo-type-support: 14px;
  --jdo-type-meta: 12px;
  --jdo-type-nav: 14px;
  --red: var(--jdo-accent);
  --red-soft: var(--jdo-accent-soft);
  --partners-red: var(--jdo-accent);
  --about-red: var(--jdo-accent);
  --brain-red: var(--jdo-accent);
  --topology-red: var(--jdo-accent);
  --ink: var(--jdo-ink);
  --muted: var(--jdo-copy);
  --paper: var(--jdo-paper);
  --paper-2: var(--jdo-paper-soft);
  --white: var(--jdo-paper-raised);
  --night: var(--jdo-night);
  --night-2: var(--jdo-night-soft);
  --line: var(--jdo-line);
  --line-dark: var(--jdo-line-dark);
}

/* Shared first-screen text contract.
   Desktop dark and light heroes use one optical module: chapter label, a
   two-line title, a two-line summary slot, then the action. The homepage
   keeps its approved centred alignment; every other primary page stays on
   the canonical 1180px left axis. Longer translations may expand rather
   than being clipped. */
@media (min-width: 901px) {
  html:not([data-jdo-layout="chinese-current"]) .page-contact .contact-intro h1 {
    font-size: clamp(58px, 4.6vw, 78px) !important;
  }

  .hero,
  .page-solutions .solutions-hero,
  .page-insights .newsroom-hero {
    padding-top: var(--jdo-hero-copy-top);
  }

  .tech-hero,
  .page-about .about-hero {
    padding-top: var(--jdo-hero-copy-top-dark);
  }

  .tech-hero,
  .partners-hero,
  .page-about .about-hero {
    min-height: clamp(720px, 78svh, 880px);
  }

  .tech-hero,
  .page-about .about-hero {
    padding-bottom: 64px;
    align-content: start;
  }

  .partners-hero-layout {
    display: block;
    min-height: clamp(720px, 78svh, 880px);
    padding-top: var(--jdo-hero-copy-top-dark);
    padding-bottom: 64px;
  }

  .partners-hero-copy,
  .page-about.about-documentary .about-hero-copy,
  .page-insights .newsroom-hero-heading {
    max-width: 920px;
  }

  .page-insights .newsroom-hero-heading {
    display: block;
  }

  :is(
    .hero-copy .eyebrow,
    .tech-hero-copy .eyebrow,
    .page-solutions .solutions-kicker,
    .partners-hero-copy .eyebrow,
    .page-insights .newsroom-hero-heading .eyebrow,
    .page-about .about-hero-copy .eyebrow
  ) {
    margin: 0 0 20px;
    font-size: 13px;
    line-height: 1.35;
  }

  :is(
    .hero h1,
    .tech-hero h1,
    .page-solutions .solutions-hero h1,
    .partners-hero h1,
    .page-insights .newsroom-hero h1,
    .page-about .about-hero h1
  ) {
    min-height: 2em;
    margin: 0;
    font-size: var(--jdo-hero-title-size);
    font-weight: 620;
    letter-spacing: -0.064em;
    line-height: var(--jdo-hero-title-line);
  }

  :is(
    .tech-hero h1,
    .page-solutions .solutions-hero h1,
    .partners-hero h1,
    .page-insights .newsroom-hero h1,
    .page-about .about-hero h1
  ) {
    max-width: 920px;
  }

  #top.hero h1 {
    max-width: 980px;
    margin-right: auto;
    margin-left: auto;
  }

  :is(
    .hero-summary,
    .tech-hero-summary,
    .page-solutions .solutions-hero-lead,
    .partners-hero-summary,
    .page-insights .newsroom-hero-heading > p,
    .page-about .about-hero-lead
  ) {
    width: min(820px, 100%);
    min-height: 66px;
    margin: 30px 0 0;
    font-size: var(--jdo-hero-summary-size);
    line-height: var(--jdo-hero-summary-line);
  }

  #top.hero .hero-copy .hero-summary {
    margin-right: auto;
    margin-left: auto;
  }

  html[data-jdo-layout="chinese-current"] .page-insights .newsroom-hero h1 {
    display: flex;
    align-items: baseline;
    gap: 0;
    min-height: 1em;
    white-space: nowrap;
  }

  html[data-jdo-layout="chinese-current"] .page-insights .newsroom-hero h1 .headline-phrase {
    display: block;
  }

  :is(
    .hero-actions,
    .tech-hero-copy > .button,
    .page-solutions .solutions-link,
    .partners-hero-copy > .button,
    .page-about .about-hero-actions
  ) {
    margin-top: 34px;
  }
}

html {
  overflow-x: clip;
  scrollbar-gutter: stable;
}

body {
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

/* Public chapter surfaces use one shared contract. Page-level CSS may shape
   content inside a chapter, but it must not invent another near-white or near-
   black canvas. */
:root .section-light {
  color: var(--jdo-ink);
  background-color: var(--jdo-paper);
}

:root .section-soft {
  color: var(--jdo-ink);
  background-color: var(--jdo-paper-soft);
}

:root .section-dark,
:root .agent-section,
:root .final-cta {
  color: var(--jdo-paper-raised);
  background-color: var(--jdo-night);
}

html:root body .technology.section-dark,
html:root body .agent-section,
html:root body .final-cta {
  background-color: var(--jdo-night);
}

:root #technology.technology.section-dark,
:root #contact.final-cta {
  background-color: var(--jdo-night);
}

/* Shared brand hierarchy: one red, one type rhythm, one chapter language. */
.eyebrow,
.micro-label {
  color: var(--jdo-accent-ink);
  font-weight: 700;
  letter-spacing: 0.16em;
}

.section-dark .eyebrow,
.section-dark .micro-label,
[data-nav-tone="dark"] .eyebrow,
[data-nav-tone="dark"] .micro-label {
  color: var(--jdo-accent-soft);
}

main h1,
main h2,
main h3 {
  font-kerning: normal;
  font-synthesis: none;
}

/* Detached media stages share one optical radius. Edge-to-edge story canvases
   intentionally keep their square chapter edges. */
.hero-business-bridge,
.tech-control-stage,
.page-solutions .solutions-hero-visual,
.page-solutions .experience-stage,
.page-solutions .experience-viewer[data-viewer-layout="editorial"] .experience-stage,
.page-solutions .experience-panel,
.page-solutions .experience-panel > img,
.page-insights .newsroom-featured,
.page-about .about-vision-stage {
  border-radius: var(--jdo-radius-stage);
}

.page-solutions .experience-stage,
.page-solutions .experience-viewer[data-viewer-layout="editorial"] .experience-stage {
  box-shadow: 0 28px 64px rgba(21, 31, 44, 0.11), inset 0 1px 0 rgba(255, 255, 255, 0.36);
}

.page-insights .newsroom-mosaic-card,
.page-insights .newsroom-stream-card,
.page-about .about-award {
  border-radius: var(--jdo-radius-card);
}

main h1,
main h2,
main h3 {
  text-wrap: balance;
}

.heading-phrase {
  display: inline-block;
  max-width: 100%;
}

.business-bridge-intro h2 .heading-phrase {
  display: block;
}

@media (min-width: 1100px) {
  .page-about .about-award-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

main p,
main li,
main figcaption {
  text-wrap: pretty;
}

.button,
.header-contact,
.text-link,
.outline-link,
.menu-toggle,
.motion-toggle {
  touch-action: manipulation;
}

.button:active,
.header-contact:active,
.text-link:active,
.outline-link:active,
.menu-toggle:active,
.motion-toggle:active {
  transform: translateY(1px);
}

/* One footer system across the homepage and every subpage. */
.site-footer {
  padding: 95px 0 28px;
  color: var(--ink, var(--jdo-ink));
  background: #fff;
}

.site-footer .footer-top {
  display: grid;
  grid-template-columns: 1fr 1.4fr;
  gap: 8vw;
}

.site-footer .footer-brand {
  width: 108px;
}

.site-footer .footer-brand .brand-logo {
  width: 108px;
  height: auto;
}

.site-footer .footer-top > div:first-child > p {
  margin: 18px 0 0;
  color: var(--muted, var(--jdo-copy));
  font-size: 10px;
  letter-spacing: 0.16em;
}

.site-footer .footer-links {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 45px;
}

.site-footer .footer-links > div {
  display: grid;
  align-content: start;
  gap: 11px;
}

.site-footer .footer-links strong {
  margin-bottom: 6px;
  font-size: 12px;
}

.site-footer .footer-links a {
  margin-top: 0;
  color: var(--muted, var(--jdo-copy));
  font-size: 12px;
}

.site-footer .footer-bottom {
  display: flex;
  justify-content: space-between;
  margin-top: 80px;
  padding-top: 20px;
  border-top: 1px solid var(--line, rgba(18, 20, 22, 0.12));
  color: var(--muted, var(--jdo-copy));
  font-size: 10px;
  letter-spacing: 0.08em;
}

.site-footer .footer-bottom span {
  margin-top: 0;
}

/* Horizontal option rails must look scrollable on tablet widths too. */
@media (min-width: 701px) and (max-width: 900px) {
  .solution-viewer-nav,
  .tech-system-tabs,
  .experience-tabs,
  .partners-collaboration-tabs,
  .newsroom-filters,
  .history-years,
  .about-history-years {
    overscroll-behavior-inline: contain;
    scrollbar-color: var(--jdo-accent) rgba(127, 127, 127, 0.2) !important;
    scrollbar-width: thin !important;
  }

  .solution-viewer-nav::-webkit-scrollbar,
  .tech-system-tabs::-webkit-scrollbar,
  .experience-tabs::-webkit-scrollbar,
  .partners-collaboration-tabs::-webkit-scrollbar,
  .newsroom-filters::-webkit-scrollbar,
  .history-years::-webkit-scrollbar,
  .about-history-years::-webkit-scrollbar {
    display: block !important;
    height: 3px;
  }

  .solution-viewer-nav::-webkit-scrollbar-thumb,
  .tech-system-tabs::-webkit-scrollbar-thumb,
  .experience-tabs::-webkit-scrollbar-thumb,
  .partners-collaboration-tabs::-webkit-scrollbar-thumb,
  .newsroom-filters::-webkit-scrollbar-thumb,
  .history-years::-webkit-scrollbar-thumb,
  .about-history-years::-webkit-scrollbar-thumb {
    border-radius: 0;
    background: var(--jdo-accent);
  }

  .solution-viewer-nav::-webkit-scrollbar-track,
  .tech-system-tabs::-webkit-scrollbar-track,
  .experience-tabs::-webkit-scrollbar-track,
  .partners-collaboration-tabs::-webkit-scrollbar-track,
  .newsroom-filters::-webkit-scrollbar-track,
  .history-years::-webkit-scrollbar-track,
  .about-history-years::-webkit-scrollbar-track {
    background: rgba(127, 127, 127, 0.2);
  }

  .technology-page .tech-system-viewer::after,
  .page-solutions .experience-viewer[data-viewer-layout="editorial"]::after {
    position: absolute;
    z-index: 12;
    right: 10px;
    display: grid !important;
    width: 32px;
    height: 32px;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 50%;
    color: #fff;
    background: rgba(7, 11, 16, 0.86);
    box-shadow: 0 6px 18px rgba(7, 11, 16, 0.2);
    content: "→";
    pointer-events: none;
  }

  .technology-page .tech-system-viewer::after {
    top: 38px;
  }

  .page-solutions .experience-viewer[data-viewer-layout="editorial"]::after {
    bottom: 43px;
  }
}

/* Horizontal option rails must look scrollable on narrow screens. */
@media (max-width: 700px) {
  :root {
    --jdo-radius-card: 14px;
    --jdo-radius-stage: 18px;
  }

  .site-footer .footer-top {
    grid-template-columns: 1fr;
  }

  .site-footer .footer-links {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 42px 28px;
  }

  .site-footer .footer-bottom {
    align-items: flex-start;
    flex-direction: column;
    gap: 8px;
  }

  .solution-viewer-nav,
  .tech-system-tabs,
  .experience-tabs,
  .partners-collaboration-tabs,
  .newsroom-filters,
  .history-years,
  .about-history-years {
    overscroll-behavior-inline: contain;
    scrollbar-color: var(--jdo-accent) rgba(127, 127, 127, 0.2) !important;
    scrollbar-width: thin !important;
  }

  .solution-viewer-nav::-webkit-scrollbar,
  .tech-system-tabs::-webkit-scrollbar,
  .experience-tabs::-webkit-scrollbar,
  .partners-collaboration-tabs::-webkit-scrollbar,
  .newsroom-filters::-webkit-scrollbar,
  .history-years::-webkit-scrollbar,
  .about-history-years::-webkit-scrollbar {
    display: block !important;
    height: 3px;
  }

  .solution-viewer-nav::-webkit-scrollbar-thumb,
  .tech-system-tabs::-webkit-scrollbar-thumb,
  .experience-tabs::-webkit-scrollbar-thumb,
  .partners-collaboration-tabs::-webkit-scrollbar-thumb,
  .newsroom-filters::-webkit-scrollbar-thumb,
  .history-years::-webkit-scrollbar-thumb,
  .about-history-years::-webkit-scrollbar-thumb {
    border-radius: 0;
    background: var(--jdo-accent);
  }

  .solution-viewer-nav::-webkit-scrollbar-track,
  .tech-system-tabs::-webkit-scrollbar-track,
  .experience-tabs::-webkit-scrollbar-track,
  .partners-collaboration-tabs::-webkit-scrollbar-track,
  .newsroom-filters::-webkit-scrollbar-track,
  .history-years::-webkit-scrollbar-track,
  .about-history-years::-webkit-scrollbar-track {
    background: rgba(127, 127, 127, 0.2);
  }

  main h1 {
    max-width: 100%;
    font-size: clamp(40px, 11.2vw, 47px) !important;
    line-height: 1.02 !important;
    overflow-wrap: normal;
  }

  main section h2 {
    max-width: 100%;
    font-size: clamp(32px, 9.2vw, 38px) !important;
    line-height: 1.06 !important;
    overflow-wrap: normal;
  }

  .tech-system-copy h3,
  .experience-panel h3,
  .partners-collaboration-panel h3,
  .history-panel h3 {
    font-size: clamp(25px, 7.2vw, 30px) !important;
    line-height: 1.1 !important;
  }

  .brand,
  .menu-toggle,
  .motion-toggle,
  .button,
  .header-contact,
  .text-link,
  .outline-link,
  .mobile-menu a,
  .newsroom-filters button,
  .partners-logo-toggle {
    min-height: 44px;
  }

  .menu-toggle,
  .motion-toggle {
    min-width: 44px;
  }

  #solutions .solution-viewer-scene figcaption strong > .solution-title-line {
    display: block;
    color: inherit;
    font: inherit;
    letter-spacing: inherit;
    line-height: inherit;
  }

  #solutions .solution-viewer-scene figcaption > strong {
    max-width: 11em;
    font-size: clamp(29px, 8.2vw, 34px) !important;
    line-height: 1.08 !important;
    text-wrap: balance;
  }

  .page-about .about-vision-copy {
    right: 20px;
    left: 20px;
    max-width: calc(100% - 40px);
  }

  .page-about .about-vision-copy h2,
  .page-about .about-vision-copy h2 span {
    width: 100%;
    max-width: 100%;
    white-space: normal !important;
    overflow-wrap: normal;
  }
}

@media (max-width: 980px) {
  .page-solutions #experience-goals .experience-viewer[data-viewer-layout="outcomes"] .experience-tabs {
    grid-auto-columns: minmax(260px, 1fr);
  }

  .page-solutions #experience-goals .experience-viewer[data-viewer-layout="outcomes"] .experience-tab strong {
    white-space: normal;
    overflow-wrap: anywhere;
    hyphens: auto;
    line-height: 1.2;
  }
}

@media (max-width: 560px) {
  .page-solutions #experience-goals .experience-viewer[data-viewer-layout="outcomes"] .experience-tabs {
    grid-auto-columns: 260px;
  }
}

/* Homepage: the company positioning image is one warm, human-centred scene. */
.business-domain-panorama {
  filter: saturate(0.9) contrast(1.02);
}

.business-domain-grid:hover .business-domain-panorama {
  filter: saturate(0.96) contrast(1.025);
}

@media (min-width: 901px) {
  .business-domain-panorama {
    transform: scaleX(-1);
  }

  .business-domain-grid:hover .business-domain-panorama {
    transform: scale(-1.012, 1.012);
  }
}

.business-domain-automotive::before {
  background:
    linear-gradient(0deg, rgba(247, 247, 245, 0.98) 0%, rgba(247, 247, 245, 0.84) 29%, rgba(247, 247, 245, 0.06) 68%),
    linear-gradient(90deg, rgba(247, 247, 245, 0.42) 0%, rgba(247, 247, 245, 0) 54%);
}

.business-domain-robotics::before {
  background:
    linear-gradient(0deg, rgba(247, 247, 245, 0.98) 0%, rgba(247, 247, 245, 0.84) 29%, rgba(247, 247, 245, 0.06) 68%),
    linear-gradient(270deg, rgba(247, 247, 245, 0.42) 0%, rgba(247, 247, 245, 0) 54%);
}

@media (max-width: 900px) {
  .business-domain {
    background-image: url("/de/assets/site/outputs/jdo-homepage-hifi-v1/assets/jdo-human-centered-auto-robot-v1.jpg");
    background-size: auto 100%;
  }

  .business-domain-automotive {
    background-position: 78% center;
  }

  .business-domain-robotics {
    background-position: 28% center;
  }
}

@media (max-width: 620px) {
  .business-domain {
    min-height: 390px;
  }

  .business-domain h3 {
    max-width: 10em;
    font-size: clamp(28px, 8vw, 34px) !important;
    line-height: 1.08 !important;
  }

  .business-domain-copy > p:not(.business-domain-label) {
    max-width: 22em;
    color: #4f5458;
  }
}

@media (prefers-reduced-motion: reduce) {
  .button,
  .header-contact,
  .text-link,
  .outline-link,
  .menu-toggle,
  .motion-toggle,
  .business-domain-panorama {
    transition: none !important;
  }
}

/* Pause motion outside the viewport without removing content from navigation or assistive technology. */
main > section.is-motion-managed:not(.is-motion-visible) *,
main > section.is-motion-managed:not(.is-motion-visible) *::before,
main > section.is-motion-managed:not(.is-motion-visible) *::after {
  animation-play-state: paused !important;
}

/* Localized headings need language-appropriate wrapping. Chinese keeps the
   editorial line decisions in the source markup; alphabetic and CJK
   translations may wrap inside those lines instead of forcing overflow. */
html[data-jdo-layout="legacy-disabled"] :is(h1, h2, h3),
html[data-jdo-layout="legacy-disabled"] :is(h1, h2, h3) > span,
html[data-jdo-layout="legacy-disabled"] :is(.headline-line, .headline-phrase, .heading-phrase, .about-heading-line),
html[data-jdo-layout="legacy-disabled"] :is(h1, h2, h3),
html[data-jdo-layout="legacy-disabled"] :is(h1, h2, h3) > span,
html[data-jdo-layout="legacy-disabled"] :is(.headline-line, .headline-phrase, .heading-phrase, .about-heading-line),
html[data-jdo-layout="legacy-disabled"] :is(h1, h2, h3),
html[data-jdo-layout="legacy-disabled"] :is(h1, h2, h3) > span,
html[data-jdo-layout="legacy-disabled"] :is(.headline-line, .headline-phrase, .heading-phrase, .about-heading-line) {
  min-width: 0;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}

html[data-jdo-layout="legacy-disabled"] :is(h1, h2, h3),
html[data-jdo-layout="legacy-disabled"] :is(h1, h2, h3) > span,
html[data-jdo-layout="legacy-disabled"] :is(.headline-line, .headline-phrase, .heading-phrase, .about-heading-line) {
  overflow-wrap: normal !important;
  word-break: auto-phrase !important;
  line-break: strict;
}

html[data-jdo-layout="legacy-disabled"] :is(h1, h2, h3),
html[data-jdo-layout="legacy-disabled"] :is(h1, h2, h3) > span,
html[data-jdo-layout="legacy-disabled"] :is(.headline-line, .headline-phrase, .heading-phrase, .about-heading-line) {
  overflow-wrap: normal !important;
  word-break: keep-all !important;
}

html[data-jdo-layout="legacy-disabled"] :is(h1, h2) {
  letter-spacing: -0.045em;
  text-wrap: balance;
}

html[data-jdo-layout="legacy-disabled"] :is(h1, h2),
html[data-jdo-layout="legacy-disabled"] :is(h1, h2) {
  letter-spacing: -0.035em;
  text-wrap: balance;
}

html[data-jdo-layout="legacy-disabled"] .about-metric,
html[data-jdo-layout="legacy-disabled"] .about-metric,
html[data-jdo-layout="legacy-disabled"] .about-metric {
  min-width: 0;
}

html[data-jdo-layout="legacy-disabled"] .about-metric-grid,
html[data-jdo-layout="legacy-disabled"] .about-metric-grid,
html[data-jdo-layout="legacy-disabled"] .about-metric-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

html[data-jdo-layout="legacy-disabled"] .about-metric strong,
html[data-jdo-layout="legacy-disabled"] .about-metric strong,
html[data-jdo-layout="legacy-disabled"] .about-metric strong {
  white-space: normal;
  word-break: normal;
  overflow-wrap: normal;
  font-size: clamp(28px, 2.35vw, 38px);
  line-height: 1.08;
}

@media (max-width: 1100px) {
  html[data-jdo-layout="legacy-disabled"] .about-metric-grid,
  html[data-jdo-layout="legacy-disabled"] .about-metric-grid,
  html[data-jdo-layout="legacy-disabled"] .about-metric-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  html[data-jdo-layout="legacy-disabled"] :is(h1, h2, h3),
  html[data-jdo-layout="legacy-disabled"] :is(h1, h2, h3),
  html[data-jdo-layout="legacy-disabled"] :is(h1, h2, h3) {
    max-width: 100%;
  }

  html[data-jdo-layout="legacy-disabled"] .about-metric-grid,
  html[data-jdo-layout="legacy-disabled"] .about-metric-grid,
  html[data-jdo-layout="legacy-disabled"] .about-metric-grid,
  html[data-jdo-layout="legacy-disabled"] .editorial-grid,
  html[data-jdo-layout="legacy-disabled"] .editorial-grid,
  html[data-jdo-layout="legacy-disabled"] .editorial-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  html[data-jdo-layout="legacy-disabled"] .featured-story,
  html[data-jdo-layout="legacy-disabled"] .featured-story,
  html[data-jdo-layout="legacy-disabled"] .featured-story,
  html[data-jdo-layout="legacy-disabled"] .story-list,
  html[data-jdo-layout="legacy-disabled"] .story-list,
  html[data-jdo-layout="legacy-disabled"] .story-list,
  html[data-jdo-layout="legacy-disabled"] .story-row,
  html[data-jdo-layout="legacy-disabled"] .story-row,
  html[data-jdo-layout="legacy-disabled"] .story-row {
    width: 100%;
    min-width: 0;
  }

  html[data-jdo-layout="legacy-disabled"] .about-metric strong,
  html[data-jdo-layout="legacy-disabled"] .about-metric strong,
  html[data-jdo-layout="legacy-disabled"] .about-metric strong {
    font-size: 32px;
  }
}

@media (min-width: 981px) {
  html[data-jdo-layout="legacy-disabled"] .page-solutions .cooperation-path {
    padding: 80px 0;
  }

  html[data-jdo-layout="legacy-disabled"] .page-solutions .cooperation-flow {
    margin-top: 52px;
  }
}

/* Localized copy must stay inside the editorial column. The Chinese source
   keeps its approved line groups; translated pages may reflow those groups. */
html:not([data-jdo-layout="chinese-current"]) :is(
  #top h1,
  #technology .technology-title,
  #technology .section-lead,
  #about .company-inner,
  #about .company-grid,
  #about .company-grid > *,
  .partners-hero-copy,
  .newsroom-hero-heading,
  .newsroom-hero-heading > *,
  .media-kit-layout,
  .media-kit-layout > *,
  .about-metric-grid,
  .about-metric
) {
  min-width: 0;
  max-width: 100%;
}

html:not([data-jdo-layout="chinese-current"]) :is(
  #top h1,
  #technology .technology-title,
  #technology .technology-title-line,
  #insights .headline-line,
  .partners-hero h1,
  .partners-hero h1 .headline-line,
  .partners-hero h1 .heading-phrase,
  .newsroom-hero h1,
  .newsroom-featured h2,
  .newsroom-featured .headline-nowrap,
  .cooperation-path h2,
  .cooperation-path h2 .headline-phrase,
  .about-metric h3,
  .about-metric h3 span
) {
  width: 100%;
  max-width: 100%;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}

html:not([data-jdo-layout="chinese-current"]) .experience-tab strong {
  display: block;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  line-height: 1.2;
}

html:not([data-jdo-layout="chinese-current"]) .page-solutions .experience-viewer[data-viewer-layout="outcomes"] .experience-tab strong {
  hyphens: auto;
  overflow-wrap: anywhere !important;
}

html:not([data-jdo-layout="chinese-current"]) .shot-copy {
  min-width: 0;
}

html:not([data-jdo-layout="chinese-current"]) .shot-copy strong {
  max-width: 100%;
  white-space: normal;
  overflow-wrap: normal;
  line-height: 1.08;
}

/* Language-specific line breaking guardrails. Keep Japanese phrases and
   Korean words intact; solve genuine long-token cases at component level. */
html[data-jdo-layout="legacy-disabled"] :is(h1, h2, h3),
html[data-jdo-layout="legacy-disabled"] :is(h1, h2, h3) *,
html[data-jdo-layout="legacy-disabled"] :is(.experience-tab strong, .shot-copy strong) {
  word-break: auto-phrase !important;
  overflow-wrap: normal !important;
  line-break: strict;
}

html[data-jdo-layout="legacy-disabled"] body {
  word-break: keep-all;
  overflow-wrap: normal;
}

/* The first homepage proof is intrinsically wider in Korean (1,400 + unit).
   Give it the space it needs without shrinking the adjacent 30+ proof. */
html[data-jdo-layout="legacy-disabled"] #about .company-metrics {
  grid-template-columns: minmax(0, 1.28fr) minmax(0, 0.72fr);
}

/* The Japanese counter is also slightly wider than the Chinese baseline.
   Preserve both figures at the full editorial scale instead of clipping the
   last glyph at wide desktop widths. */
html[data-jdo-layout="legacy-disabled"] #about .company-metrics {
  grid-template-columns: minmax(0, 1.12fr) minmax(0, 0.88fr);
}

html[data-jdo-layout="legacy-disabled"] :is(h1, h2, h3),
html[data-jdo-layout="legacy-disabled"] :is(h1, h2, h3) *,
html[data-jdo-layout="legacy-disabled"] :is(.experience-tab strong, .shot-copy strong) {
  word-break: keep-all !important;
  overflow-wrap: normal !important;
}

/* Localized hero typography keeps the editorial scale without forcing a
   translated sentence into an excessive number of lines. */
@media (min-width: 901px) {
  html[data-jdo-layout="legacy-disabled"] .technology-page .tech-hero-copy h1 {
    max-width: 1040px;
  }

  html[data-jdo-layout="legacy-disabled"] .page-solutions .solutions-hero h1 {
    font-size: clamp(70px, 5.7vw, 82px);
    line-height: 1;
  }

  html:not([data-jdo-layout="chinese-current"]) .page-about .about-hero-grid {
    grid-template-columns: minmax(0, 900px) 1fr;
  }

  html:not([data-jdo-layout="chinese-current"]) .page-about .about-hero-copy {
    max-width: 900px;
  }

  html:not([data-jdo-layout="chinese-current"]) .page-about .about-hero h1 {
    max-width: 900px;
    font-size: clamp(64px, 5.4vw, 78px);
    line-height: 1.02;
  }
}

/* Timeline labels remain fully readable in translated layouts. The rail is
   horizontally scrollable at compact widths, so tabs may grow with copy. */
html:not([data-jdo-layout="chinese-current"]) .history-year small {
  overflow: visible;
  white-space: normal;
  text-overflow: clip;
  letter-spacing: 0.025em;
  line-height: 1.22;
}

@media (max-width: 900px) {
  html:not([data-jdo-layout="chinese-current"]) .history-year {
    min-width: 148px;
  }
}

@media (max-width: 640px) {
  html:not([data-jdo-layout="chinese-current"]) .history-year {
    min-width: 136px;
    min-height: 76px;
  }
}

@media (min-width: 761px) {
  html:not([data-jdo-layout="chinese-current"]) .hero-shot:not(.is-active) .shot-copy strong {
    font-size: clamp(20px, 1.7vw, 27px);
  }
}

@media (max-width: 640px) {
  html:not([data-jdo-layout="chinese-current"]) :is(
    #top h1,
    #technology .technology-title,
    #technology .section-lead,
    #about .company-inner,
    #about .company-grid,
    .partners-hero-copy,
    .newsroom-hero-heading,
    .media-kit-layout,
    .about-metric-grid
  ) {
    width: 100%;
  }

  html:not([data-jdo-layout="chinese-current"]) .experience-tab {
    min-height: 94px;
  }

  html:not([data-jdo-layout="chinese-current"]) .experience-tab strong {
    font-size: 13px;
  }

  html:not([data-jdo-layout="chinese-current"]) .about-metric-grid {
    overflow: hidden;
  }

  html:not([data-jdo-layout="chinese-current"]) .about-metric,
  html:not([data-jdo-layout="chinese-current"]) .about-metric:not(:first-child) {
    width: 100%;
    padding-inline: 0;
  }

html[data-jdo-layout="legacy-disabled"] .page-solutions
    .experience-viewer[data-viewer-layout="editorial"]
    .experience-tabs {
    grid-auto-columns: 180px;
  }
}

/* Editorial hierarchy: chapter labels are readable locators, not tiny red
   decoration. Red is reserved for the short rule, state, and sequence. */
:where(.eyebrow, .solutions-kicker, .tech-capability-kicker) {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  color: #666b70 !important;
  font-size: 13px !important;
  font-weight: 700;
  letter-spacing: 0.09em !important;
  line-height: 1.35 !important;
}

:where(.eyebrow, .solutions-kicker, .tech-capability-kicker)::before {
  width: 24px;
  height: 2px;
  flex: 0 0 24px;
  background: #e21914;
  content: "";
}

:where(.eyebrow-light, .section-dark .eyebrow, .section-dark .solutions-kicker) {
  color: rgba(245, 247, 248, 0.72) !important;
}

#technology .architecture-layer-label {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: rgba(244, 246, 247, 0.72) !important;
  font-size: 13px !important;
  font-weight: 650;
  letter-spacing: 0.05em !important;
  line-height: 1.35 !important;
  text-transform: none;
}

#technology .architecture-layer-label::before {
  width: 18px;
  height: 2px;
  flex: 0 0 18px;
  background: #e21914;
  content: "";
}

:where(.history-panel-kicker, .newsroom-slot-meta) {
  font-size: 12px !important;
  letter-spacing: 0.08em !important;
  line-height: 1.4 !important;
}

.page-partners .partners-cta-layout > .partners-cta-label {
  font-size: 13px !important;
}

@media (max-width: 640px) {
  :where(.eyebrow, .solutions-kicker, .tech-capability-kicker),
  #technology .architecture-layer-label {
    font-size: 12px !important;
  }
}

/* Residual content labels follow the same readable chapter-label system.
   Keep copy neutral and reserve JDO red for the short locator rule or an
   existing active-state treatment. Date, year, status and sequence metadata
   are deliberately excluded from these selectors. */
:is(
  #agent #agent-kicker,
  .page-solutions .solutions-hero-visual figcaption > span,
  .page-solutions .experience-viewer[data-viewer-layout="editorial"] .experience-caption > p,
  .page-partners .partners-collaboration-panel figcaption > p
) {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: rgba(245, 247, 248, 0.78) !important;
  font-size: 13px !important;
  font-weight: 700;
  letter-spacing: 0.08em !important;
  line-height: 1.35 !important;
}

:is(
  .page-insights .newsroom-media-list article > div > span,
  .page-about .about-role > span
) {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: #4f555b !important;
  font-size: 13px !important;
  font-weight: 700;
  letter-spacing: 0.08em !important;
  line-height: 1.35 !important;
}

:is(
  #agent #agent-kicker,
  .page-solutions .solutions-hero-visual figcaption > span,
  .page-solutions .experience-viewer[data-viewer-layout="editorial"] .experience-caption > p,
  .page-partners .partners-collaboration-panel figcaption > p,
  .page-insights .newsroom-media-list article > div > span,
  .page-about .about-role > span
)::before {
  width: 18px;
  height: 2px;
  flex: 0 0 18px;
  background: var(--jdo-accent);
  content: "";
}

.technology-page #technology-system .tech-system-icon {
  color: rgba(245, 247, 248, 0.78) !important;
  font-size: 13px !important;
  font-weight: 700;
  letter-spacing: 0.04em !important;
  line-height: 1.2 !important;
}

@media (max-width: 700px) {
  :is(
    #agent #agent-kicker,
    .technology-page #technology-system .tech-system-icon,
    .page-solutions .solutions-hero-visual figcaption > span,
    .page-solutions .experience-viewer[data-viewer-layout="editorial"] .experience-caption > p,
    .page-partners .partners-collaboration-panel figcaption > p,
    .page-insights .newsroom-media-list article > div > span,
    .page-about .about-role > span
  ) {
    font-size: 12px !important;
  }
}

/* Editorial copy axis: desktop introductions use one clear reading column.
   This removes the narrow right-hand text rails that made translated copy
   look denser than the headings they explain. Mobile keeps each page's
   existing stacked composition. */
@media (min-width: 901px) {
  #technology .intro-grid,
  #agent .intro-grid,
  #solutions .intro-grid,
  .technology-page #technology-system .intro-grid,
  .technology-page .tech-governance .intro-grid,
  .page-insights .newsroom-observation .newsroom-observation-heading,
  .page-insights .newsroom-media-kit .newsroom-media-heading,
  .page-about .about-section-intro,
  .page-about .about-recognition .about-section-intro,
  .page-about .about-history-head {
    display: block;
    max-width: 1040px;
  }

  #technology .intro-grid > .section-lead,
  #agent .intro-grid > .section-lead,
  #solutions .intro-grid > .section-lead,
  .technology-page #technology-system .intro-grid > p,
  .technology-page .tech-governance .intro-grid > p,
  .page-insights .newsroom-observation .newsroom-observation-intro,
  .page-insights .newsroom-media-kit .newsroom-media-heading > p,
  .page-about .about-profile-copy,
  .page-about .about-section-intro-compact > p,
  .page-about .about-recognition .about-section-intro > p,
  .page-about .about-history-tools {
    width: min(100%, 820px);
    max-width: 820px;
    margin-top: 26px;
    margin-right: 0;
    margin-left: 0;
    justify-self: start;
  }

  #technology .intro-grid > .section-lead,
  #agent .intro-grid > .section-lead,
  #solutions .intro-grid > .section-lead,
  .technology-page #technology-system .intro-grid > p,
  .technology-page .tech-governance .intro-grid > p,
  .page-insights .newsroom-observation .newsroom-observation-intro,
  .page-insights .newsroom-media-kit .newsroom-media-heading > p,
  .page-about .about-profile-copy p,
  .page-about .about-section-intro-compact > p,
  .page-about .about-recognition .about-section-intro > p,
  .page-about .about-history-tools > p {
    max-width: 820px;
    line-height: 1.65;
    text-wrap: pretty;
  }

  .technology-page .tech-hero-summary,
  .page-solutions .solutions-hero-lead,
  .page-partners .partners-hero-summary,
  .page-about .about-hero-lead {
    width: min(100%, 820px);
    max-width: 820px;
    line-height: 1.65;
    text-wrap: pretty;
  }

  .page-about .about-profile-copy p:last-child {
    margin-bottom: 0;
  }

  .page-about .about-history-tools {
    align-items: flex-end;
  }

  .page-about .about-history-tools > p {
    width: min(100%, 720px);
  }

  .page-about .about-hero-grid {
    grid-template-columns: minmax(0, 850px) minmax(180px, 1fr);
    gap: clamp(48px, 5vw, 72px);
  }

  .page-about .about-hero-copy {
    max-width: 850px;
  }

  .page-about .about-vision-copy {
    width: min(900px, 62%);
  }

  .page-about .about-vision-copy > p:not(.eyebrow) {
    max-width: 820px;
    line-height: 1.65;
    text-wrap: pretty;
  }
}

/* Primary heading axis: section-level H1/H2 and the Agent stage narrative use
   the shared 1180px content line. Explicit media-card titles keep local axes. */
#partners #about.partners-summary {
  width: var(--content);
}

#agent .agent-content {
  left: calc((min(1380px, calc(100vw - 48px)) - min(1180px, calc(100vw - 80px))) / 2);
}

@media (max-width: 1180px) {
  #agent .agent-content {
    left: calc((min(1160px, calc(100vw - 32px)) - min(1080px, calc(100vw - 56px))) / 2);
  }
}

@media (max-width: 900px) {
  #agent .agent-content {
    left: calc((min(820px, calc(100vw - 24px)) - min(760px, calc(100vw - 40px))) / 2);
  }
}

@media (max-width: 620px) {
  #agent .agent-content {
    left: 8px;
  }
}

@media (min-width: 901px) {
  .page-solutions .solutions-section-head {
    max-width: none;
  }
}

/* German localization: preserve the editorial phrase groups while allowing
   long compounds to break at dictionary-approved hyphenation points. Keep
   brands, product names, dates, URLs, and numeric proof points intact. */
html[data-jdo-layout="legacy-disabled"] body {
  word-break: normal;
  overflow-wrap: normal;
}

html[data-jdo-layout="legacy-disabled"] :is(h1, h2, h3),
html[data-jdo-layout="legacy-disabled"] :is(h1, h2, h3) > span,
html[data-jdo-layout="legacy-disabled"] :is(
  .headline-line,
  .headline-phrase,
  .headline-nowrap,
  .heading-phrase,
  .about-heading-line,
  .about-semantic-line,
  .about-cta-line,
  .history-title-line,
  .tech-heading-line,
  .tech-system-title-line,
  .tech-cta-title-line,
  .solutions-cta-line
) {
  width: auto !important;
  min-width: 0;
  max-width: 100%;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  -webkit-hyphens: auto;
  hyphens: auto;
}

html[data-jdo-layout="legacy-disabled"] :is(h1, h2) {
  letter-spacing: -0.045em;
  text-wrap: balance;
}

html[data-jdo-layout="legacy-disabled"] :is(
  .section-lead,
  .tech-hero-summary,
  .solutions-hero-lead,
  .partners-hero-summary,
  .about-hero-lead,
  .solution-keyword,
  .tech-system-tab strong,
  .tech-system-tab small,
  .experience-tab-copy strong,
  .experience-tab-copy small,
  .history-year small,
  .newsroom-stream-copy,
  .newsroom-stream-copy p,
  .news-article-hero h1
) {
  min-width: 0;
  word-break: normal !important;
  overflow-wrap: normal !important;
  -webkit-hyphens: auto;
  hyphens: auto;
}

html[data-jdo-layout="legacy-disabled"] :is(
  .partners-hero-copy,
  .newsroom-hero-heading,
  .newsroom-hero-heading > *,
  .newsroom-featured-copy,
  .newsroom-stream-card,
  .newsroom-stream-copy,
  .news-article-hero .page-shell,
  .about-hero-copy,
  .about-history-tools,
  .about-cta-copy,
  .tech-system-tab > span:last-child,
  .experience-tab-copy
) {
  min-width: 0;
  max-width: 100%;
}

html[data-jdo-layout="legacy-disabled"] .about-metric,
html[data-jdo-layout="legacy-disabled"] .about-metric-grid {
  min-width: 0;
}

html[data-jdo-layout="legacy-disabled"] .about-metric-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

html[data-jdo-layout="legacy-disabled"] #about .company-metric strong,
html[data-jdo-layout="legacy-disabled"] :is(.brand, .brand-logo-lockup, time, code, .news-article-source-link) {
  word-break: normal !important;
  overflow-wrap: normal !important;
  -webkit-hyphens: none;
  hyphens: none;
}

html[data-jdo-layout="legacy-disabled"] .about-metric strong {
  white-space: normal;
  word-break: normal;
  overflow-wrap: normal;
  -webkit-hyphens: auto;
  hyphens: auto;
  font-size: clamp(28px, 2.35vw, 38px);
  line-height: 1.08;
}

@media (max-width: 1100px) {
  html[data-jdo-layout="legacy-disabled"] .about-metric-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  html[data-jdo-layout="legacy-disabled"] .about-metric-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  html[data-jdo-layout="legacy-disabled"] .page-partners .partners-collaboration-tabs {
    grid-auto-columns: 260px;
  }

  html[data-jdo-layout="legacy-disabled"] .experience-tab {
    min-height: 94px;
  }

  html[data-jdo-layout="legacy-disabled"] .experience-tab-copy strong {
    font-size: 13px;
  }
}

/* Progressive enhancement contract
   --------------------------------
   Interactive controls become available only after the script that owns them
   has bound its handlers. If JavaScript is unavailable (or one bundle fails),
   the first static story remains visible without presenting dead controls.
   Persistent decorative motion also waits for the shared motion controller;
   finite entrance animations are intentionally left untouched. */
html:not(.js-home-hero-ready) .hero-shot {
  visibility: hidden;
  pointer-events: none;
  cursor: default;
}

html:not(.js-home-hero-ready) .hero-shot.is-active > * {
  visibility: visible;
}

html:not(.js-home-technology-ready) #architecture-systems-toggle {
  visibility: hidden;
  pointer-events: none;
  cursor: default;
}

html:not(.js-home-technology-ready) #architecture-systems-toggle > * {
  visibility: visible;
}

html:not(.js-home-technology-ready) #architecture-systems-toggle .architecture-toggle-action,
html:not(.js-home-agent-ready) #agent .agent-tabs,
html:not(.js-home-solutions-ready) #solutions .solution-viewer-nav,
html:not(.js-tech-tabs-ready) .technology-page .tech-system-tabs,
html:not(.js-experience-ready) .page-solutions .experience-tabs,
html:not(.js-partners-tabs-ready) .page-partners .partners-collaboration-tabs,
html:not(.js-insights-filters-ready) .page-insights .newsroom-filters,
html:not(.js-about-history-ready) .page-about .about-history-buttons,
html:not(.js-about-history-ready) .page-about .about-history-years,
html:not(.js-motion-ready) [data-motion-toggle],
html:not(.js-motion-ready) .agent-play-toggle,
html:not(.js-partners-logos-ready) .partners-logo-toggle,
html:not(.js-motion-ready) .partners-logo-toggle {
  display: none !important;
}

@media (min-width: 901px) {
  html:not(.js-home-solutions-ready) #solutions .solution-viewer {
    display: block;
    min-height: 800px;
  }

  html:not(.js-home-solutions-ready) #solutions .solution-viewer-stage {
    width: 100%;
    min-height: 800px;
    padding-left: 0;
  }

  html:not(.js-home-solutions-ready) #solutions .solution-viewer-scene,
  html:not(.js-home-solutions-ready) #solutions .solution-viewer-scene.is-active {
    inset: 40px 0 auto;
  }
}

html:not(.js-motion-ready) .stage-progress span,
html:not(.js-motion-ready) .logo-track,
html:not(.js-motion-ready) .page-solutions .motif-perception span,
html:not(.js-motion-ready) .page-partners .partners-hero-media img,
html:not(.js-motion-ready) .page-partners .partners-hero-signal-two,
html:not(.js-motion-ready) .page-partners .partner-logo-track {
  animation-play-state: paused !important;
}

html:not(.js-about-history-ready) .page-about .about-history-stage {
  grid-column: 1 / -1;
}

/* Translated first-screen titles use one smaller shared desktop scale. This
   keeps English, German, Japanese and Korean readable without reintroducing
   per-page font sizes. Two lines remain the reserved baseline; longer copy
   expands naturally. */
@media (min-width: 901px) {
  html:is([data-jdo-layout="legacy-disabled"], [data-jdo-layout="legacy-disabled"], [data-jdo-layout="legacy-disabled"], [data-jdo-layout="legacy-disabled"]) :is(
    .hero h1,
    .tech-hero h1,
    .page-solutions .solutions-hero h1,
    .partners-hero h1,
    .page-insights .newsroom-hero h1,
    .page-about .about-hero h1
  ) {
    min-height: 2.04em;
    font-size: clamp(58px, 4.6vw, 78px);
    line-height: 1.02;
  }
}

/* Claude Design refinement
   ------------------------
   Preserve the JDO identity and information architecture while removing the
   repeated template signals: decorative locator rules, an eyebrow above every
   section, equal-width text strips, and copy covering documentary images. */

:where(.eyebrow, .solutions-kicker, .tech-capability-kicker)::before,
#technology .architecture-layer-label::before,
:is(
  #agent #agent-kicker,
  .page-solutions .solutions-hero-visual figcaption > span,
  .page-solutions .experience-viewer[data-viewer-layout="editorial"] .experience-caption > p,
  .page-partners .partners-collaboration-panel figcaption > p,
  .page-insights .newsroom-media-list article > div > span,
  .page-about .about-role > span
)::before {
  display: none !important;
  content: none !important;
}

:where(.eyebrow, .solutions-kicker, .tech-capability-kicker),
#technology .architecture-layer-label,
:is(
  #agent #agent-kicker,
  .page-solutions .solutions-hero-visual figcaption > span,
  .page-solutions .experience-viewer[data-viewer-layout="editorial"] .experience-caption > p,
  .page-partners .partners-collaboration-panel figcaption > p,
  .page-insights .newsroom-media-list article > div > span,
  .page-about .about-role > span
) {
  gap: 0 !important;
}

/* Keep one useful chapter locator per major narrative group. Subsection titles
   already carry the rest of the hierarchy. */
#agent > .container > .eyebrow,
#ai-brain .eyebrow,
#partners .eyebrow,
#contact .eyebrow,
.technology-page .tech-system-panel .eyebrow,
.technology-page .tech-practice .eyebrow,
.technology-page .tech-governance .eyebrow,
.technology-page .subpage-cta .eyebrow,
.page-solutions .solutions-cta .eyebrow,
.page-insights .newsroom-stream .eyebrow,
.page-insights .newsroom-media-kit .eyebrow,
.page-about .about-facts .eyebrow,
.page-about .about-recognition .eyebrow,
.page-about .about-vision .eyebrow {
  display: none !important;
}

main :is(h1, h2, h3) {
  text-wrap: balance;
}

main section h2 {
  letter-spacing: -0.055em;
}

main section :is(.section-lead, .solutions-section-head > p, .about-section-intro > p) {
  max-width: 760px;
  color: var(--jdo-copy);
  line-height: 1.68;
}

/* Open evidence bands use proportion rather than three cloned columns. */
.page-about .about-profile .about-role-line {
  border-top: 1px solid var(--jdo-ink);
  grid-template-columns: 1.02fr 1.16fr 0.82fr;
}

.page-partners .partners-principle-steps {
  grid-template-columns: 1.08fr 0.96fr 0.96fr;
}

.page-partners .partners-network-heading {
  grid-template-columns: minmax(0, 1fr) 180px 140px;
  align-items: start;
}

.page-partners .partners-network-note {
  justify-self: end;
}

.page-partners .partners-network-disclaimer {
  margin-top: 24px;
  margin-bottom: 0;
  color: #73787d;
  font-size: 12px;
}

/* Complete light chapters meet through whitespace; a rule remains only where
   it communicates state, comparison, or table structure. */
.page-solutions .experience-goals,
.page-partners .partners-principle,
.page-about .about-profile,
.page-about .about-facts,
.page-insights .newsroom-stream {
  border-bottom: 0;
}

@media (max-width: 900px) {
  .page-about .about-profile .about-role-line,
  .page-partners .partners-principle-steps,
  .page-partners .partners-network-heading {
    grid-template-columns: 1fr;
  }
}

/* Mobile and tablet first-screen contract. Dark heroes share one title
   baseline and one type scale; light heroes follow the same rule while the
   homepage keeps its centred alignment. */
@media (max-width: 900px) {
  :root {
    --jdo-mobile-hero-top: calc(var(--header, var(--header-height, 64px)) + 72px);
    --jdo-mobile-hero-title-size: clamp(42px, 7.8125vw, 60px);
  }

  .hero,
  .tech-hero,
  .page-solutions .solutions-hero,
  .page-insights .newsroom-hero,
  .page-about .about-hero {
    padding-top: var(--jdo-mobile-hero-top) !important;
  }

  .tech-hero,
  .page-about .about-hero {
    min-height: min(730px, 92svh);
    padding-bottom: 24px;
    align-content: start;
  }

  .page-partners .partners-hero,
  .page-partners .partners-hero-layout {
    min-height: min(730px, 92svh);
  }

  .page-partners .partners-hero-layout {
    display: block;
    padding-top: var(--jdo-mobile-hero-top) !important;
    padding-bottom: 24px;
  }

  .page-partners .partners-hero-copy {
    align-self: auto;
  }

  :is(
    .hero-copy > .eyebrow,
    .tech-hero-copy > .eyebrow,
    .page-solutions .solutions-hero-copy > .solutions-kicker,
    .page-partners .partners-hero-copy > .eyebrow,
    .page-insights .newsroom-hero-heading .eyebrow,
    .page-about .about-hero-copy > .eyebrow
  ) {
    margin: 0 0 20px;
    font-size: 12px;
    line-height: 1.35;
  }

  :is(
    .hero h1,
    .tech-hero h1,
    .page-solutions .solutions-hero h1,
    .page-partners .partners-hero h1,
    .page-insights .newsroom-hero h1,
    .page-about .about-hero h1
  ) {
    min-height: 0;
    margin-top: 0;
    font-size: var(--jdo-mobile-hero-title-size) !important;
    line-height: 1.02;
  }
}

@media (min-width: 1024px) {
  .page-about .about-profile .about-section-intro {
    grid-template-columns: minmax(480px, 0.9fr) minmax(0, 1.1fr);
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-partners .partner-logo-track,
  .page-insights .newsroom-featured-track,
  .hero-shot img {
    animation: none !important;
    transition-duration: 0.001ms !important;
  }
}

/* Footer brand close
   ------------------
   The footer is the site's final brand statement, not a compact directory.
   It keeps the approved contact facts, gives them a readable public-facing
   hierarchy and uses one shared dark composition on every public page. */
html:root body .site-footer.section-dark {
  position: relative;
  padding: 96px 0 30px;
  border-top: 1px solid rgba(255, 255, 255, 0.16);
  color: #f7f7f5;
  background: var(--jdo-night);
}

html:root body .site-footer.section-dark::before {
  position: absolute;
  top: -1px;
  left: max(24px, calc((100vw - 1380px) / 2));
  width: 72px;
  height: 2px;
  background: var(--jdo-accent);
  content: "";
}

.site-footer.section-dark :is(.footer-top.container, .footer-bottom.container) {
  width: min(1380px, calc(100% - 48px));
}

.site-footer.section-dark .footer-top {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(360px, 0.75fr);
  gap: clamp(88px, 7vw, 120px);
  align-items: start;
}

.site-footer.section-dark .footer-top > div:first-child {
  min-width: 0;
}

.site-footer.section-dark .footer-brand {
  display: block;
  width: 132px;
}

.site-footer.section-dark .footer-brand .brand-logo {
  width: 132px;
  height: auto;
  content: url("/de/assets/site/outputs/jdo-homepage-hifi-v1/assets/jdo-logo-inverse.svg");
}

.site-footer.section-dark .footer-top > div:first-child > p {
  margin: 22px 0 0;
  color: rgba(247, 247, 245, 0.46);
  font-size: 11px;
  font-weight: 560;
  letter-spacing: 0.17em;
  line-height: 1.45;
}

.site-footer.section-dark .footer-contact-list {
  display: grid;
  max-width: 780px;
  margin: 50px 0 0;
  padding: 0;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 40px;
  row-gap: 0;
  list-style: none;
}

.site-footer.section-dark .footer-contact-item {
  min-width: 0;
  min-height: 76px;
  border-top: 1px solid rgba(255, 255, 255, 0.16);
}

.site-footer.section-dark .footer-contact-item-wide {
  min-height: 100px;
  grid-column: 1 / -1;
  border-bottom: 1px solid rgba(255, 255, 255, 0.16);
}

.site-footer.section-dark .footer-contact-item > a,
.site-footer.section-dark .footer-contact-static {
  display: grid;
  min-width: 0;
  min-height: 76px;
  align-items: center;
  grid-template-columns: 20px minmax(0, 1fr) auto;
  gap: 16px;
  color: #f7f7f5;
  text-decoration: none;
}

.site-footer.section-dark .footer-contact-static {
  min-height: 100px;
  align-items: start;
  grid-template-columns: 20px minmax(0, 1fr);
  padding: 22px 0;
}

.site-footer.section-dark .footer-contact-item > a::after {
  color: var(--jdo-accent-soft);
  font-size: 18px;
  line-height: 1;
  content: "↗";
  transition: transform 220ms cubic-bezier(0.22, 1, 0.36, 1);
}

.site-footer.section-dark .footer-contact-icon {
  width: 20px;
  height: 20px;
  color: rgba(247, 247, 245, 0.44);
}

.site-footer.section-dark .footer-contact-text {
  min-width: 0;
  color: #f7f7f5;
  font-size: clamp(17px, 1.2vw, 19px);
  font-weight: 590;
  letter-spacing: -0.025em;
  line-height: 1.4;
  overflow-wrap: anywhere;
  white-space: normal;
}

.site-footer.section-dark .footer-contact-location {
  display: grid;
  min-width: 0;
  gap: 7px;
}

.site-footer.section-dark .footer-contact-static address {
  margin: 0;
  color: #f7f7f5;
  font-size: 16px;
  font-style: normal;
  font-weight: 560;
  line-height: 1.55;
}

.site-footer.section-dark .footer-contact-cities {
  margin: 0;
  color: rgba(247, 247, 245, 0.48) !important;
  font-size: 13px !important;
  font-weight: 450 !important;
  line-height: 1.6;
}

.site-footer.section-dark .footer-contact-item > a:hover .footer-contact-text,
.site-footer.section-dark .footer-contact-item > a:focus-visible .footer-contact-text {
  color: #fff;
  text-decoration: none;
}

.site-footer.section-dark .footer-contact-item > a:hover .footer-contact-icon,
.site-footer.section-dark .footer-contact-item > a:focus-visible .footer-contact-icon {
  color: var(--jdo-accent-soft);
}

.site-footer.section-dark .footer-contact-item > a:hover::after,
.site-footer.section-dark .footer-contact-item > a:focus-visible::after {
  transform: translate(2px, -2px);
}

.site-footer.section-dark .footer-contact-item > a:focus-visible {
  border-radius: 2px;
  outline: 2px solid var(--jdo-accent-soft);
  outline-offset: 5px;
}

.site-footer.section-dark .footer-links {
  display: grid;
  padding-top: 2px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(30px, 3vw, 48px);
}

.site-footer.section-dark .footer-links > div {
  display: grid;
  align-content: start;
  gap: 0;
}

.site-footer.section-dark .footer-links strong {
  margin: 0 0 20px;
  color: var(--jdo-accent-soft);
  font-size: 11px;
  font-weight: 650;
  letter-spacing: 0.14em;
  line-height: 1.4;
}

.site-footer.section-dark .footer-links a {
  display: flex;
  min-height: 48px;
  align-items: center;
  margin: 0;
  color: rgba(247, 247, 245, 0.62);
  font-size: 15px;
  font-weight: 500;
  line-height: 1.45;
  text-decoration: none;
  transition: color 180ms ease;
}

.site-footer.section-dark .footer-links a:is(:hover, :focus-visible, [aria-current="page"]) {
  color: #fff;
}

.site-footer.section-dark .footer-links a:focus-visible {
  outline: 2px solid var(--jdo-accent-soft);
  outline-offset: 4px;
}

.site-footer.section-dark .footer-bottom {
  display: grid;
  margin-top: 72px;
  padding-top: 28px;
  border-top: 1px solid rgba(255, 255, 255, 0.16);
  grid-template-columns: auto minmax(0, 1fr);
  gap: 48px;
  align-items: end;
  color: rgba(247, 247, 245, 0.42);
}

.site-footer.section-dark .footer-bottom span {
  margin: 0;
}

.site-footer.section-dark .footer-bottom span:first-child {
  padding-bottom: 3px;
  font-size: 10px;
  font-weight: 520;
  letter-spacing: 0.1em;
  line-height: 1.4;
}

.site-footer.section-dark .footer-bottom span:last-child {
  justify-self: end;
  color: #f7f7f5;
  font-size: clamp(24px, 2vw, 30px);
  font-weight: 590;
  letter-spacing: -0.04em;
  line-height: 1.05;
}

@media (max-width: 1199px) {
  html:root body .site-footer.section-dark {
    padding-top: 76px;
  }

  .site-footer.section-dark .footer-top {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .site-footer.section-dark .footer-contact-list {
    max-width: none;
  }

  .site-footer.section-dark .footer-links {
    margin-top: 48px;
    padding-top: 42px;
    border-top: 1px solid rgba(255, 255, 255, 0.16);
  }

  .site-footer.section-dark .footer-bottom {
    margin-top: 56px;
  }
}

@media (max-width: 620px) {
  html:root body .site-footer.section-dark {
    padding: 62px 0 90px;
  }

  html:root body .site-footer.section-dark::before {
    left: 18px;
    width: 56px;
  }

  .site-footer.section-dark :is(.footer-top.container, .footer-bottom.container) {
    width: calc(100% - 36px);
  }

  .site-footer.section-dark .footer-brand,
  .site-footer.section-dark .footer-brand .brand-logo {
    width: 116px;
  }

  .site-footer.section-dark .footer-top > div:first-child > p {
    margin-top: 18px;
    font-size: 10px;
  }

  .site-footer.section-dark .footer-contact-list {
    margin-top: 38px;
    grid-template-columns: 1fr;
    column-gap: 0;
  }

  .site-footer.section-dark .footer-contact-item,
  .site-footer.section-dark .footer-contact-item > a {
    min-height: 66px;
  }

  .site-footer.section-dark .footer-contact-item-wide {
    grid-column: auto;
  }

  .site-footer.section-dark .footer-contact-text {
    font-size: 16px;
  }

  .site-footer.section-dark .footer-contact-static {
    padding: 20px 0;
  }

  .site-footer.section-dark .footer-contact-static address {
    font-size: 15px;
  }

  .site-footer.section-dark .footer-contact-cities {
    font-size: 12px !important;
  }

  .site-footer.section-dark .footer-links {
    margin-top: 38px;
    padding-top: 36px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 32px 20px;
  }

  .site-footer.section-dark .footer-links strong {
    margin-bottom: 14px;
  }

  .site-footer.section-dark .footer-links a {
    min-height: 44px;
    font-size: 14px;
  }

  .site-footer.section-dark .footer-bottom {
    margin-top: 48px;
    padding-top: 24px;
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .site-footer.section-dark .footer-bottom span:first-child {
    grid-row: 2;
  }

  .site-footer.section-dark .footer-bottom span:last-child {
    max-width: 310px;
    grid-row: 1;
    justify-self: start;
    font-size: clamp(21px, 6.1vw, 24px);
  }
}

/* First-party analytics consent UI. Kept in the shared external stylesheet so
   the production style-src 'self' policy can apply it without inline CSS. */
.jdo-analytics-consent {
  position: fixed;
  left: 50%;
  bottom: max(16px, env(safe-area-inset-bottom));
  z-index: 10000;
  display: flex;
  width: min(680px, calc(100vw - 32px));
  padding: 16px 18px;
  border: 1px solid rgba(16, 24, 40, 0.12);
  border-radius: 16px;
  align-items: center;
  gap: 20px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 16px 48px rgba(16, 24, 40, 0.16);
  color: #111827;
  font:
    400 14px/1.55 -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    sans-serif;
  transform: translateX(-50%);
  backdrop-filter: blur(18px);
}

.jdo-analytics-consent[hidden],
.jdo-analytics-settings[hidden] {
  display: none !important;
}

.jdo-analytics-consent__copy {
  flex: 1;
  min-width: 0;
}

.jdo-analytics-consent strong {
  display: block;
  margin: 0 0 2px;
  font-size: 14px;
}

.jdo-analytics-consent p {
  margin: 0;
  color: #4b5563;
}

.jdo-analytics-consent__actions {
  display: flex;
  flex: 0 0 auto;
  gap: 8px;
}

.jdo-analytics-consent button,
.jdo-analytics-settings {
  min-height: 44px;
  border: 1px solid #d7dce4;
  border-radius: 10px;
  padding: 0 14px;
  background: #fff;
  color: #1f2937;
  font:
    600 13px/1 -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    sans-serif;
  cursor: pointer;
}

.jdo-analytics-consent button:hover,
.jdo-analytics-consent button:focus-visible,
.jdo-analytics-settings:hover,
.jdo-analytics-settings:focus-visible {
  border-color: #2156d9;
  outline: 3px solid rgba(33, 86, 217, 0.16);
  outline-offset: 1px;
}

.jdo-analytics-consent [data-analytics-allow] {
  border-color: #2156d9;
  background: #2156d9;
  color: #fff;
}

.jdo-analytics-settings {
  position: fixed;
  left: max(12px, env(safe-area-inset-left));
  bottom: max(12px, env(safe-area-inset-bottom));
  z-index: 9999;
  padding: 0 11px;
  border-color: rgba(17, 24, 39, 0.12);
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 6px 20px rgba(16, 24, 40, 0.1);
  color: #4b5563;
  font-size: 12px;
  backdrop-filter: blur(12px);
}

@media (max-width: 640px) {
  .jdo-analytics-consent {
    padding: 15px;
    align-items: stretch;
    flex-direction: column;
    gap: 12px;
  }

  .jdo-analytics-consent__actions {
    justify-content: flex-end;
    flex-wrap: wrap;
  }

  .jdo-analytics-consent button {
    flex: 1 1 120px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .jdo-analytics-consent,
  .jdo-analytics-settings {
    scroll-behavior: auto;
  }
}

/* Shared semantic typography contract
   -----------------------------------
   Size follows reading role rather than page ownership. The V1 compositions,
   copy and interactions stay intact; this layer only removes optical drift
   between equivalent headings, explanatory copy and interface metadata. */
.site-nav a,
.desktop-nav a,
.header-contact {
  font-size: var(--jdo-type-nav);
}

.language-switcher-trigger,
.language-menu a,
.mobile-nav a {
  font-size: var(--jdo-type-support);
}

@media (min-width: 901px) {
  :is(
    #technology .technology-title,
    #agent .agent-header h2,
    #solutions .solutions-title,
    #ai-brain .brain-sr-title,
    #partners .partners-copy > h2,
    #insights .section-intro .intro-grid > h2,
    #contact .final-cta-inner > h2,
    .technology-page #technology-system .tech-system-title,
    .technology-page #automotive-practice .tech-practice-copy > h2,
    .technology-page .tech-governance .intro-grid > h2,
    .technology-page .subpage-cta .tech-cta-title,
    .page-solutions #solution-offerings .solutions-section-head > h2,
    .page-solutions #agent-matrix .solutions-section-head > h2,
    .page-solutions #experience-goals .solutions-section-head > h2,
    .page-solutions #cooperation-path .cooperation-heading > h2,
    .page-solutions .solutions-cta-inner > div:first-child > h2,
    .page-solutions .solutions-cta .solutions-cta-copy > h2,
    .page-partners #partner-logo-title,
    .page-partners #cooperation-title,
    .page-partners #partners-cta-title,
    .page-insights #latest-title,
    .page-insights #industry-watch-title,
    .page-insights #media-kit-title,
    .page-about #profile-title,
    .page-about #facts-title,
    .page-about #history-title,
    .page-about #recognition-title,
    .page-about #vision-title,
    .page-about #about-cta-title
  ) {
    font-size: var(--jdo-type-chapter) !important;
    font-weight: 620;
    letter-spacing: -0.055em;
    line-height: 1.02;
  }

  html:not([data-jdo-layout="chinese-current"]) :is(
    #technology .technology-title,
    #agent .agent-header h2,
    #solutions .solutions-title,
    #ai-brain .brain-sr-title,
    #partners .partners-copy > h2,
    #insights .section-intro .intro-grid > h2,
    #contact .final-cta-inner > h2,
    .technology-page #technology-system .tech-system-title,
    .technology-page #automotive-practice .tech-practice-copy > h2,
    .technology-page .tech-governance .intro-grid > h2,
    .technology-page .subpage-cta .tech-cta-title,
    .page-solutions #solution-offerings .solutions-section-head > h2,
    .page-solutions #agent-matrix .solutions-section-head > h2,
    .page-solutions #experience-goals .solutions-section-head > h2,
    .page-solutions #cooperation-path .cooperation-heading > h2,
    .page-solutions .solutions-cta-inner > div:first-child > h2,
    .page-solutions .solutions-cta .solutions-cta-copy > h2,
    .page-partners #partner-logo-title,
    .page-partners #cooperation-title,
    .page-partners #partners-cta-title,
    .page-insights #latest-title,
    .page-insights #industry-watch-title,
    .page-insights #media-kit-title,
    .page-about #profile-title,
    .page-about #facts-title,
    .page-about #history-title,
    .page-about #recognition-title,
    .page-about #vision-title,
    .page-about #about-cta-title
  ) {
    font-size: clamp(46px, 4vw, 60px) !important;
    letter-spacing: -0.048em;
    line-height: 1.04;
  }

  :is(
    #top .hero-mechanism-intro h2,
    .page-contact .contact-form-heading > h2
  ) {
    font-size: var(--jdo-type-chapter-compact) !important;
    font-weight: 620;
    letter-spacing: -0.05em;
    line-height: 1.04;
  }

  :is(
    #technology .architecture-row-head > h3,
    #agent #agent-title,
    .technology-page #technology-system .tech-system-copy > h3,
    .technology-page #automotive-practice .tech-capability-copy > h3,
    .page-solutions #experience-goals .experience-caption > h3,
    .page-solutions #cooperation-path .cooperation-panel-copy > h3,
    .page-partners #cooperation .partners-collaboration-panel figcaption > h3,
    .page-insights #media-resources .newsroom-media-panel h3,
    .page-about #history .about-journey-copy > h3
  ) {
    font-size: var(--jdo-type-stage) !important;
    font-weight: 620;
    letter-spacing: -0.045em;
    line-height: 1.08;
  }

  html:not([data-jdo-layout="chinese-current"]) :is(
    #technology .architecture-row-head > h3,
    #agent #agent-title,
    .technology-page #technology-system .tech-system-copy > h3,
    .technology-page #automotive-practice .tech-capability-copy > h3,
    .page-solutions #experience-goals .experience-caption > h3,
    .page-solutions #cooperation-path .cooperation-panel-copy > h3,
    .page-partners #cooperation .partners-collaboration-panel figcaption > h3,
    .page-insights #media-resources .newsroom-media-panel h3,
    .page-about #history .about-journey-copy > h3
  ) {
    font-size: clamp(32px, 2.8vw, 42px) !important;
    line-height: 1.1;
  }
}

@media (min-width: 621px) and (max-width: 900px) {
  :is(
    #technology .technology-title,
    #agent .agent-header h2,
    #solutions .solutions-title,
    #ai-brain .brain-sr-title,
    #partners .partners-copy > h2,
    #insights .section-intro .intro-grid > h2,
    #contact .final-cta-inner > h2,
    .technology-page #technology-system .tech-system-title,
    .technology-page #automotive-practice .tech-practice-copy > h2,
    .technology-page .tech-governance .intro-grid > h2,
    .technology-page .subpage-cta .tech-cta-title,
    .page-solutions #solution-offerings .solutions-section-head > h2,
    .page-solutions #agent-matrix .solutions-section-head > h2,
    .page-solutions #experience-goals .solutions-section-head > h2,
    .page-solutions #cooperation-path .cooperation-heading > h2,
    .page-solutions .solutions-cta-inner > div:first-child > h2,
    .page-solutions .solutions-cta .solutions-cta-copy > h2,
    .page-partners #partner-logo-title,
    .page-partners #cooperation-title,
    .page-partners #partners-cta-title,
    .page-insights #latest-title,
    .page-insights #industry-watch-title,
    .page-insights #media-kit-title,
    .page-about #profile-title,
    .page-about #facts-title,
    .page-about #history-title,
    .page-about #recognition-title,
    .page-about #vision-title,
    .page-about #about-cta-title
  ) {
    font-size: clamp(42px, 6.4vw, 52px) !important;
    font-weight: 620;
    letter-spacing: -0.055em;
    line-height: 1.04;
  }

  :is(
    #technology .architecture-row-head > h3,
    #agent #agent-title,
    .technology-page #technology-system .tech-system-copy > h3,
    .technology-page #automotive-practice .tech-capability-copy > h3,
    .page-solutions #experience-goals .experience-caption > h3,
    .page-solutions #cooperation-path .cooperation-panel-copy > h3,
    .page-partners #cooperation .partners-collaboration-panel figcaption > h3,
    .page-insights #media-resources .newsroom-media-panel h3,
    .page-about #history .about-journey-copy > h3
  ) {
    font-size: clamp(34px, 5.2vw, 40px) !important;
    font-weight: 620;
    line-height: 1.1;
  }

  html:not([data-jdo-layout="chinese-current"]) .technology-page #automotive-practice .tech-capability-copy > h3 {
    font-size: clamp(28px, 4.2vw, 32px) !important;
  }
}

@media (max-width: 620px) {
  :is(
    .technology-page .subpage-cta .tech-cta-title,
    .page-insights #industry-watch-title
  ) {
    font-weight: 620;
  }

  :is(
    #technology .architecture-row-head > h3,
    #agent #agent-title,
    .technology-page #technology-system .tech-system-copy > h3,
    .technology-page #automotive-practice .tech-capability-copy > h3,
    .page-solutions #experience-goals .experience-caption > h3,
    .page-solutions #cooperation-path .cooperation-panel-copy > h3,
    .page-partners #cooperation .partners-collaboration-panel figcaption > h3,
    .page-insights #media-resources .newsroom-media-panel h3,
    .page-about #history .about-journey-copy > h3
  ) {
    font-size: clamp(28px, 8.4vw, 34px) !important;
    line-height: 1.1;
  }
}

/* Compact evidence cards keep a distinct role while aligning title and
   description baselines across different copy lengths. */
.page-about .about-recognition-list .about-recognition-card h3,
html.js-about-awards-ready .page-about .about-recognition-list .about-recognition-card h3 {
  font-size: var(--jdo-type-card-compact) !important;
}

.page-about .about-recognition-list .about-recognition-card p,
html.js-about-awards-ready .page-about .about-recognition-list .about-recognition-card p {
  font-size: var(--jdo-type-support);
  line-height: 1.6;
}

/* Body and support copy: no meaningful explanatory sentence is set as
   9–11px interface decoration. */
.shot-copy .shot-step-label,
.shot-step-label > em,
.agent-status,
.architecture-layer-label,
#agent #agent-kicker,
#solutions .solution-viewer-scene figcaption > span,
#insights .featured-story .story-copy > span,
#insights .story-row > span,
#insights .story-copy > p,
.technology-page .tech-system-facts dt,
.technology-page #automotive-practice .tech-capability-kicker,
.page-solutions .solutions-kicker,
.page-solutions #experience-goals .experience-caption > p,
.page-solutions #experience-goals .experience-outcome > span,
.page-solutions #cooperation-path .cooperation-scene-label,
.page-solutions #cooperation-path .cooperation-detail-row > dt,
.page-partners #cooperation .partners-collaboration-panel figcaption > p,
.page-partners #partners-contact .partners-cta-label,
.page-insights #latest-content .newsroom-stream-copy > span,
.page-insights #latest-content .newsroom-stream-copy > strong,
.page-insights #industry-watch .newsroom-observation-meta > span,
.page-insights #industry-watch .newsroom-observation-feature-copy footer small,
.page-insights #media-resources .newsroom-media-panel-topline > span,
.page-insights #media-resources .newsroom-media-profile-copy > span,
.page-insights #media-resources .newsroom-media-brand-tools header > span,
.page-insights #media-resources .newsroom-media-contact-copy > span,
.page-insights #media-resources .newsroom-media-contact-action > span,
.page-about #company-profile .about-profile-framework > p,
.page-about #company-profile .about-role > span,
.page-about #industry-practice .about-practice-media figcaption > span,
.page-about #industry-practice .about-practice-category,
.page-about #history .about-journey-hint,
.page-about #history .about-journey-year > small,
.page-about #history .about-journey-kicker,
.page-about .about-recognition .about-recognition-kicker,
.page-about .about-practice-tab-copy small,
.page-about .about-practice-panel-category,
.page-about .about-recognition-card > .about-recognition-label > .about-recognition-meta,
.page-contact .contact-kicker,
.page-contact .contact-direct > span,
.page-contact .contact-form-heading > p,
.page-contact .contact-privacy-inner > p,
.page-insights .newsroom-report-signal-head,
.page-insights .newsroom-report-signal-meta,
.page-insights .newsroom-media-downloads small,
.page-contact .contact-field.has-error::after,
.page-contact .contact-counter,
.site-footer.section-dark .footer-links strong,
.site-footer.section-dark .footer-bottom span:first-child {
  font-size: var(--jdo-type-meta);
  line-height: 1.45;
}

.shot-copy small,
#technology .architecture-toggle-copy > small,
#technology .architecture-system-tab .system-detail,
#agent .agent-steps > li > small,
#solutions .solution-viewer-trigger .solution-trigger-detail,
#insights .audience-links small,
.technology-page #technology-system .tech-system-tab small,
.technology-page #technology-system .tech-system-facts dd,
.technology-page .tech-capability-row p,
.technology-page .tech-capability-chain p,
.page-solutions #experience-goals .experience-tab-copy > small,
.page-solutions #experience-goals .experience-outcome > strong,
.page-solutions #cooperation-path .cooperation-tab > small,
.page-solutions #cooperation-path .cooperation-detail-row > dd,
.page-partners #cooperation .partners-collaboration-tab small,
.page-partners .partners-network-disclaimer,
.page-insights .newsroom-channel-index small,
.page-insights #industry-watch .newsroom-observation-item > div > p,
.page-insights #industry-watch .newsroom-observation-item > div > small,
.page-insights #industry-watch .newsroom-observation-note,
.page-insights #latest-content .newsroom-stream-copy > p,
.page-about #company-profile .about-profile-framework li > small,
.page-about #company-profile .about-role > p,
.page-about #industry-practice .about-practice-item > div > p,
.page-about #history .about-journey-copy > ul,
.page-about .about-practice-panel > p:last-child,
.page-about .about-recognition .about-award-wall-list p,
.page-insights .newsroom-media-tab small,
.page-insights .newsroom-media-profile-outline small,
.page-insights .newsroom-media-downloads span,
.page-contact .contact-promises small,
.page-contact .contact-consent,
.page-contact .contact-form-status {
  font-size: var(--jdo-type-support);
  line-height: 1.6;
}

.technology-page .tech-capability-row p,
.technology-page .tech-capability-chain p,
.page-contact .contact-field :is(input, select, textarea) {
  font-size: var(--jdo-type-body);
}

.page-contact .contact-field label,
.page-contact .contact-form-heading > span {
  font-size: var(--jdo-type-support);
}

.page-contact .contact-promises strong {
  font-size: var(--jdo-type-body);
}

.site-footer.section-dark .footer-top > div:first-child > p,
.site-footer.section-dark .footer-contact-cities {
  font-size: var(--jdo-type-meta) !important;
}

#insights .story-copy > p {
  font-size: var(--jdo-type-meta) !important;
}

.page-insights #latest-content .newsroom-stream-copy > p,
.page-insights #industry-watch .newsroom-observation-note,
.page-partners .partners-network-note .partners-network-disclaimer {
  font-size: var(--jdo-type-support) !important;
  line-height: 1.6;
}

/* The approved two-line About profile title must never trespass into the
   delivery ledger. A single-column middle range gives long translations and
   the Chinese explicit line break enough room without reducing the chapter
   scale; wide screens retain the dossier split with a title-safe first track. */
@media (min-width: 901px) and (max-width: 1280px) {
  .page-about .about-profile .about-section-intro {
    grid-template-columns: minmax(0, 1fr);
    gap: 48px;
  }

  .page-about .about-profile #profile-title {
    max-width: 10em;
  }
}

@media (min-width: 1281px) {
  .page-about .about-profile .about-section-intro {
    grid-template-columns: minmax(660px, 1.1fr) minmax(320px, 0.9fr);
    gap: 32px;
  }
}

@media (max-width: 900px) {
  #solutions .solution-viewer-trigger,
  #solutions .solution-viewer-trigger:hover,
  #solutions .solution-viewer-trigger:focus-visible,
  #solutions .solution-viewer-trigger.is-active {
    padding-block: 14px;
  }

  #solutions .solution-viewer-trigger .solution-trigger-detail {
    line-height: 1.55;
  }
}

/* Recognition wall: translated award metadata and titles wrap to different
   lengths. Reserve a shared row height within each language so every
   explanation begins on the same baseline without shrinking readable type. */
.page-about .about-recognition-list {
  --about-recognition-meta-lines: 1;
  --about-recognition-title-lines: 2;
}

html:is([data-jdo-layout="legacy-disabled"], [data-jdo-layout="legacy-disabled"], [data-jdo-layout="legacy-disabled"], [data-jdo-layout="legacy-disabled"]) .page-about .about-recognition-list {
  --about-recognition-meta-lines: 2;
}

html[data-jdo-layout="legacy-disabled"] .page-about .about-recognition-list {
  --about-recognition-title-lines: 5;
}

html[data-jdo-layout="legacy-disabled"] .page-about .about-recognition-list {
  --about-recognition-title-lines: 4;
}

html[data-jdo-layout="legacy-disabled"] .page-about .about-recognition-list {
  --about-recognition-title-lines: 3;
}

html[data-jdo-layout="legacy-disabled"] .page-about .about-recognition-list {
  --about-recognition-title-lines: 5;
}

.page-about .about-recognition-card > .about-recognition-label > .about-recognition-meta {
  min-height: calc(var(--about-recognition-meta-lines) * 1.45em);
}

.page-about .about-recognition-list .about-recognition-card h3,
html.js-about-awards-ready .page-about .about-recognition-list .about-recognition-card h3 {
  min-height: calc(var(--about-recognition-title-lines) * 1.22em);
}

@media (min-width: 621px) and (max-width: 900px) {
  html:is([data-jdo-layout="chinese-current"], [data-jdo-layout="legacy-disabled"], [data-jdo-layout="legacy-disabled"], [data-jdo-layout="legacy-disabled"], [data-jdo-layout="legacy-disabled"]) .page-about .about-recognition-list {
    --about-recognition-meta-lines: 1;
    --about-recognition-title-lines: 1;
  }

  html:is([data-jdo-layout="legacy-disabled"], [data-jdo-layout="legacy-disabled"]) .page-about .about-recognition-list {
    --about-recognition-title-lines: 2;
  }
}

@media (max-width: 620px) {
  html:is([data-jdo-layout="chinese-current"], [data-jdo-layout="legacy-disabled"], [data-jdo-layout="legacy-disabled"], [data-jdo-layout="legacy-disabled"], [data-jdo-layout="legacy-disabled"]) .page-about .about-recognition-list {
    --about-recognition-meta-lines: 1;
    --about-recognition-title-lines: 2;
  }

  html:is([data-jdo-layout="legacy-disabled"], [data-jdo-layout="legacy-disabled"], [data-jdo-layout="legacy-disabled"], [data-jdo-layout="legacy-disabled"]) .page-about .about-recognition-list {
    --about-recognition-meta-lines: 2;
  }

  html:is([data-jdo-layout="legacy-disabled"], [data-jdo-layout="legacy-disabled"], [data-jdo-layout="legacy-disabled"]) .page-about .about-recognition-list {
    --about-recognition-title-lines: 3;
  }
}

/* 2026-09-01 hierarchy and interaction refinement
   ------------------------------------------------
   Narrative chapters keep the full display scale. Evidence, resource and
   directory sections use the compact chapter tier so a page has more than one
   reading volume without changing the approved typography family. */
@media (min-width: 901px) {
  html[data-lang] :is(
    #partners .partners-copy > h2,
    #insights .section-intro .intro-grid > h2,
    .technology-page .tech-governance .intro-grid > h2,
    .page-partners #partner-logo-title,
    .page-insights #media-kit-title,
    .page-about #recognition-title
  ) {
    font-size: var(--jdo-type-chapter-compact) !important;
    letter-spacing: -0.045em;
    line-height: 1.04;
  }
}

@media (min-width: 621px) and (max-width: 900px) {
  html[data-lang] :is(
    #partners .partners-copy > h2,
    #insights .section-intro .intro-grid > h2,
    .technology-page .tech-governance .intro-grid > h2,
    .page-partners #partner-logo-title,
    .page-insights #media-kit-title,
    .page-about #recognition-title
  ) {
    font-size: clamp(38px, 5.6vw, 46px) !important;
    letter-spacing: -0.045em;
    line-height: 1.05;
  }

  .site-header .header-contact {
    display: none;
  }
}

@media (max-width: 620px) {
  html[data-lang] :is(
    #partners .partners-copy > h2,
    #insights .section-intro .intro-grid > h2,
    .technology-page .tech-governance .intro-grid > h2,
    .page-partners #partner-logo-title,
    .page-insights #media-kit-title,
    .page-about #recognition-title
  ) {
    font-size: clamp(30px, 8.2vw, 34px) !important;
    letter-spacing: -0.04em;
    line-height: 1.08;
  }
}

@media (max-width: 900px) {
  :is(.text-link, .outline-link, .partners-logo-toggle) {
    min-width: 44px;
    min-height: 44px;
  }
}

/* Keep the consent preference reachable without a translated floating label
   covering mobile content. The label is a transient focus/hover tooltip. */
.jdo-analytics-settings {
  display: grid;
  width: 44px;
  min-width: 44px;
  height: 44px;
  min-height: 44px;
  padding: 0;
  place-items: center;
  border-radius: 50%;
}

.jdo-analytics-settings > svg {
  width: 19px;
  height: 19px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
}

.jdo-analytics-settings__label {
  position: absolute;
  left: calc(100% + 8px);
  width: max-content;
  max-width: min(220px, calc(100vw - 76px));
  padding: 8px 10px;
  border-radius: 8px;
  color: #f7f7f5;
  background: #111820;
  box-shadow: 0 8px 24px rgba(7, 11, 16, 0.18);
  font-size: 12px;
  line-height: 1.25;
  opacity: 0;
  pointer-events: none;
  transform: translateX(-4px);
  transition: opacity 140ms ease, transform 140ms ease;
}

.jdo-analytics-settings:focus-visible .jdo-analytics-settings__label {
  opacity: 1;
  transform: translateX(0);
}

@media (hover: hover) and (pointer: fine) {
  .jdo-analytics-settings:hover .jdo-analytics-settings__label {
    opacity: 1;
    transform: translateX(0);
  }
}

/* The global motion preference stays a fixed 44px control. Its translated
   label is a tooltip, so hovering or pausing never changes page geometry. */
.motion-toggle,
.motion-toggle:hover,
.motion-toggle:focus-visible,
.motion-toggle[aria-pressed="true"] {
  width: 44px;
  min-width: 44px;
  height: 44px;
  min-height: 44px;
  padding: 0;
  overflow: visible;
  gap: 0;
  transition: border-color 160ms ease, background-color 160ms ease, color 160ms ease;
}

.motion-toggle .motion-label,
.motion-toggle:hover .motion-label,
.motion-toggle:focus-visible .motion-label,
.motion-toggle[aria-pressed="true"] .motion-label {
  position: absolute;
  right: calc(100% + 8px);
  width: max-content;
  max-width: min(220px, calc(100vw - 76px));
  padding: 8px 10px;
  overflow: visible;
  border-radius: 8px;
  color: #f7f7f5;
  background: #111820;
  box-shadow: 0 8px 24px rgba(7, 11, 16, 0.18);
  font-size: 12px;
  line-height: 1.25;
  opacity: 0;
  pointer-events: none;
  transform: translateX(4px);
  transition: opacity 140ms ease, transform 140ms ease;
}

.motion-toggle:focus-visible .motion-label {
  opacity: 1;
  transform: translateX(0);
}

@media (hover: hover) and (pointer: fine) {
  .motion-toggle:hover .motion-label {
    opacity: 1;
    transform: translateX(0);
  }
}

/* The homepage proves customer breadth with sixteen representative marks.
   The complete approved logo library remains on the Partners page. */
#partners .logo-rail:nth-child(3) {
  display: none;
}

#partners .logo-rail .logo-set > .customer-logo:nth-child(n + 9) {
  display: none;
}

#partners .logo-rails {
  gap: 0;
  margin-top: clamp(38px, 3.8vw, 52px);
}

#partners.partners {
  padding-top: clamp(88px, 6vw, 104px);
}

#partners .logo-rail {
  height: 104px;
}

@media (max-width: 900px) {
  #partners.partners {
    padding-top: 76px;
  }

  #partners .logo-rail {
    height: 88px;
  }
}

/* Media-resource labels remain readable at desktop scale after the shared
   metadata contract is applied. */
@media (min-width: 901px) {
  .page-insights #media-resources .newsroom-resource-brand .newsroom-media-brand-tools header > span {
    font-size: 13px;
  }
}

/* Ordinal-free editorial composition -------------------------------------
   Parallel cards are distinguished by content, icons and active state.
   Years, metrics and functional current/total announcements stay intact. */
@media (max-width: 760px) {
  .hero-stage-selector {
    display: grid;
    place-items: center;
    font-size: 0;
  }

  .hero-stage-selector::before {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: currentColor;
    content: "";
    opacity: 0.72;
    transition: width 180ms ease, height 180ms ease, opacity 180ms ease;
  }

  .hero-stage-selector.is-active::before {
    width: 9px;
    height: 9px;
    opacity: 1;
  }
}

#technology .system-focus-agent-flow b {
  display: grid;
  width: 24px;
  height: 24px;
  margin-inline: auto;
  place-items: center;
  letter-spacing: 0;
}

#technology .system-focus-agent-flow b svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
}

#solutions .solution-trigger-icon {
  display: grid;
  width: 26px;
  height: 26px;
  padding-top: 0;
  place-items: center;
}

#solutions .solution-trigger-icon svg {
  width: 21px;
  height: 21px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
}

.technology-page #technology-system .tech-system-tab {
  grid-template-columns: 38px minmax(0, 1fr);
}

.technology-page #technology-system .tech-system-icon {
  display: grid;
  width: 36px;
  height: 36px;
  place-items: center;
  color: #8d9297 !important;
  letter-spacing: 0 !important;
}

.technology-page #technology-system .tech-system-icon svg {
  width: 21px;
  height: 21px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.75;
}

.technology-page #technology-system .tech-system-tab[aria-selected="true"] .tech-system-icon {
  color: var(--red) !important;
}

.technology-page .tech-control-principles .tech-control-icon {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border-radius: 12px;
  color: var(--red);
  background: rgba(226, 25, 20, 0.07);
}

.technology-page .tech-control-principles .tech-control-icon svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.75;
}

.technology-page .tech-control-principles h3 {
  margin-top: 22px;
}

.page-solutions #experience-goals .experience-tab {
  grid-template-columns: 28px minmax(0, 1fr);
  grid-template-rows: auto;
  align-content: center;
}

.page-solutions #experience-goals .experience-tab-icon {
  grid-row: 1;
  grid-column: 1;
  align-self: start;
  margin-top: 1px;
}

.page-solutions #experience-goals .experience-tab-copy {
  grid-row: 1;
  grid-column: 2;
}

.page-solutions #cooperation-path .cooperation-tab {
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: auto auto;
  row-gap: 8px;
}

.page-solutions #cooperation-path .cooperation-tab > strong,
.page-solutions #cooperation-path .cooperation-tab > small {
  grid-column: 1;
}

.page-solutions #cooperation-path .cooperation-tab > small {
  margin-top: 0;
}

.page-about #company-profile .about-profile-framework li {
  grid-template-columns: minmax(0, 1fr);
  grid-template-areas:
    "title"
    "description";
  row-gap: 8px;
}

.page-about #industry-practice .about-practice-tab {
  grid-template-columns: minmax(0, 1fr);
}

.page-about .about-recognition-list .about-recognition-card > .about-recognition-label,
html.js-about-awards-ready .page-about .about-recognition-list .about-recognition-card > .about-recognition-label {
  grid-template-columns: minmax(0, 1fr);
  grid-template-areas:
    "meta"
    "title"
    "description";
  row-gap: 10px;
}

.page-insights .newsroom-channel-index > a,
.page-insights #media-resources .newsroom-media-tab,
.page-insights #media-resources .newsroom-media-profile-outline > a {
  grid-template-columns: minmax(0, 1fr) 20px;
}

.page-insights .newsroom-channel-index > a > span,
.page-insights #media-resources .newsroom-media-tab > span,
.page-insights #media-resources .newsroom-media-profile-outline > a > span {
  grid-column: 1;
}

.page-insights .newsroom-channel-index > a > i,
.page-insights #media-resources .newsroom-media-tab > i,
.page-insights #media-resources .newsroom-media-profile-outline > a > i {
  grid-row: 1;
  grid-column: 2;
  align-self: center;
  justify-self: end;
}

.page-insights #industry-watch .newsroom-observation-item {
  grid-template-columns: minmax(0, 1fr) 24px;
}

.page-insights #industry-watch .newsroom-observation-item > div {
  grid-column: 1;
}

.page-insights #industry-watch .newsroom-observation-item > .newsroom-observation-open {
  grid-column: 2;
}

.page-insights #media-resources .newsroom-media-contact-copy li {
  display: block;
  grid-template-columns: minmax(0, 1fr);
}

.page-contact .contact-promises strong {
  display: block;
  margin: 0;
}

.page-contact .contact-promises small {
  display: block;
  margin: 8px 0 0;
}

.page-solutions #experience-goals .experience-outcome > span {
  font-size: 13px;
}

.page-not-found .not-found-directions a {
  grid-template-columns: minmax(0, 1fr) auto;
}

.page-not-found .not-found-directions strong {
  grid-row: 1;
  grid-column: 1;
}

.page-not-found .not-found-directions i {
  grid-row: 1;
  grid-column: 2;
}

.page-not-found .not-found-directions small {
  grid-column: 1 / 3;
}

@media (max-width: 700px) {
  .page-solutions #experience-goals .experience-tab {
    grid-template-columns: 24px minmax(0, 1fr);
  }

  .technology-page .tech-control-principles h3 {
    margin-top: 18px;
  }

  .page-insights #industry-watch .newsroom-observation-item {
    grid-template-columns: minmax(0, 1fr) 20px;
  }
}

/* Sitewide typography contract: six exact levels with semantic ownership. */
html body {
  --site-type-hero: 68px;
  --site-type-chapter: 56px;
  --site-type-content: 24px;
  --site-type-lead: 18px;
  --site-type-copy: 16px;
  --site-type-meta: 14px;
  font-size: var(--site-type-copy) !important;
}

html body:not(#jdo-type-contract):not(#jdo-type-contract) *,
html body:not(#jdo-type-contract):not(#jdo-type-contract) :is(#main-content, #main):is(#main-content, #main) * {
  font-size: var(--site-type-copy) !important;
}

html body:not(#jdo-type-contract):not(#jdo-type-contract) :is(#main-content, #main):is(#main-content, #main) :where(h1, h1 *) {
  font-size: var(--site-type-hero) !important;
}

html body:not(#jdo-type-contract):not(#jdo-type-contract) :is(#main-content, #main):is(#main-content, #main) :where(h2, h2 *, h3, h3 *, h4, h4 *),
html body:not(#jdo-type-contract):not(#jdo-type-contract) :is(#main-content, #main):is(#main-content, #main) :where(
  .shot-copy strong,
  .architecture-toggle-copy strong,
  .architecture-system-tab strong,
  .solution-viewer-scene figcaption > strong,
  .company-metric-unit
) {
  font-size: var(--site-type-content) !important;
}

html body:not(#jdo-type-contract):not(#jdo-type-contract):is(.page-home, .technology-page, .page-about)
  :is(#main-content, #main):is(#main-content, #main) :where(h2, h2 *),
html body:not(#jdo-type-contract):not(#jdo-type-contract).page-solutions
  :is(#main-content, #main):is(#main-content, #main) :where(
    .solutions-section-head h2,
    .solutions-section-head h2 *,
    .cooperation-heading h2,
    .cooperation-heading h2 *,
    .solutions-cta h2,
    .solutions-cta h2 *
  ),
html body:not(#jdo-type-contract):not(#jdo-type-contract).page-partners
  :is(#main-content, #main):is(#main-content, #main) :where(
    #partner-logo-title,
    #partner-logo-title *,
    #cooperation-title,
    #cooperation-title *,
    #partners-cta-title,
    #partners-cta-title *
  ),
html body:not(#jdo-type-contract):not(#jdo-type-contract).page-insights
  :is(#main-content, #main):is(#main-content, #main) :where(
    #latest-title,
    #latest-title *,
    #industry-watch-title,
    #industry-watch-title *,
    #media-kit-title,
    #media-kit-title *
  ) {
  font-size: var(--site-type-chapter) !important;
}

html body:not([data-typography="readability-v1"]):not(#jdo-type-contract):not(#jdo-type-contract) :is(#main-content, #main):is(#main-content, #main) :where(
  .hero-summary,
  .hero-summary *,
  [class*="hero-summary"],
  [class*="hero-summary"] *,
  [class*="hero-lead"],
  [class*="hero-lead"] *,
  .section-lead,
  .section-lead *,
  .solutions-section-head > p,
  .solutions-section-head > p *,
  .cooperation-heading > p,
  .cooperation-heading > p *,
  .about-section-intro p,
  .about-section-intro p *,
  .contact-intro > p,
  .contact-intro > p *,
  .brain-sr-heading > p:last-child,
  .brain-sr-heading > p:last-child *
) {
  font-size: var(--site-type-lead) !important;
}

html body:not([data-typography="readability-v1"]):not(#jdo-type-contract):not(#jdo-type-contract) :is(#main-content, #main):is(#main-content, #main) :where(
  .eyebrow,
  .eyebrow *,
  [class*="kicker"],
  [class*="kicker"] *,
  [class*="meta"],
  [class*="meta"] *,
  [class*="counter"],
  [class*="counter"] *,
  [class*="status"],
  [class*="status"] *,
  time,
  time *,
  small,
  small *
) {
  font-size: var(--site-type-meta) !important;
}

html body:not(#jdo-type-contract):not(#jdo-type-contract) :is(#main-content, #main):is(#main-content, #main) :where(
  .company-metric-number,
  .about-fact-number
) {
  font-size: var(--site-type-hero) !important;
}

html body:not([data-typography="readability-v1"]):not(#jdo-type-contract):not(#jdo-type-contract) .site-footer * {
  font-size: var(--site-type-meta) !important;
}

html body:not(#jdo-type-contract):not(#jdo-type-contract) .site-footer :where(
  .footer-contact-text,
  address,
  .footer-links a
) {
  font-size: var(--site-type-copy) !important;
}

html body:not(#jdo-type-contract):not(#jdo-type-contract) .site-footer .footer-bottom > span:last-child {
  font-size: var(--site-type-content) !important;
}


/* Readability v1: only the approved current entrances opt in. The legacy
   defaults above remain available to historical pages. UI is not body copy. */
html body[data-typography="readability-v1"] {
  --site-type-ui: 16px;
  --site-type-body: 18px;
  --site-copy-leading: 1.7;
  --site-type-lead: 24px;
  --site-type-footer-detail: 16px;
}

/* Prose and capability explanations, including meaningful small/span copy. */
html body[data-typography="readability-v1"]:not(#jdo-type-contract):not(#jdo-type-contract)
  :is(#main-content, #main):is(#main-content, #main) :where(
    p:not(.technical-claim, .ecosystem-scale),
    dd,
    .shot-copy small,
    .architecture-toggle-copy small,
    .architecture-system-summary-item small,
    .system-focus-summary,
    .solution-trigger-detail,
    .solution-viewer-scene figcaption > span,
    .about-profile-framework small,
    .contact-promises small,
    .not-found-routes small,
    .not-found-route small,
    .cooperation-panel figcaption > span,
    .cooperation-static figcaption > span,
    .partners-collaboration-panel figcaption > span,
    .capability-terms > li
  ) {
  --site-type-copy: var(--site-type-body);
  font-size: var(--site-type-body) !important;
  line-height: 1.7;
}

/* Hero and chapter introductions share one lead role. */
html body[data-typography="readability-v1"]:not(#jdo-type-contract):not(#jdo-type-contract)
  :is(#main-content, #main):is(#main-content, #main) :where(
    .hero-summary, .tech-hero-summary, .solutions-hero-lead,
    .partners-hero-summary, .about-hero-lead, .contact-lead,
    .not-found-lead, .news-article-deck, .section-lead,
    .solutions-section-head > p, .cooperation-heading > p,
    .about-section-intro p, .contact-intro > p,
    .brain-sr-heading > p:last-child, .intro-grid > p,
    .chapter-heading > p, .brain-lead,
    .partners-network-intro, .ecosystem-intro,
    #hero-mechanism-description, .final-cta-inner > p:not(.eyebrow),
    .partners-cta-copy > p, .tech-practice-copy > p,
    .newsroom-hero-heading > p, .newsroom-observation-intro > p:first-child,
    .newsroom-media-heading > p, .solutions-cta-copy > p,
    .about-journey-tools > p, .about-vision-copy > p:not(.eyebrow), .about-cta-copy > p
  ) {
  --site-type-copy: var(--site-type-lead);
  font-size: var(--site-type-lead) !important;
  line-height: 1.6;
}

/* Operational labels, helper/error messages and form controls are UI. */
html body[data-typography="readability-v1"]:not(#jdo-type-contract):not(#jdo-type-contract)
  :is(#main-content, #main):is(#main-content, #main) :where(
    button, label, select, .system-detail,
    .tech-role-nav small, .about-journey-tabs small,
    .contact-field-error, .contact-counter, .contact-consent-error,
    .contact-form-status, .contact-form-help, .contact-field-help,
    .contact-consent, .contact-form-consent, .agent-status,
    .newsroom-filter-status, .newsroom-featured-status,
    .news-article-meta > span, .news-card-category,
    .about-practice-category, .about-practice-panel-category,
    .company-metric > p, .partners-cta-label,
    .cooperation-static-label, .cooperation-tab small
  ) {
  --site-type-copy: var(--site-type-ui);
  font-size: var(--site-type-ui) !important;
}
html body[data-typography="readability-v1"]:not(#jdo-type-contract):not(#jdo-type-contract)
  :is(#main-content, #main):is(#main-content, #main) :where(
    input:not([type="checkbox"], [type="radio"]), select, textarea
  ) {
  --site-type-copy: var(--site-type-body);
  font-size: var(--site-type-body) !important;
}
html body[data-typography="readability-v1"] :is(input, textarea)::placeholder {
  font-size: 18px;
}

/* Genuine date metadata and decorative eyebrows only; not every small/status. */
html body[data-typography="readability-v1"]:not(#jdo-type-contract):not(#jdo-type-contract)
  :is(#main-content, #main):is(#main-content, #main) :where(
    time, .eyebrow, .micro-label, .solutions-kicker, .contact-kicker,
    .not-found-kicker, .about-journey-kicker, .about-recognition-kicker,
    .about-recognition-meta, .news-date, .news-card-date,
    .system-focus-copy > p, .about-profile-framework > p,
    .contact-form-heading > p, .architecture-layer-label,
    .story-copy > span, .story-row > span,
    .newsroom-status, .newsroom-stream-copy > strong,
    .newsroom-observation-meta > span:last-child, .stage-topline > span
  ) {
  --site-type-copy: var(--site-type-meta);
  font-size: var(--site-type-meta) !important;
}

/* The privacy dialog is outside main but retains the same semantic roles. */
html body[data-typography="readability-v1"]:not(#jdo-type-contract):not(#jdo-type-contract)
  .contact-privacy-inner > h2 {
  font-size: var(--site-type-content) !important;
  line-height: 1.3;
}
html body[data-typography="readability-v1"]:not(#jdo-type-contract):not(#jdo-type-contract)
  .contact-privacy-inner > p {
  --site-type-copy: var(--site-type-meta);
  font-size: var(--site-type-meta) !important;
}
html body[data-typography="readability-v1"]:not(#jdo-type-contract):not(#jdo-type-contract)
  .contact-privacy-inner > div > p {
  --site-type-copy: var(--site-type-body);
  font-size: var(--site-type-body) !important;
  line-height: 1.7;
}
/* Reference-approved light technology copy; dark hero keeps its original color. */
html body[data-typography="readability-v1"].technology-page :is(#main-content, #main) :where(
  #automotive-capabilities .capability-copy > p,
  #brain-architecture .brain-role p,
  #brain-architecture .brain-participation,
  #brain-architecture .research-copy > p,
  #technology-system .technical-copy,
  #technology-system .capability-group > p,
  #technology-system .system-extension > p,
  #technology-system .capability-terms > li
) { color: #171717; }
html body[data-typography="readability-v1"].technology-page :is(#main-content, #main) :where(
  #brain-architecture .brain-lead, #technology-system .chapter-heading > p
) { color: #596165; }

/* Footer contacts and operations are UI; legal metadata remains separate. */
html body[data-typography="readability-v1"].page-home .shot-copy {
  grid-template-rows: 20px 42px auto;
}
html body[data-typography="readability-v1"].page-home .shot-copy small {
  block-size: auto;
  min-block-size: 3.4em;
  overflow: visible;
}

html body[data-typography="readability-v1"]:not(#jdo-type-contract):not(#jdo-type-contract)
  .site-footer :where(
    .footer-contact-text, address, .footer-links a,
    .footer-contact-cities, .footer-security-label, .footer-back-top,
    .jdo-analytics-settings, .jdo-analytics-settings__label
  ) {
  --site-type-copy: var(--site-type-ui);
  font-size: var(--site-type-ui) !important;
}
html body[data-typography="readability-v1"]:not(#jdo-type-contract):not(#jdo-type-contract)
  .site-footer :where(.footer-bottom > span:first-child, .footer-brand-column > p) {
  --site-type-copy: var(--site-type-meta);
  font-size: var(--site-type-meta) !important;
}
@media (max-width: 900px) {
  html body[data-typography="readability-v1"] { --site-type-lead: 22px; }
}

@media (max-width: 900px) {
  html body {
    --site-type-hero: 56px;
    --site-type-chapter: 42px;
    --site-type-content: 22px;
  }
}

@media (max-width: 620px) {
  html body {
    --site-type-hero: 40px;
    --site-type-chapter: 32px;
  }

  body.page-home #top.hero {
    padding-top: calc(var(--header-height) + 50px) !important;
  }
}

/* D-047 — Chinese homepage refinement ------------------------------------
   Chinese is reviewed independently in this round. Language-scoped branches
   keep the four established translations on their previous composition. */
.hero-primary-cta-zh,
.technology-title-zh,
.partners-title-zh,
.footer-brand-home,
.footer-contact-phone,
.footer-security-label,
.footer-bottom-actions,
.footer-contact-link-zh {
  display: none;
}

html[data-jdo-layout="chinese-current"] .hero-primary-cta-zh,
html[data-jdo-layout="chinese-current"] .technology-title-zh,
html[data-jdo-layout="chinese-current"] .partners-title-zh,
html[data-jdo-layout="chinese-current"] .footer-brand-home,
html[data-jdo-layout="chinese-current"] .footer-contact-phone,
html[data-jdo-layout="chinese-current"] .footer-security-label,
html[data-jdo-layout="chinese-current"] .footer-bottom-actions,
html[data-jdo-layout="chinese-current"] .footer-contact-link-zh {
  display: flex;
}

html[data-jdo-layout="chinese-current"] .technology-title-zh,
html[data-jdo-layout="chinese-current"] .partners-title-zh {
  display: block;
}

html[data-jdo-layout="chinese-current"] :is(
  .hero-primary-cta-legacy,
  .technology-title-legacy,
  .partners-title-legacy,
  .footer-brand-legacy,
  .footer-brand-slogan,
  .footer-contact-link-legacy
) {
  display: none !important;
}

html:not([data-jdo-layout="chinese-current"]) :is(
  .hero-primary-cta-zh,
  .technology-title-zh,
  .partners-title-zh,
  .footer-brand-home,
  .footer-contact-phone,
  .footer-security-label,
  .footer-bottom-actions,
  .footer-contact-link-zh
) {
  display: none !important;
}

html:not([data-jdo-layout="chinese-current"]) body:not(#jdo-type-contract):not(#jdo-type-contract) .site-footer.section-dark .footer-brand-slogan {
  display: block;
  justify-self: end;
  color: #f7f7f5;
  font-size: var(--site-type-content) !important;
  font-weight: 590;
  letter-spacing: -0.04em;
  line-height: 1.05;
}

@media (max-width: 620px) {
  html:not([data-jdo-layout="chinese-current"]) body:not(#jdo-type-contract):not(#jdo-type-contract) .site-footer.section-dark .footer-brand-slogan {
    max-width: 310px;
    grid-row: 1;
    justify-self: start;
  }
}

/* The Chinese systems layer exposes all three product responsibilities before
   enhancement. It remains one architectural layer instead of three cards. */
html:not([data-jdo-layout="chinese-current"]) #technology .architecture-systems-overview {
  display: block;
}

html:not([data-jdo-layout="chinese-current"]) #technology :is(
  .architecture-summary-label,
  .architecture-system-summary
) {
  display: none;
}

html:not([data-jdo-layout="chinese-current"]) #technology .architecture-toggle-legacy {
  display: contents;
}

html[data-jdo-layout="chinese-current"] #technology .architecture-toggle-legacy {
  display: none;
}

html[data-jdo-layout="chinese-current"] #technology .architecture-systems-overview {
  display: grid;
  min-height: 154px;
  padding: 32px clamp(28px, 3.6vw, 54px);
  align-items: center;
  grid-template-columns: minmax(118px, 0.3fr) minmax(0, 1fr) auto;
  gap: 24px;
}

html[data-jdo-layout="chinese-current"] #technology .architecture-summary-label {
  align-self: start;
  padding-top: 4px;
}

html[data-jdo-layout="chinese-current"] #technology .architecture-system-summary {
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

html[data-jdo-layout="chinese-current"] #technology .architecture-system-summary-item {
  display: grid;
  min-width: 0;
  gap: 8px;
  align-content: start;
}

html[data-jdo-layout="chinese-current"] body:not(#jdo-type-contract):not(#jdo-type-contract) #main-content#main-content #technology .architecture-system-summary-item strong {
  color: #f4f6f7;
  font-size: 24px !important;
  font-weight: 600;
  letter-spacing: -0.025em;
  line-height: 1.2;
}

html[data-jdo-layout="chinese-current"] body:not(#jdo-type-contract):not(#jdo-type-contract) #main-content#main-content #technology .architecture-system-summary-item small {
  color: rgba(238, 243, 246, 0.7);
  font-size: var(--site-type-body, 16px) !important;
  line-height: var(--site-copy-leading, 1.5);
}

html[data-jdo-layout="chinese-current"] #technology .architecture-row-toggle {
  position: relative;
  display: block;
  width: auto;
  min-width: 104px;
  height: auto;
  min-height: 44px;
  padding: 0;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  isolation: auto;
}

html[data-jdo-layout="chinese-current"] #technology .architecture-row-toggle::before {
  display: none;
}

html[data-jdo-layout="chinese-current"] #technology .architecture-row-toggle:is(:hover, :focus-visible, [aria-expanded="true"]) {
  background: transparent;
  box-shadow: none;
}

html[data-jdo-layout="chinese-current"] #technology .architecture-row-toggle:focus-visible {
  outline: 2px solid #ef4a43;
  outline-offset: 4px;
}

html[data-jdo-layout="chinese-current"] #technology .architecture-toggle-action {
  min-height: 44px;
  padding: 0 16px;
  border: 1px solid rgba(255, 255, 255, 0.24);
  border-radius: 999px;
  color: rgba(247, 247, 245, 0.78);
  background: rgba(3, 7, 10, 0.44);
}

html[data-jdo-layout="chinese-current"] #technology .architecture-row-toggle:is(:hover, :focus-visible) .architecture-toggle-action,
html[data-jdo-layout="chinese-current"] #technology .architecture-row-toggle[aria-expanded="true"] .architecture-toggle-action {
  border-color: rgba(255, 255, 255, 0.54);
  color: #fff;
  background: rgba(255, 255, 255, 0.06);
}

html[data-jdo-layout="chinese-current"] #technology .architecture-layer-systems.is-active .architecture-system-summary {
  display: none;
}

html[data-jdo-layout="chinese-current"] #technology .architecture-layer-systems.is-active .architecture-systems-overview {
  min-height: 88px;
  grid-template-columns: minmax(118px, 1fr) auto;
}

html[data-jdo-layout="chinese-current"] #technology .architecture-layer-systems.is-active .architecture-row-toggle {
  grid-column: 2;
}

html[data-jdo-layout="chinese-current"] body:not(#jdo-type-contract):not(#jdo-type-contract) #main-content#main-content #technology .architecture-system-tab strong {
  font-size: 24px !important;
}

html[data-jdo-layout="chinese-current"] body:not(#jdo-type-contract):not(#jdo-type-contract) #main-content#main-content #technology .architecture-system-tab .system-detail {
  font-size: 16px !important;
  line-height: 1.5;
}

/* The restored Chinese homepage logo evidence is 11 + 11 + 11. */
html[data-jdo-layout="chinese-current"] #partners .logo-rail:nth-child(3) {
  display: block !important;
}

html[data-jdo-layout="chinese-current"] #partners .logo-rail .logo-set > .customer-logo:nth-child(n + 9) {
  display: grid !important;
}

html[data-jdo-layout="chinese-current"] #partners .logo-rail .logo-set > .customer-logo:nth-child(n + 9) img {
  display: block !important;
}

html:not([data-jdo-layout="chinese-current"]) #partners .logo-rail:nth-child(3),
html:not([data-jdo-layout="chinese-current"]) #partners .logo-rail .logo-set > .customer-logo:nth-child(n + 9) {
  display: none !important;
}

html:not([data-jdo-layout="chinese-current"]) #partners .logo-rail .logo-set > .customer-logo:nth-child(n + 9) img {
  display: none !important;
}

html[data-jdo-layout="chinese-current"]:is([data-motion="reduced"], [data-paused="true"]) #partners .logo-rail,
html[data-jdo-layout="chinese-current"]:not(.js-motion-ready) #partners .logo-rail {
  height: 104px;
  min-height: 0;
  overflow-x: auto !important;
  overflow-y: hidden;
  overscroll-behavior-inline: contain;
  scrollbar-width: thin;
}

html[data-jdo-layout="chinese-current"]:is([data-motion="reduced"], [data-paused="true"]) #partners .logo-track,
html[data-jdo-layout="chinese-current"]:not(.js-motion-ready) #partners .logo-track {
  display: flex !important;
  width: max-content !important;
  height: 100%;
  animation: none !important;
  transform: none !important;
}

html[data-jdo-layout="chinese-current"]:is([data-motion="reduced"], [data-paused="true"]) #partners .logo-set,
html[data-jdo-layout="chinese-current"]:not(.js-motion-ready) #partners .logo-set {
  display: flex !important;
  width: auto !important;
  padding: 27px 0 0 !important;
  justify-content: flex-start !important;
  grid-template-columns: none !important;
}

html[data-jdo-layout="chinese-current"]:is([data-motion="reduced"], [data-paused="true"]) #partners .logo-set[aria-hidden="true"],
html[data-jdo-layout="chinese-current"]:not(.js-motion-ready) #partners .logo-set[aria-hidden="true"] {
  display: none !important;
}

html[data-jdo-layout="chinese-current"]:is([data-motion="reduced"], [data-paused="true"]) #partners .customer-logo,
html[data-jdo-layout="chinese-current"]:not(.js-motion-ready) #partners .customer-logo {
  display: grid !important;
  width: 176px !important;
  min-width: 176px;
  height: 72px !important;
  padding: 12px 28px !important;
  flex: 0 0 176px;
}

html[data-jdo-layout="chinese-current"] #partners .logo-rail:focus-visible {
  outline: 2px solid #e51f1f;
  outline-offset: -3px;
}

/* D-047 — shared Chinese public footer ----------------------------------- */
html[data-jdo-layout="chinese-current"]:root body .site-footer.section-dark {
  padding: 64px 0 calc(24px + env(safe-area-inset-bottom));
  border-top: 0;
  color: #f7f7f5;
  background: #070b10;
}

html[data-jdo-layout="chinese-current"]:root body .site-footer.section-dark::before {
  display: none;
}

html[data-jdo-layout="chinese-current"] .site-footer.section-dark :is(.footer-top.container, .footer-bottom.container) {
  width: min(1180px, calc(100% - 80px));
}

html[data-jdo-layout="chinese-current"] .site-footer.section-dark .footer-top {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1.15fr);
  grid-template-rows: auto 1fr;
  column-gap: 64px;
  row-gap: 16px;
  align-items: start;
}

html[data-jdo-layout="chinese-current"] .site-footer.section-dark .footer-top > div:first-child {
  display: contents;
}

html[data-jdo-layout="chinese-current"] .site-footer.section-dark .footer-brand-home {
  width: 132px;
  grid-column: 1;
  grid-row: 1;
}

html[data-jdo-layout="chinese-current"] .site-footer.section-dark .footer-brand-home .brand-logo {
  width: 132px;
  height: auto;
  content: url("/de/assets/site/outputs/jdo-homepage-hifi-v1/assets/jdo-logo-inverse.svg");
}

html[data-jdo-layout="chinese-current"] body:not(#jdo-type-contract):not(#jdo-type-contract) .site-footer.section-dark .footer-top > div:first-child > p {
  max-width: 280px;
  margin: 0;
  color: rgba(247, 247, 245, 0.7);
  font-size: 14px !important;
  font-weight: 600;
  letter-spacing: 0.08em;
  line-height: 1.5;
  grid-column: 1;
  grid-row: 2;
}

html[data-jdo-layout="chinese-current"] .site-footer.section-dark .footer-links {
  display: grid;
  margin: 0;
  padding: 0;
  border: 0;
  grid-column: 2;
  grid-row: 1 / span 2;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: repeat(3, minmax(44px, auto));
  grid-auto-flow: column;
  gap: 0 24px;
}

html[data-jdo-layout="chinese-current"] .site-footer.section-dark .footer-links > div {
  display: contents;
}

html[data-jdo-layout="chinese-current"] .site-footer.section-dark .footer-links strong {
  display: none;
}

html[data-jdo-layout="chinese-current"] body:not(#jdo-type-contract):not(#jdo-type-contract) .site-footer.section-dark .footer-links a {
  min-height: 44px;
  color: rgba(247, 247, 245, 0.7);
  font-size: 16px !important;
  font-weight: 500;
  line-height: 1.5;
  text-decoration: none;
}

html[data-jdo-layout="chinese-current"] .site-footer.section-dark .footer-links a:is(:hover, :focus-visible, [aria-current="page"]) {
  color: #f7f7f5;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 5px;
}

html[data-jdo-layout="chinese-current"] .site-footer.section-dark .footer-contact-list {
  display: flex;
  max-width: none;
  margin: 0;
  padding: 0;
  flex-direction: column;
  gap: 8px;
  grid-column: 3;
  grid-row: 1 / span 2;
}

html[data-jdo-layout="chinese-current"] .site-footer.section-dark .footer-contact-item {
  min-height: 0;
  border: 0;
}

html[data-jdo-layout="chinese-current"] .site-footer.section-dark .footer-contact-phone { order: 1; }
html[data-jdo-layout="chinese-current"] .site-footer.section-dark .footer-contact-media { order: 2; }
html[data-jdo-layout="chinese-current"] .site-footer.section-dark .footer-contact-address { order: 3; }
html[data-jdo-layout="chinese-current"] .site-footer.section-dark .footer-contact-security {
  display: grid;
  margin-top: 8px;
  gap: 2px;
  order: 4;
}

html[data-jdo-layout="chinese-current"] .site-footer.section-dark .footer-contact-item > a,
html[data-jdo-layout="chinese-current"] .site-footer.section-dark .footer-contact-static {
  display: block;
  min-height: 0;
  padding: 0;
  color: #f7f7f5;
}

html[data-jdo-layout="chinese-current"] .site-footer.section-dark .footer-contact-item > a::after,
html[data-jdo-layout="chinese-current"] .site-footer.section-dark .footer-contact-icon {
  display: none;
}

html[data-jdo-layout="chinese-current"] body:not(#jdo-type-contract):not(#jdo-type-contract) .site-footer.section-dark .footer-contact-text,
html[data-jdo-layout="chinese-current"] body:not(#jdo-type-contract):not(#jdo-type-contract) .site-footer.section-dark .footer-contact-static address {
  color: #f7f7f5;
  font-size: 16px !important;
  font-style: normal;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.5;
  overflow-wrap: anywhere;
}

html[data-jdo-layout="chinese-current"] body:not(#jdo-type-contract):not(#jdo-type-contract) .site-footer.section-dark .footer-contact-phone .footer-contact-text {
  font-size: 24px !important;
  font-weight: 620;
  letter-spacing: -0.02em;
  line-height: 1.3;
}

html[data-jdo-layout="chinese-current"] .site-footer.section-dark .footer-contact-location {
  display: grid;
  gap: 4px;
}

html[data-jdo-layout="chinese-current"] body:not(#jdo-type-contract):not(#jdo-type-contract) .site-footer.section-dark .footer-contact-cities,
html[data-jdo-layout="chinese-current"] body:not(#jdo-type-contract):not(#jdo-type-contract) .site-footer.section-dark .footer-security-label,
html[data-jdo-layout="chinese-current"] body:not(#jdo-type-contract):not(#jdo-type-contract) .site-footer.section-dark .footer-contact-security .footer-contact-text {
  color: rgba(247, 247, 245, 0.7) !important;
  font-size: var(--site-type-footer-detail, 14px) !important;
  font-weight: 500 !important;
  line-height: 1.5;
}

html[data-jdo-layout="chinese-current"] .site-footer.section-dark .footer-bottom {
  display: grid;
  margin-top: 40px;
  padding-top: 24px;
  border-top: 1px solid rgba(255, 255, 255, 0.16);
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 24px;
  align-items: center;
}

html[data-jdo-layout="chinese-current"] body:not(#jdo-type-contract):not(#jdo-type-contract) .site-footer.section-dark .footer-bottom > span:first-child {
  padding: 0;
  color: rgba(247, 247, 245, 0.7);
  font-size: 14px !important;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.5;
}

html[data-jdo-layout="chinese-current"] .site-footer.section-dark .footer-bottom-actions {
  justify-self: end;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
}

html[data-jdo-layout="chinese-current"] body:not(#jdo-type-contract):not(#jdo-type-contract) .site-footer.section-dark .footer-back-top,
html[data-jdo-layout="chinese-current"] body:not(#jdo-type-contract):not(#jdo-type-contract) .site-footer.section-dark .footer-bottom-actions .jdo-analytics-settings {
  display: inline-flex;
  min-width: 0;
  min-height: 44px;
  padding: 0;
  align-items: center;
  gap: 8px;
  border: 0;
  border-radius: 0;
  color: rgba(247, 247, 245, 0.7);
  background: transparent;
  box-shadow: none;
  font-size: var(--site-type-footer-detail, 14px) !important;
  font-weight: 500;
  line-height: 1.5;
  text-decoration: none;
}

html[data-jdo-layout="chinese-current"] .site-footer.section-dark .footer-back-top::after {
  content: "↑";
}

html[data-jdo-layout="chinese-current"] .site-footer.section-dark .footer-bottom-actions .jdo-analytics-settings {
  position: relative;
  z-index: auto;
  inset: auto;
  width: auto;
  height: auto;
  backdrop-filter: none;
}

html[data-jdo-layout="chinese-current"] .site-footer.section-dark .footer-bottom-actions .jdo-analytics-settings > svg {
  width: 18px;
  height: 18px;
}

html[data-jdo-layout="chinese-current"] body:not(#jdo-type-contract):not(#jdo-type-contract) .site-footer.section-dark .footer-bottom-actions .jdo-analytics-settings__label {
  position: static;
  width: auto;
  max-width: none;
  padding: 0;
  color: inherit;
  background: transparent;
  box-shadow: none;
  font-size: var(--site-type-footer-detail, 14px) !important;
  line-height: 1.5;
  opacity: 1;
  transform: none;
}

html[data-jdo-layout="chinese-current"] .site-footer.section-dark :is(.footer-back-top, .footer-bottom-actions .jdo-analytics-settings):is(:hover, :focus-visible) {
  color: #f7f7f5;
  text-decoration: underline;
  text-underline-offset: 5px;
  outline: 2px solid rgba(247, 247, 245, 0.84);
  outline-offset: 3px;
}

@media (min-width: 621px) and (max-width: 1199px) {
  html[data-jdo-layout="chinese-current"] #technology .architecture-layer-systems:not(.is-active) .architecture-systems-overview {
    grid-template-columns: minmax(0, 1fr) auto;
  }
  html[data-jdo-layout="chinese-current"] #technology .architecture-layer-systems:not(.is-active) .architecture-summary-label {
    grid-column: 1; grid-row: 1;
  }
  html[data-jdo-layout="chinese-current"] #technology .architecture-layer-systems:not(.is-active) .architecture-row-toggle {
    grid-column: 2; grid-row: 1;
  }
  html[data-jdo-layout="chinese-current"] #technology .architecture-layer-systems:not(.is-active) .architecture-system-summary {
    grid-column: 1 / -1; grid-row: 2;
  }
}

@media (max-width: 900px) {
  html[data-jdo-layout="chinese-current"] body:not(#jdo-type-contract):not(#jdo-type-contract) #main-content#main-content #technology .architecture-system-summary-item strong,
  html[data-jdo-layout="chinese-current"] body:not(#jdo-type-contract):not(#jdo-type-contract) #main-content#main-content #technology .architecture-system-tab strong {
    font-size: 22px !important;
  }

  html[data-jdo-layout="chinese-current"]:root body .site-footer.section-dark {
    padding-top: 56px;
  }

  html[data-jdo-layout="chinese-current"] .site-footer.section-dark .footer-top {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: auto auto auto;
    column-gap: 40px;
    row-gap: 16px;
  }

  html[data-jdo-layout="chinese-current"] .site-footer.section-dark .footer-brand-home {
    grid-column: 1 / -1;
    grid-row: 1;
  }

  html[data-jdo-layout="chinese-current"] .site-footer.section-dark .footer-top > div:first-child > p {
    margin-bottom: 16px;
    grid-column: 1 / -1;
    grid-row: 2;
  }

  html[data-jdo-layout="chinese-current"] .site-footer.section-dark .footer-links {
    grid-column: 1;
    grid-row: 3;
  }

  html[data-jdo-layout="chinese-current"] .site-footer.section-dark .footer-contact-list {
    grid-column: 2;
    grid-row: 3;
  }

  html[data-jdo-layout="chinese-current"] body:not(#jdo-type-contract):not(#jdo-type-contract) .site-footer.section-dark .footer-contact-phone .footer-contact-text {
    font-size: 22px !important;
  }

  html[data-jdo-layout="chinese-current"] .site-footer.section-dark .footer-bottom {
    margin-top: 32px;
    grid-template-columns: 1fr;
    gap: 8px;
  }

  html[data-jdo-layout="chinese-current"] .site-footer.section-dark .footer-bottom > span:first-child {
    grid-row: auto;
  }

  html[data-jdo-layout="chinese-current"] .site-footer.section-dark .footer-bottom-actions {
    justify-self: start;
    gap: 16px;
  }

  html[data-jdo-layout="chinese-current"]:is([data-motion="reduced"], [data-paused="true"]) #partners .logo-rail,
  html[data-jdo-layout="chinese-current"]:not(.js-motion-ready) #partners .logo-rail {
    height: 88px;
  }

  html[data-jdo-layout="chinese-current"]:is([data-motion="reduced"], [data-paused="true"]) #partners .logo-set,
  html[data-jdo-layout="chinese-current"]:not(.js-motion-ready) #partners .logo-set {
    padding-top: 18px !important;
  }

  html[data-jdo-layout="chinese-current"]:is([data-motion="reduced"], [data-paused="true"]) #partners .customer-logo,
  html[data-jdo-layout="chinese-current"]:not(.js-motion-ready) #partners .customer-logo {
    width: 150px !important;
    min-width: 150px;
    height: 70px !important;
    padding: 16px 20px !important;
    flex-basis: 150px;
  }
}

@media (max-width: 620px) {
  html[data-jdo-layout="chinese-current"] #technology .architecture-systems-overview,
  html[data-jdo-layout="chinese-current"] #technology .architecture-layer-systems.is-active .architecture-systems-overview {
    min-height: 0;
    padding: 28px 22px;
    grid-template-columns: 1fr;
    gap: 24px;
  }

  html[data-jdo-layout="chinese-current"] #technology .architecture-summary-label,
  html[data-jdo-layout="chinese-current"] #technology .architecture-layer-systems.is-active .architecture-row-toggle {
    grid-column: 1;
  }

  html[data-jdo-layout="chinese-current"] #technology .architecture-system-summary {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  html[data-jdo-layout="chinese-current"] #technology .architecture-row-toggle {
    justify-self: start;
  }
  html[data-jdo-layout="chinese-current"] #technology .architecture-layer-systems:not(.is-active) .architecture-row-toggle {
    grid-column: 1; grid-row: 3;
  }

  html[data-jdo-layout="chinese-current"] #technology .architecture-toggle-action > span {
    display: inline;
  }

  html[data-jdo-layout="chinese-current"]:root body .site-footer.section-dark {
    padding: 48px 0 calc(24px + env(safe-area-inset-bottom));
  }

  html[data-jdo-layout="chinese-current"] .site-footer.section-dark :is(.footer-top.container, .footer-bottom.container) {
    width: calc(100% - 36px);
  }

  html[data-jdo-layout="chinese-current"] .site-footer.section-dark .footer-top {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    column-gap: 0;
    row-gap: 16px;
  }

  html[data-jdo-layout="chinese-current"] .site-footer.section-dark .footer-brand-home {
    width: 116px;
    grid-column: 1;
    grid-row: 1;
  }

  html[data-jdo-layout="chinese-current"] .site-footer.section-dark .footer-brand-home .brand-logo {
    width: 116px;
  }

  html[data-jdo-layout="chinese-current"] .site-footer.section-dark .footer-top > div:first-child > p {
    margin: 0 0 16px;
    grid-column: 1;
    grid-row: 2;
  }

  html[data-jdo-layout="chinese-current"] .site-footer.section-dark .footer-links {
    grid-column: 1;
    grid-row: 3;
    gap: 0 16px;
  }

  html[data-jdo-layout="chinese-current"] .site-footer.section-dark .footer-contact-list {
    margin-top: 16px;
    grid-column: 1;
    grid-row: 4;
  }

  html[data-jdo-layout="chinese-current"] .site-footer.section-dark .footer-bottom {
    margin-top: 32px;
    padding-top: 24px;
  }
}
