/* Company page: scoped styles, shared homepage buttons and contact settings. */
.tc-company-section {
  padding: 88px 0;
}
.tc-company-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: #edf5fb;
}
.tc-company-hero-image {
  position: absolute;
  inset: 0 0 0 40%;
  z-index: -2;
}
.tc-company-hero-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.tc-company-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(
    90deg,
    #edf5fb 23%,
    rgba(237, 245, 251, 0.96) 40%,
    rgba(237, 245, 251, 0.08) 100%
  );
}
.tc-company-hero-copy {
  padding-top: 30px;
  padding-bottom: 90px;
}
.tc-company-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  font-size: 14px;
  margin-bottom: 60px;
  color: #415c70;
}
.tc-company-breadcrumb a {
  color: #086ba5;
}
.tc-company .tc-company-eyebrow {
  color: #0874b2;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.12em;
  margin: 0 0 16px;
}
.tc-company-hero h1 {
  max-width: 720px;
  color: #073a60;
  font-size: clamp(26px, 4vw, 54px);
  line-height: 1.16;
  margin: 0 0 24px;
}
.tc-company-hero h1 em {
  font-style: normal;
  color: #0874b2;
}
.tc-company-hero-copy > p:not(.tc-company-eyebrow) {
  max-width: 540px;
  font-size: 18px;
  color: #36546a;
  margin-bottom: 30px;
}
.tc-company-story {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 70px;
  align-items: center;
}
.tc-company h2 {
  text-align: left;
  margin: 0 0 24px;
  line-height: 1.25;
}
.tc-company-story p,
.tc-company-expertise p {
  color: #4b6070;
  font-size: 17px;
}
.tc-company-story p + p {
  margin-top: 18px;
}
.tc-company-photo {
  position: relative;
  padding-bottom: 30px;
}
.tc-company-photo > img {
  width: 100%;
  height: 480px;
  object-fit: cover;
  border-radius: 20px;
}
.tc-company-photo > span {
  position: absolute;
  right: -20px;
  bottom: 0;
  background: #ffc527;
  color: #083c61;
  padding: 22px 30px;
  border-radius: 12px;
  font-size: 16px;
  box-shadow: 0 12px 32px #123a5b15;
}
.tc-company-photo strong {
  font-size: 20px;
}
.tc-company-note {
  display: flex;
  gap: 14px;
  align-items: center;
  border-left: 3px solid #ffc527;
  padding: 12px 20px;
  background: #f0f7fc;
  border-radius: 0 12px 12px 0;
  margin-top: 28px;
}
.tc-company-note p {
  margin: 0;
}
.tc-company-note .tc-icon {
  width: 28px;
  height: 28px;
  flex-shrink: 0;
}
.tc-company-values {
  background: #f0f6fb;
}
.tc-company-heading {
  max-width: 700px;
  margin: 0 auto 40px;
  text-align: center;
}
.tc-company-heading h2 {
  text-align: center;
}
.tc-company-heading > p:last-child {
  color: #526777;
  font-size: 17px;
}
.tc-company-value-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}
.tc-company-value {
  background: white;
  border: 1px solid #e1ebf2;
  padding: 34px;
  border-radius: 16px;
}
.tc-company-value-icon {
  display: grid;
  place-items: center;
  width: 68px;
  height: 68px;
  background: #edf6fc;
  border-radius: 16px;
  margin-bottom: 24px;
}
.tc-company-value-icon img {
  width: 36px;
  height: 36px;
  object-fit: contain;
}
.tc-company .tc-centered h2 {
  text-align: center;
}
.tc-company-value h3 {
  font-size: 23px;
  color: #073f68;
  margin: 0 0 12px;
}
.tc-company-value p {
  color: #526777;
  font-size: 16px;
  margin: 0;
}
.tc-company-expertise {
  display: grid;
  grid-template-columns: 0.85fr 1.15fr;
  gap: 70px;
  align-items: start;
}
.tc-company-link {
  display: inline-flex;
  gap: 12px;
  align-items: center;
  color: #006ba9;
  font-size: 16px;
  font-weight: 700;
  margin-top: 14px;
}
.tc-company-link .tc-icon {
  width: 20px;
  height: 20px;
}
.tc-company-service-list article {
  display: flex;
  gap: 20px;
  padding: 24px 0;
  border-bottom: 1px solid #dce7ee;
  align-items: flex-start;
}
.tc-company-service-list article:first-child {
  padding-top: 0;
}
.tc-company-service-list .tc-icon {
  width: 44px;
  height: 44px;
  flex-shrink: 0;
}
.tc-company-service-list h3 {
  color: #073f68;
  font-size: 20px;
  margin: 0 0 8px;
}
.tc-company-service-list p {
  font-size: 16px;
  margin: 0;
}
.tc-company-service-number {
  color: #617b8e;
  font-size: 14px;
  margin-left: auto;
}
.tc-company-editor {
  background: #fffaf0;
}
.tc-company-editor-content {
  max-width: 850px;
  margin: auto;
  overflow-wrap: anywhere;
}
.tc-company a:focus-visible {
  outline: 3px solid #e6a800;
  outline-offset: 5px;
}
@media (max-width: 1024px) {
  .tc-company-story,
  .tc-company-expertise {
    gap: 36px;
  }
  .tc-company-value {
    padding: 24px;
  }
  .tc-company-photo > span {
    right: 0;
  }
}
@media (max-width: 767px) {
  .tc-company-section {
    padding: 56px 0;
  }
  .tc-company-hero-copy {
    padding-top: 24px;
    padding-bottom: 54px;
  }
  .tc-company-breadcrumb {
    margin-bottom: 38px;
  }
  .tc-company-hero-image {
    inset: 0;
    opacity: 0.24;
  }
  .tc-company-hero::after {
    background: linear-gradient(90deg, #edf5fbf5, #edf5fbbf);
  }
  .tc-company-hero-copy > p:not(.tc-company-eyebrow) {
    font-size: 17px;
  }
  .tc-company-story,
  .tc-company-expertise,
  .tc-company-value-grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .tc-company-photo > img {
    height: 340px;
  }
  .tc-company-photo > span {
    padding: 16px 20px;
  }
  .tc-company-photo strong {
    font-size: 18px;
  }
  .tc-company-heading {
    margin-bottom: 28px;
  }
  .tc-company-value {
    padding: 28px;
  }
  .tc-company-service-list article {
    gap: 14px;
  }
  .tc-company-note {
    padding: 12px 14px;
  }
}
