/* Service pages and shared service navigation. */
.pricing-card__title a:hover { color: var(--color-accent); text-decoration: underline; }
.pricing-card__details { color: var(--color-accent); font-size: var(--font-small); text-decoration: underline; min-height: 44px; display: inline-flex; align-items: center; gap: 12px; }
.site-footer__inner { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr) minmax(0, .65fr) minmax(0, 1fr); gap: 24px 32px; }
.site-footer__heading { font-weight: 650; color: var(--color-ink); margin-bottom: 6px; }
.site-footer__nav, .site-footer__contacts { min-width: 0; }
.site-footer__link { max-width: 100%; }
.service-eyebrow { color: var(--color-accent); font-size: var(--font-small); font-weight: 650; margin-bottom: 20px; }
.service-hero { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(280px, .75fr); gap: clamp(32px, 5vw, 96px); align-items: start; padding-block: 44px 64px; }
.service-hero h1 { font-size: clamp(36px, 3.5vw, 70px); line-height: 1.08; letter-spacing: -.04em; max-width: 23ch; }
.service-hero__lead { font-size: var(--font-lead); color: var(--color-muted); margin-top: 24px; max-width: 58ch; }
.service-offer { border: 1px solid var(--color-line); background: var(--color-surface); border-radius: 12px; padding: clamp(24px, 2.5vw, 40px); display: grid; gap: 16px; font-size: var(--font-small); }
.service-offer__label { font-weight: 650; }
.service-offer__price { font-size: clamp(30px, 2.7vw, 50px); font-weight: 650; color: var(--color-accent); line-height: 1.1; letter-spacing: -.04em; }
.service-offer .button { margin-top: 8px; }
.service-offer__compare { color: var(--color-accent); text-decoration: underline; min-height: 44px; display: inline-flex; align-items: center; }
.service-body { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(280px, .75fr); gap: clamp(32px, 5vw, 96px); padding-bottom: var(--section-space); }
.service-copy { min-width: 0; max-width: 76ch; }
.service-copy__section { border-top: 1px solid var(--color-line); padding-block: 32px 12px; margin-top: 20px; }
.service-copy__section:first-child { margin-top: 0; }
.service-copy h2 { font-size: clamp(26px, 2vw, 38px); line-height: 1.2; letter-spacing: -.025em; margin-bottom: 22px; }
.service-copy p, .service-copy li { color: var(--color-muted); }
.service-copy p + p { margin-top: 18px; }
.service-copy ul, .service-copy ol { padding-left: 1.3em; margin-block: 0 22px; }
.service-copy li + li { margin-top: 12px; }
.service-copy .faq__list { margin-top: 0; }
.service-copy .faq-item__question { font-size: var(--font-body); }
.service-related { border-top: 1px solid var(--color-accent); padding-top: 32px; align-self: start; min-width: 0; }
.service-related h2 { font-size: var(--font-h3); line-height: 1.25; letter-spacing: -.025em; margin-bottom: 18px; }
.service-related p { font-size: var(--font-small); color: var(--color-muted); margin-bottom: 16px; }
.service-related a { display: block; color: var(--color-accent); text-decoration: underline; padding-block: 12px; }
.service-related__formats { margin-top: 36px; padding-top: 24px; border-top: 1px solid var(--color-line); }
@media (max-width: 1000px) {
  .site-footer__inner { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 760px) {
  .service-hero, .service-body { grid-template-columns: 1fr; gap: 32px; }
  .service-hero { padding-block: 28px 44px; }
  .service-related { padding-top: 24px; }
}
@media (max-width: 560px) {
  .site-footer__inner { grid-template-columns: 1fr; }
  .site-footer__nav { flex-direction: column; gap: 2px; }
  .service-hero h1 { font-size: 36px; }
  .service-offer { padding: 24px; }
}
