/* Only what theme.json cannot express. Keep small. */
:where(.wp-site-blocks) img { height: auto; max-width: 100%; }
/* block themes get no screen-reader-text rule from core: without it the search label "חיפוש" showed on every site */
.screen-reader-text { border: 0; clip-path: inset(50%); height: 1px !important; margin: -1px; overflow: hidden; padding: 0; position: absolute !important; width: 1px !important; word-wrap: normal !important; } /* !important: core gives the search label width: 100% */
.screen-reader-text:focus { clip-path: none; height: auto; width: auto; }

/* logo */
.ns-site-logo { flex-shrink: 0; display: inline-flex; align-items: center; text-decoration: none; color: inherit; }
.ns-site-logo svg { height: var(--ns-logo-h, 44px); width: var(--ns-logo-w, auto); max-width: 60vw; display: block; direction: ltr; } /* logos are drawn LTR: text-anchor would flip in an RTL page */
.ns-site-logo__text { font-weight: 800; font-size: 1.5rem; }

/* header / footer */
.ns-sticky { position: sticky; top: 0; z-index: 50; }
.admin-bar .ns-sticky { top: 32px; }
.ns-header--clean { box-shadow: 0 1px 0 color-mix(in srgb, var(--wp--preset--color--muted) 25%, transparent); }
.ns-trust-links ul, .ns-footer-cats { list-style: none; padding: 0; margin: 0; display: grid; gap: .35rem; }
.ns-footer--minimal .ns-trust-links ul { display: flex; flex-wrap: wrap; gap: 1rem; }

/* lead form */
.ns-hp { position: absolute !important; inset-inline-start: -9999px; width: 1px; height: 1px; overflow: hidden; }
.ns-lead-form { background: var(--wp--preset--color--background); color: var(--wp--preset--color--text); border-radius: var(--wp--custom--radius); padding: 1.5rem; }
.ns-lead-form__title { font-size: var(--wp--preset--font-size--lg); margin: 0 0 1rem; }
.ns-lead-form form { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: .75rem 1rem; align-items: end; }
.ns-lead-form form p { margin: 0; display: flex; flex-direction: column; gap: .25rem; }
.ns-lead-form input, .ns-lead-form textarea { font: inherit; padding: .6rem .75rem; border: 1px solid var(--wp--preset--color--muted); border-radius: calc(var(--wp--custom--radius) * .6); background: var(--wp--preset--color--surface); }
.ns-lead-form__notice { padding: .5rem .75rem; border-radius: 6px; background: #ecfdf5; }
.ns-lead-form__notice.is-error { background: #fef2f2; }

/* post meta / sponsored / author box */
.ns-sponsored { display: inline-flex; align-items: center; gap: .4rem; margin: 0 0 .5rem; font-size: var(--wp--preset--font-size--sm); color: var(--wp--preset--color--muted); }
.ns-sponsored a { color: inherit; }
.ns-sponsored__dot { width: .45rem; height: .45rem; border-radius: 50%; background: var(--wp--preset--color--accent); }
.ns-meta { display: flex; flex-wrap: wrap; gap: .4rem; align-items: center; font-size: var(--wp--preset--font-size--sm); color: var(--wp--preset--color--muted); margin: .25rem 0 1rem; }
.ns-meta a { color: var(--wp--preset--color--text); font-weight: 600; text-decoration: none; }
.ns-author-box { display: flex; gap: 1rem; padding: 1.25rem; border-radius: var(--wp--custom--radius); background: var(--wp--preset--color--background); margin-block: 2rem; }
.ns-author-box img { border-radius: 50%; flex: none; }
.ns-author-box p { margin: 0 0 .35rem; }
.ns-author-box__name { font-weight: 700; }

/* toc / chips / post lists */
.ns-toc { font-size: var(--wp--preset--font-size--sm); }
.ns-toc summary { font-weight: 700; cursor: pointer; margin-bottom: .5rem; }
.ns-toc ol { margin: 0; padding-inline-start: 1.1rem; display: grid; gap: .35rem; }
.ns-toc a { color: var(--wp--preset--color--text); text-decoration: none; }
.ns-toc a:hover { color: var(--wp--custom--accent-text); }
.ns-chips { display: flex; flex-wrap: wrap; gap: .4rem; }
.ns-chip { display: inline-block; padding: .3rem .8rem; border-radius: 999px; background: var(--wp--preset--color--background); color: var(--wp--preset--color--primary); font-size: var(--wp--preset--font-size--sm); text-decoration: none; border: 1px solid color-mix(in srgb, var(--wp--preset--color--primary) 15%, transparent); }
.ns-chip:hover, .ns-chip.is-current { background: var(--wp--preset--color--primary); color: var(--wp--preset--color--surface); }
.ns-postlist__title { font-size: var(--wp--preset--font-size--lg); margin: 0 0 .75rem; }
.ns-postlist__items { list-style: none; margin: 0; padding: 0; display: grid; gap: .9rem; }
.ns-postlist--grid .ns-postlist__items { grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); }
.ns-card { display: flex; gap: .75rem; align-items: flex-start; }
.ns-postlist--grid .ns-card { flex-direction: column; }
.ns-card__img img { width: 96px; aspect-ratio: 4/3; object-fit: cover; border-radius: calc(var(--wp--custom--radius) * .75); display: block; }
.ns-postlist--grid .ns-card__img img { width: 100%; aspect-ratio: 16/9; }
.ns-card__title { color: var(--wp--preset--color--primary); font-weight: 700; text-decoration: none; line-height: 1.4; display: block; }
.ns-card__date { font-size: .8rem; color: var(--wp--preset--color--muted); }
.ns-postlist--numbered .ns-postlist__items { counter-reset: none; }
.ns-card--num { align-items: baseline; }
.ns-card__n { font-weight: 900; font-size: 1.6rem; line-height: 1; color: var(--wp--custom--accent-text); min-width: 1.6rem; }
.ns-card--num a { color: var(--wp--preset--color--primary); font-weight: 600; text-decoration: none; }

/* templates */
.ns-kicker a { display: inline-block; font-size: var(--wp--preset--font-size--sm); font-weight: 700; color: var(--wp--custom--accent-text); text-decoration: none; }
.yoast-breadcrumbs, .yoast-breadcrumbs a { font-size: var(--wp--preset--font-size--sm); color: var(--wp--preset--color--muted); }
.ns-sticky-col { position: sticky; top: 90px; display: grid; gap: 1.5rem; }
@media (max-width: 781px) { .ns-sticky-col { position: static; } .ns-single__aside--toc { order: -1; } }
.ns-content { font-size: 1.0625rem; }
.ns-content :where(h2) { margin-top: 2.2em; scroll-margin-top: 90px; }
.ns-content img { border-radius: calc(var(--wp--custom--radius) * .75); }
.ns-table-wrap { overflow-x: auto; margin-block: 1.5rem; }
.ns-table-wrap table, .ns-content table { border-collapse: collapse; width: 100%; font-size: .95rem; }
.ns-content th, .ns-content td { border: 1px solid color-mix(in srgb, var(--wp--preset--color--muted) 30%, transparent); padding: .55rem .7rem; text-align: start; }
.ns-content th { background: var(--wp--preset--color--background); }
.ns-share { display: flex; flex-wrap: wrap; gap: .4rem; align-items: center; margin-block: 2rem 1rem; }
.ns-share__label { font-weight: 700; margin-inline-end: .25rem; }
.ns-share__btn { font: inherit; font-size: var(--wp--preset--font-size--sm); padding: .35rem .8rem; border-radius: 999px; border: 1px solid color-mix(in srgb, var(--wp--preset--color--primary) 20%, transparent); background: var(--wp--preset--color--surface); color: var(--wp--preset--color--primary); text-decoration: none; cursor: pointer; }
.ns-prevnext { border-top: 1px solid color-mix(in srgb, var(--wp--preset--color--muted) 25%, transparent); padding-top: 1rem; font-size: var(--wp--preset--font-size--sm); }
.ns-grid > li:first-child { grid-column: 1 / -1; }
.ns-grid > li:first-child .wp-block-post-title { font-size: var(--wp--preset--font-size--xl); }
.ns-archive__aside > * + * { margin-top: 2rem; }

/* --- homepage: feature cards ------------------------------------------------------------- */
.ns-section-title { font-size: var(--wp--preset--font-size--xl); margin: 0 0 1rem; }
.ns-section-title a { color: inherit; text-decoration: none; }
.ns-fc { display: flex; flex-direction: column; gap: .6rem; min-width: 0; position: relative; }
.ns-fc__title a::after { content: ""; position: absolute; inset: 0; }
.ns-fc__kicker { position: relative; z-index: 1; }
.ns-fc__img img { display: block; width: 100%; height: auto; aspect-ratio: 3/2; object-fit: cover; border-radius: var(--wp--custom--radius); }
.ns-fc__img--ph { aspect-ratio: 3/2; border-radius: var(--wp--custom--radius); background: linear-gradient(135deg, var(--wp--preset--color--primary), color-mix(in srgb, var(--wp--preset--color--secondary) 70%, var(--wp--preset--color--primary))); display: grid; place-items: center; padding: 1rem; }
a.ns-fc__img--ph { text-decoration: none; }
.wp-block-post-featured-image .ns-fc__img--ph { width: 100%; }
.ns-fc__img--ph span { color: #fff; font-weight: 800; font-size: var(--wp--preset--font-size--lg); text-align: center; opacity: .9; }
.ns-fc__body { display: flex; flex-direction: column; gap: .3rem; }
.ns-fc__kicker { font-size: .78rem; font-weight: 700; color: var(--wp--custom--accent-text); text-decoration: none; letter-spacing: .02em; }
.ns-fc__sponsored { font-size: .72rem; color: var(--wp--preset--color--muted); margin-inline-start: .5rem; }
.ns-fc__title { font-size: var(--wp--preset--font-size--md); line-height: 1.35; margin: 0; }
.ns-fc__title a { color: var(--wp--preset--color--text); text-decoration: none; }
.ns-fc__title a { text-decoration-line: underline; text-decoration-color: transparent; text-decoration-thickness: 2px; text-underline-offset: .22em; transition: text-decoration-color .15s; }
.ns-fc:hover .ns-fc__title a, .ns-fc__title a:focus-visible { text-decoration-color: currentColor; }
.ns-fc__excerpt { margin: 0; color: var(--wp--preset--color--muted); font-size: .95rem; }
.ns-fc__date { font-size: .78rem; color: var(--wp--preset--color--muted); }
.ns-fc--big .ns-fc__title { font-size: var(--wp--preset--font-size--xxl); }

/* lead-posts layouts */
.ns-lead { margin-block: 2rem; }
.ns-lead__items { display: grid; gap: 1.5rem; }
.ns-lead--grid .ns-lead__items { grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); }
.ns-lead--list .ns-lead__items .ns-fc { flex-direction: row; }
.ns-lead--list .ns-fc__img { flex: 0 0 38%; }
.ns-lead--cover .ns-fc { position: relative; }
.ns-lead--cover .ns-fc__img img { aspect-ratio: 21/9; }
.ns-lead--cover .ns-fc__body { position: absolute; inset: auto 0 0 0; padding: 2rem; background: linear-gradient(transparent, rgb(0 0 0 / .78)); border-radius: 0 0 var(--wp--custom--radius) var(--wp--custom--radius); }
.ns-lead--cover .ns-fc__title a, .ns-lead--cover .ns-fc__kicker, .ns-lead--cover .ns-fc__date, .ns-lead--cover .ns-fc__excerpt { color: #fff; }
@media (min-width: 782px) {
	.ns-lead--lead-plus-3 .ns-lead__items { grid-template-columns: 2fr 1fr; grid-template-rows: repeat(3, auto) 1fr; }
	.ns-lead--lead-plus-3 .ns-fc--big { grid-row: 1 / -1; }
	.ns-lead--lead .ns-lead__items { grid-template-columns: 2fr 1fr 1fr; }
}

/* category sections */
.ns-cat-block { margin-block: 2.5rem; }
.ns-cat-block__head { display: flex; align-items: baseline; gap: .75rem; border-top: 2px solid var(--wp--preset--color--text); padding-top: .7rem; margin-bottom: 1.25rem; }
.ns-cat-block__count { font-size: .85rem; color: var(--wp--preset--color--muted); margin-inline-end: auto; }
.ns-cat-block__head .ns-section-title { margin: 0 0 .4rem; }
.ns-cat-block__all { font-size: .85rem; font-weight: 600; color: var(--wp--custom--accent-text); text-underline-offset: .25em; white-space: nowrap; }
.ns-cat-block__items { display: grid; gap: 1.25rem; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); }
.ns-cat-block--list .ns-cat-block__items { grid-template-columns: 1fr; gap: 1rem; }
.ns-cat-block--list .ns-fc { flex-direction: row; }
.ns-cat-block--list .ns-fc__img { flex: 0 0 min(220px, 35%); }
.ns-cat-block--carousel .ns-cat-block__items { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: .5rem; }
.ns-cat-block--carousel .ns-fc { flex: 0 0 min(300px, 80%); scroll-snap-align: start; }
@media (min-width: 782px) {
	.ns-cat-block--lead-plus-3 .ns-cat-block__items { grid-template-columns: 2fr 1fr; grid-template-rows: repeat(3, auto) 1fr; }
	.ns-cat-block--lead-plus-3 .ns-fc--big { grid-row: 1 / -1; }
	.ns-cat-block--lead-plus-3 .ns-fc:not(.ns-fc--big) .ns-fc__title { font-size: var(--wp--preset--font-size--sm); }
	/* small companions of a lead story: square thumbnail, the title gets the width */
	:is(.ns-lead--lead-plus-3, .ns-cat-block--lead-plus-3) .ns-fc:not(.ns-fc--big) { flex-direction: row; align-items: flex-start; }
	:is(.ns-lead--lead-plus-3, .ns-cat-block--lead-plus-3) .ns-fc:not(.ns-fc--big) .ns-fc__img { flex: 0 0 96px; }
	:is(.ns-lead--lead-plus-3, .ns-cat-block--lead-plus-3) .ns-fc:not(.ns-fc--big) :is(.ns-fc__img img, .ns-fc__img--ph) { aspect-ratio: 1; }
	:is(.ns-lead--lead-plus-3, .ns-cat-block--lead-plus-3) .ns-fc:not(.ns-fc--big) .ns-fc__img--ph span { font-size: .75rem; }
}

/* heroes */
.ns-hero { padding-block: 2rem 1rem; display: flex; flex-direction: column; gap: .75rem; }
.ns-hero__title { font-size: var(--wp--preset--font-size--xxl); margin: 0; line-height: 1.15; }
.ns-hero__tagline { color: var(--wp--preset--color--muted); margin: 0; font-size: var(--wp--preset--font-size--lg); }
.ns-hero--chips { flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: space-between; padding-block: 1rem; }
.ns-hero--chips .ns-hero__title { font-size: var(--wp--preset--font-size--lg); }
.ns-hero--masthead { align-items: center; text-align: center; border-bottom: 1px solid color-mix(in srgb, var(--wp--preset--color--muted) 30%, transparent); padding-block: 2.5rem 1.5rem; }
.ns-hero--search, .ns-hero--gradient { align-items: center; text-align: center; padding: 3rem 1.5rem; border-radius: var(--wp--custom--radius); }
.ns-hero--search { background: var(--wp--preset--color--background); }
.ns-hero--gradient { background: linear-gradient(135deg, var(--wp--preset--color--primary), var(--wp--custom--button-bg)); color: #fff; }
.ns-hero--gradient .ns-hero__title, .ns-hero--gradient .ns-hero__title a { color: #fff; }
.ns-hero--gradient .ns-hero__tagline { color: rgb(255 255 255 / .85); }
.ns-hero__search { width: min(640px, 100%); }
.ns-hero__search .wp-block-search__input { padding: .9rem 1.1rem; font-size: 1.05rem; }

/* CTA + about band */
.ns-cta { margin-block: 3rem; }
.ns-cta--band { background: var(--wp--preset--color--primary); color: #fff; padding: 2.5rem; border-radius: var(--wp--custom--radius); }
.ns-cta--band .ns-lead-form { max-width: 720px; }
.ns-cta--card { background: var(--wp--preset--color--surface); box-shadow: var(--wp--custom--shadow); padding: 2rem; border-radius: var(--wp--custom--radius); }
.ns-cta--split { align-items: center; }
.ns-about-band { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 1rem; padding: 2.5rem 1rem; margin-top: 3rem; border-top: 1px solid color-mix(in srgb, var(--wp--preset--color--muted) 25%, transparent); }
.ns-about-band .ns-about-text { max-width: 680px; color: var(--wp--preset--color--muted); }
.ns-home-top { gap: 2rem; margin-block: 1.5rem; }

/* in-post building blocks */
.ns-takeaways, .ns-bottom-line { background: var(--wp--preset--color--background); border-inline-start: 4px solid var(--wp--preset--color--secondary); padding: 1.25rem 1.5rem; border-radius: var(--wp--custom--radius); margin-block: 2rem; }
.ns-takeaways .wp-block-heading, .ns-bottom-line .wp-block-heading { font-size: var(--wp--preset--font-size--lg); margin-top: 0; }
.ns-faq details { border-bottom: 1px solid color-mix(in srgb, var(--wp--preset--color--muted) 30%, transparent); padding-block: .75rem; }
.ns-faq summary { font-weight: 700; cursor: pointer; }
.ns-sources { font-size: .9rem; color: var(--wp--preset--color--muted); }
.ns-compare th { background: var(--wp--preset--color--primary); color: #fff; }

/* accessibility toolbar */
html { font-size: calc(100% * var(--ns-a11y-scale, 1)); }
.ns-a11y { position: fixed; inset-inline-start: 1rem; bottom: 1rem; z-index: 100; }
.ns-a11y__toggle { width: 48px; height: 48px; border-radius: 50%; border: 0; background: var(--wp--preset--color--primary); color: #fff; display: grid; place-items: center; cursor: pointer; box-shadow: var(--wp--custom--shadow); }
.ns-a11y__toggle:focus-visible, .ns-a11y__btn:focus-visible { outline: 3px solid var(--wp--preset--color--accent); outline-offset: 2px; }
.ns-a11y__panel { position: absolute; bottom: 58px; inset-inline-start: 0; width: 240px; background: var(--wp--preset--color--surface); color: var(--wp--preset--color--text); border-radius: var(--wp--custom--radius); box-shadow: 0 8px 30px rgb(0 0 0 / .2); padding: 1rem; display: grid; gap: .4rem; }
.ns-a11y__panel[hidden] { display: none; }
.ns-a11y__title { font-weight: 700; margin: 0 0 .25rem; }
.ns-a11y__size { display: grid; grid-template-columns: 1fr 1fr; gap: .4rem; }
.ns-a11y__btn { font: inherit; font-size: .9rem; padding: .5rem; border: 1px solid color-mix(in srgb, var(--wp--preset--color--muted) 40%, transparent); border-radius: calc(var(--wp--custom--radius) * .6); background: var(--wp--preset--color--background); color: inherit; cursor: pointer; text-align: start; }
.ns-a11y__btn[aria-pressed="true"] { background: var(--wp--preset--color--primary); color: #fff; }
.ns-a11y__statement { font-size: .85rem; text-align: center; }
.ns-a11y-contrast body { filter: contrast(1.35); background: #fff; }
.ns-a11y-links a { text-decoration: underline !important; outline: 1px dashed currentColor; }
.ns-a11y-readable body, .ns-a11y-readable :where(h1, h2, h3, h4, p, a, li, button) { font-family: Arial, "Assistant", sans-serif !important; letter-spacing: .02em; }
.ns-a11y-still *, .ns-a11y-still *::before, .ns-a11y-still *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
@media (prefers-reduced-motion: reduce) { * { scroll-behavior: auto !important; } }

/* --- 2026 design layer --------------------------------------------------------------------- */
/* One motion moment: the card image morphs into the article's featured image (cross-document, CSS only). */
@view-transition { navigation: auto; }
::view-transition-group(*) { animation-duration: .32s; animation-timing-function: cubic-bezier(.2, .7, .2, 1); }
@media (prefers-reduced-motion: reduce) { @view-transition { navigation: none; } ::view-transition-group(*), ::view-transition-old(*), ::view-transition-new(*) { animation: none !important; } }

:where(h1, h2, h3, .ns-fc__title, .ns-hero__title) { text-wrap: balance; }
:where(.ns-content p, .ns-fc__excerpt, .ns-about-text) { text-wrap: pretty; }

/* header: translucent, pill search. Under 1024px the menu is a full-screen overlay (button), from 1024px a row
   that wraps when it is long — never a scrolling strip: overflow and mask clipped the dropdowns and hid items.
   The blur only from 1024px: backdrop-filter makes the header the containing block of the fixed overlay, which
   then shrank to the header's height. */
.ns-header--clean { background-color: color-mix(in srgb, var(--wp--preset--color--surface) 86%, transparent) !important; }
@media (min-width: 1024px) { .ns-header--clean { backdrop-filter: saturate(1.4) blur(12px); -webkit-backdrop-filter: saturate(1.4) blur(12px); } }
.ns-header .wp-block-navigation { min-width: 0; flex: 1 1 auto; }
@media (min-width: 1024px) {
	.ns-header .wp-block-navigation__container { flex-wrap: wrap; justify-content: flex-start; column-gap: 1.35rem; row-gap: .15rem; }
	.ns-header .wp-block-navigation-item { white-space: nowrap; }
}
@media (min-width: 600px) and (max-width: 1023px) {
	.ns-header .wp-block-navigation { flex: 0 0 auto; order: 2; }
	.ns-header .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }
}

/* top-level links: an underline that draws in from the reading side */
.ns-header .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content { background: linear-gradient(currentColor, currentColor) no-repeat right bottom / 0 2px; padding-block: .3em; transition: background-size .35s cubic-bezier(.22, 1, .36, 1); }
.ns-header .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content:is(:hover, :focus-visible) { background-size: 100% 2px; }

/* desktop dropdowns: a card that drops in */
.ns-header .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__submenu-container { background: var(--wp--preset--color--surface) !important; color: var(--wp--preset--color--text) !important; border: 1px solid color-mix(in srgb, var(--wp--preset--color--text) 12%, transparent) !important; border-radius: 14px; box-shadow: 0 22px 50px -18px rgb(15 23 42 / .35); padding: .45rem !important; min-width: 230px !important; transform: translateY(8px); transition: opacity .2s ease, transform .3s cubic-bezier(.22, 1, .36, 1), visibility .2s; }
.ns-header .wp-block-navigation__responsive-container:not(.is-menu-open) .has-child:is(:hover, :focus-within) > .wp-block-navigation__submenu-container { transform: none; }
.ns-header .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__submenu-container .wp-block-navigation-item__content { color: inherit !important; padding: .5rem .8rem !important; border-radius: 9px; transition: background-color .2s, padding .25s; }
.ns-header .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__submenu-container .wp-block-navigation-item__content:is(:hover, :focus-visible) { background: color-mix(in srgb, var(--wp--preset--color--secondary) 12%, transparent); padding-inline-start: 1.1rem !important; }

/* full-screen menu: the site's own colour, a circle that opens from the menu button, items that rise in turn */
.ns-header .wp-block-navigation__responsive-container.is-menu-open { background: radial-gradient(120% 70% at 100% 110%, color-mix(in srgb, var(--wp--preset--color--accent) 38%, transparent), transparent 60%), var(--wp--preset--color--primary) !important; color: #fff !important; padding: max(1.25rem, env(safe-area-inset-top)) max(1.5rem, env(safe-area-inset-right)) max(2rem, env(safe-area-inset-bottom)) max(1.5rem, env(safe-area-inset-left)) !important; }
.ns-header .is-menu-open .wp-block-navigation__responsive-container-content { align-items: stretch !important; padding-top: 3.5rem !important; }
.ns-header .is-menu-open .wp-block-navigation__container { align-items: stretch !important; gap: 0 !important; width: 100%; }
.ns-header .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item { border-bottom: 1px solid rgb(255 255 255 / .14); }
.ns-header .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content { display: block; width: 100%; padding: .55rem 0 !important; color: #fff !important; font-family: var(--ns-font-heading, inherit); font-size: clamp(1.45rem, 6.2vw, 2.3rem); font-weight: 700; line-height: 1.2; background: none; transition: transform .3s cubic-bezier(.22, 1, .36, 1), color .2s; }
.ns-header .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content:is(:hover, :focus-visible) { transform: translateX(-.6rem); color: var(--wp--preset--color--accent) !important; }
.ns-header .is-menu-open .wp-block-navigation__submenu-container { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(9.5rem, 1fr)); gap: .4rem !important; padding: .2rem 0 1rem !important; }
.ns-header .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { color: #fff !important; padding: .45rem .8rem !important; border-radius: 999px; background: rgb(255 255 255 / .1); font-size: .95rem; transition: background-color .2s; }
.ns-header .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content:is(:hover, :focus-visible) { background: rgb(255 255 255 / .22); }
.ns-header .is-menu-open .wp-block-navigation__submenu-icon { display: none !important; }
.ns-header .is-menu-open .wp-block-navigation__responsive-container-close { color: #fff !important; width: 44px; height: 44px; display: grid; place-items: center; border-radius: 50%; background: rgb(255 255 255 / .12); top: max(1rem, env(safe-area-inset-top)) !important; }
.ns-header .is-menu-open .wp-block-navigation__responsive-container-close svg { width: 26px; height: 26px; }
.ns-header .wp-block-navigation__responsive-container-open { width: 44px; height: 44px; place-items: center; border-radius: 50%; }
@media (max-width: 1023px) { .ns-header .wp-block-navigation__responsive-container-open:not(.always-shown) { display: grid; } } /* from 1024px the menu is a row: core hides the button */
@media (prefers-reduced-motion: no-preference) {
	.ns-header .wp-block-navigation__responsive-container.is-menu-open { animation: ns-menu-open .6s cubic-bezier(.65, 0, .35, 1) both; }
	.ns-header .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item { animation: ns-menu-item .55s cubic-bezier(.22, 1, .36, 1) both; animation-delay: calc(.18s + var(--ns-i, 14) * 40ms); }
	.ns-header .is-menu-open .wp-block-navigation__responsive-container-close { animation: ns-menu-close .5s .2s cubic-bezier(.22, 1, .36, 1) both; }
}
.ns-header .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item:nth-child(1) { --ns-i: 0; }
.ns-header .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item:nth-child(2) { --ns-i: 1; }
.ns-header .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item:nth-child(3) { --ns-i: 2; }
.ns-header .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item:nth-child(4) { --ns-i: 3; }
.ns-header .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item:nth-child(5) { --ns-i: 4; }
.ns-header .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item:nth-child(6) { --ns-i: 5; }
.ns-header .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item:nth-child(7) { --ns-i: 6; }
.ns-header .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item:nth-child(8) { --ns-i: 7; }
.ns-header .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item:nth-child(9) { --ns-i: 8; }
.ns-header .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item:nth-child(10) { --ns-i: 9; }
.ns-header .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item:nth-child(11) { --ns-i: 10; }
.ns-header .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item:nth-child(12) { --ns-i: 11; }
.ns-header .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item:nth-child(13) { --ns-i: 12; }
@keyframes ns-menu-open { from { clip-path: circle(0 at 2.75rem 2.75rem); } to { clip-path: circle(150vmax at 2.75rem 2.75rem); } }
@keyframes ns-menu-item { from { opacity: 0; transform: translateY(1.2rem); } to { opacity: 1; transform: none; } }
@keyframes ns-menu-close { from { opacity: 0; transform: rotate(-90deg) scale(.6); } to { opacity: 1; transform: none; } }
.ns-header .wp-block-search { flex: 0 1 240px; min-width: 0; }
.ns-header .wp-block-search__inside-wrapper, .ns-header .wp-block-search__input { min-width: 0; }
@media (max-width: 599px) { .ns-header .wp-block-search { flex-basis: 150px; } }
.wp-block-search__inside-wrapper { border: 1px solid color-mix(in srgb, var(--wp--preset--color--text) 55%, transparent) !important; border-radius: 999px; padding: 4px !important; background: color-mix(in srgb, var(--wp--preset--color--text) 6%, var(--wp--preset--color--surface)); }
.wp-block-search__input { border: 0 !important; background: transparent !important; padding-inline: 1rem !important; border-radius: 999px; min-width: 0; }
.wp-block-search__button { border-radius: 999px !important; margin: 0 !important; }
.wp-block-search__inside-wrapper:focus-within { outline: 2px solid var(--wp--custom--accent-text); outline-offset: 2px; }
.ns-hero__search .wp-block-search__inside-wrapper { background: var(--wp--preset--color--surface); box-shadow: var(--wp--custom--shadow); }
.ns-dateline { margin: 0; font-size: .9rem; color: var(--wp--preset--color--muted); }

/* editorial: broadsheet masthead and an oversized lead headline */
.ns-dir-editorial .ns-hero--masthead { gap: .4rem; padding-block: 2.25rem 1.25rem; border-bottom: 4px double var(--wp--preset--color--text); }
.ns-dir-editorial .ns-hero--masthead .ns-hero__title { font-size: clamp(2.75rem, 7vw, 5.25rem); line-height: 1; letter-spacing: -.01em; }
.ns-dir-editorial .ns-lead--lead .ns-fc--big .ns-fc__title { font-size: clamp(1.75rem, 3.4vw, 2.85rem); line-height: 1.15; }
.ns-dir-editorial .ns-cat-block__head { border-top-width: 1px; }
.ns-dir-editorial .ns-cat-block__head .ns-section-title { font-size: clamp(1.4rem, 2.4vw, 1.9rem); }
@media (min-width: 782px) {
	.ns-dir-editorial .ns-lead--lead .ns-fc + .ns-fc, .ns-dir-editorial .ns-cat-block--grid4 .ns-fc + .ns-fc { border-inline-start: 1px solid color-mix(in srgb, var(--wp--preset--color--text) 18%, transparent); padding-inline-start: 1.25rem; }
}

/* portal: dense sections under solid tab headings */
.ns-dir-portal .ns-cat-block { margin-block: 2rem; }
.ns-dir-portal .ns-cat-block__head { border-top: 0; padding-top: 0; border-bottom: 2px solid var(--wp--preset--color--primary); align-items: flex-end; }
.ns-dir-portal .ns-cat-block__head .ns-section-title { margin: 0; padding: .4rem 1rem .35rem; background: var(--wp--preset--color--primary); border-radius: var(--wp--custom--radius) var(--wp--custom--radius) 0 0; font-size: var(--wp--preset--font-size--lg); }
.ns-dir-portal .ns-cat-block__head .ns-section-title a { color: #fff; }
.ns-dir-portal .ns-cat-block__count, .ns-dir-portal .ns-cat-block__all { padding-bottom: .35rem; }
.ns-dir-portal .ns-cat-block__items { gap: 1rem; }
.ns-dir-portal .ns-fc__title { font-size: 1rem; }
.ns-dir-portal .ns-hero--chips .ns-chips { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; max-width: 100%; }

/* modern: bento grid; the site title is the first tile */
.ns-dir-modern .ns-hero--bento { align-items: flex-start; text-align: start; gap: .6rem; padding: clamp(1.75rem, 4vw, 3rem); margin-top: 1.25rem; border-radius: calc(var(--wp--custom--radius) * 1.6); background: color-mix(in srgb, var(--wp--preset--color--primary) 9%, var(--wp--preset--color--surface)); }
.ns-dir-modern .ns-hero--bento .ns-hero__title { font-size: clamp(2.5rem, 7.5vw, 5.5rem); font-weight: 800; line-height: .95; color: var(--wp--preset--color--primary); }
.ns-dir-modern .ns-hero--bento .ns-hero__search { width: min(520px, 100%); margin-top: .5rem; }
@media (min-width: 900px) {
	.ns-dir-modern .ns-hero--bento { display: grid; grid-template-columns: 1fr minmax(320px, 440px); column-gap: 3rem; align-items: end; }
	.ns-dir-modern .ns-hero--bento .ns-hero__title, .ns-dir-modern .ns-hero--bento .ns-hero__tagline { grid-column: 1; }
	.ns-dir-modern .ns-hero--bento .ns-hero__search { grid-column: 2; grid-row: 1 / span 2; align-self: end; width: 100%; margin: 0; }
}
.ns-lead--bento .ns-lead__items { grid-template-columns: repeat(2, 1fr); gap: 1rem; }
.ns-lead--bento .ns-fc { background: var(--wp--preset--color--surface); border-radius: calc(var(--wp--custom--radius) * 1.6); padding: .6rem .6rem 1rem; }
.ns-lead--bento .ns-fc__body { padding-inline: .4rem; }
.ns-lead--bento .ns-fc--big { grid-column: 1 / -1; padding: 0; overflow: hidden; }
.ns-lead--bento .ns-fc--big .ns-fc__img img, .ns-lead--bento .ns-fc--big .ns-fc__img--ph { border-radius: 0; aspect-ratio: 4/3; }
.ns-lead--bento .ns-fc--big .ns-fc__body { position: absolute; inset: auto 0 0; padding: 1.5rem; background: linear-gradient(transparent, rgb(0 0 0 / .8)); }
.ns-lead--bento .ns-fc--big :is(.ns-fc__title a, .ns-fc__kicker, .ns-fc__date, .ns-fc__excerpt) { color: #fff; }
@media (min-width: 782px) {
	.ns-lead--bento .ns-lead__items { grid-template-columns: repeat(4, 1fr); }
	.ns-lead--bento .ns-fc--big { grid-column: span 2; grid-row: span 2; }
	.ns-lead--bento .ns-fc--big .ns-fc__img, .ns-lead--bento .ns-fc--big .ns-fc__img img { height: 100%; }
	.ns-lead--bento .ns-fc--big .ns-fc__title { font-size: clamp(1.6rem, 2.6vw, 2.4rem); }
}
.ns-dir-modern .ns-fc__kicker { align-self: flex-start; padding: .15rem .6rem; border-radius: 999px; color: color-mix(in srgb, var(--wp--custom--accent-text) 80%, #000); background: color-mix(in srgb, var(--wp--custom--accent-text) 10%, transparent); }
.ns-dir-modern .ns-cat-block__head { border-top: 0; padding-top: 0; }
.ns-dir-modern .ns-cat-block__head .ns-section-title { font-size: clamp(1.5rem, 2.6vw, 2rem); font-weight: 800; }

/* knowledge: the search field is the hero; sections read like a library index */
.ns-dir-knowledge .ns-hero--search { padding-block: clamp(2.5rem, 6vw, 4.5rem); gap: 1rem; }
.ns-dir-knowledge .ns-hero--search .ns-hero__title { font-size: clamp(2rem, 4.5vw, 3.25rem); }
.ns-dir-knowledge .ns-hero__search { width: min(720px, 100%); }
.ns-dir-knowledge .ns-hero__search .wp-block-search__input { min-height: 3.5rem; font-size: 1.15rem; }
.ns-dir-knowledge .ns-hero--search .ns-chips { justify-content: center; }
.ns-dir-knowledge .ns-cat-block__head { border-top-color: var(--wp--preset--color--primary); }
.ns-dir-knowledge .ns-cat-block__count { padding: .1rem .55rem; border-radius: 999px; background: color-mix(in srgb, var(--wp--preset--color--primary) 8%, transparent); color: var(--wp--preset--color--text); }
.ns-dir-knowledge .ns-cat-block--list .ns-fc { padding-bottom: 1rem; border-bottom: 1px solid color-mix(in srgb, var(--wp--preset--color--text) 10%, transparent); }

/* footer */
.ns-footer .ns-lead-form { background: color-mix(in srgb, var(--wp--preset--color--primary) 6%, var(--wp--preset--color--surface)); border-radius: calc(var(--wp--custom--radius) * 1.4); padding: clamp(1.25rem, 3vw, 2rem); }

/* article: fluid headline, reading progress (scroll-driven, no JS; browsers without support simply show no bar) */
.ns-single__head .wp-block-post-title { font-size: clamp(2rem, 4.2vw, 3.4rem); line-height: 1.12; }
.ns-single__head .ns-meta { margin-top: .25rem; }
@supports (animation-timeline: scroll()) {
@media (prefers-reduced-motion: no-preference) {
	.single .wp-site-blocks::before { content: ""; position: fixed; inset-block-start: 0; inset-inline: 0; height: 3px; z-index: 60; background: var(--wp--custom--accent-text); transform-origin: right; transform: scaleX(0); animation: ns-progress linear both; animation-timeline: scroll(root); }
	.admin-bar.single .wp-site-blocks::before { inset-block-start: 32px; }
	@keyframes ns-progress { to { transform: scaleX(1); } }
}
}

/* category archive: a real masthead for the section */
.ns-archive__head { padding-block: .5rem 1.25rem; margin-bottom: .5rem; border-bottom: 2px solid var(--wp--preset--color--text); }
.ns-archive__head .wp-block-query-title { font-size: clamp(2.25rem, 5vw, 3.75rem); line-height: 1.05; margin: .25rem 0 0; }
.ns-term-count { margin: 0; color: var(--wp--preset--color--muted); font-size: .95rem; }
.ns-archive__head .wp-block-term-description { max-width: 65ch; color: var(--wp--preset--color--muted); }
.ns-dir-portal .ns-archive__head { border-bottom-color: var(--wp--preset--color--primary); }
.ns-dir-editorial .ns-archive__head { border-bottom: 4px double var(--wp--preset--color--text); }
.ns-grid > li:first-child .wp-block-post-featured-image img { aspect-ratio: 2/1 !important; }
/* --- design review round ---------------------------------------------------------------------- */
/* card image ratio per site (identity "variant.ratio"); small companions stay square */
:root { --ns-card-ratio: 3/2; }
.ns-v-ratio-4x3 { --ns-card-ratio: 4/3; }
.ns-v-ratio-1x1 { --ns-card-ratio: 1/1; }
.ns-v-ratio-16x9 { --ns-card-ratio: 16/9; }
.ns-fc__img img, .ns-fc__img--ph { aspect-ratio: var(--ns-card-ratio); }

/* row cards: the placeholder must not stretch to the row height (it forced text into one letter per line) */
:is(.ns-cat-block--list, .ns-lead--list, .ns-lead--lead-plus-3, .ns-cat-block--lead-plus-3) .ns-fc { align-items: flex-start; }
.ns-fc__img--ph { min-width: 0; align-self: flex-start; }
.ns-fc__body { flex: 1 1 auto; min-width: 0; }

/* bento on phones: a taller lead tile so the overlay never clips the label */
@media (max-width: 781px) {
	.ns-lead--bento .ns-fc--big :is(.ns-fc__img img, .ns-fc__img--ph) { aspect-ratio: 4/5; }
	.ns-lead--bento .ns-fc--big .ns-fc__excerpt { display: none; }
	.ns-lead--bento .ns-fc--big .ns-fc__title { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
}

/* chips never squeeze into bubbles; on phones one scrolling row instead of 3–4 wrapped rows */
.ns-chip { white-space: nowrap; flex: none; }
@media (max-width: 599px) {
	:is(.ns-archive__head, .ns-hero) .ns-chips { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; scroll-snap-type: x proximity; mask-image: linear-gradient(to left, #000 85%, transparent); padding-inline-end: 1.5rem; }
	:is(.ns-archive__head, .ns-hero) .ns-chips::-webkit-scrollbar { display: none; }
	.ns-chip { scroll-snap-align: start; }
}

/* phones: header in two rows (logo + menu, then a full-width search), not sticky */
@media (max-width: 599px) {
	.ns-sticky { position: relative; } /* not sticky, but still above the page: the header is its own layer (view-transition-name) */
	.ns-header > .wp-block-group { flex-wrap: wrap; row-gap: .6rem; }
	.ns-header .wp-block-search { flex: 1 0 100%; order: 3; }
}

/* accessibility button on the side where RTL lines end ragged, clear of the home indicator */
.ns-a11y { inset-inline-start: auto; inset-inline-end: 1rem; bottom: max(1rem, env(safe-area-inset-bottom)); }
.ns-a11y__panel { inset-inline-start: auto; inset-inline-end: 0; }
@media (max-width: 599px) { .ns-a11y__toggle { width: 44px; height: 44px; } }

/* lead form: the site's sales tool */
.ns-lead-form__title { font-size: var(--wp--preset--font-size--xl); line-height: 1.2; }
.ns-lead-form form { grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: start; }
.ns-lead-form__field--wide, .ns-lead-form__actions { grid-column: 1 / -1; }
.ns-lead-form__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; }
.ns-lead-form__actions .wp-element-button { min-height: 48px; padding-inline: 2.25rem; font-size: 1rem; }
.ns-lead-form [aria-invalid="true"] { border-color: #b91c1c; box-shadow: 0 0 0 1px #b91c1c; }
.ns-lead-form__notice.is-error { color: #7f1d1d; }
@media (max-width: 599px) { .ns-lead-form form { grid-template-columns: 1fr; } }
.ns-dir-editorial .ns-footer .ns-lead-form { background: transparent; border-block: 1px solid color-mix(in srgb, var(--wp--preset--color--text) 30%, transparent); border-radius: 0; padding-inline: 0; }
.ns-dir-portal .ns-footer .ns-lead-form { background: var(--wp--preset--color--primary); color: #fff; }
.ns-dir-portal .ns-footer .ns-lead-form :is(.ns-lead-form__title, label) { color: #fff; }
.ns-dir-modern .ns-footer .ns-lead-form { box-shadow: var(--wp--custom--shadow); background: var(--wp--preset--color--surface); }

/* header variants (identity "variant.header") */
.ns-v-head-dark .ns-header { background-color: var(--wp--preset--color--primary) !important; color: #fff; box-shadow: none; }
/* white only on the dark bar itself: dropdown cards and the open menu keep their own colours */
.ns-v-head-dark .ns-header .wp-block-navigation__responsive-container-open,
.ns-v-head-dark .ns-header .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__container > .wp-block-navigation-item > :is(.wp-block-navigation-item__content, .wp-block-navigation__submenu-icon) { color: #fff; }
.ns-v-head-dark .ns-header .wp-block-search__inside-wrapper { background: rgb(255 255 255 / .14); }
.ns-v-head-dark .ns-header .wp-block-search__input { color: #fff; }
.ns-v-head-dark .ns-header .wp-block-search__input::placeholder { color: rgb(255 255 255 / .75); }
.ns-v-head-dark .ns-header .ns-site-logo svg text { fill: #fff; }
@media (min-width: 1024px) {
	.ns-v-head-centered .ns-header > .wp-block-group { flex-wrap: wrap; justify-content: center; row-gap: .5rem; }
	.ns-v-head-centered .ns-header .ns-site-logo { flex: 1 0 100%; justify-content: center; }
	.ns-v-head-centered .ns-header .wp-block-navigation { flex: 0 1 auto; }
	.ns-v-head-centered .ns-header .wp-block-navigation__container { justify-content: center; }
}

/* footer variants (identity "variant.footer") */
.ns-v-foot-dark .ns-footer { background-color: var(--wp--preset--color--primary) !important; color: #fff; }
.ns-v-foot-dark .ns-footer :is(a, h2, .ns-about-text, .ns-copyright) { color: #fff; }
.ns-v-foot-dark .ns-footer .ns-chip { background: rgb(255 255 255 / .1); border-color: rgb(255 255 255 / .3); color: #fff; }
.ns-v-foot-dark .ns-footer .ns-site-logo svg text { fill: #fff; }
.ns-v-foot-dark .ns-footer .ns-lead-form { background: rgb(255 255 255 / .08); color: #fff; }
.ns-v-foot-dark .ns-footer .ns-lead-form :is(.ns-lead-form__title, label) { color: #fff; }

/* editorial home: the masthead is the logo; no second, smaller one right above it */
.home.ns-dir-editorial .ns-header .ns-site-logo { display: none; }

/* portal: edition bar (date + title on one line, sections below) */
.ns-hero--edition { display: grid; grid-template-columns: auto 1fr; align-items: baseline; column-gap: 1rem; padding-block: .75rem; border-bottom: 1px solid color-mix(in srgb, var(--wp--preset--color--text) 15%, transparent); }
.ns-hero--edition .ns-hero__title { font-size: var(--wp--preset--font-size--lg); }
.ns-hero--edition .ns-dateline { grid-column: 2; grid-row: 1; justify-self: end; }
.ns-hero--edition .ns-chips { grid-column: 1 / -1; margin-top: .5rem; }

/* knowledge: topic index under the search */
.ns-topics { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: .6rem; margin-block: 1.25rem 2rem; }
.ns-topic { display: flex; flex-direction: column; gap: .15rem; padding: .8rem 1rem; border-radius: var(--wp--custom--radius); background: var(--wp--preset--color--surface); border: 1px solid color-mix(in srgb, var(--wp--preset--color--primary) 14%, transparent); color: var(--wp--preset--color--text); text-decoration: none; }
.ns-topic:hover, .ns-topic:focus-visible { border-color: var(--wp--preset--color--primary); }
.ns-topic__name { font-weight: 700; line-height: 1.3; }
.ns-topic__count { font-size: .8125rem; color: var(--wp--preset--color--muted); }

/* type: bigger article text, no tracking on Hebrew labels, readable minimum for small meta */
.ns-content { font-size: clamp(1.0625rem, 1rem + .35vw, 1.1875rem); }
.ns-fc__kicker { letter-spacing: 0; font-size: .8125rem; }
:is(.ns-fc__date, .ns-card__date, .ns-fc__sponsored, .ns-card__sponsored) { font-size: .8125rem; }
.ns-card__sponsored { display: block; color: var(--wp--preset--color--muted); }

/* category page: the side column follows the reader; three columns on wide screens */
@media (min-width: 782px) { .ns-archive__aside { position: sticky; top: 90px; align-self: flex-start; } }
@media (min-width: 1100px) { .ns-archive .ns-grid.wp-block-post-template { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; } }

/* article details */
@media (max-width: 781px) { .ns-single__aside--toc .ns-chips { display: none; } }
.ns-share__btn { min-height: 44px; display: inline-flex; align-items: center; }
.ns-table-wrap table { min-width: 560px; }

/* display faces with a single weight (Suez One, Bellefair, Secular One...): never fake a bold */
:where(h1, h2, h3, h4, h5, h6, .ns-fc__title, .ns-card__title) { font-synthesis-weight: none; }

/* --- motion & article layer ---------------------------------------------------------------------
   Every state at rest is the finished one: entrances are animations from a hidden start, scroll reveals
   are scroll-driven (no JS) and only where supported, and nothing moves under reduced motion or the
   accessibility toolbar's "stop animations" (.ns-a11y-still above). */
@property --ns-angle { syntax: "<angle>"; inherits: false; initial-value: 0deg; }

/* page to page: the header stays, the page slides in from the reading side */
.ns-header { view-transition-name: ns-header; }
/* the open menu lives inside the header's layer: lift that layer over the page and the accessibility button */
.ns-header:has(.is-menu-open) { z-index: 100001; }
@media (prefers-reduced-motion: no-preference) {
	::view-transition-old(root) { animation: ns-vt-out .26s cubic-bezier(.4, 0, 1, 1) both; }
	::view-transition-new(root) { animation: ns-vt-in .5s cubic-bezier(.22, 1, .36, 1) both; }
}
@keyframes ns-vt-out { to { opacity: 0; transform: translateX(-2.5%) scale(.99); } }
@keyframes ns-vt-in { from { opacity: 0; transform: translateX(3%); } }

/* arriving: the opening block builds up in sequence */
@media (prefers-reduced-motion: no-preference) {
	:is(.ns-hero, .ns-archive__head, .ns-single__head) > * { animation: ns-rise .8s cubic-bezier(.22, 1, .36, 1) both; }
	:is(.ns-hero, .ns-archive__head, .ns-single__head) > :nth-child(2) { animation-delay: .08s; }
	:is(.ns-hero, .ns-archive__head, .ns-single__head) > :nth-child(3) { animation-delay: .16s; }
	:is(.ns-hero, .ns-archive__head, .ns-single__head) > :nth-child(n+4) { animation-delay: .24s; }
	:is(.ns-hero__title, .ns-archive__head .wp-block-query-title, .ns-single__head .wp-block-post-title) { animation-name: ns-title-in; animation-duration: 1s; }
	.ns-lead__items > * { animation: ns-rise .9s cubic-bezier(.22, 1, .36, 1) both; animation-delay: .2s; }
	.ns-lead__items > :nth-child(2) { animation-delay: .3s; }
	.ns-lead__items > :nth-child(3) { animation-delay: .4s; }
	.ns-lead__items > :nth-child(n+4) { animation-delay: .5s; }
}
/* opacity starts just above 0 so the largest image/heading still counts as painted at once (LCP) */
@keyframes ns-rise { from { opacity: .01; transform: translateY(22px); } }
@keyframes ns-title-in { from { opacity: .01; transform: translateY(28px); filter: blur(8px); } }

/* scrolling: sections, cards and article blocks rise into place as they enter the screen */
@supports (animation-timeline: view()) {
	@media (prefers-reduced-motion: no-preference) {
		:is(.ns-cat-block__items, .ns-postlist__items, .ns-topics, .wp-block-post-template) > *,
		.ns-content > :is(p, ul, ol, h2, h3, h4, figure, .ns-table-wrap, .ns-sec, table, blockquote, .wp-block-image) {
			animation: ns-reveal linear both; animation-timeline: view(); animation-range: entry 0% entry 60%;
		}
		.ns-cat-block__head { animation: ns-wipe linear both; animation-timeline: view(); animation-range: entry 10% entry 70%; }
		.ns-content :is(figure, .wp-block-image, p > img:only-child) img { animation: ns-unveil linear both; animation-timeline: view(); animation-range: entry 0% cover 35%; }
	}
}
@keyframes ns-reveal { from { opacity: 0; transform: translateY(34px) scale(.985); } }
@keyframes ns-wipe { from { clip-path: inset(0 0 0 100%); } to { clip-path: inset(0); } }
@keyframes ns-unveil { from { clip-path: inset(9% 7% round 18px); transform: scale(1.08); } to { clip-path: inset(0 round 0); transform: none; } }

/* cards: lift, image zoom, a press on touch */
.ns-fc__img { overflow: hidden; border-radius: var(--wp--custom--radius); }
.ns-lead--bento .ns-fc--big .ns-fc__img { border-radius: 0; }
.ns-fc__img img, .wp-block-post-featured-image img { transition: transform .8s cubic-bezier(.22, 1, .36, 1), filter .5s; }
.wp-block-post-template .wp-block-post-featured-image { overflow: hidden; border-radius: var(--wp--custom--radius); }
@media (hover: hover) {
	.ns-fc:hover .ns-fc__img img, .wp-block-post-template li:hover .wp-block-post-featured-image img { transform: scale(1.06); filter: saturate(1.15); }
	.ns-topic, .ns-chip { transition: transform .3s cubic-bezier(.22, 1, .36, 1), box-shadow .3s, background-color .2s, color .2s; }
	.ns-topic:hover, .ns-chip:hover { transform: translateY(-3px); box-shadow: 0 12px 26px -16px color-mix(in srgb, var(--wp--preset--color--primary) 60%, transparent); }
}
.ns-fc, .wp-block-post-template > li { transition: transform .2s ease; }
.ns-fc:active, .wp-block-post-template > li:active { transform: scale(.985); }

/* buttons: a light sweep on hover */
.wp-element-button, .wp-block-search__button { position: relative; overflow: hidden; transition: transform .25s cubic-bezier(.22, 1, .36, 1), box-shadow .25s; }
.wp-element-button::after, .wp-block-search__button::after { content: ""; position: absolute; inset: 0; background: linear-gradient(105deg, transparent 35%, rgb(255 255 255 / .38) 50%, transparent 65%); transform: translateX(110%); transition: transform .7s cubic-bezier(.22, 1, .36, 1); pointer-events: none; }
@media (hover: hover) {
	.wp-element-button:hover, .wp-block-search__button:hover { transform: translateY(-2px); box-shadow: 0 14px 28px -14px color-mix(in srgb, var(--wp--preset--color--primary) 70%, transparent); }
	.wp-element-button:hover::after, .wp-block-search__button:hover::after { transform: translateX(-110%); }
}

/* --- the article ---------------------------------------------------------------------------- */
/* links: an underline that settles into place as the link scrolls in, a highlighter that sweeps
   across on hover, and an arrow that jumps toward the other site on outbound links */
.ns-content a:not(.wp-element-button, .ns-chip, .ns-share__btn) {
	color: var(--wp--custom--accent-text); font-weight: 600; text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: .22em;
	text-decoration-color: color-mix(in srgb, currentColor 45%, transparent);
	background: linear-gradient(color-mix(in srgb, var(--wp--preset--color--accent) 32%, transparent), color-mix(in srgb, var(--wp--preset--color--accent) 32%, transparent)) no-repeat right bottom / 0 100%;
	border-radius: .2em; padding-inline: .12em; margin-inline: -.12em; -webkit-box-decoration-break: clone; box-decoration-break: clone;
	transition: background-size .5s cubic-bezier(.22, 1, .36, 1), color .25s, text-decoration-color .25s;
}
.ns-content a:not(.wp-element-button, .ns-chip, .ns-share__btn):is(:hover, :focus-visible) { background-size: 100% 100%; color: var(--wp--preset--color--text); text-decoration-color: var(--wp--preset--color--accent); }
.ns-content a.ns-ext::after { content: ""; display: inline-block; width: .72em; height: .72em; margin-inline-start: .28em; vertical-align: .02em; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17 17 7 7M7 16V7h9'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17 17 7 7M7 16V7h9'/%3E%3C/svg%3E") center / contain no-repeat; transition: transform .35s cubic-bezier(.34, 1.56, .64, 1); }
.ns-content a.ns-ext:is(:hover, :focus-visible)::after { transform: translate(-.2em, -.2em) scale(1.15); }
@supports (animation-timeline: view()) {
	@media (prefers-reduced-motion: no-preference) {
		.ns-content a:not(.wp-element-button, .ns-chip, .ns-share__btn) { animation: ns-link-in linear both; animation-timeline: view(); animation-range: entry 40% cover 30%; }
	}
}
@keyframes ns-link-in { from { text-decoration-color: transparent; text-underline-offset: .7em; } }
/* paid links in the sensitive niches: a plain text link, no colour, highlighter or motion */
.ns-content a.ns-quiet-link, .ns-content a.ns-quiet-link:is(:hover, :focus-visible) {
	color: inherit; font-weight: inherit; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .15em;
	text-decoration-color: color-mix(in srgb, currentColor 45%, transparent); background: none; padding-inline: 0; margin-inline: 0; animation: none; transition: none;
}

/* the opening paragraph */
.ns-content .ns-intro { font-size: 1.16em; line-height: 1.75; color: var(--wp--preset--color--text); }
.ns-dir-editorial .ns-content .ns-intro::first-letter { float: inline-start; font-family: var(--ns-font-heading, inherit); font-size: 3.6em; line-height: .82; font-weight: 700; color: var(--wp--preset--color--primary); margin-inline-end: .12em; margin-top: .08em; }
@supports (initial-letter: 3) { .ns-dir-editorial .ns-content .ns-intro::first-letter { float: none; font-size: inherit; line-height: inherit; initial-letter: 3; margin-top: 0; } }
:is(.ns-dir-portal, .ns-dir-modern) .ns-content .ns-intro::first-line { font-weight: 700; color: var(--wp--preset--color--primary); }
.ns-dir-knowledge .ns-content .ns-intro { padding-inline-start: 1.1rem; border-inline-start: 4px solid var(--wp--preset--color--secondary); }

/* headings: an accent stroke that draws in; question headings carry a speech bubble */
.ns-content > h2, .ns-sec > h2 { position: relative; padding-top: 1rem; }
.ns-content > h2::before { content: ""; position: absolute; top: 0; inset-inline-start: 0; width: 3.25rem; height: 5px; border-radius: 5px; background: linear-gradient(to left, var(--wp--preset--color--secondary), var(--wp--preset--color--accent)); transform-origin: right; }
.ns-content :is(h2, h3).ns-q::after { content: ""; display: inline-block; width: .8em; height: .8em; margin-inline-start: .35em; vertical-align: .05em; background: var(--wp--preset--color--accent); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 4h16a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H9l-5 4v-4a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2z'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 4h16a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H9l-5 4v-4a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2z'/%3E%3C/svg%3E") center / contain no-repeat; }
@supports (animation-timeline: view()) {
	@media (prefers-reduced-motion: no-preference) {
		.ns-content > h2::before { animation: ns-stroke linear both; animation-timeline: view(); animation-range: entry 30% cover 35%; }
		.ns-content :is(h2, h3).ns-q::after { animation: ns-pop linear both; animation-timeline: view(); animation-range: entry 50% cover 35%; }
	}
}
@keyframes ns-stroke { from { transform: scaleX(0); } }
@keyframes ns-pop { 0% { transform: scale(0) rotate(-25deg); } 70% { transform: scale(1.25) rotate(6deg); } }

/* bold phrases: a highlighter that draws across as you read */
.ns-content p > strong { background: linear-gradient(transparent 60%, color-mix(in srgb, var(--wp--preset--color--accent) 34%, transparent) 60%) no-repeat right / 100% 100%; -webkit-box-decoration-break: clone; box-decoration-break: clone; }
@supports (animation-timeline: view()) {
	@media (prefers-reduced-motion: no-preference) {
		.ns-content p > strong { animation: ns-mark linear both; animation-timeline: view(); animation-range: entry 100% cover 45%; }
	}
}
@keyframes ns-mark { from { background-size: 0 100%; } }

/* lists */
.ns-content ul:not([class]) > li::marker { color: var(--wp--preset--color--secondary); font-size: 1.15em; }
.ns-content ul:not([class]) > li, .ns-content ol > li { margin-block: .45rem; }
.ns-content ol:not([class], [start], [reversed], [type]) { list-style: none; counter-reset: ns-ol; padding-inline-start: 0; }
.ns-content ol:not([class], [start], [reversed], [type]) > li { counter-increment: ns-ol; position: relative; padding-inline-start: 2.6rem; }
.ns-content ol:not([class], [start], [reversed], [type]) > li::before { content: counter(ns-ol); position: absolute; inset-inline-start: 0; top: .1em; width: 1.8rem; height: 1.8rem; border-radius: 50%; display: grid; place-items: center; background: var(--wp--preset--color--primary); color: #fff; font-size: .85rem; font-weight: 700; box-shadow: 0 0 0 4px color-mix(in srgb, var(--wp--preset--color--primary) 14%, transparent); }
.ns-content ul.ns-terms { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr)); gap: .8rem; margin-block: 1.75rem; }
.ns-content ul.ns-terms > li { margin: 0; padding: 1rem 1.15rem; border-radius: var(--wp--custom--radius); background: var(--wp--preset--color--surface); border: 1px solid color-mix(in srgb, var(--wp--preset--color--primary) 12%, transparent); box-shadow: 0 1px 0 color-mix(in srgb, var(--wp--preset--color--primary) 8%, transparent); transition: transform .35s cubic-bezier(.22, 1, .36, 1), box-shadow .35s, border-color .25s; }
.ns-content ul.ns-terms > li > :is(strong, b):first-child { color: var(--wp--preset--color--primary); font-size: 1.04em; }
@media (hover: hover) { .ns-content ul.ns-terms > li:hover { transform: translateY(-4px); border-color: var(--wp--preset--color--secondary); box-shadow: 0 18px 34px -22px color-mix(in srgb, var(--wp--preset--color--primary) 70%, transparent); } }

/* sections: the summary in a card with a slowly turning gradient frame, notes as callouts, FAQ as cards */
.ns-sec { margin-block: 2.75rem; padding: clamp(1.25rem, 3.5vw, 2.1rem); border-radius: calc(var(--wp--custom--radius) * 1.5); }
.ns-sec > h2 { margin-top: 0; }
.ns-sec > :last-child { margin-bottom: 0; }
.ns-sec--summary { border: 2px solid transparent; background: linear-gradient(var(--wp--preset--color--surface), var(--wp--preset--color--surface)) padding-box, conic-gradient(from var(--ns-angle), var(--wp--preset--color--secondary), var(--wp--preset--color--accent), var(--wp--preset--color--primary), var(--wp--preset--color--secondary)) border-box; box-shadow: 0 28px 60px -34px color-mix(in srgb, var(--wp--preset--color--primary) 55%, transparent); }
.ns-sec--note { background: color-mix(in srgb, var(--wp--preset--color--accent) 13%, var(--wp--preset--color--surface)); border-inline-start: 6px solid var(--wp--preset--color--accent); }
.ns-sec--faq { padding: 0; }
.ns-sec--summary > h2, .ns-sec--note > h2 { display: flex; align-items: center; gap: .6rem; padding-top: 0; }
.ns-sec--summary > h2::before, .ns-sec--note > h2::before { content: ""; flex: none; width: 2.1rem; height: 2.1rem; border-radius: 50%; }
.ns-sec--summary > h2::before { background: var(--wp--preset--color--secondary) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 5 5 9-10'/%3E%3C/svg%3E") center / 58% no-repeat; }
.ns-sec--note > h2::before { background: var(--wp--preset--color--primary) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M12 7v6M12 17v.5'/%3E%3C/svg%3E") center / 58% no-repeat; }
.ns-faq-item { margin-block: .8rem; padding: 1.1rem 1.3rem; border-radius: var(--wp--custom--radius); background: var(--wp--preset--color--surface); border: 1px solid color-mix(in srgb, var(--wp--preset--color--primary) 12%, transparent); transition: transform .35s cubic-bezier(.22, 1, .36, 1), box-shadow .35s, border-color .25s; }
.ns-faq-item > h3 { margin: 0 0 .4rem; font-size: 1.1em; }
.ns-faq-item > :last-child { margin-bottom: 0; }
@media (hover: hover) { .ns-faq-item:hover { transform: translateY(-3px); border-color: var(--wp--preset--color--secondary); box-shadow: 0 18px 34px -24px color-mix(in srgb, var(--wp--preset--color--primary) 70%, transparent); } }
@media (prefers-reduced-motion: no-preference) {
	.ns-content > .ns-sec--summary { animation: ns-turn 4.5s linear 1; }
}
/* where scroll reveals run, the summary keeps both animations (one declaration would replace the other) */
@supports (animation-timeline: view()) {
	@media (prefers-reduced-motion: no-preference) {
		.ns-content > .ns-sec--summary { animation: ns-reveal linear both, ns-turn 4.5s linear 1; animation-timeline: view(), auto; animation-range: entry 0% entry 60%, normal; }
	}
}
@keyframes ns-turn { to { --ns-angle: 360deg; } }

/* tables: rounded, zebra rows, the hovered row lights up */
.ns-content table { border-collapse: separate; border-spacing: 0; border: 1px solid color-mix(in srgb, var(--wp--preset--color--text) 14%, transparent); border-radius: var(--wp--custom--radius); overflow: hidden; }
.ns-content :is(th, td) { border: 0; border-top: 1px solid color-mix(in srgb, var(--wp--preset--color--text) 9%, transparent); }
.ns-content tr:first-child > :is(th, td) { border-top: 0; }
.ns-content th, .ns-content thead td { background: var(--wp--preset--color--primary); color: #fff; font-weight: 700; }
.ns-content tbody tr:nth-child(even) > td { background: color-mix(in srgb, var(--wp--preset--color--primary) 4%, transparent); }
.ns-content tbody tr > td { transition: background-color .2s; }
.ns-content tbody tr:hover > td { background: color-mix(in srgb, var(--wp--preset--color--secondary) 12%, transparent); }

/* images in the article */
.ns-content :is(figure, .wp-block-image) img, .ns-content p > img:only-child { border-radius: calc(var(--wp--custom--radius) * 1.2); box-shadow: 0 24px 48px -32px rgb(15 23 42 / .55); }
.ns-content figcaption { font-size: .875rem; color: var(--wp--preset--color--muted); text-align: center; margin-top: .6rem; }


/* ===== Showcase home pages (identity.json "home"): plaza and atlas ===== */
.ns-showcase { position: relative; overflow: hidden; isolation: isolate; color: #fff; padding: clamp(3rem, 8vw, 6.5rem) 1.25rem clamp(2.5rem, 6vw, 4.5rem); margin-block: 0 !important;
	background: radial-gradient(90% 120% at 12% 110%, color-mix(in srgb, var(--wp--preset--color--secondary) 80%, transparent), transparent 62%), var(--wp--preset--color--primary); }
.ns-showcase__inner { position: relative; z-index: 1; max-width: 1320px; margin-inline: auto; display: grid; gap: 1.1rem; justify-items: start; }
.ns-showcase__title { margin: 0; color: #fff; font-size: clamp(2.6rem, 7.4vw, 6rem); line-height: 1.02; font-weight: 800; max-width: 14ch; text-wrap: balance; }
.ns-showcase__tagline { margin: 0; font-size: clamp(1.1rem, 2.2vw, 1.5rem); color: rgb(255 255 255 / .86); max-width: 34ch; }
.ns-showcase__search { display: flex; width: min(100%, 38rem); margin-block-start: .6rem; background: #fff; border-radius: 999px; padding: .35rem; box-shadow: 0 22px 50px -24px rgb(0 0 0 / .6); }
.ns-showcase__search input { flex: 1; min-width: 0; border: 0; background: transparent; padding: .8rem 1.15rem; font: inherit; font-size: 1.05rem; color: #1f2937; border-radius: 999px; }
.ns-showcase__search input::placeholder { color: #5b6470; opacity: 1; }
.ns-showcase__search button { border: 0; border-radius: 999px; padding: .75rem 1.5rem; font: inherit; font-weight: 700; cursor: pointer; background: var(--wp--preset--color--accent); color: #17212b; }
.ns-showcase__foot { display: flex; flex-wrap: wrap; align-items: center; gap: .9rem 1.8rem; margin-block-start: .5rem; }
.ns-showcase__stat { color: rgb(255 255 255 / .86); }
.ns-showcase__stat b { color: var(--wp--preset--color--accent); font-size: 1.5rem; font-weight: 800; }
.ns-showcase__cta { color: #fff; font-weight: 700; border-bottom: 2px solid var(--wp--preset--color--accent); padding-block-end: .1rem; text-decoration: none; }
.ns-showcase__cta:hover, .ns-showcase__cta:focus-visible { color: var(--wp--preset--color--accent); }
/* crossword: the site's own signature, set on the far side of the title */
.ns-showcase--xword .ns-showcase__deco { position: absolute; top: 50%; inset-inline-end: max(1.25rem, calc((100% - 1320px) / 2)); translate: 0 -50%; z-index: 0; display: grid; grid-template-columns: repeat(var(--ns-cols, 9), clamp(2rem, 3.8vw, 3.6rem)); gap: 3px; }
.ns-showcase--xword .ns-showcase__deco i { aspect-ratio: 1; display: grid; place-items: center; font-style: normal; font-weight: 800; font-size: clamp(1rem, 2vw, 1.8rem); background: #fff; color: var(--wp--preset--color--primary); border-radius: 3px; }
.ns-showcase--xword .ns-showcase__deco i.is-black { background: rgb(255 255 255 / .09); }
.ns-showcase--xword .ns-showcase__deco i:nth-child(11n + 4):not(.is-black) { background: var(--wp--preset--color--accent); }
@media (max-width: 1023px) { .ns-showcase--xword .ns-showcase__deco { opacity: .13; inset-inline-end: -1rem; } }
/* atlas: meridians across the band */
.ns-showcase--atlas .ns-showcase__deco { position: absolute; inset: 0; z-index: 0; opacity: .55; background:
	repeating-radial-gradient(circle at 16% 40%, transparent 0 58px, rgb(255 255 255 / .1) 58px 59px),
	repeating-linear-gradient(90deg, transparent 0 118px, rgb(255 255 255 / .05) 118px 119px); }
@media (prefers-reduced-motion: no-preference) {
	.ns-showcase--xword .ns-showcase__deco i:not(.is-black) { animation: ns-cell-in .55s cubic-bezier(.22, 1, .36, 1) both; animation-delay: calc(var(--ns-i, 0) * 55ms + .15s); }
	.ns-showcase__title, .ns-showcase__tagline, .ns-showcase__search, .ns-showcase__foot { animation: ns-rise .7s cubic-bezier(.22, 1, .36, 1) both; }
	.ns-showcase__tagline { animation-delay: .08s; } .ns-showcase__search { animation-delay: .16s; } .ns-showcase__foot { animation-delay: .24s; }
}
@keyframes ns-cell-in { from { transform: rotateX(90deg) scale(.7); opacity: .01; } }
/* a full-width band for the site's strongest section */
.ns-band { background: var(--wp--preset--color--primary); color: #fff; padding: clamp(2rem, 5vw, 3.5rem) 1.25rem; margin-block: 2.5rem !important; }
.ns-band .ns-section-title, .ns-band .ns-section-title a, .ns-band .ns-cat-block__count, .ns-band .ns-cat-block__more { color: #fff !important; }
.ns-band .ns-fc { background: var(--wp--preset--color--surface); color: var(--wp--preset--color--text); border-radius: var(--wp--custom--radius); overflow: hidden; }
.ns-band .ns-fc__body { padding: .75rem .9rem .9rem; }
.ns-home-plaza .ns-topics { margin-block-start: -2rem; position: relative; z-index: 2; }
.ns-home-plaza .ns-topic { background: var(--wp--preset--color--surface); box-shadow: 0 16px 34px -24px rgb(0 0 0 / .45); border-block-end: 3px solid var(--wp--preset--color--accent); }
/* atlas cards */
.ns-atlas, .ns-term-tiles { margin-block: 2.5rem; }
.ns-atlas__items { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr)); gap: 1rem; }
.ns-region { position: relative; background: var(--wp--preset--color--surface); border-radius: var(--wp--custom--radius); overflow: hidden; box-shadow: 0 1px 0 color-mix(in srgb, var(--wp--preset--color--muted) 28%, transparent), 0 18px 36px -30px rgb(0 0 0 / .5); display: grid; align-content: start; }
.ns-region__head { display: flex; justify-content: space-between; align-items: baseline; gap: .75rem; padding: 1.1rem 1.25rem; background: linear-gradient(115deg, var(--wp--preset--color--primary), var(--wp--preset--color--secondary)); }
.ns-region__name { margin: 0; font-size: 1.45rem; line-height: 1.2; }
.ns-region__name a { color: #fff; text-decoration: none; }
.ns-region__name a:hover, .ns-region__name a:focus-visible { text-decoration: underline; text-decoration-color: var(--wp--preset--color--accent); }
.ns-region__count { font-size: .85rem; color: rgb(255 255 255 / .85); white-space: nowrap; }
.ns-region__places { list-style: none; margin: 0; padding: .95rem 1.1rem 1.15rem; display: flex; flex-wrap: wrap; gap: .3rem; }
.ns-region__places a { display: inline-block; padding: .22rem .65rem; border-radius: 999px; font-size: .9rem; text-decoration: none; color: var(--wp--preset--color--text); background: color-mix(in srgb, var(--wp--preset--color--secondary) 10%, transparent); }
.ns-region__places a:hover, .ns-region__places a:focus-visible { background: var(--wp--preset--color--secondary); color: #fff; }
.ns-home-text { margin-block: 3rem; }
/* long dropdowns open in columns; only while open, so the closed list takes no room */
@media (min-width: 1024px) {
	.ns-header .wp-block-navigation__responsive-container:not(.is-menu-open) .ns-sub--wide:is(:hover, :focus-within) > .wp-block-navigation__submenu-container { display: grid !important; grid-template-columns: repeat(3, minmax(9rem, 1fr)); width: max-content !important; min-width: 30rem !important; max-width: min(92vw, 44rem); }
	/* anchored to the menu row, not the item: wherever the item lands, the panel stays on screen */
	.ns-header .wp-block-navigation__container:has(> .ns-sub--wide) { position: relative; }
	.ns-header .wp-block-navigation__container > .ns-sub--wide { position: static !important; }
	.ns-header .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__container > .ns-sub--wide > .wp-block-navigation__submenu-container { top: 100% !important; inset-inline-start: 0 !important; inset-inline-end: auto !important; left: auto; }
}
/* showcase home: no gap under the header, tighter lead images, readable links on the band */
.ns-home-plaza .ns-home, .ns-home-atlas .ns-home, .ns-home-plaza main.ns-home, .ns-home-atlas main.ns-home { margin-block-start: 0 !important; padding-block-start: 0 !important; }
body:is(.ns-home-plaza, .ns-home-atlas) .wp-site-blocks > * + * { margin-block-start: 0; }
.ns-band .ns-cat-block__head a { color: #fff !important; }
.ns-home-plaza .ns-fc--big .ns-fc__img { aspect-ratio: 16 / 8; }
.ns-home-plaza .ns-fc--big .ns-fc__pic { width: 100%; height: 100%; object-fit: cover; }
@media (min-width: 1024px) { .ns-home-atlas .ns-header .wp-block-search { flex-basis: 150px; } .ns-home-atlas .ns-header .wp-block-navigation__container { column-gap: .85rem; } }

/* ===== IS 5568 / WCAG 2.1 AA ===== */
/* 2.4.7: every focusable element, on any background: a coloured ring with a white halo around it */
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible { outline: 3px solid var(--wp--custom--accent-text, #1d4ed8) !important; outline-offset: 2px; box-shadow: 0 0 0 2px #fff, 0 0 0 7px #111 !important; border-radius: 3px; }
.wp-block-search__input:focus-visible { outline-offset: -3px; box-shadow: none !important; }
/* the field's wrapper already rings it */
/* 1.4.13: Escape dismissed this hover menu */
.wp-block-navigation .has-child.ns-sub-closed > .wp-block-navigation__submenu-container { visibility: hidden !important; opacity: 0 !important; }
/* 1.4.10 / 1.4.12: decoration never pushes the page wider on a narrow screen or with wider text spacing */
@media (max-width: 599px) { .ns-showcase--xword .ns-showcase__deco { display: none; } }
/* 1.4.3: hero tagline sits on tinted gradients: body text colour instead of muted */
.ns-hero .ns-hero__tagline { color: var(--wp--preset--color--text); }
/* 1.4.12: section heads and titles wrap instead of pushing the page wider with larger text spacing */
.ns-cat-block__head { flex-wrap: wrap; }
.ns-cat-block__all, .ns-section-title, .ns-fc__title, .ns-chip { overflow-wrap: anywhere; min-width: 0; }
