/* Browser feedback: compact service spread and an illustrated project archive.
 * Keep the source and Elementor layouts identical; no content is hidden. */
body.family-field .field-capabilities--page .field-capabilities__layout {
  grid-template-columns: minmax(0, .88fr) minmax(0, 1.62fr);
  align-items: stretch;
}
body.family-field .field-capabilities--page .field-manifesto {
  padding: 32px 28px;
}
body.family-field .field-capabilities--page .field-manifesto h2 {
  font-size: clamp(30px, 2.65vw, 40px) !important;
  overflow-wrap: normal;
  hyphens: none;
}
body.family-field .field-capabilities--page .field-capability-index {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-right: 0;
}
body.family-field .field-capabilities--page .field-capability-index article {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 30px 26px;
  border-bottom: 1px solid var(--line);
}
body.family-field .field-capabilities--page .field-capability-index article:nth-child(odd) {
  border-right: 1px solid var(--line);
}
body.family-field .field-capabilities--page .field-capability-index article:nth-last-child(-n + 2) {
  border-bottom: 0;
}
body.family-field .field-capabilities--page .field-capability-index h3 {
  font-size: 24px;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}
body.family-field .field-capabilities--page .field-services-support {
  position: relative;
  display: block;
  min-height: 0;
  height: auto;
  margin: 28px 0 0;
  overflow: hidden;
  background: transparent;
  border-top: 1px solid var(--line);
}
body.family-field .field-capabilities--page .field-services-support img,
body.family-field .field-capabilities--page .field-services-support > .elementor-widget-image img {
  position: static;
  width: 100%;
  height: 240px;
  object-fit: cover;
  filter: none;
  opacity: 1;
}
body.family-field .field-capabilities--page .field-services-support :is(figcaption, .tpi-native-tag-figcaption) {
  position: static;
  inset: auto;
  width: auto;
  padding: 20px 0 0;
  border: 0;
  background: transparent;
}
body.family-field .field-capabilities--page .field-services-support figcaption span,
body.family-field .field-capabilities--page .field-services-support .tpi-native-tag-figcaption span {
  font-size: 16px;
  line-height: 1.5;
}
body.family-field .field-capabilities--page .field-services-support figcaption strong,
body.family-field .field-capabilities--page .field-services-support .tpi-native-tag-figcaption strong {
  display: block;
  margin: 8px 0 0;
  font-size: 18px !important;
  line-height: 1.5;
  overflow-wrap: normal;
  hyphens: none;
}

body.family-field .field-project-archive > .field-page-hero .field-page-hero__grid {
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  gap: 64px;
  align-items: center;
}
body.family-field .field-project-archive .field-archive-hero__visual {
  min-width: 0;
}
body.family-field .field-project-archive .field-archive-hero__media {
  height: clamp(300px, 28vw, 420px);
  margin: 0 0 24px;
  border: 1px solid var(--line);
}
body.family-field .field-project-archive .field-archive-hero__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
body.family-field .field-project-archive .field-archive-hero__visual > p {
  margin-bottom: 0;
  font-size: 16px;
  color: var(--muted);
}

/* Fixed local palette makes contrast independent of the site's accent token.
 * Both modes retain the lighter panel requested in the browser review. */
body.family-field .field-project-archive .field-route-cta {
  --review-cta-bg: #ede5d5;
  --review-cta-ink: #252722;
  --review-cta-copy: #484c43;
  --review-cta-note: var(--accent);
  --review-cta-button: #303b31;
  background: var(--review-cta-bg);
  color: var(--review-cta-ink);
  padding-block: 80px;
}
html[data-theme='dark'] body.family-field .field-project-archive .field-route-cta {
  --review-cta-bg: #d9d2c4;
}
body.family-field .field-project-archive .field-route-cta :is(h2, .elementor-heading-title) {
  color: var(--review-cta-ink);
}
body.family-field .field-project-archive .field-route-cta p:not(.eyebrow) {
  color: var(--review-cta-copy);
}
body.family-field .field-project-archive .field-route-cta .eyebrow {
  color: var(--review-cta-note);
}
body.family-field .field-project-archive .field-route-cta .button {
  background: var(--review-cta-button);
  color: #fff;
  border-color: var(--review-cta-button);
}
body.family-field .field-project-archive .field-route-cta .button:hover,
body.family-field .field-project-archive .field-route-cta .button:focus-visible {
  background: #1d271e;
  border-color: #1d271e;
  color: #fff;
}
body.family-field .field-project-archive .field-route-cta .button:focus-visible {
  outline: 3px solid var(--review-cta-note);
  outline-offset: 4px;
}
/* The original 260px + 420px + 80px heading grid exceeds a tablet shell.
 * Flexible tracks retain the two-column editorial rhythm without clipping. */
@media (min-width: 721px) and (max-width: 900px) {
  body.family-field .field-section-heading {
    min-width: 0;
    grid-template-columns: minmax(0, .72fr) minmax(0, 1fr);
    column-gap: 32px;
  }
  body.family-field .field-section-heading > *,
  body.family-field .field-section-heading :is(h2, p) {
    min-width: 0;
    max-width: 100%;
  }
}
@media (max-width: 1000px) {
  body.family-field .field-capabilities--page .field-capabilities__layout {
    display: block;
  }
  body.family-field .field-capabilities--page .field-manifesto {
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }
  body.family-field .field-capabilities--page .field-services-support img,
  body.family-field .field-capabilities--page .field-services-support > .elementor-widget-image img {
    height: clamp(220px, 40vw, 360px);
  }
  body.family-field .field-project-archive > .field-page-hero .field-page-hero__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 32px;
  }
}
@media (max-width: 600px) {
  body.family-field .field-capabilities--page .field-manifesto {
    padding: 28px 22px;
  }
  body.family-field .field-capabilities--page .field-capability-index {
    grid-template-columns: minmax(0, 1fr);
  }
  body.family-field .field-capabilities--page .field-capability-index article {
    padding: 28px 22px;
    border-right: 0 !important;
    border-bottom: 1px solid var(--line);
  }
  body.family-field .field-capabilities--page .field-capability-index article:nth-last-child(-n + 2) {
    border-bottom: 1px solid var(--line);
  }
  body.family-field .field-capabilities--page .field-capability-index article:last-child {
    border-bottom: 0;
  }
  body.family-field .field-project-archive .field-archive-hero__media {
    height: 240px;
  }
  body.family-field .field-project-archive .field-route-cta {
    padding-block: 56px;
  }
}
