/* Service pages share typography, controls, forms and footer with the landing. */
.seo-breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2) var(--space-4);
  padding-block: var(--space-6);
  font-size: var(--text-xs);
  line-height: 1.5;
  color: var(--color-muted);
}
.seo-breadcrumbs a {
  color: var(--color-ink);
}
.seo-hero {
  display: grid;
  grid-template-columns: minmax(0,1.4fr) minmax(0,1fr);
  align-items: start;
  gap: var(--space-12);
  padding-block: var(--space-8) var(--section-inset);
}
.seo-hero h1 {
  font-size: var(--seo-title-size);
  line-height: 1.08;
  letter-spacing: -.05em;
  text-wrap: balance;
  margin-block: var(--space-6);
}
.seo-lead {
  font-size: var(--text-lg);
  line-height: 1.5;
  max-width: var(--seo-reading-width);
  margin: 0;
}
.seo-toc {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-4);
  margin-top: var(--space-8);
  font-size: var(--text-sm);
}
.seo-section {
  border-top: var(--size-1) solid var(--color-line);
  padding-block: var(--section-inset);
  scroll-margin-top: var(--space-6);
}
.seo-section h2 {
  font-family: var(--font-display);
  font-size: var(--seo-section-title-size);
  line-height: 1.15;
  letter-spacing: -.04em;
  margin: 0 0 var(--space-6);
}
.seo-section h3 {
  font-size: var(--text-lg);
  line-height: 1.3;
  margin: var(--space-6) 0 var(--space-3);
}
.seo-section p,
.seo-list {
  font-size: var(--text-base);
  line-height: 1.6;
  margin: 0 0 var(--space-4);
  max-width: var(--seo-reading-width);
}
.seo-editorial {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(0,1.65fr);
  gap: var(--space-12);
}
.seo-editorial>div>p:last-child {
  margin-bottom: 0;
}
.seo-list {
  padding-left: var(--space-5);
}
.seo-list li+li {
  margin-top: var(--space-3);
}
.seo-section-heading {
  margin-bottom: var(--space-8);
}
.seo-section-heading h2 {
  margin-top: var(--space-4);
}
.seo-page .seo-cases--selection {
  --carousel-visible: 3;
  grid-auto-columns: calc((100% - 2 * var(--layout-gap)) / 3);
}
.seo-page .deal-info h3 {
  font-size: var(--text-base);
}
.seo-steps {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: var(--layout-gap);
  padding-left: var(--space-5);
  margin: var(--space-8) 0 0;
}
.seo-steps li {
  padding-left: var(--space-2);
}
.seo-steps li::marker {
  color: var(--color-accent);
  font-weight: 700;
}
.seo-steps h3 {
  margin-top: 0;
}
.seo-page .faq-item h3 {
  font-size: var(--text-lg);
  margin: 0;
}
.seo-page .faq-item>p {
  padding-left: calc(var(--row-inline-inset) + var(--space-8) + var(--space-6));
  margin: 0;
}
.seo-related>div {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-4) var(--space-8);
}
.seo-related a {
  min-height: var(--touch-target);
  display: inline-flex;
  align-items: center;
}
.seo-contact {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-12);
}
.seo-contact>div:last-child {
  display: grid;
  justify-items: start;
  gap: var(--space-6);
}
.seo-directory {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: var(--space-6) var(--space-8);
}
.seo-directory ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.seo-directory li+li {
  margin-top: var(--space-3);
}
.seo-directory a {
  display: inline-flex;
  align-items: center;
  min-height: var(--touch-target);
  font-size: var(--text-base);
}
@media(max-width:1000px) {
  .seo-hero {
    grid-template-columns: minmax(0,1.2fr) minmax(0,1fr);
    gap: var(--layout-gap);
  }
  .seo-editorial {
    grid-template-columns: 1fr;
    gap: var(--space-4);
  }
}
@media(max-width:700px) {
  .seo-hero,
  .seo-contact {
    grid-template-columns: 1fr;
    gap: var(--space-8);
  }
  .seo-hero h1 {
    font-size: var(--text-mobile-heading);
    line-height: 1.12;
  }
  .seo-lead {
    font-size: var(--text-mobile-body);
  }
  .seo-section h2 {
    font-size: var(--seo-section-title-mobile);
  }
  .seo-steps,
  .seo-directory {
    grid-template-columns: 1fr;
  }
  .seo-page .seo-cases--selection {
    --carousel-visible: 1;
    grid-auto-columns: 100%;
  }
  .seo-page .faq-item>p {
    padding-left: var(--row-inline-inset);
  }
}

.seo-section .seo-faq-more { margin: var(--space-6) 0 0; font-size: var(--text-sm); }
.seo-faq-more a { display: inline-flex; align-items: center; min-height: var(--touch-target); }
