/* Service sections share website tokens; archive and dialog layouts stay independent. */
.fk-section--services { --fkp-selection-gap: var(--fk-space-lg); --fkp-selection-padding: var(--fk-space-xl); }
.fk-services--density-compact { --fkp-selection-gap: var(--fk-space-md); --fkp-selection-padding: var(--fk-space-lg); }
.fk-services--tone-soft { background: var(--fk-color-surface-soft); }
.fk-services--intro-center > .fk-section__inner > .fk-section__intro { margin-inline: auto; text-align: center; }
.fk-services--top-none > .fk-section__inner { padding-top: 0; }
.fk-services--top-small > .fk-section__inner { padding-top: var(--fk-space-lg); }
.fk-services--top-large > .fk-section__inner { padding-top: var(--fk-space-3xl); }
.fk-services--bottom-none > .fk-section__inner { padding-bottom: 0; }
.fk-services--bottom-small > .fk-section__inner { padding-bottom: var(--fk-space-lg); }
.fk-services--bottom-large > .fk-section__inner { padding-bottom: var(--fk-space-3xl); }
.fk-section--services .fk-section__services { gap: var(--fkp-selection-gap); }
.fk-section--services .fkp-section-service { display: flex; flex-direction: column; min-width: 0; height: auto; overflow: hidden; }
.fk-services--surface-soft .fkp-section-service.fk-card--standard { background: var(--fk-color-surface-soft); box-shadow: none; }
.fk-services--surface-plain .fkp-section-service { border: 0; border-radius: 0; box-shadow: none; background: transparent; overflow: visible; }
.fkp-section-service__media { margin: 0; overflow: hidden; flex: 0 0 auto; }
.fkp-section-service__media img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: cover; }
.fk-services--ratio-square .fkp-section-service__media img { aspect-ratio: 1; }
.fk-services--ratio-wide .fkp-section-service__media img { aspect-ratio: 16 / 7; }
.fk-services--surface-plain .fkp-section-service__media { border-radius: var(--fk-radius-media); }
.fkp-section-service__body { display: flex; flex: 1; flex-direction: column; align-items: start; min-width: 0; padding: var(--fkp-selection-padding); gap: var(--fk-space-md); }
.fk-services--surface-plain .fkp-section-service__body { padding-inline: 0; }
.fk-section--services .fkp-section-service__category { margin: 0; color: var(--fk-color-muted-surface, var(--fk-color-muted)); font-size: var(--fk-text-xs); font-weight: var(--fk-font-weight-heading); }
.fk-section--services .fkp-section-service__title { margin: 0; font: var(--fk-font-weight-heading) var(--fk-text-xl)/1.25 var(--fk-font-heading); color: var(--fk-color-heading); overflow-wrap: anywhere; }
.fk-section--services .fkp-section-service__title a { color: inherit; text-decoration: none; }
.fk-section--services .fkp-section-service__excerpt { margin: 0; color: var(--fk-color-text); font-size: var(--fk-text-base); line-height: 1.65; max-width: var(--fk-reading-width,65ch); }
.fkp-section-service__actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--fk-space-sm) var(--fk-space-lg); margin-top: auto; padding-top: var(--fk-space-sm); width: 100%; }
.fk-section--services .fkp-section-service__actions > .fkp-service-appointment-action { margin: 0; padding: 0; border: 0; }
.fk-section--services .fkp-section-service__link { display: inline-flex; align-items: center; gap: var(--fk-space-sm); color: var(--fk-color-heading); font-weight: var(--fk-font-weight-heading); text-decoration: none; min-height: var(--fk-button-height,44px); }
.fkp-section-service__link span { color: var(--fk-color-accent); }
.fk-section--services :is(.fkp-section-service__link,.fkp-section-service__title a):hover { text-decoration: underline; text-decoration-color: var(--fk-color-accent); text-underline-offset: .2em; }
.fk-services--compact .fkp-section-service__body { gap: var(--fk-space-sm); padding: var(--fk-space-lg); }
.fk-services--compact .fkp-section-service__title { font-size: var(--fk-text-lg); }
.fk-services--compact .fkp-section-service__excerpt { font-size: var(--fk-text-sm); }
.fk-services--compact .fkp-section-service__actions { padding-top: 0; }
.fk-services--list .fk-section__services { grid-template-columns: minmax(0,1fr); }
.fk-services--list .fkp-section-service { flex-direction: row; align-items: stretch; }
.fk-services--list .fkp-section-service__media { width: clamp(8rem,18%,13rem); }
.fk-services--list .fkp-section-service__media img { height: 100%; }
.fk-services--featured .fkp-section-service--featured { grid-column: 1 / -1; }
.fk-services--featured .fkp-section-service--featured .fkp-section-service__title { font-size: var(--fk-text-2xl); }
@media (min-width: 1024px) {
 .fk-services--columns-3 .fk-section__services { grid-template-columns: repeat(3,minmax(0,1fr)); }
 .fk-services--columns-4 .fk-section__services { grid-template-columns: repeat(4,minmax(0,1fr)); }
 .fk-services--list .fk-section__services { grid-template-columns: minmax(0,1fr); }
 .fk-services--list .fkp-section-service__body { display: grid; grid-template-columns: minmax(0,1fr) auto; align-content: center; }
 .fk-services--list .fkp-section-service__body > :not(.fkp-section-service__actions) { grid-column: 1; }
 .fk-services--list .fkp-section-service__actions { grid-column: 2; grid-row: 1 / span 3; align-self: center; margin: 0; padding: 0; flex-direction: column; align-items: stretch; }
}
@media (min-width: 768px) {
 .fk-services--featured .fkp-section-service--featured.has-media { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
 .fkp-section-service--featured .fkp-section-service__media img { height: 100%; }
 .fk-services--featured .fkp-section-service--featured .fkp-section-service__body { justify-content: center; padding: var(--fk-space-2xl); }
 .fk-services--featured .fkp-section-service--featured .fkp-section-service__actions { margin-top: var(--fk-space-md); }
}
@media (max-width: 767px) {
 .fk-section--services .fk-section__services { grid-template-columns: minmax(0,1fr); }
 .fk-services--list .fkp-section-service { flex-direction: column; }
 .fk-services--list .fkp-section-service__media { width: 100%; }
 .fk-services--list .fkp-section-service__media img { height: auto; aspect-ratio: 16 / 7; }
 .fkp-section-service__body { padding: var(--fk-space-lg); }
 .fkp-section-service__actions { column-gap: var(--fk-space-md); }
 .fk-section--services .fkp-section-service__title { font-size: var(--fk-text-xl); }
}
