/* Services only; the approved homepage, shared sections and global shell keep their styles. */
.emsoft-services .services-hero { padding-block: 40px 48px; background: #f5faff; }
.emsoft-services .services-hero__grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 64px; align-items: center; }
.emsoft-services .services-hero h1 { font-size: clamp(34px, 3.2vw, 48px); }
.emsoft-services .services-hero__introduction > p + p { margin-top: 18px; }
.emsoft-services .services-hero__introduction > p:not(.home-lead) { color: var(--home-muted); font-size: 16px; line-height: 1.7; }
.emsoft-services .services-hero__banner { min-width: 0; }
.emsoft-services .services-hero__banner img { display: block; width: 100%; height: auto; }
.emsoft-services .services-budget-button { margin-top: 24px; background: #419fd9; box-shadow: 0 0 10px rgb(65 159 217 / 15%); }
.emsoft-services .services-assistant h2 { max-width: 970px; margin-bottom: 32px; }
.emsoft-services .services-assistant h2 > span, .emsoft-services .services-assistant__greeting > span { color: #419fd9; }
.emsoft-services .services-assistant__card { display: flex; align-items: center; justify-content: center; gap: 24px; padding: 40px 28px; border: 1px solid var(--home-line); border-radius: 20px; background: linear-gradient(90deg, rgb(236 245 251 / 30%), rgb(103 178 224 / 30%)); }
.emsoft-services .services-assistant__card > img { flex: 0 1 312px; width: 26%; height: auto; object-fit: contain; }
.emsoft-services .services-assistant__content { flex: 0 1 800px; min-width: 0; text-align: center; }
.emsoft-services .services-assistant__name { font-size: 24px; font-weight: 700; margin-bottom: 24px; }
.emsoft-services .services-assistant__greeting { font-size: 22px; font-weight: 600; margin-bottom: 18px; }
.emsoft-services .services-assistant__greeting > span { display: block; }
.emsoft-services .services-assistant__topics { display: flex; justify-content: center; flex-wrap: wrap; gap: 12px; }
.emsoft-services .services-assistant__topics button { min-height: 44px; padding: 10px 16px; background: white; border: 1px solid #e5e7eb; border-radius: 8px; font-size: 16px; cursor: pointer; box-shadow: 0 2px 8px rgb(0 0 0 / 8%); }
.emsoft-services .services-assistant__topics button:hover { color: white; background: #419fd9; border-color: #419fd9; }
.emsoft-services .services-directory { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border: 1px solid var(--home-line); background: #fff; }
.emsoft-services .services-directory__category { display: flex; flex-direction: column; gap: 22px; min-width: 0; padding: 28px; border-right: 1px solid var(--home-line); border-bottom: 1px solid var(--home-line); }
.emsoft-services .services-directory__category:nth-child(3n) { border-right: 0; }
.emsoft-services .services-directory__category:nth-last-child(-n + 3) { border-bottom: 0; }
.emsoft-services .services-directory__intro, .emsoft-services .services-directory__content { min-width: 0; }
.emsoft-services .services-directory__icon { display: inline-flex; color: #287dac; margin-bottom: 16px; }
.emsoft-services .services-directory__intro h3 { font-size: 21px; font-weight: 600; line-height: 1.3; margin-bottom: 14px; }
.emsoft-services .services-directory__intro p { color: var(--home-muted); font-size: 14px; }
.emsoft-services .services-directory__category > .home-text-link { margin-top: auto; font-size: 14px; }
.emsoft-services .services-landing-links { display: grid; grid-template-columns: minmax(0, 1fr); }
.emsoft-services .services-landing-links a { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 44px; padding-block: 10px; border-bottom: 1px solid #e2edf4; color: #287dac; text-decoration: none; }
.emsoft-services .services-landing-links strong { font-size: 15px; font-weight: 600; line-height: 1.4; }
.emsoft-services .services-landing-links a:hover strong { text-decoration: underline; }
.emsoft-services .services-directory__availability { color: #287dac; font-size: 15px; font-weight: 600; }
.emsoft-services .services-directory__notice { color: var(--home-muted); font-size: 14px; margin-top: 10px; }
.emsoft-services .services-directory__content > .home-service__destination { margin-top: 18px; }
@media (max-width: 1100px) {
  .emsoft-services .services-hero__grid { gap: 32px; }
  .emsoft-services .services-directory__category { padding: 24px; }
}
@media (max-width: 999px) {
  .emsoft-services .services-hero__grid { grid-template-columns: minmax(0, 1fr); }
  .emsoft-services .services-hero__banner { width: 100%; max-width: 460px; justify-self: center; }
  .emsoft-services .services-directory { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .emsoft-services .services-directory__category:nth-child(n) { border-right: 1px solid var(--home-line); border-bottom: 1px solid var(--home-line); }
  .emsoft-services .services-directory__category:nth-child(2n) { border-right: 0; }
  .emsoft-services .services-directory__category:nth-last-child(-n + 2) { border-bottom: 0; }
}
@media (max-width: 599px) {
  .emsoft-services .services-hero { padding-block: 24px 40px; }
  .emsoft-services .services-hero__banner { max-width: 360px; }
  .emsoft-services .services-directory { grid-template-columns: minmax(0, 1fr); }
  .emsoft-services .services-directory__category:nth-child(n) { padding: 24px 20px; border-right: 0; border-bottom: 1px solid var(--home-line); }
  .emsoft-services .services-directory__category:last-child { border-bottom: 0; }
  .emsoft-services .services-budget-button { width: 100%; padding-inline: 16px; font-size: 16px; }
  .emsoft-services .services-assistant__card { flex-direction: column; padding: 28px 20px; }
  .emsoft-services .services-assistant__card > img { flex: auto; width: 100%; max-width: 240px; }
  .emsoft-services .services-assistant__content { flex: auto; }
  .emsoft-services .services-assistant__greeting { font-size: 20px; }
}
