/* Resources. Shared Nessa tokens and custom two-tone SVGs; backup styles stay intact. */
/* Editorial hero: an image-led composition, scoped away from every backup. */
.nr-hero--editorial.np-hero {
  padding: 116px 0 36px;
  background: radial-gradient(ellipse at 0% 15%, #eaf9ee 0%, transparent 48%), radial-gradient(ellipse at 95% 70%, #fff3e7 0%, transparent 42%), #fff;
}
.nr-hero--editorial .np-hero__grid { position: relative; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); align-items: center; gap: 64px; }
.nr-hero--editorial .np-hero__copy { position: relative; z-index: 1; min-width: 0; }
.nr-hero--editorial.nr-hero--empty .np-hero__copy { max-width: 680px; }
.nr-hero--editorial .nc-pill { margin-bottom: 18px; padding: 6px 12px; font-size: 10px; letter-spacing: .18em; }
.nr-hero--editorial .np-hero__title { max-width: 20ch; margin-bottom: 16px; font-size: clamp(36px, 3.8vw, 52px); font-weight: 750; letter-spacing: -.045em; line-height: 1.08; }
.nr-hero--editorial .np-hero__title .nc-gradient-text { position: relative; display: block; width: fit-content; padding-bottom: 10px; }
.nr-hero--editorial .np-hero__title .nc-gradient-text::after { content: ''; position: absolute; left: 2px; bottom: 0; width: 46%; height: 4px; border-radius: 50%; background: linear-gradient(90deg, #f58220, #f5822020); transform: rotate(-2deg); }
.nr-hero--editorial .np-hero__lede { max-width: 50ch; margin-bottom: 20px; color: var(--nc-body); font-size: 14px; line-height: 1.7; }
.nr-hero__actions { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin: 0 0 22px; }
.nr-hero__actions .nc-btn { min-height: 46px; padding: 0 18px; gap: 8px; font-size: 13px; }
.nr-hero__actions .nc-btn--ghost { border: 1px solid #dce6df; background: #fff; color: #1e5939; box-shadow: none; }
.nr-hero__actions .nc-btn--ghost:hover { background: #f0faf3; }
.nr-hero__actions .nc-btn svg { width: 17px; height: 17px; }
.nr-hero--editorial .np-hero__facts { max-width: none; grid-template-columns: 1fr 1fr 1.25fr; gap: 16px; margin-top: 8px; padding-top: 14px; border-top-color: #dde9e0; }
.nr-hero--editorial .np-hero__facts li { display: flex; align-items: baseline; gap: 7px; }
.nr-hero--editorial .np-hero__facts li+li { padding-left: 16px; border-left: 1px solid #dce7df; }
.nr-hero--editorial .np-hero__facts strong { color: #1e5939; background: none; font-size: 20px; font-weight: 750; white-space: nowrap; }
.nr-hero--editorial .np-hero__facts span { margin-top: 0; font-size: 10px; line-height: 1.4; }
/* The photograph and overlapping caption form one accessible article link. */
.nr-hero--editorial .nr-feature { position: relative; display: grid; grid-template-columns: minmax(0, 1fr); min-height: 0; margin: 8px 0 12px; border: 0; border-radius: 0; background: transparent; box-shadow: none; overflow: visible; isolation: isolate; }
.nr-hero--editorial .nr-feature::before { content: ''; position: absolute; z-index: -1; top: -14px; left: -18px; width: calc(100% + 36px); height: 300px; border: 1px solid #bddcc780; border-radius: 50%; background: none; transform: rotate(-14deg); }
.nr-hero--editorial .nr-feature::after { content: ''; position: absolute; z-index: -1; top: -18px; right: 8px; width: 100px; height: 68px; background-image: radial-gradient(#d39b6880 1.5px, transparent 1.5px); background-size: 12px 12px; }
.nr-hero--editorial .nr-feature__visual { position: relative; height: 288px; overflow: hidden; border-radius: 24px 76px 24px 24px; background: #e9f2ed; }
.nr-hero--editorial .nr-feature__visual::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, #10292008 35%, #10292080 100%); pointer-events: none; }
.nr-hero--editorial .nr-feature__visual>img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 42%; transition: transform .5s; }
.nr-hero--editorial .nr-feature:hover .nr-feature__visual>img { transform: scale(1.025); }
.nr-hero--editorial .nr-feature .np-hero__badge { z-index: 1; display: inline-flex; top: 16px; left: 16px; right: auto; gap: 6px; padding: 7px 11px; border: 1px solid #ffffff90; background: #fffffff2; color: #25382d; font-size: 10px; letter-spacing: 0; }
.nr-hero--editorial .nr-feature .np-hero__badge svg { width: 14px; height: 14px; color: #c66c20; }
.nr-hero--editorial .nr-feature__edition { position: absolute; z-index: 1; right: 18px; bottom: 70px; color: #fff; font-size: 11px; font-weight: 600; letter-spacing: .04em; }
.nr-hero--editorial .nr-feature__body { position: static; z-index: 1; margin: -60px 20px 0; padding: 18px 20px; border: 1px solid #e5ece7; border-radius: 18px; background: #fff; box-shadow: 0 4px 8px #11182704, 0 24px 40px -22px #173c2c30; }
.nr-hero--editorial .nr-feature__topic { gap: 7px; margin: 0 0 8px; padding: 0; background: none; color: #15803d; font-size: 10px; }
.nr-hero--editorial .nr-feature__topic .nrl-icon { width: 18px; height: 18px; }
.nr-hero--editorial .nr-feature__title { margin-bottom: 12px; color: var(--nc-ink); font-size: 19px; font-weight: 700; line-height: 1.35; }
.nr-hero--editorial .nr-feature__title-text { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.nr-hero--editorial .nr-feature__footer { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px 12px; padding-top: 10px; border-top: 1px solid #edf0ed; }
.nr-hero--editorial .nr-feature__meta { gap: 6px; margin: 0; color: #6b7280; font-size: 10px; }
.nr-hero--editorial .nr-feature__cta { min-height: 32px; padding: 0; gap: 7px; border-radius: 0; background: none; box-shadow: none; color: #b84f12; font-size: 11px; }
.nr-hero--editorial .nr-feature__cta-icon { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: #fff3e8; }
.nr-hero--editorial .nr-feature__cta svg { width: 14px; height: 14px; }
.nr-hero--editorial .nr-feature:has(.nr-feature__link:focus-visible) { outline: 2px solid #f58220; outline-offset: 5px; border-radius: 20px; }
@media (max-width: 1100px) and (min-width: 640px) {
  .nr-hero--editorial .np-hero__grid { gap: 32px; }
  .nr-hero--editorial .np-hero__title { font-size: 40px; }
  .nr-hero--editorial .np-hero__facts { gap: 10px; }
  .nr-hero--editorial .np-hero__facts li { flex-direction: column; gap: 4px; }
  .nr-hero--editorial .np-hero__facts li+li { padding-left: 10px; }
  .nr-hero--editorial .nr-feature__visual { height: 252px; border-top-right-radius: 52px; }
  .nr-hero--editorial .nr-feature__body { margin-inline: 10px; padding: 16px; }
  .nr-hero--editorial .nr-feature__title { font-size: 17px; }
  .nr-hero--editorial .nr-feature__edition { font-size: 10px; }
}
@media (max-width: 639px) {
  .nr-hero--editorial.np-hero { padding: 104px 0 28px; }
  .nr-hero--editorial .np-hero__grid { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .nr-hero__actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-bottom: 20px; }
  .nr-hero__actions .nc-btn { padding: 0 10px; gap: 6px; font-size: 12px; }
  .nr-hero__actions .nc-btn svg { width: 15px; height: 15px; }
  .nr-hero--editorial .nc-pill { margin-bottom: 14px; font-size: 9px; }
  .nr-hero--editorial .np-hero__title { margin-bottom: 14px; font-size: 38px; }
  .nr-hero--editorial .np-hero__lede { margin-bottom: 16px; font-size: 13px; line-height: 1.65; }
  .nr-hero--editorial .np-hero__facts { gap: 10px; margin-top: 4px; padding-top: 12px; }
  .nr-hero--editorial .np-hero__facts li { flex-direction: column; gap: 4px; align-items: flex-start; }
  .nr-hero--editorial .np-hero__facts li+li { padding-left: 12px; }
  .nr-hero--editorial .np-hero__facts strong { font-size: 19px; }
  .nr-hero--editorial .np-hero__facts span { font-size: 10px; }
  .nr-hero--editorial .nr-feature { margin: 0; }
  .nr-hero--editorial .nr-feature::before { top: -10px; left: -12px; width: calc(100% + 24px); height: 220px; }
  .nr-hero--editorial .nr-feature::after { top: -12px; right: 6px; width: 72px; height: 48px; }
  .nr-hero--editorial .nr-feature__visual { height: 200px; border-radius: 20px 56px 20px 20px; }
  .nr-hero--editorial .nr-feature .np-hero__badge { top: 12px; left: 12px; font-size: 9px; }
  .nr-hero--editorial .nr-feature__edition { right: 14px; bottom: 54px; font-size: 10px; }
  .nr-hero--editorial .nr-feature__body { margin: -44px 12px 0; padding: 14px; border-radius: 14px; }
  .nr-hero--editorial .nr-feature__title { margin-bottom: 10px; font-size: 16px; }
  .nr-hero--editorial .nr-feature__footer { gap: 6px 10px; padding-top: 8px; }
}
@media (prefers-reduced-motion: reduce) {
  .nr-hero--editorial .nr-feature__visual>img, .nr-hero--editorial .nr-feature__cta svg { transition: none; }
  .nr-hero--editorial .nr-feature:hover .nr-feature__visual>img, .nr-hero--editorial .nr-feature:hover .nr-feature__cta svg { transform: none; }
}
/* Document catalogue. Covers, typography and rules provide the hierarchy. */
.nrd { padding: 48px 0; scroll-margin-top: 112px; background: #fff; }
.nrd__heading { position: relative; display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: end; padding-top: 24px; margin-bottom: 32px; border-top: 2px solid var(--nc-green-dark, #15803d); }
.nrd__heading::before { content: ''; position: absolute; top: -2px; left: 0; width: 64px; height: 2px; background: var(--nc-orange, #f58220); }
.nrd__eyebrow { display: flex; align-items: center; gap: 10px; margin: 0 0 12px; color: var(--nc-green-dark, #15803d); font-size: 11px; line-height: 1.4; font-weight: 650; letter-spacing: .14em; text-transform: uppercase; }
.nrd__eyebrow::before { content: ''; width: 24px; height: 2px; background: var(--nc-orange, #f58220); }
.nrd__heading h2 { margin: 0; color: var(--nc-ink, #111827); font-size: clamp(28px, 3vw, 38px); font-weight: 650; line-height: 1.15; letter-spacing: -.035em; }
.nrd__heading .nc-gradient-text, .nrd-solutions__heading .nc-gradient-text { display: inline-block; }
.nrd__introduction { max-width: 56ch; }
.nrd__intro { margin: 0 0 8px; color: var(--nc-body, #4b5563); font-size: 14px; line-height: 1.6; }
.nrd__notice { margin: 0; color: #647068; font-size: 12px; line-height: 1.6; }
.nrd__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.nrd-card { position: relative; min-width: 0; }
.nrd-card__preview { display: grid; place-items: center; height: 280px; padding: 22px; background: var(--nc-peach, #fff3e8); }
.nrd-card:nth-child(2) .nrd-card__preview { background: var(--nc-field, #f8faf9); }
.nrd-card:nth-child(3) .nrd-card__preview { background: var(--nc-mint, #e9fbee); }
.nrd-card__preview img { display: block; width: auto; max-width: 100%; height: 236px; object-fit: contain; box-shadow: 0 3px 6px #142b2010, 0 10px 16px -8px #142b2038; }
.nrd-card__body { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; padding-top: 16px; }
.nrd-card__copy { min-width: 0; }
.nrd-card h3 { margin: 0; color: var(--nc-ink, #111827); font-size: 18px; font-weight: 650; letter-spacing: -.02em; line-height: 1.4; }
.nrd-card h3 a { color: inherit; text-decoration: none; }
.nrd-card h3 a::after { position: absolute; inset: 0; content: ''; }
.nrd-card:hover h3 { color: var(--nc-green-dark, #15803d); }
.nrd-card__action { display: inline-flex; align-items: center; flex-shrink: 0; gap: 8px; color: #b84f12; font-size: 12px; font-weight: 600; }
.nrd-card__action svg { width: 15px; height: 15px; }
.nrd-card:hover .nrd-card__action { text-decoration: underline; text-underline-offset: 4px; }
.nrd-card:has(a:focus-visible) { outline: 2px solid var(--nc-orange, #f58220); outline-offset: 5px; }
.nrd-card h3 a:focus-visible { outline: none; }
/* The twelve application guides are a document index, not another card grid. */
.nrd-solutions { margin-top: 44px; padding-top: 24px; border-top: 1px solid var(--nc-line, #e8ebef); }
.nrd-solutions__heading { display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: 12px 24px; margin-bottom: 20px; }
.nrd-solutions__heading h3 { margin: 0; color: var(--nc-ink, #111827); font-size: 24px; font-weight: 650; letter-spacing: -.025em; line-height: 1.3; }
.nrd-solutions__heading p { margin: 0; color: #647068; font-size: 12px; line-height: 1.5; }
.nrd-solutions__heading p span { margin: 0 6px; color: #9aa49d; }
.nrd-solutions__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 32px; margin: 0; padding: 0; list-style: none; }
.nrd-solutions__grid>li { min-width: 0; border-bottom: 1px solid var(--nc-line, #e8ebef); }
.nrd-guide { position: relative; isolation: isolate; display: flex; align-items: center; gap: 12px; min-height: 72px; height: 100%; padding: 14px 10px; border-radius: 10px; color: var(--nc-ink, #111827); text-decoration: none; }
.nrd-guide::before { content: ''; position: absolute; z-index: -1; inset: 5px 0; border-radius: 10px; background: #f2f8f4; opacity: 0; transition: opacity 160ms ease; pointer-events: none; }
.nrd-guide__icon { flex-shrink: 0; width: 24px; height: 26px; }
.nrd-guide__icon .nm-ico { width: 24px; height: 24px; }
.nrd-guide__title { flex: 1; min-width: 0; font-size: 14px; line-height: 1.5; font-weight: 550; overflow-wrap: anywhere; transition: color 160ms ease; }
.nrd-guide__action { flex-shrink: 0; display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; color: #6b7d70; transition: background-color 160ms ease; }
.nrd-guide__action svg { width: 15px; height: 15px; transition: transform 160ms ease; }
.nrd-guide:focus-visible::before, .nrd-guide:active::before { opacity: 1; }
.nrd-guide:focus-visible .nrd-guide__title { color: var(--nc-green-dark, #15803d); }
.nrd-guide:focus-visible .nrd-guide__action, .nrd-guide:active .nrd-guide__action { background: var(--nc-peach, #fff3e8); }
.nrd-guide:focus-visible { outline: 2px solid var(--nc-orange, #f58220); outline-offset: 2px; }
@media (hover: hover) {
  .nrd-guide:hover::before { opacity: 1; }
  .nrd-guide:hover .nrd-guide__title { color: var(--nc-green-dark, #15803d); }
  .nrd-guide:hover .nrd-guide__action { background: var(--nc-peach, #fff3e8); }
  .nrd-guide:hover .nrd-guide__action svg { transform: translate(2px, -2px); }
}
@media (prefers-reduced-motion: reduce) {
  .nrd-guide::before, .nrd-guide__title, .nrd-guide__action, .nrd-guide__action svg { transition: none; }
  .nrd-guide:hover .nrd-guide__action svg { transform: none; }
}
@media (max-width: 959px) {
  .nrd__heading { grid-template-columns: 1fr; gap: 16px; margin-bottom: 24px; }
  .nrd__introduction { max-width: 68ch; }
  .nrd__grid { gap: 20px; }
  .nrd-card__preview { height: 240px; padding: 16px; }
  .nrd-card__preview img { height: 208px; }
  .nrd-card__body { flex-direction: column; gap: 8px; padding-top: 12px; }
  .nrd-card h3 { font-size: 17px; }
  .nrd-solutions__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 28px; }
}
@media (max-width: 639px) {
  .nrd { padding: 32px 0; }
  .nrd__heading { padding-top: 20px; }
  .nrd__heading h2 { font-size: 30px; }
  .nrd__intro { font-size: 14px; }
  .nrd__grid { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .nrd-card { display: grid; grid-template-columns: 104px minmax(0, 1fr); gap: 20px; padding: 16px 0; border-bottom: 1px solid #e3e8e4; }
  .nrd-card:first-child { padding-top: 0; }
  .nrd-card__preview { height: 148px; padding: 10px; }
  .nrd-card__preview img { height: 128px; }
  .nrd-card__body { align-items: flex-start; justify-content: center; padding-top: 0; gap: 12px; }
  .nrd-card h3 { font-size: 17px; }
  .nrd-card__action { min-height: 32px; }
  .nrd-solutions { margin-top: 28px; padding-top: 20px; border-top: 0; }
  .nrd-solutions__heading { display: block; margin-bottom: 12px; }
  .nrd-solutions__heading h3 { margin-bottom: 8px; font-size: 23px; }
  .nrd-solutions__grid { grid-template-columns: minmax(0, 1fr); }
  .nrd-guide { min-height: 60px; padding: 12px 8px; }
  .nrd-guide__title { font-size: 14px; }
}

.nrl {
  --nrl-green: var(--nc-green-dark, #15803d);
  --nrl-ink: var(--nc-ink, #111827);
  --nrl-body: var(--nc-body, #4b5563);
  --nrl-muted: var(--nc-muted, #6b7280);
  --nrl-line: var(--nc-line, #e8ebef);
  --nrl-mint: var(--nc-mint, #e9fbee);
  --nrl-peach: var(--nc-peach, #fff3e8);
  --nrl-orange: var(--nc-orange, #f58220);
  padding: 40px 0;
  background: linear-gradient(180deg, #fff 0%, #f8fcf9 70%, #fff 100%);
  scroll-margin-top: 120px;
}
.nrl *, .nrl *::before, .nrl *::after { box-sizing: border-box; }
.nrl [hidden] { display: none !important; }
.nrl__intro.nc-section-head { max-width: 880px; margin-bottom: 24px; }
.nrl__intro .nc-pill { margin-bottom: 12px; }
.nrl__title { font-size: clamp(28px, 3vw, 36px); text-wrap: balance; }
.nrl__description.nc-section-sub { max-width: 720px; margin-top: 10px; font-size: 14px; }

/* Six distinct destinations, with the same peach/mint icon treatment as About. */
.nrl-tabs { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 8px; margin-bottom: 12px; padding: 4px; }
.nrl-tab {
  position: relative; display: flex; align-items: center; justify-content: center; gap: 8px;
  min-width: 0; min-height: 56px; padding: 8px 10px;
  border: 1px solid var(--nrl-line); border-radius: 12px; background: #fff;
  color: var(--nrl-ink); text-decoration: none;
  box-shadow: 0 2px 4px #11182703;
  transition: border-color .2s, background .2s, box-shadow .2s, transform .2s;
}
.nrl-tab:hover { border-color: #9cd8ac; transform: translateY(-2px); box-shadow: 0 8px 20px #15803d0c; }
.nrl-tab.is-active {
  border-color: #70c98c;
  background: linear-gradient(125deg, #fff9f2, #f0fcf3);
  box-shadow: 0 0 0 1px #16a34a16, 0 8px 24px #16a34a0e;
}
.nrl-tab.is-active::after { content: ''; position: absolute; bottom: -1px; left: 20px; right: 20px; height: 3px; border-radius: 3px 3px 0 0; background: linear-gradient(90deg, #f58220, #16a34a); }
.nrl-tab__icon { display: grid; place-items: center; flex-shrink: 0; width: 30px; height: 32px; border-radius: 9px; background: var(--nrl-peach); }
.nrl-tab:nth-child(even) .nrl-tab__icon { background: var(--nrl-mint); }
.nrl-tab.is-active .nrl-tab__icon { background: #fff; box-shadow: 0 2px 8px #15803d0a; }
.nrl-tab__icon .nrl-icon { width: 23px; height: 23px; }
.nrl-tab__copy { display: flex; align-items: center; gap: 7px; min-width: 0; }
.nrl-tab__label { font-size: 13px; line-height: 1.35; font-weight: 700; white-space: nowrap; }
.nrl-tab.is-active .nrl-tab__label { color: var(--nrl-green); }
.nrl-tab__count { display: grid; place-items: center; min-width: 22px; height: 22px; padding: 0 5px; border-radius: 7px; background: #f1f5f2; font-size: 11px; color: var(--nrl-body); font-variant-numeric: tabular-nums; }
.nrl-tab.is-active .nrl-tab__count { background: #fff; color: var(--nrl-green); }

/* Compact filter workbench; visual priority stays with the content types. */
.nrl-filters { display: flex; align-items: center; gap: 16px; padding: 12px; border: 1px solid var(--nrl-line); border-radius: 14px; background: linear-gradient(110deg, #fffaf5, #f6fcf7 65%); }
.nrl-filters__categories { flex: 1; min-width: 0; }
.nrl-label { display: flex; align-items: center; gap: 8px; min-height: 20px; margin: 0 0 12px; color: var(--nrl-body); font-size: 12px; font-weight: 650; }
.nrl-label .nrl-icon { width: 18px; height: 18px; }
.nrl-filters__search { width: 320px; flex-shrink: 0; }
.nrl-search { display: flex; align-items: center; gap: 10px; padding: 1px 1px 1px 14px; min-height: 48px; border: 1px solid #dce5df; border-radius: 999px; background: #fff; }
.nrl-search>.nrl-icon { width: 20px; height: 20px; }
.nrl-search input { width: 100%; min-width: 0; padding: 8px 0; border: 0; background: transparent; color: var(--nrl-ink); font: inherit; font-size: 14px; outline: none; }
.nrl-search input::placeholder { color: var(--nrl-muted); }
.nrl-search:focus-within { outline: 2px solid var(--nrl-green); outline-offset: 3px; }
.nrl-search button { display: grid; place-items: center; flex-shrink: 0; width: 44px; height: 44px; border: 1px solid #fde1c6; border-radius: 50%; background: var(--nrl-peach); cursor: pointer; transition: background .2s; }
.nrl-search button:hover { background: #ffe4cb; }
.nrl-search button .nrl-icon { width: 20px; height: 20px; }
.nrl-category-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.nrl-chip { display: flex; align-items: center; gap: 8px; min-height: 44px; padding: 9px 14px; border: 1px solid #e1e8e3; border-radius: 999px; background: #fff; color: var(--nrl-body); font-size: 12px; text-decoration: none; transition: border-color .2s, background .2s; }
.nrl-chip span { display: grid; place-items: center; min-width: 20px; height: 20px; padding: 0 4px; border-radius: 50%; background: #f3f6f4; color: var(--nrl-body); font-size: 10px; }
.nrl-chip:hover { border-color: #86c99a; }
.nrl-chip.is-active { border-color: #86c99a; background: var(--nrl-mint); color: #116c32; font-weight: 650; }
.nrl-chip.is-active span { background: #fff; color: #116c32; }
.nrl-category-select { position: relative; display: flex; align-items: center; max-width: 360px; }
.nrl-category-select select { appearance: none; width: 100%; min-height: 48px; padding: 10px 40px 10px 16px; border: 1px solid #dce5df; border-radius: 999px; background: #fff; color: var(--nrl-ink); font: inherit; font-size: 14px; cursor: pointer; }
.nrl-category-select>.nrl-icon { position: absolute; right: 16px; width: 18px; height: 18px; pointer-events: none; }
.nrl-category-select--mobile { display: none; }
/* Searchable category picker; the native select remains the no-JS fallback. */
.nrl-category-select.is-enhanced>.nrl-icon { display: none; }
.nrl-category-select--mobile.is-enhanced { display: flex; }
.nrl-filters__categories:has(.nrl-category-select.is-enhanced) .nrl-category-chips { display: none; }
.nrl-picker { position: relative; width: 100%; }
.nrl-category-trigger { display: flex; align-items: center; gap: 10px; width: 100%; min-height: 48px; padding: 10px 14px; border: 1px solid #dce5df; border-radius: 999px; background: #fff; color: var(--nrl-ink); font: inherit; font-size: 13px; text-align: left; cursor: pointer; transition: border-color .2s, box-shadow .2s; }
.nrl-category-trigger>.nrl-icon { width: 19px; height: 19px; flex-shrink: 0; }
.nrl-category-trigger>.nrl-icon:last-child { width: 16px; height: 16px; transition: transform .2s; }
.nrl-category-trigger[aria-expanded="true"] { border-color: #efbb91; box-shadow: 0 3px 12px #f5822010; }
.nrl-category-trigger[aria-expanded="true"]>.nrl-icon:last-child { transform: rotate(180deg); }
.nrl .nrl-category-trigger:focus-visible { outline: 2px solid var(--nrl-orange); outline-offset: 3px; }
.nrl-category-trigger__label { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nrl-picker__count { display: inline-grid; place-items: center; flex-shrink: 0; min-width: 24px; height: 22px; padding: 0 6px; border-radius: 6px; background: #f0f5f2; color: #53605a; font-size: 11px; font-variant-numeric: tabular-nums; }
.nrl-picker__panel { position: absolute; z-index: 40; top: calc(100% + 8px); left: 0; display: flex; flex-direction: column; width: 100%; max-height: var(--nrl-picker-height, 360px); padding: 8px; border: 1px solid #e2e8e4; border-radius: 16px; background: #fff; box-shadow: 0 4px 10px #11182708, 0 20px 48px -12px #11182726; }
.nrl-picker__panel[data-placement="above"] { top: auto; bottom: calc(100% + 8px); }
.nrl-picker__search { display: flex; align-items: center; flex-shrink: 0; gap: 8px; margin: 2px 2px 8px; padding: 0 12px; min-height: 44px; border: 1px solid #e3eae5; border-radius: 10px; background: #f8fbf9; }
.nrl-picker__search>.nrl-icon { width: 18px; height: 18px; }
.nrl-picker__search:focus-within { border-color: #b6cdbd; }
.nrl-picker__search input { min-width: 0; width: 100%; padding: 10px 0; border: 0; outline: none; background: transparent; color: var(--nrl-ink); font: inherit; font-size: 13px; }
.nrl-picker__search input::placeholder { color: var(--nrl-muted); }
.nrl-picker__list { min-height: 0; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: #d1ded5 transparent; }
.nrl-picker__group { margin-top: 4px; padding-top: 6px; border-top: 1px solid #f0f3f1; }
.nrl-picker__group-label { display: flex; align-items: center; gap: 8px; padding: 8px 10px 6px; color: #57675e; font-size: 10px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.nrl-picker__group-label>.nrl-icon { width: 18px; height: 18px; }
.nrl-picker__option { display: flex; align-items: center; gap: 10px; min-height: 44px; margin: 2px 0; padding: 10px; border-radius: 9px; color: var(--nrl-body); font-size: 13px; line-height: 1.45; cursor: pointer; }
.nrl-picker__option.is-highlighted { background: #fff5ec; color: var(--nrl-ink); }
.nrl-picker__option[aria-selected="true"] { background: var(--nrl-mint); color: #116c32; font-weight: 650; }
.nrl-picker__option-label { min-width: 0; flex: 1; overflow-wrap: anywhere; }
.nrl-picker__check { width: 14px; flex-shrink: 0; visibility: hidden; color: #15803d; font-size: 14px; }
.nrl-picker__option[aria-selected="true"] .nrl-picker__check { visibility: visible; }
.nrl-picker__empty { margin: 0; padding: 20px 12px; color: var(--nrl-muted); font-size: 13px; line-height: 1.6; text-align: center; }
.nrl-results-head { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin: 16px 0; }
.nrl-result-label { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin: 0; color: var(--nrl-ink); font-size: 14px; font-weight: 700; }
.nrl-result-label [data-resource-count] { color: var(--nrl-muted); font-size: 12px; font-weight: 400; }
.nrl-results-dot { width: 4px; height: 4px; border-radius: 50%; background: var(--nrl-orange); }
.nrl-order { display: flex; align-items: center; gap: 8px; color: var(--nrl-muted); font-size: 12px; white-space: nowrap; }
.nrl-order::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: #16a34a; }
.nrl-reset { display: flex; align-items: center; gap: 6px; min-height: 44px; color: var(--nrl-green); font-size: 12px; text-underline-offset: 3px; }
.nrl-reset .nrl-icon { width: 16px; height: 16px; }

/* Editorial cards: charcoal typography, warm actions and hand-drawn type badges. */
.nrl-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.nrl-card { position: relative; display: flex; flex-direction: column; min-width: 0; overflow: hidden; border: 1px solid var(--nrl-line); border-radius: 18px; background: #fff; box-shadow: 0 2px 3px #11182702, 0 16px 32px -24px #11182716; transition: transform .2s, border-color .2s, box-shadow .2s; }
.nrl-card:hover { transform: translateY(-4px); box-shadow: 0 4px 8px #11182704, 0 20px 40px -20px #15803d26; }
.nrl-card__media { position: relative; aspect-ratio: 2/1; overflow: hidden; background: var(--nrl-mint); }
.nrl-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s; }
.nrl-card:hover img { transform: scale(1.035); }
.nrl-card__media--placeholder { display: grid; place-items: center; background: radial-gradient(circle at 20% 15%, #fff0df, transparent 65%), linear-gradient(135deg, #f4fbf5, #e9fbee); }
.nrl-card__placeholder { display: grid; place-items: center; width: 80px; height: 80px; border: 1px solid #fff; border-radius: 24px; background: #ffffffbf; box-shadow: 0 12px 24px #15803d08; }
.nrl-card__placeholder .nrl-icon { width: 44px; height: 44px; }
.nrl-card__type { position: absolute; top: 12px; left: 12px; display: flex; align-items: center; gap: 6px; padding: 5px 9px; border: 1px solid #ffffffb3; border-radius: 999px; background: #fffffff5; color: #26382e; box-shadow: 0 2px 8px #11182708; font-size: 11px; font-weight: 650; }
.nrl-card__type .nrl-icon { width: 18px; height: 18px; }
.nrl-card__body { display: flex; flex-direction: column; flex: 1; padding: 18px; }
.nrl-card__category { display: flex; align-items: center; gap: 7px; margin: 0 0 8px; color: #15803d; font-size: 10px; line-height: 1.5; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.nrl-card__category::before { content: ''; flex-shrink: 0; width: 5px; height: 5px; border-radius: 50%; background: var(--nrl-orange); }
.nrl-card__title { margin: 0 0 8px; color: var(--nrl-ink); font-size: 17px; line-height: 1.4; letter-spacing: -.02em; font-weight: 700; overflow-wrap: anywhere; }
.nrl-card__title a { color: inherit; text-decoration: none; }
.nrl-card__title-text { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.nrl-card__title a::after { content: ''; position: absolute; inset: 0; }
.nrl-card__title a:hover { color: var(--nrl-green); }
.nrl-card__excerpt { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; margin: 0 0 16px; color: var(--nrl-body); font-size: 13px; line-height: 1.65; }
.nrl-card__footer { margin-top: auto; }
.nrl-card__meta { display: flex; flex-wrap: wrap; gap: 8px 16px; margin: 0 0 10px; color: var(--nrl-muted); font-size: 11px; }
.nrl-card__meta>span { display: inline-flex; align-items: center; gap: 6px; }
.nrl-card__meta .nrl-icon { width: 15px; height: 15px; }
.nrl-card__action { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding-top: 10px; border-top: 1px solid var(--nrl-line); color: #b84f12; font-size: 13px; font-weight: 700; }
.nrl-card__arrow { display: grid; place-items: center; width: 26px; height: 26px; border: 1px solid #ffead8; border-radius: 50%; background: var(--nrl-peach); transition: background .2s, transform .2s; }
.nrl-card__arrow .nrl-icon { width: 17px; height: 17px; }
.nrl-card:hover .nrl-card__arrow { background: #ffe6ce; transform: translateX(2px); }
.nrl-pagination { display: flex; justify-content: center; flex-wrap: wrap; gap: 16px; margin-top: 24px; }
.nrl-button { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 48px; padding: 12px 24px; border: 1px solid #15803d; border-radius: 999px; background: #15803d; color: #fff; text-decoration: none; font-size: 14px; font-weight: 650; transition: background .2s, box-shadow .2s; }
.nrl-button:hover { background: #116c32; color: #fff; box-shadow: 0 8px 20px #16a34a20; }
.nrl-button--light { border-color: #cbdad0; background: #fff; color: #116c32; }
.nrl-button--light:hover { background: var(--nrl-mint); color: #116c32; }
.nrl-button svg { width: 18px; height: 18px; }
.nrl-button:not(.nrl-button--light) .nrl-icon .gs { stroke: #fff; }
.nrl-button:not(.nrl-button--light) .nrl-icon .as { stroke: #ffd2a8; }
.nrl-empty { padding: 64px 24px; border: 1px dashed #b5d9bf; border-radius: 22px; background: #fff; text-align: center; }
.nrl-empty__icon { display: grid; place-items: center; width: 80px; height: 80px; margin: 0 auto 24px; border-radius: 24px; background: linear-gradient(135deg, var(--nrl-peach), var(--nrl-mint)); }
.nrl-empty__icon .nrl-icon { width: 40px; height: 40px; }
.nrl-empty>.nrl-label { justify-content: center; color: var(--nrl-green); }
.nrl-empty h3 { margin: 0 0 12px; color: var(--nrl-ink); font-size: 24px; line-height: 1.3; }
.nrl-empty>p:not(.nrl-label) { max-width: 48ch; margin: 0 auto; color: var(--nrl-body); font-size: 15px; line-height: 1.75; }
.nrl-empty__actions { display: flex; justify-content: center; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
.nrl :is(a,button,select):focus-visible { outline: 3px solid #15803d; outline-offset: 4px; }
.nrl-card:has(.nrl-card__title a:focus-visible) { outline: 2px solid var(--nrl-orange); outline-offset: 3px; }
.nrl-card__title a:focus-visible { outline: none; }
.nrl__status { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.nrl__status:empty { margin: 0; }
.nrl .nrl__status--error { position: static; width: auto; height: auto; margin: 12px 0 0; padding: 12px 16px; overflow: visible; clip: auto; clip-path: none; white-space: normal; border: 1px solid #f5c99f; border-radius: 12px; background: var(--nrl-peach); color: #854018; }
.nrl [aria-busy="true"] .nrl-grid { opacity: .6; }
.nrl-submit { padding: 10px 20px; border: 1px solid #15803d; border-radius: 999px; background: #fff; color: #15803d; }
.nessa-resources .nr-hero--empty .np-hero__grid { grid-template-columns: minmax(0,1fr); }
.nrl-related { padding: 48px 0; }
@media (max-width: 1199px) {
  .nrl-tabs { display: flex; overflow-x: auto; gap: 8px; padding-bottom: 8px; scrollbar-width: thin; scrollbar-color: #acd6b8 transparent; scroll-snap-type: x proximity; }
  .nrl-tab { min-width: 158px; flex: 1 0 auto; scroll-snap-align: start; }
}
@media (max-width: 959px) {
  .nrl-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .nrl-filters__search { width: 260px; }
}
@media (max-width: 639px) {
  .nrl { padding: 32px 0; }
  .nrl__intro.nc-section-head { margin-bottom: 20px; }
  .nrl__title { font-size: 27px; }
  .nrl__description.nc-section-sub { font-size: 13px; margin-top: 8px; }
  .nrl-tabs { margin: -4px -20px 12px; padding: 4px 20px 8px; scroll-padding-inline: 20px; }
  .nrl-tab { min-width: 150px; min-height: 52px; padding: 8px 10px; }
  .nrl-tab__label { font-size: 12px; }
  .nrl-filters { display: grid; grid-template-columns: minmax(0,1fr); gap: 8px; padding: 10px; }
  .nrl-filters__search { width: 100%; }
  .nrl-category-select { max-width: none; }
  .nrl-category-select--mobile { display: flex; }
  .nrl-category-chips { display: none; }
  .nrl-results-head { align-items: center; margin: 12px 0 16px; }
  .nrl-result-label { gap: 8px; font-size: 12px; }
  .nrl-result-label [data-resource-count] { font-size: 11px; }
  .nrl-order { display: none; }
  .nrl-grid { grid-template-columns: minmax(0,1fr); gap: 16px; }
  .nrl-card__body { padding: 16px; }
  .nrl-card__title { font-size: 17px; }
  .nrl-empty { padding: 32px 16px; }
  .nrl-empty h3 { font-size: 22px; }
  .nrl-reset { white-space: nowrap; }
}
@media (prefers-reduced-motion: reduce) {
  .nrl *, .nrl *::before, .nrl *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
  .nrl-card:hover, .nrl-card:hover img, .nrl-tab:hover, .nrl-card:hover .nrl-card__arrow { transform: none; }
}

.nrl-filters .nrl-label { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
