/* Shared reading scale, loaded after product themes. Keep brand colors and
   display headings local; make explanatory copy and controls consistent. */
:root {
  --text-reading: 16px;
  --text-label: 14px;
  --text-caption: 12px;
  --text-secondary: #546984;
}

.main-nav { font-size: var(--text-label); }
.story-grid > a { gap: 16px; padding: 16px 0 24px; }
.story-grid > a > div { min-width: 0; }
.story-grid b {
  font-size: var(--text-label);
  line-height: 1.6;
  color: var(--text-secondary);
}
.story-grid em { margin-top: 8px; font-size: 18px; line-height: 1.5; }
.story-grid p {
  margin-top: 16px;
  font-size: var(--text-label);
  line-height: 1.75;
  color: var(--text-secondary);
  text-wrap: balance;
}

.section-intro,
.capability-copy p,
.employee-title p,
.industry-panel p,
.scenario-copy p,
.about-copy p:not(.about-lead),
.contact-copy > p:not(.eyebrow),
#platform .nexus-tour-description-copy > p,
#digital-employee .trade-global-lede {
  font-size: var(--text-reading);
  line-height: 1.8;
}
.about-copy p:not(.about-lead) { margin-top: 16px; }
.about-lead { color: #45658b; }
.delivery-steps p { font-size: var(--text-label); line-height: 1.8; }
.delivery-steps h3 { margin-top: 24px; color: #45658b; }
.delivery-steps p { margin-top: 8px; }
.delivery-steps small { margin-top: 16px; }
.industry-tabs { gap: 8px; }
.industry-tabs button { color: #536d90; }
.industry-tabs button.is-active { color: #285c9f; }
.industry-tabs button:hover { color: #285c9f; }
.footer-main p { color: var(--text-secondary); }
.eyebrow { color: var(--text-secondary); }
.scenario-copy .text-link { color: #315f96; }
.phone-link { color: #3d689e; }

.hero--cinematic .hero-metrics dt {
  color: var(--text-secondary);
  font-size: var(--text-caption);
  line-height: 1.5;
}
.hero--cinematic .hero-metric-value > span {
  color: var(--text-secondary);
  font-size: var(--text-caption);
}
.hero--cinematic [data-fixed-dialogue] .hero-conversation .hero-scene-bubble-text {
  font-size: var(--text-label);
}
.hero--cinematic .hero-cinematic-actions .hero-needs-link,
.hero--cinematic .hero-cinematic-explore {
  font-size: var(--text-label);
  min-height: 44px;
}

/* Controls use a full-size input face, including the enhanced product select. */
.lead-form { gap: 24px; margin-top: 32px; }
.form-row { gap: 24px; }
.lead-form label,
.product-field { gap: 8px; }
.lead-form label > span { font-size: var(--text-label); }
.lead-form label b { color: var(--text-secondary); }
.lead-form input,
.lead-form textarea,
.lead-form select,
.product-select-trigger,
.needs-composer textarea,
.support-composer textarea { font-size: 16px; line-height: 1.5; }
.lead-form input::placeholder,
.lead-form textarea::placeholder,
.needs-composer textarea::placeholder,
.support-composer textarea::placeholder { color: #61758d; opacity: 1; }
.product-select-option { font-size: var(--text-label); line-height: 1.6; }

/* Small helper copy is still content, so avoid pale 9–11px labels. */
.support-panel-head p,
.support-message-label,
.support-message--user .support-message-label,
.support-topics button span,
.support-assistant-links button,
.support-assistant-note,
.support-wecom-card p,
.support-phone-card h3,
.support-phone-card p,
.support-contact-about,
.support-copy-status {
  color: var(--text-secondary);
  font-size: var(--text-caption);
  line-height: 1.6;
}
.support-message p { font-size: var(--text-label); line-height: 1.8; }
.support-topics { gap: 8px; margin-top: 16px; }
.support-topics button { gap: 4px; padding: 12px; }
.support-topics button strong { font-size: var(--text-label); line-height: 1.5; }
.support-contact-intro { font-size: var(--text-label); color: var(--text-secondary); }
.support-wecom-test-label { font-size: var(--text-caption) !important; }
.support-assistant-links { flex-wrap: wrap; gap: 4px 12px; }
.support-assistant-links button { min-height: 36px; }
.support-composer button { width: 44px; height: 44px; padding: 12px; }

/* Text enlargement must not force content outside its dialog or grid cell. */
.needs-dialogue {
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: minmax(44px, auto) minmax(0, 1fr) auto minmax(64px, auto) auto;
}
.needs-dialogue > * { min-width: 0; }
.needs-header { flex-wrap: wrap; }
.needs-footer { white-space: normal; flex-wrap: wrap; }
.needs-send { width: auto; min-width: 44px; height: auto; min-height: 46px; padding: 4px 8px; }
.needs-send > span { white-space: nowrap; }
.needs-composer textarea { min-height: 1.5em; }

@media (max-width: 900px) {
  .main-nav { font-size: 13px; }
  .story-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 32px; }
  .employee-story { grid-template-columns: minmax(0, 1fr); }
  .employee-story > * { min-width: 0; }
  .workflow-tabs { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .workflow-tab { min-width: 0; }
  .workflow-tab > strong { white-space: normal; overflow-wrap: anywhere; }
  .employee-bottom .text-link { white-space: normal; }
}
@media (max-width: 640px) {
  :root { --text-reading: 15px; }
  .main-nav { font-size: 16px; }
  .story-grid > a { gap: 0; padding-block: 16px; }
  .story-grid { gap: 16px 24px; }
  .story-grid b { font-size: 13px; }
  .story-grid em { font-size: 16px; }
  .story-grid p { margin-top: 12px; }
  .hero--cinematic .hero-cinematic-actions .hero-needs-link,
  .hero--cinematic .hero-cinematic-explore { font-size: 13px; }
  .lead-form { margin-top: 24px; }
  .delivery-steps h3 { margin-top: 0; }
}
