/* Shared 1215 review, 2026-09-06. Loaded only by the 24 unapproved services.
   Approved accounting, legal and tax planning do not load this file. */
.service-page--batch:not([data-service="tax-planning"]) .service-detail-card > summary {
  font-family: var(--font-body);
  text-transform: none;
  color: var(--color-ink);
}
.service-page--batch:not([data-service="tax-planning"]) .service-detail-card > summary::after { display: none; }
.service-page--batch:not([data-service="tax-planning"]) .service-detail-card[open] > summary { color: var(--color-blue); }
.service-page--batch:not([data-service="tax-planning"]) .service-detail-card .faq-item__icon { flex: none; }

@media (min-width: 1200px) {
  /* Reuse the approved tax-planning wide H1 size. Wording remains unchanged;
     adaptive editorial spans do not force ragged wide lines. Protected pages do not load this file. */
  .service-page--batch:not([data-service="tax-planning"]) .service-hero h1 { font-size: 54px; text-wrap: balance; }
  .service-page--batch:not([data-service="tax-planning"]) .service-hero h1 > span { display: inline; }
  .service-page--batch:not([data-service="tax-planning"]) .includes-grid article {
    display: grid;
    grid-template-rows: auto auto 1fr;
    gap: 14px;
    align-content: start;
    justify-content: normal;
    min-height: 0;
  }
  .service-page--batch:not([data-service="tax-planning"]) .includes-grid article > span,
  .service-page--batch:not([data-service="tax-planning"]) .includes-grid h3,
  .service-page--batch:not([data-service="tax-planning"]) .includes-grid p {
    margin: 0;
    min-height: 0;
  }
  .service-page--batch:not([data-service="tax-planning"]) .scenario-grid h3,
  .service-page--batch:not([data-service="tax-planning"]) .service-process__route .process-step h3 { min-height: 0; }
  .service-page--batch:not([data-service="tax-planning"]) .service-wide-line { display: block; text-wrap: wrap; }
  .service-page--batch:not([data-service="tax-planning"]) .service-price-individual { align-items: start; }
  .service-page--batch:not([data-service="tax-planning"]) .faq-item__question { text-wrap: balance; }

  /* Wide text balance outside the six explicit line groups. Match text elements,
     not shells containing buttons. Recovery's approved blocks stay unchanged. */
  .service-page--batch:not([data-service="tax-planning"]):not([data-service="accounting-tax-support"]):not([data-service="legal-support"]):not([data-service="accounting-recovery"]) :is(
    .service-section__intro--split > p,
    .service-final > div > p:not(.section-kicker),
    .faq-item__answer p,
    .service-pricing-project__body p,
    .service-price-individual__copy > p,
    .service-tariffs__intro,
    .service-tariffs__client-note,
    .service-package-card > p,
    .service-package-card > .service-package-unit
  ) {
    text-wrap: balance;
  }

  /* The whole pricing group shares the right inner edge; its contents stay left aligned. */
  .service-pricing-project__copy {
    width: min(100%, 500px);
    justify-self: end;
    text-align: left;
  }
  .service-pricing-project__copy > p { text-wrap: wrap; }

  .service-page--batch:not([data-service="tax-planning"]):not([data-service="accounting-recovery"]) .service-hero__lead {
    max-width: none;
    text-wrap: wrap;
  }

  /* Lists are a single column, not separately balanced miniature paragraphs. */
  .service-page--batch:not([data-service="tax-planning"]) :is(
    .service-detail-card li, .service-tariffs__conditions li,
    .service-package-card li, .outcomes-list > p,
    .outcomes-list > li, .outcomes-list__summary, .service-price-table td
  ) { max-width: none; text-wrap: wrap; }

  .service-page--batch[data-service="accounting-recovery"] .service-pricing-hourly__signal {
    display: grid;
    position: absolute;
    top: 48px;
    right: 48px;
  }
}

.service-pricing-hourly__signal { display: none; }
@media (min-width: 1200px) {
  .service-page--batch[data-service="accounting-recovery"] .service-pricing-hourly { position: relative; }
}
@media (prefers-reduced-motion: reduce) {
  .service-pricing-hourly__signal .is-active { animation: none; }
}
