/* Scoped additions: retain the established BTB cards, palette and typography. */
#diensten, .service-family { scroll-margin-top: 110px; }
/* Secondary business route follows the introduction and shares its alignment. */
.business-route { display: block; text-align: inherit; margin: 1.25rem 0 0; color: #746e64; font-size: .9rem; font-weight: 400; line-height: 1.7; }
.business-route > span { margin-right: .35em; }
.business-route a { color: inherit; font-weight: 400; text-decoration-color: #bbb5ab; text-underline-offset: 4px; }
.business-route a:hover { color: var(--ink); text-decoration-color: currentColor; }
.business-route a:focus-visible { outline: 2px solid var(--accent-600); outline-offset: 4px; }
.service-family { display: flex; flex-direction: column; min-width: 0; }
.service-family h3 { overflow-wrap: break-word; }
.service-family__links { list-style: none; padding: 1rem 0 0; margin: 1.3rem 0 0; border-top: 1px solid var(--line); display: grid; gap: .35rem; align-content: start; }
.service-family__links li { min-width: 0; margin: 0; }
.service-family__links a { display: grid; grid-template-columns: minmax(0,1fr) 1rem; gap: .65rem; align-items: start; padding: .5rem 0; min-height: 44px; font-weight: 600; font-size: .9rem; line-height: 1.55; color: var(--accent-600); text-decoration: none; }
.service-family__label { min-width: 0; overflow-wrap: break-word; }
.service-family__links a > [aria-hidden] { white-space: nowrap; text-align: right; }
.service-family__links a:hover { text-decoration: underline; text-underline-offset: 3px; }
.service-family__links a:focus-visible { outline: 2px solid var(--accent-600); outline-offset: 4px; border-radius: 2px; }
.service-family .service-family__note { margin-top: 1.2rem; font-size: .8rem; line-height: 1.6; }
.opname-scope { max-width: 850px; padding: 1.2rem 1.5rem; margin-top: 2rem; border-left: 3px solid var(--accent-600); background: var(--mist); color: var(--slate); border-radius: 0 var(--radius) var(--radius) 0; }
/* Shared content rows align icons, titles, descriptions and links across each row.
   Mobile stays natural-height; no fixed card heights or absolute positioning. */
.service-overview-grid .service-link { display: flex; flex-direction: column; min-width: 0; }
.service-overview-grid .service-link .service__more { display: flex; justify-content: space-between; margin-top: auto; padding-top: 1.5rem; }
@media (min-width: 761px) {
  .service-overview-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .service-family__links { grid-auto-rows: minmax(3.4rem,auto); }
  @supports (grid-template-rows: subgrid) {
    .service-overview-grid > .service { display: grid; grid-row: span 4; grid-template-rows: subgrid; row-gap: 0; }
    .service-overview-grid > .service > h3 { align-self: start; }
    .service-overview-grid > .service > p { align-self: start; }
    .service-overview-grid .service-link .service__more { align-self: end; }
  }
}
@media (min-width: 1024px) { .service-overview-grid { grid-template-columns: repeat(3,minmax(0,1fr)); } }
@media (max-width: 760px) {
  .service-overview-grid { grid-template-columns: minmax(0,1fr); }
  .service-family { scroll-margin-top: 96px; }
  .service-family__links a { font-size: .95rem; }
}
