/* Saved GBP composition; shared fonts, buttons, prices and disclosures are unchanged. */
.gbp-page { color: var(--color-neutral); }
.gbp-section { padding-block: 24px; }
.gbp-section[id] { scroll-margin-top: 24px; }
.gbp-page h1, .gbp-page h2 { margin: 0 0 8px; font: 600 32px/1.25 var(--font-heading); text-align: center; color: var(--color-dark-blue); }
.gbp-page h3 { margin: 0 0 8px; font: 600 26px/1.3 var(--font-body); color: var(--color-dark-blue); text-align: center; }
.gbp-page h4 { margin: 0 0 13px; font: 500 26px/1.4 var(--font-body); color: var(--color-dark-blue); text-align: center; }
.gbp-page p { margin: 0 0 .67rem; }
.gbp-section > .container > p:last-child { margin-bottom: 0; }
.gbp-page a:not(.button) { color: var(--color-dark-blue); text-underline-offset: 3px; }
.gbp-tone--dark { background: var(--color-dark-blue); color: var(--color-white); }
.gbp-tone--dark h1, .gbp-tone--dark h2 { color: var(--color-white); }
.gbp-tone--pale { background: var(--color-pale-blue); }
.gbp-hero { padding-bottom: 16px; text-align: center; }
.gbp-hero h1 { margin-bottom: 16px; line-height: 1.2; }
.gbp-hero p, .gbp-closing p { margin-bottom: 32px; }
.gbp-closing h2, .gbp-audit h2, .gbp-faq h2 { margin-bottom: 16px; }
.gbp-closing { padding-bottom: 48px; text-align: center; }
.gbp-action { display: inline-flex; margin: 0 0 8px; max-width: 100%; }
.gbp-hero .gbp-action, .gbp-closing .gbp-action { margin-bottom: 0; }
.gbp-action + .gbp-action { margin-left: 4px; }
.gbp-cta-pair { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 12px 8px; }
.gbp-cta-pair .gbp-action { margin: 0; }
.gbp-page .button { min-height: 44px; white-space: normal; text-align: center; font-weight: 500; padding: 7.2px 18px; font-size: 18px; line-height: 1.6; }
.gbp-page .button--outline-light { font-size: 16px; padding: 6px 18px; }
.gbp-tone--dark a:focus-visible { outline-color: var(--color-amber); }
.gbp-tone--dark .button--amber:hover { background: var(--color-pale-blue); color: var(--color-dark-blue); }
.gbp-hero .button--outline-light { border-color: var(--color-pale-blue); }
.gbp-pricing { padding-block: 5px 21px; }
.gbp-offers { padding-top: 0; }
.gbp-grid { display: grid; gap: 16px; }
.gbp-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.gbp-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 64px; }
.gbp-column, .gbp-service-card { min-width: 0; }
.gbp-service-card { padding: 16px; border: 2px solid var(--color-primary); border-radius: 8px; background: var(--color-white); text-align: center; }
/* Shared intrinsic rows align actions while keeping delivery above and payment below. */
.gbp-offers .gbp-grid { row-gap: 0; }
.gbp-service-card { display: grid; grid-template-rows: subgrid; grid-row: span 3; }
.gbp-service-card > .gbp-action { justify-self: center; align-self: start; }
.gbp-service-card h3 { font-size: 26px; }
.gbp-service-card p { margin-bottom: 8px; }
.gbp-service-card h3 + p { margin-bottom: .44rem; }
.gbp-card-support > p:last-child { margin-bottom: 0; }
.gbp-service-card .gbp-copy--price { margin-bottom: 0; color: var(--color-neutral); font-size: 22px; }
.gbp-service-card .service-feature-list { text-align: left; }
.gbp-page .service-feature-list { display: grid; gap: 5px; margin-block: 0 10px; }
.gbp-service-card .service-feature-list { margin-bottom: 16px; }
.gbp-page .service-feature-list li { gap: 10px; margin: 0; }
.gbp-cross { flex: 0 0 22px; width: 22px; height: 22px; margin-top: 4px; color: var(--color-neutral); }
.gbp-check { flex: 0 0 22px; width: 22px; height: 22px; margin-top: 4px; color: var(--color-dark-blue); }
.gbp-service-card .gbp-check { flex-basis: 17px; width: 17px; height: 17px; }
.gbp-disclaimer { padding-block: 0; }
.gbp-disclaimer > .container > p { margin-bottom: .67rem; }
.gbp-audit { padding-bottom: 0; }
.gbp-setup { padding-bottom: 8px; }
.gbp-optimisation { padding-block: 8px; }
.gbp-audit-lists, .gbp-setup-lists, .gbp-optimisation-lists { padding-top: 8px; padding-bottom: 0; }
.gbp-grid--2 .gbp-column { padding: 8px 16px; border: 2px solid var(--color-primary); border-radius: 8px; background: var(--color-white); }
.gbp-setup-lists, .gbp-optimisation-lists { padding-top: 0; }
.gbp-audit-credit { padding-block: 8px; }
.gbp-setup-terms, .gbp-optimisation-terms { padding-top: 8px; }
.gbp-audit-credit > .container > p:first-child { margin-bottom: 8px; }
.gbp-setup-terms > .container > p:first-child, .gbp-optimisation-terms > .container > p:first-child { margin-bottom: .44rem; }
.gbp-optimisation-terms > .container > p:nth-child(3) { margin-block: .44rem 0; }
.gbp-importance { padding-block: 0 24px; }
.gbp-importance h2 { margin-top: 8px; }
.gbp-importance p { margin-bottom: 0; }
.gbp-importance h3 { margin-block: 8px 0; }
.gbp-ranking { padding-block: 0 8px; }
.gbp-ranking .gbp-grid { gap: 64px; }
.gbp-ranking .gbp-column { padding: 16px; border: 2px solid var(--color-primary); border-radius: 8px; background: var(--color-white); text-align: center; }
.gbp-ranking h4 { margin-bottom: 10px; font-size: 20px; }
.gbp-ranking p { margin-bottom: 0; }
.gbp-neglected { padding-top: 16px; }
.gbp-neglected h3 { margin-block: 0; }
.gbp-narrow { max-width: 700px; }
.gbp-faq .content-disclosure { margin-block: 0 5px; border: 0; border-radius: 0; background: transparent; }
.gbp-faq summary { padding: 10px 14px; border: 1px solid rgb(136 136 136 / .53); border-radius: 8px; background: var(--color-dark-blue); color: var(--color-white); }
.gbp-faq summary:hover { background: var(--color-pale-blue); color: var(--color-dark-blue); }
.gbp-faq details[open] > summary { background: var(--color-cream); color: var(--color-dark-blue); border-color: #444; }
.gbp-faq .disclosure-body { padding: 10px; }
.gbp-faq .disclosure-body p { margin-bottom: 32px; }
.gbp-faq .disclosure-body p:last-child { margin-bottom: 0; }
.gbp-faq summary:focus-visible { outline-color: var(--color-amber); }
.gbp-copy--center { text-align: center; }
@media (min-width: 1024px) {
  .gbp-section[id] { scroll-margin-top: 170px; }
}
@media (max-width: 767px) {
  .gbp-grid--3, .gbp-grid--2 { grid-template-columns: minmax(0, 1fr); }
  .gbp-offers .gbp-grid { row-gap: 16px; }
  .gbp-service-card { display: block; grid-row: auto; }
  .gbp-pricing > .container { padding-inline: 40px; }
  .gbp-introduction > .container, .gbp-disclaimer > .container, .gbp-audit > .container, .gbp-setup > .container, .gbp-optimisation > .container, .gbp-importance > .container, .gbp-neglected > .container { padding-inline: 40px; }
  .gbp-action { margin-inline: 0; }
}
