/*
 * NRI Broadsheet: layout and component styles.
 * Colours, fonts and sizes come from theme.json presets (frozen 16 Oct 2026).
 * Breakpoint 600px matches the core navigation's mobile overlay.
 */

:root {
	--nft-max: 1180px;
	--nft-gut: var(--wp--preset--spacing--gutter);
	--nft-ink: var(--wp--preset--color--ink);
	--nft-soft: var(--wp--preset--color--soft);
	--nft-muted: var(--wp--preset--color--muted);
	--nft-rule: var(--wp--preset--color--rule);
	--nft-green: var(--wp--preset--color--green);
	--nft-panel: var(--wp--preset--color--panel);
	--nft-zebra: var(--wp--preset--color--zebra);
	--nft-paper: var(--wp--preset--color--paper);
	--nft-deep: var(--wp--preset--color--masthead);
	--nft-gold: var(--wp--preset--color--gold);
	--nft-line: var(--wp--preset--color--masthead-line);
	--nft-sans: var(--wp--preset--font-family--public-sans);
	--nft-serif: var(--wp--preset--font-family--newsreader);
}

body { font-optical-sizing: auto; -webkit-text-size-adjust: 100%; }
.wp-site-blocks { padding: 0; }
.wp-site-blocks > * { margin-block-start: 0; }
:where(.nft-article, .nft-home, .nft-page, .nft-library) { max-width: var(--nft-max); margin: 0 auto; padding: 30px var(--nft-gut) 72px; box-sizing: content-box; }
@media (max-width: 599px) { :where(.nft-article, .nft-home, .nft-page, .nft-library) { padding-top: 22px; padding-bottom: 56px; } }
a:focus-visible, button:focus-visible, summary:focus-visible, [tabindex]:focus-visible { outline: 2px solid var(--nft-green); outline-offset: 2px; }
.nft-masthead a:focus-visible, .nft-masthead button:focus-visible, .nft-footer a:focus-visible, .nft-book a:focus-visible { outline-color: var(--nft-gold); }

/* ---------- Labels and kickers ---------- */
.nft-label, .nft-label--small {
	font-family: var(--nft-sans); font-size: 12.5px; font-weight: 800; letter-spacing: 0.1em; line-height: 1.4;
	text-transform: uppercase; color: var(--nft-green); margin: 0;
}
h2.nft-label, h3.nft-label { font-family: var(--nft-sans); font-size: 12.5px; letter-spacing: 0.1em; margin: 0; }
.nft-label--rule { border-top: 3px solid var(--nft-ink); padding-top: 10px; }
.nft-label--small { font-size: 11.5px; color: var(--nft-muted); margin-top: 22px; }
.nft-label--gold { color: var(--nft-gold); }
.nft-kicker, .nft-kickerline { font-family: var(--nft-sans); font-size: 11.5px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--nft-green); }
.nft-kickerline { gap: 0 6px; }
.nft-kickerline > * + *::before { content: "· "; }
.nft-kicker a, .nft-plainterm a { color: inherit; text-decoration: none; }
.nft-byline { font-family: var(--nft-sans); font-size: 13px; color: var(--nft-muted); gap: 0 6px; font-variant-numeric: tabular-nums; }
.nft-byline > * { margin: 0 !important; font-size: 13px !important; color: var(--nft-muted); text-transform: none; letter-spacing: 0; font-weight: 400; }
.nft-byline > * + *::before { content: "· "; }
.nft-plainterm { font-family: var(--nft-sans); font-size: 13px; font-weight: 400; letter-spacing: 0; text-transform: none; }

/* ---------- Masthead ---------- */
.nft-masthead { border-bottom: 4px solid var(--nft-gold); padding: 16px var(--nft-gut) 0; font-family: var(--nft-sans); }
.nft-masthead__inner { max-width: var(--nft-max); margin: 0 auto; display: grid; grid-template-columns: 1fr auto; grid-template-areas: "mark util" "nav nav"; align-items: center; column-gap: 24px; }
.nft-masthead__inner > * { margin: 0 !important; }
.nft-wordmark { grid-area: mark; margin: 0; }
.nft-wordmark a { color: var(--nft-paper); text-decoration: none; }
.nft-utility { grid-area: util; gap: 4px; align-items: center; }
.nft-mainnav { grid-area: nav; margin-top: 12px !important; border-top: 1px solid var(--nft-line); }
.nft-tagline { grid-area: tag; }

.nft-masthead .wp-block-navigation { color: var(--nft-paper); }
.nft-masthead .wp-block-navigation a { color: var(--nft-paper); text-decoration: none; }
.nft-mainnav .wp-block-navigation__container { gap: 0; width: 100%; }
.nft-mainnav .wp-block-navigation-item__content { display: block; padding: 14px 13px; }
.nft-mainnav .wp-block-navigation-item + .wp-block-navigation-item { border-left: 1px solid var(--nft-line); }
.nft-mainnav .wp-block-navigation-item:first-child .wp-block-navigation-item__content { padding-left: 0; }
.nft-mainnav .nft-allguides { margin-left: auto; }
.nft-mainnav .nft-allguides .wp-block-navigation-item__content { padding-right: 0; }
.nft-mainnav .current-menu-item > a, .nft-utilnav .current-menu-item > a { color: var(--nft-gold) !important; box-shadow: inset 0 -3px 0 var(--nft-gold); }

.nft-utilnav { font-size: 13.5px; font-weight: 600; letter-spacing: 0; text-transform: none; }
.nft-utilnav .wp-block-navigation__container { gap: 4px; }
.nft-utilnav .wp-block-navigation-item__content { display: block; padding: 10px 12px; }
.nft-outline .wp-block-navigation-item__content { border: 1px solid var(--nft-gold); padding: 8px 14px !important; font-weight: 700; }

.nft-search { margin: 0; }
.nft-search .wp-block-search__inside-wrapper { border: 0; padding: 0; background: transparent; }
.nft-search .wp-block-search__button { background: transparent; color: var(--nft-paper); border: 0; padding: 10px 12px; min-height: 40px; }
.nft-search .wp-block-search__button svg { fill: var(--nft-gold); width: 20px; height: 20px; }
.nft-search .wp-block-search__button::after { content: "Search"; margin-left: 7px; font-family: var(--nft-sans); font-size: 13.5px; font-weight: 600; }
.nft-search .wp-block-search__button { display: flex; align-items: center; }
.nft-search .wp-block-search__input { background: #0F2B1C; color: var(--nft-paper); border: 1px solid #4E6B5A; font-size: 16px; height: 40px; }

.nft-mobile-only { display: none !important; }

/* Front-page masthead */
.nft-masthead--front { padding-top: 12px; }
.nft-masthead--front .nft-masthead__inner { grid-template-columns: 1fr; grid-template-areas: "util" "mark" "tag" "nav"; justify-items: center; text-align: center; }
.nft-masthead--front .nft-utility { justify-self: end; }
.nft-masthead--front .nft-wordmark { font-size: var(--wp--preset--font-size--display); line-height: 0.95; letter-spacing: -0.03em; margin-top: 6px !important; }
.nft-tagline { font-family: var(--nft-serif); font-style: italic; font-size: 18px; color: var(--wp--preset--color--masthead-soft); margin-top: 10px !important; }
.nft-masthead--front .nft-mainnav { justify-self: stretch; margin-top: 18px !important; }
.nft-masthead--front .nft-mainnav .wp-block-navigation__container { justify-content: center; }
.nft-masthead--front .nft-mainnav .nft-allguides { margin-left: 0; }
.nft-masthead--front .nft-mainnav .wp-block-navigation-item:first-child .wp-block-navigation-item__content,
.nft-masthead--front .nft-mainnav .nft-allguides .wp-block-navigation-item__content { padding-left: 13px; padding-right: 13px; }

/* Phone masthead: wordmark and Menu, then Search, All Guides and Contact. Not fixed. */
@media (max-width: 599px) {
	.nft-masthead { padding: 10px 12px 0 20px; }
	.nft-masthead__inner, .nft-masthead--front .nft-masthead__inner { grid-template-columns: 1fr auto; grid-template-areas: "mark nav" "tag tag" "util util"; justify-items: stretch; text-align: left; column-gap: 12px; }
	.nft-wordmark, .nft-masthead--front .nft-wordmark { font-size: 27px; padding-block: 9px; margin-top: 0 !important; }
	.nft-masthead--front .nft-wordmark { font-size: 31px; }
	.nft-tagline { font-size: 15.5px; line-height: 1.4; margin: 4px 8px 0 0 !important; }
	.nft-mainnav, .nft-masthead--front .nft-mainnav { border-top: 0; margin-top: 0 !important; justify-self: end; }
	.nft-mainnav .wp-block-navigation__responsive-container-open {
		min-width: 76px; min-height: 44px; display: flex; align-items: center; justify-content: center; padding: 0 12px;
		border: 1px solid #4E6B5A; color: var(--nft-paper); background: transparent;
		font-family: var(--nft-sans); font-size: 12.5px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase;
	}
	.nft-utility, .nft-masthead--front .nft-utility { justify-self: stretch; margin: 10px 8px 0 0 !important; border-top: 1px solid var(--nft-line); display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; }
	.nft-utility > .nft-search { order: -1; }
	.nft-utility > .nft-utilnav { order: 1; grid-column: span 2; }
	.nft-utilnav { font-size: 12px; font-weight: 700; letter-spacing: 0.07em; text-transform: uppercase; }
	.nft-utilnav .wp-block-navigation__container { display: grid; grid-template-columns: 1fr 1fr; gap: 0; width: 100%; }
	.nft-utilnav .wp-block-navigation-item { border-left: 1px solid var(--nft-line); justify-content: center; }
	.nft-utilnav .wp-block-navigation-item__content { min-height: 44px; display: flex; align-items: center; justify-content: center; padding: 0 !important; border: 0 !important; }
	.nft-desk-only { display: none !important; }
	.nft-utilnav .nft-mobile-only { display: flex !important; }
	.nft-search .wp-block-search__button { padding: 0; min-height: 44px; justify-content: flex-start; }
	.nft-search .wp-block-search__button::after { content: "Search"; margin-left: 7px; font-family: var(--nft-sans); font-size: 12px; font-weight: 700; letter-spacing: 0.07em; text-transform: uppercase; }
	.nft-search.wp-block-search__searchfield-hidden .wp-block-search__input { display: none; }
	.nft-search:not(.wp-block-search__searchfield-hidden) { grid-column: 1 / -1; }
	.nft-search:not(.wp-block-search__searchfield-hidden) .wp-block-search__button::after { content: ""; }

	/* Menu panel */
	.nft-mainnav .wp-block-navigation__responsive-container.is-menu-open { background: var(--nft-deep) !important; color: var(--nft-paper) !important; padding: 18px 20px 26px; }
	.nft-mainnav .wp-block-navigation__responsive-container-close { color: var(--nft-paper); font-family: var(--nft-sans); font-size: 12.5px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; border: 1px solid #4E6B5A; min-height: 44px; min-width: 76px; padding: 0 12px; top: 10px; right: 12px; }
	.nft-mainnav .is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 64px !important; align-items: stretch !important; }
	.nft-mainnav .is-menu-open .wp-block-navigation__container { flex-direction: column; align-items: stretch !important; gap: 0 !important; }
	.nft-mainnav .is-menu-open .wp-block-navigation-item { border-left: 0 !important; border-top: 1px solid var(--nft-line); margin: 0 !important; }
	.nft-mainnav .is-menu-open .wp-block-navigation-item__content {
		display: flex !important; align-items: center; justify-content: space-between; min-height: 56px; padding: 0 !important;
		font-family: var(--nft-serif); font-size: 23px; font-weight: 600; letter-spacing: -0.01em; text-transform: none;
	}
	.nft-mainnav .is-menu-open .wp-block-navigation-item__content::after { content: ""; width: 8px; height: 8px; border-right: 2px solid var(--nft-gold); border-top: 2px solid var(--nft-gold); transform: rotate(45deg); margin-right: 4px; }
	.nft-mainnav .is-menu-open .nft-allguides { margin-left: 0; border-bottom: 1px solid var(--nft-line); }
	.nft-mainnav .is-menu-open .nft-mobile-only { display: flex !important; border-top: 0; }
	.nft-mainnav .is-menu-open .nft-mobile-only .wp-block-navigation-item__content { font-family: var(--nft-sans); font-size: 15px; font-weight: 600; min-height: 48px; }
	.nft-mainnav .is-menu-open .nft-mobile-only .wp-block-navigation-item__content::after { display: none; }
	.nft-mainnav .is-menu-open .nft-outline .wp-block-navigation-item__content { justify-content: center; margin-top: 8px; }
}

/* ---------- Article ---------- */
.nft-article__head { max-width: 986px; }
.nft-article__head > * { margin-top: 0; }
.nft-breadcrumb { font-family: var(--nft-sans); font-size: 12px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--nft-muted); margin-bottom: 14px !important; }
.nft-breadcrumb a { color: var(--nft-muted); text-decoration: none; padding-block: 4px; }
.nft-breadcrumb li:last-child a, .nft-breadcrumb [aria-current] { color: var(--nft-green); }
.nft-headline { font-size: var(--wp--preset--font-size--headline); line-height: 0.98; letter-spacing: -0.024em; margin: 0 0 22px !important; }
@media (max-width: 599px) { .nft-headline { line-height: 1.07; } }
.nft-meta { font-family: var(--nft-sans); font-size: 13.5px; line-height: 1.5; color: var(--nft-muted); gap: 4px 18px; margin: 0 !important; font-variant-numeric: tabular-nums; }
.nft-meta > *, .nft-meta__item > * { margin: 0 !important; }
.nft-meta__item { gap: 6px; }
.nft-meta__label { font-weight: 700; color: var(--nft-ink); }
.nft-meta .wp-block-post-date, .nft-meta .wp-block-post-time-to-read { font-size: 13.5px; }
.nft-meta__jump a { color: var(--nft-green); font-weight: 600; }
.nft-meta--law { margin-top: 6px !important; gap: 10px; }
.nft-meta--law .nft-meta__label { flex: none; }
.nft-deck { font-family: var(--nft-serif); font-style: italic; font-weight: 500; font-size: var(--wp--preset--font-size--deck); line-height: 1.42; color: var(--nft-soft); margin: 28px 0 0 !important; max-width: 760px; }
@media (max-width: 599px) { .nft-deck { line-height: 1.5; margin-top: 20px !important; } }

.nft-article__body { margin-top: 36px !important; }
@media (min-width: 1000px) {
	.nft-article__body { display: grid; grid-template-columns: 240px minmax(0, 700px); column-gap: 46px; align-items: start; }
	.nft-article__body > * { margin: 0 !important; }
	.nft-article__body > .nft-toc { grid-column: 1; grid-row: 1; }
	.nft-article__body > .nft-article__column { grid-column: 2; grid-row: 1; }
}
.nft-toc { font-family: var(--nft-sans); }
.nft-toc__desk { position: sticky; top: 24px; border-top: 3px solid var(--nft-ink); padding-top: 10px; }
.nft-toc__list { list-style: none; margin: 10px 0 0; padding: 0; counter-reset: none; }
.nft-toc__list li { border-top: 1px solid var(--nft-rule); }
.nft-toc__list a { display: flex; gap: 10px; padding: 10px 0; min-height: 24px; color: var(--nft-ink); text-decoration: none; font-size: 14.5px; line-height: 1.35; font-weight: 600; }
.nft-toc__list a:hover { color: var(--nft-green); }
.nft-toc__n { flex: none; width: 18px; color: var(--nft-green); font-weight: 800; font-variant-numeric: tabular-nums; }
.nft-toc__phone { display: none; border-top: 1px solid var(--nft-ink); border-bottom: 1px solid var(--nft-ink); }
.nft-toc__phone summary { min-height: 48px; display: flex; align-items: center; justify-content: space-between; cursor: pointer; font-size: 12.5px; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; color: var(--nft-green); list-style: none; }
.nft-toc__phone summary::-webkit-details-marker { display: none; }
.nft-toc__phone summary::after { content: "+"; font-size: 20px; color: var(--nft-ink); }
.nft-toc__phone[open] summary::after { content: "−"; }
@media (max-width: 999px) { .nft-toc__desk { display: none; } .nft-toc__phone { display: block; margin-bottom: 8px; } }
.nft-toc--placeholder { border-top: 3px solid var(--nft-ink); padding-top: 10px; font-size: 14px; color: var(--nft-muted); }

/* Body text */
.nft-prose { max-width: 700px; }
.nft-prose > * { margin-top: var(--wp--preset--spacing--m); margin-bottom: 0; }
.nft-prose p, .nft-prose li { font-size: var(--wp--preset--font-size--body); line-height: 1.68; }
@media (max-width: 599px) { .nft-prose p, .nft-prose li { line-height: 1.66; } }
.nft-prose a { color: var(--nft-green); text-decoration: underline; text-underline-offset: 0.14em; }
.nft-prose h2 { margin-top: var(--wp--preset--spacing--xxl); margin-bottom: 0; scroll-margin-top: 16px; }
.nft-prose h2 + * { margin-top: 14px; }
.nft-prose h3 { margin-top: 36px; }
.nft-prose .has-drop-cap:not(:focus)::first-letter { font-family: var(--nft-serif); font-weight: 700; font-size: 4.4em; line-height: 0.8; margin: 0.06em 0.08em 0 0; color: var(--nft-ink); }
.nft-prose ul, .nft-prose ol { padding-left: 1.2em; }

/* Tables */
.nft-prose .wp-block-table { margin-top: 28px; }
.nft-tablescroll { overflow-x: auto; scrollbar-width: thin; scrollbar-color: var(--nft-muted) var(--nft-panel); }
.nft-tablescroll[data-overflow="true"]::before { content: "Scroll the table sideways"; display: block; font-family: var(--nft-sans); font-size: 12px; font-weight: 700; color: var(--nft-muted); padding: 0 0 6px; position: sticky; left: 0; }
.nft-prose .wp-block-table table { border-collapse: collapse; width: 100%; min-width: 560px; border-top: 2px solid var(--nft-ink); font-variant-numeric: tabular-nums lining-nums; }
.nft-prose .wp-block-table th, .nft-prose .wp-block-table td { border: 0; border-bottom: 1px solid var(--nft-rule); padding: 12px 14px 12px 0; text-align: left; vertical-align: top; font-size: 15px; line-height: 1.45; }
.nft-prose .wp-block-table thead { border-bottom: 0; }
.nft-prose .wp-block-table thead th { font-size: 11.5px; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; color: var(--nft-green); padding-top: 10px; padding-bottom: 10px; border-bottom: 1px solid var(--nft-ink); }
.nft-prose .wp-block-table tbody tr:nth-child(odd) > * { background: var(--nft-zebra); }
.nft-prose .wp-block-table tbody tr:nth-child(even) > * { background: var(--nft-paper); }
.nft-prose .wp-block-table th:first-child, .nft-prose .wp-block-table td:first-child { position: sticky; left: 0; padding-left: 10px; font-weight: 700; }
.nft-prose .wp-block-table thead th:first-child { background: var(--nft-paper); }
.nft-prose .wp-block-table figcaption { font-family: var(--nft-sans); font-size: 13px; color: var(--nft-muted); text-align: left; margin-top: 8px; }

/* Boxes */
.nft-box, .nft-boundary { padding: 26px 28px; margin-top: 32px !important; }
@media (max-width: 599px) { .nft-box, .nft-boundary { padding: 18px; } }
.nft-box > *, .nft-boundary > * { margin: 0 !important; }
.nft-box > * + *, .nft-boundary > * + * { margin-top: 8px !important; }
.nft-box p:not(.nft-label), .nft-boundary p:not(.nft-label) { font-size: 17px; line-height: 1.55; }
.nft-belief { border-top: 3px solid var(--nft-ink); padding-top: 12px; margin-top: 36px !important; }
.nft-belief > * { margin: 0 !important; }
.nft-belief__quote { font-family: var(--nft-serif); font-size: clamp(24px, 3vw, 32px) !important; line-height: 1.22 !important; font-weight: 600; margin: 8px 0 10px !important; }
.nft-hypo { font-family: var(--nft-sans); font-size: 11.5px !important; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; color: var(--nft-muted); }

/* Sources and review */
.nft-review { margin-top: var(--wp--preset--spacing--xl) !important; border-top: 3px solid var(--nft-ink); padding-top: 10px; font-family: var(--nft-sans); max-width: 700px; scroll-margin-top: 16px; }
.nft-review > * { margin: 0 !important; }
.nft-review .nft-label { margin-bottom: 8px !important; }
.nft-review__row { display: grid; grid-template-columns: 160px minmax(0, 1fr); gap: 4px 18px; border-top: 1px solid var(--nft-rule); padding: 11px 0; }
@media (max-width: 599px) { .nft-review__row { grid-template-columns: 1fr; } }
.nft-review__row > * { margin: 0 !important; font-size: 14.5px !important; line-height: 1.5; }
.nft-review__label { font-weight: 700; }
.nft-review__value { color: var(--nft-soft); }
.nft-review__how { border-top: 1px solid var(--nft-rule); padding-top: 12px !important; font-size: 14px; }
.nft-review__how a { color: var(--nft-green); font-weight: 600; }

/* Read next */
.nft-readnext { margin-top: var(--wp--preset--spacing--xl) !important; }
.nft-readnext > .nft-label { border-top: 3px solid var(--nft-ink); padding-top: 10px; }
.nft-listedin { font-family: var(--nft-sans); font-size: 13.5px; color: var(--nft-muted); gap: 6px; margin-top: 14px !important; }
.nft-listedin > * { margin: 0 !important; font-size: 13.5px; text-transform: none; letter-spacing: 0; font-weight: 400; }
.nft-listedin a { color: var(--nft-green); }

/* ---------- Cards and lists ---------- */
.nft-cards { list-style: none; margin: 0; padding: 0; display: grid; gap: 0 28px; }
.nft-cards--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.nft-cards--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 799px) { .nft-cards--2, .nft-cards--3 { grid-template-columns: 1fr; } }
.nft-cards > li { border-bottom: 1px solid var(--nft-rule); padding: 16px 0 18px; display: flex; flex-direction: column; gap: 6px; margin: 0; }
.nft-cards > li > * { margin: 0 !important; }
.nft-card__title { font-size: var(--wp--preset--font-size--item) !important; line-height: 1.2; letter-spacing: -0.012em; }
.nft-card__title a, .nft-lead__title a, .nft-row__title a { color: var(--nft-ink); text-decoration: none; }
.nft-card__title a:hover, .nft-lead__title a:hover, .nft-row__title a:hover { color: var(--nft-green); text-decoration: underline; }
.nft-card__type { font-family: var(--nft-sans); font-size: 13px; color: var(--nft-muted); }
.nft-card__deck, .nft-row__deck { font-size: 17px; line-height: 1.5; color: var(--nft-soft); margin: 0; }
.nft-stack { list-style: none; margin: 0; padding: 0; }
.nft-stack > li { border-bottom: 1px solid var(--nft-rule); padding: 14px 0 16px; margin: 0; }
.nft-stack > li > * { margin: 0 !important; }
.nft-stack > li > * + * { margin-top: 6px !important; }
.nft-rows { list-style: none; margin: 0; padding: 0; }
.nft-rows > li { border-top: 1px solid var(--nft-rule); padding: 16px 0 18px; margin: 0; display: flex; flex-direction: column; gap: 6px; }
.nft-rows > li > * { margin: 0 !important; }
.nft-row__title { font-size: var(--wp--preset--font-size--item); line-height: 1.2; }
.nft-list { border-top: 3px solid var(--nft-ink); margin-top: 40px !important; max-width: 760px; }
.nft-pager { font-family: var(--nft-sans); font-size: 15px; font-weight: 700; border-top: 1px solid var(--nft-ink); border-bottom: 1px solid var(--nft-ink); min-height: 52px; align-items: center; margin-top: 0 !important; }
.nft-pager a { color: var(--nft-green); text-decoration: none; }
.nft-rowlinks { list-style: none; margin: 0; padding: 0; font-family: var(--nft-serif); }
.nft-rowlinks li { border-top: 1px solid var(--nft-rule); margin: 0; }
.nft-rowlinks li:last-child { border-bottom: 1px solid var(--nft-rule); }
.nft-rowlinks a { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 50px; padding: 8px 0; color: var(--nft-ink); text-decoration: none; font-size: 17px; line-height: 1.35; }
.nft-rowlinks a::after { content: ""; flex: none; width: 7px; height: 7px; border-right: 1.6px solid var(--nft-muted); border-top: 1.6px solid var(--nft-muted); transform: rotate(45deg); }
.nft-rowlinks a:hover { color: var(--nft-green); }
.nft-rowlinks--green a { font-family: var(--nft-sans); font-size: 15px; font-weight: 700; color: var(--nft-green); }
.nft-rowlinks--green a::after { border-color: var(--nft-green); }
.nft-morelink { border-top: 1px solid var(--nft-ink); border-bottom: 1px solid var(--nft-ink); margin-top: 0 !important; }
.nft-morelink a { display: flex; justify-content: space-between; align-items: center; min-height: 52px; font-family: var(--nft-sans); font-size: 15px; font-weight: 700; color: var(--nft-green); text-decoration: none; }
.nft-morelink a::after { content: ""; width: 8px; height: 8px; border-right: 1.8px solid var(--nft-green); border-top: 1.8px solid var(--nft-green); transform: rotate(45deg); }

/* Search boxes */
.nft-searchbox { font-family: var(--nft-sans); margin-top: 14px !important; }
.nft-searchbox .wp-block-search__label { font-size: 14px; font-weight: 400; color: var(--nft-soft); margin-bottom: 8px; }
.nft-searchbox .wp-block-search__inside-wrapper { border: 0; padding: 0; }
.nft-searchbox .wp-block-search__input { height: 48px; box-sizing: border-box; padding: 0 12px; border: 1px solid var(--nft-ink); border-right: 0; border-radius: 0; background: var(--nft-paper); color: var(--nft-ink); font-size: 16px; }
.nft-searchbox .wp-block-search__button { height: 48px; margin: 0; padding: 0 16px; border: 0; border-radius: 0; background: var(--nft-deep); color: var(--nft-paper); font-size: 13px; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; }
.nft-library .nft-searchbox, .nft-page .nft-searchbox { max-width: 520px; margin-top: 24px !important; }

/* ---------- Home ---------- */
.nft-home > * + * { margin-top: var(--wp--preset--spacing--xl) !important; }
.nft-home-lead { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 0 56px; }
.nft-home-lead > * { margin: 0 !important; }
.nft-ask { border-left: 1px solid var(--nft-ink); padding-left: 36px; }
@media (max-width: 899px) {
	.nft-home-lead { grid-template-columns: 1fr; gap: 44px; }
	.nft-ask { border-left: 0; padding-left: 0; order: -1; }
}
.nft-lead > * { margin: 0 !important; }
.nft-lead__main { margin-top: 12px !important; border-bottom: 1px solid var(--nft-rule); padding-bottom: 18px; }
.nft-lead__main .wp-block-post-template { list-style: none; margin: 0; padding: 0; }
.nft-lead__main li > * { margin: 0 !important; }
.nft-lead__title { font-size: clamp(34px, 4.4vw, 58px) !important; line-height: 1.02 !important; letter-spacing: -0.024em; }
.nft-lead__deck { font-family: var(--nft-serif); font-style: italic; font-size: 19px; line-height: 1.45; color: var(--nft-soft); margin-top: 12px !important; }
.nft-lead__main .nft-byline { margin-top: 10px !important; }
.nft-ask > * { margin: 0 !important; }
.nft-ask .nft-searchbox { margin-top: 12px !important; }
.nft-ask .nft-label--small { margin-top: 22px !important; margin-bottom: 4px !important; }

.nft-section__head { border-top: 3px solid var(--nft-ink); padding-top: 10px; align-items: baseline; }
.nft-section__head > * { margin: 0 !important; }
.nft-headlink a { font-family: var(--nft-sans); font-size: 14px; font-weight: 700; color: var(--nft-green); }
.nft-section > * { margin: 0 !important; }
.nft-section > * + * { margin-top: 4px !important; }

.nft-grid { display: grid; gap: 0; border-top: 1px solid var(--nft-rule); margin-top: 12px !important; }
.nft-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 799px) { .nft-grid--3 { grid-template-columns: 1fr; } }
.nft-subject { padding: 16px 20px 20px 0; border-bottom: 1px solid var(--nft-rule); margin: 0 !important; }
.nft-subject > * { margin: 0 !important; }
@media (min-width: 800px) {
	.nft-subject:not(:nth-child(3n+1)) { padding-left: 20px; border-left: 1px solid var(--nft-rule); }
}
.nft-subject__name { font-size: 25px !important; line-height: 1.15; }
.nft-subject__name a { color: var(--nft-ink); text-decoration: none; }
.nft-subject__name a:hover { color: var(--nft-green); text-decoration: underline; }
.nft-subject__desc { font-size: 16.5px; line-height: 1.5; color: var(--nft-soft); margin-top: 8px !important; }

.nft-twocol { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 48px; margin-top: 10px !important; }
@media (max-width: 799px) { .nft-twocol { grid-template-columns: 1fr; gap: 28px; } }
.nft-twocol__col > * { margin: 0 !important; }
.nft-sublabel { font-family: var(--nft-sans); font-size: 13px; font-weight: 700; border-bottom: 1px solid var(--nft-ink); padding-bottom: 8px; }

.nft-panel { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 20px 56px; padding: 32px 32px; align-items: center; }
@media (max-width: 799px) { .nft-panel { grid-template-columns: 1fr; padding: 22px 20px; } }
.nft-panel > *, .nft-panel__text > * { margin: 0 !important; }
.nft-panel__title { font-size: 32px !important; }
.nft-panel__text p { font-size: 17px; line-height: 1.5; color: var(--nft-soft); margin-top: 8px !important; }
.nft-panel .nft-rowlinks li { border-color: #D4D6D2; }

.nft-book { display: grid; grid-template-columns: minmax(0, 1fr) 116px; gap: 24px 40px; padding: 30px 26px; border-top: 4px solid var(--nft-gold); align-items: center; }
@media (min-width: 800px) { .nft-book { grid-template-columns: minmax(0, 1fr) 140px; padding: 34px 44px; } }
.nft-book > *, .nft-book__text > * { margin: 0 !important; }
.nft-book__title { color: var(--nft-paper) !important; font-size: clamp(30px, 3.4vw, 42px) !important; line-height: 1.08; margin-top: 8px !important; }
.nft-book__desc { color: #C9D3CC; font-size: 17px; line-height: 1.5; margin-top: 12px !important; max-width: 520px; }
.nft-book__link { margin-top: 16px !important; }
.nft-book__link a { color: var(--nft-gold); font-family: var(--nft-sans); font-size: 15px; font-weight: 700; }
.nft-book__cover { aspect-ratio: 2 / 3; border: 1px solid var(--nft-gold); display: flex; align-items: center; justify-content: center; text-align: center; padding: 10px; }
.nft-book__cover p { font-family: var(--nft-sans); font-size: 11px; color: var(--nft-gold); margin: 0; }
.nft-quietlinks { margin-top: 14px !important; font-family: var(--nft-sans); font-size: 14px; display: flex; flex-wrap: wrap; gap: 4px 22px; border-bottom: 1px solid var(--nft-rule); padding-bottom: 14px; }
.nft-quietlinks a { color: var(--nft-green); font-weight: 600; padding-block: 6px; }

/* ---------- Pages ---------- */
.nft-page__head { max-width: 986px; }
.nft-page__head > * { margin-top: 0; }
.nft-page__body { margin-top: 32px !important; }

/* ---------- Footer ---------- */
.nft-footer { border-top: 4px solid var(--nft-gold); padding: 40px var(--nft-gut) 48px; font-family: var(--nft-sans); }
@media (max-width: 599px) { .nft-footer { padding: 32px 20px 40px; } }
.nft-footer > * { margin-top: 0 !important; }
.nft-footer__mark { font-family: var(--nft-serif); font-size: 34px; color: var(--nft-paper); margin-bottom: 24px !important; }
.nft-footer__cols { display: grid; grid-template-columns: 1.35fr 0.8fr 1.35fr 0.8fr 0.8fr; gap: 22px 20px; border-top: 1px solid var(--nft-line); padding-top: 20px; }
@media (max-width: 799px) { .nft-footer__cols { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.nft-footcol > * { margin: 0 !important; }
.nft-footcol .nft-label { font-size: 11.5px; color: var(--nft-gold); padding-bottom: 4px; }
.nft-footlinks { list-style: none; margin: 0; padding: 0; font-size: 14.5px; line-height: 1.4; }
.nft-footlinks li { margin: 0; }
.nft-footlinks a { display: block; padding-block: 4px; color: var(--wp--preset--color--masthead-ink); text-decoration: none; }
.nft-footlinks a:hover { text-decoration: underline; }
@media (max-width: 599px) { .nft-footlinks a { padding-block: 11px; } }
.nft-footer__notice { margin-top: 24px !important; padding-top: 18px; border-top: 1px solid var(--nft-line); max-width: 800px; }
.nft-footer__notice p { font-size: 13.5px; line-height: 1.6; color: var(--wp--preset--color--masthead-muted); margin: 0 0 10px; }

/* Grid containers: no flow-layout top margins on their children. */
.nft-grid > *, .nft-twocol > *, .nft-footer__cols > *, .nft-panel > *, .nft-book > *, .nft-home-lead > *, .nft-masthead__inner > *, .nft-article__body > * { margin-block-start: 0 !important; }
.nft-footer > .nft-footer__notice { max-width: var(--nft-max); }
.nft-footer__notice p { max-width: 800px; }
@media (max-width: 599px) {
	.nft-mainnav .is-menu-open .wp-block-navigation-item { width: 100%; display: flex; }
	.nft-mainnav .is-menu-open .wp-block-navigation-item__content { flex: 1 1 auto; width: 100%; }
	.nft-mainnav .is-menu-open .nft-outline .wp-block-navigation-item__content { justify-content: center; border: 1px solid var(--nft-gold); }
	.nft-mainnav .is-menu-open .nft-mobile-only + .nft-mobile-only { border-top: 0; }
}
.nft-masthead a:focus-visible, .nft-masthead button:focus-visible { outline: 2px solid var(--nft-gold) !important; outline-offset: 2px; }
@media (max-width: 599px) { .nft-book { grid-template-columns: 1fr; } .nft-book__cover { width: 96px; } }
.nft-prose p.nft-label { font-size: 12.5px; line-height: 1.4; }
.nft-prose p.nft-hypo { font-size: 11.5px; line-height: 1.4; }
.nft-prose p.nft-belief__quote { font-size: clamp(24px, 3vw, 32px); line-height: 1.22; }


/* 0.1.4: real book cover on the Home book band */
.nft-book__cover--img { border: 0; padding: 0; display: block; }
.nft-book__cover--img figure { margin: 0; height: 100%; }
.nft-book__cover--img a { display: block; height: 100%; }
.nft-book__cover--img img { display: block; width: 100%; height: 100%; object-fit: cover; box-shadow: 0 6px 18px rgba(0,0,0,.35); }
