/* Maintenance composition; shared fonts, prices, buttons and disclosures remain authoritative. */
.maintenance-page { color: var(--color-neutral); }
.maintenance-page p { margin-block: 12px 20px; }
.maintenance-page a:not(.button) { color: var(--color-dark-blue); text-underline-offset: 3px; }
.maintenance-page .section-title { font-size: 32px; }
.maintenance-page .button { min-height: 44px; }
.maintenance-section { padding-block: 24px; }
.maintenance-hero, .maintenance-ownership, .maintenance-closing { background: var(--color-dark-blue); color: var(--color-white); }
.maintenance-hero h1 { margin: 0 0 16px; font: 600 32px/1.25 var(--font-heading); }
.maintenance-hero-layout { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); gap: 32px; align-items: center; }
.maintenance-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; margin-block: 24px 8px; }
.maintenance-hero-media { min-width: 0; display: flex; flex-direction: column; align-items: flex-end; margin-top: 16px; }
.maintenance-hero-media .responsive-image { border-radius: 16px; }
.maintenance-hero-media .maintenance-price-badge { margin: 0 16px 0 0; padding-inline: 24px; border: 1px solid var(--color-amber); border-radius: 300px 300px 0 0; background: var(--color-amber); color: var(--color-dark-blue); font-size: 24px; }
.maintenance-small { font-size: .75em; color: var(--color-neutral); }
.maintenance-price-badge .maintenance-small { color: var(--color-dark-blue); }
.maintenance-hero .button--outline-light { color: var(--color-pale-blue); }
.maintenance-hero .button--amber:hover, .maintenance-closing .button--amber:hover { color: var(--color-dark-blue); background: var(--color-pale-blue); }
.maintenance-unsure .button--outline { color: var(--color-primary); }
.maintenance-inclusions, .maintenance-exclusions { background: var(--color-pale-blue); }
.maintenance-inclusion-grid { gap: 32px; }
.maintenance-inclusion-grid .content-card { padding: 24px; border: 1px solid rgb(136 136 136 / .53); box-shadow: -3px 3px 5px rgb(0 0 0 / .2); }
.maintenance-inclusion-grid h3 { font: 500 20px/1.3 var(--font-body); }
.maintenance-inclusion-grid .feature-check { color: var(--color-dark-blue); }
.maintenance-inclusions-after { padding-top: 16px; }
.maintenance-narrow { max-width: 700px; }
.maintenance-pricing-panel { padding: 24px; border: 1px solid rgb(136 136 136 / .52); border-radius: 8px; background: var(--color-white); text-align: center; box-shadow: -3px 3px 5px rgb(0 0 0 / .2); }
.maintenance-pricing-panel .maintenance-price { margin-block: 0 8px; color: var(--color-dark-blue); font: 600 50px/1.3 var(--font-heading); text-align: center; }
.maintenance-pricing-outside { padding: 16px; margin: 0 8px 8px; border-radius: 8px; background: var(--color-cream); text-align: left; }
.maintenance-pricing-outside h3 { margin: 0; color: var(--color-dark-blue); font: 600 20px/1.3 var(--font-heading); }
.maintenance-pricing-panel .maintenance-actions, .maintenance-closing .maintenance-actions, .maintenance-unsure .maintenance-actions { justify-content: center; }
.maintenance-pricing-after { text-align: center; }
.maintenance-wordpress { background: var(--color-white); }
.maintenance-wordpress-layout { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; }
.maintenance-report { min-width: 0; padding: 16px; border-radius: 16px; background: var(--color-dark-blue); color: var(--color-white); }
.maintenance-report table { width: 100%; border-collapse: collapse; table-layout: fixed; }
.maintenance-report caption { padding-bottom: 16px; color: var(--color-white); font-weight: 700; font-size: 24px; text-align: left; }
.maintenance-report tr { background: var(--color-primary); }
.maintenance-report th, .maintenance-report td { padding: 8px 0 8px 16px; border: 0; border-top: 8px solid var(--color-dark-blue); color: var(--color-white); }
.maintenance-report th { width: 60%; }
.maintenance-report td { width: 40%; }
.maintenance-report th { font-weight: 400; text-align: left; }
.maintenance-report td { text-align: center; }
.maintenance-status { display: block; margin-inline: 16px; border-radius: 255px; color: var(--color-dark-blue); font-weight: 700; }
.maintenance-status--green { background: #76fe74; }
.maintenance-status--amber { background: var(--color-amber); }
.maintenance-callout { padding: 24px; border-left: 5px solid var(--color-primary); border-radius: 8px; background: var(--color-white); margin-block: 16px 24px; }
.maintenance-callout p { margin: 0; }
.maintenance-ownership .section-title, .maintenance-closing .section-title { color: var(--color-white); }
.maintenance-faq { background: var(--color-white); }
.maintenance-faq-list { display: grid; gap: 2px; margin-top: 16px; }
.maintenance-faq .content-disclosure { border-color: rgb(136 136 136 / .52); background: var(--color-cream); }
.maintenance-faq summary { padding: 9px 13px; background: var(--color-pale-blue); color: var(--color-dark-blue); border-radius: 8px; }
.maintenance-faq summary:hover, .maintenance-faq details[open] > summary { background: var(--color-dark-blue); color: var(--color-white); }
.maintenance-closing, .maintenance-unsure { padding-block: 8px; text-align: center; }
.maintenance-closing .maintenance-reassurance { font-size: 16px; }
.maintenance-hero a:focus-visible, .maintenance-ownership a:focus-visible, .maintenance-closing a:focus-visible { outline-color: var(--color-amber); }
/* Keep report statuses readable when the desktop columns become narrow. */
@media (max-width: 1023px) {
  .maintenance-report th { width: auto; }
  .maintenance-report td { width: 7.5rem; padding-inline: 8px; }
  .maintenance-status { margin-inline: 0; padding-inline: 8px; white-space: nowrap; }
}
@media (max-width: 767px) {
  .maintenance-section > .container { padding-inline: var(--container-padding-inline, 24px); }
  .maintenance-hero-layout, .maintenance-wordpress-layout { grid-template-columns: minmax(0, 1fr); }
  .maintenance-actions { gap: 12px; }
  .maintenance-pricing-panel { padding: 20px; }
}
