/** Premium Services component — mobile-first and fully token driven. */
.avc-services { background: var(--avc-surface-alt); }.avc-services__container { display: grid; gap: var(--avc-space-4); max-width: var(--avc-services-container, 82.5rem); }.avc-services__eyebrow { margin: 0 0 var(--avc-space-2); color: var(--avc-secondary); font-size: var(--avc-text-sm, .875rem); font-weight: var(--avc-weight-semibold, 600); letter-spacing: var(--avc-tracking, .08em); text-transform: uppercase; }.avc-services__title { max-width: var(--avc-services-title-width, 22rem); }.avc-services__description { max-width: var(--avc-services-description-width, 25rem); margin: 0; color: var(--avc-muted); }.avc-services__filters { display: flex; flex-wrap: wrap; gap: var(--avc-space-1); margin-top: var(--avc-space-3); }.avc-services__filter { position: relative; padding: var(--avc-space-1) var(--avc-space-2); border: 0; border-radius: var(--avc-radius); color: var(--avc-primary); background: transparent; font: inherit; font-size: var(--avc-text-sm, .875rem); font-weight: var(--avc-weight-semibold, 600); text-align: left; cursor: pointer; transition: color var(--avc-transition, .35s ease), background-color var(--avc-transition, .35s ease), transform var(--avc-transition, .35s ease); }.avc-services__filter::after { position: absolute; right: var(--avc-space-2); bottom: var(--avc-filter-line-offset, .2rem); left: var(--avc-space-2); height: var(--avc-filter-line-height, 2px); content: ""; transform: scaleX(0); transform-origin: left; background: var(--avc-accent); transition: transform var(--avc-transition, .35s ease); }.avc-services__filter:hover { color: var(--avc-secondary); transform: translateX(var(--avc-filter-shift, .2rem)); }.avc-services__filter--active { color: var(--avc-primary); background: var(--avc-surface); box-shadow: var(--avc-shadow); }.avc-services__filter--active::after { transform: scaleX(1); }.avc-services__filter:focus-visible, .avc-service-card__link:focus-visible { outline: var(--avc-focus-outline, 3px solid var(--avc-focus)); outline-offset: var(--avc-focus-offset, 3px); }
.avc-services__grid { display: grid; gap: var(--avc-space-2); grid-template-columns: 1fr; }.avc-service-card { display: flex; min-height: var(--avc-service-card-min-height, 21rem); flex-direction: column; padding: var(--avc-space-3); border: var(--avc-service-card-border, 1px solid transparent); border-radius: var(--avc-service-card-radius, 1.25rem); background: var(--avc-surface); box-shadow: var(--avc-shadow); transition: border-color var(--avc-transition, .35s ease), box-shadow var(--avc-transition, .35s ease), transform var(--avc-transition, .35s ease), opacity var(--avc-transition, .35s ease); }.avc-service-card:hover, .avc-service-card:focus-within { border-color: var(--avc-accent); box-shadow: var(--avc-service-card-shadow-hover, var(--avc-shadow)); transform: translateY(var(--avc-service-card-lift, -8px)); }.avc-service-card--hidden { display: none; }.avc-service-card--entering { animation: avc-service-card-in var(--avc-transition, .35s ease) both; }.avc-service-card__icon { display: grid; width: var(--avc-service-icon-size, 3rem); height: var(--avc-service-icon-size, 3rem); place-items: center; margin-bottom: var(--avc-space-2); border-radius: var(--avc-radius); color: var(--avc-surface); background: var(--avc-primary); font-family: var(--avc-font-heading); font-weight: var(--avc-weight-semibold, 600); }.avc-service-card__title { margin-bottom: var(--avc-space-1); font-size: var(--avc-service-title-size, 1.25rem); }.avc-service-card__description { margin: 0; color: var(--avc-muted); font-size: var(--avc-text-sm, .875rem); }.avc-service-card__tags { display: flex; flex-wrap: wrap; gap: var(--avc-tag-gap, .35rem); padding: 0; margin: var(--avc-space-2) 0; list-style: none; }.avc-service-card__tag { padding: var(--avc-tag-padding-y, .25rem) var(--avc-tag-padding-x, .5rem); border-radius: var(--avc-tag-radius, 999px); color: var(--avc-primary); background: var(--avc-surface-alt); font-size: var(--avc-tag-size, .75rem); font-weight: var(--avc-weight-semibold, 600); }.avc-service-card__link { display: inline-flex; align-items: center; gap: var(--avc-link-gap, .35rem); width: fit-content; margin-top: auto; color: var(--avc-primary); font-size: var(--avc-text-sm, .875rem); font-weight: var(--avc-weight-semibold, 600); text-decoration: none; transition: color var(--avc-transition, .35s ease), gap var(--avc-transition, .35s ease); }.avc-service-card__link:hover { gap: var(--avc-link-gap-hover, .65rem); color: var(--avc-accent); }
@keyframes avc-service-card-in { from { opacity: var(--avc-enter-opacity, 0); transform: translateY(var(--avc-enter-offset, .75rem)); } to { opacity: var(--avc-enter-opacity-final, 1); transform: translateY(0); } }
@media (min-width: 42rem) { .avc-services__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 64rem) { .avc-services__container { grid-template-columns: minmax(0, 1fr) minmax(0, 3fr); gap: var(--avc-services-column-gap, 4rem); }.avc-services__intro { position: sticky; top: var(--avc-services-sticky-top, 7rem); align-self: start; }.avc-services__filters { display: grid; gap: var(--avc-filter-gap, .25rem); }.avc-services__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (prefers-reduced-motion: reduce) { .avc-services__filter, .avc-service-card, .avc-service-card__link { transition: none; }.avc-service-card--entering { animation: none; } }
