/* Readability revision. Keep the previous visual-system files as the baseline. */
:root {
  --argen-type-body: clamp(1.125rem, 1.05rem + 0.2vw, 1.25rem);
  --argen-type-small: 1rem;
  --argen-type-card: clamp(1.375rem, 1.25rem + 0.3vw, 1.5rem);
  --argen-type-section: clamp(2.25rem, 1.5rem + 2.5vw, 4rem);
  --argen-leading-body: 1.65;
}

body {
  font-size: var(--argen-type-body);
  line-height: var(--argen-leading-body);
}

body .hero .hero-copy,
body .section p:not(.section-kicker),
body .text-stack p,
body .resource-hero p:not(.eyebrow, .section-kicker),
body .resource-content p,
body .resource-content li,
body.industry-page p:not(.section-kicker),
body .industry-hero-panel span,
body .industry-stat-strip span,
body .plain-content p,
body .plain-content li,
body .assessment-landing p:not(.eyebrow, .section-kicker) {
  font-size: var(--argen-type-body);
  line-height: var(--argen-leading-body);
}

body .section h2 {
  font-size: var(--argen-type-section);
  line-height: 1.12;
}

body .section h3,
body .industry-page-card h3,
body.resource-page h3,
body .resource-content h3 {
  font-size: var(--argen-type-card);
  line-height: 1.3;
}

body .section .service-agent-callout h3 {
  font-size: clamp(1.75rem, 2.8vw, 2.55rem);
  line-height: 1.2;
}

body .hero-assessment-helper,
body .eyebrow,
body .section-kicker,
body .section p:is(.resource-type, .kinetic-panel-title, .kinetic-view-label, .service-agent-label, .form-note, .form-fallback, .form-status),
body .resource-type,
body .kinetic-view-label,
body .language-switch,
body .language-switch a,
body .language-switch span,
body .resource-figure figcaption,
body .product-intro-visual figcaption,
body .product-intro-facts dd,
body .product-intro-link,
body .node-index,
body .assessment-step-card > span,
body .sample-steps span,
body .timeline-check,
body .timeline-gap,
body .trace-axis,
body .trace-marker,
body .console-label,
body .console-status,
body .plot-axis,
body .plot-marker,
body .plot-legend span,
body .console-rank span,
body .console-metrics span,
body .form-note,
body .form-fallback,
body .form-status,
body .contact-product-link,
body .site-footer,
body .site-footer a {
  font-size: var(--argen-type-small);
  line-height: 1.5;
}

/* The baseline industry label uses important declarations. */
body .section p.industry-label {
  font-size: var(--argen-type-small) !important;
  line-height: 1.5 !important;
}

body .product-intro-facts dt,
body .console-header strong,
body .console-rank strong {
  font-size: 1.125rem;
  line-height: 1.4;
}

body .button,
body .site-nav a,
body .mobile-nav a,
body .mobile-nav summary {
  font-size: var(--argen-type-small);
  line-height: 1.4;
  min-height: 3rem;
}

body .site-nav a {
  height: auto;
}

body .hero-actions .button {
  border-width: 2px;
}

body .mobile-nav a {
  align-content: center;
}

body .contact-panel .field,
body .field,
body .contact-panel .field span small,
body .field span small,
body .field-help,
body .checkbox-field {
  font-size: var(--argen-type-small);
  line-height: 1.5;
}

body .field input,
body .field textarea,
body .field select,
body .contact-panel .field input,
body .contact-panel .field textarea {
  font-size: var(--argen-type-body);
  line-height: 1.5;
  min-height: 3.25rem;
}

body .field textarea,
body .contact-panel .field textarea {
  min-height: 9rem;
}

body .use-card,
body .info-card,
body .resource-card,
body .workflow-node {
  padding: 1.25rem;
}

body .use-card-copy {
  gap: 0.6rem;
}

.uses #applications-title .heading-line,
.industries #industries-title .heading-line {
  white-space: normal;
}

#workflow-fit h2 .heading-line {
  display: inline;
}

.endpoint-timeline,
.trace-chart {
  min-height: 13rem;
}

.timeline-gap {
  max-width: calc(100% - 1.5rem);
  top: 0.75rem;
  width: calc(100% - 1.5rem);
}

.trace-marker {
  max-width: 65%;
}

.onset-marker {
  left: 28%;
  top: 57%;
}

.decision-marker {
  top: 27%;
}

.console-plot {
  align-content: start;
  display: grid;
  gap: 0.5rem;
  grid-template-areas: "legend" "y-axis" "chart" "x-axis";
  grid-template-columns: minmax(0, 1fr);
  min-height: 22rem;
}

.plot-legend {
  grid-area: legend;
  position: static;
  gap: 0.5rem 1rem;
  margin-bottom: 0;
}

.console-plot svg {
  grid-area: chart;
  height: 14rem;
  position: static;
  width: 100%;
}

.plot-axis-y {
  grid-area: y-axis;
  position: static;
}

.plot-axis-x {
  grid-area: x-axis;
  justify-self: end;
  position: static;
}

.plot-marker {
  align-self: start;
  grid-area: chart;
  justify-self: center;
  left: auto;
  margin-top: 2.5rem;
  max-width: 55%;
  position: relative;
  top: auto;
}

/* Locale rules previously reduced key controls to 12–15 px. */
html[lang="ko"] body .site-nav a,
html[lang="ko"] body .hero-assessment-helper,
html[lang="ko"] body .hero-actions .button {
  font-size: var(--argen-type-small);
}

html[lang="ko"] body .hero .hero-copy,
html[lang="ko"] body .section p:not(.section-kicker) {
  font-size: var(--argen-type-body);
  line-height: 1.85;
}

html[lang="ko"] body .section p:is(.resource-type, .kinetic-panel-title, .kinetic-view-label, .service-agent-label, .form-note, .form-fallback, .form-status) {
  font-size: var(--argen-type-small);
  line-height: 1.6;
}

html[lang="ko"] body .section h2 {
  line-height: 1.3;
}

html[lang="ko"] body .section h3 {
  line-height: 1.42;
}

@media (max-width: 1320px) {
  .header-inner > .site-nav {
    display: none;
  }

  .header-inner > .mobile-nav {
    display: block;
  }
}

@media (min-width: 1121px) {
  .workflow-fit .workflow-grid {
    grid-template-columns: minmax(0, 1fr) minmax(430px, 1fr);
  }
}

@media (max-width: 980px) {
  .kinetic-view {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 620px) {
  .console-header,
  .console-body,
  .console-metrics {
    grid-template-columns: minmax(0, 1fr);
  }

  .console-status {
    justify-self: start;
  }

  .mobile-nav nav {
    max-height: 75svh;
    overflow-y: auto;
  }
}

@media (max-width: 430px) {
  html[lang="ko"] .header-inner {
    display: grid;
    gap: 0 0.75rem;
    grid-template-columns: minmax(0, 1fr) auto;
    padding-block: 0.5rem;
  }

  html[lang="ko"] .header-inner > .mobile-nav {
    grid-column: 2;
    grid-row: 1;
  }

  html[lang="ko"] .header-inner > .language-switch {
    grid-column: 1 / -1;
    grid-row: 2;
    justify-self: end;
    margin-left: 0;
  }
}
