/* Maintenance page content; application-service shell remains shared. */
.page-maintenance { --maintenance-width: min(72.92vw, 1400px); }
.maintenance-container { width: var(--maintenance-width); margin-inline: auto; }
.maintenance-content { padding: 76px 0 78px; }
.maintenance-eyebrow { margin: 0 0 10px; color: var(--green); text-align: center; font-size: 17px; font-weight: 500; }
.maintenance-content h2 { margin: 0; text-align: center; font-size: 30px; line-height: 1.4; }
.maintenance-summary { margin: 14px auto 48px; color: #333; text-align: center; font-size: 16px; line-height: 2.5; }
.maintenance-services > h3, .maintenance-promises > h3 { margin: 0 0 38px; text-align: center; font-size: 26px; font-weight: 500; }
.maintenance-service-grid { display: grid; grid-template-columns: 690px minmax(0, 1fr); gap: 60px; align-items: stretch; }
.maintenance-visual { width: 690px; height: 517px; margin: 0; overflow: hidden; }
.maintenance-visual img { width: 100%; height: 100%; object-fit: cover; }
.maintenance-list { display: grid; grid-template-rows: repeat(4, 1fr); gap: 11px; }
.maintenance-list article { display: grid; align-content: center; min-height: 100px; padding: 18px 30px; background: #f5f5f5; }
.maintenance-list h4 { margin: 0 0 5px; color: var(--green); font-size: 20px; font-weight: 500; }
.maintenance-list p { margin: 0; color: #333; font-size: 16px; line-height: 1.85; }
.maintenance-promises { margin-top: 70px; }
.maintenance-promise-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.maintenance-promise-grid article { display: grid; align-content: start; min-height: 190px; padding: 30px 28px; background: #f5f5f5; text-align: center; }
.maintenance-promise-grid h4 { margin: 0 0 18px; color: var(--green); font-size: 20px; font-weight: 500; }
.maintenance-promise-grid p { margin: 0; color: #333; font-size: 16px; line-height: 1.9; }
@media (max-width: 1500px) {
  .page-maintenance { --maintenance-width: min(88vw, 1200px); }
  .maintenance-service-grid { grid-template-columns: minmax(480px, 1fr) minmax(0, 1fr); gap: 38px; }
  .maintenance-visual { width: 100%; height: auto; aspect-ratio: 690 / 517; }
  .maintenance-list p { font-size: 14px; }
}
@media (max-width: 1000px) {
  .maintenance-service-grid { grid-template-columns: 1fr; }
  .maintenance-visual { width: min(100%, 690px); margin-inline: auto; }
  .maintenance-list { grid-template-rows: none; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .maintenance-promise-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .page-maintenance { --maintenance-width: calc(100vw - 36px); }
  .maintenance-content { padding: 58px 0 66px; }
  .maintenance-content h2 { font-size: 25px; }
  .maintenance-summary { margin-bottom: 40px; font-size: 14px; line-height: 2; }
  .maintenance-services > h3, .maintenance-promises > h3 { margin-bottom: 28px; font-size: 21px; }
  .maintenance-service-grid { gap: 24px; }
  .maintenance-list { grid-template-columns: 1fr; gap: 12px; }
  .maintenance-list article { padding: 20px; }
  .maintenance-list h4, .maintenance-promise-grid h4 { font-size: 18px; }
  .maintenance-list p, .maintenance-promise-grid p { font-size: 14px; }
  .maintenance-promises { margin-top: 50px; }
  .maintenance-promise-grid { grid-template-columns: 1fr; gap: 14px; }
  .maintenance-promise-grid article { min-height: 150px; padding: 26px 22px; }
}
