/**
 * NHR Blog UI v2 — production editorial surfaces.
 * Blog home, navigation, cards, discovery, archives and author UI.
 * Shared Trust/CTA styles live in editorial-shared.css.
 */

.nhr-blog-hero {
    --blog-hero-bg: #0d0b21;
    --blog-hero-primary: #605DBA;
    --blog-hero-primary-light: #7b68ee;
    --blog-hero-secondary: #4ECDC4;
    --blog-hero-secondary-strong: #2ab5a5;
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding-top: 9.75rem;
    padding-bottom: 5.5rem;
    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(--blog-hero-bg);
}

.nhr-blog-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-blog-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-blog-hero__layout {
    display: grid;
    grid-template-columns: minmax(0, .46fr) minmax(0, .54fr);
    gap: clamp(2.25rem, 4vw, 4.5rem);
    align-items: center;
}

.rtl .nhr-blog-hero__layout {
    /* In RTL, grid column 1 begins at the inline start (right side). */
    grid-template-columns: minmax(0, .46fr) minmax(0, .54fr);
}

.rtl .nhr-blog-hero__content {
    grid-column: 1;
    grid-row: 1;
}

.rtl .nhr-blog-hero__media {
    grid-column: 2;
    grid-row: 1;
}

.nhr-blog-hero__content {
    min-width: 0;
}

.nhr-blog-hero__eyebrow {
    margin: 0 0 1.45rem;
    color: var(--blog-hero-secondary);
    font-size: .78rem;
    line-height: 1.3;
    font-weight: 850;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.rtl .nhr-blog-hero__eyebrow {
    font-size: .9rem;
    line-height: 1.7;
    letter-spacing: 0;
    text-transform: none;
}

.nhr-blog-hero__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .75rem 1rem;
    margin-bottom: 1.8rem;
    color: rgba(255, 255, 255, .72);
    font-size: .88rem;
    font-weight: 650;
}

.nhr-blog-hero__category {
    display: inline-flex;
    align-items: center;
    max-width: 100%;
    min-height: 2.35rem;
    padding: .55rem .9rem;
    border: 1px solid rgba(143, 140, 240, .35);
    border-radius: .65rem;
    background: rgba(96, 93, 186, .42);
    color: #fff;
    line-height: 1.2;
    text-decoration: none;
    transition: background-color .2s ease, border-color .2s ease, transform .2s ease;
}

.nhr-blog-hero__category:hover {
    background: rgba(123, 104, 238, .55);
    border-color: rgba(143, 140, 240, .60);
}

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

.nhr-blog-hero__stat i {
    color: rgba(255, 255, 255, .88);
    font-size: 1rem;
}

.nhr-blog-hero__title {
    max-width: 20ch;
    margin: 0 0 1.35rem;
    color: #fff;
    font-size: clamp(2rem, 2.55vw, 2.85rem);
    line-height: 1.13;
    font-weight: 850;
    letter-spacing: -.022em;
    text-wrap: balance;
}

.rtl .nhr-blog-hero__title {
    max-width: 18ch;
    font-size: clamp(2rem, 2.5vw, 2.8rem);
    line-height: 1.42;
    letter-spacing: 0;
}

.nhr-blog-hero__title a {
    color: inherit;
    text-decoration: none;
}

.nhr-blog-hero__title a:hover {
    color: #f1f0ff;
}

.nhr-blog-hero__excerpt {
    max-width: 41rem;
    margin: 0 0 2rem;
    color: rgba(255, 255, 255, .68);
    font-size: clamp(1rem, 1.15vw, 1.12rem);
    line-height: 1.78;
}

.rtl .nhr-blog-hero__excerpt {
    line-height: 2;
}

.nhr-blog-hero__actions {
    display: flex;
    align-items: center;
}

.nhr-blog-hero__primary-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .8rem;
    min-height: 3.65rem;
    padding: .9rem 1.55rem;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: .75rem;
    color: #fff;
    background: linear-gradient(135deg, var(--blog-hero-primary), var(--blog-hero-primary-light));
    box-shadow: 0 16px 42px -18px rgba(96, 93, 186, .8);
    font-size: 1rem;
    font-weight: 800;
    text-decoration: none;
    transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}

.nhr-blog-hero__primary-cta:hover {
    transform: translateY(-2px);
    filter: brightness(1.06);
    box-shadow: 0 20px 48px -18px rgba(96, 93, 186, .95);
}

.nhr-blog-hero__media {
    min-width: 0;
}

.nhr-blog-hero__image-link {
    position: relative;
    display: block;
    overflow: hidden;
    aspect-ratio: 16 / 9;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 1.35rem;
    background: #f4f3fb;
    box-shadow:
        0 30px 70px -35px rgba(0, 0, 0, .72),
        0 0 0 1px rgba(96, 93, 186, .12),
        0 0 64px -30px rgba(78, 205, 196, .30);
}

.nhr-blog-hero__image-link::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    border-radius: inherit;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .04);
}

.nhr-blog-hero__image {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: contain;
    object-position: center center;
    transition: transform .5s cubic-bezier(.2, .7, .2, 1);
}

.nhr-blog-hero__image-link:hover .nhr-blog-hero__image {
    transform: scale(1.018);
}

.nhr-blog-hero__image-fallback {
    width: 100%;
    height: 100%;
    display: grid;
    place-items: center;
    color: rgba(255, 255, 255, .75);
    font-size: clamp(3.5rem, 8vw, 7rem);
    background:
        radial-gradient(circle at 50% 45%, rgba(78, 205, 196, .25), transparent 35%),
        linear-gradient(135deg, rgba(96, 93, 186, .45), rgba(13, 11, 33, .72));
}

.nhr-blog-hero a:focus-visible {
    outline: 3px solid var(--blog-hero-secondary);
    outline-offset: 4px;
}

@media (max-width: 1023px) {
    .nhr-blog-hero {
        padding-top: 8.25rem;
        padding-bottom: 4.25rem;
    }

    .nhr-blog-hero__layout,
    .rtl .nhr-blog-hero__layout {
        grid-template-columns: 1fr;
        gap: 2.35rem;
    }

    .nhr-blog-hero__content,
    .rtl .nhr-blog-hero__content {
        grid-column: 1;
        grid-row: 2;
    }

    .nhr-blog-hero__media,
    .rtl .nhr-blog-hero__media {
        grid-column: 1;
        grid-row: 1;
    }

    .nhr-blog-hero__title,
    .rtl .nhr-blog-hero__title {
        max-width: 22ch;
    }
}

@media (max-width: 639px) {
    .nhr-blog-hero {
        padding-top: 6.75rem;
        padding-bottom: 3.4rem;
    }

    .nhr-blog-hero__layout,
    .rtl .nhr-blog-hero__layout {
        gap: 1.75rem;
    }

    .nhr-blog-hero__image-link {
        aspect-ratio: 16 / 9;
        border-radius: 1rem;
    }

    .nhr-blog-hero__eyebrow {
        margin-bottom: 1rem;
    }

    .nhr-blog-hero__meta {
        gap: .65rem .85rem;
        margin-bottom: 1.35rem;
        font-size: .8rem;
    }

    .nhr-blog-hero__category {
        min-height: 2.1rem;
        padding: .45rem .7rem;
    }

    .nhr-blog-hero__title,
    .rtl .nhr-blog-hero__title {
        max-width: none;
        margin-bottom: 1rem;
        font-size: clamp(1.9rem, 9vw, 2.45rem);
    }

    .nhr-blog-hero__excerpt {
        margin-bottom: 1.6rem;
        font-size: .98rem;
    }

    .nhr-blog-hero__primary-cta {
        min-height: 3.35rem;
        padding: .8rem 1.25rem;
    }
}


/* ==========================================================================
   Sprint B2.3 — WordPress Category Navigation v2.3
   Compact category widths + refined overflow edge fades
   ========================================================================== */
.nhr-blog-categories {
    position: sticky;
    top: 88px;
    z-index: 35;
    margin-top: -2.15rem;
    background: transparent;
}

.admin-bar .nhr-blog-categories {
    top: 120px;
}

.nhr-blog-categories__viewport {
    position: relative;
    min-width: 0;
    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);
}

/* Edge hints are enabled only when JavaScript confirms horizontal overflow. */
.nhr-blog-categories__viewport::before,
.nhr-blog-categories__viewport::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    z-index: 4;
    width: 3.35rem;
    opacity: 0;
    pointer-events: none;
    transition: opacity .18s ease;
}

.nhr-blog-categories__viewport::before {
    inset-inline-start: 0;
}

.nhr-blog-categories__viewport::after {
    inset-inline-end: 0;
}

.nhr-blog-categories__viewport.is-overflowing:not(.is-at-start)::before,
.nhr-blog-categories__viewport.is-overflowing:not(.is-at-end)::after {
    opacity: 1;
}

/* The fade is intentionally wider on desktop so a partially visible final
   category reads as scrollable content rather than clipped text. */
.nhr-blog-categories__viewport.is-overflowing:not(.is-at-end)::after {
    box-shadow: -10px 0 18px -18px rgba(15, 23, 42, .34);
}

.rtl .nhr-blog-categories__viewport.is-overflowing:not(.is-at-end)::after,
html[dir="rtl"] .nhr-blog-categories__viewport.is-overflowing:not(.is-at-end)::after {
    box-shadow: 10px 0 18px -18px rgba(15, 23, 42, .34);
}

html:not([dir="rtl"]) .nhr-blog-categories__viewport::before,
body:not(.rtl) .nhr-blog-categories__viewport::before {
    background: linear-gradient(to right, rgba(255,255,255,.995) 12%, rgba(255,255,255,.96) 34%, rgba(255,255,255,.62) 66%, rgba(255,255,255,0));
}

html:not([dir="rtl"]) .nhr-blog-categories__viewport::after,
body:not(.rtl) .nhr-blog-categories__viewport::after {
    background: linear-gradient(to left, rgba(255,255,255,.995) 12%, rgba(255,255,255,.96) 34%, rgba(255,255,255,.62) 66%, rgba(255,255,255,0));
}

.rtl .nhr-blog-categories__viewport::before,
html[dir="rtl"] .nhr-blog-categories__viewport::before {
    background: linear-gradient(to left, rgba(255,255,255,.995) 12%, rgba(255,255,255,.96) 34%, rgba(255,255,255,.62) 66%, rgba(255,255,255,0));
}

.rtl .nhr-blog-categories__viewport::after,
html[dir="rtl"] .nhr-blog-categories__viewport::after {
    background: linear-gradient(to right, rgba(255,255,255,.995) 12%, rgba(255,255,255,.96) 34%, rgba(255,255,255,.62) 66%, rgba(255,255,255,0));
}

.nhr-blog-categories__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-blog-categories__scroller,
html[dir="rtl"] .nhr-blog-categories__scroller {
    direction: rtl;
}

.nhr-blog-categories__scroller::-webkit-scrollbar {
    display: none;
}

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

.nhr-blog-categories__item:last-child {
    border-inline-end: 0;
}

.nhr-blog-categories__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-blog-categories__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-blog-categories__item:hover {
    color: #292f3d;
    background: linear-gradient(180deg, rgba(96, 93, 186, .035), rgba(78, 205, 196, .018));
}

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

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

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

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

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

.rtl .nhr-blog-categories__item {
    font-size: .91rem;
    font-weight: 740;
}

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

@media (max-width: 639px) {
    .nhr-blog-categories {
        margin-top: -1.45rem;
    }

    .nhr-blog-categories__viewport {
        border-radius: .9rem;
        box-shadow: 0 12px 30px rgba(15, 23, 42, .10);
    }

    .nhr-blog-categories__viewport::before,
    .nhr-blog-categories__viewport::after {
        width: 2.15rem;
    }

    .nhr-blog-categories__scroller {
        padding-inline: .25rem .8rem;
        scroll-padding-inline: .9rem;
    }

    .nhr-blog-categories__item {
        min-height: 3.7rem;
        gap: .55rem;
        padding: .65rem .9rem;
        font-size: .81rem;
    }

    .rtl .nhr-blog-categories__item {
        font-size: .85rem;
    }

    .nhr-blog-categories__icon {
        width: 1.85rem;
        height: 1.85rem;
        flex-basis: 1.85rem;
        border-radius: .58rem;
        font-size: .82rem;
    }

    .nhr-blog-categories__item::after {
        inset-inline: 18%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .nhr-blog-hero__category,
    .nhr-blog-hero__primary-cta,
    .nhr-blog-hero__image,
    .nhr-blog-categories__item,
    .nhr-blog-categories__item::after,
    .nhr-blog-categories__icon {
        transition: none !important;
    }

    .nhr-blog-hero__primary-cta:hover,
    .nhr-blog-hero__image-link:hover .nhr-blog-hero__image {
        transform: none !important;
    }
}


/* ========================================================================== 
   Sprint B3 — Post Cards v2
   Shared editorial cards for home, archives, author and search surfaces.
   The visual language intentionally aligns with Article UI v1 related cards
   without making the blog listing feel like a duplicate of the article page.
   ========================================================================== */
.nhr-post-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 1.5rem;
}

.nhr-post-card {
    position: relative;
    display: flex;
    min-width: 0;
    height: 100%;
    overflow: hidden;
    flex-direction: column;
    border: 1px solid #E2E7ED;
    border-radius: 1.05rem;
    background: #FFFFFF;
    box-shadow: 0 5px 18px rgba(15, 23, 42, .045);
    transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.nhr-post-card:hover {
    transform: translateY(-3px);
    border-color: #D4D5E8;
    box-shadow: 0 16px 38px rgba(15, 23, 42, .09);
}

.nhr-post-card__media {
    position: relative;
    display: block;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    border-bottom: 1px solid #EEF1F4;
    background: #F4F3FB;
}

.nhr-post-card__image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: transform 400ms cubic-bezier(.2, .7, .2, 1);
}

.nhr-post-card:hover .nhr-post-card__image {
    transform: scale(1.025);
}

.nhr-post-card__placeholder {
    display: grid;
    width: 100%;
    height: 100%;
    place-items: center;
    color: #A9B2C0;
    font-size: 2.75rem;
    background:
        radial-gradient(circle at 72% 22%, rgba(78, 205, 196, .14), transparent 28%),
        linear-gradient(145deg, #F3F2FA, #E9EDF3);
}

.nhr-post-card__body {
    display: flex;
    flex: 1;
    min-width: 0;
    flex-direction: column;
    padding: 1.25rem 1.25rem 1.35rem;
}

.nhr-post-card__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .48rem .72rem;
    margin-block-end: .9rem;
    color: #6B7584;
    font-size: .73rem;
    font-weight: 650;
    line-height: 1.35;
}

.nhr-post-card__category {
    display: inline-flex;
    align-items: center;
    max-width: 100%;
    padding: .3rem .58rem;
    overflow: hidden;
    border-radius: 999px;
    background: #F0EFFA;
    color: #4B4899;
    font-weight: 800;
    line-height: 1.25;
    text-decoration: none;
    text-overflow: ellipsis;
    white-space: nowrap;
    transition: color 160ms ease, background-color 160ms ease;
}

.nhr-post-card__category:hover {
    color: #3E3B84;
    background: #E7E5F7;
}

.nhr-post-card__stat {
    display: inline-flex;
    align-items: center;
    gap: .3rem;
    white-space: nowrap;
}

.nhr-post-card__stat i {
    color: #8A94A4;
    font-size: .72rem;
}

.nhr-post-card__title {
    display: -webkit-box;
    margin: 0;
    overflow: hidden;
    color: #0F172A;
    font-size: 1.08rem;
    font-weight: 850;
    line-height: 1.45;
    letter-spacing: -.012em;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.nhr-post-card__title a {
    color: inherit;
    text-decoration: none;
    transition: color 160ms ease;
}

.nhr-post-card:hover .nhr-post-card__title a,
.nhr-post-card__title a:hover {
    color: #605DBA;
}

.nhr-post-card__excerpt {
    display: -webkit-box;
    margin: .72rem 0 1.1rem;
    overflow: hidden;
    color: #657080;
    font-size: .88rem;
    line-height: 1.72;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.nhr-post-card__link {
    display: inline-flex;
    align-items: center;
    gap: .48rem;
    align-self: flex-start;
    margin-block-start: auto;
    color: #605DBA;
    font-size: .84rem;
    font-weight: 820;
    line-height: 1.4;
    text-decoration: none;
}

.nhr-post-card__link i {
    font-size: .68rem;
    transition: transform 180ms ease;
}

.nhr-post-card__link:hover i {
    transform: translateX(3px);
}

.rtl .nhr-post-card__title,
html[dir="rtl"] .nhr-post-card__title {
    font-size: 1.08rem;
    line-height: 1.72;
    letter-spacing: 0;
}

.rtl .nhr-post-card__excerpt,
html[dir="rtl"] .nhr-post-card__excerpt {
    line-height: 1.9;
}

.rtl .nhr-post-card__link i,
html[dir="rtl"] .nhr-post-card__link i {
    transform: rotate(180deg);
}

.rtl .nhr-post-card__link:hover i,
html[dir="rtl"] .nhr-post-card__link:hover i {
    transform: rotate(180deg) translateX(3px);
}

.nhr-post-card a:focus-visible {
    outline: 3px solid rgba(96, 93, 186, .25);
    outline-offset: 3px;
}

@media (min-width: 640px) {
    .nhr-post-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 1.65rem;
    }
}

@media (min-width: 1024px) {
    .nhr-post-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 1.75rem;
    }
}

@media (max-width: 639px) {
    .nhr-post-grid {
        gap: 1.15rem;
    }

    .nhr-post-card {
        border-radius: .95rem;
    }

    .nhr-post-card__body {
        padding: 1.05rem 1.05rem 1.15rem;
    }

    .nhr-post-card__meta {
        gap: .42rem .62rem;
        margin-block-end: .75rem;
        font-size: .7rem;
    }

    .nhr-post-card__title,
    .rtl .nhr-post-card__title,
    html[dir="rtl"] .nhr-post-card__title {
        font-size: 1.03rem;
    }

    .nhr-post-card__excerpt {
        margin-block-start: .62rem;
        font-size: .85rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .nhr-post-card,
    .nhr-post-card__image,
    .nhr-post-card__category,
    .nhr-post-card__title a,
    .nhr-post-card__link i {
        transition: none !important;
    }

    .nhr-post-card:hover,
    .nhr-post-card:hover .nhr-post-card__image,
    .nhr-post-card__link:hover i,
    .rtl .nhr-post-card__link:hover i,
    html[dir="rtl"] .nhr-post-card__link:hover i {
        transform: none !important;
    }
}

/* ========================================================================== 
   Sprint B4 — Editorial Layout
   Latest insights → featured focus → guides/resources → more insights.
   ========================================================================== */
.nhr-editorial-section {
    --nhr-editorial-section-space: clamp(5rem, 5.5vw, 5.5rem);
    position: relative;
    background: #fff;
}

.nhr-editorial-section--latest {
    padding: var(--nhr-editorial-section-space) 0;
}

.nhr-editorial-section--focus {
    padding: var(--nhr-editorial-section-space) 0;
    border-block: 1px solid #EEF1F5;
    background:
        radial-gradient(circle at 82% 14%, rgba(96, 93, 186, .055), transparent 30%),
        #F8F9FC;
}

.nhr-editorial-section--resources {
    padding: var(--nhr-editorial-section-space) 0;
    background: #fff;
}

.nhr-editorial-section--more,
.nhr-editorial-section--paged {
    padding: var(--nhr-editorial-section-space) 0;
    border-top: 1px solid #F0F2F5;
    background: #FBFCFD;
}

.nhr-editorial-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 2rem;
    margin-bottom: 2rem;
}

.nhr-editorial-heading--split {
    margin-bottom: 2.25rem;
}

.nhr-editorial-heading__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    margin-bottom: .45rem;
    color: #605DBA;
    font-size: .72rem;
    font-weight: 850;
    letter-spacing: .11em;
    line-height: 1.4;
    text-transform: uppercase;
}

.rtl .nhr-editorial-heading__eyebrow,
html[dir="rtl"] .nhr-editorial-heading__eyebrow {
    font-size: .78rem;
    letter-spacing: 0;
    text-transform: none;
}

.nhr-editorial-heading__title {
    margin: 0;
    color: #0F172A;
    font-size: clamp(1.75rem, 2.4vw, 2.35rem);
    font-weight: 860;
    line-height: 1.2;
    letter-spacing: -.025em;
}

.rtl .nhr-editorial-heading__title,
html[dir="rtl"] .nhr-editorial-heading__title {
    line-height: 1.5;
    letter-spacing: 0;
}

.nhr-editorial-heading__copy {
    max-width: 44rem;
    margin: .55rem 0 0;
    color: #697586;
    font-size: .94rem;
    line-height: 1.75;
}

.rtl .nhr-editorial-heading__copy,
html[dir="rtl"] .nhr-editorial-heading__copy {
    line-height: 1.95;
}

.nhr-editorial-heading__link {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: .5rem;
    margin-bottom: .2rem;
    color: #605DBA;
    font-size: .86rem;
    font-weight: 820;
    text-decoration: none;
}

.nhr-editorial-heading__link:hover {
    color: #4B4899;
}

.nhr-editorial-heading__link:focus-visible,
.nhr-feature-series a:focus-visible,
.nhr-resource-card a:focus-visible,
.nhr-editorial-load-more__button:focus-visible {
    outline: 3px solid rgba(96, 93, 186, .25);
    outline-offset: 3px;
}

.nhr-post-grid--latest {
    gap: 1.8rem;
}

/* Sprint B4.2 — mockup alignment for Featured Series and Resources. */
/* Featured Series: one light editorial card — cover, introduction, supporting articles. */
.nhr-feature-series {
    display: grid;
    grid-template-columns: minmax(0, 1.02fr) minmax(17rem, .82fr) minmax(20rem, 1.06fr);
    min-width: 0;
    overflow: hidden;
    border: 1px solid #E1E5EC;
    border-radius: 1.2rem;
    background: #fff;
    box-shadow: 0 16px 42px rgba(15, 23, 42, .06);
}

.nhr-feature-series__media {
    display: grid;
    min-width: 0;
    min-height: 20rem;
    place-items: center;
    overflow: hidden;
    background:
        radial-gradient(circle at 18% 16%, rgba(120, 113, 196, .12), transparent 28%),
        #F4F3FA;
    text-decoration: none;
}

.nhr-feature-series__image {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 20rem;
    object-fit: contain;
    object-position: center;
    transition: transform 360ms cubic-bezier(.2, .7, .2, 1);
}

.nhr-feature-series:hover .nhr-feature-series__image {
    transform: scale(1.012);
}

.nhr-feature-series__placeholder {
    display: grid;
    width: 100%;
    height: 100%;
    min-height: 20rem;
    place-items: center;
    color: #7871C4;
    font-size: 4rem;
    background: linear-gradient(145deg, #F0EFFA, #E9EDF3);
}

.nhr-feature-series__intro {
    display: flex;
    min-width: 0;
    flex-direction: column;
    justify-content: center;
    padding: clamp(1.7rem, 2.5vw, 2.5rem);
    border-inline: 1px solid #E7EAF0;
    background: #fff;
}

.nhr-feature-series__badge {
    align-self: flex-start;
    margin-bottom: .85rem;
    padding: .38rem .68rem;
    border-radius: 999px;
    background: #F0EFFA;
    color: #605DBA;
    font-size: .68rem;
    font-weight: 850;
    letter-spacing: .06em;
    line-height: 1.2;
    text-transform: uppercase;
}

.rtl .nhr-feature-series__badge,
html[dir="rtl"] .nhr-feature-series__badge {
    letter-spacing: 0;
    text-transform: none;
}

.nhr-feature-series__title {
    margin: 0;
    color: #172033;
    font-size: clamp(1.35rem, 1.75vw, 1.8rem);
    font-weight: 850;
    line-height: 1.35;
    letter-spacing: -.018em;
}

.rtl .nhr-feature-series__title,
html[dir="rtl"] .nhr-feature-series__title {
    line-height: 1.68;
    letter-spacing: 0;
}

.nhr-feature-series__copy {
    margin: .85rem 0 1.35rem;
    color: #697586;
    font-size: .88rem;
    line-height: 1.75;
}

.rtl .nhr-feature-series__copy,
html[dir="rtl"] .nhr-feature-series__copy {
    line-height: 1.95;
}

.nhr-feature-series__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .8rem 1.2rem;
    margin-top: auto;
}

.nhr-feature-series__cta {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    color: #605DBA;
    font-size: .82rem;
    font-weight: 820;
    text-decoration: none;
}

.nhr-feature-series__cta:hover {
    color: #4B4899;
}

.nhr-feature-series__count {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    color: #7B8494;
    font-size: .74rem;
    font-weight: 700;
}

.nhr-feature-series__list {
    display: flex;
    min-width: 0;
    flex-direction: column;
    justify-content: center;
    padding: .55rem 1.1rem;
    background: #fff;
}

.nhr-feature-series__item {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: .9rem;
    min-width: 0;
    min-height: 5.9rem;
    padding: 1rem .15rem;
    border-bottom: 1px solid #E8EBF0;
}

.nhr-feature-series__item:last-child {
    border-bottom: 0;
}

.nhr-feature-series__number {
    display: grid;
    width: 2.35rem;
    height: 2.35rem;
    place-items: center;
    border-radius: .65rem;
    background: #F0EFFA;
    color: #605DBA;
    font-size: .76rem;
    font-weight: 850;
}

.nhr-feature-series__item-content {
    min-width: 0;
}

.nhr-feature-series__item h3 {
    display: -webkit-box;
    margin: 0;
    overflow: hidden;
    color: #172033;
    font-size: .88rem;
    font-weight: 800;
    line-height: 1.5;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.rtl .nhr-feature-series__item h3,
html[dir="rtl"] .nhr-feature-series__item h3 {
    line-height: 1.82;
}

.nhr-feature-series__item h3 a {
    color: inherit;
    text-decoration: none;
}

.nhr-feature-series__item-meta {
    display: flex;
    flex-wrap: wrap;
    gap: .34rem;
    margin-top: .35rem;
    color: #8A94A3;
    font-size: .65rem;
    line-height: 1.4;
}

.nhr-feature-series__item-link {
    display: grid;
    width: 1.95rem;
    height: 1.95rem;
    place-items: center;
    border-radius: 999px;
    background: #F5F4FB;
    color: #605DBA;
    font-size: .62rem;
    text-decoration: none;
    transition: background 180ms ease, transform 180ms ease;
}

.nhr-feature-series__item:hover .nhr-feature-series__item-link {
    transform: translateX(2px);
    background: #EDEBFA;
}

.rtl .nhr-feature-series__item:hover .nhr-feature-series__item-link,
html[dir="rtl"] .nhr-feature-series__item:hover .nhr-feature-series__item-link {
    transform: translateX(-2px);
}

/* Resource library — visual-first compact cards using real Resource CPT thumbnails. */
.nhr-resource-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 1rem;
}

.nhr-resource-card {
    display: flex;
    min-width: 0;
    min-height: 9rem;
    align-items: flex-start;
    gap: .9rem;
    padding: 1.05rem;
    border: 1px solid #E3E7ED;
    border-radius: 1rem;
    background: #fff;
    box-shadow: 0 4px 16px rgba(15, 23, 42, .035);
    transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.nhr-resource-card:hover {
    transform: translateY(-2px);
    border-color: #D8D7EA;
    box-shadow: 0 12px 28px rgba(15, 23, 42, .07);
}

.nhr-resource-card__visual {
    display: grid;
    width: 4.4rem;
    height: 4.4rem;
    flex: 0 0 4.4rem;
    place-items: center;
    overflow: hidden;
    border: 1px solid #ECEEF3;
    border-radius: .9rem;
    background:
        radial-gradient(circle at 70% 20%, rgba(148, 219, 220, .22), transparent 30%),
        #F6F6FB;
    text-decoration: none;
}

.nhr-resource-card__image {
    display: block;
    width: 100%;
    height: 100%;
    padding: .28rem;
    object-fit: contain;
    object-position: center;
}

.nhr-resource-card__icon {
    display: grid;
    width: 100%;
    height: 100%;
    place-items: center;
    background: linear-gradient(145deg, #605DBA, #7871C4);
    color: #fff;
    font-size: 1.2rem;
}

.nhr-resource-card:nth-child(even) .nhr-resource-card__icon {
    background: linear-gradient(145deg, #2AB5A5, #38B6C4);
}

.nhr-resource-card__content {
    display: flex;
    min-width: 0;
    flex: 1;
    flex-direction: column;
    align-self: stretch;
}

.nhr-resource-card__type {
    margin-bottom: .36rem;
    color: #605DBA;
    font-size: .62rem;
    font-weight: 850;
    letter-spacing: .08em;
    line-height: 1.3;
    text-transform: uppercase;
}

.rtl .nhr-resource-card__type,
html[dir="rtl"] .nhr-resource-card__type {
    letter-spacing: 0;
    text-transform: none;
}

.nhr-resource-card h3 {
    display: -webkit-box;
    margin: 0;
    overflow: hidden;
    color: #172033;
    font-size: .86rem;
    font-weight: 800;
    line-height: 1.5;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.rtl .nhr-resource-card h3,
html[dir="rtl"] .nhr-resource-card h3 {
    line-height: 1.8;
}

.nhr-resource-card h3 a {
    color: inherit;
    text-decoration: none;
}

.nhr-resource-card__link {
    display: inline-flex;
    align-items: center;
    gap: .38rem;
    align-self: flex-start;
    margin-top: auto;
    padding-top: .72rem;
    color: #605DBA;
    font-size: .69rem;
    font-weight: 800;
    text-decoration: none;
}

.nhr-editorial-load-more {
    display: flex;
    justify-content: center;
    margin-top: 2.5rem;
}

.nhr-editorial-load-more__button {
    display: inline-flex;
    min-width: 12rem;
    min-height: 3rem;
    align-items: center;
    justify-content: center;
    gap: .6rem;
    padding: .75rem 1.3rem;
    border: 1px solid #DDDFED;
    border-radius: .75rem;
    background: #F0EFFA;
    color: #4B4899;
    font-size: .85rem;
    font-weight: 820;
    cursor: pointer;
    transition: transform 180ms ease, background-color 180ms ease, border-color 180ms ease;
}

.nhr-editorial-load-more__button:hover {
    transform: translateY(-1px);
    border-color: #D1D0E8;
    background: #E8E6F7;
}

.nhr-editorial-load-more__button.is-loading {
    cursor: wait;
    opacity: .7;
}

.nhr-editorial-empty {
    padding: 4rem 1rem;
    text-align: center;
    color: #697586;
}

.nhr-editorial-empty i {
    margin-bottom: 1rem;
    color: #C8CFD8;
    font-size: 3rem;
}

.nhr-editorial-empty h2 {
    margin: 0;
    color: #172033;
    font-size: 1.5rem;
}

/* Sprint B3 micro-polish carried into B4. */
.nhr-post-card__excerpt {
    color: #748092;
}

.rtl .nhr-post-card__title,
html[dir="rtl"] .nhr-post-card__title {
    line-height: 1.82;
}

.rtl .nhr-post-card__excerpt,
html[dir="rtl"] .nhr-post-card__excerpt {
    line-height: 1.95;
}

@media (max-width: 1100px) {
    .nhr-feature-series {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .nhr-feature-series__intro {
        border-inline-end: 0;
    }

    .nhr-feature-series__list {
        display: grid;
        grid-column: 1 / -1;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        padding: 0 1rem;
        border-top: 1px solid #E7EAF0;
    }

    .nhr-feature-series__item {
        min-height: 6.4rem;
        border-inline-end: 1px solid #E8EBF0;
        border-bottom: 0;
        padding-inline: 1rem;
    }

    .nhr-feature-series__item:last-child {
        border-inline-end: 0;
    }

    .nhr-resource-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .nhr-editorial-section {
        --nhr-editorial-section-space: 3.75rem;
    }

    .nhr-editorial-section--latest,
    .nhr-editorial-section--focus,
    .nhr-editorial-section--resources,
    .nhr-editorial-section--more,
    .nhr-editorial-section--paged {
        padding: var(--nhr-editorial-section-space) 0;
    }

    .nhr-editorial-heading,
    .nhr-editorial-heading--split {
        display: block;
        margin-bottom: 1.55rem;
    }

    .nhr-editorial-heading__link {
        margin-top: 1rem;
    }

    .nhr-feature-series {
        grid-template-columns: 1fr;
    }

    .nhr-feature-series__media,
    .nhr-feature-series__image,
    .nhr-feature-series__placeholder {
        min-height: 0;
        aspect-ratio: 16 / 9;
    }

    .nhr-feature-series__intro {
        border-inline: 0;
        border-block: 1px solid #E7EAF0;
    }

    .nhr-feature-series__list {
        display: flex;
        grid-column: auto;
        padding: .4rem 1rem;
        border-top: 0;
    }

    .nhr-feature-series__item {
        min-height: 5.8rem;
        border-inline-end: 0;
        border-bottom: 1px solid #E8EBF0;
        padding-inline: .15rem;
    }

    .nhr-feature-series__item:last-child {
        border-bottom: 0;
    }

    .nhr-resource-grid {
        grid-template-columns: 1fr;
    }
}

@media (prefers-reduced-motion: reduce) {
    .nhr-feature-series__image,
    .nhr-feature-series__item-link,
    .nhr-resource-card,
    .nhr-editorial-load-more__button {
        transition: none !important;
    }

    .nhr-feature-series:hover .nhr-feature-series__image,
    .nhr-feature-series__item:hover .nhr-feature-series__item-link,
    .nhr-resource-card:hover,
    .nhr-editorial-load-more__button:hover {
        transform: none !important;
    }
}

/* ============================================================
   Sprint B5 — Search + Engagement / Discovery
   ============================================================ */
.nhr-editorial-heading--discovery {
    align-items: center;
}

.nhr-blog-search {
    position: relative;
    z-index: 24;
    width: min(100%, 31rem);
    flex: 0 1 31rem;
}

.nhr-blog-search__form {
    position: relative;
    margin: 0;
}

.nhr-blog-search__field {
    display: flex;
    min-height: 3.45rem;
    align-items: center;
    overflow: hidden;
    border: 1px solid #DDE2EA;
    border-radius: 1rem;
    background: #fff;
    box-shadow: 0 10px 26px rgba(15, 23, 42, .055);
    transition: border-color 180ms ease, box-shadow 180ms ease, background-color 180ms ease;
}

.nhr-blog-search.is-open .nhr-blog-search__field,
.nhr-blog-search__field:focus-within {
    border-color: rgba(96, 93, 186, .55);
    box-shadow: 0 0 0 4px rgba(96, 93, 186, .09), 0 14px 30px rgba(15, 23, 42, .07);
}

.nhr-blog-search__icon {
    display: inline-flex;
    width: 3.15rem;
    flex: 0 0 3.15rem;
    align-items: center;
    justify-content: center;
    color: #7A8494;
    font-size: .95rem;
}

.nhr-blog-search__input {
    min-width: 0;
    flex: 1 1 auto;
    height: 3.35rem;
    padding: 0 .25rem;
    border: 0;
    outline: 0;
    background: transparent;
    color: #172033;
    font: inherit;
    font-size: .9rem;
    font-weight: 600;
}

.nhr-blog-search__input::placeholder {
    color: #8A94A3;
    opacity: 1;
}

.nhr-blog-search__input::-webkit-search-cancel-button {
    cursor: pointer;
}

.nhr-blog-search__submit {
    display: inline-flex;
    min-height: 2.65rem;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    margin-inline-end: .38rem;
    padding: .65rem .95rem;
    border: 0;
    border-radius: .72rem;
    background: #605DBA;
    color: #fff;
    font-size: .78rem;
    font-weight: 820;
    cursor: pointer;
    transition: transform 180ms ease, background-color 180ms ease;
}

.nhr-blog-search__submit:hover {
    transform: translateY(-1px);
    background: #514EAA;
}

.nhr-blog-search__submit:focus-visible {
    outline: 3px solid rgba(96, 93, 186, .3);
    outline-offset: 2px;
}

.nhr-blog-search__panel {
    position: absolute;
    top: calc(100% + .55rem);
    inset-inline: 0;
    overflow: hidden;
    border: 1px solid #E0E4EB;
    border-radius: 1rem;
    background: rgba(255, 255, 255, .985);
    box-shadow: 0 24px 64px rgba(15, 23, 42, .14);
}

.nhr-blog-search__panel[hidden] {
    display: none !important;
}

.nhr-blog-search__status {
    padding: 1.05rem 1.15rem;
    color: #697586;
    font-size: .82rem;
    line-height: 1.6;
}

.nhr-blog-search__status:empty {
    display: none;
}

.nhr-blog-search__status.is-searching::before {
    content: '';
    display: inline-block;
    width: .85rem;
    height: .85rem;
    margin-inline-end: .5rem;
    vertical-align: -.12rem;
    border: 2px solid #D9DBEB;
    border-top-color: #605DBA;
    border-radius: 999px;
    animation: nhrSearchSpin .7s linear infinite;
}

.nhr-blog-search__status.is-error {
    color: #9B3542;
}

@keyframes nhrSearchSpin {
    to { transform: rotate(360deg); }
}

.nhr-blog-search__results {
    display: grid;
}

.nhr-blog-search__result {
    display: grid;
    grid-template-columns: 4rem minmax(0, 1fr) 1.5rem;
    align-items: center;
    gap: .8rem;
    min-width: 0;
    padding: .8rem 1rem;
    border-top: 1px solid #EEF0F4;
    color: inherit;
    text-decoration: none;
    transition: background-color 150ms ease;
}

.nhr-blog-search__result:first-child {
    border-top: 0;
}

.nhr-blog-search__result:hover,
.nhr-blog-search__result:focus-visible {
    background: #F8F8FC;
}

.nhr-blog-search__result:focus-visible {
    outline: 2px solid #7871C4;
    outline-offset: -2px;
}

.nhr-blog-search__result-media {
    display: grid;
    width: 4rem;
    height: 3rem;
    place-items: center;
    overflow: hidden;
    border-radius: .6rem;
    background: #F0EFFA;
    color: #605DBA;
    font-size: 1rem;
}

.nhr-blog-search__result-media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.nhr-blog-search__result-copy {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: .18rem;
}

.nhr-blog-search__result-meta {
    overflow: hidden;
    color: #7D8795;
    font-size: .66rem;
    font-weight: 750;
    line-height: 1.4;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.nhr-blog-search__result-title {
    display: -webkit-box;
    overflow: hidden;
    color: #172033;
    font-size: .82rem;
    font-weight: 820;
    line-height: 1.45;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.nhr-blog-search__result-excerpt {
    display: -webkit-box;
    overflow: hidden;
    color: #7B8695;
    font-size: .7rem;
    line-height: 1.5;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
}

.nhr-blog-search__result-arrow {
    color: #8C89C9;
    font-size: .72rem;
}

.nhr-blog-search__all {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    padding: .8rem 1.05rem;
    border-top: 1px solid #E9EBF1;
    background: #F6F5FB;
    color: #514EAA;
    font-size: .76rem;
    font-weight: 820;
    text-decoration: none;
}

.nhr-blog-search__all[hidden] {
    display: none !important;
}

.nhr-blog-search__all:hover {
    background: #EFEDF9;
}

/* Dedicated search results surface. */
.nhr-search-page {
    min-height: 70vh;
    background: #FBFCFD;
}

.nhr-search-hero {
    padding: clamp(4rem, 7vw, 6.3rem) 0 clamp(3.3rem, 6vw, 5rem);
    border-bottom: 1px solid #E9ECF1;
    background:
        radial-gradient(circle at 12% 16%, rgba(96, 93, 186, .10), transparent 29%),
        radial-gradient(circle at 88% 20%, rgba(56, 182, 196, .08), transparent 24%),
        linear-gradient(180deg, #F7F7FC 0%, #FBFCFD 100%);
}

.nhr-search-hero__inner {
    max-width: 58rem;
    margin-inline: auto;
    text-align: center;
}

.nhr-search-hero__eyebrow {
    display: inline-block;
    margin-bottom: .7rem;
    color: #605DBA;
    font-size: .74rem;
    font-weight: 850;
    letter-spacing: .1em;
    text-transform: uppercase;
}

html[dir="rtl"] .nhr-search-hero__eyebrow,
.rtl .nhr-search-hero__eyebrow {
    letter-spacing: 0;
    text-transform: none;
}

.nhr-search-hero__title {
    margin: 0;
    color: #0F172A;
    font-size: clamp(2rem, 4.3vw, 3.5rem);
    font-weight: 880;
    line-height: 1.16;
    letter-spacing: -.035em;
}

html[dir="rtl"] .nhr-search-hero__title,
.rtl .nhr-search-hero__title {
    line-height: 1.5;
    letter-spacing: 0;
}

.nhr-search-hero__copy {
    margin: .8rem 0 0;
    color: #6D7888;
    font-size: .95rem;
    line-height: 1.75;
}

.nhr-blog-search--results {
    width: min(100%, 45rem);
    margin: 2rem auto 0;
    text-align: start;
}

.nhr-search-results {
    padding: clamp(3.5rem, 6vw, 5.5rem) 0;
}

.nhr-search-results__topline {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.6rem;
    color: #6B7584;
    font-size: .82rem;
    font-weight: 760;
}

.nhr-search-results__topline a {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    color: #605DBA;
    text-decoration: none;
}

.nhr-discovery-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.5rem;
}

.nhr-discovery-card {
    display: grid;
    grid-template-columns: minmax(10rem, 38%) minmax(0, 1fr);
    min-width: 0;
    overflow: hidden;
    border: 1px solid #E2E6EC;
    border-radius: 1rem;
    background: #fff;
    box-shadow: 0 10px 28px rgba(15, 23, 42, .045);
    transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.nhr-discovery-card:hover {
    transform: translateY(-2px);
    border-color: #D5D4EA;
    box-shadow: 0 16px 34px rgba(15, 23, 42, .075);
}

.nhr-discovery-card__media {
    display: grid;
    min-height: 13rem;
    place-items: center;
    overflow: hidden;
    background: #F3F3F9;
    text-decoration: none;
}

.nhr-discovery-card__image {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 13rem;
    object-fit: cover;
}

.nhr-discovery-card__placeholder {
    color: #7871C4;
    font-size: 2.2rem;
}

.nhr-discovery-card__body {
    display: flex;
    min-width: 0;
    flex-direction: column;
    padding: 1.35rem;
}

.nhr-discovery-card__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .45rem .7rem;
    margin-bottom: .7rem;
    color: #7A8594;
    font-size: .69rem;
    font-weight: 720;
}

.nhr-discovery-card__type {
    padding: .28rem .5rem;
    border-radius: 999px;
    background: #F0EFFA;
    color: #605DBA;
    font-weight: 820;
}

.nhr-discovery-card__title {
    margin: 0;
    font-size: 1.05rem;
    font-weight: 840;
    line-height: 1.45;
}

html[dir="rtl"] .nhr-discovery-card__title,
.rtl .nhr-discovery-card__title {
    line-height: 1.8;
}

.nhr-discovery-card__title a {
    color: #172033;
    text-decoration: none;
}

.nhr-discovery-card__excerpt {
    display: -webkit-box;
    overflow: hidden;
    margin: .7rem 0 1rem;
    color: #748092;
    font-size: .82rem;
    line-height: 1.75;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

html[dir="rtl"] .nhr-discovery-card__excerpt,
.rtl .nhr-discovery-card__excerpt {
    line-height: 1.95;
}

.nhr-discovery-card__link {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    align-self: flex-start;
    margin-top: auto;
    color: #605DBA;
    font-size: .78rem;
    font-weight: 820;
    text-decoration: none;
}

.nhr-discovery-card a:focus-visible,
.nhr-search-results a:focus-visible {
    outline: 3px solid rgba(96, 93, 186, .25);
    outline-offset: 3px;
}

.nhr-search-pagination {
    margin-top: 3rem;
}

.nhr-search-pagination .nav-links {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: .4rem;
}

.nhr-search-pagination .page-numbers {
    display: inline-flex;
    min-width: 2.6rem;
    min-height: 2.6rem;
    align-items: center;
    justify-content: center;
    padding: .55rem .75rem;
    border: 1px solid #E0E4EA;
    border-radius: .65rem;
    background: #fff;
    color: #4C586A;
    text-decoration: none;
}

.nhr-search-pagination .page-numbers.current {
    border-color: #605DBA;
    background: #605DBA;
    color: #fff;
}

.nhr-search-empty {
    max-width: 42rem;
    margin: 0 auto;
    padding: 4rem 1.5rem;
    text-align: center;
}

.nhr-search-empty__icon {
    display: grid;
    width: 4rem;
    height: 4rem;
    margin: 0 auto 1.25rem;
    place-items: center;
    border-radius: 1.15rem;
    background: #F0EFFA;
    color: #605DBA;
    font-size: 1.4rem;
}

.nhr-search-empty h2 {
    margin: 0;
    color: #172033;
    font-size: 1.7rem;
    font-weight: 850;
}

.nhr-search-empty p {
    margin: .8rem auto 1.4rem;
    color: #6D7888;
    line-height: 1.8;
}

.nhr-search-empty__cta {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    padding: .8rem 1.1rem;
    border-radius: .75rem;
    background: #605DBA;
    color: #fff;
    font-size: .82rem;
    font-weight: 820;
    text-decoration: none;
}

.nhr-editorial-load-more__status {
    width: 100%;
    margin-top: .65rem;
    color: #A23E4A;
    font-size: .76rem;
    text-align: center;
    line-height: 1.5;
}

.nhr-editorial-load-more__status:empty {
    display: none;
}

@media (max-width: 1023px) {
    .nhr-editorial-heading--discovery {
        align-items: flex-end;
    }

    .nhr-blog-search {
        flex-basis: 27rem;
        max-width: 27rem;
    }

    .nhr-discovery-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767px) {
    .nhr-editorial-heading--discovery {
        align-items: stretch;
    }

    .nhr-blog-search,
    .nhr-blog-search--results {
        width: 100%;
        max-width: none;
        flex-basis: auto;
    }

    .nhr-blog-search__field {
        min-height: 3.25rem;
        border-radius: .85rem;
    }

    .nhr-blog-search__submit {
        min-width: 2.65rem;
        width: 2.65rem;
        padding-inline: 0;
    }

    .nhr-blog-search__submit span {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        clip-path: inset(50%);
        white-space: nowrap;
    }

    .nhr-blog-search__result {
        grid-template-columns: 3.3rem minmax(0, 1fr) 1rem;
        gap: .65rem;
        padding: .72rem .8rem;
    }

    .nhr-blog-search__result-media {
        width: 3.3rem;
        height: 2.6rem;
    }

    .nhr-blog-search__result-excerpt {
        display: none;
    }

    .nhr-search-hero {
        padding-top: 3.2rem;
    }

    .nhr-search-hero__title {
        font-size: clamp(1.8rem, 8vw, 2.45rem);
    }

    .nhr-search-results__topline {
        align-items: flex-start;
        flex-direction: column;
    }

    .nhr-discovery-card {
        grid-template-columns: 1fr;
    }

    .nhr-discovery-card__media,
    .nhr-discovery-card__image {
        min-height: 0;
        aspect-ratio: 16 / 9;
    }
}

@media (prefers-reduced-motion: reduce) {
    .nhr-blog-search__field,
    .nhr-blog-search__submit,
    .nhr-blog-search__result,
    .nhr-discovery-card {
        transition: none !important;
    }

    .nhr-blog-search__submit:hover,
    .nhr-discovery-card:hover {
        transform: none !important;
    }

    .nhr-blog-search__status.is-searching::before {
        animation: none !important;
    }
}

/* ============================================================
   Sprint C1 — Category Archive UI v2
   Compact archive header, modern pagination and sticky-nav boundary.
============================================================ */
.nhr-archive-hero {
    position: relative;
    overflow: hidden;
    padding: clamp(7rem, 9vw, 8.15rem) 0 clamp(4.35rem, 5.4vw, 5rem);
    background:
        linear-gradient(180deg, #F7F9FC 0%, #F4F7FA 100%);
}

.nhr-archive-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: .32;
    background-image: radial-gradient(circle, rgba(96, 93, 186, .13) 1px, transparent 1.15px);
    background-size: 24px 24px;
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 22%, #000 78%, transparent);
    mask-image: linear-gradient(90deg, transparent, #000 22%, #000 78%, transparent);
}

.nhr-archive-hero__glow {
    position: absolute;
    width: 22rem;
    height: 22rem;
    border-radius: 999px;
    filter: blur(90px);
    pointer-events: none;
    opacity: .14;
}

.nhr-archive-hero__glow--primary {
    inset-block-start: -10rem;
    inset-inline-start: 4%;
    background: #605DBA;
}

.nhr-archive-hero__glow--secondary {
    inset-block-end: -13rem;
    inset-inline-end: 7%;
    background: #4ECDC4;
    opacity: .10;
}

.nhr-archive-hero__inner {
    max-width: 52rem;
    margin: 0 auto;
    text-align: center;
}

.nhr-archive-hero__eyebrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    margin-bottom: .75rem;
    color: #605DBA;
    font-size: .72rem;
    font-weight: 850;
    line-height: 1.4;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.nhr-archive-hero__eyebrow i {
    display: inline-grid;
    width: 1.75rem;
    height: 1.75rem;
    place-items: center;
    border: 1px solid rgba(96, 93, 186, .16);
    border-radius: .55rem;
    background: rgba(96, 93, 186, .07);
    font-size: .75rem;
}

.rtl .nhr-archive-hero__eyebrow,
html[dir="rtl"] .nhr-archive-hero__eyebrow {
    font-size: .8rem;
    letter-spacing: 0;
    text-transform: none;
}

.nhr-archive-hero__title {
    margin: 0;
    color: #111827;
    font-size: clamp(2.15rem, 4vw, 3.2rem);
    font-weight: 880;
    line-height: 1.14;
    letter-spacing: -.035em;
    text-wrap: balance;
}

.rtl .nhr-archive-hero__title,
html[dir="rtl"] .nhr-archive-hero__title {
    font-size: clamp(2.1rem, 4vw, 3rem);
    line-height: 1.45;
    letter-spacing: 0;
}

.nhr-archive-hero__copy {
    max-width: 44rem;
    margin: 1rem auto 0;
    color: #64748B;
    font-size: 1rem;
    line-height: 1.78;
}

.nhr-archive-hero__copy p {
    margin: 0;
}

.rtl .nhr-archive-hero__copy,
html[dir="rtl"] .nhr-archive-hero__copy {
    line-height: 2;
}

.nhr-archive-hero__meta {
    display: flex;
    justify-content: center;
    margin-top: 1.15rem;
}

.nhr-archive-hero__count {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    min-height: 2.15rem;
    padding: .42rem .75rem;
    border: 1px solid #E5E7F0;
    border-radius: 999px;
    background: rgba(255, 255, 255, .78);
    color: #596579;
    font-size: .76rem;
    font-weight: 750;
    box-shadow: 0 10px 28px -24px rgba(15, 23, 42, .45);
}

.nhr-archive-hero__count i {
    color: #605DBA;
}

.nhr-archive-content {
    padding: clamp(4.65rem, 6.5vw, 5.5rem) 0 1.5rem;
    background: #fff;
}

.nhr-archive-pagination {
    margin-top: clamp(3.15rem, 5vw, 4rem);
    padding-top: 2rem;
    border-top: 1px solid #EEF0F4;
}

.nhr-archive-pagination__links {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: .45rem;
}

.nhr-archive-pagination .page-numbers {
    display: inline-flex;
    min-width: 2.7rem;
    min-height: 2.7rem;
    align-items: center;
    justify-content: center;
    gap: .45rem;
    padding: .58rem .78rem;
    border: 1px solid #E0E4EA;
    border-radius: .72rem;
    background: #fff;
    color: #4C586A;
    font-size: .82rem;
    font-weight: 720;
    line-height: 1;
    text-decoration: none;
    transition: color .18s ease, border-color .18s ease, background-color .18s ease, transform .18s ease;
}

.nhr-archive-pagination a.page-numbers:hover {
    border-color: rgba(96, 93, 186, .30);
    background: #F6F5FC;
    color: #4B4899;
    transform: translateY(-1px);
}

.nhr-archive-pagination .page-numbers.current {
    border-color: #605DBA;
    background: #605DBA;
    color: #fff;
    box-shadow: 0 10px 26px -18px rgba(96, 93, 186, .8);
}

.nhr-archive-pagination .page-numbers.dots {
    min-width: 2rem;
    padding-inline: .25rem;
    border-color: transparent;
    background: transparent;
    color: #94A0B2;
}

.nhr-archive-pagination .page-numbers.prev,
.nhr-archive-pagination .page-numbers.next {
    padding-inline: .95rem;
}

.nhr-archive-pagination a:focus-visible {
    outline: 3px solid rgba(96, 93, 186, .26);
    outline-offset: 3px;
}

.nhr-archive-empty {
    max-width: 42rem;
    margin: 0 auto;
    padding: 3.5rem 1.5rem;
    border: 1px solid #E7EAF0;
    border-radius: 1.25rem;
    background: #FAFBFC;
    text-align: center;
}

.nhr-archive-empty__icon {
    display: grid;
    width: 3.75rem;
    height: 3.75rem;
    margin: 0 auto 1rem;
    place-items: center;
    border-radius: 1rem;
    background: #F0EFFA;
    color: #605DBA;
    font-size: 1.2rem;
}

.nhr-archive-empty h2 {
    margin: 0;
    color: #172033;
    font-size: 1.55rem;
    font-weight: 850;
}

.nhr-archive-empty p {
    max-width: 32rem;
    margin: .65rem auto 0;
    color: #64748B;
    font-size: .92rem;
    line-height: 1.75;
}

.nhr-archive-empty__cta {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    margin-top: 1.2rem;
    color: #605DBA;
    font-size: .86rem;
    font-weight: 800;
    text-decoration: none;
}

.nhr-blog-categories.is-sticky-suspended {
    position: static;
}

@media (max-width: 767px) {
    .nhr-archive-hero {
        padding-top: 6.7rem;
        padding-bottom: 3.85rem;
    }

    .nhr-archive-hero__copy {
        font-size: .94rem;
    }

    .nhr-archive-content {
        padding-top: 4rem;
        padding-bottom: .75rem;
    }

    .nhr-archive-pagination {
        margin-top: 2.75rem;
        padding-top: 1.5rem;
    }

    .nhr-archive-pagination__links {
        gap: .35rem;
    }

    .nhr-archive-pagination .page-numbers {
        min-width: 2.5rem;
        min-height: 2.5rem;
        padding: .52rem .68rem;
        font-size: .78rem;
    }

    .nhr-archive-pagination .page-numbers.prev span,
    .nhr-archive-pagination .page-numbers.next span {
        display: none;
    }

    .nhr-archive-pagination .page-numbers.prev,
    .nhr-archive-pagination .page-numbers.next {
        padding-inline: .7rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .nhr-archive-pagination .page-numbers {
        transition: none !important;
    }

    .nhr-archive-pagination a.page-numbers:hover {
        transform: none !important;
    }
}

/* ============================================================
   Sprint C2 — Author Profile UI v2
   Compact author identity, shared editorial cards and unified load-more.
============================================================ */
.nhr-author-page {
    background: #fff;
}

.nhr-author-hero {
    position: relative;
    overflow: hidden;
    padding: clamp(6.35rem, 8vw, 7.35rem) 0 clamp(3.35rem, 4.5vw, 4.1rem);
    border-bottom: 1px solid #EEF1F5;
    background: linear-gradient(180deg, #F8FAFC 0%, #F4F7FA 100%);
}

.nhr-author-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: .3;
    background-image: radial-gradient(circle, rgba(96, 93, 186, .14) 1px, transparent 1.15px);
    background-size: 24px 24px;
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 20%, #000 80%, transparent);
    mask-image: linear-gradient(90deg, transparent, #000 20%, #000 80%, transparent);
}

.nhr-author-hero__glow {
    position: absolute;
    width: 24rem;
    height: 24rem;
    border-radius: 999px;
    filter: blur(95px);
    pointer-events: none;
}

.nhr-author-hero__glow--primary {
    inset-block-start: -11rem;
    inset-inline-start: 4%;
    background: rgba(96, 93, 186, .18);
}

.nhr-author-hero__glow--secondary {
    inset-block-end: -14rem;
    inset-inline-end: 5%;
    background: rgba(78, 205, 196, .12);
}

.nhr-author-hero__profile {
    display: grid;
    grid-template-columns: 7.8rem minmax(0, 1fr);
    gap: clamp(1.85rem, 3.2vw, 2.75rem);
    max-width: 64rem;
    margin: 0 auto;
    align-items: center;
}

.nhr-author-hero__media {
    display: flex;
    justify-content: center;
}

.nhr-author-hero__avatar-wrap {
    position: relative;
    display: grid;
    width: 7rem;
    height: 7rem;
    place-items: center;
    padding: .18rem;
    border: 1px solid rgba(96, 93, 186, .12);
    border-radius: 999px;
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 14px 28px -24px rgba(15, 23, 42, .28);
}

.nhr-author-hero__avatar-wrap::before {
    content: "";
    position: absolute;
    inset: -.12rem;
    z-index: -1;
    border-radius: 999px;
    background: linear-gradient(145deg, rgba(96, 93, 186, .10), rgba(78, 205, 196, .06));
    box-shadow: 0 0 0 1px rgba(255, 255, 255, .82);
}

.nhr-author-hero__avatar {
    display: block;
    width: 6.28rem;
    height: 6.28rem;
    border: 2px solid #fff;
    border-radius: 999px;
    object-fit: cover;
    object-position: center;
    box-shadow: 0 10px 22px -20px rgba(15, 23, 42, .32);
}

.nhr-author-hero__content {
    min-width: 0;
}

.nhr-author-hero__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    margin-bottom: .75rem;
    color: #605DBA;
    font-size: .72rem;
    font-weight: 850;
    letter-spacing: .13em;
    line-height: 1.4;
    text-transform: uppercase;
}

.nhr-author-hero__eyebrow i {
    display: inline-grid;
    width: 1.75rem;
    height: 1.75rem;
    place-items: center;
    border: 1px solid rgba(96, 93, 186, .16);
    border-radius: .55rem;
    background: rgba(96, 93, 186, .07);
    font-size: .72rem;
}

.rtl .nhr-author-hero__eyebrow,
html[dir="rtl"] .nhr-author-hero__eyebrow {
    font-size: .8rem;
    letter-spacing: 0;
    text-transform: none;
}

.nhr-author-hero__name {
    margin: 0;
    color: #111827;
    font-size: clamp(2.2rem, 4vw, 3.25rem);
    font-weight: 880;
    line-height: 1.12;
    letter-spacing: -.035em;
    text-wrap: balance;
}

.rtl .nhr-author-hero__name,
html[dir="rtl"] .nhr-author-hero__name {
    line-height: 1.45;
    letter-spacing: 0;
}

.nhr-author-hero__role {
    margin: .6rem 0 0;
    color: #605DBA;
    font-size: .94rem;
    font-weight: 800;
    line-height: 1.55;
}

.nhr-author-hero__bio {
    max-width: 48rem;
    margin-top: 1rem;
    color: #64748B;
    font-size: 1rem;
    line-height: 1.82;
}

.nhr-author-hero__bio p {
    margin: 0;
}

.rtl .nhr-author-hero__bio,
html[dir="rtl"] .nhr-author-hero__bio {
    line-height: 2;
}

.nhr-author-hero__meta {
    display: flex;
    margin-top: 1.25rem;
}

.nhr-author-hero__count {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    min-height: 2.2rem;
    padding: .44rem .8rem;
    border: 1px solid #E4E7ED;
    border-radius: 999px;
    background: rgba(255, 255, 255, .8);
    color: #596579;
    font-size: .76rem;
    font-weight: 760;
    box-shadow: 0 10px 28px -24px rgba(15, 23, 42, .45);
}

.nhr-author-hero__count i {
    color: #605DBA;
}

.nhr-author-content {
    padding: clamp(4.5rem, 6vw, 5.5rem) 0 1.5rem;
    background: #fff;
}

.nhr-author-content__header {
    max-width: 48rem;
    margin-bottom: 2.1rem;
}

.nhr-author-content__eyebrow {
    display: block;
    margin-bottom: .35rem;
    color: #605DBA;
    font-size: .68rem;
    font-weight: 850;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.rtl .nhr-author-content__eyebrow,
html[dir="rtl"] .nhr-author-content__eyebrow {
    font-size: .78rem;
    letter-spacing: 0;
    text-transform: none;
}

.nhr-author-content__title {
    margin: 0;
    color: #172033;
    font-size: clamp(1.8rem, 3vw, 2.45rem);
    font-weight: 860;
    line-height: 1.2;
    letter-spacing: -.025em;
    text-wrap: balance;
}

.rtl .nhr-author-content__title,
html[dir="rtl"] .nhr-author-content__title {
    line-height: 1.55;
    letter-spacing: 0;
}

.nhr-author-content__copy {
    max-width: 44rem;
    margin: .65rem 0 0;
    color: #748092;
    font-size: .9rem;
    line-height: 1.75;
}

.rtl .nhr-author-content__copy,
html[dir="rtl"] .nhr-author-content__copy {
    line-height: 1.95;
}

.nhr-author-content .nhr-editorial-load-more {
    margin-top: 3rem;
}

@media (max-width: 767px) {
    .nhr-author-hero {
        padding-top: 6.15rem;
        padding-bottom: 3.4rem;
    }

    .nhr-author-hero__profile {
        grid-template-columns: 1fr;
        gap: 1.65rem;
        text-align: center;
    }

    .nhr-author-hero__avatar-wrap {
        width: 6.25rem;
        height: 6.25rem;
        padding: .16rem;
        border-radius: 999px;
    }

    .nhr-author-hero__avatar {
        width: 5.66rem;
        height: 5.66rem;
        border-width: 2px;
        border-radius: 999px;
    }

    .nhr-author-hero__meta {
        justify-content: center;
    }

    .nhr-author-hero__bio {
        margin-inline: auto;
    }

    .nhr-author-content {
        padding-top: 3.8rem;
        padding-bottom: .75rem;
    }

    .nhr-author-content__header {
        margin-bottom: 1.6rem;
        text-align: center;
    }

    .nhr-author-content__copy {
        margin-inline: auto;
    }
}

@media (prefers-reduced-motion: reduce) {
    .nhr-author-hero__avatar-wrap,
    .nhr-author-hero__avatar {
        transition: none !important;
    }
}

/* ==========================================================================\n   Sprint C5 — Editorial fallbacks / 404\n   ========================================================================== */
.nhr-404-page {
    background: #fff;
    color: #0f172a;
}

.nhr-404-hero {
    position: relative;
    overflow: hidden;
    min-height: min(760px, calc(100vh - 76px));
    padding: clamp(6.5rem, 10vw, 9rem) 0 clamp(5rem, 8vw, 7rem);
    background:
        radial-gradient(circle at 14% 22%, rgba(96, 93, 186, .10), transparent 34%),
        radial-gradient(circle at 88% 72%, rgba(78, 205, 196, .11), transparent 30%),
        #f6f8fb;
    border-bottom: 1px solid #e6eaf1;
}

.nhr-404-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: .22;
    background-image: radial-gradient(rgba(96, 93, 186, .18) .75px, transparent .75px);
    background-size: 22px 22px;
    mask-image: linear-gradient(to bottom, #000 0%, transparent 82%);
}

.nhr-404-hero__glow {
    position: absolute;
    width: 23rem;
    height: 23rem;
    border-radius: 999px;
    filter: blur(18px);
    pointer-events: none;
}

.nhr-404-hero__glow--primary {
    inset-block-start: -13rem;
    inset-inline-start: 6%;
    background: rgba(96, 93, 186, .08);
}

.nhr-404-hero__glow--secondary {
    inset-block-end: -15rem;
    inset-inline-end: 4%;
    background: rgba(78, 205, 196, .09);
}

.nhr-404-hero__inner {
    position: relative;
    z-index: 1;
    max-width: 63rem;
    margin-inline: auto;
    text-align: center;
}

.nhr-404-hero__code {
    display: block;
    margin-bottom: .25rem;
    color: rgba(96, 93, 186, .12);
    font-size: clamp(5.5rem, 13vw, 9rem);
    font-weight: 850;
    line-height: .78;
    letter-spacing: -.07em;
}

.nhr-404-hero__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    margin-bottom: 1.15rem;
    color: #605dba;
    font-size: .76rem;
    font-weight: 800;
    letter-spacing: .13em;
    text-transform: uppercase;
}

html[dir="rtl"] .nhr-404-hero__eyebrow,
.rtl .nhr-404-hero__eyebrow {
    letter-spacing: 0;
    text-transform: none;
}

.nhr-404-hero__title {
    max-width: 51rem;
    margin: 0 auto 1.15rem;
    color: #0f172a;
    font-size: clamp(2.25rem, 5vw, 4.35rem);
    font-weight: 800;
    line-height: 1.04;
    letter-spacing: -.045em;
}

html[dir="rtl"] .nhr-404-hero__title,
.rtl .nhr-404-hero__title {
    line-height: 1.2;
    letter-spacing: 0;
}

.nhr-404-hero__copy {
    max-width: 46rem;
    margin: 0 auto 2rem;
    color: #64748b;
    font-size: clamp(1rem, 1.5vw, 1.125rem);
    line-height: 1.85;
}

.nhr-404-search {
    max-width: 45rem;
    margin: 0 auto 2rem;
    text-align: start;
}

.nhr-404-routes {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .8rem;
    max-width: 58rem;
    margin: 0 auto 1.65rem;
}

.nhr-404-route {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: .85rem;
    min-height: 5.25rem;
    padding: 1rem 1.05rem;
    color: #0f172a;
    text-align: start;
    text-decoration: none;
    background: rgba(255, 255, 255, .88);
    border: 1px solid #e3e8f1;
    border-radius: 1rem;
    box-shadow: 0 16px 38px -32px rgba(15, 23, 42, .34);
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.nhr-404-route:hover {
    transform: translateY(-2px);
    border-color: rgba(96, 93, 186, .32);
    box-shadow: 0 20px 42px -30px rgba(15, 23, 42, .38);
}

.nhr-404-route:focus-visible,
.nhr-404-home-link:focus-visible {
    outline: 3px solid rgba(96, 93, 186, .24);
    outline-offset: 3px;
}

.nhr-404-route__icon {
    display: grid;
    width: 2.5rem;
    height: 2.5rem;
    place-items: center;
    color: #605dba;
    background: #f0effd;
    border: 1px solid #dedcf9;
    border-radius: .8rem;
}

.nhr-404-route__body {
    min-width: 0;
}

.nhr-404-route__body strong,
.nhr-404-route__body small {
    display: block;
}

.nhr-404-route__body strong {
    margin-bottom: .18rem;
    font-size: .95rem;
    line-height: 1.3;
}

.nhr-404-route__body small {
    color: #64748b;
    font-size: .76rem;
    line-height: 1.45;
}

.nhr-404-route > .fa-arrow-right,
.nhr-404-route > .fa-arrow-left {
    color: #605dba;
    font-size: .78rem;
}

.nhr-404-home-link {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    color: #475569;
    font-size: .88rem;
    font-weight: 700;
    text-decoration: none;
}

.nhr-404-home-link:hover {
    color: #605dba;
}

@media (max-width: 767px) {
    .nhr-404-hero {
        min-height: auto;
        padding: 5.5rem 0 4.5rem;
    }

    .nhr-404-hero__code {
        font-size: 5.25rem;
    }

    .nhr-404-routes {
        grid-template-columns: 1fr;
    }

    .nhr-404-route {
        min-height: 4.8rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .nhr-404-route {
        transition: none !important;
    }

    .nhr-404-route:hover {
        transform: none;
    }
}
