:root {
  --paper: #ffffff;
  --paper-raised: #ffffff;
  --surface: #f4f5f6;
  --surface-strong: #e8ebed;
  --ink: #171a1d;
  --ink-soft: #363c41;
  --muted: #626b73;
  --line: #d8dde1;
  --line-strong: #8c959d;
  --accent: #475569;
  --accent-dark: #334155;
  --accent-pale: #f1f5f9;
  --success: #216943;
  --error: #a72b22;
  --white: #fff;
  --on-dark-muted: #d2d6d9;
  --on-dark-line: #545b61;
  --on-dark-accent: #cbd5e1;

  --font-display: "Newsreader", Georgia, serif;
  --font-body: "IBM Plex Sans TC", "PingFang TC", "Microsoft JhengHei", sans-serif;

  --text-xs: 0.75rem;
  --text-sm: 0.875rem;
  --text-base: 1rem;
  --text-lg: 1.125rem;
  --text-xl: 1.375rem;
  --text-2xl: 1.75rem;
  --text-3xl: 2rem;
  --text-4xl: clamp(2.5rem, 4.5vw, 4.25rem);
  --text-display: clamp(3rem, 6vw, 5.5rem);
  --text-relaunch-hero: clamp(2.75rem, 5vw, 4.75rem);
  --text-relaunch-page: clamp(2.75rem, 5vw, 4.5rem);
  --text-relaunch-page-mobile: clamp(2.25rem, 8vw, 3.25rem);

  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.25rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --space-10: 2.5rem;
  --space-12: 3rem;
  --space-16: 4rem;
  --space-20: 5rem;
  --space-24: 6rem;
  --space-32: 8rem;

  --content: 76rem;
  --measure: 42rem;
  --relaunch-section-measure: 48rem;
  --relaunch-hero-copy-measure: 36rem;
  --relaunch-service-copy-measure: 44rem;
  --relaunch-caption-measure: 30rem;
  --relaunch-hero-min-height: 39rem;
  --relaunch-photo-min-height: 34rem;
  --relaunch-photo-tablet-min-height: 24rem;
  --relaunch-photo-tablet-max-height: 30rem;
  --relaunch-photo-mobile-min-height: 16rem;
  --relaunch-photo-mobile-max-height: 20rem;
  --relaunch-hero-heading-measure: 14ch;
  --relaunch-page-heading-measure: 18ch;
  --relaunch-index-tracking: 0.05em;
  --hero-home-min-height: 42rem;
  --hero-detail-min-height: 22rem;
  --column-home-aside-min: 19rem;
  --fluid-hero-gap: 6vw;
  --breakpoint-navigation: 68rem;
  --breakpoint-tablet: 56rem;
  --breakpoint-mobile: 48rem;
  --header-height: 5rem;
  --border: 1px;
  --radius: 0.25rem;
  --focus: 3px solid var(--accent);
  --duration-fast: 140ms;
  --duration-base: 240ms;
  --ease: cubic-bezier(0.2, 0.7, 0.2, 1);
  --z-header: 40;
  --z-menu: 50;

  /* Compatibility tokens for preserved, noindex design previews. */
  --color-concept-canvas: var(--paper);
  --color-concept-paper: var(--paper-raised);
  --color-concept-surface: var(--surface);
  --color-concept-ink: var(--ink);
  --color-concept-muted: var(--muted);
  --color-concept-accent: var(--accent);
  --color-concept-accent-dark: var(--accent-dark);
  --color-concept-line: var(--line);
  --color-concept-line-dark: var(--on-dark-line);
  --color-concept-chalk: #f8fafc;
  --color-concept-accent-soft: var(--on-dark-accent);
  --color-concept-accent-line: #94a3b8;
  --color-concept-accent-pale: var(--accent-pale);
  --color-concept-accent-mark: var(--accent-dark);
  --color-concept-green-muted: var(--muted);
  --color-concept-green-caption: var(--on-dark-muted);
  --color-concept-footer: var(--ink);
  --color-concept-footer-text: var(--on-dark-muted);
  --color-concept-mobile-arrow: var(--accent-dark);
  --text-small: var(--text-sm);
  --text-body: var(--text-base);
  --text-large: var(--text-lg);
  --text-subtitle: var(--text-2xl);
  --text-caption: var(--text-xs);
  --text-title-min: 2.5rem;
  --text-concept-contact-max: 5rem;
  --text-concept-hero-max: 7rem;
  --text-concept-hero-min: 3rem;
  --text-concept-integration-max: 4.5rem;
  --text-concept-mark-max: 5rem;
  --text-concept-mobile-display: 3.5rem;
  --text-concept-mobile-max: 3rem;
  --text-concept-service-max: 3rem;
  --text-concept-service-min: 2rem;
  --text-concept-services-max: 4.5rem;
  --text-concept-services-min: 2.5rem;
  --text-concept-work-max: 5rem;
  --text-concept-work-min: 3rem;
  --content-concept-max: 88rem;
  --content-concept-inner: 76rem;
  --measure-concept-copy: 44rem;
  --measure-concept-hero: 48rem;
  --measure-concept-mobile-note: 28rem;
  --measure-concept-question: 52rem;
  --measure-concept-tablet: 42rem;
  --column-concept-build-label: 9rem;
  --column-concept-fact-label: 8rem;
  --column-concept-hero-copy-min: 22rem;
  --column-concept-hero-visual-min: 28rem;
  --concept-node-height: 12rem;
  --concept-process-step-height: 18rem;
  --concept-process-step-mobile-height: 14rem;
  --concept-service-height: 22rem;
  --concept-workflow-height: 34rem;
  --control-height: 3rem;
  --brand-logo-width: 13.5rem;
  --brand-logo-height: 3rem;
  --brand-logo-width-mobile: 10.5rem;
  --header-height-mobile: 4.5rem;
  --fluid-layout-gutter: 5vw;
  --fluid-nav-gap: 2vw;
  --fluid-section-space: 9vw;
  --border-thin: 0.0625rem;
  --border-strong: 0.125rem;
  --border-focus: 0.1875rem;
  --motion-fast: 180ms ease;
  --motion-image: 600ms ease;
  --motion-move: 320ms ease;
  --motion-press: 120ms ease;
  --motion-reduced: 0.01ms;
  --motion-signal: 900ms ease;
  --motion-status: 420ms ease;
  --motion-step: 1200ms;
  --motion-enter: 520ms;
  --motion-enter-stagger: 70ms;
  --motion-reveal-stagger: 80ms;
  --motion-enter-delay-max: 280ms;
  --motion-reveal-delay-max: 240ms;
  --motion-workflow-step: 1200ms;
  --motion-enter-distance: 1rem;
  --motion-reveal-distance: 1.5rem;
  --ease-enter: cubic-bezier(0.2, 0.8, 0.2, 1);
  --ease-move: cubic-bezier(0.4, 0, 0.2, 1);
}

@media (prefers-reduced-motion: reduce) {
  :root {
    --duration-fast: 0ms;
    --duration-base: 0ms;
  }
}
