/* A shared, calm finish to editorial pages and project stories. */
.content-endcap {
  --endcap-ink: #181818; --endcap-blue: #114167; --endcap-paper: #f3f3f3;
  width: 100%; margin: 0; padding: 72px clamp(20px, 5vw, 88px) 48px;
  background: var(--endcap-paper); color: var(--endcap-ink);
  font: 400 16px/1.45 "Aeonikpro", "Helvetica Neue", Arial, sans-serif;
  text-align: left; -webkit-font-smoothing: antialiased;
}
.content-endcap, .content-endcap *, .content-endcap *::before { box-sizing: border-box; }
.content-endcap .content-endcap__inner { max-width: 1600px; margin: 0 auto; }
.content-endcap :is(h2, h3, p, ul) { margin: 0; padding: 0; }
.content-endcap a { color: inherit; text-decoration: none; }
.content-endcap ul { list-style: none; }
.content-endcap a:focus-visible { outline: 2px solid var(--endcap-blue); outline-offset: 6px; }
.content-endcap .content-endcap__head { display: grid; grid-template-columns: 1.45fr 1fr; gap: 48px; align-items: end; margin-bottom: 56px; }
.content-endcap .content-endcap__eyebrow { display: flex; align-items: center; gap: 12px; margin: 0 0 24px; font-size: 14px; line-height: 1.4; }
.content-endcap__eyebrow::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--endcap-blue); }
body .content-endcap .content-endcap__head h2 { font-size: clamp(30px, 3.1vw, 46px); font-weight: 400; line-height: 1.08; letter-spacing: -.035em; text-wrap: balance; }
.content-endcap .content-endcap__intro { display: flex; flex-direction: column; align-items: start; gap: 20px; max-width: 410px; }
.content-endcap .content-endcap__intro p { color: #5b6165; font-size: 16px; line-height: 1.5; }
.content-endcap a.content-endcap__cta { display: flex; gap: 40px; align-items: center; justify-content: space-between; min-height: 52px; padding: 15px 18px; border-radius: 5px; background: var(--endcap-blue); color: white; font-size: 16px; transition: background .2s; }
.content-endcap a.content-endcap__cta:hover { background: #286b8e; }
.content-endcap .content-endcap__directions { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px; }
.content-endcap .content-endcap__direction { min-width: 0; padding-top: 20px; border-top: 1px solid #c9ced1; }
body .content-endcap .content-endcap__direction h3 { font-size: clamp(21px, 1.75vw, 26px); font-weight: 400; line-height: 1.15; letter-spacing: -.025em; }
.content-endcap .content-endcap__direction h3 a { display: flex; justify-content: space-between; align-items: start; gap: 14px; min-height: 3.45em; }
.content-endcap__direction h3 a > span:last-child { flex: 0 0 auto; font-size: 19px; line-height: 1.5; color: var(--endcap-blue); transition: transform .2s; }
.content-endcap__direction h3 a:hover > span:first-child { text-decoration: underline; text-underline-offset: 5px; text-decoration-thickness: 1px; }
.content-endcap__direction h3 a:hover > span:last-child { transform: translateX(4px); }
.content-endcap .content-endcap__direction ul { display: grid; gap: 9px; margin-top: 22px; }
.content-endcap .content-endcap__direction li { margin: 0; padding: 0; font-size: 15px; line-height: 1.45; color: #5b6165; }
.content-endcap .content-endcap__clients { display: grid; grid-template-columns: 1fr 3fr; gap: 32px; align-items: center; margin-top: 52px; padding-top: 32px; border-top: 1px solid #c9ced1; }
body .content-endcap .content-endcap__clients h3 { max-width: 12ch; font-size: 14px; font-weight: 400; line-height: 1.4; letter-spacing: 0; color: #5b6165; }
.content-endcap .content-endcap__logos { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 24px; align-items: center; }
.content-endcap .content-endcap__logos li { display: flex; align-items: center; justify-content: center; height: 72px; margin: 0; padding: 0; min-width: 0; }
.content-endcap .content-endcap__logos img { display: block; width: var(--logo-width); height: var(--logo-height); max-width: 100%; object-fit: contain; opacity: 1; filter: none; }
/* Shared blog main adds bottom padding; the endcap itself supplies its spacing. */
body.page-blog-article > main.site-main:has(> .content-endcap) { padding-bottom: 0; }
@media (max-width: 1100px) {
  .content-endcap .content-endcap__directions { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 36px; }
  .content-endcap .content-endcap__direction h3 a { min-height: 2.3em; }
  .content-endcap .content-endcap__clients { grid-template-columns: 1fr; gap: 20px; }
  .content-endcap .content-endcap__clients h3 { max-width: none; }
}
@media (max-width: 600px) {
  .content-endcap { padding: 44px 20px 32px; }
  .content-endcap .content-endcap__head { grid-template-columns: 1fr; gap: 22px; margin-bottom: 36px; }
  .content-endcap .content-endcap__eyebrow { margin-bottom: 16px; }
  .content-endcap .content-endcap__intro { gap: 18px; }
  .content-endcap .content-endcap__intro p { font-size: 15px; }
  .content-endcap .content-endcap__directions { grid-template-columns: 1fr; gap: 28px; }
  .content-endcap .content-endcap__direction { padding-top: 18px; }
  body .content-endcap .content-endcap__direction h3 { font-size: 24px; }
  .content-endcap .content-endcap__direction h3 a { min-height: 0; }
  .content-endcap .content-endcap__direction ul { display: block; margin-top: 16px; }
  .content-endcap .content-endcap__direction li { display: inline; font-size: 15px; line-height: 1.65; }
  .content-endcap__direction li:not(:last-child)::after { content: " · "; color: #7b8185; }
  .content-endcap .content-endcap__clients { margin-top: 32px; padding-top: 24px; gap: 20px; }
  .content-endcap .content-endcap__logos { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px 22px; }
  .content-endcap .content-endcap__logos li { height: 62px; }
}
@media (prefers-reduced-motion: reduce) {
  .content-endcap a.content-endcap__cta, .content-endcap__direction h3 a > span:last-child { transition: none; }
  .content-endcap__direction h3 a:hover > span:last-child { transform: none; }
}
