/* ===========================
   Page common
   =========================== */
.page-main {
  padding-top: 80px; /* header height offset */
}

/* ===========================
   Breadcrumb
   =========================== */
.breadcrumb {
  background: var(--color-bg-gray);
  border-bottom: 1px solid var(--color-border);
  padding: 12px 0;
}

.breadcrumb__list {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px;
  font-size: .78rem;
  color: var(--color-text-light);
  list-style: none;
  padding: 0;
}

.breadcrumb__item {
  display: flex;
  align-items: center;
  gap: 4px;
}

.breadcrumb__item + .breadcrumb__item::before {
  content: '›';
  color: var(--color-border);
  font-size: 1rem;
  line-height: 1;
}

.breadcrumb__item a {
  color: var(--color-text-light);
  transition: color var(--transition);
}
.breadcrumb__item a:hover {
  color: var(--color-accent);
}

.breadcrumb__item[aria-current="page"] {
  color: var(--color-text);
  font-weight: 500;
}

/* ===========================
   Page Hero
   =========================== */
.page-hero {
  background: var(--color-primary);
  padding: 64px 0 56px;
}

.page-hero .section__eyebrow {
  display: block;
  margin-bottom: 12px;
}

.page-hero__title {
  font-family: var(--font-serif);
  font-size: clamp(1.6rem, 3vw, 2.4rem);
  font-weight: 700;
  color: var(--color-white);
  line-height: 1.4;
}

/* ===========================
   Company Section
   =========================== */
.company-section {
  padding: 72px 0 100px;
}

.company-block {
  max-width: 800px;
}

.company-block__heading {
  font-family: var(--font-serif);
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--color-primary);
  padding-bottom: 12px;
  border-bottom: 2px solid var(--color-primary);
  margin-bottom: 0;
}

/* ===========================
   Table
   =========================== */
.company-table {
  width: 100%;
  border-collapse: collapse;
}

.company-table tr {
  border-bottom: 1px solid var(--color-border);
}

.company-table th,
.company-table td {
  padding: 20px 16px;
  font-size: .9rem;
  line-height: 1.8;
  vertical-align: top;
  text-align: left;
}

.company-table th {
  width: 180px;
  font-weight: 700;
  color: var(--color-primary);
  white-space: nowrap;
}

.company-table td {
  color: var(--color-text);
}

.company-table td a {
  color: var(--color-accent);
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: color var(--transition);
}
.company-table td a:hover {
  color: var(--color-accent-dark);
}

/* ===========================
   Service list
   =========================== */
.service-group {
  margin-bottom: 16px;
}
.service-group:last-child { margin-bottom: 0; }

.service-group__label {
  font-weight: 500;
  color: var(--color-text-light);
  margin-bottom: 6px;
}

.service-group__list {
  list-style: disc;
  padding-left: 1.4em;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.service-group__list li {
  font-size: .875rem;
  color: var(--color-text);
}

/* ===========================
   Responsive
   =========================== */
@media (max-width: 600px) {
  .company-table th {
    width: 120px;
    font-size: .8rem;
  }
  .company-table td {
    font-size: .825rem;
  }
  .company-table th,
  .company-table td {
    padding: 16px 10px;
  }
}
