.buildpress-gjc-services-directory { --gjc-services-ink: var(--e-global-color-primary, #050505); --gjc-services-paper: var(--e-global-color-900224d, #ffffff); --gjc-services-text: var(--e-global-color-text, #333333); --gjc-services-line: color-mix(in srgb, var(--gjc-services-ink) 10%, transparent); --gjc-services-soft: color-mix(in srgb, var(--gjc-services-ink) 5%, var(--gjc-services-paper)); padding: 1rem 1rem 7rem; color: var(--gjc-services-ink); background: var(--gjc-services-paper); }
.buildpress-gjc-services-directory .buildpress-gjc-services-directory__inner { width: min(100%, 75rem); margin-inline: auto; }
.buildpress-gjc-services-directory .buildpress-gjc-services-directory__list { border-top: 0; }
.buildpress-gjc-services-directory .buildpress-gjc-services-directory__item { --gjc-services-tone: var(--e-global-color-tonecyan, #2bb7d0); --gjc-services-tone-ink: var(--e-global-color-tonecyandk, #0e7c9b); --gjc-services-tint: color-mix(in srgb, var(--gjc-services-tone) 15%, var(--gjc-services-paper)); --gjc-services-tint-border: color-mix(in srgb, var(--gjc-services-tone) 26%, transparent); min-width: 0; position: relative; }
.buildpress-gjc-services-directory .buildpress-gjc-services-directory__item::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent 0%, var(--gjc-services-line) 15%, var(--gjc-services-line) 85%, transparent 100%);
    pointer-events: none;
}

.buildpress-gjc-services-directory .buildpress-gjc-services-directory__item--cyan { --gjc-services-tone: var(--e-global-color-tonecyan, #2bb7d0); --gjc-services-tone-ink: var(--e-global-color-tonecyandk, #0e7c9b); }
.buildpress-gjc-services-directory .buildpress-gjc-services-directory__item--lime { --gjc-services-tone: var(--e-global-color-tonelime, #2bb56b); --gjc-services-tone-ink: var(--e-global-color-tonelimedk, #15803d); }
.buildpress-gjc-services-directory .buildpress-gjc-services-directory__item--orange { --gjc-services-tone: var(--e-global-color-toneorange, #f2762b); --gjc-services-tone-ink: var(--e-global-color-toneorangedk, #c2410c); }
.buildpress-gjc-services-directory .buildpress-gjc-services-directory__item--blue { --gjc-services-tone: var(--e-global-color-toneblue, #5b9bff); --gjc-services-tone-ink: var(--e-global-color-tonebluedk, #1d4ed8); }
.buildpress-gjc-services-directory .buildpress-gjc-services-directory__item--violet { --gjc-services-tone: var(--e-global-color-toneviolet, #a07bff); --gjc-services-tone-ink: var(--e-global-color-tonevioletdk, #7c3aed); }
.buildpress-gjc-services-directory .buildpress-gjc-services-directory__item--pink { --gjc-services-tone: var(--e-global-color-accent, #e3185c); --gjc-services-tone-ink: var(--e-global-color-tonepinkdk, #c10b45); }
.buildpress-gjc-services-directory .buildpress-gjc-services-directory__item--green { --gjc-services-tone: var(--e-global-color-tonegreen, #1fae9c); --gjc-services-tone-ink: var(--e-global-color-tonegreendk, #0f766e); }
.buildpress-gjc-services-directory .buildpress-gjc-services-directory__item--gold { --gjc-services-tone: var(--e-global-color-tonegold, #e69a2e); --gjc-services-tone-ink: var(--e-global-color-tonegolddk, #b45309); }
.buildpress-gjc-services-directory .buildpress-gjc-services-directory__item--coral { --gjc-services-tone: var(--e-global-color-tonecoral, #f0456e); --gjc-services-tone-ink: var(--e-global-color-tonecoraldk, #be123c); }
.buildpress-gjc-services-directory .buildpress-gjc-services-directory__card { position: relative; display: grid; grid-template-columns: 3.25rem minmax(0, 1fr) minmax(15rem, 0.72fr) 2.5rem; gap: 1.25rem; align-items: center; min-height: 8.125rem; padding: 1.1rem 0.5rem; color: var(--gjc-services-ink); text-decoration: none; }
.buildpress-gjc-services-directory a.buildpress-gjc-services-directory__card { transition: padding 180ms ease; }
.buildpress-gjc-services-directory a.buildpress-gjc-services-directory__card:hover, .buildpress-gjc-services-directory a.buildpress-gjc-services-directory__card:focus-visible { padding-right: 0; padding-left: 1rem; outline: none; }
.buildpress-gjc-services-directory a.buildpress-gjc-services-directory__card:focus-visible { box-shadow: inset 0 0 0 0.125rem var(--gjc-services-tone-ink); }
.buildpress-gjc-services-directory .buildpress-gjc-services-directory__card::before { position: absolute; top: 50%; left: 0; width: 0.2rem; height: 0; background: var(--gjc-services-tone); content: ""; transition: height 180ms ease, transform 180ms ease; transform: translateY(-50%); }
.buildpress-gjc-services-directory a.buildpress-gjc-services-directory__card:hover::before, .buildpress-gjc-services-directory a.buildpress-gjc-services-directory__card:focus-visible::before { height: 3.125rem; }
.buildpress-gjc-services-directory .buildpress-gjc-services-directory__mark { display: grid; place-items: center; width: 3.25rem; height: 3.25rem; color: var(--gjc-services-tone-ink); background: var(--gjc-services-tint); border: 1px solid var(--gjc-services-tint-border); border-radius: 50%; box-shadow: 0 0.4rem 0.9rem color-mix(in srgb, var(--gjc-services-tone) 14%, transparent); }
.buildpress-gjc-services-directory .buildpress-gjc-services-directory__mark svg { width: 1.3rem; height: 1.3rem; stroke: currentColor; }
.buildpress-gjc-services-directory .buildpress-gjc-services-directory__content { display: flex; flex-direction: column; gap: 0.35rem; min-width: 0; }
.buildpress-gjc-services-directory .buildpress-gjc-services-directory__count { color: var(--gjc-services-tone-ink); font-family: var(--e-global-typography-accent-font-family, sans-serif); font-size: 0.688rem; font-weight: 800; line-height: 1; }
.buildpress-gjc-services-directory .buildpress-gjc-services-directory__name { margin: 0; color: var(--gjc-services-ink); font-family: var(--e-global-typography-primary-font-family, sans-serif); font-size: 2.062rem; font-weight: var(--e-global-typography-primary-font-weight, 700); line-height: 1.05; letter-spacing: 0; text-wrap: balance; }
.buildpress-gjc-services-directory .buildpress-gjc-services-directory__tags { display: flex; flex-wrap: wrap; gap: 0.55rem 1rem; align-items: center; color: var(--gjc-services-text); font-family: var(--e-global-typography-accent-font-family, sans-serif); font-size: 0.814rem; font-weight: 700; line-height: 1.3; }
.buildpress-gjc-services-directory .buildpress-gjc-services-directory__tags span { display: inline-flex; gap: 0.45rem; align-items: center; }
.buildpress-gjc-services-directory .buildpress-gjc-services-directory__tags span::before { width: 0.4rem; height: 0.4rem; background: var(--gjc-services-tone-ink); border-radius: 50%; content: ""; }
.buildpress-gjc-services-directory .buildpress-gjc-services-directory__arrow { display: grid; place-items: center; width: 2.5rem; height: 2.5rem; color: var(--gjc-services-ink); background: var(--gjc-services-soft); border: 1px solid var(--gjc-services-line); border-radius: 50%; transition: color 180ms ease, background 180ms ease, border-color 180ms ease, transform 180ms ease; }
.buildpress-gjc-services-directory .buildpress-gjc-services-directory__arrow svg { width: 1rem; height: 1rem; }
.buildpress-gjc-services-directory a.buildpress-gjc-services-directory__card:hover .buildpress-gjc-services-directory__arrow, .buildpress-gjc-services-directory a.buildpress-gjc-services-directory__card:focus-visible .buildpress-gjc-services-directory__arrow { color: var(--gjc-services-paper); background: var(--gjc-services-tone); border-color: var(--gjc-services-tone); transform: translate(0.18rem, -0.18rem); }
@media (max-width: 767px) {
    .buildpress-gjc-services-directory { padding: 0.75rem 1rem 5rem; }
    .buildpress-gjc-services-directory .buildpress-gjc-services-directory__card { grid-template-columns: 3.75rem minmax(0, 1fr) 2.75rem; column-gap: 1.5rem; row-gap: 1.5rem; min-height: 10.5rem; padding-block: 1.75rem; }
    .buildpress-gjc-services-directory a.buildpress-gjc-services-directory__card:hover, .buildpress-gjc-services-directory a.buildpress-gjc-services-directory__card:focus-visible { padding-right: 0.25rem; padding-left: 0.5rem; }
    .buildpress-gjc-services-directory .buildpress-gjc-services-directory__mark { width: 3.75rem; height: 3.75rem; }
    .buildpress-gjc-services-directory .buildpress-gjc-services-directory__mark svg { width: 1.2rem; height: 1.2rem; }
    .buildpress-gjc-services-directory .buildpress-gjc-services-directory__name { font-size: 1.5rem; }
    .buildpress-gjc-services-directory .buildpress-gjc-services-directory__tags { grid-column: 2 / 4; gap: 0.7rem 1.1rem; font-size: 0.8125rem; }
    .buildpress-gjc-services-directory .buildpress-gjc-services-directory__arrow { grid-column: 3; grid-row: 1; align-self: center; width: 2.75rem; height: 2.75rem; }
    .buildpress-gjc-services-directory .buildpress-gjc-services-directory__card::before { width: 0.16rem; }
}
@media (prefers-reduced-motion: reduce) { .buildpress-gjc-services-directory a.buildpress-gjc-services-directory__card, .buildpress-gjc-services-directory .buildpress-gjc-services-directory__card::before, .buildpress-gjc-services-directory .buildpress-gjc-services-directory__arrow { transition: none; } }
