/* Three shared tracks reserve the tallest title and description across slides. */
.service-offering { display: grid; grid-template-rows: auto auto auto; min-inline-size: 0; }
.service-offering__name { grid-row: 1; align-self: center; position: relative; margin: 0; padding-inline-start: var(--space-3); font-family: var(--font-heading); font-size: clamp(var(--fs-display-min), 6.944444vw, var(--fs-display-max)); font-weight: 600; max-inline-size: 44rem; text-transform: uppercase; line-height: 1; overflow-wrap: anywhere; }
.service-offering__name--long { font-size: clamp(var(--fs-service-title-long-min), 5.555556vw, var(--fs-service-title-long-max)); line-height: var(--line-height-heading); overflow-wrap: anywhere; }
@media (min-width: 75rem) {
    /* Lift multiline titles within their reserved track without moving copy or controls. */
    .service-offering__name--long { inset-block-start: calc(-1 * var(--space-16)); }
}
.service-offering--switchable { grid-column: 1; grid-row: 1 / 4; grid-template-rows: subgrid; opacity: 0; visibility: hidden; pointer-events: none; transition: opacity var(--dur-panel) var(--ease-standard), visibility var(--dur-panel); }
.service-offering--switchable.is-active { opacity: 1; visibility: visible; pointer-events: auto; transition-duration: var(--dur-panel), 0s; }
.service-offering__actions [data-service-prev] { grid-column: 1; }
.service-offering__actions a { grid-column: 2; }
.service-offering__actions [data-service-next] { grid-column: 3; }
.service-offering:not(.service-offering--switchable) .service-offering__actions { display: flex; inline-size: auto; flex-wrap: wrap; }
.service-offering__description { grid-row: 2; align-self: start; margin: 5.625rem 0 0; padding-inline-start: var(--space-3); max-inline-size: 30.8125rem; font-size: var(--fs-body); line-height: var(--line-height-control); color: var(--color-service-copy); transition: color var(--dur-panel) var(--ease-standard); }
.service-offering__actions { grid-row: 3; display: grid; grid-template-columns: 3rem minmax(0, 1fr) 3rem; inline-size: min(100%, 23.5rem); align-items: center; gap: var(--space-6); margin-block-start: var(--space-12); padding-inline-start: var(--space-3); }
@media (width < 75rem) {
    .service-offering__description { margin-block-start: var(--space-16); }
    .service-offering__actions { gap: var(--space-3); }
}
@media (width < 48rem) {
    .service-offering__name, .service-offering__description, .service-offering__actions { padding-inline-start: 0; }
    .service-offering__name:not(.service-offering__name--long) { font-size: clamp(2.5rem, 16vw, var(--fs-display-min)); }
    .service-offering__description { margin-block-start: var(--space-10); }
    .service-offering__actions { display: grid; grid-template-columns: 3rem minmax(0, 1fr) 3rem; gap: var(--space-2); align-items: center; }
}
@media (prefers-reduced-motion: reduce) {
    .service-offering--switchable, .service-offering__description { transition: none; }
}
