/**
 * NHR Services Archive v2 — S4.2.
 * Commercial / conversion-first archive isolated from Blog and Resource UI.
 */

.nhr-services-archive {
    --service-primary: #605DBA;
    --service-primary-strong: #514ea9;
    --service-primary-soft: #f3f1ff;
    --service-teal: #4ECDC4;
    --service-navy: #0f172a;
    --service-text: #1e293b;
    --service-muted: #667085;
    --service-line: #e5e7ef;
    --service-surface: #f8f9fc;
    min-height: 100vh;
    color: var(--service-text);
    /* S4.2: carry the Featured surface underneath the floating dock so the
       Hero -> Dock -> Featured composition has no white bridge. */
    background: var(--service-surface);
}

/* ============================================================
   S4 — Resources-aligned dark Services hero
============================================================ */
.nhr-services-hero {
    --service-hero-bg: #0d0b21;
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: 9rem 0 6.25rem;
    color: #fff;
    background:
        radial-gradient(circle at 16% 16%, rgba(96, 93, 186, .30), transparent 33%),
        radial-gradient(circle at 91% 72%, rgba(78, 205, 196, .18), transparent 30%),
        radial-gradient(circle at 72% 20%, rgba(123, 104, 238, .12), transparent 34%),
        var(--service-hero-bg);
}

.nhr-services-hero__grid {
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    opacity: .75;
    background-image:
        linear-gradient(rgba(255, 255, 255, .045) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, .045) 1px, transparent 1px);
    background-size: 54px 54px;
    -webkit-mask-image: radial-gradient(ellipse 92% 86% at 50% 44%, #000 25%, transparent 100%);
    mask-image: radial-gradient(ellipse 92% 86% at 50% 44%, #000 25%, transparent 100%);
}

.nhr-services-hero__grid::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 87% 72%, rgba(42, 181, 165, .17) 0 1px, transparent 2px) 0 0 / 24px 24px,
        linear-gradient(118deg, transparent 55%, rgba(96, 93, 186, .10) 73%, rgba(78, 205, 196, .11) 100%);
    opacity: .65;
}

.nhr-services-hero__layout {
    max-width: 74rem;
    margin: 0 auto;
}

.nhr-services-hero__content {
    max-width: 49rem;
    min-width: 0;
}

.rtl .nhr-services-hero__content {
    margin-left: auto;
    margin-right: 0;
    text-align: right;
}

.nhr-services-hero__title {
    max-width: 17ch;
    margin: 0 0 1.25rem;
    color: #fff;
    font-size: clamp(2.55rem, 4.2vw, 4.35rem);
    line-height: 1.04;
    font-weight: 880;
    letter-spacing: -.045em;
    text-wrap: balance;
}

.rtl .nhr-services-hero__title {
    max-width: 16ch;
    font-size: clamp(2.5rem, 4vw, 4.05rem);
    line-height: 1.35;
    letter-spacing: 0;
}

.nhr-services-hero__copy {
    max-width: 44rem;
    margin: 0;
    color: rgba(255, 255, 255, .70);
    font-size: clamp(1rem, 1.15vw, 1.12rem);
    line-height: 1.8;
}

.rtl .nhr-services-hero__copy {
    line-height: 2;
}

.nhr-services-hero__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .75rem 1rem;
    margin-top: 1.55rem;
    color: rgba(255, 255, 255, .78);
    font-size: .88rem;
    font-weight: 700;
}

.nhr-services-hero__stat {
    display: inline-flex;
    align-items: center;
    gap: .48rem;
    white-space: nowrap;
}

.nhr-services-hero__stat i {
    color: var(--service-teal);
    font-size: .9rem;
}

/* ============================================================
   S4.1 — Floating taxonomy navigation aligned to Blog UI v2
============================================================ */
.nhr-services-nav {
    --nhr-services-dock-overlap: 2.15rem;
    position: sticky;
    top: 88px;
    z-index: 35;
    margin-top: calc(-1 * var(--nhr-services-dock-overlap));
    background: transparent;
}

/* S4.3: paint the surface behind the lower half of the floating dock.
   The dock starts inside the Hero, so only the area below the Hero edge gets
   the next section's surface. This removes the full-width bridge/gutter that
   was visible to the left and right of the dock. */
.nhr-services-nav::before {
    content: "";
    position: absolute;
    z-index: 0;
    top: var(--nhr-services-dock-overlap);
    right: 0;
    bottom: 0;
    left: 0;
    pointer-events: none;
}

.nhr-services-nav--featured::before {
    background:
        radial-gradient(circle at 10% 12%, rgba(96, 93, 186, .055), transparent 23%),
        linear-gradient(180deg, #fbfbfe 0%, #f8f9fc 100%);
}

.rtl .nhr-services-nav--featured::before,
html[dir="rtl"] .nhr-services-nav--featured::before {
    background:
        radial-gradient(circle at 90% 12%, rgba(96, 93, 186, .055), transparent 23%),
        linear-gradient(180deg, #fbfbfe 0%, #f8f9fc 100%);
}

.nhr-services-nav--results::before {
    background: #fff;
}

.nhr-services-nav > .container {
    position: relative;
    z-index: 1;
}

.admin-bar .nhr-services-nav {
    top: 120px;
}

.nhr-services-nav__viewport {
    position: relative;
    max-width: 74rem;
    min-width: 0;
    margin: 0 auto;
    overflow: hidden;
    border: 1px solid rgba(226, 232, 240, .92);
    border-radius: 1rem;
    background: rgba(255, 255, 255, .97);
    box-shadow: 0 16px 42px rgba(15, 23, 42, .12);
    -webkit-backdrop-filter: blur(16px);
    backdrop-filter: blur(16px);
}

.nhr-services-nav__scroller {
    display: flex;
    align-items: stretch;
    justify-content: flex-start;
    width: 100%;
    min-width: 0;
    padding-inline: .5rem 1.15rem;
    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior-inline: contain;
    scroll-snap-type: x proximity;
    scroll-padding-inline: 1.25rem;
    scrollbar-width: none;
    -ms-overflow-style: none;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-x;
}

.rtl .nhr-services-nav__scroller,
html[dir="rtl"] .nhr-services-nav__scroller {
    direction: rtl;
}

.nhr-services-nav__scroller::-webkit-scrollbar {
    display: none;
}

.nhr-services-nav__item {
    position: relative;
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    gap: .68rem;
    min-width: max-content;
    min-height: 4.15rem;
    padding: .72rem 1.08rem;
    border-inline-end: 1px solid #edf0f5;
    color: #526071;
    font-size: .86rem;
    line-height: 1.25;
    font-weight: 720;
    text-align: center;
    text-decoration: none;
    white-space: nowrap;
    scroll-snap-align: start;
    transition: color .2s ease, background-color .2s ease;
}

.nhr-services-nav__item:last-child {
    border-inline-end: 0;
}

.nhr-services-nav__item::after {
    content: "";
    position: absolute;
    inset-inline: 22%;
    bottom: 0;
    height: 3px;
    border-radius: 999px 999px 0 0;
    background: linear-gradient(90deg, #605DBA, #7b68ee);
    opacity: 0;
    transform: scaleX(.55);
    transform-origin: center;
    transition: opacity .2s ease, transform .2s ease;
}

.nhr-services-nav__icon {
    width: 2rem;
    height: 2rem;
    flex: 0 0 2rem;
    display: inline-grid;
    place-items: center;
    border: 1px solid #ececf4;
    border-radius: .68rem;
    background: #f8f8fc;
    color: #697386;
    font-size: .9rem;
    transition: color .2s ease, background-color .2s ease, border-color .2s ease, transform .2s ease;
}

.nhr-services-nav__count {
    display: inline-grid;
    place-items: center;
    min-width: 1.45rem;
    height: 1.45rem;
    padding: 0 .34rem;
    border-radius: 999px;
    background: #f2f3f8;
    color: #667085;
    font-size: .64rem;
    line-height: 1;
    font-weight: 850;
}

.nhr-services-nav__item:hover {
    color: #292f3d;
    background: linear-gradient(180deg, rgba(96, 93, 186, .035), rgba(78, 205, 196, .018));
}

.nhr-services-nav__item:hover .nhr-services-nav__icon {
    color: #2ab5a5;
    border-color: rgba(42, 181, 165, .22);
    background: rgba(78, 205, 196, .075);
    transform: translateY(-1px);
}

.nhr-services-nav__item.is-active {
    color: #4b4899;
    font-weight: 820;
    background: linear-gradient(180deg, rgba(96, 93, 186, .06), rgba(96, 93, 186, .018));
}

.nhr-services-nav__item.is-active::after {
    opacity: 1;
    transform: scaleX(1);
}

.nhr-services-nav__item.is-active .nhr-services-nav__icon {
    color: #605DBA;
    border-color: rgba(96, 93, 186, .20);
    background: rgba(96, 93, 186, .105);
}

.nhr-services-nav__item.is-active .nhr-services-nav__count {
    background: rgba(96, 93, 186, .10);
    color: #4b4899;
}

.nhr-services-nav__item:focus-visible {
    z-index: 5;
    outline: 3px solid #4ECDC4;
    outline-offset: -3px;
}

.rtl .nhr-services-nav__item {
    font-size: .91rem;
    line-height: 1.7;
    font-weight: 740;
}

/* ============================================================
   Featured Service
============================================================ */
.nhr-services-featured {
    padding: clamp(3.3rem, 5vw, 4.75rem) 0 clamp(3.5rem, 5.5vw, 5.1rem);
    border-bottom: 1px solid #eceef5;
    background:
        radial-gradient(circle at 10% 12%, rgba(96, 93, 186, .055), transparent 23%),
        linear-gradient(180deg, #fbfbfe 0%, #f8f9fc 100%);
}

.rtl .nhr-services-featured {
    background:
        radial-gradient(circle at 90% 12%, rgba(96, 93, 186, .055), transparent 23%),
        linear-gradient(180deg, #fbfbfe 0%, #f8f9fc 100%);
}

.nhr-services-featured > .container,
.nhr-services-results > .container {
    max-width: 78rem;
}

.nhr-service-featured-card {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(22rem, .92fr);
    max-width: 74rem;
    min-height: 21rem;
    margin: 0 auto;
    overflow: hidden;
    border: 1px solid #e2e4ee;
    border-radius: 1.35rem;
    background:
        radial-gradient(circle at 94% 13%, rgba(96, 93, 186, .07), transparent 29%),
        #fff;
    box-shadow: 0 28px 70px -48px rgba(15, 23, 42, .5);
    transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}

.rtl .nhr-service-featured-card {
    grid-template-columns: minmax(0, 1.15fr) minmax(22rem, .92fr);
}

.nhr-service-featured-card:hover {
    transform: translateY(-3px);
    border-color: rgba(96, 93, 186, .22);
    box-shadow: 0 34px 82px -50px rgba(15, 23, 42, .56);
}

.nhr-service-featured-card__body {
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: clamp(1.6rem, 3vw, 2.55rem);
}

.nhr-service-featured-card__topline {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    margin-bottom: 1.05rem;
}

.nhr-service-featured-card__eyebrow,
.nhr-service-featured-card__category {
    display: inline-flex;
    align-items: center;
    min-height: 1.85rem;
    border-radius: 999px;
    font-size: .65rem;
    line-height: 1.2;
    font-weight: 850;
}

.nhr-service-featured-card__eyebrow {
    gap: .4rem;
    color: var(--service-primary);
    letter-spacing: .11em;
    text-transform: uppercase;
}

.rtl .nhr-service-featured-card__eyebrow {
    font-size: .74rem;
    line-height: 1.6;
    letter-spacing: 0;
    text-transform: none;
}

.nhr-service-featured-card__category {
    padding: .36rem .65rem;
    border: 1px solid rgba(96, 93, 186, .13);
    background: rgba(96, 93, 186, .075);
    color: var(--service-primary-strong);
}

.nhr-service-featured-card__category--microsoft {
    border-color: rgba(22, 149, 135, .14);
    background: rgba(78, 205, 196, .09);
    color: #167d74;
}

.nhr-service-featured-card__title {
    max-width: 27ch;
    margin: 0;
    color: #172033;
    font-size: clamp(1.6rem, 2.55vw, 2.25rem);
    line-height: 1.22;
    font-weight: 880;
    letter-spacing: -.035em;
    text-wrap: balance;
}

.rtl .nhr-service-featured-card__title {
    max-width: 29ch;
    line-height: 1.55;
    letter-spacing: 0;
}

.nhr-service-featured-card__title a {
    color: inherit;
    text-decoration: none;
}

.nhr-service-featured-card__title a:hover {
    color: var(--service-primary);
}

.nhr-service-featured-card__excerpt {
    max-width: 41rem;
    margin: .9rem 0 1.05rem;
    color: #667085;
    font-size: .88rem;
    line-height: 1.82;
}

.rtl .nhr-service-featured-card__excerpt {
    line-height: 2.05;
}

.nhr-service-featured-card__price {
    min-height: 2rem;
    margin-top: auto;
    margin-bottom: 1rem;
    color: var(--service-navy);
    font-size: 1.35rem;
    font-weight: 860;
}

.nhr-service-featured-card__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .55rem;
    width: fit-content;
    min-height: 2.85rem;
    padding: .72rem 1.1rem;
    border-radius: .75rem;
    background: var(--service-primary);
    color: #fff;
    font-size: .8rem;
    font-weight: 820;
    text-decoration: none;
    box-shadow: 0 14px 30px -18px rgba(96, 93, 186, .8);
    transition: background-color .2s ease, transform .2s ease;
}

.nhr-service-featured-card__button:hover {
    background: var(--service-primary-strong);
    color: #fff;
    transform: translateY(-1px);
}

.nhr-service-featured-card__media {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    padding: 1.25rem;
    overflow: hidden;
    border-inline-start: 1px solid #eceef5;
    background:
        radial-gradient(circle at 64% 32%, rgba(96, 93, 186, .15), transparent 33%),
        linear-gradient(145deg, #fafafe 0%, #f4f5fb 100%);
    text-decoration: none;
}

.rtl .nhr-service-featured-card__media {
    background:
        radial-gradient(circle at 36% 32%, rgba(96, 93, 186, .15), transparent 33%),
        linear-gradient(215deg, #fafafe 0%, #f4f5fb 100%);
}

.nhr-service-featured-card__image {
    display: block;
    width: 100%;
    height: 100%;
    max-height: 19rem;
    object-fit: contain;
    transition: transform .3s ease;
}

.nhr-service-featured-card:hover .nhr-service-featured-card__image {
    transform: scale(1.018);
}

.nhr-service-featured-card__fallback {
    display: grid;
    place-items: center;
    width: 7rem;
    height: 7rem;
    border: 1px solid rgba(96, 93, 186, .14);
    border-radius: 1.75rem;
    background: rgba(255, 255, 255, .95);
    color: rgba(96, 93, 186, .78);
    font-size: 2.8rem;
}

/* ============================================================
   Services Grid
============================================================ */
.nhr-services-results {
    scroll-margin-top: 6rem;
    padding: clamp(4rem, 6vw, 5.6rem) 0 clamp(4.8rem, 7vw, 6.5rem);
    background: #fff;
}

.nhr-services-results--after-featured {
    padding-top: clamp(4rem, 6vw, 5.6rem);
}

.nhr-services-results__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    max-width: 74rem;
    margin: 0 auto 1.45rem;
}

.nhr-services-results__title {
    margin: 0;
    color: var(--service-navy);
    font-size: clamp(1.65rem, 2.35vw, 2.1rem);
    line-height: 1.2;
    font-weight: 860;
    letter-spacing: -.028em;
}

.rtl .nhr-services-results__title {
    line-height: 1.55;
    letter-spacing: 0;
}

.nhr-services-results__reset {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    color: var(--service-primary);
    font-size: .76rem;
    font-weight: 800;
    text-decoration: none;
}

.nhr-services-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.25rem;
    max-width: 74rem;
    margin: 0 auto;
}

.nhr-service-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--service-line);
    border-radius: 1.05rem;
    background: #fff;
    box-shadow: 0 18px 45px -38px rgba(15, 23, 42, .45);
    transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.nhr-service-card:hover {
    transform: translateY(-3px);
    border-color: rgba(96, 93, 186, .22);
    box-shadow: 0 28px 60px -40px rgba(15, 23, 42, .54);
}

.nhr-service-card__media {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    aspect-ratio: 16 / 9;
    padding: .55rem;
    overflow: hidden;
    border-bottom: 1px solid #eceef5;
    background:
        radial-gradient(circle at 82% 16%, rgba(96, 93, 186, .08), transparent 34%),
        linear-gradient(145deg, #fafafe 0%, #f4f6fa 100%);
    text-decoration: none;
}

.rtl .nhr-service-card__media {
    background:
        radial-gradient(circle at 18% 16%, rgba(96, 93, 186, .08), transparent 34%),
        linear-gradient(215deg, #fafafe 0%, #f4f6fa 100%);
}

.nhr-service-card__image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    transition: transform .28s ease;
}

.nhr-service-card:hover .nhr-service-card__image {
    transform: scale(1.018);
}

.nhr-service-card__fallback {
    display: grid;
    place-items: center;
    width: 5rem;
    height: 5rem;
    border: 1px solid rgba(96, 93, 186, .14);
    border-radius: 1.3rem;
    background: rgba(255, 255, 255, .92);
    color: rgba(96, 93, 186, .72);
    font-size: 2rem;
}

.nhr-service-card__body {
    display: flex;
    flex: 1;
    flex-direction: column;
    min-width: 0;
    padding: 1.08rem 1.16rem 1.18rem;
}

.nhr-service-card__category {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    min-height: 1.7rem;
    margin-bottom: .76rem;
    padding: .32rem .58rem;
    border: 1px solid rgba(96, 93, 186, .13);
    border-radius: 999px;
    background: rgba(96, 93, 186, .075);
    color: var(--service-primary-strong);
    font-size: .63rem;
    line-height: 1.25;
    font-weight: 850;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.nhr-service-card__category--microsoft {
    border-color: rgba(22, 149, 135, .14);
    background: rgba(78, 205, 196, .09);
    color: #167d74;
}

.rtl .nhr-service-card__category {
    font-size: .72rem;
    line-height: 1.55;
    letter-spacing: 0;
    text-transform: none;
}

.nhr-service-card__title {
    margin: 0;
    color: #172033;
    font-size: 1.04rem;
    line-height: 1.48;
    font-weight: 830;
    letter-spacing: -.014em;
}

.rtl .nhr-service-card__title {
    font-size: 1.04rem;
    line-height: 1.78;
    letter-spacing: 0;
}

.nhr-service-card__title a {
    color: inherit;
    text-decoration: none;
}

.nhr-service-card__title a:hover {
    color: var(--service-primary);
}

.nhr-service-card__excerpt {
    margin: .62rem 0 .95rem;
    color: #697386;
    font-size: .78rem;
    line-height: 1.73;
}

.rtl .nhr-service-card__excerpt {
    line-height: 1.95;
}

.nhr-service-card__price {
    min-height: 1.6rem;
    margin-top: auto;
    margin-bottom: .7rem;
    color: var(--service-primary-strong);
    font-size: .88rem;
    font-weight: 850;
}

.nhr-service-card__link {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    width: fit-content;
    margin-top: auto;
    color: var(--service-primary);
    font-size: .78rem;
    line-height: 1.35;
    font-weight: 820;
    text-decoration: none;
}

.rtl .nhr-service-card__link {
    line-height: 1.7;
}

.nhr-service-card__link i,
.nhr-service-featured-card__button i,
.nhr-services-conversion__button i {
    font-size: .72rem;
    transition: transform .2s ease;
}

.nhr-service-card__link:hover i,
.nhr-service-featured-card__button:hover i,
.nhr-services-conversion__button:hover i {
    transform: translateX(.18rem);
}

.rtl .nhr-service-card__link:hover i,
.rtl .nhr-service-featured-card__button:hover i,
.rtl .nhr-services-conversion__button:hover i {
    transform: translateX(-.18rem);
}

/* Service price / Saudi Riyal symbol */
.nhr-services-archive .nhr-service-price,
.nhr-services-archive .nhr-service-price-amount {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
}

.nhr-services-archive .nhr-service-price--starting {
    flex-wrap: wrap;
}

/* Arabic pricing keeps the numeric token intact and places the new Saudi Riyal
   mark after the amount visually. English keeps the mark before the amount. */
.nhr-services-archive .nhr-service-price-amount--sar-ar,
.nhr-services-archive .nhr-service-price-amount--sar-en {
    direction: ltr;
    unicode-bidi: isolate;
    white-space: nowrap;
}

.rtl .nhr-services-archive .nhr-service-price-amount--sar-ar {
    flex-direction: row;
}

.nhr-services-archive .nhr-service-price-prefix {
    color: #687286;
    font-size: .78em;
    font-weight: 780;
}

.nhr-services-archive .nhr-riyal-symbol {
    display: inline-block;
    width: .92em;
    height: 1.02em;
    object-fit: contain;
    vertical-align: -.08em;
}

.nhr-services-archive .nhr-riyal-fallback {
    font-size: .82em;
    white-space: nowrap;
}

/* Pagination */
.nhr-services-pagination {
    max-width: 74rem;
    margin: 2.5rem auto 0;
}

.nhr-services-pagination ul.page-numbers {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: .45rem;
    margin: 0;
    padding: 0;
}

.nhr-services-pagination .page-numbers li { margin: 0; }

.nhr-services-pagination a,
.nhr-services-pagination span.page-numbers {
    display: grid;
    place-items: center;
    min-width: 2.35rem;
    height: 2.35rem;
    padding: 0 .65rem;
    border: 1px solid #e1e4ec;
    border-radius: .68rem;
    background: #fff;
    color: #4b5568;
    font-size: .76rem;
    font-weight: 750;
    text-decoration: none;
}

.nhr-services-pagination a:hover {
    border-color: rgba(96, 93, 186, .28);
    background: #faf9ff;
    color: var(--service-primary);
}

.nhr-services-pagination span.current {
    border-color: var(--service-primary);
    background: var(--service-primary);
    color: #fff;
}

/* Empty state */
.nhr-services-empty {
    max-width: 40rem;
    margin: 1.5rem auto 0;
    padding: 3.2rem 2rem;
    border: 1px solid #e7e9f1;
    border-radius: 1.2rem;
    background: #fafafe;
    text-align: center;
}

.nhr-services-empty__icon {
    display: grid;
    place-items: center;
    width: 4rem;
    height: 4rem;
    margin: 0 auto 1.15rem;
    border: 1px solid rgba(96, 93, 186, .13);
    border-radius: 1rem;
    background: #fff;
    color: var(--service-primary);
    font-size: 1.6rem;
}

.nhr-services-empty h2 {
    margin: 0;
    color: var(--service-navy);
    font-size: 1.35rem;
    font-weight: 830;
}

.nhr-services-empty p {
    margin: .7rem auto 0;
    color: #687286;
    font-size: .9rem;
    line-height: 1.8;
}

.nhr-services-empty__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.7rem;
    margin-top: 1.2rem;
    padding: .68rem 1rem;
    border-radius: .72rem;
    background: var(--service-primary);
    color: #fff;
    font-size: .8rem;
    font-weight: 800;
    text-decoration: none;
}

/* ============================================================
   Focused Services conversion CTA
============================================================ */
.nhr-services-conversion {
    padding: 1.55rem 0 clamp(4.7rem, 7vw, 6.5rem);
    background: #fff;
}

.nhr-services-conversion__card {
    position: relative;
    isolation: isolate;
    display: grid;
    grid-template-columns: minmax(14rem, .9fr) minmax(0, 1.5fr) auto;
    align-items: center;
    gap: clamp(1.4rem, 3vw, 2.8rem);
    max-width: 72rem;
    min-height: 10.8rem;
    margin: 0 auto;
    padding: clamp(1.5rem, 2.8vw, 2.25rem);
    overflow: hidden;
    border: 1px solid #e2e2f3;
    border-radius: 1.4rem;
    background:
        radial-gradient(circle at 10% 44%, rgba(96, 93, 186, .13), transparent 27%),
        radial-gradient(circle at 90% 34%, rgba(78, 205, 196, .09), transparent 28%),
        linear-gradient(115deg, #faf9ff 0%, #f7f7fd 53%, #f4f8fb 100%);
    box-shadow: 0 24px 70px -48px rgba(96, 93, 186, .45);
}

.rtl .nhr-services-conversion__card {
    background:
        radial-gradient(circle at 90% 44%, rgba(96, 93, 186, .13), transparent 27%),
        radial-gradient(circle at 10% 34%, rgba(78, 205, 196, .09), transparent 28%),
        linear-gradient(245deg, #faf9ff 0%, #f7f7fd 53%, #f4f8fb 100%);
}

.nhr-services-conversion__visual {
    position: relative;
    min-height: 6.5rem;
}

.nhr-services-conversion__node {
    position: absolute;
    display: inline-flex;
    align-items: center;
    gap: .38rem;
    min-height: 2rem;
    padding: .42rem .62rem;
    border: 1px solid rgba(96, 93, 186, .13);
    border-radius: .65rem;
    background: rgba(255, 255, 255, .94);
    color: #515b70;
    font-size: .68rem;
    font-weight: 800;
    box-shadow: 0 14px 30px -24px rgba(15, 23, 42, .5);
}

.nhr-services-conversion__node i { color: var(--service-primary); }
.nhr-services-conversion__node--assess { inset-inline-start: 0; top: .35rem; }
.nhr-services-conversion__node--implement { inset-inline-start: 4rem; top: 2.5rem; background: var(--service-primary); color: #fff; }
.nhr-services-conversion__node--implement i { color: #fff; }
.nhr-services-conversion__node--strengthen { inset-inline-start: 8rem; top: 4.65rem; color: #167d74; }
.nhr-services-conversion__node--strengthen i { color: #167d74; }

.nhr-services-conversion__line {
    position: absolute;
    inset-inline-start: 1.4rem;
    top: 1.85rem;
    width: 9rem;
    height: 4rem;
    border-inline-start: 1px dashed rgba(96, 93, 186, .28);
    border-bottom: 1px dashed rgba(96, 93, 186, .28);
    border-radius: 0 0 0 1.5rem;
}

.rtl .nhr-services-conversion__line {
    border-inline-start: 1px dashed rgba(96, 93, 186, .28);
    border-radius: 0 0 1.5rem 0;
}

.nhr-services-conversion__title {
    margin: 0;
    color: var(--service-navy);
    font-size: clamp(1.45rem, 2.25vw, 2rem);
    line-height: 1.2;
    font-weight: 870;
    letter-spacing: -.03em;
}

.rtl .nhr-services-conversion__title {
    line-height: 1.55;
    letter-spacing: 0;
}

.nhr-services-conversion__copy {
    max-width: 40rem;
    margin: .65rem 0 0;
    color: #687286;
    font-size: .86rem;
    line-height: 1.78;
}

.rtl .nhr-services-conversion__copy { line-height: 2; }

.nhr-services-conversion__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .55rem;
    min-height: 2.85rem;
    padding: .72rem 1.1rem;
    border-radius: .75rem;
    background: var(--service-primary);
    color: #fff;
    font-size: .8rem;
    font-weight: 820;
    text-decoration: none;
    white-space: nowrap;
    box-shadow: 0 14px 30px -18px rgba(96, 93, 186, .8);
}

.nhr-services-conversion__button:hover {
    background: var(--service-primary-strong);
    color: #fff;
}

/* Shared trust gets Services-specific outer rhythm only; visual source remains shared. */
.nhr-services-archive .nhr-blog-trust {
    padding-top: clamp(1rem, 2vw, 1.6rem);
}

/* ============================================================
   Accessibility / responsive behavior
============================================================ */
.nhr-services-archive a:focus-visible {
    outline: 3px solid rgba(96, 93, 186, .35);
    outline-offset: 3px;
    border-radius: .35rem;
}

@media (max-width: 1023px) {
    .nhr-services-hero { padding: 8rem 0 5.75rem; }
    .nhr-service-featured-card,
    .rtl .nhr-service-featured-card { grid-template-columns: 1fr 1fr; }
    .nhr-services-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .nhr-services-conversion__card { grid-template-columns: minmax(12rem, .8fr) minmax(0, 1.3fr); }
    .nhr-services-conversion__action { grid-column: 2; }
}

@media (max-width: 782px) {
    .admin-bar .nhr-services-nav { top: 134px; }
}

@media (max-width: 767px) {
    .nhr-services-hero { padding: 7rem 0 5.25rem; }
    .nhr-services-hero__title { font-size: clamp(2.35rem, 12vw, 3.35rem); }
    .nhr-services-nav { --nhr-services-dock-overlap: 1.45rem; }
    .nhr-services-nav__viewport {
        border-radius: .9rem;
        box-shadow: 0 12px 30px rgba(15, 23, 42, .10);
    }
    .nhr-services-nav__scroller {
        padding-inline: .25rem .8rem;
    }
    .nhr-services-nav__item {
        min-height: 3.75rem;
        padding: .65rem .9rem;
    }
    .nhr-service-featured-card,
    .rtl .nhr-service-featured-card { grid-template-columns: 1fr; }
    .nhr-service-featured-card__media {
        grid-row: 1;
        min-height: 15rem;
        border-inline-start: 0;
        border-bottom: 1px solid #eceef5;
    }
    .nhr-service-featured-card__body { grid-row: 2; }
    .nhr-services-results { padding-bottom: 4.5rem; }
    .nhr-services-results__header { align-items: flex-start; }
    .nhr-services-grid { grid-template-columns: 1fr; }
    .nhr-services-conversion__card {
        grid-template-columns: 1fr;
        gap: 1.15rem;
    }
    .nhr-services-conversion__visual { min-height: 6.2rem; }
    .nhr-services-conversion__action { grid-column: 1; }
}

@media (max-width: 479px) {
    .nhr-services-hero { padding-top: 6.35rem; }
    .nhr-services-featured { padding: 3.15rem 0 3.75rem; }
    .nhr-service-featured-card__body { padding: 1.35rem; }
    .nhr-service-featured-card__title { font-size: 1.55rem; }
    .nhr-services-results__header { flex-direction: column; }
    .nhr-service-card__body { padding: 1rem; }
    .nhr-services-conversion { padding-bottom: 4.3rem; }
}

@media (prefers-reduced-motion: reduce) {
    .nhr-services-archive *,
    .nhr-services-archive *::before,
    .nhr-services-archive *::after {
        scroll-behavior: auto !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }
}
