/* Company identification, shared by the homepage and company page. */
.hero-company {
  max-width: 430px;
  margin-bottom: 1.25rem;
  color: var(--text-secondary);
  font-size: 1rem;
  line-height: 1.6;
}
.hero-company a,
.footer-company a {
  color: var(--text-primary);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.footer-company {
  max-width: 620px;
  margin-top: 0.75rem;
  color: var(--text-secondary);
  font-size: 0.88rem;
  line-height: 1.6;
}

.footer-links { flex-wrap: wrap; }
.footer-left { max-width: 100%; }
.footer-brand { margin-bottom: 0.5rem; }
.nav-links { gap: clamp(1rem, 2.5vw, 2rem); }
.nav-links a { white-space: nowrap; }
.nav-links a.nav-current,
.mobile-link.nav-current { color: var(--text-primary); }

.company-page {
  width: 86%;
  max-width: 1100px;
  margin: 0 auto;
  padding: 9rem 0 4rem;
}
.company-heading {
  margin-bottom: 2.5rem;
}
.company-heading h1 {
  font-size: clamp(2rem, 4.5vw, 3.5rem);
  line-height: 1.14;
  margin: 1rem 0 1.25rem;
}
.company-short-name,
.company-full-name { display: block; }
.company-full-name {
  margin-top: 0.6rem;
  font-size: clamp(0.95rem, 2.85vw, 2rem);
  line-height: 1.35;
  font-weight: 500;
}
.company-intro {
  color: var(--text-secondary);
  font-size: 1.1rem;
  line-height: 1.7;
}
.company-intro strong {
  color: var(--text-primary);
  font-weight: 600;
}
.company-details {
  padding: 2rem;
  border: 1px solid var(--border-strong);
  border-radius: var(--radius);
  background: var(--bg-elevated);
}
.company-details h2 {
  font-size: 1.1rem;
  margin-bottom: 1.5rem;
}
.company-facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.75rem 3rem;
}
.company-fact-name { grid-column: 1 / -1; }
.company-facts dt {
  color: var(--text-secondary);
  font-size: 0.88rem;
  margin-bottom: 0.5rem;
}
.company-facts dd {
  color: var(--text-primary);
  font-size: 1.1rem;
  line-height: 1.5;
  overflow-wrap: normal;
}
.company-facts a {
  color: var(--text-primary);
  text-underline-offset: 4px;
  overflow-wrap: anywhere;
}
.company-fact-note {
  display: block;
  color: var(--text-secondary);
  font-size: 0.95rem;
}
@media (min-width: 769px) {
  .hero-company { max-width: min(430px, 45%); }
  .hero-company a {
    display: inline-block;
    max-width: 100%;
    vertical-align: top;
  }
  .company-intro strong,
  .footer-company a { white-space: nowrap; }
}
@media (max-width: 960px) {
  .nav-links { display: none; }
  .menu-toggle { display: flex; }
}
@media (max-width: 768px) {
  /* Leave room for the company identification above the decorative phone. */
  body:not(.reduced-motion) #heroVisual { margin-top: 9rem; }
}
@media (max-width: 640px) {
  .company-page { width: 90%; padding-top: 7rem; }
  .company-details { padding: 1.5rem; }
  .company-facts { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 480px) {
  .why-inner > * { min-width: 0; }
  .why-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .stat-card { padding: 1rem; }
  .stat-number { font-size: clamp(1.25rem, 6vw, 1.6rem); }
}
