/* GATH main-site typography · v2026.11.14.1
   Loaded after legacy styles; business data, icons and brand geometry are untouched. */
:root {
  --gath-font: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
}
html { -webkit-text-size-adjust: 100%; }
body {
  font-family: var(--gath-font);
  font-size: 16px;
  line-height: 1.6;
}
button, input, select, textarea {
  font-family: inherit;
  line-height: 1.6;
}
.nav, .tooltip-carriers, .ps-etd { font-family: var(--gath-font); }
.nav a:not(.portal-icon-only), .nav button,
.button, .error-btn, button:not(.menu-toggle):not(.contact-info-btn) {
  font-size: 14px;
  font-weight: 600;
}
.home-hero-card h1, .page-hero h1, .hero h1, .hero-copy h1,
.error-title, body:not([data-page]) > main > h1 {
  font-size: 48px;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: normal;
  overflow-wrap: break-word;
}
.feed-card h2, .hero-panel h2, .section-header h2, .section-header-flat h2,
.cta-panel h2, .scfi-header h2, .ps-header h2 {
  font-size: 24px;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: normal;
}
.dash-title, .rail-title, .rail-card h3, .dash-link strong {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
}
.feed-card h3, .ops-card h3, .timeline-item h3, .card h3, .contact-card h3, .step h3 {
  font-size: 18px;
  font-weight: 600;
  line-height: 1.4;
}
/* Explicit prose roles, not all p/span: index numerals and icons keep their metrics. */
.ops-card p, .timeline-item p, .card p, .card li, .feed-card > p,
.feed-card > ul > li, .contact-card p, .hero-panel p, .list li {
  font-size: 16px;
  line-height: 1.6;
}
.home-hero-card > p, .page-hero > p, .hero-copy > p {
  font-size: 18px;
  line-height: 1.6;
}
.dash-muted, .dash-link > span, .rail-item > span,
.rail-item > a, .rail-item > strong, .home-search, .eyebrow,
.feed-chip, .chip, .contact-email-list a.contact-email-link {
  font-size: 14px;
  line-height: 1.6;
}
.scfi-header > p, .ps-header > p {
  color: #fff;
  opacity: 1;
  font-size: 14px;
  line-height: 1.6;
}
.scfi-table, .scfi-table td, .scfi-table th,
.scfi-table td:first-child, .scfi-table .scfi-current,
.scfi-table .scfi-section, .scfi-date { font-size: 14px; line-height: 1.6; }
.scfi-table th span, .scfi-table td span { font-size: 13px; }
.scfi-table th:nth-child(n+3), .scfi-table td:nth-child(n+3) {
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.scfi-table td.scfi-section { text-align: center; }
.scfi-footer { font-size: 13px; color: #59636e; }
.ps-table, .ps-table td, .ps-etd, .ps-pod, .ps-qty,
.ps-rate-val, .ps-rate-inquiry, .ps-carrier-name { font-size: 14px; line-height: 1.6; }
.ps-table thead th, .ps-carrier-count, .ps-date, .ps-source { font-size: 12px; letter-spacing: normal; }
.ps-source, .ps-carrier-count { color: #59636e; }
.ps-view-all { font-size: 14px; }
.ps-table td:last-child { font-variant-numeric: tabular-nums; }
/* Dynamic modal uses legacy inline font sizes. Override only these named roles. */
#login-modal { padding: 16px; overflow-y: auto; }
#login-modal > div { max-width: 100%; max-height: calc(100dvh - 32px); overflow-y: auto; min-width: 0; }
#login-modal h2 { font-size: 24px !important; line-height: 1.35; padding-right: 22px; }
#login-modal p, #login-modal label, #login-status { font-size: 14px !important; line-height: 1.6; }
#login-modal input { font-family: inherit; font-size: 16px !important; min-width: 0; width: 100%; }
#login-submit-btn { font-family: inherit; font-size: 14px !important; font-weight: 600 !important; }
#login-modal-close { font-size: 18px !important; }
.gath-release-footer {
  display: block;
  padding: 18px 24px 22px;
  border-top: 1px solid #d0d7de;
  background: #fff;
  color: #59636e;
  text-align: center;
  font-size: 12px;
  line-height: 1.6;
}
.gath-release-footer small { font-size: inherit; font-variant-numeric: tabular-nums; }
/* Official outlined wordmark; keep translated text in DOM without duplicating its name. */
.header .brand-logo-img {
  width: 144px;
  height: 50px;
  object-fit: contain;
  flex: 0 0 auto;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
.header .brand-title, .header .brand > span > br { display: none; }
.header .brand-subtitle { display: block; font-size: 14px; line-height: 1.5; max-width: 370px; }
.header .brand > span { min-width: 0; }
@media (max-width: 768px) {
  .header .brand-logo-img { width: 132px; height: 46px; }
  .header .header-inner { flex-direction: row; align-items: center; gap: 16px; }
  .header .brand { min-width: 0; }
  .header .menu-toggle { flex-shrink: 0; }
  .header .brand-subtitle { font-size: 12px; }
}
@media (max-width: 480px) {
  .header .brand-subtitle { display: none; }
}
/* Retired landing page remains a plain noindex notice, not an active service. */
body:not([data-page]) > main { max-width: 860px; margin: 48px auto; padding: 0 24px; }
@media (max-width: 768px) {
  .home-hero-card h1, .page-hero h1, .hero h1, .hero-copy h1,
  .error-title, body:not([data-page]) > main > h1 { font-size: 32px; }
  input, select, textarea { font-size: 16px; }
  .header .nav { max-width: calc(100vw - 48px); }
  .dashboard-shell.two-column { grid-template-columns: minmax(0, 1fr); }
  .dashboard-shell > .dash-main, .dashboard-shell > .dash-sidebar { min-width: 0; }
  .dash-main { grid-template-columns: minmax(0, 1fr); }
  .dash-main > *, .ops-grid > * { min-width: 0; }
  .contact-email-row { max-width: 100%; }
  .contact-email-row a { min-width: 0; overflow-wrap: anywhere; }
}
@media (max-width: 480px) {
  .home-hero-card, .feed-card { padding: 20px; }
  .scfi-header, .ps-header { padding-left: 16px; padding-right: 16px; }
  .ps-carrier-section { padding-left: 14px; padding-right: 14px; }
  #login-modal > div { padding: 24px !important; }
}
