.service-list { display: grid; gap: var(--space-4); }
.service-format { display: grid; gap: var(--space-3); min-width: 0; }
.service-format + .service-format { border-top: 1px solid var(--color-rule); padding-top: var(--space-4); }
.service-format h3 { font-size: var(--text-entry); font-weight: 500; }
.service-details, .service-rates { display: grid; gap: var(--space-2); min-width: 0; }
.service-rate { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--space-3); align-items: baseline; }
.service-duration { font-size: var(--text-body); color: var(--color-body); }
.service-price { color: var(--color-ink); font: 500 var(--text-price)/1.3 var(--font-heading); font-variant-numeric: tabular-nums; white-space: nowrap; text-align: right; letter-spacing: -.025em; }
.service-description, .service-note { max-width: var(--measure-copy); font-size: var(--text-small); color: var(--color-muted); }
.first-meeting-section p, .meeting-format-section p { max-width: var(--measure-copy); color: var(--color-body); }
.first-meeting-cta { display: flex; align-items: center; justify-content: flex-start; gap: 12px; justify-self: start; max-width: 100%; min-height: 64px; padding-block: 8px; color: var(--color-accent); font: 500 26px/1.3 var(--font-heading); letter-spacing: -.025em; transition: color var(--motion-short); }
.first-meeting-cta > span { text-wrap: balance; }
.first-meeting-cta svg { flex: 0 0 auto; width: 24px; height: 24px; transition: transform var(--motion-short) var(--motion-easing); }
.first-meeting-cta:hover { color: var(--color-accent-hover); }
.first-meeting-cta:hover svg, .first-meeting-cta:focus-visible svg { transform: translate(3px, 3px); }
.first-meeting-cta:active svg { transform: translate(1px, 1px); }
.support-layout { display: grid; gap: var(--space-3); padding-top: var(--space-4); border-top: 1px solid var(--color-rule); }
.support-layout h3 { font-size: var(--text-entry); font-weight: 500; }
.support-layout p { max-width: var(--measure-copy); font-size: var(--text-small); color: var(--color-muted); }
#support a { color: var(--color-accent); text-decoration: underline; text-underline-offset: .15em; overflow-wrap: anywhere; }
@media (max-width: 720px) {
  .service-rate { gap: var(--space-2); }
  .service-duration { font-size: 16px; }
  .first-meeting-cta { font-size: 21px; }
}

@media (max-width: 480px) {
  #service-event-preparation .service-rate { grid-template-columns: 1fr; }
  #service-event-preparation .service-price { text-align: left; }
}

@media (forced-colors: active) {
  .first-meeting-cta { color: LinkText; }
}
