/* Service-specific enhancements. All perspectives share exactly the same source content. */
.service-page .service-section-intro {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr);
  gap: 24px 8%;
  align-items: end;
  margin-bottom: 48px;
}
.service-page .service-section-intro .eyebrow { grid-column: 1 / -1; margin-bottom: 0; }
.service-page .service-section-intro h2 { font-size: clamp(2.5rem, 4.3vw, 4.4rem); }
.service-page .service-section-intro > p:last-child { max-width: 40ch; margin: 0; color: var(--muted); }
.service-capabilities-section { background: #e9e8e3; }
.service-capabilities { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--border); }
.service-capabilities article { min-width: 0; padding: 34px 32px 42px 0; border-bottom: 1px solid var(--border); }
.service-capabilities article:nth-child(odd) { border-right: 1px solid var(--border); }
.service-capabilities article:nth-child(even) { padding-left: 32px; }
.service-capabilities .service-capability-index { display: block; font-family: Consolas, monospace; font-size: .78rem; color: #765032; margin-bottom: 28px; }
.service-capabilities h3 { font-size: clamp(1.35rem, 2.2vw, 2rem); line-height: 1.15; max-width: 27ch; }
.service-capabilities p { margin: 12px 0 0; max-width: 48ch; color: #394247; }
.service-evidence-section { background: #f6f4ef; }
.service-evidence { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 6%; align-items: center; }
.service-evidence__copy { min-width: 0; }
.service-evidence__copy h2 { font-size: clamp(2.2rem, 4vw, 4.2rem); line-height: 1.06; }
.service-evidence__copy > p:not(.eyebrow) { margin: 24px 0; max-width: 55ch; }
.service-evidence__image { margin: 0; min-width: 0; }
.service-evidence__image img { display: block; width: 100%; height: auto; border: 1px solid #2637443a; }
.service-evidence__image figcaption { font-size: .78rem; margin-top: 12px; color: #4b545b; }
.service-scope-section { background: var(--mist); }
.service-related-section { padding-top: 72px; border-top: 1px solid var(--border); }
.service-related-links { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); border-top: 1px solid var(--border); margin-top: 20px; }
.service-related-links a { display: flex; flex-direction: column; gap: 8px; min-width: 0; padding: 24px 18px 25px 0; border-bottom: 1px solid var(--border); text-decoration: none; }
.service-related-links a:nth-child(even) { padding-left: 24px; border-left: 1px solid var(--border); }
.service-related-links strong { font-size: 1.2rem; line-height: 1.2; }
.service-related-links a > span { font-size: .91rem; color: #4b545b; }
.service-related-links a:hover strong, .service-related-links a:focus-visible strong { text-decoration: underline; text-underline-offset: 5px; }

/* Retro-Futurism: technical specification plates and an annotated demonstration. */
html[data-perspective='retro-futurist'] .service-page .process ol { grid-template-columns: repeat(3, minmax(0, 1fr)); }
html[data-perspective='retro-futurist'] .service-capabilities-section { background: #e5dcc9; }
html[data-perspective='retro-futurist'] .service-capabilities { gap: 12px; border: 0; }
html[data-perspective='retro-futurist'] .service-capabilities article { border: 1px solid #52636d66; border-radius: 24px 0 24px 0; padding: 30px; background: #f0e9dc; }
html[data-perspective='retro-futurist'] .service-capabilities .service-capability-index { color: #943e23; }
html[data-perspective='retro-futurist'] .service-evidence-section { background: #102c37; color: #f3ebdd; }
html[data-perspective='retro-futurist'] .service-evidence__copy .eyebrow { color: #eab465; }
html[data-perspective='retro-futurist'] .service-evidence__image img { border: 1px solid #7895a2; border-radius: 30px 0; }
html[data-perspective='retro-futurist'] .service-evidence__image figcaption { color: #cad5d4; }
html[data-perspective='retro-futurist'] .service-evidence__copy .text-link { color: #f0c388; }
html[data-perspective='retro-futurist'] .service-scope-section { background: #e5dcc9; }
html[data-perspective='retro-futurist'] .service-related-links a { border-color: #52636d80; }

/* Expressionist: sharp contrast and asymmetric editorial arrangement. */
html[data-perspective='expressionist'] .service-capabilities-section { background: #f0ece2; }
html[data-perspective='expressionist'] .service-section-intro h2,
html[data-perspective='expressionist'] .service-evidence__copy h2,
html[data-perspective='expressionist'] .service-scope-section h2 { text-transform: uppercase; line-height: .97; }
html[data-perspective='expressionist'] .service-capabilities { gap: 14px; border: 0; }
html[data-perspective='expressionist'] .service-capabilities article { border: 0; border-top: 5px solid #141413; padding: 25px; background: #e4dfd5; }
html[data-perspective='expressionist'] .service-capabilities article:nth-child(even) { background: #141413; color: #f1ede5; transform: translateY(28px); }
html[data-perspective='expressionist'] .service-capabilities article:nth-child(even) .service-capability-index { color: #ff996e; }
html[data-perspective='expressionist'] .service-capabilities article:nth-child(even) p { color: #d8d3cc; }
html[data-perspective='expressionist'] .service-capabilities .service-capability-index { color: #9c3410; font-size: 1.25rem; }
html[data-perspective='expressionist'] .service-capabilities h3 { font-size: clamp(1.7rem, 3vw, 2.8rem); text-transform: uppercase; }
html[data-perspective='expressionist'] .service-evidence-section { background: #141413; color: #f0ece2; }
html[data-perspective='expressionist'] .service-evidence { grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr); gap: 8%; }
html[data-perspective='expressionist'] .service-evidence__copy .eyebrow { color: #ff996e; }
html[data-perspective='expressionist'] .service-evidence__image { border-top: 12px solid #ff692e; }
html[data-perspective='expressionist'] .service-evidence__image img { border: 0; }
html[data-perspective='expressionist'] .service-evidence__image figcaption { color: #ded5c7; }
html[data-perspective='expressionist'] .service-evidence__copy .text-link { color: #ff996e; }
html[data-perspective='expressionist'] .service-scope-section { background: #ff692e; color: #141413; }
html[data-perspective='expressionist'] .service-scope-section .lead-sm { color: inherit; }
html[data-perspective='expressionist'] .service-related-links a { border-top: 2px solid #141413; }

@media (max-width: 900px) {
  html[data-perspective='retro-futurist'] .service-page .process ol { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .service-page .service-section-intro, .service-evidence,
  html[data-perspective='expressionist'] .service-evidence { grid-template-columns: 1fr; }
  .service-page .service-section-intro > p:last-child { max-width: 64ch; }
}
@media (max-width: 620px) {
  html[data-perspective='retro-futurist'] .service-page .process ol { grid-template-columns: 1fr; }
  .service-capabilities, .service-related-links { grid-template-columns: 1fr; }
  .service-capabilities article,
  .service-capabilities article:nth-child(even) { padding: 25px 0; border-right: 0; border-left: 0; }
  .service-related-links a,
  .service-related-links a:nth-child(even) { padding-left: 0; border-left: 0; }
  html[data-perspective='retro-futurist'] .service-capabilities article { padding: 22px; }
  html[data-perspective='expressionist'] .service-capabilities article,
  html[data-perspective='expressionist'] .service-capabilities article:nth-child(even) { padding: 22px; transform: none; }
  .service-evidence__copy h2 { font-size: 2.2rem; }
}
