/* Shared breadcrumb appearance across hero and inline placements. */
.breadcrumb,
.breadcrumb--inline {
  align-items: center;
  gap: 0;
  list-style: none;
  font-family: var(--ff-display, sans-serif);
  font-size: 11px;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.breadcrumb--inline { margin-bottom: 24px; }
.breadcrumb li,
.breadcrumb--inline li { color: var(--ink-40, #777); }
.breadcrumb li:not(:last-child)::after,
.breadcrumb--inline li + li::before {
  content: '/';
  display: inline-block;
  margin: 0 10px;
  color: currentColor;
  opacity: .45;
}
.breadcrumb li a,
.breadcrumb--inline li a { color: var(--ink-40, #777); text-decoration: none; }
.breadcrumb li a:hover,
.breadcrumb--inline li a:hover { color: var(--ink, #111); }
.sub-hero:not(.sub-hero--light) .breadcrumb li,
.sub-hero:not(.sub-hero--light) .breadcrumb li a { color: rgba(247,244,236,.7); }
.sub-hero--light .breadcrumb li a { text-decoration: none; }

/* Shared page-title block paired with the breadcrumb on content pages. */
.page-heading { margin: 0 0 32px; }
.page-heading .section__eyebrow { margin-bottom: 12px; }
.page-heading .section__title {
  margin: 0;
  font-size: clamp(38px, 5vw, 64px);
  line-height: 1.2;
}
@media (max-width: 600px) {
  .page-heading { margin-bottom: 24px; }
  .page-heading .section__title { font-size: clamp(34px, 8vw, 46px); }
}

/* Shared footer sitemap and small-screen layout. */
.footer-map {
  width: 100%;
  margin: 32px 0;
  flex-basis: 100%;
  text-align: left;
  color: var(--ink);
}

.footer-map__group { border-top: 1px solid #cdd1d1; }
.footer-map__group:last-child { border-bottom: 1px solid #cdd1d1; }
.footer-map__group summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  padding: 22px 4px;
  font-size: 16px;
  font-weight: 700;
  cursor: pointer;
  list-style: none;
}
.footer-map__group summary::-webkit-details-marker { display: none; }
.footer-map__sign { position: relative; width: 24px; height: 24px; flex-shrink: 0; }
.footer-map__sign::before,
.footer-map__sign::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 5px;
  width: 14px;
  height: 1px;
  background: currentColor;
}
.footer-map__sign::after { transform: rotate(90deg); transition: transform .2s; }
.footer-map__group[open] .footer-map__sign::after { transform: rotate(0); }
.footer-map__group ul {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px 28px;
  padding: 0 4px 24px;
}
.footer-map__group a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 6px 0;
  border-bottom: 1px solid transparent;
  font-size: 14px;
}
.footer-map__group a:hover { border-bottom-color: var(--yellow-dim); }

@media (max-width: 768px) {
  .footer-map__group ul { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px 16px; }
  .footer-map__group summary { padding: 20px 2px; font-size: 15px; }
}

@media (max-width: 380px) {
  .footer-map__group ul { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .footer-map__sign::after { transition: none; }
}
