.page-services .section { padding: 38px 0 24px; background: #fff; }
.page-services .section > .container { width: min(1280px, calc(100% - 64px)); padding: 0; }
.page-services .services-v5-intro { position: relative; margin: 0 0 32px; padding: 12px 0 4px; text-align: left; }
.page-services .services-v5-intro .tag { font-size: 10px; letter-spacing: .15em; }
.page-services .services-v5-intro h1 { max-width: 1130px; margin: 16px 0 10px; font-size: clamp(32px, 3.4vw, 48px); line-height: 1.12; letter-spacing: -.04em; font-weight: 750; }
.page-services .services-v5-intro .small { max-width: 900px; margin: 0; color: #62717e; font-size: 16px; line-height: 1.65; }
.page-services .services-v5-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; align-items: stretch; }
.page-services .services-v5-grid .service-card { display: flex; flex-direction: column; min-width: 0; margin: 0; padding: 0; border: 1px solid #dce3ea; border-radius: 5px; background: #fff; overflow: hidden; box-shadow: none; }
.page-services .services-v5-grid .service-image { width: 100%; min-height: 0; height: auto; aspect-ratio: 3 / 2; overflow: hidden; margin: 0; border: 0; border-radius: 0; }
.page-services .services-v5-grid .service-image img { display: block; width: 100%; height: 100%; object-fit: cover; transform: none; filter: none; }
.page-services .services-v5-grid .service-card:nth-child(n) .service-image { order: 0; }
.page-services .services-v5-grid .service-card:nth-child(n) .service-body { order: 1; display: flex; flex-direction: column; align-items: stretch; justify-content: flex-start; flex: 1; min-width: 0; padding: 22px; background: #fff; }
.page-services .services-v5-grid .service-label { color: #e60024; font-size: 10px; font-weight: 700; letter-spacing: .09em; line-height: 1.5; text-transform: uppercase; }
.page-services .services-v5-grid h2 { margin: 9px 0 10px; padding: 0; min-height: 56px; font-size: 23px; font-weight: 700; line-height: 1.22; letter-spacing: -.03em; }
.page-services .services-v5-grid .service-summary { min-height: 48px; margin: 0; color: #6a7885; font-size: 13px; line-height: 1.65; }
.page-services .service-tags { display: flex; flex-wrap: wrap; gap: 7px; margin: 16px 0 20px; padding: 0; list-style: none; }
.page-services .service-tags li { padding: 7px 10px; border-radius: 3px; background: #f3f5f8; color: #263747; font-size: 11px; line-height: 1.4; }
.page-services .service-v5-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; padding-top: 14px; border-top: 1px solid #e0e5eb; }
.page-services .service-quote-link { display: inline-flex; align-items: center; justify-content: space-between; gap: 18px; min-height: 42px; padding: 10px 17px; border: 1px solid #e60024; border-radius: 4px; color: #d60022; font-size: 13px; font-weight: 650; text-decoration: none; }
.page-services .service-quote-link:hover { color: #fff; background: #e60024; }
.page-services .service-quote-link:focus-visible,
.page-services .service-more summary:focus-visible { outline: 2px solid #e60024; outline-offset: 3px; }
.page-services .services-v5-grid .service-detail-link { width: auto; margin: 0; color: #243746; font-size: 11px; font-weight: 500; }
.page-services .service-more { margin-top: 14px; font-size: 12px; }
.page-services .service-more summary { display: flex; align-items: center; justify-content: space-between; padding: 6px 0; color: #344957; cursor: pointer; list-style: none; }
.page-services .service-more summary::-webkit-details-marker { display: none; }
.page-services .service-more[open] summary span { transform: rotate(45deg); }
.page-services .service-more > div { padding-top: 8px; }
.page-services .service-more p { margin: 0 0 10px; color: #62717e; font-size: 12px; line-height: 1.7; }
.page-services .services-v5-preparation { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.65fr) auto; align-items: center; gap: 22px; margin-top: 20px; padding: 24px; border-radius: 5px; background: #f5f7fa; text-align: left; }
.page-services .services-v5-preparation h2 { margin: 0 0 8px; font-size: 16px; line-height: 1.3; font-weight: 650; letter-spacing: -.015em; }
.page-services .services-v5-preparation p { margin: 0; color: #657482; font-size: 11px; line-height: 1.6; }
.page-services .services-v5-preparation ul { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 0; padding: 0; list-style: none; }
.page-services .services-v5-preparation li { display: flex; align-items: center; gap: 9px; min-width: 0; padding-left: 14px; border-left: 1px solid #d4dce5; color: #223542; font-size: 11px; font-weight: 600; }
.page-services .service-preparation-icon { font-size: 26px; font-weight: 400; }
.page-services .services-v5-preparation .button { display: inline-flex; justify-content: center; gap: 14px; min-height: 44px; padding: 12px 18px; margin: 0; border: 1px solid #e60024; border-radius: 4px; background: #e60024; box-shadow: none; color: #fff; font-size: 12px; }
.page-services .services-v5-preparation .button::after { content: none; }
@media (max-width: 1100px) {
  .page-services .section > .container { width: calc(100% - 40px); }
  .page-services .services-v5-grid { gap: 14px; }
  .page-services .services-v5-grid .service-body { padding: 18px; }
  .page-services .services-v5-grid h2 { font-size: 21px; min-height: 78px; }
  .page-services .service-tags { min-height: 68px; align-content: flex-start; }
  .page-services .services-v5-preparation { grid-template-columns: 1fr 1.7fr; }
  .page-services .services-v5-preparation .button { grid-column: 1 / -1; justify-self: end; }
}
@media (max-width: 760px) {
  .page-services .section { padding: 28px 0 20px; }
  .page-services .section > .container { width: calc(100% - 32px); }
  .page-services .services-v5-intro h1 { font-size: 34px; }
  .page-services .services-v5-intro .small { font-size: 14px; }
  .page-services .services-v5-grid { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .page-services .services-v5-grid h2 { min-height: 0; font-size: 25px; }
  .page-services .services-v5-grid .service-summary { min-height: 0; }
  .page-services .service-tags { min-height: 0; }
  .page-services .services-v5-grid .service-body { padding: 22px; }
  .page-services .services-v5-preparation { grid-template-columns: minmax(0, 1fr); gap: 18px; padding: 22px; }
  .page-services .services-v5-preparation ul { gap: 10px; }
  .page-services .services-v5-preparation li { flex-direction: column; align-items: flex-start; gap: 6px; padding-left: 10px; }
  .page-services .services-v5-preparation .button { grid-column: auto; width: 100%; justify-self: stretch; }
}
