/* Service scopes use the site's existing navy, amber and typography. */
.homepage[data-ui-page] { min-width: 0; }
.service-packages { padding: 48px var(--page-gutter, 24px); background: #f2f5f8; color: #172033; scroll-margin-top: 24px; }
.service-packages__inner { max-width: 1200px; margin: 0 auto; }
.service-packages h2 { font-size: clamp(28px, 3vw, 40px); line-height: 1.15; margin: 0 0 14px; text-transform: none; }
.service-packages__intro { max-width: 790px; font: 400 16px/1.65 var(--font-body, Arial, sans-serif); margin: 0 0 24px; }
.service-packages__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.service-package { display: flex; flex-direction: column; min-width: 0; background: #fff; border: 1px solid #c8d1dc; border-radius: 14px; padding: 24px; }
.service-package[data-selected] { border-color: #9a5600; box-shadow: 0 0 0 2px #b86a06; }
.service-package h3 { margin: 0 0 12px; color: #172033; font-size: 27px; line-height: 1.15; text-transform: none; }
.service-package p, .service-package li { font: 400 15px/1.65 var(--font-body, Arial, sans-serif); }
.service-package p { margin: 0 0 14px; }
.service-package .service-package__label { font-weight: 600; font-size: 13px; margin-bottom: 8px; }
.service-package ul { list-style: disc; padding: 0 0 0 20px; margin: 0 0 20px; }
.service-package li { padding-left: 2px; margin-bottom: 7px; }
.service-packages a:not(.service-package__quote) { color: #183e69; text-decoration: underline; text-underline-offset: 3px; }
.service-packages .service-package__quote { display: block; margin-top: auto; padding: 13px 16px; min-height: 48px; border-radius: 8px; background: #ff981f; color: #142033; font: 600 15px/1.4 var(--font-body, Arial, sans-serif); text-align: center; text-decoration: none; }
.service-package__quote:hover { background: #ffb252; }
.service-packages a:focus-visible, .package-selection #package-remove:focus-visible { outline: 3px solid #183e69; outline-offset: 4px; }
.service-packages__quote-note { margin-top: 24px; padding: 22px 24px; border-left: 4px solid #b86a06; background: #fff; border-radius: 0 10px 10px 0; }
.service-packages__quote-note h3 { font-size: 23px; line-height: 1.25; color: #172033; margin: 0 0 8px; }
.service-packages__quote-note p, .service-packages__next { font: 400 15px/1.65 var(--font-body, Arial, sans-serif); margin: 0; }
.service-packages__next { margin-top: 18px; }
.quote-section .package-selection { margin: 0 0 20px; padding: 16px; border: 1px solid #b9c8db; border-radius: 8px; background: #edf3fa; color: #172033; }
.package-selection[hidden] { display: none !important; }
.quote-section .package-selection p { margin: 0 0 8px; font: 400 15px/1.5 var(--font-body, Arial, sans-serif); }
.quote-section .package-selection #package-remove { width: auto; min-height: 44px; margin: 0; padding: 8px 0; border: 0; background: transparent; box-shadow: none; color: #183e69; text-decoration: underline; text-underline-offset: 3px; text-transform: none; letter-spacing: normal; cursor: pointer; font: 600 14px/1.4 var(--font-body, Arial, sans-serif); }
@media (max-width: 900px) {
  .service-packages__grid { grid-template-columns: 1fr; }
  .service-packages { padding: 32px 20px; }
  .service-package { padding: 22px; }
  .service-package h3 { font-size: 26px; }
  .service-packages__quote-note { padding: 18px; }
}
@media (max-width: 350px) {
  .homepage[data-ui-page] #header { gap: 8px; }
  .homepage[data-ui-page] #header .logo { width: 72px; flex-basis: 72px; }
  .homepage[data-ui-page] #header .call-btn { padding: 10px; font-size: 12px; }
}
