.ft-board--photo {
  padding: 0;
  overflow: hidden;
  min-height: 0;
  gap: 0;
}

.ft-board--photo .ft-board__top {
  padding: var(--space-6) var(--space-6) var(--space-4);
}

.ft-board--photo .page-visual {
  margin: 0;
}

.ft-board--photo .page-visual img {
  aspect-ratio: 4 / 3;
  border-radius: 0;
  box-shadow: none;
  display: block;
}

.ft-board--photo .page-visual__credit {
  color: var(--color-muted-on-dark);
  padding: 0 var(--space-6) var(--space-4);
  margin: 0;
}

.ft-board--photo .page-visual__credit a {
  color: inherit;
}

.ft-work--index {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

@media (max-width: 1023px) {
  .ft-work--index {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 767px) {
  .ft-work--index {
    grid-template-columns: 1fr;
  }
}

.ft-work__item h3 a {
  color: inherit;
  text-decoration: none;
}

.ft-work__item h3 a:hover {
  color: var(--color-accent);
}

.sv-prose {
  max-width: none;
}

.sv-prose--follow {
  margin-top: var(--space-10);
}

.sv-prose h2 {
  font-size: clamp(1.75rem, 2.6vw, 2.5rem);
  max-width: 22ch;
  margin-top: 0;
}

.sv-prose > p,
.sv-prose > ul,
.sv-prose > ol {
  max-width: 46rem;
  color: var(--color-text-secondary);
  font-size: 1.0625rem;
}

.sv-prose table {
  background: var(--color-surface);
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow-sm, none);
}

.section--dark .sv-prose,
.section--dark .sv-prose h2,
.section--dark .sv-prose h3,
.section--dark .sv-prose p,
.section--dark .sv-prose li {
  color: var(--color-on-dark);
}

.section--dark .sv-prose .eyebrow,
.section--dark .eyebrow {
  color: #f4a38f;
}

.section--dark .sv-prose table {
  background: rgba(255, 255, 255, 0.04);
  color: var(--color-on-dark);
}

.section--dark .ft-method h3,
.section--dark .ft-method p {
  color: var(--color-on-dark);
}

.section--dark .ft-method p {
  color: var(--color-muted-on-dark);
}

.section--dark .ft-method li {
  border-bottom-color: var(--color-border-on-dark);
}

.sv-prose article {
  background: transparent;
  border: 0;
  border-radius: 0;
  padding: var(--space-6) 0 0;
  border-top: 2px solid var(--color-primary);
}

.sv-prose section:has(> article):not(:has(> section)) {
  gap: var(--space-10) var(--space-12);
}

.page-service .blog-grid {
  margin-top: 0;
}

@media (max-width: 767px) {
  .ft-board--photo .ft-board__top {
    padding: var(--space-5) var(--space-5) var(--space-3);
  }
}
